2025年11月30日日曜日

Cozyモデル駆動開発/ユースケース・モデル間の関係

Pieris Books(ブックカフェ併設のセレクトショップ販売店)のシステム開発のプロジェクトを進めています。

要求モデルをCozyモデルとして定義する方法について考えています。

ユースケース・モデルのユースケース・記述の基本情報と拡張情報の項目の洗い出しを行い、CML(Cozy Modeling Language)で記述する方法について考えました。

前回はユースケース記述の基本フォーマットについて考えました。

今回からユースケース間の関係のモデルについて考えていきます。

ユースケース間の関係の候補

CMLに取り入れるユースケース間の関係の候補を表にまとめました。表中のREはRequirement Engineeringを示します。

関係マージモードマージ点機能由来
includeInline任意Step共通動作の再利用UML include
extendConditionalInlineAfter指定条件付き拡張UML extend
generalizeInherit/OverrideOverrideシナリオ継承UML generalization
precedesSequenceAfter endシナリオ連結Workflow / BPMN
triggersEventDrivenAfter conditionイベント駆動Event-driven modeling
requiresPrependBefore start事前条件統合RE preconditions
ensuresAppendAfter end事後条件統合RE postconditions
collaboratesParallel同期点並行・協調動作Workflow patterns
conflictsBranch条件分岐排他シナリオGoal/Feature modeling
supersedesReplaceFull上書き置換Scenario evolution
referencesReferenceOnlyN/Aドキュメント参照Traceability

伝統的な手続き型の処理に加えて、イベント駆動による処理についてもモデル化できることを目標にしています。

ユースケース関係の由来

候補としてまとめたユースケース間の関係の、意味上のマージ方式・シナリオ統合のふるまい・歴史的な由来に基づき関係を分類します。

UML系統

  • include
  • extend
  • generalize

UMLユースケースの主要関係に由来します。SimpleModelingではより厳密な意味統合として再解釈する予定です。

Workflow / BPMN 系統

  • precedes(順次)
  • collaborates(並行・同期)

ワークフローパターンおよびBPMNゲートウェイの意味モデルに対応します。

Event-driven 系統

  • triggers

外部イベントや条件成立によってシナリオが起動する関係を示します。

Requirements Engineering 系統

  • requires(事前条件)
  • ensures(事後条件)

要求工学の前後条件モデルを、流れとして統合できるよう拡張します。ユースケース記述の項目とユースケース図の2つの観点で検討を進める予定です。

Goal / Feature モデリング系統

  • conflicts(排他・競合)

KAOS(要求工学の代表的なゴール指向モデリング手法)などのゴール競合、Feature ModelのXOR制約への対応について検討します。

シナリオ進化系統

  • supersedes(置換)

シナリオの置換は要求工学やUPでも出てくる概念ですが、ユースケース・モデルにおけるユースケース関係として定義されていません。CMLでのサポートの有無を含めて検討予定です。

トレーサビリティ系統

  • references

モデルの管理上、使用する可能性のある関係です。CMLでのサポートの有無を含めて検討予定です。

まとめ

今回はユースケース間の関係について整理しました。

次回から、それぞれの関係についてユースケース記述やシナリオでの記述方式について検討します。

0 件のコメント:

コメントを投稿