はじめに
システム開発において、仕様書、基本設計書、詳細設計書というものがあります。しかし、ローカルルールもたくさんあり、正しい基準がよくわからなくなる場合もあります。ここでは、改めて仕様書、基本設計書、詳細設計書の違いについてお話していきます。
仕様書とは?
仕様書とは、システムの性能を示したものです。車で例えると、重さが何キロで、スピードがどのくらい出て、馬力がどのくらいあるなどの指標です。プログラムでは、どんな帳票が出て、どんなボタンがあって、どんなことができるのかを表したものです。基本的にはお客様と直接やり取りをして決めます。
基本設計書とは?
基本設計書とは、仕様の性能を実現するために、全体的にどのような構造にするか示したものです。車で例えると、どのような形状にして、どのようなパーツを組み入れて、全体的にどのような車にするか示したものです。車のように複雑な機構を持つ場合は、詳細設計が必要になりますが、明らかに簡単な形状の場合は、敢えて詳細設計に落とし込む必要はありません。機械設計においては、全体設計図と呼ばれます。ソフトウェア開発においては、どこからデータを持ってきて、どのように組み合わせて、何を出力するのかをまとめたものになります。
詳細設計書とは?
詳細設計書とは、仕様の性能を実現するために、個々の機能をどのように作るかを示したものです。車で例えると、燃費のよいエンジンをどのようにつくるか、スピードを支えるタイヤをどのようにつくるか、コーナリングをスムーズに行えるステアリングをどのようにつくるか等をまとめたものです。機械設計においては、部分組立図、部分設計図と呼ばれます。ソフトウェア開発においては、データ構造とアルゴリズムを書いたものです。
ローカルルールも確認しておこう。
上記が仕様書、基本設計書、詳細設計書の違いですが、原則があれば例外もありますので、現場の設計書を読むとメチャクチャだったりします。例えば、基本設計書に仕様程度のことしか書かれていなかったり、本来なら詳細設計書がいらないレベルの設計にも関わらず、顧客からの要望や管理上の理由で詳細設計書を書く場合などです。このあたりは、臨機応変に対応してください。
まとめ
仕様書、基本設計書、詳細設計書はそれぞれ役割があります。お客様と設計者の橋渡しをするのが仕様書で、設計者が開発者が困らないように書くものが基本設計書で、特定の難度の高いモジュールの設計をするのが詳細設計書です。とはいってもローカルルールもかなりありますので、適材適所で対応するのがベストです。