ITパスポート過去問道場Pro

🛠️ システム開発技術とアジャイル開発

システム開発技術とアジャイル開発の要点

システム開発は、要件定義→システム設計→プログラミング→テスト→受入れ・導入→運用・保守の順に進める。IPAが2013年に発行した共通フレーム2013(SLCP-JCF2013)は、この一連の作業項目を発注者(取得者)と受注者(供給者)が同じ言葉で確認するための「共通の物差し」である。テストは対象範囲を段階的に広げながら、単体テスト→結合テスト→システムテスト(総合テスト)→受入れテストの順に実施する。受入れテストは発注者(利用者)側が主体となり、実際の運用と同じ条件で要件を満たしていることを確認し、合格すれば検収して納品を受け入れる。レビュー手法としては、ウォークスルーやインスペクションが問われる。

テストケース設計技法は2つに大別される。ブラックボックステストは内部構造を考慮せず入力と出力(外部から見た仕様)だけに着目する技法で、同値分割法と境界値分析法が代表的。ホワイトボックステストは内部の処理ロジックに着目する技法で、命令網羅(すべての命令を最低1回実行)や分岐網羅(判定条件の真偽を両方通す)といった網羅基準を用いる。修正・変更の後は、修正箇所以外への意図しない影響(デグレード)がないことをリグレッションテスト(回帰テスト)で確認する。JIS X 0161はソフトウェア保守を是正保守・予防保守(=訂正)と適応保守・完全化保守(=改良)の4タイプに分類する。既存ソフトウェアを解析して設計情報を導き出す技術がリバースエンジニアリングである。規模の見積りでは、1979年にIBMのA.J.アルブレヒトが考案したファンクションポイント(FP)法が代表で、利用者から見える機能の数に複雑さに応じた重み付けをして見積もるため、開発言語や開発者のスキルに依存しにくい。

開発モデルは対比で覚える。ウォーターフォールモデルは工程を上流から下流へ順番に進め、原則として前工程へ後戻りしない(計画・進捗管理はしやすいが仕様変更や手戻りのコストが大きい)。プロトタイピングモデルは早い段階で試作品を利用者に確認してもらい、認識のずれを早期に解消する。スパイラルモデルは1988年にB.W.ベームが提唱し、サブシステムなどに分割して設計→開発→テスト→評価のサイクルを繰り返しながら段階的に完成度を高める。アジャイル開発の原点は、2001年に17名の技術者が発表した「アジャイルソフトウェア開発宣言」(4つの価値と12の原則)である。

本番形式の問題を無料で演習

例題 (35)

1. ウォーターフォール型のシステム開発を、上流工程から順に並べたものはどれか。

  1. 要件定義 → システム設計 → プログラミング → テスト → 運用・保守
  2. システム設計 → 要件定義 → プログラミング → テスト → 運用・保守
  3. プログラミング → 要件定義 → システム設計 → テスト → 運用・保守
  4. 要件定義 → プログラミング → システム設計 → テスト → 運用・保守

ウォーターフォール型は要件定義→システム設計→プログラミング→テスト→運用・保守の順に、上流から下流へ一方向に進める。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(システム開発のプロセス))

2. システム開発における要件定義工程の説明として、最も適切なものはどれか。

  1. モジュール単体が正しく動作するかを検証する
  2. 利用者のニーズを調査し、システム化する業務範囲や必要な機能・性能を明確にする
  3. プログラムのソースコードを記述する
  4. 稼働中のシステムの不具合を修正し機能を改善する

要件定義は開発の最初の工程で、利用者の要求を調査し、システム化の範囲や必要な機能・性能を明確にする。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(要件定義))

3. システム設計のうち、利用者から見える画面や帳票などのインタフェースを設計する工程はどれか。

  1. 内部設計(詳細設計)
  2. 単体テスト
  3. 外部設計(概要設計)
  4. 運用テスト

外部設計(概要設計)は利用者視点で画面・帳票などのインタフェースを決め、内部設計はシステム内部の処理手順やデータ構造を決める。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(システム設計))

4. テスト工程を実施する順序として、適切なものはどれか。

  1. システムテスト → 結合テスト → 単体テスト → 運用テスト
  2. 運用テスト → システムテスト → 結合テスト → 単体テスト
  3. 結合テスト → 単体テスト → システムテスト → 運用テスト
  4. 単体テスト → 結合テスト → システムテスト → 運用テスト

テストは小さい単位から段階的に、単体→結合→システム→運用(受入れ)テストの順で実施する。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(テスト))

5. 複数のモジュールを組み合わせ、モジュール間のインタフェースが正しく連携するかを検証するテストはどれか。

  1. 単体テスト
  2. 結合テスト
  3. 運用テスト
  4. 受入れテスト

結合テストは複数のモジュールを組み合わせ、モジュール間の連携(インタフェース)が正しいかを確認するテストである。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(テスト))

6. 完成したシステムが発注者の要求どおりに動作するかを、利用者(発注者)側が主体となって確認するテストはどれか。

  1. 単体テスト
  2. 結合テスト
  3. 受入れテスト(運用テスト)
  4. ホワイトボックステスト

受入れテスト(運用テスト)は開発の最終段階で、利用者(発注者)が要求どおりにできているかを確認するテストである。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(テスト))

7. V字モデルにおいて、外部設計と対応づけられるテスト工程はどれか。

  1. 単体テスト
  2. 結合テスト
  3. システムテスト
  4. 受入れテスト

V字モデルでは外部設計⇔システムテスト、内部設計⇔結合テスト、プログラミング⇔単体テスト、要件定義⇔受入れテストが対応する。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(V字モデル))

8. ウォーターフォールモデルの特徴として、最も適切なものはどれか。

  1. 短い反復を繰り返しながら少しずつ機能を完成させる
  2. 試作品を作って利用者に評価してもらいながら要求を固める
  3. 開発を上流工程から下流工程へ一方向に進め、原則として前工程の完了後に次工程へ進む
  4. システムを部分に分割し、部分ごとに開発を反復する

ウォーターフォールモデルは上流から下流へ一方向に進め、原則として前工程が完了してから次工程に進む。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(ウォーターフォールモデル))

9. 開発の初期段階で試作品を作成して利用者に評価してもらい、認識のずれを防ぎながら要求を確定していく開発モデルはどれか。

  1. プロトタイピングモデル
  2. ウォーターフォールモデル
  3. V字モデル
  4. 共通フレーム

プロトタイピングモデルは試作品(プロトタイプ)を早期に作り利用者に評価してもらうことで、要求のずれを防いで要求を確定する。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(プロトタイピングモデル))

10. システムをいくつかの部分に分割し、部分ごとに設計・開発を繰り返して段階的に完成させる開発モデルはどれか。

  1. プロトタイピングモデル
  2. ウォーターフォールモデル
  3. スパイラルモデル
  4. V字モデル

スパイラルモデルはシステムを部分に分割し、部分ごとに設計・開発を反復して段階的に完成度を高めるモデルである。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(スパイラルモデル))

11. システム開発工程のうち、稼働後のシステムに対して不具合の修正や機能改善を継続的に行う工程はどれか。

  1. 要件定義
  2. システム設計
  3. プログラミング
  4. 運用・保守

運用・保守は、システム稼働後に安定稼働の維持や不具合修正・機能改善を継続的に行う、開発工程の最後の段階である。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(システム開発のプロセス))

12. プログラムの内部構造(論理)に着目し、命令や分岐が意図どおり実行されるかを検証するテスト技法はどれか。

  1. ブラックボックステスト
  2. ホワイトボックステスト
  3. 受入れテスト
  4. 運用テスト

ホワイトボックステストはプログラムの内部構造(論理)に着目し、命令網羅や分岐網羅などの基準で検証する技法である。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(ホワイトボックステスト))

13. プログラムの内部構造を考慮せず、入力に対して仕様どおりの出力が得られるかに着目するテスト技法はどれか。

  1. ホワイトボックステスト
  2. 命令網羅
  3. 分岐網羅
  4. ブラックボックステスト

ブラックボックステストは内部構造を意識せず、入力と出力(仕様どおりの結果)の関係に着目して検証する技法である。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(ブラックボックステスト))

14. ホワイトボックステストの網羅基準のうち、プログラム中のすべての命令を少なくとも1回は実行することを目標とするものはどれか。

  1. 命令網羅(C0)
  2. 分岐網羅(C1)
  3. 同値分割
  4. 限界値分析

命令網羅(C0)は、すべての命令(文)を少なくとも1回実行することを基準とする最も基本的な網羅基準である。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(ホワイトボックステスト))

15. ホワイトボックステストの網羅基準である分岐網羅(C1)の説明として、最も適切なものはどれか。

  1. すべての命令を少なくとも1回実行する
  2. 各判定条件の真・偽の両方の分岐を少なくとも1回実行する
  3. 入力を同値クラスに分けて代表値をテストする
  4. 有効範囲の境界付近の値をテストする

分岐網羅(C1)は各判定(分岐)の真と偽の両方を少なくとも1回実行する基準で、命令網羅より網羅性が高い。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(ホワイトボックステスト))

16. ブラックボックステストの技法のうち、入力データを性質の同じグループ(同値クラス)に分け、各グループの代表値でテストする技法はどれか。

  1. 限界値分析
  2. 同値分割
  3. 命令網羅
  4. 分岐網羅

同値分割は入力を同値クラスに分け、各クラスの代表値をテストすることで効率よく網羅する技法である。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(ブラックボックステスト))

17. ブラックボックステストで、入力の有効範囲の境目やその前後の値を重点的にテストする技法はどれか。

  1. 同値分割
  2. 命令網羅
  3. 限界値分析
  4. リファクタリング

限界値分析は、誤りが起こりやすい有効範囲の境界付近の値を重点的にテストする技法である。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(ブラックボックステスト))

18. 「1以上100以下」の整数を正常な入力とするプログラムを限界値分析でテストする場合、選ぶ値の組合せとして最も適切なものはどれか。

  1. 0, 1, 100, 101
  2. 25, 50, 75, 100
  3. 2, 3, 98, 99
  4. 10, 20, 30, 40

限界値分析では有効範囲の境目とその外側を選ぶため、0・1・100・101が適切な境界値となる。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(ブラックボックステスト))

19. 「1以上100以下」を正常値とする入力について同値分割を行うとき、代表値の選び方として最も適切なものはどれか。

  1. 有効クラスの中だけから3個選ぶ
  2. 無効クラス(0以下)、有効クラス(1〜100)、無効クラス(101以上)から各1個ずつ選ぶ
  3. 無効クラスの値だけを多数選ぶ
  4. 境界値の1と100だけを選ぶ

同値分割では有効クラスと無効クラスに分け、それぞれの代表値を選んでテストする。境界値だけを選ぶのは限界値分析の考え方である。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(ブラックボックステスト))

20. ホワイトボックステストが主に用いられるテスト工程はどれか。

  1. 単体テスト
  2. システムテスト
  3. 運用テスト
  4. 受入れテスト

ホワイトボックステストは内部論理に着目するため、モジュール単位で行う単体テストで主に用いられる。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(ホワイトボックステスト))

21. 次のうち、ブラックボックステストで用いられる技法はどれか。

  1. 命令網羅
  2. 分岐網羅
  3. 条件網羅
  4. 限界値分析

限界値分析と同値分割はブラックボックステストの技法であり、命令網羅・分岐網羅・条件網羅はホワイトボックステストの網羅基準である。 (IPA『ITパスポート試験 シラバス Ver.6.5』システム開発技術(ブラックボックステスト))

22. アジャイル開発の特徴として、最も適切なものはどれか。

  1. 要件を最初にすべて固め、後戻りせず一方向に開発する
  2. 短い反復(イテレーション)ごとに設計・実装・テストを繰り返し、変化に柔軟に対応する
  3. 試作品を作らず、ドキュメント整備を最優先にする
  4. 開発を外部に一括委託し、進捗管理を行わない

アジャイル開発は短い反復ごとに開発を繰り返し、仕様変更に柔軟に対応する点がウォーターフォールと対照的である。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(アジャイル))

23. 2001年に発表された「アジャイルソフトウェア開発宣言」が重視する価値として、適切なものはどれか。

  1. 個人と対話よりもプロセスやツールを重視する
  2. 顧客との協調よりも契約交渉を重視する
  3. 包括的なドキュメントよりも動くソフトウェアを重視する
  4. 変化への対応よりも計画に従うことを重視する

アジャイルソフトウェア開発宣言(2001年)は「包括的なドキュメントよりも動くソフトウェアを」など4つの価値を示す。 (『アジャイルソフトウェア開発宣言』(2001年))

24. スクラムにおいて、開発を進める一定の短い反復期間を表す用語はどれか。

  1. スプリント
  2. マイルストーン
  3. フェーズ
  4. ベースライン

スクラムではスプリントと呼ぶ短い期間(1か月以内)の反復を繰り返して開発を進める。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(スクラム))

25. スクラムにおいて、開発すべき要件や作業を優先順位を付けて一覧化したものはどれか。

  1. ガントチャート
  2. プロダクトバックログ
  3. テストケース
  4. WBS

プロダクトバックログは開発すべき要件を優先順位付けして管理する一覧で、スクラムの中心的な成果物である。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(スクラム))

26. スクラムで、開発チームが毎日短時間行い、進捗や課題を共有するミーティングはどれか。

  1. 要件定義会議
  2. 受入れ審査
  3. デイリースクラム
  4. キックオフミーティング

デイリースクラムは開発チームが毎日短時間(15分程度)行い、進捗確認や課題共有をするミーティングである。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(スクラム))

27. スクラムにおけるスクラムマスターの役割として、最も適切なものはどれか。

  1. スクラムが円滑に進むよう支援し、開発の妨げとなる障害を取り除く
  2. プロダクトバックログの内容や優先順位を最終決定する
  3. 実際にプログラムを実装する唯一の担当者である
  4. 予算と契約を決裁する発注者の代表である

スクラムマスターはチームがスクラムを実践できるよう支援し、障害を取り除く役割で、指揮命令する管理者ではない。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(スクラム))

28. スクラムにおいて、プロダクトの価値を最大化する責任をもち、プロダクトバックログの優先順位付けを行う役割はどれか。

  1. スクラムマスター
  2. プロダクトオーナー
  3. 開発チーム
  4. テスター

プロダクトオーナーはプロダクトの価値最大化に責任をもち、プロダクトバックログの内容や優先順位を管理する。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(スクラム))

29. ペアプログラミングやテスト駆動開発、リファクタリングなどのプラクティスを採用するアジャイル開発手法はどれか。

  1. ウォーターフォールモデル
  2. V字モデル
  3. XP(エクストリームプログラミング)
  4. 共通フレーム

XP(エクストリームプログラミング)はペアプログラミング、テスト駆動開発、リファクタリング、継続的インテグレーションなどを採用するアジャイル手法である。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(XP:エクストリームプログラミング))

30. 2人1組で1台の端末を使い、一方がコードを書き、もう一方がその場で確認・レビューしながら開発する手法はどれか。

  1. ペアプログラミング
  2. リファクタリング
  3. リバースエンジニアリング
  4. プロトタイピング

ペアプログラミングは2人1組で開発し、その場でレビューすることで品質向上や知識共有を図るXPのプラクティスである。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(ペアプログラミング))

31. テスト駆動開発(TDD)の説明として、最も適切なものはどれか。

  1. すべての実装が完了してから初めてテストを設計する
  2. 実装よりも先にテストコードを用意し、そのテストに合格するようにプログラムを開発する
  3. テストを一切行わずに短期間で開発する
  4. 利用者だけがテストケースを作成し、開発者は関与しない

テスト駆動開発(TDD)はテストを先に書き、そのテストに通るように実装を進める開発手法である。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(テスト駆動開発))

32. スクラムのスプリントに関する記述として、最も適切なものはどれか。

  1. 期間の定めはなく、機能が完成するまで無制限に続ける
  2. 1回のスプリントで必ずすべての機能を完成させる
  3. 1か月以内などの短い一定期間で区切り、その中で計画・開発・レビューを行う
  4. スプリントごとに開発チームのメンバーを必ず総入れ替えする

スプリントは1か月以内など固定した短い期間で、その中で計画から成果物のレビューまでを繰り返し行う。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(スクラム))

33. プログラムの外部から見た動作を変えずに、内部構造を分かりやすく整理・改善する作業はどれか。

  1. デバッグ
  2. リバースエンジニアリング
  3. リグレッションテスト
  4. リファクタリング

リファクタリングは振る舞い(外部から見た動作)を変えずに内部構造を改善し、保守性を高める作業である。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(リファクタリング))

34. 共通フレーム(SLCP)の説明として、最も適切なものはどれか。

  1. ソフトウェアの企画から開発・運用・保守までの作業内容や用語を共通化した枠組み
  2. プログラムの内部論理を検証するテスト技法
  3. 2人1組で開発するプログラミング手法
  4. 試作品を作って要求を確定する開発モデル

共通フレーム(SLCP)は、ソフトウェアの企画・開発・運用・保守などライフサイクル全体の作業内容や用語を共通化した枠組みである。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(ソフトウェアライフサイクルプロセス))

35. 共通フレーム(SLCP)を利用する主な目的として、最も適切なものはどれか。

  1. プログラムの実行速度を自動的に最適化する
  2. 取得者(発注者)と供給者(受注者)が共通の用語・認識で作業範囲を明確にできるようにする
  3. ネットワークの通信を暗号化する
  4. 開発者の勤怠を管理する

共通フレームは取得者と供給者が共通の用語・認識をもち、作業範囲や役割分担を明確にして認識の齟齬を防ぐことを目的とする。 (IPA『ITパスポート試験 シラバス Ver.6.5』ソフトウェア開発管理技術(ソフトウェアライフサイクルプロセス))

無料ではじめる