2025年7月31日木曜日

Cozyモデル駆動開発/ユースケース・モデル

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

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

前回は要求項目のモデルを考えました。

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

ユースケース・モデル

ユースケースは、システムの利用者が目的を達成するために体験する物語を記述したモデルです。

Cozyモデル駆動開発(CMDD)ではユースケース・モデルを要求モデルの中核モデルとしています。

ユースケース・モデルの記述にはUMLのユースケース図も使用しますが、モデルの本体は自然言語で書かれたユースケース記述です。ユースケース記述の集まりによって記述されるユースケース・モデルの概要を図示したものがユースケース図です。

このためCMDDではCozy Modeling Language(CML)によって記述したユースケース記述の集まりから必要に応じてユースケース図をCozyで生成するアプローチを取ります。

ユースケース記述

ユースケース記述の内容を基本情報と拡張情報に分けて考えます。

基本情報

ユースケース記述の基本情報は以下の項目で構成されます。

nametypemultdescription
ididentifier1ユースケースID
namename1ユースケース名
titlei18ntitle?タイトル
goali18ntext1プライマリ・アクターの目的
summaryi18ntext?
primary actorname1プライマリ・アクター
triggertext?トリガー

id

ユースケースを一意に識別するためのIDです。

name

ユースケースの論理名です。利用者の目的をベースにソフトウェアで識別しやすい名前をつけます。

title

ユースケースを人間向けに説明するラベルです。画面や文書上に表示されます。利用者の目的をベースにしたタイトルをつけます。多国語で定義することができます。

goal

このユースケースが達成すべき、プライマリ・アクターの目的です。多国語で定義することができます。

summary

このユースケース全体の簡潔な説明です。システムやアクターの主要な振る舞いを要約します。多国語で定義することができます。

primary actor

このユースケースを開始し、利益を得る主なアクターです。

trigger

このユースケースを開始する外的な出来事や操作です。

拡張情報

ユースケースの拡張情報はユースケースを高度に使用したい場合に用いる情報です。

nametypemultdescription
secondary actorname?セカンダリ・アクター
supporting actorname*スポーティング・アクター
preconditiontext*事前条件
postconditiontext*事後条件
prioritytoken?優先度
statustoken?状態

secondary actor

セカンダリ・アクターはこのユースケースに関与しますが、主要な操作主体ではないアクターです。

supporting actor

サポーティング・アクターはユースケースにおいて支援的な役割を果たすシステムやアクターです。

precondition

ユースケースが正しく開始されるために、事前に満たされているべき条件です。

postcondition

ユースケースが成功裡に完了した後に成立すべきシステムやアクターの状態です。

priority

このユースケースの重要度や実装上の優先順位です。

status

ユースケース記述の完成度やレビュー状況などのステータスです。

まとめ

今回はユースケース・モデルのユースケース・記述の基本情報と拡張情報の項目の洗い出しを行いました。

次回はCML(Cozy Modeling Language)での記述方法について考えます。