UML建模語言內(nèi)容解析
本節(jié)和大家學(xué)習(xí)一下UML建模語言方面的內(nèi)容,UML建模語言是非專利的第三代建模和規(guī)約語言。UML建模語言是在開發(fā)階段,說明,可視化,構(gòu)建和書寫一個(gè)面向?qū)ο筌浖芗到y(tǒng)的制品的開放方法。
基本簡介
統(tǒng)一建模語言(UML)是非專利的第三代建模和規(guī)約語言。UML是在開發(fā)階段,說明,可視化,構(gòu)建和書寫一個(gè)面向?qū)ο筌浖芗到y(tǒng)的制品的開放方法。UML展現(xiàn)了一系列***工程實(shí)踐,這些***實(shí)踐在對大規(guī)模,復(fù)雜系統(tǒng)進(jìn)行建模方面,特別是在軟件架構(gòu)層次已經(jīng)被驗(yàn)證有效。
UML可以貫穿軟件開發(fā)周期中的每一個(gè)階段。被OMG采納作為業(yè)界的標(biāo)準(zhǔn)。
UML最適于數(shù)據(jù)建模,業(yè)務(wù)建模,對象建模,組件建模。
UML作為一種模型語言,它使開發(fā)人員專注于建立產(chǎn)品的模型和結(jié)構(gòu),而不是選用什么程序語言和算法實(shí)現(xiàn)。當(dāng)模型建立之后,模型可以被UML工具轉(zhuǎn)化成指定的程序語言代碼。
IBM的RationalRose和MS的Visio都是UML工具。
同時(shí)還有一些免費(fèi)的UML工具:http://java-source.net/open-source/uml-modeling
1、UML簡介
UML建模語言是一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍適用的建模語言。它溶入了軟件工程領(lǐng)域的新思想、新方法和新技術(shù)。它的作用域不限于支持面向?qū)ο蟮姆治雠c設(shè)計(jì),還支持從需求分析開始的軟件開發(fā)的全過程?!?br />
面向?qū)ο蠹夹g(shù)和UML的發(fā)展過程可用圖形來表示,標(biāo)準(zhǔn)建模語言的出現(xiàn)是其重要成果。在美國,截止1996年10月,UML獲得了工業(yè)界、科技界和應(yīng)用界的廣泛支持,已有700多個(gè)公司表示支持采用UML作為建模語言。1996年底,UML已穩(wěn)占面向?qū)ο蠹夹g(shù)市場的85%,成為可視化建模語言事實(shí)上的工業(yè)標(biāo)準(zhǔn)。1997年11月17日,OMG采納UML1.1作為基于面向?qū)ο蠹夹g(shù)的標(biāo)準(zhǔn)建模語言。UML代表了面向?qū)ο蠓椒ǖ能浖_發(fā)技術(shù)的發(fā)展方向,具有巨大的市場前景,也具有重大的經(jīng)濟(jì)價(jià)值和國防價(jià)值。
UML是一個(gè)標(biāo)準(zhǔn)的圖形表示法,它不是面向?qū)ο蟮姆治龊驮O(shè)計(jì),也不是一種方法,它僅僅是一組符號而已。
2、UML建模語言的內(nèi)容
首先,UML融合了Booch、OMT和OOSE方法中的基本概念,而且這些基本概念與其他面向?qū)ο蠹夹g(shù)中的基本概念大多相同,因而,UML必然成為這些方法以及其他方法的使用者樂于采用的一種簡單一致的建模語言;其次,UML不僅僅是上述方法的簡單匯合,而是在這些方法的基礎(chǔ)上廣泛征求意見,集眾家之長,幾經(jīng)修改而完成的,UML擴(kuò)展了現(xiàn)有方法的應(yīng)用范圍;第三,UML是標(biāo)準(zhǔn)的建模語言,而不是標(biāo)準(zhǔn)的開發(fā)過程。盡管UML的應(yīng)用必然以系統(tǒng)的開發(fā)過程為背景,但由于不同的組織和不同的應(yīng)用領(lǐng)域,需要采取不同的開發(fā)過程?!?br />
作為一種建模語言,UML的定義包括UML語義和UML表示法兩個(gè)部分?!?br />
(1)UML語義描述基于UML的精確元模型定義。元模型為UML的所有元素在語法和語義上提供了簡單、一致、通用的定義性說明,使開發(fā)者能在語義上取得一致,消除了因人而異的***表達(dá)方法所造成的影響。此外UML還支持對元模型的擴(kuò)展定義。
(2)UML表示法定義UML符號的表示法,為開發(fā)者或開發(fā)工具使用這些圖形符號和文本語法為系統(tǒng)建模提供了標(biāo)準(zhǔn)。這些圖形符號和文字所表達(dá)的是應(yīng)用級的模型,在語義上它是UML元模型的實(shí)例?!?br />
UML建模語言的重要內(nèi)容可以由下列五類圖(共9種圖形)來定義:
***類是用例圖,從用戶角度描述系統(tǒng)功能,并指出各功能的操作者?!?br />
第二類是靜態(tài)圖(Staticdiagram),包括類圖、對象圖和包圖。其中類圖描述系統(tǒng)中類的靜態(tài)結(jié)構(gòu)。不僅定義系統(tǒng)中的類,表示類之間的聯(lián)系如關(guān)聯(lián)、依賴、聚合等,也包括類的內(nèi)部結(jié)構(gòu)(類的屬性和操作)。類圖描述的是一種靜態(tài)關(guān)系,在系統(tǒng)的整個(gè)生命周期都是有效的。
對象圖是類圖的實(shí)例,幾乎使用與類圖完全相同的標(biāo)識。他們的不同點(diǎn)在于對象圖顯示類的多個(gè)對象實(shí)例,而不是實(shí)際的類。一個(gè)對象圖是類圖的一個(gè)實(shí)例。由于對象存在生命周期,因此對象圖只能在系統(tǒng)某一時(shí)間段存在?!“砂蝾惤M成,表示包與包之間的關(guān)系。包圖用于描述系統(tǒng)的分層結(jié)構(gòu)?!?br />
第三類是行為圖(Behaviordiagram),描述系統(tǒng)的動態(tài)模型和組成對象間的交互關(guān)系。其中狀態(tài)圖描述類的對象所有可能的狀態(tài)以及事件發(fā)生時(shí)狀態(tài)的轉(zhuǎn)移條件。通常,狀態(tài)圖是對類圖的補(bǔ)充。在實(shí)用上并不需要為所有的類畫狀態(tài)圖,僅為那些有多個(gè)狀態(tài)其行為受外界環(huán)境的影響并且發(fā)生改變的類畫狀態(tài)圖。而活動圖描述滿足用例要求所要進(jìn)行的活動以及活動間的約束關(guān)系,有利于識別并行活動?!?br />
第四類是交互圖(Interactivediagram),描述對象間的交互關(guān)系。其中順序圖顯示對象之間的動態(tài)合作關(guān)系,它強(qiáng)調(diào)對象之間消息發(fā)送的順序,同時(shí)顯示對象之間的交互;合作圖描述對象間的協(xié)作關(guān)系,合作圖跟順序圖相似,顯示對象間的動態(tài)合作關(guān)系。除顯示信息交換外,合作圖還顯示對象以及它們之間的關(guān)系。如果強(qiáng)調(diào)時(shí)間和順序,則使用順序圖;如果強(qiáng)調(diào)上下級關(guān)系,則選擇合作圖。這兩種圖合稱為交互圖?!?br />
第五類是實(shí)現(xiàn)圖(Implementationdiagram)。其中構(gòu)件圖描述代碼部件的物理結(jié)構(gòu)及各部件之間的依賴關(guān)系。一個(gè)部件可能是一個(gè)資源代碼部件、一個(gè)二進(jìn)制部件或一個(gè)可執(zhí)行部件。它包含邏輯類或?qū)崿F(xiàn)類的有關(guān)信息。部件圖有助于分析和理解部件之間的相互影響程度。
配置圖定義系統(tǒng)中軟硬件的物理體系結(jié)構(gòu)。它可以顯示實(shí)際的計(jì)算機(jī)和設(shè)備(用節(jié)點(diǎn)表示)以及它們之間的連接關(guān)系,也可顯示連接的類型及部件之間的依賴性。在節(jié)點(diǎn)內(nèi)部,放置可執(zhí)行部件和對象以顯示節(jié)點(diǎn)跟可執(zhí)行軟件單元的對應(yīng)關(guān)系?!?br />
從應(yīng)用的角度看,當(dāng)采用面向?qū)ο蠹夹g(shù)設(shè)計(jì)系統(tǒng)時(shí),首先是描述需求;其次根據(jù)需求建立系統(tǒng)的靜態(tài)模型,以構(gòu)造系統(tǒng)的結(jié)構(gòu);第三步是描述系統(tǒng)的行為。其中在***步與第二步中所建立的模型都是靜態(tài)的,包括用例圖、類圖(包含包)、對象圖、組件圖和配置圖等五個(gè)圖形,是UML建模語言的靜態(tài)建模機(jī)制。其中第三步中所建立的模型或者可以執(zhí)行,或者表示執(zhí)行時(shí)的時(shí)序狀態(tài)或交互關(guān)系。它包括狀態(tài)圖、活動圖、順序圖和合作圖等四個(gè)圖形,是標(biāo)準(zhǔn)建模語言UML的動態(tài)建模機(jī)制。因此,UML建模語言的主要內(nèi)容也可以歸納為靜態(tài)建模機(jī)制和動態(tài)建模機(jī)制兩大類。
【編輯推薦】