UML
- UML(統一建模語言)介紹
UML(統一建模語言)介紹
面向對象軟件開發需要經過OOA面向對象分析、OOD面向對象設計和OOP面向對象編程三個階段。OOA對目標系統進行分析并寄哪里分析模型,并將之文檔化,OOD用面向對象的思想將OOA的結果進行細化,得出設計模型。OOA和OOD的分析、設計結果需要統一的符號的描述、交流并記錄,UML就是這種用于描述、記錄OOA和OOD結果的符號表示法。
Booch是面向對象方法最早的倡導者之一,他提出了面向對象軟件工程的概念。Booch1993表示法比較適合用于系統的設計和構造
Rumbaugh等人提出了面向對象的建模技術(OMT)方法,采用了面向對象的概念,并引入各種獨立于語言的表示符。這種方法用對象模型、動態模型、功能模型和用例模型,共同完成對整個系統的建模,所定義的概念和符號可用于軟件開發的分析、設計和實現的全過程,軟件開發人員不必在開發過程的不同階段進行概念和符號的轉換。
Jacobson于1994年提出了OOSE方法,其最大特點就是面向用例(Use-Case),并在用例的描述過程中引入了外部角色的概念。用例的概念是精確描述需求的重要武器,但是用例貫穿于整個開發過程,包括對系統的測試和驗證。
UML統一了Booch、Rumbaugh和Jaacobson的表示方法,最終統一為大眾所接受的標準建模語言。UML是一種定義良好、易于表達、功能強大且普遍適用的建模語言。它的作用域不限于支持面向對象的分析與設計,還支持從需求分析開始的軟件開發的全過程。
1996年10月,獲取廣泛支持
1997年底,OMG組織采納了UML1.1作為基于面向對象技術的標準建模語言。一共包含:
最常用的UML圖包括:用例圖、類圖、組件圖、部署圖、順序圖、活動圖和狀態機圖等。
- 用例圖
用例圖用于描述系統提供的系列功能,而每個用例則代表系統的一個功能模塊。用例圖的主要目的是幫助開發團隊對以一種可視化的方式理解系統的需求功能,用例圖對系統的實現不做任何說明,僅僅是系統功能的描述。
用例圖包括用例(橢圓),“角色”(人形),角色和用例之間的關系(線段)以及系統內用例之間的管理。
- 1.類圖
最古老、功能最豐富、使用最廣泛的UML圖形。表示系統中應該包含哪些實體,各實體之間如何關聯,使用三個矩形來描述,最上面的部分顯示類的名稱,中間部分包含類的屬性,最下面部分包含類的方法。
類圖除了可以表示實體的靜態內部結構,還可以表示實體之間的相互關系,類之間的三種基本關系:關聯(聚合、組合)、泛化(繼承)、以來。
- 關聯
類中的某個屬性引用到另外一個實體時,就變成了關聯,如僅能從一個類單方向地訪問到另一個類,則被稱為單向關聯,如果兩個類可以相互訪問,則稱為雙向關聯,一個對象能訪問關聯對象的數目稱為多重性。
- 泛化
泛化和繼承時同一個概念,都是指的子類是一種特殊的父類,類與類之間的繼承關系是非常普遍的的。
- 依賴
如果一個類的改動會導致另一個類的改動,則稱為兩個類之間存在依賴。依賴關系使用帶箭頭的虛線表示,其中箭頭指向被依賴的實體。依賴常見的可能原因:1.改動的類將消息發給另一個類。2.改動的類以另一個類作為數據部分。3.改動的類以另一個類作為操作參數。
- 2。組件圖
顯示系統中的軟件對其他軟件組件的依賴關系。
- 3.部署圖
描述軟件系統如何部署到硬件環境中,顯示軟件系統中不同的組件在何處物理地運行,以及他們將如何批次通信。
- 4。順序圖
描述對象之間的交互,描述消息及時間順序。有兩個維度:垂直維度以發生的時間顯示消息/調用的序列,水平維度顯示消息被發送到的對象實例。
- 5。活動圖
活動圖和狀態機圖被稱為演化圖。
活動圖:用于描述用例內部的活動或方法的流程,如果除去活動圖中的并行活動描述以后,它就變成了流程圖。
演化圖的五要素:
- 狀態:狀態是對象響應事件前后的不同面貌,狀態是某個時間段對象所保持的穩定態,目前的軟件計算都是基于穩定態的,對象的穩定態是對象的固有特征,一個對象的狀態一般是有限的。有限狀態的對象是容易計算的,對象的狀態越多,對象的狀態遷移越復雜,對象狀態可以想象成對象演化過程中的快照。
- 事件:來自對象外界的刺激,通常的形式是消息的傳遞,只是相對對象而言發生了事件。事件是對象狀態發生改變的原動力。
- 動作:動作是對象針對所發生事件所做的處理,實際上通常表現為某個方法被執行。
- 活動:活動是動作激發的后續系統行為。
- 條件:條件指事件發生所需要具備的條件。
- 激發對象狀態改變的事件,通常有兩種類型:
- 內部事件:從系統內部激發的事件,一個對象的方法(動作)調用,(通過事件激活)另一個對象方法(動作)。
- 外部事件:從系統邊界外激發的事件,例如用戶的鼠標、鍵盤動作。
- 6。狀態機圖
描述某一對象聲明周期中需要關注的不同狀態,并會詳細描述刺激對象狀態改變的事件,以及對戲那個狀態改變時所采取的動作。
狀態機圖的符號集包括5個基本元素:
- 初始狀態,它使用實心圓來繪制;
- 狀態之間的轉換,它使用具有帶箭頭的線段來繪制;
- 狀態,它使用圓角矩形來繪制;
- 判斷點,它使用空心圓來繪制;
- 一個或者多個終止點,它們使用內部包含實心圓的圓來繪制。