




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件體系結(jié)構(gòu)電子教案第6章文檔化體系結(jié)構(gòu)蔣哲遠(yuǎn)
2/197第6章內(nèi)容摘要6.1軟件體系結(jié)構(gòu)編檔概述6.2視圖類型與風(fēng)格6.3軟件體系結(jié)構(gòu)編檔的實(shí)施《軟件體系結(jié)構(gòu)》電子教案3/1976.1軟件體系結(jié)構(gòu)編檔概述(1)、軟件文檔類型(2)、SA文檔的作用(3)、SA文檔化的內(nèi)容(4)、合理文檔化的規(guī)則(5)、編檔標(biāo)準(zhǔn)結(jié)構(gòu)《軟件體系結(jié)構(gòu)》電子教案4/197(1)、軟件文檔類型系統(tǒng)文檔
為設(shè)計(jì)和開發(fā)人員提供相關(guān)信息,來(lái)維護(hù)系統(tǒng)或?qū)ο到y(tǒng)進(jìn)行重新設(shè)置多數(shù)或者所有的文檔是隨著軟件生命周期的過程而產(chǎn)生的用戶文檔
為最終的用戶提供系統(tǒng)運(yùn)行支持。它主要描述系統(tǒng)的操作規(guī)程,諸如一些功能,數(shù)據(jù)的錄入,產(chǎn)生的結(jié)果和定期維護(hù)等6.1軟件體系結(jié)構(gòu)編檔概述《軟件體系結(jié)構(gòu)》電子教案5/197系統(tǒng)文檔(1)、軟件文檔類型生命周期階段系統(tǒng)文檔分析傳統(tǒng)方法面向?qū)ο蠓椒‥-R圖,數(shù)據(jù)流圖過程描述,數(shù)據(jù)字典類圖,用例圖交互圖,狀態(tài)圖設(shè)計(jì)事件列表系統(tǒng)流程圖,結(jié)構(gòu)圖設(shè)計(jì)類圖,軟件包圖模塊或方法的偽代碼,數(shù)據(jù)庫(kù)模式圖實(shí)現(xiàn)程序源代碼,數(shù)據(jù)庫(kù)模式源代碼,測(cè)試數(shù)據(jù)6.1軟件體系結(jié)構(gòu)編檔概述6/197(2)、SA文檔的作用SA文檔的3種用途:教育工具。特別是新的團(tuán)隊(duì)成員、外部分析人員和新的構(gòu)架師。是涉眾間的首要通訊工具。涉眾包括諸如:代表客戶的構(gòu)架師和需求工程師、組成部分構(gòu)架師和設(shè)計(jì)人員、實(shí)現(xiàn)者、測(cè)試者和集成者、維護(hù)者、必須與系統(tǒng)進(jìn)行交互操作的其它系統(tǒng)設(shè)計(jì)者、管理者、產(chǎn)品線管理者、質(zhì)量保證小組等。支持系統(tǒng)分析。也就是必須包含系統(tǒng)分析的必要信息,諸如對(duì)各種屬性(安全性、性能、可用性和可維護(hù)性等)進(jìn)行評(píng)估的必要信息6.1軟件體系結(jié)構(gòu)編檔概述《軟件體系結(jié)構(gòu)》電子教案7/197(3)、SA文檔化的內(nèi)容接口:指兩個(gè)獨(dú)立的實(shí)體相互接觸、交互和通訊的邊界視圖:是對(duì)一組系統(tǒng)元素及其關(guān)系的描述。PhilippeKruchten的4+1視圖RM-ODP視點(diǎn)Hofmeister視圖基于UML的RUP視圖本章主講的視圖(PaulClements等)幾種著名的視圖/視點(diǎn):6.1軟件體系結(jié)構(gòu)編檔概述8/197(3)、SA文檔化的內(nèi)容(續(xù))PhilippeKruchten的4+1視圖邏輯視圖—系統(tǒng)設(shè)計(jì)時(shí)子系統(tǒng)或關(guān)鍵包的邏輯表示。它忽略任何實(shí)現(xiàn)和物理細(xì)節(jié)進(jìn)程視圖—定義不同的OS的線程、任務(wù)和進(jìn)程是如何相互通訊的部署視圖—定義在硬件上是如何被實(shí)例化和部署的實(shí)現(xiàn)視圖—描述實(shí)際軟件是如何被實(shí)現(xiàn)的,包括實(shí)際源代碼、代碼的目錄結(jié)構(gòu)及數(shù)據(jù)庫(kù)的結(jié)構(gòu)等用例視圖—包括為理解系統(tǒng)行為而必須定義的用例6.1軟件體系結(jié)構(gòu)編檔概述《軟件體系結(jié)構(gòu)》電子教案9/197(3)、SA文檔化的內(nèi)容(續(xù))RM-ODP視點(diǎn)企業(yè)視點(diǎn)—商業(yè)需求和策略、以及系統(tǒng)的范圍和目標(biāo)。RM-ODP可能會(huì)影響系統(tǒng)中可能與企業(yè)相關(guān)的信息,如組織結(jié)構(gòu)信息視點(diǎn)—指信息的結(jié)構(gòu),它的變化、流程,以及在不同功能間的邏輯劃分計(jì)算視點(diǎn)—重點(diǎn)在于把系統(tǒng)分解為實(shí)體和實(shí)體間的接口工程視點(diǎn)—處理分布式系統(tǒng)對(duì)象之間的交互,以及交互是如何得到支持的技術(shù)視點(diǎn)—定義構(gòu)成系統(tǒng)的硬件和軟件構(gòu)件6.1軟件體系結(jié)構(gòu)編檔概述10/197(3)、SA文檔化的內(nèi)容(續(xù))Hofmeister視圖概念視圖—包括主要設(shè)計(jì)元素和它們之間的主要關(guān)系模塊視圖—將構(gòu)件及其接口映射到子系統(tǒng)和模塊執(zhí)行視圖—描述模塊是如何映射到執(zhí)行線程上的代碼視圖—將實(shí)現(xiàn)階段的實(shí)體,諸如源文件等映射到構(gòu)件6.1軟件體系結(jié)構(gòu)編檔概述《軟件體系結(jié)構(gòu)》電子教案11/197(3)、SA文檔化的內(nèi)容(續(xù))基于UML的RUP視圖設(shè)計(jì)視圖(Designview)過程視圖(Processview)實(shí)現(xiàn)視圖(Implementationview)實(shí)施視圖(Deploymentview)UseCase視圖(UseCaseview)功能描述類、接口和協(xié)作,主要支持功能需求針對(duì)系統(tǒng)的性能、可收縮性和吞吐量軟件系統(tǒng)的物理分布6.1軟件體系結(jié)構(gòu)編檔概述《軟件體系結(jié)構(gòu)》電子教案12/197(3)、SA文檔化的內(nèi)容(續(xù))視圖類型:從特定的角度定義那些描述SA的元素類型和關(guān)系類型①模塊(module)視圖類型:軟件作為一個(gè)實(shí)現(xiàn)單元集,它是如何構(gòu)造的。模塊視圖能為系統(tǒng)的實(shí)現(xiàn)單元編檔②構(gòu)件-連接件(C&C)視圖類型:軟件作為一個(gè)運(yùn)行時(shí)行為和交互作用的元素集,它是如何構(gòu)造的。C&C視圖能為系統(tǒng)的執(zhí)行單元編檔③分配(allocation)視圖類型:軟件是如何在它所處的環(huán)境中與非軟件結(jié)構(gòu)產(chǎn)生聯(lián)系的。能為系統(tǒng)軟件與其開發(fā)和執(zhí)行環(huán)境之間的關(guān)系編檔本章主講的視圖(PaulClements等)6.1軟件體系結(jié)構(gòu)編檔概述《軟件體系結(jié)構(gòu)》電子教案13/197(3)、SA文檔化的內(nèi)容(續(xù))SA文檔包:
(下圖)SA編檔其實(shí)是對(duì)相關(guān)的視圖編檔,然后添加適應(yīng)于多個(gè)視圖的文檔。6.1軟件體系結(jié)構(gòu)編檔概述《軟件體系結(jié)構(gòu)》電子教案14/197(3)、SA文檔化的內(nèi)容(續(xù))風(fēng)格:是對(duì)元素和關(guān)系類型的特化,以及如何使用這些元素和關(guān)系的一組限制條件視圖類型、風(fēng)格和視圖的關(guān)系實(shí)例C&C管道-過濾器C-S……共享數(shù)據(jù)你的風(fēng)格管道-過濾器視圖C-S……共享數(shù)據(jù)視圖你的視圖視圖類型風(fēng)格視圖視圖包6.1軟件體系結(jié)構(gòu)編檔概述《軟件體系結(jié)構(gòu)》電子教案15/197(3)、SA文檔化的內(nèi)容(續(xù))視圖類型與其包含的風(fēng)格模塊視圖類型C&C視圖類型分配視圖類型風(fēng)格分解風(fēng)格使用風(fēng)格泛化風(fēng)格分層風(fēng)格管道-過濾器共享數(shù)據(jù)風(fēng)格發(fā)布-訂閱風(fēng)格C/S風(fēng)格對(duì)等關(guān)系風(fēng)格通訊進(jìn)程風(fēng)格部署風(fēng)格實(shí)現(xiàn)風(fēng)格工作任務(wù)風(fēng)格6.1軟件體系結(jié)構(gòu)編檔概述《軟件體系結(jié)構(gòu)》電子教案16/197(3)、SA文檔化的內(nèi)容(續(xù))模塊與構(gòu)件(聯(lián)系與區(qū)別)模塊傾向于指向設(shè)計(jì)時(shí)的實(shí)體;構(gòu)件傾向于指運(yùn)行時(shí)的實(shí)體模塊不太強(qiáng)調(diào)交付媒介在運(yùn)行時(shí)發(fā)生的情況;構(gòu)件意指獨(dú)立部署的軟件單元。已交付的二進(jìn)制構(gòu)件將在整個(gè)執(zhí)行過程中維持其獨(dú)立性模塊被復(fù)用的可能性遠(yuǎn)遠(yuǎn)小于構(gòu)件模塊視圖類型包含主要反應(yīng)設(shè)計(jì)時(shí)因素的風(fēng)格:向設(shè)計(jì)和實(shí)現(xiàn)單元指派問題各個(gè)部分的分解過程6.1軟件體系結(jié)構(gòu)編檔概述《軟件體系結(jié)構(gòu)》電子教案17/197(3)、SA文檔化的內(nèi)容(續(xù))模塊與構(gòu)件(聯(lián)系與區(qū)別)C&C視圖類型包含的風(fēng)格強(qiáng)調(diào)執(zhí)行期間進(jìn)程的交互方式和數(shù)據(jù)在系統(tǒng)中的流動(dòng)方式在模塊視圖中編檔的元素可能會(huì)在C&C視圖中得到良好的展現(xiàn),這就是設(shè)計(jì)時(shí)的元素在運(yùn)行時(shí)的展現(xiàn)模塊和構(gòu)件代表著當(dāng)前軟件工程快速組建和輕松更改軟件系統(tǒng)的基本原則,它們都成為了創(chuàng)建和記錄SA的基本要素6.1軟件體系結(jié)構(gòu)編檔概述《軟件體系結(jié)構(gòu)》電子教案18/197對(duì)任何軟件編檔(包括SA編檔)的規(guī)則:
(4)、合理文檔化的規(guī)則①?gòu)淖x者的角度編寫文檔:避免意識(shí)流,采用執(zhí)行流寫作風(fēng)格②避免出現(xiàn)不必要的重復(fù)③避免歧義。語(yǔ)義精確,定義明確;應(yīng)該慎用箭頭④使用標(biāo)準(zhǔn)結(jié)構(gòu)⑤記錄基本原理⑥使文檔保持更新,但更新頻度不要過高⑦針對(duì)目標(biāo)的適應(yīng)性對(duì)文檔進(jìn)行評(píng)審6.1軟件體系結(jié)構(gòu)編檔概述《軟件體系結(jié)構(gòu)》電子教案19/197(5)、編檔標(biāo)準(zhǔn)結(jié)構(gòu)主題名稱內(nèi)容概述1概述解釋視圖類型/風(fēng)格為什么有益于SA編檔,并討論支持系統(tǒng)的那些方面,以及如何支持系統(tǒng)的推斷和分析2元素、關(guān)系和特性元素:視圖/風(fēng)格的固有構(gòu)架組成塊關(guān)系:元素之間的協(xié)作方式特性:元素,關(guān)系的附加信息3支持什么和不支持什么支持和不支持的推斷類型。幫助構(gòu)架師了解視圖/風(fēng)格的意圖4表示法圖形和/或文字表示法5與其它視圖的關(guān)系視圖之間的關(guān)聯(lián);其它視圖的警告信息;有利于建立這一視圖與其它視圖之間映射的建議6范例介紹指定風(fēng)格編檔的范例6.1軟件體系結(jié)構(gòu)編檔概述《軟件體系結(jié)構(gòu)》電子教案20/197第6章內(nèi)容摘要6.1軟件體系結(jié)構(gòu)編檔概述6.2視圖類型與風(fēng)格6.3軟件體系結(jié)構(gòu)編檔的實(shí)施《軟件體系結(jié)構(gòu)》電子教案21/1976.2視圖類型與風(fēng)格6.2.1模塊視圖類型與風(fēng)格6.2.2C&C視圖類型與風(fēng)格6.2.3分配視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案22/197
模塊是能提供內(nèi)聚功能單元的軟件實(shí)現(xiàn)單元。模塊產(chǎn)生于20世紀(jì)60-70年代,基于軟件單元的思想,這些軟件單元具有良好的接口,并能提供一組服務(wù)(一般為過程或函數(shù)),實(shí)現(xiàn)了完全或部分隱藏自身內(nèi)部數(shù)據(jù)結(jié)構(gòu)和算法。這些概念在面向?qū)ο蟮木幊陶Z(yǔ)言和建模表示法中得到了廣泛的應(yīng)用。(1)模塊視圖類型---概述6.2.1模塊視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案23/197
目前,系統(tǒng)軟件分解成可管理單元的方式仍然是重要的系統(tǒng)結(jié)構(gòu)形式之一。它確定了系統(tǒng)源代碼是如何劃分成可分離的部分的,每一部分對(duì)其它部分作出了什么樣的假設(shè),以及這些部分是如何聚集成更大的集合體的。模塊化的選擇通常能確定系統(tǒng)的某一部分將如何影響其它部分,因此,系統(tǒng)具有支持可修改性、可移植性和復(fù)用的能力(1)模塊視圖類型---概述6.2.1模塊視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案24/197(1)模塊視圖類型---元素、關(guān)系和特性描述元素模塊,提供內(nèi)聚功能單元的軟件實(shí)現(xiàn)單元關(guān)系部分關(guān)系、依賴關(guān)系、特化關(guān)系元素特性名稱、模塊責(zé)任、實(shí)現(xiàn)信息關(guān)系特性部分關(guān)系:擁有相關(guān)的可見性特性依賴關(guān)系:擁有分配的約束條件特化關(guān)系:擁有實(shí)現(xiàn)特性布局沒有繼承布局的約束條件6.2.1模塊視圖類型與風(fēng)格25/197(1)模塊視圖類型---支持/不支持什么描述支持使用模塊視圖類型應(yīng)針對(duì):構(gòu)造:模塊視圖提供源代碼的藍(lán)圖,因此,模塊和物理結(jié)構(gòu)之間通常會(huì)進(jìn)行詳細(xì)映射分析:模塊能劃分系統(tǒng),因而可以確定模塊責(zé)任,高層需求往往通過一組調(diào)用序列得到滿足。實(shí)現(xiàn)需求跟蹤和影響分析通訊:模塊為要了解系統(tǒng)的人說明系統(tǒng)的功能,主要通過系統(tǒng)責(zé)任的自頂向下的分解來(lái)展示不支持一般不能用于分析性能、可靠性以及其它運(yùn)行屬性。即對(duì)運(yùn)行時(shí)的行為無(wú)法推斷。6.2.1模塊視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案26/197(1)模塊視圖類型---表示法描述非正規(guī)表示發(fā)圖形表示文本列表表示(參見下頁(yè):A-7E航空電子系統(tǒng))UML
模塊與關(guān)系示范6.2.1模塊視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案27/197(1)模塊視圖類型---表示法(文本列表示例)6.2.1模塊視圖類型與風(fēng)格28/197(1)模塊視圖類型---與其它視圖的關(guān)系模塊通常會(huì)映射到C&C視圖類型中的視圖:模塊視圖中展示的實(shí)現(xiàn)單元能映射到運(yùn)行時(shí)執(zhí)行的構(gòu)件單一的模塊通常會(huì)在多個(gè)構(gòu)件中復(fù)制當(dāng)模塊片段與構(gòu)件片段對(duì)應(yīng)時(shí),情況可能會(huì)比較復(fù)雜模塊視圖表示的是軟件的劃分,因此,不能展示多個(gè)對(duì)象的實(shí)例6.2.1模塊視圖類型與風(fēng)格29/197(1)模塊視圖類型---總結(jié)模塊遵循某種方式將系統(tǒng)軟件分解成可管理的單元,這種功能單元是一種重要的系統(tǒng)結(jié)構(gòu)形式模塊以“部分關(guān)系”、“依賴關(guān)系”和“特化關(guān)系”的形式相互聯(lián)系模塊視圖能為源代碼提供藍(lán)圖不應(yīng)依賴模塊名稱定義模塊的功能:應(yīng)該使用責(zé)任特性定義模塊功能應(yīng)該使用接口文檔確立模塊在系統(tǒng)中角色模塊通常映射到構(gòu)件和連接件視圖類型的視圖6.2.1模塊視圖類型與風(fēng)格30/197(2)模塊視圖類型的風(fēng)格---分解風(fēng)格---概述分解風(fēng)格是一種頗受歡迎的溝通工具在模塊視圖類型中,當(dāng)強(qiáng)調(diào)“部分關(guān)系”時(shí)即可獲得模塊分解風(fēng)格幾乎所有的SA開始都采用模塊分解風(fēng)格實(shí)現(xiàn)可修改性,即通過在SA中特定的位置分配功能而將可修改性嵌入SA中6.2.1模塊視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案31/197(2)模塊視圖類型的風(fēng)格---分解風(fēng)格---元素、關(guān)系和特性描述元素模塊,子系統(tǒng)(聚集成其它模塊的模塊)關(guān)系分解關(guān)系(“部分關(guān)系”的細(xì)化)文檔義務(wù)(規(guī)定用來(lái)定義分解的標(biāo)準(zhǔn))元素特性由模塊視圖類型定義關(guān)系特性可見性(除了父模塊之外,其它模塊對(duì)該模塊的了解程度和對(duì)其功能的可用程度)布局
分解圖中不允許出現(xiàn)循環(huán)在一個(gè)視圖中,一個(gè)模塊不能屬于多個(gè)模塊6.2.1模塊視圖類型與風(fēng)格32/197(2)模塊視圖類型的風(fēng)格---分解風(fēng)格---支持/不支持什么描述支持分解的工作任務(wù)可映射到組織單位和團(tuán)隊(duì),有利于這些工作任務(wù)的實(shí)現(xiàn)和測(cè)試分解視圖還能在軟件實(shí)現(xiàn)層為更改效果進(jìn)行分析提供某些支持不支持由于分解視圖不能模擬時(shí)間的所有依賴,因此無(wú)法對(duì)更改效果進(jìn)行全面的影響分析,必須采用對(duì)依賴關(guān)系更為詳細(xì)描述的視圖6.2.1模塊視圖類型與風(fēng)格33/197(2)模塊視圖類型的風(fēng)格---分解風(fēng)格---表示法描述非正規(guī)表示法圖形表示文本列表表示(參見:A-7E航空電子系統(tǒng))UML6.2.1模塊視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案34/197(2)模塊視圖類型的風(fēng)格---分解風(fēng)格---與其它風(fēng)格的關(guān)系分解視圖與C&C視圖之間可以進(jìn)行相互映射,其目的是將軟件的實(shí)現(xiàn)結(jié)構(gòu)映射成運(yùn)行時(shí)的結(jié)構(gòu)同一模塊可能會(huì)實(shí)現(xiàn)若干構(gòu)件和連接件,一個(gè)構(gòu)件可能需要若干模塊才能實(shí)現(xiàn)分解風(fēng)格與工作任務(wù)風(fēng)格密切相關(guān),后者是分配視圖類型中的一員6.2.1模塊視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案35/197(2)模塊視圖類型的風(fēng)格---使用風(fēng)格---概述在使用“依賴關(guān)系”時(shí),就應(yīng)該考慮模塊視圖類型的使用風(fēng)格對(duì)于開發(fā)者來(lái)說,要使自己負(fù)責(zé)的部分能正常工作,必須具備那些模塊此風(fēng)格允許系統(tǒng)中的有用子集以增量的方式開發(fā)和部署6.2.1模塊視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案36/197(2)模塊視圖類型的風(fēng)格---使用風(fēng)格---元素、關(guān)系和特性描述元素模塊(由模塊視圖類型定義)關(guān)系使用關(guān)系(“依賴關(guān)系”的細(xì)化)元素特性由模塊視圖類型定義關(guān)系特性使用關(guān)系是一種描述特性,詳細(xì)描述了一個(gè)模塊使用另外一個(gè)模塊的方式布局使用不存在布局限制。但是,如果這種關(guān)系中的循環(huán)包含許多元素,那么,以增量方式產(chǎn)生SA的能力會(huì)被削弱6.2.1模塊視圖類型與風(fēng)格37/197(2)模塊視圖類型的風(fēng)格---使用風(fēng)格---支持/不支持什么描述支持適用于計(jì)劃增量開發(fā)、系統(tǒng)的擴(kuò)展和子集的擴(kuò)展調(diào)試和測(cè)試效果評(píng)估不支持6.2.1模塊視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案38/197(2)模塊視圖類型的風(fēng)格---使用風(fēng)格---表示法描述非正規(guī)表示法矩陣表示(行模塊使用了列模塊)使用雙列表格的形式(使用元素位于左列,被使用元素位于右列)UML此圖中的數(shù)據(jù)庫(kù)具有兩個(gè)接口,它們分別由用戶接口模塊和管理系統(tǒng)模塊使用6.2.1模塊視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案39/197(2)模塊視圖類型的風(fēng)格---使用風(fēng)格---與其它風(fēng)格的關(guān)系使用風(fēng)格能與分層風(fēng)格密切配合區(qū)分使用和調(diào)用的關(guān)系:程序P1使用P2,而不必調(diào)用P2:如P1可以假設(shè)P2在結(jié)束對(duì)某個(gè)設(shè)備的使用后使設(shè)備保持可用狀態(tài);程序P1可以調(diào)用程序P2,但不使用P2:如P2是P1在檢測(cè)到某個(gè)錯(cuò)誤時(shí)調(diào)用的異常處理程序,那么P1通常就不關(guān)心P2會(huì)做什么6.2.1模塊視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案40/197(2)模塊視圖類型的風(fēng)格---泛化風(fēng)格---概念當(dāng)打算支持SA和單個(gè)元素的擴(kuò)展和演化時(shí),就會(huì)使用泛化風(fēng)格模塊必須能捕捉共性和差異性:父模塊擁有共性,子模塊表現(xiàn)出差異性通過添加、刪除或更改子模塊來(lái)達(dá)到擴(kuò)展的目的對(duì)父模塊的修改,要保持繼承它的子模塊的自動(dòng)更新泛化意味著同時(shí)繼承接口和實(shí)現(xiàn)方案:子模塊將繼承父模塊的結(jié)構(gòu)、行為和約束條件6.2.1模塊視圖類型與風(fēng)格41/197(2)模塊視圖類型的風(fēng)格---泛化風(fēng)格---元素、關(guān)系和特性描述元素模塊(由模塊視圖類型定義)關(guān)系泛化(模塊視圖類型中的“特化關(guān)系”)元素特性除了模塊視圖類型中為模塊定義的特性外,模塊還擁有“抽象”特性,抽象特性能定義擁有接口,但沒有實(shí)現(xiàn)方案的模塊關(guān)系特性泛化關(guān)系能擁有一種區(qū)別接口和實(shí)現(xiàn)繼承的特性布局
模塊能擁有多個(gè)父模塊泛化關(guān)系中不允許出現(xiàn)循環(huán)6.2.1模塊視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案42/197(2)模塊視圖類型的風(fēng)格---泛化風(fēng)格---支持/不支持什么描述支持面向?qū)ο笤O(shè)計(jì)擴(kuò)展和演化局部更改或變化復(fù)用不支持6.2.1模塊視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案43/197(2)模塊視圖類型的風(fēng)格---泛化風(fēng)格---表示法UML表示法:6.2.1模塊視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案44/197(2)模塊視圖類型的風(fēng)格---泛化風(fēng)格---與其它風(fēng)格的關(guān)系繼承關(guān)系是其它模塊使用類型關(guān)系的補(bǔ)充在復(fù)雜的設(shè)計(jì)方案中,應(yīng)該將繼承關(guān)系與分解關(guān)系與其它類型的關(guān)系分開展示,繼承關(guān)系更多的用于描述模型、風(fēng)格、框架和引用模型,而不是用于對(duì)單一系統(tǒng)的描述繼承可以引出類型和子類型的概念,子類型關(guān)系能用來(lái)演化指定的類型,以滿足新的需求泛化是元素之間的分類關(guān)系;繼承則是將共享增量描述組合起來(lái),形成對(duì)元素的全面描述的一種機(jī)制泛化意味著對(duì)接口和實(shí)現(xiàn)的繼承,子模塊將繼承父模塊的結(jié)構(gòu)、行為和約束條件6.2.1模塊視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案45/197(2)模塊視圖類型的風(fēng)格---分層風(fēng)格---概述每個(gè)層表示一個(gè)虛擬機(jī);對(duì)虛擬機(jī)之間關(guān)系的約束條件;虛擬機(jī)定義了一種“序”關(guān)系,說B在A的下面意味著:在實(shí)現(xiàn)A層時(shí)可以使用B層提供的虛擬機(jī)中的任何基礎(chǔ)設(shè)施;層次越低,允許使用的的設(shè)施越少;虛擬機(jī)增強(qiáng)了可移植性和維護(hù)性;分層的實(shí)質(zhì)在于較低的層不能毫無(wú)限制地訪問較高層。6.2.1模塊視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案46/197(2)模塊視圖類型的風(fēng)格---分層風(fēng)格---元素、關(guān)系和特性描述元素層關(guān)系“允許使用”是模塊視圖類型“依賴關(guān)系”的特化元素特性層的名稱層包容的軟件單元允許層使用的軟件,包括(1)提供層間和層內(nèi)的使用規(guī)則;(2)列出這些規(guī)則可容許的所有例外情況關(guān)系特性與層內(nèi)和層間有關(guān)布局每個(gè)部分軟件只能分配到一個(gè)層中6.2.1模塊視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案47/197(2)模塊視圖類型的風(fēng)格---分層風(fēng)格---支持/不支持什么6.2.1模塊視圖類型與風(fēng)格描述支持有助于提供可修改性和可移植性虛擬機(jī)對(duì)于較低層的更改可以隱藏在接口之下,且不會(huì)對(duì)上面各層產(chǎn)生影響層可以部分地扮演系統(tǒng)的藍(lán)圖,但不總是有效的層可以扮演一部分通訊角色,特別是在大型復(fù)雜系統(tǒng)中,將模塊組織成具有接口的層來(lái)管理,是向開發(fā)者傳達(dá)結(jié)構(gòu)的重要手段不支持影響性能的較低層的更改會(huì)影響該層的接口,進(jìn)而影響較高層48/197(2)模塊視圖類型的風(fēng)格---分層風(fēng)格---表示法描述非正規(guī)表示法堆棧分段層環(huán)型分段層,3維烤箱模型帶邊車結(jié)構(gòu)的層內(nèi)容接口大小和顏色UMLUML沒有層的內(nèi)置元素,但可用“包”表示。見下頁(yè)6.2.1模塊視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案49/197(2)模塊視圖類型的風(fēng)格---分層風(fēng)格---表示法描述UML分段層6.2.1模塊視圖類型與風(fēng)格50/197(2)模塊視圖類型的風(fēng)格---分層風(fēng)格---與其它風(fēng)格的關(guān)系層與模塊:層可以是模塊;雖然模塊被分解成其它的模塊,但層并未分解成更小的層,引入分段層目的是為了實(shí)現(xiàn)與模塊之間的映射。層和模塊之間的映射不是一一對(duì)應(yīng)的(如下圖)6.2.1模塊視圖類型與風(fēng)格51/197(2)模塊視圖類型的風(fēng)格---分層風(fēng)格---與其它風(fēng)格的關(guān)系層與級(jí)(tier):在分布式環(huán)境下,給機(jī)器分配資源、元素間的數(shù)據(jù)流、以及通訊信道的存在和使用,都傾向于用“級(jí)”表示(如下圖)。注意圖中的雙向箭頭和對(duì)稱性是與層不同的6.2.1模塊視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案52/197(2)模塊視圖類型的風(fēng)格---分層風(fēng)格---與其它風(fēng)格的關(guān)系模塊“使用”風(fēng)格:由于層能表達(dá)“允許使用”關(guān)系,因此非常適合使用風(fēng)格子系統(tǒng):如下圖,子系統(tǒng)由頂層段和任何它可使用的任何較低層的段構(gòu)成6.2.1模塊視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案53/197(2)模塊視圖類型的風(fēng)格---總結(jié)分解風(fēng)格能展示向模塊分配任務(wù)的方式。分解風(fēng)格特別適應(yīng)于新成員,也適應(yīng)于對(duì)更改影響進(jìn)行分析使用風(fēng)格能展示模塊相互依賴的方式。使用風(fēng)格有助于實(shí)現(xiàn)增量開發(fā)和系統(tǒng)有用子集的建立泛化風(fēng)格能展示一個(gè)模塊將如何成為另一個(gè)模塊的泛化或特化;也能展示繼承性,并能用來(lái)使用模塊之間的共性;從而使模塊之間產(chǎn)生關(guān)聯(lián)。泛化風(fēng)格廣泛應(yīng)用于面向?qū)ο笙到y(tǒng)6.2.1模塊視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案54/197(2)模塊視圖類型的風(fēng)格---總結(jié)分層風(fēng)格能將系統(tǒng)風(fēng)割成一組虛擬機(jī),這些虛擬機(jī)通過“允許使用”關(guān)系相互關(guān)聯(lián)。分層風(fēng)格能幫助系統(tǒng)實(shí)現(xiàn)可移植性和可修改性針對(duì)使用視圖和分層視圖采用UML構(gòu)造型的“依賴關(guān)系”;針對(duì)分解視圖采用“部分關(guān)系”;針對(duì)泛化視圖采用“繼承關(guān)系”等。6.2.1模塊視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案55/1976.2視圖類型與風(fēng)格6.2.1模塊視圖類型與風(fēng)格6.2.2C&C視圖類型與風(fēng)格6.2.3分配視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案56/197(1)、C&C視圖類型—概述C&C視圖是實(shí)際操作中的常見視圖,用線框圖表示,并用于對(duì)SA進(jìn)行主要的初步說明C&C視圖能定義由進(jìn)程、對(duì)象、客戶機(jī)、服務(wù)器和數(shù)據(jù)存儲(chǔ)等元素構(gòu)成的模型C&C視圖給出了一幅運(yùn)行時(shí)的實(shí)體和可能的交互圖6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案57/197(1)、C&C視圖類型—概述上圖展示了系統(tǒng)在運(yùn)行時(shí)可能呈現(xiàn)的狀態(tài)。它是不同風(fēng)格的混合:C/S風(fēng)格、數(shù)據(jù)共享風(fēng)格和發(fā)布-訂閱風(fēng)格6.2.2C&C視圖類型與風(fēng)格58/197(1)、C&C視圖類型—元素、關(guān)系和特性描述元素構(gòu)件類型:主要處理單元和數(shù)據(jù)存儲(chǔ)器連接件類型:交互機(jī)制關(guān)系連接:構(gòu)件端口(接口)和特定的連接件角色相關(guān)聯(lián)元素特性構(gòu)件:名稱:應(yīng)該能反應(yīng)構(gòu)件功能類型:定義一般功能、端口數(shù)量及類型和所需特性其它特性:取決于構(gòu)件類型,包括性能和可靠性值連接件名稱:能反應(yīng)連接件的交互性質(zhì)類型:定義交互性質(zhì)、角色數(shù)量和類型以及所需特性其它特性:取決于連接件類型,包括性能和可靠性值布局不存在固有的布局限制6.2.2C&C視圖類型與風(fēng)格59/197(1)、C&C視圖類型—元素、關(guān)系和特性選擇連接件的指導(dǎo)方針:連接件可以是多于二元的連接件如果某一構(gòu)件是用作一組構(gòu)件之間進(jìn)行交互操作的中間構(gòu)件,就應(yīng)該考慮將它表示為連接件連接件通常能表示復(fù)雜的交互形式,如CORBA連接件體現(xiàn)交互協(xié)議。當(dāng)兩個(gè)或更多的構(gòu)件進(jìn)行交互時(shí),它們必須遵守有關(guān)的交互順序、控制軌跡、錯(cuò)誤狀態(tài)處理和超時(shí)處理的約定6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案60/197(1)、C&C視圖類型—支持/不支持什么描述支持C&C能用來(lái)推斷運(yùn)行時(shí)系統(tǒng)的質(zhì)量屬性,如性能、可靠性和有效性主要回答以下問題系統(tǒng)的主要執(zhí)行構(gòu)件是什么,它們?nèi)绾谓换ブ饕墓蚕泶鎯?chǔ)器是什么系統(tǒng)的哪些部分被復(fù)制,次數(shù)如何系統(tǒng)執(zhí)行時(shí),數(shù)據(jù)是如何經(jīng)過系統(tǒng)的通訊實(shí)體使用了什么交互協(xié)議系統(tǒng)的哪些部分會(huì)以并行的方式運(yùn)行在執(zhí)行過程中,系統(tǒng)結(jié)構(gòu)可能會(huì)發(fā)生什么樣的變化不支持并不適合于表示沒有運(yùn)行時(shí)存在的設(shè)計(jì)元素6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案61/197(1)、C&C視圖類型—表示法描述非正規(guī)表示法線框圖正規(guī)表示法ADL:參見以前內(nèi)容UML:(1)將構(gòu)件類型作為類,構(gòu)件實(shí)例作為對(duì)象(2)將構(gòu)件類型表示為UML子系統(tǒng),將構(gòu)件實(shí)例表示為子系統(tǒng)的實(shí)例(利用包和包的實(shí)例)(3)基于UML的擴(kuò)展機(jī)制,形成UML-profile(變體的UML框架)來(lái)表示構(gòu)件和連接件類型6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案62/197(1)、C&C視圖類型—與其它視圖類型的關(guān)系一般情況下,系統(tǒng)的C&C視圖和模塊視圖之間的關(guān)系可能非常的復(fù)雜:同樣的代碼模塊可由C&C視圖的許多元素執(zhí)行;反之,C&C視圖的單一構(gòu)件可執(zhí)行由許多模塊執(zhí)行的代碼6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案63/197(1)、C&C視圖類型—與其它視圖類型的關(guān)系應(yīng)該將C&C視圖元素和模塊視圖元素之間的關(guān)系進(jìn)行編檔C&C構(gòu)件可能擁有許多與環(huán)境進(jìn)行交互的點(diǎn),每個(gè)交互點(diǎn)由同一模塊接口定義6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案64/197(1)、C&C視圖類型—總結(jié)C&C視圖能定義由具有某種運(yùn)行時(shí)存在的元素構(gòu)成的模型。這些元素包括進(jìn)程、對(duì)象、客戶機(jī)、服務(wù)器和數(shù)據(jù)庫(kù)存儲(chǔ)等;此外,構(gòu)件和連接件模型還包含作為元素的交互路徑,諸如通訊鏈路和協(xié)議、信息流和共享存儲(chǔ)器訪問等構(gòu)件具有接口,它是端口的劃分;連接件具有接口,稱為角色連接件可以是多于二元的,在某些SA中采用n元連接件是非常有用的6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案65/197(1)、C&C視圖類型—總結(jié)如果某些構(gòu)件主要是一組構(gòu)件之間進(jìn)行交互操作的中間構(gòu)件,就應(yīng)該考慮將它表示為連接件,而不是構(gòu)件連接件能夠而且通常應(yīng)該表示復(fù)雜的交互形式。能體現(xiàn)交互協(xié)議通過引用合適的風(fēng)格指南說明自己當(dāng)前使用的是哪種風(fēng)格說明將構(gòu)件連接到連接件時(shí)會(huì)使用什么端口6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案66/197(1)、C&C視圖類型—總結(jié)如果將給定的端口和給定的角色連接起來(lái),其合法性不是一目了然的,就應(yīng)該在視圖的基本原理部分提供合理性說明說明哪些端口用于將系統(tǒng)連接到外部環(huán)境數(shù)據(jù)流和控制流是C&C模型的投影。在創(chuàng)建類圖時(shí),應(yīng)該闡明箭頭走向的語(yǔ)義準(zhǔn)則。數(shù)據(jù)流和控制流至多只能被近似地定義成連接件6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案67/197(2)、C&C風(fēng)格—概述C&C風(fēng)格是C&C視圖類型的特化。也就是一組特定的構(gòu)件和連接件的集合、以及對(duì)這個(gè)集合中的元素進(jìn)行組合的約束規(guī)則被選來(lái)表示C&C視圖的風(fēng)格通常取決于系統(tǒng)內(nèi)運(yùn)行時(shí)結(jié)構(gòu)的性質(zhì)和用途C&C視圖類型能捕捉到系統(tǒng)運(yùn)行時(shí)的各個(gè)方面,所以,C&C風(fēng)格通常也會(huì)與交互模式相關(guān)聯(lián)6種風(fēng)格:管道-過濾器、共享數(shù)據(jù)、發(fā)布-訂閱、C-S、對(duì)等連接和進(jìn)程通訊6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案68/197(2)、C&C風(fēng)格—管道-過濾器風(fēng)格---概述其交互模式表現(xiàn)出數(shù)據(jù)流連續(xù)變換的特征數(shù)據(jù)流到達(dá)過濾器并經(jīng)過轉(zhuǎn)換后由管道傳遞給下一個(gè)過濾器單個(gè)過濾器能通過多個(gè)端口傳送數(shù)據(jù)一般用在信號(hào)處理系統(tǒng)和UNIX管道構(gòu)建的系統(tǒng)中在編檔時(shí),對(duì)管道:是否得到緩沖,它們?nèi)绾翁幚頂?shù)據(jù)結(jié)尾,以及它們向已滿的緩沖管道寫入數(shù)據(jù)或讀取管道數(shù)據(jù)時(shí)的阻塞行為。在編檔時(shí),對(duì)過濾器:是否屬于一個(gè)單獨(dú)的進(jìn)程,每個(gè)過濾器實(shí)現(xiàn)的流變換6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案69/197(2)、C&C風(fēng)格—管道-過濾器風(fēng)格---元素、關(guān)系和特性描述元素構(gòu)件類型:過濾器。過濾器端口必須是輸入端口和輸出端口連接件類型:管道。擁有數(shù)據(jù)輸入/出角色關(guān)系連接關(guān)系能使過濾器輸出端口與某個(gè)管道的數(shù)據(jù)輸入角色相關(guān)聯(lián),使過濾器的輸入端口與多個(gè)管道的數(shù)據(jù)輸出角色相關(guān)聯(lián),并能確定交互過濾器的圖形計(jì)算模型過濾器從其輸入端口讀取數(shù)據(jù)流,并將數(shù)據(jù)流寫入其輸出端口的數(shù)據(jù)轉(zhuǎn)換器特性與C&C視圖類型定義的特性相同布局管道能將過濾器輸出端口連接到過濾器輸入端口。這種風(fēng)格的特化可限制構(gòu)件和非循環(huán)圖或線形順序的關(guān)聯(lián)6.2.2C&C視圖類型與風(fēng)格70/197(2)、C&C風(fēng)格—管道-過濾器風(fēng)格---支持/不支持什么描述支持在很大程度上傾向于數(shù)據(jù)變換過濾器一般用在接收來(lái)自傳感器的大量數(shù)據(jù),并通過初步處理后傳給相應(yīng)的諸如可視化等工具或系統(tǒng)可以用來(lái)推斷系統(tǒng)性能,如輸入/出流等待時(shí)間、可調(diào)度性等不支持6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案71/197(2)、C&C風(fēng)格—管道-過濾器風(fēng)格---與其它風(fēng)格的關(guān)系在管道過濾器風(fēng)格中,構(gòu)件之間的“連線”表示具有特定計(jì)算含義的連接器,它們能將數(shù)據(jù)流能從一個(gè)過濾器傳送到另一個(gè)過濾器在數(shù)據(jù)流投影或數(shù)據(jù)流視圖中,這些線條表示構(gòu)件間數(shù)據(jù)通訊的關(guān)系,沒計(jì)算含義,僅僅表示數(shù)據(jù)從一個(gè)元素流向下一個(gè)元素6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案72/197(2)、C&C風(fēng)格—共享數(shù)據(jù)風(fēng)格---概述交互模式由持久數(shù)據(jù)的交換所支配,這種數(shù)據(jù)有多個(gè)存取器和至少一個(gè)用來(lái)保留持久數(shù)據(jù)的共享數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)庫(kù)系統(tǒng)和基于知識(shí)的系統(tǒng)均屬于這一風(fēng)格的系統(tǒng)如果共享數(shù)據(jù)存儲(chǔ)器能通知數(shù)據(jù)消費(fèi)者其感興趣的數(shù)據(jù)已經(jīng)到達(dá),則共享數(shù)據(jù)風(fēng)格稱為“黑板”如果數(shù)據(jù)消費(fèi)者負(fù)責(zé)數(shù)據(jù)檢查,則共享數(shù)據(jù)風(fēng)格成為“存儲(chǔ)庫(kù)”目前,許多的“存儲(chǔ)庫(kù)”能提供“黑板”的觸發(fā)機(jī)制6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案73/197(2)、C&C風(fēng)格—共享數(shù)據(jù)風(fēng)格---關(guān)系、元素和特性描述元素構(gòu)件類型:共享數(shù)據(jù)存儲(chǔ)庫(kù)或數(shù)據(jù)存儲(chǔ)器連接件類型:數(shù)據(jù)讀寫關(guān)系連接關(guān)系能確定哪些數(shù)據(jù)存取器將連接到哪些數(shù)據(jù)儲(chǔ)存庫(kù)計(jì)算模型數(shù)據(jù)存取器之間的通訊經(jīng)由共享數(shù)據(jù)存儲(chǔ)器來(lái)完成??刂七^程由數(shù)據(jù)存取器或數(shù)據(jù)存儲(chǔ)器來(lái)啟動(dòng)特性與C&C視圖類型定義的特性相同布局?jǐn)?shù)據(jù)存取器與連接到數(shù)據(jù)存儲(chǔ)器的連接器連接6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案74/197(2)、C&C風(fēng)格—共享數(shù)據(jù)風(fēng)格---支持/不支持什么只要各個(gè)數(shù)據(jù)項(xiàng)擁有多個(gè)存儲(chǔ)器,并具有持久性,就能使用共享數(shù)據(jù)風(fēng)格能將數(shù)據(jù)產(chǎn)生者和消費(fèi)者分離開來(lái),支持可修改性與這種風(fēng)格相關(guān)的性能分析通常集中在性能、安全性、保密性、可靠性和兼容性等方面6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案75/197(2)、C&C風(fēng)格—共享數(shù)據(jù)風(fēng)格---與其它風(fēng)格的關(guān)系與n級(jí)C-S形式存在一些共同的特征。在使用這種風(fēng)格的信息管理應(yīng)用程序中,數(shù)據(jù)存儲(chǔ)器通常是一個(gè)關(guān)系數(shù)據(jù)庫(kù),它利用客戶-服務(wù)器的交互提供關(guān)系查詢和關(guān)系更新黑板風(fēng)格類似于發(fā)布-訂閱風(fēng)格,只是發(fā)布-訂閱風(fēng)格缺乏數(shù)據(jù)持久性6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案76/197(2)、C&C風(fēng)格—發(fā)布-訂閱風(fēng)格---概述構(gòu)件通過宣布事件進(jìn)行交互,構(gòu)件可以訂閱一組事件在這種風(fēng)格中,連接件的主要形式是一種事件總線發(fā)布-訂閱基礎(chǔ)設(shè)施的任務(wù)是:確保每項(xiàng)發(fā)布的事件均傳遞給所有訂閱這一事件者構(gòu)件通過宣布事件,將事件置于總線上,然后連接件將這些事件傳遞給適當(dāng)?shù)臉?gòu)件通常,這種風(fēng)格用于消息生產(chǎn)者和消費(fèi)者6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案77/197(2)、C&C風(fēng)格—發(fā)布-訂閱風(fēng)格---元素、關(guān)系和特性宣布事件并能對(duì)其它已宣布事件作出反應(yīng)的獨(dú)立構(gòu)件系統(tǒng)計(jì)算模型描述所有的構(gòu)件連接到一個(gè)事件分配器,可將該分配器視為總線(連接器)或構(gòu)件布局與C&C視圖類型定義的特性相同。但可以精化為:哪些事件由哪些構(gòu)件宣布,哪些事件由哪些構(gòu)件訂閱,什么時(shí)候應(yīng)許構(gòu)件訂閱事件特性連接關(guān)系能將構(gòu)件與發(fā)布-訂閱連接器關(guān)聯(lián)起來(lái)關(guān)系構(gòu)件類型:任何具有發(fā)布和(或)訂閱事件的接口的C&C構(gòu)件類型連接件類型:發(fā)布-訂閱元素6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案78/197(2)、C&C風(fēng)格—發(fā)布-訂閱風(fēng)格---支持/不支持什么
能為一組未知的接收者發(fā)送事件和消息。由于該接收者是未知的,因此,可以在不修改產(chǎn)生者的情況下添加新的接收者6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案79/197(2)、C&C風(fēng)格—發(fā)布-訂閱風(fēng)格---與其它風(fēng)格的關(guān)系如果利用發(fā)布-訂閱風(fēng)格來(lái)向一組未知的接受者發(fā)送事件和消息,就能將這種風(fēng)格看成沒有持久性的共享黑板當(dāng)構(gòu)件擁有獨(dú)立的控制線程時(shí),發(fā)布-訂閱風(fēng)格就是通訊-進(jìn)程風(fēng)格的精化隱式調(diào)用通常與對(duì)等連接風(fēng)格聯(lián)合使用,在這種情況下,構(gòu)件能利用過程調(diào)用或函數(shù)調(diào)用進(jìn)行顯式交互,也能通過事件宣布進(jìn)行隱式交互。6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案80/197(2)、C&C風(fēng)格—C-S風(fēng)格---概述在C-S風(fēng)格中,構(gòu)件通過請(qǐng)求其它構(gòu)件的服務(wù)進(jìn)行交互服務(wù)器能夠通過一個(gè)或更多接口提供一組服務(wù),而客戶機(jī)則使用該系統(tǒng)其它服務(wù)器提供的零個(gè)或多個(gè)服務(wù)可以采用一個(gè)中心服務(wù)器,也可以采用若干個(gè)分布式服務(wù)器常見的C-S風(fēng)格的實(shí)例有:6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案81/197(2)、C&C風(fēng)格—C-S風(fēng)格---概述常見的C-S風(fēng)格的實(shí)例有:窗口系統(tǒng):根據(jù)客戶應(yīng)用和屏幕服務(wù)器劃分的系統(tǒng)目錄服務(wù):根據(jù)名稱解析器和名稱服務(wù)器劃分的系統(tǒng)兩級(jí)服務(wù)器系統(tǒng):根據(jù)客戶機(jī)和數(shù)據(jù)劃分的系統(tǒng)Web分布式信息系統(tǒng):根據(jù)客戶應(yīng)用、商業(yè)邏輯和數(shù)據(jù)管理服務(wù)等因素劃分的系統(tǒng)等。6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案82/197(2)、C&C風(fēng)格—C-S風(fēng)格---元素、關(guān)系和特性描述元素構(gòu)件類型:請(qǐng)求其它構(gòu)件服務(wù)的客戶機(jī)和向其它構(gòu)件提供服務(wù)的服務(wù)器連接件類型:請(qǐng)求/應(yīng)答,即客戶機(jī)對(duì)服務(wù)器的非對(duì)稱調(diào)用關(guān)系連接關(guān)系使客戶機(jī)與連接件的請(qǐng)求角色關(guān)聯(lián),使服務(wù)器和連接器的應(yīng)答角色相關(guān)聯(lián),并確定哪些服務(wù)能由那些客戶機(jī)請(qǐng)求計(jì)算模型客戶機(jī)能啟動(dòng)各項(xiàng)活動(dòng),向服務(wù)器請(qǐng)求所需服務(wù),并等待這些請(qǐng)求的結(jié)果特性與C&C視圖類型定義的特性相同,但能根據(jù)服務(wù)器精化為:可以連接的客戶機(jī)的數(shù)量和類型以及性能特性,諸如每秒處理的事務(wù)等布局一般沒有限制,特化可施加如下限制:(1)與給定端口或角色的連接數(shù)量;(2)服務(wù)器之間允許存在的關(guān)系;(3)級(jí)6.2.2C&C視圖類型與風(fēng)格83/197(2)、C&C風(fēng)格—C-S風(fēng)格---支持/不支持什么用于將客戶應(yīng)用程序和它們使用的服務(wù)分離開來(lái),從而達(dá)到對(duì)系統(tǒng)的理解將功能劃分成客戶機(jī)和服務(wù)器后,可將它們單獨(dú)分配給各級(jí),以便支持系統(tǒng)的可收縮性和可靠性C-S分析包括:6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案84/197(2)、C&C風(fēng)格—C-S風(fēng)格---支持/不支持什么C-S分析包括:確定服務(wù)器是否提供客戶機(jī)要求的服務(wù)客戶機(jī)使用服務(wù)的方式是否適當(dāng)依賴性分析:如,了解系統(tǒng)是否從服務(wù)故障中恢復(fù)過來(lái)安全性分析:如,確定服務(wù)器提供的信息是否被限制在擁有適當(dāng)權(quán)限的客戶機(jī)的范圍內(nèi)性能分析:如確定服務(wù)器能否保持預(yù)期服務(wù)器請(qǐng)求的規(guī)模和速度。6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案85/197(2)、C&C風(fēng)格—C-S風(fēng)格---與其它風(fēng)格的關(guān)系C-S風(fēng)格是編程語(yǔ)言中的過程/函數(shù)/方法調(diào)用的一種泛化通常將客戶機(jī)與服務(wù)器分組,并將它們部署在分布式環(huán)境中的不同機(jī)器上,以便形成包含n級(jí)的分層結(jié)構(gòu)層(layer)和級(jí)(tier)不同:分層是模塊視圖類型中的特定風(fēng)格,是“允許使用”關(guān)系n級(jí)客戶機(jī)-服務(wù)器是C&C視圖類型中客戶機(jī)-服務(wù)器風(fēng)格的一種限制形式,交互是一種“請(qǐng)求-應(yīng)答”連接器6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案86/197(2)、C&C風(fēng)格—對(duì)等連接風(fēng)格---概述對(duì)等連接風(fēng)格具有對(duì)等性,構(gòu)件通過服務(wù)交換直接進(jìn)行交互原則上,任何構(gòu)件能通過請(qǐng)求其它任何構(gòu)件的服務(wù)與該構(gòu)件進(jìn)行交互連接件可能涉及復(fù)雜的雙向交互協(xié)議,從而反應(yīng)對(duì)等構(gòu)件之間的雙向通訊對(duì)等連接的常見例子:CORBA等6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案87/197(2)、C&C風(fēng)格—對(duì)等連接風(fēng)格---元素、關(guān)系和特性描述元素構(gòu)件類型:同位體連接件類型:調(diào)用過程關(guān)系連接關(guān)系使同位體與“調(diào)用過程”連接器相關(guān)聯(lián),并能確定可能的構(gòu)件交互圖計(jì)算模型同位體提供接口和對(duì)狀態(tài)進(jìn)行封裝。計(jì)算是通過交互請(qǐng)求服務(wù)的同位體協(xié)作完成特性與C&C視圖類型定義的特性相同,但會(huì)強(qiáng)調(diào)交互協(xié)議和面向性能的特性。連接可能會(huì)在運(yùn)行時(shí)出現(xiàn)變化布局可能會(huì)限制與任何給定端口或角色的允許連接數(shù)量。6.2.2C&C視圖類型與風(fēng)格88/197(2)、C&C風(fēng)格—對(duì)等連接風(fēng)格---支持/不支持什么在對(duì)等連接風(fēng)格中,假設(shè)任務(wù)同時(shí)需要客戶機(jī)和服務(wù)器兩種角色的話,那么它們即能扮演客戶機(jī)也能扮演服務(wù)器對(duì)等連接計(jì)算能用于分布式計(jì)算應(yīng)用程序。6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案89/197(2)、C&C風(fēng)格—對(duì)等連接風(fēng)格---與其它風(fēng)格的關(guān)系缺乏分層結(jié)構(gòu)意味著對(duì)等連接系統(tǒng)具有比客戶機(jī)-服務(wù)器系統(tǒng)更為一般的布局靈活性。6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案90/197(2)、C&C風(fēng)格—通訊進(jìn)程風(fēng)格---概述其特征是:并發(fā)執(zhí)行構(gòu)件將通過各種連接件機(jī)制進(jìn)行交互。連接件機(jī)制包括同步、消息傳遞、數(shù)據(jù)交換、啟動(dòng)和停止,等常用于大型系統(tǒng),在所有的分布式系統(tǒng)中都是必不可少的適應(yīng)于理解與并發(fā)性相關(guān)的任何行為6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案91/197(2)、C&C風(fēng)格—通訊進(jìn)程風(fēng)格---元素、關(guān)系和特性描述元素構(gòu)件類型:并發(fā)單元,如任務(wù)、進(jìn)程和線程等連接件類型:數(shù)據(jù)交換、消息傳遞、同步、控制、其它通訊關(guān)系連接關(guān)系同C&C視圖中定義的連接關(guān)系計(jì)算模型通過特定連接器機(jī)制,進(jìn)行交互的并發(fā)執(zhí)行構(gòu)件元素特性并發(fā)單元:“可搶占性”,表示并發(fā)單元的執(zhí)行可被另一個(gè)并發(fā)單元搶占,或者并發(fā)單元將繼續(xù)執(zhí)行,直到它自愿終止自己的執(zhí)行;“優(yōu)先性”:它能影響調(diào)度“時(shí)間參數(shù)”:如周期和最后期限數(shù)據(jù)交換:“緩沖”-如果不能立即處理消息則先把消息保存起來(lái)布局任意圖6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案92/197(2)、C&C風(fēng)格—通訊進(jìn)程風(fēng)格---支持/不支持什么一般用在設(shè)計(jì)階段:哪些構(gòu)件分配給哪些進(jìn)程可以了解系統(tǒng)的哪些部分能進(jìn)行并行操作,哪些構(gòu)件與進(jìn)程進(jìn)行捆綁等可以用來(lái)分析性能和可靠性其本質(zhì)是:元素能進(jìn)行相對(duì)獨(dú)立的操作,并發(fā)是理解系統(tǒng)如何工作的重要部分。6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案93/197(2)、C&C風(fēng)格—通訊進(jìn)程風(fēng)格---與其它風(fēng)格的關(guān)系一般情況下與其它風(fēng)格相結(jié)合應(yīng)用常被特化,以便提供監(jiān)視器信息,如監(jiān)視其它進(jìn)程或資源同步的執(zhí)行時(shí)間的進(jìn)程。6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案94/197(2)、C&C風(fēng)格—總結(jié)C&C風(fēng)格能特化C&C視圖類型,方法是引入一個(gè)特定的構(gòu)件和連接件類型集,并確定這些類型的元素將以什么規(guī)則結(jié)合在一起。C&C風(fēng)格通常與某種交互模式相關(guān)聯(lián),這種交互模式能規(guī)定計(jì)算、數(shù)據(jù)和控制流將如何流過這一風(fēng)格的系統(tǒng)在管道-過濾器風(fēng)格中,交互模式的特點(diǎn)是能進(jìn)行連續(xù)數(shù)據(jù)變換。數(shù)據(jù)抵達(dá)過濾器,經(jīng)過變換后通過管道傳遞給管道線中的下一個(gè)過濾器或過濾器集6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案95/197(2)、C&C風(fēng)格—總結(jié)與管道-過濾器相關(guān)的分析包括導(dǎo)出由過濾器圖提供的聚集變換和推斷系統(tǒng)性能在共享數(shù)據(jù)風(fēng)格中,通過保留持久數(shù)據(jù)即可支配交互模式。持久數(shù)據(jù)由多個(gè)數(shù)據(jù)存取器和至少一個(gè)儲(chǔ)存庫(kù)保留與共享數(shù)據(jù)風(fēng)格相關(guān)的分析通常集中在性能、安全性、保密性、可靠性和兼容性方面6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案96/197(2)、C&C風(fēng)格—總結(jié)(續(xù))在發(fā)布-訂閱風(fēng)格中,構(gòu)件通過事件發(fā)布進(jìn)行交互。構(gòu)件可訂閱一組事件。發(fā)布-訂閱運(yùn)行時(shí)基礎(chǔ)結(jié)構(gòu)的任務(wù)是確保每個(gè)發(fā)布的事件能傳遞給事件的所有訂閱者由于事件接收者是未知的,因此在不修改事件產(chǎn)生者的情況下可以增加新的接收者。6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案97/197(2)、C&C風(fēng)格—總結(jié)(續(xù))客戶機(jī)-服務(wù)器風(fēng)格能展示構(gòu)件通過請(qǐng)求其它構(gòu)件的服務(wù)進(jìn)行交互的過程。其本質(zhì)是通訊一般是配對(duì)的??蛻魴C(jī)-服務(wù)器風(fēng)格可以提供對(duì)系統(tǒng)普通服務(wù)的劃分。將功能劃分成客戶機(jī)和服務(wù)器后,即可基于運(yùn)行時(shí)準(zhǔn)則把它們單獨(dú)分配給各個(gè)級(jí)。它提供的系統(tǒng)分析包括服務(wù)器是否提供客戶機(jī)需要的服務(wù)、依賴性分析、安全性分析和性能6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案98/197(2)、C&C風(fēng)格—總結(jié)(END)對(duì)等連接系統(tǒng)通過構(gòu)件之間的直接交換支持服務(wù)交換。對(duì)等連接是一種調(diào)用返回風(fēng)格,這種風(fēng)格不存在客戶機(jī)-服務(wù)器風(fēng)格中出現(xiàn)的不對(duì)稱性對(duì)等連接風(fēng)格能提供全局系統(tǒng)平臺(tái)上部署系統(tǒng)的靈活性通訊-進(jìn)程風(fēng)格的特性表現(xiàn)在通過各種連接件機(jī)制并發(fā)執(zhí)行構(gòu)件的交互,如通過同步、消息傳遞、數(shù)據(jù)交換、啟動(dòng)停止等進(jìn)行交互6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案99/197(2)、C&C風(fēng)格—總結(jié)(END)在大多數(shù)系統(tǒng)來(lái)說,通訊-進(jìn)程風(fēng)格適應(yīng)于來(lái)理解和并發(fā)相關(guān)的任何行為,它尤其適合于性能和可靠性分析非正規(guī)的線框表示法經(jīng)常用來(lái)為C&C風(fēng)格編檔。UML為C&C風(fēng)格的遍檔提供了若干的策略:(1)使用類和對(duì)象;(2)使用子系統(tǒng);(3)使用實(shí)時(shí)語(yǔ)義框架6.2.2C&C視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案100/1976.2視圖類型與風(fēng)格6.2.1模塊視圖類型與風(fēng)格6.2.2C&C視圖類型與風(fēng)格6.2.3分配視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案101/197(1)、分配(Allocation)視圖類型—概述硬件、文件和團(tuán)隊(duì)都會(huì)與SA交互性能系統(tǒng)管理項(xiàng)目活動(dòng)6.2.3分配視圖類型與風(fēng)格102/197(1)、分配(Allocation)視圖類型—概述分配視圖類型—SA映射到其環(huán)境的最一般形式。表示從模塊風(fēng)格或C&C風(fēng)格的元素映射到環(huán)境元素。分配視圖風(fēng)格—分配視圖類型的常見3種形式:部署風(fēng)格:構(gòu)件-連接件對(duì)硬件的映射實(shí)現(xiàn)風(fēng)格:模塊對(duì)包含它們的文件系統(tǒng)的映射工作任務(wù)風(fēng)格:模塊對(duì)承擔(dān)模塊開發(fā)任務(wù)的人員、團(tuán)隊(duì)和小組的映射6.2.3分配視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案103/197(1)、分配視圖類型—元素、關(guān)系和特性描述元素軟件元素:模塊視圖類型或C&C視圖類型中的某一風(fēng)格環(huán)境元素:如處理器、特大容量硬盤、配置條目或開發(fā)團(tuán)隊(duì)等關(guān)系“分配到…”。即軟件元素被分配到環(huán)境元素元素特性軟件元素?fù)碛小耙蟮摹碧匦?。環(huán)境元素?fù)碛小疤峁┑摹碧匦?。前者必須同后者匹配關(guān)系特性取決于特定的風(fēng)格布局因風(fēng)格而異6.2.3分配視圖類型與風(fēng)格104/197(2)、分配視圖類型—部署風(fēng)格—概述在部署風(fēng)格中,其元素C&C視圖類型的通訊-進(jìn)程風(fēng)格,被分配到執(zhí)行平臺(tái)限制條件是由軟件元素表達(dá)的需求和硬件元素滿足這些需求的方式軟件元素和物理元素的重要特性是那些影響軟件元素分配到物理元素這一過程的特性6.2.3分配視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案105/197(2)、分配視圖類型—部署風(fēng)格—概述與物理單元相關(guān)的環(huán)境元素特性:CPU特性、內(nèi)存特性、磁盤容量或其它存儲(chǔ)單元容量、帶寬、容錯(cuò)性與軟件元素相關(guān)的特性:資源消耗、必須滿足的資源需求和約束條件、安全臨界值與分配相關(guān)的特性:分配能隨著系統(tǒng)的執(zhí)行而發(fā)生變換,這一特性規(guī)定了軟件元素從一個(gè)處理移植到另一個(gè)處理時(shí)必須發(fā)生的事件。6.2.3分配視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案106/197(2)、分配視圖類型—部署風(fēng)格—元素、關(guān)系和特性描述元素軟件元素:通常是C&C視圖類型中的進(jìn)程環(huán)境元素:計(jì)算硬件---處理器、內(nèi)存、磁盤和網(wǎng)絡(luò)等關(guān)系“分配到…”。即表示元素駐留到哪些物理單元上如果分配是動(dòng)態(tài)的,關(guān)系就是“移到…”、“副本移植到…”、和(或)“執(zhí)行移植到…”元素特性軟件元素所“要求的”特性:重要硬件特性,如處理、內(nèi)存、容量需求和容錯(cuò)性環(huán)境元素所“提供的”特性:影響分配決策的重要硬件特征關(guān)系特性“分配到…”布局無(wú)限制6.2.3分配視圖類型與風(fēng)格107/197(2)、分配視圖類型—部署風(fēng)格—支持/不支持什么描述支持用于性能、可靠性和安全性分析作為成本評(píng)估的一部分部署視圖用于展示特定配置的硬件元素及其用途子系統(tǒng)的分配取決于企業(yè)內(nèi)的某個(gè)組織,每個(gè)組織都能利用自己的策略和標(biāo)準(zhǔn)對(duì)部署進(jìn)行控制不支持對(duì)部署風(fēng)格的一種錯(cuò)誤用法:是將它看成系統(tǒng)的SA。這種風(fēng)格的單一視圖并不是對(duì)軟件SA的完整描述。6.2.3分配視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案108/197(2)、分配視圖類型—部署風(fēng)格—表示法描述非正規(guī)表示法線框圖表格正規(guī)表示法UML:UML的部署視圖6.2.3分配視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案109/197(2)、分配視圖類型—部署風(fēng)格—與其它風(fēng)格的關(guān)系部署風(fēng)格與C&C風(fēng)格(風(fēng)格集)存在聯(lián)系;C&C風(fēng)格提供分配到物理環(huán)境的軟件元素。6.2.3分配視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案110/197(2)、分配視圖類型—實(shí)現(xiàn)風(fēng)格—概述實(shí)現(xiàn)風(fēng)格將模塊視圖類型中的模塊映射到開發(fā)基礎(chǔ)設(shè)施實(shí)現(xiàn)一個(gè)模塊總會(huì)產(chǎn)生許多獨(dú)立的文件需要配置管理系統(tǒng)的支持:配置項(xiàng)(item:文件或目錄)的變化管理實(shí)現(xiàn)風(fēng)格中的軟件元素和環(huán)境元素的重要特性將影響軟件分配到配置項(xiàng)的過程6.2.3分配視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案111/197(2)、分配視圖類型—實(shí)現(xiàn)風(fēng)格—概述實(shí)現(xiàn)風(fēng)格的兩種關(guān)系是:(1)“分配到…”:模塊與配置項(xiàng)之間的關(guān)系。這種關(guān)系使模塊和實(shí)現(xiàn)該模塊的配置項(xiàng)聯(lián)系起來(lái),主要是一種一對(duì)一的關(guān)系。但是,一配置項(xiàng)可由多個(gè)項(xiàng)組成。(2)包容:配置項(xiàng)之間的關(guān)系。一個(gè)配置項(xiàng)能包容在多個(gè)其它配置項(xiàng)中,如:目錄結(jié)構(gòu)和版本分支。6.2.3分配視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案112/197(2)、分配視圖類型—實(shí)現(xiàn)風(fēng)格—元素、關(guān)系和特性描述元素軟件元素:模塊環(huán)境元素:配置項(xiàng),如文件和目錄等關(guān)系包容關(guān)系:規(guī)定一個(gè)配置項(xiàng)由另外一個(gè)配置項(xiàng)包容“分配到…”關(guān)系:描述將模塊分配到配置項(xiàng)元素特性如果存在的話,就是軟件元素所要求的特性:通常是對(duì)Java或數(shù)據(jù)庫(kù)等開發(fā)環(huán)境的需求環(huán)境元素所提供的特性關(guān)系特性無(wú)布局分層配置項(xiàng):“包容在…”6.2.3分配視圖類型與風(fēng)格113/197(2)、分配視圖類型—實(shí)現(xiàn)風(fēng)格—支持/不支持什么實(shí)現(xiàn)風(fēng)格用于開發(fā)過程和生成階段中,管理和維護(hù)軟件元素的文件開發(fā)者利用這種風(fēng)格,確認(rèn)他們進(jìn)行更新、測(cè)試或系統(tǒng)生成時(shí)所能檢測(cè)的文件開發(fā)者利用這種風(fēng)格,用來(lái)指定特定系統(tǒng)的不同版本。并對(duì)新版本進(jìn)行檢測(cè)實(shí)現(xiàn)風(fēng)格用來(lái)突出用于特殊目的的元素,如測(cè)試或分析系統(tǒng)配置管理對(duì)它的表示包括模塊、配置項(xiàng)、及其之間的關(guān)系6.2.3分配視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案114/197(2)、分配視圖類型—實(shí)現(xiàn)風(fēng)格—表示法非正規(guī)表示法:利用圖標(biāo)將配置項(xiàng)和模塊區(qū)別開來(lái)配置項(xiàng)的分解也應(yīng)該展示出來(lái)6.2.3分配視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案115/197(2)、分配視圖類型—實(shí)現(xiàn)風(fēng)格—與其它風(fēng)格的關(guān)系實(shí)現(xiàn)風(fēng)格與模塊風(fēng)格關(guān)系最為密切;模塊風(fēng)格能在分配過程中提供軟件元素。6.2.3分配視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案116/197(2)、分配視圖類型—工作任務(wù)風(fēng)格—概述工作任務(wù)風(fēng)格能展示形成一個(gè)工作系統(tǒng)而必須存在的重要軟件單元,以及生產(chǎn)這些軟件單元的人員能展示軟件開發(fā)所用的工具和所處的環(huán)境工作任務(wù)表示將SA映射到由人組成的團(tuán)隊(duì)之中,因此是一種重要的分配風(fēng)格6.2.3分配視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案117/197(2)、分配視圖類型—工作任務(wù)風(fēng)格—概述時(shí)間和預(yù)算估計(jì)取決于工作分解結(jié)構(gòu),而工作分解結(jié)構(gòu)取決于SA軟件元素的特性包含對(duì)所需技能集的描述,而人員因素的特性可包含提供的技能集結(jié)構(gòu)良好的工作任務(wù)關(guān)系具有完整性特性,所有工作均有人負(fù)責(zé),但不會(huì)重疊,不會(huì)將同一工作分配到兩個(gè)位置。6.2.3分配視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案118/197(2)、分配視圖類型—工作任務(wù)風(fēng)格—元素、關(guān)系和特性描述元素軟件元素:模塊環(huán)境元素:組織單元、如人員、團(tuán)隊(duì)、部門和分包商等關(guān)系“分配到…”元素特性技能集:所需要的技能和提供的技能關(guān)系特性無(wú)布局一般不受限制,但在實(shí)際工作中卻不然,以便將某個(gè)模塊分配給某個(gè)組織單元6.2.3分配視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案119/197(2)、分配視圖類型—工作任務(wù)風(fēng)格—支持/不支持什么描述支持非常適應(yīng)于團(tuán)隊(duì)資源分配的管理和項(xiàng)目結(jié)構(gòu)的說明該風(fēng)格是工作分解結(jié)構(gòu)以及詳細(xì)預(yù)算和進(jìn)度估計(jì)的基礎(chǔ)不支持不能展示運(yùn)行時(shí)的關(guān)系,如“調(diào)用”或“傳遞數(shù)據(jù)”不能展示模塊間的依賴性關(guān)系應(yīng)該謹(jǐn)慎對(duì)待工作任務(wù)分解風(fēng)格和其它風(fēng)格的組合。如果工作任務(wù)是建立在“分解”的基礎(chǔ)上,分解工作任務(wù)并不適應(yīng)與進(jìn)程、級(jí)、層和其它許多SA的元素。6.2.3分配視圖類型與風(fēng)格120/197(2)、分配視圖類型—工作任務(wù)風(fēng)格—表示法無(wú)專門的表示法(2)、分配視圖類型—工作任務(wù)風(fēng)格—與其它風(fēng)格的關(guān)系與模塊分解風(fēng)格關(guān)系密切,并能將模塊分解風(fēng)格用作分配映射的基礎(chǔ)通常情況下,能通過添加一些工具模塊,如開發(fā)工具、測(cè)試工具和配置管理工具等,對(duì)模塊分解進(jìn)行擴(kuò)展;同時(shí)將添加項(xiàng)目后的日常操作分配給個(gè)人或團(tuán)隊(duì)6.2.3分配視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案121/197工作任務(wù)風(fēng)格通常與其它風(fēng)格聯(lián)合使用,如工作任務(wù)可以是模塊分解風(fēng)格中的模塊,也可以是分層圖中的層等是對(duì)概念不同的視圖的歸并,能有效發(fā)揮作用團(tuán)隊(duì)之間的信息劃分在很大程度上有助于模塊內(nèi)的信息劃分。6.2.3分配視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案122/197(2)、分配視圖類型—風(fēng)格—總結(jié)分配視圖類型中的風(fēng)格能將SA映射到軟件環(huán)境的結(jié)構(gòu)SA與環(huán)境結(jié)構(gòu)相互影響部署風(fēng)格能描述運(yùn)行時(shí)軟件元素到執(zhí)行這些軟件的硬件的映射部署風(fēng)格能描述模塊對(duì)配置管理方案的映射,并能協(xié)助組織實(shí)施模塊的文件工作任務(wù)風(fēng)格能根據(jù)承擔(dān)任務(wù)模塊開發(fā)任務(wù)的人員、小組和團(tuán)隊(duì)描述模塊的聚集6.2.3分配視圖類型與風(fēng)格《軟件體系結(jié)構(gòu)》電子教案123/197第6章內(nèi)容摘要6.1軟件體系結(jié)構(gòu)編檔概述6.2視圖類型與風(fēng)格6.3軟件體系結(jié)構(gòu)編檔的實(shí)施《軟件體系結(jié)構(gòu)》電子教案124/1976.3軟件體系結(jié)構(gòu)編檔的實(shí)施6.3.1相關(guān)概念6.3.2軟件接口編檔6.3.3軟件行為編檔6.3.4視圖的選擇6.3.5制作文檔包6.3.6文檔評(píng)審《軟件體系結(jié)構(gòu)》電子教案125/1976.3SA編檔的實(shí)施6.3.1相關(guān)概念視圖包(viewpacket):是對(duì)視圖的內(nèi)部信息進(jìn)行分塊的一種方式,提供給涉眾的最小內(nèi)聚捆綁文件構(gòu)成同一視圖的視圖包存在兄弟或父子關(guān)系:兄弟視圖包:是為同一系統(tǒng)的不同部分編檔。此時(shí),這些視圖包能拼接成一個(gè)整體視圖子視圖包:是能為系統(tǒng)的同一部分編檔,但其詳細(xì)程度將逐步提高,并能清楚地展示系統(tǒng)的細(xì)節(jié)?!盾浖w系結(jié)構(gòu)》電子教案126/197對(duì)視圖的理解順序:深度優(yōu)先:選擇一個(gè)元素為它的子結(jié)構(gòu)編檔,如此繼續(xù)下去廣度優(yōu)先:為同一層次的元素的所有子結(jié)構(gòu)編檔混合:是深度和廣度優(yōu)先的綜合。6.3SA編檔的實(shí)施6.3.1相關(guān)概念《軟件體系結(jié)構(gòu)》電子教案127/197構(gòu)成不同視圖的視圖包之間的關(guān)系:系統(tǒng)的不同區(qū)域采用不同的風(fēng)格:通過橋接元素實(shí)現(xiàn)從一個(gè)視圖包到另外一個(gè)視圖包之間的理解。橋接元素出現(xiàn)在兩種視圖包中過濾器過濾器過濾器數(shù)據(jù)庫(kù)構(gòu)件構(gòu)件過濾器端口協(xié)作的角色數(shù)據(jù)端口協(xié)作的角色管道管道6.3SA編檔的實(shí)施6.3.1相關(guān)概念128/197構(gòu)成不同視圖的視圖包之間的關(guān)系(續(xù))
:某種風(fēng)格的元素由另外一種風(fēng)格的元素構(gòu)成:如客戶-服務(wù)器風(fēng)格的服務(wù)器由管道-過濾器風(fēng)格來(lái)實(shí)施服務(wù)器過濾器過濾器過濾器服務(wù)器由管道-過濾器實(shí)現(xiàn)管道管道客戶機(jī)客戶機(jī)客戶機(jī)6.3SA編檔的實(shí)施6.3.1相關(guān)概念《軟件體系結(jié)構(gòu)》電子教案129/197構(gòu)成不同視圖的視圖包之間的關(guān)系(續(xù))
:以不同的角度去觀察同一個(gè)系統(tǒng):如管道過濾器中的每個(gè)過濾器能訪問數(shù)據(jù)庫(kù)的情況過濾器過濾器過濾器數(shù)據(jù)庫(kù)由管道-過濾器和共享數(shù)據(jù)庫(kù)構(gòu)成的系統(tǒng)管道管道6.3SA編檔的實(shí)施6.3.1相關(guān)概念《軟件體系結(jié)構(gòu)》電子教案130/197精化:是對(duì)視圖包的“放大”,通過一系列的操作來(lái)逐步展露信息的過程。分解精化:能詳細(xì)描述單一元素,揭示它們的內(nèi)部結(jié)構(gòu),然后以遞歸的方式精化這一內(nèi)在結(jié)構(gòu)的每一個(gè)成員實(shí)現(xiàn)精化:許多的元素和關(guān)系將被具有更多實(shí)現(xiàn)細(xì)節(jié)的新元素和新關(guān)系所取代(參見某種風(fēng)格的元素由另外一種風(fēng)格的元素構(gòu)成)6.3SA編檔的實(shí)施6.3.1相關(guān)概念《軟件體系結(jié)構(gòu)》電子教案131/197描述完整性:是與精化相關(guān)的一種概念,它能描述視圖包之間是如何相互聯(lián)系的按照完整性策略:如果兩個(gè)元素之間未表現(xiàn)出任何關(guān)系,則這兩個(gè)元素之間的關(guān)系要么不存在,要么不允許存在按照非完整性策略:通過對(duì)該視圖的后續(xù)精化再展示這種關(guān)系通過對(duì)該視圖的后續(xù)精化或其它描述來(lái)展示附加的元素6.3SA編檔的實(shí)施6.3.1相關(guān)概念《軟件體系結(jié)構(gòu)》電子教案132/197使用上下文圖:能展示被構(gòu)造的系統(tǒng)內(nèi)部和外部存在什么東西,以及與它們進(jìn)行交互的實(shí)體頂層上下文圖:當(dāng)開發(fā)一個(gè)大型系統(tǒng)的一部分系統(tǒng)時(shí),頂層上下文圖能對(duì)其進(jìn)行描述頂層上下文圖是讀者了解其SA的第一步6.3SA編檔的實(shí)施6.3.1相關(guān)概念《軟件體系結(jié)構(gòu)》電子教案133/197上下文圖的內(nèi)容:對(duì)實(shí)體(元素或系統(tǒng))的描述,這些實(shí)體的SA正在接受編檔,而且區(qū)分于那些外部實(shí)體數(shù)據(jù)源和數(shù)據(jù)目的,或由實(shí)體產(chǎn)生或處理的刺激或命令。與當(dāng)前編檔實(shí)體交互的其它實(shí)體表示法或符號(hào)的圖例6.3SA編檔的實(shí)施6.3.1相關(guān)概念《軟件體系結(jié)構(gòu)》電子教案134/197上下文圖不能支持什么:是視圖包支持文檔的一部分,每個(gè)視圖包都擁有一個(gè)上下文圖通常用于向更了解應(yīng)用程序外部實(shí)體而不是內(nèi)部實(shí)體的人說明系統(tǒng)不能揭示有關(guān)實(shí)體的構(gòu)架細(xì)節(jié)不能展示任何時(shí)間信息,如交互或數(shù)據(jù)流等不能展示傳遞數(shù)據(jù)、觸發(fā)刺激和發(fā)送消息等條件6.3SA編檔的實(shí)施6.3.1相關(guān)概念《軟件體系結(jié)構(gòu)》電子教案135/197上下文圖的表示法:非正規(guī)表示法:線框圖:實(shí)體位于中間,其它與之交互的外部實(shí)體位于周圍UML:“用例圖”或“類圖”(雖然UML沒有明確的機(jī)制來(lái)支持上下文圖的表示)6.3SA編檔的實(shí)施6.3.1相關(guān)概念《軟件體系結(jié)構(gòu)》電子教案136/1973種建立獨(dú)立風(fēng)格或視圖之間的映射:為獨(dú)立視圖之間的映射編檔:將這種編檔看成適應(yīng)于視圖之外的文檔集的一部分創(chuàng)建一個(gè)覆蓋圖:只有當(dāng)一個(gè)視圖中的元素與另外一個(gè)視圖中的元素存在明確的映射,且單獨(dú)編檔時(shí)會(huì)產(chǎn)生過多冗余信息時(shí)使用。不會(huì)產(chǎn)生新的元素和關(guān)系創(chuàng)建混合風(fēng)格:通過組合兩個(gè)現(xiàn)有風(fēng)格和編寫風(fēng)格指南來(lái)創(chuàng)建。會(huì)產(chǎn)生合成元素和關(guān)系組合視圖:包含來(lái)自兩個(gè)或更多其它視圖的元素和關(guān)系的視圖6.3SA編檔的實(shí)施6.3.1相關(guān)概念《軟件體系結(jié)構(gòu)》電子教案137/197產(chǎn)生有用的視圖:取決于對(duì)視圖之間關(guān)系的理解在進(jìn)行視圖組合時(shí),應(yīng)確保視圖之間存在簡(jiǎn)單明確的映射越大的系統(tǒng),更應(yīng)該使視圖保持獨(dú)立過多的概念會(huì)擾亂組合視圖不同的工作團(tuán)隊(duì)不同類型的信息,對(duì)視圖的選擇應(yīng)滿足涉眾的需要工具會(huì)影響視圖的選擇和數(shù)量應(yīng)該最大限度地減少視圖數(shù)量。系統(tǒng)的視圖集在保持大多數(shù)視圖的明確性和降低成本之間進(jìn)行權(quán)衡組合視圖:包含來(lái)自兩個(gè)或更多其它視圖的元素和關(guān)系的視圖6.3SA編檔的實(shí)施6.3.1相關(guān)概念《軟件體系結(jié)構(gòu)》電子教案138/197組合視圖:包含來(lái)自兩個(gè)或更多其它視圖的元素和關(guān)系的視圖視圖映射類型:“多對(duì)一”(如模塊映射到進(jìn)程)6.3SA編檔的實(shí)施6.3.1相關(guān)概念《軟件體系結(jié)構(gòu)》電子教案139/197組合視圖:包含來(lái)自兩個(gè)或更多其它視圖的元素和關(guān)系的視圖視圖映射類型:“一對(duì)多”6.3SA編檔的實(shí)施6.3.1相關(guān)概念《軟件體系結(jié)構(gòu)》電子教案140/197組合視圖:包含來(lái)自兩個(gè)或更多其它視圖的元素和關(guān)系的視圖視圖映射類型:“多對(duì)多”:屬于復(fù)雜影射。此時(shí),盡量采用使視圖保持分離的原則。如果非要組合,則最好對(duì)它們打亂后在細(xì)細(xì)重新獲得新的視圖,以便降低視圖之間的復(fù)雜性6.3SA編檔的實(shí)施6.3.1相關(guān)概念《軟件體系結(jié)構(gòu)》電子教案141/197組合視圖:包含來(lái)自兩個(gè)或更多其它視圖的元素和關(guān)系的視圖為混合視圖編檔(將一個(gè)視圖中的多個(gè)元素映射到另外一個(gè)視圖的單個(gè)元素)6.3SA編檔的實(shí)施6.3.1相關(guān)概念《軟件體系結(jié)構(gòu)》電子教案142/197組合視圖:包含來(lái)自兩個(gè)或更多其它視圖的元素和關(guān)系的視圖為混合視圖編檔(將一個(gè)視圖中的某個(gè)元素映射到另外一個(gè)視圖的多個(gè)元素)元素1成為混合視圖中元素的特性6.3SA編檔的實(shí)施6.3.1相關(guān)概念《軟件體系結(jié)構(gòu)》電子教案143/197為可變性和動(dòng)態(tài)性編檔可變性產(chǎn)生的原因:在單個(gè)系統(tǒng)的設(shè)計(jì)過程中,雖然對(duì)可選方案進(jìn)行了探討,但對(duì)某些決策無(wú)法確定SA針對(duì)的一個(gè)系統(tǒng)家族,家族中的待構(gòu)成員的具體情況決定了必須存在可選的方案SA是一個(gè)系統(tǒng)集的框架,應(yīng)該包含該框架的明確的擴(kuò)展點(diǎn)??勺冃裕菏菍?duì)某個(gè)系統(tǒng)部署前做出的決策6.3SA編檔的實(shí)施6.3.1相關(guān)概念《軟件體系結(jié)構(gòu)》電子教案144/197為可變性和動(dòng)態(tài)性編檔動(dòng)態(tài)性產(chǎn)生的原因:通過構(gòu)件和連接件的變更使SA發(fā)生動(dòng)態(tài)變化,如新用戶的加入和離開等重新分配資源或責(zé)任,如構(gòu)件從一個(gè)處理器移動(dòng)到另外一個(gè)處理器等動(dòng)態(tài)性:指在系統(tǒng)執(zhí)行期間做出或重新考慮的決策6.3SA編檔的實(shí)施6.3.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 化學(xué)世界的構(gòu)建塊
- 管理學(xué)實(shí)踐探索
- 共筑綠色家園
- 2025至2030年中國(guó)原子掛鎖市場(chǎng)調(diào)查研究報(bào)告
- 2025至2030年中國(guó)專業(yè)單反數(shù)碼相機(jī)市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)布掛牌市場(chǎng)調(diào)查研究報(bào)告
- 2025-2035年全球及中國(guó)施工骨料行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及發(fā)展前景研究報(bào)告
- 河南省駐馬店市2024-2025學(xué)年高三下學(xué)期3月模擬生物試題(原卷版+解析版)
- 2025年汽車座椅調(diào)角器項(xiàng)目合作計(jì)劃書
- 2025年年暖通項(xiàng)目合作計(jì)劃書
- 2025年高考語(yǔ)文備考訓(xùn)練之社會(huì)現(xiàn)象:“數(shù)字囤積癥”
- 2025年湖南高速鐵路職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)帶答案
- 蘇教版三年級(jí)科學(xué)下冊(cè)第一單元第3課《植物開花了》課件
- 休閑海島開發(fā)策劃方案
- DB36-T 2097-2024 固定資產(chǎn)投資項(xiàng)目節(jié)能報(bào)告編制規(guī)范
- 健康與保健課件
- 《運(yùn)營(yíng)管理 第7版》課件全套 馬風(fēng)才 第01-15章 運(yùn)營(yíng)管理概論- 互聯(lián)網(wǎng)運(yùn)營(yíng)
- 2025年度典型火災(zāi)案例及消防安全知識(shí)專題培訓(xùn)
- 考題培訓(xùn)課件
- 氣體充裝安全培訓(xùn)課件
- 2025年度國(guó)家鐵路局安全技術(shù)中心面向社會(huì)公開招聘工作人員5人高頻重點(diǎn)提升(共500題)附帶答案詳解
評(píng)論
0/150
提交評(píng)論