狠狠撸

狠狠撸Share a Scribd company logo
RDRAによるシステム要件の
可視化とバックログ
網羅的で整合した要件定義を素早く行う、システムの可視化手法
とそこから手戻りを減らすための作戦
RDRA : Relationship Driven Requirement Analysis
株式会社シナジー研究所
スポンサーズトラック
搁顿搁础の考え方
RDRAの立ち位置
? 要件定義はやるべきことを「決定」する仕事
? 要件定義は仕様を決めるためのInput
3
システムを取
り巻く環境 Input 詳細な仕様
システム
要件定義
システムの事だ
け記述した要件
定義
Input 詳細な仕様
RDRA
システムを取
り巻く環境
システム
システムを可視化する枠組み
システムが実現する価値
要求
システムが使われる環境
システム
システムとの接点
外部システム
状態
情報
ユーザ
利害関係者
価値
4
RDRAレイヤー
依存
システム価値 システム外部環境 システム境界 システム
Why
Why
Why
アイコン アイコン アイコン アイコン
システムに価
値をもたらす
視点
システムの使われ
方を示す視点
システムの入出
力を明らかにす
る視点
システム化対象
のビジネス上の
情報と状態
5
アイコンの関係
システム価値 システム境界 システム
外部システム
要求
アクター
システム外部環境
利用シーン
業務フロー
バリエー
ション
条件
業務
ビジネス
ユースケース
業務
業務
業務
アクティ
ビティ
画面
ユースケース
イベント
情報
状態
状態
遷移
依存
6
ダイアグラムで要件を定義する
システム境界 システム
UC複合図
システム価値 システム外部環境
外部システム
ユースケース
バリエーション 条件
アクター
業務
業務
業務
業務
ビジネス
コンテキスト
ビジネス
ユースケース
業務フロー
利用シーン
要求モデル
システム
コンテキスト
状態
状態モデル
情報モデル
バリエーション / 条件
画面
イベント
UC複合図
業務フロー
利用シーン付き
ユースケース
7
RDRAの関心
? RDRAの要件定義の関心事項
? 素早く定義する
? その場で作りその場で「決める」
? どんどん作り どんどん直す
? 精度を高める
? 整合性を高め网罗性を確保する仕組みをもつ
? プロジェクトの特性に応じて使い分ける
? 要件定義書を精度高く行う
? 繰り返し開発の入力にする
? ビジネスルールの明示
? 既存システムの可視化
? 保守開発の品質を上げたい
? 関係者の認識を合わせる
? システムの今を表す
ダイアグラムの関係
9
システム価値 システム外部環境
シ
ス
テ
ム
境
界
シ
ス
テ
ム
情報モデル
バリエーション 条件
バリエーション / 条件
状態モデル
状態
遷移
ビジネス
コンテキスト
組
織
組
織
組
織
業務
組
織 業務
ビジネス
ユースケース
システム
コンテキス
ト
目的
要求モデル
状態モデル
状態
遷移
条件
UC複合図
業務フロー付き
UC 情報
画面
イベン
ト
UC 情報
画面
イベン
ト
Act
Act
UC複合図
業務フロー付き
条件
UC 情報
画面
イベン
ト
UC 情報
画面
イベン
ト
Act
Act
条件
UC複合図
業務フロー付き
UC 情報
画面
イベン
ト
UC 情報
画面
イベン
ト
Act
Act
UC複合図
業務フロー付き
条件
UC 情報
画面
イベン
ト
UC 情報
画面
イベン
ト
Act
Act
UC複合図
業務フロー付き
条件
UC 情報
画面
イベン
ト
UC 情報
画面
イベン
ト
Act
Act
バリエーション / 条件
ビジネス
コンテキスト
ビジネス
ユースケース
要求モデル
システム
コンテキス
ト
状態モデル
情報モデル
UC複合図
システム価値 システム外部環境 システム境界 システム
外部システム
ユースケース
バリエーション 条件
アクター
業務
業務
業務
業務
状態
画面
イベント
UC複合図
業務フロー
利用シーン付き
依存
業務フロー
ユースケース
利用シーン
バリエーション / 条件
ビジネス
コンテキスト
ビジネス
ユースケース
要求モデル
システム
コンテキス
ト
状態モデル
情報モデル
UC複合図
ダイアグラム毎の役割
システム価値 システム外部環境 システム境界 システム
外部システ
ム
ユースケー
ス
バリエーション 条件
アク
ター
業務
業務
業務
業務
状態
画面
イベン
ト
UC複合図
業務フロー
利用シーン付き UC複合図
情報モデル 状態モデル
依存
組
織
組
織
業務
組
織 業務
組
織
業務フロー
ユースケー
ス
利用シーン
目的
システム
コンテキスト 要求モデル
ビジネス
コンテキスト
ビジネスユースケース
業務フロー
階層化してス
コープを決める
システム化の方向性
を求める
システム化の詳細化
整合性を維持する
10
業務を組み立てる
11
組織
顧客
申請 法人
申請
仕入
先
商品
申込
顧客
金融機関
システム
仕入先シ
ステム
審査
XX登録
経理
組織
自社
顧客
取引先
商品
申請
業務
仕入先
金融機関
金融
機関
金融機関
システム
商品
食料品
生鮮品
金融機関
都市銀行
地方銀行
顧客
大口顧客
通常顧客
イベ
ント
XX契約
を登録す
る
登録
審査
条件
XXを審
査する
XXを
申し
込む
申込
画面
申込
審査
XX契
約
経理
申込
審査 XX契
約
状態モデル
申込済み 審査中
顧客
金融
機関
商品
登録済み
XXを
申し
込む
XXを審
査する
XX契約
を登録す
る
[申請:業務]
ビジネスユースケース図
ビジネスコンテキスト図
[申請:BUC]
UC複合図
自社の業
務は?
業務に関わる
ビジネスの要
素は?
業務を価値や責
務に分割する
そのBUCはどのよ
うなビジネス要素
と関わるのか?
このBUCはどの
ようなステップ
で進むのか?
まずは各ステップ
をビジネス要素ど
の相互作用として
組み立てよう
そのビジネス要素にはバリエーションがあるか?
各UCで何
を行う?
顧客
金融
機関
申込
審査
XX契
約
商品
情報モデル
トランザクショ
ン系の情報
これビジネスを駆
動する情報だね
情報を構造
化すると
申込、契約には状
態があるよね?
状態は何処
で変わる?
業務はどのようなBUC
からできているか?
リソース
系の情報
そのBUCはどのような仕
事で組み立てているの?
外部システムとつ
なぐにはイベント
が必要
ビジネスルール
? ビジネスルールの源泉
? ビジネス要素
? 情報モデル
? 状態モデル
? 導出
? ビジネス要素 ? 概念
? ビジネス要素 ? バリエーション
? 情報モデル ? 多重度が条件となる
? 状態モデル ? 条件の軸になる
?
蔵書の貸出
を登録する
情報モデル
貸出中
在庫中
貸出図書の返
却を登録する
蔵書
会員
貸出
図書
本
貸出
予約
状態モデル
図書館
貸
出?
返却
蔵書
管理
書架
蔵書
ビジネスコンテキスト
ビジネス要素
バリエーション
条件
会員
種別
12
Power Point 図書館システム
コ
ン
テ
キ
ス
ト
?
要
求
ビ
ジ
ネ
ス
ユ
ー
ス
ケ
ー
ス
UC
複
合
図
バリエーション
条件
演習ページ
貸
出?
返却
会員
管理 蔵書
管理
会員登録
期限管理
棚卸
書籍補充
窓口貸出
Web予約
返却
状態モデル
情報モデル
13
Google sheets 基幹システム
BUC アクティビティ?UCにつながるオブジェクト定義
業務
画面
ユースケース
アクティビティ
BUC
外部システム
アクター
イベント
情報
状態
条件
状態
条件
UC
ユースケース
バリエー
ション
条件
画面
外部システム
会員
状態モデル
アクター
状態モデル
UC
Enterprise Archtect RDRAアドイン
https://www.sparxsystems.jp/products/EA/tech/RDRA.htm
既存
コード
リバース
モデル
コード
リバース
コード
手戻りを减らすための方策
RDRA以後の進め方
? 関心
? 手戻りを極力減らしたい
? 要件と仕様の切り分け
? 要件はHowに影響されない
? 仕様はHowに影響を受ける
? 手戻りを減らすための横断的に影響を及ぼす仕様を明らかにする
仕様
設計
実装
テスト
要件:RDRA
仕様
設計
実装
テスト
手戻りの発生
スコープ
依存
B
仕様
設計
実装
テスト
仕様
設計
実装
テスト
C D
A
手戻り
発生
手戻り
発生
仕様
設計
実装
テスト
要件:RDRA
仕様
設計
実装
テスト
手戻りを減らす方法
スコープ
依存
B
仕様
設計
実装
テスト
仕様
設計
実装
テスト
C D
A
手戻りを最
小化する
仕様化準備?横断的仕様
手戻りを減らす
ための横断的な
準備 要件定義
RDRA
横断的仕様
仕様
実装
イテレーション
仕様化に向けた提案
仕様担当
開発担当 テスト担当
セッション
仕様関連作業
開発関連作業 テスト関連作業
要件定義 RDRA
仕様担当
セッション
開発担当
テスト担当
仕様担当
開発担当
テスト担当
仕様担当
システムコン
テキスト
ビジネスコン
テキスト
要求
モデル
情報
モデル
状態
モデル
ビジネスユース
ケース
RDRAで全体をコントロール
要件
定義
ユーザー
ストーリー
マッピング
開発イテレーション開始
開発関連作業
テスト
仕様関連作業
準
備
ユーザー
ストーリー
マッピング
ユーザー
ストーリー
マッピング
ユーザー
ストーリー
マッピング
手戻り
分
UnitTest
ユースケーステスト
設
計
実
装
準
備
テスト
環境構
築
テスト
実施
V字モデル
セッション
で扱う領域
仕様関
連作業
開発関連作業
テスト関
連作業
ドメイン開発
主要部分
イ
テ
レ
ー
シ
ョ
ン
準
備
ドメイン開発周辺部分
仕様化準備
イベントIF
バリエーション?
条件の値
画面標準
A B C E
D
リリース1
リリース2
画面ラフス
ケッチ
画面ラフス
ケッチ
画面ラフス
ケッチ
画面ラフス
ケッチ
画面
ユーザーストーリー
マッピング
概念
モデル
開発
ユースケース
システムアーキテクチャ
設計?構築
横断的仕様
要件定義?仕様化?設計?実装
19
情報モデル
画面遷移 画面項目
?入力チェック
?計算式
画面標準
レイアウト/
振舞
RDRA
標準に従った具
体的なレイアウ
トと振る舞い
物理
データモデル
?DB設計
?カラム タイプ 制約
非機能要求
処理方式
?同期?非同期
?大量データ処理
?並行分散処理
UI関連の条件
UI
システム
間連携
UC複合図
情報
画面
イベント
条件
タイ
マー
IF一覧
?連携タイ
ミング
IF項目
?制約
相手の方式に合
わせた方式
アーキテクチャ
に沿った方式
組
織
業務
組
織 業務 組
織
パッ
ケージ
機能/処理
フロントエンドとバッ
クエンドの処理方式
?ファイル
?API
概念モデル
実装単位
?レイヤー
?ドメインモデル
機能の条件
データ
コード
サンプル
UC
キーユースケース
コード
サンプル
コード
サンプル
コード
サンプル
?典型的な処理
?画面処理
?連携処理
?機能処理
時間当たりのトラ
ンザクション量
実現可能性のフィードバック
システムアーキテクチャ
フレームワーク 使用ライブラリ プラットフォーム
プロトタイピング
アーキテ
クチャ
要件定義 仕様化 設計?実装?テスト
アプリケーションアーキテクチャ
?パッケージ
?疎結合
要件定義
設計?実装?テスト
導入
入出力に関わる仕様 実装に依存する仕様
バリエーショ
ン
ラフス
ケッチ
条件
バリエーショ
ンの値の定義
条件内容の定義
論理
データモデル
?項目
?ファイル
?API
リリース後
の変更起点
横断的な
仕様
仕様化準備
イテレーション:開発単位
? 開発単位
? BUC駆動(価値駆動)
? BUC ビジネスユースケース
? UC ユースケース
? ドメイン駆動
? コンテキストマップ
? ドメインオブジェクト
? 関心
? 凝集度?結合度
組
織
組
織
業務
組
織 業務
組
織
ビジネス
コンテキスト
ビジネスユースケース
UC複合図
A
画面
B
C
画面
情報
情報
情報
UC複合図
A
画面
B
C
画面
情報
情報
情報
UC複合図
A
画面
B
C
画面
情報
情報
情報
UC複合図
A
画面
B
C
画面
情報
情報
情報
情報モデル 状態モデル
状態
遷移
コンテキストマップ
情報モデル
状態モデル
状態
遷移
コンテキストマップ
情報モデル 状態モデル
状態
遷移
ユーザー価値
中心で進める
ドメイン中心
で進める
BUC駆動
ドメイン駆動
20
イテレーション:テスト単位
企
画
要
件
仕
様
実
装
テスター
実運用
企画者
要件定義者
仕様定
義者
UI設計
現場
テスター
設計者
現場
受入テスト
システムテスト
要件定
義者
結合テスト
開発者
UI設計
ユースケーステスト
UC複合図
[貸出?返却:業務]
受注
在庫確認
UC1
受注登
録
受注
取引先
在庫
UC1
BUC
要求
KPI
UC1
チェック
?個別の振舞
?画面遷移
受入テスト
状態の网罗性確認は狙わない
実運用に適合するかをBUC内のア
クティビティのつながりでテスト
状態の网罗性を確認する
BUC内のUCのつながりでテスト
システムテスト
結合テスト
ユースケーステスト
ユースケース単位にテストを行う
画面の振る舞いや遷移の確認も行う
ユニットテスト
ドメインを実装している場合は実
装単位でユニットテストを行う
ドメイン
実運用からのフィードバック
当初の要求の実現具合をKPIで確認する
BUC全体を通してバリエー
ションの网罗性を確認
UCにつながる条件
の網羅的にチェック
BUCの一連の流れの中で各
条件のつながりを確認
条件
バリエーショ
ン
条件
仕様:条件
仕様化において
定義された条件
のチェック
RDRAが対応可能なテスト
21
テスト観点の違い RDRAで分析できること
22
UCの入出力で作業が
行えるかを確認する
UC複合図
U
C
U
C
U
C
UC複合図
U
C
U
C
U
C
UC複合図
U
C
U
C
U
C
UC複合図
U
C
U
C
U
C
受入テスト
関係するビジネス要
素のつながりの組み
合わせを網羅する
結合テスト
UC複合図
A
画面
B
C
画面
情報
情報
UC複合図
A
B
C
情報
情報
UC複合図
A
B
情報
情報
UCのつながりが同じ場合
はどちらかのBUCを検証
※この場合はB側を実行
A B C
C
B
A
B
情報
事前に用意する情報
テストのための入力と事
前情報はバリエーション
の組み合わせで考える
BUCにある条件につ
ながるバリエーショ
ンを対象とする
バリエーション
の組み合わせで
テストシナリオ
を考える
A状態
状態
UC2
UC3
UC1
Xxx
Xxx
Xxx
UC3
BUCXxx
Xxx
Xxx
Xxx
UC1
BUCXxx
Xxx
Xxx
Xxx
UC2
BUCXxx
システムテスト
商流
物流
金流
顧客
価値を実現する
BUCにつながりは
状態モデルで表現さ
れているはず
バリエーション
条件
バリエーション
状態モデルはBUCをまたぐ
実運用で発生するBUC
の組み合わせでテスト
を行う
システムの整合性を確認する
価値と責務の単位となるBUC単位でテストを行う
BUC内の一連のUCをテストする
ツールを使って精度を上げる
情報
情報
情報
情報
ユース
ケース
ユース
ケース
ユース
ケース
ユース
ケース
ユース
ケース
アクティ
ビティ
アクティ
ビティ
アクティ
ビティ
アク
ティビ
ティ
アク
ティビ
ティ
アクティ
ビティ
アク
ティビ
ティ
アクティ
ビティ
アクティ
ビティ
アクター
アクター
アクター
アクター
アクター
アクター
ユース
ケース
整合性 网罗性
ユースケー
ス
ユースケー
ス
ユースケー
ス
ユースケー
ス
情報
情報 情報
ユース
ケース
ユースケー
ス
アクティ
ビティ
アクティ
ビティ
アクティ
ビティ
アクター
アクター
アクター アクター
アクター
アクター
利用シーン 利用シーン
状態A
状態B
ユース
ケース
ユース
ケース
要件
要求を実現し
たBUC
情報を中心につじつまが合うか? 関わるアクター、外部システムの仕
事が回るか
ツールデモ
? 開発単位
? BUC駆動(業務フロー単位)
? BUC
? UC
? ドメイン駆動
? コンテキストマップ
? ドメインオブジェクト
? テスト単位
? BUC
? コンテキスト
? 凝集度と結合度
? ビジネス視点での分類
? 業務
? BUC
? コンテキスト
状態モデル
情報
バリエーション
凝集度と結合度1
業務
業務
コンテ
キスト
BUC
コンテキスト
状態モデル
バリエーション
条件
UC複合図
A
画
面
B
C
画
面
情報
情報
A B C
C
B
A
B
情報
情報モデル 状態モデル
状態
遷移
コンテキストマップ
コンテキストマップ
結合テスト
開発単位:BUC
凝集度と結合度2
状態モデル
コンテキスト
コンテキスト 業務 BUC
コンテキスト
開発単位:UC
キーユースケース
状態モデル
顧客
システムテスト
まとめ
27
物事のつながりで詳細を語る
成果物作成よりも合意を重視
一覧と詳細
ユース
ケース
画面
データ
イベント
物事の関係性を語る
一人で考え一人で作成
成果物作成が目的 精度の高い要件を明らかに
するのが目的
成果物ではなく要件を組立てる
複数視点の構造がWhyを語る
詳細化に関心 複数視点の関係に関心
みんなで考えその場で作成
What
Why
Howに向きやすい
文章で内容を語る
整合性 网罗性

More Related Content

Rdra2.0 redmine