-
統一建模語言
鎖定
- 中文名
- 統一建模語言
- 外文名
- UML
- 別 名
- 標準建模語言
- 創作年代
- 1997年
- 作 用
- 支持模型化和軟件開發
- 產 源
- OOA&D,OOAD
統一建模語言簡介
UML作為一種統一的軟件建模語言具有廣泛的建模能力。UML是在消化、吸收、提煉至今存在的所有軟件建模語言的基礎上提出的,集百家之所長,它是軟件建模語言的集大成者。UML還突破了軟件的限制,廣泛吸收了其他領域的建模方法,並根據建模的一般原理,結合了軟件的特點,因此具有堅實的理論基礎和廣泛性。UML不僅可以用於軟件建模,還可以用於其他領域的建模工作。
[1]
UML立足於對事物的實體、性質、關係、結構、狀態和動態變化過程的全程描述和反映。UML可以從不同角度描述人們所觀察到的軟件視圖,也可以描述在不同開發階段中的軟件的形態。UML可以建立需求模型、邏輯模型、設計模型和實現模型等,但UML在建立領域模型方面存在不足,需要進行補充。
[1]
作為一種建模語言,UML有嚴格的語法和語義規範。UML建立在元模型理論基礎上,包括4層元模型結構,分別是基元模型、元模型、模型和用户對象。4層結構層層抽象,下一層是上一層的實例。UML中的所有概念和要素均有嚴格的語義規範。
[1]
UML採用一組圖形符號來描述軟件模型,這些圖形符號具有簡單、直觀和規範的特點,開發人員學習和掌握起來比較簡單。所描述的軟件模型,可以直觀地理解和閲讀,由於具有規範性,所以能夠保證模型的準確、一致。
[1]
統一建模語言作用
(1)為軟件系統建立可視化模型。
UML符號具有良好的語義,不會引起歧義;基於UML的可視化模型,使系統結構直觀、易於理解;使用UML進行軟件系統的模型不但有利於系統開發人員和系統用户的交流,還有利於系統維護。模型是系統的藍圖,它可以對開發人員的規劃進行補充,模型可以幫助開發人員規劃要建的系統。有了正確的模型就可以實現正確的系統設計,保證用户的要求得到滿足,系統能在需求改變時站得住腳。對於一個軟件系統,模型就是開發人員為系統設計的一組視圖。這組視圖不僅描述了用户需要的功能,還描述了怎樣去實現這些功能。
[2]
(2)為軟件系統建立構件。
UML不是面向對象的編程語言,但它的模型可以直接對應到各種各樣的編程語言。例如,它可以使用代碼生成器工具將UML模型轉換為多種程序設計語言代碼,如可生成C++,XML,DTD,JAVA, Visual basic等語言的代碼,或使用反向生成器工具將程序源代碼轉換為UML;甚至還可以生成關係數據庫中的表。
[2]
(3)為軟件系統建立文檔。
統一建模語言模型
統一建模語言組成
UML由模型元素(Model Element)、圖(Diagram)、視圖(View)和通用機制(General Mechanism)等幾個部分組成。
統一建模語言模型元素
統一建模語言圖
統一建模語言視圖
統一建模語言通用機制
統一建模語言圖例
區分UML模型和UML圖是非常重要的,UML圖,包括用例圖、協作圖、活動圖、序列圖、部署圖、構件圖、類圖、狀態圖,是模型中信息的圖形表達方式,但是UML模型獨立於UML圖存在。UML的當前版本只提供了模型信息的交換,而沒有提供圖信息的交換。
[3]
(1)用例圖
描述角色以及角色與用例之間的連接關係。説明是誰要使用系統,以及他們使用該系統可以做些什麼。一個用例圖包含了多個模型元素,如系統、參與者和用例,並且顯示了這些元素之間的各種關係,如泛化、關聯和依賴。
[3]
(2)類圖
類圖是描述系統中的類,以及各個類之間的關係的靜態視圖。能夠讓開發人員在正確編寫代碼以前對系統有一個全面的認識。類圖是一種模型類型,確切地説,是一種靜態模型類型。類圖表示類、接口和它們之間的協作關係。
[3]
(3)對象圖
(4)活動圖
(5)狀態圖
描述類的對象所有可能的狀態,以及事件發生時狀態的轉移條件,可以捕獲對象、子系統和系統的生命週期。它可以告知一個對象可以擁有的狀態,並且事件(如消息的接收、時間的流逝、錯誤、條件變為真等)會怎麼隨着時間的推移來影響這些狀態。一個狀態圖應該連接到所有具有清晰的可標識狀態和複雜行為的類;該圖可以確定類的行為,以及該行為如何根據當前的狀態變化,也可以展示哪些事件將會改變類的對象的狀態。狀態圖是對類圖的補充。
[3]
(6)序列圖(時序圖)
(7)協作圖
和序列圖相似,顯示對象間的動態合作關係。可以看成是類圖和順序圖的交集,協作圖建模對象或者角色,以及它們彼此之間是如何通信的。如果強調時間和順序,則使用序列圖;如果強調上下級關係,則選擇協作圖;這兩種圖合稱為交互圖。
[3]
(8)構件圖(組件圖)
描述代碼構件的物理結構以及各種構建之間的依賴關係。用來建模軟件的組件及其相互之間的關係,這些圖由構件標記符和構件之間的關係構成。在組件圖,構件時軟件單個組成部分,它可以是一個文件,產品、可執行文件和腳本等。
[3]
(9)部署圖(配置圖)