Professional Documents
Culture Documents
Phân tích thiết kế
Phân tích thiết kế
Phân tích thiết kế
HỒ CHÍ MINH
KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ
Nhóm 6:
Nhóm 6
MỤC LỤC
CASE STUDY 1: XÂY DỰNG HỆ THỐNG ĐĂNG KÍ HỌC PHẦN TRỰC TUYẾN....................1
A. MODULE 1:.....................................................................................................................................1
1. Xác định yêu cầu chức năng của hệ thống:....................................................................................1
2. Mô hình hóa yêu cầu chức năng, sử dụng sơ đồ use case..............................................................1
3. Yêu cầu phi chức năng...................................................................................................................3
4. Quy tắc nghiệp vụ..........................................................................................................................3
5. Quy trình nghiệp vụ.......................................................................................................................4
B. MODULE 2:......................................................................................................................................4
1. Đặc tả use case “Tạo tài khoản” và vẽ sơ đồ activity biểu diễn đặc tả..........................................4
2. Đặc tả use case “Đăng nhập” và vẽ sơ đồ activity biểu diễn đặc tả...............................................5
3. Đặc tả use case “Đăng ký học phần” và vẽ sơ đồ activity biểu diễn đặc tả...................................6
4. Đặc tả use case “Thay đổi lớp học phần” và vẽ sơ đồ activity biểu diễn đặc tả............................8
5. Đặc tả use case “Xem điểm” và vẽ sơ đồ activity biểu diễn đặc tả...............................................9
C. MODULE 3:....................................................................................................................................10
1. Xác định các lớp khái niệm, tìm các thuộc tính cho mỗi lớp.......................................................10
2. Xác định loại mối quan hệ giữa các lớp, ứng với mỗi quan hệ, xác định lượng số.....................11
3. Vẽ sơ đồ Domain.........................................................................................................................12
D. MODULE 4:...................................................................................................................................12
1. Phân tích Use case “Đăng ký học phần”:.....................................................................................12
2. Phân tích use case “Xem điểm”...................................................................................................16
E. MODULE 5:....................................................................................................................................18
CASE STUDY 2: XÂY DỰNG WEBSITE ĐẶT TOUR DU LỊCH TRỰC TUYẾN......................20
A. MODULE 1:...................................................................................................................................20
1. Xác định yêu cầu chức năng của hệ thống:..................................................................................20
2. Mô hình hóa yêu cầu chức năng, sử dụng sơ đồ use case............................................................20
3. Yêu cầu phi chức năng.................................................................................................................21
4. Quy tắc nghiệp vụ........................................................................................................................21
5. Quy trình nghiệp vụ:....................................................................................................................22
B. MODULE 2:....................................................................................................................................23
1. Đặc tả use case “Đặt tour trực tuyến” và vẽ sơ đồ activity biểu diễn đặc tả................................23
2. Đặc tả use case “Tìm kiếm tour” và vẽ sơ đồ activity biểu diễn đặc tả.......................................24
C. MODULE 3:....................................................................................................................................26
1. Xác định các lớp khái niệm, tìm các thuộc tính cho mỗi lớp.......................................................26
2. Xác định loại mối quan hệ giữa các lớp, ứng với mỗi quan hệ, xác định lượng số.....................27
3. Vẽ sơ đồ Domain.........................................................................................................................28
D. MODULE 4:...................................................................................................................................28
1. Phân tích Use case “Đặt tour du lịch”..........................................................................................28
E. MODULE 5:....................................................................................................................................32
Nhóm 6
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............................34
A. MODULE 1:...................................................................................................................................34
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:. 34
2. Mô hình hóa yêu cầu chức năng, sử dụng sơ đồ use case............................................................34
3. Yêu cầu phi chức năng.................................................................................................................35
4. Quy tắc nghiệp vụ........................................................................................................................36
5. Quy trình nghiệp vụ.....................................................................................................................36
B. MODULE 2:....................................................................................................................................36
1. Đặc tả use case “Đăng ký mượn sách” và vẽ sơ đồ activity diễn tả đặc tả..................................36
2. Đặc tả use case “Quản lý việc mượn sách” và vẽ sơ đồ activity diễn tả đặc tả...........................39
C. MODULE 3:....................................................................................................................................39
1. Xác định các lớp khái niệm, tìm các thuộc tính cho mỗi lớp.......................................................39
2. Xác định loại mối quan hệ giữa các lớp, ứng với mỗi quan hệ, xác định lượng số, role của mỗi
lớp, giải thích...................................................................................................................................40
D. MODULE 4:...................................................................................................................................41
1. Phân tích Use case “Đăng ký mượn sách”...................................................................................41
2. Vẽ sơ đồ Sequence ở mức thiết kế sơ bộ cho Use case Đăng ký mượn sách..............................41
3. 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........................................................................................................................................42
4. Phân bổ các phương thức vào các Class tương ứng trong sơ đồ Domain....................................43
5. Hoàn thiện sơ đồ tương ứng với chức năng Đăng ký mượn sách................................................43
E. MODULE 5:....................................................................................................................................44
Nhóm 6
DANH MỤC HÌNH ẢNH
Hình 1: Sơ đồ Domain biểu diễn chức năng của hệ thống “Đăng ký học phần trực tuyến"......................3
Hình 2: Sơ đồ Activity "Tạo tài khoản".....................................................................................................5
Hình 3: : Sơ đồ Activity "Đăng nhập".......................................................................................................6
Hình 4: Sơ đồ Activity “Đăng ký học phần”.............................................................................................8
Hình 5: Sơ đồ Activity "Thay đổi lớp học phần".......................................................................................9
Hình 6: Sơ đồ Activity "Xem điểm"........................................................................................................10
Hình 7: : Sơ đồ Domain "Xây dựng hệ thống đăng kí học phần trực tuyến"..........................................12
Hình 8: : Sơ đồ Sequence ở mức thiết kế sơ bộ cho Use case “Đăng ký học phần”...............................13
Hình 9: Bổ sung Class mới vào sơ đồ Domain liên quan đến chức năng “Đăng ký học phần”.............14
Hình 10: Phân bổ phương thức vào các Class tương ứng trong sơ đồ Domain “Đăng ký học phần”.....15
Hình 11: Hoàn thiện sơ đồ Class tương ứng với chức năng " Đăng ký học phần"..................................16
Hình 12: : Sơ đồ Sequence ở mức thiết kế sơ bộ cho Use case “Xem điểm”..........................................17
Hình 13: : Bổ sung các Class mới vào trong sơ đồ Domain liên quan đến chức năng “Xem điểm”......17
Hình 14: Sơ đồ Domain “Đăng ký học phần”.........................................................................................18
Hình 15: Sơ đồ dữ liệu quan hệ của “Hệ thống đăng ký học phần”........................................................19
Hình 16: : Sơ đồ use case "Xây dựng website đặt tour du lịch trực tuyến”.............................................21
Hình 17: Sơ đồ activity biểu diễn đặc tả use case “Đặt tour trực tuyến”.................................................24
Hình 18: Sơ đồ activity biểu diễn đặc tả use case “Tìm kiếm tour”........................................................26
Hình 19: Sơ đồ Domain “Xây dựng website đặt tour du lịch trực tuyến”...............................................28
Hình 20: Sơ đồ Sequence ở mức thiết kế sơ bộ cho Use case “Đặt tour du lịch.....................................29
Hình 21: Bổ sung các Class mới vào sơ đồ Domain liên quan đến chức năng........................................30
Hình 22: Phân bổ các phương thức vào các Class tương ứng trong sơ đồ Domain................................31
Hình 23: Hoàn thiện sơ đồ lớp tương ứng với chức năng “Đặt tour”......................................................32
Hình 24: Sơ đồ Domain case "Xây dựng website đặt tour du lịch trực tuyến”.......................................32
Hình 25: Sơ đồ cơ sở dữ liệu quan hệ của " website đặt tour du lịch trực tuyến”...................................33
Hình 26: Sơ đồ use case “Xây dựng hệ thống quản lý thư viện”.............................................................35
Hình 27: Sơ đồ activity biểu diễn đặc tả use case “Đăng ký mượn sách”...............................................37
Hình 28: Sơ đồ activity biểu diễn đặc tả use case “Quản lý mượn sách”................................................39
Hình 29: Sơ đồ Domain “Xây dựng hệ thống quản lý thư viện”.............................................................41
Hình 30: Vẽ sơ đồ Sequence ở mức thiết kế sơ bộ cho Use case “Đăng ký mượn sách”.......................42
Hình 31: Bổ sung Class vào trong sơ đồ Domain liên quan đến chức năng “Đăng ký mượn sách”.......42
Hình 32: Phân bổ phương thức vào các Class tương ứng trong sơ đồ Domain.......................................43
Hình 33: Hoàn thiện sơ đồ tương ứng với chức năng “Đăng ký mượn sách”.........................................44
Hình 34: Sơ đồ Domain “Đăng ký mượn sách”......................................................................................45
Hình 35: Sơ đồ dữ liệu quan hệ của “Hệ thống quản lý đăng ký mượn sách”........................................46
Nhóm 6
CASE STUDY 1: XÂY DỰNG HỆ THỐNG ĐĂNG KÍ HỌC PHẦN
TRỰC TUYẾN
A. MODULE 1:
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:
− Sinh viên xem thông tin chi tiết của các học phần trước khi đăng ký
− Sinh viên đăng ký học phần
− Sinh viên chọn học phần thay thế
− Sinh viên thanh toán học phí
− Sinh viên xem lịch học, xem điểm
− Giảng viên chọn học phần giảng dạy
− Giảng viên xem danh sách lớp giảng dạy
− Giảng viên nhập điểm của lớp giảng dạy
− Nhân viên tạo danh mục học phần
− Nhân viên quản lý chương trình giảng dạy
− TẬP
BÀI Nhân viên quản
NHÓM PHÂN lý TÍCH
thông THIẾT
tin Giảng
KẾviên
HỆ THỐNG1THÔNG TIN
− Nhân viên quản lý thông tin sinh viên
− Hệ thống thanh toán thực hiện in hóa đơn khi sinh viên đóng học phí cho học phần đã đăng ký
Nhóm 6
+ Đăng ký học phần.
+ Chọn học phần thay thế
+ Thanh toán học phí
+ Xem lịch học
+ Xem điểm
+ Đăng nhập: sinh viên phải đăng nhập thành công vào hệ thống để thực hiện các chức năng trên.
− Giảng viên:
+ Chọn các học phần để giảng dạy.
+ Xem danh sách lớp giảng dạy
+ Nhập điểm của lớp giảng dạy
+ Giảng viên phải đăng nhập thành công để thực hiện các chức năng trên
− Nhân viên:
+ Tạo danh mục học phần.
+ Duy trì chương trình giảng dạy.
+ Quản lý thông tin Giảng viên
+ Quản lý thông tin sinh viên.
Xây dựng Hệ thống quản lý thư viện của một trường đại họcXây dựng Hệ thống quản lý thư viện của một
2
trường đại học
Nhóm 6
• Sơ đồ use case biểu diễn các chức năng của hệ thống
Hình 1: Sơ đồ Domain biểu diễn chức năng của hệ thống “Đăng ký học phần trực tuyến"
Nhóm 6
5. Quy trình nghiệp vụ
• Quy trình nghiệp vụ của chức năng đăng ký học phần
− Đầu học kỳ, hệ thống sẽ hiển thị những học phần sẽ mở trong học kỳ đó, ứng với mỗi học phần, hệ
thống hiển thị danh sách các lớp dự kiến sẽ mở.
− Sinh viên cần phải đăng nhập thành công vào hệ thống, sau đó chọn học phần và chọn lớp phù hợp, hệ
thống sẽ kiểm tra môn tiên quyết, nếu thỏa điều kiện thì cho phép sinh viên đăng ký.
− Nếu lớp đăng ký đã đủ sỉ số, thì hệ thống sẽ thông báo lớp đầy, sinh viên phải chọn lớp khác, nếu lớp
còn chỗ thì cho phép đăng ký và thông báo đăng ký thành công. Nếu không thỏa các điều kiện thì sinh
viên không thể đăng ký học phần trong học kỳ đó và phải chờ đến học kỳ tiếp theo.
B. MODULE 2:
1. Đặc tả use case “Tạo tài khoản” và vẽ sơ đồ activity biểu diễn đặc tả
Bảng 1: " Đặc tả Use case "Tạo tài khoản"
Xây dựng Hệ thống quản lý thư viện của một trường đại họcXây dựng Hệ thống quản lý thư viện của một
6
trường đại học
Nhóm 6
3. Đặc tả use case “Đăng ký học phần” và vẽ sơ đồ activity biểu diễn đặc tả
Bảng 3: Đặc tả Use case "Đăng ký học phần"
Hậu điều kiện (Post-condition): Nếu đăng ký thành công thì sỉ số lớp được cập nhật và sinh viê sẽ có
lịch học.
3.Sinh viên chọn học kỳ hiện tại 4.Hệ thống hiễn thị danh sách học phần trong học kỳ đó
5.Sinh viên chọn học phần muốn đăng ký 6.Hệ thống kiểm tra học phần tiên quyết
8.Sinh viên chọn 1 lớp học phần 9.Hệ thống kiểm tra sỉ số lớp
1.1.Hệ thống hiển thị thông báo môn tiên quyết không
thỏa
9.2. Sinh viên xác nhận 9.3. Hệ thống quay lại bước 8
Luồng sự kiện ngoại lệ (exception flow):
9.1.1. Hệ thống kiểm tra nếu là sinh viên năm cuối.
9.1.2. Hệ thống hiển thị thông báo đăng ký thành công.
9.1.3. Sinh viên xác nhận và kết thúc
Nhóm 6
• Sơ đồ activity biểu diễn đặc tả use case “Đăng ký học phần”
Xây dựng Hệ thống quản lý thư viện của một trường đại họcXây dựng Hệ thống quản lý thư viện của một
8
trường đại học
4. Đặc tả use case “Thay đổi lớp học phần” và vẽ sơ đồ activity biểu diễn đặc tả
Bảng 4: Đặc tả Use case "Thay đổi lớp học phần"
Nhóm 6
• Sơ đồ activity biểu diễn đặc tả use case “Thay đổi lớp học phần”
Xây dựng Hệ thống quản lý thư viện của một trường đại họcXây dựng Hệ thống quản lý thư viện của một
10
trường đại học
Nhóm 6
trung bình
C. MODULE 3:
1. Xác định các lớp khái niệm, tìm các thuộc tính cho mỗi lớp.
Bảng 6: Xác định các lớp khái niệm, tìm các thuộc tính cho mỗi lớp
XâyLớp
dựng Lớp kếtdựng
hợp Hệ
giữathống
2 lớpquản
Sinhlýviên
thư –viện
lớpcủa một
kếtHệ
hợpthống
Sinhquản
viên –lý Lớp
thư viện
HP của một trường
12
đại họcXây
học phần có quan hệ * và * trường đại học
Nhóm 6
3. Vẽ sơ đồ Domain
D. MODULE 4:
1. Phân tích Use case “Đăng ký học phần”:
• Luồng sự kiện cơ bả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ý.
• Luồng sự kiện thay thế
− Nếu học phần tiên quyết không thỏa thì hệ thống sẽ hiển thị thông báo và kết thúc quá trình đăng ký.
− Nếu lớp học phần đả đủ, hệ thống yêu cầu chọn lớp khác.
Nhóm 6
• Vẽ sơ đồ Sequence ở mức thiết kế sơ bộ cho Use case Đăng ký học phần.
Xây dựng Hệ thống quản lý thư viện của một trường đại họcXây dựng Hệ thống quản lý thư viện của một
14
trường đại học
Hình 8: : Sơ đồ Sequence ở mức thiết kế sơ bộ cho Use case “Đăng ký học phần”
Nhóm 6
• 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 9: Bổ sung Class mới vào sơ đồ Domain liên quan đến chức năng “Đăng ký học phần”
• Phân bổ các phương thức vào các Class tương ứng trong sơ đồ Domain.
BÀI TẬP
Để NHÓM PHÂN
thực hiện chứcTÍCH THIẾT ký
năng “Đăng KẾhọc
HỆ phần”
THỐNG 15THÔNG
các TIN
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
Nhóm 6
Hình 10: Phân bổ phương thức vào các Class tương ứng trong sơ đồ Domain “Đăng ký học phần”
• Xây
Hoàn
dựngthiện sơ đồ quản
Hệ thống lớp tương
lý thưứng
việnvới
củachức năng “Đăng
một trường ký họcdựng
đại họcXây phần”
Hệ thống quản lý thư viện của một
16
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 trường đại họcvà
boundary
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.
Nhóm 6
BÀI TẬP NHÓM PHÂN TÍCH THIẾT KẾ HỆ THỐNG
17THÔNG TIN
Hình 11: Hoàn thiện sơ đồ Class tương ứng với chức năng " Đăng ký học phần"
Nhóm 6
Xây dựng Hệ thống quản lý thư viện của một trường đại họcXây dựng Hệ thống quản lý thư viện của một
18
trường đại học
Hình 12: : Sơ đồ Sequence ở mức thiết kế sơ bộ cho Use case “Xem điểm”
Nhóm 6
• Bổ sung các Class mới vào trong sơ đồ Domain liên quan đến chức năng Xem điểm
Hình 13: : Bổ sung các Class mới vào trong sơ đồ Domain liên quan đến chức năng “Xem điểm”
Nhóm 6
• Sơ đồ domain
Xây dựng Hệ thống quản lý thư viện của một trường đại họcXây dựng Hệ thống quản lý thư viện của một
20
Hình 14: Sơ đồ Domain “Đăng ký học phần”
trường đại học
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:
Nhóm 6
Hình 15: Sơ đồ dữ liệu quan hệ của “Hệ thống đăng ký học phần”
BÀI TẬP NHÓM PHÂN TÍCH THIẾT KẾ HỆ THỐNG
21THÔNG TIN
Nhóm 6
CASE STUDY 2: XÂY DỰNG WEBSITE ĐẶT TOUR DU LỊCH
TRỰC TUYẾN
A. MODULE 1:
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:
− Khách hàng tìm kiếm tour
− Khách hàng xem thông tin chi tiết tour
− Khách hàng đặt tour
− Khách hàng thanh toán
− Khách hàng hủy đặt tour
− Nhân viên tạo tour
− Nhân viên cập nhật thông tin tour
− Nhân viên quản lý đơn của khách hàng
− Quản lý quản lý và phân công nhân viên
− Quản trị hệ thống phân quyền người dùng và cập nhật chức năng
Xây dựng Hệ thống quản lý thư viện của một trường đại họcXây dựng Hệ thống quản lý thư viện của một
2. Mô hình hóa yêu cầu chức năng, sử dụng sơ
22 đồ use case.
trường đại học
• Xác định các actor
− Khách hàng: Người tương tác với các dịch vụ trên website (tìm kiếm, đặt tour)
− Nhân viên: Chịu trách nhiệm về nội dung và quản lý khách hàng
− Quản lý: Chịu trách nhiệm về nhân viên
− Quản trị hệ thống: Chịu trách nhiệm về hoạt động của website.
Nhóm 6
+ Quản lý đơn đặt tour của khách hàng
− Quản lý:
+ Quản lý và phân công nhân viên
− Quản trị hệ thống:
+ Phân quyền người dùng và cập nhật chức năng
Hình 16: : Sơ đồ use case "Xây dựng website đặt tour du lịch trực tuyến”
Nhóm 6
− Nếu 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ể 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ý,
thống kê doanh thu, xử lý các yêu cầu thay đổi hoặc hủy đặt tour.
− 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.
Nhóm 6
− Khách hàng có thể tìm kiếm tour theo từ khóa, hoặc theo các tiêu chí thời gian, địa điểm, loại tour, …
bằng cách nhập trực tiếp vào ô tìm kiếm.
B. MODULE 2:
1. Đặc tả use case “Đặt tour trực tuyến” và vẽ sơ đồ activity biểu diễn đặc tả.
Bảng 8: Đặc tả use case “Đặt tour trực tuyến”
− Mô tả sơ lược: Chức năng “Đặt tour trực tuyến” giúp khách hàng có thể đạt tour trực tuyến trên
nền tảng online
BÀI 1.Khách
TẬP NHÓMhàngPHÂN
chọn 1TÍCH THIẾT
tour cụ thể KẾ HỆ THỐNG
2.Hệ25THÔNG
thống hiểnTIN
thị thông tin chi tiết của tour
3.Khách hàng chọn chức năng đặt tour 4.Hệ thống hiển thị form đặt tour
6.1.Hệ thống hiển thị thông báo sai cú pháp và yêu cầu
nhập lại
Nhóm 6
• Sơ đồ activity biểu diễn đặc tả use case “Đặt tour trực tuyến”
Xây dựng Hệ thống quản lý thư viện của một trường đại họcXây dựng Hệ thống quản lý thư viện của một
26
trường đại học
Hình 17: Sơ đồ activity biểu diễn đặc tả use case “Đặt tour trực tuyến”
2. Đặc tả use case “Tìm kiếm tour” và vẽ sơ đồ activity biểu diễn đặc tả.
Bảng 9: Đặc tả use case “Tìm kiếm tour”
Nhóm 6
− Actor phụ: Không có
− Tiền điều kiện (Pre-condition): Không có
− Hậu điều kiện (Post-condition): Không có
Luồng sự kiện chính (main flow):
Actor System
1. Khách hàng chọn chức năng tìm kiếm 2. Hệ thống yêu cầu nhập từ khóa
5. Hệ thống hiển thị thông tin chi tiết tour khách hàng
cần tìm
5.1. Hệ thống thông báo không tìm thấy tour khớp với
thông tin khách hàng tìm
Nhóm 6
Xây dựng Hệ thống quản lý thư viện của một trường đại họcXây dựng Hệ thống quản lý thư viện của một
28
trường đại học
Hình 18: Sơ đồ activity biểu diễn đặc tả use case “Tìm kiếm tour”
C. MODULE 3:
1. Xác định các lớp khái niệm, tìm các thuộc tính cho mỗi lớp.
Bảng 10: Xác định các lớp khái niệm, tìm các thuộc tính cho mỗi lớp
2. Xác định loại mối quan hệ giữa các lớp, ứng với mỗi quan hệ, xác định lượng số.
Bảng 11: Xác định loại mối quan hệ giữa các lớp, ứng với mỗi quan hệ, xác định lượng số
Nhóm 6
3. Vẽ sơ đồ Domain
Xây dựng Hệ thống quản lý thư viện của một trường đại họcXây dựng Hệ thống quản lý thư viện của một
30
trường đại học
Hình 19: Sơ đồ Domain “Xây dựng website đặt tour du lịch trực tuyến”
D. MODULE 4:
1. Phân tích Use case “Đặt tour du lịch”
• Luồng sự kiện cơ bản
Use case này bắt đầu khi khách hàng đã đăng nhập vào hệ thống thành công. Khách hàng chọn mục đặt tour,
sau đó chọn tour. Hệ thống sẽ yêu cầu khách hàng điền vào form đặt tour. Nếu tất cả thông tin đều hợp lệ, hệ
thống sẽ thông báo đặt tour thành công. Hệ thống sẽ gửi thông tin thanh toán cho khách hàng đến hệ thống
thanh toán để xử lý.
• Luồng sự kiện thay thế
Thông tin nhập vào không hợp lệ, khách hàng có thể nhập lại hoặc kết thúc đặt tour.
Nhóm 6
• Vẽ sơ đồ Sequence ở mức thiết kế sơ bộ cho Use case “Đặt tour du lịch”:
Hình 20: Sơ đồ Sequence ở mức thiết kế sơ bộ cho Use case “Đặt tour du lịch
• Bổ sung các Class mới (nếu có) vào trong sơ đồ Domain liên quan đến chức năng.
Nhóm 6
Xây dựng Hệ thống quản lý thư viện của một trường đại họcXây dựng Hệ thống quản lý thư viện của một
32
trường đại học
Hình 21: Bổ sung các Class mới vào sơ đồ Domain liên quan đến chức năng
• 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” các lớp trong sơ đồ Domain cần phải có các phương thức sau:
− Lớp KetQua:
o GetForm(MaKH, MaTour): trả về thông tin tour mà khách hàng đặt, tham số là mã khách
hàng và mã tour mà khách hàng chọn.
o Lớp Tour:
o GetThongTinTour(MaTour): trả về thông tin tour được chọn.
o Lớp QuanLyTour:
o GetTour(MaTour): trả về thông tin tour mà nhân viên quản lý.
o Lớp NhanVien:
o AddNewTour(MaTour): Thêm một tour mới.
o CapNhatTour(MaTour): Cập nhật tour.
Nhóm 6
BÀI TẬP NHÓM PHÂN TÍCH THIẾT KẾ HỆ THỐNG
33THÔNG TIN
Hình 22: Phân bổ các phương thức vào các Class tương ứng trong sơ đồ Domain
• Hoàn thiện sơ đồ lớp tương ứng với chức năng “Đặt tour”:
Ngoài lớp Entity, để thực hiện chức năng “Đặt tour” còn có các lớp Boundary và Control
− Lớp GD_DatTour (lớp Boundary):
o showTour(): Hiển thị tour được khách hàng chọn
o showKH(): Hiển thị thông tin khách hàng
o display_KHKhongHopLe(): Hiển thị thông báo thông tin khách hàng không hợp lệ
o message_DatThanhCong(): Hiển thị thông báo đặt tour thành công
− Lớp Ctrl_DatTour (lớp Control):
o TimTour(MaKH, MaTour): Tìm tour mà khách hàng đặt
o CheckThongtinKH(MaKH): Kiểm tra thông tin khách hàng có hợp lệ hay không
Nhóm 6
Hình 23: Hoàn thiện sơ đồ lớp tương ứng với chức năng “Đặt tour”
Xây dựng Hệ thống quản lý thư viện của một trường đại họcXây dựng Hệ thống quản lý thư viện của một
34
E. MODULE 5: trường đại học
• Sơ đồ domain
Nhóm 6
BÀI TẬP NHÓM PHÂN Hình
TÍCH 24:THIẾT KẾ HỆ
Sơ đồ Domain caseTHỐNG 35THÔNG
"Xây dựng TIN
website đặt tour du lịch trực tuyến”
Nhóm 6
Xây dựng Hệ thống quản lý thư viện của một trường đại họcXây dựng Hệ thống quản lý thư viện của một
36
trường đại học
Hình 25: Sơ đồ cơ sở dữ liệu quan hệ của " website đặt tour du lịch trực tuyến”
Nhóm 6
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. MODULE 1:
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ả tìm sách
− Độc giả đăng ký mượn sách
− Độc giả đọc sách online
− Độc giả đăng kí tài khoản thư viện
− Độc giả đăng nhập vào hệ thống
− Thủ thư thêm sách mới
− Thủ thư quản lí mượn sách
− Thủ thư quản lí trả sách
− Thủ thư xử lí bạn đọc vi phạm
− Quản lí hệ thống thống kê sách đã mượn
− Quản lí hệ thống thống kê số sách còn trong kho
BÀI TẬP NHÓM PHÂN TÍCH THIẾT KẾ HỆ THỐNG 37THÔNG TIN
− Quản lí hệ thống thống kê số lần truy cập sách
− Quản lí hệ thống thống kê đánh giá sách
Nhóm 6
o Đăng kí tài khoản thư viện: độc giả phải Đăng ký tài khoản để đăng nhập vào hệ thống
− Thủ thư:
o Thêm sách mới
o Quản lý việc mượn và trả sách
o Xử lí độc giả vi phạm
− Hệ thống quản lí thư viện:
o Thống kê sách đã cho mượn
o Thống kê số sách còn trong kho
o Thống kê số lần truy cập
o Thống kê đánh giá sách nào được yêu thích nhất
Xây dựng Hệ thống quản lý thư viện của một trường đại họcXây dựng Hệ thống quản lý thư viện của một
38
trường đại học
Hình 26: Sơ đồ use case “Xây dựng hệ thống quản lý thư viện”
B. MODULE 2:
1. Đặc tả use case “Đăng ký mượn sách” và vẽ sơ đồ activity diễn tả đặc tả
Bảng 12: Đặc tả Use case “ Đăng ký mượn sách”
BÀItuyến.
TẬP NHÓM PHÂN TÍCH THIẾT KẾ HỆ THỐNG
39THÔNG TIN
Actor chính: Độc giả
Actor phụ: Giảng viên, Sinh viên
Tiền điều kiện (Pre-condition): Đăng nhập thành công.
Hậu điều kiện (Post-condition): Sau khi độc giả đăng ký mượn sách thành công, hệ thống cập nhật
lại số lượng sách đã cho mượn và số sách còn trong kho
Luồng sự kiện chính (main flow):
Actor System
1. Độc giả chọn chức năng Đăng ký mượn 2. Hệ thống hiển thị form đăng ký mượn sách
sách
3. Độc giả điền thông tin sách cần mượn 4. Hệ thống kiểm tra form đăng ký có hợp lệ không
vào form đăng ký
Nhóm 6
6. Hệ thống thông báo đăng ký thành công.
7. Độc giả xác nhận và kết thúc 8. Hệ thống cập nhật thống kê sách đã mượn và sách
còn trong kho
Luồng sự kiện thay thế (alternate flow):
Xây dựng Hệ thống quản lý thư viện của một trường đại họcXây dựng Hệ thống quản lý thư viện của một
40
trường đại học
Nhóm 6
BÀI TẬP NHÓM PHÂN TÍCH THIẾT KẾ HỆ THỐNG
41THÔNG TIN
Hình 27: Sơ đồ activity biểu diễn đặc tả use case “Đăng ký mượn sách”
2. Đặc tả use case “Quản lý việc mượn sách” và vẽ sơ đồ activity diễn tả đặc tả
Bảng 13: Đặc tả Use case “Quản lý việc mượn sách”
1. Thủ thư chọn chức Quản lý mượn sách 2. Hệ thống hiện thị giao diện cho mượn sách
4. Thủ thư chọn Lập phiếu mượn 5. Hệ thống kiểm tra sự hợp lệ của thông tin nhập
vào
7. Thủ thư xác nhận và kết thúc 8. Hệ thống thực hiện lưu thông tin độc giả và sách
mượn
Luồng sự kiện thay thế (alternate flow):
5.2. Thủ thư chọn xác nhận 5.3. Hệ thống quay về bước 2
Xây dựng Hệ thống quản lý thư viện của một trường đại họcXây dựng Hệ thống quản lý thư viện của một
42
trường đại học
Nhóm 6
• Sơ đồ activity biểu diễn đặc tả use case “Quản lý mượn sách”
Hình 28: Sơ đồ activity biểu diễn đặc tả use case “Quản lý mượn sách”
C. MODULE 3:
1. Xác định các lớp khái niệm, tìm các thuộc tính cho mỗi lớp.
Bảng 14: Xác định các lớp khái niệm, tìm các thuộc tính cho mỗi lớp
2. Xác định loại mối quan hệ giữa các lớp, ứng với mỗi quan hệ, xác định lượng số, role của
mỗi lớp, giải thích.
Bảng 15: Xác định loại mối quan hệ giữa các lớp, ứng với mỗi quan hệ, xác định lượng số
XâyĐầu
dựng Hệinthống
sách quản
– Phiếu của một trườngMột
lý thư việnAssociation
mượn đạiphiếu mượn
họcXây chứa
dựng Hệthông tinquản
thống của 1lýđầu
thưsách được
viện của một
44mượn
trường đại học
Mỗi phiếu mượn được thêm bởi 1 Thủ thư duy nhất.
Phiếu mượn – Thủ thư Association
Một Thủ thư có thể thêm nhiều phiếu mượn.
Mỗi loại sách gồm nhiều đầu sách. Một đầu sách thuộc
Đầu sách – Loại sách Association
1 loại sách
Nhóm 6
• Vẽ sơ đồ Domain.
D. MODULE 4:
BÀI TẬP NHÓM PHÂN TÍCH THIẾT KẾ HỆ THỐNG
45THÔNG TIN
1. Phân tích Use case “Đăng ký mượn sách”.
• Luồng sự kiện cơ bả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 đăng
ký mượn sách. Hệ thống sẽ hiện thị form đăng ký mượn sách, sinh viên sẽ nhập các thông tin
bao gồm mã sách, tên sách, tác giả, ngày mượn, ngày trả xong đó nhấn xác nhận. Hệ thống sẽ
tiến hành kiểm tra thông tin, xác nhận loại sách và cập thông thông tin của sinh viên mượn.
Sinh viên sẽ lập và in phiếu mượn sách, để đi mượn sách từ nhân viên.
• Luồng sự kiện thay thế
− Nếu sinh viên điền thông tin sai lệch thì hệ thống sẽ hiện thị thông báo báo lỗi và trở về
lại form ban đầu.
− Nếu sách trong thư viện tạm hết thì hệ thống sẽ báo hết sách, sinh viên có thể chọn mượn
sách khác hoặc kết thúc quá trình mượn sách.
2. Vẽ sơ đồ Sequence ở mức thiết kế sơ bộ cho Use case Đăng ký mượn sách
Nhóm 6
Hình 30: Vẽ sơ đồ Sequence ở mức thiết kế sơ bộ cho Use case “Đăng ký mượn sách”
Xây dựng Hệ thống quản lý thư viện của một trường đại họcXây dựng Hệ thống quản lý thư viện của một
46
trường đại học
Nhóm 6
3. 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 31: Bổ sung Class vào trong sơ đồ Domain liên quan đến chức năng “Đăng ký mượn sách”
4. 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ý mượn sách” các lớp trong sơ đồ Domain cần phải có các
phương thức sau:
− Lớp Sách in có các phương thức:
o getDSSachin(MaSach,TenSach): trả về danh sách sách theo mã sách và tên sách.
o getTimsach(TenSach): Kiểm tra xem sách có còn không.
− Lớp Thủ thư có các phương thức:
o getDSdocgiamuonsach(Madocgia).
o getDSsachmuon(Masach,Tensach).
Nhóm 6
Hình 32: Phân bổ phương thức vào các Class tương ứng trong sơ đồ Domain
5. Hoàn thiệnHệsơthống
Xây dựng đồ tương
quản lýứng với chức
thư viện năng
của một Đăng
trường
48
ký mượn
đại họcXây dựngsách
Hệ thống quản lý thư viện của một
trường đại học
Ngoài các lớp entity, để thực hiện chức năng “Đăng ký mượn sách” còn có các lớp boundary và
control.
− Lớp MuonSach (lớp Boundary): gồm các phương thức:
o Thanh tìm kiếm(): Hiện thị thanh tìm kiếm.
o DSTimThay: Hiển thị sách tìm thấy.
o Message_KTimthay(): Thông báo không tim thấy.
o Message_Hetsach(): Thông báo hết sách.
o Message_DKthanhcong(): Thông báo đăng ký thành công.
− Lớp Ctrl_DKMuonSach (lớp Cotrol) gồm các phương thức:
o checkQuantity(): Kiểm tra số lần mượn sách.
o Search(MaSach,TenSach): Tìm kiếm sách.
o checkBorrow(TenSach): Kiểm tra sách.
Nhóm 6
Hình 33: Hoàn thiện sơ đồ tương ứng với chức năng “Đăng ký mượn sách”
BÀI TẬP NHÓM PHÂN TÍCH THIẾT KẾ HỆ THỐNG
49THÔNG TIN
E. MODULE 5:
• Sơ đồ domain
Nhóm 6
• Chuyển các lớp thành các quan hệ:
- Các lớp: Độc giả, Sách điện tử, Phiếu mượn, Thủ thư, Đầu sách in, Loại sách sẽ
chuyển thành các quan hệ tương ứng cùng tên, thuộc tính của lớp trở thành thuộc tính của
quan hệ, chọn một thuộc tính có giá trị duy nhất làm khóa chính.
- Lớp Kết quả mượn sách trở thành quan hệ Kết quả, thuộc tính kết quả của 2 quan hệ
tham gia Mã sách, Mã độc giả trở thành khóa ngoại của quan hệ Kết quả và 2 thuộc tính
này đồng thời trở thành khóa chính của quan hệ Kết quả.
• Chuyển mối quan hệ
- Mối quan hệ giữa độc giả với phiếu mượn: quan hệ Đăng ký mượn sách chứa khóa
ngoại Mã độc giả
Từ phân tích trên ta có sơ đồ cơ sở dữ liệu quan hệ của hệ thống Đăng ký mượn sách như sau:
Xây dựng Hệ thống quản lý thư viện của một trường đại họcXây dựng Hệ thống quản lý thư viện của một
50
trường đại học
'
Hình 35: Sơ đồ dữ liệu quan hệ của “Hệ thống quản lý đăng ký mượn sách”
Nhóm 6