UML入門自學筆記

       前言:最近一段時間在自學C++,編程思想上從面向過程到面向對象的轉變,說實話剛開始很不習慣,現在已經慢慢接受和習慣了。本來想學下設計模式,但是面向對象畢竟不像面向過程那樣,簡單搭個程序的大概框架出來,然後想到哪代碼就寫到哪,動手前還是需要先建模什麼的,當然helloworld那種很簡單的除外。之前看視頻教程時也提到過UML是一個很重要的工具,所以決定先學下UML,之後再是設計模式。工欲善其事必先利其器。

      接下來進入正文,正文內容主要用例圖、類圖、狀態圖、活動圖這四種圖,其它的個人覺得用得不多(不知道是不是錯覺...)。

 

      UML(Unified Modeling Language),統一建模語言,用來爲面向對象開發系統的產品進行說明、可視化和編制文檔的方法。

      UML由視圖(View)、圖(Diagram)、模型元素(Model Element)、通用機制(GeneralMechanism)等組成。

 

一、UML五種視圖

1、用例視圖

      從外部角色的視角展示系統的功能,和系統實現無關。

2、邏輯視圖

      描述如何實現用例視圖中的系統功能。

3、組件視圖

      描述系統的實現模塊,以及依賴關係。

4、併發視圖

      主要考慮資源的有效利用、代碼的並行執行。

5、配置視圖

利用節點來展示系統部署的物理架構。

 

二、UML九種圖

      一個視圖可以由多個圖組成。

1、用例圖

2、類圖

3、對象圖

4、狀態圖State

5、活動圖Activity

6、時序圖Sequence

7、協作圖Collaboration

8、組件圖Component

9、配置圖Deployment

 

三、用戶模型視圖——用例圖

      用例模型描述的是外部參與者所理解的系統功能。

3.1 用例圖的元素

      用例圖元素包括用例(use case)和參與者(Actor):

       

用例是系統執行的功能或過程,它可以由外部對象或系統內部另一個用例啓動;參與者是系統外部的一個實體,可以是任何事物或人。

3.2 用例之間的關係

(1)關聯:表示參與者和用例之間進行通信,連接執行者和用例。

        

(2)泛化:一個用例可以被具體列舉爲一個或多個子用例,這被稱爲用例泛化。子用例表示父用例的特殊形式。

         

(3)包含:一個用例可以包含其它用例,這種關係表示被包含的那個用例具有的行爲一定會發生。

(4)擴展:箭頭由擴展用例指向基礎用例,表示擴展用例具有的行爲可能會發生。

         

 

四、邏輯視圖

4.1、類圖

      類圖是面向對象方法的核心技術,其中類、對象以及它們之間的關係是最基本的建模元素。

(1)類

      類用矩形表示,包括名稱、屬性、方法三部分。

       

(2)繼承

      使用三角形箭頭的實線(同泛化的表示方法),由子類指向基類。

        

(3)抽象類

      名稱和方法使用斜體表示

        

(4)單向關聯

      單箭頭實線

       

(5)雙向關聯(標準關聯)

      無箭頭實線

        

(6)聚合

      表示整體到局部的關係,局部生命週期不依賴於整體的生命週期,即使整體的生命週期結束了,局部依舊不受影響。箭頭指向局部。

         

(7)組合

      表示子類的生命週期依賴於父類的生命週期。箭頭指向子類。

         

(8)接口

      表示某個類實現了什麼接口,用帶三角箭頭的虛線指向接口。

         

(9)關係

      常用的4種關係:依賴、泛化、關聯、實現。

4.2、包圖

     

      包是一個容器,可以把一個複雜的系統分解成多個小的系統。

      包中的元素可以是用例、類、接口、組件、包等。

     

五、併發視圖

5.1、狀態圖

     

      如上圖所示,“已出借”和“可出借”表示圖書的狀態,“歸還”和“下架”是事件,當發生歸還事件時,圖書的狀態由“已出借”轉換成“可出借”。

      完整的圖書狀態圖:

       

5.2、活動圖

      組成元素:

(1)動作:表示一個原子操作

        

(2)活動:多個動作的組合

       

(3)判定:

      動作或活動之後進行判定。

     

(4)分支與合併

      箭頭+判定。

(5)分叉與匯合

      箭頭+粗實線。

(6)泳道

      活動圖中水平方向的區域劃分。

      

5.3、時序圖

      時序圖是一種強調消息的時序交互圖,由活動者、對象、消息、生命線和控制焦點組成。

5.4、協作圖

      協作圖強調的是發送和接收消息的對象之間的組織結構。通過時序圖自動生成協作圖。

 

六、組件視圖

        ......

七、配置視圖

        ......

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章