phân tích kiến trúc - nhuloan.weebly.com · kịch bản (scenario): hiện thực của...

30
Phân tích kiến trúc

Upload: others

Post on 30-Aug-2019

11 views

Category:

Documents


0 download

TRANSCRIPT

Phân tích kiến trúc

5 – Interaction Diagram – Class Diagram

Nội dung trước

2

Quản lý yêu cầu:

Giới thiệu

Chi tiết quản lý yêu cầu

Các kỹ năng

Mô hình hoá đối tượng

Class & Class Diagram

5 – Interaction Diagram – Class Diagram 3

Nội dung

Use-case Realization

Class Diagram

Interaction Diagram

Sequence Diagram

Collaboration Diagram

5 – Interaction Diagram – Class Diagram

Phân tích thiết kế hướng đối tượng

Việc phân tích thiết kế hướng đối tượng được hệ thống hóa như sau:

Phân tích Use case :

Tìm Actor

Tìm Use case

Xây dựng biểu đồ Use case

Tìm lớp:

Lớp

Gói

Xây dựng biểu đồ lớp

Xây dựng biểu đồ đối tượng

Phân tích sự tương tác giữa các đối tượng

Kịch bản

Xây dựng biểu đồ trình tự

Xây dựng biểu đồ hợp tác

4

5 – Interaction Diagram – Class Diagram

Phân tích thiết kế hướng đối tượng

Xác định quan hệ giữa các đối tượng

Quan hệ Association

Quan hệ Generalization

Quan hệ Dependency

Quan hệ Realization

Thêm vào các thuộc tính và phương thức cho các lớp

Xác định ứng xử của đối tượng

Xây dựng biểu đồ chuyển trạng

Xây dựng biểu đồ hoạt động

Xác định kiến trúc của hệ thống

Xây dựng biểu đồ thành phần

Xây dựng biểu đồ triển khai.

Kiểm tra lại mô hình.

5

5 – Interaction Diagram – Class Diagram

Xây dựng biểu đồ tương tác

6

Bắt đầu từ luồng sự kiện

Xây dựng từng biểu đồ cho

Luồng chính, luồng thay thế, luồng lỗi

Có thể gộp nếu luồng thay thế hay luồng lỗi tương tự

nhau

Sử dụng mẫu (Pattern) xây dựng Interaction Diagram

giảm thời gian

Các mẫu chung: Khai thác CSDL, quản lý lỗi,…

Các bước xây dựng:

Tìm kiếm đối tượng

Tìm kiếm tác nhân

Bổ sung messege

5 – Interaction Diagram – Class Diagram

Tìm kiếm đối tượng

7

Khảo sát các danh từ trong luồng sự kiện

Tìm đối tượng trong tài liệu kịch bản

Kịch bản (scenario): hiện thực của luồng sự kiện

Mỗi luồng có nhiều scenario

Mỗi UC có thể có nhiều Interaction diagram

Tìm đối tượng không được mô tả trong luồng sự kiện

Các đối tượng cho phép tác nhân nhập và quan sát thông tin

Các đối tượng tham gia điều khiển trình tự luồng xuyên qua UC

Tìm đối tượng tương ứng với khái niệm trừu tượng

5 – Interaction Diagram – Class Diagram

Tìm kiếm đối tượng

8

Các biểu đồ:

Mức cao: chỉ ra hệ thống giao tiếp như thế nào

Mức thấp: để chỉ ra lớp nào cần tham gia vào scenario

Các nhóm đối tượng được phân ra:

Entity:

• Lưu trữ thông tin, có thể ánh xạ sang bảng (trường của

CSDL)

• Nhiều danh từ trong luồng sự kiện thuộc loại này

Boundary:

• Tại biên hệ thống và thế giới ngoài (Interface)

Control:

• Bổ sung, không thực hiện chức năng nghiệp vụ

• Điều phối các đối tượng và điều khiển toàn bộ luồng logic.

5 – Interaction Diagram – Class Diagram

Tìm kiếm các tác nhân

Xác định đối tượng tìm kiếm tác nhân

Tác nhân: là sự kích hoạt từ ngoài để khởi

động luồng công việc và luồng sự kiện

Tìm kiếm tác nhân trong luồng sự kiện

Ai hay cái gì khởi xướng tiến trình?

Có thể có nhiều tác nhân nhận và gửi

message cho hệ thống

9

5 – Interaction Diagram – Class Diagram

Xây dựng biểu đồ tương tác

Các thành phần của Interaction Diagram

Objects

• Biểu đồ tương tác sử dụng tên đối tượng, tên lớp

hay cả hai

Messages

• Thông qua message. Một đối tượng hay lớp có thể

yêu cầu lớp hay đối tượng khác thực hiện vài chức

năng cụ thể

Links

• Quan hệ kết hợp giữa các đối tượng

Notes: chú thích và ràng buộc

10

5 – Interaction Diagram – Class Diagram

Xây dựng biểu đồ tương tác – Interaction Diagram

Biểu đồ tương tác: gán trách nhiệm cho đối tượng

Gán trách nhiệm cho đối tượng nhận message

Gán trách nhiệm cho đối tượng phải phù hợp

Dựa trên các loại lớp để cân nhắc hình thành trách nhiệm

cho chúng

Entity: lưu trữ thông tin, thực hiện chức năng nghiệp vụ

Boundary: form, windows, interface

Control: theo dõi trình tự thực hiện

11

5 – Interaction Diagram – Class Diagram

Biểu đồ trình tự - Sequence Diagram

Sequence là biểu đồ theo thứ tự thời gian

Đọc từ đỉnh xuống đáy

Đọc biểu đồ bằng quan sát các đối tượng và thông

điệp

Vòng đời đối tượng (Lifeline)

• Bắt đầu khi hình thành, kết thúc khi phá hủy

• Message được vẽ giữa 2 đối tượng: đối tượng gọi

hàm đối tượng khác

• Messge phản thân

12

5 – Interaction Diagram – Class Diagram

Ví dụ

13

5 – Interaction Diagram – Class Diagram

Ví dụ

14

Sequence Diagram cho hoạt động rút tiền ở ATM

5 – Interaction Diagram – Class Diagram

Sequence Diagram

Trục tọa độ, trục ngang thể hiện các đối tượng, trục đứng thể hiện thời gian.

Chúng ta, dễ dàng nhận thấy các đối tượng tương tác với nhau theo tuần tự các bước để hình thành nên chức năng của hệ thống.

Object mô tả một đối tượng trong hệ thống. Để phân biệt với Class, Object có dấu “:” phía trước tên của nó

Đường gạch chấm bên dưới đối tượng thể hiện thời gian sống của đối tượng.

Mũi tên thể hiện thông điệp từ một đối tượng này tương tác với một đối tượng khác.

15

5 – Interaction Diagram – Class Diagram

Ví dụ

Thiết kế Sequence Diagram cho use case “Xem sản phẩm theo loại”

16

5 – Interaction Diagram – Class Diagram

Ví dụ

17

5 – Interaction Diagram – Class Diagram

Mô tả đối tượng

Đặc tả đối tượng

Đặt tên

Ánh xạ lớp

Detail / Persistent

Multiplicity

18

5 – Interaction Diagram – Class Diagram

Các đối tượng trong biểu đồ

19

Đặt tên đối tượng

Ánh xạ đối tượng sang lớp

Có thể ánh xạ sang lớp mới hay lớp có sẵn

Lựa chọn duy trì đối tượng

Persistent: có thể lưu trữ vào CSDL hay dạng khác

Static: tồn tại trong bộ nhớ cho đến khi chương trình kết

thúc

Transient: tồn tạo trong bộ nhớ khoảng thời gian ngắn

Đa thực hiện (Multiple Instance)

5 – Interaction Diagram – Class Diagram

Xây dựng biểu đồ

Sau khi vẽ đối tượng:

Vẽ liên kết các đối tượng

Bổ sung message

Đặc tả thông điệp

Đặt tên

Ánh xạ vào thao tác

Đặt tính đồng bộ

Đặt tần số

20

5 – Interaction Diagram – Class Diagram

Xây dựng biểu đồ

Đặc tả message

Đặt tên: chỉ mục tiêu thông điệp

Ánh xạ thông điệp vào thao tác

• Trước khi phát sinh mã trình phải ánh xa mọi thông điệp

vào thao tác

Đặt tần số cho thông điệp

• Đánh dấu thông điệp sẽ được gởi đều đặn (mỗi 30s)

• Có 2 loại

– Periodic: message được gởi đều đặn theo chu kỳ

– Aperiodic: không được gởi đều đặn mà chỉ được gởi

1 lần hay theo thời điểm không đều

Đặc tả đặc tính tương tranh cho message

21

5 – Interaction Diagram – Class Diagram

Đặc tả tính tương tranh cho mesage

Đơn (Simple): mặc định, message chạy trong tiến trình đơn

Đồng bộ (Synchronous): client gởi message, chờ khi supllier

xử lý xong

Cản trở (Balking/Rendez-vous): client gửi message, supplier

không sẵn sàng xử lý ngay message hủy bỏ

Hết hạn (Timeout): client gửi message chờ supplier xử lý sau

một khoảng thời gian, nếu không xử lý hủy message

Dị bộ (Asynchronous): client gửi message rồi tiếp tục thao tác

khác không chờ đến khi supplier xử lý xong.

Lời gọi thủ tục (Procedure call): chờ đến khi mọi trình tự lặp

của message được xử lý xong. (mũi tên đặc)

Trả về (Return): trở về từ lời gọi thủ tục (mũi tên nét đứt)

22

5 – Interaction Diagram – Class Diagram

Các loại đồng bộ thông điệp

23

5 – Interaction Diagram – Class Diagram

Lifetime trong biểu đồ trình tự

24

5 – Interaction Diagram – Class Diagram

Script trong biểu đồ trình tự

1996 Buschman bổ sung script cho sequence diagram trong UML

Diển tả chú thích, làm rõ các thông điệp

Diễn tả điều kiện logic trong biểu đồ

25

5 – Interaction Diagram – Class Diagram

Script trong biểu đồ

26

5 – Interaction Diagram – Class Diagram

Biểu đồ cộng tác

Collaboration diagram: chỉ ra luồng thực hiện trong kịch

bản của UC

Tập trung vào:

Quan hệ giữa các đối tượng

Cấu trúc tổ chức các đối tượng

Luồng dữ liệu trong kịch bản

Tương đối khó quan sát trình tự các thông điệp

Nên thường phải đi kèm Sequence diagram

Chuyển đổi qua lại bằng phím F5

27

5 – Interaction Diagram – Class Diagram

Ví dụ

28

Thực hành

29

5 – Interaction Diagram – Class Diagram

Thực hành

Làm việc với công cụ Rational Rose

Class Diagram (xem demo)

Interaction Diagram

Sequence Diagram (xem demo)

Collaboration Diagram(xem demo)

30