版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第二章軟件體系結(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)件是具有一定功能和可明確辯識的軟件單位構(gòu)件應(yīng)該具備以下特點:語義完整性、語法正確性和可重用性在結(jié)構(gòu)上,構(gòu)件是語義描述、通信接口和實現(xiàn)代碼的復(fù)合體,是計算和數(shù)據(jù)存儲單元,是計算與狀態(tài)存在的場所典型的構(gòu)件包括:客戶(Client)構(gòu)件、服務(wù)器(Server)構(gòu)件、過濾器(Filter)構(gòu)件和數(shù)據(jù)庫(Database)構(gòu)件等2.4構(gòu)件、連接件定義構(gòu)件可以小到只有一個過程,也可以大到包含一個應(yīng)用程序,可以包含函數(shù)、對象、進程、二進制對象、類庫和數(shù)據(jù)包等構(gòu)件之間是相互獨立的,構(gòu)件隱藏了其具體實現(xiàn)細節(jié),通過接口來提供服務(wù)構(gòu)件內(nèi)部包含多種屬性,例如:端口、類型、語義、約束、演化和非功能屬性等2.4構(gòu)件、連接件定義構(gòu)件的形式化定義:構(gòu)件是一個計算和數(shù)據(jù)存儲單元,由構(gòu)件接口和構(gòu)件實現(xiàn)模塊組成。構(gòu)件接口是構(gòu)件與外部接觸點的集合,即<Port1,Port2,…,Portn>.每個Port有一個8元組定義<ID,PUBli,
Extei,
Privi,
Behai,
Msgsi,
Consi,
Non-Funci>.元素語義元素語義ID構(gòu)件標示Behai構(gòu)件第i個接觸點行為語義描述PUBli構(gòu)件第i個接觸點能提供給環(huán)境或其它構(gòu)件的功能集合Msgsi構(gòu)件第i個接觸點所產(chǎn)生消息的集合Extei構(gòu)件第i個接觸點所需環(huán)境或其它構(gòu)件的功能集合Consi對構(gòu)件第i個接觸點行為約束,通常包括構(gòu)件運行的初始條件、前置/后置條件Privi構(gòu)件第i個接觸點私有屬性集合Non-Funci構(gòu)件第i個接觸點非功能說明2.4構(gòu)件、連接件定義構(gòu)件模型:是指構(gòu)件的本質(zhì)特征以及構(gòu)件間關(guān)系的抽象描述。有描述、組裝以及實現(xiàn)等各方面的模型。描述方面的著名模型是3C模型:概念(Concept)主要描述構(gòu)件“做什么”,用抽象的概念去理解構(gòu)件的功能;又分為接口規(guī)約和語義描述;內(nèi)容(content)是概念的具體實現(xiàn),描述構(gòu)件如何完成概念刻畫的功能;語境(context)是構(gòu)件和外圍環(huán)境在概念級和內(nèi)容級的關(guān)系。2.4構(gòu)件、連接件定義組裝方面的構(gòu)件模型:主要有構(gòu)件接口和特性約束兩方面。構(gòu)件接口主要描述構(gòu)件提供給使用者的信息,又分為功能規(guī)約和接入點(對應(yīng)3C的概念和概念級語境)。特性約束主要包括構(gòu)件自身結(jié)構(gòu)的語法約束、語義模型以及其它方面的服務(wù)特性(對應(yīng)3C中的內(nèi)容)。2.4構(gòu)件、連接件定義構(gòu)件組合應(yīng)該遵循以下三個原則:使參與組合的構(gòu)件保持自身的獨立性,從而有利于構(gòu)件和所形成的復(fù)合構(gòu)件具有更強的復(fù)用能力和演化能力構(gòu)件之間的組合應(yīng)該由構(gòu)件以外的實體來實施,例如:連接件,實質(zhì)上,構(gòu)件組合就是構(gòu)件之間的交互,而不是構(gòu)件服務(wù)的簡單羅列構(gòu)件組合與單個構(gòu)件分開,意味著構(gòu)件的交互與計算分離,降低了構(gòu)件之間的耦合,有利于構(gòu)件和交互模式的復(fù)用2.4構(gòu)件、連接件定義構(gòu)件組合應(yīng)有助于根據(jù)參與組合的構(gòu)件的行為和性質(zhì)來推導(dǎo)復(fù)合構(gòu)件的行為和性質(zhì),從而有助于基于可復(fù)用構(gòu)件的應(yīng)用系統(tǒng)的開發(fā)在軟件體系結(jié)構(gòu)中,連接件是用來建立構(gòu)件之間交互和支配這些交互規(guī)則的構(gòu)造模塊構(gòu)件之間的交互包括消息和信號量的傳遞,功能和方法的調(diào)用,數(shù)據(jù)的傳送和轉(zhuǎn)換,以及構(gòu)件之間的同步關(guān)系和依賴關(guān)系等2.4構(gòu)件、連接件定義常見的連接件有:管道-過濾器體系結(jié)構(gòu)風(fēng)格中的管道(pipe)、客戶/服務(wù)器體系結(jié)構(gòu)風(fēng)格中的通信協(xié)議和通信機制、以及數(shù)據(jù)庫和應(yīng)用程序之間的SQL連接等連接件的接口是其所關(guān)聯(lián)構(gòu)件的一組交互點,這些交互點被稱為角色角色代表了參與連接的構(gòu)件的作用和地位,體現(xiàn)了連接所具有的方向性角色有主動和被動、請求和響應(yīng)之分2.4構(gòu)件、連接件定義對于構(gòu)件而言,連接件是粘合劑,是構(gòu)件交互的實現(xiàn)連接件和構(gòu)件之間的區(qū)別主要在于它們在軟件體系結(jié)構(gòu)中承擔著不同的作用連接件也是一組對象,把不同的構(gòu)件連接起來,形成體系結(jié)構(gòu)的一部分約束(Constraint)是構(gòu)件與其關(guān)系之間所必須滿足的條件和限制,描述了系統(tǒng)的配置關(guān)系和拓撲結(jié)構(gòu),確定了體系結(jié)構(gòu)調(diào)整的構(gòu)件和連接件的關(guān)聯(lián)關(guān)系2.4構(gòu)件、連接件定義連接件的主要特性是:可擴展性、互操作性、動態(tài)連接性和請求響應(yīng)性連接件的可擴展性是指:連接件允許動態(tài)地改變被關(guān)聯(lián)的構(gòu)件集合和交互關(guān)系互操作性是指:被連接的構(gòu)件通過連接件對其它構(gòu)件進行直接或間接操作動態(tài)連接性是指:對連接的動態(tài)約束,連接件對所關(guān)聯(lián)的構(gòu)件可以實施不同的動態(tài)處理請求響應(yīng)性是指響應(yīng)的并發(fā)性和時序性2.4構(gòu)件、連接件定義軟件體系結(jié)構(gòu),又被稱為架構(gòu),指可預(yù)制和可重構(gòu)的軟件框架結(jié)構(gòu)構(gòu)件是可預(yù)制和可重用的軟件元素,是組成體系結(jié)構(gòu)的基本計算單元和數(shù)據(jù)存儲單元連接件也是可預(yù)制和可重用的軟件元素,是構(gòu)件之間的連接單元構(gòu)件和連接件之間的關(guān)系用約束來表示2.4構(gòu)件、連接件定義約束是基于規(guī)則和參數(shù)進行描述的體系結(jié)構(gòu)約束提供了相關(guān)限制,以確定構(gòu)件是否正確、連接接口是否匹配、以及連接件的通信是否正確,同時,說明了實現(xiàn)要求行為的語義組合約束將軟件體系結(jié)構(gòu)與系統(tǒng)需求緊密地聯(lián)系起來,在體系結(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)件作為一個封裝的實體,僅通過其接口與外部環(huán)境進行交互,而構(gòu)件的接口是由一組端口組成的,每個端口表示構(gòu)件與外部環(huán)境之間的交互點2.5軟件體系結(jié)構(gòu)定義連接件作為軟件體系結(jié)構(gòu)建模的主要實體,同樣也有接口,連接件的接口是由一組角色構(gòu)成的,每個角色定義了該連接所表示交互的參與者軟件體系結(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)格::={管道-過濾器,客戶/服務(wù)器,倉庫,…}本章內(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)時,常用的方法主要有兩種:實踐派風(fēng)格,使用通用的建模符號,將軟件體系結(jié)構(gòu)設(shè)計與描述同傳統(tǒng)的系統(tǒng)建模視為一體學(xué)院派風(fēng)格,使用了體系結(jié)構(gòu)描述語言(ArchitectureDescriptionLanguage,ADL),側(cè)重于軟件體系結(jié)構(gòu)形式化理論的研究2.6基于UML的軟件體系結(jié)構(gòu)建模方法實踐派風(fēng)格包括:圖形表示方法、模塊內(nèi)連接語言、基于構(gòu)件的系統(tǒng)描述語言和UML描述方法圖形表示方法,使用矩形來代表系統(tǒng)的過程、模塊和子系統(tǒng),利用有向線段來描述它們之間的關(guān)系,這樣,就形成了所謂的線框圖模塊內(nèi)連接語言,采用一種或幾種程序設(shè)計語言的模塊連接起來的模塊內(nèi)連接語言,具有程序設(shè)計語言的嚴格語義基礎(chǔ),但是,在開發(fā)層次上過于依賴程序設(shè)計語言,限制了處理和描述高層次軟件體系結(jié)構(gòu)元素的能力2.6基于UML的軟件體系結(jié)構(gòu)建模方法基于構(gòu)件的系統(tǒng)描述語言,將軟件描述成由許多特定形式、相互作用的特殊實體所形成的組織或系統(tǒng),一般而言,這種描述方法都是針對特定領(lǐng)域的特殊問題,不太適合描述和表達一般意義上的軟件體系結(jié)構(gòu)UML描述方法,可以將Kruchten的“4+1”模型映射到UML圖上,邏輯視圖利用類圖來表示,過程視圖映射成活動圖,開發(fā)視圖使用構(gòu)件圖來描述,物理視圖映射為配置圖,場景用順序圖和協(xié)作圖來表示2.6基于UML的軟件體系結(jié)構(gòu)建模方法用例圖是從用戶的角度來描述系統(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)活動圖描述了滿足用例要求所要進行的活動以及活動之間的約束關(guān)系合作圖描述對象之間的協(xié)作,顯示對象之間的動態(tài)合作關(guān)系2.6基于UML的軟件體系結(jié)構(gòu)建模方法順序圖描述對象之間的動態(tài)合作關(guān)系,強調(diào)對象之間的消息發(fā)送順序,顯示對象之間的交互關(guān)系狀態(tài)圖描述了一類對象所具有的可能狀態(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)時,主要存在著三種途徑:不改變UML的用法,將UML看作是一種軟件體系結(jié)構(gòu)描述語言,直接對體系結(jié)構(gòu)進行建模利用UML的擴展機制,約束UML元模型以支持體系結(jié)構(gòu)建模需求對UML元模型進行擴充,增加體系結(jié)構(gòu)建模元素,這種方法是對UML的元模型進行擴展,使UML具有新的建模能力2.6基于UML的軟件體系結(jié)構(gòu)建模方法對于每種體系結(jié)構(gòu)元素,在UML中幾乎都能找到與之相對應(yīng)的元素:UML的用例、類、組件、結(jié)點、包和子系統(tǒng)與體系結(jié)構(gòu)中的構(gòu)件相對應(yīng)UML的關(guān)系支持體系結(jié)構(gòu)中的連接件UML的接口支持體系結(jié)構(gòu)中的接口UML中的規(guī)則相當于體系結(jié)構(gòu)中的約束軟件體系結(jié)構(gòu)的配置可以使用UML的包圖、組件圖和配置圖來描述2.6基于UML的軟件體系結(jié)構(gòu)建模方法UML預(yù)定義及用戶自己擴展的構(gòu)造型,例如:精化和復(fù)制等,能夠較好地表達體系結(jié)構(gòu)的行為邏輯視圖可以采用UML用例圖來實現(xiàn)在開發(fā)視圖中,使用UML的類圖、對象圖和構(gòu)件圖來表示模塊,用包來表示子系統(tǒng),利用連接表示模塊或子系統(tǒng)之間的關(guān)聯(lián)過程視圖可以采用UML的狀態(tài)圖、順序圖和活動圖來實現(xiàn)2.6基于UML的軟件體系結(jié)構(gòu)建模方法物理視圖定義了功能單元的分布狀況,描述用于執(zhí)行用例和保存數(shù)據(jù)的業(yè)務(wù)地點,可以使用UML的配置圖來實現(xiàn)在選擇UML來描述軟件體系結(jié)構(gòu)時,會有以下幾方面的優(yōu)點:UML是當前主流的面向?qū)ο箝_發(fā)語言,已經(jīng)被越來越多的人所采用,容易被人們接受UML是一個開發(fā)標準,具有良好的擴展機制2.6基于UML的軟件體系結(jié)構(gòu)建模方法UML引入了形式化定義(對象約束語言),是一種半形式化的建模語言UML有豐富的支持工具,與程序設(shè)計語言和開發(fā)過程無關(guān)UML支持多視圖結(jié)構(gòu),能夠從不同角度來刻畫軟件體系結(jié)構(gòu),可以有效地用于分析、設(shè)計和實現(xiàn)過程UML提供了豐富的建模概念和表示符號,能夠滿足典型的軟件開發(fā)過程UML的語義比較豐富,是一種通用和標準的建模語言,易于理解和交流,發(fā)展已經(jīng)非常成熟2.6基于UML的軟件體系結(jié)構(gòu)建模方法在選擇UML來描述軟件體系結(jié)構(gòu)時,也存在著一些問題:對體系結(jié)構(gòu)的構(gòu)造性建模能力不強,具體來說,UML還缺乏對體系結(jié)構(gòu)風(fēng)格和顯式連接件的直接支持對體系結(jié)構(gòu)的描述只能到達非形式化的層次,不能保證軟件開發(fā)過程的可靠性,不能充分地表現(xiàn)軟件體系結(jié)構(gòu)的本質(zhì)2.6基于UML的軟件體系結(jié)構(gòu)建模方法基于UML的軟件體系結(jié)構(gòu)(UML-BasedSoftwareArchitecture,UBSA),是由一組互相協(xié)作的組件構(gòu)成通過組件及其之間的協(xié)作關(guān)系來定義軟件系統(tǒng)的體系結(jié)構(gòu)在UBSA中,通過擴展點(ExtensionPoints)來組裝用戶開發(fā)的組件,以適應(yīng)用戶需求領(lǐng)域的不斷變化2.6基于UML的軟件體系結(jié)構(gòu)建模方法UBSA={Co
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業(yè)污水回收處理合同3篇
- 文藝演出國際演出合同3篇
- 攪拌站轉(zhuǎn)讓合同范本3篇
- 摩托車貨物運輸合同3篇
- 安徽鐵路行業(yè)勞動合同樣本3篇
- 房屋買賣建筑項目監(jiān)理合同3篇
- 政府采購合同性質(zhì)的演變與發(fā)展3篇
- 提前解除勞動合同賠償3篇
- 政府機關(guān)電腦銷售協(xié)議3篇
- 政務(wù)信息化建設(shè)項目公告3篇
- 2025眼科護理工作計劃
- 校園牛奶消費推廣方案
- 非甾體抗炎藥圍術(shù)期鎮(zhèn)痛專家共識(2024 版)解讀
- 技術(shù)服務(wù)外包勞務(wù)合同范本5篇
- 綠色財政政策
- 《內(nèi)外科疾病康復(fù)學(xué)》課程教學(xué)大綱
- 期末素養(yǎng)展示-2024-2025學(xué)年語文三年級上冊統(tǒng)編版
- 2024中華人民共和國學(xué)前教育法學(xué)習(xí)解讀課件
- 蒸鍍機基礎(chǔ)知識單選題100道及答案解析
- 2024年秋新人教PEP版3年級上冊英語教學(xué)課件 Unit 4 第4課時 Part B Let's talk
- 私募股權(quán)基金公司的賬務(wù)處理-記賬實操
評論
0/150
提交評論