軟體架構中品質特性

來源:互聯網
上載者:User

標籤:style   blog   http   ar   使用   sp   java   strong   on   

From:http://www.cnblogs.com/wintersun/archive/2013/04/24/3039877.html

每一種架構模式都有它的優缺點以及潛在風險,選擇正確模式來滿足需求功能和品質特性是非常重要的.品質特性在需求分析過程中已經定義了, 品質特性可分為三種類型: 

 

1. 實現特性. 

  * 協作性.在內部組件與外界通用訪問與交換資料. 協作性需要鬆散依賴的基礎架構.

  * 可維護性與擴充性. 修改系統與方便地擴充的能力.

  * 可測試性. 協助系統建立測試案例. 可測試性通常需要完整的系統設計與實現文檔.

  * 輕便性. 系統級的獨立於軟體與硬體平台. 系統開發用進階程式設計語言通常具有這個特性. 一個典例的例子就是JAVA, 大多數JAVA程式編譯一次可以在任何地方運行.

  * 伸縮性. 適用增加使用者請求量的能力. 系統設計中伸縮性是比較討厭的瓶頸.

  * 靈活性. 系統易於修改適應於非原始設計的系統不同環境或問題, 系統開發使用面向組件或面向服務的架構通常處理這個特性.

2. 運行時特性. 

   * 可用性. 一個系統應該具有24/7的能力. 可用性通過複製與謹慎設計可應付硬體, 軟體, 網路故障來實現.

   * 安全性. 一個系統應對內外界各種類型的攻擊. 安全效能通過安裝防火牆, 建立認證與授權過程與使用加密.

   * 效能. 增加一個系統效率系統到回應時間, 輸送量, 資源利用, 通常與其它幾個特性呈對立系統.

   * 易用性. 使用者使用系統時感到滿意. 易用性包含完整性, 正確性, 相容性幾個因素, 也包括友好的使用者介面, 完整文檔與支援人員.

   * 可靠性. 準確的輸出結果. MTTF(平均失效前時間), 從故障中恢複, 故障預測.

   * 可維護性(擴充性, 適用性,可服務性, 測試性, 相容性, 可配製性, 軟體系統易於修改.

 


3. 業務特性. 

   * 市場時效性. 從需求分析到產品發布之日所需時間.

   * 成本.  構建到營運系統的消耗.

   * 生命週期. 一個產品”存活”到”退休”期間時間

 

    在大多數情況下,沒有一個單一架構模式能同時滿足所有品質特性. 軟體架構師通常需要在很多特性之間做出權衡. 典型成對應系統品質特生有這些:

*  空間與時間的取捨.  空間換時間, 或是時間換空間.

*  可靠性與效能的取捨.  例如, 像CSharp這樣的語言實現防止記憶體溢出可能, 但純C語言使用指標可以效能高但可靠性低.

*  延展性與效能的取捨.  例如, 一個典型的方法來提高服務的延展性運用複製伺服器。 為了確保所有伺服器的一致性,以確保每個伺服器都有相同的一致性的資料,整個服務的效能就會受到影響。

 


   在選擇架構模式時,不能滿足所有的品質特性,系統分析師或軟體架構師需要與客戶一起來確定品質特性的優先順序。通過枚舉備選體繫結構設計和計算加權來評價品質屬性, 以便軟體架構師可以最佳化設計與選擇最合適的方案。 

軟體架構中品質特性

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.