

















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)

