はじめに
ソースリポジトリ: rdra-ish-dsl
rdra-ish は、要件モデルを .rdra というDSLで記述し、型チェック・図表生成・状態導出までを一貫して行うCLIとコンパイラ群です。Wordやスプレッドシートに散在しがちな「誰が・何を・どのデータに触るか」を、関係(predicate)で結んだグラフとしてコード化し、レビュー可能にします。
RDRA の考え方
Section titled “RDRA の考え方”RDRA(Relationship-Driven Requirements Analysis)は、システムを型付き要素のグラフとして扱う要件モデリング手法です。アクター、ビジネス領域、BUC、ユースケース、画面、エンティティなどを宣言し、performs、contains、creates といった 関係述語 で明示的に結びます。
RDRA-ISH とは
Section titled “RDRA-ISH とは”rdra-ishが実装するのは RDRA-ISH(RDRA-inspired Implementation and System Heuristics)です。RDRAのrelationship-firstな書き方を踏襲しますが、厳密な RDRA の写しではありません。システム境界、API境界、アクセス制約、エンティティライフサイクルなど、実装寄りのレビューに必要な語彙を追加しています。
同じモデルから check、各種diagram、CSV、states、export を生成できることが目的です。
ドキュメントの読み方
Section titled “ドキュメントの読み方”モデルを書く・レビューする
Section titled “モデルを書く・レビューする”| 関心 | ページ |
|---|---|
| DSL の構文 | 言語リファレンス |
| 図表・CSV・export | 図表とエクスポート |
| CLI 全般 | CLI リファレンス |
| エディタ | VS Code / LSP |
BUC・ビジネスフロー・ユースケース
Section titled “BUC・ビジネスフロー・ユースケース”RDRA-ishでは3つを 異なるレビュー単位 として読み分けます。
| 概念 | 役割 |
|---|---|
| BUC | ビジネス価値のスライスとレビュー容器 |
| ビジネスフロー | BUC を UC とイベントで具体化した流れ |
| ユースケース(UC) | 効果を持つ相互作用の境界 |
実務的な読み方: BUC でレビュー単位を決め、ビジネスフロー で時間順の展開を捉え、UC で1操作とそのデータ・画面・API効果を命名する。
他プロジェクトとの関係
Section titled “他プロジェクトとの関係”| レイヤ | 役割 |
|---|---|
| rdra-ish | 要件モデル(上流) |
| dagayn | 設計書・コードの構造グラフ(横断トレース) |
| kamae 等 | 実装のドメイン設計 |
使うべき場面 / 使わない場面
Section titled “使うべき場面 / 使わない場面”向いているケース
- BUC単位で要件と設計の整合をレビューしたい
- CRUDマトリクス、シーケンス、状態到達性を モデルから自動生成 したい
- API契約やDBスキーマのたたき台をモデルと同期させたい
- エージェントやCIと組み合わせ、モデルをコードとして差分管理したい
向いていないケース
- 完全に自由形式の議事録・ユーザーストーリーだけで足りる初期探索
- RDRA原典の用語・手順をそのまま再現したい
- 実行可能なアプリケーションコードや本番DBマイグレーションの代替
リポジトリ内の samples/ を参照。
| サンプル | 内容 |
|---|---|
ec-site | コンパクトなend-to-end |
clinic-ops | API・イベント・アクセス制約を含む大規模例 |
incremental-order | Stage 0–6 の段階的増築例 |
personal-info | 個人情報管理 |
rdra-ishは「正しいモデル」を自動判定する魔法ではなく、関係を明示したモデルをレビューしやすくする ための道具です。 クイックスタート から試してください。