印刷プレビューです。ブラウザの印刷機能でPDF保存・印刷できます。
ITパスポート 開発技術
全40問 / トルカ(https://toruca.app)
問1. ウォーターフォールモデルの説明として最も適切なものはどれか。
- A. 要件定義・設計・製造・テストの各工程を順番に進め、原則として後戻りしない開発モデル
- B. 短い期間で機能単位の開発を繰り返す開発モデル
- C. 試作品を早期に作り顧客の反応を確認しながら進める開発モデル
- D. テストコードを先に書いてから実装する開発モデル
正解: A. 要件定義・設計・製造・テストの各工程を順番に進め、原則として後戻りしない開発モデル / ウォーターフォールモデルは、要件定義→設計→製造(プログラミング)→テストの各工程を、水が上流から下流に流れるように順番に進める開発モデルであり、後戻りを想定しない点が特徴。
問2. アジャイル開発の特徴として最も適切なものはどれか。
- A. 短い期間(イテレーション)で計画・設計・実装・テストを繰り返し、変化する要求に柔軟に対応する
- B. 全ての要件を開発の最初に確定し、以後一切変更を認めない
- C. テスト工程を実施せずにリリースする
- D. 1つの巨大な工程を数年かけて一度だけ実行する
正解: A. 短い期間(イテレーション)で計画・設計・実装・テストを繰り返し、変化する要求に柔軟に対応する / アジャイル開発は、短い期間の反復(イテレーション/スプリント)を繰り返しながら機能を少しずつ開発・リリースし、顧客からのフィードバックを取り入れて変化する要求に柔軟に対応する開発手法である。
問3. スパイラルモデルの説明として最も適切なものはどれか。
- A. システムをいくつかのサブシステムに分割し、設計・実装・評価を繰り返しながら段階的に完成度を高めていく開発モデル
- B. 設計工程を一切行わずにいきなりプログラミングする開発モデル
- C. 顧客の要件を一切確認せずに開発を進める開発モデル
- D. テスト工程のみを繰り返す開発モデル
正解: A. システムをいくつかのサブシステムに分割し、設計・実装・評価を繰り返しながら段階的に完成度を高めていく開発モデル / スパイラルモデルは、システムをサブシステム単位に分割し、設計・実装・評価(リスク分析含む)のサイクルを螺旋(スパイラル)状に繰り返しながら、段階的に完成度を高めていく開発モデルである。
問4. プロトタイピングモデルの説明として最も適切なものはどれか。
- A. 開発の早い段階で試作品(プロトタイプ)を作成し、顧客に確認してもらいながら要件の認識齟齬を防ぐ開発モデル
- B. 試作品を一切作らずに本番システムをいきなり構築する開発モデル
- C. テストを実施しない開発モデル
- D. 要件定義工程を省略する開発モデル
正解: A. 開発の早い段階で試作品(プロトタイプ)を作成し、顧客に確認してもらいながら要件の認識齟齬を防ぐ開発モデル / プロトタイピングモデルは、開発の早い段階で試作品(プロトタイプ)を作成し、顧客に実際に触ってもらいながらフィードバックを得ることで、要件の認識齟齬や仕様の手戻りを防ぐ開発モデルである。
問5. システム開発における「外部設計」の説明として最も適切なものはどれか。
- A. 利用者から見える画面・帳票などのインタフェースを設計する工程
- B. プログラム内部のアルゴリズムやデータ構造を設計する工程
- C. プログラムのソースコードを実際に記述する工程
- D. 完成したシステムを利用者が実際に使ってみて確認する工程
正解: A. 利用者から見える画面・帳票などのインタフェースを設計する工程 / 外部設計(概要設計)は、利用者から見える画面レイアウトや帳票、他システムとのインタフェースなど、システムの外部から見える部分を設計する工程である。
問6. システム開発における「内部設計」の説明として最も適切なものはどれか。
- A. 外部設計の内容を踏まえ、プログラム内部の処理ロジックやデータ構造を詳細に設計する工程
- B. 利用者から見える画面デザインのみを検討する工程
- C. 経営層への予算説明資料を作成する工程
- D. システムを廃棄する際の手続きを定める工程
正解: A. 外部設計の内容を踏まえ、プログラム内部の処理ロジックやデータ構造を詳細に設計する工程 / 内部設計(詳細設計)は、外部設計の内容をもとに、プログラマーが実装できるレベルまでプログラム内部の処理ロジックやデータ構造を詳細に落とし込む工程である。
問7. システム開発の基本的な工程を正しい順序に並び替えよ。
- ( )内部設計
- ( )テスト
- ( )外部設計
- ( )プログラミング
正解の順序: 外部設計 → 内部設計 → プログラミング → テスト / 一般的なシステム開発工程は「外部設計→内部設計→プログラミング→テスト」の順に進む(この前段階に要件定義がある)。
問8. 単体テスト(モジュールテスト)の説明として最も適切なものはどれか。
- A. プログラムを構成する最小単位(モジュール・関数)ごとに、仕様通りに動作するかを検証するテスト
- B. システム全体を実際の業務運用に近い形で検証するテスト
- C. 利用者が実際にシステムを使って最終確認するテスト
- D. 他社製品との性能比較のみを行うテスト
正解: A. プログラムを構成する最小単位(モジュール・関数)ごとに、仕様通りに動作するかを検証するテスト / 単体テスト(モジュールテスト)は、プログラムを構成する最小単位であるモジュールや関数ごとに、仕様通りに正しく動作するかを個別に検証するテストである。
問9. 結合テストの説明として最も適切なものはどれか。
- A. 単体テストが完了した複数のモジュールを結合し、モジュール間のインタフェースが正しく機能するかを検証するテスト
- B. 1つのモジュール内部のロジックのみを検証するテスト
- C. 利用者の業務運用を想定した最終テスト
- D. ハードウェアの物理的な故障のみを検出するテスト
正解: A. 単体テストが完了した複数のモジュールを結合し、モジュール間のインタフェースが正しく機能するかを検証するテスト / 結合テストは、単体テストが完了した複数のモジュールを組み合わせ(結合し)、モジュール間のデータの受け渡しやインタフェースが仕様通りに機能するかを検証するテストである。
問10. システムテスト(総合テスト)の説明として最も適切なものはどれか。
- A. 結合されたシステム全体が、要件定義で定めた機能・性能を満たしているかを検証するテスト
- B. 1つのモジュール単体のみを検証するテスト
- C. 顧客が本番同様の環境で最終的に受け入れ可否を判断するテスト
- D. プログラムのソースコードの著作権のみを確認するテスト
正解: A. 結合されたシステム全体が、要件定義で定めた機能・性能を満たしているかを検証するテスト / システムテスト(総合テスト)は、結合テストまで完了したシステム全体を対象に、要件定義で定めた機能要件・非機能要件(性能・セキュリティ等)を満たしているかを検証するテストである。
問11. 運用テスト(受け入れテスト)の説明として最も適切なものはどれか。
- A. 発注者(利用者)が実際の業務環境に近い形でシステムを操作し、要求通りに機能するか最終確認するテスト
- B. 開発者のみがソースコードの品質を検証するテスト
- C. 1つの関数の戻り値のみを検証するテスト
- D. サーバーの物理的な設置作業を指す
正解: A. 発注者(利用者)が実際の業務環境に近い形でシステムを操作し、要求通りに機能するか最終確認するテスト / 運用テスト(受け入れテスト)は、システムテストの完了後、発注者・利用者側が実際の業務運用に近い環境でシステムを操作し、要求仕様を満たしているかを最終確認するテストである。
問12. ブラックボックステストとホワイトボックステストの特徴を対応させよ。
- ブラックボックステスト ー ( )
- ホワイトボックステスト ー ( )
正解: ブラックボックステスト→プログラムの内部構造を意識せず、入力と出力の関係から検証する、ホワイトボックステスト→プログラムの内部構造(ロジック・分岐)に着目し、網羅性を検証する / ブラックボックステストは内部構造を見ずに入出力の関係のみで検証する手法、ホワイトボックステストは内部のロジックや分岐を把握したうえで、命令や分岐の網羅率を意識して検証する手法である。
問13. トップダウンテストの説明として最も適切なものはどれか。
- A. 上位モジュールから順にテストを行い、未完成の下位モジュールの代わりにスタブを用いる結合テスト手法
- B. 下位モジュールから順にテストを行い、上位モジュールの代わりにドライバを用いる結合テスト手法
- C. テストを一切行わずにリリースする手法
- D. 利用者側のみが実施するテスト手法
正解: A. 上位モジュールから順にテストを行い、未完成の下位モジュールの代わりにスタブを用いる結合テスト手法 / トップダウンテストは、上位(呼び出す側)のモジュールから順に結合してテストを行う手法で、まだ完成していない下位モジュールの代わりに「スタブ」と呼ばれる仮のモジュールを用いる。
問14. ボトムアップテストで、未完成の上位モジュールの代わりに用いるテスト用モジュールを何と呼ぶか。
- A. ドライバ
- B. スタブ
- C. デバッガ
- D. コンパイラ
正解: A. ドライバ / ボトムアップテストは下位モジュールから順にテストを行う手法で、まだ完成していない上位(呼び出し元)モジュールの代わりに「ドライバ」と呼ばれるテスト用の仮モジュールを用いる。
問15. リグレッションテスト(回帰テスト)の説明として最も適切なものはどれか。
- A. プログラムを修正した際に、修正箇所以外に予期しない影響(デグレード)が出ていないかを確認するテスト
- B. 初めてプログラムを作成する際に一度だけ実施するテスト
- C. サーバーの物理的な設置を検証するテスト
- D. 従業員の勤怠管理を検証するテスト
正解: A. プログラムを修正した際に、修正箇所以外に予期しない影響(デグレード)が出ていないかを確認するテスト / リグレッションテスト(回帰テスト)は、プログラムの修正・機能追加を行った際に、修正箇所以外の既存機能に予期しない影響(デグレード、機能低下)が出ていないかを確認するために再実施するテストである。
問16. デザインレビューの目的として最も適切なものはどれか。
- A. 設計工程の成果物を関係者で確認し、後工程に問題を持ち越す前に欠陥や誤りを早期に発見する
- B. プログラムを実際に実行して性能を測定する
- C. 従業員の勤怠状況を確認する
- D. サーバーの物理的な設置場所を決定する
正解: A. 設計工程の成果物を関係者で確認し、後工程に問題を持ち越す前に欠陥や誤りを早期に発見する / デザインレビューは、設計工程の成果物(設計書等)を開発者や関係者が集まって確認し、欠陥や矛盾、考慮漏れを後工程に持ち越す前の早い段階で発見・是正するための活動である。
問17. コードレビュー手法の名称と特徴を対応させよ。
- ウォークスルー ー ( )
- インスペクション ー ( )
正解: ウォークスルー→作成者が主導し、比較的少人数で気軽にレビューを行う、インスペクション→モデレーター(進行役)を置き、正式な手順・役割分担でレビューを行う / ウォークスルーは作成者主導で比較的カジュアルに行うレビュー、インスペクションはモデレーターを立てて正式な役割分担・手順に基づき厳格に行うレビュー技法である。
問18. ペアプログラミングの説明として最も適切なものはどれか。
- A. 2人1組になり、1人がコードを記述し、もう1人がリアルタイムで確認・助言しながら開発を進める手法
- B. 1人のプログラマーが2つのプロジェクトを同時に掛け持ちする働き方
- C. プログラムを2つの言語で二重に開発する手法
- D. テストのみを2人で分担して実施する手法
正解: A. 2人1組になり、1人がコードを記述し、もう1人がリアルタイムで確認・助言しながら開発を進める手法 / ペアプログラミングは、アジャイル開発(エクストリームプログラミング)の代表的なプラクティスの一つで、2人1組でドライバー(コードを書く人)とナビゲーター(確認・助言する人)に分かれて開発を進める手法である。
問19. リファクタリングの説明として最も適切なものはどれか。
- A. プログラムの外部から見た動作を変えずに、内部のソースコードの構造を整理・改善すること
- B. プログラムの機能を全く新しく追加すること
- C. プログラムのバグをそのまま放置すること
- D. サーバーのハードウェアを交換すること
正解: A. プログラムの外部から見た動作を変えずに、内部のソースコードの構造を整理・改善すること / リファクタリングは、プログラムの外部から見た動作(機能)を変えることなく、内部のソースコードの構造をより読みやすく・保守しやすい形に整理・改善する作業である。
問20. デバッグの説明として最も適切なものはどれか。
- A. プログラムの不具合(バグ)の原因を特定し、修正すること
- B. プログラムの実行速度を測定すること
- C. プログラムのソースコードを暗号化すること
- D. サーバーの温度を監視すること
正解: A. プログラムの不具合(バグ)の原因を特定し、修正すること / デバッグは、プログラム中の不具合(バグ)を発見し、その原因を特定して修正する一連の作業を指す。
問21. 構造化プログラミングにおける基本的な制御構造として一般的に用いられる3つの組み合わせはどれか。
- A. 順次(連接)・選択(分岐)・繰り返し(反復)
- B. 入力・処理・出力
- C. 設計・実装・テスト
- D. 計画・実行・評価
正解: A. 順次(連接)・選択(分岐)・繰り返し(反復) / 構造化プログラミングは、プログラムの流れを「順次(連接)」「選択(分岐)」「繰り返し(反復)」の3つの基本制御構造の組み合わせで表現し、プログラムを分かりやすく保守しやすくする考え方である。
問22. オブジェクト指向の代表的な特徴と内容を対応させよ。
- カプセル化 ー ( )
- 継承 ー ( )
- ポリモーフィズム ー ( )
正解: カプセル化→データと処理を1つにまとめ、内部詳細を外部から隠蔽する、継承→既存のクラスの性質を引き継いで新しいクラスを定義する、ポリモーフィズム→同じ呼び出し方でもオブジェクトの種類によって異なる処理を実行できる / オブジェクト指向の3大要素は「カプセル化」(データと処理の一体化・隠蔽)、「継承」(既存クラスの性質を引き継ぐ)、「ポリモーフィズム」(多態性、同じ呼び出しでも異なる動作を可能にする)である。
問23. UML(Unified Modeling Language)の用途として最も適切なものはどれか。
- A. システムの構造や振る舞いを、統一された図表記法(クラス図・シーケンス図等)でモデル化するために用いる
- B. プログラムの実行速度を測定するために用いる
- C. 従業員の給与を計算するために用いる
- D. サーバーの温度を監視するために用いる
正解: A. システムの構造や振る舞いを、統一された図表記法(クラス図・シーケンス図等)でモデル化するために用いる / UML(統一モデリング言語)は、オブジェクト指向設計においてシステムの構造(クラス図等)や振る舞い(シーケンス図、ユースケース図等)を統一的な図表記法でモデル化するための言語である。
問24. ファンクションポイント法の説明として最も適切なものはどれか。
- A. 画面数・帳票数・入出力の複雑さなど、利用者から見える機能の量を基に開発規模を見積もる手法
- B. 過去に類似したプロジェクトの実績のみを参考に見積もる手法
- C. 経験豊富な担当者の勘のみに頼って見積もる手法
- D. プログラムのソースコードの行数のみで見積もる手法
正解: A. 画面数・帳票数・入出力の複雑さなど、利用者から見える機能の量を基に開発規模を見積もる手法 / ファンクションポイント法は、画面・帳票・ファイルなど利用者から見える機能の数や複雑さを点数化して開発規模を見積もる手法であり、プログラム言語に依存せず比較的客観的な見積もりが可能とされる。
問25. 類推見積法の説明として最も適切なものはどれか。
- A. 過去に実施した類似のプロジェクトの実績データを基に、規模や工数を見積もる手法
- B. 全ての作業を細かく洗い出して積み上げる手法
- C. 利用者から見える機能の点数のみで見積もる手法
- D. 見積もりを一切行わずに開発を始める手法
正解: A. 過去に実施した類似のプロジェクトの実績データを基に、規模や工数を見積もる手法 / 類推見積法は、過去に実施した類似の開発プロジェクトの規模・工数などの実績データと比較・類推することで、新規プロジェクトの見積もりを行う手法である。
問26. 積み上げ法(ボトムアップ見積り)の説明として最も適切なものはどれか。
- A. 作業を詳細なタスク単位まで分解し、それぞれの工数を積み上げて全体の見積もりを算出する手法
- B. 過去の類似プロジェクトとの比較のみで見積もる手法
- C. 熟練者の経験と勘のみに頼る手法
- D. 利用者数のみから見積もる手法
正解: A. 作業を詳細なタスク単位まで分解し、それぞれの工数を積み上げて全体の見積もりを算出する手法 / 積み上げ法(ボトムアップ見積り)は、開発するシステムをWBS等で詳細な作業(タスク)単位まで分解し、それぞれのタスクの工数を見積もったうえで積み上げ、全体の工数を算出する手法である。
問27. WBS(Work Breakdown Structure:作業分解構成図)の目的として最も適切なものはどれか。
- A. プロジェクト全体の作業を階層的に分解し、管理可能な単位のタスクとして整理する
- B. 従業員の給与体系を階層的に整理する
- C. サーバーのネットワーク構成図を作成する
- D. 会計帳簿の勘定科目を分類する
正解: A. プロジェクト全体の作業を階層的に分解し、管理可能な単位のタスクとして整理する / WBS(作業分解構成図)は、プロジェクトで実施すべき作業を、大きな単位から順に階層的に細分化し、進捗管理や工数見積りが可能な粒度のタスクとして整理する手法である。
問28. 構成管理の説明として最も適切なものはどれか。
- A. ソースコードや設計書などの成果物のバージョン・変更履歴を一元的に管理し、整合性を保つ活動
- B. 従業員の勤務シフトを管理する活動
- C. サーバーの物理的な温度を管理する活動
- D. 顧客からの入金状況を管理する活動
正解: A. ソースコードや設計書などの成果物のバージョン・変更履歴を一元的に管理し、整合性を保つ活動 / 構成管理は、ソースコードや設計書などの開発成果物(構成要素)のバージョンや変更履歴を一元的に管理し、どのバージョンがどの状態にあるかの整合性を保つための活動である。
問29. バージョン管理システム(Gitなど)を利用する主な目的として最も適切なものはどれか。
- A. 複数人でのソースコードの変更履歴を記録し、変更内容の追跡や以前の状態への復元を可能にする
- B. サーバーの電源を自動でオン・オフする
- C. 従業員の給与を自動計算する
- D. 会計帳簿を自動生成する
正解: A. 複数人でのソースコードの変更履歴を記録し、変更内容の追跡や以前の状態への復元を可能にする / バージョン管理システムは、複数人で開発するソースコードなどの変更履歴を記録し、誰がいつ何を変更したかの追跡や、必要に応じて以前のバージョンへの復元を可能にするツールである。
問30. デグレード(デグレ)の説明として最も適切なものはどれか。
- A. プログラムを修正した際に、修正した箇所以外の既存機能に不具合が発生し品質が低下すること
- B. プログラムの実行速度が向上すること
- C. サーバーのメモリ容量を増設すること
- D. 顧客満足度調査の点数が向上すること
正解: A. プログラムを修正した際に、修正した箇所以外の既存機能に不具合が発生し品質が低下すること / デグレード(デグレ、Degrade)は、プログラムの修正・機能追加に伴い、意図せず既存の正常だった機能に不具合が発生し、品質が低下してしまう現象を指す。これを検出するためにリグレッションテストが実施される。
問31. ソフトウェア保守の説明として最も適切なものはどれか。
- A. 本番稼働中のシステムに対し、不具合修正や仕様変更・機能改善などを行う活動
- B. システムを新規に開発する最初の企画段階を指す
- C. サーバー機器を廃棄する処分作業のみを指す
- D. 従業員採用のための面接活動を指す
正解: A. 本番稼働中のシステムに対し、不具合修正や仕様変更・機能改善などを行う活動 / ソフトウェア保守は、本番稼働を開始したシステムに対して、不具合の修正(是正保守)や法改正等への対応(適応保守)、機能改善(完全化保守)などを行う活動である。
問32. スクラム開発における役割・用語と内容を対応させよ。
- プロダクトオーナー ー ( )
- スプリント ー ( )
- スクラムマスター ー ( )
正解: プロダクトオーナー→開発する製品の価値を最大化する責任を持ち、要求の優先順位を決める、スプリント→1〜4週間程度の短い開発の反復期間、スクラムマスター→チームがスクラムのルールに従って円滑に進められるよう支援する / スクラムはアジャイル開発の代表的な手法の一つで、「プロダクトオーナー」が要求の優先順位を決定し、「スプリント」と呼ばれる短い開発サイクルを繰り返し、「スクラムマスター」がチームの活動を支援する。
問33. DevOpsの説明として最も適切なものはどれか。
- A. 開発(Development)チームと運用(Operations)チームが連携し、迅速かつ安定的にリリースを行う考え方・文化
- B. 開発チームのみで運用作業も全て内製化する組織体制のみを指す
- C. 運用チームが開発作業を一切行わないことを定めたルール
- D. ソフトウェアの著作権を管理する部門のみを指す
正解: A. 開発(Development)チームと運用(Operations)チームが連携し、迅速かつ安定的にリリースを行う考え方・文化 / DevOpsは、Development(開発)とOperations(運用)の連携を強化し、両チームが協力してソフトウェアの開発からリリース・運用までを迅速かつ安定的に行うことを目指す考え方・文化・手法の総称である。
問34. CI(継続的インテグレーション)の説明として最も適切なものはどれか。
- A. 開発者がソースコードを変更するたびに自動的にビルド・テストを実行し、不具合を早期に検出する手法
- B. 1年に1回だけシステム全体をビルドする手法
- C. テストを一切自動化しない開発手法
- D. 顧客との契約更新の頻度を指す用語
正解: A. 開発者がソースコードを変更するたびに自動的にビルド・テストを実行し、不具合を早期に検出する手法 / CI(Continuous Integration:継続的インテグレーション)は、開発者がソースコードの変更をリポジトリに反映するたびに、自動的にビルドとテストを実行し、不具合を早期に検出・修正する開発手法である。
問35. テスト駆動開発(TDD:Test-Driven Development)の進め方として最も適切なものはどれか。
- A. 実装コードを書く前に、まず失敗するテストコードを作成し、そのテストが通るように実装していく
- B. 実装が全て完了した後、二度とテストを行わない
- C. テストコードのみを作成し、実装コードは作成しない
- D. テストを外部の第三者機関にのみ依頼する
正解: A. 実装コードを書く前に、まず失敗するテストコードを作成し、そのテストが通るように実装していく / テスト駆動開発(TDD)は、まず期待する動作を確認する(失敗する)テストコードを先に作成し、そのテストが通るように必要最小限の実装を行い、その後リファクタリングを行うというサイクルを繰り返す開発手法である。
問36. 共通フレーム(SLCP:Software Life Cycle Process)の目的として最も適切なものはどれか。
- A. ソフトウェアの企画から開発・運用・保守・廃棄までの作業内容や用語を共通化し、関係者間の認識齟齬を防ぐ
- B. 特定の1社だけが使用できる非公開の開発手順を定める
- C. プログラミング言語の文法のみを規定する
- D. サーバーのハードウェア仕様のみを規定する
正解: A. ソフトウェアの企画から開発・運用・保守・廃棄までの作業内容や用語を共通化し、関係者間の認識齟齬を防ぐ / 共通フレーム(SLCP-JCF)は、ソフトウェアの企画・要件定義から開発・運用・保守・廃棄に至るライフサイクル全体の作業項目や用語の共通の物差しを定めたもので、発注者・開発者間の認識齟齬の防止や取引の適正化を目的とする。
問37. テストで発見されたバグ(欠陥)の管理において重要なこととして最も適切なものはどれか。
- A. 発見したバグの内容・重要度・対応状況を記録し、修正漏れがないよう追跡管理する
- B. 軽微なバグは記録せず口頭でのみ伝達する
- C. 全てのバグを無視してリリースする
- D. バグの修正担当者を記録しない
正解: A. 発見したバグの内容・重要度・対応状況を記録し、修正漏れがないよう追跡管理する / テスト工程で発見したバグ(欠陥)は、内容・重要度・発生状況・対応状況などを記録(バグ管理票等)し、修正が漏れなく完了するまで追跡管理することが品質確保のために重要である。
問38. モジュール分割の目的として最も適切なものはどれか。
- A. プログラムを機能ごとの部品(モジュール)に分割し、開発・テスト・保守をしやすくする
- B. プログラムを1つの巨大なファイルにまとめ、分割を一切しない
- C. プログラムの実行速度のみを追求し可読性を無視する
- D. モジュール同士を強く密結合させ、独立性をなくす
正解: A. プログラムを機能ごとの部品(モジュール)に分割し、開発・テスト・保守をしやすくする / モジュール分割は、プログラムを機能ごとの独立した部品(モジュール)に分割することで、並行開発のしやすさ、テストのしやすさ、変更時の影響範囲の局所化など、開発・保守を効率化する目的で行われる。
問39. モジュールの独立性を評価する尺度である「結合度」の説明として最も適切なものはどれか。
- A. モジュール間の関連性・依存度の強さを表す尺度であり、結合度が低いほど独立性が高く望ましいとされる
- B. モジュール内部の処理のまとまり具合を表す尺度である
- C. サーバーの処理速度を表す尺度である
- D. プログラムの行数を表す尺度である
正解: A. モジュール間の関連性・依存度の強さを表す尺度であり、結合度が低いほど独立性が高く望ましいとされる / 結合度は、モジュール間がどれだけ密接に関連し合っているかを表す尺度であり、一般に結合度が低い(モジュール間の依存が少ない)ほど、独立性が高く保守しやすい良い設計とされる(モジュール内部のまとまり具合を表す尺度は「強度・凝集度」と呼ばれる)。
問40. 開発したプログラムを本番環境へ展開する「リリース管理」において重要なこととして最も適切なものはどれか。
- A. リリース手順・スケジュールを計画し、問題発生時に切り戻し(ロールバック)できる体制を整えておく
- B. リリース作業は事前計画をせず現場の判断のみで進める
- C. リリース後に不具合が起きても切り戻しは一切行わない
- D. リリース内容を関係者に一切共有しない
正解: A. リリース手順・スケジュールを計画し、問題発生時に切り戻し(ロールバック)できる体制を整えておく / リリース管理では、リリース手順やスケジュールを事前に計画し、関係者と共有するとともに、リリース後に問題が発生した場合に備えて元の状態に戻す(ロールバック・切り戻し)手順もあらかじめ準備しておくことが重要である。