Unified Modeling Language (UML)又稱統一模組化語言或标準模組化語言,是始于1997年一個OMG标準,它是一個支援模型化和軟體系統開發的圖形化語言,為軟體開發的所有階段提供模型化和可視化支援,包括由需求分析到規格,到構造和配置。面向對象的分析與設計(OOA&D,OOAD)方法的發展在80年代末至90年代中出現了一個高潮,UML是這個高潮的産物。它不僅統一了Booch、Rumbaugh和Jacobson的表示方法,而且對其作了進一步的發展,并最終統一為大衆所接受的标準模組化語言。
Grady Booch的描述對象集合和它們之間的關系的方法。James Rumbaugh的對象模組化技術(OMT)。Ivar Jacobson的包括用例方法的方式。還有其他一些想法也對UML起到了作用,UML是Booch, Rumbaugh, Jacobson。UML已經被對象管理組織(OMG)接受為标準,這個組織還制定了通用對象請求代理體系結構(CORBA),是分布式對象程式設計行業的領頭羊。計算機輔助軟體工程(CASE)産品的供應商也支援UML,并且它基本上已經被所有的軟體開發産品制造商所認可,這其中包括IBM和微軟。
UML規範用來描述模組化的概念有,類(對象的)、對象、關聯、職責、行為、接口、用例、包、順序、協作,以及狀态。
統一模組化語言(UML,UnifiedModelingLanguage)是面向對象軟體的标準化模組化語言。UML因其簡單、統一的特點,而且能表達軟體設計中的動态和靜态資訊,目前已成為可視化模組化語言的工業标準。在軟體無線電系統的開發過程中,統一模組化語言可以在整個設計周期中使用,幫助設計者縮短設計時間,減少改進的成本,使軟硬體分割最優。
UML從考慮系統的不同角度出發,定義了類圖、對象圖、用例圖、互動圖、狀态圖、活動圖、構件圖、協作圖、部署圖等9種圖。這些圖從不同的側面對系統進行描述。系統模型将這些不同的側面綜合成一緻的整體,便于系統的分析和構造。
(1)類圖(Class Diagram)。展現了一組類、接口、協作和它們之間的關系。類圖描述的是一種靜态關系,在系統的整個生命周期都是有效的,是面向對象系統的模組化中最常見的圖。
(2)對象圖(Object Diagram)。對象圖描述一組對象及他們之間的關系。對象圖描述在類圖中所建立的事物執行個體的靜态快照。和類圖一樣,給出系統的靜态設計視圖和靜态程序視圖,但是從真實案例或原型案例的角度建立的。
(3)用例圖(UseCase Diagram)。展現了一組用例、參與者(actor)以及它們之間的關系。用例圖從使用者角度描述系統的靜态使用情況,用于建立需求模型。
(4)互動圖。用于描述對象間的互動關系,由一組對象和它們之間的關系組成,包含它們之間可能傳遞的消息。互動圖又分為序列圖和協作圖,其中序列圖描述了以時間順序組織的對象之間的互動活動;協作圖強調收發消息的對象的結構組織。
(5)狀态圖(State Diagram)。由狀态、轉換、事件和活動組成,描述類的對象所有可能的狀态以及事件發生時的轉移條件。通常狀态圖是對類圖的補充,僅需為那些有多個狀态的、行為随外界環境而改變的類畫狀态圖。
(6)活動圖(Active Diagram)。一種特殊的狀态圖,展現了系統内一個活動到另一個活動的流程。活動圖有利于識别并行活動。
(7)構件圖(Component Diagram)。構件圖描述一個封裝的類和它的接口、端口,以及由内嵌的建構和連接配接件構成的内部結構。構件圖用于表示系統的靜态設計實作視圖。對于由小的部件建構大的系統來說,構件圖是很重要的。構件圖是類圖的變體。展現了一組元件的實體結構群組件之間的依賴關系。構件圖有助于分析和了解元件之間的互相影響程度。
(8)協作圖(CollaborationDiagrams)。描述對象之間的合作關系,側重對象之間的消息傳遞。
(9)部署圖(Deployment Diagram)。展現了運作處理節點以及其中的元件的配置。部署圖給出了系統的體系結構和靜态實施視圖。它與元件圖相關,通常一個節點包含一個或多個建構。
需要指出的是,UML并不限定僅使用這9種圖,開發工具可以采用UML來提供其他種類的圖,但到目前為止,這9種圖在實際應用中最常用的。