Đồn Văn Ban
OOA & D with UML
CHAPTER 2
Mơ hình hóa hệ thống sử dụng UML
Giới thiệu về UML
Phân tích và đặc tả các yêu cầu hệ thống
+ Ca sử dụng
+ Tác nhân
+ Xác định các ca sử dụng và các tác nhân
+ Đặc tả các ca sử dụng
Biểu đồ User Case
Biểu đồ hành động (Activity Diagram)
+ Các hành động và quyết định
+ Sự đồng bộ và tương tranh giữa các hoạt động
+ Các luồng họat động
+ Xây dựng Biểu đồ họat động
1/49
Đoàn Văn Ban
OOA&D with UML
2.1. Giới thiệu
2/50
Đồn Văn Ban
OOA&D with UML
Mục đích chính của UML
1. Mơ hình được các hệ thống và sử dụng được tất cả các khái
niệm hướng đối tượng một cách thống nhất.
2. Cho phép đặc tả, hỗ trợ để đặc tả tường minh mối quan hệ
giữa các khái niệm cơ bản trong hệ thống, đồng thời mơ tả
được mọi trạng thái hoạt động của hệ thống đối tượng.
3. Tận dụng được những khả năng sử dụng lại và kế thừa ở
phạm vi diện rộng để xây dựng được những hệ thống phức
tạp và nhạy cảm như: các hệ thống động, hệ thống thời gian
thực, hệ thống nhúng thời gian thực, v.v.
4. Tạo ra những ngơn ngữ mơ hình hố sử dụng được cho cản
người lẫn máy tính.
3/50
Đoàn Văn Ban
OOA&D with UML
Các phần tử của UML
UML
Các sự vật
Cấu trúc
Hành vi
Các mối quan hệ
Gộp nhóm Chú dẫn
Gói
Ca sử dụng Sự tương tác
Mơ hình
Lớp
Máy trạng
Hệ thống con
Giao diện
thái
Khung cơng việc
Thành phần
Cộng tác
Nút
Các biểu
đồ
Các quan sát
Ca sử dụng Ca sử dụng
Phụ thuộc
Lớp
Logic
Kết hợp
Đối tượng Thành phần
Kết nhập
Tổng qt hố Trình tự Sự tương tranh
Cộng tác
Triển khai
(kế thừa)
Trạng thái
Hoạt động
Thành phần
Triển khai
4/50
Đoàn Văn Ban
OOA&D with UML
Các quan sát (Views)
Quan sát logic
Quan sát thành phần
Quan sát
ca sử dụng
Quan sát triển khai
Quan sát tương tranh
5/50
Đoàn Văn Ban
OOA&D with UML
Các quan sát (Views)
+ Quan sát các ca sử dụng: mô tả các chức năng, nhiệm vụ của hệ
thống, được thể hiện trong các biểu đồ ca sử dụng (Use Case Diagram) và có thể
ở một vài biểu đồ trình tự, cộng tác, v.v.
+ Quan sát logic biểu diễn tổ chức logic của các lớp và các quan hệ của
chúng với nhau, được thể hiện trong các biểu đồ lớp, biểu đồ đối tượng, biểu đồ
tương tác (Collaboration Diagram), biểu đồ biến đổi trạng thái (State Diagram).
+ Quan sát thành phần (quan sát cài đặt) xác định các mô đun vật lý
hay tệp mã chương trình và sự liên hệ giữa chúng để tổ chức thành hệ thống
phần mềm, được thể hiện trong các biểu đồ thành phần (Component Diagram) và
các gói (package).
+ Quan sát tương tranh (quan sát tiến trình) biểu diễn sự phân chia các
luồng thực hiện công việc, các lớp đối tượng cho các tiến trình (process) và sự
đồng bộ giữa các luồng (thread) trong hệ thống.
+ Quan sát triển khai mô tả sự phân bổ tài tài nguyên và nhiệm vụ
trong hệ thống, mô tả các tiến trình và chỉ ra những tiến trình nào trên máy nào.
6/50
Đoàn Văn Ban
OOA&D with UML
Các biểu đồ (Diagrams)
Biểu đồ chứa đựng các nội dung của các quan sát dưới các góc độ khác
nhau và một thành phần của hệ thống có thể xuất hiện trong một hay nhiều biểu
đồ.
+Biểu đồ các ca sử dụng: mô tả sự tương tác giữa các tác nhân ngồi (External
Actor) và hệ thống thơng qua các ca sử dụng. Các ca sử dụng là những nhiệm vụ chính, các
dịch vụ, những trường hợp sử dụng cụ thể mà hệ thống cung cấp cho người sử dụng và
ngược lại.
+Biểu đồ lớp (Class Diagram) mô tả cấu trúc tĩnh, mơ tả mơ hình khái niệm bao
gồm các lớp đối tượng và các mối quan hệ của chúng trong hệ thống hướng đối tượng.
+ Biểu đồ trình tự (Sequence Diagram) thể hiện sự tương tác của các đối tượng
với nhau, chủ yếu là trình tự gửi và nhận thông điệp (message) để thực thi các yêu cầu, các
công việc theo thời gian.
+Biểu đồ cộng tác (Collaboration Diagram) nhấn mạnh vào sự tương tác của các
đối tượng trên cơ sở cộng tác với nhau bằng cách trao đổi các thông điệp để thực hiện các
yêu cầu theo ngữ cảnh công việc .
+ Biểu đồ trạng thái (State Diagram) thể hiện chu kỳ hoạt động của các đối tượng,
của các hệ thống con và của cả hệ thống.
7/50
Đoàn Văn Ban
OOA&D with UML
Các biểu đồ (Diagrams) - TT
+ Biểu đồ hành động (Activity Diagram) chỉ ra dòng hoạt
động của hệ thống , bao gồm các trạng thái hoạt động, trong đó từ
một trạng thái hoạt động sẽ chuyển sang trạng thái khác sau khi một
hoạt động tương ứng được thực hiện .
+ Biểu đồ thành phần (Component Diagram) chỉ ra cấu trúc
vật lý của các thành phần trong hệ thống, bao gồm: các thành phần
mã nguồn, mã nhị phân, thư viện và các thành phần thực hiện được .
+ Biểu đồ triển khai (Deployment Diagram) chỉ ra cách bố trí
vật lý các thành phần theo kiến trúc được thiết kế của hệ thống .
8/50
Đoàn Văn Ban
OOA&D with UML
Các biểu đồ (Diagrams) - TT
9/50
Đoàn Văn Ban
OOA&D with UML
10/50
Đoàn Văn Ban
OOA&D with UML
2.1.1.
Your Experiences, Please!
Defines Who is doing What,
When to do it, and
How to reach a certain goal.
11/50
Đoàn Văn Ban
OOA&D with UML
2.1.1.
12/50
Đoàn Văn Ban
OOA&D with UML
2.1.1.
13/50
Đoàn Văn Ban
OOA&D with UML
2.1.1.
14/50
Đoàn Văn Ban
OOA&D with UML
2.1.1.
15/50
Đoàn Văn Ban
OOA&D with UML
2.1.1.
16/50
Đoàn Văn Ban
OOA&D with UML
2.1.1.
17/50
Đoàn Văn Ban
OOA&D with UML
2.1.2.
18/50
Đoàn Văn Ban
OOA&D with UML
2.2. Biểu đồ Use Case – Phân tích yêu cầu
Nội dung:
+ Mục đích của NSD và sự tương tác của các hệ
thống
+ Con người và các tác nhân của hệ thống
+ Quan hệ mở rộng giữa các Use Cases
+ Quan hệ sử dụng giữa Use Cases
19/50
Đoàn Văn Ban
OOA&D with UML
20/50
Đồn Văn Ban
OOA&D with UML
2.2.1. Use Cases
Use cases mơ tả tập các hoạt động của hệ thống theo quan điểm
của các tác nhân ngồi (Actor). Nó mơ tả các u cầu của hệ
thống và trả lời cho câu hỏi:
Hệ thống phải làm cái gì (What ?). .
Hoạt động
Actor
• “Hoạt động” là các chức năng, nhiệm vụ hay gọi chung là dịch
vụ của hệ thống và nó thường được mơ tả bằng các động từ,
hay mệnh đề động từ đơn, ví dụ: bán hàng, thanh tốn, khởi
động hệ thống, v.v.
• Actor (Tác nhân) là thực thể bên ngồi có tương tác với hệ
thống, bao gồm người, vật, thiết bị hay các hệ thống khác có
trao đổi thơng tin với hệ thống.
21/50
Đồn Văn Ban
OOA&D with UML
2.2.2. Actor
Actor đóng vai trị NSD hoặc là hệ thống khác có quan hệ tương
tác, trao đổi thơng tin với hệ thống cần phát triển.
Ví dụ:
• Giám đốc kinh doanh
• Thương nhân
• Người bán hàng
• Hệ thống kế toán
Một actor trong một Biểu đồ use case có thể đóng nhiều vai trị
sử dụng khác nhau.
Một actor có thể thực hiện nhiều use cases với những vai trò
khác nhau.
22/50
Đồn Văn Ban
OOA&D with UML
Ví dụ:
23/50
Đoàn Văn Ban
OOA&D with UML
2.2.3. Mối quan hệ giữa các Use Cases
1.
Quan hệ Include thể hiện một hoạt động có thể là một phần
chung của một số use cases. Quan hệ này được sử dụng khi
có một UC cần thực hiện lặp lại một số lần (>= 2) trong các
UC riêng biệt, nhưng lại muốn tránh việc viết lại UC đó.
2. Tổng quát hóa Use Case (Generalization) xuất hiện khi có
một use case tương tự như use case khác, nhưng nó làm
nhiều hơn chút ít.
3. Quan hệ Extend để mơ tả sự thay đổi của một UC và muốn
sử dụng dạng mở rộng của nó để thực hiện được nhiều hơn.
Sự mở rộng use case không làm thay đổi được, do vậy cần
thiết phải tạo ra UC con của UC cho trước.
24/50
Đồn Văn Ban
OOA&D with UML
Ví dụ: UC1 <<Includes>> UC2 nếu việc thực hiện UC1 luôn kéo theo việc thực hiện UC2.
Cập nhật danh sách
(UC1)
<<includes>>
Tìm danh sách
(UC2)
Ví dụ: UC1 <<extends>> UC2 nếu UC1 cung cấp thêm chức năng mà UC2 chưa có.
Để đăng nhập được vào một
hệ thống phần mềm, ngồi việc
kiểm tra mật khẩu (password)
còn phải khai báo một số thuộc
tính khác ví dụ như tên NSD
chẳng hạn.
Đăng nhập HT
← Ca sử dụng mở rộng
<<extends>>
Kiểm tra mật khẩu
← Ca sử
dụng cơ sở
25/50