RDRA
Relationship Driven Requirement Analysis
Supported by (株)バリューソース
2019/11/05 要件定義を素早く行う手法RDRA2.0のご紹介
2019/10/22 RDRA WorkShop!!
2019/09/24 RDRA meets DDD
2019/09/11 ソフトウェア品質シンポジウム2019

BOOKS

RDRA2.0ハンドブック
RDRAの考え方と各アイコンの役割、ダイアグラムの記述方法を説明
モデルベース要件定義テクニック
要件定義をシステマティックに進めていくための考え方などをRDRA1.0の記法とともに説明

Blogs

・要件定義の散歩道
・モデルベース要件定義手法RDRAの紹介
・DDDとRDRAを組み合わせて使うには
・要件定義品質向上への突破口
・リレーションシップ駆動要件分析(RDRA)
・エンジニアのための情報設計入門
・「実践ドメイン駆動設計」を読んだので、実際にDDDで設計して作ってみた!
・DDD with RDRA, ICONIX
・プログラマの思惑
・ソフトウェアさかば
・システム開発プロジェクトマニュアルのメモ
・Satohru Note
・システム設計日記
・system-enablers日記

Tools

PowerPoint RDRATool
PowerPointでRDRAモデルを使った時に使用できるツール
「RDRA2.0ハンドブック」にダウンロード先を明記
Enterprise Architect用
RDRA2.0用アドイン
RDRA1.0用テンプレートファイル

Magazine

・「要件定義」の4つの構造と依存関係に着目した実践手法
・既存システムを分析するコツは「システムの地図」を作ること

RDRA(ラドラ)はモデルベースの要件定義手法です

要件定義は要件を決めていく作業です。
素早く決定するためには網羅的で整合の取れた要件を組み立てられる仕組みが必要です。

RDRAにはその仕組みがあります

RDRAの考え方

要件定義は4つの視点からできています
  • システムが価値をもたらす視点
  • システムが使われる環境を表す視点
  • システムとの境界を表す視点
  • システムそのものを表す視点
各々の視点に必要なものを整合がとれた形でまとめたものが要件定義になります

各視点は内側から外側に向けて依存する関係にあり、視点間は「Why」を表す
その関係を使って要件をシステマティックに決めるのがRDRAです

RDRAレイヤー

ラドラでは4つの視点をラドラレイヤーとして定義
レイヤー毎に定義するアイコンがあり、それらはつながりをもつ
レイヤー 要素 レイヤーの役割
システム価値
  • 要求
  • アクター
  • 外部システム
価値の源泉であるアクターと外部システムを定義し、システムの方向性を求める要求を明らかにする
システム外部環境
  • バリエーション
  • 業務
  • ビジネスユースケース
  • 業務フローまたは利用シーン
システムが使われる環境を業務を階層化して求める
システム境界
  • ユースケース
  • 画面
  • 外部システム
人と外部のシステムがシステムと接点を持つものを明らかにする
システム
  • 情報
  • 状態
ビジネスを駆動する情報と状態を表す用語でシステムを表現する

RDRAのダイアグラム

要件定義はダイアグラム単位で作成する
ダイアグラム 説明
システムコンテキスト システムに関わる登場人物を洗い出す
要求モデル 重要な要求を洗い出し要件にまとめる
ビジネスコンテキスト システムに関わる業務の登場人物を洗い出す
ビジネスユースケース 価値を提供する単位を洗い出す
業務フロー ビジネスユースケースを実現するアクティビティのフローを定義しシステムを使うところにユースケースを結びつける
利用シーン ビジネスユースケースを実現するためのシステムを利用するシーンを定義しユースケースを結びつける
バリエーション・条件 条件の軸となるバリエーションとビジネスルールを表す条件を整理する
UC複合図 ユースケースを中心に、画面、イベント、情報、条件を結び付け、システムが行うことを示す
情報モデル ビジネスを駆動するための情報となる用語を構造化する
状態モデル ビジネスを駆動するための判断材料となる状態を構造化する

ダイアグラムの関係

各ダイアグラムは大きく4つに分類される
分類 ダイアグラム 説明
全体と方向性を表すもの
  • システムコンテキスト
  • 要求モデル
システムコンテキストでメンバーの認識を合わせ、要求モデルでシステム化の方向性を求める
業務とシステムの階層化
  • ビジネスコンテキスト
  • ビジネスユースケース
  • 業務フロー/利用シーン
業務を階層化しユースケースを洗い出すことでシステムスコープを明らかにする
ユースケース横断的なもの
  • 情報モデル
  • 状態モデル
  • バリエーション・条件
システムの要となる情報と状態が整合性を源泉になり、バリエーションがビジネスルールの軸となる
これらはユースケースを横断して作用する
ユースケースに関わるシステム境界
  • ユースケース
  • 画面
  • イベント
システムの働きをユースケースを中心とした入出力と情報で表現する