Tải bản đầy đủ (.pdf) (68 trang)

BÁO CÁO BÀI TẬP LỚN THUỘC HỌC PHẦN: Phần mềm mã nguồn mở XÂY DỰNG APP BÁN SÁCH TRÊN NỀN TẢNG ANDROID

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.6 MB, 68 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
=====***=====

BÁO CÁO BÀI TẬP LỚN THUỘC HỌC PHẦN:

Phần mềm mã nguồn mở
XÂY DỰNG APP BÁN SÁCH TRÊN NỀN
TẢNG ANDROID
Giảng viên:
Lớp:
Nhóm:
Thành viên:

Ths Nguyễn Thái Cường
202110503149003
14
Vũ Thị Lanh
Trần Thúy Nga
Vũ Thị Phượng
Đỗ Thị Thanh Thủy
Hoàng Thị Thư

Hà Nội, 2021


LỜI MỞ ĐẦU
Trước tiên, nhóm muốn gửi lời cảm ơn đến các thầy cô trong khoa CNTT
đã truyền đạt những kiến thức quan trọng cho chúng em và đặc biệt xin gửi lời
cảm ơn sâu sắc đến thầy giáo, ThS. Nguyễn Thái Cường, người đã tận tình hướng
dẫn chúng em trong suốt q trình làm bài tập lớn.


Cùng với đó nhóm em xin gửi lời cảm ơn đến tồn thể các bạn trong lớp đã
nhiệt tình đóng góp các ý kiến để nhóm có thể hồn thành tốt hơn bài tập lớn này.
Trong thời gian làm bài, chúng em đã cố gắng tận dụng tối đa thời gian và công
sức để hoàn thành tốt nhất cuốn tài liệu này nhưng có thể vẫn cịn hạn chế, thiếu
sót. Vì vậy, chúng em rất mong nhận được sự góp ý từ thầy cơ cũng như các bạn
để chúng em có thể hồn thiện sản phẩm của mình hơn.

Chúng em xin chân thành cảm ơn!

2


MỤC LỤC
LỜI MỞ ĐẦU ....................................................................................................... 2
MỤC LỤC ............................................................................................................. 3
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI ............................................................ 6
1.1

Giới thiệu về đề tài ................................................................................... 6

1.2

Lí do chọn đề tài ....................................................................................... 6

1.3

Tính cấp thiêt của đề tài............................................................................ 7

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ .............................................................. 13
2.1 Phân tích hệ thống ...................................................................................... 13

2.1.1 Các usecase chính ................................................................................ 13
2.1.2 Mơ tả các usecase................................................................................. 13
a. Use case tìm kiếm sản phẩm .................................................................. 13
b. Use case quản lý giỏ hàng ..................................................................... 14
c. Use case thêm vào giỏ hàng ................................................................... 16
d. Use case quản lý đơn hàng .................................................................... 17
e. Use case đăng ký .................................................................................... 18
f. Use case quản lý tài khoản ..................................................................... 19
g. Use case xem sản phẩm theo loại sản phẩm .......................................... 21
h. Use case xem chi tiết sản phẩm ............................................................. 22
i. Use case thanh toán ................................................................................ 22
k. Use case đọc thông báo.......................................................................... 24
l. Use case chat........................................................................................... 25
m. Use case đăng nhập............................................................................... 26
2.1.3 Phân tích chi tiết các use case ........................................................... 27
a. Use case tìm kiếm sản phẩm .................................................................. 27
b. Use case quản lý giỏ hàng ..................................................................... 28
c. Use case thêm vào giỏ hàng ................................................................... 30
d. Use case quản lý đơn hàng .................................................................... 32

3


e. Use case đăng ký .................................................................................... 34
f. Use case quản lý tài khoản ..................................................................... 36
g. Use case xem sản phẩm theo loại sản phẩm .......................................... 37
h. Use case xem chi tiết sản phẩm ............................................................. 39
i. Use case thanh toán ................................................................................ 40
k. Use case đọc thông báo.......................................................................... 42
l. Use case chat........................................................................................... 44

m. Use case đăng nhập............................................................................... 46
2.2 Thiết kế DB, UI/UX ................................................................................... 48
2.2.1 Thiết kế cơ sở dữ liệu........................................................................... 48
2.2.1 Thiết kế UI/UX .................................................................................... 48
CHƯƠNG 3: CÀI ĐẶT VÀ THỬ NGHIỆM ..................................................... 53
3.1. Hướng dẫn cài đặt app ............................................................................ 53
3.1.1. Đăng nhập, đăng kí........................................................................... 53
3.1.2. Quên mật khẩu, trang chủ ................................................................ 54
3.1.3. Thông tin shop .................................................................................. 55
3.1.4. Cập nhật mật khẩu ............................................................................ 55
3.1.5. Màn hình đơn hàng........................................................................... 56
3.1.6. Tin nhắn ............................................................................................ 56
3.1.7. Tìm kiếm .......................................................................................... 57
3.1.8. Tìm kiếm đơn hàng .......................................................................... 58
3.1.9. Tài khoản .......................................................................................... 58
3.1.10. Chi tiết sản phẩm .............................................................................. 59
3.1.11. Giỏ hàng ........................................................................................... 59
3.2.11. Thanh toán ....................................................................................... 60
3.2.12. Màn hình chi tiết đơn hàng............................................................... 60
3.2.13. Màn hình thơng báo .......................................................................... 61
3.2.14. Màn hình trợ giúp và phản hồi.......................................................... 61
3.2. Kiểm thử chức năng hệ thống................................................................. 62
3.3. Kết luận................................................................................................... 65

4


Tài liệu tham khảo ............................................................................................... 67
PHỤ LỤC ............................................................................................................ 68


5


CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1 Giới thiệu về đề tài
Chủ đề của đề tài là Xây dựng 1 app bán hàng bằng phần mềm mã nguồn mở
cụ thể là app bán sách trên nền tảng android. Với mục tiêu áp dụng những kiến
thức về mã nguồn mở để thực hành xây dựng một trang web bán hàng. Qua đó
biết được cách ứng dụng các framework vào sản phẩm thực tế, đồng thời rèn luyện
kĩ năng làm việc nhóm. Ngồi ra do tình hình Covid-19 xảy ra làm thay đổi xu
hướng tiêu dùng và là một cái cớ vô cùng hợp lý để môi trường mua sắm online
bùng nổ. Một khảo sát mới nhất của Nielsen đưa ra tại Diễn đàn Tiếp thị trực
tuyến 2020 cho thấy, số người tiêu dùng mua sắm online tăng lên 25%, trong khi
ở các kênh truyền thống như siêu thị, chợ và tạp hóa chỉ tăng lần lượt 7%, 3% và
6%. Từ khảo sát này, cộng thêm sự lên ngôi của các app bán hàng, chúng em đã
lên ý tưởng xây dựng và phát triển ứng dụng bán sách. App bán sách là phần mềm
cho phép người dùng có thể xem các thể loại sách, thêm sách vào giỏ hàng, đặt
hàng và thanh tốn hóa đơn.

1.2 Lí do chọn đề tài
Ngày nay, với sự bùng nổ của công nghệ thông tin, việc kinh doanh online
đang trở thành một xu thế tất yếu, một thị trường đầy tiềm năng và màu mỡ. App
bán hàng online di nhập vào Việt Nam từ lâu và ngày càng có xu hướng phát triển
mạnh mẽ hơn trong thời gian dịch bệnh và sau dịch. Khi lựa chọn hoạt động đề
tài này, chúng em có thể có cơ hội tiếp xúc sâu hơn về App bán hàng online– một
nền tảng đang cực kỳ lớn mạnh, giúp người dùng có thể mua sắm trực tuyến thông
qua internet. Lựa chọn một sản phẩm phần mềm android, chúng em sẽ có thể thử
sức tạo nên một phần mềm android giúp nâng cao một phần kinh nghiệm của bản
thân về kiến thức cũng như kỹ năng lập trình một ứng dụng android. Có cơ hội
làm việc với một số ứng dụng hữu ích.


6


1.3 Tính cấp thiêt của đề tài
Như chúng ta đã biết cách mạng 4.0 đang điễn ra nhanh mạnh trong mọi lĩnh
vực, việc này đòi hỏi các ngành nghề đều được áp dụng công nghệ để theo kịp với
thời đại. Để theo kịp thời đại đó việc ứng dụng cơng nghệ phần mềm mã nguồn
mở vào xây dựng sản phẩm phần mềm được ưu tiên hàng đầu bởi những ưu điểm
mà nó mạng lại như: có một cộng đồng lớn các lập trình viên tham gia phát triển,
cộng với hàng ngàn người sử dụng và phản hồi, được sử kiểm duyệt của chính
đơn vị phát hành nên sẽ có tính bảo mật cao. Tốc độ cập nhật lỗi nhanh và được
kiểm chứng bởi cộng đồng…. App bán hàng online- ứng dụng bán hàng online,
cịn là một nền tảng vơ cùng tiềm năng cho doanh nghiệp. Môi trường mua sắm
online bùng nổ, phần thắng sẽ thuộc về doanh nghiệp biết thay đổi nhanh chóng
và nắm bắt cơ hội nhanh nhất. Do dịch bệnh hiện nay đang diễn biến hết sức phức
tạp nên nhu cầu về mua sắm online ngày càng trở nên cần thiết hơn. Chúng em
mong muốn có thể tạo nên một ý tưởng về app bán hàng với các giao diện và tính
năng thân thiện với người dùng giúp người dùng có thể mua sắm dễ dàng, nhanh
chóng, có độ tin cậy cao.
Công cụ, ngôn ngữ thực hiện đề tài: Android Studio, Case Studio, Mockup,
IBM Rational Rose, Adobe Illustrator, Ngơn ngữ lập trình Java, FireBase –
Google, Github.
❖ Android Studio
➢ Giới thiệu:
• Android Studio là mơi trường phát triển tích hợp (IDE) chính thức dành
cho phát triển nền tảng Android, được phát hành miễn phí theo giấy phép
Apache Licence 2.0.

7



• Android Studio được đóng gói với một bộ code editor, debugger, các công
cụ performance tool và một hệ thống build/deploy cho phép các lập trình
viên có thể nhanh chóng phát triển các ứng dụng từ đơn giản tới phức tạp.
• Android Studio cung cấp nhiều tính năng nâng cao hiệu suất khi xây dựng
ứng dụng Android như:
• Một hệ thống xây dựng Gradle linh hoạt.
• Trình mơ phỏng nhanh và tính năng phong phú.
• Instant Run để đẩy các thay đổi vào ứng dụng đang chạy của bạn mà khơng
cần xây dựng một APK mới.
• Tích hợp GitHub để giúp bạn xây dựng các tính năng ứng dụng phổ biến
và nhập mã mẫu.
• Hỗ trợ tích hợp sâu Firebase vào trong các ứng dụng.
• Hỗ trợ 1 số ngơn ngữ như Kotlin, Dart, Java, C, C++.


Ứng dụng :
• Là cơng cụ chính để xây dựng app bán sách cho thiết bị di động trên nền
tảng Android.
• Debug và cài đặt app trên máy có hệ điều hành Android thơng qua USB
Debug.
• Generate file APK để cài đặt trên điện thoại hoặc bất kì 1 trình giả lập
Android nào.
• Sử dụng một project Empty để phát triển app qua việc xây dựng layout
bằng các file .xml và xử lí logic bằng ngôn ngữ java.

8



❖ Case Studio 2


Giới thiệu: Là công cụ vẽ mô hình dữ liệu chun nghiệp và có thể tùy
chỉnh hỗ trợ những lập trình viên hay nhân viên thiết kế dữ liệu trong việc
vẽ mơ hình Entity Relationship Diagrams (ERD) và Data Flow Diagrams
(DFD) cũng như tạo script SQL cho nhiều cơ sở dự liệu một cách tự động.



Ứng dụng :
• Dựng mơ hình liên kết giữa các thực thể
• Render Script tự động trong việc tạo database

❖ Mock-up


Giới thiệu:
• Mock-up tạo một khuôn mẫu về giao diện cho đối tượng hoặc thiết bị được
tạo ra dựa trên một thiết kế cụ thể theo tỉ lệ hoặc kích thước đầy đủ.
• Mock-up được xây dựng để truyền đạt ý tưởng chung trên các sản phẩm
thực tế, nó được sử dụng chủ yếu bởi các nhà thiết kế để có được thơng tin
phản hồi từ người dùng.
• Mock-up cung cấp phương pháp hữu hiệu tiết kiệm nhiều thời gian và tiền
bạc trong việc thử nghiệm thiết kế.



Ứng dụng :
• Mock-up giúp hỗ thiết kế giao diện của app bán hàng online “app bán sách”

để tiện cho việc thiết kế giao diện trong Android.
• Mơ phỏng hoạt động cụ thể của từng chức năng trong trên ứng dụng trên
thực tế.

❖ IBM Rational Rose


Giới thiệu:

9


• IBM Rational Rose là phần mềm dành cho các nhà phát triển xây dựng và
thiết kế hệ thống phần mềm, ứng dụng bằng ngơn ngữ mơ hình hóa UML
• Nó cung cấp các cơng cụ vẽ trực quan, nhanh chóng và tn thủ các kí
pháp được định nghĩa sẵn. Phần mềm được đánh giá là môi trường phát
triển extend hồn hảo cho các nhà phân tích và thiêt kế.


Ứng dụng : Xây dựng mơ hình use case

❖ Adobe illustrator


Giới thiệu:
• Adobe Illustrator là trình chỉnh sửa đồ họa vector được phát triển và tiếp
thị bởi Adobe Inc . Được thiết kế ban đầu cho Apple , việc phát triển Adobe
Illustrator bắt đầu vào năm 1985.
• Từ thiết kế Logo, Branding, Website, In ấn… đến các thiết kế dùng
cho Motion Graphic, Info Graphic Video, 2D Animation, 3D Resources




Ứng dụng : Thiết kế logo cho app

❖ Ngơn ngữ lập trình Java


Giới thiệu:
• Java là ngơn ngữ lập trình hướng đối tượng và là một trong những ngôn
ngữ được dùng nhiều nhất hiện tại (Top 2 - 2021).

10


• Java được tạo ra với tiêu chí “Viết một lần, thực thi khắp mọi nơi” (Write
Once, Run Anywhere – WORA). Chương trình phần mềm viết bằng Java
có thể chạy trên mọi nền tảng (platform) khác nhau thông qua công cụ đắc
lực: Máy áo Java(JVM – Java Virtual Machine). Ngoài ra Java còn cơ chế
thu gom rác tự động và đa luồng
• Ngơn ngữ Java được sử dụng rộng rãi trong phát triển phần mềm, trang
web, web service, game hay ứng dụng trên các thiết bị di động.


Ứng dụng :
• Xây dựng chức năng của app
• Ánh xạ các view trên layout để thao tác, xử lí logic, lập trình các sự kiện
trên layout.

❖ Firebase



Giới thiệu:
• Firebase được cung cấp bởi Google, một trong những tên tuổi nổi bật và
đáng tin cậy nhất trong thế giới cơng nghệ.
• Firebase là một nền tảng để phát triển ứng dụng di động và trang web, bao
gồm các API đa dạng và mạnh mẽ và có thể dùng như 1 server.
• Firebase là dịch vụ cơ sở dữ liệu hoạt động trên nền tảng đám mây – cloud.
Kèm theo đó là hệ thống máy chủ cực kỳ mạnh mẽ của Google. Chức năng
chính là giúp người dùng lập trình ứng dụng bằng cách đơn giản hóa các
thao tác với cơ sở dữ liệu.

• Firebase hỗ trợ 1 số hoạt động như:
✓ Firebase Realtime Database: Cơ sở dữ liệu thời gian thực
✓ Firebase Authentication: Xác thực người dùng qua Gmail, Facebook,
Google,...

11


✓ Firebase Storeage: Cung cấp kho lưu trữ dữ liệu như ảnh, video,...


Ứng dụng :
• Sử dụng Firebase Realtime Database để cập nhật các sản phẩm vào trong
giỏ hàng, hóa đơn, thơng báo.
• Sử dụng Firebase Authentication để liên kết tài khoản google, xác thực
người dùng qua gmail.
• Sử dụng Firebase Storeage để lưu trữ ảnh sản phẩm.


❖ Github


Giới thiệu:
• GitHub là một hệ thống quản lý dự án và phiên bản code thơng qua các
commit. Các lập trình viên có thể clone lại mã nguồn từ một repository và
Github chính là một dịch vụ máy chủ repository cơng cộng, mỗi người có
thể tạo tài khoản trên đó để tạo ra các kho chứa của riêng mình để có thể
làm việc.
• GitHub có hơn 14 triệu người sử dụng với hơn 35 triệu kho mã nguồn, làm
cho nó trở thành máy chủ chứa mã nguồn lớn trên thế giới, đã trở thành một
yếu tố có sức ảnh hưởng trong cộng đồng phát triển mã nguồn mở



Ứng dụng :
• Quản lý mã nguồn.
• Phân chia các nhánh(branch) để phân chia cơng việc cho từng người để xử
lý từng module.

12


CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ
2.1 Phân tích hệ thống
2.1.1 Các usecase chính

DangKy

DangNhap


QuanLyTaiKhoan

XemSanPhamTheoLoaiSP

XemChiTietSanPham

TimKiemSanPham

QuanLyGioHang
CSDL
NguoiDung

QuanLyDonHang

ThemVaoGioHang

ThanhToan

DocThongBao

Chat

2.1.2 Mơ tả các usecase
a. Use case tìm kiếm sản phẩm
1. Tên use case: Tìm kiếm sản phẩm
2. Mô tả vắn tắt: Use case này cho phép khách hàng tìm kiếm hàng theo tên hàng.
3. Luồng sự kiện

13



3.1. Luồng cơ bản:
1) Use case này bắt đầu khi khách hàng ấn vào biểu tượng tìm kiếm trên thanh
toolbar, hệ thống hiển thị màn hình tìm kiếm sản phẩm.
2) Khách hàng nhập tên sản phẩm muốn tìm kiếm và kích vào nút tìm kiếm, hệ
thống lấy thơng tin sản phẩm (Id sản phẩm, mã danh mục, tên sản phẩm, tên tác
giả, ngày xuất bản, đơn giá, ảnh, số lượng cịn, mơ tả, sao đánh giá) có tên hàng
chứ từ khóa từ bảng SANPHAM trong cơ sở dữ liệu và hiển thị lên màn hình.
Use case này kết thúc.
3.2. Luồng rẽ nhánh:
1) Tại bước 2 trong luồng cơ bản nếu khách hàng nhâp vào từ khóa khơng hợp
lệ hoặc khơng tồn tại hệ thống sẽ hiển thị thông báo không tìm thấy sản phẩm
khớp với lựa chọn của khách hàng.
2) Tại bất kì thời điểm nào trong quá trình thực hiện use case nếu không kết nối
được với cơ sở dữ liệu thì hệ thống sẽ hiển thị thơng báo lỗi và use case kết thúc.
4. Các yêu cầu đặc biệt:
Khơng có
5. Tiền điều kiện:
Khơng có
6. Hậu điều kiện:
Khơng có
7. Điểm mở rộng
Xem hàng chi tiết.
b. Use case quản lý giỏ hàng
1. Tên use case: Quản lý giỏ hàng

14



2. Mô tả vắn tắt: Use case này cho phép khách hàng cập nhật số lượng và xóa
dịng sản phẩm.
3. Luồng sự kiện
3.1. Luồng cơ bản:
1) Use case này bắt đầu khi khách hàng ấn vào biểu tượng giỏ hàng trên màn
hình chính, hệ thống lấy thơng tin chi tiết các sản phẩm (Id sản phẩm, mã danh
mục, tên sản phẩm, tên tác giả, ngày xuất bản, đơn giá, ảnh, số lượng cịn, mơ
tả, sao đánh giá) từ bảng SANPHAM trong CSDL và hiển thị ra màn hình cùng
với các lựa chọn cập nhật số lượng, xóa dịng sản phẩm.
2) Cập nhật số lượng.
Khách hàng kích vào dấu “+” hoặc “-” ở màn hình chi tiết giỏ hàng hoặc giỏ
hàng, hệ thống lấy thông tin số lượng từ bảng DONGGIOHANG, GIOHANG,
cập nhật lại số lượng vào bảng DONGGIOHANG và hiển thị lại số lượng hàng
được cập nhật.
3) Xóa dịng sản phẩm.
Khách hàng kích vào dấu “-“ ở màn hình chi tiết giỏ hàng hoặc giỏ hàng để số
lượng sản phẩm về 0, hệ thống sẽ hiển thị thơng báo xóa giỏ hàng. Khách hàng
bấm ok để xác nhận xóa, hệ thống sẽ xóa sản phấm đó khỏi giỏ hàng.
Use case này kết thúc.
3.2. Luồng rẽ nhánh:
1) Tại bước 1 trong luồng cơ bản nếu khơng có hàng trong giỏ hàng hệ thống
yêu cầu khách hàng quay lại màn hình home.
2) Tại bất kì thời điểm nào trong quá trình thực hiện use case nếu không kết nối
được với cơ sở dữ liệu thì hệ thống sẽ hiển thị thơng báo lỗi và use case kết thúc.
4. Các yêu cầu đặc biệt: Khơng có

15


5. Tiền điều kiện:

Mặt hàng phải còn hàng
6. Hậu điều kiện:
Khơng có
7. Điểm mở rộng
Xem hàng chi tiết, Thanh tốn.
c. Use case thêm vào giỏ hàng
1. Tên use case: Thêm vào giỏ hàng
2. Mô tả vắn tắt: Use case này cho phép khách hàng thêm sản phẩm vào giỏ hàng
3. Luồng sự kiện
3.1. Luồng cơ bản:
1) Use case này bắt đầu khi khách hàng ấn vào biểu tượng “Thêm vào giỏ hàng”
ở màn hình chi tiết giỏ hàng hoặc màn hình danh sách sản phẩm, hệ thống sẽ lấy
thơng tin của các sản phẩm (Id sản phẩm) ở bảng SANPHAM, thông tin của giỏ
hàng (id giỏ hàng) ở bảng GIOHANG và số lượng sau đó lưu vào bảng
DONGGIOHANG.
Use case này kết thúc.
3.2. Luồng rẽ nhánh:
1) Tại bất kì thời điểm nào trong q trình thực hiện use case nếu khơng kết nối
được với cơ sở dữ liệu thì hệ thống sẽ hiển thị thông báo lỗi và use case kết thúc.
4. Các u cầu đặc biệt:
Khơng có
5. Tiền điều kiện:
Sản phẩm phải còn hàng.
16


6. Hậu điều kiện:
Khơng có
7.Điểm mở rộng
Quản lý giỏ hàng.

d. Use case quản lý đơn hàng
1. Tên use case: quản lý đơn hàng
2. Mô tả vắn tắt: Use case này cho phép khách quản lý các đơn hàng của mình.
3. Luồng sự kiện
3.1. Luồng cơ bản:
1) Use case này bắt đầu khi khách hàng ấn vào biểu tượng đơn hàng trên màn
hình tơi, hệ thống sẽ lấy thơng tin các đơn hàng (id đơn hàng, tổng tiền, ngày
lập, ghi chú, hình thức thanh tốn, phí vận chuyển, id user) từ bảng DONHANG
sau đó hiển thị lên màn hình.
2) Xem chi tiết đơn hàng
- Khách hàng nhấn vào từng dòng đơn hàng, hệ thống lấy thông tin chi tiết của
đơn

hàng

từ

bảng

SANPHAM,

TAIKHOAN,

DONHANG



DONGDONHANG (giá bán, số lượng, tên sản phẩm, ngày lập, ghi chú, hình
thức, địa chỉ, username, sdt) và hiển thị lên màn hình.
3) Hủy đơn

- Người dùng chọn “Hủy đơn” trong chi tiết đơn hàng để hủy đơn hàng. Hệ
thống sẽ xóa đơn hàng tương ứng trong

bảng DONHANG và

DONGDONHANG và hiển thị lại danh sách đơn hàng.
Use case này kết thúc.
3.2. Luồng rẽ nhánh:

17


1) Tại bất kì thời điểm nào trong quá trình thực hiện use case nếu không kết nối
được với cơ sở dữ liệu thì hệ thống sẽ hiển thị thơng báo lỗi và use case kết thúc.
4. Các yêu cầu đặc biệt:
Khơng có
5. Tiền điều kiện:
Khách hàng đã đăng nhập vào hệ thống
6. Hậu điều kiện:
Khơng có
7. Điểm mở rộng
Xem hàng chi tiết.
e. Use case đăng ký
1. Tên use case: Đăng ký
2. Mô tả vắn tắt: Use case này cho phép người dùng đăng ký tài khoản.
3. Luồng sự kiện:
3.1 Luồng cơ bản
1) Use case này bắt đầu khi người dùng chọn Đăng ký trên menu chính. Hệ thống
hiển thị màn hình đăng ký.
2) Người dùng nhập email, mật khẩu, xác nhận mật khẩu, tên tài khoản và ấn nút

“Đăng ký”. Hệ thống lấy thông tin vừa nhập gửi dữ liệu lên sever để tạo tài khoản
và lưu dữ liệu vào bảng TAIKHOAN. Thông tin về tài khoản được lưu trữ tại
Firebase Realtime Database và hiển thị thông báo đăng kí thành cơng.
Use case kết thúc.
3.2 Luồng rẽ nhánh:

18


1) Tại bước 2 của luồng cơ bản. Người dùng kích vào nút “Thốt” trên màn hình
đăng ký thì use case kết thúc.
2) Tại bước 2 trong luồng cơ bản. Người dùng nhập vào thơng tin khơng chính
xác (email, mật khẩu, xác nhận mật khẩu, tên tài khoản), email đã tồn tại hoặc
bỏ trống một trường trong form thì hệ thống sẽ hiển thị thông báo lỗi và yêu cầu
người dùng nhập lại Hệ thống hiển thị “Đăng ký thất bại”.
3) Tại bất kỳ thời điểm nào trong quá trình thực hiện use case nếu không kết nối
được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết
thúc.
4. Các yêu cầu đặc biệt:
Khơng có
5. Tiền điều kiện:
Khơng có.
6. Hậu điều kiện:
Thơng tin được lưu vào bảng TAIKHOAN.
7. Điểm mở rộng:
Khơng có.
f. Use case quản lý tài khoản
1. Tên use case: Quản lý tài khoản
2. Mô tả vắn tắt: Use case này cho phép người dùng xem, cập nhật thông tin tài
khoản bảng TAIKHOAN.

3. Luồng sự kiện:
3.1 Luồng cơ bản:

19


1) Use case này bắt đầu khi người dùng chọn Quản lý tài khoản trên menu chính.
Hệ thống sẽ trả về lựa chọn cập nhật tài khoản.
2) Cập nhật tài khoản
a) Người dùng ấn vào nút “Cập nhật tài khoản” trong quản lí tài khoản. Hệ
thống trả về thơng tin cũ của người dùng (Avatar, Email, Tên đăng nhập, Mật
khẩu cũ) trên các hộp text box để nhập thông tin mới.
b) Người dùng nhập thông tin cần cập nhật và kích vào nút “Cập nhật”. Hệ
thống cập nhật thơng tin cá nhân của người dùng vào bảng TAIKHOAN và
hiển thị lại thông tin cá nhân được cập nhật.
Use case kết thúc.
3.2 Luồng rẽ nhánh:
1) Tại bước 2b của luồng cơ bản khi không cập nhật được thông tin cá nhân của
bảng TAIKHOAN. Hệ thống hiển thị thông báo lỗi.
2) Tại bất kỳ thời điểm nào trong quá trình thực hiện use case nếu không kết nối
được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thơng báo lỗi và use case kết
thúc.
4. Các yêu cầu đặc biệt:
Không có
5. Tiền điều kiện:
Người dùng phải đăng nhập thành cơng.
6. Hậu điều kiện:
Thông tin được lưu vào bảng TAIKHOAN.
7. Điểm mở rộng:
Khơng có.


20


g. Use case xem sản phẩm theo loại sản phẩm
1. Tên use case: Xem sản phẩm theo loại sản phẩm
2. Mô tả vắn tắt: Use case này cho phép người dùng xem sản phẩm theo loại sản
phẩm.
3. Luồng sự kiện:
3.1 Luồng cơ bản
1) Use case này bắt đầu khi người dùng chọn Danh mục sách trên menu chính.
Hệ thống sẽ lấy thông tin các danh mục trong bảng DANHMUC và hiển thị lên
màn hình.
2) Người dùng chọn một danh mục con trong Danh mục sách. Hệ thống lấy thông
tin các sản phẩm (Hình ảnh, Tên sản phẩm, Giá bán và Sao đánh giá) từ bảng
SANPHAM và hiển thị các sản phẩm phân theo loại sản phẩm.
Use case kết thúc.
3.2 Luồng rẽ nhánh:
1) Tại bất kỳ thời điểm nào trong quá trình thực hiện use case nếu khơng kết nối
được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết
thúc.
4. Các yêu cầu đặc biệt:
Khơng có
5. Tiền điều kiện:
Khơng có.
6. Hậu điều kiện:
Khơng có.
7. Điểm mở rộng: Khơng có.

21



h. Use case xem chi tiết sản phẩm
1. Tên use case: Xem chi tiết sản phẩm
2. Mô tả vắn tắt: Use case này cho phép người dùng xem chi tiết sản phẩm.
3. Luồng sự kiện:
3.1 Luồng cơ bản
1) Use case này bắt đầu khi người dùng chọn một sản phẩm. Hệ thống lấy thơng
tin chi tiết của sản phẩm (Hình ảnh, Tên sản phẩm, Tên tác giả, Ngày xuất bản,
Giá bán, Sao đánh giá, Mô tả) từ bảng SANPHAM và hiển thị thơng tin sản
phẩm lên màn hình.
Use case kết thúc.
3.2 Luồng rẽ nhánh:
1) Tại bất kỳ thời điểm nào trong q trình thực hiện use case nếu khơng kết nối
được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết
thúc.
4. Các u cầu đặc biệt:
Khơng có
5. Tiền điều kiện:
Khơng có.
6. Hậu điều kiện:
Khơng có.
7. Điểm mở rộng:
Khơng có.
i. Use case thanh toán
1. Tên use case: Thanh toán.
22


2. Mô tả vắn tắt: Use case này cho phép khách hàng tiến hành đặt hàng.

3. Luồng sự kiện
3.1. Luồng cơ bản:
1) Use case này bắt đầu khi người dùng chọn Thanh tốn trong Giỏ hàng. Hệ
thống lấy thơng tin thanh tốn gồm: thơng tin người nhận (Tên người nhận, số
điện thoại, địa chỉ) từ bảng TAIKHOAN, danh sách sản phẩm từ bảng
DONGGIOHANG, tổng tiền từ bảng GIOHANG trong cơ sở dữ liệu, phương
thức thanh tốn, phí ship và hiển thị lên màn hình.
2) Người dùng chọn Thanh tốn. Hệ thống hiển thị thơng báo thanh tốn thành
cơng.
Use case kết thúc.
3.2. Luồng rẽ nhánh:
Tại bất kỳ thời điểm nào trong q trình thực hiện use case nếu khơng kết nối
được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết
thúc.
4. Các u cầu đặc biệt:
Khơng có.
5. Tiền điều kiện:
Tài khoản đã có địa chỉ và số điện thoại.
6. Hậu điều kiện:
Thơng tin được lưu vào bảng DONHANG, DONGDONHANG.
7. Điểm mở rộng:
Xem chi tiết đơn hàng.

23


k. Use case đọc thông báo
1.Tên use case: Xem thông báo.
2. Mô tả vắn tắt: Use case này cho phép khách hàng xem các thông báo.
3. Luồng sự kiện

3.1. Luồng cơ bản:
1) Use case này bắt đầu khi người dùng chọn biểu tượng thông báo trên hệ thống.
Hệ thống sẽ trả về danh sách thông báo lấy từ bảng THONGBAO trong cơ sở
dữ liệu.
2) Nguời dùng chọn vào 1 thông báo, hệ thống sẽ hiển thị đầy đủ thông tin về
thơng báo đó lên màn hình.
Use case kết thúc.
3.2. Luồng rẽ nhánh:
Tại bất kỳ thời điểm nào trong quá trình thực hiện use case nếu không kết nối
được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết
thúc.
4. Các yêu cầu đặc biệt:
Khơng có.
5. Tiền điều kiện:
Khơng có.
6. Hậu điều kiện:
Khơng có.
7. Điểm mở rộng:
Khơng có.

24


l. Use case chat
1. Tên use case: Chat.
2. Mô tả vắn tắt: Use case này cho phép khách hàng nhắn tin cho cửa hàng.
3. Luồng sự kiện
3.1. Luồng cơ bản:
1) Use case này bắt đầu khi người dùng chọn biểu tượng chat trên hệ thống. Hệ
thống lấy dữ liệu từ bảng CHAT trong cơ sở dữ liệu và hiển thị màn hình chat.

2) Người dùng nhập tin nhắn và ấn biểu tượng gửi, hệ thống sẽ gửi tin nhắn, lưu
tin nhắn vào bảng CHAT và hiển thị tin nhắn đã gửi.
Use case kết thúc.
3.2. Luồng rẽ nhánh:
Tại bất kỳ thời điểm nào trong quá trình thực hiện use case nếu khơng kết nối
được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết
thúc.
4. Các u cầu đặc biệt:
Khơng có.
5. Tiền điều kiện:
Khơng có.
6. Hậu điều kiện:
Thơng tin được lưu vào bảng CHAT.
7. Điểm mở rộng:
Khơng có.

25


×