UML圖繪製,理論學習
1.理論: 學習UML圖,目前我學的有三種,用例圖,類圖,時序圖。
用例圖:
主要用來描述“使用者、需求、系統功能單元”之間的關係.
主要是業務建模和需求建模。此圖,作為coder,個人認為目前瞭解就好。什麼時候做產品經理跟客戶扯淡的時候,在學。
類圖:
泛化(Generalization),實現(Realization), 關聯(Association), 聚合(Aggregation), 組合(Composition), 依賴(Dependency)
泛化:繼承關係,表示一般與特殊。指定子類如何特化父類的所有特徵和行為。
三角箭頭實線,指向父類
實現:是一種類與介面的關係,
表示類是介面所有特徵和行為的實現。
三角箭頭虛線,指向介面
關聯:是一種擁有的關係, 它使一個類知道另一個類的屬性和方法。//關聯可以單向,雙向。單向有箭頭,雙向可以雙箭頭,可以沒有箭頭
普通箭頭實線,指向被擁有者。
程式碼體現,成員變數。
聚合:是整體與部分關係,且部分可以離開整體而單獨存在。
空心菱形實線,菱形指向整體
聚合關係是關聯關係的一種,是強的關聯關係;關聯和聚合在語法上無法區分,必須考察具體的邏輯關係。
組合:是整體與部分關係,且部分不能離開整體而單獨存在。
實心菱形實線,菱形指向整體
組合關係是關聯關係的一種,是比聚合關係還要強的關係,它要求普通的聚合關係中代表整體的物件負責代表部分的物件的生命週期
程式碼體現:成員變數。
依賴:是一種使用的關係,即一個類的實現需要另一個類的協助, 所以要儘量不使用雙向的互相依賴.
普通箭頭虛線,指向被使用者
各種關係的強弱順序:
泛化 = 實現 > 組合 > 聚合 > 關聯 > 依賴
下面這張UML圖,比較形象地展示了各種類圖關係:
說明:最上一層是類名,中間一層是屬性名稱,最下一層是方法名稱。
+代表public屬性,-代表private屬性,static,final,暫時往了,先往下寫。
時序圖:
講流程執行的先後發生順序。物件之間互動,是按時間順序排列的。
順序圖中顯示的是參與互動的物件及其物件之間訊息互動的順序。
建模元素主要有:角色(
角色:事件的觸發者,可以使人,或者是系統
物件:
物件包括三種命名方式:
第一種方式包括物件名和類名;
第二中方式只顯示類名不顯示物件名,即表示他是一個匿名物件;
第三種方式只顯示物件名不顯示類明。
生命線:
生命線在順序圖中表示為從物件圖示向下延伸的一條虛線,表示物件存在的時間。
控制焦點:
控制焦點是順序圖中表示時間段的符號,在這個時間段內物件將執行相應的操作。用小矩形表示。
訊息:
訊息一般分為同步訊息(Synchronous Message),非同步訊息(Asynchronous Message)和返回訊息(Return Message).
找了張羅昇陽分析Android啟動流程的時序圖。