Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 113

DL 12H TỐI THỨ 3 23/5

CHƯƠNG 1: TỔNG QUAN (Trang)

1.1 Giới thiệu về hệ thống

Trong thời đại công nghệ số phát triển mạnh mẽ như hiện nay, hệ thống bán
sách online đã trở thành một công cụ không thể thiếu đối với các nhà sách. Việc sở
hữu một hệ thống quản lý bán sách online mang đến nhiều lợi ích vô cùng quan
trọng và thiết yếu cho sự phát triển và thành công của một nhà sách. Điều này
không chỉ mang lại sự tiện lợi cho khách hàng mà còn tạo ra cơ hội mới cho doanh
nghiệp. Bằng việc khai thác và tận dụng những ưu điểm của hệ thống bán sách
online, các nhà sách có thể mở rộng thị trường, tăng cường khả năng cạnh tranh và
nâng cao trải nghiệm mua sắm của khách hàng. Hãy cùng khám phá những lợi ích
hấp dẫn mà hệ thống bán sách online mang lại trong thế giới kinh doanh hiện đại.
Dự án đặt ra yêu cầu trong môi trường doanh nghiệp hiện nay, không thể
thiếu các sản phẩm phần mềm hỗ trợ việc quản lý dữ liệu, lưu trữ, tính toán, kết xuất
dữ liệu nhanh chóng tiện lợi. Các phần mềm này đòi hỏi một quá trình phân tích
nghiệp vụ, thiết kế dữ liệu, luồng xử lý chặt chẽ sao cho đảm bảo được các yêu cầu
chuyền môn và phi chuyên môn. Do đó nhóm chúng em đã lựa chọn thực hiện “Đồ
án quản lý bán sách trực tuyến” nhằm học hỏi và thực hành những quy trình tác vụ
trên.

1.2 Mục tiêu

Để đáp ứng chí là thiết kế một giao diện người dùng thân thiện, giúp quản lý sách
một cách hiệu quả. Nhóm đã sử dụng các công cụ khảo sát trực tuyến để thu thập ý
kiến và thông tin từ một số lượng lớn người dùng. Các câu hỏi tập trung vào việc
đánh giá giao diện hiện tại, đề xuất cải tiến và các yêu cầu người dùng.
- Thiết kế cơ sở dữ liệu: Xác định cấu trúc cơ sở dữ liệu cho hệ thống, bao
gồm các bảng, quan hệ, trường dữ liệu, và ràng buộc. Đảm bảo cơ sở dữ liệu được
thiết kế linh hoạt và phù hợp với nhu cầu của hệ thống.
- Thiết kế giao diện người dùng: Xác định các yếu tố giao diện cần thiết, bao
gồm menu, nút bấm, form nhập liệu và bố cục trang. Thiết kế giao diện trực quan, dễ
sử dụng và tương thích với nhiều loại thiết bị và màn hình khác nhau.
- Xây dựng chức năng bán hàng trực tuyến: Mục tiêu là tạo ra một giao diện
mua hàng trực tuyến an toàn và tiện lợi cho khách hàng. Hệ thống sẽ cho phép khách
hàng xem thông tin sách, thực hiện đặt hàng, thanh toán trực tuyến và theo dõi trạng
thái đơn hàng.
- Cung cấp công cụ quản lý khách hàng: Mục tiêu là xây dựng chức năng
quản lý khách hàng, bao gồm việc lưu trữ thông tin khách hàng, lịch sử mua hàng và
tương tác với khách hàng. Hệ thống sẽ cung cấp cơ chế để theo dõi và tạo liên kết với
khách hàng, từ việc gửi thông báo đến chương trình khuyến mãi đặc biệt.
- Tăng cường bảo mật và bảo vệ thông tin
- Đảm bảo hiệu suất và tin cậy của hệ thống

1.3 Phạm vi

Phạm vi của đồ án phân tích và thiết kế hệ thống quản lý bán sách online bao
gồm các giai đoạn của một tiến trình phát triển hệ thống như: thu thập yêu cầu,
phân tích yêu cầu, thiết kế hệ thống, phân tích và thiết kế cơ sở dữ liệu và thiết kế
giao diện người dùng.

CHƯƠNG 2: XÁC ĐỊNH YÊU CẦU(Nhi+ Trang)

2.1 Khảo sát hệ thống

Để có thể đáp ứng những yêu cầu cần thiết đã đặt ra, nhóm đã nghiên cứu
và phân tích các nhu cầu của người dùng trong việc mua sách trực tuyến, bao gồm
các tính năng và chức năng cần có trong hệ thống. Đồng thời nhóm cũng tiến hành
phỏng vấn các người dùng để hiểu rõ hơn về các yêu cầu, ưu điểm, và khó khăn mà
họ gặp phải khi mua sách online. Sau đó tìm hiểu các tài liệu liên quan và lựa chọn
hai hệ thống “Nhà sách trực tuyến Fahasa” và “Nhà xuất bản Kim Đồng” để khai
thác về các tính năng, giao diện, và quy trình đã được triển khai.

2.1.1 Phương pháp phỏng vấn

Để thu thập ý kiến từ một số lượng lớn người dùng trong một khoảng thời gian ngắn,
nhóm đã thiết kế một bảng câu hỏi và tạo một khảo sát trực tuyến. Bằng cách chia sẻ
khảo sát trực tuyến trên các kênh truyền thông xã hội, email hoặc trang web, nhóm
có thể thu thập đánh giá từ đa dạng người dùng đến từ nhiều vị trí và đối tượng khác
nhau để tối ưu nhất hệ thống của mình.
Nội dung câu hỏi khảo sát chủ yếu tập trung vào các khía cạnh quan trọng liên quan
đến hệ thống bán sách online: trải nghiệm mua sách online, mô tả những khó khăn
khi đặt sách trực tuyến, những tính năng nào là quan trọng trong hệ thống, nhận xét
gì về giao diện người dùng, đánh giá hệ thống mua sách online như thế nào trên
thang điểm từ 1 đến 10.
Những dữ liệu ở bảng dưới được tổng hợp từ 20 mẫu phỏng vấn. Tuy chất lượng,
phạm vi phỏng vấn và dữ liệu thu thập còn hạn chế, chưa thực sự khai thác được tối
đa về các trải nghiệm của tất cả đối tượng người dùng. Tuy nhiên, các kết quả từ
khảo sát trực tuyến đã giúp nhóm cái nhìn tương đối toàn diện về xu hướng chung từ
người dùng hiện nay. Với nỗ lực cải thiện, cập nhật hệ thống thường xuyên, nhóm
mong muốn hệ thống bán sách trực tuyến đem lại tiềm năng lớn trong nền kinh tế
tương lai và đóng góp đáng kể vào sự phát triển và thay đổi của ngành công nghiệp
sách.
❖ Câu hỏi về Fahasa

Người được phỏng vấn: Trang

Câu hỏi Ghi nhận trả lời

Bạn đã bao giờ đặt sách trực Đặt qua trang web của Fahasa
tuyến chưa? Kết quả quan sát: Đáng tin cậy

Thanh toán trực tuyến trước hay Thanh toán trực tuyến
sau khi nhận hàng? Kết quả quan sát: Đáng tin cậy

Khi thanh toán qua hệ thống trực Không có thanh toán bằng ví Momo nên tôi đã chọn
tuyến có gặp trở ngại gì không? thanh toán bằng Zalo Pay
Kết quan sát: đáng tin cậy

Người được phỏng vấn: Nhi

Câu hỏi Ghi nhận trả lời

Bạn đã bao giờ đặt hàng trực Đặt qua trang app của Fahasa
tuyến chưa? Kết quả quan sát: Đáng tin cậy

Thanh toán trực tuyến trước hay Thanh toán sau khi nhận hàng
sau khi nhận hàng? Kết quả quan sát: Đáng tin cậy

Mong muốn của bạn thế nào khi Mong app sẽ fix lại những lỗi sau: app thường văng
thanh toán qua hệ thống trực ra, không ổn định nhất là nhất là lúc flash sale.
tuyến Kết quả quan sát: Đáng tin cậy

Người được phỏng vấn: Long


Bạn đã bao giờ đặt hàng trực Đặt qua trang web của Fahasa
tuyến chưa? Kết quả quan sát: Đáng tin cậy

Thanh toán trực tuyến trước hay Thanh toán sau khi nhận hàng
sau khi nhận hàng? Kết quả quan sát: Đáng tin cậy

Bất cập về hệ thống đặt hàng Đợi xác nhận đơn hàng quá lâu, gây khó chịu cho
trực tuyến của bạn là gì? người mua.
Kết quả quan sát: Đáng tin cậy

Người được phỏng vấn: Kiệt


Trương

Bạn đã bao giờ đặt sách trực Đặt qua web Fahasa
tuyến chưa? Kết quả quan sát: Đáng tin cậy

Thanh toán trực tuyến trước hay Thanh toán sau khi nhận hàng
sau khi nhận hàng? Kết quả quan sát: Đáng tin cậy

Bạn có thấy quy trình đặt sách Tiện lợi hơn không cần ra tận cửa hàng để mua, hơn
trực tuyến trên Fahasa dễ dùng
nữa khi mua online tôi săn sale được giá rẻ hơn.
và tiện lợi không?
Kết quả quan sát: Đáng tin cậy

Người được phỏng vấn: Kiệt


Nguyễn

Bạn đã bao giờ đặt sách trực Đặt qua ứng dụng Fahasa
tuyến chưa? Kết quả quan sát: Đáng tin cậy

Thanh toán trực tuyến trước hay Thanh toán trực tuyến
sau khi nhận hàng? Kết quả quan sát: Đáng tin cậy

Theo bạn việc đặt sách trực Chất lượng tốt, tuy nhiên vẫn còn giao thiếu rất mất
tuyến có bất cập không? thời gian phải gọi điện làm việc với bên chăm sóc
KH để xử lý và giao thêm sách…
Kết quả quan sát: Đáng tin cậy

Người được phỏng vấn: Khang

Bạn đã bao giờ đặt sách trực Chưa bao giờ đặt
tuyến chưa? Kết quả quan sát: Đáng tin cậy

Bạn mua sách ở hệ thống nào? Nhà sách Fahasa


Kết quả quan sát: Đáng tin cậy

Bạn mua sách tại hệ thống có Đến tận nơi mua mà khi hỏi nhân viên thì lại bảo
những bất cập gì? cháy hàng, phải đến chi nhánh khác để mua.
Kết quả quan sát: Đáng tin cây

Người được phỏng vấn: Mai

Bạn đã bao giờ đặt sách trực Chưa bao giờ đặt
tuyến chưa? Kết quả quan sát: Đáng tin cậy

Bạn đã mua sách ở hệ thống Fahasa


nào? Kết quả quan sát: Đáng tin cậy

Bạn nghĩ mua sách tại nhà sách Fahasa có vài chi nhánh có không gian riêng cho
có những ưu điểm gì? khách đọc tại chỗ, tôi rất thích điều này.
Kết quả quan sát: Đáng tin cậy

Người được phỏng vấn: Mỹ

Bạn đã bao giờ đặt sách trực Đặt qua ứng dụng Fahasa
tuyến chưa? Kết quả quan sát: Đáng tin cậy

Thanh toán trực tuyến trước hay Thanh toán sau khi nhận hàng
sau khi nhận hàng? Kết quả quan sát: Đáng tin cậy

Mong muốn của bạn đối với ứng Ứng dụng hay tự ý huỷ đơn của khách, làm mình vô
dụng đặt sách hiện tại là gì? cùng khó chịu, đề nghị cải thiện lại vấn đề này!
Kết quả quan sát: Đáng tin cậy
Người được phỏng vấn: Vy

Bạn đã bao giờ đặt sách trực Chưa bao giờ đặt
tuyến chưa? Kết quả quan sát: Đáng tin cậy

Bạn đã mua sách ở hệ thống Fahasa


nào? Kết quả quan sát: Đáng tin cậy

Bạn nghĩ mua sách tại nhà sách Chi nhánh Fahasa gần nhất với tôi cũng đã cách hơn
có những bất cập gì? 30km, vì vậy tôi gặp chút trở ngại khi mua sách tại
cửa hàng Fahasa.
Kết quả quan sát: Đáng tin cậy

Người được phỏng vấn: Thuỳ

Bạn đã bao giờ đặt sách trực Chưa bao giờ đặt
tuyến chưa? Kết quả quan sát: Đáng tin cậy

Bạn đã mua sách ở hệ thống Fahasa


nào? Kết quả quan sát: Đáng tin cậy

Bạn nghĩ mua sách tại nhà sách Chị nhân viên sáng nay tại chi nhánh Thủ Đức take
có những ưu điểm gì? care khách rất tốt, tận tình giúp tôi lựa được quyển
sách song ngữ rất ưng ý.
Kết quả quan sát: Đáng tin cậy

❖ Câu hỏi về Nhà xuất bản Kim Đồng

Người được phỏng vấn: Trân

Bạn đã bao giờ đặt sách trực Đặt qua ứng dụng Nhà xuất bản Kim Đồng
tuyến chưa? Kết quả quan sát: Đáng tin cậy

Thanh toán trực tuyến trước hay Thanh toán sau khi nhận hàng
sau khi nhận hàng? Kết quả quan sát: Đáng tin cậy
Thanh toán qua hệ thống trực Rất tiện và đảm bảo an toàn, đặc biệt trong thời
tuyến thuận tiện gì cho bạn? buổi còn dịch bệnh, giao hàng không tiếp xúc là ok
nhất.
Kết quả quan sát: Đáng tin cậy

Người được phỏng vấn: Hân

Bạn đã bao giờ đặt sách trực Chưa bao giờ đặt
tuyến chưa? Kết quả quan sát: Đáng tin cậy

Bạn mua hàng ở hệ thống sách Nhà xuất bản Kim Đồng
nào? Kết quả quan sát: Đáng tin cậy

Bạn nghĩ mua sách tại hệ thống Được tích điểm thẻ thành viên và được tặng kèm
những ưu điểm gì? quà vào một số dịp đặc biệt như sinh nhật nhà sách.
Kết quả quan sát: Đáng tin cậy

Người được phỏng vấn: Hoàng

Bạn đã bao giờ đặt sách trực Đặt qua trang web của Nhà xuất bản Kim Đồng
tuyến chưa? Kết quả quan sát: Đáng tin cậy

Thanh toán trực tuyến trước hay Thanh toán sau khi nhận hàng
sau khi nhận hàng? Kết quả quan sát: Đáng tin cậy

Thanh toán qua hệ thống trực Tôi áp được cùng lúc nhiều mã giảm giá nên thành
tuyến thuận tiện gì cho bạn? tiền rất rẻ.
Kết quả quan sát: Đáng tin cậy

Người được phỏng vấn: Trúc

Bạn đã bao giờ đặt sách trực Đặt qua ứng dụng như Nhà xuất bản Kim Đồng
tuyến chưa? Kết quả quan sát: Đáng tin cậy

Thanh toán trực tuyến trước hay Thanh toán trước khi nhận hàng
sau khi nhận hàng? Kết quả quan sát: Đáng tin cậy
Việc mua sách trên hệ thống trực Ứng dụng có tính năng cá nhân hoá, đề xuất cho tôi
tuyến thuận tiện gì cho bạn? nhiều quyển rất thú vị.
Kết quả quan sát: Đáng tin cậy

Người được phỏng vấn: Lâm

Bạn đã bao giờ đặt sách trực Chưa bao giờ đặt
tuyến chưa? Kết quả quan sát: Đáng tin cậy

Bạn mua sách tại hệ thống nào? Nhà xuất bản Kim Đồng
Kết quả quan sát: Đáng tin cậy

Bạn có cơ hội bạn có muốn Tôi đang bắt đầu nghĩ tới việc sẽ đặt sách trực
chuyển qua đặt sách trực tuyến tuyến, ở đó tôi có thể đọc và tham khảo những đánh
không? giá mà người đã mua để lại.
Kết quả quan sát: Đáng tin cậy

Người được phỏng vấn: Tuấn

Bạn đã bao giờ đặt sách trực Đặt qua ứng dụng Nhà xuất bản Kim Đồng
tuyến chưa? Kết quả quan sát: Đáng tin cậy

Thanh toán trực tuyến trước hay Thanh toán sau khi nhận hàng
sau khi nhận hàng? Kết quả quan sát: Đáng tin cậy

Bạn có mong muốn gì để cải tiến Đề nghị app điều chỉnh lại, tôi đặt sách giá sale
hệ thống đặt sách trực tuyến nhưng khi thàn tiền vẫn tính giá gốc cho tôi?
không? Kết quả quan sát: Đáng tin cậy

Người được phỏng vấn: Bình

Bạn đã bao giờ đặt sách trực Đặt qua ứng dụng Nhà xuất bản Kim Đồng
tuyến chưa? Kết quả quan sát: Đáng tin cậy

Thanh toán trực tuyến trước hay Thanh toán sau trước nhận hàng
sau khi nhận hàng? Kết quả quan sát: Đáng tin cậy
Bạn có đề xuất gì khi đặt sách App hoàn tiền rất chậm, huỷ đơn rồi mà đợi hơn
qua hệ thống đặt hàng trực tuần tiền hoàn mới được giải quyết.
tuyến? Kết quả quan sát: Đáng tin cậy

Người được phỏng vấn: Trung

Bạn đã bao giờ đặt sách trực Chưa bao giờ đặt
tuyến chưa? Kết quả quan sát: Đáng tin cậy

Bạn mua sách ở hệ thống nào? Nhà xuất bản Kim Đồng
Kết quả quan sát: Đáng tin cậy

Bạn có thấy việc mua sách tại Nhân viên ở chi nhánh quận 1 rất thái độ, mình hỏi
hệ thống khó khăn không? tìm sách thì trả lời rất cục. Đề nghị train lại nhân
viên.
Kết quả quan sát: Đáng tin cậy

Người được phỏng vấn: Hương

Bạn đã bao giờ đặt sách trực Đặt qua ứng dụng Nhà xuất bản Kim Đồng
tuyến chưa? Kết quả quan sát: Đáng tin cậy

Thanh toán trực tuyến trước hay Thanh toán sau khi nhận hàng
sau khi nhận hàng? Kết quả quan sát: Đáng tin cậy

Việc mua sách trực tuyến có Có thể biết được quyển nào hay nhờ bình luận và
giúp cho bạn được gì không? đánh giá của các khách hàng trước đó. Đồng thời
biết sách mình muốn mua có còn không

Người được phỏng vấn: Phong

Bạn đã bao giờ đặt sách trực Chưa bao giờ đặt
tuyến chưa? Kết quả quan sát: Đáng tin cậy

Bạn mua sách ở hệ thống nào? Nhà xuất bản Kim Đồng
Kết quả quan sát: Đáng tin cậy

Mua sách tại hệ thống có lợi ích Mua sách tại cửa hàng cho phép tôi trải nghiệm
gì không? thực tế, cầm trên tay, xem trước và đọc một phần
sách trước khi quyết định mua
Kết quả quan sát: Đáng tin cậy

❖ Một số đánh giá của các khách hàng đã từng trải nghiệm hai hệ thống
FAHASA và Nhà xuất bản Kim Đồng.
★ FAHASA:
★ NHÀ XUẤT BẢN KIM ĐỒNG:
➢ Nhìn chung qua một số bình luận và đánh giá của khách hàng về hai hệ
thống trên ta có thể thấy được đã số khách hàng đều phàn nàn về những vấn đề về
giao hàng chậm, ứng dụng còn rất nhiều lỗi, phân loại sách chưa tối ưu, gửi mã OTP
và hoàn tiền chậm. Tuy đây chỉ là những ý kiến chủ quan đến từ phía khách hàng
chưa có sự kiểm chứng cụ thể, dù vậy nó là đánh giá góp mang tính đóng góp xây
dụng để nhóm chúng em có thể căn cứ vào đó để hoàn thiện hơn hệ thống mà nhóm
đang phát triển bởi vì hệ thống xây dựng ra với mục đích tối ưu hoá trải nghiệm cho
khách hàng, đem đó cho họ sự tiện lợi và bảo đảm nhất nhằm giúp khách hàng an
tâm mua sắm.

2.1.2 Phương pháp phân tích tài liệu

Theo như việc xem xét và thu thập thông tin từ nhiều nguồn, tập trung vào hệ
thống trực tuyến, nhóm đã sử dụng phương pháp nghiên cứu tài liệu để xác định
yêu cầu thứ hai. Nhóm đã tập trung vào việc thu thập các loại tài liệu liên quan
đến hệ thống trực tuyến, bao gồm tài liệu giao dịch (hóa đơn giấy/hóa đơn điện
tử, thông báo đặt hàng thành công); tài liệu tổ chức, chính sách (quy trình đặt
hàng ).

Hệ thống bán sách trực tuyến FAHASA:

- Tài liệu giao dịch:


+ Hóa đơn giấy: Hóa đơn giấy là tài liệu giao dịch được sử dụng để ghi
nhận thông tin về đơn hàng và thanh toán.
+ Hóa đơn điện tử: FAHASA có thể cung cấp hóa đơn điện tử cho các
giao dịch mua sách trực tuyến. Hóa đơn điện tử được gửi qua email
hoặc có thể tải xuống từ tài khoản thành viên trên trang web.

- Tài liệu tổ chức, chính sách: FAHASA có thể cung cấp các tài liệu tổ chức và
chính sách liên quan đến quy trình đặt hàng.
+ B1: Truy cập trang web: Thành viên truy cập vào trang web của
FAHASA thông qua trình duyệt web.
+ B2: Tìm kiếm sản phẩm: Thành viên sử dụng chức năng tìm kiếm trên
trang web để tìm kiếm sách hoặc các sản phẩm khác mà họ quan tâm.
Có thể tìm kiếm theo tiêu đề, tác giả, thể loại hoặc từ khóa liên quan.
+ B3: Lựa chọn sản phẩm: Thành viên duyệt qua kết quả tìm kiếm và chọn
sản phẩm mà họ muốn mua bằng cách nhấp vào sản phẩm đó.
+ B4: Thêm vào giỏ hàng: Thành viên chọn số lượng sách mà họ muốn
mua và nhấp vào nút "Thêm vào giỏ hàng". Sản phẩm sẽ được thêm
vào giỏ hàng của thành viên.
+ B5: Xem giỏ hàng: Thành viên có thể xem lại danh sách sản phẩm trong
giỏ hàng của mình. Ở đây, họ có thể điều chỉnh số lượng sách, xóa sản
phẩm không muốn mua hoặc tiếp tục mua sắm.
+ B6: Đặt hàng: Khi thành viên đã xem lại giỏ hàng và chắc chắn với các
sản phẩm đã chọn, họ có thể tiến hành đặt hàng. Thành viên sẽ cung
cấp thông tin cá nhân, địa chỉ giao hàng, phương thức thanh toán và các
chi tiết khác cần thiết để hoàn thành quá trình đặt hàng.
+ B7: Giao hàng: Sau khi đơn hàng được xử lý, FAHASA sẽ gửi hàng đến
địa chỉ giao hàng mà thành viên đã cung cấp trong quá trình đặt hàng.
Thành viên có thể theo dõi trạng thái giao hàng thông qua thông tin
cung cấp qua email.

Hệ thống bán sách trực tuyến NXB Kim Đồng:

- Tài liệu giao dịch:


+ Hóa đơn giấy: Hóa đơn giấy là tài liệu giao dịch được sử dụng để ghi
nhận thông tin về đơn hàng và thanh toán.

+ Hóa đơn điện tử: NXB Kim Đồng có thể cung cấp hóa đơn điện tử cho
các giao dịch mua sách trực tuyến. Hóa đơn điện tử được gửi qua email
hoặc có thể tải xuống từ tài khoản thành viên trên trang web.

- Tài liệu tổ chức, chính sách: NXB Kim Đồng cũng có quy trình đặt hàng
tương tự như FAHASA
+ B1: Truy cập trang web: Thành viên truy cập vào trang web của
FAHASA thông qua trình duyệt web.
+ B2: Tìm kiếm sản phẩm: Thành viên sử dụng chức năng tìm kiếm trên
trang web để tìm kiếm sách hoặc các sản phẩm khác mà họ quan tâm.
Có thể tìm kiếm theo tiêu đề, tác giả, thể loại hoặc từ khóa liên quan.
+ B3: Lựa chọn sản phẩm: Thành viên duyệt qua kết quả tìm kiếm và chọn
sản phẩm mà họ muốn mua bằng cách nhấp vào sản phẩm đó.
+ B4: Thêm vào giỏ hàng: Thành viên chọn số lượng sách mà họ muốn
mua và nhấp vào nút "Thêm vào giỏ hàng". Sản phẩm sẽ được thêm
vào giỏ hàng của thành viên.
+ B5: Xem giỏ hàng: Thành viên có thể xem lại danh sách sản phẩm trong
giỏ hàng của mình. Ở đây, họ có thể điều chỉnh số lượng sách, xóa sản
phẩm không muốn mua hoặc tiếp tục mua sắm.
+ B6: Đặt hàng: Khi thành viên đã xem lại giỏ hàng và chắc chắn với các
sản phẩm đã chọn, họ có thể tiến hành đặt hàng. Thành viên sẽ cung
cấp thông tin cá nhân, địa chỉ giao hàng, phương thức thanh toán và các
chi tiết khác cần thiết để hoàn thành quá trình đặt hàng.
+ B7: Giao hàng: Sau khi đơn hàng được xử lý, NXB Kim Đồng sẽ gửi
hàng đến địa chỉ giao hàng mà thành viên đã cung cấp trong quá trình
đặt hàng. Thành viên có thể theo dõi trạng thái giao hàng thông qua
thông tin cung cấp qua email.

2.2. Phân tích hiện trạng

Những điểm hạn chế, bất cập mà hệ thống cần xem xét thay đổi:
● FAHASA:
Qua khảo sát, hệ thống bán sách trực tuyến FAHASA có những điểm hạn chế như sau:
+ Giao diện người dùng phức tạp: Giao diện của trang web Fahasa có thể làm khó
khăn cho người dùng mới và gây nhầm lẫn. Việc tìm kiếm sách và thực hiện
các thao tác mua hàng không được thiết kế một cách rõ ràng và dễ dùng.
+ Thời gian giao hàng chậm: Một số khách hàng đã phản ánh về thời gian giao
hàng kéo dài của Fahasa. Điều này có thể gây khó chịu cho người mua hàng,
đặc biệt là khi họ cần nhận sách trong thời gian ngắn.
+ Thiếu thông tin chi tiết về sản phẩm: Một số sách trên trang web Fahasa không
có đủ thông tin chi tiết về nội dung, tác giả, và xuất bản. Điều này gây khó khăn
cho khách hàng khi muốn tìm hiểu thêm về sách trước khi mua.
+ Hạn chế về tùy chọn thanh toán: Fahasa hạn chế các phương thức thanh toán và
không cung cấp đầy đủ các tùy chọn phổ biến như thanh toán bằng thẻ tín dụng,
ví điện tử hay chuyển khoản ngân hàng.
+ Quản lý đơn hàng không hiệu quả: Có một số phản hồi tiêu cực về việc quản lý
đơn hàng tại Fahasa. Gặp khó khăn khi xử lý đơn hàng, tình trạng hàng hóa,
hoặc việc cập nhật thông tin vận chuyển.
+ Hỗ trợ khách hàng không tốt: Một số người dùng cho biết rằng hỗ trợ khách
hàng từ Fahasa không đáp ứng tốt, với thời gian phản hồi chậm và giải đáp
không đầy đủ các câu hỏi hoặc yêu cầu.
● NXB Kim Đồng:
Qua khảo sát, NXB Kim Đồng cũng có một số điểm hạn chế giống như FAHASA:
+ Giao diện người dùng phức tạp: Giao diện của trang web NXB Kim Đồng gây
dễ gây nhầm lẫn cho người dùng. Việc tìm kiếm sách và thực hiện các thao tác
mua hàng không được thiết kế một cách rõ ràng và dễ dùng. Giao diện cũng
không được thân thiện với người mua hàng.
+ Thời gian giao hàng chậm: Một số khách hàng đã phản ánh về thời gian giao
hàng kéo dài của NXB Kim Đồng. Điều này có thể gây khó chịu cho người mua
hàng, đặc biệt là khi họ cần nhận sách trong thời gian ngắn.
+ Hỗ trợ khách hàng không tốt: Một số người dùng cho biết rằng hỗ trợ khách
hàng từ NXB Kim Đồng không đáp ứng tốt, với thời gian phản hồi chậm và giải
đáp không đầy đủ các câu hỏi hoặc yêu cầu, có khi còn không phản hồi những
khiếu nại của khách hàng.
+ Lỗi hệ thống: Một vài khách hàng phàn nàn về việc không load được trang web
NXB Kim Đồng. Hệ thống tải quá chậm dù khách hàng đã có kết nối internet
ổn định.
+ Thiếu khả năng tiếp cận cao: Hệ thống không hỗ trợ chuyển đổi ngôn ngữ.
2.3 Đặc tả yêu cầu

Dựa trên việc xem xét, thu thập thông tin và khảo sát hiện trạng các hệ thống hiện
có, cùng với trải nghiệm và khả năng của nhóm thực hiện, nhóm đã nhận thấy
nhiều hạn chế trong các hệ thống hiện tại. Dựa trên nhận thức đó, nhóm đã xác
định được các yêu cầu chức năng và phi chức năng mà hệ thống mục tiêu cần đáp
ứng. Dưới đây là danh sách các yêu cầu đó:

*Yêu cầu chức năng của hệ thống:


● Hệ thống cho phép khách hàng mới có thể đăng ký tài khoản thành viên
● Hệ thống cho phép khách hàng mới và thành viên nhập từ khóa tìm kiếm sách
tại website
● Hệ thống cho phép người dùng đăng nhập vào hệ thống ở đúng vai trò như
nhân viên quản lý và thành viên
● Hệ thống cho phép thành viên có thể đặt sách trực tuyến thông qua website và
thực hiện thanh toán để xác nhận
● Hệ thống cho phép nhân viên quản lý có thể quản lý tài khoản bằng cách có
thể xem thông tin của các tài khoản khách hàng hoặc xóa thông tin tài khoản
không còn sử dụng trên hệ thống
● Hệ thống cho phép thành viên quản lý đơn hàng như có thể hủy đơn hàng,
xem tình trạng đơn hàng, lịch sử những giao dịch mình đã thực hiện. Thành
viên có thể bình luận và đánh giá về chất lượng sản phẩm và dịch vụ sau khi
nhận hàng.
● Hệ thống cho phép nhân viên quản lý có thể chỉnh sửa thông tin sách ( thêm,
xóa, sửa thông tin sách ) và cập nhật số lượng sách còn tồn kho.
● Hệ thống cho phép thành viên có thể quản lý giỏ hàng của mình
● Hệ thống cho phép thành viên có thể quản lý thông tin cá nhân của mình
● Hệ thống cho phép nhân viên quản lý có thể lập báo tài chính thông qua doanh
thu, chi phí đã tổng hợp theo thời gian( tháng, quý, năm ).

*Yêu cầu phi chức năng của hệ thống:

- Hiệu suất:
+ Thời gian cho phép hệ thống trả kết quả tìm kiếm cho khách hàng là 3 giây;
thời gian để hệ thống phản hồi sau khi tiếp nhận các yêu cầu từ người dùng là
5 giây.
+ Đảm bảo 100 người truy cập sử dụng hệ thống cùng một lúc và các giao dịch
đều thực hiện thành công.

- Khả dụng:
+ Hệ thống phải hoạt động liên tục 24/24h
+ Thời gian không sẵn sàng của hệ thống phải nhỏ hơn 30 phút/tháng không
tính thời gian bảo trì hệ thống
+ Khi gặp sự cố sẽ hiển thị một trang thay thế cho người dùng.

- Độ tin cậy:
+ Thời gian cho phép hệ thống phục hồi khi gặp sự cố là 3h
+ Hệ thống duy trì và cập nhật liên tục các bản sao lưu cơ sở dữ liệu trên các
thiết bị dự phòng.

- An toàn thông tin


+ Bảo mật: đảm bảo thông tin khách hàng, thông tin quản lý được bảo mật nhiều
lớp và hệ thống web phải sử dụng giao thức https.
+ Hỗ trợ khả năng xác thực 2 nhân tố
+ Phân quyền truy cập quản lý, vận hành hệ thống cho các bộ phận cấp cao.

- Tính tương thích: Hệ thống dùng chung một cơ sở dữ liệu được kết nối với
nhau thông qua mạng nội bộ.

- Bảo trì, cập nhật


+ Hệ thống nên được bảo trì để khắc phục lỗi và cập nhật phiên bản mới nhất 1
lần/tháng để đem lại trải nghiệm tốt nhất cho người dùng.
- Tính di động:
+ Hệ thống có thể chạy trên nhiều nền tảng như IOS, Android,
Windows,.. Bên cạnh đó, khi chay trên những nền tảng khác nhau thì
hệ thống cần đáp ứng để thay đổi tối thiểu về giao diện hay chức năng
nhằm đáp ứng sử dụng hiệu quả trên mỗi nền tảng khác nhau.
- Khả năng sử dụng:
+ Hệ thống cần được thiết kế đơn giản, dễ hiểu để khách hàng ở mọi lứa tuổi dễ
sử dụng.
+ Các chức năng tìm kiếm, lọc, xem trước và đánh giá sản phẩm nên được cung
cấp để người dùng có thể thuận tiện tìm kiếm và chọn sách một cách dễ dàng.
- Khả năng tiếp cận: Hệ thống sẽ hỗ trợ 2 ngôn ngữ là tiếng Việt và tiếng Anh. 
- Khả năng hỗ trợ: Mã nguồn được phát triển cho hệ thống này sẽ được duy trì
trong công cụ quản lý cấu hình.
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG(Long+2Kiệt+Khang)

3.1 Các yêu cầu chức năng

Các yêu cầu chức năng được liệt kê tại mục đặc tả yêu cầu được nhóm thực
hiện xem xét và tiến hành phân vào từng nhóm đối tượng: khách hàng mới, thành
viên, nhân viên quản lý. Kế đến, nhóm chức năng ứng với từng đối tượng được hệ
thống lại theo cấp bậc bằng sơ đồ phân cấp chức năng.
3.2 Phân tích yêu cầu

3.2.1 Mô hình hóa chức năng

Mô hình hóa chức năng hệ thống quản lý đặt hàng trực tuyến của nhà sách bao gồm:
sơ đồ Use Case và sơ đồ hoạt động.

❖ Use case tổng quát:


a) Xác định các Actor của hệ thống

● Nhân viên quản lý: Là thành viên quản lý kênh bán hàng trực tuyến của
nhà sách. Họ sẽ là người nắm bắt tình hình mua bán trong nhà sách qua
một số hoạt động như: cập nhật sách tồn kho, tổng hợp doanh thu bán
sách, tổng hợp chi phí vận hành nhà sách,... Đồng thời, họ cũng có quyền
quản lý tài khoản trong hệ thống, lập báo cáo tài chính và quản lý sách trên
website của nhà sách.

● Khách hàng mới: Là những người ghé thăm trang web bán sách của nhà
sách, tìm kiếm và xem thông tin sách trên đó. Họ cũng cũng có quyền đăng
ký để trở thành thành viên của hệ thống.

● Thành viên: Là những khách hàng đã đăng ký tài khoản trên hệ thống. Họ
có thể sử dụng tất cả các chức năng trên hệ thống như tìm kiếm sản
phẩm ,đặt hàng, quản lý đơn hàng đã mua, quản lý thông tin cá nhân của
mình và quản lý giỏ hàng.
b) Xác định Use case của hệ thống:

(1) Đăng ký tài khoản

Tác nhân: Khách hàng mới

Điều kiện: Là khách hàng chưa có tài khoản trên hệ thống

Mô tả: Khách hàng mới ghé thăm website nếu muốn đặt hàng, quản lý đơn
hàng,... khách hàng sẽ cần phải đăng ký thành viên để trở thành thành viên
của hệ thống. Đăng ký tài khoản cho phép khách hàng mới có tài khoản,
được lưu thông, trở thành thành viên trên hệ thống để dễ dàng hơn cho các
giao dịch về sau.

(2) Tìm kiếm sách

- Tác nhân: Khách hàng mới hoặc thành viên

- Điều kiện: Đã đăng nhập hay chưa đăng nhập đều có thể tìm kiếm
sách

- Mô tả: Khách hàng mới ghé thăm website hoặc thành viên trên hệ
thống muốn tìm kiếm một cuốn sách nào đó có thể nhập từ khóa
liên quan đến sách đó, hệ thống sẽ đưa ra danh sách các đề xuất liên
quan đến sách đó để khách hàng tìm kiếm quyển sách mình mong
muốn dễ dàng hơn.

(3) Đăng nhập

- Tác nhân: Thành viên hoặc nhân viên quản lý

- Điều kiện: Đã có tài khoản trên hệ thống, có thể đăng nhập vào hệ
thống.

- Mô tả: Nhân viên quản lý và thành viên đã có tài khoản trên hệ


thống khi cần thực hiện các chức năng trên hệ thống có thể yêu cầu
đăng nhập để truy cập vào hệ thống.
(4) Quản lý thông tin cá nhân

- Tác nhân: Thành viên

- Điều kiện: Đã đăng nhập vào hệ thống

- Mô tả: Thành viên trên hệ thống muốn thay đổi thông tin đặt hàng
của mình trên hệ thống (như họ tên, số điện thoại, địa chỉ giao
hàng,...) có thể vào mục quản lý thông tin cá nhân để thay đổi thông
tin của mình.

(5) Đặt sách trực tuyến

- Tác nhân: Thành viên

- Điều kiện: Đã đăng nhập vào hệ thống

- Mô tả: Thành viên tiến hành đặt sách trực tuyến bằng cách chọn
những quyển sách mình muốn mua và tiến hành thanh toán hoặc có
thể thêm vào giỏ hàng .

(6) Quản lý giỏ hàng

- Tác nhân: Thành viên

- Điều kiện: Đăng nhập được vào hệ thống

- Mô tả: Thành viên có thể sử dụng chức năng quản lý giỏ hàng để
quản lý các sản phẩm sách trong giỏ hàng cá nhân của mình tùy
theo mục đích mua hàng của bản thân khách hàng.

(7) Quản lý đơn hàng

- Tác nhân: Thành viên

- Điều kiện: Đăng nhập được vào hệ thống.


- Mô tả: Thành viên sử dụng chức năng quản lý đơn hàng để xem
tình trạng các đơn hàng mình đã và đang đặt và lịch sử những giao
dịch mình đã thực hiện. Đối với các đơn hàng đang đặt, nếu có vấn
đề phát sinh dẫn đến khách hàng muốn hủy đơn, hệ thống sẽ cho
phép thành viên hủy đơn hàng nếu đạt được đầy đủ những điều kiện
được ghi trong chính sách hủy đơn hàng của nhà sách .

(8) Quản lý sách

- Tác nhân: Nhân viên quản lý

- Điều kiện: Đăng nhập vào hệ thống

- Mô tả: Sau khi đăng nhập vào hệ thống, nhân viên quản lý có thể
chỉnh sửa thông tin sách hay cập nhật sách còn tồn trong kho. Hệ
thống dựa trên thông tin sách mà nhân viên quản lý đã chỉnh sửa để
cập nhật thông tin sách mới lên website. Ngoài ra, hệ thống dựa trên
số lượng sách còn tồn kho để cập nhật lên website nếu sách còn hay
hết số lượng nhằm thông báo kịp thời đến khách mua hàng.

(9) Quản lý tài khoản

- Tác nhân: Nhân viên quản lý

- Điều kiện: Đã đăng nhập vào hệ thống

- Mô tả: Sau khi đăng nhập hệ thống, nhân viên quản lý với vai trò
kiểm soát người dùng trên hệ thống, hệ thống có chức năng quản lý
tài khoản nhằm giúp nhân viên quản lý dễ dàng xem, chỉnh sửa hay
xóa tài khoản tùy theo mục đích quản lý.

(10) Lập báo cáo tài chính

- Tác nhân: Nhân viên quản lý


- Điều kiện: Đăng nhập vào hệ thống

- Mô tả: Sau khi đăng nhập vào hệ thống, nhân viên quản lý sử dụng
chức năng lập báo cáo tài chính để lập báo cáo doanh thu hay chi
phí theo thời gian ( tháng, quý, năm ).

❖ Đăng ký tài khoản


● Usecase

● Đặc tả usecase

Use Case ID UC 1

Use Case Name Đăng ký

Description Cho phép khách hàng mới đăng ký tài khoản trên hệ thống

Actor(s) Khách hàng mới


Trigger Khách hàng mới muốn đăng ký tài khoản để trở thành thành
viên của hệ thống

Pre-Condition(s) Thiết bị được kết nối với Internet trước khi sử dụng

Post-Condition Người dùng đăng ký tài khoản thành công

Basic Flow 1. Người dùng truy cập vào hệ thống.

2. Khách hàng mới nhập thông tin đăng ký tài khoản

3. Hệ thống kiểm tra điều kiện bắt buộc

4. Hệ thống kiểm tra thông tin

5. Hệ thống lưu thông tin

6. Hệ thống thông báo đăng ký thành công

7. Quy trình kết thúc

Flow

Exception Flow 3a. Hệ thống thông báo thông tin không hợp lệ
4a. Hệ thống yêu cầu nhập lại thông tin

5a. Hệ thống thông báo nhập lại thông tin

Quay lại usecase 1.2

4a1. Hệ thống thông báo thông tin đăng ký đã tồn tại

5a1. Hệ thống yêu cầu nhập lại thông tin

Quay lại usecase 1.2

● Activity

❖ Tìm kiếm sách


● Usecase

● Đặc tả usecase

Use Case ID UC 2

Use Case Name Tìm kiếm sách

Description Cho phép khách hàng mới và thành viên tìm kiếm sách muốn
mua trên hệ thống

Actor(s) Khách hàng mới và thành viên

Trigger Người dùng muốn tìm kiếm sách trên hệ thống với tư cách là
thành viên và khách hàng mới
Precondition(s) 1. Người dùng có tài khoản trên hệ thống

2. Người dùng đăng nhập thành công vào hệ thống

3. Thiết bị được kết nối với Internet trước khi sử dụng

Post-Condition Người dùng tìm kiếm sách thành công

Basic Flow 1. Người dùng truy cập vào hệ thống.


2. Người dùng nhập từ khóa liên quan sách cần tìm kiếm
3. Hệ thống tìm kiếm tên sách theo từ khoá đã nhập
4. Hệ thống hiển thị danh sách kết quả tìm kiếm
5. Người dùng chọn sách muốn tìm
6. Hệ thống hiển thị thông tin sách
7. Quy trình kết thúc

Exception Flow 3.a Hệ thống thông báo không tìm thấy thông tin

Tiếp tục Use case 2.1

● Activity
❖ Đăng nhập
● Usecase
● Đặc tả usecase

Use Case ID UC 3

Use Case Name Đăng nhập

Description Cho phép nhân viên quản lý và thành viên đăng nhập vào
hệ thống

Actor(s) Nhân viên quản lý và thành viên

Trigger Người dùng đăng nhập vào hệ thống với tư cách là thành
viên và nhân viên quản lý

Pre-Condition(s) 1. Người dùng có tài khoản trên hệ thống

2. Thiết bị được kết nối với Internet trước khi sử dụng

Post-Condition • Người dùng đăng nhập vào hệ thống thành công


Basic Flow 1. Người dùng truy cập vào hệ thống.

2.Người dùng nhập tên tài khoản và mật khẩu

3. Hệ thống kiểm tra các thông tin ràng buộc

4. Hệ thống kiểm tra lại thông tin

5. Hệ thống thông báo đăng nhập thành công

6. Hệ thống hiển thị giao diện

7. Quy trình kết thúc

Exception Flow 2a. Hệ thống thông báo tài khoản không hợp lệ

Tiếp tục Use case 3.1

3a. Hệ thống thông báo tài khoản không tồn tại

Tiếp tục Use case 3.1


● Activity

❖ Quản lý thông tin cá nhân


● Usecase
● Đặc tả usecase

Use Case ID UC 4

Use Case Name Quản lý thông tin cá nhân

Description Cho phép thành viên quản lý thông tin cá nhân của mình

Actor(s) Thành viên

Trigger Người dùng quản lý thông tin cá nhân với tư cách là thành
viên

Pre-Condition(s) 1. Người dùng có tài khoản trên hệ thống


2. Thiết bị được kết nối với Internet trước khi sử dụng

Post-Condition • Người dùng đăng nhập vào hệ thống thành công

Basic Flow 1. Người dùng truy cập vào hệ thống.


2. Người dùng chọn “Xem thông tin cá nhân”.
3. Hệ thống hiển thị thông tin cá nhân.
4. Người dùng nhập thông tin cần cập nhật
5. Hệ thống kiểm tra thông tin theo yêu cầu bắt buộc
6. Hệ thống thông báo cập nhật thông tin thành công
7. Hệ thống lưu thông tin cá nhân của thành viên.
8. Use Case kết thúc

Exception Flow 5a. Thông tin không hợp lệ

Quay lại Use Case 4.4


● Activity
❖ Đặt sách trực tuyến
● Usecase

● Đặc tả usecase

Use Case ID UC 5

Use Case Name Đặt sách trực tuyến

Description Cho phép đặt sách trực tuyến

Actor(s) Thành viên

Priority Must have

Trigger Người dùng đặt hàng trực tuyến với tư cách là thành viên

Pre-Condition(s) 1. Người dùng có tài khoản trên hệ thống


2. Thiết bị được kết nối với Internet trước khi sử dụng

Post-Condition • Người dùng đặt hàng hoặc thêm vào giỏ hàng thành công

Basic Flow 1. Người dùng truy cập vào hệ thống

2. Người dùng chọn sách muốn mua

3. Hệ thống hiển thị thông tin sách

4. Người dùng chọn chức năng thanh toán

5.Hệ thống tính giá trị giỏ hàng

6. Hệ thống hiển thị giá trị tạm tính

7. Hệ thống yêu cầu điền thông tin xác nhận đơn hàng

8. Người dùng điền thông tin xác nhận đặt hàng

9. Người dùng áp mã giảm giá

10. Hệ thống tính giá trị tạm tính sau giảm giá.

11. Người dùng chọn thanh toán trực tuyến

12. Hệ thống thanh toán tiếp nhận và xử lý giao dịch

13. Hệ thống lưu thông tin

14. Hệ thống thông báo đặt hàng thành công

15. Quy trình kết thúc


Alternative Flow 4a. Người dùng chọn chức năng thêm vào giỏ hàng

Tiếp tục use case 5.2

11a. Người dùng chọn hình thức thanh toán tiền mặt

Tiếp tục use case 5.13

Exception Flow 8a2. Hệ thống thấy thông tin không hợp lệ

Quay lại use case 5.7

9a2. Hệ thống thấy mã giảm giá không hợp lệ

Quay lại use case 5.9

12a2. Hệ thống thanh toán thông báo giao dịch không thành
công

Quay lại use case 5.11


● Activity
❖ Quản lý giỏ hàng
● Usecase

● Đặc tả usecase

Use Case ID UC 6

Use Case Name Quản lý giỏ hàng

Description Cho phép người dùng quản lý giỏ hàng của mình

Actor(s) Thành viên

Trigger Người dùng muốn quản lý giỏ hàng với tư cách là thành viên

Pre-Condition(s) 1. Người dùng có tài khoản trên hệ thống

2. Thiết bị được kết nối với Internet trước khi sử dụng


Post-Condition • Người dùng quản lý giỏ hàng thành công

Basic Flow 1. Người dùng truy cập vào hệ thống

2. Người dùng chọn sách trong giỏ hàng

3. Người dùng chọn chức năng xóa sách trong giỏ

4. Hệ thống thông báo xác nhận xóa sách người dùng


chọn

5. Người dùng xác nhận đồng ý

6.Hệ thống xóa thông tin sách khỏi giỏ hàng

7. Hệ thống thông báo xóa sách thành công

8. Hệ thống lưu thông tin đã cập nhật

9. Quy trình kết thúc

Alternative Flow 3a. Người dùng chọn chức năng chỉnh sửa thông tin sách

4a. Người dùng chỉnh sửa số lượng sách trong giỏ

5a. Hệ thống cập nhật số lượng sách sau chỉnh sửa

6a. Hệ thống hiển thị số lượng mới của sách trong giỏ

7a. Hệ thống lưu thông tin đã cập nhật

8a. Quy trình kết thúc


Exception Flow 4a1. Người dùng không đồng ý xóa sách trong giỏ

Tiếp tục usecase 6.8

● Activity
❖ Quản lý đơn hàng

usecase

Đặc tả usecase

Use Case ID UC 7

Use Case Name Quản lý đơn hàng

Description Cho phép người dùng quản lý tình trạng đơn hàng của mình

Actor(s) Thành viên

Trigger Người dùng muốn quản lý đơn hàng với tư cách là thành viên

Pre-Condition(s) 1. Người dùng có tài khoản trên hệ thống

2. Thiết bị được kết nối với Internet trước khi sử dụng


Post-Condition • Người dùng quản lý đơn hàng thành công

Basic Flow 1. Người dùng truy cập vào hệ thống


2. Người dùng chọn chức năng hủy đơn hàng
3. Người dùng chọn đơn hàng cần hủy
4. Hệ thống kiểm tra điều kiện hủy đơn hàng
5. Hệ thống kiểm tra phương thức thanh toán
6. Hệ thống hủy giao dịch
7. Hệ thống thông báo hủy giao dịch thành công
8. Quy trình kết thúc

Alternative Flow 2a. Người dùng chọn chức năng tra cứu đơn hàng

3a. Người dùng chọn sản phẩm cần tra cứu

3.1a Người dùng chọn chức năng đánh giá

3.1.1a Người dùng chọn số sao cho sản phẩm

3.1.2a Hệ thống hiển thị số sao của sản phẩm

3.1.3a Quy trình kết thúc

3.2a Người dùng chọn chức năng bình luận

3.2.1a Người dùng nhập nội dung bình luận

3.2.2a Hệ thống hiện thị nội dung bình luận

3.2.3a Quy trình kết thúc

4a. Hệ thống lấy trạng thái đơn hàng

5a. Hệ thống thông báo tình trạng đơn hàng

6a. Quy trình kết thúc


2a1. Người dùng chọn chức năng xem lịch sử giao dịch

3a1. Hệ thống kiểm tra thông tin lịch sử mua hàng

4a1. Hệ thống thông báo kết quả giao dịch

5a1. Quy trình kết thúc

Exception Flow 5a2. Thông báo đơn hàng không thể hủy

6a2. Quy trình kết thúc

6a3. Yêu cầu hoàn tiền

7a3. Hệ thống thanh toán điện tử xác nhận thông tin hoàn tiền

Tiếp tục Use case 8.6

● Activity
❖ Quản lý sách

Usecase
Đặc tả usecase

Use Case ID UC 8

Use Case Name Quản lý sách

Description Cho phép quản lý sách

Actor(s) Nhân viên quản lý

Priority Must have

Trigger Người dùng muốn quản lý sách với tư cách là nhân viên quản

Pre- 1. Người dùng có tài khoản trên hệ thống
Condition(s)
2. Thiết bị được kết nối với Internet trước khi sử dụng

Post-Condition • Người dùng quản lý sách thành công

Basic Flow 1. Người dùng truy cập vào hệ thống


2. Người dùng chọn chức năng quản lý sách
3. Người dùng chọn chức năng cập nhật tồn kho
4. Hệ thống hiển thị mẫu cập nhật tồn kho
5. Người dùng điền thông tin cập nhật
6. Hệ thống xác nhận cập nhật tồn kho
7. Người dùng đồng ý cập nhật tồn kho
8. Hệ thống cập nhật thông tin tồn kho
9. Hệ thống thông báo cập nhật thành công
10. Hệ thống lưu thông tin cập nhật
11. Quy trình kết thúc

Alternative 2a. Người dùng chọn chức năng chỉnh sửa sách
Flow
2a1. Người dùng chọn chức năng thêm thông tin sách

2a2. Người dùng chọn chức năng sửa thông tin sách

2a3. Người dùng chọn chức năng xóa thông tin sách

3a. Hệ thống xác nhận chỉnh sửa

4a. Hệ thống cập nhật thông tin tồn kho

5a. Hệ thống thông báo cập nhật thành công

6a. Hệ thống lưu thông tin cập nhật

7a. Quy trình kết thúc


Exception Flow 6a1. Người dùng không đồng ý cập nhật tồn kho

Tiếp tục usecase 8.10

3a2. Người dùng không đồng ý xác nhận chỉnh sửa

4a2. Hệ thống thông báo hủy cập nhật tồn kho

5a2. Hệ thống lưu thông tin cập nhật

6a2. Quy trình kết thúc

Activity
❖ Quản lý tài khoản

Usecase

Đặc tả usecase

Use Case ID UC 9

Use Case Name Quản lý tài khoản

Description Cho phép quản lý tài khoản

Actor(s) Nhân viên quản lý

Priority Must have

Trigger Người dùng muốn quản lý tài khoản với tư cách là nhân viên
quản lý
Pre- 1. Người dùng có tài khoản trên hệ thống
Condition(s)
2. Thiết bị được kết nối với Internet trước khi sử dụng

Post-Condition • Người dùng quản lý tài khoản thành công

Basic Flow 1. Người dùng truy cập vào hệ thống.


2. Người dùng chọn “Xem danh sách thành viên”.
3. Hệ thống hiển thị danh sách thành viên.
4. Người dùng chọn thành viên cần xóa
5. Hệ thống hiển thị yêu cầu xác nhận xóa
6. Người dùng đồng ý xóa
7. Hệ thống xóa tài khoản của thành viên
8. Hệ thống cập nhật lại danh sách sách thành viên
9. Hệ thống hiển thị lại danh sách thành viên.
10. Use Case kết thúc

Exception Flow 6a. Người quản lý không đồng ý

Quay lại Use Case 9.3


Activity
❖ Lập báo cáo tài chính

Usecase

Đặc tả usecase

Use Case ID UC 10

Use Case Name Lập báo cáo tài chính

Description Cho phép lập báo tài chính

Actor(s) Nhân viên quản lý

Priority Must have

Trigger Người dùng muốn lập báo tài chính với


tư cách là nhân viên quản lý

Pre-Condition(s) 1. Người dùng có tài khoản trên hệ thống

2. Thiết bị được kết nối với Internet


trước khi sử dụng

Post-Condition • Người dùng lập báo tài chính thành


công

Basic Flow 1. Người dùng truy cập vào hệ


thống
2. Người dùng chọn chức năng lập
báo cáo
3. Người dùng chọn lập báo cáo
doanh thu
4. Người dùng tùy chỉnh thông tin
báo cáo
5. Hệ thống tổng hợp dữ liệu đã tùy
chỉnh
6. Hệ thống lập báo cáo doanh thu
7. Hệ thống hiển thị bản xem trước
của báo cáo
8. Người dùng xác nhận báo cáo
9. Hệ thống xuất tập tin báo cáo
doanh thu
10. Hệ thống lưu lại thông tin
11. Quy trình kết thúc

Alternative Flow 3a. Người dùng chọn lập báo cáo


doanh thu

4a. Người dùng tùy chỉnh thông


tin báo cáo
5a. Hệ thống tổng hợp dữ liệu đã
tùy chỉnh

6a. Hệ thống lập báo cáo chi phí

7a. Hệ thống hiển thị bản xem


trước của báo cáo

8a. Người dùng xác nhận báo cáo

9a. Hệ thống xuất tập tin báo cáo


doanh thu

10a. Hệ thống lưu lại thông tin

11a. Quy trình kết thúc

Exception Flow 8a1. Người dùng hủy xác nhận


báo cáo

Quay lại usecase 10.4


Activity

3.2.2 Mô hình hóa cấu trúc

- Danh sách các lớp đối tượng


STT Tên lớp/quan hệ Ý nghĩa

1 DanhMucSach Danh mục sách

2 Sach Sách

3 TacGia Tác giả

4 DonHang Đơn hàng

5 BaoCaoTaiChinh Báo cáo tài chính

6 ThanhToan Thanh toán

7 BinhLuan Bình luận

8 DanhGia Đánh giá

9 NhanVien Nhân viên

10 TaiKhoanThanhVien Tài khoản thành viên

11 TaiKhoanNhanVien Tài khoản nhân viên


12 ThanhVien Thành viên

13 GioHang Giỏ hàng

14 ChietKhau Chiết khấu

- Mô tả chi tiết từng lớp đối tượng:

DanhMucSach

1 Attribute Tên biến Ý nghĩa

MaDanhMuc: string Mã danh mục sách

TenDanhMuc: string Tên danh mục sách

SoLuongSach: integer Số lượng sách

Operation Tên hàm Ý nghĩa


LayMaDanhMuc(): Void Lấy mã danh mục sách

ThemDanhMuc(): Void Thêm mã danh mục sách

XoaDanhMuc(): Void Xóa mã danh mục sách

ChinhSuaDanhMuc(): Void Chỉnh sửa danh mục sách

Sach

2 Attribute Tên biến Ý nghĩa

MaSach: string Mã sách

TenSach: string Tên sách

Gia: double Giá

NhaXB: string Nhà xuất bản

TheLoaiSach: string Thể loại sách

Operation Tên biến Ý nghĩa


ThemSach(): Void Thêm sách

XoaSach(): Void Xóa sách

SuaThongTinSach(): Void Sửa thông tin sách

LayMaSach(): Void Lấy mã sách

TacGia

3 Attribute Tên biến Ý nghĩa

MaTG: string Mã tác giả

TenTG: string Tên tác giả

NamSinh: integer Năm sinh

Operation Tên hàm Ý nghĩa

LayMaTacGia(): Void Lấy mã tác giả

DonHang

4 Attribute Tên biến Ý nghĩa

MaDonHang: string Mã đơn hàng


NgayDatHang: integer Ngày đặt hàng

TinhTrangDonHang: string Tình trạng đơn hàng

Operation Tên hàm Ý nghĩa

ThemDonHang(): Void Thêm đơn hàng

XoaDonHang(): Void Xóa đơn hàng

SuaDonHang(): Void Sửa đơn hàng

CapNhatTinhTrangDonHang(): Cập nhật tình trạng đơn


Void hàng

LayMaDonHang(): Void Lấy mã đơn hàng

BaoCaoTaiChinh

5 Attribute Tên biến

MaBaoCao: string Mã báo cáo

TenBaoCao: string Tên báo cáo

NgayLapBaoCao: integer Ngày lập báo cáo

NoiDungBaoCao: string Nội dung báo cáo


Operation Tên hàm Ý nghĩa

TinhDoanhThu(): Void Tính doanh thu

TinhChiPhi(): Void Tính chi phí

TinhLoiNhuan(): Void Tính lợi nhuận

LayMaBaoCao(): Void Lấy mã báo cáo

ThanhToan

6 Attribute Tên biến Ý nghĩa

MaThanhToan: string Mã thanh toán

GiaTriHoaDon: float Giá trị hóa đơn

PhuongThucTT: string Phương thức thanh toán

TinhTrangTT: string Tình trạng thanh toán

Operation Tên biến Ý nghĩa


LayMaThanhToan(): Void Lấy mã thanh toán

CapNhatTinhTrangThanhToan(): Cập nhật tình trạng thanh


Void toán

KiemTraThongTinThanhToan(): Kiểm tra thông tin thanh


Void toán

BinhLuan

7 Attribute Tên biến Ý nghĩa

MaBL: integer Mã bình luận

NoiDungBL: string Nội dung bình luận

Operation Tên biến Ý nghĩa

LayDanhSachBinhLuan(): Lấy danh sách bình luận


Collection<BinhLuan>

DanhGia

8 Attribute Tên biến Ý nghĩa


MaDG: string Mã đánh giá

SaoDanhGia: integer Sao đánh giá

Operation Tên hàm Ý nghĩa

LayDanhSachDanhGia(): Lấy danh sách đánh giá


Collection<DanhGia>

NhanVien

9 Attribute Tên biến Ý nghĩa

MaNV: string Mã nhân viên

HoTen: string Họ tên

GioiTinh: string Giới tính

SDT: string Số điện thoại

Email: string Email

NamSinh: integer Năm sinh

DiaChi: string Địa chỉ

ChucVu: string Chức vụ


Operation Tên hàm Ý nghĩa

LayMaNV(): Void Lấy mã nhân viên

LayDanhSachNhanVien(): Lấy danh sách thành viên


Collection<NhanVien>
Chỉnh sửa thông tin
ChinhSuaThongTin(): Void

TaiKhoanThanhVien

10 Attribute Tên biến Ý nghĩa

MaTaiKhoan: string Mã tài khoản

TenDangNhap: string Tên đăng nhập

MatKhau: string Mật khẩu

Operation Tên hàm Ý nghĩa

DangNhap(): Void Đăng nhập

DangKy(): Void Đăng ký

DoiMK(): Void Đổi mật khẩu

LayMaTaiKhoan(): Void Lấy ID


TaiKhoanNhanVien

11 Attribute Tên biến Ý nghĩa

MaTaiKhoanNV: string Mã tài khoản nhân viên

TenDangNhapNV: string Tên đăng nhập nhân viên

MatKhauNV: string Mật khẩu nhân viên

Operation Tên hàm Ý nghĩa

DangNhap(): Void Đăng nhập

XoaTK(): Void Xóa tài khoản

CapNhatTonKho(): Void Cập nhật tồn kho

ThanhVien

12 Attribute Tên biến Ý nghĩa

MaThanhVien: string Mã thành viên

HoTen: string Họ tên

GioiTinh: string Giới tính


SDT: string Số điện thoại

Email: string Email

NamSinh: integer Năm sinh

DiaChi: string Địa chỉ

Operation Tên hàm Ý nghĩa

ChinhSuaThongTinCaNhan(): Void Chỉnh sửa thông tin cá


nhân
TimKiemSach(): Void
Tìm kiếm sách
DatSach(): Void
Đặt sách
BinhLuan(): Void
Bình luận
DanhGia(): Void
Đánh giá
ThanhToan(): Void
Thanh toán
LayDanhSachThanhVien():
Collection<ThanhVien> Lấy danh sách thành viên

GioHang

13 Attribute Tên biến Ý nghĩa


MaGioHang: string Mã giỏ hàng

TinhTrangGioHang: string Tình trạng giỏ hàng

SoLuongSach: integer Số lượng sách

Operation Tên hàm Ý nghĩa

ThemGioHang(): Void Thêm giỏ hàng

SuaGioHang(): Void Sửa giỏ hàng

XoaGioHang(): Void Xóa giỏ hàng

CapNhatTinhTrangGioHang(): Cập nhật tình trạng giỏ


Void hàng

ChietKhau

14 Attribute Tên biến Ý nghĩa

MaGiamGia: string Mã giảm giá

GiamGia: float Giảm giá

LoaiGiamGia: string Loại giảm giá

DieuKien: string Điều kiện


Operation Tên hàm Ý nghĩa

LayMaGiamGia(): Void Lấy mã giảm giá

3.2.3 Mô hình hóa hành vi

● Đăng ký
● Tìm kiếm sách

● Đăng nhập
● Quản lý thông tin cá nhân
● Đặt hàng trực tuyến
❖ Đặt hàng
❖ Thanh toán
❖ Thêm vào giỏ

● Quản lý giỏ hàng


● Quản lý đơn hàng
Tra cứu đơn hàng
Xem lịch sử giao dịch

Hủy đơn hàng


● Quản lý sách
❖ Thêm sách
❖ Sửa sách

❖ Xóa sách
● Quản lý tài khoản
● Lập báo cáo tài chính
3.2.4 Mô hình hóa dữ liệu

✔ Mô tả thực thể và thuộc tính:

Thực thể Thuộc tính Ràng Kiểu dữ liệu Diễn giải


buộc
TacGia MaTacGia Khóa nvarchar(10) Mã Tác Giả
chính
HoTenTacGia x nvarchar(100) Tên Tác Giả
NamSinh x int Năm Sinh

ThanhVien MaThanhVien Khóa varchar(20) Mã thành viên


chính
HoTen x nvarchar(50) Họ Tên
GioiTinh x nvarchar(3) Giới tính
NamSinh x int Năm sinh
SDT x char(10) Số điện thoại
Email x nvarchar(200) Email

TaiKhoan MaTaiKhoan Khóa nvarchar(20) Mã tài khoản


chính
TenDangNhap x nvarchar(200) Tên đăng nhập
MatKhau x nvarchar(200) Mật khẩu

GioHang MaGioHang Khóa nvarchar(10) Mã giỏ hàng


chính
SoLuongSach x int Số lượng sách
TinhTrangGio x nvarchar(50) Tình trạng giỏ
Hang hàng
DonHang MaDonHang Khoá nvarchar(10) Mã đơn hàng
chính
TinhTrangDon x nvarchar(50) Tình trạng đơn
Hang hàng
GiaTriDH x float Giá trị đơn
hàng

Sach MaSach Khóa nvarchar(10) Mã sách


chính
TenSach x nvarchar(200) Tên sách
Gia x float Giá sách
NhaXB x nvarchar(200) Nhà xuất bản

BinhLuan MaBinhLuan Khóa nvarchar(10) Mã bình luận


chính
NoiDungBinhL x nvarchar(500) Nội dung bình
uan luận

DanhGia MaDanhGia Khóa nvarchar(10) Mã đánh giá


chính
SaoDanhGia x int Sao đánh giá

DanhMucSach MaDanhMuc Khóa nvarchar(10) Mã danh mục


chính
TenDanhMuc x nvarchar(100) Tên danh mục
SoLuongSach x int Số lượng sách

ChiTietDonHang MaSach Khóa nvarchar(10) Mã sách


chính
(1)
MaDonHang Khóa nvarchar(10) Mã đơn hàng
chính
(2)

ChietKhau MaGiamGia Khóa nvarchar(20) Mã giảm giá


chính
GiamGia x float Giảm giá
LoaiGiamGia x nvarchar(50) Loại giảm giá
DieuKien x nvarchar(200) Điều kiện

ThanhToan MaThanhToan Khóa nvarchar(10) Mã thanh toán


chính
GiaTriHoaDon x float Giá trị hóa đơn
PhuongThucTT x nvarchar(50) Phương thức
thanh toán
TinhTrangTT x nvarchar(50) Tình trạng
thanh toán

NhanVien MaNV Khóa nvarchar(10) Mã nhân viên


chính
HoTenNV x nvarchar(100) Mã tài khoản
NgaySinh x date Ngày sinh
SDT x char(10) Số điện thoại
Email x nvarchar(200) Email

TaiKhoan_NhanVi MaTaiKhoan Khóa nvarchar(20) Mã tài khoản


en chính
(1)
MaNV Khóa nvarchar(10) Mã nhân viên
chính
(2)
LoaiTaiKhoan x nvarchar(50) Loại tài khoản

ChiTietGioHang MaGioHang Khóa nvarchar(10) Mã giỏ hàng


chính
(1)
MaSach Khóa nvarchar(10) Mã sách
chính
(2)
SoLuong x int Số lượng
NgayThemVao x date Ngày thêm vào
Gio giỏ

DonHang_ChietKh MaDonHang Khoá nvarchar(10) Mã đơn hàng


au chính
MaGiamGia Khóa nvarchar(20) Mã giảm giá
chính
TienChietKhau x float Tiền chiết khấu

BaoCaoTaiChinh MaBaoCao Khóa nvarchar(10) Mã báo cáo


chính
TenBaoCao x nvarchar(200) Tên báo cáo
NgayLapBaoCa x datetime Ngày lập báo
o cáo
NoiDungBaoC x nvarchar(500) Nội dung báo
ao cáo

3.3 Thiết kế hệ thống

3.3.1 Thiết kế lớp (chuyển đổi từ sơ đồ lớp mức phân tích sang mức thiết kế)

● Sơ đồ lớp mức phân tích


● Sơ đồ lớp mức thiết kế
3.3.2 Thiết kế CSDL (chuyển đổi CSDL từ mức quan niệm sang mức vật lý)

- Cơ sở dữ liệu mức quan niệm


- Cơ sở dữ liệu mức vật lý
3.3.3 Mô tả CSDL

- Mô tả các quan hệ

TacGia (MaTacGia, HoTenTacGia, NamSinh)

ThanhVien (MaThanhVien, HoTen, GioiTinh, NamSinh, SDT, Email)

TaiKhoan (MaTaiKhoan, TenDangNhap, MatKhau, MaThanhVien)

GioHang (MaGioHang, SoLuongSach, TinhTrangGioHang, MaThanhVien)

DonHang (MaDonHang, TinhTrangDon, MaThanhVien)

Sach (MaSach, TenSach, Gia, NhaXB)

BinhLuan (MaBinhLuan, NoiDungBinhLuan, MaThanhVien, MaSanPham)

DanhGia (MaDanhGia, SaoDanhGia, MaThanhVien, MaSanPham)

DanhMucSach (MaDanhMuc, TenDanhMuc, SoLuongSach, MaNhanVien)

ChiTietDonHang (MaDonHang, MaSach, GiaTriDH)

ChietKhau (MaGiamGia, GiamGia, LoaiGiamGia, DieuKien, MaSach)

NhanVien (MaNV, HoTenNV, NgaySinh, SDT, Email)

ChiTietGioHang (MaGioHang, MaSach, SoLuong, NgayThemVaoGio)

TaiKhoan_NhanVien (MaTaiKhoan, MaNV, LoaiTaiKhoan)

DonHang_ChietKhau (MaDonHang, MaGiamGia, TienChietKhau)

- Mã nguồn:
- Tạo database:

create database CSDLBanSachNhaSachBOOKHAVEN;


use CSDLBanSachNhaSachBOOKHAVEN;

- Tạo bảng “TAIKHOAN”

create database QLCoSoLamDep;


use QLCoSoLamDep;

- Tạo database:
create database QLCoSoLamDep;
use QLCoSoLamDep;

- Tạo database:

create database QLCoSoLamDep;


use QLCoSoLamDep;

- Tạo database:

create database QLCoSoLamDep;


use QLCoSoLamDep;

- Tạo database:

create database QLCoSoLamDep;


use QLCoSoLamDep;

- Tạo database:

create database QLCoSoLamDep;


use QLCoSoLamDep;

- Tạo database:

create database QLCoSoLamDep;


use QLCoSoLamDep;

- Tạo database:

create database QLCoSoLamDep;


use QLCoSoLamDep;

- Tạo database:

create database QLCoSoLamDep;


use QLCoSoLamDep;

- Tạo database:
create database QLCoSoLamDep;
use QLCoSoLamDep;

- Tạo database:

create database QLCoSoLamDep;


use QLCoSoLamDep;

- Tạo database:

create database QLCoSoLamDep;


use QLCoSoLamDep;

- Tạo database:

create database QLCoSoLamDep;


use QLCoSoLamDep;

3.3.4 Thiết kế và mô tả các ràng buộc CSDL

- Ràng buộc toàn vẹn liên bộ


● Ràng buộc 1
○ Bối cảnh : Sach
○ Mô tả: Các sách có mã và tên khác nhau
○ Nội dung: ∀S1, S2 ∈ Sach / S1.MaSach <> S2.
MaSach

∀S1, S2 ∈Sach / S1.TenSach <>


S2.TenSach

○ Tầm ảnh hưởng

Quan hệ Thêm Xóa Sửa

Sach + - *(MaSach)
Sach + - +(TenSach)

● Ràng buộc 2
○ Bối cảnh: ThanhVien
○ Mô tả: Các thành viên có mã và tên khác nhau

○ Nội dung: ∀Tv1, Tv2 ∈ ThanhVien / Tv1.MaTV <>

Tv2. MaTV

∀Tv1, Tv2 ∈ ThanhVien / Tv1.TenTV <>

Tv2.TenTV

○ Tầm ảnh hưởng

Quan hệ Thêm Xóa Sửa


ThanhVien + - *(MaTV)
ThanhVien + - +(TenTV)

● Ràng buộc 3
○ Bối cảnh: TacGia
○ Mô tả: Các tác giả có mã và tên khác nhau

○ Nội dung: ∀Tg1, Tg2 ∈ TacGia / Tg1.MaTacGia <>

Tg2. MaTacGia

∀Tg1, Tg2 ∈ TacGia / Tg1.TenTacGia <>

Tg2.TenTacGia

○ Tầm ảnh hưởng

Quan hệ Thêm Xóa Sửa


TacGia + - *(MaTacGia)

TacGia + - +(TenTacGia)

● Ràng buộc 4
○ Bối cảnh : TaiKhoanNhanVien
○ Mô tả : Các tài khoản có mã và tên khác nhau
○ Nội dung: ∀Tk1, Tk2 ∈ TaiKhoan / Tk1.MaTK <>
Tk2. MaTK

∀Tk1, Tk2 ∈TaiKhoan /


Tk1.TenTK <> Tk2.TenTK

○ Tầm ảnh hưởng

Quan hệ Thêm Xóa Sửa


TaiKhoanNV + - *(MaTK)
TaiKhoanNV + - +(TenTK)

● Ràng buộc 5
○ Bối cảnh: DonHang
○ Mô tả : Các đơn hàng có mã khác nhau
○ Nội dung: ∀Dh1, Dh2 ∈ DonHang / Dh1.MaDH <>
Tk2. MaDH
○ Tầm ảnh hưởng

Quan hệ Thêm Xóa Sửa


DonHang + - *(MaDH)

● Ràng buộc 6
○ Bối cảnh: GioHang
○ Mô tả : Các giỏ hàng có mã khác nhau

○ Nội dung: ∀Gh1, Gh2 ∈ GioHang / Gh1.MaGH <> Gh2.

MaGH
○ Tầm ảnh hưởng

Quan hệ Thêm Xóa Sửa


GioHang + - *(MaGH)

● Ràng buộc 7
○ Bối cảnh: DanhMucSach
○ Mô tả : Các danh mục có mã và tên khác nhau
○ Nội dung: ∀Dm1, Dm2 ∈ DanhMuc / Dm1.MaDM
<> Dm2. MaDM

∀Dm1, Dm2 ∈ DanhMuc /


Dm1.TenDM <> Dm2.TenDM

○ Tầm ảnh hưởng

Quan hệ Thêm Xóa Sửa


DanhMucSanPham + - *(MaDM)
DanhMucSanPham + - +(TenDM)

- Ràng buộc toàn vẹn khóa ngoại


● Ràng buộc 8
○ Bối cảnh: ThanhVien, TaiKhoanThanhVien
○ Mô tả : Mỗi tài khoản chỉ thuộc về một thành viên

○ Nội dung: ∀Tk ∈ TaiKhoan, ∃Tv ∈ ThanhVien /

Tk.MaTaiKhoan = Tv.MaThanhVien
○ Tầm ảnh hưởng
Quan hệ Thêm Xóa Sửa
TaiKhoanThanhVien + - +(MaThanhVien)
ThanhVien + - *

● Ràng buộc 9
○ Bối cảnh: ThanhVien, DonHang
○ Mô tả : Mỗi đơn hàng chỉ thuộc về một thành viên

○ Nội dung: ∀Dh ∈ DonHang, ∃Tv ∈ ThanhVien /


Dh.DonHang = Tv.MaThanhVien
○ Tầm ảnh hưởng

Quan hệ Thêm Xóa Sửa


DonHang + - +(MaThanhVien)
ThanhVien + - *

● Ràng buộc 10
○ Bối cảnh: ThanhVien, BinhLuan
○ Mô tả : Mỗi bình luận chỉ thuộc về một thành viên

○ Nội dung: ∀Bl ∈ BinhLuan, ∃Tv ∈ ThanhVien /


Bl.BinhLuan = Tv.MaThanhVien
○ Tầm ảnh hưởng

Quan hệ Thêm Xóa Sửa


BinhLuan + - +(MaThanhVien)
ThanhVien + - *

● Ràng buộc 11
○ Bối cảnh: ThanhVien, DanhGia
○ Mô tả : Mỗi đánh giá chỉ thuộc về một thành viên

○ Nội dung: ∀Dg ∈ DanhGia, ∃Tv ∈ ThanhVien /


Dg.DanhGia = Tv.MaThanhVien
○ Tầm ảnh hưởng

Quan hệ Thêm Xóa Sửa


DanhGia + - +(MaThanhVien)
ThanhVien + - *

● Ràng buộc 12
○ Bối cảnh: SanPham, BinhLuan
○ Mô tả : Mỗi bình luận chỉ thuộc về một sản phẩm

○ Nội dung: ∀Bl ∈ BinhLuan, ∃Sp ∈ SanPham /

Bl.BinhLuan = Sp.MaSanPham
○ Tầm ảnh hưởng

Quan hệ Thêm Xóa Sửa


BinhLuan + - +(MaSanPham)
SanPham + - *

● Ràng buộc 13
○ Bối cảnh: ThanhVien, GioHang
○ Mô tả : Mỗi giỏ hàng chỉ thuộc về một thành viên

○ Nội dung: ∀Gh ∈ GioHang, ∃Tv ∈ ThanhVien /


Gh.GioHang = Tv.MaThanhVien
○ Tầm ảnh hưởng

Quan hệ Thêm Xóa Sửa


GioHang + - +(MaThanhVien)
ThanhVien + - *

● Ràng buộc 14
○ Bối cảnh: SanPham, DanhGia
○ Mô tả : Mỗi đánh giá chỉ thuộc về một sản phẩm

○ Nội dung: ∀Dg ∈ DanhGia, ∃Sp ∈ SanPham /

Dg.DanhGia = Sp.MaSanPham
○ Tầm ảnh hưởng

Quan hệ Thêm Xóa Sửa


DanhGia + - +(MaSanPham)
SanPham + - *

● Ràng buộc 15
○ Bối cảnh: DanhMucSanPham, NhanVien
○ Mô tả : Mỗi danh muc chỉ thuộc về một nhân viên

○ Nội dung: ∀Dm ∈ DanhMuc, ∃Nv ∈ NhanVien /


Dm.MaDanhMuc = Nv.MaNhanVien
○ Tầm ảnh hưởng

Quan hệ Thêm Xóa Sửa


DanhMucSanPham + - +(MaNhanVien)
NhanVien + - *

- Ràng buộc toàn vẹn miền giá trị


● Ràng buộc 16
○ Bối cảnh: ThanhVien
○ Mô tả : Giới tính có 2 giá trị là Nam và Nữ

○ Nội dung: ∀d ∈ ThanhVien/ d1.GTinh ∈ {‘Nam’,’Nữ’}

○ Tầm ảnh hưởng

Quan hệ Thêm Xóa Sửa


ThanhVien + - +(GioiTinh)
● Ràng buộc 17
○ Bối cảnh: NhanVien
○ Mô tả : Giới tính có 2 giá trị là Nam và Nữ

○ Nội dung: ∀d ∈ NhanVien/ d1.GTinh ∈ {‘Nam’,’Nữ’}

○ Tầm ảnh hưởng

Quan hệ Thêm Xóa Sửa


NhanVien + - +(GioiTinh)

● Ràng buộc 18
○ Bối cảnh: DanhGia
○ Mô tả : Đánh giá phải nằm từ 0 đến 10

○ Nội dung: ∀dg ∈ DanhGia / d.NgoiSao ∈ [0,10]

○ Tầm ảnh hưởng

Quan hệ Thêm Xóa Sửa


DanhGia + - +(NgoiSao)

3.3.5 Thiết kế giao diện(Nhi+Trang)

https://www.canva.com/design/DAFjt52-Edo/g1lV3hx3tnNLz6-IPWim3Q/edit

TÀI LIỆU THAM KHẢO

1. HỒ THỊ THANH TUYẾN. CÁC SLIDE THAM KHẢO CỦA CÔ, MÔN
PHÂN TÍCH THIẾT KẾ HỆ THỐNG (2023)
2. ĐỒ ÁN – PHÂN TÍCH THIẾT KẾ HỆ THỐNG – QUẢN LÝ BÁN HÀNG
TRỰC TUYẾN T - BALL
3. PGS.TS PHAN HUY KHÁNH - GIÁO TRÌNH PHÂN TÍCH VÀ THIẾT KẾ
HỆ THỐNG - ĐẠI HỌC ĐÀ NẴNG
4. DƯƠNG KIỀU HOA - GIÁO TRÌNH PHÂN TÍCH HỆ THỐNG HƯỚNG
ĐỐI TƯỢNG VỚI UML - NXB ĐẠI HỌC QUỐC GIA TPHCM

You might also like