Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Rdra4越境アジャイル

1,784 views

Published on

越境アジャイルにおけるRDRAの位置づけ、そこに向けたシステム地図の表現方法と既存システムの調査方法を示す

Published in: Technology
  • Be the first to comment

Rdra4越境アジャイル

  1. 1. バックエンドに切り込む 既存システムの全体像を把握する
  2. 2. わたしは… • ㈱バリューソース – 代表取締役 社長 – 神崎 善司 – zkanzaki@vsa.co.jp – 要件定義の散歩道:https://www.facebook.com/youkennotsubo – twitter:@zenzengood • 要件定義手法の開発 – RDRA Relationship driven requirement analysis • 普段は – システム企画・要件定義などの支援 – セミナー開催(要件定義、モデリング) – 要件定義用ツールの開発 • 要件定義との関係は – 25年ほど前からオブジェクト指向を中心にシステム開発全般に関わる – 20年ほど前から上流工程を中心としたセミナー・コンサルティングを行う – その間一貫してモデル中心で行う – その経験を活かしてモデルを使った要件定義の手法をRDRAとしてまとめる
  3. 3. システム価 値 システム外部環境 システム境界 システム コンテキスト 利用シーン 業務 イベント ユースケース 概念 画面・帳表 機能 ドメイン データ 要求 機能複合 モデル 利用シーン &UC 業務&UC 状態 UC:ユーケース UC&画面 UC&機能 RDRAとは プロトコル 依存 画面 ユースケース 機能 データ・ ドメイン 外部システム イベント 要求
  4. 4. バックエンドシス テム サービス フロント システムの 地図を作る
  5. 5. バックエンドシス テム 何をどう表現する どのように作成す る システムの 地図を作る
  6. 6. 何が どこにあ る 地図は何を表している
  7. 7. 区役所 XXホテル病院 駅 何が 役割の名前で対象 を理解する どこにあ り 北 南 西 東 道路を中心に住所を表 す
  8. 8. 一方通行 指定方向外 進行禁止 目的地に進むためには 道路のルールに従う ローカルなルール も 出典livedoor.blogimg.jp
  9. 9. システムに置き換えると バックエンドシステム <何が> 入出力が <どこにあるのか> どのサブシステムのどのユースケース(画 面) 入出力 サブシステム 分類 UC UC UC UC UC UC UC UCUC UC UC UC UC
  10. 10. システムに切り込むには バックエンドシス テム 変更 機能追加 ビジネス要求 影響範囲をどう 見つけるのか ルール 影響範囲 影響範囲
  11. 11. ルールの可視化 データ 影響範囲 影響範囲 機能 機能 機能 機能 機能 機能 機能 機能とデータの関 係を可視化する
  12. 12. 何がどこに ルールが見 えない システム境界 システム UC 機能
  13. 13. ビジネスルールの表現 システム 入出力 構造のルー ル 振舞のルール 状態の変化 <式> 金額=単価*数量 式、表形式の ルール 状態 1 * 情報の時系列の変化
  14. 14. コスト構造 収益構造 パ ー ト ナ ー 顧 客 セ グ メ ン ト 価 値 提 案リソース 主要活動 チャネル 顧客との 関係 概念 取引先 商品 取引 組合せによる特報を分析 ビジネスモデル分析 リッチピクチャ 会社 顧客 デリバリ パート ナー 商品 商品 サービス パート ナー サービス 営業 購 買 物流 取引 バリエーション分析 ビジネスルールの洗い出し ビジネスルール ビジネスモデルキャンバス
  15. 15. ビジネスルールがロジックに埋め込まれる データ 機能 機能 機能 機能 機能 機能 機能 <式> 金額=単価*数量 状態 1 * 振舞のルール 構造のルール 式・条件
  16. 16. システム価 値 システム外部環境 システム境界 システム コンテキスト 利用シーン 業務 イベント ユースケース 概念 画面・帳表 機能 ドメイン データ 要求 機能複合 モデル 利用シーン &UC 業務&UC UC:ユーケース UC&画面 UC&機能 システム地図の構成要素 プロトコル
  17. 17. 既存システムを調べ方 まともなドキュメントもないし、全体を理解している人もいない
  18. 18. プログラム単位のドキュメント化 • 混沌とした一枚岩のシステムをプログラム単位 で調べてもシステム化の判断には役に立たない Prg
  19. 19. 既存システムは… • 様々な制約によってプログラムが混沌としている Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg
  20. 20. 既存システムをわかりやすく整理する モデル入力 情報 タイミング 機能 機能 機能 機能 機能 機能 出力 情報 タイミング 既存システム Prg 物理制約 時間制約 開発時制約 入力 情報 タイミング 出力 情報 タイミング 現実とつながりながら現実の混沌に影響されずに整理する システム境界とデータを一致させる
  21. 21. 既存システムの情報はあまりないと言っても • たいてい以下のドキュメントはある – テーブル定義書(実DBのスキーマ定義) – 電文レイアウト – ファイル交換のファイル定義書 • 保守されているシステムについては – データとシステム境界の情報はある システム境界
  22. 22. システムをよく知らないといっても • この機能はこういうことを行っている – ここでこうするとあそこに影響する – こうしたいときはここをこうすればいんだよ • 制約の説明 – ここは時間がなくてこうしちゃったんだ! – この時代はこういうルールだったんだ
  23. 23. 具体的な分析法 分析
  24. 24. 分析方針 • 集めやすい情報から集める • 抜けたピースを探す • 集めた情報の特徴から切り込む – 分類する – 関係をつかむ
  25. 25. システム境界とデータを捉える 画面 システム 受信 送信 DB File 送信 受信 帳票 データ交換 データ交換 入出力 画面 稼働しているシステム 帳票 〃 通信 電文レイアウト データ交換 File Fileレイアウト DB テーブル定義書 データ テーブル定義書 ファイルレイアウト
  26. 26. 入出力をイベントで統一的に扱う • システム境界をイベントとして 扱う – ポイント • 入出力は実体に合わす 画面 受信 送信 DB File 受信 送信 システム 画面 受信 送信 イベント
  27. 27. 状態の遷移として整理 ステートマシン 状態を振る舞いのルールとする A画面 システム 受信 送信 DB A_File 送信 受信 受信 送信 解約待ち 開始済み開始前 A画面 B画面 A_File B_File 状態 状態 XXX / YY機能 状態の洗い出し • 画面上の情報 • オペレータが認識しているもの状態 • テーブル上の区分やフラグなど • テーブルの関係 • ビジネス上の概念
  28. 28. CRUD 既存のプログラムに影響されずに機能を記述する 機能 機能 機能 機能 画面 システム 受信 送信 File 送信 受信 受信 送信 機能 <CU> <U> <R> <R> <RD> イベント、データ、ステートマシンを元に機能を洗 い出す
  29. 29. 記述のパターン 定周期 日 YY機能送信A機能 システム 受信 機能 通信 送信 機能 システム 画面 機能 機能 FileFile交換入 機能File交換出 電文 File 電文 Fileによるデータ交換画面処理 定周期 機能DB交換入 機能DB交換出 DBによるデータ交換 データ データ
  30. 30. 画面・データ・機能・バッチの整理 • 画面 – 主要な画面を洗い出す – 画面の内容から状態を洗い出す – サブシステムに分類する • データ – ER図の作成: 主要なテーブルを識別 – サブシステムに分類する • 機能 – イベントに対応付ける(ステートマシン) – バッチに対応付ける • バッチの種類 – 本来のバッチ処理 – 定周期処理 ⇒ イベント – 入出力のバッチ ⇒ イベント • File交換、DB経由 – ポイント データ交換の処理とバッチ処理を切り分ける
  31. 31. 隠れた情報をあぶり出す • 隠れた情報 – 複数の意味をもつデータ • 意味の違うものを一つのレイアウトで扱う – 複数のイベントを一度に扱う • タイミングが隠れる システム 情報
  32. 32. モデルイメージ 軽め
  33. 33. モデルイメージ 重め 画面・帳票モデル イベントモデル プロトコルモデル データモデル 機能複合モデル(CRUD)
  34. 34. まとめ モデル 機能 機能 機能 機能 機能 機能 既存システム Prg Prg Prg システム境界とデータを一致させる 画面 機能 データ・ ドメイン 外部システム イベント 状態

×