Phân tích thiết kế

You might also like

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

TRƯỜNG ĐẠI HỌC NGÂN HÀNG TP.

HỒ CHÍ MINH
KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ

BÀI TẬP NHÓM:


PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN QUẢN LÝ

Giảng viên hướng dẫn: Phạm Xuân Kiên


Lớp học phần: D03

Nhóm 6:

Lê Thị Liên 030234180064


Nguyễn Ngọc Kiều Như 030234180096
Nguyễn Tuấn Tài 030234180115
Nguyễn Thị Phương Thảo 030234180126
Hà Thu Thùy 030234180133
Trần Thị Thanh Thùy 030632163336
Mai Thiên Trúc 030234180147

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ý

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:
− Sinh viên: người đăng ký tham gia các khóa học tại trường Đại học.
− Giảng viên: người tham gia giảng dạy tại trường Đại học.
− Nhân viên: người chịu trách nhiệm duy trì hệ thống đăng ký học phần.
− Hệ thống thanh toán: hệ thống bên ngoài tương tác với hệ thống Đăng ký học phần, thực hiện in hóa
đơn cho sinh viên khi sinh viên thanh toán học phí cho học phần đã đăng ký.
 Xác định các use case: mỗi use case đại diện cho một chức năng của hệ thống. Để tìm use case trong
phần đặc tả hệ thống ta tìm các động từ mà nó đại diện cho một chuỗi các hành động tương tác giữa
actor và hệ thống để đạt được mục tiêu của actor. Dựa vào đặc tả Hệ thống đăng ký học phần, ta xác
định các use case theo từng actor:
− Sinh viên:
+ Xem thông tin chi tiết học phần

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

BÀI TẬP NHÓM PHÂN TÍCH THIẾT KẾ HỆ THỐNG3THÔNG TIN

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. Yêu cầu phi chức năng


− Hệ thống phải có giao diện thân thiện, dễ sử dụng
− Có tính bảo mật
− Có tính đúng đắn
− Độ tin cậy cao

4. Quy tắc nghiệp vụ


− Sinh viên đăng ký một học phần phải đảm bảo đã hoàn tất môn học tiên quyết của học phần sẽ đăng ký.
− Mỗi lớp học phần có sỉ số từ 10 đến 20 sinh viên, nếu hết thời gian đăng ký mà sỉ số lớp <10, hệ thống
tự động hủy lớp, các sinh viên thuộc lóp bị hủy sẽ được chuyển sang các lớp học phần thay thế đã chọn.
− Sinh viên có thể hủy hoặc thay đổi học phần đã đăng ký trong thời gian cho phép.

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"

Tên Use Case: Tạo tài khoản


Mô tả sơ lược: Chức năng “Tạo tài khoản”giuap sinh viên tạo tài khoản để đăng nhập khi chưa có
tài khoản
Actor chính: Sinh viên
Xây dựng
Actor Phụ:Hệ thốngcó
Khô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
4
trường đại học
Tiền điều kiện: Hệ thống phải hoạt động bình thường, sinh viên cung cấp thông tin hợp lệ
Hậu điều kiện: Hệ thống cập nhật thông tin sinh viên sau khi đăng kí thành công
Luồng sự kiện chính (main flow):
Actor System
1.Sinh viên chọn chức năng tạo tài khoản 2. Hệ thống hiển thị form đăng ký tạo tài khoản
3.Sinh viên nhập thông tin 4. Hệ thống kiểm tra thông tin
5. Hệ thống báo tạo tài khoản thành công
6. Hệ thống cập nhật thông tin sinh viên
Luồng sự kiện thay thế (alternate flow):
4.1 Hệ thống báo thông tin không hợp lệ
4.1.1 Sinh viên chọn kết thúc
4.1.2 Sinh viên chọn tiếp tục
4.1.2.1 Hệ thống quay lại bước 2
Luồng sự kiện ngoại lệ (exception flow):
5.1. Hệ thống hiển thị thông tin tài khoản
5.1.1. Sinh viên tự cập nhật thông tin cá nhân
(ảnh,sđt, email,..)
Nhóm 6
• Sơ đồ activity biểu diễn đặc tả use case “Tạo tài khoản”

BÀI TẬP NHÓM PHÂN TÍCH THIẾT KẾ HỆ THỐNG5THÔNG TIN

Hình 2: Sơ đồ Activity "Tạo tài khoản"

2. Đặc tả use case “Đăng nhập” và vẽ sơ đồ activity biểu diễn đặc tả


Bảng 2: Đặc tả Use case "Đăng nhập"

Tên Use Case: Đăng nhập


Mô tả sơ lược: Chức năng “Đăng nhập” giúp sinh viên đăng nhập vào hệ thống
Actor chính: Sinh viên
Actor Phụ: Không có
Tiền điều kiện: Sinh viên phải có tên tài khoản và mật khẩu
Hậu điều kiện: Sau khi đăng nhập thành công hệ thống cập nhật thông tin, số lượng sinh viên đang
hoạt động và hiển thị giao diện chính của hệ thống theo đúng quyền hạn của người dùng
Luồng sự kiện chính (main flow):
Actor System
Nhóm 6
1.Sinh viên chọn chức năng đăng nhập 2. Hệ thống hiển thị yêu cầu đăng nhập gồm tên
đăng nhập và mật khẩu
3. Sinh viên nhập thông tin đăng nhập (tên tài
4. Hệ thống xác thực thông tin đăng nhập
khoản, mật khẩu)
5. Hệ thống hiển thị giao diện chính của hệ thống
Luồng sự kiện thay thế (alternate flow):
4.1 Hệ thống báo lỗi
4.1.1 Sinh viên chọn kết thúc
4.1.2 Sinh viên chọn tiếp tục
4.1.2.1. Hệ thống quay lại bước 2

• Sơ đồ activity biểu diễn đặc tả use case “Đăng nhập”

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

Hình 3: : Sơ đồ Activity "Đăng nhập"

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"

Tên use case: Đăng ký học phần


Mô tả sơ lược: chức năng “Đăng ký học phần” giúp sinh viên có thể đăng ký học phần trực tuyến.
Actor phụ: Không có
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ý thành công thì sỉ số lớp được cập nhật và sinh viê sẽ có
lịch học.

Luồng sự kiện chính (main flow):


Actor System

1.Sinh viên chọn chức năng Đăng ký học


2.Hệ thống hiển thị trang đăng ký học phần
phần

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

BÀI TẬP NHÓM PHÂN TÍCH THIẾT KẾ HỆ THỐNG7THÔNG TIN


7.Hệ thống hiển thị danh sách lớp học phần

8.Sinh viên chọn 1 lớp học phần 9.Hệ thống kiểm tra sỉ số lớp

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

Luồng sự kiện thay thế (alternate flow):

1.1.Hệ thống hiển thị thông báo môn tiên quyết không
thỏa

1.2.Sinh viên xác nhận 1.3.Hệ thống quay lại bước 4

9.1. Hệ thống hiển thị thông báo lớp đầy

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

Hình 4: Sơ đồ Activity “Đăng ký học phần”

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"

Tên Use Case: Thay đổi lớp học phần


Mô tả sơ lược: Chức năng “ Thay đổi lớp học phần” giúp sinh viên thay đổi lớp học phần đã đăng
ký trước đó
Actor chính: Sinh viên
Actor phụ: Không có
Tiền điều kiện: Sinh viên đăng nhập thành công
Hậu điều kiện: Hệ thống cập nhật số lượng sinh viên trong lớp học phần sau sinh khi thay đổi lớp
học phần thành công
Nhóm 6
Luồng sự kiện chính (main flow):
Actor System
1.Sinh viên chọn chức năng thay đổi lớp học
2.Hệ thống hiển thị các lớp học phần
phần
3.Sinh viên chọn lớp học phần muốn thay đổi 4.Hệ thống kiểm tra số lượng sinh viên
5.Hệ thống kiểm tra lịch học
6.Hệ thống thông báo thành công
7. Hệ thống cập nhật số lượng sinh viên trong lớp
học phần
Luồng sự kiện thay thế (alternate flow):
4.1 Hệ thống thông báo lớp đầy
4.1.1 Sinh viên chọn kết thúc
4.1.2 Sinh viên chọn tiếp tục
4.1.2.1 Hệ thống chuyển sang bước 2
5.1. Hệ thống thông báo trùng lịch
5.1.1 Sinh viên chọn kết thúc
5.1.2 Sinh viên chọn tiếp tục
5.1.2.1 Hệ thống chuyển sang bước 2
BÀI TẬP NHÓM PHÂN TÍCH THIẾT KẾ HỆ THỐNG9THÔNG TIN

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

Hình 5: Sơ đồ Activity "Thay đổi lớp học phần"

5. Đặc tả use case “Xem điểm” và vẽ sơ đồ activity biểu diễn đặc tả


Bảng 5: Đặc tả Use case "Xem điểm"

Tên Use Case: Xem điểm


Mô tả sơ lược: Chức năng “ Xem điểm” sử dụng để sinh viên xem điểm khi có nhu cầu
Actor chính: Sinh viên
Actor Phụ: Không có
Điều kiện: Sinh viên phải đăng nhập thành công
Luồng sự kiện chính (main flow):
Actor System
1.Sinh viên chọn chức năng xem điểm 2. Hệ thống hiển thị bảng điểm
4. Hệ thống hiển thị các cột điểm chi tiết của
3.Sinh viên chọn môn học muốn xem điểm
môn học
Luồng sự kiện ngoại lệ (exception flow):
2.1. Hệ thống hiển thị tổng số tín chỉ và điểm

Nhóm 6
trung bình

• Sơ đồ activity biểu diễn đặc tả use case “Xem điểm”

BÀI TẬP NHÓM PHÂN TÍCH THIẾT KẾ HỆ THỐNG


11THÔNG TIN
Hình 6: Sơ đồ Activity "Xem điểm"

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

Lớp khái niệm Thuộc tính


− Mã học kỳ
Học kỳ
− Năm học
− Mã học phần
Học phần − Tên học phần
− Học phần tiên quyết
− Số tín chỉ
− Mã lớp
Lớp học phần − Tên lớp
− Ngày học
− Giờ học
Sinh viên − Mã sinh viên
− Họ tên
− Ngày sinh
Nhóm 6
− Địa chỉ.
− Mã giảng viên
− Họ tên
Giảng viên
− Ngày sinh
− Địa chỉ.
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 7: 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ố

Quan hệ Loại quan hệ Giải thích


Một học kỳ bao gồm nhiều học phần, mỗi
Học kỳ - Học phần Association
học phần thuộc 1 học kỳ
Một học phần gồm nhiều lớp học phần,
Học phần - lớp học phần Association
một lớp học phần thuộc một học phần.
Một lớp học phần do một giảng viên phụ
Lớp học phần – Giảng viên Association trách, một Giảng viên phụ trách nhiều lớp
học phần
Một sinh viên có thể đăng ký nhiều lớp
học phần, một lớp học phần có tối thiểu 10
Sinh viên – lớp học phần Aggregation
sinh viên và tối đa 30 sinh viên.
Mỗi Sinh viên là thành phần của 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

BÀI TẬP NHÓM PHÂN TÍCH THIẾT KẾ HỆ THỐNG


13THÔNG TIN
Hình 7: : Sơ đồ Domain "Xây dựng hệ thống đăng kí học phần trực tuyến"

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"

2. Phân tích use case “Xem điểm”.


• 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 chức năng “Xem
điểm” để có thể xem bẩng điểm tổng quát. Để xem chi tiết điểm của một môn học nào đó, sinh viên tiếp tuc
chọn hoc phần muốn hiển thị, hệ thống sẽ hiển thị các cột điểm chi tiết của môn học đó.
• Vẽ sơ đồ Sequence ở mức thiết kế sơ bộ cho Use case Xem điể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
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”

BÀI TẬP NHÓM PHÂN TÍCH THIẾT KẾ HỆ THỐNG


19THÔNG TIN
E. MODULE 5:

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

• Chuyển các lớp thành các quan hệ:


− Các lớp: Học phần, Lớp học phần, Giảng viên, Sinh viên, Học kỳ 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 hợp Kết quả trở thành quan hệ Kết quả, thuộc tính khóa chính của 2 quan hệ tham gia Mã
sinh viên, Mã học phần 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ả
− Lớp DSSV_LopHP trở thành quan hệ DSSV_LopHP, với 2 thuộc tính khóa ngoại Mã sinh viên và Mã
lớp học phần, 2 thuộc tính này trở thành khóa chính của quan hệ DSSV_LopHP

• Chuyển mối quan hệ:


− Học phần - Học kỳ: Quan hệ Học phần chứa khóa ngoại Mã học kỳ
− Học phần - Lớp học phần: Lớp học phần chứa khóa ngoại Mã học phần
− Lớp học phần – Giảng viên: Lớp học phần chứa khóa ngoại Mã Giảng viên.

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.

• Xác định các use case:


− Khách hàng:
+ Xem thông tin chi tiết tour
+ Tìm kiếm tour
+ Đặt tour
+ Thanh toán
+ Hủy đặt tour
− Nhân viên:
+ Tạo tour
+ Cập nhật thông tin tour

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

• Sơ đồ use case biểu điễn các chức năng của hệ thống:

BÀI TẬP NHÓM PHÂN TÍCH THIẾT KẾ HỆ THỐNG


23THÔNG TIN

Hình 16: : Sơ đồ use case "Xây dựng website đặt tour du lịch trực tuyến”

3. Yêu cầu phi chức năng


− Hệ thống phải có giao diện đẹp, dễ sử dụng
− Có tính bảo mật tốt
− Có tính đúng đắn, hoạt động ổn định

4. Quy tắc nghiệp vụ


− Một khách hàng có thể đặt nhiều tour tại nhiều thời điểm khác nhau, một tour có thể từ 10 đến 40 khách
− Sau khi đặt tour thành công, khách hàng có thể thanh toán ngay hoặc thanh toán sau 24g, nếu sau 24g
không thanh toán thì đơn đặt tour sẽ bị hủy

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.

5. Quy trình nghiệp vụ:


• Quy trình nghiệp vụ chức năng Đặt tour:
− Website 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. Với mỗi tour, 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.
− Khi tìm được một tour phù hợp, khách hàng có thể đặt tour trực tuyến, bằng cách điền thông tin đầy đủ
vào form đặt tour, gồm các thông tin họ tên người đặt tour, số người lớn và số trẻ em tham gia tour, chọn
hình thức thanh toán.
− 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ệ dựng
Xây thố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
24
trường
− Một khách hàng có thể đặt nhiều tour tại nhiều thời điểm khác nhau, một tour có thể từ 10 đại
đến 40 học
khách.
− Sau khi đặt tour thành công, khách hàng có thể thanh toán ngay hoặc thanh toán sau 24g, nếu sau 24g
không thanh toán thì đơn đặt tour sẽ bị hủy.

• Quy trình nghiệp vụ chức năng Hủy tour:


− Sau khi đặt tour thành công, khách hàng có thể thanh toán ngay hoặc thanh toán sau 24g, nếu sau 24g
không thanh toán thì đơn đặt tour sẽ bị hủy.
− Sau khi đặt tour, nếu vì một lý do nào đó, khách hàng không thể tham gia tour, khách hàng có thể gửi
yêu cầu thay đổi hoặc hủy đặt tour, bằng cách chọn chức năng yêu cầu hủy đặt tour
− 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.

• Quy trình nghiệp vụ chức năng Tìm kiếm tour:


− 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. Với mỗi tour, 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.

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”

Tên 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

− Actor chính: Khách hàng


− Actor phụ: Không có
− Tiền điều kiện (Pre-condition): Đăng nhập và nhập đầy đủ thông tin và chọn hình thức thanh toán
− Hậu điều kiện (Post-condition): 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
Luồng sự kiện chính (main flow):
Actor System

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.Hệ thống kiểm tra cú pháp và kiểu dữ liệu của thông


5.Khách hàng điền thông tin vào form
tin nhập

7.Thông báo đặt tour thành công và lưu vào hệ thống

Luồng sự kiện thay thế (alternate flow):

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

6.2.Khách hàng xác nhận

6.3.Khách hàng quay lại bước 5

Luồng sự kiện ngoại lệ (exception flow):

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”

Tên use case: Tìm kiếm tour


− Mô tả sơ lược: Giúp khách hàng có thể tìm kiếm tour theo ý muốn
− Actor chính: Khách hàng

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

3. Khách hàng nhập từ khóa hoặc các tiêu


4. Hệ thống thực hiện tìm kiếm theo thông tin khách
chí liên quan đến tour cần tìm như thời
hàng nhập
gian, địa điểm, loại tour,...

5. Hệ thống hiển thị thông tin chi tiết tour khách hàng
cần tìm

Luồng sự kiện thay thế (alternate flow):

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

5.2. Khách hàng xác nhận


Khách hàng quay lại bước 2
1.3.
BÀI TẬP NHÓM PHÂN TÍCH THIẾT LuồngKẾsựHỆ THỐNG
kiện 27THÔNG
ngoại TIN flow):
lệ (exception
• Sơ đồ activity biểu diễn đặc tả use case “Tìm kiếm tour”

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

Lớp khái niệm Thuộc tính


− Mã tour
− Thời gian
− Địa điểm
Gói tour
− Giá cả
− Dịch vụ
− Thời gian khởi hành
− Tên
Địa điểm − Đặc điểm
− Những điểm tham quan
− Địa danh
Đơn đặt tour − Mã đơn
− Họ tên khách hàng
− Số người tham gia (trẻ em, người lớn)
− Mã tour
Nhóm 6
− Hình thức thanh toán
− Mã khách hàng
− Tên
Khách hàng
− Địa chỉ
− Số điện thoại
− Mã nhân viên
Nhân viên
− Tên nhân viên
− Mã quản lý
Quản lý
− Tên quản lý

− Mã hướng dẫn viên


Hướng dẫn viên
− Tên hướng dẫn viên

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ố

Quan hệ Loại quan hệ Giải thích


Một tour có thể có ít nhất 1 địa điểm
tham quan. Địa điểm cũng có thể nằm
Tour – Địa điểm Aggregation
trong lịch trình của nhiều tour hoặc
không.
Khách hàng có thể đặt nhiều tour và 1
Tour – Khách hàng Association
BÀI TẬP NHÓM PHÂN TÍCH THIẾT KẾ HỆ THỐNG 29THÔNGtour
TINthì có thể có từ 10 đến 40 khách
Hướng dẫn viên có thể dẫn nhiều tour.
Tour – Hướng dẫn viên Association Một tour thì có từ 2 đến 3 hướng dẫn
viên.
Khách hàng có thể đặt nhiều tour nên có
Đơn đặt tour – Khách hàng Association nhiều đơn đặt tour, đơn đặt tour thì chỉ
đến từ 1 khách hàng
Quản lý phân công nhiều hướng dẫn
Hướng dẫn viên – Quản lý Association
viên, và chỉ có 1 quản lý
Nhân viên – Quản lý Association 1 quản lý quản lý nhiều nhân viên
Nhân viên quản lý nhiều đơn đặt tour,
Đơn đặt tour – Nhân viên Association đơn đặt tour chỉ được 1 nhân viên quản

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”:

BÀI TẬP NHÓM PHÂN TÍCH THIẾT KẾ HỆ THỐNG


31THÔNG TIN

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”

• Chuyển các lớp thành các quan hệ:


− Các lớp: Nhân viên, Hướng dẫn viên du lịch, Khách hàng, Gói tour du lịch, Địa điểm du lịch
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 hợp Chương trình đặt tour trở thành quan hệ Kết quả, thuộc tính khóa chính của 2 quan hệ
tham gia Gói tour du lịch và Khách hàng. Mã khách hàng và Mã tour du lịch trở thành 2 khóa ngoại
của thuộc tính này.
− Lớp Khách hàng-Gói tour du lịch trở thánh lớp kết hợp giữa 2 thuộc tính của Khách hàng và  Gói tour
du lịch. Thuộc tính này có hai khóa ngoại là Mã tour và Mã khách hàng

• Chuyển mối quan hệ:


Từ phân tích trên ta có sơ đồ cơ sở dữ liệu quan hệ của hệ thống website đặt tour du lịch trực tuyến như sau:

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

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ả là các giảng viên hoặc sinh viên của trường.
- Thủ thư cho độc giả mượn sách in.
- Quản lý hệ thống thư viện cung cấp chức năng giúp 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. Đối với sách điện tử, hệ thống
có thể thống kê số lần truy cập, có thể đánh giá sách nào được yêu thích nhất.

• Xác định các Use case:


− Độc giả:
o Tìm sách
o Đăng ký mượn sách
o Đọc sách online
o Đăng nhập

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

• Sơ đồ use case biểu diễn các chức năng của hệ thố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
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”

3. Yêu cầu phi chức năng


− Giao diện thân thiện dễ sử dụng.
− Chương trình chạy ổn định.

4. Quy tắc nghiệp vụ


− Độc giả phải đăng ký tài khoản trong hệ thống thư viện để có thể đọc sách và đăng ký mượn sách
Nhóm 6
− Độc giả phải đăng nhập vào hệ thống để thực hiện chức năng đăng ký mượn sách, tìm, đọc sách
online
− Độ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ụ


Quy trình nghiệp vụ của chức năng đăng kí mượn sách:
− Độc giả có nhu cầu mượn sách, đăng nhập vào hệ thống bằng tài khoản đã đăng ký để tìm sách cần
mượn và chọn chức năng đăng ký mượn sách.
− Hệ thống kiểm tra sách độc giả cần mượn còn hay không, nếu còn hệ thống hiển thị đăng ký mượn thành
công. Độc giả đến gặp thủ thư để nhận sách.

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”

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” giúp sinh độc giả có thể đăng ký mượn sách trực

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ý

5. Hệ thống kiểm tra thông tin sách

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):

4.1. Hệ thống hiện thị form đăng ký không hợp lệ

4.2. Độc giả xác nhận 4.3. Hệ thống quay về bước 2

• Sơ đồ activity biểu diễn đặc tả 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
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”

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” giúp thủ thư quản lý việc mượn sách của độc
giả
Actor phụ: Không
Tiền điều kiện (Pre-condition): Thủ thư đã đăng nhập vào hệ thống
Hậu điều kiện (Post-condition): Thông tin sách và độc giả mượn sách được lưu vào hệ thống
Luồng sự kiện chính (main flow):
Nhóm 6
Actor System

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

3. Thủ thư nhập thông tin độc giả và sách


mượn

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

6. Hệ thống hiển thị thêm phiếu mượn thành công

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.1. Hệ thống hiện thị thông tin nhập vào không


hợp, báo lỗi

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”

BÀI TẬP NHÓM PHÂN TÍCH THIẾT KẾ HỆ THỐNG


43THÔNG TIN

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

Lớp khái niệm Thuộc tính


− Mã loại sách
Loại sách − Tên loại sách
− Mã giá sách
− Mã đầu sách
− Tên đầu sách
− Tác giả
Đầu sách − Năm xuất bản
− Nhà xuất bản
− Số lượng bản in
− Thông tin nội dung tóm tắt
Nhóm 6
− Mã sách
Sách điện tử − Tên sách
− Mã độc giả
Độc giả − Tên độc giả

Thủ thư − Mã Thủ thư


− Mã đầu sách
− Tên đầu sách
− Mã Độc giả
Phiếu mượn − Mã Thủ thư
− Ngày mượn
− Ngày trả

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ố

Quan hệ Loại quan hệ Giải thích


Mỗi độc giả có thể tìm đọc nhiều sách điện tử và mỗi
Độc giả - Sách điện tử Association
sách điện tử có thể được đọc bởi nhiều độc giả
Mỗi độc giả được cấp 1 phiếu mượn cho mỗi quyển
Độc giả - Phiếu mượn Association
sách và được mượn tối đa 3 quyển

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.

Hình 29: Sơ đồ Domain “Xây dựng hệ thống quản lý thư viện”

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.

BÀI TẬP NHÓM PHÂN TÍCH THIẾT KẾ HỆ THỐNG


47THÔNG TIN

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

Hình 34: Sơ đồ Domain “Đăng ký mượn sách”

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

You might also like