1. 程式人生 > >軟體設計師之路 --------UML類圖符號,各關係說明

軟體設計師之路 --------UML類圖符號,各關係說明

                                                                                                  UML簡述----Unified Modeling Language

           UML,又稱為統一建模語言,始於OMG標準---Object Management Group:物件管理組織。用於為開發團隊提供標準通用的設計語言開發和構建計算機應用,也方便地描述物件與類之間的關係。

      UML,描述類與物件之間的關係方式包括:依賴--dependency,關聯--association,聚合--aggregation,組合--composition,泛化--generalization,實現--realization。

      依賴--dependency:元素A的變化會影響元素B,但反之不成立,那麼B和A的關係是依賴關係。在UML中用帶箭頭的虛線表示依賴關係,箭頭指向被依賴元素。

      1.依賴關係是類與類之間的連線。

      2.依賴關係總是單向(避免互相依賴,不應該存在互相依賴)

      3.依賴關係在面嚮物件語言中體現為區域性變數,方法的引數或對靜態方法的呼叫。

       比如:

      關聯--元素的結構化 關係,是一種弱關係,被關聯的元素通常可以被獨立的考慮。UML中用實線箭頭表示關聯關係。   

       1.關聯關係是類與類之間的聯結,他是一個類知道另一個類的屬性和方法。

       2.關聯可以是雙向的,也可以單向,雙向關聯可以有兩個箭頭或者沒有箭頭,單向的關聯有一個箭頭。

       3.在面嚮物件語言中,關聯關係是通過使用成員變數來實現的。


    聚合:關聯關係的一種特例,表示部分和整體(has a部分關係)。uml中用帶空心菱形的實線表示聚合關係

     1.聚合關係是關聯關係的一種,是強的關聯關係。

     2.聚合是整體和部分之間的關係,例如汽車是由於引擎,輪胎以及其他零件組成。

     3.聚合關係也是通過成員變數 實現的,但是,關聯關係所涉及的兩個類處在同一個層次,而聚合關係中,兩個類處於不同的層次,一個代表整體,一個代表部分

     4.關聯與聚合在面嚮物件語言中表達形式一樣,必須要考察類之間的邏輯結構。

       符號:用帶空心菱形箭頭表示聚合,菱形指向整體


   組合關係:組合是聚合關係的變種,表示元素之間更加強的組合關係,如果是組合關係,如果整體被破壞,則個體一定被破壞,而聚合的個體則可能則可能是多個整體所共享,不一定隨著整體的破壞而破壞,UML中用帶實心體菱形表示組合關係。

     1.組合關係是關聯關係的一種,比聚合關係還要強

     2.他要求普通的聚合關係中代表的整體物件的生命週期負責部分的物件的生命週期。


     泛化關係和實現關係:泛化:通常所說的繼承(特殊個體is kind of 一般個體)表示:用空心箭頭的實線表示,箭頭指向一般個體。 實現:元素A定義一個約定,元素B實現這個約定,則B和A的關係是實現,這個關係最常用於介面,用 虛線加空心的箭頭表示實現關係。所指向的是定義約定的元素。

   1.在面向物件中用於表示類與類之間的繼承關係,介面與介面之間的繼承關係,或對介面的實現關係。一般化關係是子類指向父類,或者從實現介面的類指向實現介面: