版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
4.1體系結(jié)構(gòu)設(shè)計的重用當(dāng)前,重用是一個流行的新概念。通過基于軟件產(chǎn)品線的眾多研究,可重用軟件元素,專用領(lǐng)域引擎與相關(guān)軟件開發(fā)過程,軟件重用已經(jīng)相當(dāng)成熟。然而,軟件重用并不是“銀彈”。雖然它能帶來諸如節(jié)省開銷,節(jié)約投入市場時間,挺高質(zhì)量上的好處,但簡單說來,還是難以控制與應(yīng)用。4.2體系結(jié)構(gòu)設(shè)計空間與規(guī)則
體系結(jié)構(gòu)設(shè)計始于一系列關(guān)于屬性與行為的需求說明,止于一系列的構(gòu)件連接器風(fēng)格與配置的落實。測試可以用于檢測需求是否被達(dá)到,如果是,這個設(shè)計就可以被認(rèn)為是合格的。4.2體系結(jié)構(gòu)設(shè)計空間與規(guī)則在構(gòu)造一個空間之前,需要相關(guān)的法則與分類方法,來表示在一個維度上的不同值??赡苤档姆秶Q作“范疇”。4.3基于體系結(jié)構(gòu)的軟件分析設(shè)計過程過程是有特定目標(biāo)的動作序列。定義動作為如下的五元組。Actioni=<ID,SHi,Resi,Acti,Consi>過程是動作的有序集合:Process={Action1,Action2,…,Actionn}SADPBA(基于體系結(jié)構(gòu)的軟件分析設(shè)計過程)是用上述術(shù)語定義的一個過程,其特征就是軟件體系結(jié)構(gòu)動作。SADPBA是一個迭代的過程,項目的每個階段都是以上一個階段的工作為基礎(chǔ)。SADPBA將過程分解為3個動作:需求分析,軟件體系結(jié)構(gòu)設(shè)計與系統(tǒng)設(shè)計,因此設(shè)計空間也符合這個模式。使用設(shè)計空間對設(shè)計過程進(jìn)行拆分設(shè)計空間的形式化定義如下:其中di是設(shè)計空間的維度,是對系統(tǒng)某一特性或設(shè)計決策的描述,而di中枚舉出的可能方法稱為“范疇”。在面向領(lǐng)域的的設(shè)計過程中,使用三個空間,意味著設(shè)計過程將依次從一個空間映射到另一個空間,使用設(shè)計空間對設(shè)計過程進(jìn)行拆分設(shè)Fi,F(xiàn)j∈DS且Fi≠Fj,若Fj的取值依賴于Fi的取值,則稱Fj依賴于Fi,記為FjDepFi,設(shè)計空間中的維的依賴關(guān)系描述了多個方案如何組合到一起,以實現(xiàn)一個系統(tǒng)。定義映射關(guān)系如下:DS1、DS2是兩個設(shè)計空間,如果存在一個法則f,使得對任意α∈DS1,在DS2中恰好存在一個b與之對應(yīng)(記為f(α)=b),則稱f是DS1到DS2的一個映射,記f=DS1→DS2。α稱為b在f中的自變量,b稱為α在f中的值。SADPBA的追蹤機(jī)制追蹤是單一或多個項目空間中的項目元素的可逆關(guān)系,定義如下:在設(shè)計空間中,若從項目元素α可追蹤到其他相關(guān)項目元素β,稱項目元素α和β存在可追蹤關(guān)系,記作SADPBA將可追蹤關(guān)系分為兩類:第一類是DSF與DSA之間的關(guān)系:設(shè)DSF是一個功能設(shè)計空間而DSA是一個體系結(jié)構(gòu)設(shè)計空間,?是他們之間的映射規(guī)則。僅當(dāng)任意項目元素α∈DSF且它的所有依賴關(guān)系都可以被映射到DSA的元素,則稱DSF對于DSA是完備的。另外一類是DSA與DSS之間的關(guān)系設(shè)DSA是一個體系結(jié)構(gòu)設(shè)計空間而DSS是一個系統(tǒng)設(shè)計空間,?是他們之間的映射規(guī)則。僅當(dāng)任意項目元素α∈DSA且它的所有依賴關(guān)系都可以被映射到DSS的元素,則稱DSA對于DSS是完備的。軟件體系結(jié)構(gòu)的生命周期模型實踐中的SADPBA實踐中的SADPBA實踐中的SADPBA需求分析階段,開發(fā)人員需要盡可能的搜集各種有關(guān)系統(tǒng)的功能性需求,以及非功能性需求。一個軟件最終是否成功,通常是以客戶或用戶的滿意度為直接體現(xiàn)的。如果開發(fā)階段初期的需求工程做的不夠完善,需求調(diào)研存在誤差或者遺漏,將對后續(xù)開發(fā)造成影響,甚至不可逆的損失,最終產(chǎn)品評價也將受到嚴(yán)重的質(zhì)量危機(jī)。實踐中的SADPBA體系結(jié)構(gòu)設(shè)計階段則需要軟件架構(gòu)師根據(jù)上一階段可靠的需求報告,根據(jù)自己豐富的專業(yè)架構(gòu)知識與積累的軟件架構(gòu)經(jīng)驗,對軟件體系結(jié)構(gòu)進(jìn)行設(shè)計,形成合適的架構(gòu)風(fēng)格。根據(jù)需求功能設(shè)計出構(gòu)件與連接器,確定體系結(jié)構(gòu)規(guī)范,進(jìn)行評審,看是否能夠滿足系統(tǒng)要求的功能以及非功能需求,并經(jīng)過不斷改進(jìn)確定構(gòu)件集合、連接器集合與結(jié)構(gòu)規(guī)范。實踐中的SADPBA系統(tǒng)設(shè)計階段則在確定構(gòu)件與連接器的基礎(chǔ)上,對整個系統(tǒng)的結(jié)構(gòu)進(jìn)行規(guī)劃。當(dāng)前有很多流行的架構(gòu)思想與概念,比如插件架構(gòu)、組態(tài)、虛擬化、嵌入式等等。實踐中的SADPBA插件架構(gòu)實踐中的SADPBA組態(tài)實踐中的SADPBA虛擬化實踐中的SADPBA嵌入式4.4示例:MEECS移動設(shè)備已經(jīng)與七八年前相比有了長足進(jìn)步。他們的計算能力與存儲能力已經(jīng)超過了2000年的個人電腦。同時,移動設(shè)備擁有出色的特征,例如你可以方便地將其帶到任何地方,可以接受多種模式的輸入:按鍵,聲音甚至是上下文感知。緊跟著這些特征的是創(chuàng)造性的應(yīng)用與更進(jìn)一步的新的商業(yè)模式。然而,移動環(huán)境中的軟件系統(tǒng)是不同的,導(dǎo)致了對他們構(gòu)造的特別關(guān)注。異構(gòu)不穩(wěn)定性不對稱性資源限制4.4示例:MEECS將SADPBA應(yīng)用到MEECS1.需求分析將SADPBA應(yīng)用到MEECS2.體系結(jié)構(gòu)設(shè)計將SADPBA應(yīng)用到MEECS2.體系結(jié)構(gòu)設(shè)計將SADPBA應(yīng)用到MEECS2.體系結(jié)構(gòu)設(shè)計將SADPBA應(yīng)用到MEECS2.體系結(jié)構(gòu)設(shè)計將SADPBA應(yīng)用到MEECS2.體系結(jié)構(gòu)設(shè)計將SADPBA應(yīng)用到MEECS3.系統(tǒng)設(shè)計將SADPBA應(yīng)用到MEECS3.系統(tǒng)設(shè)計4.5軟件體系結(jié)構(gòu)風(fēng)格選擇PSAS(Bhattacharya,2006)方法適用于基于組件的軟件工程方法(CBSE),設(shè)計者將首先進(jìn)行需求分析和功能設(shè)計,并搜集軟件的不同用例,然后設(shè)計者將依照PSAS方法分析這些用例并且從構(gòu)件庫中選擇可以滿足用例功能的組件,連接器等軟件元素。最后PSAS將通過選擇出的軟件元素的特性來給出最符合的軟件體系結(jié)構(gòu)風(fēng)格。值得注意的是,PSAS方法可以在開發(fā)的過程中不斷預(yù)測最合適的體系結(jié)構(gòu)風(fēng)格,這樣可以得到相對比較優(yōu)良的設(shè)計。4.5軟件體系結(jié)構(gòu)風(fēng)格選擇在PSAS開始之前需要分析用例列表,并且構(gòu)建出一個PSAS說明書模型。PSAS說明書模型應(yīng)該包含軟件的軟件架構(gòu)元素在特定的領(lǐng)域中的詳細(xì)說明文檔。軟件架構(gòu)元素即軟件中與領(lǐng)域相關(guān)的必要連接器(connector)和組件(component)。詳細(xì)的說明文檔包括功能描述和非功能描述。4.5軟件體系結(jié)構(gòu)風(fēng)格選擇特征類別分析特征類別分析組成元素(ConstituentParts)組成元素代表軟件的構(gòu)成單元方面的特征,主要包含構(gòu)件(Components)和連接器(Connector)兩個成分。構(gòu)件是系統(tǒng)中的獨立程序,主要特征就是構(gòu)件具有相對獨立性,它們可以不依賴其他的構(gòu)件,也可以與其他的構(gòu)件互相協(xié)作,是系統(tǒng)功能的主要提供者,也是系統(tǒng)服務(wù)的載體。連接器也是體系結(jié)構(gòu)概念,在不同的風(fēng)格中可以被具化為其他的名稱。連接器主要性質(zhì)就是連接構(gòu)件,即定義構(gòu)件之間信息交互的方式。特征類別分析控制因素(ControlFactors)控制因素信息主要側(cè)重考慮構(gòu)成系統(tǒng)的組件之間的交互關(guān)系,并以此來分析系統(tǒng)的行為。控制因子相關(guān)的部分主要有三種,拓?fù)浣Y(jié)構(gòu)(Topology),同步性(Synchronicity)和綁定時間(BindingTime)。綁定時間在說明書中的組件交互細(xì)節(jié)中被申明,主要描述的是構(gòu)件之間控制轉(zhuǎn)移的時間消耗需求。特征類別分析數(shù)據(jù)因素(DataFactors)與控制因素相對應(yīng),數(shù)據(jù)因素主要考察系統(tǒng)的數(shù)據(jù)流動的關(guān)系。構(gòu)件之間不僅具有控制的流動,也具有數(shù)據(jù)的流動,數(shù)據(jù)因素就是主要捕獲數(shù)據(jù)流動上的關(guān)系并且將不同的捕獲關(guān)系分類以提供選擇軟件體系結(jié)構(gòu)的依據(jù)。數(shù)據(jù)因素同樣分為三個部分:拓?fù)浣Y(jié)構(gòu),連續(xù)性(Continuity)和時間。特征類別分析控制/數(shù)據(jù)交互(Control/DataInteraction)這個層面描述了系統(tǒng)中控制和數(shù)據(jù)的交互關(guān)系。這里我們著重考慮數(shù)據(jù)流和控制流形狀(Shape)是否相同。如果一個系統(tǒng)的數(shù)據(jù)流拓?fù)浣Y(jié)構(gòu)和控制流拓?fù)浣Y(jié)構(gòu)相同,被稱為形狀同構(gòu)系統(tǒng)(Isomorphic),否則稱為非同構(gòu)系統(tǒng)。很多體系結(jié)構(gòu)風(fēng)格的數(shù)據(jù)流和控制流都是同構(gòu)的,包括順序批處理風(fēng)格,數(shù)據(jù)流網(wǎng)絡(luò)和C/S風(fēng)格架構(gòu),但是也有一些體系結(jié)構(gòu)風(fēng)格是不同構(gòu)的,例如黑板模型。PSAS方法主流程1.為系統(tǒng)需要提供的服務(wù)進(jìn)行進(jìn)行用例分析。需要提供的服務(wù)在架構(gòu)功能說明書中被指定。2.對于每一個在用例中的服務(wù),從構(gòu)架庫中選擇最合適的構(gòu)件,并且構(gòu)件基礎(chǔ)構(gòu)件列表。3.如果基本構(gòu)件列表中的每一個構(gòu)件,通過4.5.2中的方法判別系統(tǒng)整體的構(gòu)件類型,如果所有的構(gòu)件不是同一種類型,我們把最多的類型作為系統(tǒng)整體構(gòu)件類型。4.如果基本構(gòu)件列表中的每一個構(gòu)件,通過4.5.2中的方法判別系統(tǒng)整體的連接器屬性類型,如果所有的連接器不是同一種類型,我們把最多的類型作為系統(tǒng)整體連接器類型。5.使用4.5.2中的方法繪制控制列表,判別系統(tǒng)的控制類型,包括拓?fù)浣Y(jié)構(gòu)和同步方式6.使用4.5.2中的方法繪制數(shù)據(jù)列表,判別系統(tǒng)的數(shù)據(jù)類型,包括數(shù)據(jù)拓?fù)浜瓦B續(xù)性類型。7.確定是或否同構(gòu)8.查找表4-1來判斷最合適的軟件體系結(jié)構(gòu)風(fēng)格。如果找不到最合適的,可以選擇有相對較多的共性的風(fēng)格。4.6小結(jié)在本章中,介紹了軟件體系結(jié)構(gòu)級別上的設(shè)計策略。設(shè)計行為被抽象成設(shè)計空間。擴(kuò)展了設(shè)計空間,并將它分為功能設(shè)計空間,體系結(jié)構(gòu)設(shè)計空間與系統(tǒng)設(shè)計空間。而這就是SADPBA的核心概念,以體系結(jié)構(gòu)為中心的設(shè)計過程。介紹了SADPBA的概念與術(shù)語,并討論
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微信開發(fā)合同范本
- 廉潔推廣協(xié)議書
- 豫章書院協(xié)議書
- 英文減產(chǎn)協(xié)議書
- 委托轉(zhuǎn)款協(xié)議書
- 藥材代儲協(xié)議書
- 宴請免責(zé)協(xié)議書
- 租房的潔合同范本
- 資產(chǎn)上劃協(xié)議書
- 藥材合作協(xié)議書
- 2026屆上海市六校生物高一上期末達(dá)標(biāo)檢測模擬試題含解析
- 2025年12月嘉興海寧水務(wù)集團(tuán)下屬企業(yè)公開招聘工作人員3人筆試備考重點試題及答案解析
- 2025年中國鐵路上海局集團(tuán)有限公司蕪湖車務(wù)段客運(yùn)服務(wù)人員招聘參考筆試題庫及答案解析
- 軍人野戰(zhàn)生存課件教學(xué)
- 婦科腫瘤的中醫(yī)藥治療
- 2025廣東廣州越秀區(qū)礦泉街招聘民政前臺工作人員1人備考題庫附答案詳解(基礎(chǔ)題)
- 關(guān)于羊肉的營銷策劃方案
- 2025年衛(wèi)生管理(副高)考試題庫及答案
- 2025天津大學(xué)管理崗位集中招聘15人考試筆試參考題庫及答案解析
- 2025西部機(jī)場集團(tuán)航空物流有限公司招聘筆試考試備考題庫及答案解析
- 2025年智能林業(yè)林業(yè)信息智能化系統(tǒng)建設(shè)方案
評論
0/150
提交評論