第二章軟件體系結(jié)構(gòu)建模_第1頁(yè)
第二章軟件體系結(jié)構(gòu)建模_第2頁(yè)
第二章軟件體系結(jié)構(gòu)建模_第3頁(yè)
第二章軟件體系結(jié)構(gòu)建模_第4頁(yè)
第二章軟件體系結(jié)構(gòu)建模_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余29頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

第二章軟件體系結(jié)構(gòu)的基本概念與建模方法(續(xù))本章內(nèi)容2.1軟件體系結(jié)構(gòu)的概念及其概念模型2.2軟件體系結(jié)構(gòu)的“4+1視圖”模型2.3軟件體系結(jié)構(gòu)的生命周期模型2.4構(gòu)件、連接件定義2.5軟件體系結(jié)構(gòu)定義2.6基于UML的軟件體系結(jié)構(gòu)建模方法2.4構(gòu)件、連接件定義構(gòu)件是具有一定功能和可明確辯識(shí)的軟件單位構(gòu)件應(yīng)該具備以下特點(diǎn):語(yǔ)義完整性、語(yǔ)法正確性和可重用性在結(jié)構(gòu)上,構(gòu)件是語(yǔ)義描述、通信接口和實(shí)現(xiàn)代碼的復(fù)合體,是計(jì)算和數(shù)據(jù)存儲(chǔ)單元,是計(jì)算與狀態(tài)存在的場(chǎng)所典型的構(gòu)件包括:客戶(Client)構(gòu)件、服務(wù)器(Server)構(gòu)件、過(guò)濾器(Filter)構(gòu)件和數(shù)據(jù)庫(kù)(Database)構(gòu)件等2.4構(gòu)件、連接件定義構(gòu)件可以小到只有一個(gè)過(guò)程,也可以大到包含一個(gè)應(yīng)用程序,可以包含函數(shù)、對(duì)象、進(jìn)程、二進(jìn)制對(duì)象、類庫(kù)和數(shù)據(jù)包等構(gòu)件之間是相互獨(dú)立的,構(gòu)件隱藏了其具體實(shí)現(xiàn)細(xì)節(jié),通過(guò)接口來(lái)提供服務(wù)構(gòu)件內(nèi)部包含多種屬性,例如:端口、類型、語(yǔ)義、約束、演化和非功能屬性等2.4構(gòu)件、連接件定義構(gòu)件的形式化定義:構(gòu)件是一個(gè)計(jì)算和數(shù)據(jù)存儲(chǔ)單元,由構(gòu)件接口和構(gòu)件實(shí)現(xiàn)模塊組成。構(gòu)件接口是構(gòu)件與外部接觸點(diǎn)的集合,即<Port1,Port2,…,Portn>.每個(gè)Port有一個(gè)8元組定義<ID,PUBli,

Extei,

Privi,

Behai,

Msgsi,

Consi,

Non-Funci>.元素語(yǔ)義元素語(yǔ)義ID構(gòu)件標(biāo)示Behai構(gòu)件第i個(gè)接觸點(diǎn)行為語(yǔ)義描述PUBli構(gòu)件第i個(gè)接觸點(diǎn)能提供給環(huán)境或其它構(gòu)件的功能集合Msgsi構(gòu)件第i個(gè)接觸點(diǎn)所產(chǎn)生消息的集合Extei構(gòu)件第i個(gè)接觸點(diǎn)所需環(huán)境或其它構(gòu)件的功能集合Consi對(duì)構(gòu)件第i個(gè)接觸點(diǎn)行為約束,通常包括構(gòu)件運(yùn)行的初始條件、前置/后置條件Privi構(gòu)件第i個(gè)接觸點(diǎn)私有屬性集合Non-Funci構(gòu)件第i個(gè)接觸點(diǎn)非功能說(shuō)明2.4構(gòu)件、連接件定義構(gòu)件模型:是指構(gòu)件的本質(zhì)特征以及構(gòu)件間關(guān)系的抽象描述。有描述、組裝以及實(shí)現(xiàn)等各方面的模型。描述方面的著名模型是3C模型:概念(Concept)主要描述構(gòu)件“做什么”,用抽象的概念去理解構(gòu)件的功能;又分為接口規(guī)約和語(yǔ)義描述;內(nèi)容(content)是概念的具體實(shí)現(xiàn),描述構(gòu)件如何完成概念刻畫的功能;語(yǔ)境(context)是構(gòu)件和外圍環(huán)境在概念級(jí)和內(nèi)容級(jí)的關(guān)系。2.4構(gòu)件、連接件定義組裝方面的構(gòu)件模型:主要有構(gòu)件接口和特性約束兩方面。構(gòu)件接口主要描述構(gòu)件提供給使用者的信息,又分為功能規(guī)約和接入點(diǎn)(對(duì)應(yīng)3C的概念和概念級(jí)語(yǔ)境)。特性約束主要包括構(gòu)件自身結(jié)構(gòu)的語(yǔ)法約束、語(yǔ)義模型以及其它方面的服務(wù)特性(對(duì)應(yīng)3C中的內(nèi)容)。2.4構(gòu)件、連接件定義構(gòu)件組合應(yīng)該遵循以下三個(gè)原則:使參與組合的構(gòu)件保持自身的獨(dú)立性,從而有利于構(gòu)件和所形成的復(fù)合構(gòu)件具有更強(qiáng)的復(fù)用能力和演化能力構(gòu)件之間的組合應(yīng)該由構(gòu)件以外的實(shí)體來(lái)實(shí)施,例如:連接件,實(shí)質(zhì)上,構(gòu)件組合就是構(gòu)件之間的交互,而不是構(gòu)件服務(wù)的簡(jiǎn)單羅列構(gòu)件組合與單個(gè)構(gòu)件分開,意味著構(gòu)件的交互與計(jì)算分離,降低了構(gòu)件之間的耦合,有利于構(gòu)件和交互模式的復(fù)用2.4構(gòu)件、連接件定義構(gòu)件組合應(yīng)有助于根據(jù)參與組合的構(gòu)件的行為和性質(zhì)來(lái)推導(dǎo)復(fù)合構(gòu)件的行為和性質(zhì),從而有助于基于可復(fù)用構(gòu)件的應(yīng)用系統(tǒng)的開發(fā)在軟件體系結(jié)構(gòu)中,連接件是用來(lái)建立構(gòu)件之間交互和支配這些交互規(guī)則的構(gòu)造模塊構(gòu)件之間的交互包括消息和信號(hào)量的傳遞,功能和方法的調(diào)用,數(shù)據(jù)的傳送和轉(zhuǎn)換,以及構(gòu)件之間的同步關(guān)系和依賴關(guān)系等2.4構(gòu)件、連接件定義常見(jiàn)的連接件有:管道-過(guò)濾器體系結(jié)構(gòu)風(fēng)格中的管道(pipe)、客戶/服務(wù)器體系結(jié)構(gòu)風(fēng)格中的通信協(xié)議和通信機(jī)制、以及數(shù)據(jù)庫(kù)和應(yīng)用程序之間的SQL連接等連接件的接口是其所關(guān)聯(lián)構(gòu)件的一組交互點(diǎn),這些交互點(diǎn)被稱為角色角色代表了參與連接的構(gòu)件的作用和地位,體現(xiàn)了連接所具有的方向性角色有主動(dòng)和被動(dòng)、請(qǐng)求和響應(yīng)之分2.4構(gòu)件、連接件定義對(duì)于構(gòu)件而言,連接件是粘合劑,是構(gòu)件交互的實(shí)現(xiàn)連接件和構(gòu)件之間的區(qū)別主要在于它們?cè)谲浖w系結(jié)構(gòu)中承擔(dān)著不同的作用連接件也是一組對(duì)象,把不同的構(gòu)件連接起來(lái),形成體系結(jié)構(gòu)的一部分約束(Constraint)是構(gòu)件與其關(guān)系之間所必須滿足的條件和限制,描述了系統(tǒng)的配置關(guān)系和拓?fù)浣Y(jié)構(gòu),確定了體系結(jié)構(gòu)調(diào)整的構(gòu)件和連接件的關(guān)聯(lián)關(guān)系2.4構(gòu)件、連接件定義連接件的主要特性是:可擴(kuò)展性、互操作性、動(dòng)態(tài)連接性和請(qǐng)求響應(yīng)性連接件的可擴(kuò)展性是指:連接件允許動(dòng)態(tài)地改變被關(guān)聯(lián)的構(gòu)件集合和交互關(guān)系互操作性是指:被連接的構(gòu)件通過(guò)連接件對(duì)其它構(gòu)件進(jìn)行直接或間接操作動(dòng)態(tài)連接性是指:對(duì)連接的動(dòng)態(tài)約束,連接件對(duì)所關(guān)聯(lián)的構(gòu)件可以實(shí)施不同的動(dòng)態(tài)處理請(qǐng)求響應(yīng)性是指響應(yīng)的并發(fā)性和時(shí)序性2.4構(gòu)件、連接件定義軟件體系結(jié)構(gòu),又被稱為架構(gòu),指可預(yù)制和可重構(gòu)的軟件框架結(jié)構(gòu)構(gòu)件是可預(yù)制和可重用的軟件元素,是組成體系結(jié)構(gòu)的基本計(jì)算單元和數(shù)據(jù)存儲(chǔ)單元連接件也是可預(yù)制和可重用的軟件元素,是構(gòu)件之間的連接單元構(gòu)件和連接件之間的關(guān)系用約束來(lái)表示2.4構(gòu)件、連接件定義約束是基于規(guī)則和參數(shù)進(jìn)行描述的體系結(jié)構(gòu)約束提供了相關(guān)限制,以確定構(gòu)件是否正確、連接接口是否匹配、以及連接件的通信是否正確,同時(shí),說(shuō)明了實(shí)現(xiàn)要求行為的語(yǔ)義組合約束將軟件體系結(jié)構(gòu)與系統(tǒng)需求緊密地聯(lián)系起來(lái),在體系結(jié)構(gòu)約束中,要求構(gòu)件端口和連接件角色之間是顯示連接的本章內(nèi)容2.1軟件體系結(jié)構(gòu)的概念及其概念模型2.2軟件體系結(jié)構(gòu)的“4+1視圖”模型2.3軟件體系結(jié)構(gòu)的生命周期模型2.4構(gòu)件、連接件定義2.5軟件體系結(jié)構(gòu)定義2.6基于UML的軟件體系結(jié)構(gòu)建模方法2.5軟件體系結(jié)構(gòu)定義軟件體系結(jié)構(gòu)核心模型(SoftwareArchitectureCoreModel)=構(gòu)件(Components)+連接件(Connectors)+約束(Constraints)構(gòu)件作為一個(gè)封裝的實(shí)體,僅通過(guò)其接口與外部環(huán)境進(jìn)行交互,而構(gòu)件的接口是由一組端口組成的,每個(gè)端口表示構(gòu)件與外部環(huán)境之間的交互點(diǎn)2.5軟件體系結(jié)構(gòu)定義連接件作為軟件體系結(jié)構(gòu)建模的主要實(shí)體,同樣也有接口,連接件的接口是由一組角色構(gòu)成的,每個(gè)角色定義了該連接所表示交互的參與者軟件體系結(jié)構(gòu)::=軟件體系結(jié)構(gòu)核心模型|軟件體系結(jié)構(gòu)風(fēng)格軟件體系結(jié)構(gòu)核心模型::=(構(gòu)件,連接件,約束)構(gòu)件::={端口1,端口2,…,端口N}2.5軟件體系結(jié)構(gòu)定義連接件::={角色1,角色2,…,角色M}約束::={(端口i,角色j),…}軟件體系結(jié)構(gòu)風(fēng)格::={管道-過(guò)濾器,客戶/服務(wù)器,倉(cāng)庫(kù),…}本章內(nèi)容2.1軟件體系結(jié)構(gòu)的概念及其概念模型2.2軟件體系結(jié)構(gòu)的“4+1視圖”模型2.3軟件體系結(jié)構(gòu)的生命周期模型2.4構(gòu)件、連接件定義2.5軟件體系結(jié)構(gòu)定義2.6基于UML的軟件體系結(jié)構(gòu)建模方法2.6基于UML的軟件體系結(jié)構(gòu)建模方法在描述軟件的框架結(jié)構(gòu)時(shí),常用的方法主要有兩種:實(shí)踐派風(fēng)格,使用通用的建模符號(hào),將軟件體系結(jié)構(gòu)設(shè)計(jì)與描述同傳統(tǒng)的系統(tǒng)建模視為一體學(xué)院派風(fēng)格,使用了體系結(jié)構(gòu)描述語(yǔ)言(ArchitectureDescriptionLanguage,ADL),側(cè)重于軟件體系結(jié)構(gòu)形式化理論的研究2.6基于UML的軟件體系結(jié)構(gòu)建模方法實(shí)踐派風(fēng)格包括:圖形表示方法、模塊內(nèi)連接語(yǔ)言、基于構(gòu)件的系統(tǒng)描述語(yǔ)言和UML描述方法圖形表示方法,使用矩形來(lái)代表系統(tǒng)的過(guò)程、模塊和子系統(tǒng),利用有向線段來(lái)描述它們之間的關(guān)系,這樣,就形成了所謂的線框圖模塊內(nèi)連接語(yǔ)言,采用一種或幾種程序設(shè)計(jì)語(yǔ)言的模塊連接起來(lái)的模塊內(nèi)連接語(yǔ)言,具有程序設(shè)計(jì)語(yǔ)言的嚴(yán)格語(yǔ)義基礎(chǔ),但是,在開發(fā)層次上過(guò)于依賴程序設(shè)計(jì)語(yǔ)言,限制了處理和描述高層次軟件體系結(jié)構(gòu)元素的能力2.6基于UML的軟件體系結(jié)構(gòu)建模方法基于構(gòu)件的系統(tǒng)描述語(yǔ)言,將軟件描述成由許多特定形式、相互作用的特殊實(shí)體所形成的組織或系統(tǒng),一般而言,這種描述方法都是針對(duì)特定領(lǐng)域的特殊問(wèn)題,不太適合描述和表達(dá)一般意義上的軟件體系結(jié)構(gòu)UML描述方法,可以將Kruchten的“4+1”模型映射到UML圖上,邏輯視圖利用類圖來(lái)表示,過(guò)程視圖映射成活動(dòng)圖,開發(fā)視圖使用構(gòu)件圖來(lái)描述,物理視圖映射為配置圖,場(chǎng)景用順序圖和協(xié)作圖來(lái)表示2.6基于UML的軟件體系結(jié)構(gòu)建模方法用例圖是從用戶的角度來(lái)描述系統(tǒng)功能,指出各功能的操作者,用于捕獲業(yè)務(wù)需求類圖描述了系統(tǒng)中類的靜態(tài)結(jié)構(gòu),定義了類的內(nèi)部結(jié)構(gòu)以及類之間的關(guān)聯(lián)關(guān)系包圖描述了系統(tǒng)的層次結(jié)構(gòu),用于捕獲系統(tǒng)的邏輯結(jié)構(gòu)活動(dòng)圖描述了滿足用例要求所要進(jìn)行的活動(dòng)以及活動(dòng)之間的約束關(guān)系合作圖描述對(duì)象之間的協(xié)作,顯示對(duì)象之間的動(dòng)態(tài)合作關(guān)系2.6基于UML的軟件體系結(jié)構(gòu)建模方法順序圖描述對(duì)象之間的動(dòng)態(tài)合作關(guān)系,強(qiáng)調(diào)對(duì)象之間的消息發(fā)送順序,顯示對(duì)象之間的交互關(guān)系狀態(tài)圖描述了一類對(duì)象所具有的可能狀態(tài)及狀態(tài)之間的轉(zhuǎn)移關(guān)系組件圖描述了程序代碼的物理結(jié)構(gòu)配置圖定義了軟、硬件的物理體系結(jié)構(gòu),用于捕獲系統(tǒng)硬件資源和軟件資源之間的映射關(guān)系2.6基于UML的軟件體系結(jié)構(gòu)建模方法2.6基于UML的軟件體系結(jié)構(gòu)建模方法在使用UML描述體系結(jié)構(gòu)時(shí),主要存在著三種途徑:不改變UML的用法,將UML看作是一種軟件體系結(jié)構(gòu)描述語(yǔ)言,直接對(duì)體系結(jié)構(gòu)進(jìn)行建模利用UML的擴(kuò)展機(jī)制,約束UML元模型以支持體系結(jié)構(gòu)建模需求對(duì)UML元模型進(jìn)行擴(kuò)充,增加體系結(jié)構(gòu)建模元素,這種方法是對(duì)UML的元模型進(jìn)行擴(kuò)展,使UML具有新的建模能力2.6基于UML的軟件體系結(jié)構(gòu)建模方法對(duì)于每種體系結(jié)構(gòu)元素,在UML中幾乎都能找到與之相對(duì)應(yīng)的元素:UML的用例、類、組件、結(jié)點(diǎn)、包和子系統(tǒng)與體系結(jié)構(gòu)中的構(gòu)件相對(duì)應(yīng)UML的關(guān)系支持體系結(jié)構(gòu)中的連接件UML的接口支持體系結(jié)構(gòu)中的接口UML中的規(guī)則相當(dāng)于體系結(jié)構(gòu)中的約束軟件體系結(jié)構(gòu)的配置可以使用UML的包圖、組件圖和配置圖來(lái)描述2.6基于UML的軟件體系結(jié)構(gòu)建模方法UML預(yù)定義及用戶自己擴(kuò)展的構(gòu)造型,例如:精化和復(fù)制等,能夠較好地表達(dá)體系結(jié)構(gòu)的行為邏輯視圖可以采用UML用例圖來(lái)實(shí)現(xiàn)在開發(fā)視圖中,使用UML的類圖、對(duì)象圖和構(gòu)件圖來(lái)表示模塊,用包來(lái)表示子系統(tǒng),利用連接表示模塊或子系統(tǒng)之間的關(guān)聯(lián)過(guò)程視圖可以采用UML的狀態(tài)圖、順序圖和活動(dòng)圖來(lái)實(shí)現(xiàn)2.6基于UML的軟件體系結(jié)構(gòu)建模方法物理視圖定義了功能單元的分布狀況,描述用于執(zhí)行用例和保存數(shù)據(jù)的業(yè)務(wù)地點(diǎn),可以使用UML的配置圖來(lái)實(shí)現(xiàn)在選擇UML來(lái)描述軟件體系結(jié)構(gòu)時(shí),會(huì)有以下幾方面的優(yōu)點(diǎn):UML是當(dāng)前主流的面向?qū)ο箝_發(fā)語(yǔ)言,已經(jīng)被越來(lái)越多的人所采用,容易被人們接受UML是一個(gè)開發(fā)標(biāo)準(zhǔn),具有良好的擴(kuò)展機(jī)制2.6基于UML的軟件體系結(jié)構(gòu)建模方法UML引入了形式化定義(對(duì)象約束語(yǔ)言),是一種半形式化的建模語(yǔ)言UML有豐富的支持工具,與程序設(shè)計(jì)語(yǔ)言和開發(fā)過(guò)程無(wú)關(guān)UML支持多視圖結(jié)構(gòu),能夠從不同角度來(lái)刻畫軟件體系結(jié)構(gòu),可以有效地用于分析、設(shè)計(jì)和實(shí)現(xiàn)過(guò)程UML提供了豐富的建模概念和表示符號(hào),能夠滿足典型的軟件開發(fā)過(guò)程UML的語(yǔ)義比較豐富,是一種通用和標(biāo)準(zhǔn)的建模語(yǔ)言,易于理解和交流,發(fā)展已經(jīng)非常成熟2.6基于UML的軟件體系結(jié)構(gòu)建模方法在選擇UML來(lái)描述軟件體系結(jié)構(gòu)時(shí),也存在著一些問(wèn)題:對(duì)體系結(jié)構(gòu)的構(gòu)造性建模能力不強(qiáng),具體來(lái)說(shuō),UML還缺乏對(duì)體系結(jié)構(gòu)風(fēng)格和顯式連接件的直接支持對(duì)體系結(jié)構(gòu)的描述只能到達(dá)非形式化的層次,不能保證軟件開發(fā)過(guò)程的可靠性,不能充分地表現(xiàn)軟件體系結(jié)構(gòu)的本質(zhì)2.6基于UML的軟件體系結(jié)構(gòu)建模方法基于UML的軟件體系結(jié)構(gòu)(UML-BasedSoftwareArchitecture,UBSA),是由一組互相協(xié)作的組件構(gòu)成通過(guò)組件及其之間的協(xié)作關(guān)系來(lái)定義軟件系統(tǒng)的體系結(jié)構(gòu)在UBSA中,通過(guò)擴(kuò)展點(diǎn)(ExtensionPoints)來(lái)組裝用戶開發(fā)的組件,以適應(yīng)用戶需求領(lǐng)域的不斷變化2.6基于UML的軟件體系結(jié)構(gòu)建模方法UBSA={Co

溫馨提示

  • 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)論