設計階段的風險
設計的主要目的在于軟件的功能正確的反映了需求?梢娦枨蟮牟煌暾蛯需求分析的不完整和錯誤,在設計階段被成倍地放大。設計階段的主要任務是完成系統體系結構的定義,使之能夠完成需求階段的即定目標;另一方面也是檢驗需求的一致性和需求分析的完整性和正確性。
設計本身的風險主要來自于系統分析人員。分析人員在設計系統結構時過于定制,系統的可擴展性較弱,會給后期維護帶來巨大的負擔,和維護成本的激增。對用戶來說系統的使用比例會有明顯的折扣,甚至造成軟件壽命過短。反之,軟件結構的過于靈活和通用,必然引起軟件實現的難度增加,系統的復雜度會上升,這又會在實現和測試階段帶來風險,系統的穩定性也會受到影響。從另一個角度上看,業務規則的變化,或說用戶需求和將來軟件運行環境的變化都是必然的情況,目前軟件設計的所謂"通用性"是否就能很好的適應將來需求和運行環境的的變化,是需要認真折衷的。這種折中也蘊涵著很大的風險。
設計階段蘊涵的另一種風險來自于設計文檔。文檔的不健全不僅會造成實現階段的困難,更會在后期的測試和維護造成災難性的后果,例如根本無法對軟件系統進行版本升級,甚至是發現的簡單錯誤都無從更正。實現階段引入的風險軟件的實現從某種意義上講是軟件代碼的生產。原代碼本身也是文檔的一部分,同時它又是將來運行于計算機系統之上的實體。源代碼書寫的規范性,可讀性是該階段的主要風險來源。規范的代碼生產會把屬于程序員自身個性風格的成分引入代碼的比例降到最低限度,從而減小了系統整合的風險。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/