軟體體系結構的非功能屬性

2021-04-02 21:55:09 字數 669 閱讀 2672

摘抄自: 《pattern-oriented software architecture volume 1: a system of patterns》 wiley出版社出版

略有改動

「程式,像人一樣,會變老。我們不能夠阻止老化,但我們可以弄清楚引起老化的原因,採取措施來限制它的影響,暫時性地修復由老化引起地損害,並為軟體最終不可再用做好準備。」   --parnas

parnas 先生同時也提出了四個軟體變老的原因:

軟體長期沒有公升級;

無知的胡亂更改--一些不了解最初計畫的人們胡亂的對系統進行修改。造成系統架構的破壞。

軟體從一開始就是不靈活的;

由於文件的缺乏,隨著時間的推移,造成對軟體系統產生錯誤的理解。

下面列舉了重要的非功能屬性:

易修改性 (changeability)

互操作性 (interoperability)

這個主要是指與使用者互動的介面要友好。

效率(efficiency)

系統使用資源和速度的問題。主要是指時間和空間兩種資源。

可靠性(reliability)

健壯性並不像容錯性一樣確保在系統出現錯誤的時候仍然可以繼續執行。而是以某種已經定義好的方式終止執行。

可測試性(testability)

可重用性(reusability)

軟體體系結構 軟體體系結構概論

開學到現在我已經上了三節軟體體系結構的課程,現在我想把自己學到的整理歸納一下。此篇隨筆對應於教材軟體體系結構概論一章。首先談一談我剛接觸這門課程是的感受。那就是 我靠 軟體也會有體系結構?以前只學過資料結構 演算法 基本的程式語言,覺得程式設計無非就是使用者給我需求,我便按照需求來程式設計序就好,從...

軟體體系結構

軟體體系結構是具有一定形式的結構化元素,即構件的集合,包括處理構件 資料構建 連線構建。處理構建 負責對資料進行加工 資料構建 是被加工的資訊 連線構建 把體系結構的不同部分組合連線起來 1 作為通訊的手段 2 代表了早期的設計決策結果 3 高層次的設計復用手段 1 軟體體系結構是風險承擔者 又稱涉...

軟體體系結構 軟體體系結構複雜性

複雜性具有不同的種類和形態,一種簡明的度量是類之間通訊路徑的數量,通訊路徑是類之間存在的持久或暫時連線。複雜性存在四種維度的解釋 從適應能力的角度,認知複雜性度量可以增強可理解性質量,結構複雜性可以增強可維護性和可伸縮性質量。這兩種度量是有關係的,對於低結構複雜性,認知複雜性的較小值雖然是必要不充分...