内部設計(ソフトウェア方式設計)とは?ないぶせっけい
内部設計(ソフトウェア方式設計)とは、外部設計で決めた振る舞いを、実装できる形へ落とす工程。プログラムをモジュールへ分割し、モジュール間のインタフェース、データベースの物理設計、エラー処理や排他制御の方式を決める。共通フレームではソフトウェア方式設計と呼び、モジュール内部のロジックまで記述するソフトウェア詳細設計とは粒度が分かれる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
設計を1枚で書こうとすると、利用者から見える振る舞いと実装の都合が同じ文書に混ざり、画面を1つ直すたびに全体を読み直す羽目になる。見える部分と作り方を層に分けておけば、変更がどちらの層で閉じるかを判断でき、テストも工程ごとに対応づけられる。単体テストが詳細設計、結合テストが方式設計、システムテストが外部設計に対応するV字モデルは、この分離を前提にしている。
具体例
Redmineのようなチケット管理を作るなら、外部設計で決まった起票画面の裏側を、入力値検証・チケット永続化・通知送信という部品へ割り付ける。そのうえで部品間の引数と戻り値、通知が失敗したときの再試行回数、チケット表の索引を決める。ここまで具体化すれば、結合テストで確かめる受渡しの項目が設計書から一意に導ける。
試験での引っ掛け
内部設計と詳細設計を同一視しがちだが、方式設計はモジュール構成とインタフェース、詳細設計はモジュール内部の処理という粒度差がある。また画面項目の追加は外部設計の変更であって内部設計だけでは閉じない。V字モデルでどの設計工程がどのテストと対応するかを合わせて押さえる。
関連用語
出た過去問
出典:平成28年度 秋期 応用情報技術者試験 午前 問53(IPA)
過去のプロジェクトの開発実績から構築した作業配分モデルがある。システム要件定義からシステム内部設計までをモデルどおりに進めて228日で完了し、プログラム開発を開…
正解:150
要点:期間比から全体日数を割り出し、残工程の比率を足す
期間比の合計は1.00で、システム要件定義からシステム内部設計までは0.25+0.21+0.11=0.57にあたります。これが228日なので全体は228÷0.57=400日です。プログラム開発は0.11で44日、うち半数のプログラムが完了しているので残りは22日、以降のシステム結合が0.11で44日、システムテストが0.21で84日となります。合計すると22+44+84=150日です。
出典:令和5年度 春期 応用情報技術者試験 午前 問53(IPA)
過去のプロジェクトの開発実績に基づいて構築した作業配分モデルがある。システム要件定義からシステム内部設計までをモデルどおりに進めて228日で完了し、プログラム開…
正解:150
要点:期間比から全体期間を逆算し、残工程分だけを積み上げる
要件定義から内部設計までの期間比は0.25+0.21+0.11=0.57で、これが228日なので全体は400日となる。残る工程はプログラム開発0.11、システム結合0.11、システムテスト0.21である。プログラム開発は400×0.11=44日のうち半分の22日が残っているので、22+44+84=150日となる。
出典:令和4年度 秋期 応用情報技術者試験 午前 問66(IPA)
“情報システム・モデル取引・契約書<第二版>”によれば、ウォーターフォールモデルによるシステム開発において、ユーザ(取得者)とベンダ(供給者)間で請負型の契約が…
正解:システム内部設計フェーズからシステム結合フェーズまで
要点:仕様が確定した内部設計〜結合が請負型に適する
モデル取引・契約書では、要件が固まって成果物を明確に定義できる工程は請負型、要件がまだ流動的でユーザ側の関与が不可欠な工程は準委任型が適切とされています。内部設計から結合までは仕様が確定しベンダが成果物の完成に責任を負えるため、請負契約がなじみます。
出典:平成28年度 秋期 応用情報技術者試験 午前 問48(IPA)
JIS X 0160におけるソフトウェア実装プロセスの下位レベルのプロセスのうち、次のタスクを実施するものはどれか。 〔タスク〕 ・ソフトウェア品目の外部インタ…
正解:ソフトウェア方式設計プロセス
要点:方式設計は構成要素とインタフェースの最上位設計を担う
外部インタフェースやコンポーネント間インタフェース、データベースについて最上位レベルの設計を行い、結合のためのテスト要求事項を定めるのは、ソフトウェア方式設計プロセスのタスクです。ここではソフトウェアを構成要素へ分割し、その間の関係を決めます。各コンポーネントの内部を細かく設計するのは、この後に続くソフトウェア詳細設計プロセスです。
出典:平成30年度 春期 応用情報技術者試験 午前 問46(IPA)
ソフトウェアライフサイクルプロセスにおいてソフトウェア実装プロセスを構成するプロセスのうち、次のタスクを実施するものはどれか。 〔タスク〕 ・ソフトウェア品目の…
正解:ソフトウェア方式設計プロセス
要点:方式設計は最上位レベル、詳細設計はその内部を作り込む
外部インタフェースやコンポーネント間インタフェース、データベースの最上位レベル(概略)の設計を行い、結合テストの要求事項を暫定的に定めるのは、ソフトウェア方式設計プロセスの作業である。ここで決めた枠組みを受けて、各コンポーネントの内部を作り込むのがソフトウェア詳細設計プロセスとなる。
出典・参考
公式シラバスの3 技術要素 > 2. データベース設計 > (2) データベースの設計に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。