← 学習ガイド一覧STUDY GUIDE / 12

システム開発技術 要求から検証までをつなぐ

モデルの使い分け、変更に強い分割、テスト設計と品質モデルの版を理解する。

独自解説・独自図解公式重点分野

学習目標

要求、モデル、設計、テストを別々に暗記せず、「どの要求を、どの設計で満たし、何で確かめるか」で結ぶ。システム開発技術はSAの公式重点分野である。

モデルは答えたい問いで選ぶ

図答えたい問い注文システムの例
ユースケース図外部の主体が何を達成するか購入者が注文する、担当者が返金する
クラス図何がどのような関係を持つか注文と明細、属性、関連、多重度
シーケンス図誰がどの順序でやり取りするか在庫照会、引当、決済依頼
状態機械図出来事に応じて状態がどう変わるか未確定→確定→出荷済み→取消不可
アクティビティ図作業・制御がどう流れるか検査、条件分岐、並列処理

同じ対象でも図は相補的であり、1種類で全てを表す必要はない。クラス図は常にそのまま物理DB表になるわけではない。OMG UML 2.5.1仕様

凝集度と結合度

凝集度はモジュール内部の責務のまとまり、結合度はモジュール間の依存の強さを見る観点。基本方針は、関連の強い処理をまとめ、不要な依存を減らすこと。

例起こりやすい問題改善の考え方
注文計算と画面色の設定が同居無関係な変更が同じ部品に集中変更理由の異なる責務を分離
他モジュールの内部変数を書換え内部変更が外へ波及明示した操作や契約でやり取り
大きな共有グローバル領域誰が変更したか追跡しにくい所有者と更新経路を限定
必要な項目だけを引数で渡す依存を限定しやすい値の意味、制約、エラーを契約化

「呼出し回数が少ないほど低結合」「小さく分けるほど高凝集」とは限らない。責務と依存内容で判断する。

要求とテストの対応

要求とテストの対応を示す学習用Vモデル
要求とテストの対応を示す学習用Vモデル(独自作成図)

図は代表的な対応を示す独自の簡略図。工程名や粒度は開発標準で異なる。重要なのは、対応する要求・仕様からテスト条件を導き、変更時に影響先を追えること。Vモデルの図を使うこと自体は、全作業を一度だけ順番に行うという意味ではない。

解法例

受注数量の有効範囲が1〜100の整数である。境界値分析なら0、1、2、99、100、101が有力なテスト候補。正常範囲の中央だけでは下限・上限の比較演算ミスを見落としやすい。一方、数値でない入力、桁あふれ、空欄などは別の同値クラスや入力条件として考える。境界値を選んだだけで網羅完了とはしない。

品質モデルは版を混ぜない

規格製品品質モデル過去問での注意
ISO/IEC 25010:20118特性。機能適合性、性能効率性、互換性、使用性、信頼性、セキュリティ、保守性、移植性当時の8特性を現行の数で否定しない
ISO/IEC 25010:20239特性のモデルへ改訂名称・構成の変更がある。単に安全性を足しただけと扱わない

2011版は利用時品質と製品品質を扱っていたが、2023版は製品品質モデル。ISOは旧版の後継として25002、25010、25019を案内している。JISへの対応と発行年も確認し、問題が指定した規格に従う。ISO 2011版の概要、ISO 2023版の概要

間違えやすい点と確認

  • 正常系のテスト成功は例外時の安全性を保証しない。再試行、途中失敗、境界条件も検討する。
  • テストで欠陥が見つからないことは、欠陥が存在しない証明ではない。
  • 注文状態ごとの許可操作を整理する最適な図は? → 状態機械図が有効。
  • 複数サービス間の呼出し順序を整理したいときは? → シーケンス図が有効。

出典と適用上の注意

例と図は独自作成。詳細な規格適合を保証する資料ではない。SAの工程・知識の位置付けはIPA SAシラバスVer.5.2参照。