您好,登錄后才能下訂單哦!
這篇“UML建模語言的基本概念是什么”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“UML建模語言的基本概念是什么”文章吧。
UML由圖和元模型組成,圖是語法,元模型是語義。UML主要包括三個基本構造塊:事物(Things)、關系(Relationships)和圖(Diagrams)。本次連載我們將對UML的這些基本組成部分及UML工具和應用進行介紹,使讀者對UML形成初步的整體印象。在其后的幾次連載里,再以數個實例對這些內容逐步展開。
1.1UML建模語言的基本構造塊
1.1.1事物
事物是是實體抽象化的最終結果,是模型中的基本成員,UML建模語言中包含結構事物、行為事物、分組事物和注釋事物。
(1)結構事物(Structuralthings)
結構事物是模型中的靜態部分,用以呈現概念或實體的表現元素,是軟件建模中最常見的元素,共有以下七種:
類(Class):類是指具有相同屬性、方法、關系和語義的對象的集合;
接口(Interface):接口是指類或組件所提供的服務(操作),描述了類或組件對外可見的動作;
協作(Collaboration):協作描述合作完成某個特定任務的一組類及其關聯的集合,用于對使用情形的實現建模;
用例(UseCase):用例定義了執行者(在系統外部和系統交互的人)和被考慮的系統之間的交互來實現的一個業務目標;
活動類(ActiveClass):活動類的對象有一個或多個進程或線程。活動類和類很相象,只是它的對象代表的元素的行為和其他的元素是同時存在的;
組件(Component):組件是物理的、可替換的部分,包含接口的集合,例如COM+、JAVABEANS等;
結點(Node):結點是系統在運行時存在的物理元素,代表一個可計算的資源,通常占用一些內存和具有處理能力。
(2)行為事物(Behavioralthings)
UML建模語言中行為事物指的是UML模型中的動態部分,代表語句里的"動詞",表示模型里隨著時空不斷變化的部分,包含兩類:
交互(ineraction):交互是由一組對象之間在特定上下文中,為達到特定的目的而進行的一系列消息交換而組成的動作;
狀態機(statemachine):狀態機由一系列對象的狀態組成。
(3)分組事物(Groupingthings)
可以把分組事物看成是一個"盒子",模型可以在其中被分解。目前只有一種分組事物,即包(package)。結構事物、動作事物甚至分組事物都有可能放在一個包中。包純粹是概念上的,只存在于開發階段,而組件在運行時存在。
(4)注釋事物(Annotationalthings)
注釋事物是UML模型的解釋部分。
1.1.2關系
關系是將事物聯系在一起的方式,UML建模語言中定義了四種關系:
(1)依賴(Dependencies):兩個事物之間的語義關系,其中一個事物發生變化會影響另一個事物的語義;
(2)關聯(Association):一種描述一組對象之間連接的結構關系,如聚合關系(描述了整體和部分間的結構關系);
(3)泛化(Generalization):一種一般化-特殊化的關系;
(4)實現(Realization):類之間的語義關系,其中的一個類指定了由另一個類保證執行的契約。
1.1.3圖
圖是事物集合的分類,UML建模語言中包含多種圖:
(1)類圖(ClassDiagram):類圖描述系統所包含的類、類的內部結構及類之間的關系;
(2)對象圖(ObjectDiagram):對象圖是類圖的一個具體實例;
(3)包圖(PackageDiagram):包圖表明包及其之間的依賴類圖;
(4)組件圖(CompomentDiagram,也稱構件圖):組件圖描述代碼部件的物理結構以及各部件之間的依賴關系;
(5)部署圖(DeploymentDiagram):部署圖定義系統中軟硬件的物理體系結構;
(6)用例圖(UsecaseDiagram):用例圖從用戶的角度出發描述系統的功能、需求,展示系統外部的各類角色與系統內部的各種用例之間的關系;
(7)順序圖(SequenceDiagram):順序圖表示對象之間動態合作的關系;
(8)協作圖(CollaborationDiagram):合作圖描述對象之間的協作關系;
(9)狀態圖(StatechartDiagram):狀態圖描述一類對象的所有可能的狀態以及事件發生時狀態的轉移條件;
(10)活動圖(ActivityDiagram):活動圖描述系統中各種活動的執行順序。
1.2UML建模語言工具與應用
"工欲善其事,必先利于器",為了有效的利用UML,我們需要首先獲得一個UML工具軟件。
當前,業界使用最廣泛的UML建模工具為RationalRose。RationalRose中可實現正向(為模型產生相應的代碼)、逆向(從用戶原來的軟件系統導出該系統的模型)和雙向工程(實現模型和代碼之間的循環工程),從而保證模型與代碼的高度一致。RationalRose支持C++、VisualC++、Java、Smalltalk、Ada、VisualBasic、PowerBuilder等語言和開發工具,并能為CORBA應用生成接口定義語言(IDL),為數據庫應用生成數據庫描述語言(DDL)等。另外,RationalRose為團隊開發和規范的開發過程管理提供了良好的支持。
對于小規模應用,我們可以使用微軟公司Office套件中的Visio,其中提供了對UML各種圖的繪制支持。
從應用的角度上來講,面向對象的系統設計一般需要完成如下工作:
(1)描述需求;
(2)根據需求建立系統的靜態模型;
(3)描述系統的行為。
(1)和(2)中所建立的模型是靜態的(采用用例圖、類圖、對象圖、組件圖和部署圖等),是標準建模語言UML中的靜態建模機制;而(3)中所建立的模型則表示執行時的序列、狀態或交互關系(以狀態圖、活動圖、順序圖和協作圖描述),是標準建模語言UML中的動態建模機制。
由此可以看出,標準UML建模語言的主要內容也可以歸納為靜態建模機制和動態建模機制兩大類。
此外,需要說明的是,UML只是一種建模語言,它獨立于具體的建模過程。因此,利于它建模時,可遵循任何類型的建模過程。盡管如此,UML的作者們為我們推薦了RUP(RationalUnifiedProcess)。RUP由Rational軟件公司首創,其最重要的特點有三:
(1)軟件開發是由用例驅動的;
(2)軟件開發是以體系結構設計(ArchitecturalDesign)為中心;
(3)軟件開發是個迭代過程。
RUP包括四個階段,每個階段又分為若干次迭代,每次迭代都有一個核心工作流。
以上就是關于“UML建模語言的基本概念是什么”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。