UML: Phân loại 13 lược đồ phổ biến post thumbnail image

UML: Phân loại 13 lược đồ phổ biến

UML (viết tắt của Unified Modeling Language) là định dạng ngôn ngữ hợp nhất được dùng để mô hình hóa hệ thống/phần mềm.

Mười ba loại lược đồ (diagram) bên dưới chia làm 3 loại:

Structure

Biểu thị view “tĩnh” (static) của hệ thống và các thành phần

Class Diagram

Mô hình kiểu object và các mối quan hệ xung quanh chúng. Nó giúp mô tả phần nhỏ nhất, và mức độ trừu tượng thấp nhất. Ví dụ: class, interface.

Thông thường sẽ được vẽ bởi các developer trong các design activity.

Thành phần chính:

  • Classifiers: loại class: concrete, abstarct, interface, enum,…
    • Ký hiệu: C – concrete class, A – Abstract class, I – Interface, E -Enum
    • Generic class dùng hình vuông ở góc phải trên của class hiện tại.
    • Active class: là một sẽ có 2 side bar hai bên, active class là class sẽ run tự động trong thread của nó.
  • Features: cung cấp tính chất cấu trúc hoặc hành vi như: thuộc tính, và method.
    • Structural: Properties.
      Cú pháp:
      [visibility] name: type [multiplicity] = default value {property-modifier}
      • Visibility: – private, # protected, ~ friendly, + public.Multiplicity: *: 0 hoặc nhiều, 1..*: một hoặc nhiều, 1: chính xác 1, m..n: giữa khoảng m và n.
      • Property modifier: id, readOnly, ordered/unordered, unique/nonunique.
    • Behavioral: Method.
      Cú pháp của method:
      [visibility] method-name (parameter-list): return-type {property-modifier}

      Bên cạnh visibility và property-modifier, method có thêm parameter-list. mỗi item trong đó phải theo cú pháp :
      [direction] name: type = default-value.
      • Direction: in, out, inout,return
Ví dụ về classifier
  • Relationships: cách các class phụ thuộc hoặc kế thừa lẫn nhau. Hoặc class nào implement interface nào. Nó cũng thể hiện được tính: association, generalization và depenency.
    Giữa 2 class có thể chia làm những mối quan hệ:
    • Associate
      • Association Link: 1 class là nguồn gốc có liên quan đến instance của class kia. Biểu diễn bằng một mũi tên, hai đầu có chứa [multiplicity].
        Aggregation và Composition
      • Association Class
    • Generalization
    • Dependency

Component Diagram

Object Diagram

Composite Structure Diagram

Package Diagram

Diagram sẽ hữu dụng khi bạn cần build một ứng dụng lớn và phức tạp. diagram này sẽ group hàng trăm class lại và tạo ra cây kế thừa.

Deployment Diagram

Cho thấy big picture của một hệ thống trong thể giới thực của các thiết bị, network, OS, DB.

Dùng bởi architect và development team để mô tả kiến trúc của một hệ thống. Capture cả phần mềm và phần cứng được dùng

Có ba element chính:

  • Nodes: đại diện hardware, có hình hộp, có tên trên đầu.
  • Artifacts: những gì được deploy trên node đó. VD: exe, jar, docs
  • Relationships: bao gồm có thể 2 chiều hoặc 1 chiều
    • Communication path: giữa các node
    • Dependency

Behavior

Biểu thị view động của hệ thống và các thành phần:

Use case diagram

Capture lại chức năng hệ thống ở mức high-level dùng ký hiệu: actor, use cases và relationships

Hay được dùng bởi các bạn BA nhằm mô tả tổng hợp các use case trong hệ thống

Use case là gì ?

Trong kỹ thuật phần mềm và hệ thống, cụm từ use case là một polyseme có hai nghĩa: Một kịch bản sử dụng cho một phần mềm; thường được sử dụng ở số nhiều để gợi ý các tình huống mà một phần mềm có thể hữu ích. Một kịch bản tiềm năng trong đó hệ thống nhận được yêu cầu bên ngoài và đáp ứng yêu cầu đó.

Wikipedia

TBD

Activity diagram

Dùng để vẽ workflow hoặc qui trình. Tương tự flow charts nhưng có hành vi song song và nhiều actor tham gia.

Được dùng bởi nhiều đối tượng: BA, Developer để capture requirement understanding.

Có 6 thành phần chính

  • Start và End node
  • Action
  • Flow
  • Fork & Join
    • Fork: ngắt process hiện thành thành 2 track song song. Có một flow đến và nhiều flow đi
    • Join: ngược với Fork: Có nhiều flow đến và một flow đi. Luồng đi chỉ bắt đầu khi tất cả luồng đến đã vào.
  • Decision & Merge
    • Decision: điều kiện, có 1 flow đến và nhiều luồng đi riêng dựa theo từng điều kiện
  • Swimlanes: Mô tả đối tượng thực hiện. Mỗi đối tượng đại diện bởi 1 swimlane

Swimlane có thể mô tả dạng nằm ngang như sau:

State machine diagram

Interaction

Biểu thị tương tác

  1. Giữa các thành phần của một hệ thống
  2. Giữa hệ thống và các tác nhân bên ngoài

Class và attribute được minh họa qua static diagrams, trong khi tương tác: methods sẽ được mô tả bằng sequence diagram.

Sequence diagram

Loại diagram này sẽ capture hành vi / giao tiếp tương tác giữa hai hay nhiều entities trong một scenario

Hướng:

  • Trên-xuống
  • Trái-sang-phải hoặc phải-sang-trái

Thành phần trong sequence diagram:

  • Participant: đối tượng sống
  • Lifetime: đi từ trên-xuống
  • Interaction messages:
    • Request: participant làm hành động, dùng mũi tên đường thẳng
    • Response: dùng mũi tên đứt khúc, khi có giá trị trả về, mô tả kiểu dữ liệu trả về.
  • Đặc tả Activation / execution
  • Fragments: conditional
    • Opt: tùy chọn
    • Alt: alternative, tương tự if / else
    • Loop: Vòng lặp

Communication diagram

Loại diagram này khá tương tự sequence diagram. Điểm khác biệt ở chỗ: nó không có lifeline, mà tập trung lên mối liên kết giữa các object.

Timing diagram

Thường dùng trong kỹ thuật điện tử để xem các thành phần trong một đường điện.

Bốn thành phần chính trong loại diagram:

  • Timeline: thang đơn vị thời gian
  • Frames: đại diện đối tương mà lifetime đang minh họa
  • Lifelines: phần động trong diagram này, mô tả các trạng thái của một đối tượng. Có 2 loại giá trị:
    • Value lifetime: vẽ bằng 1 miền, chuyển qua lại giữa khác giá trị. Ví dụ: on/off
    • State lifetime
  • Messages

Interaction Overview Diagram

Mô tả tổng quan của control flow, kết hợp activity và interaction diagrams.

Sẽ bao gồm ba loại thành phần

  • Frame: Hình vuông với header trên-trái mô tả action, có thể là ref (reference), sd (sequen diagram).
  • Node:
    • Interaction
    • Interaction use

Related Post