仕様書・設計書の作成

2021/12/06

いくらプログラムが好きでも、長年プログラマーとして会社で働き、それなにり信用を得ると、会社からはワンランク上のポジションを求められたりします。

いわゆる SE というやつですね。

SE の仕事は、顧客の要求から仕様を決定し(要件定義)、大まかな設計(基本設計・詳細設計)をするまでの情報システム開発における上流工程を担当します。

「一生プログラマがいい」という人も多いみたいですが、実際はフリーランスではなく会社に席を置き続けるなら「やらざるを得ない」状況に追い込まれたりします。

そんな訳で今回は Laraveler のキャリアパスとして「仕様書・設計書」の作成についてエントリーします。

【 仕様書 】
「何を作るの?」を説明した資料。(要件定義・基本設計)
 
【 設計書 】
「どうやって作るの?」を説明した資料。(詳細設計)

 

INDEX

 

システム開発の大まかな流れ

システムの開発の大まかな流れは、以下のようになります。

【 ウォーターフォール型 】
1.要件定義
2.システム設計(基本設計・詳細設計)
3.実装
4.テスト
5.導入
 
※システム開発では、要件定義から詳細設計までを上流工程と言います。

 

要件定義について

まず初めに、"どのようなアプリを開発したいのか明らかにする" ために要件定義を行います。

「全体のデザインはどのようなイメージにするのか」「実装する機能はどれか」など、アプリ全体の構成や仕組みを話し合います。

 

ポイント
  • まず最初は現状把握から行う。
  • 要件定義には、経営視点システム開発視点の大きく2つの視点が必要である。
  • スムーズに進行できるかどうかは、事前情報収集が非常に重要である。
  • 顧客の要求を明確化したら、実現できる内容か整理していく。

良い要件定義書とは、顧客と開発会社の双方が誤解なく、システム開発の全情報を共有できる文書です。

 

要件定義書の成果物(例)

・システム化要件
業務フロー図
・機能一覧表

 

基本設計書について

基本設計は「要件定義」の結果を受けてシステム機能を具体化する行程です。

この工程は、外部設計概要設計 とも呼ばれます。

 

ポイント
  • システム開発の際、そのシステムに必要な機能を定義し、可視化する。
  • 基本設計はクライアントも一緒になって確認することが多いため、クライアントに見られることを想定して作る。
  • 基本設計の前工程には要件定義がある。

 

基本設計書の成果物(例)

・画面一覧
・画面遷移図
・画面レイアウト(概要)/モックアップ

 

詳細設計書について

詳細設計とは基本設計にて決まった内容を元に『これまでの決定事項を実現するために細かく落とし込んでいく工程』です。

【 基本設計と詳細設計の違い 】
 
基本設計(外部設計)・・・顧客が使用する実際に目に見える機能を構築するための設計(見えるシステムの外側の部分)
 
詳細設計(内部設計)・・・基本設計で決められた機能を実現するためにシステムの中身を作り上げるための設計(見えないシステムの中身の部分)

 

ポイント
  • プログラムの実装をする前に行う行程。
  • 詳細設計の目的は、システム要件や仕様を実際のシステムへ落とし込むこと。
  • スピードを重視するWebメディア開発では、詳細設計書を整理するよりも実装・テストを優先して素早く公開する傾向にある。

 

詳細設計書の成果物(例)

詳細設計では以下を整理します。

データベース設計

・テーブル関連図(ER図)
・テーブルファイル一覧
・テーブル/ファイル定義

 

入出力の設計

・イベント処理概要
・入出力定義書

 

まとめ

いかがでしたでしょうか?

このように、上流工程で設計書を作成するSEは「要件定義」「基本設計」「詳細設計」とPGに指示をする設計書を作成していきます。

ちなみに個人的な印象ですが、設計書の作成は Excel で作成する人が多いですね。

Excel ファイルのセル幅を縮めた、いわゆる Excel方眼紙ベース の設計書ですね。

この理由には画面項目やDBのテーブル項目など、何かと表形式で書くものが多いため、Excelのほうが扱いやすいという背景があります。

具体的な書き方については、情報処理推進機構(IPA)が提供する資料を参考にしている人が多いみたいです。

IPA「機能要件の合意形成ガイド」

 
以上です。

手を動かして学ぶITプロジェクトの資料作成!システム開発のドキュメンテーション技術と成果物テンプレート

なかなか学べる機会の少ないITプロジェクトの資料作成。プロジェクト計画から要件定義、設計、テスト、移行、運用まで、いつ、何を決め、どんな資料を作ればいいのか、開発現場のリアルな視点で徹底解説。
4.2(2314)

本庄マサノリ

仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら

>> Twitter をフォローする

 

-周辺知識