面向?qū)ο蠓治雠c設(shè)計(jì) 課件 第8章 包圖、組件圖和部署圖建模_第1頁
面向?qū)ο蠓治雠c設(shè)計(jì) 課件 第8章 包圖、組件圖和部署圖建模_第2頁
面向?qū)ο蠓治雠c設(shè)計(jì) 課件 第8章 包圖、組件圖和部署圖建模_第3頁
面向?qū)ο蠓治雠c設(shè)計(jì) 課件 第8章 包圖、組件圖和部署圖建模_第4頁
面向?qū)ο蠓治雠c設(shè)計(jì) 課件 第8章 包圖、組件圖和部署圖建模_第5頁
已閱讀5頁,還剩77頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第8章包圖、組件圖和部署圖建模學(xué)習(xí)目標(biāo)

理解和掌握包圖、組件圖和部署圖的概念、作用和一般建模方法

理解和掌握包圖的概念、構(gòu)成元素、表示法、建模原則和建模方法

理解和掌握組件圖和部署圖的概念、構(gòu)成元素、表示法和建模方法

掌握狀態(tài)圖與活動(dòng)圖的建模方法第8章包圖、組件圖和部署圖建模大多數(shù)的軟件項(xiàng)目都需要都對(duì)系統(tǒng)的體系結(jié)構(gòu)進(jìn)行建模。分析階段建立的體系結(jié)構(gòu)模型往往僅是一個(gè)粗略的框架,而在系統(tǒng)設(shè)計(jì)階段要對(duì)這個(gè)粗略的體系結(jié)構(gòu)模型進(jìn)行進(jìn)一步的細(xì)化、補(bǔ)充和完善,以得到最終的系統(tǒng)軟、硬件系統(tǒng)體系結(jié)構(gòu)模型。面向?qū)ο蟮捏w系結(jié)構(gòu)模型主要使用構(gòu)件圖和部署圖來加以描述。本章將首先介紹用于描述模型結(jié)構(gòu)的包圖的建模方法,然后介紹構(gòu)件圖和部署圖的建模方法以及它們?cè)谙到y(tǒng)體系結(jié)構(gòu)建模中的應(yīng)用。8.1包圖一個(gè)完整的軟件模型通常是由多個(gè)部分組成,例如模型的視圖結(jié)構(gòu),為有效地組織一個(gè)模型的結(jié)構(gòu)。UML提供了包(Package)機(jī)制來定義和描述模型的結(jié)構(gòu)。包(Package)是一種基本的UML模型元素,也是一種用于存放或封裝模型元素的通用機(jī)制。包元素不僅可以用于組織模型元素,而且也可以用于定義或控制包中元素的可見性和訪問性。一個(gè)包可以擁有多個(gè)模型元素,但一個(gè)模型元素只能被一個(gè)包所擁有。如果從模型中刪除一個(gè)包,那么這個(gè)包所擁有的元素也都將被刪除。包中可以包含的元素的類型取決于包所在的位置(如所屬的視圖),這在不同的建模軟件中用不同的約定。8.1包圖UML把不屬于任何包的包稱為根包(rootpackage),根包的名稱通常就是模型的名字。任何一個(gè)模型中都有且僅有一個(gè)根寶。除了根包之外,模型中任何一個(gè)包都必須唯一地從屬于某一個(gè)包,稱后者為前者的父包,前者稱為后者的子包。另外,包是一種純概念元素,即它一般不會(huì)被映射成最終的目標(biāo)系統(tǒng)中的可運(yùn)行的實(shí)例。換句話說,包是一種不能被實(shí)例化到最終的目標(biāo)系統(tǒng)中去的概念性元素。包圖(PackageDiagram)是一種用于描述包和包之間關(guān)系的圖,包圖建模關(guān)注的重點(diǎn)在于模型元素的組織結(jié)構(gòu),同時(shí)也關(guān)注包之間的關(guān)系。8.1.1包圖的構(gòu)成元素包圖中的主要構(gòu)成元素就是包括包和包之間的關(guān)系,當(dāng)然也包括指向模型中任何一個(gè)圖的鏈接或引用,還包括注釋等公共元素。1.包包(Package)是包圖中最基本的模型元素。每個(gè)包都有其名字,在相同的上下文中,包應(yīng)具有唯一的包名字。包命名的主要問題就是避免命名沖突,命名時(shí)應(yīng)避免不同元素使用相同的名字。當(dāng)不同包中的兩個(gè)模型元素取相同的名字時(shí),可以使用路徑名來加以區(qū)別。包中元素也有可見性問題,包的可見性主要用于控制包中元素的可見性和訪問性。與類的可見性一樣,包中元素的可見性也被分為公共(public)、私有(private)和保護(hù)(protected)等三種情況。8.1.1包圖的構(gòu)成元素具體含義如下:(1)具有公共可見性的元素,對(duì)所有包都是可見的。(2)具有私有可見性的元素,僅對(duì)包含這些元素的包是可見的,對(duì)其余任何包都是不可見的。這意味著,私有元素只能被擁有該元素的包中元素使用和訪問。(3)具有保護(hù)可見性的元素,僅對(duì)包含這些元素的包及其子包(有泛化關(guān)系的子包)是可見的,而對(duì)于其余的包均是不可見的。8.1.1包圖的構(gòu)成元素如圖8-1給出了一個(gè)包圖的例子,圖中包含了一個(gè)名為Packge3的包元素,這個(gè)包中包含了A、B、C和D四個(gè)公共可見性的類。圖中還嵌入了一個(gè)描述了這些類之間關(guān)系的類圖。圖8-1包圖的例子8.1.1包圖的構(gòu)成元素具體含義如下:(1)具有公共可見性的元素,對(duì)所有包都是可見的。(2)具有私有可見性的元素,僅對(duì)包含這些元素的包是可見的,對(duì)其余任何包都是不可見的。這意味著,私有元素只能被擁有該元素的包中元素使用和訪問。(3)具有保護(hù)可見性的元素,僅對(duì)包含這些元素的包及其子包(有泛化關(guān)系的子包)是可見的,而對(duì)于其余的包均是不可見的。8.1.1包圖的構(gòu)成元素2.包之間的依賴包之間通常有依賴、精化和泛化等多種關(guān)系。除了結(jié)構(gòu)性的關(guān)系以外,包之間的關(guān)系主要取決于這兩個(gè)包中包含的元素之間的關(guān)系。(1)包之間的依賴關(guān)系在模型中使用包機(jī)制就不可避免地使模型的元素分布在多個(gè)不同的包里,同樣不可避免的另一個(gè)問題就是一個(gè)包的元素引用另外一個(gè)(或一些)包中的元素。也就是說,不同包中元素之間的關(guān)系導(dǎo)致了包之間的關(guān)系。8.1.1包圖的構(gòu)成元素如果一個(gè)包中的元素使用了另一個(gè)包中的元素,則稱這兩個(gè)包之間也存在著某種依賴關(guān)系。為了清楚地描述包之間的關(guān)系,UML還可以使用構(gòu)造型機(jī)制描述包之間的不同依賴關(guān)系。常見的構(gòu)造型有導(dǎo)入依賴(import)、訪問依賴(access)和合并依賴(merge)等。8.1.1包圖的構(gòu)成元素1)導(dǎo)入依賴導(dǎo)入?import?依賴表示一個(gè)包可以引用導(dǎo)入包中的可引用元素,可引用元素不僅包括導(dǎo)入包中的元素,也包括導(dǎo)入包從其他包中導(dǎo)入的可引用元素。并且導(dǎo)入包可以不使用完全路徑名稱就可以使用這些引入的元素。在包圖中,可以使用帶有構(gòu)造型?import?的依賴表示導(dǎo)入依賴。2)訪問依賴和導(dǎo)入依賴關(guān)系類似,訪問依賴關(guān)系主要用于指定包之間元素的訪問關(guān)系,其含義是導(dǎo)入包中的元素也可以訪問被導(dǎo)入包中的公共元素,但只能訪問被導(dǎo)入的包中的元素,并且不能省略元素名的路徑。在包圖中,使用帶有構(gòu)造型《access》的依賴表示導(dǎo)入依賴。8.1.1包圖的構(gòu)成元素3)合并依賴合并依賴是使用構(gòu)造型?merge?表示的依賴,其含義是將指定包中的元素合并到當(dāng)前包中,合并的元素還包括從其他包中合并到導(dǎo)入包中的元素。合并時(shí),如果當(dāng)前包中已經(jīng)包含了要合并的模型元素,那么這些合并過來的元素將被定義成原有元素的某種擴(kuò)展,并且所有合并導(dǎo)入新的元素都將被標(biāo)記為源包的泛化。在建模過程中,如果希望將一些包合并成一個(gè)包時(shí),就可以使用?merge?依賴來描述這樣的建模意圖。合并時(shí),必須要考慮解決元素的命名沖突問題,解決方法要視這些元素的具體情況而定。8.1.1包圖的構(gòu)成元素(2)包之間的泛化如果一個(gè)包中元素繼承了另一個(gè)包中某些公共或保護(hù)的元素時(shí),我們就稱兩個(gè)包之間具有泛化關(guān)系。包間的泛化的表示法與類的泛化的表示方法相同。圖8-2給出了一個(gè)描述了包間的泛化關(guān)系的實(shí)例。圖8-2給出了一個(gè)描述了包泛化的例子。圖中的Common、SqlClient和OleDb分別是.NET中的三個(gè)類包,這三個(gè)包中的類之間的泛化關(guān)系(如圖8-3所示)導(dǎo)致了這些包之間存在的泛化關(guān)系。需要時(shí),可以將這些關(guān)系繪制在包圖中。8.1.1包圖的構(gòu)成元素圖8-2包之間的泛化8.1.1包圖的構(gòu)成元素圖8-3包內(nèi)元素之間的泛化8.1.1包圖的構(gòu)成元素3.超鏈接包圖中常見的另一種元素是超鏈接,其含義是一種對(duì)模型中另一資源的引用形式,如模型中的某個(gè)UML圖等。建模時(shí),可以將模型中已經(jīng)存在一張圖拖放到當(dāng)前包圖中,再將其設(shè)置成超鏈接形式。超鏈接是包圖中包含的除了包和包關(guān)系之外最重要的模型元素,它起到了在模型中導(dǎo)航的重要作用。雙擊這一元素,可以直接導(dǎo)航到它所指向的軟件模型。如圖8-4中的包圖中就給出了一個(gè)指向某類圖(Associationbetweenreaderandbooks)的超鏈接。8.1.2包的設(shè)計(jì)原則在UML中,包的建模發(fā)揮了組織模型結(jié)構(gòu)的重要作用。模型中的任何一個(gè)包都是模型的特定組成部分,并且不同的包在模型中的地位和作用也不盡相同。另外,在包之間除了存在著結(jié)構(gòu)性的層次結(jié)構(gòu)關(guān)系之外,同時(shí)存在由包中存放的模型元素所帶來的如依賴、繼承等各種關(guān)系。因此,這些錯(cuò)綜復(fù)雜的關(guān)系也為包的設(shè)計(jì)帶來了模型結(jié)構(gòu)方面的復(fù)雜性。清晰的模型結(jié)構(gòu)顯然更有利于提高軟件建模工作的質(zhì)量和工作效率。設(shè)計(jì)包時(shí),最基本的設(shè)計(jì)原則就是要盡可能簡化包之間的關(guān)系,或者說要盡可能減少和弱化包之間的關(guān)系。設(shè)計(jì)時(shí),通常需要考慮如下一些設(shè)計(jì)原則。8.1.2包的設(shè)計(jì)原則1.共同閉包原則共同閉包原則指把需要同時(shí)改變(或有依賴關(guān)系)的模型元素放在同一個(gè)閉包中。閉包指包含模型元素的包或某個(gè)上層的包。需要同時(shí)改變的模型元素也就是指具有某種依賴關(guān)系的模型元素,這些關(guān)系包括泛化、組合、聚合、關(guān)聯(lián)、依賴和實(shí)現(xiàn)等關(guān)系。將有依賴關(guān)系的模型元素存放在同一個(gè)閉包中,可以有效地控制相關(guān)元素在模型中的分布范圍。當(dāng)修改了某個(gè)模型元素時(shí),不容易遺漏對(duì)相關(guān)模型元素的修改。反之,將需要在分別存放這些模型元素的包之間引入新的依賴關(guān)系。8.1.2包的設(shè)計(jì)原則2.共同重用原則共同重用原則要求不要把不相關(guān)的類放在同一個(gè)包中,這個(gè)原則的作用在于回避不存在的依賴關(guān)系。例如,當(dāng)包中的某個(gè)模型元素發(fā)生了某種改變,建模時(shí),我們就可能會(huì)檢查這個(gè)包中的所有元素,以便做出相應(yīng)的修改。違反了這個(gè)原則時(shí),會(huì)增加很多無謂的工作負(fù)擔(dān)。8.1.2包的設(shè)計(jì)原則3.可重用原則可重用原則是指設(shè)計(jì)包時(shí)應(yīng)充分考慮包的可重用性問題。當(dāng)你的設(shè)計(jì)中包含了具有可重用性考慮的需要時(shí),就可以考慮添加一個(gè)合適的包作為可重用包,并將模型中可重用的模型元素分門別類地組織在這樣的包中。并把可重用性作為包的特性明確地標(biāo)記清楚,例如標(biāo)記一個(gè)《reuse》構(gòu)造型等。同時(shí),還要避免將非重用的模型元素放在這樣的包中??芍赜玫哪P驮赝ǔJ悄切╊I(lǐng)域相關(guān)的或與具體業(yè)務(wù)邏輯無關(guān)或弱相關(guān)的模型元素,它們一般屬于某個(gè)特定的應(yīng)用領(lǐng)域,如可重用的類和構(gòu)件等。8.1.2包的設(shè)計(jì)原則4.非循環(huán)依賴原則非循環(huán)依賴原則是指不允許在包之間存在循環(huán)的依賴關(guān)系,循環(huán)依賴嚴(yán)重會(huì)增加模型結(jié)構(gòu)的復(fù)雜性和耦合度。如果循環(huán)依賴是由模型元素之間的依賴引起的,這樣的設(shè)計(jì)會(huì)嚴(yán)重影響設(shè)計(jì)質(zhì)量,甚至影響目標(biāo)系統(tǒng)的可重用性和可擴(kuò)展性等質(zhì)量指標(biāo)。消除循環(huán)依賴的最根本的方法是重構(gòu)你的設(shè)計(jì),消除模型元素之間存在的不合理的依賴,并消除包之間的循環(huán)依賴。8.1.2包的設(shè)計(jì)原則總之,上述原則僅是一些一般性的建模原則,最基本的建模原則要求建立的包結(jié)構(gòu)要有利于建立滿足高內(nèi)聚低耦合的軟件結(jié)構(gòu)。另外,包之間實(shí)際存在的依賴關(guān)系并不取決于包的結(jié)構(gòu)關(guān)系,而是取決于包中存放的模型元素。因此,包中元素的存放也必須要嚴(yán)格遵守包的可見性和可訪問性等規(guī)則。8.1.3

包圖的建模方法軟件模型中,包圖的主要作用。1定義或描述軟件模型的結(jié)構(gòu),以圖形的方式描述模型的包和包之間關(guān)系;2在軟件模型中添加必要的導(dǎo)航。目前的建模軟件均支持包圖的導(dǎo)航功能,借助這個(gè)功能,建模人員可以更高效地查找或?yàn)g覽軟件模型的內(nèi)容,從而提高建模的工作效率。8.1.3

包圖的建模方法1.定義模型的基本結(jié)構(gòu)目前的UML建模工具通常會(huì)給出一系列預(yù)定義的模型模板,建模人員可以根據(jù)要完成的工作性質(zhì)和內(nèi)容選擇滿足其需求的模板,并定制其模板的主要內(nèi)容。例如,建模人員要完成的是一個(gè)完整的軟件項(xiàng)目時(shí),就可能會(huì)選擇標(biāo)準(zhǔn)的軟件模型模板,并為模型選擇合適的子模型,如用例視圖、邏輯模型視圖、構(gòu)件視圖、動(dòng)態(tài)視圖和部署視圖等標(biāo)準(zhǔn)的視圖。這時(shí),就創(chuàng)建了一個(gè)基本的軟件模型了。此時(shí)可以為模型的根包添加一個(gè)包圖,也可以將根包中的每個(gè)子包元素添加到這張包圖中,以展現(xiàn)當(dāng)前包的結(jié)構(gòu),還可以為這些包元素添加必要的關(guān)系。當(dāng)然,也可以為每個(gè)子包添加一張包圖。此時(shí),系統(tǒng)將自動(dòng)建立從根包的包圖到子包的包圖之間的鏈接。即從根包導(dǎo)航到子包中的包圖。8.1.3

包圖的建模方法2.定義各子包的模型元素和包圖當(dāng)子包是模型的某個(gè)視圖時(shí),包內(nèi)元素代表的就是軟件建模的某個(gè)階段需要的模型元素了。例如,用例視圖(包)需要的主要元素通常就是參與者、用例和軟件概念模型等需求建模階段需要的內(nèi)容;邏輯視圖需要的模型元素則是描述軟件結(jié)構(gòu)所需要的類和描述類之間關(guān)系所需要的類圖等。UML規(guī)定任何包均可以包含子包,因此建模人員可以根據(jù)實(shí)際情況定義需要的子包并規(guī)劃好子包之間的邏輯關(guān)系。為了描述和理解包之間的關(guān)系,有必要在這樣的包中添加包圖,以描述當(dāng)前包的結(jié)構(gòu)和建立包之間的導(dǎo)航,當(dāng)然也可以建立向包內(nèi)其他各圖或相關(guān)的各種圖的導(dǎo)航。8.1.3

包圖的建模方法最后要說明的是,除了結(jié)構(gòu)性的關(guān)系以外,包之間實(shí)際存在的各種依賴關(guān)系并不取決于包圖中的關(guān)系描述,而取決于包內(nèi)存放的元素之間實(shí)際存在的關(guān)系。因此,繪制在包圖中的包之間的依賴關(guān)系僅僅是建模人員的主觀設(shè)計(jì)或主觀描述,它們也可以看成是建模對(duì)模型元素存放的一種建模規(guī)劃或建模約束。8.2

構(gòu)件圖面向?qū)ο蠓椒ㄖ校浖w系結(jié)構(gòu)一般可以使用包圖的進(jìn)行建模。在UML中,描述軟件體系結(jié)構(gòu)的包又可以由若干個(gè)構(gòu)件組成。構(gòu)件圖通常被定義成若干個(gè)構(gòu)件及這些構(gòu)件之間的關(guān)系構(gòu)成的集合,構(gòu)件可以看成是系統(tǒng)邏輯結(jié)構(gòu)模型中定義的概念和功能(如類、對(duì)象及它們間的關(guān)系和協(xié)作)在物理體系結(jié)構(gòu)中的實(shí)現(xiàn),它通常是開發(fā)環(huán)境中的實(shí)現(xiàn)性文件。8.2.1構(gòu)件及其特點(diǎn)構(gòu)件是系統(tǒng)中遵從一組特定接口并提供實(shí)現(xiàn)的一個(gè)物理的、可部署和可替換的單元。構(gòu)件也具有封裝性,構(gòu)件一方面封裝了其內(nèi)部的實(shí)現(xiàn)細(xì)節(jié),另一方面還清楚地展現(xiàn)其對(duì)外接口。構(gòu)件還具有可重用性,是軟件復(fù)用的基本物理實(shí)現(xiàn)單元,也是邏輯模型元素(如類、接口、協(xié)作等)的物理包。在UML中,一個(gè)對(duì)象庫、可執(zhí)行程序、組件(如COM+組件或企業(yè)級(jí)JavaBeans等)都可以描述成構(gòu)件。構(gòu)件的內(nèi)部元素所實(shí)現(xiàn)的服務(wù)則通過其對(duì)外提供的一組接口來加以描述。對(duì)于系統(tǒng)功能在物理結(jié)點(diǎn)上的配置則通常采用部署圖進(jìn)行描述。8.2.1構(gòu)件及其特點(diǎn)1.構(gòu)件的主要特征構(gòu)件可能會(huì)根據(jù)其表示內(nèi)容的不同而呈現(xiàn)出不同的表示形式。但大多數(shù)情況下的構(gòu)件一般都具有如下一些特征(1)可重用性軟件項(xiàng)目中,設(shè)計(jì)和實(shí)現(xiàn)一個(gè)組件的目的不僅僅是為了完成當(dāng)前的項(xiàng)目,而且還考慮組建在將來其他項(xiàng)目中的重用。構(gòu)件最重要的特征就是它的可重用性,可重用性要求構(gòu)件僅包含那些抽象的(或業(yè)務(wù)無關(guān)的)功能,其抽象程度越高則其可復(fù)用的程度就越強(qiáng)。8.2.1構(gòu)件及其特點(diǎn)(2)結(jié)構(gòu)性從結(jié)構(gòu)上看,構(gòu)件不外乎就是由一組類和接口構(gòu)成的集合。其中的各個(gè)類、接口之間的關(guān)系不外乎也就是泛化、關(guān)聯(lián)、聚合、組合、依賴和實(shí)現(xiàn)等關(guān)系。(3)封裝性構(gòu)件也同類一樣具有其特定的內(nèi)部狀態(tài)屬性和期望的外部行為。所以,構(gòu)件同樣應(yīng)具有封裝性的特征。另外,從可重用性的角度來看,構(gòu)件面臨的是不確定的應(yīng)用環(huán)境,因此構(gòu)件的封裝型定義應(yīng)充分地考慮到其功能擴(kuò)展、信息一致和信息安全等方面的要求。8.2.1構(gòu)件及其特點(diǎn)(4)語言無關(guān)性構(gòu)件通常可能用來實(shí)現(xiàn)某個(gè)通用的功能或封裝了某個(gè)抽象的業(yè)務(wù)邏輯,這些通常與實(shí)現(xiàn)這些功能的語言是無關(guān)的。例如,某個(gè)封裝了POP3協(xié)議的電子郵件組件。雖然這些組件最終都要通過使用某種特定的程序設(shè)計(jì)語言加以實(shí)現(xiàn),但組件的功能與語言卻可以是無關(guān)的,并且實(shí)現(xiàn)組件使用的語言和重用組件的項(xiàng)目所用的語言也可以不盡相同,有時(shí)甚至可以完全不同。(5)可靠性構(gòu)件的開發(fā)一般都經(jīng)過了比較嚴(yán)格的測試,基本上不會(huì)含有錯(cuò)誤,出現(xiàn)錯(cuò)誤的概率大大降低。8.2.1構(gòu)件及其特點(diǎn)2.構(gòu)件與類之間的區(qū)別構(gòu)件和類之間有著極大的相似性,但它們之間也存在著一些很明顯的區(qū)別。其主要區(qū)別主要體現(xiàn)在抽象層次和表現(xiàn)形式兩個(gè)方面。(1)二者的抽象層次不同類是對(duì)系統(tǒng)描述的某些實(shí)體的一種邏輯抽象,這些實(shí)體通常僅承擔(dān)系統(tǒng)中某些比較小的粒度的職責(zé)。組件則是一種物理的抽象,通常用于表示系統(tǒng)中某個(gè)粒度較大或具有比較完整的功能的具體實(shí)現(xiàn)。8.2.1構(gòu)件及其特點(diǎn)(2)二者的表現(xiàn)形式不同類的表現(xiàn)形式主要包括類的定義、類的實(shí)現(xiàn),其內(nèi)容包括屬性和操作的描述,其內(nèi)容通常是靜態(tài)的,也是邏輯的。一般情況下,構(gòu)件的表示形式則通常僅是物理的,對(duì)應(yīng)用構(gòu)件的環(huán)境來說,構(gòu)件的內(nèi)部結(jié)構(gòu)是不可見的,可見的僅僅是操作或構(gòu)件所公開的外部接口。8.2.2構(gòu)件圖的主要元素構(gòu)件圖的最基本構(gòu)成元素主要包括構(gòu)件和構(gòu)件之間的鏈接兩大類元素。構(gòu)件圖中通??梢允褂脴?gòu)件(Component)、類(class)、接口(interface)、端口(port)、對(duì)象(Object)和工件(Artifact)等實(shí)體元素,以及關(guān)聯(lián)(Association)、泛化(Generalization)、代理(Delegate)、實(shí)現(xiàn)(realize)和聚合(Assembly)等連接元素,這些鏈接元素主要用于連接實(shí)體元素。8.2.2構(gòu)件圖的主要元素如圖8-5給出了構(gòu)件圖中的各種基本實(shí)體元素的UML符號(hào)表示。圖8-5構(gòu)件圖中基本實(shí)體元素的圖形符號(hào)表示8.2.2構(gòu)件圖的主要元素1.構(gòu)件(Component)構(gòu)件(Component)可以看成是系統(tǒng)中遵從一組接口并提供實(shí)現(xiàn)的一個(gè)物理的、可替換的單元,構(gòu)件的圖形符號(hào)表示可見圖8-5所示。目標(biāo)系統(tǒng)中的任何一組對(duì)象、一個(gè)可執(zhí)行程序、一個(gè)可重用的組件(如COM+組件等),甚至是一組源程序代碼都可以描述成構(gòu)件。構(gòu)件包(PackagingComponent)是一種用包的形式表示的構(gòu)件,用來描述包的構(gòu)成元素的層次結(jié)構(gòu)。8.2.2構(gòu)件圖的主要元素2.端口(port)端口(port)是一個(gè)類、子系統(tǒng)或構(gòu)件與其環(huán)境之間的交互,用于描述控制這個(gè)交互所需要的接口。任何一個(gè)指向一個(gè)端口的連接必須提供端口所需要的接口。建模時(shí),端口可放置在類或構(gòu)建的邊界上。與其他模型元素一樣,每個(gè)端口都需要有一個(gè)名字。8.2.2構(gòu)件圖的主要元素2.端口(port)圖8-6給出了構(gòu)件圖中端口的圖形符號(hào)表示,圖中構(gòu)件上的小圓角矩形就是一個(gè)端口,它直觀地描述了構(gòu)件對(duì)外提供的交互。圖8-6構(gòu)件圖中端口的圖形符號(hào)表示8.2.2構(gòu)件圖的主要元素3.工件(Artifact)工件(Artifact)的含義是人工制品,在構(gòu)件圖中,表示軟件開發(fā)過程中產(chǎn)生的中間或最終產(chǎn)品,包括文檔、模型和程序等。4.聚合(Assembly)聚合(Assembly)表示構(gòu)件圖中的實(shí)體元素(構(gòu)件或類)之間通過接口連接起來的連接關(guān)系。8.2.2構(gòu)件圖的主要元素圖8-7給出了兩個(gè)構(gòu)件之間的聚合關(guān)系,描述的是構(gòu)件PackagingComponent和構(gòu)件Component之間存在的某種聚集(接口依賴)關(guān)系。圖8-7構(gòu)件之間的聚合關(guān)系8.2.2構(gòu)件圖的主要元素除了聚集關(guān)系,構(gòu)件圖中還可以使用關(guān)聯(lián)、聚合、實(shí)現(xiàn)和代理等關(guān)系。這些關(guān)系的表示和含義與類圖中的這些關(guān)系是完全一樣的。8.2.2構(gòu)件圖的主要元素5.接口(Interface)構(gòu)件的接口分為供接口(ProviderInterface)和需接口(RequiredInterface)兩種。供接口(ProviderInterface)是由構(gòu)件定義并向外發(fā)布的接口,環(huán)境可以通過接口訪問構(gòu)件并獲得構(gòu)件提供的服務(wù)。需接口(RequiredInterface)也是由構(gòu)件定義并向外發(fā)布的接口,環(huán)境中實(shí)現(xiàn)了該接口的對(duì)象可以通過這個(gè)對(duì)象與構(gòu)件協(xié)作完成系統(tǒng)功能。圖8-7給出了構(gòu)件的供接口和需接口的圖形符號(hào)表示。8.2.2構(gòu)件圖的主要元素供接口和需接口之間是有細(xì)微的區(qū)別的,二者的主要區(qū)別在于:供接口代表了構(gòu)件為其客戶提供的服務(wù)。而需接口代表了構(gòu)件在為其客戶提供這些服務(wù)的過程中,反過來需要客戶提供的某些協(xié)作。供接口和需接口為構(gòu)件與其客戶之間的協(xié)作提供了一個(gè)完整的合作機(jī)制。這種協(xié)作的本質(zhì)特征是實(shí)現(xiàn)了客戶需要的某些功能。8.2.2構(gòu)件圖的主要元素圖8-8給出了構(gòu)件(Component)及其與環(huán)境之間的供接口和需接口。除了聚集關(guān)系,構(gòu)件圖中還可以使用關(guān)聯(lián)、聚合和實(shí)現(xiàn)等關(guān)系。這些關(guān)系的表示方法和含義與類圖中的這些關(guān)系是完全一樣的。圖8-8供接口和需接口的圖形符號(hào)表示8.2.3構(gòu)件圖的應(yīng)用舉例1.?dāng)?shù)據(jù)報(bào)表構(gòu)件在信息系統(tǒng)中,輸出數(shù)據(jù)報(bào)表是一種非常常用的功能,尤其是一個(gè)軟件需要輸出大量的,各種各樣的數(shù)據(jù)報(bào)表的情況。因此,從軟件中分離報(bào)表功能,設(shè)計(jì)和實(shí)現(xiàn)一個(gè)獨(dú)立的,可重用的數(shù)據(jù)報(bào)表構(gòu)件將具有十分重要的現(xiàn)實(shí)意義。所謂的數(shù)據(jù)報(bào)表構(gòu)件可以看成是一個(gè)二進(jìn)制形式的可執(zhí)行的軟件構(gòu)件,其主要功能包括生成、顯示和打印一個(gè)由一系列數(shù)據(jù)對(duì)象組成的數(shù)據(jù)報(bào)表。為了支持重用,所生成的報(bào)表的結(jié)構(gòu)還應(yīng)該具有較強(qiáng)的通用性。8.2.3構(gòu)件圖的應(yīng)用舉例從功能上來看,構(gòu)件應(yīng)能夠根據(jù)輸出數(shù)據(jù)的結(jié)構(gòu)、內(nèi)容和輸出上下文(窗口或打印機(jī))等信息生成數(shù)據(jù)報(bào)表,這即包括計(jì)算報(bào)表的總體格式,也包括報(bào)表中每個(gè)數(shù)據(jù)項(xiàng)的位置和格式等顯示和打印需要信息。還應(yīng)該負(fù)責(zé)顯示和打印生成的數(shù)據(jù)報(bào)表。整個(gè)構(gòu)件的創(chuàng)建、生成、顯示和打印控制等功能均由構(gòu)件負(fù)責(zé)完成。在輸出的數(shù)據(jù)報(bào)表中,輸出的每個(gè)數(shù)據(jù)項(xiàng)的內(nèi)容和格式則由用戶提供的數(shù)據(jù)對(duì)象提供。從結(jié)構(gòu)上看,構(gòu)件需要一個(gè)控制對(duì)象和一個(gè)數(shù)據(jù)對(duì)象構(gòu)成,控制對(duì)象負(fù)責(zé)完成與客戶程序以及用戶之間的交互,從而實(shí)現(xiàn)報(bào)表的生成、顯示和打印,數(shù)據(jù)對(duì)象用于存儲(chǔ)用戶輸入的報(bào)表數(shù)據(jù),還要緩存根據(jù)輸入數(shù)據(jù)生成的報(bào)表的內(nèi)部表示。8.2.3構(gòu)件圖的應(yīng)用舉例為了能夠在不同的軟件系統(tǒng)中使用這個(gè)構(gòu)件,構(gòu)件需要向客戶提供輸入數(shù)據(jù)的接口。為了實(shí)現(xiàn)與用戶的交互,構(gòu)件還定義了自己的圖形用戶界面,還要定義使用打印機(jī)控制的接口。可以將構(gòu)件中控制對(duì)象的方法定義成構(gòu)件的供接口,客戶可以通過這個(gè)接口與構(gòu)件交互。同時(shí),還需要為數(shù)據(jù)對(duì)象定義一個(gè)用于顯示或打印的接口,這就是所謂的構(gòu)件的一個(gè)需接口,加入到構(gòu)件中的每一個(gè)數(shù)據(jù)對(duì)象都需要實(shí)現(xiàn)這個(gè)接口。8.2.3構(gòu)件圖的應(yīng)用舉例圖8-9描述了這個(gè)構(gòu)件的供接口和需接口的定義,圖中包括了構(gòu)件的一個(gè)供接口和三個(gè)需接口。IDataReport是構(gòu)件的供接口,客戶程序使用構(gòu)件時(shí),需要實(shí)現(xiàn)這個(gè)結(jié)構(gòu),并使用這個(gè)實(shí)現(xiàn)構(gòu)造數(shù)據(jù)報(bào)表對(duì)象。其中的IDataItem、IUserInterface和IPrinterInterface是三個(gè)需接口,分別表示數(shù)據(jù)項(xiàng)、用戶界面和打印機(jī)控制接口等三個(gè)接口。使用構(gòu)件時(shí),構(gòu)件可以通過這三個(gè)接口分別與環(huán)境中的數(shù)據(jù)選項(xiàng)、用戶界面對(duì)象和打印機(jī)控制對(duì)象相連接,并以此實(shí)現(xiàn)與這些鏈接對(duì)象之間的交互。圖中的UserInterface和PrinterCtrl分別表示支持打印預(yù)覽和打印的用戶界面對(duì)象和打印機(jī)控制器對(duì)象,它們實(shí)際上也是兩個(gè)不同的構(gòu)件。8.2.3構(gòu)件圖的應(yīng)用舉例圖8-9數(shù)據(jù)報(bào)表構(gòu)件及其供接口和需接口8.2.3構(gòu)件圖的應(yīng)用舉例2.構(gòu)件的內(nèi)部結(jié)構(gòu)從數(shù)據(jù)報(bào)表構(gòu)件的功能進(jìn)行分析,不難設(shè)計(jì)構(gòu)件的內(nèi)部結(jié)構(gòu)。圖8-10給出了一個(gè)簡單的結(jié)構(gòu)設(shè)計(jì),其中僅包含了數(shù)據(jù)報(bào)表控件(DataReportControl)和數(shù)據(jù)集(DataCollection)兩個(gè)主要成分,其余的結(jié)構(gòu)成分則是前面提到過的幾個(gè)接口。不難看出接口與這兩個(gè)對(duì)象之間的關(guān)系。8.2.3構(gòu)件圖的應(yīng)用舉例2.構(gòu)件的內(nèi)部結(jié)構(gòu)圖8-10數(shù)據(jù)報(bào)表構(gòu)件的基本結(jié)構(gòu)8.2.3構(gòu)件圖的應(yīng)用舉例其中,數(shù)據(jù)報(bào)表控件(DataReportControl)是構(gòu)件的控制對(duì)象,它負(fù)責(zé)控制整個(gè)構(gòu)件的運(yùn)作。數(shù)據(jù)集合(DataCollection)是構(gòu)件的內(nèi)部對(duì)象,其內(nèi)容是報(bào)表中的數(shù)據(jù),數(shù)據(jù)則是實(shí)現(xiàn)了IDataItem接口的數(shù)據(jù)對(duì)象,通過DataReportControl中的Add方法可以將它們聚集到數(shù)據(jù)集合中,所有發(fā)給數(shù)據(jù)對(duì)象(DataObject)的消息則都是通過這個(gè)接口(IDataItem)實(shí)現(xiàn),并且這些消息都是從構(gòu)件的內(nèi)部對(duì)象發(fā)出的。這說明了需接口的重要作用,通過需接口使得構(gòu)件所變現(xiàn)出來的行為實(shí)際上也包括了其客戶所期望的行為,這極大地?cái)U(kuò)展了構(gòu)件的可重用性。8.2.3構(gòu)件圖的應(yīng)用舉例3.構(gòu)件與環(huán)境之間的交互構(gòu)件與環(huán)境的交互包括初始化構(gòu)件實(shí)例、添加數(shù)據(jù)以及打印和顯示報(bào)表等多種行為。下面,將分別給出這些行為的描述。1)構(gòu)件的實(shí)例化構(gòu)件的實(shí)例化過程就是創(chuàng)建構(gòu)件實(shí)例并初始化的過程,圖8-11給出了這個(gè)構(gòu)件的初始化過程,在這個(gè)過程中,創(chuàng)建了DataReportControl、IDataReport和DataCollection等對(duì)象,并向構(gòu)件中設(shè)置了構(gòu)件工作時(shí)需要的打印機(jī)控制對(duì)象和用戶界面對(duì)象。8.2.3構(gòu)件圖的應(yīng)用舉例圖8-11初始化數(shù)據(jù)報(bào)表構(gòu)件8.2.3構(gòu)件圖的應(yīng)用舉例2)創(chuàng)建數(shù)據(jù)報(bào)表創(chuàng)建數(shù)據(jù)報(bào)表是指客戶程序向構(gòu)件的數(shù)據(jù)集中添加數(shù)據(jù)并生成報(bào)表格式數(shù)據(jù)的過程,圖8-12給出了這個(gè)過程的順序圖描述,在這個(gè)過程中,既實(shí)現(xiàn)了向數(shù)據(jù)集(DataCollection)中添加了數(shù)據(jù),也實(shí)現(xiàn)了報(bào)表的生成。8.2.3構(gòu)件圖的應(yīng)用舉例圖8-12創(chuàng)建數(shù)據(jù)報(bào)表8.2.3構(gòu)件圖的應(yīng)用舉例3)打印或顯示數(shù)據(jù)報(bào)表打印和顯示數(shù)據(jù)報(bào)表是構(gòu)件的最重要的功能,這個(gè)過程的參與對(duì)象有一些不同。即用戶和用戶界面參與了這個(gè)過程,圖8-13給出了這個(gè)過程的順序圖描述,讀者可以注意圖8-13與前兩張圖的區(qū)別。8.2.3構(gòu)件圖的應(yīng)用舉例圖8-13顯示或打印數(shù)據(jù)報(bào)表8.2.3構(gòu)件圖的應(yīng)用舉例從這個(gè)過程可以看出構(gòu)件的請(qǐng)求對(duì)象不僅可以有客戶,甚至還可以由終端用戶。這使得構(gòu)件的設(shè)計(jì)更像是一個(gè)應(yīng)用程序的設(shè)計(jì),事實(shí)上,從這個(gè)實(shí)例可以看出,本案例中的構(gòu)件本身也是一種應(yīng)用程序,只不過它的使用者不僅有終端用戶,也可以有客戶程序。其設(shè)計(jì)與實(shí)現(xiàn)過程與普通的面向?qū)ο蟪绦虻脑O(shè)計(jì)與實(shí)現(xiàn)過程并沒有本質(zhì)的區(qū)別。8.2.3構(gòu)件圖的應(yīng)用舉例另外,圖8-11、圖8-12和圖8-13均忽略了用戶界面(IUserInterface)和打印控制(IPrinterControl)這兩個(gè)接口的實(shí)現(xiàn),其實(shí)它們不僅是構(gòu)件的需接口,事實(shí)上也是構(gòu)件中各種活動(dòng)過程的參與者。這種方式使得數(shù)據(jù)報(bào)表的輸出可以在不同的窗口和打印機(jī)之間進(jìn)行不同的定向,從而使得報(bào)表的輸出更加靈活。這個(gè)案例似乎很簡單,因?yàn)榘咐袃H提到了一個(gè)構(gòu)件。盡管本節(jié)中給出的關(guān)案例的全部描述都是在同一個(gè)構(gòu)件中發(fā)生的故事。當(dāng)你的設(shè)計(jì)中包含了多種不同的構(gòu)件時(shí),分析和構(gòu)造這些不同的構(gòu)件以及它們之間的關(guān)系將變得非常重要了。8.3部署圖一個(gè)完整的計(jì)算機(jī)系統(tǒng)應(yīng)包含軟件和硬件兩個(gè)方面,經(jīng)過開發(fā)得到的軟件(包括程序、數(shù)據(jù)和軟件構(gòu)件等)必須部署在硬件上才能真正發(fā)揮其應(yīng)有的作用。在UML中,通常使用部署圖描述系統(tǒng)的硬件體系結(jié)構(gòu)。部署圖由表示硬件的結(jié)點(diǎn)和結(jié)點(diǎn)之間的聯(lián)系組成,它描述了處理器、設(shè)備和軟件構(gòu)件運(yùn)行時(shí)的體系結(jié)構(gòu)。8.3.1部署圖的基本元素組成部署圖的基本元素主要有結(jié)點(diǎn)、構(gòu)件、對(duì)象、連接和依賴等。1.結(jié)點(diǎn)(Node)部署圖中,最基本的構(gòu)成元素就是結(jié)點(diǎn)。結(jié)點(diǎn)用來表示某種計(jì)算資源的物理(硬件)對(duì)象。包括計(jì)算機(jī)、外部設(shè)備(如打印機(jī)、讀卡機(jī)和通信設(shè)備)等。部署圖定義的結(jié)點(diǎn)可分為普通結(jié)點(diǎn)和設(shè)備結(jié)點(diǎn)兩種。普通結(jié)點(diǎn)是指可以部署軟件構(gòu)件或具有一定計(jì)算能力的結(jié)點(diǎn)。設(shè)備結(jié)點(diǎn)則表示具有一定輸入和輸出能力的非標(biāo)準(zhǔn)設(shè)備,其特點(diǎn)是設(shè)備結(jié)點(diǎn)上不需要部署任何軟件構(gòu)件。8.3.1部署圖的基本元素如圖8-14給出了結(jié)點(diǎn)的圖形符號(hào)表示。其中,圖8-14a給出了一個(gè)帶有某些屬性的結(jié)點(diǎn),這些屬性描述了設(shè)備應(yīng)具有的狀態(tài)。圖8-14b描述了一個(gè)普通結(jié)點(diǎn),圖8-14c則描述了一個(gè)設(shè)備結(jié)點(diǎn)。圖8-14結(jié)點(diǎn)的圖形符號(hào)表示a)帶有屬性的各節(jié)點(diǎn)b)普通結(jié)點(diǎn)c)設(shè)備節(jié)點(diǎn)8.3.1部署圖的基本元素每個(gè)結(jié)點(diǎn)都必須帶有一個(gè)名字作為標(biāo)識(shí)符,寫在立方體中間。結(jié)點(diǎn)名還可以帶有路徑且應(yīng)具有唯一性。每種結(jié)點(diǎn)都可以帶有某些屬性,用于描述設(shè)備應(yīng)具有的狀態(tài)或應(yīng)滿足的約束條件。結(jié)點(diǎn)還可以帶有方法,用于描述需要在該結(jié)點(diǎn)上部署的構(gòu)件。8.3.1部署圖的基本元素2.構(gòu)件(Component)可執(zhí)行構(gòu)件的實(shí)例可以出現(xiàn)在部署圖中的結(jié)點(diǎn)實(shí)例圖形符號(hào)中,表示構(gòu)件實(shí)例與結(jié)點(diǎn)實(shí)例之間的部署關(guān)系。圖8-15描述了一個(gè)圖書管理系統(tǒng)的部署圖實(shí)例。圖中包含了6個(gè)結(jié)點(diǎn)和3個(gè)設(shè)備結(jié)點(diǎn)。其中,DatabaseServer是數(shù)據(jù)庫服務(wù)器,其部署的構(gòu)件是數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)。ApplicationServer是一個(gè)應(yīng)用服務(wù)器,用于部署Web服務(wù)程序。BookBorrowingTerminal是一個(gè)圖書借閱終端,部署圖書借閱管理程序,主要負(fù)責(zé)借書和還書業(yè)務(wù)。InformationInquiryTerminal為圖書信息查詢終端,與應(yīng)用服務(wù)器相連,主要提供各種信息查詢。InformationCollectionTerminal圖書信息采編終端,主要用于圖書采編等業(yè)務(wù)。8.3.1部署圖的基本元素圖8-15圖書管理系統(tǒng)的部署圖8.3.1部署圖的基本元素另外,圖中還包含了圖書借閱系統(tǒng)(BookBorrowingSystem)、數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem)、圖書信息采編系統(tǒng)(BookInformationCollectingSystem)和圖書信息查詢系統(tǒng)(BookInformationInquirySystem)等四個(gè)子系統(tǒng)。這四個(gè)構(gòu)件與結(jié)點(diǎn)之間的部署關(guān)系也被直觀地表示出來。8.3.1部署圖的基本元素3.結(jié)點(diǎn)之間的關(guān)系實(shí)際的系統(tǒng)中,各個(gè)結(jié)點(diǎn)之間是通過物理連接發(fā)生聯(lián)系的,以便從硬件方面保證系統(tǒng)各結(jié)點(diǎn)之間的協(xié)同運(yùn)行,連接方式可以多種多樣,例如RS232,局域網(wǎng)、因特網(wǎng)等。部署圖中的連接元素主要包括:結(jié)點(diǎn)之間的關(guān)聯(lián)和結(jié)點(diǎn)與構(gòu)件之間的依賴兩種關(guān)系。1)結(jié)點(diǎn)之間的通信關(guān)聯(lián)結(jié)點(diǎn)通過通信關(guān)聯(lián)用一條直線表示,表示出結(jié)點(diǎn)之間存在某種通信路徑。通過這條通信路徑,結(jié)點(diǎn)間可交換對(duì)象或發(fā)送信息。通信關(guān)聯(lián)上可以帶有標(biāo)明其某種特殊語義的(如連接方式)構(gòu)造型,如《TCP/IP》和《Ethernet》等。8.3.1部署圖的基本元素圖8-16部署圖中的依賴關(guān)系8.3.1部署圖的基本元素2)依賴關(guān)系部署圖中的依賴關(guān)系主要描述構(gòu)件圖中各要素之間的依賴,主要包括:表示結(jié)點(diǎn)和構(gòu)件之間的部署關(guān)系的依賴,不同結(jié)點(diǎn)上的構(gòu)件或?qū)ο笾g的遷移依賴。部署依賴是指表示構(gòu)件是否可以或是否需要部署到某個(gè)結(jié)點(diǎn)的依賴,這可以使用帶有《deploy》或《support》構(gòu)造型的依賴表示。對(duì)于分布在不同結(jié)點(diǎn)上的構(gòu)件或?qū)ο笾g的遷移關(guān)系可以使用帶有《become》構(gòu)造型的依賴加以描述。8.3.1部署圖的基本元素一個(gè)基本的網(wǎng)絡(luò)應(yīng)用系統(tǒng)部署模型的建模方法如下:1.確定結(jié)點(diǎn)2.定義構(gòu)件在結(jié)點(diǎn)上的分布3.明確結(jié)點(diǎn)的特征4.明確結(jié)點(diǎn)之間的關(guān)系5.繪制配置圖8.3.1部署圖的基本元素一個(gè)基本的網(wǎng)絡(luò)應(yīng)用系統(tǒng)部署模型的建模方法如下:1.確定結(jié)點(diǎn)綜合考慮項(xiàng)目的目標(biāo)、規(guī)模、地理分布以及所選的軟件體系結(jié)構(gòu)等因素,定義所需要的結(jié)點(diǎn)。常見的結(jié)點(diǎn)包括服務(wù)器、工作站、交換機(jī)、網(wǎng)絡(luò)設(shè)備和某些特殊輸入/輸出設(shè)備,一般不考慮鼠標(biāo)、鍵盤和顯示器等標(biāo)準(zhǔn)設(shè)備。一般情況下,可將每種(或具有某種特殊用途的)計(jì)算機(jī)或設(shè)備作為一個(gè)結(jié)點(diǎn),一個(gè)設(shè)備也看作一個(gè)結(jié)點(diǎn),設(shè)備一般沒有計(jì)算能力(不能執(zhí)行構(gòu)件),但它們往往是系統(tǒng)與外界交互的重要接口。對(duì)于服務(wù)器,還需要根據(jù)它們所提供的服務(wù)的類型將它們劃分成多種不同的類型,如數(shù)據(jù)庫、應(yīng)用、通信和視頻服務(wù)器等。8.3.1部署圖的基本元素2.定義構(gòu)件在結(jié)點(diǎn)上的分布根據(jù)軟件體系結(jié)構(gòu)和系統(tǒng)功能要求將構(gòu)件分配到不同的軟件結(jié)點(diǎn)上,并用構(gòu)件圖描述出來。3.明確結(jié)點(diǎn)的特征根據(jù)結(jié)點(diǎn)的用途、計(jì)算能力和處理能力等方面的特性和要求,分析清楚每個(gè)結(jié)點(diǎn)應(yīng)具有的特征,必要時(shí)可使用結(jié)點(diǎn)的屬性、操作和構(gòu)造型來描述這些結(jié)點(diǎn)所應(yīng)有的性質(zhì)。8.3.1部署圖的基本元素4.明確結(jié)點(diǎn)之間的關(guān)系對(duì)于結(jié)點(diǎn)之間的簡單通信聯(lián)系,可直接用關(guān)聯(lián)描述,并標(biāo)明關(guān)聯(lián)使用的連接類型,如通信協(xié)議或網(wǎng)絡(luò)類型等。對(duì)于分布式系統(tǒng),還要注意各結(jié)點(diǎn)上駐留的構(gòu)件或?qū)ο笾g可能存在的遷移的依賴聯(lián)系,并用構(gòu)造型《become》加以說明。8.3.1部署圖的基本元素5.繪制配置圖對(duì)于一個(gè)比較簡單的系統(tǒng),可僅繪制一張部署圖就可以了。但對(duì)于復(fù)雜系統(tǒng),可以按照分治策略對(duì)結(jié)點(diǎn)進(jìn)行分組的方式進(jìn)行部署圖的建模。即將部署模型分成多個(gè)包的方式進(jìn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論