Professional Documents
Culture Documents
Thân Hoàng Thiên Thiên - HoanThanh
Thân Hoàng Thiên Thiên - HoanThanh
--------
MỤC LỤC
Module01 : Xác định yếu cầu chức năng của hệ thống – mô hình hóa chức năng
bằng sơ đồ use case....................................................................................................................1
Case study 2 : Xây dựng website đặt tour du lịch trực tuyến.................................1
Case study 3. Xây dựng hệ thống quản lý thư viện của một trường đại học.......3
Modulo02 : Viết đặc tả use case..............................................................................................5
Case study 1: xây dựng hệ thống đăng ký học phần trực tuyến, viết đặc tả cho các
use case của hệ thống: đăng nhập, tạo tài khoản, xem điểm, thay đổi lớp học
phần, ứng với mỗi đặc tả, hãy mô hình hóa bằng sơ đồ activity...........................5
A) Đặc tả use case “Đăng nhập”.........................................................................5
A.1 ) Sơ đồ activity biểu diễn đặc tả use case “Đăng ký”...................................6
B) Đặc tả use case “Tạo tài khoản”.....................................................................6
B.1 )Sơ đồ activity biểu diễn đặc tả use case “Tạo tài khoản”...........................7
C) Đặc tả use case “Xem điểm”..........................................................................8
C.1 ) Sơ đồ activity biểu diễn đặc tả use case “Xem điểm”................................9
Case study 2: “Xây dựng website đặt tour du lịch trực tuyến”, sinh viên hãy viết
đặc tả use case:.......................................................................................................9
a. Đặc tả use case “Đặt tour du lịch trực tuyến”.................................................9
a.1 )Sơ đồ activity biểu diễn đặc tả use case “Đặt tour trực tuyến”..................10
b. “Tìm kiếm tour”, và vẽ sơ đồ activity biểu diễn đặc tả.................................11
b.1 )Sơ đồ activity biểu diễn đặc tả use case “Tìm kiếm tour”.........................12
Case study 3: “Xây dựng hệ thống quản lý thư viện của một trường đại học”....12
a. “Đăng ký mượn sách” và vẽ sơ đồ activity biểu diễn đặc tả.....................12
A.1 ) Sơ đồ activity biểu diễn đặc tả use case “Đăng ký mượn sách”.......14
b. “Quản lý việc mượn sách” của actor thủ thư, vẽ sơ đồ activity................14
B.1 ) Sơ đồ activity biểu diễn đặc tả use case “Quản lý việc mượn sách”........16
Modulo03 : Phân tích cấu trúc hệ thống – Sơ đồ hóa bằng sơ đồ Domain................17
Case study 2: “Xây dựng website đặt tour du lịch trực tuyến”............................17
1.Xác định các lớp khái niệm , tìm ra các thuộc tính cho mỗi lớp....................17
2. Sơ đồ Domain................................................................................................19
Case study 3: Xây dựng hệ thống quản lý thư viện của một trường đại học”......19
1.Xác định các lớp khái niệm , tìm ra các thuộc tính cho mỗi lớp....................19
2. Sơ đồ Domain................................................................................................21
Modulo 4 :Thiết kế hệ thống - Sử dụng sơ đồ Sequence – Hiệu chỉnh sơ đồ
Domain thành sơ đồ Class......................................................................................................22
1.Dựa vào case study 1: Xây dựng hệ thống đăng ký học phần trực tuyến.........22
a.Phân tích Use case “Đăng ký học phần”:.......................................................22
b.Vẽ sơ đồ Sequence ở mức thiết kế sơ bộ cho Use case Đăng ký học phần.. .22
c.Bổ sung các Class mới (nếu có) vào trong sơ đồ Domain liên quan đến chức
năng đăng ký học phần......................................................................................23
d.Phân bổ các phương thức vào các Class tương ứng trong sơ đồ Domain......23
e.Hoàn thiện sơ đồ lớp tương ứng với chức năng “Đăng ký học phần”...........24
2.Dựa vào case study 1, Sinh viên thực hiện phân tích chức năng “xem điểm”
của actor sinh viên, bao gồm các bước tương tự câu 1........................................25
a.Phân tích Use case” xem điểm”.....................................................................25
b. Vẽ sơ đồ Sequence ở mức thiết kế sơ bộ cho Use case Xem điểm...............26
c. Bổ sung các class mới (nếu có) vào trong sơ đồ Domain liên quan đến chức
năng xem điểm..................................................................................................26
d. Phân bổ các phương thức vào các Class tương ứng trong sơ đồ Domain.....27
3. Dựa vào case study 2, sinh viên phân tích chức năng “Đặt tour du lịch”.......27
a. Phân tích Use case “ Đặt tour trực tuyến”.....................................................27
b. Vẽ sơ đồ Sequence ở mức thiết kế sơ bộ cho Use case Đặt tour trực tuyến. 28
c. Bổ sung các class mới (nếu có) vào trong sơ đồ Domain liên quan đến chức
năng đặt tour trực tuyến....................................................................................29
d. Phân bổ các phương thức vào các Class tương ứng trong sơ đồ Domain.....29
e. Hoàn thiện sơ đồ lớp tương ứng với chức năng “Đăt tour trực tuyến”.........29
4. Dựa vào case study 3, sinh viên hãy phân tích chức năng “Đăng ký mượn
sách”.....................................................................................................................30
a. Phân tích Use case “ Đăng ký mượn sách”...................................................30
b. Vẽ sơ đồ Sequence ở mức thiết kế sơ bộ cho Use case Đăng ký mượn sách31
c. Bổ sung các class mới (nếu có) vào trong sơ đồ Domain liên quan đến chức
năng đăng ký mượn sách...................................................................................32
d.Phân bổ các phương thức vào các Class tương ứng trong sơ đồ Domain......32
e. Hoàn thiện sơ đồ lớp tương ứng với chức năng “Đăng ký mượn sách”.......33
Modulo07 : Thiết kế cơ sở dữ liệu........................................................................................34
1.Case study 1: Dựa vào sơ đồ Class đã thiết kế ở module 5 chuyển sang sơ đồ
cơ sở dữ liệu quan hệ............................................................................................34
2.Case study 2: Dựa vào sơ đồ Class đã thiết kế ở module 5 chuyển sang sơ đồ
cơ sở dữ liệu quan hệ............................................................................................35
3.Case study 3: Dựa vào sơ đồ Class đã thiết kế ở module 5 chuyển sang sơ đồ
cơ sở dữ liệu quan hệ............................................................................................35
MỤC LỤC HÌNH ẢNH
Hình 1 : Sơ đồ use case Xây dựng website đặt tour du lịch trực tuyến...........................................2
Hình 2 : Sơ đồ use case Xây dựng hệ thống quản lý thư viện của một trường đại học.................4
Hình 3 : Sơ đồ activity biểu diễn đặc tả use case “Đăng ký”..........................................................6
Hình 5 : Sơ đồ activity biểu diễn đặc tả use case “Xem điểm”.......................................................9
Hình 6 : Sơ đồ activity biểu diễn đặc tả use case “Đặt tour trực tuyến”........................................11
Hình 7 : Sơ đồ activity biểu diễn đặc tả use case “Tìm kiếm tour”...............................................12
Hình 8 : Sơ đồ activity biểu diễn đặc tả use case “Đăng ký mượn sách”......................................14
Hình 9 : Sơ đồ activity biểu diễn đặc tả use case “Quản lý việc mượn sách”...............................16
Hình 10 : Sơ đồ Domain đặt tour du lịch trực tuyến.....................................................................19
Hình 11 : Sơ đồ domain hệ thống quản lý thư viện của một trường đại học.................................21
Hình 12 : Vẽ sơ đồ Sequence ở mức thiết kế sơ bộ cho Use case Đăng ký học phần...................22
Hình 13 : Bổ sung các Class mới (nếu có) vào trong sơ đồ Domain liên quan đến chức năng đăng
ký học phần....................................................................................................................................23
Hình 14 : Phân bổ các phương thức vào các Class tương ứng trong sơ đồ Domain.....................24
Hình 15 : Hoàn thiện sơ đồ lớp tương ứng với chức năng “Đăng ký học phần”...........................25
Hình 16 : Vẽ sơ đồ Sequence ở mức thiết kế sơ bộ cho Use case Xem điểm...............................26
Hình 17 : Bổ sung các class mới (nếu có) vào trong sơ đồ Domain liên quan đến chức năng xem
điểm...............................................................................................................................................27
Hình 18 : Phân bổ các phương thức vào các Class tương ứng trong sơ đồ Domain.....................28
Hình 19 : Vẽ sơ đồ Sequence ở mức thiết kế sơ bộ cho Use case Đặt tour trực tuyến..................29
Hình 20 : Bổ sung các class mới (nếu có) vào trong sơ đồ Domain liên quan đến chức năng đặt
tour trực tuyến................................................................................................................................29
Hình 21 : Phân bổ các phương thức vào các Class tương ứng trong sơ đồ Domain.....................30
Hình 22 : Hoàn thiện sơ đồ lớp tương ứng với chức năng “Đăt tour trực tuyến”.........................31
Hình 23 : Vẽ sơ đồ Sequence ở mức thiết kế sơ bộ cho Use case Đăng ký mượn sách................32
Hình 24 : Bổ sung các class mới (nếu có) vào trong sơ đồ Domain liên quan đến chức năng đăng
ký mượn sách.................................................................................................................................33
Hình 25 : Phân bổ các phương thức vào các Class tương ứng trong sơ đồ Domain.....................34
Hình 26 : Hoàn thiện sơ đồ lớp tương ứng với chức năng “Đăng ký mượn sách”........................35
Hình 27 : Sơ đồ domain Đăng ký học phần...................................................................................36
Hình 27 : Sơ đồ cơ sở dữ liệu quan hệ Đăng ký học phần............................................................36
Hình 28 : Sơ đồ domain Đặt tour du lịch.......................................................................................37
Hình 29 : Sơ đồ cơ sở dữ liệu quan hệ Đặt tour du lịch................................................................37
Hình 30 : Sơ đồ domain Đăng ký mượn sách ở thư viện..............................................................38
Hình 31 : Sơ đồ cơ sở dữ liệu quan hệ Đăng ký mượn sách ở thư viện........................................38
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
Module01 : Xác định yếu cầu chức năng của hệ thống – mô hình hóa chức năng bằng sơ đồ use
case
Case study 2 : Xây dựng website đặt tour du lịch trực tuyến
1. Xác định yêu cầu chức năng
Khách hàng : có thể tìm kiếm tour
Khách hàng : có thể xem thông tin tour
Khách hàng : có thể đặt tour
Khách hàng : đăng nhập
Khách hàng : có thể thanh toán
Khách hàng : có thể gửi yêu cầu thay đổi hoặc hủy đặt tour
Nhân viên : tạo tour mới, cập nhật thông tin tour, quản lý đơn đặt tour của khách hàng ,
thống kê doanh thu , xử lý các yêu cầu thay đổi hoặc hủy đặt tour
Người quản lý : có thể quản lý nhân viên, phân công hướng dẫn viên cho mỗi tour
Người quản trị hệ thống : có nhiệm vụ phân quyền người dung, cập nhật chức năng của
hệ thống.
2. Mô hình hóa yêu cầu chức năng, sử dụng sơ đồ use case.
Xác định các Actor
- Khách hàng : người tham gia các chương trình đặt tour trên app Lucky Tours
- Nhân viên : người quản lý thông tin các khách hàng đặt tour
- Người quản lý : quản lý , phân công
- Người quản trị hệ thống : phân quyền , cập nhật chức năng hệ thống
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 1
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
Hình 1 : Sơ đồ use case Xây dựng website đặt tour du lịch trực tuyến
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 2
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
- Một nhân viên có thể quản lý nhiều đơn đặt tour, một đơn đặt tour chỉ thuộc một nhân
viên quản lý
- Một tour có thể từ 2 đế 3 hướng dẫn viên, một hướng dẫn viên có thề hướng dẫn nhiều
tour.
5. Quy trình nghiệp vụ đặt tour du lịch trực tuyến
- Website Lucky Tours hiển thị các địa điểm du lịch theo vùng miền, và thông tin chi tiết
về đặc điểm, những điểm tham quan, địa danh nổi tiếng để khách hàng có thể tham khảo.
- Website cũng thường xuyên đưa lên những gói tour du lịch đa dạng về thời gian, địa
điểm, giá cả, dịch vụ và các thông tin khuyến mãi để khách hàng có thể dễdàng lựa
chọn.
- Website hiển thị các thông tin chi tiết bao gồm: lịch trình, thời gian, địa điểm và thời
gian khởi hành, giá tour.
- Khi khách hàng chọn một tour cụ thể thì website hiển thị thông tin chi tiết lịch trình mỗi
ngày của tour.
- Hệ thống kiểm tra cú pháp hoặc kiểu dữ liệu của các thông tin nhập, nếu sai thì hệ thống
yêu cầu nhập lại, nếu đúng thì hệ thống phải hiển thị thông báo đặt tour thành công, và
đơn đặt tour sẽ được lưu vào hệ thống
- Sau 24g không thanh toán thì đơn đặt tour sẽ bị hủy.
- Yêu cầu hủy đặt tour trước ngày khởi hành 24g thì hệ thống chấp nhận và hoàn tiền
70% giá vé, nếu trước ngày khởi hành 12g thì được chấp nhận và hoàn 50% giá vé. Nếu
trễ hơn thì không hoàn tiền.
- Một nhân viên có thể thống kê doanh thu, xử lý các yêu cầu thay đổi hoặc hủy đặt tour.
Case study 3. Xây dựng hệ thống quản lý thư viện của một trường đại học
1. Xác định yêu cầu chức năng của hệ thống: Dựa vào đặc tả, hệ thống gồm các
chức năng sau:
- Độc giả có thể tìm sách
- Độc giả phải đăng ký tài khoản trong hệ thống thư viện
- Độc giả phải đăng nhập vào hệ thống và thực hiện chức năng đăng ký mượn sách
- Độc giả cũng phải đăng nhập vào hệ thống để có thể tìm và đọc online.
- Thủ thư có thể thêm sách mới, quản lý việc mượn và trả sách, thống kê sách đã cho
mượn, số sách còn trong kho.
- Hệ thống lưu trữ thông tin các cuốn sách.
- Hệ thống thống kê số lần truy cập.
- Hệ thống có chức năng đánh giá sách.
2. Mô hình hóa yêu cầu chức năng, sử dụng sơ đồ use case.
Xác định các actor
- Độc giả
- Thủ thư
Xác định các use case
- Độc giả:
o Tìm sách
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 3
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
Hình 2 : Sơ đồ use case Xây dựng hệ thống quản lý thư viện của một trường
đại học
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 4
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
- Khi cần mượn sách in thì độc giả phải đăng nhập vào hệ thống và thực hiện chức năng
đăng ký mượn sách, bao gồm các thông tin: Mã sách, tên sách, tác giả, ngày mượn, ngày
trả, khi đăng ký thành công thì độc giả đến gặp thủ thư để nhận sách.
- Độc giả phải tuân thủ quy định về việc mượn và trả, nếu trễ hạn sẽ bị phạt, quy định phạt
như sau: nếu số ngày trễ hạn <7 ngày thì phạt 5% đơn giá sách. Nếu từ 7 ngày đến 15
ngày thì phạt 10% giá sách, nếu trên 15 ngày thì phạt 20% giá sách.
5. Quy trình nghiệp vụ hệ thống quản lý thư viện của trường đại học
- Để mượn sách hoặc đọc sách,các độc giả phải đăng ký tài khoản trong hệ thống thư viện
- Khi cần mượn sách in thì độc giả phải đăng nhập vào hệ thống và thực hiện chức năng
đăng ký mượn sách
- Đối với sách điện tử, độc giả cũng phải đăng nhập vào hệ thống để có thể tìm và đọc
online trên mạng cục bộ của trường.
- Hệ thống giúp độc giả có thể tìm sách theo nhiều tiêu chí khác nhau như tên loại
sách, tên sách, tên tác giả, hoặc theo từ khóa, …
3.Sinh viên nhập thông tin cần thiết 4.Hệ thống kiểm tra thông tin đăng nhập
(Rẽ nhánh)
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 5
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
4.1.a : Sinh viên chọn kết thúc 4.1 : Hệ thống hiển thị thông báo
thông tin đăng nhập không hợp lệ
4.1.b : Sinh viên chọn tiếp tục
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 6
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
4.1.a : Sinh viên chọn kết thúc 4.1 : Hệ thống hiển thị thông báo
thông tin đăng ký không hợp lệ
4.1.b : Sinh viên chọn tiếp tục
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 7
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
B.1 )Sơ đồ activity biểu diễn đặc tả use case “Tạo tài khoản”
Hình 4 : Sơ đồ activity biểu diễn đặc tả use case “Tạo tài khoản”
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 8
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
Case study 2: “Xây dựng website đặt tour du lịch trực tuyến”, sinh viên hãy viết đặc tả use case:
a. Đặc tả use case “Đặt tour du lịch trực tuyến”
- Tên use case: Đặt tour du lịch trực tuyến
- Mô tả sơ lược: Chức năng đặt tour giúp khách hàng có thể đặt tour trực tuyến
- Actor chính: Khách hàng
- Actor phụ: Không
- Tiền điều kiện (Pre-condition): Đăng nhập thành công
- Hậu điều kiện (Post-condition): Nếu đăng ký tour và thanh toán thành công thì
khách hàng sẽ có tour của bản thân mình
- Luồng sự kiến chính (main flow):
Actor System
1. Khách hàng chọn chức năng “Đặt 2. Hệ thống sẽ hiển thị form đăng ký tour
tour”
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 9
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
3. Khách hàng sẽ nhập thông tin bao gồm: 4. Hệ thống xác nhận thông tin nhập của
Thời gian, địa điểm, số lượng,… khách hàng
5. Khách hàng xác nhận lại thông tin vừa 6. Hệ thống hiện trang thanh toán
nhập
7. Khách hàng tiến hành thanh toán tour 8. Hệ thống kiếm tra thanh toán của khách
vừa đặt hàng
9. Hệ thống sẽ xác nhận tour và cập nhật
vé cho khách hàng
10. Khách hàng xác nhận và kết thúc
- Luồng sự kiện thay thế (altermate flow):
4.1 Hệ thống thông báo thông tin nhập
chưa đúng yêu cầu
4.2 Khách hàng nhập lại thông tin 4.3 Hệ thống quay lại bước 4
8.1 Hệ thống kiểm tra thanh toán của
khách hàng không thành công
8.2 Khách hàng xác nhận 8.3 Hệ thống quay lại bước 8
- Luồng sự kiện ngoại lệ (exception flow):
4.1.1 Hệ thống cảnh báo bạn đã có tour du
lịch bị trùng
4.1.2 Khách hàng xác nhận và kết thúc
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 10
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
a.1 )Sơ đồ activity biểu diễn đặc tả use case “Đặt tour trực tuyến”
Hình 6 : Sơ đồ activity biểu diễn đặc tả use case “Đặt tour trực tuyến”
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 11
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
3.2. Người dùng chọn hoặc nhập các tiêu chí 3.3. Hệ thống tiếp tục tới bước 4
theo mình muốn
4.1. Hệ thống kiểm tra không thấy tour
nào như người dùng muốn
4.2. Hệ thống quay về bước 2
Luồng sự kiện ngoại lệ
b.1 )Sơ đồ activity biểu diễn đặc tả use case “Tìm kiếm tour”
Hình 7 : Sơ đồ activity biểu diễn đặc tả use case “Tìm kiếm tour”
Case study 3: “Xây dựng hệ thống quản lý thư viện của một trường đại học”.
a. “Đăng ký mượn sách” và vẽ sơ đồ activity biểu diễn đặc tả.
Tên use case: Đăng ký mượn sách
Mô tả sơ lược: Chức năng đăng ký mượn sách cho phép độc giả mượn sách
Actor chính: Độc giả
Actor phụ: Không có
Tiền điều kiện (Pre-condition): Đăng nhập vào hệ thống của thư viện thành công
Hậu điều kiện (Post-condition): khi đăng ký thành công
- Thông tin phiếu đăng ký được lưu trong hệ thống
- Số lượng sách được cập nhật
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 12
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 13
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
a.1 ) Sơ đồ activity biểu diễn đặc tả use case “Đăng ký mượn sách”
Hình 8 : Sơ đồ activity biểu diễn đặc tả use case “Đăng ký mượn sách”
b. “Quản lý việc mượn sách” của actor thủ thư, vẽ sơ đồ activity
Tên use case: Quản lý việc mượn sách
Mô tả sơ lược: Chức năng quản lý việc mượn sách cho phép thủ thư quản lý việc mượn sách
Actor chính: Thủ thư
Actor phụ: Không có
Tiền điều kiện (Pre-condition): Đăng nhập vào hệ thống của thư viện thành công
Hậu điều kiện (Post-condition): Hệ thống sẽ hiển thị thông báo đã cho mượn thành công cho
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 14
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
thủ thư
Luồng sự kiện chính
Actor System
1. Thủ thư gửi yêu cầu hiển thị các form 2. Hiển thị danh sách các form mượn
mượn sách sách
3. Thủ thư chọn xem thông tin form 4. Hệ thống hiển thị thông tin form
mượn sách mượn sách
5. Thủ thư gửi yêu cầu xác thực thông tin 6. Hệ thống kiểm tra thông tin độc giả
sách trong form cung cấp
7. Hệ thống kiểm tra sách
8. Hệ thống trả về thông tin hợp lệ
9. Thủ thư chọn chức năng tạo thẻ mượn 10. Hệ thống tạo thẻ mượn mới
mới
11. Hệ thống hiển thị thẻ mượn mới
12. Thủ thư xác nhận thẻ mượn hợp lệ 13. Hệ thống thống thông báo đã cho
mượn sách thành công
Luồng sự kiện thay thế
8.1. Hệ thống trả về số lượng sách không đủ
8.2. Thủ thư xác nhận và gửi thông báo về 8.3. Hệ thống quay về bước 2
cho độc giả
8.1.1. Hệ thống trả về thông báo không tìm
thấy sách
8.1.2. Thủ thư xác nhận và gửi thông báo về 8.1.3. Hệ thống quay về bước 2
độc giả
8.1.1.1.Hệ thống thông báo thông tin độc giả
không hợp lệ
8.1.1.2.Thủ thư xác nhận và gửi thông báo về 8.1.1.3.Hệ thống quay về bước 2
cho độc giả
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 15
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
b.1 ) Sơ đồ activity biểu diễn đặc tả use case “Quản lý việc mượn sách”
Hình 9 : Sơ đồ activity biểu diễn đặc tả use case “Quản lý việc mượn sách”
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 16
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
2.Xác định mối quan hệ giữa các lớp , ứng với mỗi quan hệ , xác định số lượng
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 17
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 18
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
2. Sơ đồ Domain
Case study 3: Xây dựng hệ thống quản lý thư viện của một trường đại học”.
1.Xác định các lớp khái niệm , tìm ra các thuộc tính cho mỗi lớp
Lớp khái niệm Thuộc tính
Loại sách − Mã loại
− Tên loại
Sách − Mã sách
− Tên sách
− Tác giả
Sách điện tử − Link đọc
Sách in − Nhà xuất bản
Phiếu mượn − Mã phiếu mượn
− Ngày mượn
− Ngày trả
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 19
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
− Mã sách
− Tên sách
2.Xác định mối quan hệ giữa các lớp , ứng với mỗi quan hệ , xác định số lượng
Quan hệ Loại quan hệ Giải thích
Loại sách – Sách Aggregation Mỗi loại sách có thể có nhiều
sách , sách thuộc về một loại
sách cụ thể
Sách – Sách điện tử Generalization Sách điện tử là mối quan hệ
kế thừa của Sách
Sách – Sách in Generalization Sách in là mối quan hệ kế
thừa của Sách
Sách In – Phiếu mượn Association Mỗi phiếu mượn liên kết với
một hoặc nhiều sách , mỗi
sách có thể xuất hiện trong
nhiều phiếu mượn khác nhau
Phiếu mượn – Chi tiết Association Mỗi phiếu mượn có thể có
Phiếu mượn nhiều chi tiết phiếu mượn ,
chi tiết phiếu mượn liên quan
đến phiếu mượn cụ thể
Phiếu mượn – Thủ thư Association Mỗi phiếu mượn quản lý đến
thủ thư cụ thể , thủ thư có thể
quản lý nhiều phiếu mượn
Phiếu mượn – Độc giả Association Mỗi phiếu mượn liên kết với
độc giả cụ thể , độc giả có thể
có nhiều phiếu mượn
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 20
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
Chi tiết phiếu mượn – Sách Association Mỗi chi tiết phiếu mượn liên
In quan đến Sách cụ thể , Sách
có thể xuất hiện nhiều trong
Chi tiết phiếu mượn khác
nhau
Sách điện tử - Độc giả Association Độc giả đọc một hoặc nhiều
sách điện tử , sách điện tử có
thể được đọc bởi nhiều hoặc
không đọc giả
Độc giả - Giảng viên Generalization Giảng viên là kế thừa của
Độc giả
Độc giả - Sinh viên Generalization Sinh viên là kế thừa của Độc
giả
Độc giả - Người dùng Generalization Độc giả là kế thừa của Người
dùng
Thủ thư – Người dùng Generalization Thủ thư là kế thừa của Người
dùng
2. Sơ đồ Domain
Thiết kế hệ thống - Sử dụng sơ đồ Sequence – Hiệu chỉnh sơ đồ Domain thành sơ đồ Class M
Hình 11 : Sơ đồ domain hệ thống quản lý thư viện của một trường đại học
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 21
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
Use case này bắt đầu khi sinh viên đã đăng nhập vào hệ thống thành công. Sinh viên chọn một học
kỳ, sau đó chọn học phần, hệ thống sẽ kiểm tra học phần tiên quyết, và hiển thị danh sách lớp học
phần. Sinh viên chọn một lớp học phần, hệ thống kiểm tra sỉ số, nếu thỏa các điều kiện, sinh viên xác
nhận hoạt động đã hoàn tất. Hệ thống sẽ thông báo đăng ký thành công và in lịch học của sinh viên.
Hệ thống gửi thông tin thanh toán cho sinh viên đến hệ thống thanh toán để xử lý.
b.Vẽ sơ đồ Sequence ở mức thiết kế sơ bộ cho Use case Đăng ký học phần.
Hình 12 : Vẽ sơ đồ Sequence ở mức thiết kế sơ bộ cho Use case Đăng ký học phần
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 22
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
c.Bổ sung các Class mới (nếu có) vào trong sơ đồ Domain liên quan đến chức năng đăng ký
học phần.
Hình 13 : Bổ sung các Class mới (nếu có) vào trong sơ đồ Domain liên quan đến chức năng
đăng ký học phần
d.Phân bổ các phương thức vào các Class tương ứng trong sơ đồ Domain.
Để thực hiện chức năng “Đăng ký học phần” các lớp trong sơ đồ Domain cần phải có các
phương thức sau:
− Lớp Học phần có các phương thức:
o getDSHocPhan(HocKy): trả về danh sách học phần theo học kỳ, với tham
số là học kỳ được chọn.
− Lớp Ketqua có phương thức:
o getKetquaHPtienquyet(MaSV): trả về kết quả của môn học tiên quyết của
sinh viên đăng ký học phần, tham số là MaSV, MaHP
− lớp Lop_Hocphan gồm các phương thức sau:
o getDS_LopHP(MaHP): trả về danh sách lớp học phần của học phần được
chọn.
o getSiSo(MalopHP): trả về sỉ số của lớp học phần được chọn.
o AddNewSV(MaSV): thêm một sinh viên mới vào lớp học phần
o CapnhatSiSo(Malop): Cập nhật sỉ số lớp
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 23
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
Hình 14 : Phân bổ các phương thức vào các Class tương ứng trong sơ đồ Domain
e.Hoàn thiện sơ đồ lớp tương ứng với chức năng “Đăng ký học phần”
Ngoài các lớp entity, để thực hiện chức năng “Đăng ký học phần” còn có các lớp
boundary và control
− Lớp GD_DangkyHP (lớp Boundary): gồm các phương thức
o showDSHP(): Hiển thị danh sách học phần trong học kỳ được chọn
o showDSLopHP(): Hiển thị danh sách lớp học phần của học phần được chọn
o Display_Classfull(): Hiển thị thông báo lớp đầy
o Message_DKthanhcong(): hiển thị thông báo đăng ký thành công
− Lớp Ctrl_DKHP (lớp Cotrol) gồm các phương thức:
o TimDSHP(Hocky): tìm danh sách lớp học phần theo học kỳ được chọn
o checkHPtienquyet(MaSV, MaHP): Kiểm tra sinh viên có đáp ứng học phần
tiên quyết của học phần được chọn
o checkSiSo(MalopHP): kiểm tra sỉ số lớp còn cho phép đăng ký hay đã đầy.
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 24
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
Hình 15 : Hoàn thiện sơ đồ lớp tương ứng với chức năng “Đăng ký học phần”
2.Dựa vào case study 1, Sinh viên thực hiện phân tích chức năng “xem điểm” của actor sinh
viên, bao gồm các bước tương tự câu 1.
a.Phân tích Use case” xem điểm”
*Luồng sự kiện cơ bản
Use case bắt đầu khi sinh viên đã đăng nhập vào hệ thống thành công. Sinh viên chọn mục học
tập, hệ thống sẽ hiển thị các mục để lựa chọn liên quan đên vấn đề học tập, Sinh viên chọn vào từ
khóa kết quả học tập. Hệ thống sẽ hiển thị điểm của các môn và theo từng học kì.
*Luồng sự kiện thay thế:
- nếu thông tin đăng nhập không chính xác hệ thống sẽ yêu cầu nhập lại thông tin đăng nhập
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 25
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 26
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
c. Bổ sung các class mới (nếu có) vào trong sơ đồ Domain liên quan đến chức năng xem
điểm.
Hình 17 : Bổ sung các class mới (nếu có) vào trong sơ đồ Domain liên quan đến chức năng
xem điểm
d. Phân bổ các phương thức vào các Class tương ứng trong sơ đồ Domain.
Để thực hiện chức năng “Xem điểm” các lớp trong sơ đồ Domain cần phải có các phương thức
sau:
- Lớp Sinh viên:
getMaSV(): trả về mã sinh viên
getXemDiem(): trả về danh sách Điểm số của sinh viên
- Lớp Điểm số:
getDiem(): trả về điểm của sinh viên trong một môn học
getSoTinChi(): trả về số tín chỉ của môn học
getHocKy(): trả về học kỳ của môn học
- Lớp Học phần :
getMonHoc(): trả về thông tin về môn học
getHocKy(): trả về
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 27
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
Hình 18 : Phân bổ các phương thức vào các Class tương ứng trong sơ đồ Domain
3. Dựa vào case study 2, sinh viên phân tích chức năng “Đặt tour du lịch”.
a. Phân tích Use case “ Đặt tour trực tuyến”
* Luồng sự kiện cơ bản
Use case này bắt đầu khi khách hang đã đăng nhập vào hệ thống thành công. Khách hang chọn
mục tìm kiếm và tìm kiếm bằng các từ khóa, địa điểm, thời gian,..Hệ thống sẽ hiển thị danh sách
các tour du lịch phù hợp. khách hàng sẽ xem thông tin tour và nhấn chọn tour, hệ thống sẽ hiển
thị các thông tin chi tiết của tour được chọn. Khách hàng nhấn chọn đặt tour, hệ thống sẽ hiển thị
form đăng ký thông tin, khách hàng nhập thông tin và nhấn chọn hình thức thanh toán. Hệ thống
sẽ gửi thông tin thanh toán đến hệ thống thanh toán để xử lí.
*Luồng sự kiện thay thế
- nếu không có tour phù hợp hệ thống sẽ yêu cầu nhập lại thông tin cần tìm kiếm
- nếu tour mà khách hàng chọn đã hết hệ thống yêu cầu chọn tour khác
- nếu thông tin điền trong form không hợp lệ hệ thống yêu cầu điền lại thông tin
- nếu thông tin thanh toán không hợp lệ hệ thống sẽ yêu cầu thanh toán lại
*Tiền điều kiện :
- Chọn tour
*Hậu điều kiện :
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 28
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
Hình 19 : Vẽ sơ đồ Sequence ở mức thiết kế sơ bộ cho Use case Đặt tour trực tuyến
c. Bổ sung các class mới (nếu có) vào trong sơ đồ Domain liên quan đến chức năng đặt tour
trực tuyến.
Hình 20 : Bổ sung các class mới (nếu có) vào trong sơ đồ Domain liên quan đến chức năng
đặt tour trực tuyến
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 29
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
d. Phân bổ các phương thức vào các Class tương ứng trong sơ đồ Domain.
Để thực hiện chức năng “Đặt tour trực tuyến” các lớp trong sơ đồ Domain cần phải có các
phương thức sau:
- Lớp khách hàng có các phương thức:
dangKyThongTin(maKH): Phương thức đăng ký thông tin khách hàng.
xemThongTinDat(maKH,maDDT): Phương thức xem thông tin đặt tour
- Lớp Tour có các phương thức:
getDSTours(): Phương thức trả về danh sách tour có sẵn để đặt.
kiemTraTour(): Phương thức kiểm tra tính khả dụng của tour trước khi đặt.
datTour(): Phương thức đặt tour.
Hình 21 : Phân bổ các phương thức vào các Class tương ứng trong sơ đồ Domain
e. Hoàn thiện sơ đồ lớp tương ứng với chức năng “Đăt tour trực tuyến”
Ngoài các lớp entity, để thực hiện chức năng “Đăng ký học phần” còn có các lớp boundary và
control:
- lớp GD_DangkyTour (lớp Boundary): gồm các phương thức
showDSTour(): hiển thị danh sách tour theo các từ khóa yêu cầu tìm kiếm
showTTTour(): hiển thi thông tin của tour được chọn
Display_Tourfull(): hiển thị thông báo tour đã đủ số lượng
Message_Dkthanhcong(): hiển thị thông báo đặt tour thành công
- Lớp Ctrl_DKTour(lớp control): gồm các phương thức:
TimDSTour(): tìm danh sách tour theo từ khóa
checkTour(): kiểm tra số lượng khách hàng đăng ký tour đã đầy hay còn cho phép.
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 30
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
Hình 22 : Hoàn thiện sơ đồ lớp tương ứng với chức năng “Đăt tour trực tuyến”
4. Dựa vào case study 3, sinh viên hãy phân tích chức năng “Đăng ký mượn sách”
a. Phân tích Use case “ Đăng ký mượn sách”
* Luồng sự kiện cơ bản
Khi tìm được sách muốn đăng ký mượn, độc giả có thể đăng ký mượn sách trực tuyến,
bằng cách điền thông tin đầy đủ vào form đăng ký, gồm các thông tin Mã sách, tên sách,
tác giả, ngày mượn, ngày trả, nếu sai thì hệ thống yêu cầu nhập lại, nếu đúng thì hệ thống
phải hiển thị thông báo đăng ký mượn sách thành công, và phiếu mượn sách sẽ được lưu
vào hệ thống.
*Luồng sự kiện thay thế
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 31
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
− Nếu thông tin đăng ký không đúng thì hệ thống sẽ hiển thị thông báo và đưa ra lựa
chọn Nhập lại hoặc Kết thúc cho độc giả.
*Tiền điều kiện :
- Đăng nhập thành công vào hệ thống
*Hậu điều kiện :
- Thông tin phiếu đăng ký được lưu trong hệ thống
- Số lượng sách được cập nhật
- Thông báo đăng ký mượn sách thành công
Hình 23 : Vẽ sơ đồ Sequence ở mức thiết kế sơ bộ cho Use case Đăng ký mượn sách
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 32
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
c. Bổ sung các class mới (nếu có) vào trong sơ đồ Domain liên quan đến chức năng đăng ký
mượn sách
Hình 24 : Bổ sung các class mới (nếu có) vào trong sơ đồ Domain liên quan đến chức năng
đăng ký mượn sách
d.Phân bổ các phương thức vào các Class tương ứng trong sơ đồ Domain.
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 33
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
Hình 25 : Phân bổ các phương thức vào các Class tương ứng trong sơ đồ Domain
e. Hoàn thiện sơ đồ lớp tương ứng với chức năng “Đăng ký mượn sách”
- lớp GD_DangkyMuonSach (lớp Boundary): gồm các phương thức
showDSSach(): hiển thị danh sách sách theo các từ khóa yêu cầu tìm kiếm
showTTSach(): hiển thi thông tin của sách được chọn
Display_Sachhet(): hiển thị thông báo sách đã hết số lượng cho mượn
Message_Dkthanhcong(): hiển thị thông báo mượn sách thành công
- Lớp Ctrl_DKTour(lớp control): gồm các phương thức:
TimDSSach(): tìm danh sách sách theo từ khóa
checkSach(): kiểm tra số lượng độc giả mượn sách đã đầy hay còn cho phép.
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 34
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
Hình 26 : Hoàn thiện sơ đồ lớp tương ứng với chức năng “Đăng ký mượn sách”
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 35
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 36
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 37
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
− Lớp kết hợp Tour_HDV trở thành quan hệ Tour_NguoiDung3, thuộc tính khóa chính của
2 quan hệ tham gia Mã Tour, NguoiDungID trở thành khóa ngoại của quan hệ
Tour_NguoiDung3, và 2 thuộc tính này đồng thời trở thành khóa chính của quan hệ
Tour_NguoiDung3
− Lớp kết hợp Tour_DiaDiem trở thành quan hệ Tour_DiaDiem, thuộc tính khóa chính của
2 quan hệ tham gia Mã Tour, DiaDiemID trở thành khóa ngoại của quan hệ
Tour_DiaDiem, và 2 thuộc tính này đồng thời trở thành khóa chính của quan hệ
Tour_DiaDiem
− Lớp Tour_DV trở thành quan hệ Tour_DV, với 2 thuộc tính khóa ngoại Mã tour, Mã dịch
vụ, 2 thuộc tính này trở thành khóa chính của quan hệ Tour_DV
Lớp DonDatTour trở thành DonDatTour, với 2 thuộc tính khóa ngoại Mã tour,
NguoiDungId, 2 thuộc tính này trở thành khóa chính của quan hệ DonDatTour
Chuyển mối quan hệ:
− Đơn đặt tour – Tour: Quan hệ Đơn đặt tour có khóa ngoại Mã tour.
− Đơn đặt tour – Tour: Quan hệ Đơn đặt tour có khóa ngoại NguoiDungID.
− Tour_DV - Tour: Quan hệ Tour có khóa ngoại Mã tour
− Tour_DV - DichVu: Quan hệ Tour có khóa ngoại Mã Dịch Vụ
Từ phân tích trên ta có sơ đồ cơ sở dữ liệu quan hệ của hệ thống Đăng ký học phần như sau:
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 38
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
3.Case study 3: Dựa vào sơ đồ Class đã thiết kế ở module 5 chuyển sang sơ đồ cơ sở dữ liệu
quan hệ.
Từ phân tích trên ta có sơ đồ cơ sở dữ liệu quan hệ của hệ thống Đăng ký học phần như sau:
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 39
BÀI TẬP PHÂN TÍCH THIẾT KẾ HỆ THỐNG – HÀNG TUẦN
MSSV : 22687721 Họ và tên : Thân Hoàng Thiên Thiên LớpHP : DHKTPM18B Trang : 40