基本情報技術者 開発技術 一問一答 第1問〜第5問

重要度:A 論点:システム開発技術

問1:テストを実施することで欠陥の存在を示すことはできるが、テストによって欠陥が全く無いことを証明することはできない。

解答を見る

○ テストで不具合が見つかれば欠陥の存在は確認できるが、不具合が見つからなかったことだけで欠陥が全くないとは証明できない。ごく単純な場合を除き、実用的なシステムで全ての入力、状態及び実行経路を網羅することは困難であるため、リスクに応じて効果的なテストを設計することが重要である。


重要度:B 論点:システム開発技術

問2:静的解析では、プログラムを実行せずにソースコードなどを解析し、コーディング規約違反、到達不能コード、潜在的な欠陥などを検出する。

解答を見る

○ 静的解析は、プログラムを実際に動作させず、ソースコードや中間表現などを解析する手法である。コーディング規約違反、未使用変数、到達不能コード、型の不整合、潜在的なセキュリティ上の問題などの検出に利用される。ただし、実行時の状態や外部環境に依存する問題は、動的テストも組み合わせて確認する必要がある。


重要度:B 論点:システム開発技術

問3:段階的に開発を進める代表的なプロセスでは、一般に、単体テスト、結合テスト、システムテスト、受入れテストのように、検証対象の範囲を広げながらテストを行う。

解答を見る

○ 段階的な開発では、小さな単位で欠陥を取り除いてから、結合したソフトウェア、システム全体、取得者による受入れへと検証範囲を広げる代表的な流れがある。V字モデルでは、各テストを対応する設計工程の成果物の検証として整理する。ただし、反復型・アジャイル開発などでは、複数のテスト活動を反復又は並行して行う場合がある。


重要度:B 論点:ソフトウェア開発管理技術

問4:ウォーターフォールモデルでは、要件の変更に応じて工程を柔軟に行き来しながら開発を進めることが前提とされている。

解答を見る

× ウォーターフォールモデルは、各工程の成果物を確認しながら工程を段階的に進めるモデルであり、工程を自由に行き来することを基本とはしない。変更が必要になった場合は、影響を評価し、正式な変更管理の手続によって対応する。要求の変更が多い場合は、反復・漸進的な手法やアジャイル開発が選択肢となる。


重要度:B 論点:ソフトウェア開発管理技術

問5:アジャイル開発では、短い反復で動作するソフトウェアを継続的に確認するが、品質を確保するためのテストやレビューが省略されるわけではない。

解答を見る

○ アジャイル開発では、反復の中で実装、テスト、レビュー、フィードバックを繰り返す。自動テスト、継続的インテグレーション、コードレビューなどを活用して頻繁に品質を確認するのであり、速さのために品質確認を省略する手法ではない。各反復の成果を必ず本番環境へリリースすることを意味するわけではない。


コメント

タイトルとURLをコピーしました