1.2 Lập kế hoạch dự án Dự án cần phải được thiết lập và vạch rõ quy trình phát triển, lộ trình phát triển: Tuần 1 – 2: Tìm hiểu về tổng quan hệ thống quản lý cửa hàng bán laptop Tínhk
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
VÀ TRUYỀN THÔNG VIỆT - HÀN
KHOA KHOA HỌC MÁY TÍNH
ĐỀ TÀI XÂY DỰNG WEBSITE QUẢN LÝ CỬA HÀNG
LAPTOP
Sinh viên thực hiện : Nguyễn Thị Ngọc
Giảng viên hướng dẫn : TS Lê Văn Minh
Đà Nẵng, tháng 12 năm 2023
Trang 2LỜI CẢM ƠN
Trên thực tế không có sự thành công nào mà không gắn liền với những sự hỗtrợ, sự giúp đỡ dù ít hay nhiều, dù là trực tiếp hay gián tiếp của người khác Trong suốtthời gian từ khi bắt đầu học tập ở giảng đường Đại Học đến nay, chúng em đã nhậnđược rất nhiều sự quan tâm, giúp đỡ của Thầy Cô, gia đình và bạn bè Em xin chânthành cảm ơn thầy cô khoa Khoa Học Máy Tính đã tận tâm hướng dẫn em xuyên suốtquá trình hoàn thành đồ án cơ sở 2 Thầy cô đã cho em những lời khuyên để có thểhoàn thành đồ án thật tốt bên cạnh đó thầy còn tạo cho em cơ hội tiếp xúc với nghiệp
vụ thực tế để có thể nắm vững kiến thức khi bắt đầu vào việc thiết kế một Website theođúng chuẩn
Mặc dù đã rất cố gắng hoàn thiện đồ án với tất cả sự nỗ lực, tuy nhiên đồ án “Xây dựng website quản lý cửa hàng laptop” chắc chắn sẽ không tránh khỏi những thiếusót Em rất mong nhận được sự quan tâm, thông cảm và những lời góp ý của quý thầy
cô và các bạn để đồ án có thể hoàn thiện tốt nhất
Sau cùng, em xin kính chúc các thầy cô trong Khoa Khoa Học Máy Tính dồi dàosức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao đẹp của mình là truyền đạt lại kiếnthức cho thế hệ mai sau
Đà Nẵng, tháng 12, năm 2023
Trang 3NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Chữ ký GVHD
Trang 4MỤC LỤC
CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT 1
1.1 Giới thiệu sơ lược về Java JSP 1
1.1.1 Cơ sở lí thuyết về Java JSP 1
1.1.2 Ưu điểm của Java JSP 2
1.2 Giới thiệu sơ lược về Java serverlet 3
1.2.1 Cơ sở lí thuyết về Java serverlet 3
1.2.2 Ưu điểm của Java serverlet 3
CHƯƠNG 2 : PHÂN TÍCH THIẾT KẾ HỆ THỐNG 6
2.1 Phân tích yêu cầu của hệ thống 6
2.2 Phân tích thiết kế với UML 7
2.2.1 Xác định các tác nhân và usecase của hệ thống 7
2.2.2 Đặc tả Usecase 8
2.2.3 Mô hình hóa yêu cầu 17
2.3 Mô hình hóa cơ sở dữ liệu 45
2.4 Kết luận chương 2 47
CHƯƠNG 3 : XÂY DỰNG WEBSITE QUẢN LÝ CỬA HÀNG LAPTOP 48
3.1 Giao diện đồ án 48
Trang 53.1.1 Giao diện đăng nhập 48
3.1.2 Giao diện trang chủ 48
3.1.3 Giao diện quản lý sản phẩm 49
3.1.4 Giao diện quản lý đơn hàng 49
3.1.5 Giao diện xem chi tiết sản phẩm 50
3.1.6 Giao diện sản phẩm nổi bật 50
3.1.7 Giao diện thương hiệu nổi bật 51
3.1.8 Giao diện đặt hàng 51
3.1.9 Giao diện đăng nhập Admin 52
3.1.10 Giao diện đăng bán sản phẩm 52
3.1.11 Giao diện kiểm duyệt các đơn đặt hàng 53
3.2 Kết luận chương 3 53
KẾT LUẬN 54
TÀI LIỆU THAM KHẢO 55
Trang 6DANH MỤC HÌNH ẢNH
Hình 2 1Biểu đồ tổng quát Usecase Diagram 17
Hình 2 2 Biểu đồ Class Diagram 18
Hình 2 3 Sequence Diagram – Đăng ký tài khoản 18
Hình 2 4 Sequence Diagram – Đăng nhập 19
Hình 2 5 Sequence Diagram – Tìm kiếm sản phẩm 19
Hình 2 6 Sequence Diagram –Tìm kiếm theo bộ lọc 20
Hình 2 7 Sequence Diagram – Tìm kiếm trên danh mục 20
Hình 2 8 Sequence Diagram – Xem chi tiết sản phẩm 21
Hình 2 9 Sequence Diagram – Thêm vào giỏ hàng 21
Hình 2 10 Sequence Diagram – Xem giỏ hàng 22
Hình 2 11 Sequence Diagram – Đặt hàng 22
Hình 2 12 Sequence Diagram – Thanh toán 23
Hình 2 13 Sequence Diagram – Đánh giá sản phẩm 23
Hình 2 14 Sequence Diagram – Chỉnh sửa thông tin tài khoản 24
Hình 2 15 Sequence Diagram – Đăng nhập Admin 24
Hình 2 16 Sequence Diagram – Đăng bán sản phẩm 25
Hình 2 17 Sequence Diagram – Kiểm duyệt các đơn đặt hàng 25
Trang 7Hình 2 18 Sequence Diagram – Duyệt các đánh giá từ khách hàng 26
Hình 2 19 Sequence Diagram – Xóa tài khoản khách hàng 26
Hình 2 20 Sequence Diagram – Viết các tin tức lên Blog 27
Hình 2 21 Activity Diagram – Đăng ký tài khoản 27
Hình 2 22 Activity Diagram – Đăng nhập 28
Hình 2 23 Activity Diagram – Tìm kiếm sản phẩm 28
Hình 2 24 Activity Diagram – Tìm kiếm theo bộ lọc 29
Hình 2 25 Activity Diagram – Tìm kiếm trên danh mục 29
Hình 2 26 Activity Diagram – Xem chi tiết sản phẩm 30
Hình 2 27 Activity Diagram – Thêm vào giỏ hàng 30
Hình 2 28 Activity Diagram – Xem giỏ hàng 31
Hình 2 29 Activity Diagram – Đặt hàng 31
Hình 2 30 Activity Diagram – Thanh toán 32
Hình 2 31 Activity Diagram – Đánh giá sản phẩm 32
Hình 2 32 Activity Diagram – Chỉnh sửa thông tin tài khoản 33
Hình 2 33 Activity Diagram – Đăng nhập Admin 33
Hình 2 34 Activity Diagram – Đăng bán sản phẩm 34
Hình 2 35 Activity Diagram – Kiểm duyệt các đơn đặt hàng 34
Hình 2 36 Activity Diagram – Duyệt các đánh giá từ khách hàng 35
Trang 8Hình 2 37 Activity Diagram – Xóa tài khoản khách hàng 35
Hình 2 38 Activity Diagram – Viết các tin tức lên Blog 36
Hình 2 39 Communication Diagram – Đăng ký tài khoản 36
Hình 2 40 Communication Diagram – Đăng nhập 37
Hình 2 41 Communication Diagram – Tìm kiếm sản phẩm 37
Hình 2 42 Communication Diagram – Tìm kiếm theo bộ lọc 38
Hình 2 43 Communication Diagram – Tìm kiếm trên danh mục 38
Hình 2 44 Communication Diagram – Xem chi tiết sản phẩm 39
Hình 2 45 Communication Diagram – Thêm vào giỏ hàng 39
Hình 2 46 Communication Diagram – Xem giỏ hàng 40
Hình 2 47 Communication Diagram – Đặt hàng 40
Hình 2 48 Communication Diagram – Thanh toán 41
Hình 2 49 Communication Diagram – Đánh giá sản phẩm 41
Hình 2 50 Communication Diagram – Chỉnh sửa thông tin tài khoản 42
Hình 2 51 Communication Diagram – Đăng nhập Admin 42
Hình 2 52 Communication Diagram – Đăng bán sản phẩm 43
Hình 2 53 Communication Diagram – Kiểm duyệt các đơn đặt hàng 43
Hình 2 54 Communication Diagram – Duyệt các đánh giá từ khách hàng 44
Hình 2 55 Communication Diagram – Xóa tài khoản khách hàng 44
Trang 9Hình 2 56 Communication Diagram – Viết các tin tức lên Blog 45
Hình 3 1 Giao diện đăng nhập 48
Hình 3 2 Giao diện trang chủ 48
Hình 3 3 Giao diện tìm kiếm sản phẩm 49
Hình 3 4 Giao diện tìm kiếm trên danh mục 49
Hình 3 5 Giao diện xem chi tiết sản phẩm 50
Hình 3 6 Giao diện sản phẩm nổi bật 50
Hình 3 7 Giao diện thương hiệu nổi bật 51
Hình 3 8 Giao diện đặt hàng 51
Hình 3 9 Giao diện đăng nhập Admin 52
Hình 3 10 Giao diện đăng bán sản phẩm 52
Hình 3 11 Giao diện kiểm duyệt các đơn đặt hàng 53
Trang 10DANH MỤC BẢNG BIỂU
Bảng 2 1 Bảng khách hàng 46
Bảng 2 2 Bảng quản trị viên 47
Trang 11DANH MỤC CÁC TỪ VIẾT TẮT
1 JSP Java server page
2 CNTT Công nghệ thông tin
7 HTML HyperText Markup Language
8 RDBMS Relational Database Management System
9 UML Unified Modeling Language
10 API Application Programming Interface
11 HTTP Hypertext Transfer Protocol
Trang 12CHƯƠNG 1 : GIỚI THIỆU ĐỀ TÀI VÀ CƠ SỞ LÝ
THUYẾT GIỚI THIỆU ĐỀ TÀI
1.1 Tính khả thi của đề tài
Hiện nay, thị trường website là một trong những thị trường phổ biến và lượngngười sử dụng nhiều nhất Mọi người dùng nó để tiếp cận những thông tin mà họ muốntìm hiểu, nắm bắt các thông tin trên thế giới Ngoài ra, website cũng một trong nhữngthế mạnh về thương mại điện tử, bán hàng online, các hệ thống quản lý
Những phần mềm quản lý ngày càng được ưu ái và phát triển mạnh vì tính kháchquan và khả dụng, nhu cầu người dùng để các doanh nghiệp và các cửa hàng thuận tiệntrong quá trình hoạt động kinh doanh Những phần mềm quản lý thường được pháttriên mạnh trên website vì tính tiện dụng và khả năng tương thích các thiết bị cao
1.2 Lập kế hoạch dự án
Dự án cần phải được thiết lập và vạch rõ quy trình phát triển, lộ trình phát triển:
Tuần 1 – 2: Tìm hiểu về tổng quan hệ thống quản lý cửa hàng bán laptop ( Tínhkhả thi, tính thiết thực,…) và tiến hành khảo sát bài toán
Tuần 3 – 5: Xác định các yêu cầu nghiệp vụ của bài toán
Tuần 6 – 10: Xác định, mô tả, mô phỏng các nghiệp vụ, các chức năng của hệthống, thiết kế các giao diện của hệ thống
Tuần 10 – 15: Xác định môi trường phát triển hệ thống, tiến hành thiết kế hệthống
Tuần 16 – 18: Tiến hành chạy thử, kiểm thử và bảo trì hệ thống
1.3 Khảo sát bài toán
Sau khi tiến hành khảo sát thực tế và dự trên cơ sở lý thuyết và các hoạch định,
em thấy rằng đây là một khía cạch được các doanh nghiệp và các cửa hàng, các nhàhàng, khách sạn sử dụng nhiều để hỗ trợ mọi trong việc quản lý thu chi một cách hiệuquả, và chính xác, tiết kiệm được thời gian trong công tác quản lý
Trang 13 Chi phí cho hệ thống (phần mềm, phần cứng, nhân sự vận hành) phải hợp lý
Phần mềm phải có hướng dẫn sử dụng (video, hình ảnh, tài liệu …): hướng dẫnchi tiết từng chức năng để người mới sử dụng có thể làm việc tốt với phầnmềm
Yêu cầu hệ thống
Hệ thống cần phải có giao diện tối ưu, dễ sử dụng
Hệ thống cần phải được chạy trên đa nền tảng và hỗ trợ hầu hết các thiết bịthông minh hiện nay
Yêu cầu chức năng
Chức năng quản trị hệ thống: cho phép người quản trị hệ thống có thể quản lýngười sử dụng, phân quyền, quản lý sản phẩm, quản lý bán hàng, quán lý nhậphàng và thống kê doanh thu, số liệu
Chức năng quản lý thông tin: Cho phép người dùng có thể quản lý vời quyềntương ứng loại tài khoản
Chức năng tra cứu thông tin: cho phép người truy cập hệ thống có thể xem cácthông tin mà đã được người quản trị phân quyền cho mình
Yêu cầu phi chức năng
Giao diện thân thiện, dễ sử dụng
Truy xuất dữ liệu nhanh, lưu trữ dữ liệu tốt
Tìm kiếm nhanh, thuận tiện
Trang 14 Hệ thống bảo mật cao
Đáp ứng được các yêu cầu nghiệp vụ
1.5 Phân tích yêu cầu
Hệ thống quản lý cửa hàng laptop là một hệ thống khá phức tạp và có nhiều yêucầu để hệ thống có thể được người dùng đón nhận
Một số yêu cầu của hệ thống:
+ Yêu cầu về giao diện:
Hệ thống cần phải có một giao diện tối ưu: không quá màu mè, dễ nhìn, dễlàm việc, hạn chế gây cảm giác mỏi mắt, đau mắt cho người dùng đặc biệt
là những người tương tác với hệ thống trong thời gian dài
Tính năng tương thích màn hình trên các thiết bị cần được trú trọng vàhoàn thiện thật tốt Hiện nay, có rất nhiều thiết bị thông minh có kíchthước màn hình khác nhau nên việc tối ưu giao diện trên các thiết bị này làdiều cần thiết Việc tối ưu này sẽ giúp người dùng thao tác dễ dàng không
bị che khuất mất các nội dung trong hệ thống
+ Yêu cầu về bảo mật hệ thống:
Hệ thống cần phải được bảo mật và có tính an toàn về bảo mật người dùng
và tính toàn vẹn của hệ thống Các tài khoản người dùng sẽ được mã hõamật khẩu Một vấn đề khá quan trọng của hẹ thống là phải tránh lỗinghiệm trọng khi thao tác với cơ sở dữ liệu là “SQL Injection” Cần phảikhác phục lỗi này này một cách triệt để để hệ thống được bảo mật và antoàn hơn Hệ thống cần phải bảo mật các đường link của quản trị.+ Yêu cầu về hệ thống:
Hệ thống được được người dùng sử dụng nhiều có nhiều người dùng thìcần điều tiên quyết chính là vấn đề bảo mật, hệ thống thực sự an toàn vàbảo mật cao thì người dùng mới có thể yên tâm sử dụng hệ thống
Hệ thống cần phải phục vụ cho nhiều người dùng vì vậy hệ thống cần phảinhanh, các thao tác cần phải trơn tru, mượt mà, truy xuất dữ liệu nhanhchóng
Trang 15Hệ thống cần phải có giao diện tối ưu và dễ sử dụng Hệ thống quá khódùng thì sẽ không được người dùng ưu tiên sử dụng
Trang 16CƠ SỞ LÝ THUYẾT
1.6 Giới thiệu sơ lược về Java JSP
JavaServer Pages (JSP) là một công nghệ trong lập trình web được sửdụng để tạo các trang web tương tác sử dụng Java JSP kết hợp HTMLhoặc XML với Java để tạo nội dung động trên web Các trang JSP thườngchứa mã Java và HTML, cho phép tạo nội dung động và tương tác với cơ
sở dữ liệu
JSP cho phép nhúng mã Java vào các trang web, giúp xây dựng giao diệnngười dùng linh hoạt và tạo nội dung động Nó cung cấp các thẻ đặc biệt
để thực hiện các chức năng như khai báo biến, lặp, điều kiện, kết nối cơ
sở dữ liệu và hiển thị dữ liệu
Một điểm mạnh của JSP là khả năng tách biệt mã Java và giao diện ngườidùng, giúp phát triển ứng dụng web một cách hiệu quả và dễ bảo trì Nócũng cung cấp một cách tiếp cận dễ dàng và linh hoạt cho việc tương tácvới cơ sở dữ liệu và thực hiện logic phía máy chủ
1.7 Cơ sở lí thuyết về Java JSP
JavaServer Pages (JSP) là một công nghệ dùng để phát triển các trang web tương tự HTML hoặc XHTML, nhưng sử dụng ngôn ngữ lập trình Java để xây dựng nội dung động Đây là một công nghệ phổ biến trong việc phát triển các ứng dụng web dựa trên Java Các điểm cốt lõi của JSP bao gồm:
Ngôn ngữ lập trình:
- JSP sử dụng Java làm ngôn ngữ lập trình, cho phép phát triển ứng dụng web với logic phức tạp
Động và tĩnh:
- JSP kết hợp cả mã HTML tĩnh và mã Java động trong các trang, cho phép tạo
ra nội dung động trên trang web
Được biên dịch thành Servlet:
- Mỗi trang JSP được biên dịch thành một Servlet tương ứng trước khi chạy,
do đó tận dụng lợi ích của Servlet và cơ sở dữ liệu Java
Trang 17Thẻ (Tag) JSP:
- JSP cung cấp các thẻ (tag) cú pháp dễ sử dụng để nhúng mã Java trong trang HTML, giúp quản lý dễ dàng hơn
Cơ chế quản lý lỗi:
- JSP hỗ trợ cơ chế quản lý lỗi cho phép xử lý các trường hợp lỗi, ví dụ như việc kiểm soát truy cập, xử lý exception và hiển thị thông báo lỗi
Công nghệ JSP rất linh hoạt, cho phép phát triển ứng dụng web phong phú và đadạng, và có sức mạnh của Java ở phía sau
Trang 181.8 Ưu điểm của Java JSP
JSP (JavaServer Pages) là một công nghệ trong lĩnh vực phát triển web,cung cấp khả năng tạo các trang web động bằng việc sử dụng Java Dướiđây là một số điểm cần biết về JSP:
**Ngôn ngữ Lập Trình:** JSP cho phép lập trình viên sử dụng Java đểtạo các trang web động Nó kết hợp mã Java với HTML, CSS vàJavaScript để tạo các trang web tương tác
**Mô hình MVC (Model-View-Controller):** JSP thường được kết hợpvới các framework web như Apache Struts hoặc Spring MVC để tạo cácứng dụng web theo mô hình MVC, nơi Java được sử dụng để xử lý logicứng dụng
**Cú pháp:** JSP sử dụng thẻ `<% %>` để nhúng mã Java và `<%= %>`
để hiển thị kết quả tính toán ra trình duyệt
**Thành Phần Thư Viện (Tag Libraries):** JSP hỗ trợ thư viện thẻ, giúptái sử dụng mã và giảm độ phức tạp của mã trong JSP
**Quản lý Session:** JSP có khả năng quản lý session để theo dõi và duytrì trạng thái của người dùng trên ứng dụng web
**Tương Thích Với Java Servlets:** JSP cùng với Java Servlets là haicông nghệ quan trọng trong phát triển web Java Servlets xử lý logic nền
và JSP sử dụng để hiển thị nội dung trang web
**Môi Trường Phát Triển:** Có thể sử dụng các IDE (IntegratedDevelopment Environment) như Eclipse, NetBeans hoặc IntelliJ IDEA đểphát triển ứng dụng JSP
JSP là một công nghệ phổ biến được sử dụng trong phát triển ứng dụngweb Java, cung cấp khả năng tương tác và linh hoạt trong việc tạo ra cáctrang web động
Trang 191.9 Giới thiệu sơ lược về Java serverlets
Java Servlets là một công nghệ Java cho phép xây dựng ứng dụng web Chúng xử lýyêu cầu HTTP từ trình duyệt và tạo phản hồi tương ứng, cho phép tương tác với cơ sở
dữ liệu và thực hiện các chức năng web Đây là một thành phần quan trọng trong pháttriển ứng dụng web dựa trên Java
1.10 Cơ sở lí thuyết về Java serverlet
Java Servlets là một công nghệ Java phổ biến trong phát triển ứng dụng web.Servlets là các class giúp xử lý yêu cầu HTTP và tạo phản hồi tương ứng, cho phéptương tác với cơ sở dữ liệu và triển khai các chức năng trên web Servlets giúp làmviệc với HTTP một cách dễ dàng và giảm thiểu việc thêm các chức năng cần thiết Đây
là một công nghệ quan trọng trong việc phát triển ứng dụng web dựa trên Java
Ưu điểm của Java Servlets
Trang 20Servlets trong Java là một nền tảng mạnh mẽ cho việc phát triển ứngdụng web Điểm quan trọng của Servlets bao gồm:
- **Xử lý HTTP:** Servlets xử lý yêu cầu và tạo phản hồi HTTP,cho phép tương tác với cơ sở dữ liệu và triển khai các chức năngweb
- **Phù hợp với HTTP:** Đơn giản hóa việc làm việc với HTTP vàgiảm việc thêm các chức năng phức tạp
- **Bảo mật:** Servlets giúp xử lý an toàn với dữ liệu và thông tin
- **Đa nhiệm:** Hỗ trợ xử lý nhiều yêu cầu đồng thời
- **Dễ sử dụng và có tài liệu:** Được sử dụng rộng rãi, có tài liệu
và hỗ trợ từ cộng đồng phát triển Java
- **Tương thích cơ sở dữ liệu:** Kết nối và tương tác với cơ sở dữliệu một cách hiệu quả
- **Hiệu suất cao:** Xử lý tốt yêu cầu về hiệu suất và tốc độ
- **Khả năng mở rộng:** Linh hoạt và dễ mở rộng từ ứng dụngnhỏ đến lớn
Trang 21CHƯƠNG 2 : PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1 Phân tích yêu cầu của hệ thống
Khách hàng truy cập vào website, khách hàng có thể lựa chọn việc đăng ký tàikhoản, đăng nhập tài khoản đã có hoặc truy cập mà không cần tới tài khoản
Khi khách hàng truy cập vào website mà không đăng nhập tài khoản thì kháchhàng vẫn có thể xem các sản phẩm hiện có trong website của chúng tôi Các chức năngnhư tìm kiếm sản phẩm, tìm theo bộ lọc, tìm theo danh mục, xem các đánh giá về sảnphẩm,… Nhưng để có thể đặt hàng thì khách hàng cần phải dùn g tài khoản
Để có tài khoản thì việc đầu tiên khách hàng phải làm sẽ là đăng ký tài khoản.Khách hàng chỉ cần điền những thông tin cần thiết và hệ thống sẽ tạo ra tài khoản chokhách hàng đó Khi đã có tài khoản, khách hàng sẽ có thể đặt hàng, thêm các sản phẩmvào giỏ hàng và từ đó xem được sản phẩm trong giỏ hàng Khách hàng sẽ tìm kiếm rasản phẩm mong muốn và chọn vào đặt hàng từ đó sẽ đặt được sản phẩm đó và thựchiện thanh toán để hoàn thành quá trình mua hàng Khi khách hàng đa mua hàng vàtrải nghiệm được sản phẩm thì có thể vào đánh giá về sản phẩm đó Nếu khách hàng
có nhu cầu sửa các thông tin cá nhân thì website sẽ thay đổi lại thông tin cho kháchhàng
Admin điều hành website sẽ đăng nhập vào tài khoản của họ Admin sẽ đăngbán các sản phẩm lên website để co khách hàng lựa chọn và mua hàng Khi kháchhàng chọn được sản phẩm ưng ý và đặt hàng thì admin sẽ kiểm duyệt các đơn đó Vàkhi khách hàng đánh giá về sản phẩm nào đó thì cũng được thông qua sự kiểm duyệtcủa admin để lọc ra các đánh giá phù hợp nhất Khi một khách hàng vi phạm hoặckhông dùng tới tài khoản đó nữa thì admin có thể xóa tài khoản đó khỏi hệ thống
Trang 22Admin cũng là người viết các bài viết thông báo về các sản phẩm mới, các khuyến mãimới, các thông tin mới và những thứ khác lên trang blog của website.
2.2 Phân tích thiết kế với UML
2.2.1 Xác định các tác nhân và usecase của hệ thống
Khách hàng: Là người dùng, người tiêu thụ sản phẩm trong websibe.
1 Đăng ký tài khoản: Khách hàng tạo tài khoản mới để có thể mua hàng
2 Đăng nhập: Khách hàng đăng nhập vào tài khoản đã được đăng ký của họ
3 Tìm kiếm sản phẩm: Khách hàng sử dụng tìm kiếm để tìm ra sản phẩmmong muốn
4 Tìm kiếm theo bộ lọc: Khách hàng sử dụng bộ lọc để có thể tìm ra sản phẩmmột cách cụ thể hơn
5 Tìm kiếm trên danh mục: Khách hàng có thể dựa vào danh mục mà website
8 Xem giỏ hàng: Để xem các sản phẩm đã thêm vào giỏ hàng trước đó
9 Đặt hàng: Để cho khách hàng muốn đặt mua sản phẩm của website
10 Thanh toán: Khi đã đặt hàng khách hàng sẽ thanh toán để hoàn tất đơn hàng
11 Đánh giá sản phẩm: Khách hàng nêu cảm nhận và các đánh giá của mình vềsản phẩm
12 Chỉnh sửa thông tin tài khoản: Khi khách hàng muốn thay đổi một số thôngtin trong tài khoản mình
Quản trị viên: Là người quản trị hệ thống, điều hành và duy trì mọi hoạt động
của website
Trang 231 Đăng nhập Admin: Admin đăng nhập vào tài khoản dành riêng cho họ.
2 Đăng bán sản phẩm: Admin sẽ đăng tải các sản phẩm hiện có lên trênwebsite để cho khách hàng có những lựa chọn tốt nhất
3 Kiểm duyệt các đơn đặt hàng: Admin thực hiện xem xét các đơn đặt hàng
mà khách hàng đã đặt rồi quyết định chấp nhận giao dịch hay không
4 Duyệt các đánh giá từ khách hàng: Admin dựa trên các tiêu chuẩn để xétduyệt các đánh giá sản phẩm từ khách hàng
5 Xóa tài khoản khách hàng: Tùy vào các hoạt động của khách hàng và dựatrên các quy tắc vi phạm thì admin có thể quyết định xóa tài khoản củakhách hàng
6 Viết các tin tức lên blog
10 : Admin sẽ đăng tải các bài viết về những sản phẩm mới, các khuyến mãi,…lên trên blog để khách hàng tham khảo
2.2.2 Đặc tả Usecase
2.2.2.1 Usecase đăng ký tài khoản
Tác nhân: Khách hàng
Mô tả: Cho phép khách hàng đăng ký tài khoản mới
Tiền điều kiện: Khách hàng cần tạo tài khoản
Luồng sự kiện chính:
•Truy cập vào trang web
•Nhấn vào đăng ký
•Lựa chọn phương thức tạo tài khoản
Luồng nhánh A1: Bằng cách nhập các thông tin cá nhân
- Nhập các thông tin mà hệ thống yêu cầu
- Nhấn nút đăng ký
- Hệ thống thông báo hoàn thành đăng ký
Luồng nhánh A2: Bằng kết nối tài khoản google
Trang 24- Website sẽ kết nối với tài khoản google của họ
- Hệ thống thông báo hoàn thành đăng ký
Hậu điều kiện: Đăng nhập thành công
2.2.2.2 Usecase đăng nhập
Tác nhân: Khách hàng
Mô tả: Cho phép khách hàng đăng nhập bằng tài khoản đã đăng ký
Tiền điều kiện: Khách hàng, shop, admin đã có tài khoản
Luồng sự kiện chính:
•Truy cập vào trang web
•Nhập tài khoản mật khẩu đã đăng ký
•Nhấn vào đăng nhập
•Hệ thống kiểm tra
Luồng nhánh A1: Kiểm tra đúng thông tin
- Đăng nhập vào trang web
Luồng nhánh A2: Kiểm tra không thấy thông tin
- Không đăng nhập vào trang web
Hậu điều kiện: Đăng nhập thành công
2.2.2.3 Usecase tìm kiếm sản phẩm
Tác nhân: Khách hàng
Mô tả: Cho phép khách hàng tìm kiếm sản phẩm
Tiền điều kiện: Khách hàng có nhu cầu tìm kiếm
Luồng sự kiện chính:
·Khách hàng chọn chức năng tìm kiếm (khung tìm kiếm)
·Gõ tên sản phẩm mà khách hàng muốn tìm kiếm, hệ thống sẽ hiển thị đềxuất theo tên sản phẩm trùng lặp với sản phẩm mà khách hàng nhập vào
·Hệ thống dựa vào từ khóa để truy xuất ra sản phẩm
Trang 25·Danh sách các sản phẩm liên quan hiện lên
·Khách hàng xem thông tin chi tiết về sản phẩm khách hàng muốn tìmkiếm
·Use-case kết thúc
Hậu điều kiện: Tìm kiếm được sản phẩm mong muốn
2.2.2.4 Usecase tìm kiếm theo bộ lọc
Tác nhân: Khách hàng
Mô tả: Phân loại cho khách hàng những chi tiết hoặc tiêu chuẩn sản phẩm.Tiền điều kiện: Khách hàng có nhu cầu tham khảo qua bộ lọc để tìm kiếm.Luồng sự kiện chính:
·Khách hàng chọn vào mục “Bộ lọc” hiển thị trên trang
·Tìm các mục cần tìm sâu về sản phẩm
·Điền thông tin cần thiết vào các mục đó
·Nhấn nút lọc
·Hệ thống tìm kiếm các sản phẩm dựa trên đó
·Hiển thị danh sách các sản phẩm dựa trên các thông tin đó
·Khách hàng xem thông tin chi tiết sản phẩm do hệ thống hiển thị sau khinhận được lệnh phân loại từ khách hàng
·Use-case kết thúc
Hậu điều kiện: Tìm được sản phẩm dựa trên bộ lọc
2.2.2.5 Usecase tìm kiếm trên danh mục
Trang 26·Chọn vào danh mục mà khách hàng cần
·Hệ thống hiển thị các sản phẩm thuộc danh mục đó
·Khách hàng xem thông tin chi tiết về sản phẩm khách hàng muốn tìmkiếm
·Use-case kết thúc
Hậu điều kiện: Khách hàng, shop xem được các thông tin
2.2.2.6 Usecase xem chi tiết sản phẩm
·Có thể dựa vào tìm kiếm để tìm sản phẩm mong muốn
·Chọn một sản phẩm mà bạn muốn xem chi tiết
·Sau khi chọn sản phẩm, thông tin của sản phẩm sẽ hiện lên
·Có thể lựa chọn xem về chất lượng, thông số, mẫu mã, hãng,
·Use-case kết thúc
Hậu điều kiện: Khách hàng, shop xem được các thông tin
2.2.2.7 Usecase thêm vào giỏ hàng
Tác nhân: Khách hàng
Mô tả: Cho phép khách hàng xem thông tin về giỏ hàng của mình
Tiền điều kiện: Khách hàng muốn xem trong giỏ hàng đã có những gì
Luồng sự kiện chính:
·Khách hàng chọn chức năng giỏ hàng
·Form xem thông tin giỏ hàng xuất hiện, hệ thống hiển thị thông tin vềgiỏ hàng của khách hàng hiện tại
Trang 27·Khách hàng xem thông tin chi tiết về giỏ hàng được hiển thị
·Use-case kết thúc
Hậu điều kiện: Khách hàng xem được các sản phẩm trong giỏ hàng
2.2.2.8 Usecase xem giỏ hàng
Tác nhân: Khách hàng
Mô tả: Cho phép khách hàng xem thông tin về giỏ hàng của mình
Tiền điều kiện: Khách hàng muốn xem trong giỏ hàng đã có những gì
Trang 28·Lựa chọn hình thức thanh toán và xác nhận thông tin
·Nhấn đặt hàng
·Hệ thống sẽ gửi thông báo nếu đơn hàng được đặt thành công
Hậu điều kiện: Đặt hàng thành công
2.2.2.10Usecase thanh toán
·Khách hàng nhấn thanh toán để tạo đơn hàng
·Khách hàng nhận các thông tin yêu cầu
·Chọn phương thức thanh toán
Luồng nhánh A1: Thanh toán trực tiếp
- Tạo hóa đơn cho người giao hàng
- Người giao gặp người mua để xác nhận thanh toán của kháchhàng và gửi vào hệ thống
Luồng nhánh A2: Thanh toán online
- Khách hàng kết nối ngân hàng và thanh toán đơn hàng
- Nhận thông báo kèm hóa đơn đã thanh toán
·Hệ thống thông báo giao dịch thành công
·User-case kết thúc
Hậu điều kiện: Thanh toán thành công
2.2.2.11Usecase đánh giá sản phẩm
Tác nhân: Khách hàng
Trang 29Mô tả: Usecase này cho phép người dùng có thể đánh giá một sản phẩm đãmua.
Tiền điều kiện: Khách hàng đã mua sản phẩm
Hậu điều kiện: Đánh giá sản phẩm thành công
2.2.2.12Usecase chỉnh sửa thông tin tài khoản
·Truy cập vào website
·Chọn vào tài khoản của bạn
·Chọn vào phần chỉnh sửa thông tin cá nhân
·Nhập các thông tin cần thay thế
·Nhận thông báo hoàn thành từ hệ thống
Hậu điều kiện: Chỉnh sửa thông tin cá nhân thành công
2.2.2.13Usecase đăng nhập Admin
Tác nhân: Admin
Mô tả: Cho phép khách hàng đăng nhập bằng tài khoản đã đăng ký
Tiền điều kiện: Khách hàng, shop, admin đã có tài khoản
Luồng sự kiện chính:
Trang 30•Truy cập vào trang web
•Nhập tài khoản mật khẩu đã đăng ký
•Nhấn vào đăng nhập
•Hệ thống kiểm tra
Luồng nhánh A1: Kiểm tra đúng thông tin
- Đăng nhập vào trang web
Luồng nhánh A2: Kiểm tra không thấy thông tin
- Không đăng nhập vào trang web
Hậu điều kiện: Đăng nhập thành công
2.2.2.14Usecase đăng bán sản phẩm
Tác nhân: Admin
Mô tả: Cho phép admin đăng bán các sản phẩm mới lên trên website
Tiền điều kiện: Cần đăng sản phẩm mới lên website
Luồng sự kiện chính:
•Truy cập vào trang web
•Nhập đăng nhập vào tài khoản admin
•Chọn đăng bán sản phẩm
•Admin nhập các thông tin của sản phẩm
•Nhấn vào đăng bán
•Hệ thống lưu lại sản phẩm mới
•Hệ thống thông báo đăng bán thành công
• User-case kết thúc
Hậu điều kiện: Đăng bán sản phẩm thành công
2.2.2.15Usecase kiểm duyệt các đơn đặt hàng
Tác nhân: Admin
Trang 31Mô tả: Cho phép admin duyệt các đơn hàng từ khách hàng
Tiền điều kiện: Cần duyệt các đơn hàng của khách hàng
Luồng sự kiện chính:
•Truy cập vào trang web
•Nhập đăng nhập vào tài khoản admin
•Chọn danh sách đơn hàng
•Admin lựa chọn cho phép hoặc không
•Hệ thống lưu lại lưa chọn của admin
• User-case kết thúc
Hậu điều kiện: Kiểm duyệt đơn hàng thành công
2.2.2.16Usecase duyệt các đánh giá từ khách hàng
Tác nhân: Admin
Mô tả: Cho phép admin đăng bán các sản phẩm mới lên trên website
Tiền điều kiện: Cần đăng sản phẩm mới lên website
Luồng sự kiện chính:
•Truy cập vào trang web
•Nhập đăng nhập vào tài khoản admin
•Chọn đăng bán sản phẩm
•Admin nhập các thông tin của sản phẩm
•Nhấn vào đăng bán
•Hệ thống lưu lại sản phẩm mới
•Hệ thống thông báo đăng bán thành công
• User-case kết thúc
Hậu điều kiện: Duyệt các đánh giá từ khách hàng thành công
Trang 322.2.2.17Usecase xóa tài khoản khách hàng
Tác nhân: Admin
Mô tả: Cho phép admin đăng bán các sản phẩm mới lên trên website
Tiền điều kiện: Cần đăng sản phẩm mới lên website
Luồng sự kiện chính:
•Truy cập vào trang web
•Nhập đăng nhập vào tài khoản admin
•Chọn danh sách tài khoản
•Chọn tài khoản cần xóa
•Hệ thống xóa tài khoản đó
•Hệ thống thông báo xóa tài khoản thành công
• User-case kết thúc
Hậu điều kiện: Xóa tài khoản khách hàng thành công
2.2.2.18Usecase viết các tin tức lên blog
Tác nhân: Admin
Mô tả: Cho phép admin đăng các tin tức mới lên trên Blog của websiteTiền điều kiện: Cần đăng tin tức mới lên Blog
Luồng sự kiện chính:
•Truy cập vào trang web
•Nhập đăng nhập vào tài khoản admin
•Chọn đăng bài viết
•Admin nhập các thông tin của bài viết
•Hệ thống lưu lại bài viết
•Hệ thống đăng lên trang Blog của website
• User-case kết thúc
Hậu điều kiện: Đăng tin tức mới thành công
Trang 332.2.3 Mô hình hóa yêu cầu
2.2.3.1 UseCase Diagram
Hình 2 1Biểu đồ Usecase nhân viên
Hình 2 2b Biểu đồ Usecase admin
Trang 342.2.3.2 Class Diagram
Hình 2 3 Biểu đồ Class Diagram
2.2.3.3 Sequence Diagram
2.2.3.3.1 Đăng ký tài khoản
Hình 2 4 Sequence Diagram – Đăng ký tài khoản