You are on page 1of 47

ĐẠI HỌC QUỐC GIA HÀ NỘI

ĐẠI HỌC CÔNG NGHỆ

MÔN: PHÂN TÍCH VÀ THIẾT KẾ


HƯỚNG ĐỐI TƯỢNG

PHÂN TÍCH VÀ THIẾT KẾ CHO HỆ THỐNG


WEBSITE BÁN SÁCH

STT Họ và tên Mã sinh viên

1 Nông Thị Diễm 18020299

2 Lê Xuân Huy 18020636

3 Phạm Mai Linh 18020772

4 Nguyễn Thị Hồng Thắm 18021134

Hà Nội, ngày 01 tháng 05 năm 2021


Mục lục
1. Tác nhân 4
1.1. Khách hàng 4
1.2. Người quản lý 4
2. Ca sử dụng 4
3. Biểu đồ ca sử dụng 5
4. Đặc tả chi tiết mỗi ca sử dụng 6
4.1. Ca sử dụng: Đăng ký tài khoản khách hàng 6
4.2. Ca sử dụng: Đăng nhập tài khoản 7
4.3. Ca sử dụng: Xem thông tin sách 8
4.3.1. Mô tả chi tiết ca sử dụng 8
4.3.2. Phác thảo giao diện 9
4.3.3. Biểu đồ tuần tự mức hệ thống 9
4.3.4. Hiện thực hóa ca sử dụng 9
4.3.4.1. Các lớp phân tích 9
4.3.4.2. Xác định các lớp trách nhiệm 10
4.3.4.3. Gán trách nhiệm cho các lớp phân tích 10
4.3.4.4. Biểu đồ tuần tự mức đối tượng ở giai đoạn phân tích 10
4.4. Ca sử dụng: Tìm kiếm sách 11
4.4.1. Mô tả chi tiết ca sử dụng 11
4.4.2. Phác thảo giao diện 12
4.4.3. Biểu đồ tuần tự mức hệ thống 12
4.4.4. Hiện thực hóa ca sử dụng 13
4.3.4.1. Các lớp phân tích 13
4.3.4.2. Xác định các lớp trách nhiệm 13
4.4.4.4. Biểu đồ tuần tự mức đối tượng ở giai đoạn phân tích 14
4.5. Ca sử dụng: Thêm vào giỏ hàng 14
4.5.1. Mô tả chi tiết ca sử dụng 14
4.5.2. Phác thảo giao diện 15
4.5.3. Biểu đồ tuần tự mức hệ thống 16
4.5.4. Hiện thực hóa ca sử dụng 16
4.5.4.1. Các lớp phân tích 16
4.5.4.2. Xác định các lớp trách nhiệm 16
4.5.4.3. Gán trách nhiệm cho các lớp phân tích 16
4.5.4.4. Biểu đồ tuần tự mức đối tượng ở giai đoạn phân tích 17
4.6. Ca sử dụng: Đặt mua sách 17
4.6.1. Mô tả chi tiết ca sử dụng 17
4.6.2. Phác thảo giao diện 18
4.6.3. Biểu đồ tuần tự mức hệ thống 18

1
4.6.4. Hiện thực hóa ca sử dụng 19
4.6.4.1. Các lớp phân tích 19
4.6.4.2. Xác định các lớp trách nhiệm 19
4.6.4.3. Gán trách nhiệm cho các lớp phân tích 19
4.6.4.4. Biểu đồ tuần tự mức đối tượng ở giai đoạn phân tích 19
4.7. Ca sử dụng: Cập nhật (thêm, sửa, xóa) thông tin sách 20
4.7.1. Mô tả chi tiết ca sử dụng 20
4.7.2. Phác thảo giao diện 22
4.7.3. Biểu đồ tuần tự mức hệ thống 22
4.7.4. Hiện thực hóa ca sử dụng 22
4.7.4.1. Các lớp phân tích 22
4.7.4.2. Xác định các lớp trách nhiệm 23
4.7.4.3. Gán trách nhiệm cho các lớp phân tích 23
4.7.4.4. Biểu đồ tuần tự mức đối tượng ở giai đoạn phân tích 23
4.8. Ca sử dụng: Cập nhật (thêm, sửa, xóa) thể loại sách 25
4.8.1. Mô tả chi tiết ca sử dụng 25
4.8.2. Phác thảo giao diện 26
4.8.3. Biểu đồ tuần tự mức hệ thống 26
4.8.4. Hiện thực hóa ca sử dụng 26
4.8.4.1. Các lớp phân tích 26
4.8.4.2. Xác định các lớp trách nhiệm 26
4.8.4.3. Gán trách nhiệm cho các lớp phân tích 27
4.8.4.4. Biểu đồ tuần tự mức đối tượng ở giai đoạn phân tích 28
4.9. Ca sử dụng: Cập nhật (thêm, sửa, xóa) tác giả 29
4.9.1. Mô tả chi tiết ca sử dụng 29
4.9.2. Phác thảo giao diện 30
4.9.3. Biểu đồ tuần tự mức hệ thống 30
4.9.4. Hiện thực hóa ca sử dụng 30
4.9.4.1. Các lớp phân tích 30
4.9.4.2. Xác định các lớp trách nhiệm 30
4.9.4.3. Gán trách nhiệm cho các lớp phân tích 31
4.9.4.4. Biểu đồ tuần tự mức đối tượng ở giai đoạn phân tích 32
4.10. Ca sử dụng: Quản lý đơn đặt hàng 33
4.10.1. Mô tả chi tiết ca sử dụng 33
4.10.2. Phác thảo giao diện 34
4.10.3. Biểu đồ tuần tự mức hệ thống 34
4.10.4. Hiện thực hóa ca sử dụng 35
4.10.4.1. Các lớp phân tích 35
4.10.4.2. Xác định các lớp trách nhiệm 35
4.10.4.3. Gán trách nhiệm cho các lớp phân tích 35
4.10.4.4. Biểu đồ tuần tự mức đối tượng ở giai đoạn phân tích 35

5. Mô hình khái niệm 36

6. Xác định các đối tượng thiết kế (ánh xạ các lớp phân tích sang các phần tử thiết kế) 36

2
7. Thiết kế ca sử dụng (biểu đồ tương tác mức đối tượng ở giai đoạn thiết kế, sử dụng các đối
tượng thiết kế phù hợp, có thể làm gọn biểu đồ bằng hệ con) 38

8. Biểu đồ lớp 38

9. Thiết kế dữ liệu 40
9.1. Lược đồ cơ sở dữ liệu 40
9.2. Mô tả chi tiết 40
9.2.1. Bảng ADMIN (tbl_admin) 40
9.2.2 Bảng thể loại sách (tbl_category_product) 41
9.2.3 Bảng tác giả (tbl_author) 42
9.2.4. Bảng sản phẩm (tbl_product) 42
9.2.5 Bảng đặt hàng (tbl_order) 43
9.2.6. Bảng khách hàng (tbl_customer) 44

3
1. Tác nhân
1.1. Khách hàng
Là người sẽ xem trang web, tìm kiếm sách muốn mua, xem thông tin của sách, thêm
sách muốn mua vào giỏ hàng và thực hiện thanh toán.

1.2. Người quản lý


Là người phụ trách quản lý trang web, cập nhật thông tin (thêm, sửa, xóa) về những
sách có trong cửa hàng cũng như thực hiện xử lý các đơn hàng của khách hàng gửi
đến.

2. Ca sử dụng
Đăng ký tài khoản, đăng nhập, tìm kiếm sách, xem thông tin sách, thêm sách
vào giỏ hàng, đặt mua sách, cập nhật (thêm, sửa, xóa) thông tin sách, quản lý đơn đặt
hàng
Khách hàng -> đăng ký tài khoản, đăng nhập, tìm kiếm, xem thông tin sách,
thêm vào giỏ hàng, đặt mua
Người quản lý -> đăng ký tài khoản, đăng nhập, tìm kiếm, xem thông tin sách,
thêm vào giỏ hàng, đặt mua, cập nhật (thêm, sửa, xóa) thông tin sách, quản lý đơn đặt
hàng

4
3. Biểu đồ ca sử dụng

5
4. Đặc tả chi tiết mỗi ca sử dụng

4.1. Ca sử dụng: Đăng ký tài khoản khách hàng


❖ Tác nhân: Khách hàng
❖ Mô tả sơ lược: Ca sử dụng này giúp người dùng có tài khoản để sử dụng các
chức năng của hệ thống cần đến quyền truy cập.
❖ Các luồng sự kiện cơ bản:

Tác nhân Hệ thống phản hồi

1. Use case này bắt đầu khi khách hàng


ấn vào nút đăng ký tài khoản

2. Hệ thống hiển thị màn hình đăng ký


tài khoản

3. Người dùng nhập thông tin vào trang


đăng ký theo form của hệ thống và ấn
nút đăng ký

4. Hệ thống kiểm tra dữ liệu khách


hàng nhập vào và đưa ra thông báo
đăng ký thành công
5. Thông tin đăng ký được gửi lên dữ
liệu của người quản lý

6. Bên phía người quản lý nhận được


thông tin khách hàng đăng ký tài
khoản
7. Khách hàng tiếp tục thực hiện các hoạt
động khác

❖ Luồng sự kiện ngoại lệ 1:

Tác nhân Hệ thống phản hồi

Dòng 3: Người dùng nhập thông tin không Thông báo người dùng nhập không đúng
đúng với form của hệ thống form và đưa ra hướng dẫn

❖ Luồng sự kiện ngoại lệ 2:

Tác nhân Hệ thống phản hồi

6
1. Tài khoản người dùng đăng ký đã 2. Thông báo tài khoản người dùng
tồn tại đã tồn tại, yêu cầu người dùng
đăng ký tài khoản khác

❖ Tiền điều kiện, hậu điều kiện:


➢ Tiền điều kiện: Không có
➢ Hậu điều kiện: Người dùng có tài khoản thành viên của website

4.2. Ca sử dụng: Đăng nhập tài khoản


❖ Tác nhân: Khách hàng, người quản lý
❖ Mô tả sơ lược: Ca sử dụng này giúp người dùng sử dụng các chức năng của hệ thống
cần đến quyền truy cập.
❖ Các luồng sự kiện cơ bản

Tác nhân Hệ thống phản hồi

1. Use case này bắt đầu khi người dùng


bấm vào nút đăng nhập

2. Hệ thống đưa ra trang đăng nhập,


yêu cầu khách hàng nhập thông tin
đăng nhập gồm có tên tài khoản và
mật khẩu

3. Người dùng nhập tên tài khoản, mật


khẩu và ấn vào nút đăng nhập

4. Hệ thống xác nhận thông tin khách


hàng, thông báo khách hàng đã đăng
nhập thành công hệ thống và chuyển
đến trang màn hình chính

❖ Luồng sự kiện phụ:

Tác nhân Hệ thống phản hồi

Dòng 3: Người dùng nhập sai tên tài khoản Hệ thống thông báo người dùng nhập sai tên
hoặc mật khẩu tài khoản hay mật khẩu, yêu cầu người dùng
nhập lại

❖ Tiền điều kiện, hậu điều kiện:


➢ Tiền điều kiện: Đã đăng ký tài khoản thành viên

7
➢ Hậu điều kiện: Sau khi đăng nhập, hệ thống cho phép khách hàng được đặt
mua sản phẩm.

4.3. Ca sử dụng: Xem thông tin sách

4.3.1. Mô tả chi tiết ca sử dụng


❖ Tác nhân: Khách hàng, người quản lý
❖ Mô tả sơ lược: Ca sử dụng này mô tả chức năng xem thông tin sách của người
sử dụng như xem tác giả, thể loại, giá tiền...
❖ Luồng sự kiện chính

Tác nhân Hệ thống phản hồi

1. Ca sử dụng này bắt đầu khi khách


hàng chọn chức năng xem chi tiết
thông tin sách
2. Ứng với mỗi sách đều chứa thông tin
chi tiết về tác giả, tác phẩm

3. Hệ thống hiển thị màn hình chứa


thông tin sách bao gồm tên sách, tên
tác giả, tóm tắt, giá sách,..
Hệ thống hiển thị nút “thêm vào giỏ
hàng” để khách hàng chọn mua sách

4. Khách hàng ấn chọn vào nút “thêm


vào giỏ hàng” để tiến hành đặt sách
hoặc lựa chọn các chức năng khác
hiện có trên màn hình

❖ Tiền điều kiện, hậu điều kiện:


➢ Tiền điều kiện: Click chọn 1 cuốn sách
➢ Hậu điều kiện: Hiển thị thông tin chi tiết về cuốn sách mà khách hàng chọn xem gồm:
Tên sách, tác giả, giá tiền, tổng số trang, tóm tắt nội dung.

8
4.3.2. Phác thảo giao diện

4.3.3. Biểu đồ tuần tự mức hệ thống

4.3.4. Hiện thực hóa ca sử dụng

4.3.4.1. Các lớp phân tích


- Lớp giao diện xemInfo
- Lớp điều khiển: xemInfo
- Lớp thực thể: sách

9
4.3.4.2. Xác định các lớp trách nhiệm
- requestInfoBook(): khi người dùng click vào giao diện danh mục của từng sách, truy vấn đến
cơ sở dữ liệu
- checkBook(bookTitle): truy vấn để lấy ra thông tin của sách
- bookDetail(): trả về thông tin chi tiết của sách

4.3.4.3. Gán trách nhiệm cho các lớp phân tích


- Lớp giao diện xemInfo: requestInfoBook()
- Lớp điều khiển xemInfo: requestInfoBook(), checkBook(bookTitle), bookDetail()
- Lớp thực thể sách: checkBook(bookTitle), bookDetail()

4.3.4.4. Biểu đồ tuần tự mức đối tượng ở giai đoạn phân tích

10
4.4. Ca sử dụng: Tìm kiếm sách

4.4.1. Mô tả chi tiết ca sử dụng


❖ Tác nhân: Khách hàng, người quản lý
❖ Mô tả sơ lược: Ca sử dụng này mô tả chức năng tìm kiếm sách của khách hàng, người
quản lý. Chức năng này giúp cho việc tìm kiếm sách được dễ dàng hơn khi có rất
nhiều sách được lưu trữ trong hệ thống.
Tác nhân Hệ thống phản hồi

1. Use case bắt đầu khi người dùng


dùng bấm vào ô tìm kiếm
2. Người dùng gõ tên sách hoặc tên tác
giả trên thanh tìm kiếm sau đó ấn
nút “tìm kiếm”

3. Hệ thống lọc ra những sách trùng


thông tin với khách hàng đang tìm
kiếm và hiển thị lên màn hình

4. Người dùng thực hiện các hoạt động


tiếp theo

❖ Các luồng sự kiện phụ:

Tác nhân Hệ thống phản hồi

Dòng 2: Khách hàng tìm kiếm thông tin 1. Hệ thống đưa ra thông báo không
không tồn tại tìm kiếm được thông tin

❖ Tiền điều kiện, hậu điều kiện:


➢ Tiền điều kiện: nhập các thông tin cần tìm kiếm
➢ Hậu điều kiện: Hiển thị danh sách các sách phù hợp với tiêu chí tìm kiếm,
thông báo

11
4.4.2. Phác thảo giao diện

4.4.3. Biểu đồ tuần tự mức hệ thống

12
4.4.4. Hiện thực hóa ca sử dụng

4.3.4.1. Các lớp phân tích


- Lớp giao diện:
+ timSach: lớp giao diện chứa danh mục các sách
- Lớp điều khiển: timSach
- Lớp thực thể: sách

4.3.4.2. Xác định các lớp trách nhiệm


- searchBook(bookTitle) : khi người dùng click vào giao diện tìm kiếm, nhập thông tin sách cần
tìm
- requestSearchBook(bookTitle): lọc truy vấn để lấy ra thông tin của sách
- checkBook(bookTitle): truy vấn để kiểm tra sự tồn tại của sách
- noti(): trả về sách đáp ứng từ khóa tìm kiếm hoặc không có sách nào
4.3.4.3. Gán trách nhiệm cho các lớp phân tích
- Lớp giao diện timSach: searchBook(bookTitle), equestSearchBook(bookTitle)
- Lớp điều khiển timSach: requestSearchBook(bookTitle), checkBook(bookTitle), noti()
- Lớp thực thể Sách: checkBook(), noti().

13
4.4.4.4. Biểu đồ tuần tự mức đối tượng ở giai đoạn phân tích

4.5. Ca sử dụng: Thêm vào giỏ hàng

4.5.1. Mô tả chi tiết ca sử dụng


❖ Tác nhân: Khách hàng, người quản lý
❖ Mô tả sơ lược: Chức năng của thêm vào giỏ hàng là chứa những sách mà khách hàng
chọn.
❖ Các luồng sự kiện cơ bản:
Tác nhân Hệ thống phản hồi

1. Use case này bắt đầu khi khách hàng


ấn vào nút “thêm vào giỏ hàng”
2. Sách mà khách hàng lựa chọn sẽ
được thêm vào giỏ hàng

14
3. Hệ thống hiển thị màn hình chứa
thông tin sách mà khách hàng vừa
thêm vào giỏ hàng bao gồm: tên, số
lượng, giá và cột “Hủy” để khách
hàng xóa sách khỏi giỏ hàng

4. Khách hàng thay đổi số lượng sách


bằng cách chọn vào ô số lượng, ấn
nút “cập nhật” hoặc xoá sách ấn vào
cột “Hủy”

5. Hệ thống tự động tính toán số tiền


dựa vào thông tin khách hàng mới
chỉnh sửa và hiển thị lên cho khách
hàng

6. Khách hàng tiến hành các bước tiếp


theo

❖ Tiền điều kiện, hậu điều kiện:


➢ Tiền điều kiện: Đăng nhập tài khoản thành viên
➢ Hậu điều kiện: Hiển thị thông tin sách được thêm vào giỏ hàng bao gồm: Tên sách số
lượng giá tiền

4.5.2. Phác thảo giao diện

15
4.5.3. Biểu đồ tuần tự mức hệ thống

4.5.4. Hiện thực hóa ca sử dụng

4.5.4.1. Các lớp phân tích


- Lớp giao diện: Form sách
- Lớp điều khiển: Thêm vào giỏ hàng
- Lớp thực thể: Sách, Giỏ hàng

4.5.4.2. Xác định các lớp trách nhiệm


- Lấy mã sách(book_id)
- Lấy thông tin sách
- Tạo giỏ hàng
- Thêm vào giỏ hàng
- Lưu giữ liệu giỏ hàng
- Lấy kết quả của giỏ hàng
- Hiển thị kết quả

4.5.4.3. Gán trách nhiệm cho các lớp phân tích


- Lớp giao diện Form sách: Lấy mã sách(book_id), Hiển thị kết quả giỏ hàng
- Lớp điều khiển (Thêm vào giỏ hàng): Lấy mã sách(book_id), Lấy thông tin sách, Tạo giỏ
hàng, Thêm vào giỏ hàng, Lưu giữ liệu giỏ hàng, Lấy kết quả giỏ hàng
- Lớp thực thể (Sách, Đơn hàng): Lấy mã sách(Book_id), Lấy thông tin sách, Lưu giữ liệu giỏ
hàng, Lấy kết quả giỏ hàng

16
4.5.4.4. Biểu đồ tuần tự mức đối tượng ở giai đoạn phân tích

4.6. Ca sử dụng: Đặt mua sách

4.6.1. Mô tả chi tiết ca sử dụng


❖ Tác nhân: Khách hàng, người quản lý
❖ Mô tả sơ lược: Ca sử dụng này mô tả chức năng đặt hàng của khách hàng, khách hàng
có thêm thay đổi số lượng sách theo ý muốn.
❖ Các luồng sự kiện cơ bản:

Tác nhân Hệ thống phản hồi

1. Ca sử dụng bắt đầu khi khách hàng


thêm sách vào giỏ hàng và nhấn vào
nút “Đặt hàng”

2. Hệ thống hiển thị form yêu cầu


khách hàng điền thông tin nhận hàng
như tên, số điện thoại, địa chỉ nhận
hàng, ghi chú cho cửa hàng

3. Khách hàng điền đầy đủ thông tin

17
vào form hiện trên màn hình và bấm
gửi

4. Hệ thống hiển thị lại đơn hàng của


khách hàng để khách kiểm tra lại
đơn hàng

5. Khách hàng kiểm tra đơn hàng và


nhấn nút “Đặt hàng”

❖ Các luồng sự kiện phụ:

Tác nhân Hệ thống phản hồi

Dòng 3: Khách hàng không điền hoặc điền Hệ thống hiển thị thông báo yêu cầu khách
thiếu thông tin nhận hàng hàng điền đầy đủ thông tin để hoàn thành
việc đặt hàng

❖ Tiền điều kiện, hậu điều kiện:


➢ Tiền điều kiện: Thêm vào giỏ hàng trước khi đặt mua
➢ Hậu điều kiện: Sách được đặt và gửi thông tin về phía Admin gồm: tên sách, số
lượng, giá tiền, tên người mua, địa chỉ nhận hàng, số điện thoại

4.6.2. Phác thảo giao diện

4.6.3. Biểu đồ tuần tự mức hệ thống

18
4.6.4. Hiện thực hóa ca sử dụng

4.6.4.1. Các lớp phân tích


- Lớp giao diện: form đặt hàng
- Lớp điều khiển: Đặt hàng
- Lớp thực thể: Sách, Đơn hàng

4.6.4.2. Xác định các lớp trách nhiệm


- Kiểm tra tình trạng sách (Mã sách)
- Nhập form giao hàng
-

4.6.4.3. Gán trách nhiệm cho các lớp phân tích

4.6.4.4. Biểu đồ tuần tự mức đối tượng ở giai đoạn phân tích

19
4.7. Ca sử dụng: Cập nhật (thêm, sửa, xóa) thông tin sách

4.7.1. Mô tả chi tiết ca sử dụng


❖ Tác nhân: Người quản lý

20
❖ Mô tả sơ lược: Ca sử dụng này mô tả chức năng cập nhật thông tin sách vào hệ thống
của người quản lý. Khi thông tin của 1 cuốn sách nào đó thay đổi thì người quản lý sẽ
là người cập nhật những thông tin đó vào hệ thống
❖ Các luồng sự kiện cơ bản:
Tác nhân Hệ thống phản hồi

1. Use case này bắt đầu khi người quản


lý muốn thêm, sửa, xóa sách trên hệ
thống bán hàng
2. Khi muốn thêm sách, quản trị viên
chọn vào nút “Thêm đầu sách mới”

3. Hệ thống hiển thị giao diện thêm


sách mới lên trên màn hình

4. Người quản lý nhập đầy đủ thông tin


mà hệ thống yêu cầu sau đó ấn nút
“Thêm mới”

5. Hệ thống nhận thông tin mà quản lý


vừa thêm, sau đó đưa về màn hình
ban đầu, tại đây chứa thông tin mà
người quản lý vừa thêm vào

6. Thông tin mới thêm hiển thị, quản lý


cũng có thể chỉnh sửa thông tin hoặc
xóa đi nếu muốn

❖ Các luồng sự kiện phụ:

Tác nhân Hệ thống phản hồi

Dòng 4: Người quản lý nhập thiếu thông tin Hệ thống gửi thông báo yêu cầu nhập đầy
đủ thông tin còn lại trước khi có thể thêm
mới

❖ Tiền điều kiện, hậu điều kiện:


➢ Tiền điều kiện: Đăng nhập tài khoản Admin
➢ Hậu điều kiện: Thông tin sách được cập nhật trong hệ thống

21
4.7.2. Phác thảo giao diện

4.7.3. Biểu đồ tuần tự mức hệ thống

4.7.4. Hiện thực hóa ca sử dụng

4.7.4.1. Các lớp phân tích


- Lớp giao diện: Form cập nhật
- Lớp điều khiển: Cập nhật controller
- Lớp thực thể: Sách

22
4.7.4.2. Xác định các lớp trách nhiệm
7. Hiển thị form tạo mới sách
8. Điền thông tin thêm mới sách
9. Kiểm tra thông tin
10. Xác nhận thêm mới sách
11. Thêm mới sách(tên sách, tác giả, số trang, giá tiền, mô tả, thể loại, hình ảnh)
12. Cập nhật thêm sách vào danh sách
13. Thông báo thêm sách thành công
14. Yêu cầu chỉnh sửa
15. Xác nhận cập nhật sách
16. Cập nhật thông tin sách(tên, tác giả, hình ảnh, thể loại, số trang, giá tiền, mô tả)
17. Thông báo cập nhật thành công
18. Yêu cầu xóa sách
19. Xác nhận xóa sách
20. Thông báo xóa sách thành công

4.7.4.3. Gán trách nhiệm cho các lớp phân tích


- Lớp giao diện Form cập nhật: 1, 2, 7, 8, 9, 11, 12, 14
- Lớp điều khiển Cập nhật: 3, 4, 5, 6, 9, 10, 11, 12, 13, 14
- Lớp thực thể Sách: 5, 6, 7, 10, 11, 12, 14

4.7.4.4. Biểu đồ tuần tự mức đối tượng ở giai đoạn phân tích

23
24
4.8. Ca sử dụng: Cập nhật (thêm, sửa, xóa) thể loại sách

4.8.1. Mô tả chi tiết ca sử dụng


❖ Tác nhân: Người quản lý
❖ Mô tả sơ lược: Ca sử dụng này mô tả chức năng cập nhật thông tin thể loại sách vào
hệ thống của người quản lý. Khi thông tin của thể loại sách thay đổi thì người quản lý
sẽ là người cập nhật những thông tin đó vào hệ thống
❖ Các luồng sự kiện cơ bản:
Tác nhân Hệ thống phản hồi

21. Use case này bắt đầu khi người quản


lý muốn thêm, sửa, xóa thể loại trên
hệ thống bán hàng
22. Khi muốn thêm thể loại, quản trị
viên chọn vào nút “Thêm thể loại
sách mới”

23. Hệ thống hiển thị giao diện thêm thể


loại mới lên trên màn hình

24. Người quản lý nhập đầy đủ thông tin


mà hệ thống yêu cầu sau đó ấn nút
“Thêm mới”

25. Hệ thống nhận thông tin mà quản lý


vừa thêm, sau đó đưa về màn hình
ban đầu, tại đây chứa thông tin mà
người quản lý vừa thêm vào

26. Thông tin mới thêm hiển thị, quản lý


cũng có thể chỉnh sửa thông tin hoặc
xóa đi nếu muốn

❖ Các luồng sự kiện phụ:

Tác nhân Hệ thống phản hồi

Dòng 4: Người quản lý nhập thiếu thông tin Hệ thống gửi thông báo yêu cầu nhập đầy
đủ thông tin còn lại trước khi có thể thêm
mới

❖ Tiền điều kiện, hậu điều kiện:


➢ Tiền điều kiện: Đăng nhập tài khoản Admin
➢ Hậu điều kiện: Thông tin thể loại được cập nhật trong hệ thống

25
4.8.2. Phác thảo giao diện

4.8.3. Biểu đồ tuần tự mức hệ thống

4.8.4. Hiện thực hóa ca sử dụng

4.8.4.1. Các lớp phân tích


- Lớp giao diện: Form cập nhật
- Lớp điều khiển: Cập nhật controller
- Lớp thực thể: Thể loại

4.8.4.2. Xác định các lớp trách nhiệm


1. Hiển thị form tạo mới thể loại
2. Điền thông tin thêm mới thể loại

26
3. Kiểm tra thông tin
4. Xác nhận thêm mới thể loại
5. Thêm mới thể loại(tên thể loại, mô tả)
6. Cập nhật thêm thể loại vào danh sách
7. Thông báo thêm thể loại thành công
8. Yêu cầu chỉnh sửa
9. Xác nhận cập nhật thể loại
10. Cập nhật thông tin thể loại(tên, mô tả)
11. Thông báo cập nhật thành công
12. Yêu cầu xóa thể loại
13. Xác nhận xóa thể loại
14. Thông báo xóa thể loại thành công

4.8.4.3. Gán trách nhiệm cho các lớp phân tích


- Lớp giao diện Form cập nhật: 1, 2, 7, 8, 9, 11, 12, 14
- Lớp điều khiển Cập nhật: 3, 4, 5, 6, 9, 10, 11, 12, 13, 14
- Lớp thực thể Thể loại: 5, 6, 7, 10, 11, 12, 14

27
4.8.4.4. Biểu đồ tuần tự mức đối tượng ở giai đoạn phân tích

28
4.9. Ca sử dụng: Cập nhật (thêm, sửa, xóa) tác giả

4.9.1. Mô tả chi tiết ca sử dụng


❖ Tác nhân: Người quản lý
❖ Mô tả sơ lược: Ca sử dụng này mô tả chức năng cập nhật thông tin tác giả vào hệ
thống của người quản lý. Khi thông tin của tác giả thay đổi thì người quản lý sẽ là
người cập nhật những thông tin đó vào hệ thống
❖ Các luồng sự kiện cơ bản:
Tác nhân Hệ thống phản hồi

15. Use case này bắt đầu khi người quản


lý muốn thêm, sửa, xóa tác giả trên
hệ thống bán hàng
16. Khi muốn thêm tác giả, quản trị viên
chọn vào nút “Thêm tác giả mới”

17. Hệ thống hiển thị giao diện thêm tác


giả mới lên trên màn hình

18. Người quản lý nhập đầy đủ thông tin


mà hệ thống yêu cầu sau đó ấn nút
“Thêm mới”

19. Hệ thống nhận thông tin mà quản lý


vừa thêm, sau đó đưa về màn hình
ban đầu, tại đây chứa thông tin mà
người quản lý vừa thêm vào

20. Thông tin mới thêm hiển thị, quản lý


cũng có thể chỉnh sửa thông tin hoặc
xóa đi nếu muốn

❖ Các luồng sự kiện phụ:

Tác nhân Hệ thống phản hồi

Dòng 4: Người quản lý nhập thiếu thông tin Hệ thống gửi thông báo yêu cầu nhập đầy
đủ thông tin còn lại trước khi có thể thêm
mới

❖ Tiền điều kiện, hậu điều kiện:


➢ Tiền điều kiện: Đăng nhập tài khoản Admin
➢ Hậu điều kiện: Thông tin thể loại được cập nhật trong hệ thống

29
4.9.2. Phác thảo giao diện

4.9.3. Biểu đồ tuần tự mức hệ thống

4.9.4. Hiện thực hóa ca sử dụng

4.9.4.1. Các lớp phân tích


- Lớp giao diện: Form cập nhật
- Lớp điều khiển: Cập nhật controller
- Lớp thực thể: Tác giả

4.9.4.2. Xác định các lớp trách nhiệm


1. Hiển thị form tạo mới tác giả

30
2. Điền thông tin thêm mới tác giả
3. Kiểm tra thông tin
4. Xác nhận thêm mới tác giả
5. Thêm mới tác giả (tên, hình ảnh, mô tả)
6. Cập nhật thêm tác giả vào danh sách
7. Thông báo thêm tác giả thành công
8. Yêu cầu chỉnh sửa
9. Xác nhận cập nhật tác giả
10. Cập nhật thông tin tác giả(tên, hình ảnh, mô tả)
11. Thông báo cập nhật thành công
12. Yêu cầu xóa tác giả
13. Xác nhận xóa tác giả
14. Thông báo xóa tác giả thành công

4.9.4.3. Gán trách nhiệm cho các lớp phân tích


- Lớp giao diện Form cập nhật: 1, 2, 7, 8, 9, 11, 12, 14
- Lớp điều khiển Cập nhật: 3, 4, 5, 6, 9, 10, 11, 12, 13, 14
- Lớp thực thể Tác giả: 5, 6, 7, 10, 11, 12, 14

31
4.9.4.4. Biểu đồ tuần tự mức đối tượng ở giai đoạn phân tích

32
4.10. Ca sử dụng: Quản lý đơn đặt hàng

4.10.1. Mô tả chi tiết ca sử dụng


❖ Tác nhân: Người quản lý
❖ Mô tả sơ lược: Quản trị viên quản lý đơn hàng khi khách hàng đặt mua sách của cửa
hàng.
❖ Các luồng sự kiện cơ bản:

Tác nhân Hệ thống phản hồi

1. Use case này bắt đầu khi quản trị


viên nhấn vào mục “Đơn đặt hàng”
trên màn hình
2. Những sản phẩm mà khách hàng đặt
hàng đều hiển thị trên màn hình

3. Hệ thống trả về danh sách khách


hàng đặt mua sản phẩm, chứa thông
tin cơ bản. Bên cạnh đó có 2 nút
“Xem chi tiết” hoặc “Xóa”

4. Quản lý ấn chọn “Xem chi tiết” có


thể xem cụ thể thông tin từng đơn
đặt hàng hoặc chọn “Xóa” để xóa
đơn đặt hàng

5. Màn hình trả về thông tin chi tiết của


từng đơn đặt hàng: người đặt hàng,
thông tin của sách được đặt

❖ Tiền điều kiện, hậu điều kiện:


➢ Tiền điều kiện: Đăng nhập tài khoản Admin, khách hàng đặt mua gửi về hệ
thống.
➢ Hậu điều kiện: Thông tin chi tiết của đơn đặt hàng gồm: Tên người đặt, tên
sách, số lượng sách, thành tiền, địa chỉ nhận hàng, số điện thoại.

33
4.10.2. Phác thảo giao diện

4.10.3. Biểu đồ tuần tự mức hệ thống

34
4.10.4. Hiện thực hóa ca sử dụng

4.10.4.1. Các lớp phân tích

4.10.4.2. Xác định các lớp trách nhiệm

4.10.4.3. Gán trách nhiệm cho các lớp phân tích

4.10.4.4. Biểu đồ tuần tự mức đối tượng ở giai đoạn phân tích

35
5. Mô hình khái niệm

6. Xác định các đối tượng thiết kế (ánh xạ các lớp phân
tích sang các phần tử thiết kế)

Lớp phân tích Đối tượng thiết kế

Giao diện đăng ký Giao diện đăng ký

Đăng ký controller Đăng ký controller

Giao diện đăng nhập Giao diện đăng nhập

Đăng nhập controller Đăng nhập controller

36
Giao diện đăng xuất Giao diện đăng xuất

Đăng xuất controller Đăng xuất controller

Account Account

Giao diện xem thông tin sách Giao diện xem thông tin sách

Xem thông tin sách controller Xem thông tin sách controller

Sách Sách

Giao diện tìm sách Giao diện tìm sách

Tìm sách controller Tìm sách controller

Giao diện thêm vào giỏ hàng Giao diện thêm vào giỏ hàng

Thêm vào giỏ hàng controller Thêm vào giỏ hàng controller

Giỏ hàng Giỏ hàng

Giao diện đặt mua sách Giao diện đặt mua sách

Đặt mua sách controller Đặt mua sách controller

Đơn hàng Đơn hàng

Giao diện thêm sách Giao diện thêm sách

Thêm sách controller Thêm sách controller

Giao diện cập nhật sách Giao diện cập nhật sách

Cập nhật sách controller Cập nhật sách controller

Giao diện xóa sách Giao diện xóa sách

Xóa sách controller Xóa sách controller

Giao diện thêm thể loại Giao diện thêm thể loại

Thêm thể loại controller Thêm thể loại controller

Giao diện cập nhật thể loại Giao diện cập nhật thể loại

Cập nhật thể loại controller Cập nhật thể loại controller

Giao diện xóa thể loại Giao diện xóa thể loại

Xóa thể loại controller Xóa thể loại controller

Giao diện thêm tác giả Giao diện thêm tác giải

Thêm tác giải controller Thêm tác giả controller

Giao diện cập nhật tác giả Giao diện cập nhật tác giả

37
Cập nhật tác giả controller Cập nhật tác giả controller

Giao diện xóa tác giả Giao diện xóa tác giả

Xóa tác giả controller Xóa tác giả controller

7. Thiết kế ca sử dụng (biểu đồ tương tác mức đối


tượng ở giai đoạn thiết kế, sử dụng các đối tượng thiết
kế phù hợp, có thể làm gọn biểu đồ bằng hệ con)

8. Biểu đồ lớp
8.1 Biểu đồ lớp cho ca sử dụng xem thông tin sách

8.2 Biểu đồ lớp cho ca sử dụng tìm kiếm sách

38
8.3 Biểu đồ lớp cho ca sử dụng thêm vào giỏ

8.4 Biểu đồ lớp cho ca sử dụng đặt mua sách

39
40
9. Thiết kế dữ liệu

9.1. Lược đồ cơ sở dữ liệu

9.2. Mô tả chi tiết


9.2.1. Bảng ADMIN (tbl_admin)

Tên trường Kiểu dữ liệu Ghi chú

admin_id int(11) Khóa chính

admin_email varchar(100) Địa chỉ email

41
admin_password varchar(255) Mật khẩu đăng nhập

admin_name varchar(255) Tên admin

admin_phone varchar(255) Số điện thoại admin

created_at timestamp Ngày khởi tạo

updated_at timestamp Ngày cập nhật

9.2.2 Bảng thể loại sách (tbl_category_product)

Tên trường Kiểu dữ liệu Ghi chú

category_id int(10) Khóa ngoài

category_name varchar(255) Tên thể loại sách

category_desc text Mô tả về thể loại

category_status int(11) Trạng thái

created_at timestamp Ngày tạo

updated_at timestamp Ngày cập nhật

42
9.2.3 Bảng tác giả (tbl_author)

Tên trường Kiểu dữ liệu Ghi chú

author_id int(10) Khóa chính

author_name varchar(255) Tên tác giả

author_image varchar(255) Ảnh tác giả

author_desc text Mô tả tác giả

author_status int(11) Trạng thái

created_at timestamp Ngày tạo

updated_at timestamp Ngày cập nhật

9.2.4. Bảng sản phẩm (tbl_product)

Tên trường Kiểu dữ liệu Ghi chú

product_id int (11) khóa chính

product_name varchar(255) Tên sản phẩm

43
category_id int(11) Mã thể loại sản phẩm

author_id int(11) Mã tác giả

product_images varchar(255) Ảnh sản phẩm

product_desc text Mô tả sản phẩm

product_content text Nội dung sản phẩm

product_number int(11) Số trang sách


OfPages

product_price varchar(255) Giá sách

9.2.5 Bảng đặt hàng (tbl_order)

Tên trường Kiểu dữ liệu Ghi chú

order_id bigint(20) Khóa chính

shipping_id int(11) Mã hàng

order_total double(8,2) Tổng số lượng đặt hàng

order_status varchar(255) Trạng thái đặt hàng

44
created_at timestamp Ngày tạo

updated_at timestamp Ngày cập nhật

9.2.6. Bảng khách hàng (tbl_customer)

Tên trường Kiểu dữ liệu Ghi chú

customer_id int(11) Khóa chính

customer_name varchar(255) Tên khách hàng

customer_email varchar(255) Email khách hàng

customer_password varchar(255) Mật khẩu khách hàng

customer_phone varchar(255) Số điện thoại khách hàng

customer_address varchar(255) Địa chỉ khách hàng

created_at timestamp Ngày tạo

updated_at timestamp Ngày cập nhật

45
46

You might also like