設計書

要件定義、基本設計、詳細設計って何?

#技術系
written by クッキーさん

こんにちわ、クッキーさんです。
オリンピックがもうそろそろ始まりますが、運動は見るのも苦手、やるのも苦手の運動音痴おじさんです。
そりゃ運動しなかったらおじさん体系になるよね!年齢のせいもあるけど・・・。

さて、今回は新規案件も始まってちょうど要件定義やってたりするので、開発でもインフラでも必須の「要件定義」、「基本設計」、「詳細設計」について説明してみます!
ちなみに開発の人間ではないので、インフラベースで進めるので多少差異があるかもしれないので、ご承知おきを!

基本的な流れ

開発でもインフラでも、基本的な流れとしては「要件定義」→「設計」→「構築」→「テスト」という流れになります。
要件定義と設計は外すことのできない、構築前のとっても!重要な!フェーズになります!

テストについては、弊社銀太くんの書いたページ「単体テスト、結合テスト、総合テストの違いを簡単に説明してみた。」をご覧ください。

要件定義とは

要件定義とは簡単に言うと「クライアントの叶えたい要望」と「その要望の実現方法」をまとめるフェーズです。
「〇〇がしたいよー」という要望に対して「こういう方法で〇〇できるよー」と実現方法が一覧化されたものを「要件定義書」と呼びます。

ここの部分、流れの一番頭にある通り非常に重要で、このフェーズでクライアントとの認識で齟齬が発生していないよね!という確認になるため、仮に間違っていた場合「設計」→「構築」と進んで、いざ「テスト」です!というタイミングで大幅に手戻りする可能性が・・・。考えただけでも恐ろしい・・・。

但し、スケジュールも基本的に決まっている物になるため、要件定義で時間をかけすぎてしまうと後続作業がどんどん圧迫されていくという恐ろしいフェーズなのです。時間をかけ過ぎず、正しい物を作らないとですね。
最終的にこのフェーズで作成された「要件定義書」は成果物としてクライアントへ提出されるので、雑に作るのはやめましょう。
そもそもこのフェーズに携わって雑に作る人はいないと思いますが・・・。

さて要件定義も終わったので、次のフェーズへ進みましょう!

基本設計とは

基本設計とは、要件定義と詳細設計の間にいる通り「こんな感じで作るよー」という基本的な設計を行うフェーズです。
サーバ構築であれば、OSこれだよー、機器はこれだよー、メモリこんくらいだよー、こんなの入れるよーとか大まかな仕様を決めます。

要件定義によって決まった内容を基に行われるため、細かい内容というより、全体像を決めるような形になります。

こちらも同じように決まった内容を纏めたものを「基本設計書」と呼び、こちらも成果物として提出されます。
システムの全体像で困ったことがあれば、ひとまず基本設計書を眺めると解決できたりします。

この基本設計を基に、詳細設計のフェーズへ行きましょう!

詳細設計とは

詳細設計とは、基本設計を基により詳細な仕様を決めるフェーズです。

例えば、基本設計ではOSを「Windows Server 2019」とした場合、詳細設計では「Windows Server 2019 Std」、コンピュータ名は「server」、ドメインは「GOAT.local」…等々細かい設定を取り決めたりします。
基本的に詳細設計さえ終わってしまえば、ここで決まった内容を基に「構築」するだけのため、誰でも同じレベルで作業できるまで、粒度が細かくなります。

ここも同じくまとめた物を「詳細設計書」と呼ぶのですが、その他にも「パラメータシート」や「デザインシート」とか色々呼び方があったりします。※開発はわかりません・・・。

じゃぁ詳細設計も終わったし「構築」へ・・・といいたいところですが、今回は設計フェーズまでになります。

まとめ

簡単に要件定義~詳細設計までまとめてみました。
関わるまでいまいち要件定義ってなんだそりゃみたいな感じでしたが、気づいたら関わるようなおじさんになってた悲しみを背負いつつ、成長を感じたり感じなかったりしてます。

上流工程に関わるチャンスがあれば、ぜひ挑戦してみてくださいね!

以上、クッキーさんでした。