系統軟體的質量屬性

2021-07-22 18:28:34 字數 3236 閱讀 7515

相關標準

主要內容

gb/t 16260.1

質量模型

gb/t 16260.2

外部質量屬性

gb/t 16260.3

內部質量屬性

gb/t 16260.4

使用質量屬性

gb/t 8566

軟體生命週期過程模型

gb/t 18905

質量屬性評價

產品質量過程是確保產品能夠最終滿足使用者需求的過程。

產品的質量可以用測量產品的內部屬性(比如靜態測試),外部屬性(比如產品執行過程中的測試)和使用質量來評價。

對於產品產生過程(定義於gb8566)進行的評價和改進有助於改善產品質量,而對產品質量的改進和評價有助於改善使用質量;改進過程質量是提高質量的手段,而改進產品質量是提高質量的方法。

使用質量的反饋有助於提高產品質量,而評價產品質量的反饋有助於改進過程。

在產品的生命週期中對質量的檢視是不一樣的,在初始階段一般從使用者的使用角度去定義產品質量,而在開發和維護階段通常從開發者角度去看待產品的設計質量等內部質量。希望在開始階段定義完整的質量需求是不現實的,因為

1)使用者往往並不清楚需要的質量屬性

2)開始定義的要求可能會在後面發生變化

3)不可能訪問所有的使用者。

但是,盡可能的描述產品的質量屬性還是必要的。在產品交付階段,必須描述清楚產品的質量屬性。

產品質量的度量可以從使用質量,外部質量,內部質量去度量。外部度量和內部度量由一些特性以及以下的子特性構成。

使用度量由四個特性構成,沒有再細分。使用度量是外部度量和內部度量的特性組合而形成的質量;

使用者的質量要求可以用使用質量,外部質量或者內部質量去度量。在確認產品時這些度量確定的需求可以作為準則來使用。通常需要一種可以得到反饋的開發方法迭代的獲得使用者的要求。

外部質量需求是從產品的外部視角規定的質量要求。可以為開發階段的設定目標,可以作為評價產品的準則;

內部質量需求是從產品的內部視角規定的質量要求。可以為開發階段的設定目標,可以作為開發策略的驗證和評價的準則;

內部質量是產品內在質量的總和;是針對內部質量需求的測量和評價;

外部質量是產品外在質量的總和;是針對外部質量需求的測量和評價;

使用質量是從使用者使用的角度對有效性,生產效率,安全性,滿意度的度量,而不是對產品本身質量進行測量;

質量模型可應用於產品開發過程中的需求分析階段的需求評價,以及支援過程中的驗收,確認,評審過程;

產品質量模型應用例項:確定需求的完整性,確定需求,確定產品的設計目標,確定產品的測試目標,確定產品的驗收準則,確定產品的質量保證準則;

內部質量和外部質量的質量屬性包括:功能性,可靠性,易用性,可修改性,效率,可移植性;

使用質量的質量模型是站在使用者的角度對系統進行的度量,不僅包括易用性而是以上多個屬性的集合。包括:有效性,生產效率,安全性,滿意度

有效性:就是使用者使用系統能夠達到需要的功能和效能的能力;

生產效率就是為滿足有效性,使用者需要消耗的資源(時間,各種資源,人力);

安全性是使用者可接受的軟體,資源破壞情況;

滿意度是指使用者對系統的滿意程度;

使用者對使用質量的評價往往根據使用者的特點和環境有不同的評價指標。比如對於維護者評價的是可維護性指標;

對於使用者評價的是功能性,可靠性,安全性指標;

使用質量決定於外部質量,外部質量決定於內部質量。但是內部質量並不能完全滿足外部質量,外部質量也不能完全滿足使用質量,因此這三個層次的度量是不能替代的。

此外在《軟體架構實踐》這本書中將軟體的質量屬性分成:系統質量屬性,商業質量屬性,架構本身質量屬性;

系統質量屬性包括:可用性、可修改性、效能、安全性、可測試性和易用性; 

商業質量屬性包括:目標市場,生命週期長短,成本與收益,上市時間,上市計畫;

架構本身質量屬性包括:概念完整性,完整性和正確性,可構建性;

系統的質量屬性包括系統的多方面要求,因此架構的質量實現取決於多方面的技術方法;

可用性:相當於gb中的可靠性

實現可靠性的方法有錯誤檢測,恢復,預防,備份;

錯誤檢測的方法有:心跳,命令/響應,異常斷言;

恢復:是系統從錯誤狀態中恢復到正常狀態,方法有前向恢復,後向恢復,重新引入恢復,防衛式設計;

前向恢復有結構冗餘:表決,n版本設計,時間冗餘(多次計算),資訊冗餘(校驗);

後向恢復有:恢復塊;

重新引入恢復:狀態恢復,基於檢查點的恢復,事務回滾;

防衛式設計(異常檢測try catch)

預防:方法有程序監視,定期重置;

備份:雙機熱備或集群;

可修改性:相當於gb中的可修改性;

方法有:區域性修改,防止鏈式反應,延遲繫結;

區域性修改方法有:提前假設(抽象介面,介面與實現分離),維持模組之間關係的語義一致

(不要呼叫過多的模組,模組之間是高內聚松耦合的);

泛化(針對介面而不是實現程式設計,,開閉原則(對介面關閉,對擴充套件開放)),限制可能的選擇;

防止鏈式反應方法有:資訊隱藏,維持介面一致,減少呼叫途徑;

延遲繫結方法有:通過配置定義實現介面,執行時註冊;

效能:相當於gb中的效率;方法有:減少資源需求,增加資源供給,資源排程;

減少資源需求:可以通過優化演算法減少計算量;減少不必要的需求如取樣頻率,關閉不需要的資源以減少需求;

限制執行時間,避免長時間占用資源;

增加資源供給:增加如cpu執行頻率,記憶體等硬體資源;將任務分成多個並行任務,以減少閉鎖機會;

資源排程(排程演算法fifo,時間片輪轉,優先順序);

安全性:相當於功能性中的安全性子特性;

方法有:安全防護,安全預防,安全恢復

安全防護包括:身份識別與認證,資訊加密與完整性,訪問控制;

安全預防包括:入侵檢測;

安全恢復包括:審計;

可測試性:相當於gb中可修改性中的可測試性子特性;可修改性就是發生錯誤或需要修改時能夠較快的定位修改的地方,並能夠比較容易的修改和測試;

方法有:介面與實現分離(可以方便的實現測試模組和樁模組),特化測試介面(為測試預留特殊介面),

記錄與回放,內建監視;

易用性:相當於gb中易用性;

方法有:設計時實現與介面分離,執行時記錄使用者狀態(使用者資訊,行為資訊,系統資訊),

支援使用者主動動作(重做與回退);

Debian系統軟體安裝

檢視已安裝軟體 建議用root安裝,有一些工具,使用非root使用者安裝後,仍然不識別命令,可能跟許可權有關。netstat command not found 說明沒有安裝netstat工具,而該工具在 net tools 工具包內。apt get install net tools ok.再說一...

嵌入式系統軟體的全過程質量保證

質量是產品的生命 當今隨著軟 硬體技術的發展,嵌入式系統廣泛應用於航空航天 國防軍事 電子通訊等行業,其中軟體也越來越複雜。而這些領域應用特點,決定了嵌入式系統往往是高安全 任務關鍵的系統,軟體的微小瑕疵就可能嚴重威脅到生命和國家的安全 天文數字的巨額財產損失。這就使得保證嵌入式軟體的質量和可靠性,...

軟體架構 軟體質量屬性描述

評估體系結構的重要因數 質量屬性 3類質量屬性 系統的質量屬性 受架構影響的商業屬性 與架構本生相關的質量屬性 常見的系統質量屬性 可用性 可修改性 效能 安全性 可測試性 易用性 質量屬性場景 1 刻畫質量屬性的手段,由六部分組成 刺激源 刺激 環境 製品 響應 響應度量 2 以一種統一規範的方式...