You are on page 1of 29

PHÂN TÍCH, THIẾT KẾ HỆ THỐNG THÔNG TIN

v Giảng viên: ThS. Nguyễn Đức Hiếu


v Khoa: Công nghệ thông tin
v Bộ môn: Khoa học máy tính
v Email: nguyenduchieu247@gmail.com
v Mobile: 0968.240.787
Mục tiêu

v Hiểu được các khái niệm cơ sở cho khung nhìn tương tác.
v Hiểu được vai trò của Biểu đồ tương tác trong UML.
v Nắm được các thành phần chính trong Biểu đồ tuần tự và
Biểu đồ giao tiếp.
v Có khả năng đọc hiểu Biểu đồ tuần tự và Biểu đồ giao tiếp.
v Phân biệt được Biểu đồ tuần tự và Biểu đồ giao tiếp.

2
Các đối tượng tương tác với nhau như thế nào?

v Tương tác (interaction) là hành vi được mô tả bằng chuỗi thông điệp


trao đổi giữa các đối tượng trong một khung cảnh tương tác được xác
định bởi một cộng tác.
v Các đối tượng tương tác với nhau thông qua các thông điệp.
• Thông điệp (message) là sự giao tiếp một chiều giữa hai đối tượng ở dạng luồng
điều khiển cùng với các thông tin đính kèm từ đối tượng gửi đến đối tượng nhận.
• Thông điệp là cơ chế giao tiếp giữa các đối tượng, nó thường là một yêu cầu để thực
thi một phương thức (Craig Larman, 2004).
• Một thông điệp cho biết làm thế nào một đối tượng yêu cầu một đối tượng khác thực
hiện hành động.

3
Các đối tượng cần phải cộng tác với nhau
v Các đối tượng sẽ trở nên vô nghĩa nếu chúng không cộng tác với nhau
để giải quyết vấn đề.
• Mỗi đối tượng có trách nhiệm quản lý hành vi và trạng thái của nó.
• Không một ai, không một đối tượng nào làm được mọi việc.
v Cộng tác (collaboration) là hai hoặc nhiều đối tượng tham gia vào một
quan hệ client/server để cung cấp một dịch vụ (Craig Larman, 2004).
v Một cộng tác là một mô tả về một tập hợp các đối tượng tương tác với
nhau để thực hiện một số hành vi trong một khung cảnh tương tác
(James Rumbaugh et al. 2004).
• Một cộng tác chứa các vai trò (role) được biểu diễn bởi các đối tượng tại run time,
một vai trò đại diện cho một mô tả về một đối tượng có thể tham gia vào quá trình
thực thi cộng tác.
• Một đường kết nối (connector) đại diện cho một mô tả về một liên kết (association)
giữa hai vai trò của cộng tác. 4
Ví dụ: A collaboration for a ticket sale

5
Biểu đồ tương tác (interaction diagram)

v Mô hình hoá phương diện động của hệ thống, mô tả


tương tác giữa các đối tượng.
v Thường dùng để mô tả kịch bản của ca sử dụng.
v Biểu đồ tương tác là thuật ngữ chung cho các biểu đồ thể
hiện sự tương tác giữa các đối tượng:
• Biểu đồ tuần tự.
• Biểu đồ giao tiếp.

6
Xây dựng biểu đồ tương tác như thế nào?

v Dựa trên luồng các sự kiện.


v Các bước:
• Xác định các đối tượng tham gia vào tương tác.
• Xác định các tác nhân tham gia vào tương tác.
• Xác định các thông điệp (biểu đồ tuần tự), các liên kết (biểu đồ
giao tiếp).
v Hình thành biểu đồ tương tác:
• Mức cao: Chỉ ra hệ thống giao tiếp như thế nào?
• Mức thấp: Chỉ ra các đối tượng nào cần tham gia vào kịch bản?

7
Xác định các tác nhân tham gia vào tương tác

v Tác nhân trong biểu đồ tương tác -> kích hoạt từ bên ngoài
hệ thống để khởi động luồng các sự kiện.
v Tìm kiếm các tác nhân trong luồng các sự kiện.
v Có thể có nhiều tác nhân trong một biểu đồ tương tác.
v Nếu một tác nhân gửi/nhận thông điệp tới/từ hệ thống theo
một kịch bản xác định thì tác nhân này phải xuất hiện trong
biểu đồ tương tác của kịch bản đó.

8
Biểu đồ tuần tự (Sequence Diagram - SD)
v Một loại biểu đồ tương tác, mô tả mô hình tương tác giữa các object.
v Nhấn mạnh vào trình tự thời gian của các thông điệp trao đổi
giữa các đối tượng.
v Biểu đồ tuần tự chỉ ra:
• Các đối tượng tham gia vào tương tác.
• Thời gian sống của các đối tượng.
• Trình tự các thông điệp được trao đổi.
v Đọc biểu đồ tuần tự từ đỉnh xuống đáy.

9
Ví dụ: SD for “Register for Course”,
“Create a Schedule” sub-flow

10
Đối tượng trong biểu đồ tuần tự

v Đối tượng (object): Biểu diễn bởi một hình chữ nhật.

11
Tác nhân trong biểu đồ tuần tự

12
Thông điệp trong biểu đồ tuần tự

v Thông điệp (message): Biểu diễn bởi một đường mũi tên
hướng từ đối tượng gửi sang đối tượng nhận.

13
Các loại thông điệp
v Thông điệp đồng bộ (synchronous message): Sự giao tiếp hai chiều, đối
tượng gửi thông điệp sẽ chờ đối tượng nhận thông điệp phản hồi và sẽ
không gửi thông điệp khác cho đến khi nhận được phản hồi.
• Biểu diễn bởi một đường mũi tên được tô đặc.
v Thông điệp không đồng bộ (asynchronous message): Sự giao tiếp một
chiều, tiếp tục hành động tiếp theo (gửi thông điệp khác) mà không chờ đối
tượng nhận thông điệp phản hồi.
• Biểu diễn bởi một đường mũi tên không được tô đặc.
v Thông điệp trả về (return message): Thông điệp trả lời lại khi nhận được
một request hoặc sau khi kiểm tra tính đúng đắn của một điều kiện nào đó.
• Biểu diễn bởi một đường mũi tên nét đứt đầu mũi tên không được tô đặc.
v Thông điệp gọi chính nó (self-call message): Đối tượng gửi thông điệp
cho chính nó để thực hiện các hàm nội tại.
v Thông điệp tạo mới (create message): <<create>>

v Thông điệp huỷ (destroy message): <<destroy>> 14


Kích hoạt trong biểu đồ tuần tự

v Kích hoạt (activation): Chỉ ra khoảng thời gian mà một thao tác
được thực hiện.

15
Khung tương tác trong biểu đồ tuần tự

16
Các loại toán tử trong khung tương tác

v alt: Khung nhiều lựa chọn.


v opt: Tuỳ chọn, chỉ thực hiện khi điều kiện được thoả mãn.
v par: Song song, mỗi khung chạy song song.
v loop: Lặp lại, khung có thể được thực hiện nhiều lần.
v region: Vùng then chốt, tại một thời điểm chỉ có một luồng chạy nó.
v ref: Tham chiếu đến một tương tác khác trong biểu đồ khác, vẽ
trùm trên các lifetime liên quan, có thể có tham số và giá trị trả về.

17
Ví dụ: Các khung tương tác

18
Biểu đồ giao tiếp (Communication Diagram - CD)

v Một loại biểu đồ tương tác.


v Nhấn mạnh vào việc tổ chức các đối tượng tham gia vào tương tác.
v Biểu đồ giao tiếp chỉ ra:
• Các đối tượng tham gia vào tương tác.
• Các liên kết giữa các đối tượng.
• Các thông điệp trao đổi giữa các đối tượng.

19
Ví dụ: CD for “Register for Course”,
“Create a Schedule” sub-flow

20
Đối tượng trong biểu đồ giao tiếp

21
Tác nhân trong biểu đồ giao tiếp

22
Các liên kết và các thông điệp
trong biểu đồ giao tiếp

23
Sự giống nhau giữa SD và CD

v Tương đương về ngữ nghĩa:


• Cùng đưa ra thông tin về sự tương tác giữa các đối tượng thông
qua các thông điệp.
• Có thể chuyển đổi giữa hai loại biểu đồ mà không làm mất mát
thông tin.
v Mô hình hoá phương diện động của hệ thống.
v Mô hình hoá kịch bản ca sử dụng.

24
Sự khác nhau giữa SD và CD

v Biểu đồ tuần tự: v Biểu đồ giao tiếp:


• Chỉ ra thứ tự rõ ràng của các • Chỉ ra mối quan hệ rõ ràng giữa
thông điệp. các đối tượng.
• Thể hiện luồng công việc tốt • Thể hiện quá trình giao tiếp tốt
hơn. hơn.
• Mô hình hoá trực quan hơn toàn • Mô hình hoá trực quan hơn tất cả
bộ luồng thực thi (theo thời gian). các ảnh hưởng của đối tượng.
• Thể hiện tốt hơn đối với các đặc • Thể hiện rõ hơn hiệu quả của
tả thời gian thực và các kịch bản quá trình tương tác trên từng đối
phức tạp. tượng.

25
Biểu đồ trình tự hệ thống
System Sequence Diagram - SSD

v Biểu đồ trình tự hệ thống là một chế tác được tạo một cách
nhanh chóng và dễ dàng để biểu diễn các sự kiện đầu vào và đầu
ra liên quan đến hệ thống đang phát triển (Craig Larman, 2004).
v Biểu đồ trình tự hệ thống chỉ ra:
• Luồng các sự kiện cụ thể trong một ca sử dụng.
• Các tác nhân bên ngoài tương tác trực tiếp với hệ thống.
• Hệ thống (như một hộp đen) và các sự kiện hệ thống mà các tác
nhân sinh ra.
v Biểu đồ trình tự hệ thống được sử dụng để đặc tả các kịch bản
của ca sử dụng.
• Thứ tự của các sự kiện -> thứ tự của chúng trong kịch bản.
26
Ví dụ: SSD for a Process Sale scenario

27
Bài tập

1. Vẽ biểu đồ tuần tự cho UC “Rút tiền” của một hệ thống máy


rút tiền tự động ATM.
2. Vẽ biểu đồ giao tiếp cho UC “Rút tiền” của một hệ thống máy
rút tiền tự động ATM.
3. Vẽ biểu đồ tuần tự cho UC “Tìm kiếm sản phẩm” của một
website bán hàng.
4. Vẽ biểu đồ giao tiếp cho UC “Tìm kiếm sản phẩm” của một
website bán hàng.
5. Vẽ biểu đồ trình tự hệ thống cho UC “Register for Course”
của hệ thống quản lý đăng ký môn học tại Học viện Kỹ thuật
mật mã. 28

You might also like