応用情報技術者試験 - Applied Information Technology Engineer System Development Technology Questions and Answers — Questions and Answers
Question 1: アジャイル開発手法の一つであるスクラムに関する記述として、最も適切なものはどれか。
- 要求定義、外部設計、内部設計、プログラミング、テストの各工程を順番に進め、後戻りしないことを原則とする。
- 開発プロジェクトを「スプリント」と呼ばれる短い期間の反復に分割し、スプリントの終了ごとに動作するソフトウェアを作成する。 (Correct answer)
- 開発の初期段階でウォーターフォールモデルを適用し、リスクが高い部分をプロトタイピングで検証する。
- システム全体の詳細な計画を最初に立て、その計画に基づいて開発を進める。計画の変更は原則として認められない。
Correct answer: 開発プロジェクトを「スプリント」と呼ばれる短い期間の反復に分割し、スプリントの終了ごとに動作するソフトウェアを作成する。
スクラムはアジャイル開発手法の一つであり、開発期間を「スプリント」と呼ばれる1〜4週間程度の短い期間に区切り、その期間内に計画、設計、実装、テストを行い、動作可能なソフトウェアを作成するというサイクルを繰り返します。これにより、仕様変更などに対して柔軟に対応することができます。
Question 2: ソフトウェアテストの手法に関する記述のうち、ホワイトボックステストに該当するものはどれか。
- システムの仕様書に基づいて、入力値と期待される出力値を比較検証する。
- 開発したシステムが、利用者の要求を満たしているかを利用者側の視点で確認する。
- プログラムの内部構造やロジックに着目し、命令網羅や分岐網羅などの観点でテストケースを設計する。 (Correct answer)
- 実際の運用環境に近い状態で、システム全体の性能や信頼性を評価する。
Correct answer: プログラムの内部構造やロジックに着目し、命令網羅や分岐網羅などの観点でテストケースを設計する。
ホワイトボックステストは、プログラムのソースコードなど内部構造を理解した上で、そのロジックが正しく動作するかを検証するテスト手法です。命令網羅(すべての命令を少なくとも1回は実行する)や分岐網羅(すべての分岐を少なくとも1回は実行する)などのカバレッジ基準を用いてテストケースを設計します。
Question 3: オブジェクト指向プログラミングにおけるポリモーフィズム(多態性)を説明したものはどれか。
- 同じメッセージ(メソッド呼び出し)を送っても、受け取るオブジェクトのクラスによって異なる振る舞いをすること。 (Correct answer)
- あるクラスが持つ性質(属性やメソッド)を、別のクラスが受け継ぎ、再利用できるようにすること。
- 関連するデータとそれを操作する手続き(メソッド)を一つにまとめ、外部から直接データにアクセスできないようにすること。
- 現実世界の事象や概念を、データと手続きを持つオブジェクトとしてモデル化すること。
Correct answer: 同じメッセージ(メソッド呼び出し)を送っても、受け取るオブジェクトのクラスによって異なる振る舞いをすること。
ポリモーフィズム(多態性)は、同じインターフェース(メソッドの呼び出し方)でありながら、オブジェクトのクラスによって実際の動作が異なる性質を指します。これにより、クラスごとに処理を分岐させるコードを書く必要がなくなり、プログラムの保守性や拡張性が向上します。
Question 4: UMLの図の一つであるシーケンス図の役割として、最も適切なものはどれか。
- システムの静的な構造を、クラスとそのクラス間の関係(関連、汎化、集約など)で表現する。
- 利用者の視点からシステムが提供する機能を識別し、利用者とシステムとのインタラクションを表現する。
- ある特定の時点でのシステムの構成要素(インスタンス)と、それらの間の関係を示す。
- オブジェクト間のメッセージのやり取りを時系列で表現し、システムの振る舞いを可視化する。 (Correct answer)
Correct answer: オブジェクト間のメッセージのやり取りを時系列で表現し、システムの振る舞いを可視化する。
シーケンス図は、UMLのインタラクション図の一つであり、オブジェクト間のメッセージのやり取り(相互作用)を時系列に沿って表現します。どのオブジェクトからどのオブジェクトへ、どのような順番でメッセージが送られるかを示すことで、システムの動的な振る舞いを明確にすることができます。
Question 5: GoF(Gang of Four)によって提唱されたデザインパターンの一つであるSingletonパターンに関する説明として、最も適切なものはどれか。
- あるクラスのインスタンスがプログラム全体で一つしか存在しないことを保証する。 (Correct answer)
- 既存のクラスのインタフェースを、クライアントが期待する別のインタフェースに変換する。
- アルゴリズムの骨格を定義し、具体的な処理はサブクラスに委譲する。
- オブジェクトを生成するためのインタフェースを定義するが、どのクラスのインスタンスを生成するかはサブクラスに決定させる。
Correct answer: あるクラスのインスタンスがプログラム全体で一つしか存在しないことを保証する。
Singletonパターンは、特定のクラスのインスタンスが、アプリケーションの実行中に一つしか生成されないことを保証するためのデザインパターンです。コンストラクタをプライベートにし、インスタンスを取得するための静的なメソッドを用意することで実現します。これにより、グローバルなアクセスポイントを提供しつつ、インスタンスの唯一性を保証できます。
Question 6: 高齢者や障害者を含む誰もがウェブコンテンツを利用できるようにするための日本産業規格(JIS)はどれか。
- JIS X 0208
- JIS X 3005
- JIS X 8341-3 (Correct answer)
- JIS X 5807
Correct answer: JIS X 8341-3
JIS X 8341-3は、「高齢者・障害者等配慮設計指針-情報通信における機器,ソフトウェア及びサービス-第3部:ウェブコンテンツ」の規格番号です。高齢者や障害を持つ人々がウェブコンテンツを知覚、理解、操作できるようにするための設計指針を定めています。公的機関のウェブサイトなどで準拠が求められることが多い規格です。
アジャイル開発手法の一つであるスクラムに関する記述として、最も適切なものはどれか。