Quản lý bán hàng trên mạng
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ói riê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ân tí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ên chơng trình ứng dụng Một trong những ứng dụng thơng mại điện tử đó
là xây dự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ống quản lý trên Qua khảo xát thống để đi đến xây dựng các biểu đồ phân cấp chức năng, biểu đồ luồng dữ liệu và đi tới xây dựng biểu đồ luồng dữ liệu logic,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 3T×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 4Biể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 Khách
Hợp đồng
Trang 5Hệ 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
Tìm hàng
biểu đồ luồng dữ liệu mức đỉnh
Liệt kê
khách hàng
Trang 6Biể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 chi tiế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, sau khi 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ững sả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, sau khi 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
Chi tiếtHàng
Trang 7Tơ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 ờ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
tr-để 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ỳ để xem chi tiết
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ê
Trang 8Trong khi liệt kê sản phẩm trong giỏ hàng, bạn nên chọn sẵn cho khách hà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ẩm trong 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().
Lu ý: 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ật lạ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
Đ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).
Trang 9Trong 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
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
Trang 10Trong 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
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ài khoả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àng thờ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
Trang 11Sau 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ản trong 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à “ “
3.4 Lu dơn đặt hàng vào cơ sở dữ liệu
Trớc khi lu dữ liệu vào cơ sở dữ liệu, bạn cần phải kiểm tra biến session
coss tên $isSave có giá trị là rỗng thì cho phép lu, nếu giá trị khác rỗng đợc
xem nh đã lu trớc đó
3.4.1 Thông tin khách hàng
Trong trờng hợp khách hàng đăng nhập, bạn chỉ cần lấy mã khách hàng từ biến form.
Trang 12Ngợ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ào khá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ên cô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
Trang 13ngân hà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ài khoả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
Tuy 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ông qua 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àng mua 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 đầu chuyể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àng cũng bị trừ đi số tiền đúng bằng số tiền mua hàng cộng thêm chi phí thanh toá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ạn phả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
Trang 14sử 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
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 thay thế một số cột dữ liệu chẳng hạn, để trình bày cho phù hợp
Ngoà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.
Trang 15Sau 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 hay cậ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 trong phần kế tiếp
Đặc biệt với phần quản lý khách hàng, chúng tôi trình bày làm thế nào để theo dõi bắt đầu quá trình đặt hàng cho đến khi kết thúc hợp đồng
1.4 Nhân viên kinh doanh.
Đối với phần phục vụ cho nhân viên kinh doanh, chúng tôi trình bày làm
thế nào để theo dõi hợp đồng, thanh toán và phân công giao hàng cho nhân viên giao hàng chẳng hạn
Trang 161.5 Feedback
Feedback là tất cả các thông tin mà ngời dùng gửi đến công ty, bao gồm
vấn đề góp ý kíên, khiếu nại, cũng nh các hớng dẫn hỗ trợ từ phía dịch vụ Phần này, bạn cần phải thực hiện phúc đáp cho ngời dùng những thông tin
họ gửi đến, trong thực tế phần này bao gồm cả ngân hàng dữ liệu cho quá trình cung cấp dịch vụ cho khách hàng
1.6 Báo cáo.
Phần cuối cùng là phần báo cáo các loại, bao gồm báo cáo doanh số bán hàng, thanh toán và các báo cáo khác phục vụ cho quá trình kinh doanh ứng dụng Web
1.7 Phần khác.
Ngoài các phần trên, trong phần quản trị ứng dụng Web, chúng tôi trình
dụng
2.các tập tin chèn.
Để tạo ra một kiểu thồng nhất cho tất cả các trang trong ứng dụng quản trị ứng dụng, chúng tôi xây dựng một số trang ASP, Javascript, HTML dùng chung Bạn có thể sử dụng các trang này khi cần xây dựng
Tuy nhiên, bạn cũng có thể tự mình tối u hoá hay có thể thêm vào những phần đặc thù cho ứng dụng của mình, bằng cách khai báo tơng tự nh vây Trong trơng hợp này, chúng tôi tạo một th mục có tên là includes( nằm
trong th mục Examples) Trong th mục này, bao gồm các trang bottom.htm,
trang này dùng để khai báo require() hay include() vào mỗi cuối trang Web để trình bày thông tin về công ty và bản quỳên (copyright).