考點
選擇題 2-4分
案例分析0~1題和面向對象結合考察,前幾年固定一題。近3次考試沒有出現。但還是有可能考。
UML圖概述
1.用例圖:描述系統功能需求和用戶(參與者)與系統之間的交互關系,聚焦于“做什么”。
2.類圖:展示系統的靜態結構,描述類、接口、屬性、方法及類之間的繼承、關聯、依賴等關系。
對象圖:類圖的運行時實例,顯示某一時刻具體對象的狀態及對象間的鏈接關系。
4.順序圖:強調對象間消息傳遞的時間順序,通過垂直時間軸直觀呈現交互時序。
5.協作圖(通信圖):側重對象間的結構關聯和協作路徑,通過編號消息體現交互順序。
6.活動圖:描述業務流程或算法的動態流程,支持分支、并行、循環等邏輯,類似流程圖。
7.狀態圖:描述對象在其生命周期內狀態的變化及觸發轉換的事件,關注“狀態驅動的行為”。
附加對比:
類圖 vs 對象圖:類圖是“設計藍圖”,對象圖是“運行時快照”。
順序圖 vs 協作圖:順序圖重時序,協作圖重結構(二者可互相轉換,但側重點不同)。
活動圖 vs 順序圖:活動圖關注流程控制,順序圖聚焦對象間消息時序。
活動圖 vs 狀態圖:活動圖關注流程控制,狀態圖關注單一對象的狀態遷移。
狀態圖 vs 類圖:類圖描述靜態結構,狀態圖描述動態行為
1.用例圖
參與者:人形。
用例:橢圓。
系統:方框。
4種關系:
關聯:橫線。 參與者與用例之間。
泛化:橫線+空心三角箭頭。 用例之間,參與者之間。
包含:虛線+小箭頭+標注<> 用例之間
擴展:虛線+小箭頭+標注<> 用例之間。
使用場景:需求分析和需求規約時候的功能需求,常使用用例圖來表示。
用例模型流程
1.識別參與者。
2.合并用例獲得需求。
3.細化用例描述。
用例模版:
(1)用例名,
(2)用例ID,
(3)用例說明,
(4)前置條件,
(5)后置條件,
(6)事件流,
(7)優先級和非功能需求。
4.調整用例模型。
2.類圖
類圖(class diagram):類圖描述一組類、接口、協作和它們之間的關系。
對象圖(object diagram):對象圖描述一組對象及它們之間的關系。對象圖描述了在類圖中所建立的事物實例的靜態快照。
三元關聯
聚合
組合類經常涉及整體和部分之間的物理關系。因此,ATM機是一個由四個部分組成的組合類:“讀卡器”(CardReader),“吐鈔器”(Cash Dispenser),憑條打印機(Receipt Printer)以及“ATM客戶鍵盤顯示器”(ATM Customer Keypad Display)類(如圖7-12所示)。ATM組合類和它的四個部分類中的每一個都有一個一對一關聯。
組合
聚合層次是整體/部分關系的一種較弱的形式。在一個聚合里,部分實例能添加到聚合體中,也能從聚合整體中移除。由于這個原因,聚合有可能被用來對概念類建模,而不是對物理類建模。此外,一個部分可以屬于多個聚合。聚合層次的一個例子是大學里的“學院”(College)(圖 7-13),其部分是“管理辦公室”(Admin Office)、一些“系”(Department)以及一些“研究中心”(Research Center)。可以創建新的系,時常也可以撤銷老的系或者與其他系合并。可以創建研究中心,或者撤銷、合并研究中心。
泛化
有一些類相似但不相同,它們有些共同的屬性,也有其他不同的屬性。在泛化 / 特化層次中,共同屬性被抽象到一個泛化類,稱作超類。不同的屬性是特化類的性質,特化類被稱作子類。在子類和超類之間有一個 Is a 的關系。超類也被稱為父類或祖先類。子類也被稱為孩子類或者子孫類。
3.順序圖
順序圖(sequence diagram, 序列圖)。順序圖是一種交互圖(interaction diagram),它強調對象之間消息發送的順序,同時顯示對象之間的交互。
4.通信圖
通信圖(communication diagram)。通信圖也是一種交互圖,它強調對象之間存在的信息收發關系,而不專門突出這些信息發送的時間順序。
順序圖和通信圖對比
以下是順序圖與通信圖的對比表格:
對比維度 | 順序圖(Sequence Diagram) | 通信圖(Communication Diagram) |
---|---|---|
主要目的 | 強調消息的時間順序,展示對象間交互的時序邏輯。 | 強調對象的結構關系,展示對象間的關聯及協作方式。 |
消息序列表示 | 通過垂直時間軸自然展示消息順序,直觀清晰。 | 需通過消息編號(如1, 2, 3或嵌套1.1, 1.2)表示順序,需主動閱讀編號。 |
對象關聯可視化 | 對象間關聯(如鏈接)較難直接觀察,需通過消息推斷。 | **對象間的鏈接(連線)**明確顯示關聯關系,結構布局一目了然。 |
復雜邏輯適應性 | 對循環、條件分支的可讀性較差,需用片段(如loop 、alt )標記。 | 通過編號和消息路徑可靈活表示分支,但復雜度高時可能混亂。 |
多對象交互場景 | 對象過多時,橫向排列導致空間緊張,需分頁或壓縮。 | 對象布局靈活,可自由排列,適合展示多對象的協作網絡。 |
適用場景 | - 調試時序問題 - 分析用例執行流程 - 需要明確操作順序時。 | - 設計對象協作模式 - 理解系統結構關系 - 重構對象交互時。 |
優點 | - 時序清晰 - 適合展示動態流程 - 易理解消息觸發順序。 | - 結構關系明確 - 適合展示靜態協作 - 靈活適應復雜布局。 |
缺點 | - 對象關聯隱式 - 分支/循環降低可讀性 - 橫向擴展性差。 | - 消息順序需主動解析 - 編號復雜時易混亂 - 時序不夠直觀。 |
- 優先用順序圖:當關注**“何時發生什么”**(如API調用順序、事件流程)。
- 優先用通信圖:當關注**“誰與誰協作”**(如微服務架構中的對象依賴關系)。
5.活動圖
活動圖是一種描述控制流和活動中序列的UML 圖。活動圖顯示了活動序列、決策結點和循環,甚至還有并發活動。活動圖在工作流建模中被廣泛使用,例如,在面向服務的應用中。
6.狀態圖
狀態圖是UML中的一種行為圖,專注于描述單個對象在其生命周期內可能經歷的不同狀態,以及觸發狀態變化的事件。
架構師考試 出題內容
選擇題:
(1)根據描述選擇是哪種類型圖。
(2)根據描述選擇是哪種關系。
案例分析題
前幾年考過案例分析題,案例分析題屬于和面向對象設計相結合考察,