一、類圖
類是具有相似結構、行為和關系的一組對象的描述符。類是面向對象系統中最重要的構造塊。類圖顯示了一組類、接口、協作以及他們之間的關系。在UML中問題域最終要被逐步轉化,通過類來建模,通過編程語言構建這些類從而實現系統。類加上他們之間的關系就構成了類圖,類圖中還可以包含接口、包等元素,也可以包括對象、鏈等實例。
類圖的三個基本組件:類名、屬性、方法。
類之間的關系是類圖中比較復雜的內容。有泛化、依賴、關聯、聚合、組合。
1、泛化
泛化定義了一般元素和特殊元素之間的分類關系,類之間的這種泛化關系也就是繼承關系。
![]()
|
{ "name": "張三", "cardNo": "000000000001" }
|
2、依賴
對象之間最弱的一種關聯方式,是臨時性的關聯。代碼中一般指由局部變量、函數參數、返回值建立的對於其他對象的調用關系。
3、關聯
關聯是模型元素之間的一種語義聯系,是類之間的一種聯系。關聯可以有方向,可以是單向關聯,也可以是雙向關聯。
![]() |
{ "cardNo": "000000000001", "followup":{ "type": 1, "task": "隨訪任務" } }
|
4、聚合
聚合是一種特殊的關聯,聚合表示整體與部分的關系。通常在定義一個整體類后,再去分析這個整體類的組成結構。
5、組合
組合也是一種特殊的關聯,也表示類之間整體和部分的關系,但是組合關系中部分和整體具有統一的生存期。一旦整體對象不存在,部分對象也將不存在。部分對象與整體對象之間具有共生死的關系。
![]() |
{ { "name": "張三", "cardNo": "000000000001" }, [ { "type": 1, "task": "隨訪任務" } ], { "symptom": "嘔吐", "history": "高血壓" } } |
聚合和組合的區別:聚合關系是“has-a”關系,組合關系是“contains-a”關系;聚合關系表示整體與部分的關系比較弱,而組合比較強;聚合關系中代表部分事物的對象與代表聚合事物的對象的生存期無關,一旦刪除了聚合對象不一定就刪除了代表部分事物的對象。組合中一旦刪除了組合對象,同時也就刪除了代表部分事物的對象。
二、序列圖
通過描述對象之間發送消息的時間順序顯示多個對象之間的動態協作。它可以表示用例的行為順序,當執行一個用例行為時,序列圖中的每條消息對應了一個類操作或狀態機中引起轉換的觸發事件。
序列圖中包括如下元素:角色,對象,生命線,激活期和消息。
1、角色
與系統、子系統或類發生交互作用的外部用戶。
2、對象
對象代表序列圖中的對象在交互中所扮演的角色,位於序列圖頂部。
3、生命線
生命線代表時序圖中的對象在一段時期內的存在。時序圖中每個對象和底部中心都有一條垂直的虛線,這就是對象的生命線,對象間的消息存在於兩條虛線間。
4、消息
消息是定義交互和協作中交換信息的類,用於對實體間的通信內容建模,信息用於在實體間傳遞信息。允許實體請求其他的服務,類角色通過發送和接受信息進行通信。
三、詳細設計文檔模板