You are on page 1of 44

Phân tích Thiết kế

Hệ thống thông tin


Phân tích Thiết kế HTTT

Chương 4 – Phần 2

Class Diagram
Sơ đồ lớp
07/20/2022 PRESENTER: KIET TRAM VU 2
Phân tích Thiết kế HTTT

07/20/2022 PRESENTER: KIET TRAM VU 3


Phân tích Thiết kế HTTT

07/20/2022 PRESENTER: KIET TRAM VU 4


Phân tích Thiết kế HTTT

Ví dụ
Xét ngữ cảnh là 1 trường PTTH với phần mềm quản lý
trường cấp 3. Danh sách đề nghị:
Học sinh Tổ bộ môn Số tiết
Giáo viên BGH TKB
Môn học Khối Bảng điểm
Lớp Phụ huynh Phòng
Học kỳ ĐTB Học phí
Năm HS Diện HS …

Đối tượng? Không phải đối tượng?


07/20/2022 PRESENTER: KIET TRAM VU 5
Phân tích Thiết kế HTTT

Ví dụ
•Được quan tâm?
◦ •Phần mềm quản lý học sinh:
◦ •Học sinh, Giáo viên, Môn học, Lớp, Khối, Phụ huynh, Học kỳ, Năm
học…
◦ •Phần mềm quản lý giáo viên:
◦ •Giáo viên, Tổ bộ môn, Môn học, Khối, Lớp, Học kỳ, Năm học…
◦ •Phần mềm xếp thời khóa biểu:
◦ •Giáo viên, Môn học, Lớp, Phòng, Học kỳ, Năm học…

07/20/2022 PRESENTER: KIET TRAM VU 6


Phân tích Thiết kế HTTT

Ví dụ
•Đối tượng chính? Đối tượng phụ?
◦ •Phần mềm quản lý học sinh:
◦ •Học sinh, Giáo viên, Môn học, Lớp, Khối, Phụ huynh, Học kỳ, Năm
học…
◦ •Phần mềm quản lý giáo viên:
◦ •Giáo viên, Tổ bộ môn, Môn học, Khối, Lớp, Học kỳ, Năm học…
◦ •Phần mềm xếp thời khóa biểu:
◦ •Giáo viên, Môn học, Lớp, Phòng, Học kỳ, Năm học…

07/20/2022 PRESENTER: KIET TRAM VU 7


Phân tích Thiết kế HTTT

Lập danh sách các quan hệ


Tiêu chí đánh giá:
◦ Động từ
◦ Sự phụ thuộc giữa các đối tượng (chủ yếu xét các đối tượng
chính).
Đề nghị:
◦ Quan hệ theo thời gian
◦ Quan hệ về tổ chức.
◦ Quan hệ về không gian.
◦ Quan hệ theo vai trò.

07/20/2022 PRESENTER: KIET TRAM VU 8


Phân tích Thiết kế HTTT

Lập danh sách các quan hệ


Đề nghị:
◦ Quan hệ theo thời gian
◦ Ít biến động: Sau một thơi gian dài mới thay đổi (thường làm về mặt
tổ chức)
◦ Biến động: Quan hệ xảy ra vào lúc nào, trong thông tin có thuộc tính
về thời gian, thay đổi theo thời gian (thường quan tâm nhiều đến loại
quan hệ này).
◦ Quan hệ về tổ chức (thường liên quan đến đối tượng phụ).
◦ Quan hệ về không gian (thường liên quán đến đối tượng phụ).
◦ Quan hệ theo vai trò: Chủ động/Bị động.

07/20/2022 PRESENTER: KIET TRAM VU 9


Phân tích Thiết kế HTTT

Nhận dạng thuộc tính


• Sự phụ thuộc (không có ý nghĩa rõ ràng khi đứng độc
lập)
◦ •Phụ thuộc một đối tượng =>Thuộc tính của đối tượng
◦ •Phụ thuộc nhiều đối tượng =>Thuộc tính của quan hệ
• Các loại thuộc tính
◦ •Định danh (thường của đối tượng)
◦ •Phân loại
◦ •Thời gian
◦ •Không gian
◦ •Định lượng
◦ •…
07/20/2022 PRESENTER: KIET TRAM VU 10
Phân tích Thiết kế HTTT

Các bước xây dựng sơ đồ lớp


ở mức phân tích

07/20/2022 PRESENTER: KIET TRAM VU 11


Phân tích Thiết kế HTTT
Các bước xây dựng sơ đồ lớp ở mức
phân tích
•Bước 1: Xác định các lớp đối tượng, quan hệ và thuộc
tính trực tiếp từ yêu cầu của hệ thống
◦ Xét lần lượt từng biểu mẫu và quy định. Nếu trong sơ đồ lớp
hiện tại chưa có thể lưu trữ được thông tin cần thiết:
◦ Cần bổ sung thuộc tính vào lớp đối tượng đã có?
◦ Cần bổ sung thuộc tính vào quan hệ đã có?
◦ Cần bổ sung thêm quan hệ giữa các lớp đối tượng đã có?
◦ Cần bổ sung thêm lớp đối tượng mới?

07/20/2022 PRESENTER: KIET TRAM VU 12


Phân tích Thiết kế HTTT
Các bước xây dựng sơ đồ lớp ở mức
phân tích
•Bước 2: Nếu một lớp đối tượng có thuộc tính có cấu
trúc phức tạp hoặc có các thuộc tính có liên hệ chặt
chẽ với nhau và có ngữ nghĩa cụ thể thì nên tách ra
thành lớp đối tượng phụ.

07/20/2022 PRESENTER: KIET TRAM VU 13


Phân tích Thiết kế HTTT
Các bước xây dựng sơ đồ lớp ở mức
phân tích
•Bước 3:
3.1. Nhiều lớp đối tượng có nhiều đặc điểm chung =>
Xây dựng lớp đối tượng tổng quát chung cho các lớp
đối tượng cụ thể này.

07/20/2022 PRESENTER: KIET TRAM VU 14


Phân tích Thiết kế HTTT
Các bước xây dựng sơ đồ lớp ở mức
phân tích
•Bước 3:
3.2. Một lớp đối tượng có thuộc tính phân loại và cách
xử lý trong các phương thức của đối tượng thuộc lớp
này phụ thuộc vào giá trị của thuộc tính phân loại.
=> Tách lớp đối tượng này thành nhiều lớp đối tượng
con tương ứng với mỗi (nhóm) giá trị của thuộc tính
phân loại.

07/20/2022 PRESENTER: KIET TRAM VU 15


Phân tích Thiết kế HTTT
Các bước xây dựng sơ đồ lớp ở mức
phân tích
•Bước 4:
Hiệu chỉnh các quan hệ đã có để phù hợp với các lớp
đối tượng vừa được điều chỉnh.

07/20/2022 PRESENTER: KIET TRAM VU 16


Phân tích Thiết kế HTTT
Các bước xây dựng sơ đồ lớp ở mức
phân tích
•Bước 5:
Kiểm tra lại sơ đồ lớp và hiệu chỉnh (theo kinh nghiệm).

07/20/2022 PRESENTER: KIET TRAM VU 17


Phân tích Thiết kế HTTT
Các bước xây dựng sơ đồ lớp ở mức
phân tích
•Bước 6:
Bổ sung các trách nhiệm (phương thức) vào các lớp
đối tượng ở mức phân tích.

07/20/2022 PRESENTER: KIET TRAM VU 18


Phân tích Thiết kế HTTT

Kết quả
•Sơ đồ lớp.
•Danh sách các lớp đối tượng và quan hệ.
STT Tên lớp/Quan hệ Loại Ý nghĩa/Ghi chú
… … … …

07/20/2022 PRESENTER: KIET TRAM VU 19


Phân tích Thiết kế HTTT

Kết quả
•Mô tả chi tiết từng lớp đối tượng và quan hệ.
◦ Với mỗi lớp đối tượng:
◦ Mô tả các thuộc tính

STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/Ghi chú


… … … … …

◦ Danh sách các trách nhiệm chính


◦ Với mỗi quan hệ:
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/Ghi chú
… … … … …
07/20/2022 PRESENTER: KIET TRAM VU 20
Phân tích Thiết kế HTTT

Áp dụng
Áp dụng thực tế vào các bài tập:
•Xác định các lớp đối tượng chính.
•Xác định các thông tin và hành động/trách nhiệm của
mỗi lớp đối tượng chính.
•Xác định các quan hệ chính.
•Xác định các lớp đối tượng phụ, các danh mục.

07/20/2022 PRESENTER: KIET TRAM VU 21


Phân tích Thiết kế HTTT

07/20/2022 PRESENTER: KIET TRAM VU 22


Phân tích Thiết kế HTTT

07/20/2022 PRESENTER: KIET TRAM VU 23


Phân tích Thiết kế HTTT

Ánh xạ biểu đồ sang Code

07/20/2022 PRESENTER: KIET TRAM VU 24


Phân tích Thiết kế HTTT

07/20/2022 PRESENTER: KIET TRAM VU 25


Phân tích Thiết kế HTTT

Ánh xạ khách hàng-đơn hàng

07/20/2022 PRESENTER: KIET TRAM VU 26


Phân tích Thiết kế HTTT

07/20/2022 PRESENTER: KIET TRAM VU 27


Phân tích Thiết kế HTTT

07/20/2022 PRESENTER: KIET TRAM VU 28


Phân tích Thiết kế HTTT

07/20/2022 PRESENTER: KIET TRAM VU 29


Phân tích Thiết kế HTTT

Exercise 1
Mô hình hóa biểu đồ lớp cho hệ thống quản lý thư viện.
• Người quản lý thư viện mong muốn tự động hóa việc mượn
sách.
• Họ yêu cầu một phần mềm cho phép người sử dụng biết
sách hiện có, có thể đặt mượn 2 quyển sách, những người
tham gia mượn sách có thể biết sách nào đã mượn hoặc đã
đặt.
• Những người tham gia mượn sách sở hữu một password để
truy nhập.

07/20/2022 PRESENTER: KIET TRAM VU 30


Phân tích Thiết kế HTTT

Exercise 1
Mô hình hóa biểu đồ lớp cho hệ thống quản lý thư viện.
• Việc mượn sách được thực hiện bởi các thủ thư, sau khi xác
định người mượn sách, họ biết được người này có được phép
mượn hay không? (tối đa 5 quyển), người này được ưu tiên
(đã đặt trược).

07/20/2022 PRESENTER: KIET TRAM VU 31


Phân tích Thiết kế HTTT

Exercise 2: Quản lý đào tạo nhân viên


• Việc đào tạo bắt đầu khi người quản lý đào tạo nhận được
yêu cầu đàotạo của một số nhân viên. Nhân viên này có thể
xem danh mục cácchuyên đề đào tạo của các đơn vị đào tạo
ký kết với công ty.
• Yêu cầu của nhân viên được xemxét bởi người quản lý đào
tạo vàngười quản lý sẽ trả lời là chấp nhận hay từ chối đề
nghị đó.

07/20/2022 PRESENTER: KIET TRAM VU 32


Phân tích Thiết kế HTTT

Exercise 2: Quản lý đào tạo nhân viên


• Trong t/h chấp nhận, người quản lý sẽ xã định chuyên đề phù
hợp trong danh mục các chuyên đề sau đó gửi cho nhân viên
nội dung của chuyên đề và danh sách các khóa đào tạo.
Nhân viên sẽ chọn khóa đào tạo và người quản lý sẽ đăng ký
khóa học với đơn vị đào tạo cho nhân viên.
• Trong t/h muốn hủy bỏ đăng ký, nhân viên phải thông báo
sớm cho người quản lý biết sớm để người quản lý thực hiện
hủy bỏ.
• Cuối khóa nhân viên chuyển phiếu đánh giá kết quả học về
cho công ty. Quản lý sẽ kiểm tra hóa đơn thanh toán tiền của
đơn vị đào tạo.
07/20/2022 PRESENTER: KIET TRAM VU 33
Phân tích Thiết kế HTTT

Xác định các liên kết

07/20/2022 PRESENTER: KIET TRAM VU 34


Phân tích Thiết kế HTTT

Xác định các thuộc tính

07/20/2022 PRESENTER: KIET TRAM VU 35


Phân tích Thiết kế HTTT

Tổng quát hóa bằng thừa kế

07/20/2022 PRESENTER: KIET TRAM VU 36


Phân tích Thiết kế HTTT

Lược đồ đối tượng –Object Diagram


•Một số trường hợp cần phải ví dụ minh họa, trực quan
hóa để thông qua đó giải quyết 1 số vấn đề ta có thể
cần đến lược đồ đối tượng.
•Lược đồ đối tượng tương tự như lược đồ lớp đối tượng
nhưng có thêm phần giá trị, trạng thái của đối tượng

07/20/2022 PRESENTER: KIET TRAM VU 37


Phân tích Thiết kế HTTT

Lược đồ đối tượng –Object Diagram

07/20/2022 PRESENTER: KIET TRAM VU 38


Phân tích Thiết kế HTTT

Phương pháp xác định đối tượng


Dưới đây là 3 phương pháp thường sử dụng. Tốt nhất là
phối hợp cả 3 phương pháp này:
•Textual Analysis: dựa vào use case description, use
case diagram để tìm. Lưu ý đến các danh từ (có thể sẽ
là đối tượng, thuộc tính), các động từ (có thể là hành vi)

07/20/2022 PRESENTER: KIET TRAM VU 39


Phân tích Thiết kế HTTT

Phương pháp xác định đối tượng


•Common Object List: dựa vào vốn từ vựng của lĩnh
vực mà hệ thống hoạt động để tìm. Đầu tiên nên chú ý
đến các đối tượng trực quan, nhìn thấy được. Sau đó
chú ý các các đối tượng ở dạng khái niệm
•Pattern: dựa vào các mẫu phân tích có sẵn trong lĩnh
vực mà hệ thống hoạt động

07/20/2022 PRESENTER: KIET TRAM VU 40


Phân tích Thiết kế HTTT
Các bước tạo CRC Card & Class
Diagram
•Tạo CRC Card dựa vào phương pháp textual analysis
trên use case.
•Brainstorm để tìm thêm lớp đối tượng, thuộc tính,
hành vi dựa vào phương pháp common object list.
•Role play để hoàn chỉnh CRC Card.
•Tạo sơ đồ lớp dựa vào CRC Card.

07/20/2022 PRESENTER: KIET TRAM VU 41


Phân tích Thiết kế HTTT
Các bước tạo CRC Card & Class
Diagram
•Kiểm tra lại sơ đồ lớp (lược bỏ những thành phần
không cần thiết hoặc bổ sung những thành phần bị
sót).
•Sử dụng những mẫu có sẵn để hoàn thiện sơ đồ lớp.
•Kiểm tra lại sơ đồ lớp 1 lần nữa.

07/20/2022 PRESENTER: KIET TRAM VU 42


Phân tích Thiết kế HTTT

Q&A

07/20/2022 PRESENTER: KIET TRAM VU 43


Phân tích Thiết kế HTTT

Thank you so much!

07/20/2022 PRESENTER: KIET TRAM VU 44

You might also like