系統生命週期(System life cycle)

需求(requirements)

設立一些規格定義任意程式專案的目標。這些規格描述給定的輸入、產出的輸出為何

分析(analysis)

仔細描述出系統需求,把問題分析成數個容意處理的小工作

  • 由下而上(bottom-up)
    沒有結構化的方法,結構鬆散或容易有錯誤的程式片段。

  • 由上而下(top-down)
    規劃完全後將程式分成數個可處理的片段,再針對每個片段進行更低階的細節。

設計(design)

觀察程式需要哪些資料物件(data object) 與運算(operations)

  • 資料物件(data object) => 抽象化資料型態(abstract data type)
  • 運算(operation) => 演算法(algorithm) 規格以及設計策略

改良與編碼

為資料物件(data object) 選擇一種表示法,替處理資料物件的運算設計演算法。

資料物件的表示法會直接決定演算法之效率

驗證

  • 證明程式的正確性
    應避免耗費時間,可選擇已被證明其正確性的演算法來減少許多可能發生的錯誤。

  • 測試
    測試資料必須小心取用,務必做到將所有可能發生的情況都考慮進去。

  • 移除錯誤

執行速度非常緩慢的程式也沒有任何價值 !!!