Lê Thị Minh Châu SĐT: 0902200557 Tên đề tài: XÂY DỰNG VÀ THIẾT KẾ HỆ THỐNG CỬA HÀNG BÁN LINH KIỆN ĐIỆN TỬ SỬ DỤNG CÔNG NGHỆ MERN STACK... LỜI NÓI ĐẦUTrong những năm gần đây với sự phá
Trang 1TIỂU LUẬN CHUYÊN NGÀNH
Đề tài: XÂY DỰNG VÀ THIẾT KẾ HỆ THỐNG CỬA HÀNG
BÁN LINH KIỆN ĐIỆN TỬ
SỬ DỤNG CÔNG NGHỆ MERN STACK
GVHD: Ths LÊ THỊ MINH CHÂU
Sinh viên thực hiê ̣n:
Trang 2KHOA CÔNG NGHỆ THÔNG TIN
- -TIỂU LUẬN CHUYÊN NGÀNH
Đề tài: XÂY DỰNG VÀ THIẾT KẾ HỆ THỐNG CỬA HÀNG
BÁN LINH KIỆN ĐIỆN TỬ
SỬ DỤNG CÔNG NGHỆ MERN STACK
GVHD: Ths LÊ THỊ MINH CHÂU
Sinh viên thực hiê ̣n:
Lớp: 17110IS Khoá: 2017-2021 Ngành: CÔNG NGHỆ THÔNG TIN
TP.HCM, Tháng 7 – 2020
Trang 3Tp Hồ Chí Minh, ngày 01 tháng 07 năm 2020
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Họ và tên Sinh viên 2: Trương Quang Tịnh MSSV: 17110381
Ngành: Công nghệ Thông tin
Họ và tên Giáo viên hướng dẫn: Th.S Lê Thị Minh Châu SĐT: 0902200557
Tên đề tài: XÂY DỰNG VÀ THIẾT KẾ HỆ THỐNG CỬA HÀNG BÁN LINH KIỆN ĐIỆN TỬ SỬ DỤNG CÔNG NGHỆ MERN STACK
Trang 4Độc lập – Tự do – Hạnh phúc
*******
Tp Hồ Chí Minh, ngày 01 tháng 07 năm 2020
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Họ và tên Sinh viên 1: Ngô Văn Hải MSSV: 17110292
Họ và tên Sinh viên 2: Trương Quang Tịnh MSSV: 17110381
Chuyên ngành: Hệ thống thông tin
Tên đề tài: XÂY DỰNG VÀ THIẾT KẾ HỆ THỐNG CỬA HÀNG BÁN LINH KIỆN ĐIỆN TỬ SỬ DỤNG CÔNG NGHỆ MERN STACK
Họ và tên Giáo viên phản biện: ……….
Tp Hồ Chí Minh, ngày tháng năm 202
Giáo viên phản biện
Trang 6LỜI CẢM ƠN
Nhóm em xin chân thành cảm ơn quí thầy cô đã giúp đỡ thực hiện đề tài này Đặc biệt cô
Lê Thị Minh Châu đã tận tình hướng dẫn, giúp đỡ, chỉ bảo nhóm trong suốt thời gian
thực hiện tiểu luận chuyên ngành
Đồng thời nhóm cũng xin trân trọng cảm ơn những tình cảm quí báu mà các thầy cô trong trường Đai Học sư phạm kỹ thuật TPHCM đã truyền đạt cho nhóm, những kinh nghiệm, kỹ thuật và cách thức trong việc xây dựng đề tài này.
Và cuối cùng nhóm cũng xin được gửi lời cảm ơn đến những người bạn đã gắn bó, những đàn anh, đàn chị đã chia sẻ kinh nghiệm và những kiến thức và nhất là trong thời gian thực hiện đề tài, để đề tài có thể hoàn thành một cách thành công nhất.
Song, do còn nhiều hạn chế đề tài nhóm xây dựng không tránh khỏi những thiếu sót Rất mong được thầy cô và các bạn đóng góp ý kiến để chương trình ngày càng hoàn thiện và được đưa vào sử dụng Chúng em xin chân thành cảm ơn.
TP.HCM, ngày… tháng … năm …
Sinh viên thực hiê ̣n Ngô Văn Hải Trương Quang Tịnh
Trang 7MỤC LỤC
LỜI NÓI ĐẦU 10
CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG 11
1.1 Phân tích hiê ̣n trạng: 11
1.2 Phân tích yêu cầu 11
1.2.1 Yêu cầu chức năng nghiê ̣p vụ: 11
1.2.2 Bảng yêu cầu chức năng nghiê ̣p vụ: 12
1.2.3 Bảng yêu cầu chức năng hê ̣ thống: 12
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 13
2.1 MongoDB 13
2.1.1 Ưu điểm của của Mongo DB 13
2.1.2 Nhược điểm của của Mongo DB 13
2.2 ExpressJS 14
2.3 React 14
2.4 NodeJS 14
CHƯƠNG 3: PHÂN TÍCH TRANG WEB 16
3.1 Thành phần dữ liệu 16
3.1.1 Thành phần tổ chức 16
3.2.1 Thành phần dữ liệu 16
3.2 Thiết kế dữ liệu 19
CHƯƠNG 4: MÔ HÌNH HOÁ YÊU CẦU VÀ PHÂN TÍCH HỆ THỐNG 21
4.1 Các tác nhân và chức năng: 21
4.1.1 Mô tả chi tiết từng chức năng của các tác nhân: 22
4.2 Sơ đồ use-case 24
4.2.1 Sơ đồ usecase: 24
4.2.2 Đặc tả use-case 27
4.3 Biểu đồ hoạt động: 36
4.3.1 Đăng ký thành viên: 36
4.3.2 Đăng nhập vào hệ thống: 36
4.3.3 Đổi mật khẩu: 37
4.3.4 Tìm kiếm sản phẩm: 37
Trang 84.3.7 Xem thông tin cá nhân: 39
CHƯƠNG 5: THIẾT KẾ GIAO DIỆN 40
5.1 Trang người dùng 40
5.1.1 Trang đăng nhập (Login) 40
5.1.2 Trang đăng kí (Register) 40
5.1.3 Trang chủ (Home) 41
5.1.4 Trang sản phẩm (Products) 42
5.1.5 Trang chi tiết sản phẩm 42
5.1.6 Trang danh sách địa chỉ khách hàng 43
5.1.8 Trang đặt hàng 43
5.1.9 Trang xem lịch sử giao dịch 44
5.2 Trang quản trị người dùng 45
5.2.1 Trang chủ 45
5.2.2 Trang quản lý người dùng 45
5.2.3 Trang quản lý sản phẩm 46
5.2.4 Trang quản lý loại sản phẩm 46
5.2.5 Trang quản lý đơn hàng 47
5.2.6 Trang chi tiết đơn hàng 47
6.1 Để cài đặt ứng dụng 49
6.1.1 Các bước cài đặt 49
6.2 Kiểm thử phần mềm 52
6.2.1 Chức năng đăng ký 52
6.2.2 Chức năng đăng nhập 53
6.2.3 Chức năng quên mật khẩu 53
6.2.4 Chức năng tạo lại mật khẩu 54
CHƯƠNG 7: TỔNG KẾT 55
7.1 Kết quả đạt được 55
7.2 Ưu điểm và nhược điểm 55
7.2.1 Ưu điểm 55
7.2.2 Nhược điểm 55
7.3 Kinh nghiệm đạt được 55
7.4 Hướng phát triển trong tương lai 55
Trang 9DANH MỤC HÌNH ẢNH
Hình 3 1 Thiết kế dữ liệu 19
Y Hình 4 1 Sơ đồ tổng quát của hệ thống 25
Hình 4 2 Biểu đồ usecase đăng kí đăng nhập 25
Hình 4 3 Biểu đồ uscase tìm kiếm sản phẩm 26
Hình 4 4 Biểu đồ usecase quản lí đơn hàng 26
Hình 4 5 Biểu đồ usecase mua hàng của khách hàng 27
Hình 4 6 Sơ đồ thống kê 27
Hình 4 7 Biểu đồ hoạt dộng đăng ký thành viên 37
Hình 4 8 Biểu đồ hoạt dộng đăng nhập hệ thống 37
Hình 4 9 Biểu đồ hoạt động đổi mật khẩu 38
Hình 4 10 Biểu đồ hoạt động tìm kiếm sản phẩm 38
Hình 4 11 Biểu đồ hoạt động xem sản phẩm 39
Hình 4 12 Biểu đồ hoạt động xem giỏ hàng 39
Hình 4 13 Biểu đồ hoạt động xem thông tin cá nhân 40
Hình 5 1 Trang dăng nhập 41
Hình 5 2 Trang đăng ký 41
Hình 5 3 Trang chủ (client) 42
Hình 5 4 Trang sản phẩm 43
Hình 5 5 Trang chi tiết sản phẩm 43
Hình 5 6 Trang danh sách địa chỉ khách hàng 44
Hình 5 7 Trang giỏ hàng 44
Hình 5 8 Trang đặt hàng 45
Hình 5 9 Trang lịch sử giao dịch 45
Hình 5 10 Trang chủ (Admin) 46
Hình 5 11 Trang quản lý người dùng 46
Hình 5 12 Trang quản lý sản phẩm 47
Hình 5 13 Trang quản lý loại sản phẩm 47
Hình 5 14 Trang quản lý đơn hàng 48
Hình 5 15 Trang chi tiết đơn hàng 48
Hình 5 16 Trang xuất hoá đơn 50
Y Hình 6 1 Giao diện visual studio code (client) 46
Hình 6 2 Giao diện visual studio code (server) 47
Hình 6 3 Màn hình Intergrate Command Line (client) 47
Hình 6 4 Màn hình Intergrate Command Line (server) 47
Hình 6 5 Màn hình Intergrate Command Line (client) 48
Hình 6 6 Màn hình Intergrate Command Line (server) 48
Trang 10DANH MỤC BẢNG
YBảng 1 1 Bảng yêu cầu chức năng nghiệp vụ
Bảng 1 2 Bảng yêu cầu chức năng hệ thống 13
Y Bảng 3 1 Bảng Users 16
Bảng 3 2 Bảng Products 17
Bảng 3 3 Bảng Categories 17
Bảng 3 4 Bảng Checkout 18
Bảng 4 1 Bảng các tác nhân và chức năng 22
Bảng 4 2 Bảng mô tả chức năng của quản trị viên 23
Bảng 4 3 Bảng mô tả chức năng của khách 23
Bảng 4 4 Bảng mô tả chức năng của khách hàng 24
Bảng 4 5 Đặc tả use case đăng nhập 28
Bảng 4 6 Đặc tả use case đăng ký 29
Bảng 4 7 Đặc tả use case thanh toán 30
Bảng 4 8 Đặc tả use case tìm kiếm sản phẩm 30
Bảng 4 9 Đặc tả use case thêm sản phẩm 31
Bảng 4 10 Đặc tả use case xoá sản phẩm 31
Bảng 4 11 Đặc tả use case xem sản phẩm 32
Bảng 4 12 Đặc tả use case xem thông tin cá nhân 32
Bảng 4 13 Đặc tả use case thêm vào giỏ hàng 33
Bảng 4 14 Đặc tả use case nhận và giao hàng 33
Bảng 4 15 Đặc tả use case cập nhật thông tin sản phẩm 34
Bảng 4 16 Đặc tả use case thêm loại sản phẩm 34
Bảng 4 17 Đặc tả use case xoá loại sản phẩm 35
Bảng 4 18 Đặc tả use case cập nhật loại sản phẩm 35
Bảng 4 19 Đặc tả use case quên mật khẩu 36
Y Bảng 6 1 Kiểm thử chức năng đăng ký 49
Bảng 6 2 Kiểm thử chức năng đăng nhập 50
Bảng 6 3 Kiểm thử chức năng quên mật khẩu 50
Bảng 6 4 Kiểm thử chức năng tạo lại đổi mật khẩu 51
Trang 11LỜI NÓI ĐẦU
Trong những năm gần đây với sự phát triển vượt trội của khoa học kỹ thuật đặt biệt
là công nghệ thông tin, với những ứng dụng của công nghệ thông tin vào các lĩnh vực đã đóng góp phần to lớn cho sự nghiệp phát triển của con người Cùng với sự phát triển nhanh chóng của Internet thì các hình thức mua và bán hàng hóa cho mọi người ngày càng đa dạng và phát triển hơn Các ứng dụng Web ngày càng trở nên phổ biến Trước nhu cầu đó, cùng với yêu cầu môn học, nhóm chúng em quyết định chọn đề tài Xây dựng Website bán hàng trực tuyến, cụ thể là bán linh kiện và thiết bị điện tử.
Bài báo cáo này sẽ đề câ ̣p đến quá trình thực hiê ̣n đề tài từ lúc xây dựng ý tưởng, khảo sát hiê ̣n trạng, xác định yêu cầu, phân tích thiết kế hê ̣ thống, thiết kế giao diê ̣n… cho đến lúc cài đă ̣t, kiểm thử và hoàn thiê ̣n chương trình Bài báo cáo gồm các Chương chính như sau:
Chương 1: Khảo sát hiê ̣n trạng
Chương 2: Cơ sở lý thuyết
Chương 3: Phân tích trang web
Chương 4: Thiết kế giao diện
Chương 5: Mô hình hoá yêu cầu và phân tích hệ thống
Chương 6: Cài đặt và thử nghiệm
Chương 7: Tổng kết.
Trang 12CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG
Thương mại điê ̣n tử ngày càng bùng nổ trên toàn cầu, và Việt Nam chính là một trong những đất nước sử dụng điện thoại di động thường xuyên nhất Theo báo cáo từ Picodi cho biết, cứ 10 giao dịch thì 8 giao dịch được thực hiện bằng internet mỗi ngày trong năm 2019.
Bên cạch những món đồ da dụng được mua hàng ngày thì những linh kiê ̣n thiết bị điê ̣n tử ngày càng được khách hàng tin tưởng và mua nhiều hơn Do đó, nhu cầu xây dựng một website bán các thiết bị điện tử trở nên thiết yếu Chính vì vậy, nhóm đã quyết định chọn đề tài “Xây dựng và thiết kế website bán linh kiện và thiết bị điện tử” này, mục đích là tạo ra một sản phẩm đáp ứng được nhu cầu của thị trường hiện nay.
Với các chức năng hoàn chỉnh, có tính đóng gói cùng với giao diện nổi bật, dễ dàng thao tác Nhóm quyết định chọn Website phongvu.vn là tài liệu tham khảo để phát triển đề tài lần này.
1.2.1 Yêu cầu chức năng nghiê ̣p vụ:
Lưu trữ:
- Người dùng: tên, email, mật khẩu
- Sản phẩm: tên, giá tiền, bảo hành, nhãn hiệu, mô tả, nô ̣i dung, hình ảnh, loại sản phẩm, số lượng sản phẩm, số lượng sản phẩm đã bán, sản phẩm đã xoá
- Loại sản phẩm: tên loại.
- Đơn hàng: thông tin người mua, địa chỉ, giỏ hàng, số lượng, giá, tổng giá, trạng thái đơn hàng, chi phí giao hàng.
Tra cứu:
- Sản phẩm: Theo mô ̣t tiêu chuẩn nào đó.
- Đơn hàng: Theo mô ̣t tiêu chuẩn nào đó.
- Loại sản phẩm: Theo mô ̣t tiêu chuẩn nào đó.
Tính toán:
- Tính tổng tiền khi mua sản phẩm.
- Thống kê doanh thu.
Kết xuất:
Trang 131.2.2 Bảng yêu cầu chức năng nghiê ̣p vụ:
nhâ ̣p và đăng kí
Lưu trữ Người QTV hoă ̣c người dùng phải
đăng nhâ ̣p để sử dụng phần mềm, nếu người dùng chưa có tài khoản thì
có thể đăng ký.
QTV: quản trị viên
2 Câ ̣p nhâ ̣t sản phẩm Lưu trữ QTV có thể thêm, xoá, sửa sản phẩm QTV: quản trị viên
3 Tính tiền Tính toán Tính tổng tiền khi người dùng
checkout sản phẩm
thông tin
về sản phẩm
Tra cứu Việc tìm thông tin sản phẩm dựa trên
thông tin tên sản phẩm, loại sản phẩm.
Bảng 1 Bảng yêu cầu chức năng nghiệp vụ
1.2.3 Bảng yêu cầu chức năng hê ̣ thống:
kí, đăng nhập, xem hoặc mua sản phẩm…
Bảng 1 Bảng yêu cầu chức năng hệ thống
Trang 14CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
MERN stack là tâ ̣p hợp của bốn công nghệ mã nguồn mở đều liên quan đến Javascript được sử dụng rô ̣ng rãi đó là: MongoDB, ExpressJS, React/React Native, NodeJS Người
ta dùng MERN stack để xây dựng React Universal App Trong đó:
MongoDB là một cơ sở dữ liệu mã nguồn mở và là cơ sở dữ liệu NoSQL (*) hàng
đầu, được hàng triệu người sử dụng MongoDB được viết bằng C++.
Ngoài ra, MongoDB là một cơ sở dữ liệu đa nền tảng, hoạt động trên các khái
niệm Collection và Document, nó cung cấp hiệu suất cao, tính khả dụng cao và khả năng mở rộng dễ dàng.
2.1.1 Ưu điểm của của Mongo DB
Ít schema hơn: Vì schema được sinh ra là để nhóm các đối tượng vào 1 cụm, dễ quản lý Ví dụ như tạo một schema tên là Students chẳng hạn thì chỉ có những gì liên quan đến student thì mới được cho vào schema này Trong khi đó trong mongodb thì chỉ 1 collection ta có thể chứa nhiều document khác nhau Với mỗi document thì số trường, nội dung, kích thước lại có thể khác nhau.
Cấu trúc của một đối tượng rõ ràng.
Không có các Join phức tạp.
Khả năng mở rộng cực lớn: việc mở rộng dữ liệu mà không phải lo đến các vấn đề như khóa ngoại, khóa chính, kiểm tra ràng buộc MongoDB cho phép thực hiện replication và sharding nên việc mở rộng cũng thuận lợi hơn.
Sử dụng bộ nhớ trong để lưu giữ cửa sổ làm việc cho phép truy cập dữ liệu nhanh hơn Việc cập nhật được thực hiện nhanh gọn nhờ update tại chỗ (in- place).
2.1.2 Nhược điểm của của Mongo DB
Dữ liệu được caching, lấy RAM làm trọng tâm hoạt động vì vậy khi hoạt động yêu cầu một bộ nhớ RAM lớn
Trang 15 Như đã giới thiệu ở trên, mọi thay đổi về dữ liệu mặc định đều chưa được ghi xuống ổ cứng ngay lập tức vì vậy khả năng bị mất dữ liệu từ nguyên nhân mất điện đột xuất là rất cao.
Do là một hệ quản trị cơ sở dữ liệu mới ra đời và phát triển chưa được lâu, nên MongoDB cũng chưa thể hổ trợ các tính năng liên quan đến việc bảo mật cơ sở dữ liệu một cách hoàn chỉnh và ổn định như các đàn anh đi trước (*): NoSQL là một dạng CSDL mã nguồn mở không sử dụng Transact-SQL để truy vấn thông tin NoSQL viết tắt bởi: None-Relational SQL, hay có nơi thường gọi là Not-Only SQL CSDL này được phát triển trên Javascript Framework với kiểu dữ liệu JSON (Cú pháp của JSON là “key: value”) NoSQL ra đời như là 1 mảnh vá cho những khuyết điểm
và thiếu xót cũng như hạn chế của mô hình dữ liệu quan hệ RDBMS về tốc độ, tính năng, khả năng mở rộng, memory cache…
Expressjs là một framework được xây dựng trên nền tảng của Nodejs Nó cung cấp các tính năng mạnh mẽ để phát triển web hoặc mobile Expressjs hỗ trợ các method HTTP và midleware tạo ra API vô cùng mạnh mẽ và dễ sử dụng.
Để có thể áp dụng công nghệ này cho đề tài, nhóm sẽ sử dụng Expressjs để phát triển các services là các Rest API Mục đích của việc dùng Rest API là vì chúng ta
có thể dễ dàng phát triển hệ thống trên nhiều nền tảng khác không chỉ riêng cho việc viết web trực tuyến, đồng thời như đã nói ở trên về công dụng của Microservices thì phát triển hệ thống như thế này là sẽ chia hệ thống ra thành 2 thành phần đó là server và client Server ở đây chính là các services được chia nhỏ
ra với ExpressJS Framework, ở đây xử lý dữ liệu sau đó sẽ trả dữ liệu có ích về cho Client hiển thị cho người dùng.
React là một thư viện JavaScript mã nguồn mở, giao diện người dùng để xây
dựng giao diện người dùng hoặc các thành phần UI Nó được duy trì bởi Facebook
và một cộng đồng các nhà phát triển và công ty cá nhân React có thể được sử
dụng như một cơ sở để phát triển các ứng dụng trang web hoặc di động.
Node.js là một hệ thống phần mềm được thiết kế để viết các ứng dụng internet có
khả năng mở rộng, đặc biệt là máy chủ web Chương trình được viết bằng C, C++,
JavaScript, sử dụng kỹ thuật điều khiển theo sự kiện, nhập/xuất không đồng bộ
để tối thiểu tổng chi phí và tối đa khả năng mở rộng.
Trang 16NodeJS ra đời nhờ những lập trình viên đầu tiên của JavaScript mở rộng nó từ
một ngôn ngữ chỉ có thể thực thi trên trình duyệt thành ngôn ngữ có thể thực thi độc lập trên máy tính.
NodeJS cũng giống với trình duyệt hiện nay, được chạy dựa trên V8 JavaScript
engine - công cụ giúp trình duyệt dịch và thực thi JavaScript Ngoài ra, NodeJS
cung cấp một số thư viện không có sẵn trong V8 engine.
Trang 17CHƯƠNG 3: PHÂN TÍCH TRANG WEB
3.1.1 Thành phần tổ chức 3.1.1.1 Front-end
Phần front-end của một trang web là phần tương tác với người dùng Tất
cả mọi thứ bạn nhìn thấy khi điều hướng trên Internet, từ các font chữ, màu sắc cho tới các menu xổ xuống và các thanh trượt, là một sự kết hợp của HTML, CSS, và JavaScript được điều khiển bởi trình duyệt máy tính của bạn.
Nó sẽ thực hiện việc nhận và gửi dữ liệu giữa giao diện người dùng với Server thông qua các API.
3.1.1.2 Back-end
Xử lý các dữ liệu được gửi đến từ phía Client để lưu xuống Database, lấy dữ liệu thô từ dưới Database, điều chỉnh trở về các dữ liệu có ích để hiển thị trên UI và trả về cho Client:
3.2.1 Thành phần dữ liệu 3.2.1.1 Users (_id, name, email, password, addresses, role, cart, isBlock, createdAt, updatedAt)
ST
Bảng 3 Bảng Users
Trang 183.2.1.2 Products (_id, title, prices, warranty, brand, description, content, images, category, quantity, sold, isDelete, createdAt, updatedAt)
ST
Bảng 3 Bảng Products 3.2.1.3 Categories (_id, name, createdAt, updatedAt)
ST
Bảng 3 Bảng Categories
Trang 193.2.1.4 Checkout (_id, userId, name, email, address, cart, status, payments, tax, deliveryCharges, createdAt, updatedAt)
ST
Bảng 3 Bảng Checkout
Trang 203.2 Thiết kế dữ liệu
Sơ đồ thiết kế dữ liệu
Hình 3 Thiết kế dữ liệu
Trang 21CHƯƠNG 4: MÔ HÌNH HOÁ YÊU CẦU VÀ PHÂN TÍCH HỆ THỐNG
- Quản lý loại sản phẩm
- Quản lý đơn hàng
- Quản lý người dùng Bảng 4 Bảng các tác nhân và chức năng
Trang 224.1.1 Mô tả chi tiết từng chức năng của các tác nhân:
1 Đăng nhập Đăng nhập vào hệ thống
2 Thêm sản phẩm QTV sẽ thêm sản phẩm mới
3 Cập nhật sản
phẩm
QTV có quyền cập nhật sản phẩm nếu có sản phẩm có sai sót
4 Xoá sản phẩm QTV sẽ xoá sản phẩm khi không kinh doanh mặt
10 Thống kê Thống kê sản phẩm đã bán, doanh thu theo một
tiêu chuẩn nào đó
11 Khuyến mãi Quản lý chính sách khuyến mãi theo loại sản
phẩm
Bảng 4 Bảng mô tả chức năng của quản trị viên
13 Xem sản phẩm Khách có thể xem, tìm kiếm sản phẩm, lọc sản
phẩm, sắp xếp sản phẩm
Bảng 4 Bảng mô tả chức năng của khách
Trang 234.1.1.3 Mô tả chức năng của khách hàng:
14 Đăng nhập Đăng nhập vào website
15 Xem sản phẩm Khách hàng có thể xem, tìm kiếm sản phẩm, lọc
sản phẩm, sắp xếp sản phẩm
16 Lấy lại mật khẩu Lấy lại mật khẩu nếu người dùng quên mật khẩu
17 Quản lý giỏ hàng Người dùng quản lý giỏ hàng của mình
18 Đặt hàng Đặt hàng khi khách hàng đã thêm món hàng vào
Khi xem sản phẩm, người dùng có thể xem các sản phẩm có liên quan đến loại sản phẩm người dùng đang xem.
21 Cập nhật thông
tin
Khách hàng có thể tự cập nhật thông tin cá nhân
Bảng 4 Bảng mô tả chức năng của khách hàng
Trang 244.2 Sơ đồ use-case 4.2.1 Sơ đồ usecase:
Hình 4 Sơ đồ tổng quát của hệ thống
Hình 4 Biểu đồ usecase đăng kí đăng nhập
Trang 25Hình 4 Biểu đồ uscase tìm kiếm sản phẩm
Hình 4 Biểu đồ usecase quản lí đơn hàng
Trang 26Hình 4 Biểu đồ usecase mua hàng của khách hàng
Hình 4 Sơ đồ thống kê
Trang 274.2.2 Đặc tả use-case
Use Case Đăng nhập
Các bước thực hiện
(1) Click vào nút đăng nhập (2) Nhập email và password (3) Nhấn nút “Đăng Nhập” hoặc nhấn Enter (4) Nếu đăng nhập thất bại, sẽ có thông báo lỗi (5) Nếu đăng nhập thành công thì có thể thực hiện được các
tác vụ được cho phép.
Luồng sự kiện rẽ nhánh:
- Thành viên đăng nhập không thành công: hệ
thống báo quá trình đăng nhập không thành công Chọn đăng ký hay đăng nhập lại.
- Hệ thống yêu cầu nhập lại tên và mật khẩu Nếu
đồng ý quay trở lại bước 2 UC kết thúc.
- Thành viên đăng nhập thành công có thể sử dụng
các chức năng mà hệ thống cung cấp.
Bảng 4 Đặc tả use case đăng nhập
Trang 284.2.2.2 Đặc tả use-case đăng ký Use Case Đăng Kí
Tác nhân kích hoạt Khách xem
Các bước thực hiện
(1) Vào trang chủ của website (2) Chọn Login sau đó chọn Register trong giao diện Login (3) Tiến hành nhập thông tin khách hàng muốn thêm vào,
bao gồm : tên, email, password.
(4) Nhập xong bấm nút “Register”
(5) Nếu thêm thành công, thông tin đọc giả sẽ được cập nhật
vào CSDL và hiển thị thông báo “Đăng kí thành công”.
UC kết thúc.
(6) Nếu thêm thất bại, thông báo lỗi và quay lại bước 3.
Thành viên đăng nhập thành công có thể sử dụng các chức năng mà hệ thống cung cấp.
Bảng 4 Đặc tả use case đăng ký