UML用戶指南--全面認識UML建模
本文和大家重點討論一下UML用戶指南,主要包括UML概述,UML的概念模型和UML體系結構等內容,希望通過本文的介紹你對UML用戶指南有一定的了解。
UML用戶指南
2.1UML概述
UML可以完成的工作:可視化、詳述、構造和文檔化。
2.2UML的概念模型
構造塊
①事物
⑴結構事物(structuralthing)
⒈類(class):拾對一組具有相同屬性、操作、關系和語義的對象的描述。
⒉接口(interface):描述一個類或者構件的一個服務的操作集合。
⒊協作(collaboration):定義了一個交互,他是由一組共同工作以提供某協作行為的角色和其他元素構成的一個群體。
⒋用例(usecase):是對一組動作序列的描述,系統執行這些動作將產生一個對特定的參與者有價值而且可觀察的結果。
⒌主動類(activeclass):主動類的對象至少擁有一個進程或線程,因此他能夠啟動控制活動。
⒍構件(component):是系統中物理的、可替代的部件,他遵循且提供一組接口的實現。
⒎節點(node):是在運行時存在的物理元素,他表示了一種可計算的資源,他通常至少有一些記憶能力和處理能力。
⑵行為事物(behavioralthing)
⒈交互(interaction):是這樣一種行為,它由在特定語境中共同完成一定任務的一組對象之間交換的消息組成。
⒉狀態機(statemachine):它描述了一個對象或者一個交互在生命周期內相應事件所經歷的狀態序列。
⑶分組事物(groupingthing)
⒈包(package):是把元素組織成組的機制,這種機制具有多種用途。
⑷注釋事物(annotationalthing)
⒈注釋(note):是一個依附于一個元素或者一組元素之上,對它進行約束或者解釋的簡單符號。
②關系
⑴關聯(dependency):一種結構關系,它描述了一組鏈,鏈是對象之間的連接。聚合()是一種特殊類型的關聯,它描述了整體和部分之間的結構關系。
⑵依賴(association):是兩個事物之間的語義關系,其中一個獨立事物發生變化會影響另外一個依賴事物的語義。
⑶泛化(generalization):是一種特殊/一般關系,特殊元素(即子元素)的對象可以替代一般元素(即父元素)的對象。
⑷實現(realization):是類之間的語義定義,其中一個類指定了由另外一個類保證執行的契約。在兩種地方要用到實現:接口和實現他們的類或者構件之間;用例和實現他們的協作之間。
③圖
⑴類圖(classdiagram):
展現了一組對象、接口、協作和他們之間的關系。在面向對象系統的建模中所建立的最常見的圖就是類圖。UML用戶指南中類圖給出系統的靜態設計視圖。包含主動類的類圖給出系統的靜態進程視圖。
Together名稱:ClassDiagram。
Together對象:Package、Class、Interface、Enum、ClassByTemplate、AssociationClass、Generalization/ImplementationLink、AssociationLink、LinkByTemplate、DependencyLink、AssociationEnd、Object、Note、NoteLink。
⑵對象圖(objectdiagram):
展現了一組對象以及他們之間的關系。UML用戶指南中對象圖描述了在類圖中所建立的事物的實例的靜態快照。和類圖一樣,這些圖給出系統的靜態設計視圖或靜態進程視圖,但他們是從真實的或原型案例的角度建立的。
Together名稱:無。
Together對象:無。
⑶用例圖(usecasediagram):
展現了一組用例、參與者(一種特殊的類)以及他們之間的關系。用例圖給出系統的靜態用例視圖。這些圖對于系統的行為進行組織和建模是非常重要的。
Together名稱:UseCaseDiagram。
Together對象:Actor、UseCase、GeneralizationLink、CommunicatesLink、ExtendLink,IncludeLink、SystemBoundary、Note、NoteLink。
⑷順序圖(sequencediagram):
是一種強調消息的時間順序的交互圖。
Together名稱:SequenceDiagram。
Together對象:Actor、Object、Message、MessagewithDeliveryTime、Self-Message、Return、Note、NoteLink。
⑸協作圖(collaborationdiagram):
強調收發消息的對象的結構組織的交互圖。UML用戶指南中順序圖和協作圖是同構的,這意味著他們是可以互相轉換的。
Together名稱:CollaborationDiagram。
Together對象:Object、Actor、Message、AssociationLink、AggregationLink、Note、NoteLink。
⑹狀態圖(statechartdiagram):
展現了一個狀態機,他由狀態、轉換、事件和活動組成。狀態圖專注于系統的動態視圖。他對于接口、類或者協作的行為建模尤為重要,而且他強調對象行為的事件順序,這非常有助于對反應式系統建模。
Together名稱:StateDiagram。
Together對象:State、StartState、EndState、History、Object、HorizontalFork/Join、VerticalFork/Join、Transition、Note、NoteLink。
⑺活動圖(activitydiagram):
是一種特殊的狀態圖,他展現了在系統內從一個活動到另一個活動的流程。活動圖專注于系統的動態視圖。他對于系統的功能建模特別重要,并強調對象間的控制流程。
Together名稱:ActivityDiagram。
Together對象:Activity、Decision/Merge、SignalReceipt、SignalSending、State、History、Object、StartState、EndState、HorizontalFork/Join、VerticalFork/Join、Swimlane、Transition、ObjectFlow、Note、NoteLink。
⑻構件圖(componentdiagram):
展現了一組構件之間的組織和依賴。專注于靜態視圖,與類圖相關,通常把構件圖映射成一個或多個類、接口或者協作。
Together名稱:ComponentDiagram。
Together對象:Subsystem、Component、Interface、SupportsLink、DependencyLink、Note、NoteLink。
⑼實施圖(deploymentdiagram):
展現了對運行時處理節點以及其中的構件的配置。他給出了系統的靜態實施視圖。與構件圖相關,通常一個節點包含一個或多個構件。
Together名稱:DeploymentDiagram。
Together對象:Node、Component、Interface、SupportsLink、AssociationLink、AggregationLink、Object、DependencyLink、Note、NoteLink。#p#
UML用戶指南中UML規則
①命名為事物、關系和圖命名
②范圍給一個名稱以特定含義的語境
③可見性怎樣讓其他人使用或者看見名稱
④完整性事物如何正確、一致地相互聯系
⑤執行運行或模擬動態模型的含義是什么
⑥省略隱藏某些元素以簡化視圖
⑦不完全性可以遺漏某些的元素
⑧不一致性不保證模型的完整性
UML用戶指南中的公共機制
①規格說明
②修飾
③通用劃分
⑴對類和對象的劃分。也就是抽象和實例的劃分,比如類和對象、用例和用例實例;
⑵接口和實現的劃分。例如用例和實現他們的協作、操作和實現他們的方法等。
④擴展機制,主要包括:
⑴構造型(stereotype)
⑵標記值(taggedvalue)
⑶約束(constraint)
2.3體系結構
UML用戶指南中UML體系結構是一組有關下述內容的重要決策:
①軟件系統的組織;
②對組成系統的結構元素及其接口的選擇;
③如元素間的協作中說描述的那樣的行為;
④將這些結構和行為元素組合到逐步增大的子系統;
⑤知道這種組織的體系結構風格:靜態和動態元素及其他們的接口、協作和組成;
⑥用法、功能、性能、彈性、復用、可理解性、經濟技術約束及其折衷、審美。
描述軟件體系結構最佳實踐,最好由以下五個視圖組成:
①系統的用例視圖(usecaseview)
②系統的設計視圖(designview)
③系統的進程視圖(processview)
④系統的實現視圖(implementationview)
⑤系統的實施視圖(deploymentview)
【編輯推薦】