Pieris Books(ブックカフェ併設のセレクトショップ販売店)のシステム開発のプロジェクトを進めています。
要求モデルをCozyモデルとして定義する方法について考えています。
ユースケース・モデルのユースケース・記述の基本情報と拡張情報の項目の洗い出しを行い、CML(Cozy Modeling Language)で記述する方法について考えました。
前回はユースケース記述の基本フォーマットについて考えました。
今回からユースケース間の関係のモデルについて考えていきます。
ユースケース間の関係の候補
CMLに取り入れるユースケース間の関係の候補を表にまとめました。表中のREはRequirement Engineeringを示します。
| 関係 | マージモード | マージ点 | 機能 | 由来 |
|---|---|---|---|---|
| include | Inline | 任意Step | 共通動作の再利用 | UML include |
| extend | ConditionalInline | After指定 | 条件付き拡張 | UML extend |
| generalize | Inherit/Override | Override | シナリオ継承 | UML generalization |
| precedes | Sequence | After end | シナリオ連結 | Workflow / BPMN |
| triggers | EventDriven | After condition | イベント駆動 | Event-driven modeling |
| requires | Prepend | Before start | 事前条件統合 | RE preconditions |
| ensures | Append | After end | 事後条件統合 | RE postconditions |
| collaborates | Parallel | 同期点 | 並行・協調動作 | Workflow patterns |
| conflicts | Branch | 条件分岐 | 排他シナリオ | Goal/Feature modeling |
| supersedes | Replace | Full | 上書き置換 | Scenario evolution |
| references | ReferenceOnly | N/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 件のコメント:
コメントを投稿