DevLOVE発表資料

1,895 views

Published on

RDRAの概要紹介と繰り返し開発と要件定義の接点を紹介
「手戻りを少なくするためにどこまで要件を定義すべきか?」
システムの全体像を俯瞰し、全体視点からの合意点を明らかにする考え方をRDRAの4つの視点から説明

Published in: Technology

DevLOVE発表資料

  1. 1. 要件定義と開発プロセスの接点 頭でっかちで役に立たない要件定義にならないために そのチームにとって適切な要件定義とは
  2. 2. ㈱バリューソース 代表取締役 神崎 善司 zkanzaki@vsa.co.jp Facebook page:要件定義の散歩道 https://www.facebook.com/youkennotsubo?ref=hl twitter:@zenzengood 普段は 要件定義関連のコンサル セミナー講師(要件定義、オブジェクト指向、モデリング) わたしは… 2
  3. 3. 今日お話しすること A-3 決め方 いつから作る できるだけ手戻りを減らすために、 どこまで要件をつめればいいか 要件定義を素早く精度高く行うには…
  4. 4. 精度の高い要件定義を短期間に行うためには… 要件を素早く決める 4
  5. 5. 要件を決める A-5 全体を俯瞰する システムの地図
  6. 6. 地図が伝えるもの 全体をつかむために 宅地 宅 地 商業地 枝葉の情報を省き重 要な情報を載せる 詳細化するために分類する これは当たり前 でもExcelでつくられた巨大な図を見かけませんか
  7. 7. 全体を俯瞰する UC:ユーケース 情報をつなぎシステムの骨格をつかむ A- 7 データ 入出力 要 求 機能 機能 機能 機能 機能 機能 外部シ ステム外部シ ステム外部シ ステム 要求から機能とデータまでをつなげる
  8. 8. 要件定義の枠組みから要件を素早く決める 決め方を決める 要件分析の枠組み 8
  9. 9. 要件定義には何を定義すればいいのか A-9 「要件定義の対象をシステムとシステムを取り 巻く環境」と考える シス テム シス テム システムを 取り巻く環境 要件 定義書
  10. 10. 要件定義では何が定義されないといけないのか システム もの サービス 機能 データ 機能 機能 利害関係者 ユーザ 外部システム 業務 •その機能が使用するデータは? •システムに必要な機能は? •その時の入出力情報は? •上記の環境とシステムとの接点は? •どのような外部システムと関わるのか? •どのような人に使われるのか? •このシステムの目的(価値)は? •どのような業務でシステムは使われるのか?
  11. 11. もの サービス 要件定義の構造を定義する A- 11 システム 機能 データ 機能 機能 利害関係者 ユーザ 外部システム システム価値 もの サービス 利害関係者 ユーザ システム外部環境 外部システム システムシステム システム境界 機能 データ 機能 •システム価値 •システム外部環境 •システム境界 •システム 要件定義の構造 •その機能が使用するデータは? •システムに必要な機能は? •その時の入出力情報は? •システムとの接点は? •どのような外部システムと関わるのか? •どのような人に使われるのか? •このシステムの目的(価値)は? •どのような業務でシステムは使われるのか?
  12. 12. なぜ4つに分けるのか A- 12 システムの要件をまとめるとは... システム境界を明確にする必要がある システムの外部環境を把握する必要がある 対象業務の関係者と関係する外部システムを洗い出す システムに必要な機能とデータを定義する その外部環境がもつ価値や役割を定義する システム価値 システム外部環境 もの サービス 利害関係者 ユーザ 外部システム システムシステム システム境界 機能 データ 機能 要求 価値 そのためには… そのためには… そのためには… そのためには…
  13. 13. 要件分析の枠組み 各々の視点に必要な情報は A- 13 1.【システムの価値】を捉える •対象業務に関わる人を洗い出す •関係する外部システムを洗い出す •要求を捉える 2.【システム外部環境】を捉える •対象業務の流れを捉える •対象業務に関わる概念を明らかにする •システムの利用シーンを明らかにする 3.【システム境界】を捉える •ユーザインターフェースを明らかにする •外部システムとのインターフェースを明 らかにする 4.【システム】を定義する •機能を明らかにする •データを明らかにする •ドメインの構造を把握する システム価値システム価値 もの サービス 利害関係者 ユーザ 要求 価値 外部システム システム外部環境 システムシステム 機能 データ 機能 システム境界
  14. 14. システム価値からシステムの機能とデータをつなぐ手段として UMLを拡張したモデルを利用する システムの全体像をとらえる RDRA:Relationship Driven Requirement Analysis 14
  15. 15. act アクティビ ティ システム主体者1 システム主体者2 システム主体者3 X xxxx7 X xxxx4 開始 X xxxx5 X xxxx6 X xxxx8 X xxx1 X xxx2 X xxxx9X xxx3 終了 システム主 体者1 act アクティビ ティ システム主体者1 システム主体者2 システム主体者3 X xxxx7 X xxxx4 開始 X xxxx5 X xxxx6 X xxxx8 X xxx1 X xxx2 X xxxx9X xxx3 終了 システム主 体者1 act アクティビ ティ システム主体者1 システム主体者2 システム主体者3 X xxxx7 X xxxx4 開始 X xxxx5 X xxxx6 X xxxx8 X xxx1 X xxx2 X xxxx9X xxx3 終了 システム主 体者1 act アクティビ ティ システム主体者1 システム主体者2 システム主体者3 X xxxx7 X xxxx4 開始 X xxxx5 X xxxx6 X xxxx8 X xxx1 X xxx2 X xxxx9X xxx3 終了 システム主 体者1 コンテキストモデルからシステム境界まで A- 1.対象業務に関わる人と外部 システムを把握する class システムコンテ キスト 業務名 <<システ ム>> Xxxx システム システム 主体者1 システム 主体者2 システム主体者3 システム主体者4 業務主体者5 外部システム class システムコンテ キスト 業務名 <<システ ム>> Xxxx システム システム 主体者1 システム 主体者2 システム主体者3 システム主体者4 業務主体者5 外部システム コンテキストモデル cus tom 機能要求 新しいサービスを 開始したい 広告収入を増やし たい 小規模店舗が新し い市場だ 顧客へのサービス を向上させたい 難しい操作のシス テムをいれるのは 嫌だ 顧客とダイレクトに つなぎたい XXXXXXXXXXXXXX YYYYYYYYYYYYYYY システム主体者1 システム主体者2 システム主体者3 cus tom 機能要求 新しいサービスを 開始したい 広告収入を増やし たい 小規模店舗が新し い市場だ 顧客へのサービス を向上させたい 難しい操作のシス テムをいれるのは 嫌だ 顧客とダイレクトに つなぎたい XXXXXXXXXXXXXX YYYYYYYYYYYYYYY システム主体者1 システム主体者2 システム主体者3 要求モデル 外部システム 人(アクター) シス テム 要求 要求 要求 2.下記関係者の要求を 把握する 4.業務の中でシステムが 関わる部分を把握する 3.業務を組み立てる uc ユ ースケー ス X xxxをYyyyす る X xxxを Wwwwする UuuuをLll l す る システム主体者1 システム主体者2 システム主体者3 システム 主体者4 Kkkk kをXする Oを Onnnnす る uc ユ ースケー ス X xxxをYyyyす る X xxxを Wwwwする UuuuをLll l す る システム主体者1 システム主体者2 システム主体者3 システム 主体者4 Kkkk kをXする Oを Onnnnす る act アクティ ビティ システム主体者1 システム主体者2 システム主体者3 X xxxx7 X xxxx4 開始 X xxxx5 X xxxx6 X xxxx8 X xxx1 X xxx2 X xxxx9X xxx3 終了 システム主 体者1 act アクティ ビティ システム主体者1 システム主体者2 システム主体者3 X xxxx7 X xxxx4 開始 X xxxx5 X xxxx6 X xxxx8 X xxx1 X xxx2 X xxxx9X xxx3 終了 システム主 体者1 業務モデル act 入荷業務 発注処理 営業 物流 入荷商品の確認 入荷処理 開始 終了 発注処理 <<入荷システム>> 入荷登録 在庫切れ  在庫 補充の発注 新規商品の発注 act 入荷業務 発注処理 営業 物流 入荷商品の確認 入荷処理 開始 終了 発注処理 <<入荷システム>> 入荷登録 在庫切れ  在庫 補充の発注 新規商品の発注 対象業務に関わる人と外部シス テムを要件定義の起点とする stm 状態 State1 St ate2 開始 St ate3 St ate4 終了 Stat e5 State6 Stat e7 ユースケース名と対応を とることもできる St ate8 Sta te9 <<Use Case>> eeeeee [ff<1000] XxxxをWwwwする [aaa=234] stm 状態 State1 St ate2 開始 St ate3 St ate4 終了 Stat e5 State6 Stat e7 ユースケース名と対応を とることもできる St ate8 Sta te9 <<Use Case>> eeeeee [ff<1000] XxxxをWwwwする [aaa=234] stm イベント一覧 タイムアウト 一周完了 停止 制御終了 制御終了 操作開始 移動終了 移動開始 電源オフ 電源オン コンテキストモデル:: 定点カメラ stm イベント一覧 タイムアウト 一周完了 停止 制御終了 制御終了 操作開始 移動終了 移動開始 電源オフ 電源オン コンテキストモデル:: 定点カメラ イベントモデル プロトコルモデル 5.外部システムとのイベントを 捉える 6.外部システムとの プロトコルを整理 同じように利用シーンから ユースケースを導き出す
  16. 16. ユースケースから機能、データまで A- システム 7.ユースケースに関わる ユーザーインターフェーズ を洗い出す uc ユ ースケース X xxxを Yyyyする X xxxを Wwwwする Uuuuを Llll する システム主体者1 システム 主体者2 システム主体者3 システム主体者4 Kkkkkを Xする Oを Onnnnする uc ユ ースケース X xxxを Yyyyする X xxxを Wwwwする Uuuuを Llll する システム主体者1 システム 主体者2 システム主体者3 システム主体者4 Kkkkkを Xする Oを Onnnnする stm 状態 State1 St ate2 開始 St ate3 St ate4 終了 Stat e5 State6 Stat e7 ユースケース名と対応を とることもできる St ate8 Sta te9 <<Use Case>> eeeeee [ff<1000] XxxxをWwwwする [aaa=234] stm 状態 State1 St ate2 開始 St ate3 St ate4 終了 Stat e5 State6 Stat e7 ユースケース名と対応を とることもできる St ate8 Sta te9 <<Use Case>> eeeeee [ff<1000] XxxxをWwwwする [aaa=234] stm イベント一覧 タイムアウト 一周完了 停止 制御終了 制御終了 操作開始 移動終了 移動開始 電源オフ 電源オン コンテキストモデル:: 定点カメラ stm イベント一覧 タイムアウト 一周完了 停止 制御終了 制御終了 操作開始 移動終了 移動開始 電源オフ 電源オン コンテキストモデル:: 定点カメラ イベントモデル プロトコルモデル 8.ユースケースを実現 する機能を洗い出す custom 画面モデル <<画面>> 商品登録画面 - 商品名 - 取引先 - 荷姿 - 発注単位 - 商品カテゴリ <<画面>> 販売状況照会 - 月 - 商品カテゴリ <<画面>> 発注登録 - 商品 - 発注日 - 発注数量 - 入荷予定日 <<画面>> 商品説明 - 商品カテゴリ <<画面>> カート処理 - 受注番号 <<画面>> 受注照会 - 顧客名 - 受注日 商品売上詳細 - 商品 - 売上数量 - 売上金額 詳細説明 - 商品説明 カー ト内商品 - 商品 - 数量 <<画面>> 決済処理 - 顧客名 - 住所 - 決済方法 受注商品 - 商品 - 受注数量 custom 画面モデル <<画面>> 商品登録画面 - 商品名 - 取引先 - 荷姿 - 発注単位 - 商品カテゴリ <<画面>> 販売状況照会 - 月 - 商品カテゴリ <<画面>> 発注登録 - 商品 - 発注日 - 発注数量 - 入荷予定日 <<画面>> 商品説明 - 商品カテゴリ <<画面>> カート処理 - 受注番号 <<画面>> 受注照会 - 顧客名 - 受注日 商品売上詳細 - 商品 - 売上数量 - 売上金額 詳細説明 - 商品説明 カー ト内商品 - 商品 - 数量 <<画面>> 決済処理 - 顧客名 - 住所 - 決済方法 受注商品 - 商品 - 受注数量 uc ユ ースケー ス& 画面 受注照 会 商 品登録 商 品説明& 受注 発 注処理 販売 状況照会 オーダ ー管 理 営業 物流 顧客 <<画面>> 商品登録 画面 - 商品名 - 取引先 - 荷姿 - 発注単位 - 商品カテゴリ <<画面>> 販売状況 照会 - 月 - 商品カテゴリ <<画面>> 発 注登録 - 商品 - 発注日 - 発注数量 - 入荷予定日 <<画面>> 商品 説明 - 商品カテゴリ <<画面>> カー ト処理 - 受注番号 <<画面>> 受注照 会 - 顧客名 - 受注日 <<画面>> 決済処 理 - 顧客名 - 住所 - 決済方法 オーダー 取り消しオーダー 取り消し - 受注番号 uc ユ ースケー ス& 画面 受注照 会 商 品登録 商 品説明& 受注 発 注処理 販売 状況照会 オーダ ー管 理 営業 物流 顧客 <<画面>> 商品登録 画面 - 商品名 - 取引先 - 荷姿 - 発注単位 - 商品カテゴリ <<画面>> 販売状況 照会 - 月 - 商品カテゴリ <<画面>> 発 注登録 - 商品 - 発注日 - 発注数量 - 入荷予定日 <<画面>> 商品 説明 - 商品カテゴリ <<画面>> カー ト処理 - 受注番号 <<画面>> 受注照 会 - 顧客名 - 受注日 <<画面>> 決済処 理 - 顧客名 - 住所 - 決済方法 オーダー 取り消しオーダー 取り消し - 受注番号 画面帳表モデル act 機能モデル <<function>> Uuuu機能 <<function>> Zzzz機能 <<function>> X xxx機能 <<function>> Yyyy y機能 act 機能モデル <<function>> Uuuu機能 <<function>> Zzzz機能 <<function>> X xxx機能 <<function>> Yyyy y機能 機能モデル act 機能モデル <<function>> Uuuu機能 <<function>> Zzzz機能 <<function>> X xxx機能 <<function>> Yyyy y機能 act 機能モデル <<function>> Uuuu機能 <<function>> Zzzz機能 <<function>> X xxx機能 <<function>> Yyyy y機能 class データ モデ ル2 <<datamodel>> AAAX xxx - xxx11: int - xxx12: int - xxx13: int Xxxx <<datamodel>> AAAX xxx1 - x1xx11 - x1xx12 - x1xx13 <<datamodel>> AAAYyyy - yyy1 - yyy2 - yyy3 Uuuu - uuu1 - uuu2 - uuu3 <<datamodel>> AAAJj j j - jjj1 - jjj2 - jjj3 <<datamodel>> AAAOooo - eeee1: int - eeee2: int - eeee3: int Xxxx <<datamodel>> AAAX xxx2 - x2xx1 - x2xx2 - x2xx3 Xxxx X xxx3 - x3xx1 - x3xx2 - x3xx3 class データ モデ ル2 <<datamodel>> AAAX xxx - xxx11: int - xxx12: int - xxx13: int Xxxx <<datamodel>> AAAX xxx1 - x1xx11 - x1xx12 - x1xx13 <<datamodel>> AAAYyyy - yyy1 - yyy2 - yyy3 Uuuu - uuu1 - uuu2 - uuu3 <<datamodel>> AAAJj j j - jjj1 - jjj2 - jjj3 <<datamodel>> AAAOooo - eeee1: int - eeee2: int - eeee3: int Xxxx <<datamodel>> AAAX xxx2 - x2xx1 - x2xx2 - x2xx3 Xxxx X xxx3 - x3xx1 - x3xx2 - x3xx3 データモデル uc 機能モデ ル X xxxをW wwwする <<datamodel>> AAAJ jj j - jjj1 - jjj2 - jjj3 <<datamodel>> AAAOooo - eeee1: int - eeee2: int - eeee3: int <<datamodel>> AAAX xxx - xxx11: int - xxx12: int - xxx13: int Xxxx <<datamodel>> AAA Xxx x1 - x1xx11 - x1xx12 - x1xx13 <<funct ion>> Xxxx機能 <<funct ion>> Yyyyy機能 <<function>> Zzzz機能 <<function>> Uuuu機能 triger CRUD CRUD R CRU CRU uc 機能モデ ル X xxxをW wwwする <<datamodel>> AAAJ jj j - jjj1 - jjj2 - jjj3 <<datamodel>> AAAOooo - eeee1: int - eeee2: int - eeee3: int <<datamodel>> AAAX xxx - xxx11: int - xxx12: int - xxx13: int Xxxx <<datamodel>> AAA Xxx x1 - x1xx11 - x1xx12 - x1xx13 <<funct ion>> Xxxx機能 <<funct ion>> Yyyyy機能 <<function>> Zzzz機能 <<function>> Uuuu機能 triger CRUD CRUD R CRU CRU 9.アクションを機能に 対応付ける 画面・ ユースケースモデル ユースケースモデル 機能モデル システム境界 10.データを洗い出す 11.機能とデータ を付き合わせる 機能複合モデル
  17. 17. システム価値 システム外部環境 システム境界 システム コンテキスト 利用シーン 業務 イベント プロトコル ユースケース 概念 画面・帳表 機能 ドメイン データ 要求 機能複合 モデル 利用シーン &UC 業務&UC UC:ユーケース UC&画面 UC&機能 関係ダイアグラム システムの地図 A- 17
  18. 18. システムの地図 モデルイメージ 画面・帳票モデル イベントモデル プロトコルモデル データモデル 機能複合モデル(CRUD) モデル名はRDRAベース 全てのモデ ルを作るわ けではない
  19. 19. モデリングツール リポジトリの利用 リポジトリを使って違う ダイアグラムに同一ア イコンを配置できる リポジトリ上は一つのもの として管理されるA
  20. 20. 要件定義も徐々に洗練化する(2ヶ月の要件定義の例) 1ヶ月目 2ヶ月目 3ヶ月目 4ヶ月目 5ヶ月目 6ヶ月目 7ヶ月目 8ヶ月目 9ヶ月目システムの 開発期間 1週目 2週目 3週目 4週目 5週目 6週目 7週目 8週目 9週目 要件定義 1マイルストーン 第1マイルストーン 第2マイルストーン 第3マイルストーン 2マイルストーン 3マイルストーン 4マイルストーン 第4マイルストーン システム価値 システム外部環境 システムシステム システム境界 システム価値 システム外部環境 システムシステム システム境界 システム価値 システム外部環境 システムシステム システム境界 システム価値 システム外部環境 システムシステム システム境界 要件の ベースライン 見積もりをしなくてはいけない… 要件定義は繰り返し洗練化が必要 ウォーターフォールで考えてみる WBSにはめるため…
  21. 21. 分割して統治せよ サブシステム分割 業務フローが顧客に価値を 届ける単位になるので、そ の単位でサブシステムを分 割するとわかりやすい サブシステム間の関係を記述する 関係は1方向が望ましい サブシステム分割のもとになった業務フ ローをサブシステムの配下に置く サブシステム サブシステム サブシステム
  22. 22. システムの地図 ブレークダウン
  23. 23. ・決める範囲をどのように決めればいいのか? ・そのチームにとって最も手戻りのコストが低い要件定義は? ・具体的に「ここが」と指せるものはあるか? どこまで決めれば開発に移れるか 23
  24. 24. システム価値 システム外部環境 システム境界 システム コンテキスト 利用シーン 業務 イベント プロトコル ユースケース 概念 画面・帳表 機能 ドメイン データ 要求 機能複合 モデル 利用シーン &UC 業務&UC UC&画面 UC&機能 開発サイクルとRDRAを対応させる A- 24 手戻りを減らすために どこまで決めておく必 要があるか? アーキテクチャの決まり具合は? 開発手法の決まり具合は?
  25. 25. いつから開発サイクルをはじめるか アクターと要求がそろったところで開発サイクルを開始 業務が見えたところで開発サイクルを開始 インターフェースが見えたと ころで開発サイクルを開始 認識を合わせる RDRAを要件 の出発点とし て活用 要件 仕様 What How 設計 実装 機能・データが 見えたところで 開発サイクルを 開始
  26. 26. Agileに対応させてみる Agile開発 価値 価値を実現する 主要な業務、主要なパス 動くもの(実装) で置き換えられ る部分
  27. 27. インセプションデッキと対応させてみる 2.エレベータピッチ コンテキスト図・要求を使ってシ ステムの目的や狙いを伝える 1.我々はなぜここにいるのか システムの外部環境とシステム境界を 説明し何を実現するためにいるのかを 説明 3.パッケージデザイン キーとなる主要なシステム境界(画面、イベ ント)を使って、要求とつなげて価値を伝える 5.ご近所さんを探せ 重要なアクターを業務フロー、 ユースケースに関わるアクター から洗い出す。 開発に関わるアクターは開発用 のコンテキスト図を別途用意 対応しないもの 4.やらないことリスト 6.技術的な解決案を描く 9.トレードオフスライダー 10.何がどれだけ必要か 7.夜も眠れなくなるような問題 トップダウン、ボトムアップで説明する中で「これだ!」と言えるものが無い… 主要・重要の切り分けがついていない 8.期間を見極める 4つの視点とマイルストーンを使って全 体を把握しロードマップを明らかにする
  28. 28. モデルで考えるか 動くもので考えるか 考慮点 ・どこまで全体を俯瞰する必要があるのか ・モデルで考えるのが早いか動くもので考える方が早いか ・そのプロジェクトにとってHowを考えることが重要か否か ・革新的か否か(実物を見ないと判断できない) ~ 図で考える 動くもので考える 表現方法 フォーカス 関心 What What&How モデル 動くも の ポイント 不可逆な時間 の中で「今」何 を行う必要があ るのか
  29. 29. 不可逆な時間の中で手戻りを減らすために 「決めすぎず、決めなさすぎず」 不可逆な時間の中で手戻りをどう減らすか 制約 制約 制約 次の作業は前の制約の中で考える システム価値システム価値 もの サービス 利害関係者 ユー ザ 要求 価値 外部システム システム外部環境 システムシステム 機能 データ 機能 システム境界 システム価値 システム外部環境 システムシステム システム境界 システム価値 システム外部環境 システムシステム システム境界 システム価値 システム外部環境 システムシステム システム境界 システム価値 システム外部環境 システムシステム システム境界 制約を作りこむ ・4つの視点には依存関係がある ・4つの視点と制約を合わせる ・一度に決めない 徐々に洗練化する ・力点を明確にする
  30. 30. RUPに対応させてみる A B C D E A B C D E RDRA 方向づけ・推敲内の4つのイテレーショ ン(A~D)で活用 各々の要求・分析にRDRAのモデルを 重点を変えながら対応させる A B C D
  31. 31. マイルストーン毎の力点の移動 (既存システムの再構築例) マイルストーン1 マイルストーン2 最重点モデル 最重点モデル マイルストーン4 最重点 モデル 網羅性 整合性 マイルストーン3 サブシステム分割
  32. 32. システム価値 システム外部環境 システム境界 システム コンテキスト 利用シーン 業務 イベント プロトコル ユースケース 概念 画面・帳表 機能 ドメイン データ 要求 機能複合 モデル 利用シーン &UC 業務&UC UC&画面 UC&機能 関係ダイアグラム システムの地図 A- 32 ここまでできたら開発に移行する 具体的に対象を指し認識を合わせ られることが重要
  33. 33. 制約 制約 制約 本日のまとめ A- 33 システム 不可逆な時間の中で手戻りを減らす 4つの視点で制 約を作りこむ RDRA • 視点の異なる情報をつなげて素早く要件を決める • 全体視点で合意するべきところを明示し反復開発に つなげる • システムの地図で全体を管理する 作業領域で制約 を作りこむ
  34. 34. ビジネスキャンバスでビジネスモデルのポイントが示される おまけ1 ビジネスキャンバスからつなぐ 34
  35. 35. ビジネスモデルキャンバス A-35 問題はここからど うシステム化するか コスト構造 収益の流れ パ ー ト ナ ー 顧 客 セ グ メ ン ト 価 値 提 案リソース 主要活動 チャネル 顧客との 関係 ビジネスモデルジェネレーションより
  36. 36. コスト構造 収益構造 パ ー ト ナ ー 顧 客 セ グ メ ン ト 価 値 提 案 リソース 主要活動 チャネル 顧客との 関係 登場人物 もの・サービス 配送手段 決済手段 アクター 外部システム 業務フロー・ワークフロー 利用シーン ビジネスキャンバス RDRA ビジネスモデル図 バリエーションの 組み合わせから 細かな条件が整 理される バリエーション分析 システム化の目的 要求 概念 ビジネスキャンバスからRDRAモデルへ ビジネスキャンバスから 具体的なビジネスルールを導き出す
  37. 37. ビジネスキャンバスに対応するモデル 会社 顧客 入金 商品 注文 請求 仕入先 コンテキスト 業務 プロトコル ユース ケース 画面・帳表 ドメイン データ 要求 イベント 概念 情報 情報 情報 商品 コスト構造 収益の流れ パ ー ト ナ ー 顧 客 セ グ メ ン ト 価 値 提 案リソー ス 主要活 動 チャネ ル 顧客と の関係 バリデーション分析 モデルを使っ て具体的に 分析する
  38. 38. 保守で使えるモデル 視覚的なトレーサビリティを実現する おまけ2 トレーサビリティを確保したモデル RDRA RDRA 保守用 開発のV字モデル
  39. 39. 変更の影響度を測る トレーサビリティ 変更 影響 影響 影響 影響 影響 影響 影響 影響
  40. 40. 実装としてのつながりを視覚化 A-40 画面 機能 データ class 受注伝票 <<ADWindow>> Sales Order <<ADTab>> Order Line <<ADTab>> Order <<ADTab>> Order Tax <<ADTab>> POS Payment <<ADTab>> Payment Schedule <<interface>> 注文(Order)::I_C_Order <<interface>> 注文(Order)::I_C_OrderLine <<interface>> 注文(Order)::I_C_OrderTax <<interface>> 支払い(Payment):: I_C_POSPayment <<interface>> 注文(Order)::I_C_OrderPaySchedule 注文(Order)::c_order 注文(Order):: c_orderline 注文(Order):: c_ordertax 注文(Order)::c_orderpayschedule POS Payment:: c_pospayment 見積受注管理(c) : 見積受注管理(c) 画面 機能 Interface データ dm 注文(order) c_cashplanline c_order c_orderline c_orderpayschedule c_ordersource c_ordertax c_uom c_paymentterm c_payschedule m_warehouse c_activity c_campaign c_bpartner_location c_currency c_charge m_product c_tax c_project m_promotion m_shipper c_bpartner ビジネスパートナーとの関係 受注先 business partner 納品先 dropship 請求先 bil 支払先 pay プログラム (変更・拡張点) データの広がり コードを確認
  41. 41. 使用するモデル A-41 システム価値 システム外部環境 システム境界 システム コンテキスト 利用シーン 業務 イベント プロトコル ユースケース 概念 画面・帳表 機能 ドメイン データ 要求 機能複合 モデル 利用シーン &UC 業務&UC UC&画面 UC&機能
  42. 42. トレーサビリティを手に入れる pkg 販売管理 DataModelView <<table>> 注文(Order) (from 受発注管理(c)) <<table>> 出荷/受領(inOut) (from 出荷・受領・生産(m)) <<table>> パッケージ(package) (from 出荷・受領・生産(m)) <<table>> 割当(allocation) (from 受発注管理(c)) <<table>> 請求(Invoice) (from 受発注管理(c)) <<table>> 手数料(comission) (from 受発注管理(c)) 受注伝票 (from 見積受注管理) 注文(Order) (from 受発注管理(c)) 出荷納品伝票 (from 出荷納品管理) 売上請求伝票 (from 売上請求管理) 受発注管理(c) (from データ) 出荷・受領・生産(m) (from データ) <<table>> 製品 (from 製品(Product)) 製品管理 (from マスタ管理) 出荷・受領(inOut) (from 出荷・受領・生産(m)) 支払い(Payment) (from 受発注管理(c)) 請求(Invoice) (from 受発注管理(c)) <<table>> 支払(Payment) (from 受発注管理(c)) ここに入金用のビューを 置く 販売管理の主要パッケージ pkg 業務分析 販売管理 購買管理 マスタ管理 返品管理 class 受注伝票 <<ADWindow>> Sales Order <<ADTab>> Order Line <<ADTab>> Order <<ADTab>> Order Tax <<ADTab>> POS Payment <<ADTab>> Payment Schedule <<interface>> 注文(Order)::I_C_Order <<interface>> 注文(Order)::I_C_OrderLine <<interface>> 注文(Order)::I_C_OrderTax <<interface>> 支払い(Payment):: I_C_POSPayment <<interface>> 注文(Order)::I_C_OrderPaySchedule 注文(Order)::c_order 注文(Order):: c_orderline 注文(Order):: c_ordertax 注文(Order)::c_orderpayschedule POS Payment:: c_pospayment 見積受注管理(c) : 見積受注管理(c) dm 注文(order) c_cashplanline c_order c_orderline c_orderpayschedule c_ordersource c_ordertax c_uom c_paymentterm c_payschedule m_warehouse c_activity c_campaign c_bpartner_location c_currency c_charge m_product c_tax c_project m_promotion m_shipper c_bpartner ビジネスパートナーとの関係 受注先 business partner 納品先 dropship 請求先 bil 支払先 pay

×