基本情報対策 開発技術 (1)

今回の基本情報対策は、開発技術です。システム開発プロセス、結合テスト・システムテスト手法のほか、オブジェクト指向に関する問題を選びました。システム開発の分野では、各開発の工程と、工程ごとの作業の把握することが重要になります。いろいろな問題を解いて、問題の傾向をつかんでおきましょう。

問題 1

開発プロセスにおける,ソフトウェア方式設計で行うべき作業はどれか。 (基本情報技術者試験 平成25年春期 午前問45)

(A) 顧客に意見を求めて仕様を決定する。

(B) 既に決定しているソフトウェア要件を,どのように実現させるかを決める。

(C) プログラム1行ごとの処理まで明確になるように詳細化する。

(D) 要求内容を図表などの形式でまとめ,段階的に詳細化して分析する。

正解は B


ソフトウェア方式設計とは、ソフトウェア要件定義をもとに、ソフトウェアの構造やコンポーネントの設計を行うことです。

システム開発プロセス(設計部分)
1. システム要件定義
2. システム方式設計
3. ソフトウェア要件定義
4. ソフトウェア方式設計
5. ソフトウェア詳細設計

(A) 顧客に意見を求めて仕様を決定する。

これは誤りです。システム要件定義の説明です。

(B) 既に決定しているソフトウェア要件を,どのように実現させるかを決める。

これは正しいです。ソフトウェア方式設計の説明です。

(C) プログラム1行ごとの処理まで明確になるように詳細化する。

これは誤りです。ソフトウェアコード作成の説明です。

(D) 要求内容を図表などの形式でまとめ,段階的に詳細化して分析する。

これは誤りです。ソフトウェア詳細設計の説明です。

問題 2

ストレステストの目的はどれか。 (基本情報技術者試験 平成25年春期 午前問48)

(A) システムに要求されている処理能力の限界状態における動作を確認する。

(B) 実際に利用者に使ってもらうことによって,システムの使いやすさを評価する。

(C) 標準的なプログラムの実行時間を計測することによって,他のコンピュータと性能を比較する。

(D) プログラムの修正又は変更によって他の機能が意図しない影響を受けていないことを確認する。

正解は A


ストレステストとは、システムに対して過剰な負荷をかけて、正常に動作するかを確認することです。

(A) システムに要求されている処理能力の限界状態における動作を確認する。

これは正しいです。ストレステストの目的です。

(B) 実際に利用者に使ってもらうことによって,システムの使いやすさを評価する。

これは誤りです。ユーザビリティテストの目的です。

(C) 標準的なプログラムの実行時間を計測することによって,他のコンピュータと性能を比較する。

これは誤りです。ベンチマークテストの目的です。

(D) プログラムの修正又は変更によって他の機能が意図しない影響を受けていないことを確認する。

これは誤りです。リグレッションテストの目的です。

問題 3

オブジェクト指向開発において,オブジェクトのもつ振る舞いを記述したものを何というか。 (基本情報技術者試験 平成25年秋季 午前問48)

(A) インスタンス

(B) クラス

(C) 属性

(D) メソッド

正解は D


メソッドとは、オブジェクト指向において、オブジェクト自身に対する操作を定義したものです。

クラスとインスタンス

(A) インスタンス

これは誤りです。インスタンスは、クラスから生成した実体のことです。1つのクラスから複数のインスタンスを生成できます。

(B) クラス

これは誤りです。クラスは、オブジェクトの設計図である「型」を定義したもので、属性とメソッドを持ちます。

(C) 属性

これは誤りです。属性は、オブジェクトの状態を表すデータのことです。

(D) メソッド

これは正しいです。

問題 4

プログラム実行中の特定の時点で成立する変数間の関係や条件を記述した論理式を埋め込んで,そのプログラムの正当性を検証する手法はどれか。 (基本情報技術者試験 平成25年秋季 午前問49)

(A) アサーションチェック

(B) コード追跡

(C) スナップショットダンプ

(D) テストガバレッジ分析

正解は A


アサーションチェックは、プログラムの動作が妥当であることを、検証用のコードを配置してチェックすることです。

(A) アサーションチェック

これは正しいです。

(B) コード追跡

これは誤りです。コード追跡は、プログラム内の命令を順番に実行していき、メモリや変数の状態を確認することです。

(C) スナップショットダンプ

これは誤りです。スナップショットダンプは、ある瞬間のメモリや変数の状態を、外部記憶装置に保存することです。

(D) テストガバレッジ分析

これは誤りです。テストガバレッジ分析とは、テストした部分が、プログラム全体のどの程度の割合になるかを分析することです。

問題 5

トップダウン方式で結合テストを行うとき,特に必要となるものはどれか。 (基本情報技術者試験 平成25年秋季 午前問50)

(A) エミュレータ

(B) スタブ

(C) デバッガ

(D) ドライバ

正解は B


トップダウンテストとは、モジュールの結合テストを行う際に、最上位にあるモジュールからテストしていく方法です。スタブを使用します。

(A) エミュレータ

これは誤りです。エミュレータは、実機を模倣したソフトウェアです。

(B) スタブ

これは正しいです。スタブは、トップダウンテストで使用する、テスト対象のモジュールから呼び出すための、擬似的なモジュールです。

(C) デバッガ

これは誤りです。デバッガは、プログラムの不具合を調査するために、ブレークポイントの設置やコード追跡を行うためのツールです。

(D) ドライバ

これは誤りです。ドライバは、ボトムアップテストで使用する、テスト対象のモジュールを呼び出すための、擬似的なモジュールです。