TS. Vũ Chí Cườnghome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/10/... ·...

20
03/05/2018 1 Chương 5. MÔ HÌNH HÓA HÀNH VI TS. Vũ Chí Cường Các phương pháp phân tích và thiết kế hệ thống hiện đại Ni dung Mô hình hóa tương tác Mục đích Các thông điệp Biểu đồ trình tự Mô hình hóa ca sử dụng với biểu đồ trình tự Biểu đồ giao tiếp Mô hình hóa ca sử dụng với biểu đồ tương tác Mô hình hóa ứng xử Mục đích Các sự kiện Các trạng thái Các dịch chuyển Các cái ra Gom nhóm và phân rã trạng thái Biểu đồ trạng thái Mô hình hóa luồng công việc Biểu đồ hoạt động Biểu đồ bao quát tương tác Biểu đồ thời khắc

Transcript of TS. Vũ Chí Cườnghome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/10/... ·...

Page 1: TS. Vũ Chí Cườnghome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/10/... · 03/05/2018 2 Các phương pháp phân tích và thiết kế hệ thống hiện đại

03/05/2018

1

Chương 5. MÔ HÌNH HÓA HÀNH VI

TS. Vũ Chí Cường

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

Nội dung

� Mô hình hóa tương tác• Mục đích• Các thông điệp• Biểu đồ trình tự• Mô hình hóa ca sử dụng với biểu đồ trình tự• Biểu đồ giao tiếp• Mô hình hóa ca sử dụng với biểu đồ tương tác

� Mô hình hóa ứng xử• Mục đích• Các sự kiện• Các trạng thái• Các dịch chuyển• Các cái ra• Gom nhóm và phân rã trạng thái• Biểu đồ trạng thái

� Mô hình hóa luồng công việc• Biểu đồ hoạt động• Biểu đồ bao quát tương tác• Biểu đồ thời khắc

Page 2: TS. Vũ Chí Cườnghome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/10/... · 03/05/2018 2 Các phương pháp phân tích và thiết kế hệ thống hiện đại

03/05/2018

2

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 tương tác

� Mục đích• Dùng các biểu đồ tương tác (biểu đồ trình tự, biểu đồ

giao tiếp) để diễn tả sự tương tác giữa các đối tượngnhằm tạo ra các kịch bản cho mỗi ca sử dụng

• Đề cập đến khía cạnh động của ca sử dụng. Hình thứcchuyển giao giữa các đối tượng/lớp là các thông điệp

• Nguyên tắc chung� Các tác nhân chỉ có thể tương tác (gửi thông điệp) tới các đối

tượng biên� Các đối tượng biên chỉ có thể tương tác tới các đối tượng điều

khiển hay đối tượng biên khác� Các đối tượng điều khiển có thể tương tác với các đối tượng

biên, đối tượng thực thể hay các đối tượng điều khiển khác� Các đối tượng thực thể chỉ có thể tương tác với các đối tượng

thực thể mà thôi

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

Các thông điệp

� Thông điệp (message) là một đặc tả giao lưu giữa hai đốitượng nhằm truyền đạt một số thông tin và/hoặc yêu cầuthực hiện một hành động nào đó thuộc khả năng của bênnhận

� Các hành động có thể• Gọi (call)• Trả lại (return)• Gửi (send)• Tạo lập (create)• Hủy bỏ (destroy)

� Khi một đối tượng nhận được thông điệp, có thể kích hoạtmột thông điệp khác -> lộ trình điều khiển (thread ofcontrol)• Thông điệp đồng bộ• Thông điệp không đồng bộ• Thông điệp mất hút• Thông điệp kiếm được

Page 3: TS. Vũ Chí Cườnghome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/10/... · 03/05/2018 2 Các phương pháp phân tích và thiết kế hệ thống hiện đại

03/05/2018

3

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

Biểu đồ trình tự

� Chủ ý làm nổi bật trình tự theo thời gian của cácthông điệp

� Trình bày một tập đối tượng cùng với một tập cácthông điệp chuyển giao giữa chúng với nhau

� Các đối tượng là các cá thể có tên hay khuyếtdanh của các lớp, có thể là các tác nhân, cácthành phần, các nút.

� Trình tự bố trí• Chiều ngang: là các đối tượng• Chiều dọc: là trục thời gian (đường đời)

� Tiền tố của tên thông điệp• Một biểu thức trình tự ở dạng a• Một điều kiện chọn ở dạng [điều kiện]• Một ký hiệu lặp ở dạng *

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

Ví dụ

Page 4: TS. Vũ Chí Cườnghome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/10/... · 03/05/2018 2 Các phương pháp phân tích và thiết kế hệ thống hiện đại

03/05/2018

4

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

Biểu đồ trình tự

� Chọn hay lặp nhiều thông điệp thì cần đặttrong khung với nhãn all (chọn) hoặc loop(lặp)

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 tương tác ca sử dụng

� Mỗi ca sử dụng có nhiều kịch bản (nhiều luồng điềukhiển)

� Mỗi biểu đồ trình tự chỉ diễn tả một kịch bản (mặc dùcho lặp hay rẽ nhánh)

� Các bước• Xem lại biểu đồ các lớp -> xác định đối tượng nào tham gia

vào kịch bản đang xét• Dàn các đối tượng thành hàng ngang (quan trọng ở bên

trái, phụ trợ ở bên phải, tác nhân ở lề trái)• Vẽ đường đời cho mỗi đối tượng, tác nhân• Xuất phát với thông điệp khởi đầu, bố trí các thông điệp

theo tuần tự. Chỉ rõ các đặc điểm (tham số)• Vẽ thêm các tiến trình điều khiển (nếu cần)• Thêm các ký hiệu ràng buộc thời gian và không gian (nếu

cần)• Thêm các tiền đề, hậu đề (nếu cần)

Page 5: TS. Vũ Chí Cườnghome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/10/... · 03/05/2018 2 Các phương pháp phân tích và thiết kế hệ thống hiện đại

03/05/2018

5

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

Ví dụ

• Xem biểu đồ trình tự trong case study đăng kýhọc

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

Biểu đồ giao tiếp

� Làm nổi bật khung cảnh tổ chức của sự tương tác� Trình bày một tập các đối tượng, các kết nối giữa

các đối tượng cùng với các thông điệp chuyểngiao

� Các thông điệp (kết nối giữa các đối tượng)• Tồn tại liên kết (<<association>>)• Toàn cục (<<global>>)• Cục bộ (<<local>>)• Tham số (<<parameter>>)• Tự gửi (<<self>>)

� Các tính chất thông điệp• {new}: mới tạo lập• {destroyed}: hủy bỏ• {transcient}: được lập trong thời gian thực hiện, xong

hủy bỏ

Page 6: TS. Vũ Chí Cườnghome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/10/... · 03/05/2018 2 Các phương pháp phân tích và thiết kế hệ thống hiện đại

03/05/2018

6

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

Cú pháp tên thông điệp

• Bước trước: danh sách các số thứ tự, cáchnhau dấu phẩy, kết thúc dấu /

• Biểu thức trình tự: kết thúc dấu :� Thứ tự của thông điệp� Diễn tả điều kiện chọn, thông điệp lặp

• Trả lời: tên của kết quả trả về bên gửi• Tên thông điệp(Ds tham số)

[Bước trước] [Biểu thức trình tự] [Trả lời] := [Tên thông điệp(Ds tham số)

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

Ví dụ

Page 7: TS. Vũ Chí Cườnghome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/10/... · 03/05/2018 2 Các phương pháp phân tích và thiết kế hệ thống hiện đại

03/05/2018

7

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

Cách thức xây dựng

� Xem lại biểu đồ lớp: Xác định cá thể tham gia thực sự� Vẽ các đối tượng như là đỉnh của biểu đồ. Các đối

tượng quan trọng ở giữa, các đối tượng khác ở xungquanh

� Gán tính chất cho đối tượng (thông điệp<<become>>, <<copy>>)

� Xác định kết nối giữa các đối tượng (thông điệp<<global>>, <<local>>)

� Xuất pháp với thông điệp khởi đầu tương tác, bố trílần lượt các thông điệp kế tiếp, thêm số thứ tự thíchhợp

� Thêm các ràng buộc về không gian và thời gian (nếucần)

� Thêm tiền đề và hậu đề (nến cần)

Page 8: TS. Vũ Chí Cườnghome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/10/... · 03/05/2018 2 Các phương pháp phân tích và thiết kế hệ thống hiện đại

03/05/2018

8

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

Ví dụ

� Xem case study

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

Điều chỉnh cấu trúc và tương tác

� Thêm bớt các lớp� Thêm và chỉnh lý các thao tác (hành vi) trong

các lớp• Thông lệ: tương ứng giữa thông điệp và hành vi• Ngoại lệ:

� Thông điệp đến một tác nhân� Thông điệp đến một lớp giao diện� Các thao tác riêng tư

� Thêm các kiểu cho các thuộc tính, các thamsố, các trả lời (không cần sử dụng tên kiểucủa ngôn ngữ lập trình)

� Thêm và chỉnh lý các mối liên quan giữa cáclớp

Page 9: TS. Vũ Chí Cườnghome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/10/... · 03/05/2018 2 Các phương pháp phân tích và thiết kế hệ thống hiện đại

03/05/2018

9

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 sự ứng xử

� Mục đích• Phân biệt 2 loại đối tượng

� Đối tượng bị động� Đối tượng chủ động

• Mô hình hóa sự ứng xử là mô tả cách phản ứngcủa các đối tượng chủ động trước các sự kiện(thông điệp) đến với chúng

• Công cụ mô tả: Biểu đồ trạ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 sự kiện

� Sự kiện gọi (call event)� Sự kiện tín hiệu (signal event)� Sự kiện thời gian� Sự kiện thay đổi

Page 10: TS. Vũ Chí Cườnghome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/10/... · 03/05/2018 2 Các phương pháp phân tích và thiết kế hệ thống hiện đại

03/05/2018

10

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

Các trạng thái

� Trạng thái (state) của một đối tượng làtập hợp các giá trị thuộc tính và kết nối cóthể có mà đối tượng có thể nhận

� Các đặc điểm• Tính hữu hạn• Tính kéo dài theo thời gian• Tính ổn định

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

Các dịch chuyển

� Dịch chuyển là một sự thay đổi trạng thái� Dịch chuyển cần có sự kiện kích thích

Page 11: TS. Vũ Chí Cườnghome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/10/... · 03/05/2018 2 Các phương pháp phân tích và thiết kế hệ thống hiện đại

03/05/2018

11

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

Các cái ra

� Hành động gắn với bướcdịch chuyển tới trạng thái(hđ1);

� Hành động khi vào trạngthái (hđ2);

� Hoạt động định sẵn trongtrạng thái (hđ3);

� Hành động gắn với các sựkiện trong (hđ4);

� Hành động khi ra khỏitrạng thái (hđ5);

� Hành động gắn với bướcdịch chuyển tới một trạngthái khác (hđ6).

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

Ví dụ

Page 12: TS. Vũ Chí Cườnghome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/10/... · 03/05/2018 2 Các phương pháp phân tích và thiết kế hệ thống hiện đại

03/05/2018

12

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

Ví dụ

� Xem case study

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

Góm nhóm và phân rã trạng thái

� Khái quát hóa (generalization) và chuyênbiệt hóa (specialization)• Khái quát hóa là gom nhóm một số trạng thái

vào thành một trạng thái

� Kết nhập trạng thái

Page 13: TS. Vũ Chí Cườnghome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/10/... · 03/05/2018 2 Các phương pháp phân tích và thiết kế hệ thống hiện đại

03/05/2018

13

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 ứng xử bằng Biểu đồ máy trạng thái

� Các đối tượng chủ động mới cần mô tả sự ứng xửvới biểu đồ trạng thái

� Quy trình• Tìm các trạng thái

� Trạng thái là một giai đoạn ổn định -> vì vậy phát hiện từ tàiliệu, báo cáo, chuyên gia

� Trạng thái là sự phản ánh các giá trị thuộc tính, kết nối -> căncứ vào giá trị ngưỡng

� Căn cứ vào biểu đồ trình tự.• Tổ chức các trạng thái thành biểu đồ (bổ sung các dịch

chuyển giữa các trạng thái với các sự kiện tương ứng� Biểu diễn dãy trạng thái mô tả cho hành vi chính danh� Bổ sung dần các dịch chuyển tương ứng với các lối rẽ� Bổ sung dần các dịch chuyển tương ứng với các hành vi sai lỗi� Thêm các hành động và các hoạt động� Gom nhóm hay phân rã các trạng thái (nếu cần)

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

Các câu hỏi để xác định trạng thái và sự kiện

� Một đối tượng có thể ở những trạng thái nào?� Những sự kiện nào có thể xuất hiện?� Những trạng thái mới nào sẽ xuất hiện?� Ở mỗi trạng thái, hoạt động của đối tượng là

gì?� Sự tương tác giữa các đối tượng là gì?� Những sự kiện, hay chuyển đổi trạng thái nào

là không thể xảy ra?� Cái gì làm cho đối tượng được tạo ra?� Cái gì làm cho đối tượng bị hủy bỏ?

Page 14: TS. Vũ Chí Cườnghome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/10/... · 03/05/2018 2 Các phương pháp phân tích và thiết kế hệ thống hiện đại

03/05/2018

14

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

Đối chiếu biểu đồ máy trạng thái với các biểu đồ tương tác

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

Đối chiếu các mô hình động với mô hình tĩnh

� Đối với các biểu đồ• Một thông điệp có thể là một lời gọi tới một thao tác

(hành vi) có trong một đối tượng (bên nhận), phát ra từmột thao tác (hành vi) của một đối tượng khác (bên gửi)

• Một sự kiện hoặc một hành động trên một dịch chuyểncó thể là một lời gọi tới một thao tác (hành vi)

• Một hoạt động trong một trạng thái có thể xem là sựthực hiện của một thao tác phức tạp hoặc một sự tiếpnối nhiều thao tác.

� Đối với các thuộc tính và các liên kết• Một điều kiện cảnh giới hoặc một sự kiện thay đổi có thể

đề cập các thuộc tính hoặc các kết nối tĩnh• Một hành động trên một dịch chuyển có thể đề cập các

thuộc tính hoặc các kết nối tĩnh• Một tham số của một thông điệp có thể là một thuộc

tính hoặc một đối tượng trọn vẹn

Page 15: TS. Vũ Chí Cườnghome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/10/... · 03/05/2018 2 Các phương pháp phân tích và thiết kế hệ thống hiện đại

03/05/2018

15

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

Ví dụ - Hệ thống vận chuyển hàng hóa

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ành vi với các biểu đồ khác

� Biểu đồ hoạt động• Là biểu đồ mô tả một nội dung hoạt động theo

các luồng đi từ công việc này đến công việckhác.

• Thường dùng để diễn tả logic của một ca sửdụng, một kịch bản, một nhóm ca sử dụng,một quy tắc hay một thao tác phức tạp

• Các hoạt động và dịch chuyển� Hoạt động (activity)

� Dịch chuyển (Transision)� Các cảnh giới� Các thanh đồng bộ hóa

Page 16: TS. Vũ Chí Cườnghome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/10/... · 03/05/2018 2 Các phương pháp phân tích và thiết kế hệ thống hiện đại

03/05/2018

16

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ành vi với các biểu đồ khác

� Biểu đồ hoạt động• Là biểu đồ mô tả một nội dung hoạt động theo

các luồng đi từ công việc này đến công việckhác.

• Thường dùng để diễn tả logic của một ca sửdụng, một kịch bản, một nhóm ca sử dụng,một quy tắc hay một thao tác phức tạp

• Các hoạt động và dịch chuyển� Hoạt động (activity)� Dịch chuyển (Transision)

� Các cảnh giới� Các thanh đồng bộ hóa

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

Tuyến công việc

� Tuyến công việc (đường bơi) dùng để phânhoạch các hoạt động theo nhóm đối tượnghay theo tuyến hoạt động của đối tượng

� Giưa các tuyến có sự chuyển đổi thông tin vớinhau

Page 17: TS. Vũ Chí Cườnghome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/10/... · 03/05/2018 2 Các phương pháp phân tích và thiết kế hệ thống hiện đại

03/05/2018

17

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ành vi với các biểu đồ khác

� Biểu đồ hoạt động• Là biểu đồ mô tả một nội dung hoạt động theo

các luồng đi từ công việc này đến công việckhác.

• Thường dùng để diễn tả logic của một ca sửdụng, một kịch bản, một nhóm ca sử dụng,một quy tắc hay một thao tác phức tạp

• Các hoạt động và dịch chuyển� Hoạt động (activity)� Dịch chuyển (Transision)� Các cảnh giới

� Các thanh đồng bộ hóa

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ành vi với các biểu đồ khác

� Biểu đồ hoạt động• Là biểu đồ mô tả một nội dung hoạt động theo

các luồng đi từ công việc này đến công việckhác.

• Thường dùng để diễn tả logic của một ca sửdụng, một kịch bản, một nhóm ca sử dụng,một quy tắc hay một thao tác phức tạp

• Các hoạt động và dịch chuyển� Hoạt động (activity)� Dịch chuyển (Transision)� Các cảnh giới� Các thanh đồng bộ hóa

Page 18: TS. Vũ Chí Cườnghome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/10/... · 03/05/2018 2 Các phương pháp phân tích và thiết kế hệ thống hiện đại

03/05/2018

18

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

Ví dụ

Page 19: TS. Vũ Chí Cườnghome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/10/... · 03/05/2018 2 Các phương pháp phân tích và thiết kế hệ thống hiện đại

03/05/2018

19

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 hoạt động với các biểu đồ khác

� Biểu đồ bao quát tương tác• Interation Overview Diagram là biến thể của

biểu đồ hoạt động• Mỗi nút là một khung

� Khung tương tác: biểu đồ trình tự, biểu đồ giao tiếp,biểu đồ thời khắc, biểu đồ bao quát tương tác

� Khung tương tác cụ thể: chỉ ra một hoạt động hoặcmột thao tác được gọi.

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

Ví dụ

Page 20: TS. Vũ Chí Cườnghome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/10/... · 03/05/2018 2 Các phương pháp phân tích và thiết kế hệ thống hiện đại

03/05/2018

20

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 hoạt động với các biểu đồ khác

� Biểu đồ thời khắc• Timing Diagram• Diễn tả hành vi của một hay nhiều đối tượng

bằng cách chỉ ra các giai đoạn trải qua trongthời gian