Chúng ta đã tìm hiểu kiến trúc hệ thống qua Use Case Diagram, cấu trúc hệ thống thông qua Class Diagram. Bài này, chúng ta sẽ đi vào phân tích khía cạnh hoạt động trong hệ thống. Theo UML 2.0 thì hệ thống có thể được mô tả theo 2 mô hình tĩnh (Static Model) và mô hình động (Dynamic Model).
Static Model: mô tả cấu trúc của hệ thống bao gồm các bản vẽ Class Diagram, Object Diagram, Component Diagram và Deployment Diagram.
Dynamic Model: mô tả các hoạt động bên trong hệ thống bao gồm các bản vẽ Activity Diagram, State Diagram, Sequence Diagram, Collaboration Diagram.
Trong loạt bài này chúng ta chỉ bàn về hai bản vẽ của mô hình động được sử dụng thường xuyên trong thiết kế hệ thống phần mềm là Activity Diagram và Sequence Diagram. Các bản vẽ khác các bạn tự tìm hiểu hoặc sẽ được giới thiệu sau.
1. Các thành phần cơ bản của Dynamic Model
Hình 1. Các thành phần của mô hình động
– Event: là sự kiện, mô tả một hoạt động bên ngoài tác động vào đối tượng và được đối tượng nhận biết và có phản ứng lại.
– Activity: mô tả một hoạt động trong hệ thống. Hoạt động có thể do một hoặc nhiều đối tượng thực hiện.
– State: là trạng thái của một đối tượng trong hệ thống, được mô tả bằng giá trị của một hoặc nhiều thuộc tính.
– Action: chỉ hành động của đối tượng.
– Condition: mô tả một điều kiện.
2. Activity Diagarm
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.
Chúng ta xem một ví dụ Activity Diagram về hoạt động rút tiền từ ATM như sau:
Hình 2. Ví dụ về Activity Diagram của hoạt động rút tiền từ ATM
Chúng ta thấy chúng có các ký hiệu sau:
a. Swimlance
Swimlance được ù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.
Hình 3. Ký hiệu về Swimlance
b. 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.
Hình 5. Ký hiệu về nút kết thúc
c. Activity
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.
Hình 4. Ký hiệu về Activity
d. Branch
Branch thể hiện rẽ nhánh trong mệnh đề điều kiện.
e. Fork
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.
Hình 6. Ký hiệu về Fork
f. 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.
Hình 7. Ký hiệu về Join
3. Cách xây dựng Activity Diagram
Thực hiện các bước sau đây để xây dựng bản vẽ Activity Diagarm.
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.
4. Sử dụng bản vẽ Activity Diagram
– Phân tích nghiệp vụ để hiểu rõ hệ thống
– Phân tích Use Case
– Cung cấp thông tin để thiết kế bản vẽ Sequence Diagram
5. Kết luận
Như vậy, chúng ta đã tìm hiểu được Activity Diagram, một bản vẽ quan trọng mô tả hoạt động của hệ thống. Chúng ta sẽ tiếp tục bàn về thực hành xây dựng bản vẽ này cho một ứng dụng cụ thể trong bài tiếp theo.
Bài tiếp: Thực hành xây dựng Activity Diagram
Bài trước: Thực hành xây dựng Class Diagram