零、UML 9圖歌訣

零、UML 9圖歌訣

類與對象加用例,
狀態順序活動矣,
協作構件再部署,
統一建模九圖齊。

一、用例

什麼是用例

系列事件誰發起?
人機系統都可以。
參與事件將如何?
使用場景即用例。

用例的包含
用例之中重複的,
抽取出來使獨立。
包含進去幾合一,
思路清晰好處理。

用例的擴充
已有擴充爲新例,
額外步驟加進去。
這是重用又一法,
擴展派生出新例。

用例的泛化
子到父類爲泛化,
參與行爲都可以。
空心箭頭加連線,
繼承關係很明晰。

用例的分組
用例多了要分組,
層次類別才明晰。
相關打包包一起,
父子系統成體系。

用例分析
開始交談進領域,
初步類圖要獲取。
注意名詞新術語,   
相關動詞也要記。
   
詢問如何用系統?
侯選用例可獲取。
都誰參與應列表,
看清用例誰發起。

逐步深入問下去,
不斷髮掘新用例。
有助界面之設計,
編程決策也得益。


用例的用途
預期行爲來收集,
圖形工具強有力。
其他類別相結合,
明確用戶心中疑。

理解用戶和領域,
用例高層先注意。
只重行爲非實施,
系統邊界可明晰。

用例圖與文檔
文檔之中用例圖,
每例N頁來描述。
場景步驟要清晰,
上層註釋不相符。

用例的細節追蹤
發起與者加用例,
場景步驟寫清晰。
前後條件莫忘記,
參與者裏誰受益。


二、狀態圖
狀態圖
對象時序改狀態,
展示變化狀態圖。
變化序列起終點,
對象單一莫疏忽。

圓角矩形表狀態,
箭頭實線表遷移。
實心圓點爲起點,
牛眼圓圈爲終點。

狀態的轉移細節:事件和動作
狀態變化之行爲,
引發變化之事件,
二者‘/’來分開,
都可加到轉移線。

還有事件無觸發,
活動結束無轉移,
此類都叫無觸發。
特殊情形要牢記。

狀態的轉移細節:保護條件
保護條件另細節,
滿足條件才轉移。
可以寫進狀態圖,
寫成布爾表達式。

子狀態
狀態之中有狀態,
其中就叫子狀態。
順序併發兩形式,
單一狀態爲母體。

順序子狀態
順序子態較簡單,
依次逐個來出現。

併發子狀態
併發子態也不難,
兩個狀態同出現。
併發子態虛線分,
母子組成彼此間。

歷史狀態
歷史狀態也需知,
‘H’加圈做標記。
實線連回記憶態,
深淺故態可復憶。


消息與信號
對象之間要通信,
消息概念必須知。
觸發也是發消息,
對象之間來傳遞。
能觸發的叫信號,
信號爲類可承繼。


 三、順序圖

什麼是順序圖
對象之間有交互,
發生起訖順序圖。
時間維度加進去,
時序通信靠此圖。

對象
方框對象名下線,
實線箭頭表消息。
垂直虛線表時間,
激活生命重順序。

消息
同步、異步簡單的,
三個類別皆消息。
實心半邊與兩邊,
三類箭頭三消息。

時間
垂直方向時間維,
自頂向下時間序。
對象下面生命線,
激活長度表時序。

四、協作圖
協作也是表交互,
語義等價順序圖。
交互對象顯整體,
空間組織布置圖。

對象擴展協作圖,
消息傳遞是爲主。
箭頭表示傳消息,
發送指向接收的。

名稱序號靠箭頭,
接收消息操作的。
消息名稱加序號,
冒號中間要隔起。

消息多發:
對象消息可多發,
有時消息重順序。

返回結果
返回結果可表示,
變量操作賦值系。

主動對象
主動對象有權利,
面象其他法消息。
兩個以上爲併發,
主動邊框給加黑,
強調作用請注意。

消息同步
等到回信纔再發,
這種機制叫同步。
需要同步消息前,
再加消息要傳遞。
序號之間逗號分,
‘/’與消息相隔離。


五、活動圖
過程步驟要表述,
可以使用活動圖。
狀態圖形之擴展,
此類活動更突出。

圓角矩形表活動,
實心圓是起點圖,
公牛眼形爲終結,
依次活動最突出。

判定
條件引發活動列,
不同條件各自行。
表示方法有兩種,
用或不用小菱形。
分支各自注條件,
不同行爲分的清。

併發路徑

信號
活動可以發信號,
信號接收活動興。
發送凸角五邊形,
接收凹角五邊形。
二者輸出與輸入,
信號相關記得清。

泳道
可視維度能增加,
分別角色可視化。
把圖分爲平行段,
稱爲泳道形象化。

混合圖
圖符來自不同類,
有其長處無是非。
各種方式合一起,
綜合長處非新類。

六、構件圖
軟件系統一單元,
駐留系統叫構件。
數據文件程序庫,
潛在重用仔細算。

建模構件有好處,
利於開發與用戶。
系統結構可清晰,
目標清楚都好辦。
編制文檔能明確,
便於重用才周全。

構件和接口
對象窗口即接口,   
信息隱蔽或封裝
類的行爲它體現,
成組操作記端詳。


構件類型
部署構件是一類,
工業構件也一種。
執行構件另一類,
幾個類別要分清。

構件圖
大框是個大矩形,
左邊2小套其中,
包含成員加上名,
細節信息更分明。

接口表示法

矩形框裏注信息,
空心箭頭來聯繫。
連接虛線到實現,
兩類構件系一起。

還有一種表示法,
實線構件來聯繫。
表示接口小圓圈,
這個表示也牢記。

除了實現有依賴,
導入接口來聯繫。
構件與其用虛線,
加上箭頭來表示。

七、部署圖
部署圖裏有節點,
能否執行得分清。
節點表示立方體,
構件接口在框中。
節點之間可連線,
連接信息構造型。
關聯類型幾大類,
聚集依賴等等等。


八、類

類圖
類的表示用矩形,
屬性操作在其中。
其間使用分隔線,
動靜兩類才分明。(屬性和方法)

屬性
附加信息可加入,
數據類型注清楚。

約束
花括號內爲約束,
滿足條件來標註。

附加註釋
類的旁邊可加註,
必要說明更清楚。

如何獲取類
領域名詞和術語,
分析知識來獲取。
領域模型化爲類,
名詞動詞都注意。

關係
類類之間有關聯,
表示關聯一實線。
實心箭頭來指明,
角色方向線上邊。

關聯上的約束
關聯之後有規則,
約束條件注清楚。
與或條件都可注,
加上標記才清楚。

關聯實際也成類,   
也有屬性和操作。
聯繫諸類用虛線,
彼此之間都關聯。


關聯之類有實例,
兩者關係就叫鏈。
連線連接兩相通,
鏈名下線加下邊。

多重性
聯繫可以一對多,
多重關聯要琢磨。
數字標記兩邊類,
再加星號還有或。

限定關聯
關聯多重要限定,
查找才能分的清。
限定ID小矩形,
多重之中一對一。

自身關聯
類的關聯和自己,
自身關聯也關係。   
角色關聯加方向,
關聯線上做標記。

繼承和泛化  
繼承泛化也好懂,
父子特徵有相同。
子類特徵比父多,
父類泛泛更普通。

抽象類
抽象類別無實例,
子類實例才實際。

依賴
類中定義其他類,
依賴關係要知微。
   
聚集
一類分成幾部分,
此種類型是聚集。
總分關係爲特徵,
整體部分關係體。

聚集上的約束
多個部分成一體,
約束關係就成立。
並列就是或關係,
空心箭頭來表示。
彼此同級虛線連,
再加or字來標記。

組成
組成聚集強類型,
實心箭頭也菱形。
正如桌子和桌腿,
此種類型記心中。

語境
類簇含類很常見,
其中局部放大看。
這是類的語境圖,
層次關聯好體現。

接口和實現
接口爲了可重用,
雖然類別可不同。
相同操作不同類,
代碼仍然能重用。

接口只是有操作,
沒有屬性是特徵。
假如類也省屬性,
二者區分構造型。

類與接口有關係,
關係名就叫實現。
圖形表示很簡單,
空心箭頭實線連。

可見性
接口操作都可見,
他類調用才簡單。
   
九、對象圖
類的實例爲對象,
名有下線外有框。
冒號隔開名列表,
匿名冒號省對象。

 

UML基礎知識

體系結構有四層,
用戶對象爲第一。
再一層次模型層,
早期分析必處理。
描述語言第三層,
名字叫做元模型。
元元模型爲第四,
逐步抽象建體系。

開發應用
問題小組理解好,
各類角色都不少。
良好通訊要暢通,
階段交流不能少。

領域分析
客戶領域各實體,
交談分析要筆記。
名詞建模成爲類,
後降屬性也或許。
動詞也要都注意,
用例操作都或許。

識別協作系統
軟件系統不孤立,
協作系統須注意。
節點通訊加新老,
各方配合部署齊。

獲取需求
聯合會議來開始,
各方人員提建議。
會議產品一包圖,
高層領域之用例。
結果提交用戶議,
得到認可再繼續。
成本估算不能少,
具體情況自算計。

分析
初步需求獲取後,
類圖逐步要加細。
系統用法要理解,
高層用例先分析。
需要畫出用例圖,
依賴構造都要記。

充實用例再繼續,
分出每個步驟序。
   
細化類圖再充實,
關聯對象和聚集。
   
展示對象狀態變,
狀態圖出爲目的。

對象交互要定義,
順序協作圖表意。

協作集成諸細節,
通信網絡都注意。

數據庫類要考慮,
包括物理和邏輯。
產品詳細部署圖,
分析好了轉設計。


設計
   
細化對象圖
對象圖形要細化,
程序員來完成它。
檢查操作活動圖,
編碼就要根據它。

開發構件圖
程序員們是主力,
畫出構件之關係。

制定部署計劃
部署圖在構件後,
系統協作與集成。
節點駐留何構件,
圖裏處處注分明。

開發用戶界面
全部用例都完成,
考慮界面如何弄。
紙上原型先設計,
用戶滿意再換屏。
屏幕原型出快照,
這個步驟算完成。

測試設計
測試依據是用例,
測試專家來參與。
測試腳本寫出來,
看看功能是否齊。

開始編制文檔
文檔編制有專人,
高層文檔先認真。
高層結構先指定,
結構就是好成品。

開發
類圖對象活動圖,
再加構件是基礎。
程序代碼開始寫,
階段產品代碼出。

代碼測試
運行腳本來測試,
預期任務完成否。
產生信息前反饋,
各層測試不用愁。

界面及其連接代碼測試
界面原型更靠近,
連接代碼更類真。
界面功能要有效,
功能系統爲產品。

完成文檔
文檔專家程序員,
並行工作寫文檔。
確保完成要及時,
交付用戶不影響。

部署
編制備份和恢復計劃   
周密計劃事先有
系統崩潰要預防。

安裝最終系統
最終系統到裝機,
接近最後之目的。
安裝完成再測試,
看看精化需不需。
測試結果爲產品,
沒有其他那麼的。

 

 

雙向關聯:彼此屬性中有對方的指針或者值。

單向關聯:帶箭頭指向的一方可以被不帶箭頭一方進行引用。一般表示一種引用。

反身關聯:自己引用自己,帶着一個自己的引用。

 

依賴:只是在一個動作或者一個方法中需要用到的,需要把一個類中的頭文件引入到另一個類中。(帶箭頭的虛線)

組合:整體和部分的關係。(帶箭頭的菱形實心),部份不能獨立的使用。

類聚:整體和部分的關係。(帶箭頭的菱形空心),部分可以獨立的使用。

引用值的方式:指針(*)引用(&)值

 

繼承(泛化):三角箭頭子類對父類功能的擴展。


 

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