業界に限らず、建築業、加工業、色々な場所で設計書が活躍している。
それらに共通する点は、こんなところだろうか。
- 構造が明らかになっている。
- 動作するものは、その動作も明らかになっている。
- 多少の専門性は必要だが、人が読んで理解できる。
- 様々な段階で適度に抽象化されている。
- また逆に、細部まで詳細化されている。
そう考えていくと…だ。
システム開発で最終的に「メイク」されるコードって、じつは設計書の特性を全部持っている事に気づく。
先に上げた設計書に3つの特徴を全て網羅するばかりか、定義してしまえば実際に動作までするなんてものができるのは、ソフトウェアぐらいのものだ。
つまり、ことソフトウェア開発に限っては、ほぼ全工程が「設計」である、と言い切れる。
ただし
これはあくまで「きちんと書ける」人によって書かれたソースの場合の話。
下手な人間が書いたコードは、構造が整理されていない為に複雑怪奇過ぎ、記述レベルが全て詳細記述しかなく、どう動作しているのか不明。
さらに最悪なのは、判読不能ために読み込んでいくと頭がクラクラする事だ。
こういうソースは、できれば設計書だけ読んで理解した(フリをした)くなる。