Hệ thống bán sách trực tuyến

Mục Lục Phần I: Giới thiệu và Đặt Vấn Đề I.1 Đặt vấn đề Ngày nay thương mại điện tử đã dần trở lên quen thuộc với người sử dụng bởi nó đã xoá dần mọi khoảng cách giữa người bán và người mua. Thương mại điện tử đã khiến cho việc mua bán giao dịch giữa người với người trở lên đơn giản hơn bao giờ hết. Thay vì phải gặp trực tiếp, mọi hoạt động sẽ diễn ra thông qua Internet. Các hình thức biết nhiều đến của thương mại điện tử là mua bán sách và nhạc cũng như mua bán đấu giá trong Internet. Th

doc81 trang | Chia sẻ: huyen82 | Lượt xem: 3800 | Lượt tải: 3download
Tóm tắt tài liệu Hệ thống bán sách trực tuyến, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ông qua việc Internet bùng nổ vào cuối thập niên 90, cửa hàng trực tuyến ngày càng có tầm quan trọng nhiều hơn. Những người bán hàng trong Internet có lợi thế là họ không cần đến một diện tích bán hàng thật sự mà thông qua các trang Web sử dụng một không gian bán hàng ảo. Các cửa hàng trực tuyến thường không cần đến nhà kho hay chỉ cần đến rất ít, vì thường có thể cung cấp cho khách hàng trực tiếp từ người sản xuất hay có thể đặt hàng theo nhu cầu. Lợi thế do tiết kiệm được các phí tổn cố định này có thể được chuyển tiếp cho khách hàng, đó là việc khách hàng sẽ được giảm chi phi vận chuyển so với cửa hàng sách cố định. Trong những năm gần đây, Đảng và Nhà Nước ta đánh giá cao tiềm năng phát triển của thương mại điện tử và đang đầu tư rất lớn cho thương mại điện tử. Đầu năm 2007, chính phủ Việt Nam đă ban hành Nghị định số 27/2007/NĐ-CP ngày 23/02/2007 “Quy định chi tiết thi hành Luật giao dịch điện tử về chữ ký số và dịch vụ chứng thực chữ ký số”, số 35/2007/NĐ-CP ngày 08/03/2007 “ Về giao dịch điện tử trong hoạt động ngân hàng” (theo ). Cùng với sự phát triển mạnh mẽ của Internet thì mọi giao dịch, hoạt động buôn bán trên thực tế đều có thể được mô tả bằng các chương trình. Một cửa hàng bàn sách sẽ hoàn toàn có thể được thay thế bằng một Website mà ở đó mọi người có thể mua bất cứ quyển sách yêu thích ngay cả khi ngồi ở nhà hay ở nơi làm việc. Xuất phát từ nhu cầu đó tôi đã tìm hiểu và thiết kế Website bán sách trực tuyến BookStore. I.2 Giới thiệu tổng quan về BookStore BookStore trưng bày và giới thiệu rất nhiều các loại sách khác nhau. Với Website khách hàng có thể tìm kiếm và mua sách một cách dễ dàng thông qua mạng Internet. Đồng thời nó giúp cho người bán hàng có thể quản lý sách một cách hiệu quả. Có rất nhiều loại sách được bán như: khoa học -công nghệ, sức khoẻ và giới tính, thương nhân-kinh tế, máy tính, nấu ăn, sách văn học và sách giành cho thiếu nhi… Tất cả các sách đều được mô tả rõ với các thông tin về nhà xuất bản, tác giả, tóm tắt nội dung… Và khách hàng có thể tìm kiếm sách theo từng mục. Để mua sách, khách hàng phải đăng nhập vào Website và gửi đơn đặt hàng, sau đó điền các thông tin và sách sẽ được chuyển về đến tận nhà. Website cũng cho phép khách hàng thay đổi hay xoá bỏ đơn đặt hàng nếu muốn. Sẽ có các nhóm quản lý trong cửa hàng như: bán hàng(sellers), kho hàng( stockers), quản trị (administrators). Mỗi nhóm đảm nhận những nhiệm vụ và phạm vi hoạt động riêng. Seller có nhiệm vụ kiểm tra, in ấn, theo dõi và cập nhật các trạng thái của đơn đặt hàng. Nhóm này sẽ phân phối sách và quản lý các thông tin về khách hàng như tên, địa chỉ, số điện thoại và thẻ thanh toán. Stocker có nhiệm vụ là kiểm tra, cập nhật thông tin về sách và số lượng sách. Admistrator quản lý users và database.Trong đó mỗi user phải có một username và password trong mỗi phạm vi truy nhập của mình. I.3 Các nội dung kiến thức cần nghiên cứu I.3.1- Java I.3.2- Servlet, JSP và MVC I.3.3- Kiến thức về XML và XSL I.3.4- Kiến thức vể phân tích thiết kế hướng đối tượng UML I.3.5- Tìm hiểu về thương mại điện tử Nội dung kiến thức cần nghiên cứu xem thêm trong phần phụ lục và tài liệu tham khảo I.4 Bố cục của bản báo cáo Để tiện theo dõi, nội dung chính của bản báo cáo này sẽ được trình bày trong phần II với trình tự như sau : Chương I: Khảo sát bài toán Chương II: Phân tích-Thiết Kế Chương III: Xây dựng chương trình Chương IV: Phụ lục và tài liệu tham khảo I.5 Lời Cảm Ơn Mặc dù còn những hạn chế nhất định, nhưng đề tài này thật sự đã cuốn hút em và em cũng đã thực sự làm việc vì sự yêu thích nó. Một lần nữa em xin chân thành cảm ơn thầy giáo Lê Hải Hà đã tận tình hướng dẫn em trong quá trình làm đồ án tốt nghiệp. Em cũng rất mong sự giúp đỡ, đóng góp ý kiến của các thầy cô cùng tất cả bạn bè bởi chắc chắn sau khi tốt nghiệp, em sẽ còn tìm hiểu nghiên cứu thêm về đề tài này! Phần II: Nội Dung Bản Báo Cáo Chương I: Khảo sát bài toán I.1 Các công đoạn của một giao dịch buôn bán trên mạng Gồm có 6 công đoạn sau: Khách hàng, từ một máy tính tại một nơi nào đó, điền những thông tin thanh toán và điạ chỉ liên hệ vào đơn đặt hàng (Order Form) của Website bán hàng (còn gọi là Website thương mại điện tử). Doanh nghiệp nhận được yêu cầu mua hàng hoá hay dịch vụ của khách hàng và phản hồi xác nhận tóm tắt lại những thông tin cần thiết như mặt hàng đã chọn, địa chỉ giao nhận và số phiếu đặt hàng... Khách hàng kiểm tra lại các thông tin và kích (click) vào nút (button) "đặt hàng", từ bàn phím hay chuột (mouse) của máy tính, để gửi thông tin trả về cho doanh nghiệp. Doanh nghiệp nhận và lưu trữ thông tin đặt hàng đồng thời chuyển tiếp thông tin thanh toán (số thẻ tín dụng, ngày đáo hạn, chủ thẻ ...) đã được mã hoá đến máy chủ (Server, thiết bị xử lý dữ liệu) của Trung tâm cung cấp dịch vụ xử lý thẻ trên mạng Internet. Với quá trình mã hóa các thông tin thanh toán của khách hàng được bảo mật an toàn nhằm chống gian lận trong các giao dịch (chẳng hạn doanh nghiệp sẽ không biết được thông tin về thẻ tín dụng của khách hàng). Khi Trung tâm Xử lý thẻ tín dụng nhận được thông tin thanh toán, sẽ giải mã thông tin và xử lý giao dịch đằng sau bức tường lửa (FireWall) và tách rời mạng Internet (off the Internet), nhằm mục đích bảo mật tuyệt đối cho các giao dịch thương mại, định dạng lại giao dịch và chuyển tiếp thông tin thanh toán đến ngân hàng của doanh nghiệp (Acquirer) theo một đường dây thuê bao riêng (một đường truyền số liệu riêng biệt). Ngân hàng của doanh nghiệp gởi thông điệp điện tử yêu cầu thanh toán (authorization request) đến ngân hàng hoặc công ty cung cấp thẻ tín dụng của khách hàng (Issuer). Và tổ chức tài chính này sẽ phản hồi là đồng ý hoặc từ chối thanh toán đến trung tâm xử lý thẻ tín dụng trên mạng Internet. Trung tâm xử lý thẻ tín dụng trên Internet sẽ tiếp tục chuyển tiếp những thông tin phản hồi trên đến doanh nghiệp, và tùy theo đó doanh nghiệp thông báo cho khách hàng được rõ là đơn đặt hàng sẽ được thực hiện hay không. Toàn bộ thời gian thực hiện một giao dịch qua mạng từ bước 1 -> bước 6 được xử lý trong khoảng 15 - 20 giây. I.2 Quy trình thanh toán trực tuyến bằng thẻ tín dụng Theo nguồn: Nói chung khi bạn bán sản phẩm hoặc dịch vụ trên mạng internet, bạn cần cung cấp cho người mua một phương án thanh toán trực tuyến trên mạng bên cạnh các phương án thanh toán khác. Cách phổ biến nhất trong thanh toán trực tuyến hiện nay là sử dụng thẻ tín dụng Credit Cart của các hãng Visa, Master, American Express, JBC…được các ngân hàng phát hành. Trước hết nếu bạn là người bán, bạn phải tạo lập một tài khoản bán hàng trên mạng. Tài khoản này phải được đăng ký với ngân hàng của bạn nếu ngân hàng cung cấp dịch vụ này hoặc với các dịch vụ cung cấp phần mềm xử lý quỏ trình thanh toán trực tuyến như Cybercash, Paymentnet, … Các ngân hàng hoặc nhà cung cấp dịch vụ sẽ chịu trách nhiệm xử lý thông tin thẻ trong quá trình thanh toán. Trên website bán hàng người bán hàng phải trang bị các tính năng sau: Shopping cart: Thiết kế giỏ hàng để khách hàng có thể thoải mái lựa chọn loại hàng cũng như số lượng,… Payment gateway: là một phần mềm dùng để xử lý việc thanh toán của thẻ tín dụng bao gồm việc xác nhận thông tin của thẻ tín dụng có đúng là hợp lệ hay không, thực hiện các lệnh chuyển tiền. Quy trình thanh toán được thực hiện như sau: Người mua có thẻ tín dụng khi quyết định mua hàng sẽ nhập các thông tin về thẻ của mình như : số thẻ, mã số thẻ, thời hạn của thẻ, tên chủ sở hữu của thẻ. Những thông tin này sẽ được chuyển tới ngân hàng hoặc nhà cung cấp dịch vụ (còn gọi là các Acquirer). Acquirer sẽ gửi thông tin về thẻ tới dịch vụ cung cấp thẻ và ngân hàng phát hành thẻ để kiểm tra tính hợp lệ của thẻ và kiểm tra khả năng thanh toán của thẻ. Nếu mọi điều kiện đều phù hợp, ngân hàng phát hành sẽ gửi thông tin ngược trở lại Acquirer, thông tin được giải mã gửi về cho người bán và việc thanh toán được thực hiện. Tiền sẽ được chuyển từ thẻ tín dụng của người mua đến tài khoản bán hàng trên Acquirer , sau đó sẽ được chuyển vào tài khoản ngân hàng của người bán. Phí cho việc thanh toán trực tuyến : Thông thường việc mở tài khoản bán hàng không mất phí Việc sử dụng phần mềm ứng dụng payment gateway thường có phí cài đặt ban đầu và phí duy trì hàng tháng Trong mỗi giao dịch thanh toán qua mạng, các Acquirer sẽ thu phí khoảng tử 1,5% đến 4% giá trị giao dịch và khoảng 0.3$ đến 0.5$ phí xác nhận thông tin thẻ/lần giao dịch. Việc tiến hành thanh toán qua mạng có thể đơn giản hơn bằng cách sử dụng dịch vụ của bên thứ 3, chịu trách nhiệm toàn bộ khâu thanh toán, người bán chỉ cần liên kết phần shopping cart của mình vào website của nhà cung cấp dịch vụ, mọi khâu từ việc nhập thông số thẻ, xử lý thanh toán đều được thực hiện tại website của nhà cung cấp dịch vụ, người bán hàng không cần mở tài khoản bán hàng, không cần sử dụng payment gateway, giảm được chi phí này nhưng các chi phí trên mỗi giao dịch sẽ cao hơn. I.3 Các nghiệp vụ của BookStore . Khách hàng có thể tìm kiếm , hiển thị và lựa chọn sách mà mình muốn mua. Khách hàng sẽ gửi đơn đặt hàng và cung cấp các thông tin cho server. . Seller sẽ kiểm tra và thực hiện đơn hàng . Seller sẽ thực hiện chuyển sách . Khách hàng tìm kiếm sách trên Website . Khách hàng lựa chọn sách và đưa vào giỏ hàng . Khách hàng có thể hiển thị giỏ hàng đã được chọn bất cứ khi nào họ muốn . Sau đó gửi đơn hàng đến Server . Nếu khách hàng muốn xem lại hay thay đổi trạng thái của đơn hàng thì họ đăng nhập và duyệt lại đơn hàng. Trạng thái của đơn hàng có thể là đang chờ, đang chuyển, đã chuyển rồi, bỏ qua hay không. Select, Add selected books to shopping cart View shopping cart HaveChange Update ShoppingCart Yes ContinueShoppi ng No Choose typeofcard, Enter CardNo, Send order to server Asking to Abort Order Login web/ Choose order want to abort Yes receice books and Invoice No Order aborted Seller accept No Yes Yes No Các trạng thái của Đơn hàng(Order): -Trạng thái của các đơn hàng trong hệ thống bao gồm: + Waiting + Delivering + Delivered + Asking for Abort + Aborted Chương II: Phân tích thiết kế II.1 Biểu Đồ Use Case II.1.1 Customer User case - BookList Mô tả Use case này cho phép Customer duyệt tất cả các sách trong hệ thống BookStore Tác Nhân Customer, Stocker Tiền Điều Kiện Trang booklist sẽ hiển thị thông tin chi tiết về sách và giá của sách Luồng sự kiện chính Duyệt danh mục tất cả các sách trong hệ thống Ứng với mỗi quyển sách Customer click vào tiêu đề của sách để xem chi tiết quyển sách: tác giả, isbn, giá sách… Hậu Điều Kiện Sau khi Use Case này được thực hiện thì customer hay stocker xem được danh mục sách và chi tiết sách User case - BookSearch Mô tả Use case này cho phép customer tìm kiếm tất cả các sách mà họ muốn. Hỗ trợ tìm kiếm theo tiêu đề, ISBN, tác giả, mô tả sách. Tác Nhân Customer Tiền Điều Kiện Trang use case này sẽ: Hiển thị một checkbox để customer chọn cách tìm kiếm theo tiêu đề, tác giả, ISBN hay mô tả. Hiển thị một textbox để đưa vào từ khóa tìm kiếm và một Button “Search” Luồng sự kiện chính Chọsn cách tìm kiếm theo tiêu đề, tác giả, ISBN, mô tả trong checkbox Đưa từ khoá tìm kiếm vào textbox Click vào button Search Hậu Điều Kiện User case - AddBooktoCard Mô tả Cho phép customer chọn sách và số lượng sách. Customer có thể duyệt tất cả các sách cùng thể loại hay cùng tác giả với quyển sách đang xem. Sau khi chọn sách, customer có thể xem giỏ hàng của mình Tác Nhân Customer Tiền Điều Kiện Customer phải chọn những quyển sách mà họ muốn mua Luồng sự kiện chính Customer sẽ thực hiện các thao tác sau: Chọn sách họ muốn mua Chọn số lượng sách trong cột checkbox quantity Click vào button để đưa sách vào giỏ hàng Xem lại giỏ hàng Quay trở lại để tiếp tục chọn sách Cập nhật lại giỏ hàng Hậu Điều Kiện Sau khi đă có giỏ hàng như mong muốn, customer sẽ gửi đơn đặt hàng tới Seller User case - RemoveBookFromCart Mô tả Sau khi chọn sách và đưa sách vào giỏ hàng, nếu muốn thì customer có thể đưa sách ra khỏi giỏ hàng đã chọn Tác Nhân Customer Tiền Điều Kiện Trong giỏ hàng của customer đã có sách Luồng sự kiện chính Chọn những quyển sách mà customer muốn loại bỏ khỏi giỏ hàng Cập nhật lại giỏ hàng Hậu Điều Kiện Sau khi cập nhật lại giỏ hàng , những quyển sách đó được chọn để loại ra sẽ không còn trong giỏ hàng User case - SendOrder Mô tả Gửi đơn đặt hàng của customer với các thông tin về giỏ hàng tương ứng Tác Nhân Customer Tiền Điều Kiện Customer cần có thẻ thanh toán và mã số thẻ thanh toán Luồng sự kiện chính Chọn loại thẻ thanh toán Đưa mã số thẻ thanh toán vào Click vào một button để gửi đơn đặt hàng Hậu Điều Kiện Đơn đặt hàng sẽ được gửi đến server User case - ViewOrderStatus Mô tả Use case này cho phép customer xem trạng thái đơn hàng của họ đã đặt trước đó Tác Nhân Customer Tiền Điều Kiện Customer đã gửi thành công đơn đặt hàng tới server Luồng sự kiện chính Click vào đường link để hiển thị danh sách các đơn đặt hàng của customer Click vào link “View order detail” để hiển thị chi tiết đơn đặt hàng tương ứng Hậu Điều Kiện Trạng thái của đơn đặt hàng được hiển thị User case - ChangeOrderStatus Mô tả Use case này cho phép customer thay đổi trạng thái đơn đặt hàng trước đó Tác Nhân Customer Tiền Điều Kiện Use case “ViewOrderStatus” đã được thực hiện, tức là customer đã xem được trạng thái đơn đặt hàng Luồng sự kiện chính Tuỳ vào trạng thái của đơn đặt hàng mà customer có thể hay không thể thay đổi đơn đặt hàng sang trạng thái khác. Hậu Điều Kiện Trạng thái của đơn đặt hàng thay đổi tương ứng với quyền thay đổi đơn đặt hàng của customer II.1.2 Sellers User case - Orderlist Mô tả Use case này cho phép customer liệt kê danh sách tất cả các đơn đặt hàng của tất cả các customer Tác Nhân Seller Tiền Điều Kiện Seller đăng nhập vào hệ thống đúng với account của mình Luồng sự kiện chính Seller click vào link “Order List” trong menu của chương trình Hậu Điều Kiện Nếu use case thực hiện thành công thì Seller sẽ xem được danh mục tất cả các đơn đặt hàng User case - UpdateStatus Mô tả Use case này cho phép Seller cập nhật trạng thái của các đơn đặt hàng Tác Nhân Seller Tiền Điều Kiện Khi có đơn đặt hàng cần cập nhật trạng thái Use case OrderList đó được thực hiện Luồng sự kiện chính Seller đăng nhập vào hệ thống với tài khoản là seller Duyệt danh sách đơn đặt hàng Chọn đơn đặt hàng để cập nhật trạng thái Hậu Điều Kiện Đơn đặt hàng được cập nhật lại trạng thái User case –PrintInvoice Mô tả Cho phép seller in hoá đơn cho customer Tác Nhân Seller Tiền Điều Kiện Customer đã thanh toán Luồng sự kiện chính Seller click vào nút “To print” Hậu Điều Kiện Hoá đơn được in ra User case - CustomerList Mô tả Cho phép Seller liệt kê danh sách tất cả các khách hàng Tác Nhân Seller Tiền Điều Kiện Customer đặt hàng và sách đã được gửi đến customer Luồng sự kiện chính Click vào link “Customer List” Click vào mỗi customer để xem danh mục các hoá đơn của khách hàng đó Hậu Điều Kiện Danh sách khách hàng được hiển thị II.1.3 Stocker User case - BookList Mô tả Use case này cho phép stocker liệt kê danh mục tất cả các sách trong BookStore Tác Nhân Stocker Tiền Điều Kiện Trang booklist sẽ hiển thị thong tin chi tiết về sách và giá của sách Luồng sự kiện chính Stocker click vào “Browse by category” để hiển thị toàn bộ số sách có trong hệ thống Hậu Điều Kiện Nếu use case thực hiện thành công thì Stocker sẽ xem được danh mục tất cả các sách trong hệ thống User case - InsertBook Mô tả Use case này cho phép stocker đưa thêm sách mới vào danh mục sách Tác Nhân Stocker Tiền Điều Kiện Đăng nhập vào hệ thống với quyền stocker Luồng sự kiện chính Vào danh mục sách click vào button “Add” Điền thông tin của sách mới vào các textbox tương ứng và nhấn “Add” để đưa sách vào hệ thống Hậu Điều Kiện Sách mới được hiển thị trong danh mục sách User case – UpdateBook Mô tả Cho phép stocker sửa đổi thông tin về sách Tác Nhân Stocker Tiền Điều Kiện Đăng nhập vào hệ thống với quyền stocker Luồng sự kiện chính Vào danh mục sách Click vào link “Edit” tương ứng với quyển sách cần cập nhật lại Thay đổi thông tin trong các textbox Nhẫn nút update để lưu sự thay đổi Hậu Điều Kiện Thông tin sách được thay đổi User case - DeleteBook Mô tả Cho phép xóa sách trong hệ thống Tác Nhân Stocker Tiền Điều Kiện Đăng nhập vào hệ thống với quyền stocker Luồng sự kiện chính Vào danh mục sách Click vào link “delete” tương ứng với quyển sách cần xoá Nhẫn nút delete để xoá sách Hậu Điều Kiện Sách bị xoá khỏi hệ thống II.1.4 Administrator User case - Insert/Update/Delete/List User Mô tả Cho phép admin thêm mới, cập nhật, xoá , duyệt danh sách tất cả người sử dụng hệ thống Tác Nhân Administrator Tiền Điều Kiện Đăng nhập với quyền Administrator Luồng sự kiện chính Click vào link “User List” trên menu chương trình Click vào các link “Edit”, “delete” tương ứng để cập nhật hoặc là xoá user khỏi hệ thống Click vào “Add” để tạo mới user Hậu Điều Kiện Các sửa đổi đối với các user được chính xác User case - CustomerList Mô tả Cho phép Admin liệt kê danh sách tất cả các khách hàng Tác Nhân Aministrator Tiền Điều Kiện Customer đặt hàng và sách đó được gửi đến customer Luồng sự kiện chính Click vào link “Customer List” Click vào mỗi customer để xem danh mục các hoá đơn của khách hàng đó User case - Orderlist Mô tả Use case này cho phép admin liệt kê danh sách tất cả các đơn đặt hàng của tất cả các customer Tác Nhân Administrator Tiền Điều Kiện Admin đăng nhập vào hệ thống đúng với account của mình Luồng sự kiện chính Admin click vào link “Order List” trong menu của chương trình Hậu Điều Kiện Nếu use case thực hiện thành công thì admin sẽ xem được danh mục tất cả các đơn đặt hàng II.2 Mô Hình Thực Thể Liên Kết Books Categories OrderDetails Orders Groups Users II.3 Thiết kế cơ sở dữ liệu II.3.1 Khối quản lý sách và thể loại sách Books BookID Title ISBN Author Description CategoryID UnitPrice UnitInStock Categories CategoryID CategoryName Description II.3.1.1 bảng Categories Bảng này chứa thông tin về các loại sách trong hệ thống ví dụ như : sách về thương nhân và kinh doanh, sách về máy tính, sách khoa học, tiểu thuyết, sách thiếu nhi. TT Tên trường Kiểu DL Chiều dài Nulls Diễn giải Ghi chú 1 CategoryID int 4 Mã thể loại sách 2 CategoryName nvarchar 50 Thể loại sách 3 Description ntext 16 X Miêu tả sách II.3.1.2 Bảng Books Bảng này chứa thông tin về tất cả sách có trong hệ thống TT Tên trường Kiểu DL Chiều dài Nulls Diễn giải Ghi chú 1 BookID int 4 Mã sách 2 Title nvarchar 40 Tiêu đề sách 3 ISBN nvarchar 20 X Mã số sách tiêu chuẩn quốc tế 4 Author nvarchar 50 X Tác giả 5 Description nvarchar 255 X Miêu tả sách 6 CategoryID int 4 Mã thể loại sách 7 UnitPrice float 8 X 8 UnitInStock smallint 2 X II.3.2 Khối quản lý người sử dụng hệ thống Users UserID CompanyName ContactName Address PostalCode Phone Fax Email Password Status groupID Groups GroupID Name Description II.3.2.1 Bảng Groups Bảng này chứa thông tin vể các nhóm người sử dụng hệ thống như: khách hàng, người bán hàng, quản lý kho hàng, quản trị. TT Tên trường Kiểu DL Chiều dài Nulls Diễn giải Ghi chú 1 GroupId int 4 Mã nhóm người sử dụng hệ thống.Gồm 4 loại là:khách hàng, người bán, quản lý kho, quản trị hệ thống 2 Name nvarchar 50 Tên nhóm người sử dụng 3 Decription nvarchar 255 X Miêu tả cho từng nhóm người sử dụng II.3.2.1 Bảng Users Bảng này chứa thông tin về tất cả người dùng trong hệ thống TT Tên trường Kiểu DL Chiều dài Nulls Diễn giải Ghi chú 1 UserID Int 4 Mã người sử dụng hệ thống 2 CompanyName nvarchar 40 Tên công ty 3 ContactName nvarchar 30 X Tên liên lạc 4 Address nvarchar 60 X Địa chỉ 5 PostalCode nvarchar 10 X Mã bưu điện 6 Phone nvarchar 24 X Số điện thoại 7 Fax nvarchar 24 X Fax 8 EMail nvarchar 50 X Địa chỉ hòm thư 9 Password nvarchar 50 X Mật khẩu 10 status bit 1 X Trạng thái 11 groupID int 4 Mã nhóm người sử dụng hệ thống.Mỗi người sử dụng hệ thống thuộc một trong các nhóm:khách hàng, người bán, quản lý kho, quản trị. II.3.3 Khối quản lý đơn đặt hàng OrderDetails OrderDetailID OrderID ProductID Quantity Discount Orders OrderID UserID approverID OrderDate Status TotalAmount CardType CardID II.3.3.1 Bảng Orders Bảng này chứa thông tin về các đơn đặt hàng TT Tên trường Kiểu DL Chiều dài Nulls Diễn giải Ghi chú 1 OrderID int 4 Mã đơn đặt hàng 2 UserID int 4 X Mã khách hàng 3 approverID int 4 X Người chấp nhận 4 OrderDate datetime 8 Ngày đặt hàng 5 Status int 4 X Trạng thái đơn đặt hàng 6 TotalAmount float 8 X Số lượng 7 CardType nvarchar 50 X Loại thẻ tín dụng 8 CardID nvarchar 50 X Mã thẻ tín dụng II.3.3.1 Bảng OrderDetails Bảng này chứa thông tin chi tiết của từng đơn đặt hàng TT Tên trường Kiểu DL Chiều dài Nulls Diễn giải Ghi chú 1 OrderDetailID int 4 Vì trong đơn đặt hàng có thể có nhiều mặt hàng,ứng với mỗi mặt hàng thì có một mã hóa đơn chi tiết 2 OrderID int 4 Mã đơn đặt hàng 3 ProductID int 4 Mã sách 4 Quantity smallint 2 Số lượng 5 Discount float 8 X Hạ giá II.4 Cấu trúc của Website Website được thiết kế dựa trên kiến trúc 3 tầng MVC Tầng Presentation sẽ là giao diên tương tác với người sử dụng hệ thống. Tầng này sẽ gồm các module thực hiện việc hiển thị menu của website, hiển thị tiêu đề cũng như các thông tin về sách, hiển thị và cập nhật thông tin trong giỏ hàng, hiển thị danh sách khách hàng, thông tin đơn đặt hàng, cho phép khách hàng xác nhận(submit) đơn đặt hàng, cho phép đăng nhập, cập nhật và tạo mới user. Tầng thứ 2 sẽ được chia thành 4 bộ phận : controller-servlet, service-Action Object , Database Access và Model. controller-servlet : Nhận tất cả các yêu cầu từ phía người sử dụng và gửi chúng tới các đối tượng dịch vụ tương ứng ở bộ phận service-Action Object để xử lý tiếp Service-Action Object : Bộ phận này sẽ xử lý những yêu cầu của người sử dụng như: lấy ra toàn bộ các thông tin sách và trả về tầng presentation, tìm kiếm và trả lại kết quả tìm kiếm, đưa sách vào giỏ hàng, cập nhật giỏ hàng, xác nhận thông tin đơn đặt hàng để update cơ sở dữ liệu, nhận thông tin, cập nhật, xoá hay tạo mới người sử dụng vào cơ sở dữ liệu. Database Access : Thực hiện truy xuất cơ sở dữ liệu Model : là các đối tượng dùng để định nghĩa và chứa các phương thức thực thi đối với người sử dụng, đơn đặt hàng , giỏ hàng và sách. II.5 Các thành phần chính trong kiến trúc Presentation 1 Menu.Xml,Menu.xsl Hiển thị menu bên trái màn hình của website 2 BookList.jsp Hiển thị tiêu để và các thông tin khác của sách 3 BookDetail.jsp Hiển thị thông tin chi tiết về sách 4 Cart.jsp Hiển thị và cập nhật thông tin về giỏ hàng 5 OrderList.jsp Hiển thị danh sách các đơn đặt hàng của khách hàng 6 OrderDetail.jsp Hiển thị thông tin chi tiết của từng đơn đặt hàng 7 Checkout.jsp Cho phép khách hàng nhập thông tin về thẻ thanh toán và xác nhận gửi đơn đặt hàng đến server 8 SignIn.html Cho phép các user truy nhập vào hệ thống 9 SignUp.jsp Cho phép đăng ký thành viên đối mới user chưa có tài khoản của hệ thống 10 Addbook.jsp Cho phép tạo mới và cập nhật thông tin sách 11 AddUser.jsp Cho phép tạo mới và cập nhật thông tin của các user Controller Servlet 1 FrontController.class Nhận tất cả các yêu cầu từ phía user và gửi yêu cầu đến các đối tượng dích vụ tương ứng để xử lý yêu cầu đó Service Action Objects 1 ShowhomeAO.class Lấy về thông tin của toàn bộ sách trong hệ thống và gửi đến titles.jsp 2 BookSearchAO.class Tìm kiếm sách và gửi kết quả tới title.jsp 3 BookDetailAO.class Lấy ra thông tin chi tiết của sách và gửi kết quả đến BookDetail.jsp 4 ViewCartAO.class Tạo đối tượng giỏ hàng và gửi kết quả tới cart.jsp 5 AddToCartAO.class Đưa sách vào giỏ hàng 6 UpdateCartAO.class Cập nhật lại giỏ hàng 7 SendOrderAO.class Xác nhận thông tin của đơn đặt hàng để cập nhật cơ sở dữ liệu 8 ViewOrderStatusAO.class Send order information to OrderDetail.jsp 9 OrderListAO.class Lấy ra danh mục tất cả các đơn đặt hàng và gửi tới OrderList.jsp 10 PrintInvoiceAO.class Cập nhật trạng thái đơn đặt hàng sang trạng thái “delivering” và in hóa đơn cho khách hàng 11 UpdateBookAO.class Thêm mới hoặc cập nhật thông tin sách vào cơ sở dữ liệu 12 DeleteBookAO.class Xoá sách từ cơ sở dữ liệu 12 UpdateUserAO.class Thêm mới hoặc cập nhật thông tin user vào cơ sở dữ liệu 13 DeleteUserAO.class Xoá user từ cơ sở dữ liệu Database Access 1 BookStoreDAO.class Phụ trách giao tiếp với cơ sở dữ liệu Model 1 Book.class Là lớp của các đối tượng sách 2 CartItem.class Là lớp của các đối tượng giỏ hàng 3 Order.class Là lớp các đối tượng đơn đặt hàng 4 User.class Là lớp các đối tượng người sử dụng hệ thống 5 Group.class Là lớp tương ứng với bảng Groups trong database II.6 Các biểu đồ tương tác(Sequence diagram và Collaboration diagram) II.6.1 Biểu đồ tương tác của use case AddBookToCart II.6.1.1 Biểu đồ trình tự II.6.1.2 Biểu đồ cộng tác II.6.2 Biểu đồ tương tác của use case insertBook II.6.2.1 Biểu đồ trình tự II.6.2.2 Biểu đồ cộng tác II.6.3 Biểu đồ tương tác của use case BookList II.6.3.1 Biểu đồ trình tự II.6.3.2 Biểu đồ cộng tác II.6.4 Biểu đồ tương tác của use case BookSearch II.6.4.1 Biểu đồ trình tự II.6.4.2 Biểu đồ cộng tác II.6.5 Biểu đồ tương tác của use case CustomerList II.6.5.1 Biểu đồ trình tự II.6.5.2 Biểu đồ cộng tác II.6.6 Biểu đồ tương tác của use case deleteBook II.6.6.1 Biểu đồ trình tự II.6.6.2 Biểu đồ cộng tác Chương III Xây dựng chương trình III.1 Các Modul chính của chương trình III.1.1 Làm thế nào sử dụng hệ thống để đặt hàng? - Việc đặt hàng (order) trong hệ thống rất dế dàng, người sử dụng không cần phải tạo acount trước khi đặt đơn hàng đầu tiên. Sau khi chọn sách vào giỏ hàng, chức năng sendorder sẽ tự động yêu cầu người sử dụng truy nhập hay tạo account mới . - Sau đây là các bước để đặt một đơn đặt hàng : 1. Tìm sách 2. Đưa sách vào giỏ hàng 3. Truy nhập / Đăng nhập 4. Gửi đơn đặt hàng cho server 5. Cung cấp mã số thẻ tín dụng 6. Kiểm tra trạng thái của đơn đặt hàng 1. Tìm sách Để tìm được quyển sách đúng như mong muốn, người dùng có thể duyệt trong danh sách của toàn bộ sách trong cửa hàng, tìm kiếm theo các thể loại sách, hay tìm kiếm sách theo từ khoá như tiêu đề, tác giả, isbn, hay tìm kiếm theo miêu tả được hệ thống hỗ trợ nằm ở menu bên trái màn hình. Sau khi duyệt sách hay sử dụng chức năng tìm kiếm, bên phải màn hình sẽ xuất hiện một list các sách liên quan đến những quyển sách người sử dụng cần tìm, đánh dấu vào mục cột choosed tương ứng rồi nhấn nút Add selected books to shopping cart ở phía dưới màn hình, để đưa sách vào giỏ hàng. Nếu muốn xem thông tin chi tiết của sách, người dùng có thể nhấn vào tiêu đề sách ứng với cột title. Khi đó các thông tin chi tiết về quyển sách sẽ được hiển thị. Người dùng có thể tuỳ chọn số lượng sách cần mua trong textbox Quantity và đưa vào giỏ hàng. Người dùng cũng có thể xem tất cả các quyển sách có cùng tác giả hay những quyển sách cùng thể loại với quyển sách đang xem chi tiết bằng cách nhấn vào hai đường link bên dưới dong chữ “ What you like to search? ” 2. Đưa sách vào giỏ hàng Để đưa sách vào giỏ hàng, người mua sau khi chọn sách cần nhấn vào nút “Add to Shopping cart” trong list book hoặc trong trang bookdetail. Người dùng có thể xem giỏ hàng của họ bất cứ lúc nào bằng cách nhấn vào menu “Shopping cart” bên trái màn hình hoặc nhấn vào nút “View your shopping cart” ở bên dưới màn hình. Trong mỗi giỏ hàng đã chọn, khách hàng có thể tuỳ chọn theo ý mình ví dụ như: loại bỏ sách ra khỏi giỏ hàng bằng cách chọn vào checkbox “Remove” tương ứng, thay đổi lại số lượng sách muốn mua trong textbox “Quantity” sau đó nhấn chuột vào nút “Update shopping cart”. Nếu muốn mua thêm sách, khách hàng có thể quay trở lại booklist bằng cách click vào “Continue shopping” 3. Truy nhập/ đăng nhập Trước khi đặt hàng, khách hàng phải truy nhập vào hệ thống với tài khoản đã được đăng ký bằng cách click vào link “My account” ở Menu bên trái màn hình. Nếu chưa có tài khoản, khách hàng phải đăng nhập bằng cách nhấn vào link “if you are not a member, sign up now”, sau đó điền thông tin cá nhân vào trang đăng ký 4. Gửi đơn đặt hàng cho server Sau khi đã kiểm tra giỏ hàng chứa sách cũng như số lượng theo yêu cầu, khách hàng chuyển đơn đặt hàng đến seller bằng cách click vào nút “order “ ở bên dưới màn hình của trang hiển thị giỏ hàng 5. Cung cấp mã số thẻ tín dụng Trước tiên, khách hàng phải chọn loại thẻ thanh toán cho hoá đơn, ví dụ như : Visa card, Master card và điền thông tin vể mã của thẻ thanh toán 6. Kiểm tra trạng thái của đơn đặt hàng Khi khách hàng muốn xem lại hay thay đổi thông tin trong đơn đặt hàng trước đó, họ cần truy nhập hệ thống và click vào link “Admin feature” ở menu bên trái màn hình, sau đó click vào link “Order list” cũng nằn ở menu bên trái màn hình mới. Khi đó, khách hàng có thể duyệt các hoá đơn đã đặt theo các trạng thái : Waiting, delivering, delivered, ask for Aborting, Aborted tương ứng với các link ở trên menu bên trái màn hìn Khi đó, khách hàng sẽ xem lại được tất cả các hoá đơn và trạng thái tương ứng với các hoá đơn đã đặt trước đó. III.1.2 Quản lý bán hàng(dùng cho Seller) Nếu là một user có quyền seller trong hệ thống thì user đó sẽ được thực hiện các tác vụ sau: Truy nhập Duyệt danh sách người mua Duyệt danh sách đơn đặt hàng Xem chi tiết đơn đặt hàng Xác nhận trước khi phân phát sách Lập hoá đơn Loại bỏ hoá đơn 1. Truy nhập User muốn truy nhập vào hệ thống thì click vào link “My account” bên trái màn hình, và điền thông tin ứng với Seller : 2. Duyệt danh sách người mua Để duyệt danh sách khách hàng, click vào link “Customer list” bên trái màn hình. Trong bả._.

Các file đính kèm theo tài liệu này:

  • docDA0609.DOC