[OCUP課程重點-2]Class Diagram(基礎)

  • 14983
  • 0
  • 2009-12-25

[OCUP課程重點-2]Class Diagram(基礎)

Class Diagram

  1. 一群object享有相同的結構、行為、限制與語意時,我們會稱為同類別的物件

  2. 節點

  3. 關係

    1. generation(繼承)

      • 類似分類

        • 子類別是父類別的一種

    2. association(結合關係)

      1. 直線,可帶箭頭圖示

      2. 類似Class裡Attribute為另外一個Class型別

      3. 靜態存在,只要類別存在,關係就存在

      4. 個體數目(multiplicity)

        • 描述Class的數目關係

          • Lower Value

          • Upper Value

      5. 箭頭方向(標示可航性(navigation))

        • 單向

          • Navigate

          • 箭頭出發點可不描述個體數目

        • 來源端

          • source end

        • 目標端

          • target end

      6. 不一定只有二元結合(binary association),可以多元結合(n-ary association)

        • 三元結合(ternary association)

          • 大菱形

    3. aggregation(聚合關係)-aggregate association-Share

      1. association端點帶有空心菱形的圖示

      2. whole-part的關係

        • 如同master-detail的關係

          • master(也就是1)的端點帶空心菱形

          • 如Boat與Engine的關係

            • Boat為whole object

            • Engine為part object

            • 當A Boat被刪除時,Engine可以給B船用

              • 即whole part被刪除時,part object可被其他使用
                        類似call ByRef

    4. composition(組合關係composite aggregation)

      1. association端點帶有實心菱形

      2. master-detail的關係

        • 類似call ByVal

        • Master刪除時,Detail沒有存在意義,也會被刪除

    5. dependency(依賴關係)

      1. 例如在operation內宣告一個區域變數型別為另一個class

      2. 在UML中最常用來表達interface與class

      3. 虛線帶箭頭的圖示

        • 也有可能是虛線帶三角形

      4. 定義:某一個element需要另一個element提供的specification或implementation時,兩者之間的關係稱為dependency

      5. 一定要有方向性

  4. interface

    1. 都是放public

    2. 關係上會有<<use>>

    3. 可能為Class的矩形符號+角箭號<<interface>>

    4. 與小圓形有直線關係的class,意義為實作,而非association

    5. required interface

      1. 縮圖為一個機器小手圖形

      2. 先開好的界接介面

    6. provided interface

      1. 縮圖為小圓形

  5. Comment

    1. 矩形帶折角圖示


blog 與課程更新內容,請前往新站位置:http://tdd.best/