ソフトウェア方式設計で決める範囲はどこまで?
基本情報技術者試験 平成30年度春期 午前 問47 / システム開発技術 › ソフトウェア方式設計・詳細設計
過去問にチャレンジ
開発プロセスにおいて,ソフトウェア方式設計で行うべき作業はどれか。
- ア
顧客に意見を求めて仕様を決定する。
- イ
ソフトウェア品目に対する要件を,最上位レベルの構造を表現する方式であって,かつ,ソフトウェアコンポーネントを識別する方式に変換する。
- ウ
プログラムを,コード化した1行の処理まで明確になるように詳細化する。
- エ
要求内容を図表などの形式でまとめ,段階的に詳細化して分析する。
会話形式の解説
講師この問題では、何を実現するかを定める作業と、決まった要件をソフトウェアの構造に変える作業を見分けます。
受験者顧客の意見を聞いて仕様を決める作業も、設計に入るように思いました。
講師そこで決めているのは、実現すべき内容です。ソフトウェアの構造を決める前の要件定義に当たります。
受験者では、要求を図表にまとめて段階的に分析する作業はどうですか。
講師それも要求の内容を整理する作業です。図表を使っていても、要件を構造へ変換しているかを確かめます。
受験者全体の構造を表して、コンポーネントを識別する作業なら当てはまりますか。
講師はい。それがソフトウェア方式設計で行う作業で、正解です。コンポーネントは構造を構成する要素です。
受験者コードの1行ごとの処理まで決める作業は、構造を決めるには細かすぎるのですね。
講師そのとおりです。個々の処理を具体化する作業は、全体の構造を決める方式設計より細かい段階に当たります。
受験者要求を決めたり整理したりする作業と、個々の処理を決める作業を除き、全体の構造と構成要素に注目すればよいですね。
講師はい。図表を使うかどうかではなく、定められた要件をソフトウェアの構造に変えているかが判断のポイントです。
まとめ
ソフトウェア方式設計では、定められた要件をソフトウェア全体の構造に変換し、構成するコンポーネントを識別します。顧客の意見を踏まえた仕様決定や要求の分析は、実現すべき内容を定めたり整理したりする作業です。コードの1行ごとの処理を明確にする作業は、方式設計より細かい段階に当たります。
解答・解説
正解はイです
この問題のテーマ
ソフトウェア方式設計で扱う作業の範囲を、要件定義や詳細な設計と区別する問題です。
解き方の考え方
各選択肢が、要求を定める作業、全体の構造を決める作業、個々の処理を具体化する作業のどれに当たるかを見ます。ソフトウェア方式設計は、定められた要件を上位の構造に変え、構成要素を識別する段階です。
選択肢ごとの解説
- ×ア 顧客に意見を求めて仕様を決定する。顧客の意見を踏まえて仕様を決めるのは、何を実現するかを定める作業です。ソフトウェアの構造を設計する前の、要件定義に当たります。
- ○イ ソフトウェア品目に対する要件を,最上位レベルの構造を表現する方式であって,かつ,ソフトウェアコンポーネントを識別する方式に変換する。ソフトウェアに求められることを、全体の構造として表し、そこに含まれるコンポーネントを識別しています。これはソフトウェア方式設計で行う作業です。
- ×ウ プログラムを,コード化した1行の処理まで明確になるように詳細化する。コードの1行ごとの処理まで明確にするのは、個々の処理を具体化する作業です。全体の構造を決める方式設計より細かい段階に当たります。
- ×エ 要求内容を図表などの形式でまとめ,段階的に詳細化して分析する。要求を図表にまとめて段階的に分析するのは、要求の内容を整理する作業です。要件をソフトウェアの構造へ変換する作業とは異なります。
POINT
- 要件定義では、実現すべき要求を明らかにします。
- 方式設計では、要件をソフトウェア全体の構造に変換します。
- 方式設計では、構造を構成するコンポーネントを識別します。
- コードの各処理を決める作業は、方式設計より細かい段階です。
