rdra-agent
v0.6.2
Published
RDRA (Relationship Driven Requirement Analysis) 要件定義支援ツール
Maintainers
Readme
RDRAAgent - 使い方ガイド
概要
RDRAAgentは、RDRA(Relationship Driven Requirement Analysis)手法を用いてClaude Codeを使って要件定義を段階的に行うシステムです。初期要望から4つのフェーズを通じて体系的に要件を定義し、仕様のたたき台まで生成します。 初期要望から要件を定義し、妥当性検証環境で要件を検証します。これらはメニュー(node menu)を使ってRDRA定義や検証、仕様化、ツール利用を行います。
インストール方法
方法1: npmでインストール(推奨・最も簡単)
# グローバルインストール
npm install -g rdra-agent
# または yarn
yarn global add rdra-agent
# プロジェクトローカルにインストール
npm install rdra-agent
# または
yarn add rdra-agent方法2: GitHubから直接インストール
npm install github:shouya31/RDRAAgent_v0.6
# または
yarn add github:shouya31/RDRAAgent_v0.6方法3: リポジトリをクローンして直接使用(開発・カスタマイズ向け)
開発やカスタマイズを行う場合は、リポジトリを直接クローンします:
git clone https://github.com/shouya31/RDRAAgent_v0.6.git
cd RDRAAgent_v0.6
node menu.jsこの方法の特徴:
- Node.jsのインストールが必要です
npm installは不要(外部依存関係がないため)- ダウンロードかクローンするだけですぐに使用可能
「初期要望.txt」と「妥当性検証環境.csv」の二つを入力する
初期要望.txt:RDRA定義のための初期の要望のリスト
- システム名
- 要求や課題
- 業務概要や業務の背景
- アクターや外部システムを限定したい場合は記述
- ビジネスポリシーなど分かる範囲で記述
妥当性検証環境.csv
- 要件の妥当性を検証するために記述する
- システムを導入する環境の制約を記述
- 拠点毎のアクター別、人数と制約で記述する
Samplesの活用
- 入力内容はSamples内のファイルを参照する
- 最初は思いつくものを記入し、実行しながら何度も壁打ちする
プロジェクトの構築ポリシー
- 様々な環境、モデルに対応できるように他のライブラリーへの依存を無くす
- 外部ライブラリの依存を無くすために、テキストベースのファイルで構成する
- 現状のプロジェクトは「Claude Code」を使用します。
- menu.jsの「getLLMTerminalCommand」を見直すことで他のモデルに変更することが出来ます。
対応環境
- OS: Windows 11 / Mac
- Node.js: バージョン18以上推奨
- Model:Claude code(default)
クイックスタート(npm/yarnインストール後)
新しい方法:任意のディレクトリでRDRA定義を実行
# プロジェクトディレクトリを指定して実行
rdra ./my-rdra-project
# 初回実行時、初期要望.txtのテンプレートが自動作成されます
# テンプレートを編集後、再度実行
rdra ./my-rdra-project複数プロジェクトの管理
# プロジェクトA
rdra ./rdra-projects/system-a
# プロジェクトB
rdra ./rdra-projects/system-b
# プロジェクトC
rdra ./rdra-projects/system-cメリット:
- 複数のRDRAプロジェクトを別々のディレクトリで管理できる
- プロジェクトごとに初期要望や結果を分離できる
- 既存プロジェクトに影響を与えない
ディレクトリ構造
your-project/
├── rdra-projects/
│ ├── system-a/
│ │ ├── 初期要望.txt # プロジェクトA の要望
│ │ ├── 0_RDRAZeroOne/ # 中間結果
│ │ └── 1_RDRA/ # 最終RDRA定義
│ ├── system-b/
│ │ ├── 初期要望.txt # プロジェクトB の要望
│ │ └── 1_RDRA/
│ └── system-c/
│ ├── 初期要望.txt
│ └── 1_RDRA/
└── (あなたのプロジェクトファイル)従来の方法:メニュー起動
クローンまたはダウンロードした場合:
node menu.js主な特徴
- 段階的な要件定義: 4つのフェーズで段階的にRDRA定義を作成
- LLM連携: Claude(大規模言語モデル)を活用して自動生成
- 可視化機能: RDRAGraphによる要件の関連性の可視化
- 画面プロトタイプ: ブラウザで画面定義を確認
- 妥当性検証: 要件と仕様の整合性を自動検証
メニュー構成
■ZeroOne(要件定義)
1. フェーズ単位の要件定義
- RDRA定義をフェーズ毎に段階的に実行
- Phase1→Phase2→Phase3→Phase4 の順で対話的に進める
- 各フェーズで生成されるファイル:
- Phase1: アクター、外部システム、ビジネスポリシー、業務、情報、状態
- Phase2: 業務詳細化、条件、バリエーション、情報・状態の構造化
- Phase3: コンテキスト化、BUC定義、関連付け
- Phase4: 関係モデル変換、最終形式の定義
2. 一括要件定義
- RDRA定義を一括で実行
- 全フェーズを自動で連続実行
■RDRA(RDRA定義の可視化・管理)
11. RDRAGraphを表示
- 関連データを生成し、RDRAGraphで可視化
- 処理内容:
makeGraphData.jsで関連データ生成- データをクリップボードにコピー
- ブラウザで https://vsa.co.jp/rdratool/graph/v0.94/index.html?clipboard を開く
- 自動的にクリップボードのデータを読込み、グラフ表示
12. Spreadsheetに展開
- RDRA定義をクリップボードにコピー
- Google SpreadsheetのZeroOneシートに貼り付けて活用
13. RDRA定義の説明を作成
- RDRA定義の各要素について説明文書を生成
14. RDRA定義の妥当性を検証
妥当性検証環境.csvを使用してRDRA定義を検証- 要件の整合性や漏れをチェック
■RDRASpec(仕様作成)
21. 仕様の作成
- 論理データ構造、画面定義、ビジネスルールを生成
- 出力ファイル:
2_RDRASpec/論理データ.tsv- 論理データモデル(TSV形式)2_RDRASpec/論理データモデル.md- 論理データモデル(Markdown形式)2_RDRASpec/ui.json- 画面定義2_RDRASpec/business_rule.md- ビジネスルール
22. 仕様の妥当性を検証
- 論理データと画面定義の整合性を検証
23. 画面編集を表示する
- UI仕様をブラウザで表示・編集
ui_server.jsでHTTPサーバーを起動- ローカルホスト上で画面定義をビジュアル確認
24. アクター別画面を表示する
- アクター(利用者役割)別に画面を整理して表示
- 処理内容:
convertUI2ActorUI.jsでui.jsonをアクター別に変換actorUI_server.jsでサーバー起動(ポート3001)- ブラウザで http://localhost:3001/ を開く
■全般
0. メニュー終了
- プログラムを終了
- 起動中のサーバーも自動停止
99. 生成した成果物の削除
- 以下のフォルダーの成果物を削除:
0_RDRAZeroOne/1_RDRA/2_RDRASpec/
ワークフロー
基本的な作業の流れ
初期準備
初期要望.txtにシステム要求を記述Samples/フォルダーのサンプルを参考にする
要件定義(ZeroOne)
- メニュー「1」または「2」で要件定義を実行
- 4つのフェーズで段階的に要件を洗い出し
RDRA可視化
- メニュー「11」でRDRAGraphを表示
- 要件の関連性を図で確認
RDRA検証
- メニュー「14」で妥当性を検証
- 必要に応じて要件を修正
仕様作成
- メニュー「21」で仕様を生成
- データモデル、画面、ビジネスルールを作成
仕様確認
- メニュー「23」で画面仕様を確認
- メニュー「24」でアクター別画面を確認
仕様検証
- メニュー「22」で仕様の妥当性を検証
使用例
例1: 図書館システムの要件定義
# 1. サンプルの初期要望をコピー
copy Samples\図書館システム\初期要望.txt 初期要望.txt
# 2. メニューシステムを起動
node menu.js
# 3. メニューで「2」を選択(一括要件定義)
# → 4つのPhaseが順次実行される
# 4. メニューで「11」を選択(RDRAGraph表示)
# → ブラウザでRDRAGraphが表示される
# 5. メニューで「21」を選択(仕様作成)
# → 論理データモデル、画面定義、ビジネスルールが生成される
# 6. メニューで「23」を選択(画面確認)
# → ブラウザで画面プロトタイプが表示される例2: 段階的な要件定義
# 1. 初期要望を記述
notepad 初期要望.txt
# 2. メニューシステムを起動
node menu.js
# 3. メニューで「1」を選択(フェーズ単位の要件定義)
# → Phase1が実行される
# 4. Phase1の結果を確認
# → 0_RDRAZeroOne/phase1/ フォルダー内のTSVファイルを確認
# 5. 再度メニューで「1」を選択
# → Phase2が実行される
# (Phase3、Phase4も同様に実行)
# 6. 全Phase完了後、メニューで「14」を選択(妥当性検証)
# → 妥当性検証環境.csvを使用して検証例3: 画面定義のアクター別表示
# 1. 仕様作成後(メニュー21実行済み)
# 2. メニューで「24」を選択(アクター別画面表示)
# → ui.jsonがアクター別に変換される
# → ブラウザでアクター別画面が表示される(ポート3001)
# 3. ブラウザでアクターを切り替えて画面を確認ファイル構成
入力ファイル
初期要望.txt- システムの初期要求妥当性検証環境.csv- 検証用データ(オプション)
サンプルフォルダー
Samples/- 参考となるサンプルプロジェクト介護事業者向けシステム/- 介護事業者向けシステムのサンプル図書館システム/- 図書館システムのサンプル貸し会議室SaaS/- 貸し会議室SaaSのサンプル- 各サンプルには
初期要望.txtが含まれています
出力フォルダー
0_RDRAZeroOne/phase1~4/- フェーズ別のTSVファイル1_RDRA/- RDRA定義ファイル(統合版、TSV/JSON形式)2_RDRASpec/- 仕様ファイル(JSON/TSV/Markdown形式)
ヘルパーツール
RDRA_Knowledge/helper_tools/- 各種支援スクリプトmakeGraphData.js- グラフデータ生成makeZeroOneData.js- クリップボードデータ生成convertUI2ActorUI.js- アクター別UI変換deleteFiles.js- 成果物削除web_tool/ui_server.js- UI表示サーバーweb_tool/actorUI_server.js- アクター別UI表示サーバー
ナレッジベース
RDRA_Knowledge/0_RDRAZeroOne/- ZeroOneフェーズの説明RDRAZeroOne.md- ZeroOneの概念説明WhatIsZeroOne.md- ZeroOneとは何か
RDRA_Knowledge/1_RDRA/- RDRA定義の説明RDRA.md- RDRAの基本概念HowToUseRDRA.md- RDRAの使い方RDRAGraph.md- RDRAGraphの説明RDRASheet.md- RDRASheetの説明rdraStory.md- RDRAストーリー作成方法rdraValidation.md- RDRA妥当性検証方法
RDRA_Knowledge/2_RDRASpec/- 仕様作成の説明21_data.md- 論理データモデル作成方法22_ui.md- UI定義作成方法23_business_rule.md- ビジネスルール作成方法specValidation.md- 仕様妥当性検証方法
RDRA_Knowledge/utilityPrompt/- ユーティリティプロンプト集
設定ファイル
.claude/settings.local.json- Cursor/Claudeのアクセス権限設定
ファイルフォーマット
TSVファイル規則
- タブ区切り文字:
⇒をタブに変換して出力 - UTF-8エンコーディング
- 1行目:ヘッダー行(カラム名)
主要なTSVファイル
Phase1で生成されるファイル
アクター.tsv- システム利用者の役割外部システム.tsv- 連携する外部システムビジネスポリシー.tsv- ビジネスポリシー業務.tsv- 業務フロー情報.tsv- システムが扱う情報状態.tsv- 状態遷移モデル
Phase2で生成されるファイル
業務.tsv- 業務詳細化条件.tsv- ビジネスルールバリエーション.tsv- 業務パラメータ情報.tsv- 情報の構造化状態.tsv- 状態の詳細化
Phase3で生成されるファイル
アクター.tsv- アクターのコンテキスト化外部システム.tsv- 外部システムのコンテキスト化条件.tsv- 条件の関連付けバリエーション.tsv- バリエーションの関連付け情報.tsv- 情報の関連付け状態.tsv- 状態の関連付けBUC.tsv- ビジネスユースケース定義
Phase4で生成されるファイル
BUC.tsv- BUCの関係モデル化条件.tsv- 条件の最終形式情報.tsv- 情報の最終形式状態.tsv- 状態の最終形式
1_RDRAフォルダーで生成されるファイル
システム概要.json- システム全体の概要BUC.tsv- ビジネスユースケース(統合版)アクター.tsv- アクター(統合版)外部システム.tsv- 外部システム(統合版)情報.tsv- 情報(統合版)状態.tsv- 状態(統合版)条件.tsv- 条件(統合版)バリエーション.tsv- バリエーション(統合版)関連データ.txt- RDRAGraph用の関連データ
LLM連携(Windows環境)
メニューの一部機能(1, 2, 13, 14, 21, 22)はLLM(大規模言語モデル)を使用します:
- 自動的に新しいターミナルウィンドウが開きます
- 実行される指示ファイル:
- メニュー1, 2:
RDRA_Knowledge/0_ZeroOne指示.md - メニュー13, 14:
RDRA_Knowledge/1_RDRA指示.md - メニュー21, 22:
RDRA_Knowledge/2_Spec指示.md
- メニュー1, 2:
RDRA_Knowledge/helper_tools/command/commandRun.batを経由して実行
トラブルシューティング
ファイルが生成されない
- 原因: LLMの実行が完了していない、またはエラーが発生
- 対処: 各フェーズの実行確認機能が自動でチェック
- 不足ファイルは自動再生成される
- ターミナルウィンドウのエラーメッセージを確認
サーバーが起動しない
- 原因: ポート競合(3000, 3001)
- 対処:
- メニュー「0」で一度終了し、再起動
- タスクマネージャーでNode.jsプロセスを確認
- 別のポートを使用している場合は手動でブラウザを開く
データが表示されない
- 原因: 必要なファイルが未生成
- 対処:
- 事前にメニュー「21」で仕様ファイル生成が必要
2_RDRASpec/ui.jsonの存在を確認- メニュー「99」で一度クリアして再実行
PowerShellの実行ポリシーエラー
- 原因: PowerShellの実行ポリシーが制限されている
- 対処: 管理者権限で以下を実行
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
参考情報
RDRA構造の基本概念
- アクター - システムを利用する人の役割
- 外部システム - 連携する外部システム
- 業務 - 会社の機能単位
- BUC - ビジネスユースケース(業務の価値実現単位)
- 情報 - システムが扱うビジネス情報
- 状態 - 情報の変化を管理する状態モデル
- UC - ユースケース(システムとの接点)
- 条件 - ビジネスルールや制約
- バリエーション - 業務のバリエーションパラメータ
詳細は RDRA_Knowledge/1_RDRA/RDRA.md を参照してください。
Phase別の作業内容
Phase1: 要素の洗い出し
- システムの基本要素を特定
- アクター、外部システム、ビジネスポリシー、業務、情報、状態を定義
Phase2: 要素の詳細化
- 業務の詳細化とBUC候補の抽出
- 条件(ビジネスルール)の定義
- バリエーションの定義
- 情報と状態の構造化
Phase3: コンテキスト化とBUC定義
- 各要素のコンテキスト(文脈)を明確化
- BUC(ビジネスユースケース)の正式定義
- 要素間の関連付け
Phase4: 関係モデル化
- RDRAの関係モデルへの変換
- 最終的なRDRA定義の完成
- 1_RDRAフォルダーへの統合
よくある質問
Q: Phase1で生成されるファイルとPhase4で生成されるファイルで同じ名前のものがありますが、違いは何ですか? A: 各Phaseで同じ名前のファイルが生成されることがありますが、内容は段階的に詳細化・構造化されていきます。最終的にPhase4までの内容が1_RDRAフォルダーに統合されます。
Q: RDRAGraphが表示されない場合は? A: 1_RDRA/関連データ.txtが生成されていることを確認し、ブラウザのポップアップブロックが有効になっていないか確認してください。
Q: 途中でエラーが出た場合は? A: メニュー「99」で成果物を削除し、最初からやり直すことをお勧めします。または、エラーが出たPhaseのみを再実行することもできます。
Q: サンプルプロジェクトを試すには? A: Samplesフォルダー内のサンプルの初期要望.txtを、プロジェクトルートの初期要望.txtにコピーして使用してください。
関連リンク
- RDRAツール公式サイト: https://vsa.co.jp/rdratool/
- RDRAGraph: https://vsa.co.jp/rdratool/graph/
- RDRA手法について:
RDRA_Knowledge/1_RDRA/RDRA.mdを参照
バージョン情報
現在のバージョン: RDRAAgent v0.6
変更履歴
- v0.6: 現行バージョン
- 4フェーズのRDRA定義プロセス実装
- RDRAGraph連携機能
- 画面プロトタイプ表示機能
- アクター別画面表示機能
- 妥当性検証機能
ライセンス
MIT License
