ITパスポート 2009年 秋期 問37
問題文
ソフトウェア要件として明確に規定すべきものはどれか。
選択肢
ア:開発環境のディスク容量
イ:システム化目標
ウ:データ定義(正解)
エ:データベースの最上位レベルの設計
🔒 解説は解答すると表示されます
ソフトウェア要件として明確に規定すべきものはどれか。【ITパスポート 解説】
正解の理由
「データ定義」は、ソフトウェアが扱うデータの項目名・型(例:数値か文字列か)・桁数・意味・制約(必須/任意、範囲など)を明確にすることです。要件(requirement:満たすべき条件)は「ソフトウェアが何を扱い、どのように振る舞うか」を決めるもので、データ定義はその中核にあたります。したがってソフトウェア要件として具体的に規定すべき内容です。
解法ステップ
- 「要件」と「設計」を区別する
- 要件(requirement):何を達成するか、何を満たすべきか(機能やデータ、性能など)
- 設計(design):要件を実現するための具体的な方法や構造(構造、インターフェース、データベース設計など)
- 各選択肢が「要件」か「設計(あるいは運用環境)」かを判定する
- ア: 開発環境のディスク容量 → 開発時の環境設定(運用・構築の話)
- イ: システム化目標 → 上位の目的・ゴール(ビジネス要件)
- ウ: データ定義 → ソフトウェアが扱う具体的なデータ=要件
- エ: データベースの最上位レベルの設計 → 設計(実装に近い具体化)
- 要件として規定すべきものを選ぶ → データ定義(ウ)
選択肢別の誤答解説
- ア: 開発環境のディスク容量
- 開発環境(development environment:ソフトを作るためのPCやソフトの組合せ)に関する要件です。プロジェクト管理や運用に関わる「環境要件」や「開発体制の仕様」には含まれますが、一般に「ソフトウェア要件(ソフトそのものが満たすべき機能やデータ)」ではありません。つまり開発に必要な条件であって、ソフト自体の挙動やデータ仕様ではないため不正解。
- イ: システム化目標
- システム化目標は「業務の効率化」「人的ミスの削減」などのビジネス上の目的です。これは上位レベルの要望(ビジネス要件)であって、ソフトウェアが直接「規定すべき詳細な要件」ではありません。要件定義の出発点になりますが、要件そのものとは区別されます。
- ウ: データ定義(正解)
- ソフトウェアが正しく動作するために、どんなデータをどのように扱うかを決める必要があります。例:顧客番号は「6桁の数字」、電話番号は「最大13文字の文字列」など。これらはソフトの内部処理や画面、入出力に直接関係するため、明確に規定すべきです。
- エ: データベースの最上位レベルの設計
- これは設計(database design:データを保存・検索するための構造設計)に当たります。要件段階では「どんなデータが必要か(データ定義)」や「保存・参照の性能要件」を決めますが、具体的なテーブル設計や正規化などの詳細は設計工程の仕事です。
よくある誤解
- 「設計」と「要件」を混同する
- 例:「テーブルはこう設計するべきだ」と考えると誤り。まずは何のデータが必要か(要件)を決め、その後どう保存するか(設計)を決めます。
- 「開発環境の仕様」もソフト要件だと思い込む
- 開発環境のディスク容量やIDE(統合開発環境:Integrated Development Environment)の設定は、プロジェクト運用の要件です。ソフトウェア要件とは別扱いです。
- ビジネス目標=ソフト要求とする誤り
- 「売上を10%増やす」という目標は要件ではなくゴール。そこから「注文処理時間を50%短縮する」などの具体的な要件に落とし込む必要があります。
補足コラム
要件の階層(ざっくり)
- ビジネス目標(何を達成したいか)
- システム要件(システムとして満たすべきこと)
- ソフトウェア要件(ソフト個別に必要な機能・データ・性能) ← 今回の焦点
- 設計(どのように実現するか)
この順で詳細化(トップダウン)していきます。データ定義はソフトウェア要件の代表的項目です。要件をきちんと定義しておくと、後の設計やテストでの手戻り(やり直し)が減ります。
覚え方のコツ:
「要件は何を扱うか(データ)と何をするか(機能)」、設計は「どう扱うか」。データ定義は「何を扱うか」を明確にする作業です。
「要件は何を扱うか(データ)と何をするか(機能)」、設計は「どう扱うか」。データ定義は「何を扱うか」を明確にする作業です。
FAQ
Q1: 「データ定義」と「データベース設計」の違いは?
A1: データ定義は「必要なデータ項目や型、制約」を決めること。データベース設計はその定義を元に、テーブルや索引(インデックス)などの具体的な構造を作ることです。要件→設計の順になります。
A1: データ定義は「必要なデータ項目や型、制約」を決めること。データベース設計はその定義を元に、テーブルや索引(インデックス)などの具体的な構造を作ることです。要件→設計の順になります。
Q2: 開発環境のディスク容量は全く無関係ですか?
A2: 無関係ではありません。運用や開発効率に関する要件として別途規定しますが、通常「ソフトウェア要件」とは区別して管理します。
A2: 無関係ではありません。運用や開発効率に関する要件として別途規定しますが、通常「ソフトウェア要件」とは区別して管理します。
Q3: どうやってデータ定義を作れば良いですか?
A3: 利用する業務フローを洗い出し、そこで必要となる情報(顧客、注文、商品など)をリストアップします。それぞれについて項目名、型(数値・文字列・日付)、必須かどうか、範囲やデフォルトを決めます。サンプル:顧客ID(文字列、最大10文字、必須)、注文日(date、必須)など。
A3: 利用する業務フローを洗い出し、そこで必要となる情報(顧客、注文、商品など)をリストアップします。それぞれについて項目名、型(数値・文字列・日付)、必須かどうか、範囲やデフォルトを決めます。サンプル:顧客ID(文字列、最大10文字、必須)、注文日(date、必須)など。
関連キーワード: 要件定義、ソフトウェア要件、データ定義、システム化目標、開発環境、データベース設計、設計と要件、要求仕様、ソフトウェア開発ライフサイクル

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

