activity, state, component, deployment diagram · 6 – activity, state, component, deployment...
TRANSCRIPT
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
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
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
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
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
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
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
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