generated at
ソフトウェアの歴史

ダイクストラ (Edsger Wybe Dijkstr) の提案 : 階層化と構成的なプログラミング
構成的なプログラミングはテスト駆動開発の先駆け
「信頼性を高めるにはバグの大半を回避できる方法を見つける」 「生産性を高めるには、デバッグに時間をかけない、すなわちコードにバグをまぎれこませない」
ミルズの提案 : モジュールを随時統合していく
現代の継続的統合の先駆け
上の 2 つはコードが正しいという信頼性を確立する視点でフレーミング
パーナスはソフトウェア保守に取り組む視点でフレーミング
ダイクストラと同じく分割統治をするが、抽象化の階層よりも情報隠蔽 (information hiding) を重視
高レベル言語
ライフサイクルという概念
設計、コーディング、テストの分離 → 早くエラーを見つけて修正する、という思想は良いものの、実装がよくない
作業が大きなバッチになっている
設計と実装が分離されている
システムの測定可能なビジネスゴールを短く定め、それに少しずつリリースを追加していく

参考文献