【問題】構成管理 A と B、二つのバージョンを並行開発している。システムを構成するソフトの一部を最新版に更新しようとしたところ、A ではうまくいったが、B ではうまくいかなかった。 調べたところ、当初「親プログラム」に含めて実装していた内部手続き(サブルーチン)を、途中から共有ライブラリにしたことに起因して発生したことが分かった。 なぜ、うまくいくケースとうまくいかないケースが生じたか、考えられる管理上の要因を異なる観点から具体的に二つ、それぞれ 25 字程度で述べよ。 解答 【解答例】 ・構成管理システムから最新版を取得していない。 ・共有ライブラリの変更が構成管理に反映されていない。 ・関連チーム間で共有ライブラリを変更管理していない。 ・共有ライブラリへの変更を理解していない人がいる。 ・変更管理委員会で構成変更による影響分析をしていない。 【解説】 構成管理と変更管理の必要性や本質を把握できているかどうかを問う問題である。構成管理とは、ライフサイクルを通じてソフトウェア作業成果物(ドキュメントやソースコードなど)、および、それ以外のシステムを構成する要素(OS やフレームワーク、データベース、開発環境、場合によってはハードウェアを含むことがある)を識別し、その組み合わせの関係と変化を管理し、特定の時点における追跡を可能とすることである。 構成管理を行うことにより、目的に対して正しいソフトウェア成果物の構成を得ることができるため、取り出しミスや認識の不一致などによる損失や手戻りを防止できる。また、任意の時点の版を再現できるため、障害発生時の現象を再現し、原因を調査しやすくなるなど、大きなメリットがある。 変更管理は、構成管理下の構成要素を変更するためのアクティビティであり、提案された変更要求を吟味し、確実に構成管理システムへ反映することを目的とする。変更要求の吟味に当たっては、影響分析が重要であり、変更要求による既存資産への影響、変更によるリスクや副作用、現在進行中のプロジェクトへの影響などを分析する。 本問題では、考えられる管理上の要因を異なる観点から二つ述べることが求められているので、構成管理上の観点と変更管理上の観点のそれぞれから、本問題を発生させた要因を考察すると、正解に到達しやすいだろう。 「構成管理」、「変更管理」などのキーワードを盛り込んで解答することがポイントである。 一方、教育不足やコミュニケーション不足など、本問題以外にも通用する汎用的な問題点の解答は、出題の意図に対する的確な解答とは言えないため、満点を得られないので注意が必要である。また、うまくいかない原因の都合の良い推定(例:共有ライブラリを設定してはいけなかったなど)は、得点を得られない。 構成管理は、現在のソフトウェア開発では欠かせないものであるため、本問題は高正答率を期待していたが、実際は低かった。構成管理や変更管理について、そのための管理用ツールの活用も含め、現場での実体験を踏まえて正しく理解している方が少ないのではないかと推察する。構成管理および変更管理の目的と効果を再確認し、単に決められたフォルダへ最新版のソースコードを格納するだけのルールで実施できることとの本質的な違いを理解していただきたい。そして、本問題で述べたような事故を未然に防止していただきたい。 |
☞■中級ソフトウェア品質技術者資格試験(JCSQE)に合格しました。
【問題】ソフトウェアライフサイクルプロセス ソフトウェアやシステムのライフサイクルプロセスの標準的な枠組みを提供するISO/IEC 12207 や ISO/IEC 15288 などの国際規格に準拠して、プロセスを定めてプロジェクトの管理を行うことの効用と弊害をそれぞれ 25 字程度で述べよ。ただし、弊害についてはその原因も含めて述べよ。 解答 【解答例】 効用の解答例 ・海外発注の際、工程や作業内容の認識の齟齬を防止できる。 ・国際標準が共通の基盤となり、当事者間で確実に意思疎通できる。 ・国際標準に準拠しているので、開発支援ツールの選択肢が広がる。 ・支援・組織・監査など含め、全体プロセスを体系的に整備できる。 ・品質保証の活動や方法などを、当事者間で確実に合意できる。 弊害の解答例 ・規格に縛られてしまい、プロセスのテーラリングがおろそかになる。 ・規格に縛られてしまい、自部門の製品の特徴を考慮しなくなる。 ・標準に安住してしまい、プロセス改善が進まなくなる恐れがある。 【解説】 本問題は、ソフトウェアやシステムのライフサイクルプロセスを、国際標準に準拠して標準化することの効用と弊害を理解しているかどうかを問う問題である。ソフトウェアやシステムは、その構想から廃棄までの活動が多岐にわたる。このため、プロジェク トに関わる当事者すべてが、ライフサイクルプロセスを共通に理解してプロジェクトを進めることが重要である。 特に、国際的な協業や受発注を伴う場合、当事者間のライフサイクルプロセスが異なることから生じるコストの増大や品質面の混乱を未然に防ぐことが重要である。 国際的に標準化された規格に準拠することによって、国境をまたいだ当事者間で開発手順、工程、作業内容、用語などの整備と共通理解を促進することが容易になり、プロジェクトの円滑な運営が期待できる。また、国際規格に準拠したプロセス管理やプロジェクト管理を支援するツールも整備されているため、採用するツールの選択肢も増えてくる。 一方、国際規格に過度に依存することで生じる弊害にも目を向けておく必要がある。 個々のソフトウェアやシステムそのもの、そして、それらに関係する開発組織は多様であり、常に進化していくものである。 したがって、当事者の製品や組織運営の目的に応じて、国際規格に定められている包括的なライフサイクルプロセスを、当事者向けにテーラリングすることが必要である。 規格に縛られてしまっては本末転倒である。ライフサイクルプロセスを標準化することによって、プロジェクトの混乱を防ぎ、一定の品質を確保する効果が期待できるが、定めた標準に安住することなく、変化する外部環境に合わない部分は、常に改善していくことが肝要である。 |
☞■中級ソフトウェア品質技術者資格試験(JCSQE)に合格しました。
【問題】保守のマネジメント、保守の技法 あるソフトウェア製品の保守作業担当者が、当該製品を引き渡した後で、引き渡し先における環境変化に当該製品を対応させるために、ソースコードを部分的に変更した。 その結果、想定外の箇所で不具合が発生した。この変更作業の実施にあたり、本来は変更前及び変更後に実施すべきであったと考えられる技術的作業を目的とともに、それぞれ 25 字程度で述べよ。 解答 【解答例】 次のような変更前と変更後の技術的作業を目的とともに、それぞれ記述する。 変更前の例 ・予想外の影響を生じる可能性をレビューにより発見する。 ・想定変更箇所のコードクローンを分析する。 変更後の例 ・予想外の影響の有無を回帰テストにより検証する。 ・コードレビューにより予想外の影響がないことを検証する。【解説】 本問題は、適応保守の概念や典型的な作業・技法を理解し、その使い方や成功に向けた留意点を理解できているかどうかを問う問題である。 適応保守とは、引渡し後、変化した又は変化している環境において、ソフトウェア製品を使用できるように保ち続けるために実施するソフトウェア製品の修正である。 これは実際にもよく見かける場面であろう。 一番のポイントは、予想外のことが起こりうることを前提に、変更した結果の影響を、変更前及び変更後で確実に確認することである。 そのために保守の技法としてよく取り上げられているプログラム理解やコードクローン分析だけでなく、新規開発にも通常用いられるレビューや回帰テスト(回帰試験、リグレッションテスト)などの技法も活用すべきである。なお回帰試験やリグレッションテストなど、広く一般に用いられている技法名称を使用することも、組織の枠を越えた関係者とのコミュニケーションを円滑にする上で大切である点も留意していただきたい。 |
☞■中級ソフトウェア品質技術者資格試験(JCSQE)に合格しました。
出題者が解答に何を求めているか読み取る |
中級ソフトウェア品質技術者試験ってどんな試験ですか? |
試験概要は、上の試験案内にあるように、試験時間は120分、出題数は42問です。 私は2回受験しましたが、時間が足りないとは思いませんでした。 当日の試験の時間配分は、「試験当日の過ごし方」で私の案を書きましたので、ご覧になって参考にしてください。 |
|
どのような勉強をすればよいのですか? |
出題者の”出題(問題)の意図”を的確に把握する 問題42問の内、選択式は25問、記述式は17問出題されます。 記述式17問の内、「穴埋め問題」が10問、「説明問題」が5問、そして「解説問題」が2問出題されます。 ・「説明問題」:25字程度で2項目の解答(もしくは50字程度で1項目の解答)を要する問題 ・「解説問題」:50字程度で3項目の解答を要する問題←これが一番の鬼門 ・選択式および記述式の「穴埋め問題」は、品質用語・概念が正しく理解できているかが問われます。 ・記述式の「説明問題」は、品質用語・概念についての重要な点(留意点や注意事項など)まで踏み込んで理解できているかが問われます。 ・記述式の「解説問題」は、品質知識に関して現場において正しく活用できるかが問われている問題が多いように思います。特に、品質マネジメント能力が求められていると考えます。 よって、「説明問題」・「解説問題」では、『出題者の”出題(問題)の意図(=解答に求めているポイント)”を的確に把握する』必要があります。 これができるかできないかが合否の境となると考えます。(詳細は後述) |
|
どのような参考書・問題集がありますか? |
私が購入した参考書・問題集は次の3つ |
①ソフトウェア品質知識体系ガイド 【内容】 「ソフトウェア品質に関する暗黙知の形式知化」、「ソフトウェア品質に関する最新テーマの整理、体系化」された日本発のソフトウェア品質知識体系に関する書籍です。 構成は、「ソフトウェア品質知識ガイドの構成概要」をご覧ください。 【勉強方法】 ソフトウェア品質に関する、用語・概念を正しく理解するよう日々勉強してください。 記載されている内容のポイントについては、「セカンドキャリア」に記載していますので参考にしてください。 本書は必需品であり、バイブルでもあるので、少しお高いですが新品を購入して自分色に染めることをお勧めします。 |
②ソフトウェア品質保証入門 【内容】 著者の保田さん、奈良さんは、長年、(株)日立製作所で品質保証活動に従事された方です。 ソフトウェア開発の現場で長年活用され、生き残ってきた仕掛けと技術が豊富に解説されています。 現場での品質知識の活用がイメージし易い一冊ですので、現場経験の少ない方にはぜひお勧めです。 【勉強方法】 用語・概念を正しく理解するとともに、品質知識の活用に当たっての留意点や注意点などについても理解するよう勉強してください。 |
③初級ソフトウェア品質技術者資格試験(JCSQE)問題と解説 【内容】 初級ソフトウェア品質技術者資格試験(JCSQE)の問題と解説です。 中級ソフトウェア品質技術者資格の基礎知識を確認する一冊です。 【勉強方法】 改めて基礎知識を確認するタイミングで読んでください。 ソフトウェア品質知識体系ガイドの日々の勉強に疲れたタイミングで行うことをお勧めします。 |
|
過去問などはないのですか? |
正答率が低かった過去問 JCSQEソフトウェア品質技術者資格認定サイトに、「過去の出題内容」が一部(特に正答率が低かった問題など)掲載されています。 特に、「説明問題」「解説問題」に重点を置いて確認してください。 |
|
どうすれば合格できますか? |
私はこの勉強方法で合格しました 【勉強方法】 ・「穴埋め問題」・・・出題形式を理解するようにしてください。 ・「説明問題」・・・【解説】を熟読し、”何が重要”であるかを理解してください。 ・「解説問題」・・・「問題の狙い」・「解答のポイント」熟読し、”何を問う問題”であり、”解答に何を求めているか”を理解できるよう訓練してください。 |
|
次は、私が合格した試験で実践した、「試験当日の過ごし方」をご紹介します。 👉【中級JCSQE】<試験当日>私はこの過ごし方で合格しました 中級JCSQE資格認定証をまだご覧になられていない方は、こちらをご覧ください。 👉【中級JCSQE】<試験合格>私は中級JCSQE資格試験に合格しました Web食いオンラインスクール公式サイトはこちら |
人生100年時代。40代・50代は「人生の中間点」。今を乗り越え新たなステージへあなたが目指すセカンドキャリア・セカンドライフを実現するために今やるべき事