外部設計について
外部設計とは
外部設計(External Design)とは
外部設計とは、要件定義で決定した機能・非機能や制約条件などを基にして、ユーザー(顧客)視点でのシステムの振る舞い方を決めていく工程となります。
つまり、ユーザーの要求に基づき、ユーザにとって必要となる機能や構成などのシステムの基本となる設計を実施する作業工程となります。
外部設計の呼び方や英語表記について
外部設計は、「基本設計」や「概要設計」とも呼ばれ、企業組織の文化や開発方法論によって呼ばれ方はまちまちです。
なお、IPA(情報処理推進機構)では情報処理試験において、外部設計/内部設計という用語を用いています。
英語圏では、外部設計のことを「Preliminary Design(予備設計)」や「High-level Design(高レベル設計)」と呼ぶことが多いようです。
「External Design」という言葉は建築(特に住宅関連)業界で用いる設計用語のようで、システム開発ではあまり使わないようです。
また、「Basic Design」という言葉も英語圏ではあまり使われず、使われた場合には意味合いが要件定義と設計の中間フェーズを指すようです。

外部設計の設計対象
機能設計(Function Design)
機能設計とは、要件定義における機能要件を満たすために、全体の構成や機能などのシステムの基本設計を定義する工程作業です。
システム全体から機能単位に分割していき、要件定義で定められた要件を満たすよう、それぞれの機能を設計していきます。
機能設計は以下のような設計工程に細分化することができます。
分類 | 説明 |
---|---|
画面・ユーザーインターフェース(UX/UI)設計 |
画面設計は、システム利用者が操作する画面に対する設計です。 操作画面のレイアウトや表示する情報、画面遷移、操作方法などを定めます。 |
外部システムI/F設計 |
外部システムI/Fとは、外部システムとのデータ連携のための接点のことです。 外部連携のためにプロトコル、連携するデータ項目や通信タイミングなどを定めます。 |
帳票設計 |
帳票設計とは、帳票の書式やデザインなどに対する設計です。 帳票とは、事業の活動内容を記録するために使用する書類の総称です。 |
バッチ設計 |
バッチ設計とは、データ群を一括処理する機能に対する設計です。 日次処理、週次処理の集計やバックアップなどの一括処理が必要なジョブ管理などを定めます。 |
DB論理設計、データ設計 |
DB論理設計とは、概念設計で作成した概念モデルを論理モデルに変換する設計です。 どのようにデータを整理し、関連付け、保存するかを計画します。 |
非機能設計(Non-Function Design)
非機能設計とは、要件定義における非機能要件を満たすためのシステム設計を定義する工程作業です。
特にユーザーから見える箇所である、使いやすさ・性能(パフォーマンス)・信頼性・セキュリティ・制約条件などについて設計を実施します。
非機能設計では具体的な数値を示すように仕様化して、顧客と合意を取ることが重要となります。
方式設計
方式設計とは、システムに関連するハードウェアやソフトウェアの構成、ネットワーク構成、外部I/Fなどを定義する工程作業です。
方式設計は別名で、「システム方式設計(system architectural design)」や「アーキテクチャ設計」と呼ばれることもあります。
詳細化する必要がある項目(例えば、開発言語やフレームワークの選定、アプリケーション構成やモジュール間連携など)については内部設計で定義することもあり、その設計範囲は開発組織や開発対象のシステムによってまちまちです。
方式設計ではシステム基盤を定義することから、パフォーマンスやセキュリティなどの非機能要件の考慮も重視されます。
その他設計
その他の設計は、システム開発という業務自体の設計、システム運用するために必要な部分の設計を定義する工程作業です。
システム開発業務とは、開発スケジュール、開発費用、開発体制などを指します。
運用部分とは、運用費用、運用規定、移行設計、セキュリティリスク対応(情報漏洩や不正アクセスの対策)などを指します。
外部設計の成果物
外部設計書(基本設計書)
外部設計の成果物は、外部設計書(基本設計書)です。
外部設計書は、ユーザ(顧客)が見ることができるシステムの基本部分を定義した文書になります。
システム方式
- ハードウェア構成図(サーバ構成図、システム構成図)
- ソフトウェア構成図
- ネットワーク構成図
- アプリケーション機能構成図
画面設計
- 画面一覧表
- 画面遷移図
- 画面レイアウト
- 画面入出力項目一覧
DB設計・データ設計
- DBテーブル関連図
- DBテーブル一覧
- DBテーブル定義
- CRUD図
- ER図
- データフロー図
- ファイル定義
その他機能仕様
- 機能一覧
- 業務フロー図
- 帳票設計
- バッチ設計
- 外部インターフェース設計
- メッセージ定義(エラーメッセージ一覧)