Ngôn ngữ kịch bản chính - 123
Cong nghe thong tin (Đại học Điện lực)
Scan to open on Studocu
Studocu is not sponsored or endorsed by any college or university
Ngôn ngữ kịch bản chính - 123
Cong nghe thong tin (Đại học Điện lực)
Scan to open on Studocu
Studocu is not sponsored or endorsed by any college or university
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com)
lOMoARcPSD|50662567
TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO CHUYÊN ĐỀ HỌC
PHẦN
NGÔN NGỮ KỊCH BẢN
ĐỀ TÀI:
XÂY DỰNG WEBSITE BÁN LAPTOP VÀ PHỤ KIỆN
Sinh viên thực hiện : HUỲNH NHẬT LINH
VŨ TRUNG HIẾU
Giảng viên hướng dẫn : ĐỖ ĐỨC CƯỜNG
Ngành : CÔNG NGHỆ THÔNG TIN
Chuyên ngành : CÔNG NGHỆ PHẦN MỀM
Lớp : D15CNPM3
Khóa : 2020 – 2025
Hà Nội, tháng 12 năm 2023
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com)
lOMoARcPSD|50662567
PHIẾU CHẤM ĐIỂM
Sinh viên thực hiện:
STT Họ và tên sinh viên Nội dung thực hiện Điểm Chữ ký
1 Huỳnh Nhật Linh
MSV: 20810340174
2 Vũ Trung Hiếu
MSV: 20810340200
Giảng viên chấm:
Họ và tên Chữ ký Ghi chú
Giảng viên chấm 1 :
Giảng viên chấm 2 :
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com)
lOMoARcPSD|50662567
MỤC LỤC
Tran
g
CHƯƠNG 1. GIỚI THIỆU CHUNG......................................................................
1.1. Giới thiệu về NodeJS.....................................................................................
1.2. Giới thiệu về ReactJS....................................................................................
1.3. Giới thiệu hệ quản trị cơ sở dữ liệu MongoDB, MySQL, Workbench...........
CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ THIẾT KẾ HỆ THỐNG..............
2.1. Khảo sát hiện trạng........................................................................................
2.2. Mô tả bài toán................................................................................................
2.2.1. Các chức năng hệ thống......................................................................
2.2.2. Yêu cầu về chức năng.........................................................................
2.2.3. Yêu cầu phi chức năng.....................................................................
2.2.4. Công cụ lập trình và ngôn ngữ sử dụng............................................
2.3. Đặc tả chức năng của hệ thống....................................................................
2.3.1. Usecase tổng quát.............................................................................
2.3.2. Mô tả usecase...................................................................................
2.3.3. Biểu đồ tuần tự.................................................................................
CHƯƠNG 3. GIAO DIỆN WEBSITE.................................................................
3.1. Giao diện đăng nhập của admin...................................................................
3.2. Giao diện đăng nhập, đăng ký của khách hàng............................................
3.3. Giao diện Admin.........................................................................................
3.4. Giao diện trang chủ......................................................................................
3.5. Giao diện giỏ hàng.......................................................................................
KẾT LUẬN...........................................................................................................
TÀI LIỆU THAM KHẢO.....................................................................................
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com)
lOMoARcPSD|50662567
LỜI MỞ ĐẦU
1.Lý do chọn đề tài
Trong thời đại công nghệ ngày nay, sự phổ biến của mạng Internet đã
mở ra những hội mới cho việc kinh doanh trực tuyến. Việc xây dựng một
trang web bán hàng không chỉ một hội kinh doanh còn thách thức
đối với nhóm em, những người muốn kết hợp sự sáng tạo kỹ năng lập
trình.
Chính lẽ đó, quyết định chọn đề tài "Xây dựng web bán laptop
phụ kiện bằng Node.js" không chỉ sự lựa chọn nhân của nhóm em
còn là sự đánh giá cao về tiềm năng mà Node.js mang lại trong việc phát triển
ứng dụng web đa dạng mạnh mẽ. Node.js không chỉ một nền tảng phổ
biến còn giúp nhóm em tối ưu hóa hiệu suất đáp ứng nhanh chóng, tạo
ra trải nghiệm người dùng tốt nhất.
Nhóm em hy vọng rằng dự án này không chỉ mang lại sự hiểu biết sâu
rộng về Node.js còn một bước tiến quan trọng trong việc áp dụng kiến
thức lý thuyết vào thực tế, từ đó đạt được kết quả tích cực trong lĩnh vực phát
triển web và thương mại điện tử.
2.Cấu trúc của báo cáo
Cấu trúc báo cáo sẽ chia thành 3 chương chính:
Chương 1: Giới thiệu chung
Chương 2: Khảo sát hệ thống và thiết kế hệ thống
Chương 3: Giao diện website
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com)
lOMoARcPSD|50662567
CHƯƠNG 1. GIỚI THIỆU CHUNG
1.1 Giới thiệu về NodeJS
NodeJS nền tảng phía máy chủ được xây dựng trên công cụ
JavaScript của Google Chrome (V8 Engine). Node.js được phát triển bởi
Ryan Dahl trong năm 2009 phiên bản mới nhất của v0.10.36. Định
nghĩa của Node.js được cung cấp bởi https://nodejs.org
Node.js môi trường thời gian chạy đa nền tảng nguồn mở để phát
triển các ứng dụng mạng phía máy chủ. Các ứng dụng Node.js được viết
bằng JavaScript và có thể chạy trên OS X, Microsoft Windows và Linux.
Node.js cũng cung cấp một thư viên phong phú gồm nhiều mô-đun
JavaScript khác nhau giúp đơn giản hóa việc phát triển các ứng dụng web
bằng cách sử dụng Node.js đến một mức độ lớn.
Node.js = Runtime Environment + JavaScript Library
*Ưu điểm của NodeJS
- IO hướng sự kiện không đồng bộ, cho phép xử nhiều yêu cầu
đồng thời.
- Sử dụng JavaScript – một ngôn ngữ lập trình dễ học.
- Chia sẻ cùng code ở cả phía client và server.
- NPM(Node Package Manager) module Node đang ngày càng
phát triển mạnh mẽ.
- Cộng đồng hỗ trợ tích cực.
- Cho phép stream các file có kích thước lớn.
1
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com)
lOMoARcPSD|50662567
*Nhược điểm của NodeJS
- Không khả năng mở rộng, vậy không thể tận dụng lợi thế
mô hình đa lõi trong các phần cứng cấp server hiện nay.
- Khó thao tác với cơ sử dữ liệu quan hệ.
- Mỗi callback sẽ đi kèm với rất nhiều callback lồng nhau khác.
- Cần có kiến thức tốt về JavaScript.
- Không phù hợp với các tác vụ đòi hỏi nhiều CPU.
*Những ứng dụng viết bằng NodeJS
- Ứng dụng trò chuyện trong thời gian thực: Nhờ vào cấu trúc
không đồng bộ đơn luồng, Node.JS rất thích hợp cho mục đích
xử giao tiếp trong thời gian thực. Nền tảng này thể dễ dàng
mở rộng quy thường dùng để tạo ra các chatbot. Bên cạnh
đó, các tính năng liên quan đến ứng dụng trò chuyện như: chat
nhiều người, thông báo đẩy,… cũng có thể dễ dàng được bổ sung
nhờ NodeJS.
- Internet of Things (IoT): Các ứng dụng IoT thường bao gồm
nhiều bộ cảm biến phức tạp để gửi những phần dữ liệu nhỏ.
Node.JS là một lựa chọntưởng để xử lý các yêu cầu đồng thời
này với tốc độ cực nhanh.
- Truyền dữ liệu: Netflix một trong số những công ty lớn trên
thế giới chuyên sử dụng Node.JS cho mục đích truyền dữ liệu.
Sở đây một nền tảng nhẹ cực nhanh, đồng thời còn
cung cấp một API chuyên dùng để stream.
- Các SPA (Single-page application) phức tạp: Trong SPA, toàn
bộ ứng dụng được load vào trong một trang duy nhất, do đó sẽ có
một số request được thực hiện trong nền. Vòng lặp sự kiện (event
loop) của Node.JS cho phép xử các request theo hướng non-
blocking.
- Các ứng dụng REST dựa trên API: JavaScript được sử dụng
trong cả frontend lẫn backend của trang. Do đó một server thể
dễ dàng giao tiếp với frontend qua REST API bằng Node.js. Bên
cạnh đó, Node.JS còn cung cấp nhiều package như Express.js
2
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com)
lOMoARcPSD|50662567
hay Koa để việc xây dựng ứng dụng web trở nên dễ dàng hơn
bao giờ hết.
1.2. Giới thiệu về ReactJS
ReactJS môt thư viện JavaScript nguồn mở để xây dựng các
thành phần giao diện thể tái sử dụng với xu hướng Single Page
Application, một trong những đặc điểm tăng hiệu năng cho ứng dụng công
nghệ sử dụng DOM ảo (Virtual DOM). được tạo ra bởi Jordan Walke,
một phần mềm tại Facebook. React lần đầu được sử dụng cho ứng dụng
Newsfeed của Facebook năm 2011 sau đó được triển khai cho Instagram.
Mục tiêu của react chính là đơn giản để phát triển. Tất cả trạng thái đều
được tập trung tại một thời điểm, bằng cách chia giao diện người dùng thành
tập hợp các thành phần (components).
*Ưu điểm của ReactJS
- Phù hợp với đa dạng thể loại website: ReactJS khiến cho việc
khởi tạo website dễ dàng hơn bởi bạn không cần phải code
nhiều như khi tạo trang web thuần chỉ dùng JavaScript, HTML
đã cung cấp cho bạn đủ loại “đồ chơi” để bạn thể dùng
cho nhiều trường hợp.
- Tái sử dụng các Component: Nếu bạn xây dựng các Component
đủ tốt, đủ flexible để thể thoả các “yêu cầu” của nhiều dự án
khác nhau, bạn chỉ tốn thời gian xây dựng ban đầu và sử dụng lại
hầu như toàn bộ các dự án sau. Không chỉ riêng mỗi ReactJS
3
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com)
lOMoARcPSD|50662567
các framework hiện nay cũng đều cho phép chúng ta thực
hiện điều đó, ví dụ Flutter chẳng hạn.
- thể sử dụng cho cả Mobile application: Hầu hết chúng ta đều
biết rằng ReactJS được sử dụng cho việc lập trình website,
nhưng thực chất được sinh ra không chỉ làm mỗi đều đó. Nếu
bạn cần phát triển thêm ứng dụng Mobile, thì hãy sử dụng thêm
React Native một framework khác được phát triển cũng chính
Facebook, bạn thể dễ dàng “chia sẻ” các Component hoặc sử
dung lại các Business Logic trong ứng dụng.
- Thân thiện với SEO: SEO một phần không thể thiếu để đưa
thông tin website của bạn lên top đầu tìm kiếm của Google. Bản
chất ReactJS một thư viện JavaScript, Google Search Engine
hiện nay đã crawl index được code JavaScript, tuy nhiên bạn
cũng cần thêm một vài thư viện khác để hỗ trợ điều này nhé!
- Debug dễ dàng: Facebook đã phát hành 1 Chrome extension
dùng trong việc debug trong quá trình phát triển ứng dụng. Điều
đó giúp tăng tốc quá trình release sản phẩm cung như quá trình
coding của bạn.
- Công cụ phát triển web hot nhất hiện nay: Nếu bạn nhìn vào số
liệu thống từ Google Trend Việt Nam hình bên dưới, dạo
lướt qua các trang tuyển dụng hàng đầu ở Việt Nam như Topdev,
Itviec, v.v bạn sẽ thấy số lượng tuyển dụng cho vị trí React
Developer là cực kỳ lớn cùng với mức lương vô cùng hấp dẫn
độ phổ biến hiện tại của ReactJS trên thị trường Việt Namnhư
thế nào.
1.3. Giới thiệu hệ quản trị cơ sở dữ liệu MongoDB, MySQL, Workbench
4
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com)
lOMoARcPSD|50662567
MongoDB là một chương trình cơ sở dữ liệu mã nguồn mở được thiết kế
theo kiểu hướng đối tượng trong đó các bảng được cấu trúc một cách linh
hoạt cho phép các dữ liệu lưu trên bảng không cần phải tuân theo một dạng
cấu trúc nhất định nào. Chính do cấu trúc linh hoạt này nên MongoDB
thể được dùng để lưu trữ các dữ liệu cấu trúc phức tạp đa dạng
không cố định (hay còn gọi Big Data). MongoDB một sở dữ liệu
dựa trên Document, trong đó một Collection giữ các Document khác nhau.
Số trường, nội dung kích cỡ của Document này thể khác với
Document khác.Các thư viện và Framework hỗ trợ.
MySQL Server máy tính hay một hệ các máy tính cài đặt phần mềm
MySQL dành cho server để giúp bạn lưu trữ dữ liệu trên đó, để máy khách
thể truy cập vào quản lý. Dữ liệu này được đặt trong các bảng, các
bảng mối liên hệ với nhau. MySQL server nhanh, an toàn, đáng tin cậy.
5
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com)
lOMoARcPSD|50662567
Phần mềm MySQL cũng miễn phí được phát triển, phân phối hỗ trợ
bởi Oracle Corporation.
MySQL Workbench chính một chương trình giúp cho người lập trình
thể giao tiếp với hệ sở dữ liệu MySQL thay phải sử dụng các lệnh
Command-line phức tạp và mất thời gian. MySQL Workbench được thiết kế
đơn giản, dễ sử dụng thể thích ứng với nhiều hệ điều hành như
Microsoft Windowns, Max OS, Linux hay Ubuntu.
6
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com)
lOMoARcPSD|50662567
CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ THIẾT KẾ HỆ THỐNG
2.1. Khảo sát hiện trạng
Hiện nay, thị trường thương mại điện tử đang phát triển mạnh mẽ, đặc
biệt là trong lĩnh vực bán laptop và phụ kiện. Tuy nhiên, thông tin từ khảo sát
cho thấy nhiều trang web hiện vẫn còn tồn tại một số thách thức và cơ hội cần
được xem xét.
Yếu điểm:
Giao diện người dùng: Một số trang web hiện nay vẫn gặp khó khăn
trong việc tối ưu hóa giao diện người dùng. Sự phức tạp không cần thiết
trải nghiệm người dùng chưa linh hoạt có thể làm giảm hiệu suất và tăng tỷ lệ
thoát trang.
Tích hợp thanh toán: Một số trang web gặp khó khăn trong việc tích
hợp các phương thức thanh toán đa dạng thuận tiện. Điều này thể ảnh
hưởng đến quá trình mua sắm và làm giảm sự tin cậy của người tiêu dùng.
Hiệu suất trang web: Một số trang web gặp vấn đề liên quan đến tốc
độ tải trang khả năng đáp ứng. Điều này thể làm mất người dùng
giảm hiệu suất toàn cầu của trang web.
Cơ hội:
Tích hợp công nghệ mới: hội lớn nằm việc tích hợp các công
nghệ mới như Node.js để tối ưu hóa hiệu suất cải thiện trải nghiệm người
dùng.
Phát triển ứng dụng di động: Việc phát triển ứng dụng di động có thể
mở ra một kênh mới để tiếp cận và giữ chân người dùng.
Chăm sóc khách hàng: hội để cải thiện dịch vụ chăm sóc khách
hàng tạo ra các chương trình khuyến mãi thể tăng cường trung bình giá
trị đơn hàng và sự trung thực của khách hàng.
Nhìn chung, với sự thấu hiểu sâu sắc về những yếu điểm và cơ hội này,
thể tạo ra một chiến lược phát triển mạnh mẽ đáp ứng nhu cầu ngày
càng tăng của thị trường.
2.2. Mô tả bài toán
7
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com)
lOMoARcPSD|50662567
2.2.1. Các chức năng hệ thống
*Admin
Quản lý nhập tài khoản và mật khẩu để đăng nhập vào trang quản lý:
- Tạo(thêm) sản phẩm trong mục sản phẩm:
+ Điền tên sản phẩm
+ Nhập mô tả sản phẩm
+ Chọn màu của sản phẩm
+ Nhập giá mới
+ Nhập giá cũ
+ Chọn danh mục phù hợp với sản phẩm
+ Tải ảnh sản phẩm lên danh mục
- Sửa sản phẩm trong mục sản phẩm:
+ Điền tên sản phẩm cần sửa
+ Nhập mô tả sản phẩm cần sửa
+ Chọn màu của sản phẩm cần sửa
+ Nhập giá mới cần sửa
+ Nhập giá cũ cần sửa
+ Chọn danh mục phù hợp với sản phẩm cần sửa
+ Tải ảnh sản phẩm lên danh mục cần sửa
- Xóa sản phẩm trong mục sản phẩm
- Quản lý tạo danh mục:
+ Điền tên danh mục muốn thêm
+Sửa danh mục
+Xóa danh mục
- Kiểm tra đơn hàng chờ được duyệt
- Xem thông tin đơn hàng:
8
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com)
lOMoARcPSD|50662567
+ Chờ giao hàng
+ Đã giao hàng
- Xem thông tin đơn hàng đã hủy
Quản lý đăng xuất khỏi trang admin
*User
Khách hàng tạo tài khoản đăng nhập để mua sản phẩm cũng như tạo
đơn hàng để thanh toán:
- Điền thông tin để đăng ký:
+ Tên người dùng
+ Email
+ Mật khẩu
+ Nhập lại mật khẩu
- Đăng nhập bằng email và mật khẩu đã tạo
- Xem sản phẩm theo danh mục, màu sắc, giá(thấp->cao)
- Xem thông tin sản phẩm
- Chọn số lượng sản phẩm muốn mua
- Xóa sản phẩm đã đặt trong giỏ hàng
- Đặt giỏ hàng, điền thông tin địa chỉ giao hàng, nhấn nút đặt hàng
- Xem thông tin đơn hàng
Khách hàng đăng xuất tài khoản
2.2.2. Yêu cầu về chức năng
9
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com)
lOMoARcPSD|50662567
Vai trò Chức năng
Admin
- Đăng nhập, đăng xuất
- Quản lý sản phẩm
- Quản lý danh mục
- Quản lý đơn hàng
User
- Đăng nhập, đăng ký, đăng xuất
- Xem sản phẩm
- Thêm vào giỏ hàng
- Chọn số lượng sản phẩm
- Thanh toán đơn hàng
- Thêm đơn hàng
- Hủy đơn hàng
2.2.3. Yêu cầu phi chức năng
- Giao diện thân thiện, dễ dùng, hấp dẫn, dễ thao tác gọn gàng, đơn
giản.
- Hệ thống chạy đúng chức năng, hiệu năng ổn định.
- Đáp ứng hầu hết các yêu cầu của người dùng.
2.2.4. Công cụ lập trình và ngôn ngữ sử dụng
- Hệ quản trị cơ sở dữ liệu: MongoDB Cloud.
- Công cụ lập trình: Visual Studio Code.
- Ngôn ngữ lập trình: NodeJS, ReactJS.
2.3. Đặc tả chức năng của hệ thống
10
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com)
lOMoARcPSD|50662567
2.3.1. Usecase tổng quát
2.3.2. Mô tả usecase
- Bảng chú thích:
Usecase Đăng nhập
Use case Nội dung
Tên Đăng nhập
Mô tả Cho phép người dùng đăng nhập vào hệ thống để
thực hiện các chức năng tương ứng trong bảng phân
quyền
Actor Admin,user
Điều kiện Truy cập link ứng dụng nhưng chưa đăng nhập hoặc sau
khi đăng xuất
Tiền điều kiện Có tài khoản trên hệ thống
Hậu điều kiện Đăng nhập thành công
Luồng sự kiện
chính
- Hiển thị màn hình đăng nhập
- Người dùng nhập user và password
- Hệ thống kiểm tra thông tin đăng nhập
- Nếu thành công chuyển đến trang home, nếu sai
11
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com)
lOMoARcPSD|50662567
thì thông báo và yêu cầu nhập lại user
password
- Kết thúc use case
Luồng sự kiện
phụ
- Người dùng bỏ trống tài khoản hoặc mật khẩu, hệ thống
sẽ yêu cầu nhập đầy đủ.
- Người dùng nhập tài khoản mật khẩu đúng định dạng
nhưng tài khoản chưa tồn tại.
Usecase Đăng xuất
Use case Nội dung
Tên Đăng xuất
Mô tả Cho phép người dùng đăng xuất
Actor Admin,user
Điều kiện Click chọn chức năng đăng xuất
Tiền điều kiện Đăng nhập thành công bằng tài khoản nhân viên, admin
Hậu điều kiện Thực hiện chức năng thành công
Luồng sự kiện
- Người dùng chọn chức năng đăng xuất
- Hiển thị giao diện
- Kết thúc use case
Usecase Đăng ký
Use case Nội dung
Tên Đăng ký
Mô tả Cho phép người dùng đăng ký một tài khoản mới
Actor User
Điều kiện Truy cập link ứng dụng nhưng chưa có tài khoản đăng
nhập
Tiền điều kiện Chưa tài khoản trên hệ thống
12
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com)
lOMoARcPSD|50662567
Hậu điều kiện Truy cập link ứng dụng thành công
Luồng sự kiện
chính
- Hiển thị màn hình đăng ký
- Người dùng nhập tên người dùng,email và password
- Hệ thống kiểm tra thông tin vừa nhập
- Nếu thành công chuyển đến trang home, nếu sai
định dạng thì thông báo và yêu cầu nhập lại
tên người dùng, email và password
- Kết thúc use case
Luồng sự kiện
phụ
- Người dùng bỏ trống tên người dùng, email hoặc
password, hệ thống sẽ yêu cầu nhập đầy đủ.
Usecase Quản lý sản phẩm
Use case Nội dung
Tên Quản lý sản phẩm
Mô tả Admin chọn chức năng quản lý sản phẩm để thêm, sửa,
xóa sản phẩm
Actor Admin
Điều kiện Click chọn chức năng quản lý sản phẩm
Tiền điều kiện Đăng nhập thành công bằng quyền Admin
Hậu điều kiện Thực hiện thành công
Luồng sự kiện
- Admin chọn quản lý sản phẩm
- Hiển thị giao diện quản lý sản phẩm
- Admin chọn thêm, sửa, xóa sản phẩm
- Kết thúc use case
Usecase Quản lý đơn hàng
Use case Nội dung
Tên Quản lý đơn hàng
Mô tả Admin chọn chức năng quản lý đơn hàng để xem, duyệt và
xóa đơn hàng
Actor Admin
Điều kiện Click chọn chức năng quản lý đơn hàng
13
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com)
lOMoARcPSD|50662567
Tiền điều kiện Đăng nhập thành công bằng quyền Admin
Hậu điều kiện Thực hiện thành công
Luồng sự kiện
- Admin chọn quản lý đơn hàng
- Hiển thị giao diện quản lý đơn hàng
- Admin chọn duyệt, xóa đơn hàng
- Kết thúc use case
Usecase Quản lý danh mục
Use case Nội dung
Tên Quản lý danh mục
Mô tả Admin chọn chức năng quản lý danh mục để thêm, sửa,
xóa danh mục
Actor Admin
Điều kiện Click chọn chức năng quản lý danh mục
Tiền điều kiện Đăng nhập thành công bằng quyền Admin
Hậu điều kiện Thực hiện thành công
Luồng sự kiện
- Admin chọn quản lý danh mục
- Hiển thị giao diện quản lý danh mục
- Admin chọn thêm, sửa, xóa danh mục
- Kết thúc use case
Usecase Xem sản phẩm
Use case Nội dung
Tên Xem sản phẩm
Mô tả Cho phép người dùng xem sản phẩm
Actor User
Điều kiện Click chọn sản phẩm
Tiền điều kiện Đăng nhập thành công bằng tài khoản user
Hậu điều kiện Thực hiện chức năng thành công
14
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com)
lOMoARcPSD|50662567
Luồng sự kiện
- Người dùng chọn sn phm
- Hiển thị giao diện sản phẩm
- Kết thúc use case
Usecase Chọn số lượng sản phẩm
Use case Nội dung
Tên Chọn số lượng sản phẩm
Mô tả Cho phép người dùng chọn số lượng sản phẩm
Actor User
Điều kiện Sản phẩm phải có trong giỏ hàng
Tiền điều kiện Đăng nhập thành công bằng tài khoản user
Hậu điều kiện Thực hiện chức năng thành công
Luồng sự kiện
- Người dùng chọn sn phm
- Hiển thị giao diện sản phẩm
- Người dùng chọn số lượng sản phẩm
- Kết thúc use case
Usecase Thanh toán
Use case Nội dung
Tên Thanh toán
Mô tả Cho phép người dùng thanh toán sản phẩm
Actor User
Điều kiện Sản phẩm phải có trong giỏ hàng và có số lượng nhất định
Tiền điều kiện Đăng nhập thành công bằng tài khoản user
Hậu điều kiện Thực hiện chức năng thành công
Luồng sự kiện
- Người dùng chọn gi hàng
- Hiển thị giao diện giỏ hàng
- Người dùng bấm nút thanh toán
- Hiển thị giao diện thanh toán
15
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com)
lOMoARcPSD|50662567

Preview text:

lOMoARcPSD|50662567
Ngôn ngữ kịch bản chính - 123
Cong nghe thong tin (Đại học Điện lực) Scan to open on Studocu
Studocu is not sponsored or endorsed by any college or university
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567
TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN NGÔN NGỮ KỊCH BẢN ĐỀ TÀI:
XÂY DỰNG WEBSITE BÁN LAPTOP VÀ PHỤ KIỆN
Sinh viên thực hiện : HUỲNH NHẬT LINH VŨ TRUNG HIẾU
Giảng viên hướng dẫn : ĐỖ ĐỨC CƯỜNG Ngành
: CÔNG NGHỆ THÔNG TIN Chuyên ngành
: CÔNG NGHỆ PHẦN MỀM Lớp : D15CNPM3 Khóa : 2020 – 2025
Hà Nội, tháng 12 năm 2023
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567 PHIẾU CHẤM ĐIỂM Sinh viên thực hiện:
STT Họ và tên sinh viên
Nội dung thực hiện Điểm Chữ ký 1 Huỳnh Nhật Linh MSV: 20810340174 2 Vũ Trung Hiếu MSV: 20810340200 Giảng viên chấm: Họ và tên Chữ ký Ghi chú Giảng viên chấm 1 : Giảng viên chấm 2 :
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567 MỤC LỤC Tran g
CHƯƠNG 1. GIỚI THIỆU CHUNG......................................................................
1.1. Giới thiệu về NodeJS.....................................................................................
1.2. Giới thiệu về ReactJS....................................................................................
1.3. Giới thiệu hệ quản trị cơ sở dữ liệu MongoDB, MySQL, Workbench...........
CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ THIẾT KẾ HỆ THỐNG..............
2.1. Khảo sát hiện trạng........................................................................................
2.2. Mô tả bài toán................................................................................................
2.2.1. Các chức năng hệ thống......................................................................
2.2.2. Yêu cầu về chức năng.........................................................................
2.2.3. Yêu cầu phi chức năng.....................................................................
2.2.4. Công cụ lập trình và ngôn ngữ sử dụng............................................
2.3. Đặc tả chức năng của hệ thống....................................................................
2.3.1. Usecase tổng quát.............................................................................
2.3.2. Mô tả usecase...................................................................................
2.3.3. Biểu đồ tuần tự.................................................................................
CHƯƠNG 3. GIAO DIỆN WEBSITE.................................................................
3.1. Giao diện đăng nhập của admin...................................................................
3.2. Giao diện đăng nhập, đăng ký của khách hàng............................................
3.3. Giao diện Admin.........................................................................................
3.4. Giao diện trang chủ......................................................................................
3.5. Giao diện giỏ hàng.......................................................................................
KẾT LUẬN...........................................................................................................
TÀI LIỆU THAM KHẢO.....................................................................................
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567 LỜI MỞ ĐẦU
1.Lý do chọn đề tài
Trong thời đại công nghệ ngày nay, sự phổ biến của mạng Internet đã
mở ra những cơ hội mới cho việc kinh doanh trực tuyến. Việc xây dựng một
trang web bán hàng không chỉ là một cơ hội kinh doanh mà còn là thách thức
đối với nhóm em, những người muốn kết hợp sự sáng tạo và kỹ năng lập trình.
Chính vì lẽ đó, quyết định chọn đề tài "Xây dựng web bán laptop và
phụ kiện bằng Node.js" không chỉ là sự lựa chọn cá nhân của nhóm em mà
còn là sự đánh giá cao về tiềm năng mà Node.js mang lại trong việc phát triển
ứng dụng web đa dạng và mạnh mẽ. Node.js không chỉ là một nền tảng phổ
biến mà còn giúp nhóm em tối ưu hóa hiệu suất và đáp ứng nhanh chóng, tạo
ra trải nghiệm người dùng tốt nhất.
Nhóm em hy vọng rằng dự án này không chỉ mang lại sự hiểu biết sâu
rộng về Node.js mà còn là một bước tiến quan trọng trong việc áp dụng kiến
thức lý thuyết vào thực tế, từ đó đạt được kết quả tích cực trong lĩnh vực phát
triển web và thương mại điện tử.
2.Cấu trúc của báo cáo
Cấu trúc báo cáo sẽ chia thành 3 chương chính:
Chương 1: Giới thiệu chung
Chương 2: Khảo sát hệ thống và thiết kế hệ thống
Chương 3: Giao diện website
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567
CHƯƠNG 1. GIỚI THIỆU CHUNG
1.1 Giới thiệu về NodeJS
NodeJS là nền tảng phía máy chủ được xây dựng trên công cụ
JavaScript của Google Chrome (V8 Engine). Node.js được phát triển bởi
Ryan Dahl trong năm 2009 và phiên bản mới nhất của nó là v0.10.36. Định
nghĩa của Node.js được cung cấp bởi https://nodejs.org
Node.js là môi trường thời gian chạy đa nền tảng nguồn mở để phát
triển các ứng dụng mạng và phía máy chủ. Các ứng dụng Node.js được viết
bằng JavaScript và có thể chạy trên OS X, Microsoft Windows và Linux.
Node.js cũng cung cấp một thư viên phong phú gồm nhiều mô-đun
JavaScript khác nhau giúp đơn giản hóa việc phát triển các ứng dụng web
bằng cách sử dụng Node.js đến một mức độ lớn.
Node.js = Runtime Environment + JavaScript Library *Ưu điểm của NodeJS
- IO hướng sự kiện không đồng bộ, cho phép xử lý nhiều yêu cầu đồng thời.
- Sử dụng JavaScript – một ngôn ngữ lập trình dễ học.
- Chia sẻ cùng code ở cả phía client và server.
- NPM(Node Package Manager) và module Node đang ngày càng phát triển mạnh mẽ.
- Cộng đồng hỗ trợ tích cực.
- Cho phép stream các file có kích thước lớn. 1
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567 *Nhược điểm của NodeJS
- Không có khả năng mở rộng, vì vậy không thể tận dụng lợi thế
mô hình đa lõi trong các phần cứng cấp server hiện nay.
- Khó thao tác với cơ sử dữ liệu quan hệ.
- Mỗi callback sẽ đi kèm với rất nhiều callback lồng nhau khác.
- Cần có kiến thức tốt về JavaScript.
- Không phù hợp với các tác vụ đòi hỏi nhiều CPU.
*Những ứng dụng viết bằng NodeJS
- Ứng dụng trò chuyện trong thời gian thực: Nhờ vào cấu trúc
không đồng bộ đơn luồng, Node.JS rất thích hợp cho mục đích
xử lý giao tiếp trong thời gian thực. Nền tảng này có thể dễ dàng
mở rộng quy mô và thường dùng để tạo ra các chatbot. Bên cạnh
đó, các tính năng liên quan đến ứng dụng trò chuyện như: chat
nhiều người, thông báo đẩy,… cũng có thể dễ dàng được bổ sung nhờ NodeJS.
- Internet of Things (IoT): Các ứng dụng IoT thường bao gồm
nhiều bộ cảm biến phức tạp để gửi những phần dữ liệu nhỏ.
Node.JS là một lựa chọn lý tưởng để xử lý các yêu cầu đồng thời
này với tốc độ cực nhanh.
- Truyền dữ liệu: Netflix là một trong số những công ty lớn trên
thế giới chuyên sử dụng Node.JS cho mục đích truyền dữ liệu.
Sở dĩ vì đây là một nền tảng nhẹ và cực nhanh, đồng thời còn
cung cấp một API chuyên dùng để stream.
- Các SPA (Single-page application) phức tạp: Trong SPA, toàn
bộ ứng dụng được load vào trong một trang duy nhất, do đó sẽ có
một số request được thực hiện trong nền. Vòng lặp sự kiện (event
loop) của Node.JS cho phép xử lý các request theo hướng non- blocking.
- Các ứng dụng REST dựa trên API: JavaScript được sử dụng
trong cả frontend lẫn backend của trang. Do đó một server có thể
dễ dàng giao tiếp với frontend qua REST API bằng Node.js. Bên
cạnh đó, Node.JS còn cung cấp nhiều package như Express.js 2
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567
hay Koa để việc xây dựng ứng dụng web trở nên dễ dàng hơn bao giờ hết.
1.2. Giới thiệu về ReactJS
ReactJS là môt thư viện JavaScript mã nguồn mở để xây dựng các
thành phần giao diện có thể tái sử dụng với xu hướng Single Page
Application, một trong những đặc điểm tăng hiệu năng cho ứng dụng là công
nghệ sử dụng DOM ảo (Virtual DOM). Nó được tạo ra bởi Jordan Walke,
một kĩ sư phần mềm tại Facebook. React lần đầu được sử dụng cho ứng dụng
Newsfeed của Facebook năm 2011 sau đó được triển khai cho Instagram.
Mục tiêu của react chính là đơn giản để phát triển. Tất cả trạng thái đều
được tập trung tại một thời điểm, bằng cách chia giao diện người dùng thành
tập hợp các thành phần (components). *Ưu điểm của ReactJS
- Phù hợp với đa dạng thể loại website: ReactJS khiến cho việc
khởi tạo website dễ dàng hơn bởi vì bạn không cần phải code
nhiều như khi tạo trang web thuần chỉ dùng JavaScript, HTML
và nó đã cung cấp cho bạn đủ loại “đồ chơi” để bạn có thể dùng cho nhiều trường hợp.
- Tái sử dụng các Component: Nếu bạn xây dựng các Component
đủ tốt, đủ flexible để có thể thoả các “yêu cầu” của nhiều dự án
khác nhau, bạn chỉ tốn thời gian xây dựng ban đầu và sử dụng lại
hầu như toàn bộ ở các dự án sau. Không chỉ riêng mỗi ReactJS 3
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567
mà các framework hiện nay cũng đều cho phép chúng ta thực
hiện điều đó, ví dụ Flutter chẳng hạn.
- Có thể sử dụng cho cả Mobile application: Hầu hết chúng ta đều
biết rằng ReactJS được sử dụng cho việc lập trình website,
nhưng thực chất nó được sinh ra không chỉ làm mỗi đều đó. Nếu
bạn cần phát triển thêm ứng dụng Mobile, thì hãy sử dụng thêm
React Native – một framework khác được phát triển cũng chính
Facebook, bạn có thể dễ dàng “chia sẻ” các Component hoặc sử
dung lại các Business Logic trong ứng dụng.
- Thân thiện với SEO: SEO là một phần không thể thiếu để đưa
thông tin website của bạn lên top đầu tìm kiếm của Google. Bản
chất ReactJS là một thư viện JavaScript, Google Search Engine
hiện nay đã crawl và index được code JavaScript, tuy nhiên bạn
cũng cần thêm một vài thư viện khác để hỗ trợ điều này nhé!
- Debug dễ dàng: Facebook đã phát hành 1 Chrome extension
dùng trong việc debug trong quá trình phát triển ứng dụng. Điều
đó giúp tăng tốc quá trình release sản phẩm cung như quá trình coding của bạn.
- Công cụ phát triển web hot nhất hiện nay: Nếu bạn nhìn vào số
liệu thống kê từ Google Trend ở Việt Nam ở hình bên dưới, dạo
lướt qua các trang tuyển dụng hàng đầu ở Việt Nam như Topdev,
Itviec, v.v bạn sẽ thấy số lượng tuyển dụng cho vị trí React
Developer là cực kỳ lớn cùng với mức lương vô cùng hấp dẫn và
độ phổ biến hiện tại của ReactJS trên thị trường Việt Nam là như thế nào.
1.3. Giới thiệu hệ quản trị cơ sở dữ liệu MongoDB, MySQL, Workbench 4
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567
MongoDB là một chương trình cơ sở dữ liệu mã nguồn mở được thiết kế
theo kiểu hướng đối tượng trong đó các bảng được cấu trúc một cách linh
hoạt cho phép các dữ liệu lưu trên bảng không cần phải tuân theo một dạng
cấu trúc nhất định nào. Chính do cấu trúc linh hoạt này nên MongoDB có
thể được dùng để lưu trữ các dữ liệu có cấu trúc phức tạp và đa dạng và
không cố định (hay còn gọi là Big Data). MongoDB là một cơ sở dữ liệu
dựa trên Document, trong đó một Collection giữ các Document khác nhau.
Số trường, nội dung và kích cỡ của Document này có thể khác với
Document khác.Các thư viện và Framework hỗ trợ.
MySQL Server là máy tính hay một hệ các máy tính cài đặt phần mềm
MySQL dành cho server để giúp bạn lưu trữ dữ liệu trên đó, để máy khách
có thể truy cập vào quản lý. Dữ liệu này được đặt trong các bảng, và các
bảng có mối liên hệ với nhau. MySQL server nhanh, an toàn, đáng tin cậy. 5
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567
Phần mềm MySQL cũng miễn phí và được phát triển, phân phối và hỗ trợ bởi Oracle Corporation.
MySQL Workbench chính là một chương trình giúp cho người lập trình
có thể giao tiếp với hệ cơ sở dữ liệu MySQL thay vì phải sử dụng các lệnh
Command-line phức tạp và mất thời gian. MySQL Workbench được thiết kế
đơn giản, dễ sử dụng và có thể thích ứng với nhiều hệ điều hành như là
Microsoft Windowns, Max OS, Linux hay Ubuntu. 6
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567
CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ THIẾT KẾ HỆ THỐNG
2.1. Khảo sát hiện trạng
Hiện nay, thị trường thương mại điện tử đang phát triển mạnh mẽ, đặc
biệt là trong lĩnh vực bán laptop và phụ kiện. Tuy nhiên, thông tin từ khảo sát
cho thấy nhiều trang web hiện vẫn còn tồn tại một số thách thức và cơ hội cần được xem xét. Yếu điểm:
Giao diện người dùng: Một số trang web hiện nay vẫn gặp khó khăn
trong việc tối ưu hóa giao diện người dùng. Sự phức tạp không cần thiết và
trải nghiệm người dùng chưa linh hoạt có thể làm giảm hiệu suất và tăng tỷ lệ thoát trang.
Tích hợp thanh toán: Một số trang web gặp khó khăn trong việc tích
hợp các phương thức thanh toán đa dạng và thuận tiện. Điều này có thể ảnh
hưởng đến quá trình mua sắm và làm giảm sự tin cậy của người tiêu dùng.
Hiệu suất trang web: Một số trang web gặp vấn đề liên quan đến tốc
độ tải trang và khả năng đáp ứng. Điều này có thể làm mất người dùng và
giảm hiệu suất toàn cầu của trang web. Cơ hội:
Tích hợp công nghệ mới: Cơ hội lớn nằm ở việc tích hợp các công
nghệ mới như Node.js để tối ưu hóa hiệu suất và cải thiện trải nghiệm người dùng.
Phát triển ứng dụng di động: Việc phát triển ứng dụng di động có thể
mở ra một kênh mới để tiếp cận và giữ chân người dùng.
Chăm sóc khách hàng: Cơ hội để cải thiện dịch vụ chăm sóc khách
hàng và tạo ra các chương trình khuyến mãi có thể tăng cường trung bình giá
trị đơn hàng và sự trung thực của khách hàng.
Nhìn chung, với sự thấu hiểu sâu sắc về những yếu điểm và cơ hội này,
có thể tạo ra một chiến lược phát triển mạnh mẽ và đáp ứng nhu cầu ngày
càng tăng của thị trường.
2.2. Mô tả bài toán 7
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567
2.2.1. Các chức năng hệ thống *Admin
Quản lý nhập tài khoản và mật khẩu để đăng nhập vào trang quản lý:
- Tạo(thêm) sản phẩm trong mục sản phẩm: + Điền tên sản phẩm + Nhập mô tả sản phẩm
+ Chọn màu của sản phẩm + Nhập giá mới + Nhập giá cũ
+ Chọn danh mục phù hợp với sản phẩm
+ Tải ảnh sản phẩm lên danh mục
- Sửa sản phẩm trong mục sản phẩm:
+ Điền tên sản phẩm cần sửa
+ Nhập mô tả sản phẩm cần sửa
+ Chọn màu của sản phẩm cần sửa
+ Nhập giá mới cần sửa + Nhập giá cũ cần sửa
+ Chọn danh mục phù hợp với sản phẩm cần sửa
+ Tải ảnh sản phẩm lên danh mục cần sửa
- Xóa sản phẩm trong mục sản phẩm - Quản lý tạo danh mục:
+ Điền tên danh mục muốn thêm +Sửa danh mục +Xóa danh mục
- Kiểm tra đơn hàng chờ được duyệt - Xem thông tin đơn hàng: 8
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567 + Chờ giao hàng + Đã giao hàng
- Xem thông tin đơn hàng đã hủy
Quản lý đăng xuất khỏi trang admin *User
Khách hàng tạo tài khoản và đăng nhập để mua sản phẩm cũng như tạo đơn hàng để thanh toán:
- Điền thông tin để đăng ký: + Tên người dùng + Email + Mật khẩu + Nhập lại mật khẩu
- Đăng nhập bằng email và mật khẩu đã tạo
- Xem sản phẩm theo danh mục, màu sắc, giá(thấp->cao) - Xem thông tin sản phẩm
- Chọn số lượng sản phẩm muốn mua
- Xóa sản phẩm đã đặt trong giỏ hàng
- Đặt giỏ hàng, điền thông tin địa chỉ giao hàng, nhấn nút đặt hàng - Xem thông tin đơn hàng
Khách hàng đăng xuất tài khoản
2.2.2. Yêu cầu về chức năng 9
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567 Vai trò Chức năng - Đăng nhập, đăng xuất - Quản lý sản phẩm Admin - Quản lý danh mục - Quản lý đơn hàng
- Đăng nhập, đăng ký, đăng xuất - Xem sản phẩm User - Thêm vào giỏ hàng
- Chọn số lượng sản phẩm - Thanh toán đơn hàng - Thêm đơn hàng - Hủy đơn hàng
2.2.3. Yêu cầu phi chức năng
- Giao diện thân thiện, dễ dùng, hấp dẫn, dễ thao tác gọn gàng, đơn giản.
- Hệ thống chạy đúng chức năng, hiệu năng ổn định.
- Đáp ứng hầu hết các yêu cầu của người dùng.
2.2.4. Công cụ lập trình và ngôn ngữ sử dụng
- Hệ quản trị cơ sở dữ liệu: MongoDB Cloud.
- Công cụ lập trình: Visual Studio Code.
- Ngôn ngữ lập trình: NodeJS, ReactJS.
2.3. Đặc tả chức năng của hệ thống 10
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567
2.3.1. Usecase tổng quát 2.3.2. Mô tả usecase - Bảng chú thích: Usecase Đăng nhập Use case Nội dung Tên Đăng nhập Mô tả
Cho phép người dùng đăng nhập vào hệ thống để
thực hiện các chức năng tương ứng trong bảng phân quyền Actor Admin,user Điều kiện
Truy cập link ứng dụng nhưng chưa đăng nhập hoặc sau khi đăng xuất Tiền điều kiện
Có tài khoản trên hệ thống Hậu điều kiện Đăng nhập thành công Luồng sự kiện
Hiển thị màn hình đăng nhập chính -
Người dùng nhập user và password -
Hệ thống kiểm tra thông tin đăng nhập -
Nếu thành công chuyển đến trang home, nếu sai - 11
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567
thì thông báo và yêu cầu nhập lại user và password Kết thúc use case - Luồng sự kiện
Người dùng bỏ trống tài khoản hoặc mật khẩu, hệ thống phụ -
sẽ yêu cầu nhập đầy đủ.
Người dùng nhập tài khoản mật khẩu đúng định dạng -
nhưng tài khoản chưa tồn tại. Usecase Đăng xuất Use case Nội dung Tên Đăng xuất Mô tả
Cho phép người dùng đăng xuất Actor Admin,user Điều kiện
Click chọn chức năng đăng xuất Tiền điều kiện
Đăng nhập thành công bằng tài khoản nhân viên, admin Hậu điều kiện
Thực hiện chức năng thành công Luồng sự kiện
Người dùng chọn chức năng đăng xuất - Hiển thị giao diện - - Kết thúc use case Usecase Đăng ký Use case Nội dung Tên Đăng ký Mô tả
Cho phép người dùng đăng ký một tài khoản mới Actor User Điều kiện
Truy cập link ứng dụng nhưng chưa có tài khoản đăng nhập Tiền điều kiện
Chưa tài khoản trên hệ thống 12
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567 Hậu điều kiện
Truy cập link ứng dụng thành công Luồng sự kiện
Hiển thị màn hình đăng ký chính -
Người dùng nhập tên người dùng,email và password -
Hệ thống kiểm tra thông tin vừa nhập -
Nếu thành công chuyển đến trang home, nếu sai -
định dạng thì thông báo và yêu cầu nhập lại
tên người dùng, email và password Kết thúc use case - Luồng sự kiện
Người dùng bỏ trống tên người dùng, email hoặc phụ -
password, hệ thống sẽ yêu cầu nhập đầy đủ.
Usecase Quản lý sản phẩm Use case Nội dung Tên Quản lý sản phẩm Mô tả
Admin chọn chức năng quản lý sản phẩm để thêm, sửa, xóa sản phẩm Actor Admin Điều kiện
Click chọn chức năng quản lý sản phẩm Tiền điều kiện
Đăng nhập thành công bằng quyền Admin Hậu điều kiện Thực hiện thành công Luồng sự kiện
Admin chọn quản lý sản phẩm -
Hiển thị giao diện quản lý sản phẩm -
- Admin chọn thêm, sửa, xóa sản phẩm Kết thúc use case - Usecase Quản lý đơn hàng Use case Nội dung Tên Quản lý đơn hàng Mô tả
Admin chọn chức năng quản lý đơn hàng để xem, duyệt và xóa đơn hàng Actor Admin Điều kiện
Click chọn chức năng quản lý đơn hàng 13
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567 Tiền điều kiện
Đăng nhập thành công bằng quyền Admin Hậu điều kiện Thực hiện thành công Luồng sự kiện
Admin chọn quản lý đơn hàng -
Hiển thị giao diện quản lý đơn hàng -
- Admin chọn duyệt, xóa đơn hàng Kết thúc use case - Usecase Quản lý danh mục Use case Nội dung Tên Quản lý danh mục Mô tả
Admin chọn chức năng quản lý danh mục để thêm, sửa, xóa danh mục Actor Admin Điều kiện
Click chọn chức năng quản lý danh mục Tiền điều kiện
Đăng nhập thành công bằng quyền Admin Hậu điều kiện Thực hiện thành công Luồng sự kiện
Admin chọn quản lý danh mục -
Hiển thị giao diện quản lý danh mục -
- Admin chọn thêm, sửa, xóa danh mục Kết thúc use case - Usecase Xem sản phẩm Use case Nội dung Tên Xem sản phẩm Mô tả
Cho phép người dùng xem sản phẩm Actor User Điều kiện Click chọn sản phẩm Tiền điều kiện
Đăng nhập thành công bằng tài khoản user Hậu điều kiện
Thực hiện chức năng thành công 14
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567 Luồng sự kiện
Người dùng chọn sản phẩm -
Hiển thị giao diện sản phẩm - - Kết thúc use case
Usecase Chọn số lượng sản phẩm Use case Nội dung Tên
Chọn số lượng sản phẩm Mô tả
Cho phép người dùng chọn số lượng sản phẩm Actor User Điều kiện
Sản phẩm phải có trong giỏ hàng Tiền điều kiện
Đăng nhập thành công bằng tài khoản user Hậu điều kiện
Thực hiện chức năng thành công Luồng sự kiện
Người dùng chọn sản phẩm -
Hiển thị giao diện sản phẩm -
Người dùng chọn số lượng sản phẩm - - Kết thúc use case Usecase Thanh toán Use case Nội dung Tên Thanh toán Mô tả
Cho phép người dùng thanh toán sản phẩm Actor User Điều kiện
Sản phẩm phải có trong giỏ hàng và có số lượng nhất định Tiền điều kiện
Đăng nhập thành công bằng tài khoản user Hậu điều kiện
Thực hiện chức năng thành công Luồng sự kiện
Người dùng chọn giỏ hàng -
Hiển thị giao diện giỏ hàng -
Người dùng bấm nút thanh toán -
Hiển thị giao diện thanh toán - 15
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com)