GIỚI THIỆU TỔNG QUAN VỀ CHỨC NĂNG ADMIN
Trang 1Lời nói đầu
Thơng mại diện tử ngày một phát triển trên thế giới và ở Việt Nam nóiriêng Sự ra đời các ngôn ngữ lập trình cho phép ban thiết kế và xây dựng cácứng dụng thơng mại điện tử dới nhiều hình thức khác nhau Cho nên việc phântích thiết kế là việc đầu tiên trong triển khai xây dựng một chơng trình
Sau đó ta có thể sử dụng những ngôn ngữ lập trình khác nhau để xây dựng nênchơng trình ứng dụng Một trong những ứng dụng thơng mại điện tử đó là xâydựng ứng dụng bán hàng qua mạng là một trong những ứng dụng mà đó làmục tiêu phát triển cho mỗi công ty, cũng là chiến lợc cho mỗi quốc gia
Từ ý tởng xây dựng ứng dụng trên ta đi bớc đầu tiên là phân tích hệ thốngquản lý trên Qua khảo xát thống để đi đến xây dựng các biểu đồ phân cấpchức năng, biểu đồ luồng dữ liệu và đi tới xây dựng biểu đồ luồng dữ liệulogic,sau đó ta đi đến thiết kế hệ thống
Từ mục tiêu trên ta xây dựng các biểu đồ sau:
Trang 2T×m kiÕm hµng
Yªu cÇu tim
hµng
Danh s¸ch hµng
Tr¶ lêi hµng
Thanh to¸n
Trang 3Biểu đồ phân cấp chức năng
Hệ thống quản lý bán hàng qua mạng
Quản lý hàng Báo cáo Quản lý hợp đồng Tìm kiến hàng
Thanh toán
Tìm kiếm
Lập giỏ hàng
Liệt kê giỏ hàng
Hệ thống quản lý bán hàng trên mạng
Biểu đồ luồng dữ liệu mức khung cảnh
Trang 4hợp đồng
Tệp nợ
Phân loại hàng
Bộ phận quản lý
biểu đồ luồng dữ liệu mức đỉnh
khách hàng
Trang 5Biểu đồ cấu trúc dữ liệu theo mô hình quan hệ
Từ các biểu đồ trên để đi đến phân tích chi tiết
1.Giới thiệu shopping cart
sản phẩm theo hai định dạng khác nhau Cho dù định dạng nào đi nữa,bạn cũng cho phép khách hàng chọn một sản phẩm và xem các thông tin chitiết của sản phẩm
Trong trờng hợp khách hàng muốn đặt hàng sản phẩm họ vừa chọn, điều
đầu tiên khách hàng phải thực hiện là lu chúng vào giỏ hàng (shopping cart).
Khái niệm giỏ hàng là một nơi lu trữ những sản phẩm khách hàng chọn, saukhi kết thúc quá trình tìm kiếm và chọn sản phẩm, họ có thể đặt hàng nhữngsản phẩm đó bằng cách liệt kê những sản phẩm đã chọn trong giỏ hàng để đi
đến quyết định cuối cùng có đặt hàng hay không?
Trong thế giới thực của chức năng mua sắm trong siêu thị chẳng hạn, saukhi khách hàng tìm kiếm sản phẩm và lấy chúng bỏ vào giỏ hàng, tiếp đó họ sẽ
đến quầy tính tiền để thanh toán
Tơng tự nh vậy trong thơng mại điện tử, bằng cách sử dụng ý tởng nào đóbạn có thể, nhằm lu lại những sản phẩm mà khách hàng chọn và lu vào giỏhàng
Nh vậy, giỏ hàng chẳng qua là một nơi lu trữ sản phẩm đã chọn của kháh
hàng với một browser hiện hành Điều này có nghĩa là ứng với một browser
sẽ có một giỏ hàng cho mỗi khách hàng
Để làm điều này, bạn có thể chọn nhiều cách khác nhau, nhng trong trờng
hợp này, chúng tôi muốn trình bày cho bạn cách sử dụng biến session để thực
hiện ý tởng này
2 xây dựng shopping cart
Để xây dựng Shopping cart(giỏ hàng), bạn có thể bắt đầu từ kết quả tìm
kiếm hay liệt kê sản phẩm, khi ngời dùng chọn một sản phẩm bất kỳ để xemchi tiết
2.1 Thêm sản phẩm vào giỏ hàng.
Chi tiếtHàng
Trang 6Sau khi xem xét chi tiết sản phẩm, nếu khách hàng muốn lu sản phẩm vàogiỏ hàng, khách hàng chỉ cần chọn nút “Add To Cart”.
2.2 Liệt kê giỏ hàng
Sau khi kết thúc quá trình tìm kiếm và chọn sản phẩm để thêm vào giỏ
hàng, khách hàng chọn vào biểu tợng (View Cart) trên thực đơn của ứng dụng Biểu tợng View Cart đợc thiết kế nhiều hình thức khác nhau, bạn có thể sử
dụng hình có hình tợng nh giỏ mua hàng trong thực tế hay một liên kết để trỏ
đến trang viewcart.asp
Khi ngời dùng chọn trang viewcart.asp , những sản phẩm mà khách hàng
đã lu trữ trong giỏ hàng sẽ đợc liệt kê
Trong khi liệt kê sản phẩm trong giỏ hàng, bạn nên chọn sẵn cho kháchhàng Điều này có nghĩa là mặc định khách hàng chọn tất cả những sản phẩmtrong giỏ hàng
Tuy nhiên, trong trờng hợp khách hàng quyết định không đặt hàng sản phẩm
nào trong danh sách, họ có thể uncheck Đồng thời bạn cũng mặc định số lợng sản phẩm cần đặt hàng là 1 trong thẻ text, nh cột Quantity
Chú ý : Vấn đề cần giải quyết là tên của thẻ dạng text cho số lợng mua hàng.
Để có thể phân biệt đợc thẻ text ứng với sản phẩm nào, chúng tôi đề nghị bạn
đặt tên bao gồm txtqtty
Kết quả khi tham chiếu đến thẻ này, bạn phải tham chiếu bằng tên txtqtty
ứng với mã sản phẩm đang truy lục
Mỗi khi ngời dùng không chọn hay chọn sản phẩm bằng cách check hay
uncheck và thẻ checkbox có tên chkid, bạn đều kiểm tra nếu tất cả các thẻ chkid đều check thì thẻ chkall sẽ check và ngợc lại bằng phơng thức javascript
có tên docheckone().
L
u ý : Nếu mẩu tin nhiều hơn 1(lớn hơn 1 mẩu tin), bạn truy cập trên các thẻ
chkid bằng hình thức mảng dữ liệu Ngợc lại, bạn chỉ truy cập vào thẻ chkid
đơn
Ngoài ra, để thêm chức năng lu trữ mà sản phẩm và số lợng tơng ứng mà
ngời dùng chọn và tính tiền trong bớc này, bạn có thể khai báo biến session với
kiểu dữ liệu dạng mảng hai chiều
Sau mỗi lần ngời dùng thay đổi sản phẩm hay số lợng, bạn có thể cập nhậtlại giá trị trong mảng này, sau đó, đọc trong mảng và trình bày lên màn hình,nếu làm điều này, nguời dùng sẽ tính đợc số tiền họ cần phải trả ngay trong b-
ớc này thay vì chọn cách tính tiền trong bảng kế tiếp
Trang 7Điều này có nghĩa là nếu một mẩu tin, thì tổng số phần tử trong form là
<=5(hai nút, 1 thẻ text, 2 thẻ checkbox).
Trong trờng hợp không có sản phẩm nào trong giỏ hàng, nếu khách hàng
chọn ViewCart, trang viewcart.asp sẽ xuất hiện thông báo.
Nếu khách hàng chọn Continue mà không chọn bất kỳ sản phẩm nào trong
danh sách, bạn cũng không cho phép họ tiếp tục xử lý bằng cách khai báo
đoạn JavaSript có tên checkinput và gọi nó trong biến cố onsubmit của thẻ
form.
Kế đến, khách hàng chọn nút Comtinue, trang xác nhận các sản phẩm khách hàng chọn ứng với số lợng đặt hàng (preorder.asp)
Bằng cách đọc giá trị từ thẻ hidden có tên chkid trong trang viewcart.asp,
bạn nhận đợc số lợng sản phẩm khách hàng chọn mua
Ngoài ra, để tiếp tục trong các trang kế tiếp, bạn cần phải lu mã sản phẩm,
tên sản phẩm, số lợng đơn giá và các giá trị nh giảm giá và biến session
Trong trờng hợp khách hàng không chấp nhận với các thông tin của sản
phẩm đã chọn, khách hàng sẽ bấm nút Back để trở về trang trớc đó.
3.đặt hàng qua mạng
Sau khi xác nhận sản phẩm và số lợng cần mua, khách hàng bấm nút
Continue từ trang perorder.asp, trang custtype.asp sẽ xuất hiện.
3.1 Đăng nhập
Nếu khách hàng là khách hàng thờng xuyên, điều này có nghĩa là có đăng
ký thông tin công ty hay cá nhân trớc đây, bạn chỉ cần cho phép họ đăng nhập
bằng cách cung cấp username (email address) và password, trong trờng hợp này khách hàng chọn thứ 2 và nhập password nếu có.
Tuy nhiên, nếu khách hàng lần đầu tiên mua hàng, bạn có thể yêu cầu họchọn tuỳ chọn thứ 1
Trong trờng hợp, khách hàng cho rằng họ là khách hàng thờng xuyên và đã
đăng ký trớc đây, nhng cung cấp username haypassword sai, bạn cần phải xử
lý
Để làm điều này, trong trang kế tiếp sẽ giải quyết và trở về trang
custtype.asp với biến session có tên errors có giá trị là old, có nghĩa là khách
hàng có tài khoản trong hệ thống nhng không cung cấp đúng username haypassword
Bạn phải thông báo cho khách hàng biết rằng họ không cung cấp đúng
username haypassword.
Trang 8Ngoài ra, để kiểm tra ngời dùng chọn tuỳ chọn và cung cấp username hay
password trớc khi tiếp tục hay không, bạn cần khai báo phơng thức javascript
và gọi chúng cho biến cố onsubmit của thẻ form
3.2 Đăng ký tài khoản ngời dùng.
Nếu khách hàng lần đầu tiên mua hàng hay họ không muốn sử dụng tàikhoản đã có nếu họ không cần, bạn yêu cầu khách hàng cung cấp các thông tin
giao hàng nh: Tên (txtfullname), địa chỉ (txtaddress), điện thoại (txttel), bằng cách trỏ đến trang registry.asp.
Khi đăng ký ngời dùng vào hệ thống, họ có thể muốn trở thành khách hàngthờng xuyên bằng cách chọn vào tuỳ chọn thứ 2 Điều này có nghĩa là họ cóthể sử dụng lại tài khoản này cho lần mua hàng kế tiếp
Ngoài ra, trong form đăng ký ngời dùng trên, chúng tôi yêu cầu khách hàng cung cấp các thông tin bắt buộc, ứng với các fiedl có dấu* màu đỏ, để ràng buộc quá trình đăng ký, chúng tôi viết một phơng thức JavaScript và gọi nó trong biến cố onsubmit của thẻ form.
3.3 Đặt hàng
Sau khi cung cấp đầy đủ các thông trên, nếu khách hàng bấm nút Order, trang orders.asp sẽ xuất hiện với các thông tin đăng ký nếu ngời dùng mới từ trang registry.asp, đọc thông tin từ tblCustormers nếu ngời dùng đăng nhập
thành công
Ngợc lại, trờng hợp đăng nhập với tài khoản trong hệ thống thành công từ
trang custtype.asp, bạn dẫn khách hàng đến trang ordres.asp và kiểm tra
username tồn tại hay không.
Để tiếp tục cho các trang kế tiếp, ứng với trờng hợp khách hàng có tài khoảntrong hệ thống và đăng nhập thành công, bạn cần phải lu trữ lại mã khách hàng
Ngoài ra, nếu khách hàng chọn nút Order trên trang orders,asp Điều này có
nghĩa là khách hàng đặt hàng qua mạng, bạn đọc các thông tin và lu vào cơ sởdữ liệu
Nhng sau khi lu dữ liệu thành công, nếu ngời dùng tiếp tục bấm nút Refresh trên trình dyệt hay F5 hoặc Back trở lại và tiếp tục bấm nút Order, ứng dụng sẽ
lu dữ liệu thêm một lần nữa
Để tránh sự cố này, trong trang kế tiếp chỉ lu dữ liệu vào cơ sở dữ liệu khi
biến session có tên $isSave có giá trị là “ “
Trang 9Ngợc lại, bạn phải đọc giá trị từ các thẻ hidden trong trang trớc và lu vào
tblCustomers hay tblTempCustomers Lu vào một trong hai bảng này phụ
thuộc vào tuỳ chọn của khách hàng Nếu khách hàng muốn trở thành khách
hàng thờng xuyên, họ tuỳ chọn thứ 2 trong trang orders.asp.
Trong trờng hợp khách hàng đăng ký nhiều lần, điều này có nghĩa là họ mua
nhiều lần mà không cần đăng ký tài khoản, email của khách hàng sẽ lặp lại.
3.4.2 Lu thông tin hợp đồng mua hàng.
Cho dù khách hàng có tài khoản trong hệ thống hay vừa đăng ký, bạn đều
phải lu thông tin hợp đồng mua vào tblOrders ứng với mã khách hàng vừa
có(từ đăng nhập hay vừa đăng ký)
4.phơng thức thanh toán
Trong khi thanh toán, tuỳ khả năng cho phép mà cửa hàng hay siêu thị cóthể thanh toán tiền với khách hàng bằng nhiều phơng thức khác nhau
Trong thực tế, bạn có thể trả tiền mặt, chuyển khoản ngân hàng, trả bằng
Card do cửa hàng hay siêu thị phát hành.
Ngoài ra, nếu ở một số nớc tiến bộ có hệ thống thanh toán bằng Credit Card
Đối với thơng mại điện tử cũng tơng tự, nếu ứng dụng của bạn không có khảnăng liên thông với ngân hàng, bạn không thể thu tiền bằng phơng thức nàokhác với phơng thức thanh toán tiền mặt
Điều này có nghĩa là ngời mua hàng sẽ đến trả tiền công ty hay nhân viêncông ty sẽ đến lấy tiền khi giao hàng
Trong trờng hợp bạn có tài khoản ngân hàng chẳng hạn, uy tín công ty của bạn
đợc ngời dùng đánh giá rất cao Khách hàng có thể trả tiền thông qua ngânhàng trớc khi nhận hàng, bằng cách chuyển khoản số tiền mua hàng vào tàikhoản của công ty
Sau khi, bạn nhận đợc thông báo của ngân hàng, số tiền của khách hàng đóchuyển vào tài khoản của công ty, bạn sẽ giao hàng cho khách hàng với chi phívận chuyển đã đợc kèm trong tổng gía trị hàng mua
Trang 10Tuy nhiên trong trờng hợp công ty của bạn có đối tác của ngân hàng, thôngqua ngân hàng việc chuyển khoản tiền vào tài khoản của công ty, bạn có thể
liên doanh với ngân hàng để phát hành loại Card cửa hàng với danh nghĩa
công ty
Để làm đợc điều này, bạn phải lu ý rằng phải có sự đồng ý của ngân hàng vàmột số quy định pháp lý khác Trong trờng hợp này, số tiền của khách hàng
(mệnh giá của Card mà khách hàng đã mua) nằm trong ngân hàng Mỗi
nghiệp vụ mua bán trên ứng dụng của bạn với khách hàng đều đợc chi trả bằng
loại Card này.
Nh vậy, khi thanh toán trên mạng bằng Card do công ty phát hành, nghiệp vụ
này phải đợc liên thông với ngân hàng Điều này có nghĩa là khi khách hàngmua hàng trên mạng, họ có thể trả số tiền bằng tổng giá trị giá mua hàng, số
tiền đó sẽ bị trừ vào tài khoản trong ngân hàng ứng với mã Card mà khách
hàng dùng để mua
Sau khi khách hàng nhận đợc sản phẩm của công ty, ngân hàng bắt đầuchuyển số tìên đó vaò tài khoản của công ty, đồng thời số tiền của khách hàngcũng bị trừ đi số tiền đúng bằng số tiền mua hàng cộng thêm chi phí thanhtoán nếu có
quản lý danh mục
1.Giới thiệu tổng quan về chức năng admin.
Nh đã giới thiệu ở trên, trong ứng dụng có sử dụng cơ sở dữ liệu, bạnphải xây dựng hai phần: phần thứ nhất chính là phần cho phép ngời dùng sửdụng, phần thứ hai là phần cho phép bộ phận doanh nghiệp quản lý ứng dụng Trong phần thứ hai, chúng tôi giới thiệu với các bạn các chức năng chính nhsau:
1.1 Danh mục.
Danh mục hay còn gọi là th viện, chúng bao gồm các bảng dữ liệu dạng danh
mục nh tblProvinces, tblCategories, tblItems, tblGroups ……
Đối với loại này, chúng bao gồm chức năng phụ nh: thêm mới một mẩu tin,
cập nhật, xoá mẩu tin, tìm kiếm và Activate hay Deactivate (cập nhật cột
activate với một trong hai giá trị 0,1) của mẩu tin đó.
Để thực hiện chức năng Directories, chúng tôi lấy các mặt hàng (Items) để
làm mẫu Các danh mục còn lại, bạn có thể sao chép và đổi tên giống nh thaythế một số cột dữ liệu chẳng hạn, để trình bày cho phù hợp
Trang 11Ngoài ra, trên quan điểm trình bày dữ liệu dạng liệt kê, chúng tôi đều cài đặt
navigation, paging, searching và sắp xếp theo ký tự alphanumeric, bạn có thể
tham khảo chi tiết trong phần kế tiếp
Tơng tự, nh trong trờng hợp Items, bạn thực hiện quá trình sao chép và sửa
đổi ứng với các danh mục khác nh: tblAuthors, tblGroups, tblProvines
1.2 Quản trị ngời dùng(Users)
Phần này cũng tơng tự nh phần trên, các chức năng thêm mới một mẩu tin,
cập nhật, xoá mẩu tin, tìm kiếm và Activate hay Deactivate (bật cột activate với một trong hai giá trị 0, 1), chúng tôi cũng cài đặt navigation, paging,
searching và sắp xếp theo ký tự alphanumeric.
Tuy nhiên trong phần này, chúng tôi muốn đề cập đến vấn đề phân quyền,
ứng với mỗi ngời dùng họ sẽ có một trong 3 quyền cơ bản trên mỗi module.
Sau khi tham khảo phần này, bạn có thể tự thiết kế chi tiết cho từng chức
năng con trong mỗi module, ví dụ trong ứng dụng này, cứ một ngời dùng có thể có một quyền trên module có tên là Directories Nếu quyền của ngời dùng
là F, điều này có nghĩa là họ có thể có tất cả quyền thao tác trên phần này Trong trờng hợp ngời dùng có quỳên R trên module này, họ chỉ có quyền xem
tìm kiếm dữ liệu chẳng hạn Ngoài ra họ không thể thao tác thêm mẩu tin haycập nhật dữ liệu cũng nh xoá mẩu tin
Thêm vào đó, nếu ngời dùng có quyền đợc gán là N, khi chọn module này, chơng trình sẽ dẫn ngời dùng đến trang errors,asp với thông báo chẳng hạn
nh:
You do not have permission to access this module.
Please contact administrator for more information
1.3 Quản lý khách hàng
Đối với module này, chúng tôi trình bày phần thao tác trên danh sách khách
hàng tơng tự nh phần trên, chúng cũng bao gồm các chức năng thêm mới một
mẩu tin, cập nhật, xoá mẩu tin, tìm kiếm và Activate hay Deactivate (bật cột
activate với một trong hai giá trị 0, 1) của mẩu tin đó.
Ngoài ra, trên quan điểm trình bày dữ liệu, chúng tôi đều cài đặt navigation,
paging, searching và sắp xếp theo ký tự alphanumeric, bạn có thể tham khảo