* 実際の世界や頭の中にある問題をいかに計算機で実現するか? * モデルを考えるのは人間の頭であり,頭の中で考えたことを * 問題やモデルの詳細化,プログラム化していく。代表的な方法に以下のものがある. ** トップダウン設計 *** 実現へ向けて大きな問題を,分割設計していく. ** オブジェクト指向設計 *** 問題の中の部品 (モジュール)を独立設計していく. ** 問題によって適切な設計方法がある. * その構造を理解し,より小さな問題へ分割し, 8< (家の問題だと,土台,家,室内装飾,など) >8 * 処理の流れを考え (土台造り,家の建築,室内装飾の順に行う) * 設計案,実現案,モジュール毎のインターフェイスなどを決める ** 分割された仕事(モジュール)間の取り決め(インターフェイス)を行う ** 例えば,土台と家のインターフェイスだと ** 家の大きさ,重さ,柱の位置,などなど *** この約束さえ守れば,土台屋さんと大工さんは別々に仕事ができる ** 例えば,家と室内装飾のインターフェイスだと *** 間取り,床壁の材質,などなど - 仕事量の見積と実現可能性を検討し, 再設計.