Requirements Modeling について
Requirements Modelingは、ビジュアルモデルを使って要件を整理・分析するスキルです。UMLなどの図や判断表を扱い、対象者に応じたモデルの選択と簡略化についても説明します。
主な機能
- 01状態遷移のモデル化
- 02シーケンス図による相互作用の表現
- 03アクティビティ図によるワークフローの表現
- 04クラス図によるデータのモデル化
- 05判断表によるビジネスルールの表現
- 06対象者に応じたモデルの選択と簡略化
活用シーン
- 01複雑なオブジェクトのライフサイクル整理
- 02システム間の相互作用の記述
- 03判断や並行経路を含むワークフローの図式化
- 04多数のビジネスルールを含む要件の整理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ danhvb/ my-ba-skills --skill requirements-modelingインストール後、Claude Code で/requirements-modelingを入力して読み込まれたか確認します。
詳細
要件モデリングスキル
目的
視覚的なモデルを使って要件を明確化し、分析します。「百聞は一見にしかず」――特に複雑なロジックや関係性において有効です。
使用する場面
- 複雑なロジック(状態図)。
- システム間の相互作用(シーケンス図)。
- データの関係性(クラス図/ERD)。
- ユーザーの意思決定(アクティビティ図)。
主なモデリング手法(UML など)
1. ステートマシン図(状態遷移)
用途:オブジェクトに複雑なライフサイクルがある場合(例:注文ステータス)。 要素:状態(角丸長方形)、遷移(矢印)、イベント/トリガー。
例:
stateDiagram-v2
[*] --> Draft
Draft --> PendingApproval: Submit
PendingApproval --> Approved: Manager Approves
PendingApproval --> Rejected: Manager Rejects
Rejected --> Draft: Edit
Approved --> [*]
2. シーケンス図
用途:システムまたはオブジェクト間の時間経過に伴う相互作用。 要素:参加者(ライフライン)、メッセージ(矢印)。
例:
sequenceDiagram
User->>Frontend: Click Login
Frontend->>Backend: POST /login
Backend->>Database: Validate User
Database-->>Backend: User OK
Backend-->>Frontend: Token
Frontend-->>User: Dashboard
3. アクティビティ図
用途:ワークフローのロジック(フローチャートに似ていますが、並列処理に対応します)。 要素:アクティビティ、判断、フォーク/ジョイン。
4. クラス図
用途:概念的なデータモデリング(オブジェクト指向)。 要素:クラスボックス(名前、属性、操作)。
5. デシジョンテーブル
用途:条件が多い複雑なビジネスルール。 形式:条件とアクションの対応表。
| 条件:年齢 < 18 | Y | Y | N | N | | 条件:会員 | Y | N | Y | N | | アクション:割引| 50% | 20% | 10% | 0% |
ベストプラクティス
- 対象者に合わせてモデリングする:マーケティング担当VPにシーケンス図を見せないでください。ビジネスにはフローチャート、開発者にはUMLを使います。
- シンプルに保つ:複雑な図は小さなビューに分割します。
- コードで検証する:モデルが現実(または実現可能な現実)に合致していることを確認します。
- 注釈を付ける:「なぜ」を説明するメモを追加します。
ツール
- Mermaid:テキストから図を作成します(ドキュメントに最適)。
- PlantUML:標準的なテキストベースのUMLです。
- Lucidchart / Visio:視覚的なドラッグ&ドロップに対応します。
- Figma:概要レベルのフローに適しています。
コメント
Markdown 対応