TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
──────── * ───────
BÀI TẬP LN
MÔN: CÔNG NGHỆ PHẦN MỀM
PHẦN MỀM QUẢN LÝ VÀ BÁN SÁCH
TRỰC TUYẾN
Nhóm :
lớp học : 23.Nh12
Giáo viên hướng dẫn : TS. Võ Đức Hoàng
Danh sách sinh viên thực hiện:
STT
Họ tên
sinh viên
Email
Lớp
1
Đức Kiên
102230194
haduckien1709@gmail.com
23T_DT1
2
Ngô Văn Lộc
102230197
62205ngovanloc@gmail.com
23T_DT1
3
Huỳnh Thảo Nhi
102230258
thaonhi6102005ll@gmail.com
23T_DT2
4
Nguyễn Hiếu
102230185
hieubm1206@gmail.com
23T_DT1
Đà Nẵng, tháng 5 năm 2025
MỤC LỤC
LỜI NÓI ĐẦU .................................................................................................................. 1
1. PHÂN CÔNG THÀNH VIÊN TRONG NHÓM ................................................... 3
CHƯƠNG 1. KHẢO SÁT BÀI TOÁN ...................................................................... 4
1.1. tả yêu cầu bài toán ...................................................................................... 4
1.2. Khảo sát bài toán ............................................................................................... 4
1.3. Xác định thông tin bản cho nghiệp vụ của bài toán ................................ 11
1.4. Xây dựng biểu đồ phân chức ng ............................................................ 14
1.5. Xây dựng biểu đồ phân công việc .............................................................. 16
1.6. Xây dựng kế hoạch dự án đơn giản ............................................................... 18
Xây dựng kế hoạch dự án ............................................................................... 18
Biểu đồ Gantt .................................................................................................. 19
Xây dựng kế hoạch quản rủi ro .................................................................. 20
CHƯƠNG 2. ĐẶC TẢ YÊU CẦU BÀI TOÁN ...................................................... 21
2.1. Giới thiệu chung ............................................................................................... 21
2.2. Biểu đồ use case ................................................................................................ 23
2.2.1. Biểu đồ use case tổng quan ......................................................................... 23
2.2.2. Biểu đồ use case phân mức 2 ................................................................. 24
2.3. Đặc tả use case .................................................................................................. 27
2.4. Các yêu cầu phi chức ng ............................................................................. 32
CHƯƠNG 3. PHÂN TÍCH YÊU CẦU .................................................................... 36
3.1. Xác định các lớp phân ch .............................................................................. 36
3.2. Xây dựng biểu đồ trình tự .............................................................................. 36
3.3. Xây dựng biểu đồ lớp phân tích ..................................................................... 37
3.4. Xây dựng biểu đồ thực thể liên kết (ERD) .................................................... 37
CHƯƠNG 4. THIẾT KẾ CHƯƠNG TRÌNH ......................................................... 38
4.1. Thiết kế kiến trúc ............................................................................................. 38
4.2. Thiết kế sở dữ liu ....................................................................................... 38
4.3. Thiết kế chi tiết các gói .................................................................................... 40
4.4. Thiết kế chi tiết lớp .......................................................................................... 41
i
4.5. đồ lớp chi tiết ............................................................................................... 42
4.6. Thiết kế giao diện ............................................................................................. 42
CHƯƠNG 5. XÂY DỰNG CHƯƠNG TRÌNH MINH HỌA ............................... 45
5.1. Thư việncông cụ sử dụng .......................................................................... 45
5.2. Kết quả chương trình minh họa ..................................................................... 45
5.3. Giao diện minh hoạ các chức năng của chương trình ................................. 45
CHƯƠNG 6. KIỂM THỬ CHƯƠNG TRÌNH ....................................................... 49
6.1. Kiểm thử các chức năng đã thực hiện ........................................................... 49
6.1.1. Kiểm thử cho chức năng 1 .......................................................................... 49
6.1.2. Kiểm thử cho chức năng 2 .......................................................................... 50
6.1.3. Kiểm thử yêu cầu phi chức ng ................................................................ 50
CHƯƠNG 7. HƯỚNG DẪN CÀI ĐẶT SỬ DỤNG ........................................ 51
7.1. Hướng dẫn cài đặt............................................................................................ 51
7.2. Đối tượng, phạm vi sử dụng............................................................................ 51
7.3. Xác định các yêu cầu cài đặt ........................................................................... 51
7.4. Hướng dẫn chi tiết các bước cài đặt .............................................................. 51
7.5. Hướng dẫn sử dụng phần mềm ...................................................................... 51
ii
LỜI NÓI ĐẦU
Trong thời đại công nghệ số phát triển mạnh mẽ, nhu cầu đọc sách ngày càng gia
tăng khi mọi người nhận ra tầm quan trọng của tri thức văn hóa đọc. Sách không chỉ
giúp con người mở rộng hiểu biết còn công cụ rèn luyện duy, nuôi dưỡng cảm
xúc phát triển bản thân. Tuy nhiên, không phải lúc nào người đọc cũng dễ dàng tìm
thấy cuốn sách mình cần, đặc biệt trong bối cảnh thị trường sách ngày càng phong
phú và đa dạng.
Bên cạnh đó, các cửa ng sách cũng gặp nhiều thách thức trong việc quản kho hàng,
theo dõi doanh thu đáp ứng nhu cầu ngày càng cao của khách hàng. Việc sử dụng các
phương pháp truyền thống không chỉ làm giảm hiệu suất kinh doanh còn ảnh hưởng
đến trải nghiệm mua sắm. vậy, việc ứng dụng công nghệ vào kinh doanh sách không
chỉ một xu hướng tất yếu còn mang lại nhiều lợi ích cho cả người bán lẫn người
mua.
Xuất phát từ thực tế đó, nhóm tác giả đã lựa chọn đề tài Phần mềm quản bán
sách trực tuyến”, với mục tiêu xây dựng một nền tảng giúp các nhà sách quản hiệu
quả hơn đồng thời mang đến cho người đọc trải nghiệm mua sắm tiện lợi.
1. tả về đềi
Phần mềm sẽ cung cấp các tính năng n:
Đối với người quản lý: Quản lý kho sách, theo dõi doanh thu, xử lý đơn
hàng và chăm sóc khách hàng.
Đối với người mua: Tìm kiếm, đặt hàng trực tuyến, theo dõi đơn hàng
một cách dễ dàng.
Với phần mềm này, các đọc giả thể ddàng tiếp cận sách một cách nhanh
chóng, trong khi các cửa hàng có thể vận hành hiệu quả hơn, nâng cao doanh thu
và cải thiện chất lượng dịch vụ.
Không chỉ một dự án mang tính ứng dụng thực tế, đề tài này còn giúp nhóm
tác giảng cao kỹ năng lập trình, quản dữ liệu và phát triển phần mềm. Nhóm
hy vọng sản phẩm này thể góp phần thúc đẩy văn hóa đọc, giúp sách đến gần
hơn với mọi người.
2. tả quá trình tiếp cận
Ban đầu, nhóm tác giả tiến hành nghiên cứu vthị trường sách, tìm hiểu các
hình quản kinh doanh sách trực tuyến hiện nay. Qua đó, nhóm nhận thấy
rằng nhiều cửa hàng vẫn đang sử dụng phương pháp thủ công hoặc các công cụ
kém hiệu quả, gây khó khăn trong việc kiểm soát số lượng sách, theo dõi đơn
hàng và phục vụ khách hàng.
1
Sau khi xác định được nhu cầu thực tế, nhóm tiến hành:
Phân tích yêu cầu: Xác định các chức năng quan trọng mà phần mềm
cần có.
Lựa chọn công nghệ: Tìm hiểu các công nghệ phù hợp để xây dựng hệ
thống, bao gồm ngôn ngữ lập trình, cơ sở dữ liệu và nền tảng triển khai.
Thiết kế hệ thống: Xây dựng sơ đồ chức năng, giao diện người dùng và
cơ sở dữ liệu.
Lập trình và phát triển: Bắt đầu xây dựng phần mềm, từ các tính năng
cơ bản đến nâng cao.
Kiểm thử và cải tiến: Chạy thử chương trình, kiểm tra lỗi và tối ưu hóa
hệ thống để đảm bảo hoạt động ổn định.
3. Hoàn thiện đềi
Trong giai đoạn hoàn thiện, nhóm tập trung vào việc tối ưu giao diện người dùng
để các đọc giả thể tiếp cận trang web một cách dễ dàng. Đồng thời, nhóm cũng
tiến hành kiểm thử kỹ lưỡng để phát hiện và khắc phục lỗi, đảm bảo tính bảo mật
và độ chính xác trong quá trình quản lý và mua bán sách.
Ngoài ra, nhóm cũng bổ sung một số tính năng nâng cao như:
Hỗ trợ nhiều phương thức thanh toán.
Quản thông tin khách hàng chương trình khuyến i.
Sau khi hoàn tất quá trình kiểm thử, nhóm tiến hành tổng hợp tài liệu, viết báo
cáo và chuẩn bị cho việc trình bày đề tài.
Với những nỗ lực trong suốt quá trình nghiên cứu phát triển, nhóm tác giả hy
vọng rằng phần mềm này sẽ trở thành một giải pháp hữu ích giúp các cửa hàng
sách vận hành hiệu quả hơn, đồng thời mang đến trải nghiệm mua sắm tiện lợi
cho người yêu sách.
2
1.
PHÂN CÔNG THÀNH VIÊN TRONG NHÓM
Họ và tên
Tổng hợp công việc thực hiện
Đánh g
Đức Kiên
Lập trình logic của ứng dụng
Ngô Văn Lộc
Lập trình giao diện người ng
Huỳnh Thảo Nhi
Lập trình logic của ứng dụng
Nguyễn Hiếu
Xây dựng sở dữ liệu
3
CHƯƠNG 1. KHẢO SÁT BÀI TOÁN
1.1.
tả yêu cầu bài toán
Hệ thống quản cửa hàng sách trực tuyến cần htrợ các chức năng để quản
sách, khách hàng, đơn hàng, giỏ hàng và thanh toán. Hệ thống phải đảm bảo hoạt
động ổn định, bảo mật thông tin khách hàng và hỗ trợ người dùng ddàng mua
sắm. Bao gồm các chức năng cơ bản.
a. Xem sách tìm kiếm sách
- Xem tất cả danh sách của các loại sách.
- Tìm kiếm sách theo tên, tác gi.
- Sắp xếp sách theo giá.
- Chi tiết về quyển sách.
b. Dịch vụ dành cho người dùng
- Đăngđăng nhập.
- Quên mật khẩu.
- Thay đổi mật khẩu, thay đổi thông tin user.
- Thêm hoặc xóa sản phẩm ra khỏi giỏ hàng.
- Mua hàng.
- Theo dõi, đánh giá đơn ng.
- Xem lịch sử mua hàng trước đó, xem các đơn hàng đã hủy.
- Đánh giá sản phẩm.
c. Admin quản
- Đăng nhập.
- Thêm, sửa và xóa ch.
- Quản khách hàng.
- Quản đơn ng.
- Quản hóa đơn.
- Thêm giảm giá.
- Phản hồi thống kê doanh thu.
- Theo dõi trạng thái đơn hàng (đang xử lý, đang giao, đã giao).
- Hỗ trợ hủy đơn hàng nếu chưa xác nhận.
1.2.
Khảo sát bài tn
Mục tiêu của bài toán
- Xây dựng một cửa hàng sách trực tuyến, hỗ trợ tìm kiếm, mua sắm, quản
lý đơn hàng dễ dàng.
Đối tượng sử dụng
- Người dùng (khách hàng): mua sách, xem thông tin, đánh giá sản phm
- Admin (quản trị viên): quản sản phẩm, đơn hàng, người dùng các
hoạt động khác của cửa hàng.
4
Phân tích yêu cầu
- Quản sản phẩm: Thêm, sửa, xóa, tìm kiếm lọcch.
Hình 1.2.1: Thêm sản phẩm mới.
Hình 1.2.2: Sửa, xóa thông tin sản phẩm.
5
- Quản người dùng: Đăng ký, đăng nhập, phân quyền.
Hình 1.2.3: Đăng người dùng
Hình 1.2.4: Đăng nhập
6
- Giỏ hàng và thanh toán: Thêm/xóa sách, hỗ trợ nhiều phương thức thanh
toán.
Hình 1.2.5: Giỏ hàng người dùng
Hình 1.2.6: Thanh toán trực tuyến khi mua ng
- Quản lý đơn hàng: theo dõi trạng thái đơn hàng, hủy đơn hàng nếu chưa
được xử lý.
7
Hình 1.2.7: Quản đơn hàng từ Admin
Hình 1.2.8: Quản đơn hàng của người dùng
- Đánh giá và bình luận: người dùng có thể đánh giá và bình luận về sách
sau khi mua.
8
Hình 1.2.9: Phản hồi của khách ng
- Khuyến mãi và giảm giá: hỗ trợ mã giảm giá và các chương trình khuyến
i.
Hình 1.2.10: Áp dụng giảm giá khi mua ng
- Báo cáo và thống kê: thống kê doanh thu, sản phẩm bán chạy, số lượng
người dùng.
9
Hình 1.2.11: Báo cáo, thống doanh thu.
Phân tích yêu cầu phi chức năng
- Hiệu suất: Xử đồng thời lượng người dùng lớn.
- Bảo mật: Bảo mật thông tin người dùng thanh toán.
- Khả năng mở rộng: Dễ dàng nâng cấp khi số lượng nguwoif dùng và sản
phẩm tăng.
- Tính khả dụng: giao diện thân thiện, dễ sử dụng trên cả máy tính và thiết
bị di động.
- Tích hợp: tích hợp với các dịch vụ bên ngoài như cổng thanh toán, dịch
vụ vận chuyển.
Phân tích đối tượng sử dụng:
- Người dùng: cần dễ dàng tìm kiếmmua sách. Có thể theo dõi đơn hàng
và xem đánh giá sản phẩm.
- Admin - quản trị viên: cần công cụ quản lý sản phẩm, đơn hàng và người
dùng hiệu quả. Cần báo cáo và thống kê để đưa ra quyết định kinh doanh.
Phân tích công nghệ:
- Front-end: HTML,CSS, JS (có thể dùng framework như React, Angular,
Vue.js).
- Back-end: Python, Java, PHP, C#, Node.js,...
- Cơ sở dữ liệu: sử dụng hệ quản trị cơ sở dữ liệu: MySQL, PostgreSQL,
MongoDB.
- Hosting và triển khai: sử dụng các dịch vụ đám mây như AWS, Google
CLoud, Azure.
- Bảo mật: sử dụng https, hóa dữ liệu và xác thực người dùng an toàn.
10
Phân tích rủi ro:
- Rủi ro về bảo mật: nguy bị tấn công mạng, lộ thông tin người dùng.
- Rủi ro về hiệu suất: hệ thống thể bị quá tải khi quá nhiều người dùng
truy cập cùng lúc.
- Rủi ro về tích hợp: khó khăn khi tích hợp với các dịch vụ bên ngoài như
cổng thanh toán hoặc vận chuyển.
Phân tích chi phí thời gian:
- Chi phí phát triển: chi phí nhân công, công nghệ hosting.
- Thời gian phát triển: ước lượng thời gian để hoàn thành từng giai đoạn
(phân tích, thiết kế, phát triển, kiểm thử, triển khai).
Kết quả khảo sát:
- Tài liệu yêu cầu: tạo tài liệu mô tả chi tiết các yêu cầu chức năng và phi
chức năng.
- Sơ đồ use-case: vẽ sơ đồ use-case để mô tả các tương tác giữa người dùng
và hệ thống.
- đồ luồng dữ liệu: tả luồng dữ liệu trong hệ thống từ khi người dùng
tìm kiếm sách đến khi hoàn thành đơn hàng .
Kết luận:
- Bài toán cửa hàng bán sách trực tuyến cần được phân tích kỹ lưỡng để
đảm bảo đáp ứng đúng nhu cầu của người dùng và mục tiêu kinh doanh.
- Cần tập trung vào các yếu tố như trải nghiệm như người dùng, bảo mật và
khả năng mở rộng.
1.3.
Xác định thông tin bản cho nghiệp vụ của bài toán
1. Quản sách
tả: Cửa hàng cần quản thông tin chi tiết của từng cuốn sách.
Cụ thể:
Thêm mới sách vào hệ thống.
Cập nhật thông tin sách (giá, số lượng, tả,...).
Xóa sách khỏi hệ thống.
Tìm kiếm, lọc sách theo thể loại, tác giả, giá.
2. Bán sách trực tuyến
Mô tả: Khách hàng có thể đặt sách trực tuyến và nhận xác nhận đơn
ng.
Cụ thể:
Thêm sách vào giỏ hàng.
Xác nhận đơn hàng cần mua.
Hủy đơn ng.
3. Quản khách ng
tả: Lưu trữ thông tin khách hàng.
Cụ thể:
Đăng tài khoản khách hàng.
11
Cập nhật thông tin nhân.
Theo dõi lịch sử mua hàng.
4. Thanh toán
tả: Hỗ trợ khách hàng thanh toán nhanh chóng an toàn.
Cụ thể:
Chọn phương thức thanh toán (chuyển khoản…).
Hoàn tiền khi trả ng.
5. Báo cáo doanh thu
tả: Hỗ trợ chủ cửa hàng theo dõi doanh số bán hàng.
Cụ thể: Tổng hợp xuất báo cáo doanh thu theo ngày/tháng/năm.
Input
Process
Output
Thêm sách vào hệ thng
Kiểm tra sách đã tồn tại
chưa, nếu chưa thì lưu
vào DB
Sách được lưu vào DB
Cập nhật thông tin sách
Hiển thị thông tin ch,
thể thay đổi thông tin
Thông tin mới được u
Xóa sách khỏi hệ thống
Hiển thị thông tin sách,
không thể thay đổi
Sách được xóa khỏi DB
Tìm kiếm sách (tên, tác giả)
Lọc danh sách theo yêu
cầu, hiển thị thông tin
ch
Danh sách phù hợp
Thêm sách vào giỏ ng
Kiểm tra số lượng ch
trong dữ liệu
Lưu vào giỏ hàng (nếu tồn
tại sách)
Xác nhận đơn hàng cần
mua (từ giỏ hàng hoặc mua
trực tiếp)
Lưu đơn hàng cần mua
Chuyển đến phần nhập
thông tin thanh toán
Hủy đơn hàng
Xác nhận từ Admin về
yêu cầu hủy đơn hàng
Đơn hàng được hủy (nếu
admin xác nhận hủy)
Nhập thông tin thanh toán
Xác nhận phương thức
thanh toán, địa chỉ nhận
ng
In ra hóa đơn
Đăng ký tài khoản
Lưu trữ thông tin khách
hàng vào DB
Hiển thị trang ch
Đăng nhập tài khoản
Kiểm tra tài khoản tồn
tại không DB
Hiển thị trang ch
Theo dõi lịch sử mua hàng
Lấy thông tin về lịch sử
mua hàng của khách
ng
Hiển thị lịch sử mua hàng
12
Chọn phương thức thanh
toán
Xác nhận phương thức
thanh toán
Thành ng
Hoàn tiền khi trả hàng
Xác nhận đơn hàng cần
hoàn lại, cần xác nhận từ
admin
Hoàn tiền (nếu admin xác
nhận)
Cập nhật doanh thu, chi phí
Tính toán lợi nhuận, tạo
báo cáo doanh thu theo
ngày, tháng, năm
Hiển thị báo cáo theo dạng
lược đồ
13
1.4.
Xây dựng biểu đồ phân rã chức ng
14
Downloaded by giang le (legiangnamban@gmail.com)
Tên chức năng
tả
Đánh giá khả năng thực hiện (nhân lực,
thời gian, công nghệ, môi trường)
1.Book
Management
Quản lý sách, tìm kiếm, kiểm
soát kho hàng
-Nhân lực: Backend, Frontend, Database
-Thời gian: 2-3 tuần.
-Công nghệ: ASP .NET Core, TypeORM,
SQL Server.
-Môi trường: Server khả năng lưu trữ lớn.
2. Customer
Management
Quản lý thông tin khách hàng,
xác thực
-Nhân lực: Backend, Frontend, Database
-Thời gian: 2 tuần.
-Công nghệ: OAuth2, JWT, ASP .NET
Core, SQL Server
-Môi trường: Đảm bảo bảo mật dữ liệu
người dùng.
3. Shopping
Cart & Order
Management
Quản lý giỏ hàng và đơn đặt
ng
-Nhân lực: Backend, Frontend, Database
-Thời gian: 3 tuần.
-Công nghệ: ASP .NET Core, SQL Server,
HTML, CSS, JavaScript, React.
-Môi trường: Xử nhiều đơn hàng đồng
thời
4. Payment
Methods
Quản thanh toán, hoàn tiền
-Nhân lực: Backend, Frontend, Database
-Thời gian: 3-4 tuần.
-Công nghệ: Stripe, PayPal API, ASP .NET
Core, SQL Server
-Môi trường: Bảo mật cao
5. Review &
Feedback
Management
Quản lý đánh giá, phản hồi từ
khách hàng
-Nhân lực: Backend, Frontend, Database
-Thời gian: 2-3 tuần.
-Công nghệ: React, ASP .NET Core, SQL
Server
-Môi trường: Đảm bảo minh bạch, tránh
spam
6. Report
Management
Quản lý báo cáo, doanh thu,
xu hướng
-Nhân lực: Backend, Frontend, Database
-Thời gian: 3 tuần.
-Công nghệ: Power BI, SQL Server, ASP
.NET Core
-Môi trường: Dữ liệu real-time từ hệ thống
15
Downloaded by giang le (legiangnamban@gmail.com)
1.5.
Xây dựng biểu đồ phân rã công việc
16
Downloaded by giang le (legiangnamban@gmail.com)
Downloaded by giang le (legiangnamban@gmail.com)
WBS
Công việc
MO
ML
MP
EST
1
Phân tích yêu cầu
4.5
7.5
10.5
7.5
1.1
Thu thập yêu cầu
0.5
1
1.5
1
1.2
Khảo sát nghiên
cứu hệ thống tương
tự
1
2
3
2
1.3
Xác định các nghiệp
vụ chính
3
4.5
6
4.5
2
Thiết kế hệ thống
14
20
26
20
2.1
Thiết kế kiến trúc
tổng thể
5
7.5
10
7.5
2.2
Thiết kế sở dữ liệu
5
6.5
8
6.5
2.3
Thiết kế giao diện
4
6
8
6
3
Lập trình phát
triển
63
84
105
84
3.1
Xây dựng backend
(C#, ASP.NET Core
MVC)
25
30
41
31
3.2
Xây dựng frontend
(HTML, CSS,
JavaScript)
15
25
29
24
3.3
Kết nối với cơ sở dữ
liệu (SQL Server)
3
4
5
4
4
Kiểm thử hệ thống
11
17
20
16.5
4.1
Kiểm thử chức năng
4
5
6
5
4.2
Kiểm thử hiệu ng
2
3.5
5
3.5
4.2
Sửa lỗi
5
8.5
9
8
5
Triển khai và báo
o
11
13.5
16
13.5
5.1
Viết tài liệu hướng
dẫn
5
6.5
8
6.5
17

Preview text:

TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN
──────── * ─────── BÀI TẬP LỚN
MÔN: CÔNG NGHỆ PHẦN MỀM
PHẦN MỀM QUẢN LÝ VÀ BÁN SÁCH TRỰC TUYẾN Nhóm : Mã lớp học : 23.Nh12
Giáo viên hướng dẫn : TS. Võ Đức Hoàng
Danh sách sinh viên thực hiện: STT Họ tên Mã sinh viên Email Lớp 1 Hà Đức Kiên 102230194 haduckien1709@gmail.com 23T_DT1 2 Ngô Văn Lộc 102230197 62205ngovanloc@gmail.com 23T_DT1 3 Huỳnh Thảo Nhi 102230258 thaonhi6102005ll@gmail.com 23T_DT2 4 Nguyễn Hiếu 102230185 hieubm1206@gmail.com 23T_DT1
Đà Nẵng, tháng 5 năm 2025 MỤC LỤC
LỜI NÓI ĐẦU .................................................................................................................. 1
1. PHÂN CÔNG THÀNH VIÊN TRONG NHÓM ................................................... 3
CHƯƠNG 1. KHẢO SÁT BÀI TOÁN ...................................................................... 4
1.1. Mô tả yêu cầu bài toán ...................................................................................... 4
1.2. Khảo sát bài toán ............................................................................................... 4
1.3. Xác định thông tin cơ bản cho nghiệp vụ của bài toán ................................ 11
1.4. Xây dựng biểu đồ phân rã chức năng ............................................................ 14
1.5. Xây dựng biểu đồ phân rã công việc .............................................................. 16
1.6. Xây dựng kế hoạch dự án đơn giản ............................................................... 18
❖ Xây dựng kế hoạch dự án ............................................................................... 18
❖ Biểu đồ Gantt .................................................................................................. 19
❖ Xây dựng kế hoạch quản lý rủi ro .................................................................. 20
CHƯƠNG 2. ĐẶC TẢ YÊU CẦU BÀI TOÁN ...................................................... 21
2.1. Giới thiệu chung ............................................................................................... 21
2.2. Biểu đồ use case ................................................................................................ 23
2.2.1. Biểu đồ use case tổng quan ......................................................................... 23
2.2.2. Biểu đồ use case phân rã mức 2 ................................................................. 24
2.3. Đặc tả use case .................................................................................................. 27
2.4. Các yêu cầu phi chức năng ............................................................................. 32
CHƯƠNG 3. PHÂN TÍCH YÊU CẦU .................................................................... 36
3.1. Xác định các lớp phân tích .............................................................................. 36
3.2. Xây dựng biểu đồ trình tự .............................................................................. 36
3.3. Xây dựng biểu đồ lớp phân tích ..................................................................... 37
3.4. Xây dựng biểu đồ thực thể liên kết (ERD) .................................................... 37
CHƯƠNG 4. THIẾT KẾ CHƯƠNG TRÌNH ......................................................... 38
4.1. Thiết kế kiến trúc ............................................................................................. 38
4.2. Thiết kế cơ sở dữ liệu ....................................................................................... 38
4.3. Thiết kế chi tiết các gói .................................................................................... 40
4.4. Thiết kế chi tiết lớp .......................................................................................... 41 i
4.5. Sơ đồ lớp chi tiết ............................................................................................... 42
4.6. Thiết kế giao diện ............................................................................................. 42
CHƯƠNG 5. XÂY DỰNG CHƯƠNG TRÌNH MINH HỌA ............................... 45
5.1. Thư viện và công cụ sử dụng .......................................................................... 45
5.2. Kết quả chương trình minh họa ..................................................................... 45
5.3. Giao diện minh hoạ các chức năng của chương trình ................................. 45
CHƯƠNG 6. KIỂM THỬ CHƯƠNG TRÌNH ....................................................... 49
6.1. Kiểm thử các chức năng đã thực hiện ........................................................... 49
6.1.1. Kiểm thử cho chức năng 1 .......................................................................... 49
6.1.2. Kiểm thử cho chức năng 2 .......................................................................... 50
6.1.3. Kiểm thử yêu cầu phi chức năng ................................................................ 50
CHƯƠNG 7. HƯỚNG DẪN CÀI ĐẶT VÀ SỬ DỤNG ........................................ 51
7.1. Hướng dẫn cài đặt............................................................................................ 51
7.2. Đối tượng, phạm vi sử dụng............................................................................ 51
7.3. Xác định các yêu cầu cài đặt ........................................................................... 51
7.4. Hướng dẫn chi tiết các bước cài đặt .............................................................. 51
7.5. Hướng dẫn sử dụng phần mềm ...................................................................... 51 ii LỜI NÓI ĐẦU
Trong thời đại công nghệ số phát triển mạnh mẽ, nhu cầu đọc sách ngày càng gia
tăng khi mọi người nhận ra tầm quan trọng của tri thức và văn hóa đọc. Sách không chỉ
giúp con người mở rộng hiểu biết mà còn là công cụ rèn luyện tư duy, nuôi dưỡng cảm
xúc và phát triển bản thân. Tuy nhiên, không phải lúc nào người đọc cũng dễ dàng tìm
thấy cuốn sách mình cần, đặc biệt là trong bối cảnh thị trường sách ngày càng phong phú và đa dạng.
Bên cạnh đó, các cửa hàng sách cũng gặp nhiều thách thức trong việc quản lý kho hàng,
theo dõi doanh thu và đáp ứng nhu cầu ngày càng cao của khách hàng. Việc sử dụng các
phương pháp truyền thống không chỉ làm giảm hiệu suất kinh doanh mà còn ảnh hưởng
đến trải nghiệm mua sắm. Vì vậy, việc ứng dụng công nghệ vào kinh doanh sách không
chỉ là một xu hướng tất yếu mà còn mang lại nhiều lợi ích cho cả người bán lẫn người mua.
Xuất phát từ thực tế đó, nhóm tác giả đã lựa chọn đề tài “Phần mềm quản lý và bán
sách trực tuyến
”, với mục tiêu xây dựng một nền tảng giúp các nhà sách quản lý hiệu
quả hơn đồng thời mang đến cho người đọc trải nghiệm mua sắm tiện lợi.
1. Mô tả về đề tài
Phần mềm sẽ cung cấp các tính năng như:
Đối với người quản lý: Quản lý kho sách, theo dõi doanh thu, xử lý đơn
hàng và chăm sóc khách hàng.
Đối với người mua: Tìm kiếm, đặt hàng trực tuyến, theo dõi đơn hàng một cách dễ dàng.
Với phần mềm này, các đọc giả có thể dễ dàng tiếp cận sách một cách nhanh
chóng, trong khi các cửa hàng có thể vận hành hiệu quả hơn, nâng cao doanh thu
và cải thiện chất lượng dịch vụ.
Không chỉ là một dự án mang tính ứng dụng thực tế, đề tài này còn giúp nhóm
tác giả nâng cao kỹ năng lập trình, quản lý dữ liệu và phát triển phần mềm. Nhóm
hy vọng sản phẩm này có thể góp phần thúc đẩy văn hóa đọc, giúp sách đến gần hơn với mọi người.
2. Mô tả quá trình tiếp cận
Ban đầu, nhóm tác giả tiến hành nghiên cứu về thị trường sách, tìm hiểu các mô
hình quản lý và kinh doanh sách trực tuyến hiện nay. Qua đó, nhóm nhận thấy
rằng nhiều cửa hàng vẫn đang sử dụng phương pháp thủ công hoặc các công cụ
kém hiệu quả, gây khó khăn trong việc kiểm soát số lượng sách, theo dõi đơn
hàng và phục vụ khách hàng. 1
Sau khi xác định được nhu cầu thực tế, nhóm tiến hành:
Phân tích yêu cầu: Xác định các chức năng quan trọng mà phần mềm cần có.
Lựa chọn công nghệ: Tìm hiểu các công nghệ phù hợp để xây dựng hệ
thống, bao gồm ngôn ngữ lập trình, cơ sở dữ liệu và nền tảng triển khai.
Thiết kế hệ thống: Xây dựng sơ đồ chức năng, giao diện người dùng và cơ sở dữ liệu.
Lập trình và phát triển: Bắt đầu xây dựng phần mềm, từ các tính năng cơ bản đến nâng cao.
Kiểm thử và cải tiến: Chạy thử chương trình, kiểm tra lỗi và tối ưu hóa
hệ thống để đảm bảo hoạt động ổn định.
3. Hoàn thiện đề tài
Trong giai đoạn hoàn thiện, nhóm tập trung vào việc tối ưu giao diện người dùng
để các đọc giả có thể tiếp cận trang web một cách dễ dàng. Đồng thời, nhóm cũng
tiến hành kiểm thử kỹ lưỡng để phát hiện và khắc phục lỗi, đảm bảo tính bảo mật
và độ chính xác trong quá trình quản lý và mua bán sách.
Ngoài ra, nhóm cũng bổ sung một số tính năng nâng cao như:
● Hỗ trợ nhiều phương thức thanh toán.
● Quản lý thông tin khách hàng và chương trình khuyến mãi.
Sau khi hoàn tất quá trình kiểm thử, nhóm tiến hành tổng hợp tài liệu, viết báo
cáo và chuẩn bị cho việc trình bày đề tài.
Với những nỗ lực trong suốt quá trình nghiên cứu và phát triển, nhóm tác giả hy
vọng rằng phần mềm này sẽ trở thành một giải pháp hữu ích giúp các cửa hàng
sách vận hành hiệu quả hơn, đồng thời mang đến trải nghiệm mua sắm tiện lợi cho người yêu sách. 2 1.
PHÂN CÔNG THÀNH VIÊN TRONG NHÓM Họ và tên Email
Tổng hợp công việc thực hiện Đánh giá Hà Đức Kiên haduckien1709@gmail.com
Lập trình logic của ứng dụng Ngô Văn Lộc 62205ngovanloc@gmail.com
Lập trình giao diện người dùng
Huỳnh Thảo Nhi thaonhi6102005ll@gmail.com Lập trình logic của ứng dụng Nguyễn Hiếu hieubm1206@gmail.com
Xây dựng cơ sở dữ liệu 3
CHƯƠNG 1. KHẢO SÁT BÀI TOÁN 1.1.
Mô tả yêu cầu bài toán
Hệ thống quản lý cửa hàng sách trực tuyến cần hỗ trợ các chức năng để quản lý
sách, khách hàng, đơn hàng, giỏ hàng và thanh toán. Hệ thống phải đảm bảo hoạt
động ổn định, bảo mật thông tin khách hàng và hỗ trợ người dùng dễ dàng mua
sắm. Bao gồm các chức năng cơ bản.
a. Xem sách và tìm kiếm sách
- Xem tất cả danh sách của các loại sách.
- Tìm kiếm sách theo tên, tác giả.
- Sắp xếp sách theo giá.
- Chi tiết về quyển sách.
b. Dịch vụ dành cho người dùng
- Đăng ký và đăng nhập. - Quên mật khẩu.
- Thay đổi mật khẩu, thay đổi thông tin user.
- Thêm hoặc xóa sản phẩm ra khỏi giỏ hàng. - Mua hàng.
- Theo dõi, đánh giá đơn hàng.
- Xem lịch sử mua hàng trước đó, xem các đơn hàng đã hủy. - Đánh giá sản phẩm. c. Admin quản lý - Đăng nhập.
- Thêm, sửa và xóa sách. - Quản lý khách hàng. - Quản lý đơn hàng. - Quản lý hóa đơn. - Thêm mã giảm giá.
- Phản hồi và thống kê doanh thu. -
Theo dõi trạng thái đơn hàng (đang xử lý, đang giao, đã giao). -
Hỗ trợ hủy đơn hàng nếu chưa xác nhận. 1.2. Khảo sát bài toán
Mục tiêu của bài toán
- Xây dựng một cửa hàng sách trực tuyến, hỗ trợ tìm kiếm, mua sắm, quản lý đơn hàng dễ dàng.
Đối tượng sử dụng
- Người dùng (khách hàng): mua sách, xem thông tin, đánh giá sản phẩm
- Admin (quản trị viên): quản lý sản phẩm, đơn hàng, người dùng và các
hoạt động khác của cửa hàng. 4
Phân tích yêu cầu
- Quản lý sản phẩm: Thêm, sửa, xóa, tìm kiếm và lọc sách.
Hình 1.2.1: Thêm sản phẩm mới.
Hình 1.2.2: Sửa, xóa thông tin sản phẩm. 5
- Quản lý người dùng: Đăng ký, đăng nhập, phân quyền.
Hình 1.2.3: Đăng ký người dùng Hình 1.2.4: Đăng nhập 6
- Giỏ hàng và thanh toán: Thêm/xóa sách, hỗ trợ nhiều phương thức thanh toán.
Hình 1.2.5: Giỏ hàng người dùng
Hình 1.2.6: Thanh toán trực tuyến khi mua hàng
- Quản lý đơn hàng: theo dõi trạng thái đơn hàng, hủy đơn hàng nếu chưa được xử lý. 7
Hình 1.2.7: Quản lý đơn hàng từ Admin
Hình 1.2.8: Quản lý đơn hàng của người dùng
- Đánh giá và bình luận: người dùng có thể đánh giá và bình luận về sách sau khi mua. 8
Hình 1.2.9: Phản hồi của khách hàng
- Khuyến mãi và giảm giá: hỗ trợ mã giảm giá và các chương trình khuyến mãi.
Hình 1.2.10: Áp dụng mã giảm giá khi mua hàng
- Báo cáo và thống kê: thống kê doanh thu, sản phẩm bán chạy, số lượng người dùng. 9
Hình 1.2.11: Báo cáo, thống kê doanh thu.
Phân tích yêu cầu phi chức năng
- Hiệu suất: Xử lý đồng thời lượng người dùng lớn.
- Bảo mật: Bảo mật thông tin người dùng và thanh toán.
- Khả năng mở rộng: Dễ dàng nâng cấp khi số lượng nguwoif dùng và sản phẩm tăng.
- Tính khả dụng: giao diện thân thiện, dễ sử dụng trên cả máy tính và thiết bị di động.
- Tích hợp: tích hợp với các dịch vụ bên ngoài như cổng thanh toán, dịch vụ vận chuyển.
Phân tích đối tượng sử dụng:
- Người dùng: cần dễ dàng tìm kiếm và mua sách. Có thể theo dõi đơn hàng
và xem đánh giá sản phẩm.
- Admin - quản trị viên: cần công cụ quản lý sản phẩm, đơn hàng và người
dùng hiệu quả. Cần báo cáo và thống kê để đưa ra quyết định kinh doanh.
Phân tích công nghệ:
- Front-end: HTML,CSS, JS (có thể dùng framework như React, Angular, Vue.js).
- Back-end: Python, Java, PHP, C#, Node.js,...
- Cơ sở dữ liệu: sử dụng hệ quản trị cơ sở dữ liệu: MySQL, PostgreSQL, MongoDB.
- Hosting và triển khai: sử dụng các dịch vụ đám mây như AWS, Google CLoud, Azure.
- Bảo mật: sử dụng https, mã hóa dữ liệu và xác thực người dùng an toàn. 10
Phân tích rủi ro:
- Rủi ro về bảo mật: nguy cơ bị tấn công mạng, lộ thông tin người dùng.
- Rủi ro về hiệu suất: hệ thống có thể bị quá tải khi có quá nhiều người dùng truy cập cùng lúc.
- Rủi ro về tích hợp: khó khăn khi tích hợp với các dịch vụ bên ngoài như
cổng thanh toán hoặc vận chuyển.
Phân tích chi phí và thời gian:
- Chi phí phát triển: chi phí nhân công, công nghệ và hosting.
- Thời gian phát triển: ước lượng thời gian để hoàn thành từng giai đoạn
(phân tích, thiết kế, phát triển, kiểm thử, triển khai).
Kết quả khảo sát:
- Tài liệu yêu cầu: tạo tài liệu mô tả chi tiết các yêu cầu chức năng và phi chức năng.
- Sơ đồ use-case: vẽ sơ đồ use-case để mô tả các tương tác giữa người dùng và hệ thống.
- Sơ đồ luồng dữ liệu: mô tả luồng dữ liệu trong hệ thống từ khi người dùng
tìm kiếm sách đến khi hoàn thành đơn hàng . ❖ Kết luận:
- Bài toán cửa hàng bán sách trực tuyến cần được phân tích kỹ lưỡng để
đảm bảo đáp ứng đúng nhu cầu của người dùng và mục tiêu kinh doanh.
- Cần tập trung vào các yếu tố như trải nghiệm như người dùng, bảo mật và khả năng mở rộng. 1.3.
Xác định thông tin cơ bản cho nghiệp vụ của bài toán 1. Quản lý sách
Mô tả: Cửa hàng cần quản lý thông tin chi tiết của từng cuốn sách. ● Cụ thể:
○ Thêm mới sách vào hệ thống.
○ Cập nhật thông tin sách (giá, số lượng, mô tả,...).
○ Xóa sách khỏi hệ thống.
○ Tìm kiếm, lọc sách theo thể loại, tác giả, giá.
2. Bán sách trực tuyến
Mô tả: Khách hàng có thể đặt sách trực tuyến và nhận xác nhận đơn hàng. ● Cụ thể:
○ Thêm sách vào giỏ hàng.
○ Xác nhận đơn hàng cần mua. ○ Hủy đơn hàng.
3. Quản lý khách hàng
Mô tả: Lưu trữ thông tin khách hàng. ● Cụ thể:
○ Đăng ký tài khoản khách hàng. 11
○ Cập nhật thông tin cá nhân.
○ Theo dõi lịch sử mua hàng. 4. Thanh toán
Mô tả: Hỗ trợ khách hàng thanh toán nhanh chóng và an toàn. ● Cụ thể:
○ Chọn phương thức thanh toán (chuyển khoản…).
○ Hoàn tiền khi trả hàng. 5. Báo cáo doanh thu
Mô tả: Hỗ trợ chủ cửa hàng theo dõi doanh số bán hàng.
Cụ thể: Tổng hợp và xuất báo cáo doanh thu theo ngày/tháng/năm. Input Process Output Thêm sách vào hệ thống
Kiểm tra sách đã tồn tại Sách được lưu vào DB chưa, nếu chưa thì lưu vào DB Cập nhật thông tin sách
Hiển thị thông tin sách,
Thông tin mới được lưu
có thể thay đổi thông tin
Xóa sách khỏi hệ thống
Hiển thị thông tin sách, Sách được xóa khỏi DB không thể thay đổi
Tìm kiếm sách (tên, tác giả) Lọc danh sách theo yêu Danh sách phù hợp
cầu, hiển thị thông tin sách Thêm sách vào giỏ hàng
Kiểm tra số lượng sách
Lưu vào giỏ hàng (nếu tồn có trong dữ liệu tại sách) Xác nhận đơn hàng cần Lưu đơn hàng cần mua Chuyển đến phần nhập
mua (từ giỏ hàng hoặc mua thông tin thanh toán trực tiếp) Hủy đơn hàng Xác nhận từ Admin về
Đơn hàng được hủy (nếu yêu cầu hủy đơn hàng admin xác nhận hủy) Nhập thông tin thanh toán Xác nhận phương thức In ra hóa đơn
thanh toán, địa chỉ nhận hàng Đăng ký tài khoản Lưu trữ thông tin khách Hiển thị trang chủ hàng vào DB Đăng nhập tài khoản
Kiểm tra tài khoản có tồn Hiển thị trang chủ tại không DB
Theo dõi lịch sử mua hàng
Lấy thông tin về lịch sử
Hiển thị lịch sử mua hàng mua hàng của khách hàng 12 Chọn phương thức thanh Xác nhận phương thức Thành công toán thanh toán Hoàn tiền khi trả hàng Xác nhận đơn hàng cần
Hoàn tiền (nếu admin xác
hoàn lại, cần xác nhận từ nhận) admin
Cập nhật doanh thu, chi phí Tính toán lợi nhuận, tạo
Hiển thị báo cáo theo dạng báo cáo doanh thu theo lược đồ ngày, tháng, năm 13 1.4.
Xây dựng biểu đồ phân rã chức năng 14
Downloaded by giang le (legiangnamban@gmail.com)
Đánh giá khả năng thực hiện (nhân lực, Tên chức năng Mô tả
thời gian, công nghệ, môi trường) 1.Book
Quản lý sách, tìm kiếm, kiểm
-Nhân lực: Backend, Frontend, Database Management soát kho hàng -Thời gian: 2-3 tuần.
-Công nghệ: ASP .NET Core, TypeORM, SQL Server.
-Môi trường: Server có khả năng lưu trữ lớn. 2. Customer
Quản lý thông tin khách hàng, -Nhân lực: Backend, Frontend, Database Management xác thực -Thời gian: 2 tuần.
-Công nghệ: OAuth2, JWT, ASP .NET Core, SQL Server
-Môi trường: Đảm bảo bảo mật dữ liệu người dùng. 3. Shopping
Quản lý giỏ hàng và đơn đặt
-Nhân lực: Backend, Frontend, Database Cart & Order hàng -Thời gian: 3 tuần. Management
-Công nghệ: ASP .NET Core, SQL Server, HTML, CSS, JavaScript, React.
-Môi trường: Xử lý nhiều đơn hàng đồng thời 4. Payment
Quản lý thanh toán, hoàn tiền
-Nhân lực: Backend, Frontend, Database Methods -Thời gian: 3-4 tuần.
-Công nghệ: Stripe, PayPal API, ASP .NET Core, SQL Server
-Môi trường: Bảo mật cao 5. Review &
Quản lý đánh giá, phản hồi từ
-Nhân lực: Backend, Frontend, Database Feedback khách hàng -Thời gian: 2-3 tuần. Management
-Công nghệ: React, ASP .NET Core, SQL Server
-Môi trường: Đảm bảo minh bạch, tránh spam 6. Report
Quản lý báo cáo, doanh thu,
-Nhân lực: Backend, Frontend, Database Management xu hướng -Thời gian: 3 tuần.
-Công nghệ: Power BI, SQL Server, ASP .NET Core
-Môi trường: Dữ liệu real-time từ hệ thống 15
Downloaded by giang le (legiangnamban@gmail.com) 1.5.
Xây dựng biểu đồ phân rã công việc 16
Downloaded by giang le (legiangnamban@gmail.com) WBS Công việc MO ML MP EST 1 Phân tích yêu cầu 4.5 7.5 10.5 7.5 1.1 Thu thập yêu cầu 0.5 1 1.5 1 Khảo sát và nghiên 1.2 cứu hệ thống tương 1 2 3 2 tự Xác định các nghiệp 1.3 3 4.5 6 4.5 vụ chính 2
Thiết kế hệ thống 14 20 26 20 Thiết kế kiến trúc 2.1 5 7.5 10 7.5 tổng thể 2.2
Thiết kế cơ sở dữ liệu 5 6.5 8 6.5 2.3 Thiết kế giao diện 4 6 8 6 Lập trình và phát 3 63 84 105 84 triển Xây dựng backend 3.1 (C#, ASP.NET Core 25 30 41 31 MVC) Xây dựng frontend 3.2 (HTML, CSS, 15 25 29 24 JavaScript)
Kết nối với cơ sở dữ 3.3 3 4 5 4 liệu (SQL Server) 4
Kiểm thử hệ thống 11 17 20 16.5 4.1 Kiểm thử chức năng 4 5 6 5 4.2 Kiểm thử hiệu năng 2 3.5 5 3.5 4.2 Sửa lỗi 5 8.5 9 8 Triển khai và báo 5 11 13.5 16 13.5 cáo 5.1 Viết tài liệu hướng 5 6.5 8 6.5 dẫn 17
Downloaded by giang le (legiangnamban@gmail.com)