本文へ移動

応用情報技術者 科目A 想定問題集

開発技術の要点整理と想定問題

公式のシラバスの「大分類 4: 開発技術(中分類 12〜13)」にあたる分野です。まず要点整理で全体をつかみ、下の演習で 36 問を 1 問ずつ解けます。答えると A〜D すべての解説が出ます。

この分野の小項目

  • 12.1 システム要件定義・ソフトウェア要件定義(5 問) システム及び/又はソフトウェア要件定義の考え方・手順・手法・留意事項(境界と要件の定義、要件の評価とレビュー、業務分析や要件定義に用いる手法)を修得し、適用する。
  • 12.2 設計(5 問) システム及び/又はソフトウェア設計の考え方・手順・手法・留意事項(ソフトウェア品質、設計手法、モジュールの設計、部品化と再利用、アーキテクチャパターン、デザインパターン、レビュー)を修得し、適用する。
  • 12.3 実装・構築(4 問) ソフトウェア構築の考え方・手順・手法・留意事項(ソフトウェアユニットの作成、コーディング標準、コードレビュー、デバッグ、ユニットテスト)を修得し、応用する。
  • 12.4 統合・テスト(5 問) システム及び/又はソフトウェアの統合と検証テストの考え方・手順・手法・留意事項、テスト結果の評価を修得し、応用する。
  • 12.5〜12.6 導入・受入れ支援と保守・廃棄(4 問) 導入と受入れ支援、妥当性確認テストの考え方と手順、保守の考え方・タイプと形態・手順、廃棄の考え方と手順・留意事項を修得し、応用する。
  • 13.1 開発プロセス・手法(7 問) ソフトウェア開発プロセスに関する手法(構造化手法、形式手法など)の考え方と特徴、アジャイルの概要とアジャイルソフトウェア開発手法を修得し、応用する。
  • 13.2〜13.4 知的財産適用管理・開発環境管理・構成管理(6 問) 開発工程での知的財産権(著作権・特許・ライセンス)の取得と管理・保護の手順、開発環境の目的と管理対象、構成管理と変更管理の目的・考え方・手順を修得し、応用する。

要点整理

システム要件定義・ソフトウェア要件定義

要件定義:何を表したいかで手法を選ぶ

要件定義では、システムの境界を決め、機能要件と非機能要件をまとめ、取得者(発注側)と供給者(開発側)が共同でレビューします。シラバスは、業務・組織・利用者の要求を 5W2H の観点で文書にすることも挙げています。

手法の選び分けがよく問われます。利用者とシステムのやり取りを目標単位で書くならユースケース、データの流れなら DFD、データの構造なら E-R 図、オブジェクト間のメッセージの順序なら UML のシーケンス図です。

画面の操作感など、文章では伝わりにくい部分はプロトタイプやモックアップを作って利用者に評価してもらいます。外部仕様の漏れを早く見つけ、後工程での手戻りを防ぐのが目的です。

要件の評価では、双方向の追跡可能性・一貫性・テスト可能性などを確かめます。要件と設計・テストケースの対応を表にしたトレーサビリティマトリクスがあると、変更の影響範囲をすぐにたどれます。

性能や可用性などの非機能要求は、IPA の非機能要求グレードを使うと、項目の漏れを防ぎ、要求のレベルを利用者と開発者でそろえやすくなります。

表したいもの選ぶ手法
目標ごとの利用者とシステムのやり取りユースケース
業務のデータの流れDFD
データの実体と関連E-R 図
オブジェクト間のメッセージの順序シーケンス図
一つの対象の状態の移り変わり状態遷移図・ステートマシン図
条件の組合せと動作デシジョンテーブル

出典: 応用情報技術者試験 シラバス Ver.7.2(中分類 12 の 1)/IPA 非機能要求グレード紹介ページ/OMG Unified Modeling Language Version 2.5.1

設計

設計:品質特性・オブジェクト指向・パターン・レビュー

シラバスは JIS X 25010 の製品品質モデルとして、機能適合性・性能効率性・互換性・使用性・信頼性・セキュリティ・保守性・移植性の 8 つを挙げます。副特性の所属が問われやすく、可用性と回復性は信頼性、解析性と試験性は保守性に入ります。

オブジェクト指向では、内部を隠して公開した操作だけで扱わせるカプセル化、既存のクラスをもとに新しいクラスを作る継承、同じ呼び出しで派生クラスごとに異なる処理が動く多相性が基本です。

デザインパターンは生成・構造・振る舞いの 3 種類に分類されます。アーキテクチャパターンの代表は MVC モデルで、業務ロジックはモデル、表示はビュー、操作の受付はコントローラーに分けます。モデルは表示に依存しないため、独立してテストできます。

レビューは形式の度合いで選びます。作成者が主導するのがウォークスルー、最も形式的で欠陥をできるだけ多く見つけることを目的とするのがインスペクションです。インスペクションではモデレーターが進行し、作成者はリーダーや書記になりません。

レビュー種別主導する人特徴
非形式的レビュー決まりなし手順も正式な記録も求めない
ウォークスルー作成者合意形成や教育にも使う
テクニカルレビューモデレーター技術的な問題について合意して判断する
インスペクションモデレーター最も形式的・欠陥の最大数の発見・メトリクスを集める

出典: 応用情報技術者試験 シラバス Ver.7.2(中分類 12 の 2)/Microsoft Learn「ASP.NET Core MVC の概要」/Microsoft Learn「オブジェクト指向プログラミング - C#」/JSTQB Foundation Level シラバス Version 2023V4.0.J02(3.2 レビュー)

実装・構築

実装:網羅基準の強さと複雑度の計算

ホワイトボックステストの網羅基準は、強さの順に覚えます。命令網羅はすべての命令を 1 回以上、判定条件網羅はすべての分岐の真と偽を 1 回以上通します。判定条件網羅を 100% にすると命令網羅も 100% になりますが、逆は成り立ちません。

条件が複数ある判定では、複数条件網羅が条件の真偽のすべての組合せを試します。独立した条件が N 個なら 2 の N 乗通りです。MC/DC は各条件が単独で判定結果を変えることを示す基準で、通常は N + 1 回の実行で達成できます。

サイクロマティック複雑度は、制御フローグラフのエッジ数 e とノード数 n から e − n + 2 で求めます。分岐がすべて 2 分岐なら、分岐の数に 1 を足しても同じ値になります。値が大きいモジュールは分割を検討します。

コーディング標準には命名規則やネストの深さなどを定めます。違反や到達できないコードは、プログラムを動かさない静的解析で早めに見つけられます。デバッガやカバレッジ測定はプログラムを動かして調べる道具です。

網羅基準試すもの条件 3 つの判定 1 つで必要な目安
命令網羅すべての命令判定の真の側を通る 1 件でも足りる場合がある
判定条件網羅判定の真と偽2 件
MC/DC各条件が単独で結果を変えること通常 3 + 1 = 4 件
複数条件網羅条件の真偽のすべての組合せ2³ = 8 通り

出典: 応用情報技術者試験 シラバス Ver.7.2(中分類 12 の 3)/JSTQB Foundation Level シラバス Version 2023V4.0.J02(4.3 ホワイトボックステスト技法)/JSTQB Advanced Level テクニカルテストアナリスト シラバス v4.0 日本語版(2.4・2.5・3.2)/NIST SP 500-235(2.2 Definition of cyclomatic complexity)

統合・テスト

統合・テスト:ブラックボックス技法と結合の順序

同値分析法は、同じ扱いになる値の区分ごとに代表値を 1 つ選びます。境界値分析法は区分の境目に着目し、2 値の方式では境界値と隣の区分の最も近い値を選びます。1 以上 100 以下が有効なら 0・1・100・101 です。

デシジョンテーブルでは、条件の組合せ 1 つが 1 列です。真偽をとる条件が 3 つなら完全な表は 2³ = 8 列で、ありえない組合せの列は除いて数えます。

モジュールを結合するとき、上位から順に結合するトップダウンテストでは、未完成の下位の代わりにスタブを使います。下位から積み上げるボトムアップテストでは、上位の呼び出し側の代わりにドライバを使います。

欠陥を直した後は、元の欠陥が直ったことを確認テストで、変更していない部分に悪影響が無いことを回帰テストで確かめます。回帰テストは繰り返し実行するため、自動化の候補になります。

結合の進め方代わりに用意するもの代わりをする相手
トップダウンテストスタブ呼び出される下位モジュール
ボトムアップテストドライバ呼び出す上位モジュール

出典: 応用情報技術者試験 シラバス Ver.7.2(中分類 12 の 4)/JSTQB Foundation Level シラバス Version 2023V4.0.J02(2.2.3・4.2)/NIST SP 500-235(7 Integration Testing)

導入・受入れ支援と保守・廃棄

導入・受入れ・保守・廃棄:だれが何をするか

受入れでは、取得者(発注側)が受入れ基準に沿って受入れテストを行い、供給者(開発側)はそれを支援します。契約どおりに完成していることを双方で確かめてから、納入と受入れを行います。

導入の方式には、一斉移行・段階移行・並行稼働のほか、カナリアリリースとブルーグリーンデプロイメントがあります。前者は一部の通信から新しい版を出して広げる方式、後者は同じ構成の 2 つの環境の間で通信を切り替える方式です。

保守には、見つかった問題を直す是正保守、OS などの環境の変化に合わせる適応保守、性能や保守性を良くする完全化保守、表に出る前の問題を直す予防保守などがあります。修正の後は回帰テストで影響を確かめます。

廃棄では、廃棄計画を立てて利用者や関係者に通知し、残すべきデータを保持して参照できるようにしてから停止します。

出典: 応用情報技術者試験 シラバス Ver.7.2(中分類 12 の 5・6)/AWS CodeDeploy ユーザーガイド「CodeDeploy でデプロイ設定を使用する」/Blue/Green Deployments on AWS(AWS ホワイトペーパー)/JSTQB Foundation Level シラバス Version 2023V4.0.J02(2.3 メンテナンス(保守)テスト)

開発プロセス・手法

開発プロセス:アジャイル・スクラム・XP・DevOps・成熟度

アジャイルソフトウェア開発宣言は、プロセスやツールよりも個人と対話を、包括的なドキュメントよりも動くソフトウェアを、契約交渉よりも顧客との協調を、計画に従うことよりも変化への対応を重視します。左側にも価値があると認めている点が大切です。

スクラムでは、スプリントは 1 か月以内の決まった長さです。プロダクトオーナーは 1 人で、プロダクトバックログの並び順に責任を持ちます。デイリースクラムは開発者のための 15 分のイベントで、完成の定義を満たさない項目はレビューで示せません。

XP の五つの価値は、コミュニケーション・シンプル・フィードバック・勇気・尊重です。開発の実践にはテスト駆動開発・ペアプログラミング・リファクタリング・継続的インテグレーションなどがあります。TDD は、テストを先に書き、それを満たすコードを書き、整理する流れです。

DevOps の成果を測る Four Keys は、デプロイの頻度・変更のリードタイム・変更障害率・平均修復時間です。DORA は現在、これを広げた 5 つの指標を示しています。

プロセス成熟度は、不完全な・実施された・管理された・確立された・予測可能な・革新しているプロセスの 6 段階で表します。

スクラムの要素要点
スプリント1 か月以内の決まった長さ。終わり次第次が始まる
プロダクトオーナー1 人。バックログの並び順に責任を持つ
デイリースクラム開発者のための 15 分のイベント
スプリントレビュー成果を検査する場。リリースの関門と見なさない
完成の定義満たさない項目はリリースもレビューでの提示もしない

出典: 応用情報技術者試験 シラバス Ver.7.2(中分類 13 の 1)/アジャイルソフトウェア開発宣言(日本語)/スクラムガイド 2020 日本語版/DORA's software delivery performance metrics

知的財産適用管理・開発環境管理・構成管理

知的財産・構成管理:権利の帰属と版の管理

社員が会社の発意で職務として作ったプログラムは、契約などに別段の定めが無ければ会社が著作者になります(職務著作、著作権法 15 条 2 項)。プログラムの場合、会社の名義で公表することは条件になっていません。

外部に委託して作ったプログラムの著作権は、作った側に生じます。発注側が改造して使いたいなら、譲渡の契約で翻案権など 27 条・28 条の権利も対象として明記します。書かないと、譲渡した側に残ると推定されます(61 条 2 項)。

他者の特許を使うには実施権が要ります。通常実施権は許諾された範囲で実施できる権利、専用実施権は定めた範囲で実施する権利を専有する権利です。リバースエンジニアリングの結果で無断に製品を作ると権利侵害のおそれがあり、契約で解析を禁じている場合もあります。

構成管理では、承認した時点の構成品目の組をベースラインとし、以後は正式な変更管理を通じて変えます。製品に組み込んだ部品の一覧である SBOM は、脆弱性が公表されたときの影響範囲の特定に役立ちます。ライセンスは、インストール数と保有数を定期的に照合して管理します。

場面押さえる規定・考え方
社員が職務で作ったプログラム別段の定めが無ければ会社が著作者(15 条 2 項)
委託先が作ったプログラム作った側に著作権。譲渡は契約で、27 条・28 条の権利は特掲
他社の特許を独占して使う専用実施権(特許法 77 条)
他社の特許を許諾を受けて使う通常実施権(特許法 78 条)
テスト時の構成を再現するベースラインと正式な変更管理

出典: 著作権法(e-Gov 法令検索)/特許法(e-Gov 法令検索)/応用情報技術者試験 シラバス Ver.7.2(中分類 13 の 2〜4)/CISA「Software Bill of Materials (SBOM)」

演習(36 問)

結果はこのブラウザに保存され、ハブの「自分の成績」と弱点モードに使われます。

第 1 問 / 36 問

問題を読み込んでいます…

全問と解説の一覧

正解と解説は折りたたんであります。先に自分で考えてから開いてください。

全 36 問

システム要件定義・ソフトウェア要件定義

  1. 図書館システムの要件定義で、「利用者が本を予約する」「司書が貸出を記録する」など、目標ごとに利用者とシステムのやり取りを整理したい。最も適切な手法は?

    A. DFD で、処理とデータストアの間のデータの流れを描く B. E-R 図 で、本・利用者・予約の実体と関連を描く C. ユースケースで、アクターと目標ごとのやり取りを定義する D. 状態遷移表で、予約の状態と遷移を一覧にする

    答えと解説

    正解: C 【A(不正解)】 ? 業務をデータの流れに着目して表す図です。 DFD はデータの流れを表す図で、だれがどんな目標で操作するかという利用者とのやり取りの単位では整理しない。 【B(不正解)】 ? 業務で扱う情報を実体と関連で表す図です。 E-R 図はデータの構造を表す。利用者とシステムのやり取りの流れは表さない。 【C(正解)】 ? アクターと呼ぶ利用者側の役割を登場させる手法です。 シラバスは、ユースケースを一つの目標を達成するための利用者とシステムのやり取りを定義するために用いると説明している。 【D(不正解)】 ? 状態とイベントの組合せで振舞いを表す表です。 一つのデータの状態の移り変わりは表せるが、利用者ごとの目標とやり取りの整理には向かない。

    出典: 応用情報技術者試験 シラバス Ver.7.2(12-1 業務分析や要件定義に用いられる手法)

    この問題へのリンク
  2. 要件定義の段階で、新しい受注画面の操作の流れについて利用部門と開発側の理解が食い違っている。後工程での手戻りを防ぐ対応として最も適切なものは?

    A. 画面のプロトタイプを作り、利用者に操作してもらって評価を受ける B. 要件定義書の文章を増やし、画面の説明をより細かく書き込む C. 結合テストの段階で利用部門に画面を確認してもらう D. CRUD マトリクスで、画面ごとのデータ操作を整理する

    答えと解説

    正解: A 【A(正解)】 ? 試作品を早い段階で利用者に見せる方法です。 シラバスは、外部仕様の有効性や仕様の漏れを評価して手戻りを防ぐために、モックアップやプロトタイプを作ることがあると説明している。 【B(不正解)】 ? 文書の記述量を増やす方法です。 文章を増やしても、利用者が実際の操作感を確かめられないため、認識の食い違いが残りやすい。 【C(不正解)】 ? 実装が進んでから利用者に見せる方法です。 食い違いが結合テストで見つかると、設計と実装をやり直すことになり、手戻りが大きくなる。 【D(不正解)】 ? 処理とデータの生成・参照・更新・削除の対応を表にする方法です。 データ操作の漏れを見つけるには役立つが、画面の操作の流れについての認識合わせには直接つながらない。

    出典: 応用情報技術者試験 シラバス Ver.7.2(12-1 モックアップ及びプロトタイプ)

    この問題へのリンク
  3. 保守の段階で要件の変更依頼が頻繁に来る。変更のたびに、影響を受ける設計書の項目とテストケースを素早く特定したい。開発中から整えておくべきものとして最も適切なものは?

    A. WBS で、作業を細かく分けた一覧を作っておく B. ガントチャートで、工程ごとの予定と実績を管理しておく C. 要件ごとの優先順位を、利用部門と合意して記録しておく D. 要件と設計・テストのトレーサビリティマトリクスを保つ

    答えと解説

    正解: D 【A(不正解)】 ? プロジェクトの作業を階層的に分解したものです。 WBS は作業の分解と管理に使う。要件と設計・テストの対応関係は表さない。 【B(不正解)】 ? 作業の日程を横棒で表す図です。 日程の管理には役立つが、要件の変更がどの成果物に及ぶかは分からない。 【C(不正解)】 ? 要件の属性の一つを決めておく方法です。 優先順位は要件の属性として大切だが、要件と設計・テストの対応づけにはならない。 【D(正解)】 ? 行と列に成果物を並べ、対応に印を付けた表です。 シラバスは要件の評価基準に双方向の追跡可能性を挙げ、要件からソフトウェア要素やテストケースへ追跡できる表をトレーサビリティマトリクスとしている。

    出典: 応用情報技術者試験 シラバス Ver.7.2(12-1 ソフトウェアの境界及び要件の定義、要件の評価及びレビュー)

    この問題へのリンク
  4. IPA の非機能要求グレードの説明として最も適切なものは?

    A. 業務の機能を、画面と帳票の単位で網羅的に洗い出すための様式 B. 非機能要求の項目を分類し、要求レベルを段階的に示したもの C. 開発規模からソフトウェアの工数を見積もるための計算式の集まり D. 完成したシステムの性能を測る、負荷テスト用の道具の一覧

    答えと解説

    正解: B 【A(不正解)】 ? 機能要件を整理する様式を指しています。 非機能要求グレードは、機能ではなく非機能要求の項目を扱う。 【B(正解)】 ? 性能や可用性などの要求の水準をそろえるための道具です。 IPA は、非機能要求項目を網羅的に列挙して分類し、それぞれの要求レベルを段階的に示したものと説明している。 【C(不正解)】 ? 見積り手法を指しています。 工数の見積りの手法ではない。要求の項目とレベルを利用者と開発者で確かめ合うための道具である。 【D(不正解)】 ? テストの道具を指しています。 テストの道具ではなく、上流工程で要求の認識の行き違いを防ぐための道具である。

    出典: IPA システム構築の上流工程強化(非機能要求グレード)紹介ページ/応用情報技術者試験 シラバス Ver.7.2(12-1 システム要件の定義)

    この問題へのリンク
  5. UML で、注文処理の際に画面・注文管理・在庫管理の各オブジェクトがどの順にメッセージをやり取りするかを、時間の流れに沿って表したい。最も適切な図は?

    A. クラス図 B. ユースケース図 C. ステートマシン図 D. シーケンス図

    答えと解説

    正解: D 【A(不正解)】 ? クラスの属性・操作とクラス間の関係を表す図です。 クラス図は構造を表す図で、メッセージの時間的な順序は表さない。 【B(不正解)】 ? アクターとユースケースの関係を表す図です。 利用者とシステムの機能の関係は表すが、オブジェクト間のメッセージの順序は表さない。 【C(不正解)】 ? 一つのオブジェクトの状態の移り変わりを表す図です。 一つの対象の状態とイベントによる遷移を表す図で、複数のオブジェクト間のやり取りの順序を表す図ではない。 【D(正解)】 ? 縦に伸びる生存線の間に矢印を描く図です。 UML 仕様は、シーケンス図を相互作用の図の中で最も一般的なもので、生存線の間のメッセージのやり取りに焦点を当てると定めている。

    出典: OMG Unified Modeling Language Version 2.5.1(17.8 Sequence Diagrams)/応用情報技術者試験 シラバス Ver.7.2(12-1 UML)

    この問題へのリンク

設計

  1. シラバスが示す JIS X 25010 の製品品質モデルで、「障害が起きた後にデータを回復し、望ましい状態に戻せる度合い」を表す回復性は、どの品質特性の副特性か?

    A. 信頼性 B. 移植性 C. 保守性 D. 性能効率性

    答えと解説

    正解: A 【A(正解)】 ? 決められた条件で機能を果たし続ける度合いに関わる特性です。 シラバスは信頼性の副特性として可用性・回復性などを挙げている。 【B(不正解)】 ? 別の環境へ移すときのしやすさに関わる特性です。 環境を移すときの特性で、障害からの回復の度合いは扱わない。 【C(不正解)】 ? 修正や改良のしやすさに関わる特性です。 シラバスは保守性の副特性として解析性・試験性などを挙げている。回復性は含まれない。 【D(不正解)】 ? 使う資源の量と性能の関係に関わる特性です。 応答時間や資源の使い方に関わる特性で、障害からの回復は扱わない。

    出典: 応用情報技術者試験 シラバス Ver.7.2(12-2 ソフトウェア品質)

    この問題へのリンク
  2. Web アプリで画面の見た目を変えるたびに、同じクラスにある料金計算の処理も再テストが必要になっている。MVC モデルに沿った改善として最も適切なものは?

    A. 料金計算をコントローラーに集め、ビューから呼び出す B. 料金計算をビューの中に書き、表示と計算を一か所で管理する C. 料金計算をモデルに置き、表示はビューに分ける D. 画面・計算・入力処理を一つのクラスにまとめ、呼び出しを減らす

    答えと解説

    正解: C 【A(不正解)】 ? 利用者の操作を受ける部品に処理を寄せる方法です。 Microsoft の解説は、コントローラーが複雑になりすぎないよう、ビジネスロジックをコントローラーから外してモデルに置くよう勧めている。 【B(不正解)】 ? 表示を受け持つ部品に処理を寄せる方法です。 ビューのロジックは表示に関するものに限るべきとされている。計算を混ぜると、表示の変更のたびに計算の再テストが必要なままになる。 【C(正解)】 ? 料金計算の置き場所をモデルにする方法です。 モデルは業務ロジックを、ビューは表示を受け持つ。モデルはビューに依存しないため、表示を変えても計算部分を独立してテストできる。 【D(不正解)】 ? 部品の数を減らす方法です。 複数の役割に依存が広がったコードは、更新・テスト・デバッグが難しくなると説明されている。

    出典: Microsoft Learn「ASP.NET Core MVC の概要」/応用情報技術者試験 シラバス Ver.7.2(12-2 アーキテクチャパターン)

    この問題へのリンク
  3. 応用情報技術者試験のシラバスが示す、デザインパターンの 3 つの分類の組合せとして適切なものは?

    A. 入力・処理・出力 B. 生成・構造・振る舞い C. 分析・設計・実装 D. 順次・選択・繰返し

    答えと解説

    正解: B 【A(不正解)】 ? プログラムの処理の流れを 3 つに分ける見方です。 HIPO などで使う処理の見方で、デザインパターンの分類ではない。 【B(正解)】 ? オブジェクトの作り方、組み立て方、協調のしかたで分ける見方です。 シラバスは、デザインパターンを生成・構造・振る舞いに関するパターンの 3 種類に分類している。 【C(不正解)】 ? 開発の工程の名前です。 工程の分け方であり、デザインパターンの分類ではない。 【D(不正解)】 ? 構造化プログラミングの基本の制御構造です。 構造化設計の 3 つの基本構造で、デザインパターンの分類ではない。

    出典: 応用情報技術者試験 シラバス Ver.7.2(12-2 デザインパターン)

    この問題へのリンク
  4. 会員クラスを継承した一般会員と法人会員のクラスが、同じ「月末処理」メソッドをそれぞれ別の内容で実装した。呼び出し側は種類を区別せずに呼べる。この性質は?

    A. カプセル化 B. 多相性 C. 集約 D. インスタンス化

    答えと解説

    正解: B 【A(不正解)】 ? 内部の状態を隠し、公開した操作だけで扱わせる性質です。 内部を隠す性質であり、同じ呼び出しで種類ごとに違う処理が動く性質とは別である。 【B(正解)】 ? ポリモーフィズムとも呼ばれる性質です。 継承したメソッドを派生クラスごとに異なる方法で実装できる性質で、Microsoft の解説はこれを多形(ポリモーフィズム)と説明している。 【C(不正解)】 ? 全体と部分の関係を表す考え方です。 あるクラスが他のクラスを部分として持つ関係で、メソッドの実装の違いとは関係しない。 【D(不正解)】 ? クラスから実際のオブジェクトを作ることです。 オブジェクトを生成する操作であり、問題文の性質を表す言葉ではない。

    出典: Microsoft Learn「オブジェクト指向プログラミング - C#」/応用情報技術者試験 シラバス Ver.7.2(12-2 オブジェクト指向設計)

    この問題へのリンク
  5. 設計書のレビューで、モデレーターが進行し、作成者は記録係を務めない。決められた手順で欠陥をできるだけ多く見つけ、指摘の件数などを記録して工程の改善に使う。このレビュー種別は?

    A. ウォークスルー B. 非形式的レビュー C. テクニカルレビュー D. インスペクション

    答えと解説

    正解: D 【A(不正解)】 ? 作成者が主導して成果物を説明していくレビューです。 ウォークスルーは作成者が主導する。モデレーターが進行し作成者が記録係にならない点と合わない。 【B(不正解)】 ? 決まった手順や正式な記録を求めないレビューです。 定義されたプロセスに従わず、正式な記録も求めない。指摘件数を記録して改善に使う点と合わない。 【C(不正解)】 ? 技術的に適格なレビューアが技術的な問題の判断に向けて行うレビューです。 モデレーターが主導するが、主な目的は技術的な問題について合意して判断することにある。作成者の役割の制限やメトリクスの収集は特徴に挙げられていない。 【D(正解)】 ? あらかじめ役割を割り当てて行うレビュー種別の一つです。 汎用のレビュープロセスに完全に従い、欠陥を最大数見つけることが主な目的である。作成者はレビューリーダーや書記になれず、メトリクスを集めて改善に使う。

    出典: JSTQB Foundation Level シラバス Version 2023V4.0.J02(3.2.3 レビューでの役割と責務・3.2.4 レビュー種別)/応用情報技術者試験 シラバス Ver.7.2(12-2 レビュー)

    この問題へのリンク

実装・構築

  1. あるモジュールの制御フローグラフは、ノードが 11 個、エッジが 14 本で、入口と出口は 1 つずつである。このモジュールのサイクロマティック複雑度は?

    A. 3 B. 5 C. 13 D. 25

    答えと解説

    正解: B 【A(不正解)】 ? ノード数からエッジ数を引いた値の絶対値です。 14 − 11 = 3 で止めると、式の「+ 2」が抜けている。正しくは 14 − 11 + 2 = 5 である。 【B(正解)】 ? エッジ数 − ノード数 + 2 で求めた値です。 NIST の文書はサイクロマティック複雑度を e − n + 2(e はエッジ数、n はノード数)と定義する。14 − 11 + 2 = 5 となる。 【C(不正解)】 ? ノード数に 2 を足した値です。 11 + 2 = 13 はエッジ数を使っていない。式は 14 − 11 + 2 = 5 である。 【D(不正解)】 ? ノード数とエッジ数を足した値です。 11 + 14 = 25 は式と無関係である。正しくは 14 − 11 + 2 = 5 になる。

    出典: NIST Special Publication 500-235「Structured Testing: A Testing Methodology Using the Cyclomatic Complexity Metric」(2.2 Definition of cyclomatic complexity)/応用情報技術者試験 シラバス Ver.7.2(12-3 コードレビュー)

    この問題へのリンク
  2. ユニットテストの網羅基準について、命令網羅と判定条件網羅の関係を述べたものとして適切なものは?

    A. 判定条件網羅を 100% にすれば、命令網羅も 100% になる B. 二つの基準は独立で、片方の達成はもう片方に影響しない C. 命令網羅を 100% にすれば、判定条件網羅も必ず 100% になる D. 命令網羅を 100% にすれば、条件のすべての組合せも試したことになる

    答えと解説

    正解: A 【A(正解)】 ? 分岐をすべて通す基準から命令網羅を導く主張です。 JSTQB は、ブランチカバレッジがステートメントカバレッジを包含し、100% のブランチカバレッジは 100% のステートメントカバレッジも達成するが逆は成立しないと説明している。 【B(不正解)】 ? 二つの基準に関係が無いとする主張です。 判定条件網羅はすべての分岐を通すので、命令網羅を包含する関係にある。 【C(不正解)】 ? 命令網羅から判定条件網羅を導く主張です。 すべての命令を通っても、例えば else の無い if の偽の側を通っていない場合があり、判定条件網羅は満たされない。 【D(不正解)】 ? 命令網羅から複数条件網羅を導く主張です。 命令網羅は最も弱い基準の一つで、条件の組合せまでは保証しない。

    出典: JSTQB Foundation Level シラバス Version 2023V4.0.J02(4.3.1 ステートメントカバレッジ・4.3.2 ブランチカバレッジ)/応用情報技術者試験 シラバス Ver.7.2(12-3 テストの手法)

    この問題へのリンク
  3. 判定「A かつ B かつ C」の A・B・C は互いに独立した条件である。複数条件網羅を 100% にするために試す条件の真偽の組合せは何通りか?

    A. 3 通り B. 4 通り C. 6 通り D. 8 通り

    答えと解説

    正解: D 【A(不正解)】 ? 条件の数と同じ値です。 条件ごとに 1 回ずつ試すだけでは、真偽の組合せを網羅できない。組合せは 2 × 2 × 2 = 8 通りである。 【B(不正解)】 ? 条件の数に 1 を足した値です。 条件数 + 1 は、各条件が単独で判定結果を変えることを示す MC/DC で通常必要になる回数の目安である。複数条件網羅は 2³ = 8 通りになる。 【C(不正解)】 ? 条件ごとに真と偽を 1 回ずつ試した回数の合計です。 3 × 2 = 6 は各条件の真偽を個別に数えただけで、組合せの数ではない。2³ = 8 通りが必要である。 【D(正解)】 ? 2 を条件の数だけ掛けた値です。 JSTQB は、N 個の独立した条件の複数条件(複合条件)カバレッジは 2^N の組合せで達成できると説明する。2³ = 8 通りである。

    出典: JSTQB Advanced Level テクニカルテストアナリスト シラバス v4.0 日本語版(2.4 改良条件判定テスト・2.5 複合条件テスト)/応用情報技術者試験 シラバス Ver.7.2(12-3 テストの手法)

    この問題へのリンク
  4. コーディング標準で決めた命名規則の違反や、到達できないコードを、プログラムを動かさずにレビュー前に洗い出したい。最も適切な方法は?

    A. デバッガでブレークポイントを置き、変数の値を確かめる B. カバレッジ測定ツールで、テストで通った命令の割合を測る C. 静的解析ツールで、ソースコードを解析する D. 負荷テストツールで、大量の要求を送って応答を測る

    答えと解説

    正解: C 【A(不正解)】 ? プログラムを実行しながら途中で止めて調べる道具です。 デバッガはプログラムを動かして調べる道具で、動かさずに規約違反を洗い出す目的には合わない。 【B(不正解)】 ? テストの実行結果から網羅の度合いを測る道具です。 テストを実行して網羅率を測る動的な道具で、命名規則の違反は見つけられない。 【C(正解)】 ? ソースコードそのものを道具で調べる方法です。 静的解析はコードを実行せずに調べる技法で、制御フロー解析などにより到達できないコードを見つけられる。規約との適合の確認にも使われる。 【D(不正解)】 ? 性能を確かめるための道具です。 システムを動かして性能を確かめる道具で、コードの書き方の問題は調べない。

    出典: JSTQB Advanced Level テクニカルテストアナリスト シラバス v4.0 日本語版(3.2 静的解析・3.2.1 制御フロー解析)/応用情報技術者試験 シラバス Ver.7.2(12-3 コーディング標準・デバッグ)

    この問題へのリンク

統合・テスト

  1. 最上位の画面制御モジュールから順に下位へ結合してテストしたい。下位の在庫計算モジュールはまだ完成していない。このとき用意するものとして最も適切なものは?

    A. ドライバ B. テストデータジェネレーター C. スタブ D. トレーサー

    答えと解説

    正解: C 【A(不正解)】 ? テスト対象を呼び出す側の代わりをするプログラムです。 ドライバは上位の呼び出し側の代わりで、下位から積み上げるボトムアップテストで使う。 【B(不正解)】 ? テストに使うデータを作る道具です。 データを作る道具であり、未完成のモジュールの代わりにはならない。 【C(正解)】 ? 呼び出される側の代わりをするプログラムです。 上位から結合するトップダウンテストでは、未完成の下位モジュールの代わりに呼び出されるスタブを使う。 【D(不正解)】 ? 実行の経過を記録する道具です。 実行の流れを追う道具であり、未完成のモジュールの代わりにはならない。

    出典: 応用情報技術者試験 シラバス Ver.7.2(12-4 ソフトウェア統合テスト)/NIST Special Publication 500-235(7 Integration Testing)

    この問題へのリンク
  2. 数量の入力欄は 1 以上 100 以下の整数が有効である。2 値の境界値分析法でテストする値の組として最も適切なものは?

    A. 0・1・100・101 B. 1・50・100 C. −1・0・1 D. 2・99

    答えと解説

    正解: A 【A(正解)】 ? 有効範囲の両端と、その外側の隣の値です。 2 値の境界値分析では、境界値とその隣の区分の最も近い値を試す。下限側は 0 と 1、上限側は 100 と 101 になる。 【B(不正解)】 ? 有効範囲の両端と中央の値です。 両端は含むが、範囲のすぐ外の 0 と 101 を試していない。境界のずれを見逃すおそれがある。 【C(不正解)】 ? 下限付近の値だけを集めた組です。 上限側の 100 と 101 を試しておらず、上の境界の誤りを見つけられない。 【D(不正解)】 ? 範囲の内側にある、端から一つ内側の値です。 境界値そのものも範囲の外の値も試していないため、境界の誤りを見つけにくい。

    出典: JSTQB Foundation Level シラバス Version 2023V4.0.J02(4.2.2 境界値分析)/応用情報技術者試験 シラバス Ver.7.2(12-3 テストの手法)

    この問題へのリンク
  3. 入場料は 12 歳以下が子ども、13〜64 歳が大人、65 歳以上がシニアの 3 区分である。同値分析法で有効な区分ごとに代表値を 1 つ選ぶと、テストケースは最少で何件か?

    A. 1 件 B. 2 件 C. 3 件 D. 6 件

    答えと解説

    正解: C 【A(不正解)】 ? 区分をまとめて 1 つだけ試す数です。 1 件では一つの区分しか確かめられない。区分ごとに 1 件で 3 件になる。 【B(不正解)】 ? 区分の境目の数です。 境目の数は 2 つだが、同値分析法は区分の数だけ代表値を選ぶので 3 件になる。 【C(正解)】 ? 有効な区分の数です。 同値分割法では、同じ区分の値は同じに処理されるとみなし、区分ごとに 1 つのテストで足りるとする。有効な区分は 3 つなので 3 件である。 【D(不正解)】 ? 区分の数に境目の前後を足した数です。 境界の前後まで試すのは境界値分析法の考え方である。同値分析法で選ぶ代表値は 3 件である。

    出典: JSTQB Foundation Level シラバス Version 2023V4.0.J02(4.2.1 同値分割法)/応用情報技術者試験 シラバス Ver.7.2(12-3 テストの手法)

    この問題へのリンク
  4. 税率計算の不具合を直した。修正箇所が直ったことは確かめた。次に、修正によって変更していない請求書出力などに悪い影響が出ていないかを確かめるテストは?

    A. 確認テスト B. 回帰テスト C. 受入れテスト D. 探索的テスト

    答えと解説

    正解: B 【A(不正解)】 ? 元の欠陥が直ったかを確かめるテストです。 確認テストは元の欠陥が修正されたことを確かめるもので、問題文ではすでに済んでいる。 【B(正解)】 ? リグレッションテストとも呼ばれるテストです。 変更によって、変更していない部分に悪影響が生じていないことを確かめるテストである。 【C(不正解)】 ? 取得者がシステムを受け入れてよいかを判断するテストです。 発注側が受入れの可否を判断するテストで、修正の影響範囲を確かめる目的のものではない。 【D(不正解)】 ? テストを設計しながら同時に実行していくテストです。 事前に詳しい手順を決めずに行う経験ベースのテストで、修正の悪影響を確かめることに特化したものではない。

    出典: JSTQB Foundation Level シラバス Version 2023V4.0.J02(2.2.3 確認テストとリグレッションテスト)/応用情報技術者試験 シラバス Ver.7.2(12-4 ソフトウェア検証テスト)

    この問題へのリンク
  5. 真偽を取る条件が 3 つある割引ルールをデシジョンテーブルにした。条件の組合せのうち 2 つは業務上ありえない。実行可能な列をすべて試すと、テストケースは最少で何件か?

    A. 3 件 B. 6 件 C. 8 件 D. 9 件

    答えと解説

    正解: B 【A(不正解)】 ? 条件の数と同じ値です。 条件の数ではなく、条件の組合せ(列)の数を数える。2³ − 2 = 6 件である。 【B(正解)】 ? 2 の 3 乗から 2 を引いた値です。 真偽 3 条件の完全な表は 2³ = 8 列になる。実行できない 2 列を除いた 8 − 2 = 6 列がカバレッジの対象となる。 【C(不正解)】 ? 条件の真偽のすべての組合せの数です。 実行できない組合せの列は表から削除してよいとされる。8 − 2 = 6 件で足りる。 【D(不正解)】 ? 条件の数を 2 乗した値です。 3² = 9 は組合せの数の計算として誤りである。正しくは 2³ − 2 = 6 件である。

    出典: JSTQB Foundation Level シラバス Version 2023V4.0.J02(4.2.3 デシジョンテーブルテスト)/応用情報技術者試験 シラバス Ver.7.2(12-1 その他の手法・12-3 テストの手法)

    この問題へのリンク

導入・受入れ支援と保守・廃棄

  1. 新しい版のアプリを、まず全体の 10% の通信だけに振り向け、問題が無いことを確かめてから残りを切り替えたい。この導入方式は?

    A. 一斉移行 B. ブルーグリーンデプロイメント C. 並行稼働 D. カナリアリリース

    答えと解説

    正解: D 【A(不正解)】 ? 全利用者を一度に新しい版へ切り替える方式です。 一度に全体を切り替えるため、一部で様子を見る段階が無い。 【B(不正解)】 ? 同じ構成の環境を 2 つ用意して切り替える方式です。 旧版と新版の 2 つの環境の間で通信を切り替える方式で、一部の通信から段階的に流す点は問題文の中心ではない。 【C(不正解)】 ? 新旧のシステムを同時に動かして結果を比べる移行のしかたです。 新旧を並べて動かす移行のしかたで、通信の一部だけを新版へ流す方式とは異なる。 【D(正解)】 ? 炭鉱で危険を知らせた鳥にちなむ名前の方式です。 一部の利用者や通信だけに新しい版を出し、問題が無いことを確かめてから広げる方式である。AWS CodeDeploy の Canary 設定も、例えば 10% を先に移し、一定時間後に残りを移す。

    出典: AWS CodeDeploy ユーザーガイド「CodeDeploy でデプロイ設定を使用する」/応用情報技術者試験 シラバス Ver.7.2(12-5 導入計画の作成)

    この問題へのリンク
  2. 受託開発で、システムを納入する前の受入れテストの進め方として、シラバスの考え方に最も合うものは?

    A. 取得者が受入れ基準に沿ってテストし、供給者はそれを支援する B. 供給者が受入れ基準を決め、自社だけでテストして合格を通知する C. 受入れテストは省略し、運用を始めてから不具合を直していく D. 第三者の監査人が受入れテストを実施し、結果を供給者だけに報告する

    答えと解説

    正解: A 【A(正解)】 ? 発注した側が主体になり、開発した側が手伝う進め方です。 シラバスは、供給者が取得者の受入れレビューやテストを支援し、取得者が受入れの準備・レビュー・テストを行って結果を文書にすると説明している。 【B(不正解)】 ? 開発した側だけで受入れを判断する進め方です。 受入れのレビューやテストは取得者が行う。供給者だけで判断するのはシラバスの役割分担と合わない。 【C(不正解)】 ? 受入れの確認をせずに使い始める進め方です。 契約どおりに完成していることを双方が確かめてから納入・受入れを行うのがシラバスの考え方である。 【D(不正解)】 ? 外部の第三者に任せる進め方です。 受入れの主体は取得者であり、結果の文書化も取得者が行う。供給者だけへの報告では役割が逆になる。

    出典: 応用情報技術者試験 シラバス Ver.7.2(12-5 受入れ支援)

    この問題へのリンク
  3. サーバの OS が新しい版に変わるため、業務アプリが新しい OS でも動き続けるようにプログラムを修正する。この保守の種類として最も適切なものは?

    A. 是正保守 B. 完全化保守 C. 適応保守 D. 予防保守

    答えと解説

    正解: C 【A(不正解)】 ? 英語では corrective maintenance と呼ぶ保守です。 見つかった不具合を直す保守で、環境の変化に合わせる修正とは目的が異なる。 【B(不正解)】 ? 英語では perfective maintenance と呼ぶ保守です。 性能や保守性の改善が目的で、環境の変化への対応とは異なる。 【C(正解)】 ? 英語では adaptive maintenance と呼ぶ保守です。 JSTQB は ISO/IEC 14764 を参照して、保守には修正・環境の変化への適応・性能や保守性の改善などがあると説明する。OS の変更への対応は環境への適応に当たる。 【D(不正解)】 ? 英語では preventive maintenance と呼ぶ保守です。 まだ表に出ていない問題を先に直す保守で、環境の変化に合わせる修正の呼び名ではない。

    出典: JSTQB Foundation Level シラバス Version 2023V4.0.J02(2.3 メンテナンス(保守)テスト)/応用情報技術者試験 シラバス Ver.7.2(12-6 保守のタイプ及び形態)

    この問題へのリンク
  4. 新システムへの切替えに伴い旧販売管理システムを廃棄する。社内規程で取引データの保存期間が決まっている。廃棄の進め方として最も適切なものは?

    A. 新システムの稼働日に旧システムを停止し、全データを直ちに消去する B. 利用者への通知は省き、旧システムの電源をそのまま切っておく C. 計画を立てて利用者に知らせ、必要なデータを参照可能にして止める D. 旧システムを期限を決めずに新システムと並行運用し続ける

    答えと解説

    正解: C 【A(不正解)】 ? 停止と同時にすべてを消す進め方です。 保存期間のあるデータまで消すと、規程を守れず、後で参照する必要が生じても取り出せない。 【B(不正解)】 ? 関係者に知らせずに止める進め方です。 シラバスは、廃棄計画などを利用者や関係者に通知することを廃棄の手順に挙げている。 【C(正解)】 ? 計画・通知・データの扱いを順に決める進め方です。 シラバスは廃棄の手順に、廃棄計画の立案、利用者への通知、廃棄関連データの保持とアクセス可能性の確保を挙げている。 【D(不正解)】 ? 新旧を同時に動かし続ける進め方です。 並行運用は移行の一時的な段階であり、期限なく続けると廃棄が完了せず、運用の費用もかかり続ける。

    出典: 応用情報技術者試験 シラバス Ver.7.2(12-6 廃棄のタスク・廃棄)

    この問題へのリンク

開発プロセス・手法

  1. アジャイルソフトウェア開発宣言が示す価値の組合せとして、宣言の文言に沿うものは?

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

    答えと解説

    正解: C 【A(不正解)】 ? 計画と変化の重みを比べた言い方です。 宣言は逆で、計画に従うことよりも変化への対応に価値をおく。 【B(不正解)】 ? 契約と協調の重みを比べた言い方です。 宣言は逆で、契約交渉よりも顧客との協調に価値をおく。 【C(正解)】 ? 文書と成果物の重みを比べた言い方です。 宣言は、包括的なドキュメントよりも動くソフトウェアに価値をおくとしている。左の文書にも価値があることは認めている。 【D(不正解)】 ? 人とやり方の重みを比べた言い方です。 宣言は逆で、プロセスやツールよりも個人と対話に価値をおく。

    出典: アジャイルソフトウェア開発宣言(日本語)/応用情報技術者試験 シラバス Ver.7.2(13-1 アジャイルの概要)

    この問題へのリンク
  2. スクラムガイド(2020 年版)に沿ったチームの運営として、最も適切なものは?

    A. デイリースクラムは、スクラムマスターが全員の進捗報告を受ける会議とする B. スプリントは 1 か月以内の決まった長さとし、終わり次第すぐ次を始める C. スプリントレビューを、リリースしてよいかを決める唯一の関門とする D. 完成の定義を満たさない項目も、進捗としてレビューで提示する

    答えと解説

    正解: B 【A(不正解)】 ? 毎日のイベントをだれのためのものと見るかに関わる記述です。 デイリースクラムは開発者のための 15 分のイベントで、スプリントゴールへの進捗を検査し計画を適応させる場である。 【B(正解)】 ? スプリントの長さと区切りに関わる記述です。 スクラムガイドは、一貫性のためスプリントを 1 か月以内の決まった長さとし、前のスプリントが終わり次第新しいスプリントが始まるとしている。 【C(不正解)】 ? レビューの位置づけに関わる記述です。 スクラムガイドは、スプリントレビューを価値をリリースするための関門と見なすべきではないとしている。 【D(不正解)】 ? インクリメントに含めてよい作業の条件に関わる記述です。 完成の定義を満たさない項目は、リリースもスプリントレビューでの提示もできず、プロダクトバックログに戻す。

    出典: スクラムガイド 2020 日本語版/応用情報技術者試験 シラバス Ver.7.2(13-1 スクラムの特徴)

    この問題へのリンク
  3. スクラムで、営業部門がプロダクトバックログの並び順を変えて、自分たちの要望を先に作ってほしいと考えた。スクラムガイドに沿えば、営業部門はだれを説得すべきか?

    A. プロダクトオーナー B. 開発者全員 C. スクラムマスター D. 利害関係者の代表による委員会

    答えと解説

    正解: A 【A(正解)】 ? プロダクトの価値を最大化することに責任を持つ役割です。 スクラムガイドは、ステークホルダーがプロダクトバックログを変更したいときはプロダクトオーナーを説得すると定めている。 【B(不正解)】 ? インクリメントを作る役割です。 開発者はスプリントバックログを作るが、プロダクトバックログの並び替えの責任は持たない。 【C(不正解)】 ? スクラムの理解と実践を支える役割です。 スクラムマスターはスクラムの確立とチームの有効性に責任を持つが、バックログの並び順を決める役割ではない。 【D(不正解)】 ? 複数人の合議で決める形です。 スクラムガイドは、プロダクトオーナーは 1 人の人間であり委員会ではないとしている。

    出典: スクラムガイド 2020 日本語版(プロダクトオーナー)/応用情報技術者試験 シラバス Ver.7.2(13-1 スクラムの特徴)

    この問題へのリンク
  4. 応用情報技術者試験のシラバスが XP(エクストリームプログラミング)の五つの価値として挙げているものに含まれるのは?

    A. 統制 B. 網羅 C. 承認 D. 勇気

    答えと解説

    正解: D 【A(不正解)】 ? 管理によって行動をそろえることを表す言葉です。 シラバスが挙げる XP の五つの価値は、コミュニケーション・シンプル・フィードバック・勇気・尊重で、統制は含まれない。 【B(不正解)】 ? もれなく扱うことを表す言葉です。 網羅は五つの価値に含まれない。 【C(不正解)】 ? 上の立場の人が認めることを表す言葉です。 承認は五つの価値に含まれない。 【D(正解)】 ? 必要な変更をためらわずに行う姿勢を表す言葉です。 シラバスは五つの価値として、コミュニケーション・シンプル・フィードバック・勇気・尊重を挙げている。

    出典: 応用情報技術者試験 シラバス Ver.7.2(13-1 XP(エクストリームプログラミング)の特徴)

    この問題へのリンク
  5. テスト駆動開発(TDD)の進め方として最も適切なものは?

    A. テストを先に書き、それを満たすコードを書いてから、テストとコードを整理する B. コードを全部書き終えてから、カバレッジが 100% になるまでテストを足す C. 2 人で 1 台を使い、書く役と見直す役を交代しながらコードを書く D. 利用者と一緒に受入れ基準を書き、それを手作業の受入れテストでだけ使う

    答えと解説

    正解: A 【A(正解)】 ? テストを起点にコーディングを導く進め方です。 JSTQB は TDD を、テストを最初に書き、次にテストを満たすようにコードを書き、テストとコードをリファクタリングするものと説明している。 【B(不正解)】 ? 実装が先でテストが後の進め方です。 実装の後にテストを足す進め方で、テストを先に定義する TDD とは順序が逆である。 【C(不正解)】 ? 2 人 1 組で 1 台を使う開発のやり方です。 これはペアプログラミングの説明で、TDD の進め方ではない。 【D(不正解)】 ? 受入れ基準を起点にする考え方に近い進め方です。 受入れ基準からテストを導くのは ATDD の考え方である。TDD はコードの単位でテストを先に書いて開発を導く。

    出典: JSTQB Foundation Level シラバス Version 2023V4.0.J02(2.1.3 テストファーストアプローチ)/応用情報技術者試験 シラバス Ver.7.2(13-1 アジャイルの概要・XP の特徴)

    この問題へのリンク
  6. DevOps の成果を測る Four Keys のうち、本番へのデプロイのうち直後にすぐ対処が必要になったものの割合を示す指標は?

    A. デプロイの頻度 B. 変更のリードタイム C. コードの行数の増加量 D. 変更障害率

    答えと解説

    正解: D 【A(不正解)】 ? 英語では deployment frequency と呼ぶ指標です。 どれだけ頻繁に出せているかという速さの側の指標で、障害の割合ではない。 【B(不正解)】 ? 英語では change lead time と呼ぶ指標です。 変更が反映されるまでの時間で、速さの側の指標である。 【C(不正解)】 ? 作った量を数える指標です。 シラバスの挙げる Four Keys に含まれない。 【D(正解)】 ? 英語では change fail rate と呼ぶ指標です。 シラバスは Four Keys をデプロイの頻度・変更のリードタイム・変更障害率・平均修復時間とする。DORA は変更障害率を不安定さの側の指標に分類している。

    出典: 応用情報技術者試験 シラバス Ver.7.2(13-1 DevOps)/DORA's software delivery performance metrics

    この問題へのリンク
  7. シラバスが示すプロセス成熟度の 6 段階(JIS X 33020 など)で、「管理されたプロセス」の一つ上の段階は?

    A. 実施されたプロセス B. 確立されたプロセス C. 予測可能なプロセス D. 革新しているプロセス

    答えと解説

    正解: B 【A(不正解)】 ? プロセスが一応行われている段階です。 「管理されたプロセス」より一つ下の段階である。 【B(正解)】 ? 組織の標準プロセスに基づいて行われる段階です。 シラバスは段階を、不完全な・実施された・管理された・確立された・予測可能な・革新しているプロセスの順に挙げている。 【C(不正解)】 ? 決まった範囲で予測どおりに動く段階です。 「確立されたプロセス」のさらに上の段階である。 【D(不正解)】 ? 改善を続けている最上位の段階です。 6 段階の最上位で、「管理されたプロセス」の一つ上ではない。

    出典: 応用情報技術者試験 シラバス Ver.7.2(13-1 プロセス成熟度)

    この問題へのリンク

知的財産適用管理・開発環境管理・構成管理

  1. 社員が会社の発意に基づき職務として社内向けの在庫管理プログラムを作った。社外には公表していない。契約や就業規則に特別な定めは無い。このプログラムの著作者は?

    A. 会社 B. 会社の名義で公表していないので、作った社員 C. 会社と社員の共有 D. 特許を出願するまでだれも権利を持たない

    答えと解説

    正解: A 【A(正解)】 ? 職務著作の規定を当てはめた見方です。 法人等の発意に基づき業務に従事する者が職務上作るプログラムの著作者は、別段の定めがない限り法人等となる(著作権法 15 条 2 項)。 【B(不正解)】 ? 公表の名義を条件と考える見方です。 著作権法 15 条 2 項は、プログラムの著作物について公表名義の要件を置いていない。 【C(不正解)】 ? 両者で権利を分け合う見方です。 職務著作が成り立つときは法人等が著作者となり、社員との共有にはならない。 【D(不正解)】 ? 登録をしないと権利が生じないとする見方です。 著作権は登録や出願をしなくても創作によって生じる。特許の手続とは別である。

    出典: 著作権法(e-Gov 法令検索)第 15 条/応用情報技術者試験 シラバス Ver.7.2(13-2 著作権管理)

    この問題へのリンク
  2. A 社は B 社に業務システムの開発を委託し、納品後に自社で改造して使いたい。著作権の扱いについて A 社が契約で取るべき対応として最も適切なものは?

    A. 代金を払えば著作権は自動的に A 社に移るので、特に定めない B. 譲渡を定め、27 条・28 条の権利も譲渡の対象と明記する C. 著作権の譲渡だけを定め、改造の権利の扱いは書かない D. 委託の内容を特許として出願し、改造の権利を確保する

    答えと解説

    正解: B 【A(不正解)】 ? 支払いだけで権利が移ると考える見方です。 プログラムを作った B 社側に著作権が生じる。移すには譲渡の契約が必要で、支払いだけでは移らない。 【B(正解)】 ? 譲渡の範囲を契約で特に書き出す対応です。 著作権法 61 条 2 項により、27 条・28 条の権利が譲渡の対象として特掲されていないと、譲渡した側に留保されたものと推定される。 【C(不正解)】 ? 譲渡の範囲を細かく書かない対応です。 翻案などの権利を特掲しないと B 社に残ると推定され、改造に B 社の許諾が要るおそれがある。 【D(不正解)】 ? 特許の手続で対応する考え方です。 プログラムの改造に関わるのは著作権であり、出願しても B 社の著作権の扱いは決まらない。

    出典: 著作権法(e-Gov 法令検索)第 27 条・第 61 条/応用情報技術者試験 シラバス Ver.7.2(13-2 著作権管理)

    この問題へのリンク
  3. C 社は他社が持つ画像圧縮の特許を自社製品で使いたい。設定行為で定めた範囲内で、特許権者を含めほかの者に使わせず C 社だけが実施できる権利を得たい。設定すべき権利は?

    A. 通常実施権 B. 著作者人格権 C. 専用実施権 D. 営業秘密としての保護

    答えと解説

    正解: C 【A(不正解)】 ? 特許法 78 条に定めのある実施権です。 通常実施権は許諾を受けた範囲で実施できる権利で、ほかの者への許諾を妨げない。 【B(不正解)】 ? 著作者の人格的な利益を守る権利です。 著作物の著作者に生じる権利で、特許発明の実施とは関係しない。 【C(正解)】 ? 特許法 77 条に定めのある実施権です。 特許法 77 条は、専用実施権者が設定行為で定めた範囲内で、業として特許発明を実施する権利を専有すると定めている。 【D(不正解)】 ? 秘密として管理された情報を守る仕組みです。 不正競争防止法による保護で、他社の特許発明を実施する権利を得る手段ではない。

    出典: 特許法(e-Gov 法令検索)第 68 条・第 77 条・第 78 条/応用情報技術者試験 シラバス Ver.7.2(13-2 特許管理)

    この問題へのリンク
  4. 他社のソフトウェアを解析し、互換性のある自社製品を作って売る計画がある。リバースエンジニアリングの扱いについて、着手前に確かめるべきこととして最も適切なものは?

    A. 解析の結果は公開情報になるので、確かめることは特に無い B. 解析に使うツールの価格と、解析にかかる工数 C. 元の製品の発売日と、自社製品の発売予定日の差 D. 契約の解析禁止条項と、元の製品の権利を侵害しないか

    答えと解説

    正解: D 【A(不正解)】 ? 解析で得た情報を自由に使えるとする見方です。 シラバスは、権利者の許可なく解析結果に基づいて開発・販売すると知的財産権を侵害するおそれがあると説明している。 【B(不正解)】 ? 作業の費用面だけを見る観点です。 費用の見積りは必要でも、権利侵害や契約違反のおそれという本質的な確認にはならない。 【C(不正解)】 ? 発売の時期だけを見る観点です。 時期の差は権利の有無を左右しない。 【D(正解)】 ? 契約と権利の両面から確かめる観点です。 シラバスは、利用許諾契約がリバースエンジニアリングを禁止する場合があること、許可なく開発・販売すると権利を侵害するおそれがあることを挙げている。

    出典: 応用情報技術者試験 シラバス Ver.7.2(13-1 リバースエンジニアリング)

    この問題へのリンク
  5. 結合テストに使った設計書とソースコードの組を、後で修正が入っても正確に再現したい。構成管理の運用として最も適切なものは?

    A. 最新のファイルだけを共有フォルダに置き、古い版は上書きする B. テスト時点の構成をベースラインとし、変更は正式な手続で行う C. 各担当者が自分の端末に、作業中の版をそれぞれ保管しておく D. 変更があるたびに、変更点を口頭でチームに共有する

    答えと解説

    正解: B 【A(不正解)】 ? 最新版だけを残す運用です。 上書きすると、テスト時点の版の組合せを再現できない。 【B(正解)】 ? 承認した時点の構成を基準として固める運用です。 JSTQB は、承認された構成アイテムはベースラインとなり、正式な変更コントロールを通じてのみ変更でき、以前のベースラインに戻して結果を再現できると説明している。 【C(不正解)】 ? 版の管理を個人に任せる運用です。 版がばらばらに保管され、どの組合せでテストしたかを組織として特定できない。 【D(不正解)】 ? 記録を残さずに伝える運用です。 記録が残らないため、構成の状況や履歴を文書にするという変更管理の要件を満たせない。

    出典: JSTQB Foundation Level シラバス Version 2023V4.0.J02(5.4 構成管理)/応用情報技術者試験 シラバス Ver.7.2(13-4 構成管理・変更管理)

    この問題へのリンク
  6. 自社製品に組み込んだソフトウェア部品の一覧を作っておき、部品の脆弱性が公表されたときに影響する製品をすぐ特定したい。この一覧を表す言葉は?

    A. SBOM B. WBS C. トレーサビリティマトリクス D. RFP

    答えと解説

    正解: A 【A(正解)】 ? Software Bill of Materials の略です。 米国 CISA は SBOM を、ソフトウェアのコンポーネントを構成する要素の入れ子になった一覧と説明し、サプライチェーンのリスク管理の基礎と位置づけている。 【B(不正解)】 ? 作業を階層的に分解したものです。 プロジェクトの作業を分解したもので、製品に含まれる部品の一覧ではない。 【C(不正解)】 ? 要件と成果物の対応を表す表です。 要件・設計・テストの対応を追う表で、組み込んだ部品の一覧ではない。 【D(不正解)】 ? 発注先に提案を求める文書です。 調達で提案を求める文書であり、製品の部品の一覧ではない。

    出典: CISA「Software Bill of Materials (SBOM)」/応用情報技術者試験 シラバス Ver.7.2(13-4 構成管理)

    この問題へのリンク

この分野に出てくる用語(57 語)

DevOps:開発チームと運用チームが協力し、ソフトウェアのリリースを素早く確実に行うための考え方や取組み。

DFD:業務のプロセスを、データの流れに着目して表す図。プロセス・データフロー・データストア・外部実体(源泉と吸収)で描く。

E-R 図:データベース設計で、実体(エンティティ)とその関連(リレーションシップ)を表す図。

MVC モデル:アプリケーションをモデル(業務ロジックと状態)・ビュー(表示)・コントローラー(操作の受付)に分けるアーキテクチャパターン。関心の分離に役立つ。

RFP:調達するシステムの要件などを示し、ベンダに具体的な提案を依頼する文書。

SBOM:Software Bill of Materials。ソフトウェアを構成する部品を入れ子で並べた一覧(部品表)。サプライチェーンのリスク管理や脆弱性対応の基礎になる。

UML:オブジェクト指向の分析・設計で使う、図の書き方を定めた標準のモデリング言語。

WBS:プロジェクトの成果物や作業を、管理しやすい大きさまで階層的に分解したもの。

XP:エクストリームプログラミング。テスト駆動開発・ペアプログラミング・リファクタリング・継続的インテグレーションなどの実践を持つアジャイル開発手法。

アジャイルソフトウェア開発宣言:プロセスやツールよりも個人と対話を、包括的なドキュメントよりも動くソフトウェアを、などの 4 つの価値を示した宣言。

インスペクション:最も形式的なレビュー。決められた手順に完全に従い、欠陥をできるだけ多く見つけることを主な目的とする。作成者はリーダーや書記になれない。

ウォークスルー:成果物の作成者が主導して内容を説明しながら進めるレビュー。欠陥の検出のほか、合意形成やレビューアの教育にも使われる。

カナリアリリース:新しい版をまず一部の通信や利用者だけに出し、問題が無いことを確かめてから残りへ広げるリリースの方式。

カプセル化:オブジェクトの内部の状態と機能を隠し、公開した操作だけを通して使わせるオブジェクト指向の考え方。

ガントチャート:横軸に時間をとり、各作業の予定と実績を横棒で表した図。

サイクロマティック複雑度:制御フローグラフのエッジ数 e とノード数 n から e − n + 2 で求める、モジュールの複雑さの指標。分岐がすべて 2 分岐なら分岐の数 + 1 に等しい。

シーケンス図:UML の相互作用の図の一つ。複数の生存線(オブジェクトなど)の間で交わされるメッセージの順序に焦点を当てて表す。

スクラム:スプリントと呼ぶ短い期間を繰り返してチームで開発を進める、アジャイルの代表的な枠組み。

スタブ:テスト対象のモジュールから呼び出される、未完成の下位モジュールの代わりをするテスト用のプログラム。上位から結合するトップダウンテストで使う。

デザインパターン:ソフトウェア設計でよく現れる問題と、その解決方法を型としてまとめたもの。

テスト駆動開発:先にテストを書き、そのテストに合格するようにプログラムを作る開発手法。

ドライバ:テスト対象のモジュールを呼び出す側の代わりをするテスト用のプログラム。下位から結合するボトムアップテストで使う。

トレーサビリティマトリクス:要件と、設計の要素やテストケースなどの対応を表にしたもの。要件の変更がどこに影響するかを双方向にたどれるようにする。

ブルーグリーンデプロイメント:異なる版のアプリを動かす同じ構成の 2 つの環境を用意し、通信の向き先を切り替えてリリースする方式。停止時間を減らし、戻しやすくする。

プロダクトオーナー:スクラムで、プロダクトの価値を最大化することと、プロダクトバックログの管理(並び替えなど)に責任を持つ 1 人の人。

プロトタイプ:要件や外部仕様の有効性・漏れ・実現可能性を早めに確かめるために作る試作品。手戻りを防ぐ目的で、モックアップと並んで使われる。

ペアプログラミング:2 人で 1 台のコンピュータを使い、交代しながらプログラムを書く開発手法。

ベースライン:構成管理で、承認された時点の構成品目の組。以後は正式な変更管理を通じてのみ変更し、以前のベースラインに戻して再現できる。

ホワイトボックステスト:プログラムの内部構造に着目して、命令や分岐が実行されるようにテストケースを作るテスト。

ユースケース:一つの目標を達成するための、利用者(アクター)とシステムのやり取りを定義したもの。図にしたものをユースケース図という。

リバースエンジニアリング:既存のソフトウェアを解析して、仕様や構成部品の情報を得ること。利用許諾契約で禁止されている場合や、権利侵害となる場合がある。

リファクタリング:外から見た動作を変えずに、プログラムの内部の構造を整理して改善すること。

営業秘密:秘密として管理され、事業に有用で、公然と知られていない技術上または営業上の情報。不正競争防止法で保護される。

回帰テスト:プログラムを変更したときに、変更していない部分に悪い影響が出ていないかを確かめるテスト。

確認テスト:見つかった欠陥を修正した後に、元の欠陥が正しく直ったことを確かめるテスト。修正の悪影響を確かめる回帰テストとは区別する。

完成の定義:スクラムで、プロダクトの品質基準を満たすインクリメントの状態を示した正式な記述。満たさない項目はリリースもレビューでの提示もできない。

完全化保守:引き渡し後のソフトウェアの性能や保守性を改善するために行う保守。

境界値分析法:有効な値の範囲の境目とその前後の値をテストデータに選ぶ、ブラックボックステストの技法。

継続的インテグレーション:変更したコードを頻繁に共有の場所へ統合し、自動でビルドやテストを行う手法。

決定表:条件の組合せと、それぞれのときにとる動作を表の形で整理する方法。デシジョンテーブルともいう。

構成管理:サービスを構成する要素(構成品目)とその関係の情報を、正確に記録・維持する管理。

受入れテスト:システムやソフトウェアを受け入れてよいかを、取得者(発注者)が受入れ基準に沿って確かめるテスト。供給者はこれを支援する。

職務著作:一定の条件を満たすとき、従業員が職務上作成した著作物の著作者が法人などになる制度。

是正保守:引き渡し後に見つかった問題を直すために行う保守。シラバスは保守のタイプとして予防保守・適応保守・完全化保守などと並べて挙げている。

静的解析:プログラムを実行せずに、ソースコードなどを解析して欠陥や保守性の問題を見つける技法。到達できないコードなどを検出できる。

専用実施権:設定行為で定めた範囲内で、業として特許発明を実施する権利を専有する権利。その範囲では特許権者も実施できなくなる。

多相性:継承したメソッドを派生クラスごとに異なる方法で実装でき、呼び出す側は同じ呼び方で使えるオブジェクト指向の性質。

著作権:思想や感情を創作的に表現した著作物を保護する権利。創作した時点で自動的に発生する。

通常実施権:特許権者の許諾を受け、定められた範囲で業として特許発明を実施できる権利。ほかの者への許諾を妨げない。

適応保守:OS などの環境が変わった後も、ソフトウェアを使える状態に保つために行う保守。

同値分析法:入力値を同じ扱いになるグループに分け、各グループの代表値をテストデータに選ぶ技法。

判定条件網羅:すべての判定の真と偽の結果(分岐)を少なくとも 1 回通すようにテストケースを作る基準。100% にすると命令網羅も 100% になる。

非機能要求グレード:IPA がまとめた、非機能要求の項目を網羅的に分類し、要求のレベルを段階的に示した道具。利用者と開発者の認識の行き違いを防ぐ。

複数条件網羅:判定に含まれる条件の真偽のすべての組合せを試す基準。独立した条件が N 個なら 2 の N 乗通りになる。

変更管理:サービスやシステムへの変更を、評価・承認してから計画的に行うための管理。

命令網羅:プログラム中のすべての実行可能な命令を少なくとも 1 回実行するようにテストケースを作る基準。ステートメントカバレッジともいう。

予防保守:まだ表に出ていない潜在的な問題を、障害として現れる前に見つけて直す保守。

用語集で全部の用語を見る →

独学の次に、講座で体系立てて学びたい人へ

この問題集は独学用です。IT の基礎から講師つきで体系立てて学びたい人には、資格や IT の講座がそろうスクールも選択肢になります。

本ページは広告・アフィリエイトプログラムを利用しており、リンク経由でのお申し込み・購入により当サイトに収益が発生することがあります。ただし、ランキング・評価・掲載内容は広告費や報酬の有無に関わらず編集部の独自基準で決定しており、広告主からの指示により内容を変更することはありません。

ヒューマンアカデミー(資格・IT/Webスクール)PR

IT・Webデザイン・資格まで幅広い講座。生成AI/DX講座はリスキリング補助金の対象

ヒューマンアカデミー(資格・IT/Webスクール)の広告無料で講座資料を探す →

まずは無料ではじめられます。リンク先は公式サイトです。

このサービスの解説記事を読む →