このページは以下の「ITパスポート シラバス6.3」学習用コンテンツです。
◆大分類:4.開発技術
◆中分類:8.システム開発技術
◆小分類 | ◆見出し | ◆学習すべき用語 |
---|---|---|
25.システム開発技術 | (1) システム開発のプロセス ① システム要件定義・ソフトウェア要件定義 ② 設計 ③ プログラミング(単体テストの実施までを含む) | 機能要件 非機能要件 共同レビュー 品質特性(機能性,効率性,使用性,信頼性など) 機能設計 詳細設計 コーディング ホワイトボックステスト デバッグ コードレビュー |
機能要件
機能要件はシステムやソフトウェアがユーザーに提供するべき具体的な機能や性能を定義するものです。ユーザーが求める操作や出力結果、ビジネスプロセスの自動化などを満たすために必要な要件を指します。
このようにシステムの基本機能や処理の流れが設計されるため、要件定義の段階で重要な役割を果たします。
機能要件に関する学習用問題
問題
機能要件として適切なものはどれですか?
- データの処理速度
- ユーザー認証機能の提供
- サーバーの可用性
%%replace6%%
正解
2 ユーザー認証機能の提供
解説
機能要件はシステムが提供すべき具体的な機能を定義するものです。
ユーザー認証機能の提供はシステムの機能に関する要求です。選択肢1と3はシステムのパフォーマンスや安定性を指し、これは非機能要件に含まれるため不正解です。
問題
機能要件の例として正しいものはどれですか?
- ユーザーがレポートを出力できる機能
- 一定時間以内に結果を表示する
- システムの障害発生頻度の抑制
%%replace6%%
正解
1 ユーザーがレポートを出力できる機能
解説
ユーザーがレポートを出力できる機能はシステムが持つべき具体的な機能です。
選択肢1は処理時間に関する非機能要件であり、選択肢3も障害に関連する非機能要件です。
問題
次のうち、機能要件に該当しないものはどれですか?
- システム内でデータの整合性が保たれる機能
- エラーメッセージをユーザーに表示する機能
- データのバックアップ処理の方法
%%replace6%%
正解
3 データのバックアップ処理の方法
解説
バックアップ処理の方法はデータの保護やシステムの復元に関する非機能要件です。
選択肢1と3は機能要件に含まれるため正しい選択肢です。
非機能要件
非機能要件はシステムの動作環境や性能、可用性、セキュリティといった機能以外の特性を定義します。
これには応答速度や耐障害性、拡張性などが含まれ、システムの安定性や使いやすさを保証する要件として重要です。
非機能要件に関する学習用問題
問題
非機能要件として正しいものはどれですか?
- ユーザー認証機能の提供
- システムのレスポンス時間の短縮
- データの集計処理機能
%%replace6%%
正解
2 システムのレスポンス時間の短縮
解説
非機能要件にはシステムの性能や品質に関する要件が含まれます。
レスポンス時間はその例であり、ユーザー認証やデータ集計機能は機能要件に含まれるため不適切です。
問題
非機能要件に含まれないものはどれですか?
- サーバーの稼働率
- ユーザーインターフェースのデザイン
- 商品検索機能
%%replace6%%
正解
3 商品検索機能
解説
商品検索機能はユーザーに提供する機能に該当し、機能要件です。
稼働率やUIのデザインはシステムの使用感や安定性に関する非機能要件です。
問題
次の中で、非機能要件の特徴として誤っているものはどれですか?
- システムの拡張性
- データベースへのアクセス権限
- 業務プロセスの自動化機能
%%replace6%%
正解
3 業務プロセスの自動化機能
解説
業務プロセスの自動化は具体的な機能の提供に関わるため機能要件です。
非機能要件は拡張性や権限設定など、システムの品質や環境に関する要件を指します。
共同レビュー
共同レビューは開発チームやステークホルダーが集まり、システムや文書の内容を確認し、問題点を指摘・改善する作業です。
レビュー対象を多角的に確認し、品質向上やリスクの早期発見を目的としています。
共同レビューに関する学習用問題
問題
共同レビューの目的として適切なものはどれですか?
- システムの稼働率向上
- 設計やコードの問題を早期に発見し改善する
- プログラムの処理速度向上
%%replace6%%
正解
2 設計やコードの問題を早期に発見し改善する
解説
共同レビューの目的は設計やコードの不具合を早期に発見し、開発品質を向上させることです。
稼働率や処理速度はシステムの性能に関わるもので、レビューの目的とは異なります。
問題
共同レビューが推奨される理由として最も適切なものはどれですか?
- チーム内での知識共有と品質向上が図れる
- 進捗状況の報告がしやすくなる
- 納期が早くなる
%%replace6%%
正解
1 チーム内での知識共有と品質向上が図れる
解説
共同レビューはチーム内での知識共有を促進し、ソフトウェアの品質向上につながる活動です。
進捗管理や納期短縮は直接的な目的ではないため不適切です。
問題
共同レビューに適さない項目はどれですか?
- 設計やコードの問題点
- ドキュメントの内容確認
- バグ修正の進捗確認
%%replace6%%
正解
3 バグ修正の進捗確認
解説
バグ修正の進捗確認は管理業務の一環であり、共同レビューの目的とは異なります。
設計やコード、ドキュメントの確認がレビュー対象として適しています。
品質特性(機能性,効率性,使用性,信頼性など)
品質特性はシステムや製品が備えるべき品質の側面を定義したものです。具体的には機能性、効率性、使用性、信頼性、保守性などが含まれます。
製品が求められる水準の機能と使い勝手を提供できるかが判断されます。
品質特性に関する学習用問題
問題
品質特性の一つとして正しいものはどれですか?
- システムの開発コスト
- システムの効率性
- テストの実施回数
%%replace6%%
正解
2 システムの効率性
解説
品質特性にはシステムの効率性が含まれます。
開発コストやテスト回数は品質特性ではなく、開発におけるリソースの項目です。
問題
信頼性の向上が求められるケースとして適切なものはどれですか?
- デザイン変更が頻繁に発生する場合
- システムの継続稼働が重要な場合
- 処理速度の速さが優先される場合
%%replace6%%
正解
2 システムの継続稼働が重要な場合
解説
信頼性はシステムの継続的な稼働や故障の少なさを示す品質特性です。
選択肢1は保守性に関連し、選択肢3は効率性の観点です。
問題
使用性に関する特徴として正しいものはどれですか?
- 操作が簡単でユーザーにとって分かりやすい
- データの処理が高速である
- システムのエラー頻度が低い
%%replace6%%
正解
1 操作が簡単でユーザーにとって分かりやすい
解説
使用性は、ユーザーがシステムを使いやすいかどうかを示す品質特性です。
高速な処理やエラー頻度は他の品質特性に関わります。
機能設計
機能設計とはシステムやソフトウェアが実際に持つべき機能を設計し、どのように実装するかを具体化することを言います。
要件定義に基づいてシステム全体の機能を設計し、操作の流れやインターフェース、データ処理方法なども含まれます。開発の基礎を築くため重要な工程です。
機能設計に関する学習用問題
問題
機能設計の段階で行うべきこととして最も適切なものはどれですか?
- システムの処理速度の決定
- ユーザーが使用する具体的な機能の詳細化
- プログラムのバグ修正
%%replace6%%
正解
2 ユーザーが使用する具体的な機能の詳細化
解説
機能設計ではユーザーが使用する機能や操作の流れを具体的に決めていきます。
処理速度は性能に関わる非機能要件、バグ修正はプログラム作成後の工程に含まれるため、適切ではありません。
問題
機能設計において重要とされるものはどれですか?
- 画面遷移やデータの流れの設計
- サーバーのハードウェア仕様
- プロジェクトの進捗管理方法
%%replace6%%
正解
1 画面遷移やデータの流れの設計
解説
機能設計では、ユーザーインターフェースやデータの流れなど、システムの機能的な設計が重要です。
ハードウェア仕様や進捗管理は他の段階や管理項目に関する内容であるため不正解です。
問題
機能設計の作業内容に含まれないものはどれですか?
- データのやり取りの方法の検討
- ユーザー操作に合わせた画面設計
- サーバーの負荷テスト実施
%%replace6%%
正解
3 サーバーの負荷テスト実施
解説
サーバーの負荷テストはシステムが適切に動作するかを確認するテスト段階で行います。
機能設計ではデータのやり取り方法や画面設計など、ユーザー機能に関連する部分を設計する作業が含まれます。
詳細設計
詳細設計は機能設計に基づいてシステムをより具体的に記述する段階です。プログラムの構造やデータベースの設計、使用するモジュールや関数の仕様を定義し、開発者が実装しやすい形に落とし込みます。
プログラミングの精度や効率性に影響するため、重要な工程です。
詳細設計に関する学習用問題
問題
詳細設計に含まれる内容として最も適切なものはどれですか?
- 各機能を実現するためのモジュール構成やデータベース設計
- システムの必要な機能のリスト
- ユーザーからのフィードバックの収集
%%replace6%%
正解
1 各機能を実現するためのモジュール構成やデータベース設計
解説
詳細設計では機能実現のためのモジュール構成やデータベース設計が行われます。
機能リストの作成は要件定義段階で、フィードバック収集は設計の内容ではありません。
問題
詳細設計で行うべきこととして正しいものはどれですか?
- 各画面のデザインイメージ作成
- 各モジュールやデータベースの具体的な構成の決定
- システム全体の要件の決定
%%replace6%%
正解
2 各モジュールやデータベースの具体的な構成の決定
解説
詳細設計の段階ではシステムの構成要素であるモジュールやデータベースについて具体的に決定します。
画面デザインや全体の要件はそれ以前の段階で決める内容です。
問題
詳細設計に含まれない作業はどれですか?
- 画面の操作手順を設計する
- プログラムのモジュール構成を決める
- デバッグを行い不具合を修正する
%%replace6%%
正解
3 デバッグを行い不具合を修正する
解説
デバッグはコーディング後に行われる作業で、詳細設計には含まれません。
詳細設計では画面やモジュール構成など、プログラムの実装を意識した具体的な内容を決定します。
コーディング
コーディングは詳細設計で定められた内容に基づいてプログラムを記述する工程です。プログラミング言語を使ってコードを書き、ソフトウェアの機能やロジックを実現します。
品質の高いコードを書くことが、後のテストや保守性の向上に寄与します。
コーディングに関する学習用問題
問題
コーディング段階で最も重視されることはどれですか?
- プログラムの動作速度の確認
- 詳細設計をもとにした正確な実装
- ユーザーインターフェースのデザイン
%%replace6%%
正解
2 詳細設計をもとにした正確な実装
解説
コーディングでは詳細設計に従って正確にプログラムを実装することが重要です。
動作速度やデザインは他の工程で考慮されるものであり、コーディング段階では正確な実装が優先されます。
問題
コーディングの目的として最も適切なものはどれですか?
- ユーザーの要件を満たすインターフェースの構築
- プログラムが正常に機能するように設計内容をコードにする
- プログラム全体のエラーを解消する
%%replace6%%
正解
2 プログラムが正常に機能するように設計内容をコードにする
解説
コーディングの主な目的は、設計内容に基づいてプログラムを実装することです。
エラー解消はテスト工程での主な目的です。ユーザーインターフェースの構築も、設計段階で決められた内容に従いコーディングされます。
問題
次のうちコーディングに該当しない作業はどれですか?
- プログラムの実行速度の確認
- プログラムの実装
- 変数や関数名の命名
%%replace6%%
正解
1 プログラムの実行速度の確認
解説
コーディングはプログラムを設計通りに実装する工程であり、実行速度の確認は主にテスト段階で行います。
命名や実装はコーディング中に行う作業です。
ホワイトボックステスト
ホワイトボックステストはプログラム内部の構造を理解した上で、論理や処理の流れに基づいてテストを行う手法です。
コードの詳細や分岐条件を検証することで、ロジックに潜む欠陥やバグを発見しやすくなります。
ホワイトボックステストに関する学習用問題
問題
ホワイトボックステストの目的として最も適切なものはどれですか?
- システム全体の動作を確認する
- ユーザーインターフェースの使いやすさを評価する
- プログラムの内部処理やロジックの誤りを発見する
%%replace6%%
正解
3 プログラムの内部処理やロジックの誤りを発見する
解説
ホワイトボックステストではプログラムの内部構造に基づきロジックの誤りを検出します。
システムの動作確認はブラックボックステスト、UIの評価は別のテスト工程で行われます。
問題
ホワイトボックステストに含まれる作業として正しいものはどれですか?
- 外部仕様に基づく機能の確認
- 各分岐やループが正しく動作するかの確認
- システムの使用感の確認
%%replace6%%
正解
2 各分岐やループが正しく動作するかの確認
解説
ホワイトボックステストではプログラム内部の分岐やループの動作を詳細に確認します。
外部仕様に基づく機能確認や使用感の確認はブラックボックステストで行われるため不正解です。
問題
ホワイトボックステストの特徴として誤っているものはどれですか?
- 外部からの動作結果のみを確認する
- プログラムの内部構造を考慮してテストする
- ロジックに関するエラーを検出しやすい
%%replace6%%
正解
1 外部からの動作結果のみを確認する
解説
ホワイトボックステストはプログラム内部の構造を詳細に確認するテストであり、外部からの動作確認はブラックボックステストに分類されます。ロジックエラーの検出に適している点も特徴です。
デバッグ
デバッグはプログラムに含まれるバグ(エラーや不具合)を見つけて修正する作業のことです。主にコーディング後に行われ、ソフトウェアが正常に動作するようにテストや確認を繰り返します。
デバッグを通じてバグを修正することで、システムの信頼性と安定性を確保する役割を担います。
デバッグに関する学習用問題
問題
デバッグの主な目的として適切なものはどれですか?
- 新しい機能を追加する
- システム全体の性能を測定する
- プログラムの不具合を発見し修正する
%%replace6%%
正解
3 プログラムの不具合を発見し修正する
解説
デバッグの主な目的はプログラムの不具合を発見して修正し、ソフトウェアが正常に動作するようにすることです。
機能追加や性能測定はデバッグの範囲外です。
問題
デバッグのプロセスで重要な作業はどれですか?
- プログラムをテストせずにコードのレビューを行う
- エラー発生の原因を特定し、適切な修正を加える
- コード全体を新しく書き直す
%%replace6%%
正解
2 エラー発生の原因を特定し、適切な修正を加える
解説
デバッグではエラーの原因を特定し、その原因に対して適切な修正を行うことが重要です。
コード全体の書き直しは時間がかかり、デバッグの範囲を超えます。レビューも有効ですがテストを行わないのは不適切です。
問題
次のうちデバッグに適さない作業はどれですか?
- コードのエラー箇所を特定する
- 不具合を修正した後にテストを行う
- 開発する機能を要件定義に基づいて再確認する
%%replace6%%
正解
3 開発する機能を要件定義に基づいて再確認する
解説
要件定義の再確認はデバッグの範囲ではなく、要件定義や設計段階の作業にあたります。
デバッグではエラーの特定や修正後の動作確認が主な作業です。
コードレビュー
コードレビューは他の開発者がコードを確認し、品質や可読性を確保するために行う工程です。エラーの早期発見や品質向上を目的に、複数の視点からコードをチェックし、コードの改善を行います。
チーム内での知識共有やスキル向上の面でも役立ちます。
コードレビューに関する学習用問題
問題
コードレビューの主な目的として最も適切なものはどれですか?
- プログラムの動作速度を向上させる
- コードの品質と可読性を高める
- プログラムのユーザーインターフェースを確認する
%%replace6%%
正解
2 コードの品質と可読性を高める
解説
コードレビューの主な目的はコードの品質や可読性を高め、エラーの早期発見につなげることです。
動作速度やユーザーインターフェースの確認は、レビューの範囲外です。
問題
コードレビューを行う理由として適切でないものはどれですか?
- 他のメンバーの意見を取り入れてコードを改善する
- コードに潜むエラーを早期に発見する
- システム全体の設計を決定する
%%replace6%%
正解
3 システム全体の設計を決定する
解説
コードレビューは書かれたコードの内容を確認するプロセスであり、設計の決定は行いません。
他のメンバーの意見を取り入れることやエラーの早期発見がコードレビューの主な目的です。
問題
コードレビューに含まれる作業として正しいものはどれですか?
- コードの可読性や適切な命名規則を確認する
- プログラムの動作速度の調整
- システムのインフラ設定を決定する
%%replace6%%
正解
1 コードの可読性や適切な命名規則を確認する
解説
コードレビューではコードの可読性や命名規則の適切さなどが確認されます。
動作速度の調整やインフラ設定は、別の工程で行われるため不適切です。