平成25年度 春期 ITパスポート試験 公開問題 問49 解説 システム開発工程
システム開発を,システム要件定義,外部設計,内部設計,プログラミングの順で進めるとき,画面のレイアウトや帳票の様式を定義する工程として,最も適切なものはどれか。
- ア システム要件定義
- イ 外部設計 ✓ 正答
- ウ 内部設計
- エ プログラミング
解説
画面や帳票といった「利用者側の視点」に関する設計か、プログラムの構造といった「開発者側の視点」に関する設計かを区別することで正解を導き出せます。
外部設計と内部設計の境界線
システム開発の流れにおいて、設計フェーズは大きく「外部設計」と「内部設計」に分かれます。
外部設計(基本設計)は、利用者がシステムを操作する際に直接触れる部分、つまり「外側」の仕様を決める工程です。具体的には、画面のレイアウト、帳票の様式、入力データの定義、操作手順などが含まれます。ユーザーがシステムを使ったときにどのように見えるか、どのように反応するかを定義するため、ユーザーとの合意形成が非常に重要になります。
一方で、内部設計(詳細設計)は、外部設計の内容をどうやってコンピュータ上で実現するかという「内側」の仕組みを決める工程です。プログラムの構造、データベースの物理設計、アルゴリズムの選定など、利用者の目には直接触れない部分を具体化します。
どちらのフェーズかを判断する思考ステップ
今回の問題では「画面のレイアウト」や「帳票の様式」というキーワードが与えられています。これらはシステムを利用する人間が直接目にし、業務で使用するツールそのものです。
- 問いの対象が「利用者との接点」にあるかを確認する。
- もし接点であれば、それは「外側」に関することなので外部設計であると判断する。
- もし「プログラムの処理」や「データ格納方法」などの「裏側の処理」であれば、内部設計であると判断する。
このように、対象が誰に向けたものなのかを意識するだけで、迷うことなく正解を選択できます。
実務現場における設計工程の役割
システム開発の現場では、この設計工程の切り分けがプロジェクトの成否を分けます。外部設計の段階でユーザーとの認識の齟齬があると、システムが完成した後に「思っていた画面と違う」「帳票の項目が足りない」といった重大な手戻りが発生し、膨大なコストがかかってしまいます。
そのため、システム要件定義で決めた「何を実現するか」を、外部設計では「どのように見せるか」という具体的な形に落とし込み、関係者全員がその完成イメージを共有できるようにします。このステップを疎かにすると、後のプログラミング工程やテスト工程で、そもそも仕様が間違っていたという事態になりかねません。ITパスポート試験の観点からは、単に用語を暗記するだけでなく、開発工程全体の中でどの作業がどの段階に位置づけられ、何のために行われるのかという因果関係を理解しておくことが、応用力を高めるコツです。