SlideShare a Scribd company logo
プログラムの大海に溺れないために

                 大規模な既存システムを
                  調べるモデリング手法


JavaFesta 2011             株式会社バリューソース
•   ㈱バリューソース
    • 代表取締役         社長         要件のツボ
    • 神崎     善司
    • zkanzaki@vsa.co.jp
    • はてな:good_way
    • twitter:zenzengood


•   仕事の領域
    • 要件定義を中心としたコンサルティング
    • オブジェクト指向、要件定義などのセミナー講師
    • 要件定義ツールの開発
上流工程勉強会                             主催
•   2011年    開発プロセス          保守性        アーキテクチャ   要件定義
    •   第11回   DDD助走編 クラス図 モデリング演習
        第10回   要件のツボを使った要件定義演習
        第 9回   アーキテクチャ設計 演習
        第 8回   2時間で要件定義
        第 7回   現状分析のモデル化手法
        第 6回   保守に必要なドキュメント
        第 5回   保守性コストを下げる具体的な方法を考えよう!
        第 4回   開発コストを下げる具体的な方法を考えよう!
        第 3回   開発プロセス第3段 「包括フレームワークを分析する」
        第 2回   開発プロセス第2段 「包括フレームワークを分析する」
        第 1回   開発プロセスの工程の考え方


•   2012年    テーマ:Domain Driven Design
    •   上流工程のための基礎的なテクニックの習得
    •
•   11月19日
    •   既存システムの分析モデリング                   演習
    •   申込:ATND   http://atnd.org/events/21040

                                                    要件のツボ
既存システムを取り巻く状況は



             プログラム
    ドキュメント           利用者
キングファイルが積み上がる


   ドキュメント



               書き
               写す
   プログラム



            調べる対象がはっ
             きりしている
プログラム単位のドキュメント化
•   混沌とした一枚岩のシステムをプログラム単位で調べてもシス
    テム化の判断には役に立たない




          Prg
札幌市にはどのような機能・働き
がありますか?




             プログラムを調べる
             ことは、家を一軒々
              調べるのと同じ
そんな現場では
• 何を書くんですか?
• どの範囲まで書くんですか?
• どの粒度で書くんですか?
一ヶ月後
• いつまでやるんですか?




• 目的が曖昧なままスタートしたので終わるタイミングが分
  からない
そして…
AS-ISの資料作成がいつのまにかTO-BEの資料作成に



              この部分は君が詳しい
              から次期システムもこ
              こは君が担当してくれ
このようなときのフレーズ
  既存のシステムとほぼ同じ…..
             実際は




 ほとんど同じ
既存システムと同じで
    なんでこんなにコストがかかるの?
                               コスト
  コストに対する認識の差

   コスト

                         新規
           既存     既存    システム
          システム   システム
システム利     とほぼ同                 システム開
用者の視点       じ                  発者の認識




        保守限界が来たのでシステムを再構築する!
どうやって認識の差をうめるの?
          仕様を定義する時間を圧縮する
          既存システムから効率的に情報を取得する

                          仕様を決
                          めるため
                          のコスト

                           新規
    既存     既存     新規      システム
   システム   システム
   とほぼ同          システム
     じ




           ビジネスルールを取得する
仕様を決
                  めるため
                  のコスト

                   新規
            新規    システム
           システム




コストをかけずに既存システムから情報
を取り出す

                         14/54
何を調べたいのか
•   現在のシステムはこうなっている
•   次のシステムの方向性はこうだ!
•   だから次のシステムはこうする


•   必要なことを   判断出来る情報が重要!
•   判断するためには何を何のためにが分かる必要がある


•   そのために    つじつまのあう説明ができる

• 詳細な情報は必要なときに調べる
ルール
                     都市設計における道路整備
そのために…               宅地造成等規制法
                     ~



         宅
         地
             商業地


               宅地


                          住所が現実と
                           結びつける
目指すべきは
•   プログラムに左右されずにシステムが何を行っているかを明らかにする
    •   システムに関わるビジネスルールを整理する


•   既存システムを調べる時に大事なことは
    •   何ができればいいのか
    •   どう整合しているのか
         •   主要な機能は?
         •   主要なデータは?
         •   機能とデータの関係は?
•   そこからシステムに埋もれたビジネスルールを掘り起こす


•   そこで…
•       システムを捉えるための地図が必要だ!
•        地図の代わりになるものは?
システムの地図はモデルだ!
えっ     モデリング    ほんとか?




•   既存のシステムを調べているんだ    モデリングしたいわけではない
•   モデルと既存のシステムの関係は?


    • 既存のシステムは綺麗ではない
    • 綺麗なモデルは現実と離れていく


• 綺麗なモデルは結局何を表しているんだ!
既存のシステムとは
• 様々な制約によってプログラムが混沌としている



      Prg   Prg




                  Prg

                        Prg
どうモデルを活かす

• 現実とつながりながら現実の混沌に
 影響されずに     整理する
• そのためには…


• 前提
 • 細かなロジックにこだわらなくていい
 • 既存システムの仕組みは無視していい
現実と   つながりながら現実の混沌に影響されずに整理する
        入力                        モデル            出力
             情報                                       情報
             タイミング                                    タイミング
                       機能                 機能
                       機能                 機能
                       機能                 機能




  システム境界のレベルで一致させる                   主要なテーブルを意味的なつながりで整理

        入力                    既存システム             出力
          情報                                       情報
          タイミング                                    タイミング
                            Prg




                     物理制約         時間制約   開発時制約
何を捉える
•   システム境界とデータを捉える




    だから~   情報のない中でどうやってやるんですか?
資料がないと言っても…..
•   たいてい以下のドキュメントはある
    • テーブル定義書   ⇒   RDBスキーマ
    • 電文レイアウト
    • ファイル交換のファイル定義書
•   稼働しているシステムがある
    • 画面・帳票を確認できる


•   保守されているシステムについては


    • データと他システムにつながる部分の情報はある
システムをよく知らないといっても
• 保守を行っている人は
 • この機能はこういうことを行っている
   • ここでこうするとあそこに影響する
   • こうしたいときはここをこうすればいんだよ


 • 制約の説明
   • ここは時間がなくてこうしちゃったんだ!
   • この時代はこういうルールだったんだ

                           Why
分析

どう分析するのか?


            26/54
分析方針
• 集められる情報から集める

• 抜けたピースを探す
• 抜けたビースを創造する

• 集めた情報の特徴から切り込む
  • 分類する
  • 関係をつかむ

• そこでビジネスしている人のノウハウを体系的に視覚化する
ビジネスルールの表現
•   ビジネスルールの表現方法
    • 構造的なルール
      • 情報の関係性


    • 振る舞いのルール
      • 状態の変化       状態   状態



    • 条件
      • 表
      • デシジョンテーブル
システムの種類を意識する
•   データ集約的なシステム
    • 入れポン   出しポン
    • 入力と出力を把握できればいい

•   状態監視的なシステム
    • 監視対象があって今を意識
    • 一連の手続きの管理
                        監視
      • プロセス管理          対象

      • ロングトランザクション管理
    • 状態としてルールを整理
ビジネスルールを捉える
                       サービス
                        規約

             機能

             機能

             機能

             機能

入出力のタイミング    機能
と情報から振る舞い
のルールを導き出す            情報構造を整理し
                     主要な情報と制約、
                      ルールを導き出す



            外部システム
材料を揃え・構造化してノウハウを視覚化する

 • 入出力情報    • ビジネスルール
 • データ
              利用規約

               パンフレット




  ノウハウ
どうやってモデルを作る


              32/54
認識する情報
•   入出力                    •   データ
    • 画面       使用している画面        • テーブル定義書
    • 帳票         〃             • ファイルレイアウト
    • 通信       電文レイアウト
    • データ交換                •   ビジネスルール
      • File   Fileレイアウト       • パンフレット
      • DB     テーブル定義書         • サービス規約    利用規約
                                 ….
手順
•   材料を集める                  •   ビジネスルールを掘り起こす
    •   画面      画面をハードコピー
                                • 補助的情報をもとに関係を
    •   帳票        〃
                                  • XX規約
    •   データ     RDBのスキーマ
                ファイルレイアウト            • サービス利用規約…
    •   通信      通信電文                 • パンフレット

•   材料を記録する
                            •   情報を分類する
    •   材料をアイコンとして登録する
                                • パッケージング
    •   関係をつなげる
        • 構造化                   • パッケージ間の関係を整理する
    •   材料を情報化する
モデルの全体イメージ


        画面             機能
                                  データ


             受信        機能
                                 データ     データ
 システム
                  電文

             送信             機能     A機能


                            電文   定周期日
ビジネスルールを明らかにする

  条件

           画面               機能
                                      構造のルール
                                       データ


                  受信        機能
                                      データ         データ
           システム
                       電文

                  送信             機能         A機能
振る舞いのルール
                                 電文   定周期日
記述のパターン
画面処理               Fileによるデータ交換
画面          機能     File交換入         機能        File



                   File交換出         機能        File
通信
システム   受信   機能
                   DBによるデータ交換
                   DB交換入           機能        データ
            電文


                   DB交換出           機能        データ
送信          システム


       機能   電文
                   定周期
                   定周期日      A機能        送信    YY機能
材料を集める:システム境界を捉える

       データ交換


                      DB
       受ける
                             帳票
                 送信
システム        通信
                 受信
                             画面
       渡す

                      File


       データ交換
入出力をイベントで統一的に扱う
                   •   システム境界をイベントとして扱う
画面

                       • ポイント
      受信
                         • 画面やデータ交換
      送信
                           は実体に合わす
      送信    File

      受信    DB          画面

                             システム
     イベント
材料を集める:データを捉える


       データ交換


                      DB
       受ける
                                          帳票
                              データ
                 送信
システム        通信
                 受信          データ    データ
                                          画面
       渡す

                      File


       データ交換
データと機能の整理
•   データ
    • ほとんどの場合DBのテーブル整理
         • ER図の作成:主要なテーブルを識別
•   機能
    • イベントに対応付ける
    • バッチに対応付ける
•   機能とデータを結びつける
    • CRUD
                                    <CRUD>
                      イベント     機能            データ


                       画面      機能
                                             データ
システム境界とデータから        機能を洗い出す
             画面
                   システム
                   機能
              受信                 <CU>
        受信                <U>
                   機能

                   機能     <R>
              受信
 システム                      <R>
                   機能
              送信                    データ
                            <RD>
                   機能
        送信    送信           CRUD

                   File
状態を整理し振る舞いをルール化する
                            A画面




                                    DB
                              受信
                   受ける
                                                  A画面
                                            開始前                     開始済み
                                                  A_File
                              受信
                                                           B_File     B画面
          システム
                                                            解約待ち
                              送信


                       送る
                                   A_File


     XXX / YY機能
状態                状態         状態の遷移として整理
システムが関心をもつ状態を捉える
•   ユーザが認識している状態を把握するために
    • 画面上の情報
    • オペレータが画面の振る舞いとして認識しているもの
    • テーブル上の区分やフラグなど
    • テーブルの関係
    • ビジネス上の概念
    • ユーザ認識しているID・No
隠れた情報をあぶり出す
•   隠れた情報
    • 複数の意味をもつデータ
      • 意味の違うものを一つのレイアウトで扱う


    • 複数のイベントを一度に扱う
      • タイミングが隠れる




                 システム
            情報
サブシステムに分類する

             画面
                          機能


             受信           機能
        受信


             受信           機能

 システム
                          機能
             送信


        送信                機能
              送信
                   File
分け方にはパターンがある

           共通系

    会員管理   ….    ….




     横展開
掘り起し岩を砕く


           46/54
プログラムからモデルの分類の確度を測る




              プログラム
ボトムアップの分析
            共通系    横展開
            データ(テーブル)を分類
        A                       プログラムとテーブル
                                の関係を調べる
    A




プ
ロ
グ                     プログラム   データ   CRUD
ラ
ム
を
分
類
パッケージ間のインターフェース化
           • 次期システムのパッ
             ケージ化の参考にする


           • 段階的なシステム再構
             築の対象を決める
モデルイメージ          モデル名はRDRAベース
  画面・帳票モデル               イベントモデル




                             プロトコルモデル

データモデル       機能複合モデル(CRUD)
まとめ
ビジネス            モデル
 ルール                              • システム境界とデータで合
         機能            機能           わせる
         機能            機能
         機能            機能         • 特徴をつかみ洗練化する
                                  • 分類し整理する
                                  • 得られる情報から切り口を
                                    探し整理する
              既存システム

          Prg


                                  • ビジネスルールを
   Prg

                            Prg


                                    把握する

More Related Content

Viewers also liked

コーディングスタイル入門~人に伝えるプログラミング~
コーディングスタイル入門~人に伝えるプログラミング~コーディングスタイル入門~人に伝えるプログラミング~
コーディングスタイル入門~人に伝えるプログラミング~
Hideki MACHIDA
 
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
Horiguchi Seito
 
コーディングが上達するコツ
コーディングが上達するコツコーディングが上達するコツ
コーディングが上達するコツ
evol-ni
 
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
narumikanno0918
 
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
Yusuke Hirao
 
プログラムを高速化する話
プログラムを高速化する話プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
 

Viewers also liked (6)

コーディングスタイル入門~人に伝えるプログラミング~
コーディングスタイル入門~人に伝えるプログラミング~コーディングスタイル入門~人に伝えるプログラミング~
コーディングスタイル入門~人に伝えるプログラミング~
 
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
 
コーディングが上達するコツ
コーディングが上達するコツコーディングが上達するコツ
コーディングが上達するコツ
 
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
 
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
 
プログラムを高速化する話
プログラムを高速化する話プログラムを高速化する話
プログラムを高速化する話
 

Similar to プログラムの大海に溺れないために

Relationship driven requirement analysis
Relationship driven requirement analysisRelationship driven requirement analysis
Relationship driven requirement analysis
Kent Ishizawa
 
As-Isシステム分析は入出力から始めよ
As-Isシステム分析は入出力から始めよAs-Isシステム分析は入出力から始めよ
As-Isシステム分析は入出力から始めよ
Kent Ishizawa
 
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏Developers Summit
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展
Recruit Technologies
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムRecruit Technologies
 
第2章アーキテクチャ
第2章アーキテクチャ第2章アーキテクチャ
第2章アーキテクチャ
Kenta Hattori
 
Oracle設計
Oracle設計Oracle設計
Oracle設計
Kouta Shiobara
 
ドメイン駆動設計という仕事の流儀
ドメイン駆動設計という仕事の流儀ドメイン駆動設計という仕事の流儀
ドメイン駆動設計という仕事の流儀
増田 亨
 
Tech Ed 2009 Japan T3-309 Microsoft Business Productivity Online Services 技術概要
Tech Ed 2009 Japan T3-309 Microsoft Business Productivity Online Services 技術概要Tech Ed 2009 Japan T3-309 Microsoft Business Productivity Online Services 技術概要
Tech Ed 2009 Japan T3-309 Microsoft Business Productivity Online Services 技術概要
kumo2010
 
Localization in SOE
Localization in SOELocalization in SOE
Localization in SOE
SIG-Glocalization
 
SOE-Loc
SOE-LocSOE-Loc
SOE-Loc
guestd67d078
 
SOE-LOC
SOE-LOCSOE-LOC
SOE-LOC
Kenji Ono
 
Big data解析ビジネス
Big data解析ビジネスBig data解析ビジネス
Big data解析ビジネス
Mie Mori
 
Jubatusでマルウェア分類
Jubatusでマルウェア分類Jubatusでマルウェア分類
Jubatusでマルウェア分類
Shuzo Kashihara
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門
増田 亨
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
 
ユーザ目線の実践的BPM
ユーザ目線の実践的BPMユーザ目線の実践的BPM
ユーザ目線の実践的BPM
Shigeaki Wakizaka
 
マイニング探検会#10
マイニング探検会#10マイニング探検会#10
マイニング探検会#10
Yoji Kiyota
 

Similar to プログラムの大海に溺れないために (20)

Relationship driven requirement analysis
Relationship driven requirement analysisRelationship driven requirement analysis
Relationship driven requirement analysis
 
As-Isシステム分析は入出力から始めよ
As-Isシステム分析は入出力から始めよAs-Isシステム分析は入出力から始めよ
As-Isシステム分析は入出力から始めよ
 
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
 
第2章アーキテクチャ
第2章アーキテクチャ第2章アーキテクチャ
第2章アーキテクチャ
 
Oracle設計
Oracle設計Oracle設計
Oracle設計
 
ドメイン駆動設計という仕事の流儀
ドメイン駆動設計という仕事の流儀ドメイン駆動設計という仕事の流儀
ドメイン駆動設計という仕事の流儀
 
Tech Ed 2009 Japan T3-309 Microsoft Business Productivity Online Services 技術概要
Tech Ed 2009 Japan T3-309 Microsoft Business Productivity Online Services 技術概要Tech Ed 2009 Japan T3-309 Microsoft Business Productivity Online Services 技術概要
Tech Ed 2009 Japan T3-309 Microsoft Business Productivity Online Services 技術概要
 
Localization in SOE
Localization in SOELocalization in SOE
Localization in SOE
 
SOE-Loc
SOE-LocSOE-Loc
SOE-Loc
 
SOE-LOC
SOE-LOCSOE-LOC
SOE-LOC
 
Big data解析ビジネス
Big data解析ビジネスBig data解析ビジネス
Big data解析ビジネス
 
Jubatusでマルウェア分類
Jubatusでマルウェア分類Jubatusでマルウェア分類
Jubatusでマルウェア分類
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
 
BPStudy20121221
BPStudy20121221BPStudy20121221
BPStudy20121221
 
ユーザ目線の実践的BPM
ユーザ目線の実践的BPMユーザ目線の実践的BPM
ユーザ目線の実践的BPM
 
マイニング探検会#10
マイニング探検会#10マイニング探検会#10
マイニング探検会#10
 

More from Zenji Kanzaki

AI時代の要件定義
AI時代の要件定義AI時代の要件定義
AI時代の要件定義
Zenji Kanzaki
 
ChatGPTを使った要件定義のRDRA的考察.pdf
ChatGPTを使った要件定義のRDRA的考察.pdfChatGPTを使った要件定義のRDRA的考察.pdf
ChatGPTを使った要件定義のRDRA的考察.pdf
Zenji Kanzaki
 
商流物流金流.pdf
商流物流金流.pdf商流物流金流.pdf
商流物流金流.pdf
Zenji Kanzaki
 
Rdra2.0 redmine
Rdra2.0 redmineRdra2.0 redmine
Rdra2.0 redmine
Zenji Kanzaki
 
Rdraモデリングをしよう
RdraモデリングをしようRdraモデリングをしよう
Rdraモデリングをしよう
Zenji Kanzaki
 
ToBe図書館モデル
ToBe図書館モデルToBe図書館モデル
ToBe図書館モデル
Zenji Kanzaki
 
現状分析→価値開発→仕様化 To be
現状分析→価値開発→仕様化 To be現状分析→価値開発→仕様化 To be
現状分析→価値開発→仕様化 To be
Zenji Kanzaki
 
現状分析→価値開発→仕様化 As is
現状分析→価値開発→仕様化 As is現状分析→価値開発→仕様化 As is
現状分析→価値開発→仕様化 As is
Zenji Kanzaki
 
RDRAモデリングを見てみよう
RDRAモデリングを見てみようRDRAモデリングを見てみよう
RDRAモデリングを見てみよう
Zenji Kanzaki
 
Rdraはどう形作られたか?
Rdraはどう形作られたか?Rdraはどう形作られたか?
Rdraはどう形作られたか?
Zenji Kanzaki
 
RDRAにおける合意形成の仕組み
RDRAにおける合意形成の仕組みRDRAにおける合意形成の仕組み
RDRAにおける合意形成の仕組み
Zenji Kanzaki
 
CCSRを実現するRDRA活用法
CCSRを実現するRDRA活用法CCSRを実現するRDRA活用法
CCSRを実現するRDRA活用法
Zenji Kanzaki
 
雲の上の要件定義
雲の上の要件定義雲の上の要件定義
雲の上の要件定義
Zenji Kanzaki
 
顧客にもわかるモデリング
顧客にもわかるモデリング顧客にもわかるモデリング
顧客にもわかるモデリング
Zenji Kanzaki
 
Ooc 2020
Ooc 2020Ooc 2020
Ooc 2020
Zenji Kanzaki
 
オブジェクト指向方法論OMT まとめ
オブジェクト指向方法論OMT まとめオブジェクト指向方法論OMT まとめ
オブジェクト指向方法論OMT まとめ
Zenji Kanzaki
 
不動産販売システム
不動産販売システム不動産販売システム
不動産販売システム
Zenji Kanzaki
 
話題沸騰ポッド RDRAモデル
話題沸騰ポッド RDRAモデル話題沸騰ポッド RDRAモデル
話題沸騰ポッド RDRAモデル
Zenji Kanzaki
 
基幹システム RDRAモデル
基幹システム RDRAモデル基幹システム RDRAモデル
基幹システム RDRAモデル
Zenji Kanzaki
 
基幹システムの可視化技法
基幹システムの可視化技法基幹システムの可視化技法
基幹システムの可視化技法
Zenji Kanzaki
 

More from Zenji Kanzaki (20)

AI時代の要件定義
AI時代の要件定義AI時代の要件定義
AI時代の要件定義
 
ChatGPTを使った要件定義のRDRA的考察.pdf
ChatGPTを使った要件定義のRDRA的考察.pdfChatGPTを使った要件定義のRDRA的考察.pdf
ChatGPTを使った要件定義のRDRA的考察.pdf
 
商流物流金流.pdf
商流物流金流.pdf商流物流金流.pdf
商流物流金流.pdf
 
Rdra2.0 redmine
Rdra2.0 redmineRdra2.0 redmine
Rdra2.0 redmine
 
Rdraモデリングをしよう
RdraモデリングをしようRdraモデリングをしよう
Rdraモデリングをしよう
 
ToBe図書館モデル
ToBe図書館モデルToBe図書館モデル
ToBe図書館モデル
 
現状分析→価値開発→仕様化 To be
現状分析→価値開発→仕様化 To be現状分析→価値開発→仕様化 To be
現状分析→価値開発→仕様化 To be
 
現状分析→価値開発→仕様化 As is
現状分析→価値開発→仕様化 As is現状分析→価値開発→仕様化 As is
現状分析→価値開発→仕様化 As is
 
RDRAモデリングを見てみよう
RDRAモデリングを見てみようRDRAモデリングを見てみよう
RDRAモデリングを見てみよう
 
Rdraはどう形作られたか?
Rdraはどう形作られたか?Rdraはどう形作られたか?
Rdraはどう形作られたか?
 
RDRAにおける合意形成の仕組み
RDRAにおける合意形成の仕組みRDRAにおける合意形成の仕組み
RDRAにおける合意形成の仕組み
 
CCSRを実現するRDRA活用法
CCSRを実現するRDRA活用法CCSRを実現するRDRA活用法
CCSRを実現するRDRA活用法
 
雲の上の要件定義
雲の上の要件定義雲の上の要件定義
雲の上の要件定義
 
顧客にもわかるモデリング
顧客にもわかるモデリング顧客にもわかるモデリング
顧客にもわかるモデリング
 
Ooc 2020
Ooc 2020Ooc 2020
Ooc 2020
 
オブジェクト指向方法論OMT まとめ
オブジェクト指向方法論OMT まとめオブジェクト指向方法論OMT まとめ
オブジェクト指向方法論OMT まとめ
 
不動産販売システム
不動産販売システム不動産販売システム
不動産販売システム
 
話題沸騰ポッド RDRAモデル
話題沸騰ポッド RDRAモデル話題沸騰ポッド RDRAモデル
話題沸騰ポッド RDRAモデル
 
基幹システム RDRAモデル
基幹システム RDRAモデル基幹システム RDRAモデル
基幹システム RDRAモデル
 
基幹システムの可視化技法
基幹システムの可視化技法基幹システムの可視化技法
基幹システムの可視化技法
 

Recently uploaded

FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
CRI Japan, Inc.
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 

Recently uploaded (16)

FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 

プログラムの大海に溺れないために

  • 1. プログラムの大海に溺れないために 大規模な既存システムを 調べるモデリング手法 JavaFesta 2011 株式会社バリューソース
  • 2. ㈱バリューソース • 代表取締役 社長 要件のツボ • 神崎 善司 • zkanzaki@vsa.co.jp • はてな:good_way • twitter:zenzengood • 仕事の領域 • 要件定義を中心としたコンサルティング • オブジェクト指向、要件定義などのセミナー講師 • 要件定義ツールの開発
  • 3. 上流工程勉強会 主催 • 2011年 開発プロセス 保守性 アーキテクチャ 要件定義 • 第11回 DDD助走編 クラス図 モデリング演習 第10回 要件のツボを使った要件定義演習 第 9回 アーキテクチャ設計 演習 第 8回 2時間で要件定義 第 7回 現状分析のモデル化手法 第 6回 保守に必要なドキュメント 第 5回 保守性コストを下げる具体的な方法を考えよう! 第 4回 開発コストを下げる具体的な方法を考えよう! 第 3回 開発プロセス第3段 「包括フレームワークを分析する」 第 2回 開発プロセス第2段 「包括フレームワークを分析する」 第 1回 開発プロセスの工程の考え方 • 2012年 テーマ:Domain Driven Design • 上流工程のための基礎的なテクニックの習得 • • 11月19日 • 既存システムの分析モデリング 演習 • 申込:ATND http://atnd.org/events/21040 要件のツボ
  • 4. 既存システムを取り巻く状況は プログラム ドキュメント 利用者
  • 5. キングファイルが積み上がる ドキュメント 書き 写す プログラム 調べる対象がはっ きりしている
  • 6. プログラム単位のドキュメント化 • 混沌とした一枚岩のシステムをプログラム単位で調べてもシス テム化の判断には役に立たない Prg
  • 7. 札幌市にはどのような機能・働き がありますか? プログラムを調べる ことは、家を一軒々 調べるのと同じ
  • 10. そして… AS-ISの資料作成がいつのまにかTO-BEの資料作成に この部分は君が詳しい から次期システムもこ こは君が担当してくれ
  • 12. 既存システムと同じで なんでこんなにコストがかかるの? コスト コストに対する認識の差 コスト 新規 既存 既存 システム システム システム システム利 とほぼ同 システム開 用者の視点 じ 発者の認識 保守限界が来たのでシステムを再構築する!
  • 13. どうやって認識の差をうめるの? 仕様を定義する時間を圧縮する 既存システムから効率的に情報を取得する 仕様を決 めるため のコスト 新規 既存 既存 新規 システム システム システム とほぼ同 システム じ ビジネスルールを取得する
  • 14. 仕様を決 めるため のコスト 新規 新規 システム システム コストをかけずに既存システムから情報 を取り出す 14/54
  • 15. 何を調べたいのか • 現在のシステムはこうなっている • 次のシステムの方向性はこうだ! • だから次のシステムはこうする • 必要なことを 判断出来る情報が重要! • 判断するためには何を何のためにが分かる必要がある • そのために つじつまのあう説明ができる • 詳細な情報は必要なときに調べる
  • 16. ルール 都市設計における道路整備 そのために… 宅地造成等規制法 ~ 宅 地 商業地 宅地 住所が現実と 結びつける
  • 17. 目指すべきは • プログラムに左右されずにシステムが何を行っているかを明らかにする • システムに関わるビジネスルールを整理する • 既存システムを調べる時に大事なことは • 何ができればいいのか • どう整合しているのか • 主要な機能は? • 主要なデータは? • 機能とデータの関係は? • そこからシステムに埋もれたビジネスルールを掘り起こす • そこで… • システムを捉えるための地図が必要だ! • 地図の代わりになるものは?
  • 19. えっ モデリング ほんとか? • 既存のシステムを調べているんだ モデリングしたいわけではない • モデルと既存のシステムの関係は? • 既存のシステムは綺麗ではない • 綺麗なモデルは現実と離れていく • 綺麗なモデルは結局何を表しているんだ!
  • 21. どうモデルを活かす • 現実とつながりながら現実の混沌に 影響されずに 整理する • そのためには… • 前提 • 細かなロジックにこだわらなくていい • 既存システムの仕組みは無視していい
  • 22. 現実と つながりながら現実の混沌に影響されずに整理する 入力 モデル 出力 情報 情報 タイミング タイミング 機能 機能 機能 機能 機能 機能 システム境界のレベルで一致させる 主要なテーブルを意味的なつながりで整理 入力 既存システム 出力 情報 情報 タイミング タイミング Prg 物理制約 時間制約 開発時制約
  • 23. 何を捉える • システム境界とデータを捉える だから~ 情報のない中でどうやってやるんですか?
  • 24. 資料がないと言っても….. • たいてい以下のドキュメントはある • テーブル定義書 ⇒ RDBスキーマ • 電文レイアウト • ファイル交換のファイル定義書 • 稼働しているシステムがある • 画面・帳票を確認できる • 保守されているシステムについては • データと他システムにつながる部分の情報はある
  • 25. システムをよく知らないといっても • 保守を行っている人は • この機能はこういうことを行っている • ここでこうするとあそこに影響する • こうしたいときはここをこうすればいんだよ • 制約の説明 • ここは時間がなくてこうしちゃったんだ! • この時代はこういうルールだったんだ Why
  • 27. 分析方針 • 集められる情報から集める • 抜けたピースを探す • 抜けたビースを創造する • 集めた情報の特徴から切り込む • 分類する • 関係をつかむ • そこでビジネスしている人のノウハウを体系的に視覚化する
  • 28. ビジネスルールの表現 • ビジネスルールの表現方法 • 構造的なルール • 情報の関係性 • 振る舞いのルール • 状態の変化 状態 状態 • 条件 • 表 • デシジョンテーブル
  • 29. システムの種類を意識する • データ集約的なシステム • 入れポン 出しポン • 入力と出力を把握できればいい • 状態監視的なシステム • 監視対象があって今を意識 • 一連の手続きの管理 監視 • プロセス管理 対象 • ロングトランザクション管理 • 状態としてルールを整理
  • 30. ビジネスルールを捉える サービス 規約 機能 機能 機能 機能 入出力のタイミング 機能 と情報から振る舞い のルールを導き出す 情報構造を整理し 主要な情報と制約、 ルールを導き出す 外部システム
  • 31. 材料を揃え・構造化してノウハウを視覚化する • 入出力情報 • ビジネスルール • データ 利用規約 パンフレット ノウハウ
  • 33. 認識する情報 • 入出力 • データ • 画面 使用している画面 • テーブル定義書 • 帳票 〃 • ファイルレイアウト • 通信 電文レイアウト • データ交換 • ビジネスルール • File Fileレイアウト • パンフレット • DB テーブル定義書 • サービス規約 利用規約 ….
  • 34. 手順 • 材料を集める • ビジネスルールを掘り起こす • 画面 画面をハードコピー • 補助的情報をもとに関係を • 帳票 〃 • XX規約 • データ RDBのスキーマ ファイルレイアウト • サービス利用規約… • 通信 通信電文 • パンフレット • 材料を記録する • 情報を分類する • 材料をアイコンとして登録する • パッケージング • 関係をつなげる • 構造化 • パッケージ間の関係を整理する • 材料を情報化する
  • 35. モデルの全体イメージ 画面 機能 データ 受信 機能 データ データ システム 電文 送信 機能 A機能 電文 定周期日
  • 36. ビジネスルールを明らかにする 条件 画面 機能 構造のルール データ 受信 機能 データ データ システム 電文 送信 機能 A機能 振る舞いのルール 電文 定周期日
  • 37. 記述のパターン 画面処理 Fileによるデータ交換 画面 機能 File交換入 機能 File File交換出 機能 File 通信 システム 受信 機能 DBによるデータ交換 DB交換入 機能 データ 電文 DB交換出 機能 データ 送信 システム 機能 電文 定周期 定周期日 A機能 送信 YY機能
  • 38. 材料を集める:システム境界を捉える データ交換 DB 受ける 帳票 送信 システム 通信 受信 画面 渡す File データ交換
  • 39. 入出力をイベントで統一的に扱う • システム境界をイベントとして扱う 画面 • ポイント 受信 • 画面やデータ交換 送信 は実体に合わす 送信 File 受信 DB 画面 システム イベント
  • 40. 材料を集める:データを捉える データ交換 DB 受ける 帳票 データ 送信 システム 通信 受信 データ データ 画面 渡す File データ交換
  • 41. データと機能の整理 • データ • ほとんどの場合DBのテーブル整理 • ER図の作成:主要なテーブルを識別 • 機能 • イベントに対応付ける • バッチに対応付ける • 機能とデータを結びつける • CRUD <CRUD> イベント 機能 データ 画面 機能 データ
  • 42. システム境界とデータから 機能を洗い出す 画面 システム 機能 受信 <CU> 受信 <U> 機能 機能 <R> 受信 システム <R> 機能 送信 データ <RD> 機能 送信 送信 CRUD File
  • 43. 状態を整理し振る舞いをルール化する A画面 DB 受信 受ける A画面 開始前 開始済み A_File 受信 B_File B画面 システム 解約待ち 送信 送る A_File XXX / YY機能 状態 状態 状態の遷移として整理
  • 44. システムが関心をもつ状態を捉える • ユーザが認識している状態を把握するために • 画面上の情報 • オペレータが画面の振る舞いとして認識しているもの • テーブル上の区分やフラグなど • テーブルの関係 • ビジネス上の概念 • ユーザ認識しているID・No
  • 45. 隠れた情報をあぶり出す • 隠れた情報 • 複数の意味をもつデータ • 意味の違うものを一つのレイアウトで扱う • 複数のイベントを一度に扱う • タイミングが隠れる システム 情報
  • 46. サブシステムに分類する 画面 機能 受信 機能 受信 受信 機能 システム 機能 送信 送信 機能 送信 File
  • 47. 分け方にはパターンがある 共通系 会員管理 …. …. 横展開
  • 50. ボトムアップの分析 共通系 横展開 データ(テーブル)を分類 A プログラムとテーブル の関係を調べる A プ ロ グ プログラム データ CRUD ラ ム を 分 類
  • 51. パッケージ間のインターフェース化 • 次期システムのパッ ケージ化の参考にする • 段階的なシステム再構 築の対象を決める
  • 52. モデルイメージ モデル名はRDRAベース 画面・帳票モデル イベントモデル プロトコルモデル データモデル 機能複合モデル(CRUD)
  • 53. まとめ ビジネス モデル ルール • システム境界とデータで合 機能 機能 わせる 機能 機能 機能 機能 • 特徴をつかみ洗練化する • 分類し整理する • 得られる情報から切り口を 探し整理する 既存システム Prg • ビジネスルールを Prg Prg 把握する