Bài giảng Phân tích và thiết kế hướng đối tượng - Bài 6: Activity, State, Component, Deployment Diagram - Đỗ Ngọc Như Loan

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

 Các biểu đồ

 Class Diagram

 Interaction Diagram

 Sequence Diagram

Nội dung trước

 Các biểu đồ

 Activity Diagram

 State Diagram

 Component Diagram

 Deployment Diagram

pdf 45 trang yennguyen 7620
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phân tích và thiết kế hướng đối tượng - Bài 6: Activity, State, Component, Deployment Diagram - Đỗ Ngọc Như Loan", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Phân tích và thiết kế hướng đối tượng - Bài 6: Activity, State, Component, Deployment Diagram - Đỗ Ngọc Như Loan

Bài giảng Phân tích và thiết kế hướng đối tượng - Bài 6: Activity, State, Component, Deployment Diagram - Đỗ Ngọc Như Loan
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
Paid
Invoice 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 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 

File đính kèm:

  • pdfbai_giang_phan_tich_va_thiet_ke_huong_doi_tuong_bai_6_activi.pdf