軟件體系結(jié)構(gòu)最新總結(jié)_第1頁
軟件體系結(jié)構(gòu)最新總結(jié)_第2頁
軟件體系結(jié)構(gòu)最新總結(jié)_第3頁
軟件體系結(jié)構(gòu)最新總結(jié)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、1. 軟件危機(jī):指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。2. 軟件危機(jī)的表現(xiàn):(重點(diǎn))1軟件的成本日益增長 2開發(fā)進(jìn)度難以控制 3軟件質(zhì)量差,4軟件維護(hù)困難3. 軟件危機(jī)的成因:1用戶需求不明確 2缺乏正確的理論指導(dǎo) 3軟件規(guī)模越來越大 4軟件復(fù)雜度越來越高4. 軟件工程三個(gè)要素:方法、工具和過程 -(重點(diǎn))5. 軟件重用是指在兩次或多次不同的軟件開發(fā)過程中重復(fù)使用相同或相近軟件元素的過程。6. 軟件元素包括程序代碼、測試用例、設(shè)計(jì)文檔、設(shè)計(jì)過程、需求分析文檔甚至領(lǐng)域知識7. 構(gòu)件:指語義完整、語法正確和有可重用價(jià)值的單位軟件,是軟件重用過程中可以明確辨識的系統(tǒng)。即是具有一定功

2、能,能夠獨(dú)立工作或能同其他構(gòu)件裝配起來協(xié)調(diào)工作的程序體。8. 構(gòu)件分類方法歸納為三大類:關(guān)鍵字分類法,刻面分類法和超文本組織方法 -(重點(diǎn))9. 構(gòu)件庫系統(tǒng)是一個(gè)開放的公共構(gòu)件共享機(jī)制,任何使用者都可以通過網(wǎng)絡(luò)訪問構(gòu)件庫。-判斷10. 軟件體系結(jié)構(gòu)(software architecture -SA)記住英語單詞及縮寫-(重點(diǎn))定義:軟件體系結(jié)構(gòu)為軟件系統(tǒng)提供了一個(gè)結(jié)構(gòu)、行為和屬性的高級抽象,由構(gòu)成系統(tǒng)的元素的描述、這些元素的相互作用、指導(dǎo)元素集成的模式以及這些模式的約束組成。11. 軟件體系結(jié)構(gòu)的意義:-(簡答)1)體系結(jié)構(gòu)是風(fēng)險(xiǎn)承擔(dān)者進(jìn)行交流的手段;2)體系結(jié)構(gòu)是早期設(shè)計(jì)決策的體現(xiàn);3)體

3、系結(jié)構(gòu)是可傳遞和可重用的模型12. 為什么體系結(jié)構(gòu)是早期設(shè)計(jì)決策的體現(xiàn)-(簡答)1)軟件體系結(jié)構(gòu)明確了對系統(tǒng)實(shí)現(xiàn)的約束條件;2)軟件體系結(jié)構(gòu)決定了開發(fā)和維護(hù)組織的組織結(jié)構(gòu);3)軟件體系結(jié)構(gòu)制約著系統(tǒng)的質(zhì)量屬性;4)軟件體系結(jié)構(gòu)通過研究軟件體系結(jié)構(gòu)可能預(yù)測軟件的質(zhì)量;5)軟件體系結(jié)構(gòu)使推理和控制更改更加簡單;6)軟件體系結(jié)構(gòu)有助于循序漸進(jìn)的原型設(shè)計(jì);7)軟件體系結(jié)構(gòu)可以作為培訓(xùn)的基礎(chǔ)13. 軟件體系結(jié)構(gòu)技術(shù)的發(fā)展過程經(jīng)歷四個(gè)階段:-選擇,判斷(1) “無體系結(jié)構(gòu)”設(shè)計(jì)階段-以匯編語言進(jìn)行小規(guī)模應(yīng)用程序開發(fā)為特征。(2) 萌芽階段-以控制流圖和數(shù)據(jù)流圖構(gòu)成軟件結(jié)構(gòu)為特征(3) 初期階段-出現(xiàn)了從不

4、同側(cè)面描述系統(tǒng)的結(jié)構(gòu)模型,以UML為典型代表(4) 高級階段-描述系統(tǒng)的高層抽象結(jié)構(gòu),以提出的“4+1”模型為標(biāo)志14. 軟件體系結(jié)構(gòu)模型5種:結(jié)構(gòu)模型、框架模型、動(dòng)態(tài)模型、過程模型和功能模型。-填空15. “4+1”視圖模型從五個(gè)不同的視角,包括邏輯試圖,進(jìn)程試圖,物理視圖,開發(fā)視圖和場景視圖來描述軟件體系結(jié)構(gòu)。 -記住名稱及相應(yīng)的功能邏輯視圖主要支持系統(tǒng)的功能需求,是系統(tǒng)提供給最終用戶的服務(wù)。通過抽象,封裝和繼承,可以用對象模型來代表邏輯視圖,用類圖來描述邏輯視圖;開發(fā)視圖也稱模塊視圖,主要側(cè)重于軟件模塊的組織和管理,主要考慮軟件內(nèi)部的需求,如軟件開發(fā)的容易性、軟件的重用等,通過系統(tǒng)輸入輸

5、出關(guān)系的模型圖和子系統(tǒng)圖來描述,提供給編程人員的;進(jìn)程視圖側(cè)重于系統(tǒng)的運(yùn)行特性,主要關(guān)注非功能性的需求,如系統(tǒng)的性能和可用性。進(jìn)程視圖強(qiáng)調(diào)并發(fā)性、分布性、系統(tǒng)集成性和容錯(cuò)能力管道和過濾器風(fēng)格、客戶/服務(wù)器風(fēng)格等適合進(jìn)程視圖,提供給系統(tǒng)集成人員的;物理視圖主要考慮如何把軟件映射到硬件上,它通??紤]系統(tǒng)性能、規(guī)模、可靠性等,解決系統(tǒng)拓?fù)浣Y(jié)構(gòu)、系統(tǒng)安裝、通信問題,提供給系統(tǒng)工程人員的。而場景是那些重要系統(tǒng)活動(dòng)的抽象,它使四個(gè)視圖有機(jī)聯(lián)系起來,是最重要的需求抽象,它可以幫助設(shè)計(jì)者找到系統(tǒng)結(jié)構(gòu)的構(gòu)件和他們之間的作用關(guān)系??傊?,邏輯視圖和開發(fā)視圖描述系統(tǒng)的靜態(tài)結(jié)構(gòu),而進(jìn)程視圖和物理視圖描述系統(tǒng)的動(dòng)態(tài)結(jié)構(gòu)。

6、軟件體系結(jié)構(gòu)的核心模型由五中元素組成:構(gòu)件、連接件、配置、端口和角色。16. 軟件體系結(jié)構(gòu)的核心模型由五種元素組成:構(gòu)件、連接件、配置、端口和角色。其中構(gòu)件、連接件和配置是最基本的元素。-填空17. 軟件體系結(jié)構(gòu)的建立應(yīng)位于需求分析之后,軟件設(shè)計(jì)(也稱概要設(shè)計(jì))之前18. 軟件體系結(jié)構(gòu)風(fēng)格是描述某一特定應(yīng)用領(lǐng)域中系統(tǒng)組織方式的慣用模式。軟件體系結(jié)構(gòu)風(fēng)格反映了領(lǐng)域中眾多系統(tǒng)所共有的結(jié)構(gòu)和語義特性。19. 通用體系結(jié)構(gòu)風(fēng)格的分類:-填空或選擇 -重點(diǎn)記憶黑體部分屬于哪一風(fēng)格1)數(shù)據(jù)流風(fēng)格:批處理序列,管道/過濾器2)調(diào)用/返回風(fēng)格:主程序/子程序,面向?qū)ο箫L(fēng)格,層次結(jié)構(gòu)3)獨(dú)立構(gòu)件風(fēng)格:進(jìn)程通信,

7、事件系統(tǒng)4)虛擬機(jī)風(fēng)格:解釋器,基于規(guī)則的系統(tǒng)5)倉庫風(fēng)格:數(shù)據(jù)庫系統(tǒng),超文本系統(tǒng),黑板系統(tǒng)20. C/S體系結(jié)構(gòu)三個(gè)主要組成部分:數(shù)據(jù)庫服務(wù)器、客戶應(yīng)用程序和網(wǎng)絡(luò)21. C/S優(yōu)點(diǎn)-客戶應(yīng)用程序和服務(wù)器構(gòu)件分別運(yùn)行在不同計(jì)算機(jī),對于硬件和軟件的變化顯示出極大的適應(yīng)性和靈活性,而且易于對系統(tǒng)進(jìn)行擴(kuò)充和縮?。幌到y(tǒng)中功能構(gòu)件充分隔離,客戶應(yīng)用程序的開發(fā)集中于數(shù)據(jù)的顯示和分析,將大應(yīng)用處理任務(wù)分布到許多通過網(wǎng)絡(luò)連接的低成本計(jì)算機(jī)上,節(jié)約大量的費(fèi)用。-自己簡要回答C/S缺點(diǎn)-開發(fā)成本高;客戶端程序設(shè)計(jì)復(fù)雜;信息內(nèi)容和形式單一;用戶界面風(fēng)格不一;軟件移植困難;軟件維護(hù)和升級困難;新技術(shù)不易應(yīng)用。22.

8、三層C/S體系結(jié)構(gòu)將應(yīng)用功能分成表示層、功能層和數(shù)據(jù)層三個(gè)部分。23. 瀏覽器/服務(wù)器(browser/server,B/S)結(jié)構(gòu),其具體結(jié)構(gòu)為:瀏覽器/Web服務(wù)器/數(shù)據(jù)庫服務(wù)器。B/S體系結(jié)構(gòu)主要是利用不斷成熟的WWW瀏覽器技術(shù),在B/S結(jié)構(gòu)中除了數(shù)據(jù)庫服務(wù)器外,應(yīng)用程序以網(wǎng)頁形式存放于Web服務(wù)器上。基于B/S體系結(jié)構(gòu)的軟件,系統(tǒng)安裝、修改和維護(hù)全在服務(wù)器端解決,真正達(dá)到了“零客戶端”的功能。24. B/S體系結(jié)構(gòu)的不足之處:1)缺乏對動(dòng)態(tài)頁面的支持能力,沒有集成有效的數(shù)據(jù)庫處理功能2)系統(tǒng)擴(kuò)展能力差,安全性難以控制。3)采用B/S體系結(jié)構(gòu)的應(yīng)用系統(tǒng),在數(shù)據(jù)查詢等響應(yīng)速度上,要遠(yuǎn)遠(yuǎn)地低于

9、C/S體系結(jié)構(gòu)。4)B/S體系結(jié)構(gòu)的數(shù)據(jù)提交一般以頁面為單位,數(shù)據(jù)的動(dòng)態(tài)交互性不強(qiáng),不利于在線事務(wù)處理應(yīng)用。25. 正交軟件體系結(jié)構(gòu)由組織層和線索的構(gòu)件構(gòu)成。線索是相互獨(dú)立的。25. 正交軟件體系結(jié)構(gòu)的主要特征:1正交軟件體系結(jié)構(gòu)由完成不同功能的n個(gè)線索組成。2系統(tǒng)具有m個(gè)不同抽象級別的層。3線索之間是相互獨(dú)立的(正交的)。4系統(tǒng)有一個(gè)公共驅(qū)動(dòng)層(一般為最高層)和公共數(shù)據(jù)結(jié)構(gòu)(一般為最低層)。26. 正交軟件體系結(jié)構(gòu)的優(yōu)點(diǎn):-簡答1結(jié)構(gòu)清晰,易于理解-形式易于理解,線索功能相互獨(dú)立,不進(jìn)行相互調(diào)用;2易修改,可維護(hù)性強(qiáng)-由于線索的相互獨(dú)立,所以對一個(gè)線索的修改不會(huì)影響到其他線索;3可移植性強(qiáng),

10、重用粒度大-因?yàn)檎唤Y(jié)構(gòu)可以為一個(gè)領(lǐng)域內(nèi)的所有應(yīng)用程序所共享,這些軟件有著相同或類似的層次和線索,可以實(shí)現(xiàn)體系結(jié)構(gòu)級地重用27. 隨著軟件系統(tǒng)規(guī)模的擴(kuò)大,系統(tǒng)也越來越復(fù)雜,所有的系統(tǒng)不可能都在單一的,標(biāo)準(zhǔn)的結(jié)構(gòu)上進(jìn)行設(shè)計(jì)。 -可能有判斷, 即一種體系結(jié)構(gòu)有多種風(fēng)格(對)28. 特定領(lǐng)域軟件體系結(jié)構(gòu)(domain specific software architecture,DSSA):是在一個(gè)特定應(yīng)用領(lǐng)域中為一組應(yīng)用提供組織結(jié)構(gòu)參考的標(biāo)準(zhǔn)軟件體系結(jié)構(gòu)。-要能看懂英文29. DSSA(基于特定領(lǐng)域軟件體系結(jié)構(gòu))的基本活動(dòng):領(lǐng)域分析,領(lǐng)域設(shè)計(jì),領(lǐng)域?qū)崿F(xiàn)。參與DSSA的人員分為四種角色:領(lǐng)域?qū)<?、領(lǐng)

11、域分析師、領(lǐng)域設(shè)計(jì)人員和領(lǐng)域?qū)崿F(xiàn)人員30. 軟件體系結(jié)構(gòu)描述方法有幾種:圖形表達(dá)工具,模塊內(nèi)連接語言,基于軟構(gòu)件的系統(tǒng)描述語言,軟件體系結(jié)構(gòu)描述語言(ADL) - 簡答31. 體系結(jié)構(gòu)描述語言(ADL)構(gòu)成要素:構(gòu)件,連接件,體系結(jié)構(gòu)配置32. 典型的軟件體系結(jié)構(gòu)描述語言有:Unicon,C2,Wright,Rapide,SADL,Aesop,ACME判斷題,可能給C是設(shè)計(jì)語言,不是結(jié)構(gòu)描述語言(注意看清是給的C還是C2 )33. 記住全稱:UML(unified modeling language;) XML(extensible markup language)HTML(hypertext

12、 markup language,超文本標(biāo)記語言)SGML(standard generalized markup language,標(biāo)準(zhǔn)通用標(biāo)記語言)34. Web服務(wù)是使用標(biāo)準(zhǔn)技術(shù)在Internet上運(yùn)行的商務(wù)流程,它可以使用標(biāo)準(zhǔn)的Internet協(xié)議,將功能綱領(lǐng)性地體現(xiàn)在Internet和Intranet上。Web服務(wù)(web services)作為一種新興的Web應(yīng)用模式,是一種嶄新的分布式計(jì)算模型,是Web上數(shù)據(jù)和信息集成的有效機(jī)制。35. Web服務(wù)的特點(diǎn) -簡答1使用標(biāo)準(zhǔn)協(xié)議規(guī)范;2使用協(xié)約的規(guī)范性;3高度集成能力;4完好的封裝性5松散耦合36. WEB服務(wù)技術(shù)核心基于可擴(kuò)展標(biāo)記

13、語言(XML)的標(biāo)準(zhǔn),包括:SOAP (簡單對象訪問協(xié)議),WSDL(WEB服務(wù)描述語言),UDDI(統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議)37. Web服務(wù)技術(shù)可以分為五個(gè)邏輯層,分別為數(shù)據(jù)層(data layer)、數(shù)據(jù)訪問層(data access layer)、業(yè)務(wù)層(business layer)、業(yè)務(wù)面(business layer)和監(jiān)聽者(listener)38. 一個(gè)完整的web服務(wù)包括三種邏輯構(gòu)件:服務(wù)提供者、服務(wù)代理和服務(wù)請求。與web服務(wù)相關(guān)的操作有發(fā)布、發(fā)現(xiàn)和綁定。Web服務(wù)開發(fā)生命周期分為構(gòu)建、部署、運(yùn)行和管理四個(gè)階段。39. Web服務(wù)體系結(jié)構(gòu)的優(yōu)勢 -簡答 1高度的通用性和

14、易用性 2完全的平臺、語言獨(dú)立性3高度的集成性 4容易部署和發(fā)布40. 作為web服務(wù)基礎(chǔ)的是XML(可擴(kuò)展標(biāo)記語言) 填空或判斷41. 面向服務(wù)的軟件體系結(jié)構(gòu)(SOA):是一種應(yīng)用程序體系結(jié)構(gòu),在這種體系結(jié)構(gòu)中,所有的功能都定義為獨(dú)立的服務(wù),這些服務(wù)都定義明確的可調(diào)用接口,可以以定義好的順序調(diào)用這些服務(wù)來形成業(yè)務(wù)流程。 -P182 第(3)的定義也可以42. 面向服務(wù)的體系結(jié)構(gòu)(SOA)模型具有的特征:1松散耦合2粗粒度服務(wù)3標(biāo)準(zhǔn)化接口43. 模型-視圖-控制器(MVC)把交互系統(tǒng)的組成分解成模型、視圖、控制三種構(gòu)件44. 設(shè)計(jì)模式是一些設(shè)計(jì)面向?qū)ο蟮能浖_發(fā)的經(jīng)驗(yàn)總結(jié)45. 設(shè)計(jì)模式的基本

15、成分:模式名稱,問題,解決方案,后果46. 根據(jù)模式的目標(biāo)可以分成:創(chuàng)建性模式、結(jié)構(gòu)性模式和行為性模式,可進(jìn)一步細(xì)化為23種設(shè)計(jì)模式。 (記清是23種),另外記住Abstract Factory屬于創(chuàng)建性模式,Observer屬于行為性模式47. 基于體系結(jié)構(gòu)的軟件開發(fā)過程可以分為獨(dú)立的兩個(gè)階段:實(shí)驗(yàn)原型階段和演化開發(fā)階段-填空48. ABSDM模型把整個(gè)基于體系結(jié)構(gòu)的軟件過程劃分為體系結(jié)構(gòu)需求、設(shè)計(jì)、文檔化、復(fù)審、實(shí)現(xiàn)、演化等六個(gè)子過程。見P215頁圖體系結(jié)構(gòu)文檔化過程的輸出結(jié)果是體系結(jié)構(gòu)需求規(guī)格說明和測試體系結(jié)構(gòu)需求的質(zhì)量設(shè)計(jì)說明書這兩個(gè)文檔。文檔的完整性和質(zhì)量是軟件體系結(jié)構(gòu)成功的關(guān)鍵因素

16、。文檔要從使用者的角度進(jìn)行編寫,必須分發(fā)給所有與系統(tǒng)有關(guān)的開發(fā)人員,且必須保證開發(fā)者手上的文檔是最新的。在一個(gè)主版本的軟件體系結(jié)構(gòu)分析之后,要安排一次又外部人員參加的復(fù)審。最后一步是測試,包括單個(gè)構(gòu)件的功能性測試和被組裝應(yīng)用的整體功能和性能測試。49. 軟件體系結(jié)構(gòu)作為一個(gè)高層次的抽象,它描述了構(gòu)件及其之間的關(guān)系。50. 復(fù)雜性分析包括:構(gòu)件的復(fù)雜性,連接件的復(fù)雜性51. 軟件體系結(jié)構(gòu)測試與程序測試不同,它是檢查軟件設(shè)計(jì)的適用性,不考慮軟件的代碼實(shí)現(xiàn)。軟件體系結(jié)構(gòu)主要關(guān)注系統(tǒng)的結(jié)構(gòu)和組裝,如果參與組裝的各個(gè)部分之間彼此沖突,那么由此組裝、精化和實(shí)現(xiàn)的系統(tǒng)一定不能工作。52. 測試準(zhǔn)則:測試應(yīng)覆

17、蓋所有的構(gòu)件及各個(gè)構(gòu)件的接口、各個(gè)連接件的接口、構(gòu)件之間的直接連接、構(gòu)件之間的間接連接。53. 軟件體系結(jié)構(gòu)測試過程可以分為單元測試、集成測試和系統(tǒng)測試。單元測試時(shí)最底層的測試活動(dòng),指構(gòu)件開發(fā)者對構(gòu)件本身的測試,一般有構(gòu)件開發(fā)者完成。集成測試的主要任務(wù)是測試構(gòu)件之間的接口以保證構(gòu)件能夠交互。系統(tǒng)測試的主要任務(wù)是測試整個(gè)系統(tǒng)能否正常運(yùn)行,保證系統(tǒng)符合其設(shè)計(jì)模式。測試過程中根據(jù)測試準(zhǔn)則級別,可選擇不同的測試路徑,生成測試用例。54. 系統(tǒng)質(zhì)量屬性:性能,可靠性,可用性,安全性,可修改性,功能性,可變性,集成性,互操作性??尚薷牡乃膫€(gè)方面:可維護(hù)性,可擴(kuò)展性,結(jié)構(gòu)重組,可移植性55. 敏感點(diǎn)和權(quán)衡點(diǎn)不一樣。雖然都是關(guān)鍵的體系結(jié)構(gòu)決策,但敏感點(diǎn)是一個(gè)或多個(gè)構(gòu)件的特性,權(quán)衡點(diǎn)是影響多個(gè)質(zhì)量屬性的特性,是多個(gè)質(zhì)量屬

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論