Pieris Books(ブックカフェ併設のセレクトショップ販売店)のシステム開発のプロジェクトを進めています。
要求モデルをCozyモデルとして定義する方法について考えています。
前回は要求項目のモデルを考えました。
今回からユースケース・モデルについて考えていきます。
ユースケース・モデル
ユースケースは、システムの利用者が目的を達成するために体験する物語を記述したモデルです。
Cozyモデル駆動開発(CMDD)ではユースケース・モデルを要求モデルの中核モデルとしています。
ユースケース・モデルの記述にはUMLのユースケース図も使用しますが、モデルの本体は自然言語で書かれたユースケース記述です。ユースケース記述の集まりによって記述されるユースケース・モデルの概要を図示したものがユースケース図です。
このためCMDDではCozy Modeling Language(CML)によって記述したユースケース記述の集まりから必要に応じてユースケース図をCozyで生成するアプローチを取ります。
ユースケース記述
ユースケース記述の内容を基本情報と拡張情報に分けて考えます。
基本情報
ユースケース記述の基本情報は以下の項目で構成されます。
name | type | mult | description |
---|---|---|---|
id | identifier | 1 | ユースケースID |
name | name | 1 | ユースケース名 |
title | i18ntitle | ? | タイトル |
goal | i18ntext | 1 | プライマリ・アクターの目的 |
summary | i18ntext | ? | |
primary actor | name | 1 | プライマリ・アクター |
trigger | text | ? | トリガー |
id
ユースケースを一意に識別するためのIDです。
name
ユースケースの論理名です。利用者の目的をベースにソフトウェアで識別しやすい名前をつけます。
title
ユースケースを人間向けに説明するラベルです。画面や文書上に表示されます。利用者の目的をベースにしたタイトルをつけます。多国語で定義することができます。
goal
このユースケースが達成すべき、プライマリ・アクターの目的です。多国語で定義することができます。
summary
このユースケース全体の簡潔な説明です。システムやアクターの主要な振る舞いを要約します。多国語で定義することができます。
primary actor
このユースケースを開始し、利益を得る主なアクターです。
trigger
このユースケースを開始する外的な出来事や操作です。
拡張情報
ユースケースの拡張情報はユースケースを高度に使用したい場合に用いる情報です。
name | type | mult | description |
---|---|---|---|
secondary actor | name | ? | セカンダリ・アクター |
supporting actor | name | * | スポーティング・アクター |
precondition | text | * | 事前条件 |
postcondition | text | * | 事後条件 |
priority | token | ? | 優先度 |
status | token | ? | 状態 |
secondary actor
セカンダリ・アクターはこのユースケースに関与しますが、主要な操作主体ではないアクターです。
supporting actor
サポーティング・アクターはユースケースにおいて支援的な役割を果たすシステムやアクターです。
precondition
ユースケースが正しく開始されるために、事前に満たされているべき条件です。
postcondition
ユースケースが成功裡に完了した後に成立すべきシステムやアクターの状態です。
priority
このユースケースの重要度や実装上の優先順位です。
status
ユースケース記述の完成度やレビュー状況などのステータスです。
まとめ
今回はユースケース・モデルのユースケース・記述の基本情報と拡張情報の項目の洗い出しを行いました。
次回はCML(Cozy Modeling Language)での記述方法について考えます。