計(jì)算機(jī)管理信息系統(tǒng)-10章UML建模語(yǔ)言_第1頁(yè)
計(jì)算機(jī)管理信息系統(tǒng)-10章UML建模語(yǔ)言_第2頁(yè)
計(jì)算機(jī)管理信息系統(tǒng)-10章UML建模語(yǔ)言_第3頁(yè)
計(jì)算機(jī)管理信息系統(tǒng)-10章UML建模語(yǔ)言_第4頁(yè)
計(jì)算機(jī)管理信息系統(tǒng)-10章UML建模語(yǔ)言_第5頁(yè)
已閱讀5頁(yè),還剩52頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

10.1模型的作用

10.2統(tǒng)一建模語(yǔ)言UML

10.3UML模型

10.4常見(jiàn)圖的用法與內(nèi)容

第10章UML建模語(yǔ)言

10.1模型的作用

借助于模型實(shí)現(xiàn)對(duì)復(fù)雜系統(tǒng)的認(rèn)識(shí),是一種有效手段;

■實(shí)際的管理信息系統(tǒng)是一個(gè)復(fù)雜的系統(tǒng),我們要開(kāi)發(fā)以計(jì)算機(jī)處理為基礎(chǔ)的現(xiàn)

代管理信息系統(tǒng),首先就得認(rèn)識(shí)、理解原有的系統(tǒng)或手工業(yè)務(wù),經(jīng)過(guò)反復(fù)討論

和修改以后,構(gòu)造出新的管理信息系統(tǒng)方案。在這一過(guò)程中,模型起著非常關(guān)

鍵的作用。

模型可以幫助我們以化簡(jiǎn)的形式捕捉現(xiàn)實(shí)系統(tǒng)中問(wèn)題的本質(zhì);

通過(guò)模型可以把被討論的概念可視化,把你心目中的系統(tǒng)實(shí)現(xiàn)方案勾勒出來(lái),把它

變成大家能夠看

模型有助于在由

?結(jié)論:學(xué)習(xí)建模

2012-9-20第8章運(yùn)行與維護(hù)2/56

10.1模型的作用

B?io.i.i什么是模型

'?:?10.1.2建模的價(jià)值

2012-9-20第8章運(yùn)行與維護(hù)3/56

10.1.1什么是模型

。模型并不深?yuàn)W。

-在你和別人討論問(wèn)題時(shí),把你想表達(dá)的東西以簡(jiǎn)化的形式畫到紙上,這就是模

型,哪怕是隨便勾畫了幾筆,只要有助于表達(dá)問(wèn)題,它就是模型了。

r模型可以描述系統(tǒng)的靜態(tài)結(jié)構(gòu),也可以描述系統(tǒng)的動(dòng)態(tài)行為;可以描述系統(tǒng)的宏觀

面貌,也可以描述系統(tǒng)內(nèi)的微觀交互場(chǎng)景。

簡(jiǎn)單地講,模型是對(duì)現(xiàn)實(shí)的簡(jiǎn)化、或者說(shuō),模型是簡(jiǎn)化的現(xiàn)實(shí);

模型會(huì)先于方案而存在,模型提供了營(yíng)造方案的藍(lán)圖。

2012-9-20第8章運(yùn)行與維護(hù)4/56

建模是有目的

建模的目的,是為了認(rèn)識(shí)復(fù)雜的問(wèn)題(或系統(tǒng));簡(jiǎn)化是認(rèn)識(shí)復(fù)雜系統(tǒng)的一種有

效方法;而建模是簡(jiǎn)化問(wèn)題的有效手段;

?“簡(jiǎn)化”是有目的的進(jìn)行的

?準(zhǔn)確地講,一個(gè)具體的模型是人對(duì)現(xiàn)實(shí)系統(tǒng)抽象認(rèn)知的結(jié)果,這一結(jié)果取決

于人和他觀察問(wèn)題的角度。人是認(rèn)知活動(dòng)的主體,他在認(rèn)識(shí)一個(gè)事物的時(shí)候,

往往是帶有主觀意志的,即他會(huì)從自己的立場(chǎng)或角度來(lái)看問(wèn)題。

—從某個(gè)角度看問(wèn)題,排除不必要的干擾,把問(wèn)題化簡(jiǎn),抓住主要矛盾和事物的本

質(zhì),這就是建模的目的。

?打一個(gè)比方,一座大樓在土木設(shè)計(jì)師眼里可能是一堆鋼筋混凝土和表面材質(zhì);

在管道設(shè)計(jì)師眼里可能是一堆管子和接頭;在網(wǎng)絡(luò)工程師眼里可能是一堆網(wǎng)

絡(luò)設(shè)備和布線。不同主體對(duì)同一客體的認(rèn)識(shí)結(jié)果有賴于各自的視角,即看問(wèn)

題的角度。這樣能更好地集中注意力,從而有效地解決關(guān)鍵問(wèn)題。

2012-9-20第8章運(yùn)行與維護(hù)5/56

建模是有原則的

<*在建立模型的過(guò)程中,建模者的主觀立場(chǎng)或認(rèn)識(shí)問(wèn)題的角度,被強(qiáng)調(diào)為認(rèn)知活動(dòng)的

原則,這很重要。

=?建模過(guò)程就是簡(jiǎn)化問(wèn)題的過(guò)程,就是要把某些主要的關(guān)鍵的東西勾勒出來(lái),把對(duì)討

——論問(wèn)題無(wú)關(guān)緊要的東西暫時(shí)略去,以免干擾視線。

r■因此,在討論一個(gè)系統(tǒng)中的某個(gè)問(wèn)題的時(shí)候,我們不是把整個(gè)系統(tǒng)都詳細(xì)地表

述出來(lái)以后再進(jìn)行討論,而習(xí)慣于從某個(gè)角度整理出一個(gè)從某個(gè)側(cè)面觀察的問(wèn)

題模型,這就是建模的原則。

對(duì)于一個(gè)系統(tǒng),基于不同的簡(jiǎn)化動(dòng)機(jī)(目的)和簡(jiǎn)化水平(原則),可以得到多個(gè)

模型,這樣有助于更深刻和更準(zhǔn)確地把握系統(tǒng)的本質(zhì)。

2012-9-20第8章運(yùn)行與維護(hù)6/56

對(duì)模型的評(píng)價(jià)

。利用價(jià)值高的模型就是好模型;

-針對(duì)特定的建?!皠?dòng)機(jī)”和“原則(抽象層次)”,我們通常會(huì)忽略那些與特

定抽象層次無(wú)關(guān)的次要因素,而強(qiáng)調(diào)那些具有廣泛影響力的主要因素,這就是

在追求模型的使用價(jià)值。

——r■換言之,內(nèi)容多的模型未必是好模型,因?yàn)閮r(jià)值高的內(nèi)容有可能被價(jià)值不高的

內(nèi)容淹沒(méi)了。

?模型的的好壞,取決于兩個(gè)因素,即建模的“視角(動(dòng)機(jī))”和“抽象層次”,

這兩個(gè)因素決定了模型有沒(méi)有把握問(wèn)題的本質(zhì)和有沒(méi)有洽到好處的排除掉干撓

視線的次要因素,便于清晰的認(rèn)識(shí)問(wèn)題。

2012-9-20第8章運(yùn)行與維護(hù)7/56

模型的表述

,模型是一組具有完整語(yǔ)義的信息,包括兩個(gè)方面的含義:

'■一方面,模型是對(duì)現(xiàn)實(shí)的簡(jiǎn)化;

?另一方面,模型反映了認(rèn)知主體(開(kāi)發(fā)人員)對(duì)問(wèn)題域認(rèn)識(shí)的視角和抽象層

次。不同的視角,表現(xiàn)為各種類型的圖(Diagram)及其包含的元素和關(guān)聯(lián);

不同的抽象層次,表現(xiàn)為不同類型的視圖(View)。兩者都是模型不可或缺的

要素。

—盡管說(shuō)模型是簡(jiǎn)化的現(xiàn)實(shí),并強(qiáng)調(diào)化簡(jiǎn)價(jià)值,但這并不意味著可以片面地夸大圖示

信息的作用,好的模型應(yīng)該是圖文并茂,其關(guān)鍵是可用和易用。

2012-9-20第8章運(yùn)行與維護(hù)8/56

10.1.2建模的價(jià)值

。建模(Modeling)是捕捉問(wèn)題本質(zhì)的過(guò)程。為了降低風(fēng)險(xiǎn)和獲得高回報(bào),建?;顒?dòng)

_普遍應(yīng)用于各種行業(yè),信息系統(tǒng)(軟件)開(kāi)發(fā)更不例外。為了說(shuō)明建模的價(jià)值,

GradyBooch曾經(jīng)給出過(guò)一個(gè)經(jīng)典的類比:

■蓋一個(gè)寵物窩棚、修一個(gè)鄉(xiāng)間別墅和建一座摩天大樓,三種工作對(duì)建筑規(guī)劃圖

r紙的依賴程度有質(zhì)的差異。建立一個(gè)簡(jiǎn)單的系統(tǒng),模型可有可無(wú);建立一個(gè)比

較復(fù)雜的系統(tǒng),模型的必要性增大;建立一個(gè)高度復(fù)雜的系統(tǒng),模型則不可缺

少。應(yīng)用處理簡(jiǎn)單系統(tǒng)的方法對(duì)待復(fù)雜系統(tǒng)通常是行不通的,這好比用搭建一

個(gè)寵物窩棚的方法來(lái)營(yíng)造一座摩天大廈。

建模的意義隨著系統(tǒng)復(fù)雜程度的增加而越發(fā)顯著,從起初借助于模型以更好地理解

系統(tǒng),到后來(lái)不得不借助模型來(lái)理解系統(tǒng)。人腦對(duì)復(fù)雜問(wèn)題的理解能力是有限的,

與模型相應(yīng)的特定視角和抽象層次是簡(jiǎn)化復(fù)雜問(wèn)題的有效出發(fā)點(diǎn)。

2012-9-20第8章運(yùn)行與維護(hù)9/56

建模對(duì)于復(fù)雜軟件系統(tǒng)的開(kāi)發(fā)是必要的

-目前,我們開(kāi)發(fā)的軟件,特別是商業(yè)軟件,通常一開(kāi)始就很不簡(jiǎn)單,并且復(fù)雜性隨著時(shí)間

的演進(jìn)和技術(shù)的發(fā)展持續(xù)上升。一個(gè)復(fù)雜軟件系統(tǒng)的開(kāi)發(fā)必須面對(duì)多種未知因素、多個(gè)開(kāi)

發(fā)人員、復(fù)雜的開(kāi)發(fā)工具和永遠(yuǎn)不夠用的時(shí)間。開(kāi)發(fā)人員不可能、更沒(méi)有必要去了解從問(wèn)

題到方案的所有細(xì)節(jié)。他們需要那些基于特定視角的、有助于解決問(wèn)題的并且是完整的某

一部分信息,即所謂的模型??傊?,建模對(duì)于復(fù)雜軟件系統(tǒng)的開(kāi)發(fā)是必要的。

?建?;顒?dòng)是有意識(shí)的、有目的、有原則、有計(jì)劃的嚴(yán)密工作

-廣義上講,無(wú)論出于何種動(dòng)機(jī),只要在問(wèn)題到方案之間做出一些過(guò)渡性的努力,哪怕只是

在草稿或白板上畫了幾筆,實(shí)際上就是在建模了。不過(guò)有意識(shí)和無(wú)意識(shí)的建?;顒?dòng)對(duì)模型

的質(zhì)量或價(jià)值的影響很大。有意識(shí)的建?;顒?dòng)通常是有計(jì)劃的、有準(zhǔn)備的和早動(dòng)手的。通

過(guò)這樣的建?;顒?dòng),得到的模型通常是完整的、一致的和可復(fù)用的。無(wú)意識(shí)的建?;顒?dòng),

通常是隨機(jī)的、無(wú)準(zhǔn)備的和補(bǔ)救性的,得到的模型往往是零散的、混亂的和一次性的。

準(zhǔn)確地講,建?;顒?dòng)直觀地記錄下認(rèn)知和求解過(guò)程,支持團(tuán)隊(duì)成員之間的有效溝通,為重復(fù)利

用各個(gè)階段積累的智力成果創(chuàng)造了有利的條件。

概括地講,建模簡(jiǎn)化了認(rèn)知過(guò)程,化簡(jiǎn)了求解過(guò)程。V

2012-9-20第8章運(yùn)行與維護(hù)10/56

10.2統(tǒng)一建模語(yǔ)言UML

。為了表達(dá)問(wèn)題,你可以使用任何能夠說(shuō)明問(wèn)題的圖形符號(hào)、文字、表格、線條等,

_只要能說(shuō)明問(wèn)題,所有這些都可以作為建模的工具。

在管理信息系統(tǒng)的開(kāi)發(fā)過(guò)程中,建模是必不可少的。在結(jié)構(gòu)化的系統(tǒng)分析與設(shè)計(jì)過(guò)

程中,我們學(xué)過(guò)的主要建模工具包括數(shù)據(jù)流圖、數(shù)據(jù)字典、結(jié)構(gòu)圖等;UML則是面

r向?qū)ο蟮拈_(kāi)發(fā)方法中使用的主要建模工具之一。

?統(tǒng)一建模語(yǔ)言UML,全稱是UnifiedModelingLanguageo

掌握UML的建模技術(shù),是面向?qū)ο蠓治雠c設(shè)計(jì)的基本技能之一。

2012-9-20第8章運(yùn)行與維護(hù)11/56

JimRumbaugh是IBM杰出的工程師,如今他

正領(lǐng)導(dǎo)IBMRational分部的軟件建模工作。

他和GradyBooch>IvarJacobson并稱為

發(fā)明UML的“三友”,UML在1997年被國(guó)際

對(duì)象組織接收為建模標(biāo)準(zhǔn)。他也參與了RUP

的開(kāi)發(fā)并且曾經(jīng)是面向?qū)ο蠓治雠c設(shè)計(jì)方

面的0MT的主要開(kāi)發(fā)者。上周,InfoWorld

編輯在在SantaClara召開(kāi)的SDWest2005

會(huì)議上對(duì)Rumbaugh進(jìn)行了訪談,討論了UML、

SOA(service-orientedarchitectures)

和ESB(enterpriseservicebus)技術(shù)。

Rumbaugh對(duì)微軟及其在U肛上的騎墻姿勢(shì)表

示了不屑。

2012-9-20第8章運(yùn)行與維護(hù)12/56

UML的來(lái)歷

。20世紀(jì)90年代初,很多面向?qū)ο蟮姆椒ㄒ呀?jīng)擁有自己的符號(hào)體系,其中有三種比較

___突出:

■JimRumbaugh的0MT方法,

r■GradyBooch的Booch方法

■IvarJacobson的OOSE方法。

?不同的方法和符號(hào)體系各有所長(zhǎng):0MT擅長(zhǎng)分析,Booch擅長(zhǎng)設(shè)計(jì),00SE則擅長(zhǎng)業(yè)務(wù)

_建模。那個(gè)時(shí)期的面向?qū)ο蠹夹g(shù)人員沒(méi)有我們這么幸運(yùn),為了建立比較豐滿的模型

并進(jìn)行有效的溝通,他們需要掌握不同的符號(hào)體系,并且花費(fèi)一些精力去翻譯和轉(zhuǎn)

述用不同符號(hào)體系表述的模型。

2012-9-20第8章運(yùn)行與維護(hù)13/56

UML的來(lái)歷

。在后來(lái)的幾年中,上述三位大師在各自的著作中自然而然地融入了其他兩種方法的

技術(shù)內(nèi)容。

JimRumbaugh于1994年離開(kāi)GE加入GradyBooch所在的Rational公司,開(kāi)始和

GradyBooch協(xié)同研究一種統(tǒng)一的方法。一年后,UnifiedMethod0.8誕生了。

r?3同年,Rational收購(gòu)了IvarJacobson所在的Objectory公司,IvarJacobson從此

也成為Rational的一■員。UnifiedMethod不久更名為UML。

仰仗三位面向?qū)ο蠓椒▽W(xué)大師的威望,基于數(shù)十位業(yè)內(nèi)重量級(jí)人物歷時(shí)兩年的通力

合作,并充分考慮到多個(gè)合作伙伴的反饋意見(jiàn),UML一步步趨于成熟。1997年9月,

=UML1.1被提交到國(guó)際對(duì)象管理組織,同年11月被該組織認(rèn)定為標(biāo)準(zhǔn)的建模語(yǔ)言。

統(tǒng)一建模語(yǔ)言,顧名思義有三個(gè)要點(diǎn):統(tǒng)一(Unified)、建模(Modeling)和語(yǔ)

言(Language)。---1

2012-9-20第8章運(yùn)行與維護(hù)14/56

把握UML的優(yōu)勢(shì)和學(xué)習(xí)方法

。“統(tǒng)一”是UML的核心。它提升了開(kāi)發(fā)團(tuán)隊(duì)的溝通效率,節(jié)約了以往用于翻譯和轉(zhuǎn)

_述的開(kāi)銷,屏蔽了藏匿于含糊語(yǔ)義中的風(fēng)險(xiǎn)。

■在傳統(tǒng)的方法中,它們各自擁有專用的符號(hào)系統(tǒng),這也是長(zhǎng)期以來(lái)潛在的溝通

壁壘,而使用UML表述的內(nèi)容能被各類人員所理解,包括用戶、領(lǐng)域?qū)<摇⒎?/p>

r析師、設(shè)計(jì)師、程序員、測(cè)試人員和培訓(xùn)師等。通過(guò)UML,他們可以充分地理

解并表述自己所關(guān)注的那部分內(nèi)容。

一“建?!斌w現(xiàn)了UML的使用價(jià)值。UML在制定過(guò)程中汲取了多種建模方法的精華,包

—括業(yè)務(wù)建模和數(shù)據(jù)建模等。

■UML的使用價(jià)值不可能脫離特定類型的建模活動(dòng)。對(duì)于學(xué)習(xí)者而言,如果以掌

握UML的符號(hào)和規(guī)則為最終目的,你將所獲甚微。盡管UML所表述的內(nèi)容可以貫

穿系統(tǒng)開(kāi)發(fā)的整個(gè)生命周期,但UML不同于普通的程序設(shè)計(jì)語(yǔ)言,.以僅僅匯

握UML的符號(hào)和規(guī)則并不能得到實(shí)際的解決方案。工<

2012-9-20第8章運(yùn)行與維護(hù)15/56

把握UML的優(yōu)勢(shì)和學(xué)習(xí)方法

?!罢Z(yǔ)言”是UML的普遍價(jià)值的表現(xiàn)

■語(yǔ)言的一層基本含義是一套按照特定規(guī)則和模式組成的符號(hào)系統(tǒng),被擁有相同傳統(tǒng)和習(xí)慣

的人群所使用。我們?cè)谌粘I钪袑ⅰ皳碛泄餐Z(yǔ)言”看做是能夠有效溝通的必要條件。

近年來(lái),軟件開(kāi)發(fā)所涉及的技術(shù)飛速發(fā)展,不同技術(shù)門類所使用的建模語(yǔ)言自成體系,同

r時(shí)也具有很大的局限性,表現(xiàn)形式的差異往往掩蓋了本質(zhì)內(nèi)容的相通。幸好,與人類的自

然語(yǔ)言不同的是,在軟件開(kāi)發(fā)過(guò)程中使用的建模語(yǔ)言不涉及宗教和文化等諸多歷史或地域

障礙。在博采眾長(zhǎng)的基礎(chǔ)上,UML作為一種共通的和可擴(kuò)展的語(yǔ)言,其描述能力適用于軟

件開(kāi)發(fā)中各種技術(shù)門類的建模活動(dòng)。自然語(yǔ)言是人類對(duì)客觀世界建模最直接有效的表述形

式;類似地,UML是迄今為止,軟件開(kāi)發(fā)人員進(jìn)行統(tǒng)一建?;顒?dòng)最直接有效的表述形式。

不僅如此,UML還是能被軟件開(kāi)發(fā)環(huán)境所理解的語(yǔ)言。

通常,我們沒(méi)必要在掌握所有的詞匯和語(yǔ)法之后才開(kāi)始使用一種語(yǔ)言。掌握語(yǔ)言的關(guān)鍵在于有

目的地使用,學(xué)習(xí)UML的情況很類似。在開(kāi)始階段,基于一個(gè)明確目標(biāo),集中精力理解一些必要

的詞匯和語(yǔ)法,在使用中深入體會(huì)才是事半功倍的做法。V一■'———

2012-9-20第8章運(yùn)行與維護(hù)16/56

10.3UML模型

。下面以實(shí)用為目標(biāo),簡(jiǎn)單介紹一些UML的基本語(yǔ)義、內(nèi)容組織與表述規(guī)則,內(nèi)容包

括三小節(jié):

10.3.1模型的基本內(nèi)容

r?10.3.2UML的語(yǔ)義擴(kuò)展

10.3.3模型的組織結(jié)構(gòu)

2012-9-20第8章運(yùn)行與維護(hù)17/56

10.3.1模型的基本內(nèi)容

B概念上,UML用于描述模型的基本詞匯有三類:要素、關(guān)系和圖。

’■“要素”是模型中的核心內(nèi)容,可以形象地理解為“點(diǎn)”;

■“關(guān)系”在邏輯上將要素聯(lián)系在一起,可以形象地理解為“線”;

—■“圖”將一組要素和關(guān)系展現(xiàn)出來(lái),可以形象地理解為“面”。

-總體上看,由這些“點(diǎn)”、“線”、“面”組成了“立體”的模型。

2012-9-20第8章運(yùn)行與維護(hù)18/56

.第一類詞匯——要素

UML中有四種類型的要素。

(1)表述結(jié)構(gòu)的要素,包括“UseCase"、“類(Class)”、“接口

(Interface)”和“協(xié)作(Collaboration)”。

(2)表述行為的要素,包括“交互(Interaction)”和“狀態(tài)機(jī)(State

Machine)”。

(3)用于組織模型內(nèi)容的要素,即“包(Package)”。

(4)用做輔助說(shuō)明的要素,即“注釋(Notes)”。

2012-9-20第8章運(yùn)行與維護(hù)19/56

2.第二類詞匯——關(guān)系

*>u肛中有四種類型的關(guān)系。

?(1)關(guān)聯(lián)關(guān)系(Association),表達(dá)兩個(gè)類的實(shí)例之間存在連接。聚集關(guān)系

(Aggregation)與組合關(guān)系(Composition)是關(guān)聯(lián)關(guān)系的兩種強(qiáng)化形式。

?(2)依賴關(guān)系(Dependency),依賴者“使用”被依賴者的關(guān)系。

r?(3)泛化關(guān)系(Generalization),表達(dá)“特殊的”與“一般的”的關(guān)系。

?(4)實(shí)現(xiàn)關(guān)系(Realization),“被實(shí)現(xiàn)者”是要求的說(shuō)明,“實(shí)現(xiàn)者”是針對(duì)要求

的解決方案。

2012-9-20第8章運(yùn)行與維護(hù)20/56

3.第三類詞匯——圖

。UML中有九種圖,實(shí)踐中常用的有六種,包括兩種靜態(tài)圖和四種動(dòng)態(tài)圖。

?(1)UseCase圖:UseCase圖是一種靜態(tài)圖,主要用于展示UseCase、Actor及其關(guān)系。

?(2)類圖:類圖也是一種靜態(tài)圖,主要用于展示類、接口、包及其關(guān)系。

(3)序列圖(Sequence):序列圖是一種動(dòng)態(tài)圖,用于按時(shí)序展示對(duì)象間的消息傳遞場(chǎng)景。

r?(4)協(xié)作圖(Collaboration):協(xié)作圖是一種動(dòng)態(tài)圖,其核心內(nèi)容與序列圖相對(duì)應(yīng),與序列圖

表示的是相同的內(nèi)容,但它并不是關(guān)注對(duì)象之間消息傳遞的場(chǎng)景,而是強(qiáng)調(diào)對(duì)象間由于收發(fā)消息

而關(guān)聯(lián)起來(lái)的一種組織結(jié)構(gòu)。序列圖和協(xié)作圖統(tǒng)稱交互圖(InteractionDiagram)0

(5)狀態(tài)圖(StatechartDiagram):狀態(tài)圖也是一種動(dòng)態(tài)圖,主要用于展示對(duì)象在其生命周期

中可能經(jīng)歷的狀態(tài),以及在這些狀態(tài)上對(duì)事件的響應(yīng)能力。

(6)活動(dòng)圖(ActivityDiagram):活動(dòng)圖也是一種動(dòng)態(tài)圖,用于展示系統(tǒng)從一個(gè)活動(dòng)流轉(zhuǎn)到另

一個(gè)活動(dòng)的可能路徑與判斷條件。

其他三種靜態(tài)圖分別為對(duì)象圖(ObjectDiagram)>構(gòu)件圖(ComponentDiagram]和鄢署用

(DeploymentDiagram)。//

2012-9-20第8章運(yùn)行與維護(hù)21/56

10.3.2UML的語(yǔ)義擴(kuò)展

”作為一種語(yǔ)言,UML除了提供基本詞匯,還給出了對(duì)自身描述能力的三種擴(kuò)展機(jī)制,

即構(gòu)造型(Stereotype)、標(biāo)注值(Taggedvalue)和約束(Constraint)。

本書實(shí)例中主要使用“構(gòu)造型”擴(kuò)展基本模型詞匯的語(yǔ)義,來(lái)表達(dá)新的概念。在后續(xù)

的分析與設(shè)計(jì)活動(dòng)中,主要用到以下幾種。

r(1)類的構(gòu)造型。在系統(tǒng)分析階段的“提取分析類”活動(dòng)中將使用實(shí)體類

〈〈entity〉》、控制類〈〈control〉和邊界類<<boundary>>;在"確定核心元素”活動(dòng)

中將使用“子系統(tǒng)代理”〈〈subsystemproxy?;在“引入外圍元素”活動(dòng)中將使用

角色<<role>>。實(shí)質(zhì)上,接口也是類的一種構(gòu)造型<。111642?6>>。

(2)包的構(gòu)造型。在“選用構(gòu)架模式”活動(dòng)中將使用層次<<layer>>;在“確定核心

元素”活動(dòng)中將使用子系統(tǒng)<<subsystem>>。

2012-9-20第8章運(yùn)行與維護(hù)22/56

10.3.2UML的語(yǔ)義擴(kuò)展

。(3)UseCase的構(gòu)造型?!癠seCase實(shí)現(xiàn)"〈〈usecaserealization〉〉是Use

Case的一種構(gòu)造型,表述用分析或設(shè)計(jì)元素實(shí)現(xiàn)局部需求的協(xié)作內(nèi)容;“設(shè)計(jì)機(jī)

制"〈〈mechanism〉》,表述解決特定技術(shù)問(wèn)題的協(xié)作模式。

上述構(gòu)造型是UML應(yīng)用建模中常見(jiàn)的語(yǔ)義擴(kuò)展形式,在后面章節(jié)結(jié)合特定應(yīng)用場(chǎng)合

r會(huì)具體講到相關(guān)的概念和用法。

2012-9-20第8章運(yùn)行與維護(hù)23/56

10.3.3模型的組織結(jié)構(gòu)

??傮w上,模型的內(nèi)容通過(guò)包以及包的層層嵌套組織在一起。

白。UseCaseView

■模型中的包類似于Windows系統(tǒng)管理磁盤文件的巨錄結(jié)構(gòu),?OUseCase模型

如圖10.1所示。包將一堆零散的模型內(nèi)容簡(jiǎn)單地組織在一?O業(yè)務(wù)模型

起,目的是更易于理解和管理。族Main

三Associations

模型應(yīng)該能夠反映建模者和使用者的特定視角,它就是建模動(dòng)機(jī),El-CjLogicalView

國(guó)門類

表現(xiàn)為的模型中的''構(gòu)架視圖”(ArchiectureView)o

?o設(shè)計(jì)模型

r■正如在土木設(shè)計(jì)師眼里的大樓可能是一堆鋼筋混凝土和表

@Mam

面材質(zhì),同樣一座大樓,在管道設(shè)計(jì)師眼里可能是一堆管g:設(shè)計(jì)模型整體組織結(jié)構(gòu)

子和接頭,在網(wǎng)絡(luò)工程師眼里可能是一堆網(wǎng)絡(luò)設(shè)備和布線:國(guó)一mAssociations

不同主體對(duì)同一客體的認(rèn)識(shí)結(jié)果有賴于各自的視角,即看[+)-ComponentView

0;DeploymentView

問(wèn)題的角度。這樣能更好地集中注意力,從而有效地解決@ModelProperties

關(guān)鍵問(wèn)題。

在模型中,構(gòu)架視圖用包的形式表達(dá)。每一種特定的“視角”對(duì)圖10.1模型的組織結(jié)構(gòu)

應(yīng)一種類型的構(gòu)架視圖,在RationalRose建模工具中,用Use

Case視圖(UseCaseView)描述需求模型;用邏輯視圖

(LogicalView)描述設(shè)計(jì)模型。還有組件視圖和部署視圖分別

用于描述實(shí)施模型和系統(tǒng)整體部署。

2012-9-20第8章運(yùn)行與維護(hù)24/56

10.4常見(jiàn)圖的用法與內(nèi)容

。UML中的主要“詞匯”包括:“要素”、

“關(guān)系”和“圖”;

“圖”UML的主要“詞匯”之一,是為了實(shí)

現(xiàn)建模目的而使用的一種表現(xiàn)手段,有時(shí)一

r種圖可用于不同場(chǎng)合以滿足特定的要求。圖

不僅表述了建模的最終結(jié)果,同樣記錄了認(rèn)

知求解的軌跡。

基于“以用為本”的原則,本節(jié)概念性地說(shuō)

明幾種圖,其中著重強(qiáng)調(diào)兩方面的內(nèi)容恭

-第一,圖的用法及其在模型中的位置;

?第二,包含的關(guān)鍵內(nèi)容。

2012-9-20第8章運(yùn)行與維護(hù)25/56

10.4.1UseCase圖

2012-9-20第8章運(yùn)行與維護(hù)26/56

.用于描述系統(tǒng)與外部環(huán)境交互關(guān)系的UseCase圖

(1)用法及在模型中的位置

UseCase圖主要用于描述系統(tǒng)和外部環(huán)境

的交互關(guān)系,如圖10.2所示。概念上,Use

Case的集合表達(dá)了擬建系統(tǒng)的全部,Actor

的集合表達(dá)了外部環(huán)境,UseCase和Actor

之間的連線的集合則表達(dá)擬建系統(tǒng)和外部

環(huán)境的邊界。影院售票系統(tǒng)UseCase圖如

圖10.2描述擬建系統(tǒng)與外部環(huán)境的UseCase圖

2012-9-20第8章運(yùn)行與維護(hù)27/56

BLJUseCaseView?:?這種用法的UseCase圖通常位于"UseCase

Ei□UseCase模型

BOActors模型”的“UseCases"包內(nèi),如圖10.4所

s□被動(dòng)要素

0-O主動(dòng)要素示。

B吳電話訂票

國(guó)'客戶?:?通常將Actors和UseCase放在不同的包中。

三Associations

三Associations

日□UseCases

題系統(tǒng)與外部的交互

0O達(dá)到目標(biāo)1

O達(dá)到目標(biāo)2

圖10.4UseCase圖在模型中的位置

2012-9-20第8章運(yùn)行與維護(hù)28/56

(2)關(guān)鍵內(nèi)容。

①ActoroActor在圖中表現(xiàn)為火柴棍兒。簡(jiǎn)單講,Actor代表擬建

系統(tǒng)外部和系統(tǒng)進(jìn)行交互的某類人或系統(tǒng),可以稱為與系統(tǒng)有交互

的外部實(shí)體。

②UseCase。UseCase在圖中表現(xiàn)為一個(gè)橢圓。UseCase定義了一

組相關(guān)的由系統(tǒng)執(zhí)行的動(dòng)作序列,將有價(jià)值的可見(jiàn)結(jié)果提供給Actor。

UseCase與外部的交互活動(dòng)中可能涉及若干個(gè)Actor,但是只有一個(gè)

主動(dòng)要求得到有價(jià)值的可見(jiàn)結(jié)果,常被稱之為主導(dǎo)(Primary)

Actoro主導(dǎo)Actor觸發(fā)交互活動(dòng),它到相應(yīng)的UseCase的連線是標(biāo)

有箭頭的。與該UseCase相連的其他Actor則為被動(dòng)Actor,相應(yīng)的

連線不標(biāo)箭頭。

?③通信關(guān)聯(lián)。Actor和UseCase之間的連線稱為通信關(guān)聯(lián),表示

Actor和相應(yīng)的UseCase之間的交互。無(wú)論有沒(méi)有箭頭,通信關(guān)聯(lián)都

表示介于Actor和相應(yīng)UseCase之間的雙向會(huì)話,用箭頭僅表示

Actor觸發(fā)UseCase的執(zhí)行。

2012-9-20第8章運(yùn)行與維護(hù)29/56

2.用于描述需求模型與設(shè)計(jì)模型關(guān)系的UseCase圖

(1)用法與相對(duì)位置

<?這里使用UseCase圖描述功能需求部分的

UseCase與相應(yīng)的設(shè)計(jì)內(nèi)容,"UseCase

實(shí)現(xiàn)”之間的可追溯關(guān)聯(lián)如圖10.5所示。

概念上,“UseCase實(shí)現(xiàn)”是指用擬定的

方案實(shí)現(xiàn)用戶提出的需求(用usecase表

達(dá)到目標(biāo)2一方式B達(dá)的需求),如圖10.6所示。

圖10.5用UseCase圖表示可追溯的關(guān)聯(lián)

2012-9-20第8章運(yùn)行與維護(hù)30/56

(2)關(guān)鍵內(nèi)容。

①UseCase實(shí)現(xiàn)。"UseCase實(shí)現(xiàn)”用虛線邊框的橢圓表示,EQUseCaseView

臼OLogicalView

其中描述的是設(shè)計(jì)內(nèi)容,即如何用設(shè)計(jì)方案實(shí)現(xiàn)UseCase描述

國(guó)門類

的需求。描述這些設(shè)計(jì)內(nèi)容使用的圖般包括“序列圖”、B□設(shè)計(jì)模型

BOUseCase實(shí)現(xiàn)

“協(xié)作圖”、“活動(dòng)圖”、“類圖”等。臼口達(dá)到目標(biāo)1

②實(shí)現(xiàn)關(guān)系。實(shí)現(xiàn)關(guān)系是“UseCase實(shí)現(xiàn)"至UUseCase之間E達(dá)到目標(biāo)1一方式A

二Associations

的連線。設(shè)計(jì)工作完成時(shí),UseCase模型中的每個(gè)UseCase在E口達(dá)到目標(biāo)2

達(dá)到目標(biāo)2少式A

設(shè)計(jì)模型中至少有一個(gè)"UseCase實(shí)現(xiàn)”與之對(duì)應(yīng),“Use達(dá)到目標(biāo)2H式B

3Associations

Case實(shí)現(xiàn)”和“UseCase"之間有可能是多對(duì)一的關(guān)系。通俗|一除贏溯關(guān)聯(lián)

地講,一種要求可以通過(guò)多種辦法解決。

通常,在設(shè)計(jì)模型的“UseCase實(shí)現(xiàn)”包中,對(duì)應(yīng)每一個(gè)Use圖10.6描述需求模型與設(shè)計(jì)模型關(guān)系的UseCase圖

Case建立一個(gè)以該UseCase命名的包,在此放置對(duì)應(yīng)該Use

Case的“UseCase實(shí)現(xiàn)”的模型內(nèi)容,如圖10.6所示。

2012-9-20第8章運(yùn)行與維護(hù)31/56

10.4.2表述類、接口和子系統(tǒng)之間關(guān)系的類圖

?:?1.用法與相對(duì)位置

?類圖是應(yīng)用最廣泛的一種圖,描述

擬建系統(tǒng)各個(gè)層面的靜態(tài)結(jié)構(gòu),主

要用于表述類、接口和子系統(tǒng)之間

的關(guān)系,如圖10.7所示。

?這種用法的類圖可以進(jìn)一步劃分為

三種不同的情形,盡管表現(xiàn)形式相

圖10.7描述類、接口和子系統(tǒng)之間關(guān)系的類圖似,但是它們通常位于模型的不同

位置。

2012-9-20第8章運(yùn)行與維護(hù)32/56

■廠?(1)第一種情形,用于描述參與某一特定協(xié)作的類、接口和子系統(tǒng)之間的關(guān)系。這種情形的類

f圖被稱為“參與類圖”。“UseCase實(shí)現(xiàn)”與“構(gòu)架機(jī)制”是兩種典型的協(xié)作,“參與類圖”

是隸屬于這兩種類型的協(xié)作內(nèi)容,如圖10.8、圖10.9所示。構(gòu)架機(jī)制指的也是一組對(duì)象的協(xié)作

關(guān)系,在后面章節(jié)會(huì)具體講到。

3CjUseCaseViewE)ULogicalView

國(guó)口類

白CjLogicalView

設(shè)計(jì)模型

國(guó)口類ED

ISC3UseCase實(shí)現(xiàn)

El0設(shè)計(jì)模型

ED層次構(gòu)架

日OUseCase實(shí)現(xiàn)

EO構(gòu)架機(jī)制

曰a達(dá)到目標(biāo)i

;eO構(gòu)架機(jī)制x

日Y二:達(dá)到目標(biāo)1一方式A

ORoleClassA

目類與參與類

奧協(xié)作圖國(guó)本事件序列)ORoleClassB

麻序列圖(備選事件序列1)*RoleClassC

標(biāo)序列圖(備選事件序列2)SO機(jī)制的協(xié)作描述

I氤序列圖(備選事件序列Q畫參與類圖

遮序列圖(典型時(shí)序

赧序列圖性本事件序列)1)

而序列圖(典型時(shí)序2)

圖10.8''UseCase實(shí)現(xiàn)”中的“參與類圖”圖10.9''構(gòu)架機(jī)制”中的“參與類圖”

2012-9-20第8章運(yùn)行與維護(hù)33/56

。(2)第二種情形,表述同一包中的

臼CjLogicalView

田門類

類、接口和子系統(tǒng)之間的關(guān)系。這種日O設(shè)計(jì)模型

國(guó)(2jUseCase實(shí)現(xiàn)

類圖通常出現(xiàn)在相應(yīng)的包中,如圖白Ul層次構(gòu)架

SO?layer?特定應(yīng)用層

10.10所示。SO通用服務(wù)層

SO?Layer?系統(tǒng)服務(wù)層

一(3)第三種情形,針對(duì)上述兩種情BO?layer?一般應(yīng)用層

rEJ□ClaimArtifacts

SEz3courseDB

形以外的其他目的,表述類、接口和S(Z)externalinterface

BJEz3teackerDB

子系統(tǒng)之間的關(guān)系。這種情形的類圖aO關(guān)建抽象

a包之間的依賴關(guān)系

可以出現(xiàn)在需要的任何位置。美援抽象概念間的關(guān)系

圖10.10表述包內(nèi)部關(guān)系的類圖

2012-9-20第8章運(yùn)行與維護(hù)34/56

B?2.關(guān)鍵內(nèi)容

'(1)類。類用于描述一組具有相同屬性、操作、關(guān)系和語(yǔ)義的對(duì)象。如圖10.11所

示,上面是類的名稱,通常其首字母大寫,中間是屬性,下面是類的操作。

StudentTeacher

號(hào)

學(xué)號(hào)

姓名

業(yè)

性別

專業(yè)

/缺得選課清單()+提交學(xué)生成績(jī)0

圖10.11類的UML表述

2012-9-20第8章運(yùn)行與維護(hù)35/56

o(2)接口(Interface)。接口用來(lái)說(shuō)明一個(gè)類

或子系統(tǒng)應(yīng)該提供的服務(wù)。在形式上接口是一組

操作的集合。如圖10.12所示,是接口的兩種UML

表述形式:第一種是簡(jiǎn)略的表述,只有一個(gè)圓圈

和接口的名稱,沒(méi)有顯示接口中定義的操作;

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論