You are on page 1of 63

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


HỌC PHẦN : NHẬP MÔN CÔNG NGHỆ PHẦN MỀM

Đề tài: Tìm hiểu mô hình xoắn ốc và viết tài liệu


phân tích đặc tả yêu cầu website fahasa.com
GVHD: Ths Nguyễn Đức Lưu
Nhóm - Lớp: 20222IT6082010
Thành viên: Nguyễn Tiến Đạt
Vương Ngọc Thiện
Lê Công Thành
Nguyễn Đức Trí
Nguyễn Bá Trung Quân
Nguyễn Việt Anh
Hà nội, Năm 2023
LỜI MỞ ĐẦU

Sự phát triển của internet đã tạo ra sự quan trọng đáng kể cho lĩnh vực
thương mại điện tử, khiến các công ty và doanh nghiệp đầu tư và phát triển
trang web bán hàng trực tuyến trên nhiều lĩnh vực. Việc phân tích và đặc tả
yêu cầu của trang web là một bước quan trọng để đảm bảo tính hoàn thiện và
đầy đủ. Dưới sự hướng dẫn tận tâm của giảng viên Nguyễn Đức Lưu, chúng
em đã thực hiện báo cáo về đề tài "Phân tích và đặc tả yêu cầu của website
bán sách Fahasa.com". Chúng em đã tiến hành khảo sát hệ thống, xác định
mô hình chức năng và dữ liệu của trang web để đánh giá mức độ đáp ứng với
khách hàng và người truy cập.
Chúng em rất mong nhận được nhận xét và ý kiến đánh giá từ cô để cải
thiện công việc của chúng em. Nhóm chúng em xin chân thành cảm ơn!
MỤC LỤC
MỤC LỤC......................................................................................................................4
Chương 1 Tìm hiểu mô hình quy trình phát triển phần mềm xoắn ốc......................6
1.1 Quy trình và mô hình quy trình.........................................................................6
1.1.1 Quy trình..................................................................................................6
1.1.2 Mô hình quy trình....................................................................................6
1.2 Mô hình xoắn ốc................................................................................................6
1.2.1 Giới thiệu về mô hình xoắn ốc.................................................................6
1.2.2 Các giai đoạn của mô hình xoắn ốc:........................................................7
1.2.3 Kết quả đạt được......................................................................................8
1.2.4 Khi nào nên sử dụng mô hình xoắn ốc?...................................................8
1.2.5 Ưu điểm....................................................................................................8
1.2.6 Nhược điểm..............................................................................................8
Chương 2 Khảo sát hệ thống...................................................................................10
2.1 Khảo sát sơ bộ.................................................................................................10
2.1.1 Mục tiêu.................................................................................................10
2.1.2 Phương pháp..........................................................................................10
2.1.3 Đối tượng khảo sát.................................................................................19
2.1.4 Kết quả sơ bộ.........................................................................................19
2.1.5 Các tài liệu thu thập được......................................................................20
2.2 Khảo sát chi tiết...............................................................................................26
2.2.1 Các yêu cầu chức năng...........................................................................27
2.2.2 Các yêu cầu phi chức năng....................................................................27
Chương 3 Mô hình hoá dữ liệu...............................................................................28
3.1 Các yêu cầu về dữ liệu.....................................................................................28
3.2 Biểu đồ thực thể liên kết mức logic.................................................................29
3.3 Biểu đồ thực thể liên kết mức vật lý................................................................31
3.4 Thiết kế bảng...................................................................................................31
3.5 Mô hình cơ sở dữ liệu mức vật lý....................................................................39
Chương 4 Mô hình hóa chức năng..........................................................................40
4.1 Biểu đồ use case..............................................................................................40
4.1.1 Các use case chính.................................................................................40
4.1.2 Các use case thứ cấp..............................................................................42
4.1.3 Mô tả chi tiết các use case......................................................................44
TÀI LIỆU THAM KHẢO............................................................................................63
Chương 1 Tìm hiểu mô hình quy trình phát triển phần mềm xoắn ốc

1.1 Quy trình và mô hình quy trình


1.1.1 Quy trình
- Quy trình phần mềm là một cấu trúc bao gồm tập hợp các thao tác và các kết
quả tương quan sử dụng trong việc phát triển để sản xuất ra một sản phẩm phần
mềm.
- Các hoạt động cơ bản của quy trình phần mềm:
+ Lập kế hoạch và Phân tích Yêu cầu.
+ Xác định / Định nghĩa yêu cầu.
+ Thiết kế Kiến trúc Sản phẩm.
+ Xây dựng / phát triển sản phẩm.
+ Kiểm tra sản phẩm.
+ Triển khai/phát hành trên thị trường và duy trì / bảo trì.
1.1.2 Mô hình quy trình
- Mô hình quy trình (Procedure model) là một chiến lược phát triển phần mềm, ở
đây: bao gồm các cách thức kết hợp, sử dụng tiến trình (process) phần mềm, cách
vận dụng các phương pháp và các công cụ trong mỗi giai đoạn phát triển.
- Mỗi mô hình quy trình tuân theo một loạt các bước duy nhất cho kiểu của nó để
đảm bảo sự thành công trong quá trình phát triển phần mềm. Một số mô hình quy
trình phổ biến: Waterfall, Iterative, Spiral, Big Bang, V-Model,...
1.2 Mô hình xoắn ốc
1.2.1 Giới thiệu về mô hình xoắn ốc
- Mô hình xoắn ốc (Spiral-Model) là mô hình có sự kết hợp giữa mô hình thác
nước (Waterfall-Model) và mô hình tiếp cận lặp (Iterative-Model) và nó có nhiều
điểm giống nhau với mô hình gia tăng (Incremental-Model).
- Chú trọng vào phân tích rủi ro dự án. Mỗi giai đoạn trong mô hình được bắt đầu
với yêu cầu/mục tiêu thiết kế và kết thúc với việc khách hàng kiểm tra tiến độ của
từng giai đoạn. Mô hình xoắn ốc lần đầu tiên được Barry Boehm đề cập trong bài
báo của ông vào năm 1986.
1.2.2 Các giai đoạn của mô hình xoắn ốc:
Lập kế hoạch - Planning phase:
- Bao gồm các công việc: Ước lượng chi phí (estimating cost), lên lịch trình thực
hiện dự án (schedule-master), xác định số lượng nhân lực, môi trường làm việc
(identifying necessary resources and work environment), tìm hiểu yêu cầu hệ
thống (requirements) từ đó đưa ra các tài liệu đặc tả để phục vụ cho việc trao
đổi giữa khách hàng và phân tích hệ thống sau này.
Phân tích rủi ro - Risk analysis phase:
- Một quá trình phân tích sẽ được thực hiện để xác định rủi ro và đưa ra các giải
pháp thay thế. Một prototype sẽ được tạo ra ở cuối giai đoạn phân tích rủi ro.
Nếu có bất kỳ rủi ro nào được tìm thấy trong quá trình này thì các giải pháp
thay thế sẽ được đề xuất và thực hiện.
Thực thi kỹ thuật - Engineering phase:
- Đây là giai đoạn mà dự án được các dev tiến hành code, các tester tiến hành test
và deploying software trên trang Web của khách hàng.
Đánh giá - Evaluation phase:
- Khách hàng sẽ tham gia vào giai đoạn này để đánh giá công việc, sản phẩm và
đảm bảo rằng sản phẩm đáp ứng tất cả các yêu cầu đã đặt ra trước đó. Nếu có
bất kỳ yêu cầu thay đổi nào từ khách hàng, các giai đoạn sẽ được lặp lại. Đây là
giai đoạn quan trọng vì cần có sự phản hồi của khách hàng về sản phẩm trước
khi sản phẩm được release.

H3.1. Mô hình phát triển phần mềm xoắn ốc


1.2.3 Kết quả đạt được
- Sau mỗi lần tăng vòng thì có thể chuyển giao kết quả thực hiện được cho khách
hành nên các chức năng của hệ thống có thể nhìn thấy sớm hơn.
- Các vòng trước đóng vai trò là mẫu thử để giúp tìm hiểu thêm các yêu cầu ở
những vòng tiếp theo.
1.2.4 Khi nào nên sử dụng mô hình xoắn ốc?
- Khi dự án có quy mô lớn.
- Khi việc đánh giá và phân tích các chi phí và các rủi ro là quan trọng.
- Bất cứ lúc nào cũng có thể có yêu cầu thay đổi từ phía khách hàng.
- Khi dự án được yêu cầu release thường xuyên.
- Khi yêu cầu không rõ ràng và phức tạp.
- Đối với các dự án có độ rủi ro từ trung bình đến cao.
- Những người sử dụng không chắc chắn về các nhu cầu của họ.
- Các yêu cầu phần mềm phức tạp và lớn.
- Cần phát triển một dòng sản phẩm mới.
- Khi có các thay đổi quan trọng cần nghiên cứu và khảo sát cẩn thận.

1.2.5 Ưu điểm
- Lượng phân tích rủi ro cao. Do đó việc tránh rủi ro được tăng cường.
- Ước lượng chi phí dễ dàng như việc hoàn thành một prototype trong một
fragment nhỏ.
- Ứng dụng tốt đối với các dự án lớn và quan trọng.
- Kiểm soát tài liệu và phê duyệt chặt chẽ.
- Chức năng bổ sung hoặc thay đổi có thể được thêm vào những giai đoạn sau.
- Phần mềm sẽ được sản xuất sớm trong vòng đời của phần mềm.
- Ứng dụng được phát triển nhanh và các tinh năng được thêm vào một cách có hệ
thống.
- Luôn có thời gian cho khách hàng để phản hồi về sản phẩm.

1.2.6 Nhược điểm


- Đối với rủi ro, ở giai đoạn phân tích cần một chuyên gia có chuyên môn cao để
thực hiện việc phân tích.
- Không hữu ích với dự án có quy mô nhỏ.
- Thời gian và chi phí cho dự án có thể là vô hạn vì đặc tính xoắn ốc của mô hình.
- Tài liệu cho dự án có thể rất dài vì có các giai đoạn trung gian.
- Rủi ro có thể không đáp ứng được tiến độ hoặc ngân sách.
- Sự thành công của dự án phụ thuộc nhiều vào giai đoạn phân tích rủi ro.
Chương 2 Khảo sát hệ thống
2.1 Khảo sát sơ bộ
2.1.1 Mục tiêu
Tìm kiếm thông tin về sản phẩm và khảo sát hoạt động hệ thống của
website bán sách Fahasa.com
2.1.2 Phương pháp
• Phỏng vấn

KẾ HOẠCH PHỎNG VẤN


Người được hỏi: Nguyễn Văn A Người hỏi: Nguyễn Tiến Đạt
Địa chỉ: Lầu 5, 387-389 Hai Bà Thời gian hẹn:Ngày
Trưng Quận 3 TP HCM 6/5/20223
Công Ty Cổ Phần Phát Hành Sách Thời gian bắt đầu: 14h
TP HCM - FAHASA Thời điểm kết thúc:14h35’
60 - 62 Lê Lợi, Quận 1, TP. HCM,
Việt Nam
Đối tượng: Quản lý website của nhà sách Các yêu cầu đòi hỏi:
Fahasa là người quản lý, điều hàng
Mục tiêu phỏng vấn: công việc bán hàng của công
• Tìm hiểu về website của nhà sách. ty, có ít nhất vài năm kinh
• Thông tin mà trang web bán sách nghiệm.
Fahasa.com cung cấp.
• Cách thức hoạt động của trang web
bán sách Fahasa.com.

Cần thỏa thuận về:Thông tin nhà sách,


quản lý bán hàng online qua website
Chương trình: Ước lượng thời gian:
• Giới thiệu về mục đích buổi 2 phút
phỏng
vấn: Tìm hiểu về thông tin ,
hoạt động bán hàng của nhà
sách trên website
Fahasa.com
• Tổng quan về dự án
2 phút
• Tổng quan về phỏng vấn
2 phút
• Chủ đề sẽ đề cập :
7 phút
• Thông tin về sản phẩm trong
5 phút
nhà sách online
• Quản lý bán hàng trên website .
• Một số thông tin khác
3 phút
• Tổng hợp các nội dung chính ý
4 phút
kiến người được hỏi
8 phút
• Kết thúc thỏa thuận

Dự kiến tổng: 32 phút


● Mẫu phiếu phỏng vấn theo kế hoạch

Dự án: Xây dựng website giới thiệu Tiểu dự án:


và bán hàng cho nhà sách Fahasa
Người được hỏi: Người quản lý trang Người hỏi: Nguyễn Tiến Đạt
web Fahasa Ngày: 6/5/2022
Câu hỏi Ghi chú
Câu 1: Mục đích của việc lập website Trả lời: Mục đích để tăng doanh số
bán hàng của nhà sách Fahasa là gì? bán hàng, phát triển cửa hàng đăc biệt
trong thời kỳ covit phức tạp thì mua
hàng qua mạng sẽ rất phổ biến.
Quan sát: Trả lời nhanh, gây ấn tượng
cho người nghe cái nhìn tổng quan về
cửa hàng.
Câu 2: Mua hàng trên website có khác gì Trả lời: Mua hàng trên website sẽ tiện
so với mua trực tiếp trên cửa hàng ? lợi hơn rất nhiều.Mọi người có thể
Theo bạn, mua ở đâu tiện lợi hơn ? mua hàng tại nhà mà không phải đến
tận cửa hàng,giảm bớt thời gian và chi
phí Quan sát: Trả lời dễ hiểu và rõ
ràng.
Câu 3: Công việc của người quản lý Trả lời:
trang web online bao gồm những gì ? -Tạo nội dung, chỉnh sửa nội dung
phù hợp
-Thường xuyên cập nhật nội dung
-Kiểm tra tình trạng và sửa lỗi phát
sinh
-Tối ưu hóa
-Quảng bá website
Quan sát: Trả lời tương đối đầy đủ và
chính xác.
Câu 4: Trang web đang kinh Trả lời:
doanh những loại hình sách và văn Trang web đang kinh doanh rất nhiều
phòng phẩm nào? mặt hàng khác nhau.Không chỉ có rất
nhiều loại sách khác nhau mà bên
cạnh đó còn có đồ chơi,dụng cụ học
tập,đồ lưu niệm,…..
Quan sát: Trả lời nhanh, chính xác.
Câu 5: Những mặt hàng có trên trang Trả lời:
web có đủ và giống so với các mặt hàng Nhưng mặt hàng có trên web cam kết
trong cửa hàng ? làm giống hoàn toàn so với những mặt
hàng trong cửa hàng và mọi hàng có
trong cửa hàng đều được đăng bán
trên web.Vậy nên mọi người có thể
mua trực tuyến trên web thay vì đến
trực tiếp cửa hàng
Quan sát: Trả lời nhanh, đầy đủ
Câu 6: Theo anh/chị, nên làm gì để Trả lời:
thu hút những khách hàng mua sách Nên quảng bá trang web đến mọi
trực tuyến qua trang web trong thời kỳ người và có những chính sách ưu đãi
dich bệnh covid phức tạp? để thu hút mọi người mua hàng trực
tuyến trên web.
Quan sát: Trả lời rõ ràng, đầy đủ
Câu 7: Các khách hàng có cảm thấy hài Trả lời:
lòng khi trải nghiệm mua hàng online Website có phần đánh giá cho mọi
nhà sách không? người sau khi mua hàng.Theo mình
thấy mọi người rất là hài long khi mua
hàng,và mua rất nhiều lần.
Quan sát: Trả lời rõ ràng, đầy đủ
Câu 8: Anh/Chị hãy đưa ra giải pháp Trả lời:
giúp nhà sách bán hàng online hiệu quả? Quảng bá website đến đông đảo mọi
người
Áp dụng nhiều chương trình khuyến
mãi hấp dẫn
Thiết kế website dễ dàng sử dụng cho
mọi lứa tuổi,mọi đối tượng.
Quan sát: Trả lời nhanh, rõ ràng, đầy
đủ.
Câu 9: Anh/Chị đánh giá thế nào về Trả lời:
mức độ đạt được của website bán hàng Trong thời đại 4.0, mua hàng trên
và bán hàng hiện tại? hạng đang rất phổ biến vậy nên số
lượng mua hàng online sẽ càng phát
triển hơn so với mua trực tiếp ở của
hàng.
Quan sát: Trả lời nhanh, rõ ràng, đầy
đủ.
Câu 10: Anh/Chị có những giải pháp nào Trả lời:
giúp bảo mật website bán hàng hiệu • Cài đặt SSL. ...
quả? • Cập nhật các phần mềm ứng
dụng web. Dùng tường lửa ứng
dụng web. ...
• Xử lý các cuộc tấn công
DDOS. ...
• Sử dụng các plugin bảo mật
website. Thay đổi HTTP sang
HTTPS. ...
• Cài đặt mật khẩu cho website. ...
• Giới hạn địa chỉ IP truy cập web.
Quan sát: Trả lời tương đối chính xác
Đánh giá chung: Dựa trên câu trả lời phỏng vấn, có thể thấy rằng chủ cửa hàng
bán giày đã có một chiến lược hoàn chỉnh để quản lý website bán hàng của
mình. Họ đã chú trọng vào việc cung cấp trải nghiệm mua sắm tốt nhất cho
khách hàng của mình, với tính năng tìm kiếm sản phẩm thuận tiện, quy trình
đặt hàng và thanh toán dễ dàng, chính sách đổi trả và bảo hành linh hoạt, cùng
với tính năng đánh giá và nhận xét sản phẩm của khách hàng. Họ cũng đã sử
dụng các chiến lược marketing để tăng doanh số bán hàng, ví dụ như chương
trình khuyến mãi, quảng cáo trực tuyến và email marketing.
 Phiếu điều tra
https://forms.gle/ve3QQqZdXrcsr1yp7
 Quan sát
Quan sát hoạt động phân công nhiệm vụ đầu ca của người quản lý nhân viên bán
hàng:
- Thái độ: nói chuyện và giao tiếp thân thiện, lịch sự và chuyên nghiệp.
- Cách trả lời: Các nhân viên tìm kiếm thông tin để trả lời câu hỏi của khách
hàng một cách cẩn thận, cung cấp đầy đủ thông tin và giải thích rõ ràng.
- Tốc độ trả lời: Trả lời nhanh chóng và chính xác.
- Ánh mắt: Có sự tập trung và sự chú ý của họ đối với khách hàng.
- Các thủ tục và quy trình: Nhân viên bán hàng khi thực hiện các thủ tục và quy
trình của công ty đúng cách.

Quan sát một buổi làm việc của nhân viên chăm sóc khách hàng:
- Tư vấn: Nhân viên có hiểu biết đầy đủ về sản phẩm và cung cấp thông tin đầy
đủ cho khách hàng.
- Giới thiệu sản phẩm: Giới thiệu rõ ràng và hấp dẫn.
- Giải đáp thắc mắc: Giải đáp thắc mắc của khách hàng một cách rõ ràng và dễ
hiểu.
2.1.3 Đối tượng khảo sát
- Đối tượng phỏng vấn: Người quản lí nhà sách, nhân viên nhà sách.
- Đối tượng điều tra và khảo sát: Khách hàng nhà sách Fahasa.
2.1.4 Kết quả sơ bộ
- Địa chỉ nhà sách: Mạng lưới phát hành của Công ty FAHASA rộng khắp
trên toàn quốc, gồm 5 Trung tâm sách, 1 Xí nghiệp in và với gần 60 Nhà
sách trải dọc khắp các tỉnh thành từ TP.HCM đến Thủ Đô Hà Nội, miền
Trung, Tây Nguyên, miền Đông và Tây Nam Bộ như: Hà Nội, Vĩnh
Phúc, Hải Phòng, Thanh Hóa, Hà Tĩnh, Huế, Đà Nẵng, Quảng Nam,
Quảng Ngãi, Quy Nhơn, Nha Trang, Gia Lai, …
- Lịch sử nhà sách Fahasa:
Là đơn vị có gần 40 năm kinh doanh và phục vụ xã hội, nên FAHASA đã
tích lũy được nhiều kinh nghiệm trong việc nghiên cứu thị trường, phân
tích tài chính, định hướng phát triển, hoạch định chiến lược kinh doanh và
khả năng tiếp thị giỏi.
- Các tổ chức của nhà sách Fahasa:
FAHASA luôn là đơn vị đi tiên phong trong nhiều hoạt động xã hội,
điển hình là việc tham gia tổ chức các Hội sách ở TP.HCM như:
✔ Hội sách Thành Phố Hồ Chí Minh, Hội sách Thiếu nhi ngoại
thành, Hội sách Mùa khai trường, Hội sách Học đường, Hội sách
Trường Quốc tế… Nổi bật nhất là Hội sách Thành Phố Hồ Chí
Minh, được định kỳ tổ chức 2 năm một lần. Đây là Hội sách có
qui mô lớn, tầm ảnh hưởng rộng, đã để lại ý nghĩa kinh tế, văn
hóa và xã hội sâu sắc.
✔ ✔ Hội sách không chỉ là nơi hội tụ văn hóa lý tưởng đối với
người dân mà còn là một thông điệp văn hóa tôn vinh cho các
hoạt động Xuất bản – Phát hành sách cả nước, nâng tầm cho
việc giao lưu, trao đổi văn hóa với bạn bè thế giới, đồng thời góp
phần đem sách - tri thức đến gần hơn với mọi tầng lớp nhân dân,
phục vụ tốt hơn nhu cầu văn hóa tinh thần của xã hội.rộng, đã để
lại ý nghĩa kinh tế, văn hóa và xã hội sâu sắc.
- Hoạt động kinh doanh của nhà sách: Hình thức kinh doanh đa dạng kết hợp cả
việc bán trực tiếp tại các cơ sở của hiệu sách và bán online trên nền tảng
website Fahasa.com , các trang phương tiện truyền thông đa dạng như :
Facebook, Instagram, Twitter,Youtube…
2.1.5 Các tài liệu thu thập được

Hình 1: Các danh mục sách


Hình 2: Các nhóm sách trong danh mục

Hình 3 Thể loại sách theo nhóm sách


Hình 4 Các cuốn sách trong một thể loại sách

Hình 5 Thông tin chi tiết của một cuốn sách


Hình 6 Các nhà cung cấp

Hình 7 Các sách trong một nhà cung cấp


Hình 8 Thông tin tài khoản

Hình 9: Flash sale(Khung giờ giảm giá)

Hình 10:Giỏ hàng


Hình 11: Hóa đơn
2.2 Khảo sát chi tiết
1.1.1 Hoạt động của hệ thống
- Trang chủ của Fahasa gồm: thanh menu, các banner quảng bá,thanh
tìm kiếm, thông báo, giỏ hàng, tài khoản. Ngoài ra còn hiển thị các sản
phẩm theo xu hướng bán chạy nhất của cửa hàng.
- Khi đưa chuột tới menu sẽ hiển thị danh mục sản phẩm chứa các danh
mục con và các thể loại sách.
- Khi ấn vào 1 danh mục hay 1 thể loại sách cụ thể sẽ hiển thị các sản
phẩm thuộc danh mục và thể loại đó cùng với hình ảnh đại diện của
các nhà xuất bản, nhà sản xuất và các banner quảng cáo phù hợp với
từng danh mục. Ngoài ra trong trang danh mục sản phẩm có các bộ lọc
sắp xếp sản phẩm, tìm kiếm theo giá hay theo nhà cung cấp thương
hiệu,nhà cung cấp… giúp người dùng thuận tiện cho việc tìm kiếm sản
phẩm ưng ý.
- Khi ấn chọn vào 1 sản phẩm, hệ thống sẽ hiển thị trang chi tiết sản
phẩm bao gồm đầy đủ thông tin liên quan tới sản phẩm đã được chọn
và người dùng có thể thêm sản phẩm vào giỏ hàng, đặt trước sản phẩm
hoặc mua ngay sản phẩm và để lại bình luận, đánh giá về sản phẩm
của mình bên dưới thông tin về sản phẩm ngoài ra còn có cả các sản
phẩm được gợi ý cho khách hàng.
- Khi ấn vào giỏ hàng sẽ hiển thị các sản phẩm đã được người dùng
thêm vào trước đó cùng với tổng tiền sản phẩm kèm theo các chính
sách khuyến mại.
- Khi ấn nút thanh toán, trang thanh toán sẽ yêu cầu nhập thông tin của
khách hàng, chọn phương thức vận chuyển, thanh toán.
- Khi ấn xác nhận thanh toán, hệ thống hiển thị mẫu hóa đơn và đưa
người dùng về trang chủ.
2.2.1 Các yêu cầu chức năng
Khi truy cập trang web Fahasa khách hàng có thể :
- Xem hàng theo danh mục sách, nhóm sách và thể loại sách.
- Tìm kiếm sách theo tên sách, mức giá, nhà cung cấp, thương hiệu, Genres, hình
thức, độ tuổi ....
- Bán sách trên hệ thống website.
- Chức năng bình luận, đánh giá sản phẩm dành cho khách hàng.
- Hiện thông báo khi đăng nhập tài khoản về thông tin sự kiện , mã giảm giá khung
giờ săn sale…
-Chức năng theo dõi đơn hàng, phản hồi của bên vận chuyển.
-Cập nhật giỏ hàng, tài khoản cá nhân .
Không gian làm việc của người dùng có tính thẩm mỹ.
Sử dụng ngôn ngữ viết sao cho phù hợp với thể hệ máy tính hiện nay.
- Hiệu năng, thời gian đáp ứng: Phù hợp với yêu cầu người dùng.
✔ Phải xử lý được khối công việc, thông tin lớn. Khối lượng thông tin
ngày càng nhiều thông tin cần cập nhập thường xuyên, cần được lưu
trữ.
✔ Phải xử lý chính xác. Nếu xử lý không chính xác ngay cả chỉ vài
chi tiết nhỏ thôi cũng gây ra thiệt hại cho khách hàng hoặc chủ, sẽ
ảnh hưởng đến uy tín, chất lượng.
2.2.2 Các yêu cầu phi chức năng
- Yêu cầu về ngôn ngữ trên hệ thống : Ngôn ngữ tiếng Việt, dễ nhìn
- Chạy chương trình trên đa môi trường ví dụ như Windows, MacOS…
- Môi trường cài đặt: Phù hợp cho cả web và mobile
- Giao diện thiết kế phải dễ nhìn, màu sắc bắt mắt phù hợp
- Web có dung lượng vừa đủ, xử lý nhanh và xử lý đồng thời được nhiều
kết nối
Chương 3 Mô hình hoá dữ liệu
3.1 Các yêu cầu về dữ liệu
Website https://www.fahasa.com/ là một sàn giao dịch trực tuyến cho việc
trưng bày và bán các thể loại sách và một số sản phẩm liên quan. Website cần
lưu thông tin về:
Các danh mục: gồm có mã danh mục, tên danh mục,mô tả . Trong một
danh mục có thể có 1 hoặc nhiều nhóm sách. Mỗi nhóm sách cần phải có
trong 1 danh mục.
Các nhóm sách: gồm mã nhóm sách,tên nhóm sách.Một nhóm sách có thể có
1 hoặc nhiều thể loại sách.Mỗi thể loại sách cần phải có trong 1 nhóm sách.
Các thể loại sách : gồm có mã thể loại, tên thể loại sách,mô tả . Trong một
thể loại sách có thể có 0, 1 hoặc nhiều cuốn sách. Mỗi cuốn sách cần thuộc về
một thể loại sách.
Thông tin chi tiết sách trong một cuốn sách : gồm có mã sách, tên sách, ảnh
minh họa,nhà cung cấp,tác giả,nhà xuất bản,năm xuất bản,hình thức bìa,trọng
lượng,kích thước,số trang,mô tả,giá,số lượng đã bán,flash sale(nếu có).
Trong một thể loại sách có thể có 0,1 hoặc nhiều cuốn sách. Một cuốn sách
cần phải thuộc vào một thể loại sách.
Các nhà cung cấp: bao gồm mã nhà cung cấp,tên nhà cung cấp.Một nhà cung
cấp có thể có 0,1 hoặc nhiều cuốn sách. Các cuốn sách cần thuộc về 1 nhà
cung cấp.
Các khách hàng: bao gồm mã khách hàng,email,mật khẩu,số điện thoại ,ngày
sinh, tháng sinh,năm sinh,địa chỉ.Một khách hàng có thể đặt 0,1,hoặc nhiều
đơn hàng.Một đơn hàng có thể đượcc đặt bởi 1 khách hàng
Các đơn hàng: bao gồm số đơn hàng, ngày lập, họ tên người nhận, email, điện
thoại, địa chỉ, tỉnh/thành phố, quận/huyện, quốc gia, thành tiền, phí vận
chuyển, tổng tiền, tình trạng và các sản phẩm hoặc sách được đặt trong đơn
hàng. Một đơn hàng cần đặt mua 1 hoặc nhiều cuốn sách, mỗi cuốn sách có
thể được đặt mua trong 0, 1 hoặc nhiều đơn hàng.
Các flash sale: bao gồm mã flash sale, thời gian bắt đầu,thời gian kết thúc.
Một flash sale có thể có 0,1 hoặc nhiều cuốn sách.Một cuốn sách cần thuộc về
1 hoặc nhiều flash sale.

3.2 Biểu đồ thực thể liên kết mức logic


3.3 Biểu đồ thực thể liên kết mức vật lý

3.4 Thiết kế bảng


Bảng 1. Danh Mục Sách
Bảng 2. Nhóm Sách

Bảng 3. Thể Loại Sách

Bảng 4. Thông Tin Chi Tiết Sách


Bảng 5. Nhà Cung Cấp

Bảng 6. Flashsale

Bảng 7. Khach hàng


Bảng 8. Đơn Hàng

Bảng 9. Thông tin chi tiết sách_Đơn Hàng

Bảng 9. Flashsale_Thông tin chi tiết sách


3.5 Mô hình cơ sở dữ liệu mức vật lý
Chương 4 Mô hình hóa chức năng
4.1 Biểu đồ use case

4.1.1 Các use case chính


1) Xem danh mục sản phẩm: Cho phép khách hàng xem các danh mục sách
trong trang web.
2) Xem nhóm sách theo danh mục sách: Cho phép khách hàng xem các
nhóm sách trong 1 danh mục sách.
3) Xem thể loại sách: Cho phép khách hàng xem các thể loại sách trong
một nhóm sách.
4) Xem sách theo thể loại: Cho phép khách hàng xem các cuốn sách trong
1 thể loại sách.
5) Xem thông tin chi tiết sách: Cho phép khách hàng xem thông tin chi
tiết của một cuốn sách.
6) Xem nhà cung cấp: Cho phép khách hàng xem tên các nhà cung cấp .
7) Xem sách theo nhà cung cấp: Cho phép khách hàng xem những cuốn
sách của 1 nhà cung cấp ban hành.
8) Tìm kiếm sách: Cho phép khách hàng tìm kiếm sách cần mua theo tên
cuốn sách hoặc tên tác giả.
9) Xem lịch sử mua hàng: Cho phép khách hàng xem thông tin về lịch sử
mua hàng .
10) Đánh giá sản phẩm: Cho phép khách hàng đánh giá mức độ hài lòng đối
với sản phẩm.
11) Xem sản phẩm flashsale: Cho phép khách hàng xem những sản phẩm
được giảm giá theo từng khung giờ.
12) Xem xu hướng: Cho phép khách hàng xem thông tin những cuốn sách
đang được lên xu hướng mua sắm tức là các cuốn sách có số lượng mua hàng
nhiều.
13) Xem bảng xếp hạng: Cho phép khách hàng xem được bảng xếp hạng yêu
thích của các nhóm sách.
14) Đăng ký: Cho phép khách hàng đăng ký tài khoản khách hàng.
15) Đăng nhập: Cho phép khách hàng đăng nhập vào tài khoản khách
hàng.
16) Sửa thông tin cá nhân: Cho phép khách hàng sửa thông tin cá nhân mà
khách hàng đã đăng ký.
17) Xem tác phẩm yêu thích: Cho phép khách hàng xem danh sách các tác
phẩm yêu thích của mình.
18) Xem đơn đặt hàng: Cho phép khách hàng xem các đơn hàng mà đã
đặt.
19) Quản lý giỏ hàng: Cho phép khách hàng thêm hàng vào giỏ, xóa một
mặt hàng trong giỏ, sửa số lượng hàng trong giỏ và xóa toàn bộ giỏ hàng.
20) Mua hàng: Cho phép khách hàng đặt mua các mặt hàng trong giỏ
hàng.
21) Hủy đơn hàng: Cho phép khách hàng hủy một đơn hàng đã đặt.
22) Xem mã giảm giá: Cho phép khách hàng xem các mã giảm giá để lưu mã
và áp dụng mã đã lưu khi thanh toán sản phẩm.
23) Xem thông báo: Cho phép khách hàng nhận thông báo về đơn hàng , sự
kiện,mã giảm giá, xác nhận đơn hàng.
24) Xem các bài viết blog: Cho phép khách hàng xem các bài viết blog cá
nhân theo từng chủ đề.

4.1.2 Các use case thứ cấp


• Bảo trì danh muc: Cho phép người quản trị xem, thêm, sửa, xóa thông
tin trong bảng DANHMUC.
• Bảo trì thể loại sách: Cho phép người quản trị xem, thêm, sửa, xóa thông
tin trong bảng THELOAISACH.
• Bảo trì sách: Cho phép người quản trị xem, thêm, sửa, xóa thông tin
trong bảng THONGTINCHITIETSACH.
• Bảo trì nhóm sách: Cho phép người quản trị xem, thêm, sửa, xóa
thông tin trong bảng NHOMSACH.
• Quản lý tài khoản: Cho phép người quản trị xem, sửa trạng thái, xóa
thông tin trong bảng KHACHHANG.
• Quản lý đơn hàng: Cho phép người quản trị xem thông tin trong bảng
DONHANG và bảng THONGTINCHITIETSACH_DONHANG, sửa trạng thái
của đơn hàng trong bảng DONHANG, xóa thông tin trong bảng DONHANG và
THONGTINCHITIETSACH_DONHANG.
• Thống Kê: Cho phép người quản trị thống kê số lượng đơn hàng,số lượng
sách mua lấy thông tin trong bảng DONHANG và bảng
THONGTINCHITIETSACH_DONHANG.
• Đăng nhập: Cho phép người quản trị đăng nhập vào tài khoản của mình.
• Bảo trì Flashsale: Cho phép người quản trị xem, thêm, sửa, xóa thông tin
trong bảng FLASHSALE.
• Bảo trì Xu Hướng: Cho phép người quản trị xem, thêm, sửa, xóa các
cuốn sách trong top xu hướng lấy thông tin từ bảng
THONGTINCHITIETSACH_DONHANG và bảng
THONGTINCHITIETSACH.
4.1.3 Mô tả chi tiết các use case
4.1.3.1 Mô tả use case Đăng nhập của khách hàng
1. Tên của Use Case:
Đăng nhập
2. Mô tả vắn tắt:
Use case cho phép người dùng đăng nhập để xác nhận quyền truy cập
hệ thống.
3. Luồng các sự kiện:
3.1 Luồng cơ bản:
1) Use case này bắt đầu khi người dùng muốn đăng nhập hệ thống.
Hệ thống yêu cầu người dùng nhập số điện thoại/email và mật khẩu.
2) Người dùng nhập số điện thoại/email và mật khẩu sau đó kích vào nút
“Đăng nhập” hoặc người dùng có thể chọn phương thức đăng nhập
bằng cách liên kết tài khoản facebook.
3) Hệ thống truy cập vào bảng KHACHHANG trong cơ sở dữ liệu để
kiểm tra số điện thoại/email và mật khẩu đã nhập và hiển thị menu
chính. Use case 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 người dùng nhập một số điện
thoại/email hay mật khẩu không chính xác, hệ thống sẽ hiển thị một
thông báo lỗi. Người dùng có thể chọn quay về luồng cơ bản để
nhập lại,hoặc bỏ qua thao tác. Use case sẽ kết thúc.
2) Tại bước 2 trong luồng cơ bản, nếu người dùng kích vào nút “Bỏ
qua”. Use case kết thúc.
3) Tại bất kỳ bước nào trong luồng cơ bản, 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. 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ó.

4.1.3.2 Mô tả use case Tìm kiếm sách


1. Tên của use case:
Tìm kiếm sách.
2. Mô tả vắn tắt:
Use case này cho phép người dùng tìm kiếm các cuốn sách theo mong
muốn.
3. Luồng các sự kiện:
3.1 Luồng cơ bản:
1) Use case này bắt đầu khi người dùng kích vào thanh tìm kiếm ở phần
đầu trang web và nhập tên cuốn sách muốn tìm. Hệ thống lấy thông
tin chi tiết của các cuốn sách gồm: mã sách, tên sách, ảnh minh họa,
giá từ bảng THONGTINCHITIETSACH trong cơ sở dữ liệu và hiển
thị danh sách các cuốn sách lên màn hình.
2) Người dùng kích chọn một cuốn sách trong các cuốn đã hiển thị. Hệ
thống lấy thông tin chi tiết của một cuốn sách gồm mã sách, tên
sách, ảnh minh họa, NCC, tác giả, nhà xuất bản, năm xuất bản, hình
thức bìa, trọng lượng, kích thước, số trang, giá ,số lượng bán, mô tả
từ bảng THONGTINCHITIETSACH và hiển thị lên màn hình. Use
case kết thúc.
3.2 Luồng rẽ nhánh:
1) Tại bước 1 của luồng cơ bản nếu người dùng nhập tên sách không có
trong bảng THONGTINCHITIETSACH thì hệ thống tự động hiển thị
dòng thông báo: “Không có sản phẩm phù hợp với từ khóa tìm kiếm
của bạn”.
2) Tại bất kỳ bước nào trong luồng cơ bản, 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. 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ó.

4.1.3.3 Mô tả use case Bảo trì thể loại sách


1. Tên của use case:
Bảo trì thể loại sách.
2. Mô tả vắn tắt:
Use case cho phép người quản trị xem, thêm, sửa, xóa thông tin trong
bảng THELOAISACH.
3. Luồng các sự kiện:
3.1 Luồng cơ bản:
a. Use case này bắt đầu khi người quản trị kích vào nút “Thể Loại Sách”
trên menu quản trị. Hệ thống lấy thông tin chi tiết gồm: mã thể loại,
tên thể loại, mô tả từ bảng THELOAISACH trong cơ sở dữ liệu và
hiển thị các thể loại lên màn hình.
b. Thêm thể loại sách:
c. a, Người quản trị kích vào nút “Thêm mới” trên cửa sổ danh sách thể
loại sách. Hệ thống hiển thị màn hình yêu cầu nhập thông tin chi tiết
cho thể loại sách gồm mã thể loại, tên thể loại, mô tả.
b, Người quản trị nhập thông tin của thể loại sách, tự sinh một mã thể
loại mới và kích vào nút “Tạo”, hệ thống sẽ tạo một thể loại sách mới
trong bảng THELOAISACH và hiển thị danh sách các thể loại sách
đã được cập nhật.
2) Sửa thể loại sách:
a) Người quản trị kích vào nút “Sửa” trên một dòng thể loại sách. Hệ
thống sẽ lấy thông tin cũ của thể loại sách đã được chọn gồm: mã thể
loại, tên thể loại,mô tả từ bảng THELOAISACH và hiển thị lên màn
hình.
b) Người quản trị nhập thông tin mới cho thể loại sách và kích vào
nút “Cập nhật”. Hệ thống sẽ sửa thông tin của thể loại sách được
chọn trong bảng THELOAISACH và hiển thị danh sách thể loại
sách đã cập nhật.
3) Xóa thể loại sách:
a, Người quản trị kích vào nút “Xóa” trên một dòng thể loại sách. Hệ
thống sẽ hiển thị một màn hình yêu cầu xác nhận xóa.
b, Người quản trị kích vào nút “Đồng ý”. Hệ thống sẽ xóa thể loại
sách đã được chọn khỏi bảng THELOAISACH và hiển thị danh
sách các thể loại sách đã cập nhật. Use case kết thúc.
3.2.Luồng rẽ nhánh:
1) Tại bước 2b hoặc 3b trong luồng cơ bản nếu người quản trị nhập
thông tin thể loại sách không hợp lệ thì hệ thống sẽ hiển thị thông báo
lỗi yêu cầu nhập lại. Người quản trị có thể nhập lại để tiếp tục hoặc
kích vào nút “Hủy bỏ” để kết thúc.Tại bất kỳ bước nào trong luồng
cơ bản, 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.
2) Tại bước 4b trong luồng cơ bản nếu người quản trị kích vào nút
“Không đồng ý” hệ thống sẽ bỏ qua thao tác xóa và hiển thị danh
sách các thể loại sách trong bảng THELOAISACH.
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:
Use case này chỉ cho phép người quản trị thực hiện.
5. Tiền điều kiện:
Người quản trị cần đăng nhập với vai trò quản trị hệ thống trước khi
có thể thực hiện use case.
6. Hậu điều kiện:
Không có.
7. Điểm mở rộng:
Không có.

4.1.3.4 Mô tả use case Xem sách theo thể loại


1. Tên của use case:
Xem sách theo thể loại
2. Mô tả vắn tắt:
Use case này cho phép khách hàng xem những cuốn sách theo từng
thể loại sách.
3. Luồng các sự kiện:
3.2 Luồng cơ bản:
1) Use case này bắt đầu khi khách hàng kích chuột vào một danh mục
sản phẩm. Hệ thống sẽ lấy thông tin về các nhóm sách bao gồm tên
nhóm sách từ bảng NHOMSACH và hiển thị lên màn hình.
2) Khách hàng kích vào tên một nhóm sách. Hệ thống sẽ lấy thông tin về
phân loại sách bao gồm tên thể loại sách từ bảng THELOAISACH và
hiển thị lên màn hình.
3) Khách hàng kích vào tên một phân loại sách. Hệ thống sẽ lấy thông
tin về các cuốn sách thuộc phân loại sách bao gồm tên sách, ảnh minh
họa, giá bán, đánh giá…từ bảng THONGTINCHITIETSACH và hiển
thị lên màn hình. Use case kết thúc.
4. Luồng rẽ nhánh:
1) Tại bước 1 trong luồng cơ bản nếu trong bảng NHOMSACH chưa có
dữ liệu thì màn hình sẽ hiện thông báo là “chưa có nhóm sách nào !”
và use case kết thúc.
2) Tại bước 2 trong luồng cơ bản, nếu không tìm thấy thể loại sách nào
trong nhóm sách vừa chọn ở bảng THELOAISACH thì hệ thống sẽ
hiển thị một thông báo: “Không tìm thấy thể loại sách nào thuộc
nhóm sách này!” và use case kết thúc.
3) Tại bước 3 trong luồng cơ bản, nếu không tìm thấy cuốn sách nào
trong thể loại sách vừa chọn, thì hệ thống sẽ hiển thị một thông báo:
“Không tìm thấy cuốn sách nào trong thể loại này!” và use case kết
thúc.
4) Tại bất kỳ bước nào trong luồng cơ bản, 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.
5. Các yêu cầu đặc biệt:
Không có.
6. Tiền điều kiện:
Không có.
7. Hậu điều kiện:
Không có.
8. Điểm mở rộng:
Không có.

4.1.3.5 Mô tả use case Sửa thông tin cá nhân


1. Tên của use case:
Sửa thông tin cá nhân.
2. Mô tả vắn tắt:
Use case này cho phép khách hàng sửa thông tin cá nhân của mình.
3. Luồng các sự kiện:
3.1 Luồng cơ bản:
1) Use case này bắt đầu khi khách hàng kích vào biểu tượng “Tài
khoản” trên menu và chọn mục ‘’Thông tin tài khoản” ở danh mục tài
khoản. Hệ thống lấy thông tin cá nhân của khách hàng từ trong bảng
KHACHHANG và hiện lên màn hình thông tin mà khách hàng đã
điền lúc đăng ký tài khoản.
2) Khách hàng chọn phần thông tin muốn sửa và sửa theo ý muốn. Sau
đó ấn vào nút “Lưu thay đổi” để lưu lại thông tin đã sửa , thông tin
mới sẽ được cập nhật và hiện lên màn hình.Use case kết thúc.
3.2 Luồng rẽ nhánh:
1) Tại bước 2 của luồng cơ bản nếu khách hàng nhập thiếu hoặc sai
định dạng email và số điện thoại thì sẽ không thể nhập mã OTP hệ
thống gửi về được và màn hình sẽ xuất hiện thông báo “Nhập lại
email!” hoặc “Nhập lại số điện thoại”. Use case kết thúc.
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. 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 cần đăng nhập để tiến hành sửa thông tin cá nhân.
6. Hậu điều kiện:
Không có.
7. Điểm mở rộng:
Không có.
4.1.3.6 Mô tả use case Bảo trì danh mục
1. Tên của use case:
Bảo trì danh mục.
2. Mô tả vắn tắt:
Use case này cho phép người quản trị xem, thêm, sửa và xóa các danh
mục sách trong bảng DANHMUCSACH.
3. Luồng các sự kiện:
3.1 Luồng cơ bản:
1) Use case này bắt đầu khi người quản trị kích vào nút “Danh mục sản
phẩm” trên menu quản trị. Hệ thống lấy thông tin chi tiết của các
danh mục bao gồm: mã danh mục, tên danh mục, mô tả từ bảng
DANHMUCSACH và hiển thị danh sách các danh mục sách lên màn
hình.
2) Thêm danh mục sách:
a) Người quản trị kích vào nút “Thêm mới” trên cửa sổ danh sách
các danh mục sách. Hệ thống hiển thị màn hình yêu cầu nhập
thông tin chi tiết cho danh mục sách bao gồm mã danh mục, tên
danh mục.
b) Người quản trị nhập thông tin của tên danh mục và kích vào
nút “Tạo”. Hệ thống sẽ sinh một mã danh mục mới, tạo một
danh mục trong bảng DANHMUCSACH và hiển thị danh sách
các danh mục sách đã được cập nhật.
3) Sửa danh mục sách
a) Người quản trị kích vào nút “Sửa” trên một dòng danh mục
sách. Hệ thống sẽ lấy thông tin cũ của danh mục sách được
chọn gồm: mã danh mục , tên danh mục, mô tả từ bảng
DANHMUCSACH và hiển thị lên màn hình.
b) Người quản trị nhập thông tin mới cho tên danh mục và kích
vào nút “Cập nhật”. Hệ thống sẽ sửa thông tin của danh mục
sách được chọn trong bảng DANHMUCSACH và hiển thị danh
sách các danh mục sách đã cập nhật.
4) Xóa danh mục sách
a) Người quản trị kích vào nút “Xóa” trên một dòng danh mục
sách. Hệ thống sẽ hiển thị một màn hình yêu cầu xác nhận xóa.
b) Người quản trị kích vào nút “Đồng ý”. Hệ thống sẽ xóa danh
mục sách được chọn khỏi bảng DANHMUCSACH và hiển thị
danh sách các danh mục sách đã cập nhật. Use case kết thúc.
4. Luồng rẽ nhánh:
1) Tại bước 2b hoặc 3b trong luồng cơ bản nếu người quản trị nhập
thông tin danh mục sách không hợp lệ thì hệ thống sẽ hiển thị thông
báo lỗi yêu cầu nhập lại. Người quản trị có thể nhập lại để tiếp tục
hoặc kích vào nút “Hủy bỏ” để kết thúc.
2) Tại bước 2b hoặc 3b trong luồng cơ bản nếu người quản trị kích vào
nút “Hủy bỏ” hệ thống sẽ bỏ qua thao tác thêm mới hoặc sửa chữa
tương ứng và hiển thị danh sách các danh mục sách trong bảng
DANHMUCSACH.
3) Tại bước 4b trong luồng cơ bản nếu người quản trị kích vào nút
“Không đồng ý” hệ thống sẽ bỏ qua thao tác xóa và hiển thị danh
sách các danh mục sách trong bảng DANHMUCSACH.
4) 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.
5. Các yêu cầu đặc biệt:
Use case này chỉ cho phép người quản trị thực hiện.
6. Tiền điều kiện:
Người quản trị cần đăng nhập với vai trò quản trị hệ thống trước khi
có thể thực hiện use case.
7. Hậu điều kiện:
Không có.
8. Điểm mở rộng:
Không có.

4.1.3.7 Mô tả use case Xem Thông Báo


1. Tên của 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 thông báo của cửa hàng đối
với tài khoản cá nhân.
3. Luồng các sự kiện:
1.1 Luồng cơ bản:
a) Use case này bắt đầu khi khách hàng kích chuột vào nút “Thông báo ”
trên thanh menu. Hệ thống sẽ hiện thị tất cả các thông báo bạn nhận
được bao gồm: Đơn hàng, Sự kiện, Mã giảm giá, Xác nhận.
b) Khách hàng có thể truy tìm các loại thông báo thông qua các nút lệnh
trên thanh menu bao gồm: Tất cả, Đơn Hàng, Sự kiện, Giảm giá, Xác
nhận. Use case kết thúc.
1.2Luồng rẽ nhánh:
a) Tại bước 1 trong luồng cơ bản, nếu bạn chưa đăng nhập , hệ thống sẽ
bắt buộc bạn đăng nhập hoặc đăng ký để có thể truy cập vào thông
báo.
b) Tại bước 2 luồng cơ bản, nếu khách hàng không kích vào nút lệnh
nào, hệ thống sẽ đưa ra gợi ý cho bạn trong mục " CÓ THỂ BẠN
QUAN TÂM ".
c) Tại bất kỳ bước nào trong luồng cơ bản, 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ách hàng phải có tài khoản để thực hiện các chức năng trong mục
thông báo.
5. Tiền điều kiện:
Khách hàng cần đăng nhập để có thể xem thông báo.
6. Hậu điều kiện:
Không có
7. Điểm mở rộng:
Không có.

4.1.3.8 Mô tả use case Bảo trì sách


1. Tên của use case:
Bảo trì sách.
2. Mô tả vắn tắt:
Use case này cho phép người quản trị xem , thêm , sửa , xóa thông tin
sách trong bảng THONGTINCHITIETSACH.
3. Luồng các sự kiện:
3.1 Luồng cơ bản:
1) Use case này bắt đầu khi người quản trị kích vào nút “Sách” trên menu quản
trị. Hệ thống lấy thông tin chi tiết của Sách gồm: mã sách , tên sách , ảnh
minh họa,nhà cung cấp,tác giả,nhà xuât bản,… từ bảng
THONGTINCHITIETSACH và hiển thị danh sách các sách lên màn hình.
2) Thêm sách :
a) Người quản trị kích vào nút "Thêm mới" trên cửa sổ danh sách sách.
Hệ thống hiển thị màn hình nhận thông tin chi tiết cho sách bao gồm:
Mã sách, tên sách, ảnh minh họa, nhà cung cấp, tác giả, nhà xuất bản,
năm xuát bản, hình thức bìa, trọng lượng, kích thước số trang, số lượng
đã bán, giá, mô tả.
b) Người quản trị nhập thông tin của sách , ảnh minh họa và kích nút
"Tạo". Hệ thống sẽ sinh ra một mã sách mới , tạo một sách trong bản
THONGTINCHITIETSACH và hiển thị lên danh sách các sách đã
được cập nhật.
3) Sửa sách :
a) Quản trị kích nào nút "Sửa" trên một dòng Sách . Hệ thống sẽ lấy ra
thông tin của sách được chọn bao gồm: mã sách, tên sách, ảnh minh
họa, nhà cung cấp, tác giả, nhà xuất bản, năm xuất bản, hình thức bìa,
trọng lượng, kích thước số trang, số lượng đã bán, giá, mô tả từ bảng
THONGTINCHITIETSACH và hiện lên màn hình.
b) Người quản trị nhập thông tin mới cho sách và kích vào nút “Cập
nhật”. Hệ thống sẽ sửa thông tin của sách được chọn trong bảng
THONGTINCHITIETSACH và hiển thị danh sách sách đã cập nhật.
4) Xóa sách
a) Người quản trị kích vào nút "Xóa" trên một dòng Sách. Hệ thống
sẽ hiện thị một màn hình xác nhận đồng ý xóa.
b) Người quản trị kích vào nút "Đồng ý" . Hệ thống sẽ xóa sách được
chọn khỏi bảng THONGTINCHITIETSACH vá hiển thị danh sách đã
cập nhật. Use case kết thúc.
3.2Luồng rẽ nhánh:
1) Tại bước 2b và 3b trong luồng cơ bản nếu người quản trị nhập thông
tin sách không hợp lệ thì hệ thống sẽ hiển thị thông báo lỗi yêu cầu
nhập lại. Người quản trị có thể nhập lại để tiếp tục hoặc kích vào nút
“Hủy bỏ” để kết thúc.
2) Tại bước 2b và 3b trong luồng cơ bản nếu người quản trị kích vào nút
“Hủy bỏ” hệ thống sẽ bỏ qua thao tác thêm mới hoặc sửa chữa tương
ứng và hiển thị danh sách các Sách trong bảng
THONGTINCHITIETSACH.
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:
Use case này chỉ cho phép người quản trị thực hiện.
5. Tiền điều kiện:
Người quản trị cần đăng nhập với vai trò quản trị hệ thống trước khi
có thể thực hiện use case.
6. Hậu điều kiện:
Không có.
7. Điểm mở rộng:
Không có.

4.1.3.9 Mô tả use case Quản lý giỏ hàng


1. Tên của use case:
Quản lý giỏ hàng.
2. Mô tả vắn tắt:
Use case này cho phép khách hàng thêm hàng vào giỏ, xem giỏ hàng,
sửa số lượng, xóa hàng khỏi giỏ, xóa tòa bộ giỏ hàng và đặt hàng.
3. Luồng các sự kiện:
3.1 Luồng cơ bản:
1) Use case này bắt đầu khi khách hàng kích vào nút “Thêm vào giỏ
hàng” trong phần xem chi tiết sản phẩm, hệ thống sẽ thêm sản
phẩm hiện tại vào danh sách các sản phẩm trong giỏ hàng, đồng thời
lấy các thông tin của sản phẩm trong giỏ hàng bao gồm: Mã sản
phẩm, tên sản phẩm, màu sắc, giá tiền, số lượng của sản phẩm đồng
thời lấy thông tin tạm tính tiền từ giỏ hàng và hiển thị lên màn hình.
2) Khách hàng sửa số lượng của một sản phẩm thì sửa trực tiếp ở ô số
lượng hoặc kích vào dấu cộng(+)(tăng), dấu trừ(-) (giảm), hệ thống sẽ
cập nhật lại số tiền, tạm tính tổng tiền và hiển thị lên giỏ hàng.
3) Khách hàng kích vào nút (X) (xóa sản phẩm) của một sản phẩm trong
giỏ hàng. Hệ thống sẽ xóa sản phẩm đó ra khỏi giỏ hàng, Hệ thống
cập nhật lại số tiền và hiển thị lên giỏ hàng.
4) Use case đặt hàng được thực hiện khi khách hàng truy cập vào giỏ
hàng. Hệ thống hiển thị các phương thức thanh toán gồm “Thanh toán
bằng tiền mặt khi nhận hàng” và “Các phương thức thanh toán ví
điện tử”. Use case kết thúc.
3.2Luồng rẽ nhánh:
1) Tại bước 2 trong luồng cơ bản nếu khách hàng nhập số lượng lớn
hơn số lượng cho phép đặt hàng thì hệ thống sẽ hiển thị thông báo
“Số lượng tối đa được phép mua”, khách hàng quay lại bước 2.
2) Tại bước 4 trong luồng cơ bản khi khách hàng kích vào thanh toán,
hệ thống sẽ hiển thị thông tin giao hàng bao gồm: tên, email, địa chỉ,
số điện thoại, tổng tiền. Khách hàng nhập các thông tin vào ô nhập,
nhập mã giảm giá (nếu có), sau đó tiếp tục phương thức thanh toán,
hệ thống sẽ hiển thi phương thức thanh toán và phương thức vận
chuyển, khách hàng chọn phương thức và nhấn nút “Xác nhận thanh
toán”.Hệ thống hiển thị đặt hàng thành công, use case kết thúc.
3) Tại bất kỳ bước nào trong luồng cơ bản 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. 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 cần đăng nhập vào hệ thống để use case này thực hiện.
6. Hậu điều kiện:
Không có.
7. Điểm mở rộng:
Không có.

4.1.3.10 Mô tả use case Bảo trì nhóm sách


1. Tên của use case:
Bảo trì nhóm sách.
2. Mô tả vắn tắt:
Use case này cho phép người quản trị xem, thêm, sửa và xóa các nhóm
sách sách trong bảng NHOMSACH.
3. Luồng các sự kiện:
3.1 Luồng cơ bản:
1) Use case này bắt đầu khi người quản trị kích vào một nhóm sách
trong 1 danh mục sách trên menu quản trị. Hệ thống lấy thông tin chi
tiết của các nhóm sách bao gồm: mã nhóm sách, tên nhóm sách từ
bảng NHOMSACH trong cơ sở dữ liệu và hiển thị danh sách các
nhóm sách lên màn.
2) Thêm nhóm sách:
a) Người quản trị kích vào nút “Thêm mới” trên cửa sổ danh sách các
nhóm sách. Hệ thống hiển thị màn hình yêu cầu nhập thông tin chi
tiết cho nhóm sách bao gồm mã nhóm sách, tên nhóm sách.
b) Người quản trị nhập thông tin của tên nhóm sách và kích vào nút
“Tạo”. Hệ thống sẽ sinh một mã nhóm sách mới, tạo một nhóm
sách trong bảng NHOMSACH và hiển thị danh sách các nhóm
sách đã được cập nhật.
3) Sửa nhóm sách :
a) Người quản trị kích vào nút “Sửa” trên một dòng nhóm sách. Hệ
thống sẽ lấy thông tin cũ của nhóm sách được chọn gồm: mã nhóm
sách, tên nhóm sách từ bảng NHOMSACH và hiển thị lên màn
hình.
b) Người quản trị nhập thông tin mới cho tên nhóm sách và kích vào
nút “Cập nhật”. Hệ thống sẽ sửa thông tin của nhóm sách được
chọn trong bảng NHOMSACH và hiển thị danh sách các nhóm
sách đã cập nhật.
4) Xóa nhóm sách:
a) Người quản trị kích vào nút “Xóa” trên một dòng nhóm sách.
Hệ thống sẽ hiển thị một màn hình yêu cầu xác nhận xóa.
b) Người quản trị kích vào nút “Đồng ý”. Hệ thống sẽ xóa nhóm
sách được chọn khỏi bảng NHOMSACH và hiển thị danh sách
các nhóm sách đã cập nhật. Use case kết thúc.
3.2Luồng rẽ nhánh:
1) Tại bước 2b hoặc 3b trong luồng cơ bản nếu người quản trị nhập
thông tin nhóm sách không hợp lệ thì hệ thống sẽ hiển thị thông báo
lỗi yêu cầu nhập lại. Người quản trị có thể nhập lại để tiếp tục hoặc
kích vào nút “Hủy bỏ” để kết thúc.
2) Tại bước 2b hoặc 3b trong luồng cơ bản nếu người quản trị kích vào
nút “Hủy bỏ” hệ thống sẽ bỏ qua thao tác thêm mới hoặc sửa chữa
tương ứng và hiển thị danh sách các nhóm sách trong bảng
NHOMSACH.
3) Tại bước 4b trong luồng cơ bản nếu người quản trị kích vào nút
“Không đồng ý” hệ thống sẽ bỏ qua thao tác xóa và hiển thị danh
sách các nhóm sách trong bảng NHOMSACH.
4) 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:
Use case này chỉ cho phép người quản trị thực hiện.
5. Tiền điều kiện:
Người quản trị cần đăng nhập với vai trò quản trị hệ thống trước khi
có thể thực hiện use case.
6. Hậu điều kiện:
Không có.
7. Điểm mở rộng:
Không có.

4.1.3.11 Mô tả use case Flashsale


1. Tên của use case:
Flashsale.
2. Mô tả vắn tắt:
Use case này cho phép khách hàng xem xu hướng mua sắm và chương
trình flashsale.
3. Luồng các sự kiện:
3.1 Luồng cơ bản:
1) Use case này bắt đầu khi khách hàng kích chuột vào nút “Flashsale”
trên thanh menu. Khách hành có thể xem được chương trình Flashsale
và xu hướng mua sắm.
2) Hệ thống sẽ hiển thị danh sách sách trong xu hướng mua sắm bao
gồm: ảnh minh họa, tên sách, đánh giá,giá, số lượng đã bán.
3) Khách hàng có thể tìm sách thông qua : Xu hướng theo ngày, sách
hot-giảm sốc, bestseller. Use case kết thúc.
3.2Luồng rẽ nhánh:
1) Tại bước 1 trong luồng cơ bản, khi truy cập flashsale nếu không có
chương trình flashsale nào hệ thống hiện thị “chương trình flashsale chưa
diễn ra”.
2) Tại bước 2 trong luồng cơ bản , khi truy cập sách khách hàng có thể truy
cập các ưu đãi của sách đang truy cập : Mã thanh toán, ưu đãi khác.
3) Tại bước 2 trong luồng cơ bản ,khi truy cập vào sách hệ thống sẽ
hiện thị sản phẩm liên quan và sản cửa hàng giới thiệu. 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ó.

4.1.3.12 Mô tả use case Bảo trì Flash sale


1. Tên của use case:
Bảo trì Flash sale.
2. Mô tả vắn tắt:
Use case này cho phép người quản trị xem, thêm, sửa và xóa các đợt
flashsale trong bảng FLASHSALE.
3. Luồng các sự kiện:
3.1 Luồng cơ bản:
1) Use case này bắt đầu khi người quản trị kích vào một đợt flashsale
trên menu quản trị. Hệ thống lấy thông tin chi tiết của các đợt
flashsale bao gồm: mã flashsale, thời gian bắt đầu và thời gian kết
thúc từ bảng FLASHSALE trong cơ sở dữ liệu và hiển thị danh sách
các đợt flashsale lên màn hình.
2) Thêm đợt flashsale:
Người quản trị kích vào nút “Thêm mới” trên cửa sổ danh sách các
đợt flashsale. Hệ thống hiển thị màn hình yêu cầu nhập thông tin chi
tiết cho đợt flashsale bao gồm mã flashsale, thời gian bắt đầu và thời
gian kết thúc. Người quản trị nhập thông tin của tên đợt flashsale và
kích vào nút “Tạo”. Hệ thống sẽ sinh một mã flashsale mới, tạo một
đợt flashsale trong bảng FLASHSALE và hiển thị danh sách các đợt
flashsale đã được cập nhật.
3) Sửa đợt flashsale:
a) Người quản trị kích vào nút “Sửa” trên một dòng mã flashsale.
Hệ thống sẽ lấy thông tin cũ của đợt flashsale được chọn gồm:
mã flashsale, thời gian bắt đầu và thời gian kết thúc từ bảng
FLASHSALE và hiển thị lên màn hình.
b) Người quản trị nhập thông tin mới cho tên đợt flashsale và
kích vào nút “Cập nhật”. Hệ thống sẽ sửa thông tin của đợt
flashsale được chọn trong bảng FLASHSALE và hiển thị danh
sách các đợt flashsale đã cập nhật.
4) Xóa đợt flashsale:
a) Người quản trị kích vào nút “Xóa” trên một dòng flashsale.
Hệ thống sẽ hiển thị một màn hình yêu cầu xác nhận xóa.
b) Người quản trị kích vào nút “Đồng ý”. Hệ thống sẽ xóa đợt
flashsale được chọn khỏi bảng FLASHSALE và hiển thị danh
sách các đợt flashsale đã cập nhật. Use case kết thúc.
3.2Luồng rẽ nhánh:
1) Tại bước 2b hoặc 3b trong luồng cơ bản nếu người quản trị nhập
thông tin đợt flashsale không hợp lệ thì hệ thống sẽ hiển thị thông báo
lỗi yêu cầu nhập lại. Người quản trị có thể nhập lại để tiếp tục hoặc
kích vào nút “Hủy bỏ” để kết thúc.
2) Tại bước 2b hoặc 3b trong luồng cơ bản nếu người quản trị kích vào
nút “Hủy bỏ” hệ thống sẽ bỏ qua thao tác thêm mới hoặc sửa chữa
tương ứng và hiển thị danh sách các đợt flashsale trong bảng
FLASHSALE.
3) Tại bước 4b trong luồng cơ bản nếu người quản trị kích vào nút
“Không đồng ý” hệ thống sẽ bỏ qua thao tác xóa và hiển thị danh
sách các đợt flashsale trong bảng FLASHSALE.
4) 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:


Use case này chỉ cho phép người quản trị thực hiện.
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ó.
TÀI LIỆU THAM KHẢO
1) Tài liệu trên trang học kết hợp học phần nhập môn công nghệ phần mềm .
2) https://viblo.asia/p/mo-hinh-xoan-oc-la-gi-khi-nao-nen-su-dung-uu-va-nhuoc-diem-
cua-mo-hinh-vyDZOWVxZwj
3) https://topdev.vn/blog/quy-trinh-phat-trien-phan-mem-mo-hinh-xoan-oc-the-boehms-
spiral-model/

You might also like