《軟件體系結(jié)構(gòu)》期末復(fù)習(xí)題_第1頁
《軟件體系結(jié)構(gòu)》期末復(fù)習(xí)題_第2頁
《軟件體系結(jié)構(gòu)》期末復(fù)習(xí)題_第3頁
《軟件體系結(jié)構(gòu)》期末復(fù)習(xí)題_第4頁
《軟件體系結(jié)構(gòu)》期末復(fù)習(xí)題_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

《軟件體系結(jié)構(gòu)》期末復(fù)習(xí)題《軟件體系結(jié)構(gòu)》期末復(fù)習(xí)題篇一:《軟件體系結(jié)構(gòu)》期末復(fù)習(xí)題《軟件體系結(jié)構(gòu)》期末復(fù)習(xí)題簡答題:1、軟件體系結(jié)構(gòu)建模的種類有:結(jié)構(gòu)模型、框架模型、動態(tài)模型、過程模型、功能模型。2、“4+1”視圖模型從5個不同的視角包括:邏輯視圖、進(jìn)程視圖、物理視圖、開發(fā)視圖和場景視圖來描述軟件體系結(jié)構(gòu)。3、構(gòu)件:是具有某種功能的可重用的軟件模板單元,表示了系統(tǒng)中主要的計算元素和數(shù)據(jù)存儲。連接件:表示構(gòu)件之間的交互。配置:表示構(gòu)件和連接件的拓?fù)溥壿嫼图s束。端口:表示構(gòu)件和外部環(huán)境的交互點(diǎn)。角色:定義了該連接交互的參與者。4、畫出“4+1”視圖模型圖,分析各部分的原理和功能。5、軟件體系結(jié)構(gòu)風(fēng)格:是描述某一特定應(yīng)用領(lǐng)域中系統(tǒng)組織方式的慣用模式。6、軟件體系結(jié)構(gòu)(SoftwareArchitecture)軟件體系結(jié)構(gòu)以組件和組件交互的方式定義系統(tǒng),說明需求與成品系統(tǒng)之間的對應(yīng)關(guān)系,描述系統(tǒng)級別的可伸縮性、能力、吞吐量、一致性和兼容性等屬性。軟件體系結(jié)構(gòu)由組件、連接件和屬性組成。7、分層系統(tǒng)的優(yōu)點(diǎn)有:1)支持基于抽象程度遞增的系統(tǒng)設(shè)計,使設(shè)計者可以把一個復(fù)雜系統(tǒng)按遞增的步驟進(jìn)行分解;2)支持功能增強(qiáng),因為每一層至多和相鄰的上下層交互,因此功能的改變最多影響相鄰的上下層;3)支持重用。只要提供的服務(wù)接口定義不變,同一層的不同實現(xiàn)可以交換使用。這樣,就可以定義一組標(biāo)準(zhǔn)的接口,而允許各種不同的實現(xiàn)方法。8、分層系統(tǒng)的缺點(diǎn)有:1)并不是每個系統(tǒng)都可以很容易地劃分為分層的模式,甚至即使一個系統(tǒng)的邏輯結(jié)構(gòu)是層次化的,出于對系統(tǒng)性能的考慮,系統(tǒng)設(shè)計師不得不把一些低級或高級的功能綜合起來;2)很難找到一個合適的、正確的層次抽象方法。9、B/S體系結(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)實的開放性基礎(chǔ)。10、B/S體系結(jié)構(gòu)的缺點(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)用。11、DSSA答案:DSSA就是在一個特定應(yīng)用領(lǐng)域中為一組應(yīng)用提供組織結(jié)構(gòu)參考的標(biāo)準(zhǔn)軟件體系結(jié)構(gòu)11、軟件體系結(jié)構(gòu)的動態(tài)性主要分為:交互式動態(tài)性、結(jié)構(gòu)化動態(tài)性、體系結(jié)構(gòu)動態(tài)性等三類。12、請畫出基于構(gòu)件的動態(tài)系統(tǒng)結(jié)構(gòu)模型畫。13、軟件產(chǎn)品線產(chǎn)品線是一個產(chǎn)品集合,這些產(chǎn)品共享一個公共的、可管理的特征集,這個特征集能滿足選定的市場或任務(wù)領(lǐng)域的特定需求。這些系統(tǒng)遵循一個預(yù)描述的方式,在公共的核心資源(coreassets)基礎(chǔ)上開發(fā)的14、SOA即service-orientedarchitecture,面向服務(wù)架構(gòu)。它是一個組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進(jìn)行定義的,它應(yīng)該獨(dú)立于實現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言。這使得構(gòu)建在各種這樣的系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進(jìn)行交互。14、RIA15、中間件15、設(shè)計模式答:一些設(shè)計面向?qū)ο蟮能浖_發(fā)的經(jīng)驗總結(jié),就是系統(tǒng)的命名、解釋、和評價某一個重要的面向?qū)ο蟮目芍噩F(xiàn)的面向?qū)ο蟮脑O(shè)計方案。15、軟件體系結(jié)構(gòu)測試和傳統(tǒng)軟件測試區(qū)別16、UML中的交互圖有兩種,分別是順序圖和協(xié)作圖,請分析一下兩者之間的主要差別和各自的優(yōu)缺點(diǎn)。掌握利用兩種圖進(jìn)行的設(shè)計的方法。答:順序圖可視化地表示了對象之間隨時間發(fā)生的交互,它除了展示對象之間的關(guān)聯(lián),還顯示出對象之間的消息傳遞。與順序圖一樣,協(xié)作圖也展示對象之間的交互關(guān)系。順序圖強(qiáng)調(diào)的是交互的時間順序,而協(xié)作圖強(qiáng)調(diào)的是交互的語境和參與交互的對象的整體組織。順序圖按照時間順序布圖,而協(xié)作圖按照空間組織布圖。順序圖可以清晰地表示消息之間的順序和時間關(guān)系,但需要較多的水平方向的空間。協(xié)作圖在增加對象時比較容易,而且分支也比較少,但如果消息比較多時難以表示消息之間的順序。17.管道過濾器風(fēng)格結(jié)構(gò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í)行。但是,這樣的系統(tǒng)也存在著若干不利因素。(1)通常導(dǎo)致進(jìn)程成為批處理的結(jié)構(gòu)。這是因為雖然過濾器可增量式地處理數(shù)據(jù),但它們是獨(dú)立的,所以設(shè)計者必須將每個過濾器看成一個完整的從輸入到輸出的轉(zhuǎn)換。(2)不適合處理交互的應(yīng)用。當(dāng)需要增量地顯示改變時,這個問題尤為嚴(yán)重。(3)因為在數(shù)據(jù)傳輸上沒有通用的標(biāo)準(zhǔn),每個過濾器都增加了解析和合成數(shù)據(jù)的工作,這樣就導(dǎo)致了系統(tǒng)性能下降,并增加了編寫過濾器的復(fù)雜性。18.什么是設(shè)計模式?它與風(fēng)格、框架有什么區(qū)別與聯(lián)系?設(shè)計模式是對通用設(shè)計問題的重復(fù)解決方案。軟件體系結(jié)構(gòu)風(fēng)格是描述某一特定應(yīng)用領(lǐng)域中系統(tǒng)組織方式的慣用模式。軟件框架是整個或部分系統(tǒng)的可重用設(shè)計模式比框架更加抽象框架是模式的特例化設(shè)計模式被實現(xiàn)成為框架后,可以極大的減輕從設(shè)計到實現(xiàn)的鴻溝利用了模式的框架比沒有利用模式的框架更容易理解、更能被設(shè)計與實現(xiàn)重用通常成熟的框架包含了多種設(shè)計模式一個框架不僅可以具體實現(xiàn)一個模式,還可以具體的實現(xiàn)多個模式設(shè)計模式與風(fēng)格兩者為近義詞,通常情況下可以互相通用風(fēng)格主要是指大的,宏觀的設(shè)計。模式既可宏觀,又可微觀。19.軟件體系結(jié)構(gòu)測試的內(nèi)容與準(zhǔn)則是什么?內(nèi)容:構(gòu)件端口行為與連接件約束是否一致、兼容,單元間的消息是否一致、可達(dá),相關(guān)端口是否可連接,體系結(jié)構(gòu)風(fēng)格是否可滿足。準(zhǔn)則:測試覆蓋所有的構(gòu)件及各個構(gòu)件的接口。各個連接件的接口、構(gòu)件之間的直接連接、構(gòu)件之間的間接連接。20、請簡述MVC,介紹各自的作用和用途。答案:MVC是三個單詞的縮寫,分別為:模型(Model),視圖(View)和控制Controller)。MVC模式的目的就是實現(xiàn)Web系統(tǒng)的職能分工。Model是應(yīng)用對象,所有的操作都在這里實現(xiàn),它若需要取得視圖中的對象或更新視圖,需通過控制器來進(jìn)行處理。View是模型在屏幕上的表示,模型在進(jìn)行操作后,其結(jié)果是通過視圖顯示的。Controller用于管理用戶與視圖發(fā)生的交互,定義用戶界面對用戶輸入的響應(yīng)方式。一旦用戶需要對模型進(jìn)行處理,不能直接執(zhí)行模型,而必須通過控制器間接實現(xiàn)的。選擇題1、設(shè)計模式一般用來解決什么樣的問題(A)A.同一問題的不同表相B不同問題的同一表相C.不同問題的不同表相D.以上都不是2、下列屬于面向?qū)ο蠡驹瓌t的是(C)A.繼承B.封裝C.里氏代換D都不是3、Open-Close原則的含義是一個軟件實體(A)A.應(yīng)當(dāng)對擴(kuò)展開放,對修改關(guān)閉.B.應(yīng)當(dāng)對修改開放,對擴(kuò)展關(guān)閉C.應(yīng)當(dāng)對繼承開放,對修改關(guān)閉D.以上都不對5、要依賴于抽象,不要依賴于具體。即針對接口編程,不要針對實現(xiàn)編程,是(D)的表述A.開-閉原則B.接口隔離原則C.里氏代換原則D.依賴倒轉(zhuǎn)原則7、設(shè)計模式的兩大主題是(D)A.系統(tǒng)的維護(hù)與開發(fā)B對象組合與類的繼承C.系統(tǒng)架構(gòu)與系統(tǒng)開發(fā)D.系統(tǒng)復(fù)用與系統(tǒng)擴(kuò)展9、下列模式中,屬于行為模式的是(B)A.工廠模式B觀察者C適配器D以上都是10、常用的軟件體系結(jié)構(gòu)評估的方法不包括(C)。A體系結(jié)構(gòu)權(quán)衡分析法B.軟件體系結(jié)構(gòu)分析法C系統(tǒng)體系結(jié)構(gòu)分析法D.中間設(shè)計的積極評審11、不屬于軟件體系結(jié)構(gòu)的核心模型的最基本的元素是(D)A構(gòu)件B連接件C配置D角色12、選項中部屬于“4+1”試圖模型的是:(C)A邏輯視圖B物理視圖C連接視圖D開發(fā)視圖13、下列說法錯誤的一項的是(D)A:邏輯視圖主要支持系統(tǒng)的功能需求,即系統(tǒng)提供給最終用戶的服務(wù)B:開發(fā)視圖也稱模塊視圖,主要側(cè)重于軟件模塊的組織和管理C:進(jìn)程視圖側(cè)重與系統(tǒng)的運(yùn)行特性,主要關(guān)注一些功能性需求,例如系統(tǒng)的性能和可用性。D:物理視圖主要考慮如何吧軟件映射到硬件上,它不需要要考慮到系統(tǒng)性能、規(guī)模、可靠性等。14、在三層C/S體系結(jié)構(gòu)中,_________是最重要的構(gòu)件。(A)A中間件B末尾件C功能層D數(shù)據(jù)層15、C/S系統(tǒng)中,服務(wù)器的以下任務(wù)中哪一個是錯的?(A)A數(shù)據(jù)庫一致性要求B數(shù)據(jù)庫訪問并發(fā)性控制C數(shù)據(jù)庫前端的客戶應(yīng)用程序的全局?jǐn)?shù)據(jù)完整性規(guī)則D數(shù)據(jù)庫的備份與恢復(fù)16、與C/S體系結(jié)構(gòu)相比,B/S體系結(jié)構(gòu)也有許多不足之處一下說法正確的是(A)AB/S體系結(jié)構(gòu)缺乏對動態(tài)頁面的支持能力,沒有集成有效的數(shù)據(jù)庫處理能力BB/S體系結(jié)構(gòu)的系統(tǒng)擴(kuò)展能力差,但是安全性比較容易控制C采用B/S架構(gòu)構(gòu)的應(yīng)用系統(tǒng),在數(shù)據(jù)查詢等響應(yīng)速度上,要遠(yuǎn)遠(yuǎn)的高于C/S體系結(jié)構(gòu)DB/S體系結(jié)構(gòu)的數(shù)據(jù)提交一般以頁面為單位,數(shù)據(jù)的動態(tài)交互性不強(qiáng),利于在線事務(wù)處理(OnlineTransactionProcessing,OLTP)應(yīng)用。17、以下關(guān)于軟件體系結(jié)構(gòu)描述方法說法錯誤的是(B)A圖形表達(dá)工具在軟件設(shè)計中占據(jù)主導(dǎo)地位。B由于軟件設(shè)計語言和模塊內(nèi)連接語言具有嚴(yán)格的語義基礎(chǔ),因此它們能支持較小的`軟件單元進(jìn)行描述。C基于軟構(gòu)件的系統(tǒng)描述語言將軟件系統(tǒng)描述成一種是由許多以特定形式相互作用的特殊軟件實體構(gòu)造組成的組織或系統(tǒng)。D軟件體系結(jié)構(gòu)描述語言是參照傳統(tǒng)程序設(shè)計語言的設(shè)計語言的設(shè)計和開發(fā)經(jīng)驗,重新設(shè)計、開發(fā)和使用針對軟件體系結(jié)構(gòu)描述語言。18、下列選項中關(guān)于ADL與其他語言的比較說法中錯誤的是(B)ADL與需求語言的區(qū)別在于后者描述的問題空哦關(guān)鍵,而前者則扎根于解空間中ADL與建模語言的區(qū)別在于后者對部分的關(guān)注要大于對整體的關(guān)注ADL與傳統(tǒng)的程序設(shè)計語言的構(gòu)成元素由許多相同和相似之處,有各自有著很大的不同ADL集中在構(gòu)件的表示上。19、對動態(tài)軟件體系結(jié)構(gòu)的形式化描述通??梢圆捎玫姆椒ǎ浚―)A、圖形化方法B、代數(shù)進(jìn)程方法C、邏輯方法D、以上皆是20、以下哪些特征不屬于動態(tài)體系結(jié)構(gòu)特征(D)?A可構(gòu)造性動態(tài)特征B適應(yīng)性動態(tài)特征C智能性動態(tài)特征D安全性動態(tài)特征21、通常,一個Web服務(wù)可以分為4個邏輯層,分別為數(shù)據(jù)層(DataLayer)、數(shù)據(jù)訪問層(DataAccessLayer)、業(yè)務(wù)層(BusinessLayer)和監(jiān)聽者(Listener)。離客戶端最近的是監(jiān)聽者,離客戶最遠(yuǎn)的是______:(A)A數(shù)據(jù)層(DataLayer)B數(shù)據(jù)訪問層(DataAccessLayer)C業(yè)務(wù)層(BusinessLayer)D監(jiān)聽者(Listener)篇二:軟件體系結(jié)構(gòu)期末范圍綜合1.軟件體系結(jié)構(gòu)定義:軟件體系結(jié)構(gòu)為軟件系統(tǒng)提供了一個結(jié)構(gòu)、行為和屬性的高級抽象,由構(gòu)成系統(tǒng)的元素的描述、這些元素的相互作用、指導(dǎo)元素集成的模式以及這些模式的約束組成。2.核心研究內(nèi)容:(1)體系結(jié)構(gòu)風(fēng)格:描述特定系統(tǒng)組織方式的慣用范例,強(qiáng)調(diào)組織模式和慣用范例。(2)設(shè)計模式:軟件問題高效和成熟的設(shè)計模板,模板包含了固有問題的解決方案。(3)應(yīng)用框架:整個或部分系統(tǒng)的可重用設(shè)計,表現(xiàn)為一組抽象構(gòu)件的集合以及構(gòu)件實例間交互的方法。3.軟件危機(jī)表現(xiàn)形式:軟件成本日益增長、開發(fā)進(jìn)度難以控制、軟件質(zhì)量差、軟件維護(hù)困難4.·構(gòu)件:具有一定功能,能獨(dú)立工作或能同其他構(gòu)件裝配起來協(xié)調(diào)工作的程序體?!ぼ浖赜茫簝纱位蚨啻尾煌能浖_發(fā)過程中重復(fù)使用相同或相近軟件元素的過程?!?gòu)件與軟件重用的關(guān)聯(lián)關(guān)系:語義完整,語法正確和有可重用價值的單位軟件,是軟件重用過程中可以明辨識別的系統(tǒng)。5.軟件體系結(jié)構(gòu)模型的分類(5種):(1)結(jié)構(gòu)模型:這是一個最直觀、最普遍的建模方法。這種方法以體系結(jié)構(gòu)的構(gòu)件、連接件和其他概念來刻畫結(jié)構(gòu),并力圖通過結(jié)構(gòu)來反映系統(tǒng)的重要語義內(nèi)容,包括系統(tǒng)配置、約束、隱含的假設(shè)條件、風(fēng)格、性質(zhì)研究結(jié)構(gòu)模型的核心是體系結(jié)構(gòu)描述語言。(2)框架模型:框架模型與結(jié)構(gòu)模型類似,但它不太側(cè)重描述結(jié)構(gòu)的細(xì)節(jié)而更側(cè)重于整體的結(jié)構(gòu)。(3)動態(tài)模型:動態(tài)模型是對結(jié)構(gòu)或框架模型的補(bǔ)充,研究系統(tǒng)的“大顆?!钡男袨椤@?,描述系統(tǒng)的重新配置或演化。動態(tài)可以指系統(tǒng)總體結(jié)構(gòu)的配置、建立或拆除通信通道或計算的過程。(4)過程模型:過程模型研究構(gòu)造系統(tǒng)的步驟和過程。結(jié)構(gòu)是遵循某些過程腳本的結(jié)果。(5)功能模型:功能模型認(rèn)為體系結(jié)構(gòu)是由一組功能構(gòu)件按層次組成,下層向上層提供服務(wù)。功能模型可以看作是一種特殊的框架模型。6.“4+1視圖模型”最終用戶:功能需求編程人員:軟獎管理系統(tǒng)集成人員:性能系統(tǒng)工程人員:系統(tǒng)可擴(kuò)充性、吞吐量等拓?fù)?、安裝、通信等·邏輯視圖:主要支持系統(tǒng)的功能需求,即系統(tǒng)提供給最終用戶的服務(wù)。在邏輯視圖中,系統(tǒng)分解成一系列的功能抽象,這些抽象主要來自問題領(lǐng)域。這種分解不但可以用來進(jìn)行功能分析,而且可用作標(biāo)識在整個系統(tǒng)的各個不同部分的通用機(jī)制和設(shè)計元素?!ら_發(fā)視圖:也稱模塊視圖,主要側(cè)重于軟件模塊的組織和管理。開發(fā)視圖要考慮軟件內(nèi)部的需求,如軟件開發(fā)的容易性、軟件的重用和軟件的通用性,要充分考慮由于具體開發(fā)工具的不同而帶來的局限性。開發(fā)視圖通過系統(tǒng)輸入輸出關(guān)系的模型圖和子系統(tǒng)圖來描述。·進(jìn)程視圖:側(cè)重于系統(tǒng)的運(yùn)行特性,主要關(guān)注一些非功能性的需求。進(jìn)程視圖強(qiáng)調(diào)并發(fā)性、分布性、系統(tǒng)集成性和容錯能力,以及從邏輯視圖中的主要抽象如何適合進(jìn)程結(jié)構(gòu)。它也定義邏輯視圖中的各個類的操作具體是在哪一個線程中被執(zhí)行的。進(jìn)程視圖可以描述成多層抽象,每個級別分別關(guān)注不同的方面。在最高層抽象中,進(jìn)程結(jié)構(gòu)可以看作是構(gòu)成一個執(zhí)行單元的一組任務(wù)。它可看成一系列獨(dú)立的,通過邏輯網(wǎng)絡(luò)相互通信的程序。它們是分布的,通過總線或局域網(wǎng)、廣域網(wǎng)等硬件資源連接起來?!の锢硪晥D主要考慮如何把軟件映射到硬件上,它通常要考慮到系統(tǒng)性能、規(guī)模、可靠性等。解決系統(tǒng)拓?fù)浣Y(jié)構(gòu)、系統(tǒng)安裝、通訊等問題。·場景可以看作是那些重要系統(tǒng)活動的抽象,它使四個視圖有機(jī)聯(lián)系起來,從某種意義上說場景是最重要的需求抽象。在開發(fā)體系結(jié)構(gòu)時,它可以幫助設(shè)計者找到體系結(jié)構(gòu)的構(gòu)件和它們之間的作用關(guān)系。同時,也可以用場景來分析一個特定的視圖,或描述不同視圖構(gòu)件間是如何相互作用的。本地呼叫場景的一個原型:7.軟件體系結(jié)構(gòu)核心模型的組成元素(5種)的含義,彼此關(guān)系(構(gòu)件、連接件、配置)(1)構(gòu)件:計算或存儲數(shù)據(jù)單元,包含多種屬性,如接口、類型、語義、約束、演化和非功能屬性等。(2)連接件:建立構(gòu)件間的交互以及支配這些交互規(guī)則的體系結(jié)構(gòu)構(gòu)造模塊。(3)體系結(jié)構(gòu)配置:描述體系結(jié)構(gòu)的構(gòu)件和連接件的連接圖。用于確定構(gòu)件是否正確連接、接口是否匹配、連接件構(gòu)成的通信是否正確,并說明實現(xiàn)要求行為的組合語義。(4)端口(5)角色8.軟件過程:需求分析→建立體系結(jié)構(gòu)→設(shè)計→實現(xiàn)→測試10.軟件體系結(jié)構(gòu)風(fēng)格11.體系結(jié)構(gòu)風(fēng)格的四要素:(1)提供一個詞匯表;(2語義解釋原則;(412.通用體系結(jié)構(gòu)的分類:經(jīng)典的體系結(jié)構(gòu)風(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)程通訊;事件系統(tǒng)(4)虛擬機(jī)風(fēng)格:解釋器;基于規(guī)則的系統(tǒng)。(5)倉庫風(fēng)格:數(shù)據(jù)庫系統(tǒng);超文本系統(tǒng);黑板系統(tǒng)·管道和過濾器模式:構(gòu)件:過濾器,接收數(shù)據(jù)輸入,進(jìn)行轉(zhuǎn)化后輸出·過濾器是獨(dú)立的實體,相互之間沒有狀態(tài)的依賴·對一個過濾器而言,它上游和下游的過濾器是透明的交互由管道提供,管道負(fù)責(zé)連接一個過濾器的輸出和另一個過濾器的輸入·管道過濾器通用的結(jié)構(gòu)有:(1)管線:也稱為流水線,即限制系統(tǒng)的拓?fù)浣Y(jié)構(gòu)只能是過濾器的線性結(jié)構(gòu);如:批處理系統(tǒng)、UnixShell、編譯器(2)有界管道:限制了在管道中能容納或傳輸?shù)臄?shù)據(jù)量;(3)類型定義管道:也稱類型管道,即要求明確定義在兩個過濾器間傳輸?shù)臄?shù)據(jù)類型。優(yōu)點(diǎn):(1)系統(tǒng)的總體輸入輸出是每個過濾器的簡單組合,易于理解;(2)支持重用;(3)易于維護(hù)和修改;(4)系統(tǒng)的一些特性容易分析,比如吞吐量、死鎖;(5)支持并發(fā)。缺點(diǎn):(1)經(jīng)常退化為批處理系統(tǒng);(2)交互能力差,管道之間同步困難?!?shù)據(jù)抽象和面向?qū)ο蠼M織模式:構(gòu)件:對象,或者說是抽象數(shù)據(jù)類型的實例。(1)對象是一種被稱作管理者的構(gòu)件,負(fù)責(zé)保持資源的完整性。(2)對象通過函數(shù)和過程的調(diào)用來交互的。面向?qū)ο竽P停?)封裝(2)繼承(3)多態(tài)性這種模式的兩個重要方面:(1)對象維護(hù)自身表示的完整性;(2)這種表示對其他對象是隱藏的。優(yōu)點(diǎn):(1)隱藏內(nèi)部實現(xiàn),容易修改;(2)問題分解;(3)重用;缺點(diǎn):(1)對一個對象身份的依賴性(顯示調(diào)用,即調(diào)用一個方法必須以:對象名.方法名的方式進(jìn)行調(diào)用)(2)繼承往往使得設(shè)計變得復(fù)雜,引入的多層對象結(jié)構(gòu)使得維護(hù)困難。·基于事件的隱式調(diào)用模式:構(gòu)件:模塊,模塊既可以是過程,又可以是事件的集合。(1)過程可以用通用的方式調(diào)用,也可以在系統(tǒng)事件中注冊一些過程,當(dāng)發(fā)生這些事件時,過程被調(diào)用。特點(diǎn):事件的觸發(fā)者并不知道哪些構(gòu)件會被這些事件影響。優(yōu)點(diǎn):(1)問題分解;將計算和交互相互分離,使得對象更加獨(dú)立(2)系統(tǒng)演化和重用;通過事件注冊,新的構(gòu)件可以輕易的被引入系統(tǒng)缺點(diǎn):(1)構(gòu)件不能控制系統(tǒng)進(jìn)行的計算;當(dāng)一個組件發(fā)布事件的時候,它無法假設(shè)其他組件會對該事件作出響應(yīng)(2)對事件觸發(fā)的方法調(diào)用的次序無法控制(3)數(shù)據(jù)交換大數(shù)據(jù)量的數(shù)據(jù)交互往往沒法由事件攜帶,從而帶來性能問題(4)可能會對正確性的保證帶來困難·分層模式優(yōu)點(diǎn):(1)支持逐層抽象的方式進(jìn)行設(shè)計,從而可以將一個復(fù)雜系統(tǒng)的設(shè)計劃分為多個相對簡單的層次;(2)容易修改,每層的改變至多影響上下兩層;(3)支持重用,只要保持接口不變,每層的具體實現(xiàn)的替換式透明的。(4)支持可移植性。缺點(diǎn):(1)性能上的額外支出(2)并非每個系統(tǒng)都可以進(jìn)行分層設(shè)計(3)跨層使用可能會損壞整個模型·倉庫系統(tǒng)及知識庫模式構(gòu)件:(1)中央數(shù)據(jù)結(jié)構(gòu)構(gòu)件:代表系統(tǒng)當(dāng)前狀態(tài);(2)一些相對獨(dú)立的構(gòu)件的集合:這些構(gòu)件對中央數(shù)據(jù)存儲進(jìn)行操作。當(dāng)要交換或共享大量的數(shù)據(jù)時,倉庫模式是最常用的解決方案。數(shù)據(jù)交換方式:(1)共享的數(shù)據(jù)放在中心數(shù)據(jù)庫中,所有構(gòu)件可以通過訪問數(shù)據(jù)庫進(jìn)行交互;(2)每個構(gòu)件維護(hù)自己的數(shù)據(jù)庫,通過顯示的傳遞數(shù)據(jù)與其他構(gòu)件進(jìn)行交互。當(dāng)要交換或共享大量的數(shù)據(jù)時,倉庫模式是最常用的解決方案。若中央數(shù)據(jù)結(jié)構(gòu)的當(dāng)前狀態(tài)觸發(fā)系統(tǒng)相應(yīng)的進(jìn)程執(zhí)行,則倉庫是黑板系統(tǒng)。黑板系統(tǒng)由三部分組成:知識源、黑板數(shù)據(jù)結(jié)構(gòu)、控制黑板模式特點(diǎn):沒有直接的算法可解、具有不確定性、黑板是一種特別的倉庫,主要用于需要對凌亂的信息進(jìn)行處理的領(lǐng)域,其控制策略必須是機(jī)會主義的。13.C2模式:通過連接件綁定在一起的按照一組規(guī)則運(yùn)作的并行構(gòu)件網(wǎng)絡(luò)。C2模式中的系統(tǒng)組織規(guī)則如下:(1)系統(tǒng)中的構(gòu)件和連接件都有一個頂部和一個底部;(2)構(gòu)件的頂部應(yīng)連接到某連接件的底部,構(gòu)件的底部則應(yīng)連接到某連接件的頂部,而構(gòu)件與構(gòu)件之間的直接連接是不允許的;(3)一個連接件可以和任意數(shù)目的其它構(gòu)件和連接件連接;(4)當(dāng)兩個連接件進(jìn)行直接連接時,必須由其中一個的底部到另一個的頂部。C2模式的特點(diǎn):(1)系統(tǒng)中的構(gòu)件可實現(xiàn)應(yīng)用需求,并能將任意復(fù)雜度的功能封裝在一起;(2)所有構(gòu)件之間的通訊是通過以連接件為中介的異步消息交換機(jī)制來實現(xiàn)的;(3)構(gòu)件相對獨(dú)立,構(gòu)件之間依賴性較少。系統(tǒng)中不存在某些構(gòu)件將在同一地址空間內(nèi)執(zhí)行,或某些構(gòu)件共享特定控制線程之類的相關(guān)性假設(shè)。14.C/S風(fēng)格:基本概念:C/S軟件體系結(jié)構(gòu)是基于資源不對等,且為實現(xiàn)共享而提出來的,C/S體系結(jié)構(gòu)定義了工作站如何與服務(wù)器相連,以實現(xiàn)數(shù)據(jù)和應(yīng)用分布到多個處理機(jī)上。主要組成部分:數(shù)據(jù)庫服務(wù)器、客戶應(yīng)用程序和網(wǎng)絡(luò)。C/S風(fēng)格—優(yōu)點(diǎn):(1)具有強(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)將大的應(yīng)用處理任務(wù)分布到許多通過網(wǎng)絡(luò)連接的低成本計算機(jī)上,以節(jié)約大量費(fèi)用。C/S風(fēng)格—缺點(diǎn):開發(fā)成本較高、客戶端程序設(shè)計復(fù)雜、信息內(nèi)容和形式單一、用戶界面風(fēng)格不一,使用繁雜,不利于推廣使用、軟件移植困難、軟件維護(hù)和升級困難、新技術(shù)不能輕易應(yīng)用三層C/S風(fēng)格—優(yōu)點(diǎn):(1)提高系統(tǒng)和軟件的可維護(hù)性和可擴(kuò)展性(2)具有良好的可升級性和開放性(3)并行開發(fā)(4)有效地隔離開表示層與數(shù)據(jù)層(5)為嚴(yán)格的安全管理奠定了堅實的基礎(chǔ)三層C/S風(fēng)格—注意點(diǎn):1.各層間的通信效率若不高,即使分配給各層的硬件能力很強(qiáng),其作為整體來說也達(dá)不到所要求的性能。2.各層間的通信效率若不高,即使分配給各層的硬件能力很強(qiáng),其作為整體來說也達(dá)不到所要求的性能。B/S風(fēng)格—基本概念:瀏覽器/服務(wù)器(B/S)風(fēng)格就是上述三層應(yīng)用結(jié)構(gòu)的一種實現(xiàn)方式,其具體結(jié)構(gòu)為:瀏覽器/Web服務(wù)器/數(shù)據(jù)庫服務(wù)器。B/S風(fēng)格—優(yōu)點(diǎn):基于B/S體系結(jié)構(gòu)的軟件,系統(tǒng)安裝、修改和維護(hù)全在服務(wù)器端解決。提供了異種機(jī)、異種網(wǎng)、異種應(yīng)用服務(wù)的聯(lián)機(jī)、聯(lián)網(wǎng)、統(tǒng)一服務(wù)的最現(xiàn)實的開放性基礎(chǔ)。B/S風(fēng)格—缺點(diǎn):1.缺乏對動態(tài)頁面的支持能力,沒有集成有效的數(shù)據(jù)庫處理功能。2.系統(tǒng)擴(kuò)展能力差,安全性難以控制。3.在數(shù)據(jù)查詢等響應(yīng)速度上,要遠(yuǎn)遠(yuǎn)地低于C/S體系結(jié)構(gòu)。4.不利于在線事務(wù)處理(OLTP)應(yīng)用。15.DSSA的定義:DSSA就是專用于一類特定類型的任務(wù)(領(lǐng)域)的、在整個領(lǐng)域中能有效地使用的、為成功構(gòu)造應(yīng)用系統(tǒng)限定了標(biāo)準(zhǔn)的組合結(jié)構(gòu)的軟件構(gòu)件的集合16.DSSA的基本活動:領(lǐng)域分析、領(lǐng)域設(shè)計、領(lǐng)域?qū)崿F(xiàn)。17.DSSA與軟件風(fēng)格的比較:(1)DSSA以問題域為出發(fā)點(diǎn),體系結(jié)構(gòu)風(fēng)格以解決域為出發(fā)點(diǎn)。(2)DSSA只對某一個領(lǐng)域進(jìn)行設(shè)計專家知識的提取、存儲和組織,但可以同時使用多種體系結(jié)構(gòu)風(fēng)格;而在某個體系結(jié)構(gòu)風(fēng)格中進(jìn)行體系結(jié)構(gòu)設(shè)計專家知識的組織時,可以將提取的公共結(jié)構(gòu)和設(shè)計方法擴(kuò)展到多個應(yīng)用領(lǐng)域。18.軟件體系結(jié)構(gòu)和軟件體系結(jié)構(gòu)描述的區(qū)別:軟件體系結(jié)構(gòu)是附屬于系統(tǒng)之中。只要存在系統(tǒng),體系結(jié)構(gòu)就存在;軟件體系結(jié)構(gòu)描述是將體系結(jié)構(gòu)可視化的手段和產(chǎn)物19.體系結(jié)構(gòu)描述方式:圖形表達(dá)方式、UML、模塊接口語言MIL、ADL·圖形表達(dá)工具優(yōu)點(diǎn):直觀形象、簡單易用缺點(diǎn):由于其術(shù)語和表達(dá)語義上存在著一些不規(guī)范和不精確,從而使得以矩形為基礎(chǔ)的傳統(tǒng)圖形表達(dá)方法在不同系統(tǒng)和不同文檔之間存在著許多不一致甚至矛盾?!つK接口語言MIL缺點(diǎn):這些語言處理和描述的軟件設(shè)計開發(fā)層次過于依賴程序設(shè)計語言,限制了它們處理和描述比程序設(shè)計語言元素更為抽象的高層次軟件構(gòu)架元素的能力。20.體系結(jié)構(gòu)描述語言ADL定義:ADL是在底層語義模型的支持下,為軟件系統(tǒng)的概念體系結(jié)構(gòu)建模提供了具體語法和概念框架。21.軟件體系結(jié)構(gòu)的分析評估:就是通過成本相對較低的活動來分析結(jié)構(gòu)中可能存在的風(fēng)險,發(fā)現(xiàn)軟件體系結(jié)構(gòu)中影響系統(tǒng)質(zhì)量的關(guān)鍵因素,并提出相應(yīng)的改進(jìn)措施,在此基礎(chǔ)上檢驗軟件的性能需求是否得到滿足。22.系統(tǒng)的質(zhì)量屬性的分類:性能、可靠性、可用性、安全性、可修改性、功能性、可變性、集成性、互操作性23.基于場景的評估方式:ATAM、SAAMSAAM法是把一個物體最豐要的屬性列舉出來,再用檢查表法把各個項目加以變化,并將其加以重新組合,然后再找出其中可以實行而且也有效果的項目。優(yōu)點(diǎn):SAAM方法在改良事物性質(zhì)的方面具有極大的功效。SAAM方法是第1個被廣泛接受的體系結(jié)構(gòu)分析評價方法。它適用于可修改性、可拓展性以及功能覆蓋等質(zhì)量屬性。缺陷:沒有提供體系結(jié)構(gòu)質(zhì)量屬性的清晰的度量。評估過程依賴專家經(jīng)驗等,只適合對體系結(jié)構(gòu)的粗糙評價步驟:1.形成場景2.描述體系結(jié)構(gòu)3.對場景進(jìn)行分類和確定優(yōu)先級4.對間接場景進(jìn)行單個評估5.評估場景和相互作用6.形成總體評估7.SAAM評估日程安排ATAM是評價軟件構(gòu)架的一種綜合全面的方法,它考慮了可修改性、可靠性和安全性等多種質(zhì)量屬性。優(yōu)點(diǎn):有助于質(zhì)量目標(biāo)的具體化和排序;ATAM方法是被驗證有效和廣泛使用的一種方法,可以針對實用性、可靠性和可修改性這些質(zhì)量屬性,在系統(tǒng)開發(fā)之前對其進(jìn)行分析和評價。缺點(diǎn):它對質(zhì)量屬性并沒有進(jìn)行深入分析,缺少定量的數(shù)據(jù)來支持分析的結(jié)果。步驟:1.描述ATAM方法2.描述商業(yè)動機(jī)3.描述體系結(jié)構(gòu)4.確定體系結(jié)構(gòu)的方法5.生成質(zhì)量屬性效用樹6.分析體系結(jié)構(gòu)方法7.討論和分級場景8.分析體系結(jié)構(gòu)方法9.描述評估結(jié)果2.內(nèi)外有別模型篇三:《軟件體系結(jié)構(gòu)》課程設(shè)計《軟件體系結(jié)構(gòu)》課程設(shè)計設(shè)計題目:實驗室設(shè)備管理系統(tǒng)姓名:李欣張丹唐蔚霖學(xué)號:k0308413(07+13+17)同組組長:李欣同組其他成員:張丹唐蔚霖實驗指導(dǎo)教師:李超實驗地點(diǎn):9B505完成日期:2011-6-10湖北民族學(xué)院信息工程學(xué)院目錄一、概述(目的、任務(wù)、開發(fā)環(huán)境、參考資料)二、采用的主要方法與技術(shù)三、需求分析四、設(shè)計五、實現(xiàn)過程與步驟六、遇到的困難與獲得的主要成果七、測試與運(yùn)行記錄八、完成結(jié)果分析與總結(jié)九、附錄(軟件配置、個人完成的程序模塊和文檔清單)一、概述(目的、任務(wù)、開發(fā)環(huán)境、參考資料)21世紀(jì)以來,人類經(jīng)濟(jì)高速發(fā)展,人們發(fā)生了日新月異的變化。隨著時代的發(fā)展,教育越來越需要實驗,讓學(xué)生從實驗中得到更多,更扎實的知識。因此學(xué)校也需要對實驗室的實驗設(shè)備進(jìn)行更多的投入,而投入之后就帶來了管理方面的問題。我們做的這個系統(tǒng)主要是對設(shè)備的購買、維修、報廢等方面進(jìn)行了一定的管理,可以讓設(shè)備進(jìn)行有序、有效的管理,為管理人員節(jié)約一些因為管理混亂而浪費(fèi)的時間。不過系統(tǒng)的功能還不夠完善,性能也還不夠穩(wěn)定,有待于以后不斷的進(jìn)行完善。實現(xiàn)的功能如下:(1)對于已徹底損壞的做報廢處理,同時詳細(xì)記錄有關(guān)信息。(2)對于由嚴(yán)重問題(故障)的要及時修理,并記錄修理日期、設(shè)備名、編號、修理廠家、修理費(fèi)用、責(zé)任人等。(3)對于急需修改但又缺少的設(shè)備,需以“申請表”的形式送交上級領(lǐng)導(dǎo)請求批準(zhǔn)購買。新設(shè)備購入后要立即進(jìn)行設(shè)備登記(包括類別、設(shè)備名、編號、型號、規(guī)格、單價、數(shù)量、購置日期、生產(chǎn)廠家、保質(zhì)期和經(jīng)辦人等信息),同時更新申請表的內(nèi)容。(4)隨時對現(xiàn)有設(shè)備及其修理、報廢情況進(jìn)行統(tǒng)計、查詢,要求能夠按類別和時間段等查詢。參考文獻(xiàn):譚浩強(qiáng)主編.VisualBasic程序設(shè)計(二)教程.清華大學(xué)出版社柳青等編.VisualBasic程序設(shè)計教程.高等教育出版社范立南.SQLServer2000實用教程.北京:清華大學(xué)出版社孫燕等編.VisualBasic程序設(shè)計.高等教育出版社薩師煊王珊編.數(shù)據(jù)庫系統(tǒng)概論.北京:高等教育出版社楊志強(qiáng).VisualBasic程序設(shè)計教程.北京:高等教育出版社.二、采用的主要方法與技術(shù)軟件工程是一門從技術(shù)和組織管理兩個角度研究如何用系統(tǒng)化、規(guī)范化和數(shù)量化等工程原理與方法去進(jìn)行軟件開發(fā)和維護(hù)的學(xué)科。軟件工程學(xué)研究的范圍非常的廣泛,包括技術(shù)方法、工具、和管理等許多方面。軟件生命周期的各個階段可分為:問題定義:確定系統(tǒng)的基本功能可行性研究:確定系統(tǒng)是否能夠?qū)崿F(xiàn)及是否值得實現(xiàn)需求分析:確定系統(tǒng)必須完成的各種功能總體設(shè)計:確定如何實現(xiàn)軟件詳細(xì)設(shè)計:詳細(xì)設(shè)計實現(xiàn)系統(tǒng)編碼和單元測試:寫出正確的容易理解和維護(hù)的程序模塊綜合測試:通過各種類型的測試及調(diào)試使軟件達(dá)到預(yù)訂的要求軟件維護(hù):通過各種必要的維護(hù)活動使系統(tǒng)持久的滿足用戶需要采用軟件工程的技術(shù)開發(fā)本系統(tǒng),通過以上八個階段組成的軟件生存期。它是指從提出開發(fā)要求開始直到該軟件報廢為止的整個時期。分階段進(jìn)行,就把規(guī)模龐大、結(jié)構(gòu)復(fù)雜和管理復(fù)雜的軟件變得很容易控制和管理。本系統(tǒng)主要利用VisualBasic作為前端的應(yīng)用開發(fā)工具,利用ACCESS作為后臺的數(shù)據(jù)庫,利用WindowsXP作為系統(tǒng)平臺。Windowsxp以其友好的圖形界面、易學(xué)易用的操作方法、強(qiáng)大的多任務(wù)功能、健全的內(nèi)在管理以及先進(jìn)的程序設(shè)計方法為廣大數(shù)據(jù)庫軟件開發(fā)人員嗦熟悉。對它的操作環(huán)境熟悉,使得我們在其開發(fā)數(shù)據(jù)庫應(yīng)用程序更加方便、可靠。三、需求分析(該過程參考西方和本國制定的軟件需求規(guī)范說明書相關(guān)標(biāo)準(zhǔn))管理員可以對實驗室設(shè)備信息進(jìn)行查詢及相關(guān)實驗室設(shè)備的使用情況查看。管理員可以根據(jù)本人用戶名及密碼登錄系統(tǒng)。在信息系統(tǒng)中,后臺數(shù)據(jù)庫存儲的地位相當(dāng)重要,數(shù)據(jù)庫的設(shè)計不但對數(shù)據(jù)的操作速度有影響,還直接關(guān)系到軟件系統(tǒng)的質(zhì)量和生存周期,本系統(tǒng)數(shù)據(jù)庫中包括教師資料數(shù)據(jù)表、借用設(shè)備表、儀器表、用戶登錄表。系統(tǒng)首先必須維護(hù)實驗室中詳細(xì)資料的數(shù)據(jù)表,程序能對該表進(jìn)行寫入和讀出數(shù)據(jù)的操作。相應(yīng)的,該表還有記錄讀者的借用情況,系統(tǒng)通過該表判斷讀者是否滿足借用條件。系統(tǒng)還要管理員信息表,記錄管理員的資料,檢驗管理員的登錄,管理員的權(quán)限等。1、目的1)便于用戶、

溫馨提示

  • 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

提交評論