軟件體系結構課程知識點

軟件危機的表現:
1.軟件成本日益增長
2.開發進度難以控制
3.軟件質量差
4.軟件維護困難

軟件危機成因:
1.用戶需求不明確
2.缺乏正確的理論指
3.軟件規模越來越大
4.軟件複雜度越來越高

軟件工程三要素:方法、工具、過程

1.軟件體系結構定義、作用、意義
定義:軟件體系結構具有一定形式的結構化元素,即構件的集合,包括處理構件、數據構件和連接構件。處理構件負責對數據進行加工,數據構件是被加工的信息,連接構件把體系構件的不同部分組合連接起來。
作用:1.作爲通信的手段; 2.代表了早期的設計決策結果
意義:體系結構是風險承擔者進行交流的手段;

軟件體系結構代表了系統的公共的高層次的抽象,這樣,系統的大部分有關人員能把它作爲建立一個互相理解的基礎,形成統一的認識,互相交流。
體系結構提供了一種共同語言來表達各種關注和協商,進而對大型複雜系統能進行理智的管理,這對項目最終的質量和使用有極大的影響。

2.軟件體系結構風格定義
軟件體系結構風格是描敘某一特定應用領域中系統組織方式的慣用模式。
體系結構風格定義了一個系統家族,即可定義一個詞彙表和一組約束,詞彙表中包含一些構件和連接件類型,而這組約束指出系統是如何將這些構件和連接構件組合起來的。
體系結構風格反映了領域中衆多系統所共有的結構和語義特性,並指導如何將各個模塊和子系統有效地組織成一個完整的系統。

3.B/S(browser/server)風格優缺點
瀏覽器/服務器(B/S)風格就是上述三層應用結構的一種實現方式,其具體結構爲:瀏覽器/web服務器/數據庫服務器
優點:
1. 基於B/S體系結構的軟件,系統安裝、修改和維護安全在服務器端解決,用戶在使用系統時,僅僅需要一個瀏覽器就可運行全部的模塊的功能,很容易在運行時自動升級
2. B/S體系結構還提供了異種機、異種網、異種應用服務的聯機、聯網、統一服務的最現實的開放性基礎
缺點:
1.沒有集成有效的數據庫處理功能,對數據處理功能不強
2.安全性難以控制
3.採用B/S體系結構的應用系統,在數據查詢等響應速度上,要遠遠低於C/S體系結構
4.B/S體系結構的數據提交一般以頁面爲單位,數據的動態交互性不強,不利於在線事務處理應用

4.C/S風格優缺點
優點:
1. 模型思想簡單,易於人們理解和接受。
2. 靈活、易維護與擴充,系統的客戶應用程序和服務器構件分別運行在不同的及計算機上,系統中每臺服務器都可以適合各構件的要求,這對於硬件和軟件的變化顯示出極大地適應性和靈活性,而且易於對系統進行擴充和縮小。
3. 資源可以進行合理配置:在C/S體系結構中,系統中的功能構件充分隔離,客戶應用程序的開發集中於數據的顯示和分析,而數據庫服務器的開發則集中於數據的管理,不必在每一個新的應用程序中都要對一個DBMS進行編碼。
缺點:
1. 開發成本高
2. 客戶端程序設計複雜
3. 用戶界面風格不一,使用複雜,不利於推廣使用
4. 軟件移植困難
5. 軟件維護和升級困難
6. 新技術不能輕易應用

三層C/S比兩層C/S增加了一個應用服務器
三層C/S優點:
1. 允許合理地劃分三層結構的功能,使之在邏輯上保持相對對立性,能提高系統和軟件的可維護性和可擴展性
2. 允許更靈活有效地選用相應的平臺和硬件系統,使之在處理負荷能力上與處理特性上分別適應於結構清晰的三層,並且這些平臺和各個組成部分可以具有良好的可升級性和開發性
3. 應用的各層可以並行開發,可以選擇各自最合適的開發語言
4. 利用功能層有效地隔離開表示層與數據層,未授權的用戶難以繞過功能層而利用數據庫工具或黑客手段去非法地訪問數據層,爲嚴格的安全管理奠定了堅實的基礎
動態軟件體系結構分類:
1. 交互性式動態性
2. 結構化動態性
3. 體系結構動態性
軟件體系結構模型:
1. 結構模型 (重點)(核心:體系結構描敘語言)
2. 框架模型
3. 動態模型 (重點)
4. 過程模型
5. 功能模型

軟件體系結構的核心模型由5中元素組成:
構件:具有某種功能的可重用的軟件模板單元
連接件:構件之間的交互
配置:構件和連接件的拓撲結構和約束
端口:表示構件和外部環境的交互點
角色:定義了該連接交互的參與者

軟件體系結構的生命週期模型:
1.需求分析階段
2.建立軟件體系結構階段
3.設計階段
4.實現階段

“4+1”視圖模型模型:

這裏寫圖片描述

分層系統的優點有:
1) 支持基於抽象程度遞增的系統設計,使設計者可以把一個複雜系統按遞增的步驟進行分解;
2) 支持功能增強,因爲每一層至多和相鄰的上下層交互,因此功能的改變最多影響相鄰的上下層;
3) 支持重用。只要提供的服務接口定義不變,同一層的不同實現可以交換使用。這樣,就可以定義一組標準的接口,而允許各種不同的實現方法。
分層系統的缺點有:
1) 並不是每個系統都可以很容易地劃分爲分層的模式,甚至即使一個系統的邏輯結構是層次化的,出於對系統性能的考慮,系統設計師不得不把一些低級或高級的功能綜合起來;
2) 很難找到一個合適的、正確的層次抽象方法。

DSSA:就是在一個特定應用領域中爲一組應用提供組織結構參考的標準軟件體系結構
軟件產品線:產品線是一個產品集合,這些共享一個公共的、可管理的特徵集,這個特徵集能滿足選定的市場或任務領域的特徵需求
SOA :即service-oriented architecture,面向服務架構。
它是一個組件模型,它將應用程序的不同功能單元(稱爲服務)通過這些服務之間定義良好的接口和契約聯繫起來。接口是採用中立的方式進行定義的,它應該獨立於實現服務的硬件平臺、操作系統和編程語言。這使得構建在各種這樣的系統中的服務可以以一種統一和通用的方式進行交互。

管道過濾器風格結構特點
(1)使得軟構件具有良好的隱蔽性和高內聚、低耦合的特點;
(2)允許設計者將整個系統的輸入/輸出行爲看成是多個過濾器的行爲的簡單合成;
(3)支持軟件重用。
(4)系統維護和增強系統性能簡單。
(5)允許對一些如吞吐量、死鎖等屬性的分析;
(6)支持並行執行。

軟件體系結構測試的內容與準則:
內容:構件端口行爲與連接件約束是否一致、兼容,單元間的消息是否一致、可達,相關端口是否可連接,體系結構風格是否可滿足。
準則:測試覆蓋所有的構件及各個構件的接口。各個連接件的接口、構件之間的直接連接、構件之間的間接。

MVC是三個單詞的縮寫,分別爲:模型(Model),視圖(View)和控制 (Controller)。MVC模式的目的就是實現Web系統的職能分工
Model是應用對象,所有的操作都在這裏實現,它若需要取得視圖中的對象或更新視圖,需通過控制器來進行處理。
View是模型在屏幕上的表示,模型在進行操作後,其結果是通過視圖顯示的。
Controller用於管理用戶與視圖發生的交互,定義用戶界面對用戶輸入的響應方式。一旦用戶需要對模型進行處理,不能直接執行模型,而必須通過控制器間接實現的。

構件的概念:構件是指語義完整、語法正確和有可重用價值的單位軟件,是軟件重用過程中可以明確辨識的系統;結構上,它是語義描述通訊接口和實現代碼的複合體
構件分類方法:關鍵字分類方法、刻畫類方法、超文本組織方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章