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
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
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:
- bai_giang_phan_tich_va_thiet_ke_huong_doi_tuong_bai_6_activi.pdf