《軟件體系結構》期末復習題
篇一:《軟件體系結構》期末復習題
《軟件體系結構》期末復習題
簡答題:
1、軟件體系結構建模的種類有:
結構模型、框架模型、動態模型、過程模型、功能模型。
2、“4+1”視圖模型從5個不同的視角包括:
邏輯視圖、進程視圖、物理視圖、開發視圖和場景視圖來描述軟件體系結構。
3、構件:是具有某種功能的可重用的軟件模板單元,表示了系統中主要的計算元素和數據存儲。連接件:表示構件之間的交互。
配置:表示構件和連接件的拓撲邏輯和約束。
端口:表示構件和外部環境的交互點。
角色:定義了該連接交互的參與者。
4、畫出“4+1”視圖模型圖,分析各部分的原理和功能。
5、軟件體系結構風格:
是描述某一特定應用領域中系統組織方式的慣用模式。
6、軟件體系結構
(Software Architecture)
軟件體系結構以組件和組件交互的方式定義系統,說明需求與成品系統之間的對應關系,描述系統級別的可伸縮性、能力、吞吐量、一致性和兼容性等屬性。 軟件體系結構由組件、連接件和屬性組成。
7、分層系統的優點有:
1)支持基于抽象程度遞增的系統設計,使設計者可以把一個復雜系統按遞增的步驟進行分解;
2)支持功能增強,因為每一層至多和相鄰的上下層交互,因此功能的改變最多影響相鄰的上下層;
3)支持重用。只要提供的服務接口定義不變,同一層的不同實現可以交換使用。這樣,就可以定義一組標準的接口,而允許各種不同的實現方法。
8、分層系統的缺點有:
1)并不是每個系統都可以很容易地劃分為分層的模式,甚至即使一個系統的邏輯結構是層次化的,出于對系統性能的考慮,系統設計師不得不把一些低級或高級的功能綜合起來;
2)很難找到一個合適的、正確的層次抽象方法。
9、 B/S體系結構的優點有什么?
答:1)基于B/S體系結構的軟件,系統安裝、修改和維護全在服務器端解決。用戶在使用系統時,僅僅需要一個瀏覽器就可運行全部的模塊,真正達到了“零客戶端”的功能,很容易在運行時自動升級。
2)B/S體系結構還提供了異種機、異種網、異種應用服務的聯機、聯網、統一服務的最現實的開放性基礎。
10、B/S體系結構的缺點有什么?
答:1)B/S體系結構缺乏對動態頁面的支持能力,沒有集成有效的數據庫處理功能。
2)B/S體系結構的系統擴展能力差,安全性難以控制。
3)采用B/S體系結構的應用系統,在數據查詢等響應速度上,要遠遠地低于C/S體系結構。
4)B/S體系結構的數據提交一般以頁面為單位,數據的動態交互性不強,不利于在線事務處理(OLTP)應用。
11、DSSA
答案:DSSA就是在一個特定應用領域中為一組應用提供組織結構參考的標準軟件體系結構
11、軟件體系結構的動態性主要分為:
交互式動態性、結構化動態性、體系結構動態性等三類。
12、請畫出基于構件的動態系統結構模型畫。
13、軟件產品線
產品線是一個產品集合,這些產品共享一個公共的、可管理的特征集,這個特征集能滿足選定的市場或任務領域的特定需求。這些系統遵循一個預描述的方式,在公共的核心資源(core assets)基礎上開發的
14、SOA
即service-oriented architecture,面向服務架構。它是一個組件模型,它
將應用程序的不同功能單元(稱為服務)通過這些服務之間定義良好的接
口和契約聯系起來。接口是采用中立的方式進行定義的,它應該獨立于
實現服務的硬件平臺、操作系統和編程語言。這使得構建在各種這樣的
系統中的服務可以以一種統一和通用的方式進行交互。
14、RIA
15、中間件
15、設計模式
答:一些設計面向對象的軟件開發的經驗總結,就是系統的命名、解釋、和評價某一個重要的面向對象的可重現的面向對象的設計方案。
15、軟件體系結構測試和傳統軟件測試區別
16、UML中的交互圖有兩種,分別是順序圖和協作圖,請分析一下兩者之間的主要差別和各自的優缺點。掌握利用兩種圖進行的設計的方法。
答:順序圖可視化地表示了對象之間隨時間發生的交互,它除了展示對象之間的關聯,還顯示出對象之間的消息傳遞。與順序圖一樣,協作圖也展示對象之間的交互關系。順序圖強調的是交互的時間順序,而協作圖強調的是交互的語境和參與交互的對象的整體組織。順序圖按照時間順序布圖,而協作圖按照空間組織布圖。順序圖可以清晰地表示消息之間的順序和時間關系,但需要較多的水平方向的空間。協作圖在增加對象時比較容易,而且分支也比較少,但如果消息比較多時難以表示消息之間的順序。
17. 管道過濾器風格結構特點
(1)使得軟構件具有良好的隱蔽性和高內聚、低耦合的特點;
(2)允許設計者將整個系統的輸入/輸出行為看成是多個過濾器的行為的簡單合成;(3)支持軟件重用。
(4)系統維護和增強系統性能簡單。
(5)允許對一些如吞吐量、死鎖等屬性的分析;
(6)支持并行執行。
但是,這樣的系統也存在著若干不利因素。
(1)通常導致進程成為批處理的結構。這是因為雖然過濾器可增量式地處理數據,但它們是獨立的,所以設計者必須將每個過濾器看成一個完整的從輸入到輸出的轉換。
(2)不適合處理交互的應用。當需要增量地顯示改變時,這個問題尤為嚴重。
(3)因為在數據傳輸上沒有通用的標準,每個過濾器都增加了解析和合成數據的工作,這樣就導致了系統性能下降,并增加了編寫過濾器的復雜性。
18. 什么是設計模式?它與風格、框架有什么區別與聯系?
設計模式是對通用設計問題的重復解決方案。
軟件體系結構風格是描述某一特定應用領域中系統組織方式的慣用模式。
軟件框架是整個或部分系統的可重用設計
模式比框架更加抽象
框架是模式的特例化
設計模式被實現成為框架后,可以極大的減輕從設計到實現的鴻溝
利用了模式的框架比沒有利用模式的框架更容易理解、更能被設計與實現重用
通常成熟的框架包含了多種設計模式
一個框架不僅可以具體實現一個模式,還可以具體的實現多個模式
設計模式與風格兩者為近義詞,通常情況下可以互相通用
風格主要是指大的,宏觀的設計。模式既可宏觀,又可微觀。
19. 軟件體系結構測試的內容與準則是什么?
內容:構件端口行為與連接件約束是否一致、兼容,單元間的消息是否一致、可達,相關端口是否可連接,體系結構風格是否可滿足。
準則:測試覆蓋所有的構件及各個構件的接口。各個連接件的接口、構件之間的直接連接、構件之間的間接連接。
20、請簡述MVC,介紹各自的作用和用途。
答案:MVC是三個單詞的縮寫,分別為:模型(Model),視圖(View)和控制
Controller)。MVC模式的目的就是實現Web系統的職能分工。
Model是應用對象,所有的操作都在這里實現,它若需要取得視圖中的對象或更新視圖,需通過控制器來進行處理。
View是模型在屏幕上的表示,模型在進行操作后,其結果是通過視圖顯示的。
Controller用于管理用戶與視圖發生的交互,定義用戶界面對用戶輸入的響應方式。一旦用戶需要對模型進行處理,不能直接執行模型,而必須通過控制器間接實現的。
選擇題
1、設計模式一般用來解決什么樣的問題( A )
A.同一問題的不同表相 B不同問題的同一表相
C.不同問題的不同表相 D.以上都不是
2、下列屬于面向對象基本原則的是( C )
A.繼承 B.封裝C.里氏代換 D都不是
3、Open-Close原則的含義是一個軟件實體( A )
A.應當對擴展開放,對修改關閉.
B.應當對修改開放,對擴展關閉
C.應當對繼承開放,對修改關閉
D.以上都不對
5、要依賴于抽象,不要依賴于具體。即針對接口編程,不要針對實現編程,是( D )的表述
A.開-閉原則
B.接口隔離原則
C.里氏代換原則
D.依賴倒轉原則
7、設計模式的兩大主題是( D )
A.系統的維護與開發 B 對象組合與類的繼承
C.系統架構與系統開發 D.系統復用與系統擴展
9、下列模式中,屬于行為模式的是( B )
A.工廠模式 B觀察者 C適配器D 以上都是
10、常用的軟件體系結構評估的方法不包括( C )。
A體系結構權衡分析法B.軟件體系結構分析法
C系統體系結構分析法D.中間設計的積極評審
11、不屬于軟件體系結構的核心模型的最基本的元素是 ( D )
A 構件 B 連接件C 配置 D 角色
12、選項中部屬于“4+1”試圖模型的是:( C )
A 邏輯視圖 B 物理視圖 C 連接視圖 D 開發視圖
13、下列說法錯誤的一項的是( D )
A:邏輯視圖主要支持系統的功能需求,即系統提供給最終用戶的服務
B:開發視圖也稱模塊視圖,主要側重于軟件模塊的組織和管理
C:進程視圖側重與系統的運行特性,主要關注一些功能性需求,例如系統的性能和可用性。
D:物理視圖主要考慮如何吧軟件映射到硬件上,它不需要要考慮到系統性能、規模、可靠性等。
14、在三層C/S體系結構中,_________是最重要的構件。( A )
A 中間件 B 末尾件
C 功能層 D 數據層
15、C/S系統中,服務器的以下任務中哪一個是錯的?( A )
A 數據庫一致性要求
B 數據庫訪問并發性控制
C 數據庫前端的客戶應用程序的全局數據完整性規則
D 數據庫的備份與恢復
16、 與C/S體系結構相比,B/S體系結構也有許多不足之處一下說法正確的是( A )
A B/S體系結構缺乏對動態頁面的支持能力,沒有集成有效的數據庫處理能力
B B/S體系結構的系統擴展能力差,但是安全性比較容易控制
C 采用B/S架構構的應用系統,在數據查詢等響應速度上,要遠遠的高于C/S體系結構
D B/S體系結構的數據提交一般以頁面為單位,數據的動態交互性不強,利于在線事務處理(Online Transaction Processing,OLTP)應用。
17、以下關于軟件體系結構描述方法說法錯誤的是(B)
A圖形表達工具在軟件設計中占據主導地位。
B由于軟件設計語言和模塊內連接語言具有嚴格的語義基礎,因此它們能支持較小的`軟件單元進行描述。
C基于軟構件的系統描述語言將軟件系統描述成一種是由許多以特定形式相互作用的特殊軟件實體構造組成的組織或系統。
D軟件體系結構描述語言是參照傳統程序設計語言的設計語言的設計和開發經驗,重新設計、開發和使用針對軟件體系結構描述語言。
18、下列選項中關于ADL與其他語言的比較說法中錯誤的是( B )
ADL與需求語言的區別在于后者描述的問題空哦關鍵,而前者則扎根于解空間中
ADL與建模語言的區別在于后者對部分的關注要大于對整體的關注
ADL與傳統的程序設計語言的構成元素由許多相同和相似之處,有各自有著很大的不同
ADL集中在構件的表示上。
19、對動態軟件體系結構的形式化描述通常可以采用的方法?( D )
A、圖形化方法B、代數進程方法 C、邏輯方法D、以上皆是
20、以下哪些特征不屬于動態體系結構特征( D ) ?
A 可構造性動態特征
B 適應性動態特征
C 智能性動態特征
D 安全性動態特征
21、通常,一個Web服務可以分為4個邏輯層,分別為數據層(Data Layer)、數據訪問層(Data Access Layer)、 業務層(Business Layer)和監聽者(Listener)。離客戶端最近的是監聽者,離客戶最遠的是______:( A )
A 數據層(Data Layer)
B 數據訪問層(Data Access Layer)
C 業務層(Business Layer)
D 監聽者(Listener)
篇二:軟件體系結構期末范圍綜合
1. 軟件體系結構定義:
軟件體系結構為軟件系統提供了一個結構、行為和屬性的高級抽象,由構成系統的元素的描述、這些元素的相互作用、指導元素集成的模式以及這些模式的約束組成。
2. 核心研究內容:
(1)體系結構風格:描述特定系統組織方式的慣用范例,強調組織模式和慣用范例。
(2)設計模式:軟件問題高效和成熟的設計模板,模板包含了固有問題的解決方案。
(3)應用框架:整個或部分系統的可重用設計,表現為一組抽象構件的集合以及構件實 例間交互的方法。
3.軟件危機表現形式:軟件成本日益增長、開發進度難以控制、軟件質量差、軟件維護困難
4.·構件:具有一定功能,能獨立工作或能同其他構件裝配起來協調工作的程序體。
·軟件重用:兩次或多次不同的軟件開發過程中重復使用相同或相近軟件元素的過程。·構件與軟件重用的關聯關系:語義完整,語法正確和有可重用價值的單位軟 件,是軟件重用過程中可以明辨識別的系統。
5. 軟件體系結構模型的分類(5種):
(1)結構模型:這是一個最直觀、最普遍的建模方法。這種方法以體系結構的構件、連接件和其他概念來刻畫結構,并力圖通過結構來反映系統的重要語義內容,包括系統配置、約束、隱含的假設條件、風格、性質研究結構模型的核心是體系結構描述語言。
(2)框架模型:框架模型與結構模型類似,但它不太側重描述結構的細節而更側重于整體的結構。
(3)動態模型:動態模型是對結構或框架模型的補充,研究系統的“大顆粒”的行為。例如,描述系統的重新配置或演化。動態可以指系統總體結構的配置、建立或拆除通信通道或計算的過程。
(4)過程模型:過程模型研究構造系統的步驟和過程。結構是遵循某些過程腳本的結果。
(5)功能模型:功能模型認為體系結構是由一組功能構件按層次組成,下層向上層提供服務。功能模型可以看作是一種特殊的框架模型。
6. “4+1視圖模型”
最終用戶:功能需求編程人員:軟獎管理
系統集成人員:性能 系統工程人員:系統
可擴充性、吞吐量等拓撲、安裝、通信等
·邏輯視圖:主要支持系統的功能需求,即系統提供給最終用戶的服務。在邏輯視圖中,系統分解成一系列的功能抽象,這些抽象主要來自問題領域。這種分解不但可以用來進行功能分析,而且可用作標識在整個系統的各個不同部分的通用機制和設計元素。
·開發視圖:也稱模塊視圖,主要側重于軟件模塊的組織和管理。開發視圖要考慮軟件內部的需求,如軟件開發的容易性、軟件的重用和軟件的通用性,要充分考慮由于具體開發工具的不同而帶來的局限性。開發視圖通過系統輸入輸出關系的模型圖和子系統圖來描述。 ·進程視圖:側重于系統的運行特性,主要關注一些非功能性的需求。進程視圖強調并發性、分布性、系統集成性和容錯能力,以及從邏輯視圖中的主要抽象如何適合進程結構。它也定
義邏輯視圖中的各個類的操作具體是在哪一個線程中被執行的。進程視圖可以描述成多層抽象,每個級別分別關注不同的方面。在最高層抽象中,進程結構可以看作是構成一個執行單元的一組任務。它可看成一系列獨立的,通過邏輯網絡相互通信的程序。它們是分布的,通過總線或局域網、廣域網等硬件資源連接起來。
· 物理視圖主要考慮如何把軟件映射到硬件上,它通常要考慮到系統性能、規模、可靠性等。解決系統拓撲結構、系統安裝、通訊等問題。
· 場景可以看作是那些重要系統活動的抽象,它使四個視圖有機聯系起來,從某種意義上說場景是最重要的需求抽象。在開發體系結構時,它可以幫助設計者找到體系結構的構件和它們之間的作用關系。同時,也可以用場景來分析一個特定的視圖,或描述不同視圖構件間是如何相互作用的。
本地呼叫場景的一個原型:
7.軟件體系結構核心模型的組成元素(5種)的含義,彼此關系(構件、連接件、配置) (1)構件:計算或存儲數據單元,包含多種屬性,如接口、類型、
語義、約束、演化和非功能屬性等。
(2)連接件:建立構件間的交互以及支配這些交互規則的體系結構
構造模塊。
(3)體系結構配置:描述體系結構的構件和連接件的連接圖。 用于確定構件是否正確連接、接口是否匹配、連接件構成的通信是 否正確,并說明實現要求行為的組合語義。 (4)端口(5)角色 8. 軟件過程:需求分析→建立體系結構→設計→實現→測試
10. 軟件體系結構風格11. 體系結構風格的四要素:(1)提供一個詞匯表;(2 語義解釋原則;(412.通用體系結構的分類:
經典的體系結構風格: (1)數據流風格:批處理序列;管道和過濾器。
(2)調用/返回風格:主程序/子程序;面向對象風格;層次結構。
(3)獨立構件風格:進程通訊;事件系統
(4)虛擬機風格:解釋器;基于規則的系統。
(5)倉庫風格:數據庫系統;超文本系統;黑板系統
·管道和過濾器模式:構件:過濾器,接收數據輸入,進行轉化后輸出
·過濾器是獨立的實體,相互之間沒有狀態的依賴
·對一個過濾器而言,它上游和下游的過濾器是透明的
交互由管道提供,管道負責連接一個過濾器的輸出和另一個過濾器的輸入
·管道過濾器通用的結構有:
(1)管線:也稱為流水線,即限制系統的拓撲結構只能是過濾器的線性結構;
如:批處理系統、Unix Shell、編譯器
(2)有界管道:限制了在管道中能容納或傳輸的數據量;
(3)類型定義管道:也稱類型管道,即要求明確定義在兩個過濾器間傳輸的數據類型。 優點:
(1)系統的總體輸入輸出是每個過濾器的簡單組合,易于理解;
(2)支持重用;
(3)易于維護和修改;
(4)系統的一些特性容易分析,比如吞吐量、死鎖;
(5)支持并發。
缺點:
(1)經常退化為批處理系統;
(2)交互能力差,管道之間同步困難。
·數據抽象和面向對象組織模式:
構件:對象,或者說是抽象數據類型的實例。
(1)對象是一種被稱作管理者的構件,負責保持資源的完整性。
(2)對象通過函數和過程的調用來交互的。
面向對象模型(1)封裝(2)繼承(3)多態性
這種模式的兩個重要方面:
(1)對象維護自身表示的完整性;(2)這種表示對其他對象是隱藏的。
優點:(1)隱藏內部實現,容易修改;(2)問題分解;(3)重用;
缺點:(1)對一個對象身份的依賴性(顯示調用,即調用一個方法必須以:對象名. 方法名的方式進行調用)(2)繼承往往使得設計變得復雜,引入的多層對象結構使得維護困難。 ·基于事件的隱式調用模式:
構件:模塊,模塊既可以是過程,又可以是事件的集合。
(1)過程可以用通用的方式調用,也可以在系統事件中注冊一些過程,當發生這些事件時,過程被調用。
特點:事件的觸發者并不知道哪些構件會被這些事件影響。
優點:(1)問題分解;將計算和交互相互分離,使得對象更加獨立
(2)系統演化和重用;通過事件注冊,新的構件可以輕易的被引入系統
缺點:(1)構件不能控制系統進行的計算;當一個組件發布事件的時候,它無法假設其他組件會對該事件作出響應(2)對事件觸發的方法調用的次序無法控制(3)數據交換大數據量的數據交互往往沒法由事件攜帶,從而帶來性能問題(4)可能會對正確性的保證帶來困難 ·分層模式
優點:(1)支持逐層抽象的方式進行設計,從而可以將一個復雜系統的設計劃分為多個相對簡單的層次;(2)容易修改,每層的改變至多影響上下兩層;(3)支持重用,只要保持接口不變,每層的具體實現的替換式透明的。(4)支持可移植性。
缺點:(1)性能上的額外支出(2)并非每個系統都可以進行分層設計(3)跨層使用可能會損壞整個模型
· 倉庫系統及知識庫模式
構件:
(1)中央數據結構構件:代表系統當前狀態;(2)一些相對獨立的構件的集合:這些構件對中央數據存儲進行操作。當要交換或共享大量的數據時,倉庫模式是最常用的解決方案。 數據交換方式:(1)共享的數據放在中心數據庫中,所有構件可以通過訪問數據庫進行
交互;(2)每個構件維護自己的數據庫,通過顯示的傳遞數據與其他構件進行交互。
當要交換或共享大量的數據時,倉庫模式是最常用的解決方案。
若中央數據結構的當前狀態觸發系統相應的進程執行,則倉庫是黑板系統。
黑板系統由三部分組成:知識源、黑板數據結構、控制
黑板模式特點:沒有直接的算法可解、具有不確定性、黑板是一種特別的倉庫,主要用于需要對凌亂的信息進行處理的領域,其控制策略必須是機會主義的。
13. C2模式:通過連接件綁定在一起的按照一組規則運作的并行構件網絡。
C2模式中的系統組織規則如下:
(1)系統中的構件和連接件都有一個頂部和一個底部;
(2)構件的頂部應連接到某連接件的底部,構件的底部則應連接到某連接件的頂部,而構件與構件之間的直接連接是不允許的;
(3)一個連接件可以和任意數目的其它構件和連接件連接;
(4)當兩個連接件進行直接連接時,必須由其中一個的底部到另一個的頂部。
C2模式的特點:
(1)系統中的構件可實現應用需求,并能將任意復雜度的功能封裝在一起;
(2)所有構件之間的通訊是通過以連接件為中介的異步消息交換機制來實現的;
(3)構件相對獨立,構件之間依賴性較少。系統中不存在某些構件將在同一地址空間內執行,或某些構件共享特定控制線程之類的相關性假設。
14. C/S風格:
基本概念:C/S軟件體系結構是基于資源不對等,且為實現共享而提出來的,C/S體系結構定義了工作站如何與服務器相連,以實現數據和應用分布到多個處理機上。
主要組成部分:數據庫服務器、客戶應用程序和網絡。
C/S風格—優點: (1)具有強大的數據操作和事務處理能力,模型思想簡單,易于人們理解和接受。(2)系統的客戶應用程序和服務器構件分別運行在不同的計算機上,系統中每臺服務器都可以適合各構件的要求,這對于硬件和軟件的變化顯示出極大的適應性和靈活性,而且易于對系統進行擴充和縮小。(3) 將大的應用處理任務分布到許多通過網絡連接的低成本計算機上,以節約大量費用。
C/S風格—缺點: 開發成本較高、客戶端程序設計復雜、信息內容和形式單一、用戶界面風格不一,使用繁雜,不利于推廣使用、軟件移植困難、軟件維護和升級困難、新技術不能輕易應用
三層C/S風格—優點:(1)提高系統和軟件的可維護性和可擴展性(2)具有良好的可升級性和開放性(3)并行開發(4)有效地隔離開表示層與數據層(5)為嚴格的安全管理奠定了堅實的基礎
三層C/S風格—注意點:
1.各層間的通信效率若不高,即使
分配給各層的硬件能力很強,其作為
整體來說也達不到所要求的性能。
2. 各層間的通信效率若不高,即使分配給各層的硬件能力很強,其作為整體來說也達不到所要求的性能。
B/S風格—基本概念:瀏覽器/服務器(B/S)風格就是上述三層應用結構的一種實現方式,其具體結構為:瀏覽器/Web服務器/數據庫服務器。
B/S風格—優點:基于B/S體系結構的軟件,系統安裝、修改和維護全在服務器端解決。提供了異種機、異種網、異種應用服務的聯機、聯網、統一服務的最現實的開放性基礎。B/S風格—缺點:1.缺乏對動態頁面的支持能力,沒有集成有效的數據庫處理功能。2. 系
統擴展能力差,安全性難以控制。3. 在數據查詢等響應速度上,要遠遠地低于C/S體系結構。4.不利于在線事務處理(OLTP)應用。
15. DSSA的定義:DSSA就是專用于一類特定類型的任務(領域)的、在整個領域中能有效地使用的、為成功構造應用系統限定了標準的組合結構的軟件構件的集合
16. DSSA的基本活動:領域分析、領域設計、領域實現。
17. DSSA與軟件風格的比較:(1)DSSA以問題域為出發點,體系結構風格以解決域為出發點。(2)DSSA只對某一個領域進行設計專家知識的提取、存儲和組織,但可以同時使用多種體系結構風格;而在某個體系結構風格中進行體系結構設計專家知識的組織時,可以將提取的公共結構和設計方法擴展到多個應用領域。
18. 軟件體系結構和軟件體系結構描述的區別:軟件體系結構是附屬于系統之中。只要存在系統,體系結構就存在;軟件體系結構描述是將體系結構可視化的手段和產物
19. 體系結構描述方式:圖形表達方式、UML、模塊接口語言MIL、ADL
·圖形表達工具 優點:直觀形象、簡單易用 缺點:由于其術語和表達語義上存在著一些不規范和不精確,從而使得以矩形為基礎的傳統圖形表達方法在不同系統和不同文檔之間存在著許多不一致甚至矛盾。
·模塊接口語言MIL 缺點:這些語言處理和描述的軟件設計開發層次過于依賴程序設計語言,限制了它們處理和描述比程序設計語言元素更為抽象的高層次軟件構架元素的能力。
20. 體系結構描述語言ADL定義:ADL是在底層語義模型的支持下,為軟件系統的概念體系結構建模提供了具體語法和概念框架。
21. 軟件體系結構的分析評估:就是通過成本相對較低的活動來分析結構中可能存在的風險,發現軟件體系結構中影響系統質量的關鍵因素,并提出相應的改進措施,在此基礎上檢驗軟件的性能需求是否得到滿足。
22. 系統的質量屬性的分類:性能、可靠性、可用性、安全性、可修改性、功能性、可變性、 集成性、互操作性
23.基于場景的評估方式:ATAM、SAAM
SAAM法是把一個物體最豐要的屬性列舉出來,再用檢查表法把各個項目加以變化,并將其加以重新組合,然后再找出其中可以實行而且也有效果的項目。
優點:SAAM方法在改良事物性質的方面具有極大的功效。SAAM方法是第1個被廣泛接受的體系結構分析評價方法。它適用于可修改性、可拓展性以及功能覆蓋等質量屬性。
缺陷:沒有提供體系結構質量屬性的清晰的度量。評估過程依賴專家經驗等,只適合對體系結構的粗糙評價
步驟:1.形成場景2.描述體系結構3.對場景進行分類和確定優先級4.對間接場景進行單個評估5.評估場景和相互作用6.形成總體評估7.SAAM評估日程安排
ATAM 是評價軟件構架的一種綜合全面的方法,它考慮了可修改性、可靠性和安全性等多種質量屬性。
優點: 有助于質量目標的具體化和排序;ATAM方法是被驗證有效和廣泛使用的一種方法,可以針對實用性、可靠性和可修改性這些質量屬性,在系統開發之前對其進行分析和評價。 缺點:它對質量屬性并沒有進行深入分析,缺少定量的數據來支持分析的結果。
步驟:
1. 描述ATAM方法2.描述商業動機3.描述體系結構4.確定體系結構的方法5.生成質量屬性
效用樹6.分析體系結構方法7.討論和分級場景8.分析體系結
構方法9.描述評估結果
2. 內外有別模型
篇三:《軟件體系結構》課程設計
《軟件體系結構》課程設計
設計題目: 實驗室設備管理系統
姓 名: 李欣 張丹 唐蔚霖 學 號: k0308413(07+13+17) 同組組長: 李欣同組其他成員:張丹 唐蔚霖
實驗指導教師:李超
實驗地點: 9B505
完成日期: 2011-6-10
湖北民族學院信息工程學院
目錄
一、概述(目的、任務、開發環境、參考資料)
二、采用的主要方法與技術
三、需求分析
四、設計
五、實現過程與步驟
六、遇到的困難與獲得的主要成果
七、測試與運行記錄
八、完成結果分析與總結
九、附錄(軟件配置、個人完成的程序模塊和文檔清單)
一、概述(目的、任務、開發環境、參考資料)
21世紀以來,人類經濟高速發展,人們發生了日新月異的變化。隨著時代的發展,教育越來越需要實驗,讓學生從實驗中得到更多,更扎實的知識。因此學校也需要對實驗室的實驗設備進行更多的投入,而投入之后就帶來了管理方面的問題。我們做的這個系統主要是對設備的購買、維修、報廢等方面進行了一定的管理,可以讓設備進行有序、有效的管理,為管理人員節約一些因為管理混亂而浪費的時間。不過系統的功能還不夠完善,性能也還不夠穩定,有待于以后不斷的進行完善。
實現的功能如下:
(1) 對于已徹底損壞的做報廢處理,同時詳細記錄有關信息。
(2) 對于由嚴重問題(故障)的要及時修理,并記錄修理日期、設備名、
編號、修理廠家、修理費用、責任人等。
(3) 對于急需修改但又缺少的設備,需以“申請表”的形式送交上級領導
請求批準購買。新設備購入后要立即進行設備登記(包括類別、設備名、編號、型號、規格、單價、數量、購置日期、生產廠家、保質期和經辦人等信息),同時更新申請表的內容。
(4) 隨時對現有設備及其修理、報廢情況進行統計、查詢,要求能夠按類
別和時間段等查詢。
參考文獻:譚浩強主編.Visual Basic程序設計(二)教程.清華大學出版社
柳青等編. Visual Basic 程序設計教程.高等教育出版社 范立南. SQL Server2000 實用教程.北京:清華大學出版社 孫燕等編.Visual Basic 程序設計.高等教育出版社 薩師煊 王珊編.數據庫系統概論.北京:高等教育出版社 楊志強.Visual Basic 程序設計教程.北京:高等教育出版社.
二、采用的主要方法與技術
軟件工程是一門從技術和組織管理兩個角度研究如何用系統化、規范化和數量化等工程原理與方法去進行軟件開發和維護的學科。軟件工程學研究的范圍非常的廣泛,包括技術方法、工具、和管理等許多方面。軟件生命周期的各個階段可分為:
問題定義:確定系統的基本功能
可行性研究:確定系統是否能夠實現及是否值得實現
需求分析:確定系統必須完成的各種功能
總體設計:確定如何實現軟件
詳細設計:詳細設計實現系統
編碼和單元測試:寫出正確的容易理解和維護的程序模塊
綜合測試:通過各種類型的測試及調試使軟件達到預訂的要求 軟件維護:通過各種必要的維護活動使系統持久的滿足用戶需要 采用軟件工程的技術開發本系統,通過以上八個階段組成的軟件生存期。
它是指從提出開發要求開始直到該軟件報廢為止的整個時期。分階段進行,就把規模龐大、結構復雜和管理復雜的軟件變得很容易控制和管理。
本系統主要利用Visual Basic作為前端的應用開發工具,利用ACCESS作為后臺的數據庫,利用Windows XP作為系統平臺。
Windows xp以其友好的圖形界面、易學易用的操作方法、強大的多任務功能、健全的內在管理以及先進的程序設計方法為廣大數據庫軟件開發人員嗦熟悉。對它的操作環境熟悉,使得我們在其開發數據庫應用程序更加方便、可靠。
三、需求分析 (該過程參考西方和本國制定的軟件需求規范說明書相關標準)
管理員可以對實驗室設備信息進行查詢及相關實驗室設備的使用情況查看。管理員可以根據本人用戶名及密碼登錄系統。在信息系統中,后臺數據庫存儲的地位相當重要,數據庫的設計不但對數據的操作速度有影響,還直接關系到軟件系統的質量和生存周期,本系統數據庫中包括教師資料數據表、借用設備表、儀器表、用戶登錄表。系統首先必須維護實驗室中詳細資料的數據表,程序能對該表進行寫入和讀出數據的操作。相應的,該表還有記錄讀者的借用情況,系統通過該表判斷讀者是否滿足借用條件。系統還要管理員信息表,記錄管理員的資料,檢驗管理員的登錄,管理員的權限等。
1、目的
1)便于用戶、分析人員和軟件設計人員進行理解和交流
2)希望系統的外部項均支持目標軟件系統的確認。根據需求規格說明書中確立的可測試標準進行測試,并得到確認。
3)控制系統進化過程
2、軟件產品的作用范圍
學校、科研機構、大型實驗室
3、功能需求
1)設備預訂:實現實驗人員在系統平臺上查詢庫內實驗設備的狀態及其在某一時段的使用狀態,若無損壞且未被預訂使用,則用戶可以預訂使用。
2)設備管理:實現現在倉庫中的每樣設備信息的登記和新設備的入庫登記,舊設備的報修、報廢處理、以及設備狀態的更改。
3)設備的借出:按照教師所需設備給予借出,并在數據庫中更改這些設備的使用狀態
4)設備的歸還:按照教師所還設備而進行入庫登記,并在數據庫中更改這些設備的使用狀態。
5)設備報修:實驗人員在實驗過程中如果發現設備損壞,通過此系統報告給管理員,同時修改數據庫中的設備狀態。
4、數據庫需求
用戶的需求具體體現在各種信息的提供、保存、更新和查詢,要求數據庫結構能夠充分滿足各種信息的輸出和輸入。收集基本數據、數據結構以及數據處理的流程,組成一份詳細的數據字典。
四、設計(該過程參考西方和本國制定的軟件設計規范說明書相關標準)
1、總體設計
原理:總體設計的基本目的就是回答“概括的說,系統應該如何實現?”這個問題。因此,總體設計又稱為概要設計或初步設計。通過這個階段的工作將計劃分出組成系統的物理元素-----程序、文件、數據庫、人工過程和文檔等等,但是每個物理元素仍然處于黑盒子級,這些黑盒子里的具體內容將在以后仔細設計。總體設計階段的另一項重要任務是設計軟件的結構,也就是要確定系統中每個程序是由哪些模塊組成的,以及這些模塊相互之間的關系。
總體設計工程通常有兩個主要階段組成:系統設計,確定系統的具體實現方案;結構設計確定軟件機構,也就是要確定系統中每個程序擁有哪些模塊組成,以及這些模塊之間的關系。在詳細設計之前進行總體設計可以站在全局的高度上,花較少的成本,從中選出最佳的方案和最合理的軟件結構,從而用較低的成本開發出高質量的軟件系統。
2、詳細設計
數據庫的概念設計:根據對數據流圖和數據字典的分析,確定該應用中的實體、屬性、和實體之間的聯系,并畫出系統總體E-R圖。概念設計可以分為三部進行:首先設計局部E-R模式,然后把各局部E-R模式綜合成一個全局模式,最后對全局ER模式進行優化,得到最終的模式,即概念模式。
局部E-R模式設計:實體和屬性的定義。ER模型的“聯系”用于刻畫實體之間的關聯。一種完整的方式是對局部結構中任意兩個實體類型,依據需求分析的結果,考察局部結構中任意兩個實體類型之間是否存在聯系。若有聯系,進一步確定是1:N,M:N,還是1:1等。還要考察一個實體類型內部是否存在聯系,兩個實體類型之間是否存在聯系,多個實體類型之間是否存在聯系,等等。
利用ER方法進行數據庫的概念設計,可以分三個步驟進行:首先設計局部ER模式,然后把各局部ER模式綜合成一個全局模式,最后把全局ER模式進行優化,得到最終的模式。所有局部ER模式設計好了之后,接下來就是把它們綜合成單一的全局概念結構。全局概念結構不僅要支持所有局部ER模式,而且必須合理地表示一個完整、一致的數據庫概念結構。
1)局部ER模式的合并
合并的原則是:首先進行兩兩合并;先合并那些現實世界中有
【《軟件體系結構》期末復習題】相關文章:
語文期末復習題06-12
期末復習題參考06-18
藥理期末復習題06-18
詞語期末復習題03-09
小學英語期末復習題06-17
期末數學復習題精選06-17
語文上冊期末復習題06-17
軟件技術基礎模擬復習題06-14
小學語文期末復習題目精選06-19