體系結(jié)構(gòu)重點(diǎn)及答案_第1頁
體系結(jié)構(gòu)重點(diǎn)及答案_第2頁
體系結(jié)構(gòu)重點(diǎn)及答案_第3頁
體系結(jié)構(gòu)重點(diǎn)及答案_第4頁
體系結(jié)構(gòu)重點(diǎn)及答案_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

題型:填空、判斷、簡答(30分)、綜合應(yīng)用(2x15分)在第11章中以下四題選考兩題:ADD基于體系結(jié)構(gòu)的設(shè)計與普通系統(tǒng)結(jié)構(gòu)設(shè)計的區(qū)別普通體系結(jié)構(gòu)設(shè)計方法是先按功能劃分模塊,后看系統(tǒng)滿足相應(yīng)質(zhì)量,即以功能為主要矛盾,質(zhì)量為次要矛盾來設(shè)計軟件;ADD是將模塊分解過程建立在軟件必須滿足的質(zhì)量屬性之上,再把功能作為模塊的實(shí)例化來把功能附加在模塊上。即先滿足質(zhì)量,在對功能進(jìn)行分配。即以質(zhì)量為主要矛盾,功能為次要矛盾來進(jìn)行體系結(jié)構(gòu)設(shè)計。ADD體系結(jié)構(gòu)的設(shè)計步驟0.樣本輸入。系統(tǒng)要滿足的功能、質(zhì)量及受到的限制。選擇要分解的模塊。從整個系統(tǒng)開始。系統(tǒng)子系統(tǒng)模塊首先要分解的就是系統(tǒng)本身,它是最大的等待分解的模塊。進(jìn)行分解時,要求的所有輸入都應(yīng)該是可獲得的限制條件、功能需求、質(zhì)量需求。2.根據(jù)下列步驟對模塊進(jìn)行求精:a.從具體的質(zhì)量場景和功能需求集合中選擇構(gòu)架驅(qū)動因素。先找到比較重要的功能、重要的質(zhì)量場景及重要的限制條件,但是個數(shù)不能太多。b.選擇或創(chuàng)建滿足構(gòu)架驅(qū)動因素的構(gòu)架模式,確定所用戰(zhàn)術(shù)需要的子模塊。c.實(shí)例化模塊并根據(jù)用例分配功能,使用多個視圖進(jìn)行表示。(把功能分配到模塊上,實(shí)現(xiàn)功能的劃分。)d.定義子模塊的接口。(確定各模塊以何種方式進(jìn)行交互)e.驗(yàn)證用例和質(zhì)量場景并對其進(jìn)行求精,使它們成為子模塊的限制。3.對需要進(jìn)一步分解的每個模塊重復(fù)上述步驟。這樣遞歸的過程一般不超過2~3步。ATAM評估方法的基本步驟描述ATAM方法、描述商業(yè)動機(jī)、描述體系結(jié)構(gòu)、確定體系結(jié)構(gòu)方法、生成質(zhì)量屬性效用樹、分析體系結(jié)構(gòu)方法、討論和分級場景、分析體系結(jié)構(gòu)方法(是第六步的重復(fù))、描述評估結(jié)果。從哪些方面評估軟件體系結(jié)構(gòu),為什么要評估軟件體系結(jié)構(gòu)(1)性能是指系統(tǒng)的影響能力,即要經(jīng)過多長時間才能對某個事件作出響應(yīng),或者在某段事件內(nèi)系統(tǒng)所能處理的事件的個數(shù)。(2)可靠性是軟件系統(tǒng)在應(yīng)用或系統(tǒng)錯誤面前,在意外或錯誤使用的情況下維持軟件系統(tǒng)的功能特性的基本能力。(3)可用性是系統(tǒng)能夠正常運(yùn)行的時間比例。經(jīng)常用兩次故障間的時間長度或在出現(xiàn)故障時系統(tǒng)能夠恢復(fù)正常的速度來表示。(4)安全性是指系統(tǒng)在向合法用戶提供服務(wù)的同時能夠阻止非授權(quán)用戶使用的企圖或拒絕服務(wù)的能力。安全性又可劃分為機(jī)密性、完整性、不可否認(rèn)性及可控性等特性。(5)可修改性是指能夠快速的以較高的性能代價比對系統(tǒng)進(jìn)行變更的能力。(6)功能性是系統(tǒng)所能完成所期望的工作的能力。(7)可變性是指體系結(jié)構(gòu)經(jīng)擴(kuò)充或變更而成為新體系結(jié)構(gòu)的能力。(8)可集成性是指系統(tǒng)能與其他系統(tǒng)協(xié)作的程度(9)互操作性是指與其他環(huán)境或者系統(tǒng)本身相互作用的能力。理由:所謂軟件體系結(jié)構(gòu)的分析評估,就是事先通過代價低廉的評估活動來識別軟件結(jié)構(gòu)中存在的潛在風(fēng)險,找出軟件體系結(jié)構(gòu)中影響系統(tǒng)質(zhì)量的主要因素及改進(jìn)措施,并在此基礎(chǔ)上檢驗(yàn)軟件的質(zhì)量需求是否在具體設(shè)計中得到實(shí)現(xiàn),并預(yù)見未來軟件質(zhì)量。軟件體系結(jié)構(gòu)在軟件開發(fā)和管理中扮演者越來越重要的角色,軟件體系結(jié)構(gòu)設(shè)計對軟件質(zhì)量有著至關(guān)重要的影響,對此最終確保系統(tǒng)的質(zhì)量有重要的意義。軟件體系結(jié)構(gòu)評估,是對系統(tǒng)的某些值的關(guān)心的屬性進(jìn)行評估和判斷。評估的結(jié)果可用于確認(rèn)潛在的風(fēng)險,并檢查設(shè)計階段系統(tǒng)需求的質(zhì)量,在系統(tǒng)被實(shí)際構(gòu)造之前,預(yù)測其屬性質(zhì)量。軟件體系結(jié)構(gòu)的定義,影響軟件體系結(jié)構(gòu)的因素;軟件體系結(jié)構(gòu)在軟件系統(tǒng)中的作用。軟件體系結(jié)構(gòu)是具有一定形式的結(jié)構(gòu)化元素,即構(gòu)件的集合,包括處理構(gòu)件、數(shù)據(jù)構(gòu)件和連接構(gòu)件。處理構(gòu)件負(fù)責(zé)對數(shù)據(jù)進(jìn)行加工,數(shù)據(jù)構(gòu)件是被加工的信息,連接構(gòu)件把體系結(jié)構(gòu)的不同部分組組合連接起來。(軟件體系結(jié)構(gòu)是某個軟件或計算系統(tǒng)的一個或多個結(jié)構(gòu),它們由軟件元素、這些元素的外部可見屬性以及這些元素之間的關(guān)系組成。)因素:系統(tǒng)涉眾的影響,受開發(fā)組織的影響,受設(shè)計師的素質(zhì)和經(jīng)驗(yàn)的影響,受技術(shù)環(huán)境的影響作用:1.規(guī)范軟件開發(fā)的基本架構(gòu);2.便于開發(fā)人員與用戶的溝通;3.模塊化、層次化設(shè)計,有利于減少返工,提高效率;4.便于系統(tǒng)開發(fā)前、后期的籌備與服務(wù)。2、質(zhì)量屬性場景及質(zhì)量屬性戰(zhàn)術(shù)。場景就是對某個實(shí)體與系統(tǒng)的一次交互的簡要描述,質(zhì)量屬性場景是一個有關(guān)質(zhì)量屬性的特定需求,由六部分組成:刺激源:某個生成該刺激的實(shí)體(人、計算機(jī)系統(tǒng)或任何其他激勵器)。刺激:該刺激是當(dāng)刺激到達(dá)系統(tǒng)時需要考慮的條件。環(huán)境:該刺激在某些條件內(nèi)發(fā)生。當(dāng)刺激發(fā)生時,系統(tǒng)可能處于過載,或者正在運(yùn)行,及系統(tǒng)一致性完整性的驗(yàn)證等。根據(jù)WRIGHT語言作者的觀點(diǎn),一種體系結(jié)構(gòu)描述語言應(yīng)該至少提供兩項內(nèi)容:(1)無二義性的精確語義,并能夠進(jìn)行不一致性的檢測。(2)一套支持系統(tǒng)屬性推理的機(jī)制。還有一個目標(biāo)是滿足架構(gòu)師自身的詞匯表達(dá)要求。WRIGHT專注于抽象表述以及為架構(gòu)師提供結(jié)構(gòu)化表達(dá)系統(tǒng)信息的方法。2.C2C2的特色在于支持構(gòu)件重置與圖形他用戶接口(GUI)重用。如今用戶接口占據(jù)了軟件的很大一部分并且重用度相當(dāng)有限。C2著眼于構(gòu)件的重用尤其是系統(tǒng)的進(jìn)化——系統(tǒng)在運(yùn)行時的動態(tài)改變。因此,C2的設(shè)計目標(biāo)基于如下考慮:構(gòu)件可能用不同的編程語言實(shí)現(xiàn)構(gòu)件可能在同一時刻運(yùn)行在分布、異構(gòu)的并且沒有共享地址空間的環(huán)境中運(yùn)行時的結(jié)構(gòu)可能發(fā)生改變可能發(fā)生的多用戶交互可能使用多種工具集涉及多種媒體類型等。3.DarwinDarwin是一種陳述性語言,它為一類系統(tǒng)提供通用的說明符號,這類系統(tǒng)由使用不同交互機(jī)制的不同構(gòu)件組成。它著眼于描述分布式軟件系統(tǒng)。近來關(guān)于分布式系統(tǒng)維護(hù)的相關(guān)研究表明采用分布式構(gòu)造可以降低構(gòu)件的復(fù)雜度。但是,這一優(yōu)勢還不足以抵消由分布式結(jié)構(gòu)帶來的缺點(diǎn)以及結(jié)構(gòu)復(fù)雜度的增加。Darwin的設(shè)計出發(fā)點(diǎn)正是要解決這樣的問題。此外,Darwin同樣支持動態(tài)結(jié)構(gòu)說明。4.ACMEACME是一種交互式ADL,旨在為開發(fā)工具與環(huán)境提供交互格式。設(shè)計中關(guān)鍵點(diǎn)就在于綜合各種獨(dú)立開發(fā)的ADL工具,為交換結(jié)構(gòu)信息提供媒介格式。除了交互這一基本目標(biāo)之外,設(shè)計ACME還考慮了如下目標(biāo):(1)為實(shí)現(xiàn)結(jié)構(gòu)分析與可視化提供表達(dá)模式。(2)為開發(fā)新的特定領(lǐng)域的ADL提供基礎(chǔ)。(3)為體系結(jié)構(gòu)信息表達(dá)提供標(biāo)準(zhǔn)。(4)這種語言必須便于讀寫表達(dá)。此外,ACME通過重表達(dá)的概念來支持分層描述。任意的構(gòu)件與連接器都可以利用更詳盡、更低層的描述被重新表達(dá)。5.xADL基于XML的體系結(jié)構(gòu)描述語音xADL為架構(gòu)師提供了更好的拓展性。xADL將用于快速地構(gòu)造新的ADL。6.UMLUML是一種用可視化方法對軟件系統(tǒng)進(jìn)行描述、實(shí)施和說明的標(biāo)準(zhǔn)語言。支持用不同實(shí)現(xiàn)技術(shù)進(jìn)行的軟件開發(fā)全過程。4、軟件產(chǎn)品線的定義,軟件產(chǎn)品線在軟件開發(fā)過程中的作用,軟件產(chǎn)品線的雙生命周期。軟件產(chǎn)品線是一個適合專業(yè)的軟件開發(fā)組織的軟件開發(fā)方法,能有效地提高軟件生產(chǎn)率和質(zhì)量、縮短開發(fā)時間、降低總開發(fā)成本;也是一個新興的、多學(xué)科交叉的研究領(lǐng)域。軟件產(chǎn)品線是最大程度的軟件重用,可以有效地降低成本、縮短產(chǎn)品面世時間、提高軟件質(zhì)量。雙生命周期:最初的和最簡單的軟件產(chǎn)品線開發(fā)過程的雙生命周期模型分成兩個重疊的生命周期:領(lǐng)域工程和應(yīng)用工程。兩個周期內(nèi)部都分成分析、設(shè)計和實(shí)現(xiàn)三個階段。領(lǐng)域工程階段有以下主要任務(wù)。領(lǐng)域分析:利用現(xiàn)有系統(tǒng)的設(shè)計、體系結(jié)構(gòu)和需求建立領(lǐng)域模型。領(lǐng)域設(shè)計:用領(lǐng)域模型確定領(lǐng)域/產(chǎn)品線的共性和可變性,為產(chǎn)品線設(shè)計體系結(jié)構(gòu)。領(lǐng)域?qū)崿F(xiàn):基于領(lǐng)域體系結(jié)構(gòu)開發(fā)領(lǐng)域可重用資源(構(gòu)件、文檔、代碼生成器)。應(yīng)用工程在領(lǐng)域工程結(jié)果的基礎(chǔ)上構(gòu)造新產(chǎn)品。應(yīng)用工程需要根據(jù)每個應(yīng)用獨(dú)特的需求,經(jīng)過以下階段,生成新產(chǎn)品。需求分析:將系統(tǒng)需求與領(lǐng)域需求比較,劃分成領(lǐng)域公共需求和獨(dú)特需求兩部分,得出系統(tǒng)說明書。系統(tǒng)設(shè)計:在領(lǐng)域體系結(jié)構(gòu)基礎(chǔ)上,結(jié)合系統(tǒng)獨(dú)特需求設(shè)計應(yīng)用的軟件體系結(jié)構(gòu)。系統(tǒng)實(shí)現(xiàn):遵照應(yīng)用體系結(jié)構(gòu),用領(lǐng)域可重用資源實(shí)現(xiàn)領(lǐng)域公共需求,用定制開發(fā)的構(gòu)件滿足系統(tǒng)獨(dú)特需求,構(gòu)建新的系統(tǒng)。應(yīng)用工程將產(chǎn)品線資源不能滿足的需求返回給領(lǐng)域工程以檢驗(yàn)是否將之合并入產(chǎn)品線的需求中。領(lǐng)域工程從應(yīng)用工程中獲得反饋或結(jié)合新產(chǎn)品的需求進(jìn)入又一次周期性發(fā)展,稱此為產(chǎn)品線的演化。SEI將產(chǎn)品線的基本活動分為三部分,核心資源開發(fā)(即領(lǐng)域工程)、產(chǎn)品開發(fā)(即應(yīng)用工程)和管理。SEI模型特點(diǎn):◎循環(huán)重復(fù)是產(chǎn)品線開發(fā)過程的特征,也是核心資源開發(fā)、產(chǎn)品線開發(fā)以及核心資源和產(chǎn)品之間協(xié)作的特征;◎核心資源開發(fā)和產(chǎn)品開發(fā)沒有先后之分;◎管理活動協(xié)調(diào)整個產(chǎn)品線開發(fā)過程的各個活動,對產(chǎn)品線的成敗負(fù)責(zé);◎核心資源開發(fā)和產(chǎn)品開發(fā)是兩個互動的過程,三個活動和整個產(chǎn)品線開發(fā)之間也是雙向互動的。雙生命周期模型圖5、各種軟件體系結(jié)構(gòu)風(fēng)格的特點(diǎn)、優(yōu)點(diǎn)及缺點(diǎn)。A、管道過濾器風(fēng)格特點(diǎn)及優(yōu)點(diǎn):(1)使得軟構(gòu)件具有良好的隱蔽性和高內(nèi)聚、低耦合的特點(diǎn);(2)允許設(shè)計者將整個系統(tǒng)的輸入/輸出行為看成是多個過濾器的行為的簡單合成;(3)支持軟件重用。(4)系統(tǒng)維護(hù)和增強(qiáng)系統(tǒng)性能簡單。(5)允許對一些如吞吐量、死鎖等屬性的分析;(6)支持并行執(zhí)行。缺點(diǎn):1.往往導(dǎo)致系統(tǒng)處理過程的成批操作。2.不適合處理交互的應(yīng)用。3.因?yàn)樵跀?shù)據(jù)傳輸上沒有通用的標(biāo)準(zhǔn),每個過濾器都增加了解析和合成數(shù)據(jù)的工作、這樣就導(dǎo)致了系統(tǒng)性能下降,并增加了編寫過濾器的復(fù)雜性。數(shù)據(jù)抽象和面向?qū)ο笙到y(tǒng)風(fēng)格特點(diǎn):信息隱藏,只通過接口與外界交互,內(nèi)部的設(shè)計決策則被封裝起來隱藏數(shù)據(jù)表示,通過隱藏數(shù)據(jù)表示來增強(qiáng)抽象度,維護(hù)數(shù)據(jù)表達(dá)格式的完整性模擬現(xiàn)實(shí)世界,對名詞而不是對動詞編程,每個對象也定義了它所能執(zhí)行的動作,以及可以作用在它上面的動作優(yōu)點(diǎn):1.因?yàn)閷ο髮ζ渌鼘ο箅[藏它的表示,所以可以改變一個對象的表示,而不影響其它的對象;2.設(shè)計者可將一些數(shù)據(jù)存取操作的問題分解成一些交互的代理程序的集合。3.繼承關(guān)系,實(shí)現(xiàn)代碼級的重用。缺點(diǎn):1為了使一個對象和另一個對象通過過程調(diào)用等進(jìn)行交互,必須知道對象的標(biāo)識。只要一個對象的標(biāo)識改變了,就必須修改所有其他顯式調(diào)用它的對象。2必須修改所有顯式調(diào)用它的其它對象,并消除由此帶來的一些副作用。繼承往往使得設(shè)計變得復(fù)雜,引入的多層對象結(jié)構(gòu)使得維護(hù)困難。C、基于事件的系統(tǒng)風(fēng)格(隱式調(diào)用)特點(diǎn):1.事件的觸發(fā)者并不知道哪些構(gòu)件會被這些事件影響。2.這樣不能假定構(gòu)件的處理順序,甚至不知道哪些過程會被調(diào)用。3.因此,許多隱式調(diào)用的系統(tǒng)也包含顯式調(diào)用作為構(gòu)件交互的補(bǔ)充形式。優(yōu)點(diǎn):為軟件重用提供了強(qiáng)大的支持;為改進(jìn)系統(tǒng)帶來了方便;缺點(diǎn):構(gòu)件放棄了對系統(tǒng)計算的控制;數(shù)據(jù)交換的問題;既然過程的語義必須依賴于被觸發(fā)事件的上下文約束,關(guān)于正確性的推理存在問題。D、事件驅(qū)動風(fēng)格特點(diǎn):1.系統(tǒng)是由若干子系統(tǒng)或元素所組成的一個整體。2.系統(tǒng)有一定的目標(biāo),各子系統(tǒng)在某一種消息機(jī)制的控制下,為了這個目標(biāo)而協(xié)調(diào)行動。3.在某一種消息機(jī)制的控制下,系統(tǒng)作為一個整體與環(huán)境相適應(yīng)和協(xié)調(diào)。4.在一個系統(tǒng)的若干子系統(tǒng)中,必定有一個子系統(tǒng)起著主導(dǎo)作用,而其它子系統(tǒng)則處于從屬地位。5.任一系統(tǒng)和系統(tǒng)內(nèi)的任一元素,都有一個事件收集機(jī)制和一個事件處理機(jī)制,通過這種機(jī)制與周圍環(huán)境發(fā)生作用和聯(lián)系。優(yōu)點(diǎn):(1)便于重用。(2)對事件的并發(fā)處理將提高系統(tǒng)性能;(3)具有良好的可擴(kuò)展性。(4)定義了包含執(zhí)行子系統(tǒng)和管理子系統(tǒng)的類層次結(jié)構(gòu),實(shí)現(xiàn)了對客戶的透明。(5)簡化客戶代碼。(6)使整個系統(tǒng)的設(shè)計更具有一般化。使用者可以很容易添加新的子系統(tǒng)。(7)健壯性:一個構(gòu)件出錯將不會影響其他構(gòu)件。缺點(diǎn):(1)構(gòu)件削弱了自身對系統(tǒng)計算的控制能力。(2)事件驅(qū)動風(fēng)格中存在數(shù)據(jù)交換問題。大量數(shù)據(jù)的交互往往無法由事件攜帶,從而帶來性能問題。(3)存在的另一個問題是數(shù)據(jù)共享。(4)系統(tǒng)中各個對象的邏輯關(guān)系變得更加復(fù)雜。E、分層系統(tǒng)風(fēng)格特點(diǎn):基于可增加抽象層的設(shè)計優(yōu)點(diǎn):1.支持基于抽象程度遞增的系統(tǒng)設(shè)計,使設(shè)計者可以把一個復(fù)雜系統(tǒng)按遞增的步驟進(jìn)行分解;2.支持功能增強(qiáng),因?yàn)槊恳粚又炼嗪拖噜彽纳舷聦咏换?,因此功能的改變最多影響相鄰的上下層?.支持重用。缺點(diǎn):1.并不是每個系統(tǒng)都可以很容易地劃分為分層的模式,甚至即使一個系統(tǒng)的邏輯結(jié)構(gòu)是層次化的,出于對系統(tǒng)性能的考慮,系統(tǒng)設(shè)計師不得不把一些低級或高級的功能綜合起來;2.很難找到一個合適的、正確的層次抽象方法。3.跨層使用可能會損壞整個系統(tǒng)模型。F、倉庫系統(tǒng)(黑板)風(fēng)格特點(diǎn):當(dāng)把整個問題分解成子問題時,各個子問題涵蓋了不同的領(lǐng)域知識和解決方法。每一個子問題的解決需要不同的問題表達(dá)方式和求解模型。在多數(shù)情況下,找不到確定的求解策略。這與把問題分解成多個求解部分的功能分解形成對照。優(yōu)點(diǎn):1.便于多客戶共享大量數(shù)據(jù),它們不用關(guān)心數(shù)據(jù)是何時出現(xiàn)的、誰提供的、怎樣提供的。2.便于添加新的作為知識源代理的應(yīng)用程序,也便于擴(kuò)展共享的黑板數(shù)據(jù)結(jié)構(gòu)。3.可重用的知識源。4.支持容錯性和健壯性。G、C2風(fēng)格特點(diǎn):1.系統(tǒng)中的構(gòu)件可實(shí)現(xiàn)應(yīng)用需求,并能將任意復(fù)雜度的功能封裝在一起;2.所有構(gòu)件之間的通信是通過以連接件為中介的異步消息交換機(jī)制來實(shí)現(xiàn)的;3.構(gòu)件間相對獨(dú)立,構(gòu)件之間依賴性較少。H、客戶/服務(wù)器風(fēng)格特點(diǎn):客戶端應(yīng)用程序是針對一個小的、特定的數(shù)據(jù)集;對某一條記錄進(jìn)行封鎖,而不是對整個文件進(jìn)行封鎖,因此保證了系統(tǒng)的并發(fā)性,并使網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)量減到最少,從而改善了系統(tǒng)的性能。優(yōu)點(diǎn):1.C/S體系結(jié)構(gòu)具有強(qiáng)大的數(shù)據(jù)操作和事務(wù)處理能力,模型思想簡單,易于人們理解和接受。2.系統(tǒng)的客戶應(yīng)用程序和服務(wù)器構(gòu)件分別運(yùn)行在不同的計算機(jī)上,系統(tǒng)中每臺服務(wù)器都可以適合各構(gòu)件的要求,這對于硬件和軟件的變化顯示出極大的適應(yīng)性和靈活性,而且易于對系統(tǒng)進(jìn)行擴(kuò)充和縮小。3.在C/S體系結(jié)構(gòu)中,系統(tǒng)中的功能構(gòu)件充分隔離,客戶應(yīng)用程序的開發(fā)集中于數(shù)據(jù)的顯示和分析,而數(shù)據(jù)庫服務(wù)器的開發(fā)則集中于數(shù)據(jù)的管理,不必在每一個新的應(yīng)用程序中都要對一個DBMS進(jìn)行編碼。將大的應(yīng)用處理任務(wù)分布到許多通過網(wǎng)絡(luò)連接的低成本計算機(jī)上,以節(jié)約大量費(fèi)用。缺點(diǎn):1.開發(fā)成本較高2.客戶端程序設(shè)計復(fù)雜3.信息內(nèi)容和形式單一4.用戶界面風(fēng)格不一,使用繁雜,不利于推廣使用5.軟件移植困難6.軟件維護(hù)和升級困難7.新技術(shù)不能輕易應(yīng)用I、三層C/S結(jié)構(gòu)風(fēng)格特點(diǎn):表示層是圖形化的、事件驅(qū)動的,功能層是過程化的,數(shù)據(jù)層是結(jié)構(gòu)化和非過程的,三層進(jìn)行明確分割,并在邏輯上獨(dú)立。優(yōu)點(diǎn):1.允許合理地劃分三層結(jié)構(gòu)的功能,使之在邏輯上保持相對獨(dú)立性,能提高系統(tǒng)和軟件的可維護(hù)性和可擴(kuò)展性。2.允許更靈活有效地選用相應(yīng)的平臺和硬件系統(tǒng),使之在處理負(fù)荷能力上與處理特性上分別適應(yīng)于結(jié)構(gòu)清晰的三層;并且這些平臺和各個組成部分可以具有良好的可升級性和開放性。3.應(yīng)用的各層可以并行開發(fā),可以選擇各自最適合的開發(fā)語言。4.利用功能層有效地隔離開表示層與數(shù)據(jù)層,未授權(quán)的用戶難以繞過功能層而利用數(shù)據(jù)庫工具或黑客手段去非法地訪問數(shù)據(jù)層,為嚴(yán)格的安全管理奠定了堅實(shí)的基礎(chǔ)。缺點(diǎn):1.三層C/S結(jié)構(gòu)各層間的通信效率若不高,即使分配給各層的硬件能力很強(qiáng),其作為整體來說也達(dá)不到所要求的性能。2.設(shè)計時必須考慮三層間的通信方法、通信頻度及數(shù)據(jù)量。這和提高各層的獨(dú)立性一樣是三層C/S結(jié)構(gòu)的關(guān)鍵問題。J、瀏覽/服務(wù)器(B/S)風(fēng)格特點(diǎn):主要是利用不斷成熟的WWW瀏覽器技術(shù),結(jié)合瀏覽器的多種腳本語言,用通用瀏覽器就實(shí)現(xiàn)了原來需要復(fù)雜的專用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本。從某種程度上來說,B/S結(jié)構(gòu)是一種全新的軟件體系結(jié)構(gòu)。優(yōu)點(diǎn):1.基于B/S體系結(jié)構(gòu)的軟件,系統(tǒng)安裝、修改和維護(hù)全在服務(wù)器端解決。用戶在使用系統(tǒng)時,僅僅需要一個瀏覽器就可運(yùn)行全部的模塊,真正達(dá)到了“零客戶端”的功能,很容易在運(yùn)行時自動升級。2.B/S體系結(jié)構(gòu)還提供了異種機(jī)、異種網(wǎng)、異種應(yīng)用服務(wù)的聯(lián)機(jī)、聯(lián)網(wǎng)、統(tǒng)一服務(wù)的最現(xiàn)實(shí)的開放性基礎(chǔ)。缺點(diǎn):1.B/S體系結(jié)構(gòu)缺乏對動態(tài)頁面的支持能力,沒有集成有效的數(shù)據(jù)庫處理功能。2.B/S體系結(jié)構(gòu)的系統(tǒng)擴(kuò)展能力差,安全性難以控制。3.采用B/S體系結(jié)構(gòu)的應(yīng)用系統(tǒng),在數(shù)據(jù)查詢等響應(yīng)速度上,要遠(yuǎn)遠(yuǎn)地低于C/S體系結(jié)構(gòu)。4.B/S體系結(jié)構(gòu)的數(shù)據(jù)提交一般以頁面為單位,數(shù)據(jù)的動態(tài)交互性不強(qiáng),不利于在線事務(wù)處理(OLTP)應(yīng)用。K、公共對象請求代理體系結(jié)構(gòu)風(fēng)格(CORBA)特點(diǎn):1.引入中間作為事務(wù)代理,完成客戶機(jī)向服務(wù)對象方(Server)提出的業(yè)務(wù)請求;2.實(shí)現(xiàn)客戶與服務(wù)對象的完全分離,客戶不需要了解服務(wù)對象的實(shí)現(xiàn)過程以及具體位置;3.提供軟總線機(jī)制,使得在任何環(huán)境下、采用任何語言開發(fā)的軟件只要符合接口規(guī)范的定義,均能夠集成到分布式系統(tǒng)中;4.CORBA規(guī)范軟件系統(tǒng)采用面向?qū)ο蟮能浖?shí)現(xiàn)方法開發(fā)應(yīng)用系統(tǒng),實(shí)現(xiàn)對象內(nèi)部細(xì)節(jié)的完整封裝,保留對象方法的對外接口定義。L、正交軟件體系結(jié)構(gòu)風(fēng)格特點(diǎn):1.正交軟件體系結(jié)構(gòu)由完成不同功能的n(n>1)個線索(子系統(tǒng))組成;2.系統(tǒng)具有m(m>1)個不同抽象級別的層;

3.線索之間是相互獨(dú)立的(正交的);

4.系統(tǒng)有一個公共驅(qū)動層(一般為最高層)和公共數(shù)據(jù)結(jié)構(gòu)(一般為最低層)。優(yōu)點(diǎn):1.結(jié)構(gòu)清晰,易于理解。2.易修改,可維護(hù)性強(qiáng)。3.可移植性強(qiáng),重用粒度大。M、基于層次消息總線的體系結(jié)構(gòu)風(fēng)格(HMB)特點(diǎn):由構(gòu)件模型、構(gòu)建接口、消息總線、構(gòu)建靜態(tài)結(jié)構(gòu)和構(gòu)件動態(tài)行為組成。優(yōu)點(diǎn):方便支持運(yùn)行時刻的系統(tǒng)演化N、異構(gòu)結(jié)構(gòu)風(fēng)格特點(diǎn):一個完善的系統(tǒng)可能由各種各樣的體系結(jié)構(gòu)風(fēng)格組成,具體的組成方法要依據(jù)系統(tǒng)需求和各種體系結(jié)構(gòu)風(fēng)格的優(yōu)勢來確定。優(yōu)點(diǎn):幫助開發(fā)人員更好地理解整個系統(tǒng)和品質(zhì)特征,能夠恰當(dāng)運(yùn)用體系結(jié)構(gòu)風(fēng)格的系統(tǒng)。設(shè)計出的系統(tǒng)要滿足需要的質(zhì)量屬性。缺點(diǎn):不能受限于某種體系結(jié)構(gòu)的風(fēng)格具體形式。O、互連系統(tǒng)構(gòu)成的系統(tǒng)及其體系結(jié)構(gòu)(SIS)風(fēng)格特點(diǎn):系統(tǒng)可以分為若干不同部分,每個部分作為單獨(dú)的系統(tǒng)獨(dú)立開發(fā),整個系統(tǒng)通過一組互連系統(tǒng)實(shí)現(xiàn),履行系統(tǒng)的職責(zé)是其之間相互通信。優(yōu)點(diǎn):降低復(fù)雜性提高系統(tǒng)開發(fā)的并行性提高系統(tǒng)可維護(hù)性缺點(diǎn):資源管理開銷增大,開發(fā)進(jìn)度無法同步。P、特定領(lǐng)域軟件體系結(jié)構(gòu)(DSSA)風(fēng)格特點(diǎn):1.一個嚴(yán)格定義的問題域和/或解決域2.普遍性3.對整個領(lǐng)域的合適程度的抽象4.具備領(lǐng)域固定的、典型的在開發(fā)過程中可重用元素優(yōu)點(diǎn):系統(tǒng)開發(fā)、維護(hù)的工作量大幅度減少,整個應(yīng)用系統(tǒng)的構(gòu)件重用程序相當(dāng)大。便于系統(tǒng)開發(fā)的組織管理系統(tǒng)有較好的環(huán)境適應(yīng)性Q、面向服務(wù)的體系結(jié)構(gòu)風(fēng)格(SOA)特點(diǎn):是一個組件模型,服務(wù)之間定義良好的接口而將其聯(lián)系起來。接口是采用中立的方式進(jìn)行定義,所有的功能都定義成了獨(dú)立的服務(wù),服務(wù)之間通過交互、協(xié)調(diào)作業(yè)從而完成業(yè)務(wù)的整體邏輯,所有服務(wù)通過服務(wù)總線或流程管理器來連接服務(wù)和提高服務(wù)請求的路徑。優(yōu)點(diǎn):松散耦合,基于行業(yè)標(biāo)準(zhǔn),可重用的服務(wù),同步服務(wù)調(diào)用RPC方式,異步服務(wù)調(diào)用-文檔方式,利用現(xiàn)有組件開發(fā),數(shù)據(jù)訪問服務(wù),組合服務(wù),共享的或企業(yè)的基礎(chǔ)架構(gòu)服務(wù),細(xì)粒度服務(wù),粗粒度服務(wù)6、體系結(jié)構(gòu)商業(yè)周期軟件體系結(jié)構(gòu)(SA)是技術(shù)、商業(yè)和社會等諸多因素作用的結(jié)果,而軟件SA的存在反過來又會影響技術(shù)、商業(yè)和社會環(huán)境,從而影響未來的SA。我們把這種相互影響的周期-------從環(huán)境到SA又返回到環(huán)境------稱作SA商業(yè)周期。7、激發(fā)模型8、4+1模型1.功能視圖是系統(tǒng)功能及其關(guān)系的抽象。功能視圖由功能、關(guān)鍵系統(tǒng)抽象和領(lǐng)域元素組成。這種視圖中,各部分之間有依賴關(guān)系和數(shù)據(jù)流關(guān)系。該視圖的使用者是領(lǐng)域工程師、產(chǎn)品線設(shè)計師和系統(tǒng)的最終用戶。這些風(fēng)險承擔(dān)者是從功能性、數(shù)據(jù)在各部分之間的流動、軟件體系結(jié)構(gòu)所應(yīng)支持的功能性的變化等角度來考慮這一視圖的。2.并發(fā)視圖在部署復(fù)雜系統(tǒng)時,一般將該系統(tǒng)打包成一組進(jìn)程或線程,并將這些進(jìn)程或線程配置到各計算資源。在確定要創(chuàng)建哪些進(jìn)程或線程、它們之間如何通信、怎樣共享(或競爭)資源等問題時,并發(fā)視圖是必不可少的步驟之一。該視圖的組成部分是進(jìn)程和線程,它們通過數(shù)據(jù)流、事件、對共享資源的同步等進(jìn)行交互。該視圖的使用者是關(guān)心系統(tǒng)部署、系統(tǒng)性能和可用性的人士以及負(fù)責(zé)系統(tǒng)集成或測試的人員。該視圖用于作出關(guān)于系統(tǒng)性能、可用性及其部署的推斷。在這一部分中,每個進(jìn)程都被復(fù)制為3份,并群集為操作單元小組。操作單元中的每個進(jìn)程都被分配給不同的處理器,但該視圖有意未表示出這一信息。各個操作單元按照客戶機(jī)服務(wù)器方式組織起來。每個操作單元都由主地址空間(primaryaddressspace,簡稱PAS)進(jìn)程和備用地址空間(standbyaddressspace,簡稱SAS)進(jìn)程組成。主地址空間進(jìn)程通過數(shù)據(jù)管理消息向其輔助進(jìn)程發(fā)送數(shù)據(jù),從而實(shí)現(xiàn)備用地址空間進(jìn)程與主地址空間進(jìn)程的同步。如果主地址空間進(jìn)程出現(xiàn)了故障,某個備用地址空間進(jìn)程就會被提升為主地址空間進(jìn)程。要注意,該視圖沒有說明每個操作單元的功能,也沒有說明進(jìn)程是如何分配給各個處理器的。如前所述,這些信息是有意省略的。3.開發(fā)視圖開發(fā)視圖是開發(fā)人員所看到的視圖。它是作為倉庫的源代碼結(jié)構(gòu)視圖,由各個使用者(程序員或維護(hù)人員)創(chuàng)建、修改或管理。該視圖一般由文件和目錄(雖然也有將所有源文件放入數(shù)據(jù)庫之類的其他組織形式)組成,文件和目錄之間主要是包含關(guān)系。除了程序員和維護(hù)人員之外,開發(fā)視圖的使用者還有項目經(jīng)理和配置管理人員等。風(fēng)險承擔(dān)者使用該視圖考慮系統(tǒng)的可修改性/可維護(hù)性、對系統(tǒng)的開發(fā)及測試工作進(jìn)行劃分,并控制配置管理和系統(tǒng)的版本。4.物理視圖物理視圖描述了從硬件資源的角度來看系統(tǒng)是如何部署的。如果系統(tǒng)小、功能簡單,其物理視圖同樣也簡單:可能所有的處理都是在一臺計算機(jī)上完成的。但對復(fù)雜的系統(tǒng)而言,可能要用到許多傳感器、執(zhí)行器、存儲設(shè)備、網(wǎng)絡(luò)及計算機(jī)。該視圖的組成部分是處理器、傳感器、執(zhí)行器和存儲器。各部分之間的關(guān)系常常體現(xiàn)為網(wǎng)絡(luò)或其他通信設(shè)備(如通信衛(wèi)星或無線調(diào)制解調(diào)器)。該視圖的使用者是除了性能、可用性、可擴(kuò)展性和安全性之外,還要兼顧系統(tǒng)交付、安裝和升級(有些情況下,要在系統(tǒng)運(yùn)行時進(jìn)行升級)等工作的硬件或系統(tǒng)工程師。邏輯視圖。元素為“關(guān)鍵的抽象”,在面向?qū)ο笾斜硎緸閷ο蠡驅(qū)ο箢?。這是一個模塊視圖。進(jìn)程視圖。該視圖解決了功能的并發(fā)和分布問題。這是一個組件—連接器視圖。開發(fā)視圖。該視圖展示了軟件模塊、庫、子系統(tǒng)和開發(fā)單元的組織。它是一個分配視圖,將軟件映射到了開發(fā)環(huán)境中。物理視圖。該視圖將其他元素映射到了處理和通信節(jié)點(diǎn)上,它也是一個分配視圖(有些人把它叫做部署視圖)。視圖是在構(gòu)建或分析軟件體系結(jié)構(gòu)時,分離問題的一種手段。使用不同的視圖,可使我們從不同的角度研究軟件體系結(jié)構(gòu)。經(jīng)??梢越柚鞣N視圖或者是各種視圖的融合或重疊得到關(guān)于軟件體系結(jié)構(gòu)的有用信息。選用能夠表達(dá)軟件體系結(jié)構(gòu)重要信息的視圖。9、青鳥構(gòu)建模型青鳥構(gòu)件庫就是采用刻面分類方法對構(gòu)件進(jìn)行分類的,這些刻畫包括以下內(nèi)容:

使用環(huán)境使用(包括理解/組裝/修改)該構(gòu)件時必須提供的硬件和軟件平臺(platform)。

應(yīng)用領(lǐng)域構(gòu)件原來或可能被使用到的應(yīng)用領(lǐng)域(及其子領(lǐng)域)的名稱。

功能在原有或可能的軟件系統(tǒng)中所提供的軟件功能集合。

層次構(gòu)件相對于軟件開發(fā)過程階段的抽象層次,如分析、設(shè)計、編碼等。

表示方法用來描述構(gòu)件內(nèi)容的語言形式或媒體,如源代碼構(gòu)件所用的編程語言環(huán)境等。10、異構(gòu)體系結(jié)構(gòu)所有的體系結(jié)構(gòu)不僅有很緊密的聯(lián)系,而且在大多數(shù)情況下是被一起使用的。對于一個實(shí)際的系統(tǒng),甚至不能判斷它是A風(fēng)格、B風(fēng)格還是C風(fēng)格,因?yàn)闆]有足夠的理由把它歸為任何一種獨(dú)立的體系結(jié)構(gòu)風(fēng)格。這種系統(tǒng)類型可以被稱為復(fù)合系統(tǒng),這種系統(tǒng)的構(gòu)建模式被稱為異構(gòu)風(fēng)格的集成。1.“內(nèi)外有別”模型在該模型中,企業(yè)內(nèi)部用戶通過局域網(wǎng)直接訪問數(shù)據(jù)庫服務(wù)器,軟件系統(tǒng)采用C/S體系結(jié)構(gòu);企業(yè)外部用戶通過Internet訪問Web服務(wù)器,通過Web服務(wù)器再訪

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論