ステップ2:システムの外部環境を把握する

要求モデルを書く際に、要求とその理由から仕様を導出していきますが、悩んだり、手が止まってしまうことがあります。そんな時はアジャイルモデリングのプラクティスを参考にして「複数のモデルを並行して作ろう」と、次のステップに進み、また戻ってくれば良いと思います。

顧客の要求を確実に仕様にできる要件定義マニュアルで説明される次のステップは「システムの外部環境を把握する」です。このステップでは業務モデルまたは利用シーンモデル、概念モデルを作成します。業務モデルはシステムを用いた一連の業務の流れを業務フローを用いて作成します。コンテキストモデルに登場するアクタをレーンに配置して、業務の流れを記述します。利用シーンモデルはツールのように特定の作業を支援する場合に、アクタがシステムを利用するシーンとその結果をモデルとして記述します。概念モデルは、業務が対象とする問題領域に登場する概念をクラス図で表現します。

概念モデルの作成について

概念モデルの作成については、ユースケース駆動開発実践ガイド (OOP Foundations)が参考になります。概念モデルはこのシステム開発における用語集となるものであり、この後のユースケース記述で特に利用します。概念モデルはクラス図で表しますが、現時点では属性や操作を考えることなく、クラス名だけで表現します。クラスとその関係を明確にすることでシステムが対象としている問題領域の世界を表現します。

ユースケース駆動開発実践ガイド (OOP Foundations)では概念モデルを作成する際に重要となるポイントが説明されています。

  • 要求は変化するが、現実は大きくは変化しないため、現実の世界に注目してオブジェクトを表現する
    • 最初からソフトウェアの設計を意識して抽象化し過ぎない
  • 複雑な表現を使わない
    • 関連は線で表現するが、方向や多重度は考えない
    • 構造化する場合は汎化と集約のみを使う