軟件工程之面向對象分析(OOA)之UML圖特點
1、UML
面向對象分析里面有一個非常重要的工具叫UML,UML不僅在工作中非常重要,在考試當中也是非常重要的,即作為上午綜合題,又大概率又會出現在下午的案例分析中,作為一個25分的大題。
UML叫做統一建模語言,它主要用于需求分析和軟件的設計,來做一些模型的制作。比如我們要開發一個系統,如果我們用純粹的文字表達和表述,可以想象相關人員理解會多么困難。所以將收集到的相關信息用圖形直觀的展示出來,UML就是做這么一個事情。從而便于大家的溝通和后續的設計和開發。
1.1、UML構成
- 構造塊
- 事物(了解)
- 結構事物
- 最靜態的部分,包括:類,接口,協作(協作的關系)、用例、活動類、構件和節點
- 行為事物
- 戴白哦時間和空間的做東。包括:消息,動作次序、連接
- 分組事物
- 看成是一個盒子,比如:包,構件等概念就是分組事物
- 注釋事物
- UML模型的解釋部分,描述、說明和標注模型的元素。類似我們寫代碼時的注釋
- 關系(核心)
- 后面會詳解,每個圖里面的關系比較多
- 圖(核心)
- 用例圖,時序圖的等,后續詳解
- 規則
- 范圍:給一個名字以特定含義的語境
- 可見性:怎樣使用或看見名字
- 完整性:事物如何正確、一致地相互聯系
- 執行:運行后模擬動態模型的含義是什么
- 公共機制
- 規格說明:事物語義的細節描述,它是模型真正的核心
- 修飾:通過修飾來表示更多的信息
- 公共分類:類與對象、接口的實現
- 擴展機制:允許添加新的規則
1.2、UML圖特點
- 靜態圖(結構圖)
- 類圖:一組類、接口、協作和它們之間的關系
- 對象圖:一組對象及它們之間的關系
- 構件圖:一個封裝的類和它的接口
- 部署圖:軟硬件之間映射
- 制品圖:系統的物理結構
- 包圖:由模型本身分解而成的組織單元,以及它們之間的依賴關系
- 組合結構圖:多種圖的混合使用的一種機制
- 動態圖(行為圖)
- 用例圖:系統與外部參與者的交互
- 順序圖:強調按時間順序
- 通信圖:也叫做協作圖
- 狀態圖:狀態轉換變遷
- 活動圖:類似程序流程圖,并行行為
- 定時圖:強調實際時間
- 交互概覽圖(多種交互圖的組合)
1.2.1、用例圖
用例圖的特點
- 描述一組用例、參與者及它們之間的關系
- 從用戶角度描述系統功能
- 參與者是外部觸發因素(包括用戶、組織、外部系統、時間)
- 用例是功能單元
用例中使用了哪些關系
- 包含關系
- 擴展關系
- 泛化關系
用例建模的流程
- 識別參與者(必須)
- 合并需求獲得用例(必須)
- 細化用例描述(必須)
- 調整用例模型(可選)
用例圖
參與者就是乘客,保安,技術人員。關閉電梯門,打開電梯門等就是用例。
1.2.2、順序圖
順序圖是一種交互圖,強調對象之間消息發送的順序,同時顯示對象之間的交互,也叫做時序圖。
比如登錄場景順序圖。
圖中的豎著的虛線表示生命線,虛線箭頭表示一個返回,實線箭頭表示一個調用,最上面的方框表示對象等。用這樣一個圖來描述登錄的流程,并且這個流程是強調先后順序的。
1.2.3、通信圖
通信圖也叫做協作圖,跟順序圖有著強相關性。
1.2.4、狀態圖
狀態圖表達的是狀態的轉換與變遷。
就是一種狀態經過什么刺激,轉換為另一種狀態。應用場景挺多的,比如開發一個系統,有會員機制,積分足夠可能就會有會員等級的狀態變化。
1.2.5、活動圖
活動圖類似于程序的流程圖,但是跟流程圖有些區別,它能夠去表達一些并行行為
1.2.6、定時圖
定時圖,會強調實際的時間
今天主要了解UML各種圖的一些特點,后續會做詳細的描述,學無止境,加油!