Download as pdf or txt
Download as pdf or txt
You are on page 1of 45

Activity, State, Component, Deployment Diagram

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 2


Nội dung trước

 Các biểu đồ

 Activity Diagram

 State Diagram

 Component Diagram

 Deployment Diagram

6 – Activity, State, Component, Deployment Diagram 3


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.

6 – Activity, State, Component, Deployment Diagram 4


Ví dụ

Activity Diagram về
hoạt động
rút tiền từ ATM

6 – Activity, State, Component, Deployment Diagram 5


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 – Activity, State, Component, Deployment Diagram 6


Ký hiệu
 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 7


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.

6 – Activity, State, Component, Deployment Diagram 8


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.

6 – Activity, State, Component, Deployment Diagram 9


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.

6 – Activity, State, Component, Deployment Diagram 10


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ý.

6 – Activity, State, Component, Deployment Diagram 11


AD for Register for course use case

6 – Activity, State, Component, Deployment Diagram 12


Gọi một Activity Diagram
Activity Name

Deliver Order

6 – Activity, State, Component, Deployment Diagram 13


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

6 – Activity, State, Component, Deployment Diagram 14


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
6 – Activity, State, Component, Deployment Diagram 15
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

6 – Activity, State, Component, Deployment Diagram 16


Ví dụ

Unpaid
Paying
Invoice created
Paid

Invoice destroyed

6 – Activity, State, Component, Deployment Diagram 17


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)

6 – Activity, State, Component, Deployment Diagram 18


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)

6 – Activity, State, Component, Deployment Diagram 19


State – Trạng thái

6 – Activity, State, Component, Deployment Diagram 20


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

6 – Activity, State, Component, Deployment Diagram 21


Transition
 Đặc tả transition

6 – Activity, State, Component, Deployment Diagram 22


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
H

6 – Activity, State, Component, Deployment Diagram 23


Nested-State / Superstate
Schedule Schedule

[Current date: less than 60 days before flight]


[Current date: less than 60 days before flight] /Set number of passenger to 0
/Set number of passenger to 0

Adding Passengers

Add/Remove Passenger
Add/Remove Passenger
Add Passenger [last seat was sold]
Open Add Passenger Full
Open Full [Last seat was sold]
Remove Passenger [Passenger name]

Remove Passenger [Passenger Name]

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

10 min before schedule take off


Closed

Closed

6 – Activity, State, Component, Deployment Diagram 24


State Diagram and Class

6 – Activity, State, Component, Deployment Diagram 25


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)

6 – Activity, State, Component, Deployment Diagram 26


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

6 – Activity, State, Component, Deployment Diagram 27


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

6 – Activity, State, Component, Deployment Diagram 28


Ví dụ

 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 29


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

6 – Activity, State, Component, Deployment Diagram 30


Ví dụ

6 – Activity, State, Component, Deployment Diagram 31


Ví dụ

6 – Activity, State, Component, Deployment Diagram 32


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

6 – Activity, State, Component, Deployment Diagram 33


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ệ

6 – Activity, State, Component, Deployment Diagram 34


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
6 – Activity, State, Component, Deployment Diagram 35
Case Study

6 – Activity, State, Component, Deployment Diagram 36


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

6 – Activity, State, Component, Deployment Diagram 37


Ví dụ

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 38


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

6 – Activity, State, Component, Deployment Diagram 39


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ẽ.

6 – Activity, State, Component, Deployment Diagram 40


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.

6 – Activity, State, Component, Deployment Diagram 41


Case Study

6 – Activity, State, Component, Deployment Diagram 42


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, …

6 – Activity, State, Component, Deployment Diagram 43


Thực hành

44
Thực hành

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


trên Class Diagram

6 – Activity, State, Component, Deployment Diagram 45

You might also like