1.用例建模中UML的九種圖
系統用例圖(Use Case Diagram)
用例之間的關系:
擴展:是把新的行為插入到已有用例中的方法。
泛化:是指父用例的行為被子用例繼承或覆蓋,往往父用例表示抽象用例。
包含:其中一個用例(基本用例)的行為包含了另一個用例(包含用例)的行為,一個用例的執行需要依賴另一個用例的實現。
定義:
用例圖是由參與者、用例,邊界以及他們之間的關系構成的用於描述系統功能的視圖。是軟件需求分析到最種實現的第一步,它是從客戶角度來描述系統功能。
用例圖主要用於為系統的功能需求建模,它主要描述系統功能,也就是從外部用戶的角度觀察,系統應該完成哪些功能,有利於開發人員以一種可視化的方式理解系統的功能需求。同時也是為了方便用戶和系統分析人員的理解盡量一致,為用戶和系統分析人員提供一個大眾的,一致性的方法,准確地把握系統的需求,能夠節省時間,提高效率!用例方法是完全從外部來定義系統功能,它把需求和設計完全的分離開來。我們不用關心系統內部是如何完成各種功能的,系統對於我們來說就是一個黑箱子。用例圖清楚地描述了使用者及它們之間的泛化關系,用例及用例之間的泛化、擴展關系,用例和參與者之間的關聯關系,可從用例圖中得到對於被定義系統的一個總體印象。
圖例:
2.靜態建模
(1)系統類圖(Class Diagram)
主要的類間關系有包含、泛化、依賴、實現。
定義:
是由若干類關聯在一起,反映系統或者子系統組成結構的靜態圖
簡要介紹:
類圖顯示了模型的靜態結構,特別是模型中存在的類、類的內部結構以及他們與其他類的關系等。類圖不顯示暫時性的信息。類圖是面向對象建模的主要組成部分。
圖例:
(2)對象圖(Object Diagram)
定義:
描述一個系統在某個具體時刻的靜態結構,對象圖是類圖的實例,用於顯示系統執行時的一個可能的快照。即在某一個時間系統上可能出現的樣子,對象圖用帶有下滑線的對象名稱表示對象。
簡要介紹:
對象圖表示一組對象及他們之間的聯系,它是系統的詳細狀態在某一時刻的快照,常用於表示復雜類圖的一個實例。UML中對象圖與類圖具有相同的表示形式。在UML中,對象圖的使用相當有限,主要用於表達數據結構的實例,以及了解系統在某個特定時刻的具體情況。
3.動態建模
(1)系統時序圖(Sequence Diagram)
組成元素是由對象、生命線、消息和激活等構成,主要用來描述用例的實現。
定義:
時序圖用於描述對象之間的傳遞信息的時間順序。即用例中的行為順序。當執行一個用例時,時序圖中的每一條消息對應了一個類中操作或者引起轉換的觸發事件。時序圖是一個而微大關系圖。縱軸表示時間時間軸向下延伸。橫軸代表協作中的各個獨立對象。對象存在時。消息用從一個對象的生命線到另個對象的生命線的箭頭表示。箭頭以時間的順序在圖中上下排列。
作用:
1.確認和豐富一個使用語境的邏輯表達。一個系統的使用情境就是系統潛在的使用方式的描述,他的名稱所要描述的,一個使用情境的邏輯可能是一個用例的一部分,或是一條控制流。
2.細化用例的表達。把用例表達的需求轉化為進一步、更加正式層次的精細表達。用例常常細化為一個或更多的序列圖。
3.有效的描述如何分配各個類的職責以及各類具有相應職責的原因。我們可以依據對象之間的交互關系來定義類的職責,各個類之間的交互關系構成一個特定的用例。
圖例:
(2)系統協作圖(Collaboration Diagram)
組成元素是由對象、鏈和信息等構成。
定義:
也叫做合作圖,是一種交互圖。時序圖主要側重於對象之間的消息傳遞在時間上的先后關系。而協作圖表達對象之間的交互過程及對象之間的關聯關系。
圖例:
(3)系統狀態圖(Statechart Diagram)
定義:
狀態圖包括狀態、轉換、初始狀態、終止狀態。
圖例:
(4)系統活動圖(Activity Diagram)
定義:
活動圖本質上就是流程圖。它用於描述系統的活動,判定點和分支等。活動中的動作狀態,原子的、不可已中斷的動作。並在此動作完成后向另一個動作轉變。分支與合並。
圖例:
4.物理建模
(1)系統組件圖(Component Diagram)
作用:
1.對源代碼進行建模。將系統分為幾個模塊或者子系統,進行處理。
2.對可執行文件之間相互關系進行建模,清晰地描述可執行文件之間的依賴關系。
3.構件圖為架構設計師提供了一個系統解決方案模型的自然形式。
4.構件圖能呈現整個系統的早期設計,成為方便不同開發小組的有用交流工具。
5.系統管理員通過構建圖能獲得系統上的邏輯構建的早期視圖,能較早的提供關於組件及其關系的信息。
定義:
組件圖用來建立系統中各種組件之間的關系。各個組件通過功能組織在一起。在UML中,組件使用左側有兩個小矩形的矩形來表示。組件圖用來設計系統的整個架構。
簡要介紹:
構件圖是從軟件架構的角度來描述一個系統的主要功能,如子系統、類、包、構件等。使用構件最重要的是復用。構件是系統中遵從同一組接口且提供其實現的物理的、可替換的部分。構件圖提供系統物理視圖,在一個非常高的層次上顯示系統中的構件與構件之間的依賴關系。
圖例:
(2)系統部署圖(Deployment Diagram)
定義:
部署圖是用來幫助開發者了解軟件中各種組件駐留在什么硬件位置,以及這些硬件之間的相互關系。
簡要介紹:
系統開發人員和部署人員可以利用部署圖去了解系統的物理運行情況。如果,開發的軟件系統只需在一台計算機上運行,且使用的標准設備,則不需要為它畫出系統部署圖。部署圖只需要給那些復雜的物理運行情況進行建模。部署圖顯示了系統的硬件,安裝在硬件上的軟件,用於連接硬件的各種協議和中間件等。部署模型的目的:描述一個具體應用的主要部署結構,通過對各種硬件,在硬件中的軟件以及各種連接協議的顯示,可以很好的描述系統是如何部署的;平衡系統運行時的計算資源分布;可以通過連接描述組織的硬件網絡結構或者是嵌入式系統等具有多種硬件和軟件相關的系統運行模型。
圖例:
5.包圖(Package Diagram)
定義:
包圖是在 UML 中用類似於文件夾的符號表示的模型元素的組合
簡要介紹:
包圖是一種維護和描述系統總體結構的模型的重要建模工具,通過對包中各個包以及包之間關系的描述,展現出系統的模塊與模塊之間的依賴關系。包圖的作用:包圖可以描述需求,設計的高階概況;包圖通過合理規划自身功能反應系統的高層架構,在邏輯上將系統進行模塊化分解;包圖最終是組織源碼的方式。一個包圖可以由任何一種UML圖組成,通常是UML用例圖或是UML類圖。包被描述成文件夾,可以用於UML任何一種的圖上。包圖只是把某些類放在一個包中,因此可以看做是類圖的一種。
作用:
1.描述系統的需求高階概述
2.描述系統的設計的高階概述
3.在邏輯上吧一個復雜的圖模塊化