需求(requirements)
設立一些規格定義任意程式專案的目標。這些規格描述給定的輸入、產出的輸出為何
分析(analysis)
仔細描述出系統需求,把問題分析成數個容意處理的小工作
由下而上(bottom-up)
沒有結構化的方法,結構鬆散或容易有錯誤的程式片段。由上而下(top-down)
規劃完全後將程式分成數個可處理的片段,再針對每個片段進行更低階的細節。
設計(design)
觀察程式需要哪些資料物件(data object) 與運算(operations)
- 資料物件(data object) => 抽象化資料型態(abstract data type)
- 運算(operation) => 演算法(algorithm) 規格以及設計策略
改良與編碼
為資料物件(data object) 選擇一種表示法,替處理資料物件的運算設計演算法。
資料物件的表示法會直接決定演算法之效率
驗證
證明程式的正確性
應避免耗費時間,可選擇已被證明其正確性的演算法來減少許多可能發生的錯誤。測試
測試資料必須小心取用,務必做到將所有可能發生的情況都考慮進去。移除錯誤
執行速度非常緩慢的程式也沒有任何價值 !!!