UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

【システム開発】RDRAとは?

こちらのイベントを視聴した modeling-how-to-learn.connpass.com

このとき、ある登壇で出てきた「RDRA」という要件定義手法を知ったので調べてみる

RDRAとは?

k-method.jp

RDRAとは神崎善司氏が考案したリレーションシップ駆動要件分析(Relationship Driven Requirement Analysis)の略語であり、網羅的で整合性のある要件定義をUMLの表現力を使って要件定義としてまとめる手法
Enterprise ArchitectでRDRA 2.0を利用する - UML/SysML/BPMNモデリングツール Enterprise Architect

ラドラと読むらしい

概要はこちらの記事がまとまっていたので参考にさせていただく

qiita.com

RDRAは、要件定義において重要な以下の3要素を高いレベルで実現するための要件分析フレームワーク

  • 「網羅性」:システムの目的や、それを実現するための要件が漏れや重複無く定義されている
  • 「整合性」:各要件の整合性が取れている
  • 「表現力」:それぞれの要件が分かりやすく表現されている

具体的にはRDRAでは、以下の4ステップを定義していく

  1. 「システム価値」
  2. 「システム外部環境」
  3. 「システム境界」
  4. 「システム」

いろいろ記事を見るに、各ステップでたくさんのダイアグラム(システムコンテキスト図や業務フロー図やユースケース複合図など)を描いてリレーションを明らかにするみたい

このダイアグラムを書くのが億劫だなと思っていたところ

さすが@irofさんが既に言及してくれていた irof.hateblo.jp

どうしてもRDRAはダイアグラムが目立つようで、「どのダイアグラムを作ればよいか」「どのダイアグラムに何を書けばいいか」と言った疑問をよく聞きます。私も使いこなせていない感はあるのでなんともなのですが、少なくとも早めにダイアグラムを主人公じゃなくす方にシフトした方がいいんじゃないかなーと思ったりしています。

ダイアグラムを作ることを目的とせず、ましてやすべてが必須というわけではなく、モデル要素間のつながりを明らかにしといた方が良いところをダイアグラムを使って可視化するスタンスでよさそう

とりあえずシステマティックに要件定義する手法は知れたので使いどころがあれば使っていきたい