Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RDRAとは techRAMEN

Avatar for 神崎 神崎
July 24, 2025
38

 RDRAとは techRAMEN

RDRAを使った演習

Avatar for 神崎

神崎

July 24, 2025
Tweet

Transcript

  1. 上流工程の位置づけ 情報モデル 画面 遷移 画面項目 ・入力チェック ・計算式 画面標準 レイアウト振る舞い RDRA

    仕様化(テスト仕様) 設計 標準に従った具体的な レイアウトと振る舞い 物理 データモデル ・DB設計 ・属性 ・タイプ 制約 論理データモデル ・項目 ER図 非機能要求 処理方式 ・同期・非同期 ・大量データ処理 ・並行分散処理 UI関連の条件 UI システム 間連携 情報 画面 イベント 条件 タイ マー IF一覧 ・連携タイミング IF項目 ・制約 相手の方式に合 わせた方式 アーキテクチャ に沿った方式 パッケージ 機能/処理 フロントエンドとバッ クエンドの処理方式 ・ファイル ・API データ量 仕様の分類 ・フォルダー 実装単位 ・レイヤー ・ドメインモデル 機能の条件 ・入出力のバリデーション ・計算 加工 ・デシジョンテーブル データ 実装 時間当たりのトラ ンザクション量 システムアーキテクチャ フレームワーク ライブラリ プラットフォーム アーキテクチャ アプリケーションアーキテクチャ ・パッケージ ・疎結合 ドメイン モデル 要件 テスト 実現可能性の フィードバック コード サンプ ル UC キーユース ケース ・典型的な処理 ・画面処理 ・連携処理 ・機能処理 コード サンプ ル コード サンプ ル 入出力に関わる設計 内部に関わる設計 要 求
  2. RDRAを作った動機 • システム全体を説明できない • 簡単な概要は説明できるが、そこからいきなり個別の機能の話しかできない • 機能中心で業務とシステムが乖離している • 業務の価値とシステムを結びつけられない •

    関係者が共通に話ができる土台がない • 結合テスト時点で認識があっていなかったことが分かる • 停滞するアジャイル開発 • 手戻りばかりで新規の開発が停滞する • 要件を決められない • 要件定義に時間がかかりすぎ、要件が見切り発車になる 3 シス テム 業務 概要 機能 企画 営業 開発 サポート RDRAはこれらを解決 するために考えられた
  3. RDRAレイヤー システム価値 システム外部環境 システム境界 システム Why Why Why アイコン アイコン

    アイコン アイコン システム化の 価値 システムの使われ方 を示す システムの入出力 を明らかにする システムで管理 する情報、状態、 ビジネスルール 依存 RDRAがフォーカスするのは ⇒ 役に立つシステムを作るためにはどのように要件定義すればいいのか 4
  4. RDRA構成要素 依存 システム価値 システム境界 システム 外部システム 要求 アクター システム外部環境 業務フロー

    アクティ ビティ ユースケース 状態 遷移 Why Why Why 条件 バリエー ション 業務 ビジネス ユースケース 情報 状態モデル 画面 イベント コンテキスト タイマー アクター群 外部システム群 画面 5
  5. システム価値 システム境界 システム 外部システム 要求 アクター システム外部環境 業務フロー アクティ ビティ

    ユースケース(UC) 条件 バリエーション 業務 ビジネス ユースケース (BUC) 情報 状態 遷移 状態モデル 画面 イベント コンテキスト タイマー アクター群 外部システム群 システムの価値は 人・組織で決まる システムを使った一塊 の仕事の単位を表す 最重要な要求 を認識する システムと人はUI (画面)でつながる 外部のシステムと 連携を表す ビジネス上識別し ている区分や種別 システムが管理する状態 システムを構成する主要 な関心事を分類する単位 ビジネス上管理 している情報 業務フローの 単位となる 時間区切りを表す 仕事の単位を表現 複数の業務フ ローを分類する 連携する外部 のシステム ビジネスルール を表現する RDRAアイコン説明 6
  6. 非機能要求シート 機能要求シート アクターシート 外部システムシート 情報シート 状態シート BUCシート 画面 イベント タイマー

    バリエーション シート 条件シート 業務 BU C アクティ ビティ UC 情報 条件 条件 状態 モデル バリエー ション 状態モデル UC バリエーション アクター 外部システム アクター 外部システム 情報 バリエーション 状態モデル 参照 参照 非機能要求 機能要求 参照 参照 参照 参照 参照 定義 定義 定義 定義 定義 定義 定義 定義 定義 定義 定義 定義 シート間 の関係 9
  7. 表形式で構造化する BUC アクティビティ・UCにつながるオブジェクト定義 条件 外部システム アクター 状態モデル アクティビティにアクターが関わる 外部システムが提供する画面を使う システムの画面をアクターが使う

    システムが外部システムとイベントで連携する UCが情報を操作する 業務フロー アクティビティ ユースケース 業務 BUC 画面 イベント 状態モデル 条件 バリエーション UC タイマー UCが決められた時間に実行する 情報 10 始点 終点 同一行にあるものは関連 しているとみなす 階層構造を表す 階層構造を表す 階層構造を表す
  8. 12 RDRA定義のイメージ RDRA定義を参照し 不整合を検出する 9シートでRDRA 定義を行う RDRA定義をVisual に表現する AIを使いRDRA定義 のたたき台を作成

    https://vsa.co.jp/rdrat ool/v0.93/zeroone.html https://docs.google.com/spreadsheets/d/1h7J70l6 DyXcuG0FKYqIpXXfdvsaqjdVFwc6jQXSh9fM/edit? gid=1240873646#gid=1240873646
  9. Step1 Step2 フェーズ1 フェーズ2 フェーズ3 Step3 Step4 Step5 Step6 Step7

    Step9 Step8 重要な要求の把握と登場人物、 業務を洗い出す システム境界を把握する 情報モデルを作成する 状態モデルを作成する トップダウンで要件を組み立てる ボトムアップで詳細を見直す 条件・バリエーションを整備する 「BUC」シートを中心に全体を見直す 要素を洗い出す アクター 外部システム 業務 BUC ~ 業務 BU C アクティ ビティ UC ~ ~ 情報 ~ ~ 状態モデル 状態 ~ 業務 BUC アク ティ ビ ティ UC 関連 モデ ル 関連 オブ ジェ クト 関連 モデ ル 関連 オブ ジェ クト アクター群 アクター 外部システム群 外部システム コンテキスト 情報 属性 関連情報 ~ コンテキスト 状態モデル 状態 遷移UC 遷移先状態 コンテキスト バリエーション ~ コンテキスト 条件 ~ 業 務 BUC アクティ ビティ UC 関連モ デル 関連オブ ジェクト 関連モ デル 関連オブジェ クト コンテキスト 情報 属性 関連情報 状態モ デル バリエー ション 状態シート 情報シート BUCシート BUCシート アクター シート 外部システム シート 状態シート 情報シート BUCシート アクターシート 外部システムシート バリエーションシート 情報シート BUCシート 業 務 BU C アクティ ビティ UC 関連モ デル 関連オ ブジェ クト 関連 モデ ル 関連オ ブジェ クト 条件 コンテキスト バリエーション 値 ~ コンテキスト 条件 条件の説明 バリエー ション 状態モ デル 条件シート 手順 14 条件 バリエーションシート 条件シート
  10. 時間割 000-020 上流工程全般について(20分) •要件定義の位置づけ •RDRAとは 020-030 演習準備 グループ分け PC準備 スプレッドシート準備

    •グループ内自己紹介 •シナリオの説明資料配布 030-040 シナリオの説明 •シナリオの説明資料配布 •発注者(社長)から説明 •質疑応答 040-110 Step1:RDRAの要素を一旦洗い出す •アクター、外部システムの洗出し(5分) •業務とBUCの洗出し(10分) •情報と状態の洗出し(10分) •BUCのブレークダウン(10分) •ユースケースの洗出し(10分) •ユースケースの詳細化(20分) 110-150 Step2:要件の組立(40分) •情報の構造化と状態の構造化 •BUCと状態の関係見直し ・条件とバリエーションの洗出し 150-210 Step3:中間発表(60分) •各チーム発表 210-240 Step4 :見直し(40分) •他チームの発表から気づいた点を見直す
  11. 演習 注意事項 • まづは手を動かす • 思いついたものを洗い出す • 正しさを求めない • 「決まってから記述する」はダメ

    • 洗い出したものを元に議論する • 空中戦を避ける • RDRAの構造で精度を上げる • シート間の構造で理解する • 不整合を修正する https://docs.google.com/spreadsheets/d/1h7J70l6DyXcuG0FKYqIpXXfdv saqjdVFwc6jQXSh9fM/edit?gid=1240873646#gid=1240873646 https://docs.google.com/spreadsheets/d/1_71mDEJVvbuILjLWQca_QXSsf OnFMkHgdL0cXEQPvrc/edit?gid=1240873646#gid=1240873646 定義シート • 上記ファイルを開く • ファイル/コピーを作成 図書館システム
  12. LLMと人がキャッチボールを行い要件を組立てる 18 文脈理解 システム名 最重要要求 ビジネスの 背景を記述 概要 ビジネスアイディア アクター

    外部システム ビジネス ポリシー ビジネス パラメータ 業務 ビジネスデザイン 情報 状態 業務・仕事 システムデザイン 条件 バリエーション 情報 状態 業務・仕事・UC 初期情報を入力 ・LLMに初期の情報を与える ・ビジネスの背景から行っていることを伝える ビジネスの骨格作成 ・アクター 外部システムの洗出し ・ビジネスポリシー ⇒ビジネス全体を通した決まり事 ・ビジネスパラメータ ⇒多様な状況に対応するための可変性 ・業務の洗出し ビジネスの組立 ・情報・状態の洗出し ・仕事の洗出し システムの組立 ・条件・バリエーションの洗出し ・仕事にユースケースを結びつける LLM Run LLM Run LLM Run ビジネスの概要を入力 LLMの実行 LLMの出力結 果を見直す 何度も壁打ちし、LLMの出力か ら対象の解像度を上げていく https://vsa.co.jp/rdratool/v0.93/zeroone.html
  13. RDRAを 定義する RDRAZeroOne ・ • Cursor • ⇒「?」 • ⇒「1」

    Phase1に出力される 「1」の入力でPhase 毎に実行する