基本情報 ソフトウェア開発手法とシステム設計 2 — Questions and Answers
Question 1: オブジェクト指向設計における「継承(Inheritance)」の説明として正しいものはどれか。
- オブジェクトの内部データを外部から隠蔽する仕組み
- 親クラスの属性と操作を子クラスが引き継ぐ仕組み (Correct answer)
- 一つのインターフェースで複数の型を扱う仕組み
- オブジェクトが別のオブジェクトに処理を委譲する仕組み
Correct answer: 親クラスの属性と操作を子クラスが引き継ぐ仕組み
継承とは、親クラス(スーパークラス)の属性やメソッドを子クラス(サブクラス)が受け継ぐオブジェクト指向の基本概念です。
Question 2: DFD(データフロー図)において、データの変換処理を表す記号はどれか。
- 長方形(Rectangle)
- 円または楕円(Circle/Ellipse) (Correct answer)
- 矢印(Arrow)
- 2本の平行線
Correct answer: 円または楕円(Circle/Ellipse)
DFDでは、データの変換処理(プロセス)を円または楕円で表し、データの流れを矢印、データストアを2本の平行線で表します。
Question 3: テスト技法のうち、同値分割(Equivalence Partitioning)の目的はどれか。
- すべての命令を少なくとも1回実行する
- 同じ結果をもたらす入力値をグループ化してテストを効率化する (Correct answer)
- 境界値に絞ってテストケースを作成する
- 複数の条件の組み合わせを網羅する
Correct answer: 同じ結果をもたらす入力値をグループ化してテストを効率化する
同値分割は、同じ処理結果をもたらす入力値を同値クラスに分類し、各クラスから代表値を1つ選ぶことでテストケース数を削減する技法です。
Question 4: ソフトウェアの信頼性指標であるMTBF(Mean Time Between Failures)が表すものはどれか。
- 障害が発生してから修復完了までの平均時間
- 障害と障害の間の平均稼働時間(平均故障間隔) (Correct answer)
- システム全体の稼働率
- 単位時間あたりの障害発生率
Correct answer: 障害と障害の間の平均稼働時間(平均故障間隔)
MTBFは平均故障間隔のことで、ある故障から次の故障が発生するまでの平均稼働時間を表し、値が大きいほど信頼性が高いことを示します。
Question 5: モジュール強度(コヒージョン)が最も高い(望ましい)タイプはどれか。
- 手順的強度(Procedural Cohesion)
- 機能的強度(Functional Cohesion) (Correct answer)
- 通信的強度(Communicational Cohesion)
- 論理的強度(Logical Cohesion)
Correct answer: 機能的強度(Functional Cohesion)
機能的強度はモジュール内のすべての要素が単一の明確な機能を実現するために存在し、最も凝集度が高く望ましい設計です。
Question 6: システム開発における要件定義の主な目的はどれか。
- プログラムのアルゴリズムを詳細に設計する
- 利用者のニーズを分析してシステムに求められる機能・性能を明確にする (Correct answer)
- データベースのテーブル設計を行う
- システムのテスト計画を立案する
Correct answer: 利用者のニーズを分析してシステムに求められる機能・性能を明確にする
要件定義は開発の最初の工程で、利用者の業務ニーズを分析し、システムが実現すべき機能・性能・制約条件を明確化することを目的とします。
Question 7: デザインパターンの一つであるシングルトン(Singleton)パターンの特徴はどれか。
- 複数のオブジェクトを効率的に生成するための型枠を提供する
- クラスのインスタンスが1つしか生成されないことを保証する (Correct answer)
- 既存のクラスに新しい機能を動的に追加する
- インターフェースを変換して互換性のないクラスを連携させる
Correct answer: クラスのインスタンスが1つしか生成されないことを保証する
シングルトンパターンはクラスのインスタンスが1つだけ生成されることを保証し、そのインスタンスへのグローバルアクセス手段を提供するデザインパターンです。
オブジェクト指向設計における「継承(Inheritance)」の説明として正しいものはどれか。