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

Activity Diagram1

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:

Activity Diagram - ATM

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.

Swimlance

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.

Start
Hình 4. Ký hiệu về nút Start

End

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.

Activity

Hình 4. Ký hiệu về Activity
d. Branch

Branch thể hiện rẽ nhánh trong mệnh đề điều kiện.

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

ForkHì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.

join

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

Comments



Blog này nhằm mục đích chia sẻ các kiến thức thực tế liên quan đến ngành công nghiệp phần mềm nhằm giúp các bạn trẻ định hướng tốt hơn trong việc chọn lựa nghề nghiệp của mình. Chúng tôi rất mong nhận được sự đóng góp, chia sẽ của các anh chị có kinh nghiệm cũng như các bạn trẻ.

 Học lập trình

Hướng dẫn dành cho người mới học lập trình.

 Hot or Not

Phân tích xu hướng công nghệ lập trình

 Phân tích thiết kế hệ thống

Bàn về mô hình thiết kế phần mềm

 Scrum Methodology

Bàn về mô hình phát triển phần mềm.