Tải bản đầy đủ (.pdf) (32 trang)

Bài giảng Các phương pháp phân tích và thiết kế hệ thống hiện đại: Chương 2 - TS. Vũ Chí Cường

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.74 MB, 32 trang )

03/05/2018

Chương 2.
MƠ HÌNH HĨA HỆ THỐNG VÀ
NGƠN NGỮ UML
TS. Vũ Chí Cường - 2018

Nội dung
Mơ hình hóa hệ thống
• Khái niệm
• Mục đích
• Mơ hình hóa hệ thống phần mềm

Ngơn ngữ UML
• Lịch sử phát triển
• Các phần tử của UML

Các phương pháp phân tích và thiết kế hệ thống hiện đại

1


03/05/2018

Mơ hình hóa hệ thống
Khái niệm
• Mơ hình là một dạng trừu tượng hóa của một hệ
thống thực.
• Mơ hình là một hình ảnh (một biểu diễn) của một
hệ thống thực, được diễn tả:
Ở một mức độ trừu tượng hóa nào đó


Theo một quan điểm (hay một góc nhìn) nào đó
Bởi một hình thức diễn tả hiểu được (văn bản, phương
trình, bảng, đồ thị,…) nào đó

• Mơ hình hóa là việc dùng mơ hình để nhận thức và
diễn tả một hệ thống
• Q trình phân tích và thiết kế hệ thống là q
trình mơ hình hóa hệ thống đó

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Mơ hình hóa hệ thống
Mục đích
• Giúp hiểu và thực hiện được sự trừu tượng
hóa, tổng quát hóa các khái niệm cơ sở nhằm
giảm thiểu độ phức tạp của hệ thống
• Giúp quan sát được hệ thống như nó vốn có và
nó phải có
• Giúp đặc tả được cấu trúc và hành vi của hệ
thống
• Giúp tạo khn mẫu và hướng dẫn cách xây
dựng, thử nghiệm, mơ phỏng, thực hiện, hồn
thiện theo mơ hình
• Là cơ sở để trao đổi
Các phương pháp phân tích và thiết kế hệ thống hiện đại

2


03/05/2018


Mơ hình hóa hệ thống
Mơ hình hóa hệ thống phần mềm
• Mơ hình hóa hướng chức năng (từ 1970, với
Youndon, Constantine, DeMacro,...) lấy chức
năng làm đơn vị phân rã hệ thống
• Mơ hình hóa hướng đối tượng (từ 1990, với
Booch, Rumbaugh, Jacobson, Yourdon,...) lấy
đối tượng làm đơn vị phân rã hệ thống.

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Ngôn ngữ UML
Lịch sử phát triển
Các khái niệm cơ bản của UML
• Các góc nhìn
• Các biểu đồ

Các phương pháp phân tích và thiết kế hệ thống hiện đại

3


03/05/2018

Lịch sử phát triển

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Lịch sử phát triển


Các phương pháp phân tích và thiết kế hệ thống hiện đại

4


03/05/2018

Các khái niệm cơ bản trong UML
Các đối tượng
Các góc nhìn
Các biểu đồ

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Các đối tượng
Đối tượng là một khái niệm, một sự trừu
tượng hóa hay một sự vật có nghĩa trong
bài tốn đang khảo sát
Đặc trưng của mơ hình đối tượng






Sự trừu tượng
Sự đóng gói
Tính modun
Tính phân cấp (kế thừa)

Tính đồng thời

Các phương pháp phân tích và thiết kế hệ thống hiện đại

5


03/05/2018

Các đối tượng
Đối tượng là một khái niệm, một sự trừu
tượng hóa hay một sự vật có nghĩa trong
bài tốn đang khảo sát
Đặc trưng của mơ hình đối tượng






Sự trừu tượng
Sự đóng gói
Tính modun
Tính phân cấp (kế thừa)
Tính đồng thời

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Các đối tượng
Đối tượng là một khái niệm, một sự trừu

tượng hóa hay một sự vật có nghĩa trong
bài tốn đang khảo sát
Đặc trưng của mơ hình đối tượng






Sự trừu tượng
Sự đóng gói
Tính modun
Tính phân cấp (kế thừa)
Tính đồng thời

Các phương pháp phân tích và thiết kế hệ thống hiện đại

6


03/05/2018

Các đối tượng
Đối tượng là một khái niệm, một sự trừu
tượng hóa hay một sự vật có nghĩa trong
bài tốn đang khảo sát
Đặc trưng của mơ hình đối tượng







Sự trừu tượng
Sự đóng gói
Tính modun
Tính phân cấp (kế thừa)
Tính đồng thời

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Các đối tượng
Đối tượng là một khái niệm, một sự trừu
tượng hóa hay một sự vật có nghĩa trong
bài tốn đang khảo sát
Đặc trưng của mơ hình đối tượng






Sự trừu tượng
Sự đóng gói
Tính modun
Tính phân cấp (kế thừa)
Tính đồng thời

Các phương pháp phân tích và thiết kế hệ thống hiện đại


7


03/05/2018

Các đối tượng
Đối tượng là một khái niệm, một sự trừu
tượng hóa hay một sự vật có nghĩa trong
bài tốn đang khảo sát
Đặc trưng của mơ hình đối tượng






Sự trừu tượng
Sự đóng gói
Tính modun
Tính phân cấp (kế thừa)
Tính đồng thời

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Các đối tượng
Đối tượng là một khái niệm, một sự trừu
tượng hóa hay một sự vật có nghĩa trong
bài tốn đang khảo sát
Đặc trưng của mơ hình đối tượng







Sự trừu tượng
Sự đóng gói
Tính modun
Tính phân cấp (kế thừa)
Tính đồng thời

Các phương pháp phân tích và thiết kế hệ thống hiện đại

8


03/05/2018

Các đối tượng
Đối tượng là một khái niệm, một sự trừu
tượng hóa hay một sự vật có nghĩa trong
bài tốn đang khảo sát
Đặc trưng của mơ hình đối tượng






Sự trừu tượng

Sự đóng gói
Tính modun
Tính phân cấp (kế thừa)
Tính đồng thời

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Các góc nhìn
Là một các diễn tả hệ thống
Các góc nhìn của UML






Góc
Góc
Góc
Góc
Góc

nhìn
nhìn
nhìn
nhìn
nhìn

ca sử dụng
thiết kế/logic

tiến trình (q trình)/tương tranh
cài đặt (thực thi)/thành phần
triển khai/bố trí

Các phương pháp phân tích và thiết kế hệ thống hiện đại

9


03/05/2018

Các góc nhìn
Là một các diễn tả hệ thống
Các góc nhìn của UML
• Góc nhìn ca sử dụng
Là góc nhìn tử ngồi vào hệ thống
Là cách nhìn của các người dùng cuối, các người phân
tích, người kiểm định
Khơng phản ánh tổ chức bên trong của phần mềm mà
chỉ làm rõ các chức năng lớn mà hệ thống phải đáp ứng
cho người dùng
Biểu đồ ca sử dụng, biểu đồ tương tác, biểu đồ trạng
thái, biểu đồ hoạt động.






Góc

Góc
Góc
Góc

nhìn
nhìn
nhìn
nhìn

thiết kế/logic
tiến trình (q trình)/tương tranh
cài đặt (thực thi)/thành phần
triển khai/bố trí

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Các góc nhìn
Là một các diễn tả hệ thống
Các góc nhìn của UML
• Góc nhìn ca sử dụng
• Góc nhìn thiết kế/logic
Là góc nhìn vào bên trong hệ thống
Là cách nhìn của những người thiết kế hệ thống
Biểu đồ lớp, biểu đồ đối tượng
Biểu đồ tương tác, biểu đồ trạng thái, biểu đồ hoạt
động.

• Góc nhìn tiến trình (q trình)/tương tranh
• Góc nhìn cài đặt (thực thi)/thành phần
• Góc nhìn triển khai/bố trí

Các phương pháp phân tích và thiết kế hệ thống hiện đại

10


03/05/2018

Các góc nhìn
Là một các diễn tả hệ thống
Các góc nhìn của UML
• Góc nhìn ca sử dụng
• Góc nhìn thiết kế/logic
• Góc nhìn tiến trình (q trình)/tương tranh
Phản ánh các lộ trình điều khiển, các quá trình thực hiện
Cho thấy sự hoạt động song hành hay đồng bộ của hệ
thống
Biểu đồ lớp, biểu đồ đối tượng (lớp chủ động)
Biểu đồ tương tác, biểu đồ trạng thái, biểu đồ hoạt
động.

• Góc nhìn cài đặt (thực thi)/thành phần
• Góc nhìn triển khai/bố trí
Các phương pháp phân tích và thiết kế hệ thống hiện đại

Các góc nhìn
Là một các diễn tả hệ thống
Các góc nhìn của UML






Góc
Góc
Góc
Góc

nhìn
nhìn
nhìn
nhìn

ca sử dụng
thiết kế/logic
tiến trình (q trình)/tương tranh
cài đặt (thực thi)/thành phần

Là góc nhìn đối với dạng phát hành của phần mềm
Bao gồm các thành phần, các tệp tương đối độc lập có
thể được lắp ghép theo nhiều cách
Biểu đồ thành phần
Biểu đồ tương tác, biểu đồ trạng thái, biểu đồ hoạt động

• Góc nhìn triển khai/bố trí

Các phương pháp phân tích và thiết kế hệ thống hiện đại

11



03/05/2018

Các góc nhìn
Là một các diễn tả hệ thống
Các góc nhìn của UML






Góc
Góc
Góc
Góc
Góc

nhìn
nhìn
nhìn
nhìn
nhìn

ca sử dụng
thiết kế/logic
tiến trình (q trình)/tương tranh
cài đặt (thực thi)/thành phần
triển khai/bố trí

Là góc nhìn về topo của phần cứng mà trên đó hệ thống

vận hành
Chỉ rõ sự phân bố, sự sắp đặt các phần của hệ thống vật

Biểu đồ bố trí
Biểu đồ tương tác, biểu đồ trạng thái, biểu đồ hoạt động
Các phương pháp phân tích và thiết kế hệ thống hiện đại

Các biểu đồ
Biểu đồ (diagram) là đồ thị biểu diễn đồ họa
về tập các phần tử (các từ vựng) trong mơ
hình và mối quan hệ của chúng
Biểu đồ thường được thể hiện như một đồ thị
liên thông với các đỉnh (là các sự vật) và các
cung (là các mối quan hệ)
Sự vật
• Sự vật cấu trúc (lớp, giao diện, ca sử dụng, thành
phần, nút,...)
• Sự vật hành vi (sự tương tác, trạng thái,...)

Các mối quan hệ (phụ thuộc, kết hợp, tổng
quát hóa, hiện thức họa)
Các phương pháp phân tích và thiết kế hệ thống hiện đại

12


03/05/2018

Các biểu đồ
Nhóm biểu đồ về cấu trúc








Biểu
Biều
Biểu
Biểu
Biểu
Biểu

đồ
đồ
đồ
đồ
đồ
đồ

lớp
đối tượng
thành phần
bố trí
gói
cấu trúc đa hợp

Nhóm biểu đồ hành vi









Biểu
Biểu
Biểu
Biểu
Biểu
Biểu
Biểu

đồ
đồ
đồ
đồ
đồ
đồ
đồ

ca sử dụng
trình tự
giao tiếp
máy trạng thái
hoạt động
bao quát tương tác
thời khác


Các phương pháp phân tích và thiết kế hệ thống hiện đại

Biểu đồ lớp
Ý nghĩa
• Biểu đồ lớp phơ bày cấu trúc tĩnh cùa các lớp trong
hệ thống. Các lớp biểu diễn cho các sự vật mà hệ
thống quan tâm.
• Hệ thống có thể được mơ tả bởi một số biểu đồ lớp
và một lớp có thể tham gia vào nhiều biểu đồ.

Ký hiệu





Tên lớp
Thuộc tính (attributes)
Thao tác (methord)
Phạm vi truy cập (

Các mối quan hệ
Ví dụ
Các phương pháp phân tích và thiết kế hệ thống hiện đại

13


03/05/2018


Biểu đồ lớp
Ý nghĩa
Ký hiệu
Các mối quan hệ







Quan hệ liên kết
Quan hệ khái quát
Quan hệ kết tập
Quan hệ hợp thành
Quan hệ phụ thuộc
Quan hệ thực thi

Ví dụ
Các phương pháp phân tích và thiết kế hệ thống hiện đại

Biểu đồ lớp
Ý nghĩa
Ký hiệu
Các mối quan hệ








Quan hệ liên kết
Quan hệ khái quát
Quan hệ kết tập
Quan hệ hợp thành
Quan hệ phụ thuộc
Quan hệ thực thi

Ví dụ
Các phương pháp phân tích và thiết kế hệ thống hiện đại

14


03/05/2018

Biểu đồ lớp
Ý nghĩa
Ký hiệu
Các mối quan hệ







Quan hệ liên kết

Quan hệ khái quát
Quan hệ kết tập
Quan hệ hợp thành
Quan hệ phụ thuộc
Quan hệ thực thi

Ví dụ
Các phương pháp phân tích và thiết kế hệ thống hiện đại

Biểu đồ lớp
Ý nghĩa
Ký hiệu
Các mối quan hệ







Quan hệ liên kết
Quan hệ khái quát
Quan hệ kết tập
Quan hệ hợp thành
Quan hệ phụ thuộc
Quan hệ thực thi

Ví dụ
Các phương pháp phân tích và thiết kế hệ thống hiện đại


15


03/05/2018

Biểu đồ lớp
Ý nghĩa
Ký hiệu
Các mối quan hệ







Quan hệ liên kết
Quan hệ khái quát
Quan hệ kết tập
Quan hệ hợp thành
Quan hệ phụ thuộc
Quan hệ thực thi

Ví dụ
Các phương pháp phân tích và thiết kế hệ thống hiện đại

Biểu đồ lớp
Ý nghĩa
Ký hiệu
Các mối quan hệ








Quan hệ liên kết
Quan hệ khái quát
Quan hệ kết tập
Quan hệ hợp thành
Quan hệ phụ thuộc
Quan hệ thực thi

Ví dụ
Các phương pháp phân tích và thiết kế hệ thống hiện đại

16


03/05/2018

Ví dụ

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Ví dụ

Các phương pháp phân tích và thiết kế hệ thống hiện đại


17


03/05/2018

Biểu đồ đối tượng
Ý nghĩa
• Thể hiện các đối tượng cụ thể thay cho các lớp,
cho thấy các đối tượng đang tồn tại và hoạt
động

Ký hiệu
• Sử dụng các ký hiệu của biểu đồ lớp
• Tên của đối tượng được gạch dưới và mọi liên
kết cụ thể đều được vẽ

Ví dụ

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Ví dụ

Các phương pháp phân tích và thiết kế hệ thống hiện đại

18


03/05/2018

Biểu đồ thành phần

Ý nghĩa
• Trình bày cấu trúc vật lý của hệ thống dưới dạng các thành
phần, cùng với các mối liên quan phụ thuộc giữa chúng.
• Một thành phần có thể là thành phần mã nguồn, thành
phần mã nhị phân, hoặc thành phần exe.
• Mỗi thành phần tương ứng với một hay nhiều lớp, giao diện
hay hợp tác trong biểu đổ lớp.
• Biểu đồ thành phần được dùng để trình bày góc nhìn thực
thi của hệ thống.

Ký hiệu





Thành phần (components)
Giao tiếp
Mối quan hệ phụ thuộc
Gói

Ví dụ

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Vi dụ

Các phương pháp phân tích và thiết kế hệ thống hiện đại

19



03/05/2018

Biểu đồ bố trí
Ý nghĩa
• Biểu đồ triển khai (deployment diagram)
• Trình bày kiến trúc vật lý của phần cứng và
phần mềm của hệ thống. Cho thấy các máy
tính và thiết bị (các nút), cùng vói các kết nối
giữa chúng.
• Các thành phần thực hiện được (exe) được
phân bổ vào các nút, cho thấy các đơn vị phần
mềm được thực hiện trên các nút nào.

Ký hiệu
• Các nodes: hình hộp ba chiều
Các phương pháp phân tích và thiết kế hệ thống hiện đại

Ví dụ

Các phương pháp phân tích và thiết kế hệ thống hiện đại

20


03/05/2018

Biểu đồ gói
Ý nghĩa

• Biểu đồ gói là một hình thức gom nhóm các phần
tử (các lớp, các ca sử dụng, các thành phần v.v...)
• Giữa các gói có thể có các mối liên quan phụ thuộc

Ký hiệu
• Gói: hình chữ nhật có quai
• Sự phụ thuộc: mũi tên mở nét đứt
Đi mũi tên: phần tử có phụ thuộc
Đầu mũi tên (mở): phần tử hỗ trợ
Sự phụ thuộc có thể gán nhãn: trong cặp dấu <<>>

Ví dụ
Các phương pháp phân tích và thiết kế hệ thống hiện đại

Ví dụ

Các phương pháp phân tích và thiết kế hệ thống hiện đại

21


03/05/2018

Ví dụ

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Biểu đồ ca sử dụng
Ý nghĩa
Ký hiệu

Mối quan hệ giữa các tác nhân
Mối quan hệ giữa tác nhân và ca sử dụng
Mối quan hệ giữa các ca sử dụng
Ví dụ

Các phương pháp phân tích và thiết kế hệ thống hiện đại

22


03/05/2018

Biểu đồ ca sử dụng
Ý nghĩa
• Trình bày một số đối tác (tác nhân ngoài) và sự liên hệ
của chúng với các ca sử dụng mà hệ thống cung cấp.
• Ca sử dụng diễn tả một chức năng mà hệ thống có khả
năng cung cấp
• Tác nhân là con người hay hệ thống thực khác cung cấp
thông tin hay tác động tới hệ thống
• Các ca sử dụng có thể được phân rã theo nhiều mức với
nhiều biểu đồ ca sử dụng

Ký hiệu
Mối quan hệ giữa các tác nhân
Mối quan hệ giữa tác nhân và ca sử dụng
Mối quan hệ giữa các ca sử dụng
Ví dụ
Các phương pháp phân tích và thiết kế hệ thống hiện đại


Biểu đồ ca sử dụng
Ý nghĩa
Ký hiệu
• Hệ thống
• Tác nhân
• Ca sử dụng

Mối quan hệ giữa các tác nhân
Mối quan hệ giữa tác nhân và ca sử dụng
Mối quan hệ giữa các ca sử dụng
Ví dụ
Các phương pháp phân tích và thiết kế hệ thống hiện đại

23


03/05/2018

Biểu đồ ca sử dụng
Ý nghĩa
Ký hiệu
• Hệ thống
• Tác nhân
• Ca sử dụng

Mối quan hệ giữa các tác nhân
Mối quan hệ giữa tác nhân và ca sử dụng
Mối quan hệ giữa các ca sử dụng
Ví dụ
Các phương pháp phân tích và thiết kế hệ thống hiện đại


Biểu đồ ca sử dụng
Ý nghĩa
Ký hiệu
• Hệ thống
• Tác nhân
• Ca sử dụng

Mối quan hệ giữa các tác nhân
Mối quan hệ giữa tác nhân và ca sử dụng
Mối quan hệ giữa các ca sử dụng
Ví dụ
Các phương pháp phân tích và thiết kế hệ thống hiện đại

24


03/05/2018

Biểu đồ ca sử dụng
Ý nghĩa
Ký hiệu
Mối quan hệ giữa các tác nhân
• Generalization: (Khái quát)

Mối quan hệ giữa tác nhân và ca sử dụng
Mối quan hệ giữa các ca sử dụng
Ví dụ

Các phương pháp phân tích và thiết kế hệ thống hiện đại


Biểu đồ ca sử dụng
Ý nghĩa
Ký hiệu
Mối quan hệ giữa các tác nhân
Mối quan hệ giữa tác nhân và ca sử dụng
• Association: (Liên kết)

Mối quan hệ giữa các ca sử dụng
Ví dụ

Các phương pháp phân tích và thiết kế hệ thống hiện đại

25


×