Từ yêu cầu hệ thống ta có các tác nhân liên quan như sau: Khách Hàng: Đăng ký thành viên, đăng nhập, tìm kiếm sản phẩm, đặt hàng, mua hàng, thanh toán đơn hàng, tìm kiếm nâng cao tìm t
Trang 13.2.2 Quá trình cập nhật dữ liệu 4647
3.2.3 Lập chỉ mục văn bản với Lucene 4748
3.2.4 Thuật toán tìm kiếm trên Inverted Index 4950
3.2.5 Thuật toán Vector Space Model 5051
3.2.6 Thuật toán TF-IDF 5152
3.3 Cấu hình cho Solr 5253
3.3.1 Câu trúc thư mục của Solr 5253
3.3.2 Thư mục conf 5253
3.4 Truy vấn trong Solr 5758
3.4.1 Solr Request 5758
3.4.2 Solr response 5859
3.5 Sử dụng Apache Solr cho việc tìm kiếm thông tin 5960
3.5.1 Tìm kiếm thông tin là gì 5960
3.5.2 Tìm kiếm thông tin sử dụng Solr 5960
3.5.3 Tìm kiếm - gợi ý sử dụng Solr 6061
CHƯƠNG 4: PHÁT TRIỂN VÀ CÀI ĐẶT THỬ NGHIỆM 6263
4.1 Sơ bộ về Java 2 Platform, Enterprise Edition 6263
4.2 J2EE API 6263
4.2.1 Java Database Connectivity (JDBC) 6364
4.2.2 Java Servlets 6364
4.2.3 Java Server Page (JSP) 6465
4.3 Môi trường và cài đặt thử nghiệm 6566
4.3.1 Môi trường 6566
4.3.2 Cài đặt thử nghiệm 6566
4.4 Tích hợp Apache Solr vào hệ thống 6667
4.4.1 Dữ liệu cho việc tìm kiếm 6667
4.4.2 Kết quả tìm kiếm và gợi ý 6667
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6869
DANH MỤC CÁC TÀI LIỆU THAM KHẢO 7071
Trang 2DANH MỤC CÁC BẢNG
Bảng 2-1: Bảng thuật ngữ 76
Bảng 2-2: Scenario Khách hàng đăng ký tài khoản 109
Bảng 2-3: Scenario Khách hàng tìm kiếm sách 1110
Bảng 2-4: Scenario Khách hàng xem sách 1110
Bảng 2-5: Scenario Khách hàng tạo giỏ hàng 1 1211
Bảng 2-6: Scenario Khách hàng tạo giỏ hàng 2 1312
Bảng 2-7: Scenario Khách hàng xóa giỏ hàng 1312
Bảng 2-8: Scenario Khách hàng tạo đơn đặt hàng 1413
Bảng 2-9: Scenario Khách hàng hủy bỏ đơn đặt hàng 1514
Bảng 2-10: Scenario Nhân viên nhập sách 1615
Bảng 2-11: Scenario Nhân viên sửa thông tin sách 1716
Bảng 2-12: Scenario Nhân viên thêm khuyến mãi 1817
Bảng 2-13: Scenario Nhân viên sửa khuyến mãi 1817
Bảng 2-14: Scenario Nhân viên áp dụng khuyến mãi 1918
Bảng 2-15: Scenario Nhân viên xử lý đơn hàng 2019
Bảng 2-16: Scenario Nhân viên tạo loại khách hàng 2120
Bảng 2-17: Scenario Quản lý xem thống kê 2120
Bảng 2-18: Lớp và thuộc tính của lớp 3736
Bảng 3-1: Kiểu dữ liệu trong Solr 5453
Bảng 3-2: Parameter trong truy vấn Solr 5857
Trang 3DANH MỤC CÁC HÌNH VẼ
Hình 2-1: Sơ đồ Usecase tổng quan 76
Hình 2-2: Sơ đồ Usecase phía khách hàng 87
Hình 2-3: Sơ đồ Usecase phía Nhân viên 98
Hình 2-4: Sơ đồ Usecase phía Quản lý 98
Hình 2-5: Sơ đồ lớp thực thể pha phân tích 2221
Hình 2-6: Scenario khách hàng đăng ký tài khoản 2322
Hình 2-7: Scenario khách hàng tìm kiếm sách 2322
Hình 2-8: Scenario khách hàng xem sách 2423
Hình 2-9: Scenario khách hàng tạo giỏ hàng 2423
Hình 2-10: Scenario khách hàng xóa sản phẩm trong giỏ hàng 2524
Hình 2-11: Scenario khách hàng tạo đơn hàng 2625
Hình 2-12: Scenario khách hàng tạo đơn hàng (tiếp) 2726
Hình 2-13: Scenario khách hàng hủy bỏ đơn hàng 2827
Hình 2-14: Scenario nhân viên nhập sách 2827
Hình 2-15: Scenario nhân viên sửa thông tin sách 2928
Hình 2-16: Scenario nhân viên thêm khuyến mãi 2928
Hình 2-17: Scenario nhân viên sửa khuyến mãi 3029
Hình 2-18: Scenario nhân viên áp dụng khuyến mãi 3130
Hình 2-19: Scenario nhân viên xử lý đơn hàng 3130
Hình 2-20: Scenario nhân viên tạo loại khách hàng 3231
Hình 2-21: Scenario quản lý xem thống kê 3231
Hình 2-22: Biể đồ lớp thực thể pha thiết kế 3332
Hình 2-23: Lược đồ cơ sở dữ liệu 3736
Hình 2-24: Giao diện trang chủ 3938
Hình 2-25: Giao diện trang đăng ký tài khoản 4039
Hình 2-26: Giao diện trang giỏ hàng 4140
Hình 2-27: Giao diện nhập thông tin giao hàng 4241
Hình 2-28: Giao diện chọn thanh toán 4241
Hình 2-29: Giao diện admin xem thống kê 4342
Hình 2-30: Giao diện admin xử lý đơn hàng 4342
Hình 3-1: Các hệ thống ứng dụng Solr trong tìm kiếm 4544
Trang 4Hình 3-3: Kiến trúc index dữ liệu trên Solr 4746
Hình 3-4: Index trong SQL 4847
Hình 3-5: Inverted index 4948
Hình 3-6 Vector Space Model 5049
Hình 3-7: Cây thư mục Solr 5251
Hình 3-8: Cấu trúc file data-config.xml 5352
Hình 3-9: Cấu trúc file schema.xml 5453
Hình 3-10: Analyer 5554
Hình 3-11: Thành phần file solrconfig.xml 5655
Hình 3-12: Luồng xử lý truy vấn 5756
Hình 3-13: Response JSON từ Solr 5857
Hình 4-1: Cấu trúc của Servlets trong ứng dụng web 6463
Hình 4-2: Tích hợp Solr vào chức năng tìm kiếm sản phẩm 6665
Hình 4-3: Tích hợp Solr vào chức năng gợi ý sản phẩm liên quan 6766
Trang 5DANH MỤC CÁC TỪ VIẾT TẮT STT Từ viết tắt Nghĩa đầy đủ
3 TF-IDF Term Frequency – Inverse
Document Frequency
5 UIMA Unstructured Information Management Architecture
Trang 6LỜI MỞ ĐẦU Trong thời đại ngày nay sự phát triển bùng nổ của Internet đã giúp ích rất nhiều cho cuộc sống của con người Internet giúp con người tìm kiếm và tổng hợp thông tin trên toàn thế giới một cách dễ dàng hơn Internet đang tạo gia một thế giới phẳng, nơi mà
sự tiếp xúc giữa các cá nhân trở nên dễ dàng và chặt chẽ hơn, các giao dịch thương mại cũng dễ dàng được thực hiện…
Thương mại điện tử (TMDT) đang trở thành một xu thế kinh doanh mới Nó giúp các doanh nghiệp tiếp cận tớinhiều tầng lớp khách hàng, việc quản lý trong kinh doanh cũng trở lên đơn giản hơn và còn nhiều ưu điểm mà TMDT đem lại không chỉ cho doanh nghiệp mà còn góp phần thúc đẩy nền kinh tế của các quốc gia
Để xây dựng một hệ thống TMDT thành công không thể thiếu các công cụ tìm kiếm, gợi ý sản phẩm Chúng giúp cho khách hàng tiếp cận các sản phẩm mà họ quan tâm nhanh hơn, từ đó đem tới nhiều cơ hội mua sắm hơn cho doanh nghiệp
Từ những lợi thế mà TMDT và công cụ tìm kiếm đem lại kết hợp với nhu cầu tìm kiếm và mua bán sách, báo, tạp chí trong xã hội hiện nay em chọn đề tài cho đồ án của mình là “Xây dựng hệ thống giới thiệu và bán sách trực tuyến” Đề tài sẽ tập trung vào các phần sau:
Phân tích thiết kế và xây dựng hệ thống bán sách trực tuyến
Nghiên cứu về công cụ tìm kiếm thông tin Apache Solr
Sử dụng Apache Solr để phát triển, cài đặt phần tìm kiếm và giới thiệu sách cho hệ thống bán sách trực tuyến
Em xin chân thành cảm ơnTS.Nguyễn Thị Thu Phương đã tận tình giúp đỡ em hoàn thành đề tài này Do kiến thức còn hạn chế nên trong đồ án còn nhiều thiếu xót, em mong nhận được nhiều ý kiến đánh giá và nhận xét của quý thầy cô
Nội dung của đề tài bao gồm:
Chương 1:Khảo sát và xây dựng bài toán
Thu thập yêu cầu, trình bày hiện trạng kinh doanh, các vấn đề gặp phải trong hình thức kinh doanh hiện tại từ đó đặt ra yêu cầu cho hệ thống
Chương 2: Phân tích và thiết kế
Trình bày tài liệu phân tích thiết kế: các sơ đồ usecase, kịch bản các ca sử dụng, sơ
đồ tuần tự cho các kịch bản, sơ đồ lớp thực thể, thiết kế giao diện
Trang 7Chương 3: Search Platform Apache Solr
Trình bày tổng quan về Search Platform Apache Solr, quá trình đánh chỉ mục, sự khác nhau khi tìm kiếm bằng solr với tìm kiếm sử dụng truy vấn cơ sở dữ liệu
Chương 4: Phát triển và cài đặt thử nghiệm
Trình bày các công nghệ sử dụng, môi trường cài đặt và các bước thực hiện cài đặt thử nghiệm
Trang 8CHƯƠNG 1: KHẢO SÁT VÀ XÂY DỰNG BÀI TOÁN Chương này trình bày hiện trạng kinh doanh của các nhà sách hiện nay từ đó đưa ra yêu cầu để xây dựng hệ thống
1.1 Hiện trạng kinh doanh của nhà sách
Xã hội ngày càng phát triển, nhu cầu hiểu biết trên tất cả các lĩnh vực của con người ngày càng được nâng cao Đáp ứng yêu cầu này, ở Việt Nam nhiều nhà sách đã xuất hiện, nhưng đa số các cửa hàng bán sách hiện nay đều tổ chức kinh doanh theo phương pháp truyền thống gồm các quy trình cơ bản sau:
Nhập sách từ các nhà cung cấp: lập đơn đặt mua, gửi đơn đặt mua, nhận sách
từ nhà cung cấp, lưu sách vào kho, thanh toán, quảng cáo và trưng bày sách mới…
Bán sách: trưng bày sách lên các giá sách theo từng thể loại
Quy trình mua bán cần có nhân viên trực tiếp làm việc với khách hàng tại quầy than toán
Thanh toán theo phương thức truyền thống
Phương thức kinh doanh này đã trực tiếp dẫn đến khó khăn sau:
Cửa hàng phải tốn diện tích lớn cho việc trưng bày sách
Khi khách hàng có nhu cầu mua sách thì thường họ phải mất nhiều thời gian
để tìm kiếm sách
Khi một cuốn sách mới được xuất bản thì thời gian nó mà sẽ đến được với bạn đọc thường khá lâu và phải qua các phương tiện quảng cáo đắt tiền như tivi, báo chí…
Khó khăn trong việc tiếp thị, giới thiệu các đầu sách mà khách hàng quan tâm
Rất khó để khách hàng biết được nội dung cơ bản của cuốn sách
Những khó khăn trên đó trực tiếp làm giảm đáng kể doanh thu của nhà sách Đặt ra cho các nhà sách cần phải có một cách tiếp cận, thu hút mới nhằm đem lại hiệu quả hơn Giải pháp áp dụng công nghệ thông tin vào kinh doanh và trong quản lý đang là một xu thế tất yếu hiện nay
Một hệ thống quản lý bán sách trên mạng sẽ giúp giải quyết được các khó khăn trên
và điều quan trọng hơn là đáp ứng được nhu cầu của đông đảo khách hàng có nhu cầu tra cứu sách, và đây cũng chính là phương tiện quảng cáo sách cho cửa hàng tốt nhất,
rẻ nhất và hiệu quả nhất Điều này cũng đồng nghĩa với việc doanh thu của cửa hàng
sẽ tăng lên
Trang 91.2 Yêu cầu khi xây dựng hệ thống
Hệ thống phải đáp ứng các yêu cầu chức năng sau:
Chức năng xem chi tiết sản phẩm: bao gồm việc giới thiệu thông tin chi tiết về sản phẩm (tên sản phẩm, số lượng, giá bán, )
Chức năng gợi ý sản phẩm: hiển thị các đầu sách liên quan tới sản phẩm
mà khác hàng xem chi tiết
Chức năng đánh giá sản phẩm: cho phép khách hàng đánh giá số sao cho từng sản phẩm
Chức năng tìm kiếm: Công cụ tra cứu nhanh, giúp khách hàng giảm thời gian tìm kiếm
Chức năng tìm kiếm nâng cao: cho phép khách hàng nhập một đoạn mô tả, tiêu đề của cuốn sách
Chức năng giỏ hàng: Cho phép khách hàng có thể cùng lúc đặt mua nhiều sản phẩm với các số lượng khác nhau Hệ thống sẽ tự động tính toán giá trị giỏ hàng và bổ sung các thông tin khuyến mãi kèm theo các sản phẩm đặt mua
Chức năng tạo đơn đặt hàng: Quá trình đặt hàng thông qua giỏ hàng cho phép thu thập đầy đủ các thông tin của khách hàng kèm theo các thông tin thanh toán Các thông tin này trợ giúp bộ phận bán hàng trong quá trình quản trị và xử lý đơn hàng Quá trình tạo đơn hàng yêu cầu khách hàng phải có tài khoản trên hệ thống
Chức năng quản lý đơn hàng: Khách hàng thể xem lại các đơn hàng đã đặt, hủy bỏ các đơn hàng chưa được xử lý Nhân viên xem danh sách các đơn hàng đã đặt, thực hiện việc xử lý hoặc hủy bỏ đơn hàng
Chức năng tích điểm: Với mỗi đơn hàng thành công, số điểm sẽ được quy đổi ra tiền và áp dụng cho các đơn hàng sau đó
Chức năng quản lý khách hàng: Quản lý các thông tin giao dịch của khách hàng: thông tin khách hàng, đơn hàng, số lượng mặt hàng khách hàng đã mua Từ đó tổ chức khách hàng theo nhóm
Chức năng thống kê: Tiện ích cho phép theo dõi hoạt động của website, thống kê báo cáo số lượng đơn hàng theo thời gian, thống kế số lượng sách bán ra theo thời gian
Chức năng quản lý sách: Cho phép nhân viên thêm, sửa xóa thông tin sách
Quản lý khuyển mãi: Cho phép nhân viên thêm, sửa, xóa các chương trình khuyến mãi, áp dụng khuyến mãi cho từng sản phẩm
Trang 10CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ
Chương này trình bày tài liệu phân tích yêu cầu, tài liệu thiết kế hệ thống, các kịch bản, sơ đồ tuần tự, sơ đồ quan hệ các lớp thực thể, sơ đồ thiết kế cơ sở dữ liệu, thiết kế giao diện
2.1 Phân tích yêu cầu
2.1.1 Phân tích yêu cầu hệ thống
a Yêu cầu của khách hàng
Giao diện dễ sử dụng và có tính thẩm mỹ cao
Cho phép khách hàng đăng ký thành viên và đảm bảo bí mật thông tin
Xem và thay đổi các thông tin cá nhân và thông tin về tài khoản
Hình thức thanh toán phải đảm bảo chính xác
Cho phép sử dụng tiền thưởng từ các đơn hàng thành công
Thông tin sản phẩm chi tiết, dầy đủ
Luôn cập nhật, giới thiệu những sản phẩm mới
Cho phép khách hàng tìm kiếm sản phẩm nhanh chóng, chính xác theo nhiều tiêu chí
Cho phép xem danh sách các đơn hàng đã đặt, hủy bỏ các đơn hàng chưa được xử lý
Cho phép khách hàng đánh giá cho từng sản phẩm
b Yêu cầu của nhân viên
Quản lý sách: Tìm kiếm sách, thêm, sửa, xóa thông tin sách và danh mục
Quản lý khách hàng: Tạo nhóm khách hàng, chia nhóm khách hàng
Quản lý đơn hàng: Xử lý đơn đặt hàng, xem đơn hàng đã hủy hoặc đã được
xử lý
Quản lý khuyến mãi: Thêm, sửa, xóa, áp dụng khuyến mãi cho từng sản phẩm
c Yêu cầu của người quản lý
Ngoài các yêu cầu giống như của nhân viên, thì hệ thống phải đảm bảo những yêu cầu sau của người quản lý:
Quản lý nhân viên:Thêm nhân viên, sửa thông tin nhân viên, xóa nhân viên, tìm kiếm nhân viên
Phân quyền nhân viên
Trang 11 Xem thống kê hoạt động của hệ thống
Xem thống kê số lượng đơn hàng, sản phẩm theo thời gian
2.1.2 Xác định và mô tả các tác nhân
Một tác nhân (actor) là một người hay một đối tượng giữ vai trò nào đó trong nghiệp vụ như một bộ phận hay một hệ phần mềm riêng biệt
Từ yêu cầu hệ thống ta có các tác nhân liên quan như sau:
Khách Hàng: Đăng ký thành viên, đăng nhập, tìm kiếm sản phẩm, đặt hàng, mua hàng, thanh toán đơn hàng, tìm kiếm nâng cao (tìm theo tác giả, danh mục, nhà xuất bản…), xem đơn đặt hàng, đánh giá sản phẩm
Nhân Viên: Quản lý sách, quản lý khách hàng, quản lý đơn hàng, quản lý khuyến mãi…
Quản trị viên: Quản lý nhân viên (thêm, sửa, xóa, phân quyền), xem thống
kê (số lượng sách bán ra, số lượng đơn hàng)
2.1.3 Xây dựng bảng thuật ngữ
STT Tiếng Việt Tiếng Anh Giải thích nội dung
1 Khách hàng Customer Người truy cập hệ thống
với mục đích tìm kiếm hoặc mua sách
người có quyền hạn cao hơn nhân viên
Trang 128 Thông tin giao
Payment Thông tin về hình thức
thanh toán cho đơn hàng
Bảng 2-1: Bảng thuật ngữ
2.1.4 Sơ đồ Usecase
a Sơ đồ Usecase tổng quan
Hình 2-1: Sơ đồ Usecase tổng quan
Trang 13b Sơ đồ Usecase phía khách hàng
Hình 2-2: Sơ đồ Usecase phía khách hàng
Trang 14c Sơ đồ Usecase phía Nhân viên
Hình 2-3: Sơ đồ Usecase phía Nhân viên
d Sơ đồ Usecase phía Quản lý
Hình 2-4: Sơ đồ Usecase phía Quản lý
Trang 152.1.5 Kịch bản các ca sử dụng
a Scenario Khách hàng
Scenario Khách hàng đăng ký tài khoản
Tên ca sử dụng Đăng ký tài khoản
Tác nhân chính Khách hàng
Tiền điều kiện Truy cập vào hệ thống
Đảm bảo tối thiểu Cho phép đăng ký lại
Hậu điều kiện Đăng ký thành công
Chuỗi sự kiện chính
1 Khách hàng truy cập vào hệ thống và chọn nút “Sign Up”
2 Hệ thống hiển thị trang đăng ký với các ô nhập:
Username
First Name – Tên
Last Name – Tên đệm
3 Khách hàng nhập đầy đủ thông tin và click vào nút “Send”
4 Hệ thống thông báo đăng ký thành công và chuyển tới trang đăng nhập Ngoại lệ
4.1 Hệ thống thông báo đăng ký lỗi
4.1.1 Khách hàng nhập lại thông tin đăng ký và click nút đăng ký
4.1.2 Hệ thống thông báo đăng ký thành công
Bảng 2-2: Scenario Khách hàng đăng ký tài khoản
Scenario Khách hàng tìm kiếm sách
Tên ca sử dụng Tìm kiếm sách
Tác nhân chính Khách hàng
Tiền điều kiện Truy cập vào hệ thống
Đảm bảo tối thiểu Thông báo lỗi tìm kiếm
Hậu điều kiện Danh sách kết quả tìm kiếm
Trang 16Chuỗi sự kiện chính
1 Khách nhập thông tin cần tìm kiếm vào ô tìm kiếm trên giao diện
2 Hệ thống gợi ý các cuốn sách liên quan tới thông tin khách hàng nhập vào
3 Khách hàng chọn sách theo gợi ý hoặc nhập thông từ khóa cần tìm và nhấn tìm kiếm
4 Hệ thống hiển thị danh sách các kết quả tìm kiếm
Ngoại lệ
4.1 Không có kết quả tìm kiếm
4.1.1 Hệ thống hiển thị thông báo không có kết quả tìm kiếm
Bảng 2-3: Scenario Khách hàng tìm kiếm sách
Scenario Khách hàng xem sách
Tên ca sử dụng Xem sách
Tác nhân chính Khách hàng
Tiền điều kiện Truy nhập vào hệ thống
Hậu điều kiện Xem được thông tin sách
Chuỗi sự kiện chính
1 Người dùng chọn vào cuốn sách từ các trang trên hệ thống
2 Hệ thống hiển thị thông tin chi tiết của cuốn sách đó với các thông tin:
ScenarioKhách hàng tạo giỏ hàng 1
Tên ca sử dụng Tạo giỏ giỏ hàng 1
Tác nhân chính Khách hàng
Tiền điều kiện Truy cập và hệ thống
Trang 17Đảm bảo tối thiểu Cho phép tạo lại giỏ hàng
Hậu điều kiện Tạo giỏ hàng thành công
Chuỗi sự kiện chính
1 Khách hàng truy cập vào hệ thống
2 Hệ thống hiển thị giao diện chính
3 Khách hàng nhấn vào nút “add to cart” trên thông tin của từng cuốn sách
4 Hệ thống thêm sách khách hàng đã chọn vào giỏ hàng và hiển thị thông tin giỏ hàng gồm các cột:
Bảng 2-5: Scenario Khách hàng tạo giỏ hàng 1
ScenarioKhách hàngtạo giỏ hàng 2
Tên ca sử dụng Tạo giỏ hàng 2
Tác nhân chính Khách hàng
Tiền điều kiện Khách hàng xem chi tiết sản phẩm
Đảm bảo tối thiểu Cho phép tạo lại giỏ hàng
Hậu điều kiện Tạo giỏ hàng thành công
Chuỗi sự kiện chính
1 Khách hàng truy nhập trang chi tiết sản phẩm
2 Hệ thống hiển thị giao diện chi tiết sản phẩm với các thông tin về cuốn sách, ô nhập số lượng sản phẩm và nút “add to cart” Số lượng sản phẩm ban đầu là 1
3 Khách hàng nhập số lượng sản phẩm cần thêm vào giỏ hàng và nhấn nút
Trang 184.1.3 Hệ thống hiển thị giao diện giỏ hàng
Bảng 2-6: Scenario Khách hàng tạo giỏ hàng 2
Scenario Khách hàng xóa sản phẩmtrong giỏ hàng
Tên ca sử dụng Xóa sản phẩm trong giỏi hàng
Tác nhân chính Khách hàng
Tiền điều kiện Đã tạo giỏ hàng
Đảm bảo tối thiểu Cho phép tạo lại giỏ hàng
Hậu điều kiện Xóa bỏ cuốn sách trong giỏ hàng thành công
Chuỗi sự kiện chính
1 Khách hàng truy cập vào trang chi tiết giỏ hàng
2 Hệ thống hiển thị chi tiết giỏ hàng
3 Khách hàng click vào nút “Remove” của sản phẩm của cuốn sách cần xóa
4 Hệ thống tự động loại bỏ cuốn sách đó ra khỏi giỏ hàng
Bảng 2-7:Scenario Khách hàng xóa giỏ hàng
Scenario Khách hàng tạo đơn đặt hàng
Tên ca sử dụng Tạo đơn hàng
Tác nhân chính Khách hàng
Tiền điều kiện Đã đăng nhập vào hệ thống
Đảm bảo tối thiểu Cho phép tạo lại đơn hàng
Hậu điều kiện Xem chi tiết đơn hàng
Chuỗi sự kiện chính
Trang 191 Khách hàng truy cập vào hệ thống và click chọn giỏ hàng
2 Hệ thống hiển thị sản phẩm đã có trong giỏ hàng
3 Khách hàng nhấn vào nút next phía dưới danh sách các sản phẩm
4 Hệ thống hiển thị thông tin giao hàng dựa theo địa chỉ khách hàng đã đăng
ký gồm các ô cho phép sửa:
First Name - Tên
Last Name – Tên đệm
5 Khách hàng sửa lại thông tin giao hàng và nhấn nút “Next”
6 Hệ thống hiển thị giao diện thanh toán với 2 lựa chọn:
- Sử dụng BCoin cho đơn hàng, số BCoin khách hàng hiện có và nút
8 Hệ thống hiển thị chi tiết đơn hàng của khách hàng
9 Khách hàng nhấn nút “Create Order” để tạo đơn hàng
10 Hệ thống thông báo tạo đơn hàng thành công và trở về trang chủ
Ngoại lệ
4.1 Khách hàng chưa có thông tin giao hàng
4.1.1 Hệ thống hiển thị các ô trống để khách hàng nhập thông tin giao hàng
4.1.2 Khách hàng nhập thông tin giao hàng và nhấn nút “next”
8.1 Hệ thống thông báo lỗi do nhập số lượng BCoin không hợp lệ
8.1.1 Hệ thống quay trở lại giao diện thanh toán
Bảng 2-8: Scenario Khách hàng tạo đơn đặt hàng
Scenario Khách hàng hủy bỏ đơn đặt hàng
Tên ca sử dụng Hủy bỏ đơn hàng
Tác nhân chính Khách hàng
Trang 20Tiền điều kiện Đã đăng nhập vào hệ thống
Đảm bảo tối thiểu Cho phép xem danh sách đơn hàng
Hậu điều kiện Hủy đơn hàng thành công
3 Khách hàng nhấn vào nút “Cancel Order” cho đơn hàng muốn hủy bỏ
4 Hệ thống hiển thị xác nhận hủy bỏ đơn hàng
5 Khách hàng nhấn vào nút “Ok” để xác nhận hủy bỏ
6 Hệ thống trở về giao diện “Quản lý đơn hàng”
Ngoại lệ
5.1 Khách hàng không xác nhận hủy bỏ
5.1.1 Hệ thống hiển thị thông tin chi tiết đơn hàng
Bảng 2-9: Scenario Khách hàng hủy bỏ đơn đặt hàng
b Scenario Nhân viên
Scenario Nhân viên nhập sách
Tên ca sử dụng Nhập sách
Tác nhân chính Nhân viên
Tiền điều kiện Đã đăng nhập vào hệ thống
Đảm bảo tối thiểu Không thay đổi dữ liệu nếu xảy ra lỗi
Hậu điều kiện Nhập sách thành công
Trang 213.1 Nhân viên nhập thông tin sách không hợp lệ
3.1.1 Hệ thống thông báo thông tin nhập vào không hợp lệ và trở về giao diện nhập sách
4.1 Hệ thống thông báo thêm sách không thành công và trở về giao diện nhập sách
Bảng 2-10: Scenario Nhân viên nhập sách
Scenario Nhân viên sửa thông tin sách
Tên ca sử dụng Sửa thông tin sách
Tác nhân chính Nhân viên
Tiền điều kiện Đã đăng nhập vào hệ thống
Đảm bảo tối thiểu Không thay đổi dữ liệu nếu xảy ra lỗi
Hậu điều kiện Cập nhật thông tin sách thành công
Chuỗi sự kiện chính
1 Nhân viên chọn chức năng sửa thông tin sách trong mục quản lý sách từ giao diện chính
2 Hệ thống hiển thị giao diện tìm kiếm sách với ô nhập dữ liệu cần tìm
3 Nhân viên nhập thông tin sách cần sửa vào ô tìm kiếm và chọn nút tìm kiếm
4 Hệ thống hiển thị kết quả tìm kiếm và nút sửa thông tin sách cho từng cuốn sách
5 Nhân viên chọn “sửa thông tin sách”
6 Hệ thống hiển thị giao diên sửa thông tin sách gồm các thông tin
Trang 227 Nhân viên cập nhật thông tin mới cho cuốn sách và nhấn nút “Cập nhật”
8 Hệ thống thông báo cập nhật thông tin sách thành công và trở về giao diện quản lý chính
Ngoại lệ
4.1 Không có kết quả tìm kiếm
4.1.1 Hệ thống thông báo không có kết quả tìm kiếm và trở lại giao diện tìm kiếm sách
8.1 Nhân viên cập nhập thông tin sách không hợp lệ
8.1.1 Hệ thống thông báo thông tin nhập vào không hợp lệ và trở về giao diện sửa sách
Bảng 2-11: Scenario Nhân viên sửa thông tin sách
Scenario Nhân viên thêm khuyến mãi
Tên ca sử dụng Thêm khuyến mãi
Tác nhân chính Nhân viên
Tiền điều kiện Đã đăng nhập vào hệ thống
Đảm bảo tối thiểu Không thay đổi dữ liệu nếu xảy ra lỗi
Hậu điều kiện Thêm khuyến mãi thành công
Trang 233 Nhân viên nhập thông tin chương trình khuyến mãi và nhấn nút “Lưu”
4 Hệ thống thông báo lưu khuyến mãi thành công và trở về giao diện thêm khuyến mãi
Ngoại lệ
4.1 Nhân viên nhập thông tin khuyến mãi không hợp lệ
4.1.1 Hệ thống thông báo Khuyến mãi không hợp lệ và trở về giao diện thêm khuyến mãi
Bảng 2-12: Scenario Nhân viên thêm khuyến mãi
Scenario Nhân viên sửa khuyến mãi
Tên ca sử dụng Sửa khuyến mãi
Tác nhân chính Nhân viên
Tiền điều kiện Đã đăng nhập vào hệ thống
Đảm bảo tối thiểu Không thay đổi dữ liệu nếu gặp lỗi
Hậu điều kiện Sửa thông khuyến mãi thành công
Chuỗi sự kiện chính
1 Nhân viên chọn chức năng quản lý khuyến mãi trong giao diện chính
2 Hệ thống hiển thị giao diện với danh sách các chương trình khuyến mãi gồm các thông tin:
3 Nhân viên chọn nút “Sửa” cho chương trình khuyến mãi muốn sửa
4 Hệ thống hiển thị giao diện sửa khuyến mãi gồm các trường trên và cho phép sửa, nút “Cập nhật” để lưu lại
5 Nhân viên sửa thông tin chương trình khuyến mãi và nhấn nút “Cập nhật”
6 Hệ thống lưu chương trình khuyến mãi và trở về giao diện quản lý chính Ngoại lệ
5.1 Nhân viên sửa thông tin khuyến mãi không hợp lệ
5.1.1 Hệ thống thông báo “Khuyến mãi không hợp lệ” và trở về giao diện quản lý chính
Trang 24 ScenarioNhân viên áp dụng khuyến mãi
Tên ca sử dụng Áp dụng khuyến mãi
Tác nhân chính Nhân viên
Tiền điều kiện Nhân viên dã đăng nhập vào hệ thống
Đảm bảo tối thiểu Không thay đổi dữ liệu nếu có lỗi
Hậu điều kiện Áp dụng khuyến mãi thành công
Chuỗi sự kiện chính
1 Nhân viên chọn chức năng áp dụng khuyến mãi trong giao diện chính
2 Hệ thống hiển thị giao diện áp dụng khuyến mãi với danh mục các chương trình khuyến mãi,ô tìm kiếm sách và nút “Search”
3 Nhân viên chọn chương trình khuyến mãi, nhập tiêu đề sách cần áp dụng
4.1 Không có kết quả tìm kiếm
4.1.1 Hệ thống thông báo không có kết quả tìm kiếm
Bảng 2-14: Scenario Nhân viên áp dụng khuyến mãi
Scenario Nhân viên xử lý đơn hàng
Tên ca sử dụng xử lý đơn hàng
Tác nhân chính Nhân viên
Tiền điều kiện Đã đăng nhập vào hệ thống
Đảm bảo tối thiểu Hiển thị danh sách các đơn hàng
Hậu điều kiện Xử lý thành công đơn hàng
Chuỗi sự kiện chính
1 Nhân viên chọn chức năng xử lý đơn hàng từ giao diện sau khi đăng nhập
2 Hệ thống tìm kiếm và hiển thị danh sách các đơn hàng đang chờ xử lý gồm
Trang 253 Nhân viên click “Xem đơn hàng” vào đơn hàng cần xử lý
4 Hệ thống hiển thị chi tiết đơn hàng và nút “Đã xử lý”, “Hủy đơn hàng”
5 Nhân viên click “Đã xử lý” cho đon hàng
6 Hệ thống thực hiện tính điểm BCoin cho khách hàng, chuyển trạng thái đơn hàng sang đã xử lý, hiển thị thông báo xử lý thành công và trở về giao diện danh sách các đơn hàng chờ xử lý
Ngoại lệ
2.1 Không có đơn hàng nào đang chờ xử lý
2.1.1 Hệ thống hiển thị thông báo “Không có đơn hàng nào cần xử lý”
Bảng 2-15: Scenario Nhân viên xử lý đơn hàng
Scenario Nhân viêntạo loại khách hàng
Tên ca sử dụng Tạo loại khách hàng
Tác nhân chính Nhân viên
Tiền điều kiện Nhân viên đã đăng nhập vào hệ thống
Đảm bảo tối thiểu Không thay đổi dữ liệu nếu xảy ra lỗi
Hậu điều kiện Tạo loại khách hàng thành công
3 Nhân viên nhập thông tin nhóm khách hàng vào các ô và nhấn nút “Lưu”
4 Hệ thống hiển thị thông báo tạo nhóm khách hàng thành công và trở về giao diện thêm loại khách hàng
Trang 26Ngoại lệ
4.1 Hệ thống thông báo lỗi và trở về giao diện thêm loại khách hàng
Bảng 2-16: Scenario Nhân viên tạo loại khách hàng
c Scenario Quản lý
Scenario Quản lý xem thống kê
Tên ca sử dụng Xem thống kê
Tác nhân chính Quản lý
Tiền điều kiện Đã đăng nhập vào hệ thống
Đảm bảo tối thiểu Không thay đổi dữ liệu khi xảy ra lỗi
Hậu điều kiện Hiển thị thống kê
Chuỗi sự kiện chính
1 Quản lý đăng nhập vào hệ thống
2 Hệ thống hiển thị giao diện xem thống kê đơn hàng gồm:
Ô nhập ngày bắt đầu
Ô nhập ngày kết thúc
Nút “Xem”
3 Quản lý nhập ngày tháng cần xem thống kê và nhấn nút xem
4 Hệ thống hiển thị biểu đồ thống kê tổng số đơn hàng, số lượng sách bán ra trong khoảng thời gian đã chọn
Ngoại lệ
3.1 Quản lý nhập vào ngày tháng không hợp lệ
3.1.1 Hệ thống hiển thị thông báo ngày tháng không hợp lệ
Bảng 2-17: Scenario Quản lý xem thống kê
2.1.6 Xây dựng biểu đồ lớp phân tích
a Xác định các lớp
Để xác định các lớp ứng viên ta dựa vào các gợi ý sau:
Lớp ứng viên thường là các danh từđược trích a từ các kịch bản
Là các tác nhân (Actor)
Biên (Boundaries)
Các danh từ là ứng viên cho các lớp thực thể thu được từ kịch bản là:
Trang 27Customer (Khách hàng), Employee (Nhân viên), Admin (Quản lý), Account (Tài khoản), Address (Địa chỉ), CustomerType (Loại khách hàng), Books (Sách), Category (Danh mục), Sale (Khuyến mãi), Order (Đơn hàng), ShippingInfor (Thông tin giao hàng), Cart (Giỏ hàng), Bill (Hóa đơn)
b Sơ đồ lớp thực thể pha phân tích
Hình 2-5: Sơ đồ lớp thực thể pha phân tích
Trang 282.2 Thiết kế hệ thống
2.2.1 Xây dựng sơ đồ tuần tự các ca sử dụng
a Sơ đồ tuần tự phía Khách hàng
Sơ đồ tuần tự Khách hàng đăng ký tài khoản
Hình 2-6: Scenario khách hàng đăng ký tài khoản
Sơ đồ tuần tự Khách hàng tìm kiếm sách
Hình 2-7: Scenariokhách hàng tìm kiếm sách
Trang 29 Sơ đồ tuần tự Khách hàng xem sách
Hình 2-8: Scenario khách hàng xem sách
Sơ đồ tuần tự Khách hàng tạo giỏ hàng
Hình 2-9: Scenario khách hàng tạo giỏ hàng
Trang 30 Sơ đồ tuần tự Khách hàng xóa sản phẩm trong giỏ hàng
Hình 2-10: Scenario khách hàng xóa sản phẩm trong giỏ hàng
Trang 31 Sơ đồ tuần tự Khách hàng tạo đơn hàng
Hình 2-11: Scenario khác
h hàng tạo đơn hàng
Trang 32 Sơ đồ tuần tự Khách hàng hủy đơn đặt hàng
Hình 2-12: Scenario khác
h hàng tạo đơn hàng (tiếp)
Trang 33Hình 2-13: Scenario khách hàng hủy bỏ đơn hàng
b Sơ đồ tuần tự phía Nhân viên
Sơ đồ tuần tự Nhân viên nhập sách
Hình 2-14: Scenario nhân viên nhập sách
Trang 34 Sơ đồ tuần tự Nhân viên sửa thông tin sách
Hình 2-15: Scenario nhân viên sửa thông tin sách
Sơ đồ tuần tự Nhân viên thêm khuyến mãi
Hình 2-16: Scenario nhân viên thêm khuyến mãi
Trang 35 Sơ đồ tuần tự Nhân viên sửa khuyến mãi
Hình 2-17: Scenario nhân viên sửa khuyến mãi
Trang 36 Sơ đồ tuần tự Nhân viên áp dụng khuyến mãi
Hình 2-18: Scenario nhân viên áp dụng khuyến mãi
Sơ đồ tuần tự Nhân viên xử lý đơn hàng
Hình 2-19: Scenario nhân viên xử lý đơn hàng
Trang 37 Sơ đồ tuần tự Nhân viên tạo loại khách hàng
Hình 2-20: Scenario nhân viên tạo loại khách hàng
c Sơ đồ tuần tự phía Quản lý
Sơ đồ tuần tự Quản lý xem thống kê
Hình 2-21: Scenario quản lý xem thống kê