詳細設計って…
現在PG兼ひよっこSEとして、日々奮闘中のN.Tです。
プログラムを組むにあたって、詳細設計って大事ですよね。業界人としてまだまだ若輩者ですが、システム開発で詳細設計を読む側としても、書く側としても苦しめられた経験が何度かあります。
そんなある日、偶々詳細設計を一から作る機会がありました。今まで途中参画が多かった中で、こんな機会はめったに無いと意気込んだわけですが、いざ詳細設計を書こうとしてふと思う事がありました。
「詳細設計って、どれぐらい細かく書いたらいいんだろうか…?」
詳細設計書って、会社や案件によってフォーマットも書き込み具合も全然違いますよね。処理内容・条件・引数・戻り値などの情報はあれど、結構大まかに書かれている場合もあれば、ソースレベルで事細かに書かれている場合もあるわけです。大まかに書き過ぎると、後々開発に入った時に仕様の漏れが発生する可能性が出てきますし、基本的には詳細に書ければ書けるほど良いのだと私は思います。
ただ、ソースレベルにまで落とし込んでしまうと、より効率の良い処理の仕方の発想が生まれる可能性を潰してしまうのではと思うのです。また、ソースレベルにまで落とし込むという事は、同じプログラムを2回作るのと変わらないと思うのです。ですから、私は詳細設計はソースレベルにまで落とし込むのではなく、どのような処理をする・させるのか、その為にどの情報が必要なのか、どんな情報を返したらよいのか、エラーが出た時どう処理するのかなど必要最低限の情報を書き、1ステップ毎に細かく書く必要はないのではと思います。
もちろん、フォーマットややり方がルール化されている場合はそれに従うべきですよ!ですが、フォーマットなど何もない状態から始める際は、みなさんも詳細設計の書き方について少し考えてみてはどうでしょうか?