目錄:java
1.概論c++
2.用例圖數據庫
3.類圖編程
4.組件圖瀏覽器
5.部署圖服務器
6.順序圖函數
7.活動圖spa
8.狀態機圖設計
1.概論對象
面向對象軟件開發須要通過OOA(面向對象分析)、OOD(面向對象設計)和OOP(面向對象編程)三個階段。
OOA對目標系統進行分析,創建分析模型,並將之文檔化;OOD用面向對象的思想對OOA的結果進行細化,得出設計模型;OOA和OOD的分析、設計結果須要統一的符號來描述、交流並記錄,UML就是這種用於描述、記錄OOA和OOD結果的符號表示法。
UML圖大體上可分爲靜態圖和動態圖兩種。
從圖中能夠看出,UML2.0包括13種正式圖形:活動圖、類圖、通訊圖、組件圖、複合結構圖、部署圖、交互概觀圖、對象圖、包圖、順序圖、狀態機圖、定時圖、用例圖。
最經常使用的UML圖包括用例圖、類圖、組件圖、部署圖、順序圖、活動圖和狀態機圖等。
2.用例圖
用例圖用來描述系統提供的系列功能,而每一個用例則表明系統的一個功能模塊。
喲用例圖的主要目的是幫助開發團隊以一種可視化的方式理解系統的需求功能,用例圖對系統的實現不作任何說明,僅僅是系統功能的描述。
3.類圖
類圖是最古老、功能最豐富、使用範圍最普遍的UML圖。類圖表示系統中應該包含哪些實體,各實體之間如何關聯;換句話說,它顯示了系統的靜態結構,類圖可用於表示邏輯類,邏輯類一般就是業務人員所談及的事務種類。
類之間有三種基本關係:
①關聯(包含聚合、組合)
②泛化(與繼承同一個概念)
③依賴
具體說明:
①關聯(包含聚合、組合)
關聯具備方向性:單向關聯-帶箭頭;雙向關聯-不帶箭頭
聚合和組合:一般認爲組合比聚合更爲嚴格。好比,聚合:同一個學生能夠同時屬於多個社團;組合:同一個胳膊只能屬於一我的。
注:線上數字爲數量對應關係;1..*表明能夠是一個到多個。
②泛化(與繼承同一個概念)
繼承用帶空心三角形的實線表示;指向父
接口用帶空心三角形的虛線表示。指向接口
③依賴
若是一個類的改動會致使另外一個類的改動,則稱兩個類之間存在依賴。
依賴使用帶箭頭的虛線表示。
一般而言,依賴是單向的。
依賴的常見可能緣由以下:
①改動的類將消息發給另外一個類。
②改動的類以另外一個類做爲數據部分。
③改動的類以另外一個類做爲操做參數。
4.組件圖
對於現代的大型應用程序而言,一般不僅是單獨一個類或單獨一組類所能完成的,一般會由一個或多個可部署的組件組成。對java程序而言,可複用的組件一般打包成一個jar、war等文件;對c/c++應用而言,可用的組件一般是一個函數庫,或者是一個DLL(動態連接庫)文件。
組件圖提供的是系統的物理視圖,它的用途是顯示系統中的軟件對其餘軟件組件(例如,庫函數)的依賴關係。
組件圖一般包含組件,接口和port等圖元。uml使用帶(相似於插頭)的符號的矩形來表示組件,使用圓圈表明接口,使用位於組件邊界的小矩形表明port。
組件的接口表示它能對外提供的服務,這個接口一般有兩種表現形式:
①用一條實線鏈接到組件邊界的圓圈表示。
②使用位於組件內部的圓圈表示。
組件依賴於某個接口使用一條帶半圓的實現來表示。
5.部署圖
部署圖用於描述軟件系統如何部署到硬件環境中,他的用途是顯示軟件系統不一樣的組件將在何處物理運行,以及他們將如何彼此通訊。
部署圖中的符號包括組件圖中所使用的符號元素,另外還增長了節點的概念:
節點是各類計算資源的通用名稱,主要包括處理器和設備兩種類型,二者的區別是處理器可以執行程序的硬件構件(如計算機主機),而設備是一種不具有計算能力的硬件構件(如打印機)。
整個應用分爲5個組件:Student、Administrator、應用持久層、Student數據庫和UI界面組件。部署圖準確地表現了各組件之間的依賴關係。除此以外,部署圖的重點在物理節點上,圖反映了該應用須要部署在4個物理節點上,其中客戶端無需部署任何組件,直接使用客戶端瀏覽器便可;管理者客戶機上須要部署UI界面;應用服務器上須要部署Student、Administrator和應用持久層三個組件;而數據庫服務器上須要部署Student數據庫。
6.順序圖
順序圖顯示具體用例的詳細流程,而且顯示流程中不一樣對象之間的調用關係,同時還能夠很詳細地顯示對不一樣對象的不一樣調用。
順序圖描述了對象之間的交互(順序圖和通訊圖都被稱爲交互圖),重點在於描述消息及其順序。
順序圖有兩個維度:
①垂直維度:以發生的時間順序顯示消息/調用的序列;
②水平維度:顯示消息被髮送到的對象實例
注:冒號前是實例,冒號後是類;
箭頭表示一個類實例像另外一個類實例發送一條消息;
對於某些特別重要的消息,能夠繪製一條帶箭頭的指向發起類實例的虛線,將返回值標註在虛線上。
繪製順序圖主要是幫助開發者對某個用例的內部執行清晰化,當須要考察某個用例內部若干對象行爲時,應使用順序圖,順序圖擅長表現對象之間的協做順序,不擅長表現行爲的精肯定義。
通常來講,通訊圖能夠描述的內容順序圖均可以描述,但順序圖比通訊圖多了時間的概念。
7.活動圖
活動圖和狀態機圖都被稱爲演化圖,其區別和聯繫以下:
①活動圖:用於描述用例內部的活動或方法的流程,若是除去活動圖中的並行活動描述,它就變成流程圖。
②狀態機圖:描述某一對象生命週期中須要關注的不一樣狀態,並會詳細描述刺激對象狀態的事件,以及對象狀態改變時所採起的動做。
演化圖五要素:
①狀態②事件③動做④活動⑤條件
激發狀態改變的事件:①內部事件(一個對象的方法調用另外一個對象的方法)②外部事件(鼠標鍵盤動做)
8.狀態機圖
狀態機圖表示某個對象所處的不一樣狀態和該類的狀態轉換信息。
實際上,一般只對「感興趣的」對象繪製狀態圖。
狀態機圖的符號集包含5個基本元素:
①初始狀態:使用實心圓來繪製
②狀態之間的轉換:使用具備帶箭頭的線段來繪製
③狀態:使用圓角矩形來繪製
④判斷點:使用空心圓來繪製
⑤一個或者多個終止點:使用內部包含實心圓的圓來繪製
注:應保證對象只有一個初始狀態,能夠有多個終止狀態;
狀態機圖擅長表現單個對象的跨用例行爲。