外部仕様 (がいぶしよう)
外部仕様とは、システムの動きを利用者の立場から見て定義した仕様のこと。対義語は内部仕様。
外部仕様は具体的には以下を指す。
・画面や出力書類の項目/レイアウト/操作
・その機能で実現すること
・テーブルの項目定義、編集仕様
・オペレーション別のチェック、抽出、加工、出力の処理パターン
・エラーの洗い出しとエラー表示方法
・コード体系
外部仕様書
外部仕様書は、要求仕様書を受けて開発者が機能やシステム構造を具体化した文書で、基本設計書とも呼ばれます。このフェーズでは、具体的にユーザーインターフェース(画面レイアウトを含む)、帳票、入出力データの種類など、機能面における要求がまとめられています。
外部仕様書の作成者は開発会社です。とはいえ、開発会社にすべてを任せてしまうのではなく、クライアントも外部仕様書の作成に積極的に関わりましょう。外部仕様書は外側から見えるシステムの機能の仕様についてまとめるため、発注側の意向を反映させる最後の機会といえます。
内部仕様書(詳細仕様書)
内部仕様書は、開発者が外部仕様書の内容をもとに機能の詳細を具体的に記載したもので、機能仕様書や技術仕様書に細分化されます。外部仕様書と異なり、システムの内部のデータ処理など、クライアントやユーザーに見えない部分についての仕様書です。基本的にシステム開発の担当者やプログラマー向けの文書なので、開発会社の責任で作成されます。外部設計で決めた機能を実装しやすいように分かりやすく記載する必要があります。
機能仕様書
機能仕様書(FSD)とは、ソフトウェアの開発で用いられる、アプリ開発に必要な要件をまとめるためのフォーマットです。要求仕様書の内容を実現するために、アプリ機能、動作環境、対応プログラミング言語について定義しています。クライアント側と開発側の認識齟齬の有無を確認するために用いられますので、開発会社のエンジニアがクライアントの要望を聞き取り作成します。
機能仕様書を作成する際に、記述漏れや見落としがあると、アプリ開発に支障が出てしまうため、構造的に要件を記述することが肝心です。そのためには、文と文の主従関係が分かりやすいように、書き方は箇条書きがおすすめです。主文でまず仕様を明確に記載してから、必要な情報を補足文で追加すると、簡潔な機能仕様書が完成します。
ただし作成するにあたって、デバイスやプラットホームについての知識に加えて、ソフトウェア開発の経験が必要となるケースも少なくありません。さらに、機能仕様書は、詳細にわたる記述が求められるため、作成時間が思いの外かかるケースもあります。
技術仕様書
機能仕様書をもとに、プログラムの実装を記載した仕様書で、プログラマーの間での認識の
ズレがないように統一するために用いるものです。具体的には、プログラミングの土台となるデータ構造の設計、関係データベースの設計、機能のアルゴリズム、開発ツールなどを記載します。ただし、機能すべてについて作成する必要はなく、複雑な機能のみ作成します。
技術仕様書は、開発会社のエンジニアとクライアントが共同で作成する機能仕様書と違い、エンジニアがプログラマーと相談しながら進めていくのが一般的です。そのため技術仕様書ではクライアント側が協力できることはありません。また、技術仕様書はクライアント側に開示されることは、一般的にはありませんが、開発したアプリを自社で適切に運用していくために、開発会社に技術仕様書の提供を求めることもできます。
システム開発では、認識齟齬をなくすために、技術仕様書を作成し、定義や手法を明確にさせてから開発を進めることが重要です。
![](https://blogimg.goo.ne.jp/user_image/00/ad/2a5bb58b83bbac6580508e8f7ec35ddc.jpg?1721526161)