Initial 階段
滿足可用性(即易用性)以及可操作性(用戶僅需花費較少代價即可完成軟件的運行和控制)。除此之外,它要求建立基本的軟件設計流程,且可以根據軟件設計規章原則以及過去的經驗,完成標準化模板設計。
Managed 階段
要求具有可擴展性、可維護性以及兼容性。這會使糾正一個軟件缺陷或軟件更改更容易,且多個軟件交換信息的能力更強。
在實際操作過程中,為實現以上三個特性,需要遵守以下五點設計原則:
關鍵點的分離:將應用程序分成清楚的不同元素,使功能的重疊盡可能的少。
單一責任原則:每一個組件或模塊應該只負責唯一一個特定的功能。
最少知識原則:組件或對象不需知道其他組件的內部實現細節,只需按照約定法則調用即可。
不要重復自己:一個組件對應提供一個功能,一個功能也只應由一個組件提供。而不能將功能的實現分散到很多其他的組件中去。
避免在前期做大量的設計:如果需求不清晰,就避免在項目前期做大量的設計工作。
Managed 階段除了要滿足 Initial 的所有要求,還要求軟件設計實現標準化、文檔化且合理性可以用數值度量。同時要求建立軟件設計數據庫,實現對軟件設計缺陷的預測。
Optimized 階段
要求滿足可修改性(保證對系統修改而不增加原系統的復雜程度)、可移植性(花費較少的工作量去完成軟件運行環境轉移)以及可伸縮性(軟件通過較少的改動或僅僅添置硬件設備,就能實現整個系統處理能力的線性增長)。
Optimized 基于 Managed 階段基礎上,還可以采用自動化工具改進軟件設計,并根據數據的統計分析,進行設計上的調整,同時可預防軟件缺陷,并增加對外接口的友好性。
Initial 階段
原文轉自:http://www.ibm.com/developerworks/cn/devops/1609_liuy_quality/