【中级软考】UML图(Unified Modeling Language统一建模语言、标准建模语言)
文章目錄
- UML圖
- UML圖的作用
- 主要模型
- 功能模型
- 對象模型
- 動態模型
- 圖的種類
- 用例圖
- 類圖
- 對象圖
- 包圖
- 活動圖
- 狀態圖
- 1.概述:
- 2.構成要素:
- 2.1狀態(States):
- 2.2轉移(Transitions):
- 2.3事件:
- 2.4判斷(監護條件?):
- 2.4同步:
- 序列圖
- 協作圖
- 構件圖
- 部署圖
- 例題
UML圖
UML-Unified Modeling Language 統一建模語言,又稱標準建模語言。是用來對軟件密集系統進行可視化建模的一種語言。UML的定義包括UML語義和UML表示法兩個元素。
UML是在開發階段,說明、可視化、構建和書寫一個面向對象軟件密集系統的制品的開放方法。最佳的應用是工程實踐,對大規模,復雜系統進行建模方面,特別是在軟件架構層次,已經被驗證有效。統一建模語言(UML)是一種模型化語言。模型大多以圖表的方式表現出來。一份典型的建模圖表通常包含幾個塊或框,連接線和作為模型附加信息之用的文本。這些雖簡單卻非常重要,在UML規則中相互聯系和擴展。
UML圖的作用
UML的目標是以面向對象圖的方式來描述任何類型的系統,具有很寬的應用領域。其中最常用的是建立軟件系統的模型,但它同樣可以用于描述非軟件領域的系統,如機械系統、企業機構或業務過程,以及處理復雜數據的信息系統、具有實時要求的工業系統或工業過程等。總之,UML是一個通用的標準建模語言,可以對任何具有靜態結構和動態行為的系統進行建模,而且適用于系統開發的不同階段,從需求規格描述直至系統完成后的測試和維護。
主要模型
在UML系統開發中有三個主要的模型:
功能模型
從用戶的角度展示系統的功能,包括用例圖。
對象模型
采用對象、屬性、操作、關聯等概念展示系統的結構和基礎,包括類圖、對象圖、包圖。
動態模型
展現系統的內部行為。 包括序列圖、活動圖、狀態圖。
圖的種類
截止UML2.0一共有13種圖形(UML1.5定義了9種,2.0增加了4種)。分別是:用例圖、類圖、對象圖、狀態圖、活動圖、順序圖、協作圖、構件圖、部署圖9種,包圖、組合結構圖、交互概覽圖3種。
用例圖:從用戶角度描述系統功能。
類圖:描述系統中類的靜態結構。
對象圖:系統中的多個對象在某一時刻的狀態。
狀態圖:是描述狀態到狀態控制流,常用于動態特性建模
活動圖:描述了業務實現用例的工作流程
順序圖:對象之間的動態合作關系,強調對象發送消息的順序,同時顯示對象之間的交互
協作圖:描述對象之間的協助關系
構件圖:一種特殊的UML圖來描述系統的靜態實現視圖
部署圖:定義系統中軟硬件的物理體系結構
包圖:對構成系統的模型元素進行分組整理的圖
組合結構圖:表示類或者構建內部結構的圖
交互概覽圖:用活動圖來表示多個交互之間的控制關系的圖
用例圖
描述角色以及角色與用例之間的連接關系。說明的是誰要使用系統,以及他們使用該系統可以做些什么。一個用例圖包含了多個模型元素,如系統、參與者和用例,并且顯示了這些元素之間的各種關系,如泛化、關聯和依賴。
如:
類圖
類圖是描述系統中的類,以及各個類之間的關系的靜態視圖。能夠讓我們在正確編寫代碼以前對系統有一個全面的認識。類圖是一種模型類型,確切的說,是一種靜態模型類型。類圖表示類、接口和它們之間的協作關系。
如:
對象圖
與類圖極為相似,它是類圖的實例,對象圖顯示類的多個對象實例,而不是實際的類。它描述的不是類之間的關系,而是對象之間的關系。
包圖
包圖用于描述系統的分層結構,由包或類組成,表示包與包之間的關系。
活動圖
描述用例要求所要進行的活動,以及活動間的約束關系,有利于識別并行活動。能夠演示出系統中哪些地方存在功能,以及這些功能和系統中其他組件的功能如何共同滿足前面使用用例圖建模的商務需求。 [2]
狀態圖
描述類的對象所有可能的狀態,以及事件發生時狀態的轉移條件。可以捕獲對象、子系統和系統的生命周期。他們可以告知一個對象可以擁有的狀態,并且事件(如消息的接收、時間的流逝、錯誤、條件變為真等)會怎么隨著時間的推移來影響這些狀態。一個狀態圖應該連接到所有具有清晰的可標識狀態和復雜行為的類;該圖可以確定類的行為,以及該行為如何根據當前的狀態變化,也可以展示哪些事件將會改變類的對象的狀態。狀態圖是對類圖的補充。
1.概述:
狀態圖(Statechart Diagram)主要用于描述一個特定的對象的所有可能狀態以及由于各種事件的發生而引起的狀態之間的轉換。
2.構成要素:
狀態圖由狀態、轉移和事件組成。聯合使用狀態和轉移可以更好地建模它們,有時需要包含決策點和同步條來顯示更高層次的細節信息。
2.1狀態(States):
在對象的生命周期中滿足某些條件、執行某些活動或等待某些事件的一個條件或狀況。所有的對象都有狀態,狀態是對象執行了一系列活動的結果,當某個事件發生后,對象的狀態將發生變化。
狀態圖中可以包含0到多個開始狀態,也可以包含多個結束狀態。模型不必同時具有開始和結束狀態,因為模型可以總是運行,從不停止。
2.2轉移(Transitions):
兩個狀態之間的一種關系,表示對象將在第一個狀態中執行一定的動作并在某個特定事件發生或某個特定條件滿足時進入第二個狀態。
活動可以在轉換時執行也可以在狀態內執行。
2.3事件:
使狀態發生變化的某時刻發生的動作或活動,用來指示是什么觸發了轉移從而導致狀態發生了改變。事件通常在從一個狀態到另一個狀態的轉移路徑上直接指定。
2.4判斷(監護條件?):
判斷點通過對事件判斷分組轉移到各自方向,提高了狀態圖的可視性。
監護條件只有在相應的事件發生時才進行檢查。
2.4同步:
使用同步和活動圖一樣是為了說明并發工作流的分叉與聯合。
總結:狀態圖重點在與描述對象的狀態及其狀態之間的轉移,與活動圖區別在于狀態圖注重的是行為的結果,活動圖更注重是行為的動作。
序列圖
序列圖(順序圖)是用來顯示你的參與者如何以一系列順序的步驟與系統的對象交互的模型。順序圖可以用來展示對象之間是如何進行交互的。順序圖將顯示的重點放在消息序列上,即強調消息是如何在對象之間被發送和接收的。
協作圖
和序列圖相似,顯示對象間的動態合作關系。可以看成是類圖和順序圖的交集,協作圖建模對象或者角色,以及它們彼此之間是如何通信的。如果強調時間和順序,則使用序列圖;如果強調上下級關系,則選擇協作圖;這兩種圖合稱為交互圖。
如:
構件圖
構件圖又叫(組件圖)。描述代碼構件的物理結構以及各種構建之間的依賴關系。用來建模軟件的組件及其相互之間的關系,這些圖由構件標記符和構件之間的關系構成。在組件圖中,構件是軟件單個組成部分,它可以是一個文件,產品、可執行文件和腳本等。
部署圖
部署圖又叫(配置圖),是用來建模系統的物理部署。例如計算機和設備,以及它們之間是如何連接的。部署圖的使用者是開發人員、系統集成人員和測試人員。部署圖用于表示一組物理結點的集合及結點間的相互關系,從而建立了系統物理層面的模型。
一:這十種模型圖各有側重,
1:用例圖側重描述用戶需求,
2:類圖側重描述系統具體實現;
二:描述的方面都不相同,
1:類圖描述的是系統的結構,
2:序列圖描述的是系統的行為;
三:抽象的層次也不同,
1:構件圖描述系統的模塊結構,抽象層次較高,
2:類圖是描述具體模塊的結構,抽象層次一般,
3:對象圖描述了具體的模塊實現,抽象層次較低。
在有的文獻書籍中,將這九種模型圖分為三大類:
結構分類、動態行為和模型管理:
1:結構分類包括用例圖、類圖、對象圖、構件圖和部署圖,
2:動態行為包括狀態圖、活動圖、順序圖和協作圖,
3:模型管理則包含類圖。
參考文章1:UML圖
參考文章2:淺談UML中常用的幾種圖
例題
看不太懂??狀態B中間虛線是什么??
答案解釋:
事件e2發生時,如果當前狀態是B2狀態,他就會離開狀態B轉入C3,如果當前狀態不是B2,那么e2發生時是不會離開B狀態的。因此事件e2發生時不一定會離開狀態B
仔細閱讀了,好像明白了一點。。。那照這么說,選項D又怎么解釋,如果e1發生時狀態B還沒結束呢??
總結
以上是生活随笔為你收集整理的【中级软考】UML图(Unified Modeling Language统一建模语言、标准建模语言)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【中级软考】面向对象分析包含哪几个活动?
- 下一篇: 运行pip list报错:Fatal e