Người quản lý có quyền cao nhất với có chức năng cấu hìnhwebsite cùng với các chức năng quản lý website như: Quản lý sản phẩm,Quản lý nhà cung cấp, Quản lý danh mục sản phẩm, Quản lý thà
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
KHOA CÔNG NGHỆ THÔNG TIN
-*** -PHAN THỊ THÙY DUNG
ÁP DỤNG GIẢI THUẬT K-MEAN XÂY DỰNG WEBSITE BÁN HÀNG THỜI TRANG VIẾT CHƯƠNG TRÌNH MINH
HỌA
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Tin học Người hướng dẫn khoa học
ThS NGUYỄN MINH HIỀN
Hà Nội, 2014
Trang 2LỜI CẢM ƠN
Lời đầu tiên, em xin chân thành cảm ơn ThS Nguyễn Minh Hiền
giảng viên khoa Công nghệ Thông tin trường Đại học sư phạm Hà Nội 2 đãtrực tiếp hướng dẫn và chỉ bảo tận tình cho em hoàn thành khóa luận này
Em cũng xin gửi lời cảm ơn tới các thầy, cô giáo trong khoa Công nghệThông tin, trường Đại học sư phạm Hà Nội 2, những người đã giúp đỡ, tạođiều kiện cho em trong suốt quá trình học tập và nghiên cứu
Trong quá trình thực hiện, do còn nhiều hạn chế về trình độ cũng như thờigian thực hiện nên đề tài sẽ không tránh được nhiều sai sót Em rất mongđược sự chỉ bảo góp ý của thầy cô và các bạn
Cuối cùng, em xin bày tỏ lòng biết ơn tới gia đình và bạn bè đãgiúp đỡ, động viên em rất nhiều trong suốt quá trình học tập để em có thểthực hiện tốt khóa luận này
Hà Nội, ngày 6 tháng 5 năm 2014
Sinh viên
PHAN THỊ THÙY DUNG
Trang 3LỜI CAM ĐOAN
Tên em là : PHAN THỊ THÙY DUNG
Sinh viên lớp : K36 – Tin học, khoa Công nghệ Thông tin, trường Đạihọc sư phạm Hà Nội 2
Em xin cam đoan:
1 Đề tài “Áp dụng giải thuật K-mean xây dựng website bán hàng thờitrang Viết chương trình minh họa” là sự nghiên cứu của riêng em dưới sựhướng dẫn của cô giáo ThS Nguyễn Minh Hiền
2 Khóa luận hoàn toàn không sao chép của tác giả nào khác
Nếu sai em xin hoàn toàn chịu trách nhiệm
Hà Nội, ngày 6 tháng 5 năm 2014
Người cam đoan
PHAN THỊ THÙY DUNG
Trang 5MỤC LỤC
PHẦN MỞ ĐẦU 8
CHƯƠNG 1: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 12
1.1 Giới thiệu hệ thống 12
1.2 Xác định các chức năng chính của hệ thống 14
1.3 Xác định các tác nhân tác động đến hệ thống 15
1.4 Xác định các Use case, các gói Use case và vẽ biểu đồ Use case tổng quát ………15
1.4.1 Xác định các Use case 15
1.4.2 Xác định các gói Use case 16
1.4.3 Use case tổng quát 17
1.5 Gói Use case đăng ký, đăng nhập 17
1.5.1 Use case Đăng ký 17
1.5.2 Use case Đăng Nhập 20
1.6 Gói Use case quản lý danh mục sản phẩm 23
1.6.1 Biểu đồ Use case 23
1.6.2 Đặc tả Use case 23
1.6.3 Biểu đồ tuần tự và biểu đồ cộng tác 25
1.6.4 Biểu đồ hoạt động 25
1.6.5 Biểu đồ lớp tham gia ca sử dụng 26
1.7 Gói Use case quản lý danh mục nhóm sản phẩm 26
1.8 Gói Use case quản lý thành viên 26
1.9 Gói Use case mua hàng 26
1.9.1 Biểu đồ Use case 26
1.9.2 Đặc tả Use case 27
1.9.3 Biểu đồ tuần tự và biểu đồ cộng tác 30
1.9.4 Biểu đồ hoạt động 31
1.9.5 Biểu đồ lớp tham gia ca sử dụng 32
Trang 61.10.1 Biểu đồ Use case 32
1.10.2 Đặc tả Use case 32
1.10.3 Biểu đồ tuần tự và biểu đồ cộng tác 33
1.10.4 Biểu đồ hoạt động 34
1.10.5 Biểu đồ lớp tham gia ca sử dụng 34
1.11 Biểu đồ lớp chi tiết 35
1.12 Biểu đồ thành phần, biểu đồ triển khai 36
1.12.1 Biểu đồ thành phần 36
1.12.2 Biểu đồ triển khai 36
CHƯƠNG 2: THIẾT KẾ CƠ SỞ DỮ LIỆU VÀ MODUL 37
2.1 Xây dựng cơ sở dữ liệu trên hệ quản trị MySQL 37
2.1.1 Giới thiệu về hệ quản trị cơ sở dữ liệu MySQL 37
2.1.2 Thiết kế cơ sở dữ liệu 38
2.2 Thiết kế Module và cài đặt Website 43
2.2.1 Giới thiệu về ngôn ngữ PHP 43
2.2.2 Một số module đã thiết kế 50
2.2.3 Cài đặt website 56
CHƯƠNG 3: BÀI TOÁN THỰC TẾ ÁP DỤNG THUẬT TOÁN K - MEAN 58
3.1 Kỹ thuật phân cụm trong khai phá dữ liệu 58
3.2 Một số phương pháp phân cụm điển hình 59
3.2.1 Phân cụm phân hoạch 59
3.2.2 Thuật toán K-mean 60
3.3 Ưu điểm, Nhược điểm của thuật toán K-mean 71
3.3.1 Ưu điểm 71
3.3.2 Nhược điểm 71
KẾT LUẬN CHUNG 73
Trang 7DANH MỤC CÁC HÌNH
Hình 1: Gói các Use case 16
Hình 2:Use case tổng quát 17
Hình 3: Biểu đồ use case đăng ký 17
Hình 4: Biểu đồ tuần tự cho use case đăng ký 18
Hình 5: Biểu đồ cộng tác cho use case đăng ký 19
Hình 6: Biểu đồ hoạt động cho use case đăng ký 19
Hình 7: Biểu đồ lớp tham gia ca sử dụng đăng ký 19
Hình 8: Biểu đồ Use case đăng nhập 20
Hình 9: Biểu đồ tuần tự cho Use case đăng nhập 21
Hình 10: Biểu đồ cộng tác cho Use case đăng nhập 21
Hình 11: Biểu đồ hoạt động cho Use case đăng nhập 22
Hình 12: Biểu đồ lớp tham gia ca sử dụng đăng nhập 22
Hình 13: Biểu đồ Use case của gói Use case quản lý danh mục sản phẩm 23
Hình 14: Biểu đồ tuần tự của Use case quản lý danh mục sản phẩm 25
Hình 15: Biểu đồ cộng tác của Use case quản lý danh mục sản phẩm 25
Hình 16: Biểu đồ hoạt động của Use case quản lý danh mục sản phẩm 25
Hình 17: Biểu đồ lớp tham gia ca sử dụng quản lý danh mục sản phẩm 26
Hình 18: Biểu đồ Use case của gói Use case mua hàng 26
Hình 19: Biểu đồ tuần tự của Use case mua hàng 30
Hình 20: Biểu đồ cộng tác của Use case mua hàng 31
Hình 21: Biểu đồ hoạt động của Use case mua hàng 31
Hình 22: Biểu đồ lớp tham gia ca sử dụng mua hàng 32
Hình 23: Biểu đồ Use case của gói Use case quản lý thông tin cá nhân 32
Hình 24: Biểu đồ tuần tự của Use case sửa thông tin cá nhân 33
Hình 25: Biểu đồ cộng tác của Use case sửa thông tin cá nhân 34
Hình 26: Biểu đồ hoạt động của Use case sửa thông tin cá nhân 34
Trang 8Hình 28: Biểu đồ lớp chi tiết 35
Hình 29: Biểu đồ thành phần 36
Hình 30: Biểu đồ triển khai 36
Hình 31: Màn hình đăng nhập trang quản trị 50
Hình 32: Giao diện trang quản trị 51
Hình 33: Giao diện trang chủ 52
Hình 34: Giao diện trang chi tiết sản phẩm 53
Hình 35: Giao diện giỏ hàng 54
Hình 36: Sản phẩm tìm kiếm theo thuật toán K - mean 55
Hình 37: Sơ đồ thuật toán K-mean 60
Hình 38: Kết quả khi tìm kiếm theo K-mean 70
Hình 39: Kết quả khi tìm kiếm thông thường 70
DANH MỤC CÁC BẢNG Bảng 1: Mô tả chi tiết bảng THANHVIEN 38
Bảng 2: Mô tả chi tiết bảng SANPHAM 39
Bảng 3: Mô tả chi tiết bảng NHOMSANPHAM 39
Bảng 4: Mô tả chi tiết bảng CHITIETHOADON 40
Bảng 5: Mô tả chi tiết bảng HOADON 40
Bảng 6: Mô tả chi tiết bảng TINTUC 41
Bảng 7: Mô tả chi tiết bảng K-MEAN 41
Bảng 8: Mô tả chi tiết bảng THENGANHANG 42
Bảng 9: Mô tả chi tiết bảng HOIDAP 42
Bảng 10: Cấu hình hệ thống yêu cầu tối thiểu 56
Bảng 11: Cấu hình đề nghị 56
Bảng 12: Ví dụ về sản phẩm 61
Bảng 13: Bảng giá sau khi ánh xạ 62
Trang 9Bảng 15: Bảng chất liệu sau khi ánh xạ 62
Bảng 16: Bảng sản phẩm sau khi ánh xạ 63
Bảng 17: Bảng kết quả phân nhóm 65
Bảng 18: Bảng kết quả phân nhóm sau khi ánh xạ 65
Bảng 19: Bảng sản phẩm trong cơ sở dữ liệu web 66
Bảng 20: Bảng sản phẩm sau khi loại bỏ cột mã sản phẩm 66
Trang 10PHẦN MỞ ĐẦU
1 Lý do chọn đề tài
Trong cuộc sống ngày càng phát triển, sự ra đời của Công nghệ Thông tinnói chung và Internet nói riêng giữ một vai trò đặc biệt quan trọng Internet rađời thực sự là một cuộc cách mạng vĩ đại, nó mang lại cho chúng ta một khokiến thức mà không một thư viện, một bộ bách khoa toàn thư hay một hệthống thư viện nào khác có thể so sánh được Đặc biệt, Internet cũng là môi
trường kinh doanh nhanh - rẻ - hiệu quả nhất.
Internet giúp cho mọi người trên thế giới thuận lợi khi tham gia vào mạngtoàn cầu, khi đó Internet giúp bạn cung cấp thông tin về công ty và sản phẩmđến với khách hàng và đối tác của bạn một cách dễ dàng ngay khi bạn ở bất
cứ đâu chỉ cần thông qua Website của chính doanh nghiệp mình
Do đó, việc xây dựng ra một Website mua bán sản phẩm trực tuyến thôngqua Internet đã không còn xa lạ với mọi người nữa Xuất phát từ ý tưởng trênđồng thời sau một thời gian tìm hiểu, nghiên cứu cùng với những kiến thức đãđược các thầy, cô giáo trong khoa CNTT trường Đại học Sư phạm Hà Nội 2
trang bị, đặc biệt là được sự đồng ý của giảng viên hướng dẫn, cô Nguyễn
Minh Hiền em đã chọn đề tài: “Áp dụng giải thuật K-mean xây dựng website bán hàng thời trang Viết chương trình minh họa” nhằm góp phần
đẩy mạnh sự phổ biến của thương mại điện tử ở Việt Nam
2 Mục đích và nhiệm vụ nghiên cứu
* Mục đích:
- Nghiên cứu và xây dựng chương trình đẩy mạnh sự phổ biến của thươngmại điện tử ở Việt Nam
Trang 11* Nhiệm vụ :
Nhiệm vụ chính của khóa luận là áp dụng thuật toán K- mean vào xâydựng một website giới thiệu sản phẩm và hỗ trợ chọn mua sản phẩm thờitrang trực tuyến
3 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của khóa luận là thuật toán K- mean, công nghệwebsite và thị trường thương mại điện tử thời trang của Việt Nam
Thuật toán K- mean là một trong những thuật toán quan trọng trong kỹthuật phân cụm trong khai phá dữ liệu Trong khuôn khổ khóa luận chỉ tìmhiểu đến một phần của kỹ thuật phân cụm, đó là tìm hiểu thuật toán K- mean
và áp dụng trong một bài toán thực tế là tìm kiếm sản phẩm thời trang công sở
hỗ trợ tư vấn khách hàng
4 Phương pháp nghiên cứu
- Phương pháp nghiên cứu lý luận
Nghiên cứu qua việc đọc sách, báo và các tài liệu liên quan nhằm xâydựng cơ sở lý thuyết của đề tài và các biện pháp cần thiết để giải quyết cácvấn đề của đề tài
- Phương pháp chuyên gia
Tham khảo ý kiến của các chuyên gia để có thể thiết kế chương trìnhphù hợp với yêu cầu thực tiễn Nội dung xử lý nhanh đáp ứng được yêu cầungày càng cao của người sử dụng
- Phương pháp thực nghiệm
Thông qua quan sát thực tế, yêu cầu của cơ sở, những lý luận được
Trang 125 Ý nghĩa thực tiễn của đề tài
Cung cấp thông tin về công ty và sản phẩm thời trang công sở mà kháchhàng quan tâm một cách dễ dàng ngay khi ở bất cứ đâu thông qua website củacông ty chỉ cần có Internet
Có thể mở rộng phạm vi bán hàng, hình thức thanh toán trực tuyến chonhiều đối tượng khách hàng Không còn gói gọn cho một công ty hay cửahàng mà nó sẽ là nơi mọi người đều có thể bán hàng với gian hàng của mình
để phát triển thành một hệ thống thương mại điện tử giúp giảm chi phí, tiếtkiệm thời gian và chọn được sản phẩm như ý
6 Tóm tắt nội dung các chương
Chương 1: Phân tích thiết kế hệ thống.
Báo cáo sẽ tiến hành phân tích thiết kế hệ thống theo hướng đối tượng
Mô hình hóa các Use case sử dụng ngôn ngữ mô hình hóa thống nhất UMLcùng với công cụ IBM Rational Rose phiên bản Enterprise Edition để vẽ cácbiểu đồ Kết thúc chương, ta sẽ thu được bản phân tích thiết kế hệ thống chitiết
Chương 2: Thiết kế cơ sở dữ liệu và Modul.
Báo cáo sẽ tiến hành mô hình hóa các bảng cơ sở dữ liệudựa trên bản phân tích thiết kế hệ thống Giới thiệu cơ bản về hệ quản trị cơ
sở dữ liệu MySQL Thiết kế, xây dựng và cài đặt cơ sở dữ liệu trên hệ quản trị
cơ sở dữ liệu MySQL
Giới thiệu cơ bản về các ngôn ngữ HTML, PHP sau đó tiến hành thiết kếcác module của website bán quần áo thời trang công sở dựa trên ngôn ngữHTML, PHP Hướng dẫn cách cài đặt website, cấu hình máy yêu cầu, hướngdẫn sử dụng và bảo trì Kết thúc chương ta thu được các bảng trong cơ sở dữ
Trang 13Chương 3: Bài toán thực tế áp dụng thuật toán K- mean
Chương này giới thiệu về một số thuật toán phân cụm, và trình bày giảithuật, đưa ra các ưu điểm, nhược điểm của mỗi thuật toán từ đó đưa lý do tạisao tôi lựa chọn thuật toán K - mean vào trong website của mình
CHƯƠNG 1: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
1.1 Giới thiệu hệ thống
Hệ thống mua bán hàng Thời trang công sở là một Website cung cấp chongười sử dụng, nhà quản lý những chức năng cần thiết để tiến hành giao dịch,quản lý sự hoạt động cũng như theo dõi tình hình phát triển cửa hàng của
Trang 14Người quản lý website là một thành viên cao cấp khác với các khách hàngthành viên, người quản lý sẽ được kích hoạt quyền admin và không thể xóa bỏtài khoản admin Người quản lý có quyền cao nhất với có chức năng cấu hìnhwebsite cùng với các chức năng quản lý website như: Quản lý sản phẩm,Quản lý nhà cung cấp, Quản lý danh mục sản phẩm, Quản lý thành viên vàtiếp nhận, xử lý đơn hàng
Với các nhà cung cấp, cung cấp sản phẩm cho cửa hàng sẽ được lưu cácthông tin cần thiết như: Tên nhà cung cấp, Địa chỉ nhà cung cấp, Số điệnthoại, Email, Website
Đối với khách hàng, hệ thống cho phép xem thông tin về sản phẩm trựctiếp trên website hoặc tìm hiểu thông tin sản phẩm cũng như quy trình muahàng thông qua dịch vụ hỗ trợ trực tuyến bằng cách chat Yahoo
Thông tin về sản phẩm bao gồm: Hình ảnh sản phẩm, Tên sản phẩm, Giásản phẩm, Số lượng còn, số lượng bán, kích thước, chất liệu Các sản phẩmđược sắp xếp theo các nhóm sản phẩm khác nhau như: áo sơ mi, đầm công sở,đầm dạo phố, quần, juyp, bộ công sở, áo vest, áo măng tô, áo thun… để việctìm kiếm sản phẩm của khách hàng thuận tiện hơn em đã áp dụng thuật toánK- mean vào trong tìm kiếm sản phẩm, giúp khách hàng tìm kiếm thuận tiện
và có thêm nhiều gợi ý để dễ dàng lựa chọn được sản phẩm ưng ý nhất Bêncạnh đó việc sắp xếp các sản phẩm vào các mục sản phẩm nổi bật, sản phẩmmới, sản phẩm HOT trên trang chủ của website sẽ giúp cho khách hàng chọnđược những sản phẩm có nhiều ưu đãi Khách hàng có thể truy cập vàowebsite để tìm kiếm cũng như xem thông tin chi tiết về những mặt hàng muốnmua Sau đó nếu khách hàng muốn đặt mua sản phẩm thì khách hàng phảiđăng ký làm thành viên của website
Để đăng ký là thành viên của website, khách hàng phải cung cấp đầy đủ
Trang 15email, tên đăng nhập và mật khẩu Sau khi được người quản lý kích hoạt tàikhoản bạn sẽ trở thành khách hàng thành viên của website Khi đã là kháchhàng thành viên của website, khách hàng đăng nhập vào hệ thống để tiến hànhchọn cũng như mua hàng trên website Khách hàng có thể tìm thấy sản phẩmcần mua ngay trên trang chủ, hoặc khách hàng có thể tìm trong các trang danhmục sản phẩm đã được lọc và sắp xếp, hoặc khách hàng sử dụng chức năngtìm kiếm với nhiều lựa chọn tìm kiếm theo tên, theo sản phẩm mới nhất, sảnphẩm nổi bật, sản phẩm bán chạy nhất, sắp xếp A – Z, sắp xếp Z – A, theo giácao – thấp, hoặc giá thấp - cao để tìm kiếm sản phẩm nhanh hơn
Khi chọn được sản phẩm cần mua, khách hàng chọn đưa sản phẩm vàogiỏ hàng, khách hàng có thể chọn nhiều sản phẩm vào giỏ hàng của mình.Trong mỗi lần mua hàng khách hàng sẽ có một giỏ hàng, trong giỏ hàng sẽ cócác thông tin về sản phẩm khách hàng đã chọn bao gồm: Tên sản phẩm, hìnhảnh sản phẩm, giá sản phẩm hoặc giá khuyến mãi nếu sản phẩm có khuyếnmãi, số lượng sản phẩm cần mua, thành tiền đối với mỗi sản phẩm và tổng sốtiền của giỏ hàng Khách hàng vào giỏ hàng của mình để xem thông tin về giỏhàng, nếu giỏ hàng chưa đúng với ý, thì khách hàng có thể sử dụng các chứcnăng mua thêm sản phẩm, cập nhật số lượng hoặc xóa sản phẩm để có mộtgiỏ hàng như mong muốn Sau khi đã có giỏ hàng theo đúng ý, khách hàngtiến hành giao dịch bằng việc chọn mục thanh toán, một form với các thôngtin cần thiết cho việc thanh toán hiện ra Có hai sự lựa chọn cho khách hàng,mặc định form thông tin người nhận hàng sẽ là thông tin trong tài khoản màkhách hàng đã đăng ký thành viên với website khách hàng chỉ cần thêm thờigian nhận hàng Tiếp theo khách hàng chọn hình thức thanh toán, websitecung cấp nhiều lựa chọn cho khách hàng tiện lợi trong việc thanh toán baogồm: Thanh toán tại cửa hàng (khác hàng trực tiếp thanh toán toàn bộ sô tiềnđơn hàng tại cửa hàng), Thanh toán tại nơi nhận hàng (khách hàng hoặc ngườinhận hàng thanh toán toàn bộ số tiền đơn hàng hoặc phần còn lại nếu khách
Trang 16hàng đã đặt cọc một phần tại cửa hàng), thanh toán qua tài khoản ATM củacác ngân hàng(website chấp nhận thanh toán qua hầu hết các ngân hàng trên
cả nước như: ViettinBank, TechcomBank, AgriBank, VPBank, MBBank,PGBank, VIBBank, SaccomBank…) hoặc thanh toán qua các website haycổng thanh toán trực tuyến với hình thức thanh toán tạm giữ (một số cổngthanh toán website liên kết như: Bảo kim, ngân lượng, paypal…) Sau khichọn hình thức thanh toán và điền đầy đủ thông tin cho đơn hàng, khách hàngchọn gửi đơn hàng Sau khi gửi đơn hàng đến hệ thống website, người quản lý
sẽ tiếp nhận đơn hàng, trước khi giao đơn hàng cho nhân viên giao hàng,người quản lý sẽ liên lạc với người nhận hàng để xác nhận đơn hàng và chọnthời gian, địa điểm chính xác để tiến hành giao dịch Sau đó, người quản lý sẽgiao đơn hàng cho nhân viên giao hàng Nhân viên giao hàng thực hiện giaohàng và báo cáo cho người quản lý để người quản lý cập nhật thông tin chođơn hàng
1.2 Xác định các chức năng chính của hệ thống
Dựa vào phần giới thiệu về hệ thống ta chia chức năng của hệ thống thànhcác nhóm chức năng chính như sau:
Nhóm chức năng thành viên đăng ký, đăng nhập
Nhóm chức năng xem thông tin, thông tin sản phẩm, thông tin giỏ hàng,thông tin đơn hàng, thông tin cá nhân
Nhóm chức năng quản lý, quản lý thông tin cá nhân, danh sách thànhviên, danh mục sản phẩm, danh mục nhà cung cấp, quản lý đơn hàng
Nhóm chức năng mua hàng, tiếp nhận và xử lý đơn hàng
1.3 Xác định các tác nhân tác động đến hệ thống
Dựa vào mô tả bài toán trong phần giới thiệu về hệ thống ở trên, ta có thểxác định được các tác nhân chính của hệ thống như sau:
Trang 17NGƯỜI QUẢN LÝ: là thành viên có quyền cao nhất, phụ trách điều hành,quản lý và theo dõi mọi hoạt động của hệ thống
KHÁCH HÀNG THÀNH VIÊN: là thành viên của hệ thống sau khi đã đăng
ký thành viên tại website Là người giao dịch với hệ thống thông qua các đơnđặt hàng, khách hàng có thể chọn các loại sản phẩm, chọn địa điểm, chọnhình thức thanh toán và thời gian giao hàng
HỆ THỐNG TÍN DỤNG: bao gồm hệ thống ngân hàng, hệ thống website haycổng thanh toán trực tuyến, tham gia vào quá trình thực hiện thanh toán cáchóa đơn của khách hàng thành viên
THÀNH VIÊN: bao gồm người quản lý và những khách hàng thành viên của
hệ thống Sau khi đăng ký để trở thành thành viên, ngoài những chức năngchung của người sử dụng, còn có thêm một số chức năng khác phục vụ chocông việc cụ thể của từng đối tượng Ví dụ như: cập nhật thông tin cá nhân
1.4 Xác định các Use case, các gói Use case và vẽ biểu đồ Use case
tổng quát
1.4.1 Xác định các Use case
Tác nhân Khách hàng có các Use case sau:
Đăng ký làm thành viên
Xem thông tin sản phẩm
Xem thông tin giỏ hàng
Chọn sản phẩm cần mua
Thêm, bớt sản phẩm trong giỏ hàng
Thực hiện việc mua hàng
Thanh toán
Tác nhân Người quản lý có các Use case sau:
Tiếp nhận đơn hàng và xử lý
Trang 18 Xem thông tin cá nhân.
Sửa đổi thông tin cá nhân
1.4.2 Xác định các gói Use case
Từ việc phân tích các Use case của từng tác nhân, ta xây dựng thànhcác gói Use case như sau:
QL thong tin ca nhan
DangKy (from Logical View)
QL DS thanh vien
QL danh muc
Hình 1: Gói các Use case 1.4.3 Use case tổng quát
Hình 2: Use case tổng quát
Trang 191.5 Gói Use case đăng ký, đăng nhập
1.5.1 Use case Đăng ký
a Biểu đồ use case.
KhachHang
(from ACTOR)
DangKy
Hình 3: Biểu đồ Use case đăng ký
b Đặc tả Use case đăng ký
Tác nhân: khách xem
Mô tả: cho phép khách xem đăng ký làm thành viên của hệ thống
Tiền điều kiện: khách xem chưa là thành viên
Luồng sự kiện chính:
Khách xem chọn mục đăng kí thành viên
Form đăng kí thành viên hiển thị
Khách xem nhập thông tin cá nhân cần thiết vào form đăng kí
Nhấn nút Đăng ký
Hệ thống thông báo kết quả quá trình nhập thông tin cá nhân Nếuthông tin nhập không chính xác thì thực hiện luồng nhánh A1 Nếunhập chính xác thì thực hiện bước 6
Hệ thống cập nhật thông tin của khách xem vào danh sách thành viên.Use case kết thúc
Luồng sự kiện rẽ nhánh:
Luồng nhánh A1: Quá trình nhập thông tin không chính xác
Hệ thống thông báo thông tin nhập không chính xác
Hệ thống yêu cầu khách xem nhập thông tin lại
Trang 20 Nếu khách xem đồng ý thì quay về bước 2 của luồng sự kiện chính,nếu không đồng ý thì Use case kết thúc.
Hậu điều kiện: Khách hàng trở thành thành viên của hệ thống
c Biểu đồ tuần tự và biểu đồ cộng tác
Hình 4: Biểu đồ tuần tự cho Use case đăng ký
Hình 5: Biểu đồ cộng tác cho Use case đăng ký
d Biểu đồ hoạt động
Trang 21Hình 6: Biểu đồ hoạt động cho Use case đăng ký
e Biểu đồ lớp tham gia ca sử dụng
hienThiDangKy()
Thanh Vien MaTV TenTV Email MatKhau DiaChi DienThoai
themThanhVien() xoaThanhVien() suaThanhVien()
Dangky
nhapTTDangKy() kiemTraTTDangKy() guiTTDangKy()
Hình 7: Biểu đồ lớp tham gia ca sử dụng đăng ký 1.5.2 Use case Đăng Nhập
a Biểu đồ Use case
DangNhap NhanVien
Hình 8: Biểu đồ Use case đăng nhập
b Đặc tả Use case đăng nhập
Trang 22- Tác nhân: thành viên
- Mô tả: Use case cho phép thành viên đăng nhập vào hệ thống
- Tiền điều kiện: Thành viên chưa đăng nhập vào hệ thống
- Luồng sự kiện chính:
- Thành viên chọn chức năng đăng nhập
- Form đăng nhập hiển thị
- Nhập tên đăng nhập, mật khẩu vào form đăng nhập
- Hệ thống kiểm tra tên đăng nhập, mật khẩu của thành viên
- Nếu việc đăng nhập thành công thì hệ thống đưa ra một thông báo đăngnhập thành công Nếu thành viên nhập sai tên, mật khẩu thì chuyển sangluồng nhánh A1
Use case kết thúc
- Luồng sự kiện rẽ nhánh:
- Luồng nhánh A1: Thành viên đăng nhập không thành công
- Hệ thống thông báo quá trình đăng nhập không thành công
- Hệ thống yêu cầu thành viên nhập lại tên và mật khẩu
- Nếu khách xem đồng ý thì quay về bước 2 của luồng sự kiện chính, nếukhông đồng ý thì Use case kết thúc
- Hậu điều kiện: Thành viên đã đăng nhập thành công và có thể sử dụng cácchức năng mà hệ thống cung cấp
c Biểu đồ tuần tự và biểu đồ cộng tác
Trang 23: KhachHang : ManHinhDangNhap : Thanh Vien
1: Nhap TT Dang Nhap
2: KiemTraTT
3: Gui TT Dang Nhap
4: Xac nhan dang nhap 5: Gui phan hoi
6: Gui Phan Hoi
Hình 9: Biểu đồ tuần tự cho Use case đăng nhập
: ThanhVien
1: Nhap Thong Tin 6: Gui Phan Hoi
3: Gui TT Dang Nhap
5: Gui Phan Hoi
Hình 10: Biểu đồ cộng tác cho Use case đăng nhập
d Biểu đồ hoạt động
Trang 24Hình 11: Biểu đồ hoạt động cho Use case đăng nhập
e Biểu đồ lớp tham gia ca sử dụng
ThanhVien ManHinhDangNhap
hienThiTTDangNhap()
Thanh Vien MaTV TenTV Email MatKhau DiaChi DienThoai themThanhVien() xoaThanhVien() suaThanhVien()
(from BDLopTGCSD)
DangNhap
nhapTTDangNhap() kiemTraTTDangNhap() dangNhap()
Hình 12: Biểu đồ lớp tham gia ca sử dụng đăng nhập
Trang 251.6 Gói Use case quản lý danh mục sản phẩm
1.6.1 Biểu đồ Use case
Dang nhap
Xem thong tin san pham
Them san pham
Xoa san pham
Thay doi thong tin san pham NhaQuanLy
- Tác nhân: người quản lý
- Mô tả: Use case cho phép người quản lý thêm, xoá, thay đổi thông tin củacác sản phẩm trong danh mục
- Tiền điều kiện: người quản lý phải đăng nhập vào hệ thống
Trang 26- Nhấn nút lưu thông tin
- Nếu nhập thành công thì thực hiện bước 1.5 Nếu sai thực hiện luồng sựkiện rẽ nhánh A1
- Lưu thông tin sản phẩm
b Thay đổi thông tin sản phẩm
Hệ thống hiển thị form sửa thông tin của sản phẩm
- Người quản lý nhập các thông tin cần thay đổi
- Nhấn nút lưu thông tin
- Nếu việc thay đổi thành công thì thực hiện bước 1.5 Nếu sai thực hiệnluồng sự kiện rẽ nhánh A1
- Lưu thông tin sản phẩm
c Xoá sản phẩm
- Người quản lý chọn sản phẩm cần xoá
- Nhấn nút xoá để thực hiện loại bỏ sản phẩm
- Hệ thống hiển thị thông báo xác nhận loại bỏ Nếu người quản lý đồng ý thìthực hiện bước
- Nếu không đồng ý thì thực hiện bước1.5
- Thông báo sản phẩm đã đươc xoá
- Hệ thống hiển thị lại danh sách sản phẩm
Use case kết thúc
- Luồng sự kiện rẽ nhánh A1:
- Hệ thống thông báo việc nhập dữ liệu không hợp lệ
- Người quản lý nhập lại thông tin
- Quay lại bước 1.2 của luồng sự kiện chính
Trang 271.6.3 Biểu đồ tuần tự và biểu đồ cộng tác
1 Yeu Cau Cap Nhat San Pham
6: Gui Phan Hoi
2: Kiem Tra Thong Tin 3:Gui Yeu Cau
5: Gui Phan Hoi
4: Luu Thong Tin
Hình 14: Biểu đồ tuần tự của Use case quản lý danh mục sản phẩm
: NhaQuanLy
Man Hinh QL San Pham
2: Kiem Tra TT
San Pham
4: Luu Thong Tin 1: Yeu Cau Cap Nhat San Pham
6: Gui Phan Hoi
3: Gui Yeu Cau 5: Gui Phan Hoi
Hình 15: Biểu đồ cộng tác của Use case quản lý danh mục sản phẩm 1.6.4 Biểu đồ hoạt động
Nhap
Thong Tin
Hien Thi Danh
Sach San Pham
Chon San Pham
Nhap Thong Tin
Thong Bao Xac Nhan
Luu Thong Tin
Kiem Tra Thong Tin
Edit Add
Trang 281.6.5 Biểu đồ lớp tham gia ca sử dụng
SanPham
MaSP TenSP Anh SoLuong Gia ChiTiet BaiViet themSP() suaSP() xoaSP()
(from BDLopTGCSD) SanPham
MaSP TenSP Anh SoLuong Gia ChiTiet BaiViet themSP() suaSP() xoaSP()
(from BDLopTGCSD)
NhomSP
MaNhom TenNhom ThemNhom() SuaNhom() XoaNhom()
Hình 17: Biểu đồ lớp tham gia ca sử dụng quản lý danh mục sản phẩm 1.7 Gói Use case quản lý danh mục nhóm sản phẩm
Tương tự gói use case quản lý danh mục sản phẩm
1.8 Gói Use case quản lý thành viên
Tương tự gói use case quản lý danh mục sản phẩm
1.9 Gói Use case mua hàng
1.9.1 Biểu đồ Use case
Dang nhap
Xem TT gio hang
Xoa gio hang
Thong tin thanh toan
Chon san pham
Them SP vao gio hang
Xoa SP o gio hang
Thanh toan KhachHangTV
Trang 29Khách hàng xem thông tin về sản phẩm cần mua
Nếu hệ thống hiển thị có sản phẩm cần mua, khách hàng chọn vào sảnphẩm cụ thể cần mua Nếu không thì thực hiện luồng sự kiện rẽ nhánh A1
b Use case kết thúc
Luồng sự kiện rẽ nhánh A1:
Khách hàng chọn mua các sản phẩm ở mục khác
Quay lại bước 4 của luồng sự kiện chính
Hậu điều kiện: sản phẩm cần mua được chọn xong
c Use case thêm sản phẩm vào giỏ hàng
Trang 30d Use case kết thúc
Luồng sự kiện rẽ nhánh:
Luồng nhánh A1: chưa chọn sản phẩm cần mua
Hệ thống thông báo sản phẩm chưa được chọn
Hiển thị sản phẩm để khách hàng chọn
Quay lại bước 1 của luồng sự kiện chính
Hậu điều kiện: thông tin sản phẩm đã đưa vào giỏ hàng phải được lưu trữ
e Use case loại bỏ sản phẩm đã chọn ở giỏ hàng
Tác nhân: khách hàng
Mô tả: Use case cho phép khách hàng loại bỏ sản phẩm đã đưa vào giỏ hàng.Tiền điều kiện: giỏ hàng đã có sản phẩm
Luồng sự kiện chính:
Khách hàng chọn sản phẩm muốn loại bỏ khỏi giỏ hàng
Nhấn loại bỏ để thực hiện loại bỏ
Nếu có sản phẩm được chọn, hệ thống hiển thị thông báo để khách hàngxác nhận lại Ngược lại, thực hiện luồng sự kiện rẽ nhánh A1
Nếu chấp nhận thì sản phẩm được chọn sẽ bị loại bỏ Nếu không thì thựchiện luồng sự kiện rẽ nhánh A2
Hệ thống hiển thị đã loại bỏ thành công
f Use case kết thúc
Luồng sự kiện rẽ nhánh:
Luồng nhánh A1: sản phẩm chưa được chọn
Hệ thống thông báo chưa chọn sản phẩm cần loại bỏ
Quay lại bước 1 của luồng sự kiện chính
Trang 31Hệ thống hiển thị danh sách sản phẩm trong giỏ hàng.
g Use case thanh toán
Khách hàng nhấn thanh toán để tạo đơn hàng
Form thanh toán xuất hiện, hệ thống hiển thị đơn hàng và một số thông tinmặc định của đơn hàng
Khách hàng nhập tiếp các thông tin: họ tên, số tài khoản, phương thứcthanh toán, địa chỉ giao hàng, thời gian giao hàng, địa chỉ email để hoàn thànhđơn hàng
Chọn gửi đơn hàng Nếu đơn hàng đã nhập đúng thì thực hiện bước 5.Nếu sai thì thực hiện luồng sự kiện rẽ nhánh A1
Hệ thống kiểm tra số tài khoản của khách hàng và phương thức thanhtoán Nếu hợp lệ thì thực hiện bước 6 Nếu sai thì thực hiện luồng sự kiện rẽnhánh A2
Hệ thống thông báo giao dịch thành công
h Use case kết thúc
Luồng sự kiện rẽ nhánh
Luồng nhánh A1: đơn hàng nhập sai
Hệ thống thông báo việc tạo đơn hàng không thành công
Hệ thống hiển thị lại form nhập thông tin và các trường nhập sai
Khách hàng nhập lại thông tin, nếu muốn ngưng giao dịch thì thực hiệnluồng sự kiện rẽ nhánh A3
Trang 32Quay lại bước 4 của luồng sự kiện chính.
Luồng nhánh A2: tài khoản không hợp lệ
Hệ thống thông báo phương thức thanh toán và tài khoản của khách hàngkhông hợp lệ
Khách hàng nhập lại thông tin nếu muốn tiếp tục mua hàng, nếu muốnngưng giao dịch thì thực hiện luồng sự kiện rẽ nhánh A3
Quay lại bước 4 của luồng sự kiện chính
Luồng nhánh A3: khách hàng hủy đơn hàng
Khách hàng nhấn huỷ bỏ đơn hàng
Hệ thống hiển thị các sản phẩm để khách hàng thực hiện giao dịch mới
i. Use case kết thúc
Hậu điều kiện: đơn hàng được gửi
1.9.3 Biểu đồ tuần tự và biểu đồ cộng tác
: KhachHang : Man Hinh TT San Pham : frmGioHang : frmThanhToan : Khach Hang : Don Hang
7: Tiep Tuc Mua Hang
8: Yeu Cau Thanh Toan
9: Thong Tin Thanh Toan
Trang 334: Cap Nhat Gio Hang 1: Thong Tin SP
2: Chon Mua SP 6: Hien Thi Gio Hang
3: Luu SP Vao Gio Hang 5: Hien Thi Gio Hang
7: Yeu Cau Thanh Toan
8: Gui Thong Tin Thanh Toan
9: Gui TT Gio Hang
10: Xac Nhan Thanh Toan TC 11: Thanh Toan TC
Hình 20: Biểu đồ cộng tác của Use case mua hàng 1.9.4 Biểu đồ hoạt động
Chon San
Pham
Cap Nhat Gio Hang Mua Hang
Cap Nhat Lai
Else
Nhap Thong Tin Thanh Toan
Gui Don Hang Mua Hang
Else Nhap Lai Huy Giao Dich
Thong tin OK Huy Giao Dich
Hình 21: Biểu đồ hoạt động của Use case mua hàng
Trang 341.9.5 Biểu đồ lớp tham gia ca sử dụng
MaSP TenSP Anh SoLuong Gia ChiTiet BaiViet themSP() suaSP() xoaSP()
Man Hinh TT San Pham
hienThiSP()
MuaHang
themSPGioHang() xoaSP() capNhatSL() chonHTThanhToan()
frmGioHang
hienThiTTGioHang() xoaSP() capNhatSoLuong()
frmThanhToan capNhatTTKH()
Khach Hang capNhatKH()
Don Hang capNhatDH()
Hình 22: Biểu đồ lớp tham gia ca sử dụng mua hàng
1.10 Gói Use case quản lý thông tin cá nhân
1.10.1 Biểu đồ Use case
DangNhap Xem Thong Tin Ca Nhan
Sua Thong Tin Ca Nhan ThanhVien
Hình 23: Biểu đồ Use case của gói Use case quản lý thông tin cá nhân 1.10.2 Đặc tả Use case
a Use case sửa thông tin cá nhân
Tác nhân: thành viên của hệ thống
Mô tả: Use case cho phép thành viên thay đổi các thông tin đăng ký
Tiền điều kiện: thành viên phải đăng nhập vào hệ thống
Luồng sự kiện chính:
Thành viên chọn chức năng sửa thông tin cá nhân
Trang 35Thành viên nhập các thông tin mới
Nhấn nút lưu thông tin
Nếu việc cập nhật thành công thì thực hiện bước 6 Nếu sai thực hiệnluồng sự kiện rẽ nhánh A1
Lưu thông tin
b Use case kết thúc
Luồng sự kiện rẽ nhánh:
Luồng nhánh A1: thông tin nhập không hợp lệ
Hệ thống thông báo việc nhập dữ liệu không hợp lệ
Thành viên nhập lại thông tin
Quay lại bước 4 của luồng sự kiện chính
Hậu điều kiện: thông tin thành viên được lưu vào hệ thống
1.10.3 Biểu đồ tuần tự và biểu đồ cộng tác
1: Nhap TT Ca Nhan
2: Kiem Tra Thong Tin
3: Yeu Cau Cap Nhat
4:Cap Nhat TT 5: Gui Phan Hoi
6: Gui Phan Hoi
Hình 24: Biểu đồ tuần tự của Use case sửa thông tin cá nhân
Trang 363: Gui Yeu Cau Cap Nhat 5: Gui Phan Hoi
Hình 25: Biểu đồ cộng tác của Use case sửa thông tin cá nhân
1.10.4 Biểu đồ hoạt động
Nhap Thong Tin
Cap Nhat Thong Tin
Thong tin dung
else
Hình 26: Biểu đồ hoạt động của Use case sửa thông tin cá nhân 1.10.5 Biểu đồ lớp tham gia ca sử dụng
hienThiTTCaNhan()
Thanh Vien
MaTV TenTV Email MatKhau DiaChi DienThoai
themThanhVien() xoaThanhVien() suaThanhVien()
Trang 371.11 Biểu đồ lớp chi tiết
Chi Tiet Hoa Don
MaHoaDon MaSP SoLuong ThanhTien
Hoa Don
MaHoaDon NgayLap ThangLap NgayGiao DiaDiemGiao MaKH SoLuong ThanhTien HienThiTTHoaDon()
Co
1 1
Nhom San Pham
MaNhom TenNhom HienThiTTNhom()
San Pham
MaSP MaNhom TenSP Anh GiaBan SoLuongCon SoLuongBan KichThuoc ChatLieu HienThiTTSanPham()
1 n 1 n
1 n 1 n
Co
SanPham_Nhom
MaSanPham MaNhom
1 n 1
1 n 1
Bao gom
1 n
1 Thuoc
1 n 1
Hình 28: Biểu đồ lớp chi tiết
Trang 381.12 Biểu đồ thành phần, biểu đồ triển khai
1.12.1 Biểu đồ thành phần
QL Nhom
San pham
QL Danh Muc San Pham
Giao Dien Nguoi Quan Ly
Giao Dien KH Thanh Vien
QL Thanh Vien
QL Thong Tin Thanh Vien
QL Thong Tin
Ca Nhan
Tim Kiem Va Tra Cuu
Bao Mat Va Luu Tru
Ket Noi
CSDL
QL Hoa Don
Hình 29: Biểu đồ thành phần 1.12.2 Biểu đồ triển khai
Hình 30: Biểu đồ triển khai
use case mô tả các chức năng chính của website