摘要:本文敘述系統的質量屬性的種類,及其相互關係,如何影響系統功能,如何使系統達到相對完善。android
關鍵詞:軟件 質量屬性 功能 商業質量ios
系統質量屬性有可用性、可修改性、性能、安全性、可測試性、易用性。在複雜的系統中,任何屬性均不是孤立存在的,任何一個質量屬性的實現都會對其餘質量屬性的實現帶來積極或消極的影響[1]。例如,密碼設置越繁瑣複雜,其安全性越高,而相對而言對於用戶來講記憶難度加大,減弱其易用性。系統的完成,須要這些屬性通力合做,博弈出一條最適合、功能性最強的一條路。任何軟件沒有絕對完美的,只有相對完美的。windows
就連騰訊帝國的社交軟件QQ從開發至今盜號家常便飯,而支付寶的盜號卻少之又少。不是騰訊比阿里弱,而是二者對安全性的要求級別不一樣,支付寶與支付有關,若被盜,將損失不小資產,引發用戶恐慌,使支付平臺難以被信任,其也難以吸引用戶使用;而騰訊QQ因爲建立時間早,早期QQ號碼隨便申請,無人知道其價值,安全性也很是差,但隨着互聯網移動支付的時代到來,社交與支付的結合,騰訊公司在安全性方面增長了安全中心、各類驗證方式使其安全性加強。故安全性很重要,可是須要與軟件產品的功能相適應。瀏覽器
除了上述與系統直接相關的質量屬性外,還有不少商業質量目標每每也會對系統的功能、架構產生較大的影響。安全
例如上市時間。若將系統的每個方面都作得無懈可擊,其開發週期將會延長,而上市時間則決定在市場的佔有率,所以一般使用預先構造好的元素或重用之前項目的元素來縮短上市時間[1]。大多數項目使其達到某種級別便可推向市場。架構
成本和收益也對系統開發有限制,例如,應採用開發阻止並不具備的技術實現架構的成本遠高於已存在資產實現架構[1]。花兩萬元作的項目,使其易用性、性能等達到頂級也是不可能的。性能
所但願的系統生命期的長短。若是但願系統生命期很長,則其可修改性變得很重要,爲其推遲上市時間也尤其不可,同時可修改性在市場上存在較長時間,也延長了其生命期。測試
目標市場,對於通用軟件,系統所運行的平臺及特性集決定其市場的大小,好比一些網頁,其在電腦端同瀏覽器上具備美觀與可用,一樣在移動端不會由於縮小致使其變形。各類軟件能夠兼具在ios、android、windows系統使用。所以,可移植性和功能性成爲佔據多大市場的關鍵。支付寶
每一個人對質量屬性有不一樣的分類,系統的質量屬性衆說紛紜,定義模糊。其解決方法是使用質量屬性場景,將其分爲刺激源、刺激、環境、製品、響應、響應度量,來面對特定的質量屬性,減弱差別性。開發
質量屬性是一場綜合的博弈,受方方面面條件的影響,如何使其綜合能力最強,是咱們須要努力的方向。
參考文獻:
[1]林·巴斯[Len Bass],(美)保羅·克萊門茨[Paul Clements],瑞克·凱茲曼[Rick Kazman].軟件構架實踐[Software Architecture in Practice].第二版