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