activity, state, component, deployment diagram · 6 – activity, state, component, deployment...

45
Activity, State, Component, Deployment Diagram

Upload: others

Post on 01-Sep-2019

33 views

Category:

Documents


1 download

TRANSCRIPT

Activity, State, Component, Deployment Diagram

6 – Activity, State, Component, Deployment Diagram 2

Nội dung trước

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

Các biểu đồ

Class Diagram

Interaction Diagram

Sequence Diagram

Collaboration Diagram

6 – Activity, State, Component, Deployment Diagram 3

Nội dung trước

Các biểu đồ

Activity Diagram

State Diagram

Component Diagram

Deployment Diagram

6 – Activity, State, Component, Deployment Diagram

Activity Diagram (AD)

Activity Diagram là bản vẽ tập trung vào mô tả các hoạt

động, luồng xử lý bên trong hệ thống. Nó có thể được

sử dụng để mô tả các qui trình nghiệp vụ trong hệ

thống, các luồng của một chức năng hoặc các hoạt động

của một đối tượng.

4

6 – Activity, State, Component, Deployment Diagram

Ví dụ

5

Activity Diagram về

hoạt động

rút tiền từ ATM

6 – Activity, State, Component, Deployment Diagram

Ký hiệu

Nút Start, End

Start thể hiện điểm bắt đầu qui trình

End thể hiện điểm kết thúc qui trình.

Activity: mô tả một hoạt động trong hệ thống. Các hoạt

động này do các đối tượng thực hiện.

6

6 – Activity, State, Component, Deployment Diagram

Ký hiệu

7

Biểu đồ hoạt động chỉ mô tả điều gì xảy ra chứ không mô tả ai làm gì. Nếu muốn chỉ ra ai làm gì thì có thể phân chia thành các phần bao gồm các hoạt động do ai làm. Có thể phân chia theo một chiều (hàng hoặc cột) hoặc hai chiều (cả hàng và cột)

Swimlance :được dùng để xác định đối tượng nào tham gia hoạt động nào trong một qui trình. Ví dụ ở trên

Customer thì Insert Card còn ATM Machine thì Show Balance.

6 – Activity, State, Component, Deployment Diagram

Ký hiệu

Branch: thể hiện rẽ nhánh trong mệnh đề điều kiện.

Fork: thể hiện cho trường hợp thực hiện xong một hoạt động rồi sẽ rẽ nhánh tthực hiện nhiều hoạt động tiếp theo.

8

6 – Activity, State, Component, Deployment Diagram

Ký hiệu

Join: Cùng ký hiệu với Fork nhưng thể hiện trường hợp phải thực hiện hai hay nhiều hành động trước rồi mới thực hiện hành động tiếp theo.

9

6 – Activity, State, Component, Deployment Diagram

Cách xây dựng Activity Diagram

Bước 1: Xác định các nghiệp vụ cần mô tả

Xem xét bản vẽ Use Case để xác định nghiệp vụ nào bạn cần mô tả.

Bước 2: Xác định trạng thái đầu tiên và trạng thái kết thúc

Bước 3: Xác định các hoạt động tiếp theo

Xuất phát từ điểm bắt đầu, phân tích để xác định các hoạt động tiếp theo cho đến khi gặp điểm kết thúc để hoàn tất bản vẽ này.

Bạn có thể hỏi chuyên gia, học hệ thống tương tự, hỏi khách hàng để nắm rõ về qui trình của hệ thống.

10

6 – Activity, State, Component, Deployment Diagram

Ví dụ thực hành

Vẽ Activity diagram cho Use case Đăng ký môn học và hủy môn học. Người dùng sẽ chọn chức năng muốn thực thi, nếu đăng ký môn học, hệ thống sẽ check xem SV có thỏa điều kiện các môn tiên quyết và TKB có bị trùng không trước khi chấp nhận cho đăng ký.

11

6 – Activity, State, Component, Deployment Diagram

AD for Register for course use case

12

6 – Activity, State, Component, Deployment Diagram

Gọi một Activity Diagram

13

Activity Name

Deliver Order

6 – Activity, State, Component, Deployment Diagram

Signal

Các ví dụ trên, AD có một điểm bắt đầu rõ ràng, tương

ứng với lời gọi một chương trình hoặc chương trình con

Trong nhiều trường hợp, AD cần có tín hiệu để bắt đầu

14

6 – Activity, State, Component, Deployment Diagram

State Diagram - Biểu đồ trạng thái

Mô tả chu kỳ tồn tại của đối tượng từ khi nó sinh ra đến khi

bị phá hủy

Sử dụng để mô hình hóa khía cạnh động của lớp

Gồm các thông tin

Các trạng thái của đối tượng

Hành vi của đối tượng

Sự kiện tác động làm thay đổi trạng thái

Thông thường

Xây dựng State Diagram cho một vài đối tượng của lớp

có nhiều hành vi động trong project

Không phải mọi dự án điều sử dụng biểu đồ này

15

6 – Activity, State, Component, Deployment Diagram

State Diagram

Mô hình hóa hành vi động

Chỉ ra trình tự trạng thái mà một đối tượng có thể có:

Sự kiện và điều kiện để đối tượng đến với trạng thái

nào đó

Hành động xảy ra khi đến trạng thái đó

Sử dụng biểu đồ trạng thái để làm gì?

Analyst + Designer + User: thông hiểu

Developer: cài đặt

16

6 – Activity, State, Component, Deployment Diagram

Ví dụ

17

Unpaid

PaidInvoice created

Paying

Invoice destroyed

6 – Activity, State, Component, Deployment Diagram

State Diagram

Start-state:Trạng thái đầu tiên khi kích hoạt đối tượng. Bắt

buộc và chỉ cho phép có 1

End-state: Kết thúc vòng đời đối tượng. Có thể tùy chọn. Có thể

có nhiều hơn 1.

State: hoạt động, hành động vào, hành động ra

Nested-state: là trạng thái chứa bên trong trạng thái khác

Transition: biểu diễn chuyển đổi giữa các trạng thái

Event: sự kiện tác động gây ra sự thay đổi trạng thái. Mỗi event

đi kèm với các điều kiện (guard) & các hành động (action)

18

6 – Activity, State, Component, Deployment Diagram

State – State Diagram

State: được xác định từ khảo sát thuộc tính lớp và quan hệ

giữa các lớp

Liên quan đến hoạt động của đối tượng (Review Activity

Diagram)

19

6 – Activity, State, Component, Deployment Diagram

State – Trạng thái

20

6 – Activity, State, Component, Deployment Diagram

Event & Transition

Một sự kiện xảy ra có một vị trí trong thời gian và không gian

Một sự kiện là sự xảy ra kích hoạt một quá trình

chuyển trạng thái (state transition).

Chuyển trạng thái là sự thay đổi từ một trạng thái trước sang một trạng thái khi sự kiện xảy ra.

Trạng thái sau có thể trùng với trạng thái trước.

Một bước chuyển trạng thái có thể xảy ra để đáp trả một sự kiện.

Chuyển trạng thái có thể có nhãn với tên sự kiện

21

6 – Activity, State, Component, Deployment Diagram

Transition

Đặc tả transition

22

6 – Activity, State, Component, Deployment Diagram

Nested-State

Để giảm độ phức tạp: trong biểu đồ ta có thể lồng trạng thái vào nhau: substate, superstate

Nếu chúng cùng transition superstate

Superstate history:

Nếu cần ghi nhớ lại trạng thái trước của đối tượng

Bổ sung trạng thái mở đầu trong superstate

Sử dụng chỉ báo History-State nơi đối tượng vừa đi qua

23

H

6 – Activity, State, Component, Deployment Diagram

Nested-State / Superstate

24

Schedule

Open Full

Closed

Add/Remove Passenger

[Current date: less than 60 days before flight]

/Set number of passenger to 0

Add Passenger [last seat was sold]

Remove Passenger [Passenger name]

[10 min before scheduke take off][10 min before scheduke take off]

Schedule

Closed

[Current date: less than 60 days before flight]

/Set number of passenger to 0

Adding Passengers

Open FullOpen Full

Add/Remove Passenger

Add Passenger

[Last seat was sold]

Remove Passenger [Passenger Name]

10 min before schedule take off

6 – Activity, State, Component, Deployment Diagram

State Diagram and Class

25

6 – Activity, State, Component, Deployment Diagram

Biểu đồ kiến trúc vật lý

Có 2 loại biểu đồ trong UML được dùng

để mô tả khía cạnh cài đặt vật lý

Biểu đồ thành phần (Component Diagram)

Biểu đồ triển khai (Deployment Diagram)

26

6 – Activity, State, Component, Deployment Diagram

Component Diagram

Một khung nhìn tĩnh về các thành phần phần

mềm tạo nên hệ thống, và mối quan hệ của

chúng

Các thành phần có thể là:

Tập tin

Chương trình thi hành

Tài liệu, thư viện

Bảng dữ liệu

27

6 – Activity, State, Component, Deployment Diagram

Component Diagram

Các thành phần liên kết với nhau bằng mối quan hệ phụ

thuộc.

Mối quan hệ giữa các thành phần thường là các quan hệ

giữa các tập tin chương trình nguồn, giữa các phần mềm

đang chạy hoặc giữa tập tin nguồn với tập tin thi hành

tương ứng

Ứng dụng của Component Diagram:

Thể hiện cấu trúc của hệ thống

Cung cấp đầu vào cho bản vẽ Deployment

Hỗ trợ cho việc thiết kế kiến trúc phần mềm

28

6 – Activity, State, Component, Deployment Diagram

Ví dụ

29

Một biểu đồ chỉ ra tổ chức và sự phụ thuộc của các

thành phần

6 – Activity, State, Component, Deployment Diagram

Ví dụ

30

Component Diagram cho ứng dụng máy ATM

6 – Activity, State, Component, Deployment Diagram

Ví dụ

31

6 – Activity, State, Component, Deployment Diagram

Ví dụ

32

6 – Activity, State, Component, Deployment Diagram

Component Diagram

Component là một thành phần phần mềm được đóng gói độc lập, nó có

thể được triển khai độc lập trên hệ thống và có khả năng tương tác với các

thành phần khác khi thực hiện các chức năng của hệ thống. Ví dụ, thành

phần có thể là package trong Java

Component Dependence thể hiện quan hệ giữa các thành phần với nhau.

Các thành phần phần mềm luôn cần sử dụng một số chức năng ở các

thành phần khác trong hệ thống nên quan hệ Dependence được sử dụng

thường xuyên.

Trong suốt quá trình cài đặt, biểu đồ thành phần được đưa ra để mô tả

các thành phần ở mức thấp hơn, như các tập tin .java và .class của Java

33

6 – Activity, State, Component, Deployment Diagram

Component Diagram

Xây dựng Component Diagram

Chia hệ thống thành những SubSystem

Theo chức năng / đặc tính kỹ thuật

Theo đối tượng sử dụng

Dễ phát triển, dễ bảo trì, bảo mật

Xác định các thành phần và vẽ

Xác định các mối quan hệ

34

6 – Activity, State, Component, Deployment Diagram

Case Study

Xây dựng Component Diagram cho hệ thống eCommerce với các

thành phần sau:

Phần Website phục vụ cho đối tượng bên ngoài công ty là Guest và

Customer là một gói riêng để dễ triển khai và bảo mật. Thành phần

này gọi là EcommerceWeb.

Phần Website phục vụ cho đối tượng bên trong công ty được chia

thành một gói gọi là ManagementWeb.

Phần Bussiness được sử dụng để tương tác CSDL và xử lý các

nghiệp vụ.

Phần PaymentGateway để xử lý thanh toán trực tuyến.

Phần Database Server cũng được tách ra một gói riêng

35

6 – Activity, State, Component, Deployment Diagram

Case Study

36

6 – Activity, State, Component, Deployment Diagram

Deployment Diagram

Biểu đồ triển khai chỉ ra:

Cấu hình của các nút xử lý tại thời gian chạy

Các đường liên kết giao tiếp giữa các nút

Các thành tố trên chúng

37

6 – Activity, State, Component, Deployment Diagram

Ví dụ

38

Bản vẽ trên mô tả hệ

thống được triển khai

trên:

-03 Server khác nhau

gồm: Webserver,

Application Server,

Database server

- 02 thiết bị truy cập đầu

cuối.

6 – Activity, State, Component, Deployment Diagram

Ký hiệu

Node: Biểu diễn một tài nguyên tính toán tại thời gian chạy

(thiết bị, môi trường thực thi)

Connector: Một đường kết nối biểu diễn một cơ chế truyền thông

• Đường truyền vật lý

• Giao thức phần mềm

Có 2 loại relationships: Association và Dependence

39

6 – Activity, State, Component, Deployment Diagram

Xây dựng Deployment Diagram

Bước 1: Xác định các thành phần phần cứng sẽ tham gia vào việc triển khai hệ thống

Việc này liên quan đến kiến trúc hệ thống, hiệu năng, khả năng mở rộng và cả vấn đề tài chính và hạ tầng của hệ thống nên bạn cần có kinh nghiệm về kiến trúc hệ thống để làm được việc này.

Bước 2: Xác định các thành phần để triển khai lên các Node

Khi đã có phần cứng, bước tiếp theo chúng ta xác định những component liên quan để triển khai trên mỗi node.

Bước 3: Xác định các quan hệ và hoàn tất bản vẽ

Xác định các mối quan hệ giữa các thành phần với nhau và nối chúng lại để hoàn tất bản vẽ.

40

6 – Activity, State, Component, Deployment Diagram

Case Study

Xây dựng Deployment Diagram cho hệ thống eCommerce

Để tăng cường an ninh và sức chịu đựng cho hệ thống chúng ta bố trí phần cho người dùng bên ngoài công ty (Guest và Customer) ra một Server riêng gọi là Web eCommerce Server.

Website chứa phần tương tác với nhân viên công ty đặt lên một Node riêng gọi là Web Management Server.

Phần Bussiness được đưa ra một Server ứng dụng gọi là Application Server.

Database được đặt lên một Server gọi là Database Server.

Phần PaymentGateWay có thể được đặt trên Web eCommerce Server

Bổ sung thêm các thiết bị bảo mật và hạ tầng.

41

6 – Activity, State, Component, Deployment Diagram

Case Study

42

6 – Activity, State, Component, Deployment Diagram

Tham khảo

Tham khảo: GeekCorps 2004

IBM - RUP

Introduction to Rational Rose 98i

Bài giảng: Công cụ và môi trường phát triển

phần mềm – ĐHKHTN

Google, …

43

Thực hành

44

6 – Activity, State, Component, Deployment Diagram

Thực hành

Làm việc tiếp tục với đồ án đã đăng ký

trên Class Diagram

45