SlideShare a Scribd company logo
1 of 43
Download to read offline
As-Is   ステム分析は入出力から始めよ


既存システムの全体像を把握する

               株式会社バリューソース 神崎善司
わたしは
   ㈱バリューソース
       代表取締役 社長
       神崎 善司                             要件のツボ
       zkanzaki@vsa.co.jp
       はてな:good_way
       twitter:zenzengood
                                http://www.vsa.co.jp/ka
   普段は                         name
       要件定義のコンサルテーション
       オブジェクト指向やUMLのセミナー開催
       要件定義ツール「要件のツボ」開発
   経験
       20年ほど前からオブジェクト指向を中心にシステム開発全般のコンサルティングを行う
       10年ほど前から上流工程を中心としたコンサルティングを行う
       その経験を活かしてモデルを使った要件定義の手法をまとめる
       大規模システムの保守性向上のための既存システムの分析を行う
既存システムを取り巻く状況は
   ドキュメントがない
   ドキュメントは最新ではない

   ソースが最新かどうか分からない
   さまざまな言語で開発されている
   聞いたことがない言語である
   アーキテクチャが明確ではない

   システムの利用者
       普段使っている機能だけ知っている
       なんでこうなっているのか分からない
問題のはじまり
   新システムの企画段階で

       今のうちに既存のシステムを調べよう


       システムのドキュメントを再度作成する!
よく起こること

   システムのドキュメントを整理する → プログラム単位の
    ドキュメント

   数千本のプログラムについて細かい仕様を調べる
   複数の担当者が担当を割り振られ黙々と作る

       キングファイルが積み上がる
プログラム単位のドキュメント化

   混沌とした一枚岩のシステムをプログラム単位で調べてもシステム化
    の判断には役に立たない


                 Prg
                                   Prg          Prg
                             Prg
                      Prg                 Prg          Prg
          Prg
                      Prg
          Prg                            Prg      Prg
                      Prg

                Prg                      Prg     Prg
                            Prg
そんな現場では
   何を書くんですか?
   どの範囲まで書くんですか?
   どの粒度で書くんですか?
一ヶ月後
   いつまでやるんですか?

       やれと言われればやりますが。   ??????


   目的が曖昧なままスタートしたので終わるタイミングが分か
    らない
そして…

   As-Isの資料作成がいつのまにかTo-Beの資料作成に

       この部分は君が詳しいから次期システムもここは君が担当してくれ

       細かいことは分かるけど、次期システムについて判断出来ない

       結局方向性のない焼き直しシステムができあがる

       データ構造の見直しは行われず 保守性はいっこうに改善しない
迷信

   保守中のバグは新システムでは再現させたくない
       何でシステムで同じようなバグが出るの?


   既存のシステムとほとんど同じだから…
       「ほとんど」とはどこですか?   ?????
          イメージ              実際は
           ほとんど同じ

   「細かいことを知っている」は「システムをよく知っている」ことに
    ならない
       結局システムは何をしているのですか?    ?????
どうすりゃいい
何を調べたいのか
   現在のシステムはこうなっている
   次のシステムの方向性はこうだ!
   だから次のシステムはこうする


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


   つまり   つじつまのあう説明ができる
目指すべきは
   プログラムに左右されずにシステムが何を行っているかを明
    らかにする

   システムにとって大事なことは
   何ができればいいのか
   どう整合しているのか
       主要な機能は?
       主要な情報は?
       機能と情報の関係は?


そこで…
 本質を捉えるためにモデリングだ
えっ モデリング               ほんとか?

   既存のシステムを調べているんだ
       モデルと既存のシステムの関係は?

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


           綺麗なモデルは結局何を表しているんだ!
どうモデルを活かす

   現実とつながりながら現実の混沌に影

    響されずに    整理する
   そのためには…

   前提
       細かなルールにこだわらなくていい
       既存システムの仕組みは無視していい
既存のシステムとは

   様々な制約によってプログラムが混沌としている



         Prg     Prg
                                              Prg
                            Prg   Prg
                      Prg               Prg
          Prg                                   Prg
                      Prg               Prg
          Prg                                   Prg
                      Prg               Prg

                Prg                             Prg
何を捉える

   システム境界とデータを捉える




     だから~ 情報のない中でどうやってやるんですか?
ドキュメントがないと言っても

   たいてい以下のドキュメントはある
       テーブル定義書
       電文レイアウト
       ファイル交換のファイル定義書

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

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


   制約の説明
       ここは時間がなくてこうしちゃったんだ!
       この時代はこういうルールだったんだ
具体的にどうするの?

        分析
分析方針
   集めやすい情報から集める


   抜けたピースを探す


   集めた情報の特徴から切り込む
       分類する
       関係をつかむ
現実とつながりながら現実の混沌に影響されずに整理する
      入力                          モデル                     出力
       情報                                                  情報
       タイミング                                               タイミング
                      機能                       機能
                      機能                       機能
                      機能                       機能




               システム境界のレベルで一致させる

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




                物理制約             時間制約        開発時制約
認識する情報

   入出力
       画面   稼働しているシステム
       帳票    〃
       通信   電文レイアウト
       データ交換
           File   Fileレイアウト
           DB     テーブル定義書
   データ
       テーブル定義書
       ファイルレイアウト
システムの入出力を捉える
   データ集約的なシステム
       入れポン 出しポン


       入力と出力を把握できればいい
システム境界を捉える


                               帳票
                         画面

          データ交換
                  DB
         受信



              送信
  システム
                          通信
              受信


         送信
                  File

          データ交換
システムが関心をもつ状態を捉える
   状態監視的なシステム
       監視対象があって今を意識
       一連の手続きの管理 プロセス管理、ロングトランザクション管
        理

       状態としてルールを整理

   ユーザが認識している状態を把握するために
       画面上の情報
       オペレータが画面の振る舞いとして認識しているもの
       テーブル上の区分やフラグなど
       テーブルの関係
       ビジネス上の概念
状態を振る舞いのルールとする

                            A画面




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


                       送信     送信   A_File



     XXX / YY機能
状態                状態

                              状態の遷移として整理
入出力をイベントで統一的に扱う

                      システム境界をイベントとして
画面
                       扱う
      受信
                          ポイント
      送信
                            画面やデータ交換は
      送信    File            実体に合わす
      受信    DB             画面

                           受信     システム
     イベント                  送信
隠れた情報をあぶり出す

   隠れた情報
       複数の意味をもつデータ
           意味の違うものを一つのレイアウトで扱う


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




                        システム
                 情報
既存のプログラムに影響されずに機能を記述す
る


              画面



                    機能
               受信                  <CU>
         受信                <U>
                    機能

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

                    File
データと機能の整理

   データ
       ほとんどの場合DBのテーブル整理
           ER図の作成: 主要なテーブルを識別
           サブシステムに分類する

   機能
       イベントに対応付ける
       バッチに対応付ける          イベント   機能
バッチを洗い出す
   バッチの種類
       定期監視
       本来のバッチ処理

       入出力のバッチ
           File交換
           DB経由


       ポイント
            データ交換の処理とバッチ処理を切り分ける
記述のパターン
画面処理               Fileによるデータ交換
画面          機能     File交換入         機能        File



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


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


       機能   電文     定周期
                    定周期      A機能        送信    YY機能
                     日
システムを適切な大きさに分割する
   事実                          規模25のシステムを分けると重複
                                分を含めて規模30に増える。
       ある閾値を境に開発費は急激に上昇する      しかし、それが閾値よりも低ければ
       システム開発に関わる変化を止めることは     重複分5は無視できる

        できない
                                規模10               規模20


                                             重複5
   いかに分けるか
                                             規模30
       データ中心にわける
       機能を中心にわける                   45
                                    40
       業務を中心にわける             工数
                                    30
                                    25
                              コスト   20
                                    15
                                    10

       綺麗に分けようとしない                  5

                                         5    10    15   20   25
       その企業の文化に併せて分割する                  規模              閾
                                                         値
サブシステムに分類する


             画面
                          機能


             受信           機能
        受信

                          機能
             受信
 システム                     機能
             送信


        送信    送信          機能

                   File
分け方の例
                            分けやすいところ
   データ中心                    から分ける
       データを役割から分ける
                           その分類に他のも
       業務別にデータを分ける          のを寄せる
       データに機能を紐付け分類する
                            特徴をつかみ方
                             針を決める
   機能中心
       機能の役割から分ける
       業務別に機能を分ける
       機能にデータを紐付け分類する   暗黙的な分類を引き出す
                         制約を意識する
掘り起し岩を砕く
特徴をつかみそこから切り込む

   トップダウンアプローチ
       ビジネスモデルから把握する
           会社の外の登場人物を整理する
           会社の中の登場人物を整理する
           ビジネスモデルとしての分類を求める

   ボトムアップアプローチ
       CRUD表
           正確なCRUD表ではなく妥当なコストで把握できる精度のものを目指
            す
           マクロにながめる
           プログラムの分類を見直す
           テーブルの分類を見直す
トップダウンアプローチ
                  会社外の登場人物
                            登場        登場
                            人物        人物
                   登場                       登場
                   人物                       人物

                  登場             会社              登場
                  人物                             人物



                  会社内の登場人物

                       部署                  部署
                                 会社

・切り込めるところから切り込む        部署                  部署
・いろいろな手を試す
ボトムアップアプローチ
                  分類をモデルとあわす
CRUD表      テーブル



プ
ロ
グ
ラ
ム
RDRA(リレーションシップ駆動要件分析)全体像
システム価値   システム外部環境           システム境界                システム
                                      画面・帳表                データ
          業務
                  業務&UC
                            UC&画面
                                              機能複合
コンテキスト                                        モデル



         概念


                                 ユースケース


                                          UC&機能

                                                            ドメイン

要求

                      利用シーン
                      &UC
                                      プロトコル
          利用シーン

                                                      機能




         ②                イベント            ①          UC:ユーケース
どう管理するのか
 コンテキスト
 ドメインモデル
 システム論理構成

     サブシステム

           パッケージA

            画面・帳票モデル
            イベントモデル
             データモデル
            機能複合モデル
            プロトコルモデル

           パッケージB
まとめ
                   モデル
                                              システム境界とデータで
        機能

        機能
                                機能
                                               合わせる
                                機能
        機能                      機能


                                              特徴をつかみ洗練化す
                                               る
 システム境界のレベルで一致させる

              既存システム
                                              分類し整理する
                   Prg   Prg
             Prg               Prg
  Prg                                Prg
             Prg
  Prg
             Prg
                               Prg

                               Prg
                                     Prg      得られる情報から切り口
                                               を探し整理する

More Related Content

What's hot

Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~Hinemos
 
マルチクラウドDWH(Snowflake)のすすめ
マルチクラウドDWH(Snowflake)のすすめマルチクラウドDWH(Snowflake)のすすめ
マルチクラウドDWH(Snowflake)のすすめYuuta Hishinuma
 
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くしたNginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くしたtoshi_pp
 
Elastic Cloudを利用したセキュリティ監視の事例
Elastic Cloudを利用したセキュリティ監視の事例 Elastic Cloudを利用したセキュリティ監視の事例
Elastic Cloudを利用したセキュリティ監視の事例 Elasticsearch
 
IoT と時系列データと Elasticsearch | Data Pipeline Casual Talk Vol.4
IoT と時系列データと Elasticsearch | Data Pipeline Casual Talk Vol.4IoT と時系列データと Elasticsearch | Data Pipeline Casual Talk Vol.4
IoT と時系列データと Elasticsearch | Data Pipeline Casual Talk Vol.4SORACOM,INC
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~NTT DATA OSS Professional Services
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングTomoya Hibi
 
IETF111 RATS: Remote Attestation ProcedureS 報告
IETF111 RATS: Remote Attestation ProcedureS 報告IETF111 RATS: Remote Attestation ProcedureS 報告
IETF111 RATS: Remote Attestation ProcedureS 報告Kuniyasu Suzaki
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理NTT DATA Technology & Innovation
 
マイクロサービスの基盤として注目の「NGINX」最新情報 | 20180127 OSC2018 OSAKA
マイクロサービスの基盤として注目の「NGINX」最新情報 | 20180127 OSC2018 OSAKAマイクロサービスの基盤として注目の「NGINX」最新情報 | 20180127 OSC2018 OSAKA
マイクロサービスの基盤として注目の「NGINX」最新情報 | 20180127 OSC2018 OSAKAMurata Tatsuhiro
 
次世代データ基盤としてのSnowflakeの可能性 SnowDay 20211208
次世代データ基盤としてのSnowflakeの可能性 SnowDay 20211208 次世代データ基盤としてのSnowflakeの可能性 SnowDay 20211208
次世代データ基盤としてのSnowflakeの可能性 SnowDay 20211208 Kazuhiro Mitsuhashi
 
Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例Taro L. Saito
 
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)Masaya Tahara
 
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?Masahito Zembutsu
 
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)NTT DATA Technology & Innovation
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方Yoshiyasu SAEKI
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化Kumazaki Hiroki
 

What's hot (20)

Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
 
マルチクラウドDWH(Snowflake)のすすめ
マルチクラウドDWH(Snowflake)のすすめマルチクラウドDWH(Snowflake)のすすめ
マルチクラウドDWH(Snowflake)のすすめ
 
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くしたNginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
 
Elastic Cloudを利用したセキュリティ監視の事例
Elastic Cloudを利用したセキュリティ監視の事例 Elastic Cloudを利用したセキュリティ監視の事例
Elastic Cloudを利用したセキュリティ監視の事例
 
IoT と時系列データと Elasticsearch | Data Pipeline Casual Talk Vol.4
IoT と時系列データと Elasticsearch | Data Pipeline Casual Talk Vol.4IoT と時系列データと Elasticsearch | Data Pipeline Casual Talk Vol.4
IoT と時系列データと Elasticsearch | Data Pipeline Casual Talk Vol.4
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
 
KafkaとPulsar
KafkaとPulsarKafkaとPulsar
KafkaとPulsar
 
IETF111 RATS: Remote Attestation ProcedureS 報告
IETF111 RATS: Remote Attestation ProcedureS 報告IETF111 RATS: Remote Attestation ProcedureS 報告
IETF111 RATS: Remote Attestation ProcedureS 報告
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
 
マイクロサービスの基盤として注目の「NGINX」最新情報 | 20180127 OSC2018 OSAKA
マイクロサービスの基盤として注目の「NGINX」最新情報 | 20180127 OSC2018 OSAKAマイクロサービスの基盤として注目の「NGINX」最新情報 | 20180127 OSC2018 OSAKA
マイクロサービスの基盤として注目の「NGINX」最新情報 | 20180127 OSC2018 OSAKA
 
次世代データ基盤としてのSnowflakeの可能性 SnowDay 20211208
次世代データ基盤としてのSnowflakeの可能性 SnowDay 20211208 次世代データ基盤としてのSnowflakeの可能性 SnowDay 20211208
次世代データ基盤としてのSnowflakeの可能性 SnowDay 20211208
 
Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例
 
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
 
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
 
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
 
Spring Cloud Data Flow の紹介 #streamctjp
Spring Cloud Data Flow の紹介  #streamctjpSpring Cloud Data Flow の紹介  #streamctjp
Spring Cloud Data Flow の紹介 #streamctjp
 
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門するKeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化
 

Viewers also liked

レガシーシステム再生のアンチパターン
レガシーシステム再生のアンチパターンレガシーシステム再生のアンチパターン
レガシーシステム再生のアンチパターンKent Ishizawa
 
As-Isシステムをマクロなソース解析によって見える化しよう
As-Isシステムをマクロなソース解析によって見える化しようAs-Isシステムをマクロなソース解析によって見える化しよう
As-Isシステムをマクロなソース解析によって見える化しようKent Ishizawa
 
モデルベース要件定義 at BPStudy
モデルベース要件定義 at BPStudyモデルベース要件定義 at BPStudy
モデルベース要件定義 at BPStudyZenji Kanzaki
 
プロフェッショナル要件定義の教科書』の内容が 要件定義を考える上で大切だったのでまとめてみた
プロフェッショナル要件定義の教科書』の内容が要件定義を考える上で大切だったのでまとめてみたプロフェッショナル要件定義の教科書』の内容が要件定義を考える上で大切だったのでまとめてみた
プロフェッショナル要件定義の教科書』の内容が 要件定義を考える上で大切だったのでまとめてみたAyumu Kohiyama
 
要件定義すれば要求が理解できる、なんてことはない
要件定義すれば要求が理解できる、なんてことはない要件定義すれば要求が理解できる、なんてことはない
要件定義すれば要求が理解できる、なんてことはないYusuke Suzuki
 
Zabbix監視運用業務の自動化事例
Zabbix監視運用業務の自動化事例Zabbix監視運用業務の自動化事例
Zabbix監視運用業務の自動化事例OSSラボ株式会社
 
第74回名古屋アジャイル勉強会「後悔しない要件定義のまとめ方」
第74回名古屋アジャイル勉強会「後悔しない要件定義のまとめ方」第74回名古屋アジャイル勉強会「後悔しない要件定義のまとめ方」
第74回名古屋アジャイル勉強会「後悔しない要件定義のまとめ方」hiroyuki Yamamoto
 
ビジネスモデルをシステムにつなげる
ビジネスモデルをシステムにつなげるビジネスモデルをシステムにつなげる
ビジネスモデルをシステムにつなげるZenji Kanzaki
 
さくさく要件定義セミナー in 大阪
さくさく要件定義セミナー in 大阪さくさく要件定義セミナー in 大阪
さくさく要件定義セミナー in 大阪Zenji Kanzaki
 

Viewers also liked (9)

レガシーシステム再生のアンチパターン
レガシーシステム再生のアンチパターンレガシーシステム再生のアンチパターン
レガシーシステム再生のアンチパターン
 
As-Isシステムをマクロなソース解析によって見える化しよう
As-Isシステムをマクロなソース解析によって見える化しようAs-Isシステムをマクロなソース解析によって見える化しよう
As-Isシステムをマクロなソース解析によって見える化しよう
 
モデルベース要件定義 at BPStudy
モデルベース要件定義 at BPStudyモデルベース要件定義 at BPStudy
モデルベース要件定義 at BPStudy
 
プロフェッショナル要件定義の教科書』の内容が 要件定義を考える上で大切だったのでまとめてみた
プロフェッショナル要件定義の教科書』の内容が要件定義を考える上で大切だったのでまとめてみたプロフェッショナル要件定義の教科書』の内容が要件定義を考える上で大切だったのでまとめてみた
プロフェッショナル要件定義の教科書』の内容が 要件定義を考える上で大切だったのでまとめてみた
 
要件定義すれば要求が理解できる、なんてことはない
要件定義すれば要求が理解できる、なんてことはない要件定義すれば要求が理解できる、なんてことはない
要件定義すれば要求が理解できる、なんてことはない
 
Zabbix監視運用業務の自動化事例
Zabbix監視運用業務の自動化事例Zabbix監視運用業務の自動化事例
Zabbix監視運用業務の自動化事例
 
第74回名古屋アジャイル勉強会「後悔しない要件定義のまとめ方」
第74回名古屋アジャイル勉強会「後悔しない要件定義のまとめ方」第74回名古屋アジャイル勉強会「後悔しない要件定義のまとめ方」
第74回名古屋アジャイル勉強会「後悔しない要件定義のまとめ方」
 
ビジネスモデルをシステムにつなげる
ビジネスモデルをシステムにつなげるビジネスモデルをシステムにつなげる
ビジネスモデルをシステムにつなげる
 
さくさく要件定義セミナー in 大阪
さくさく要件定義セミナー in 大阪さくさく要件定義セミナー in 大阪
さくさく要件定義セミナー in 大阪
 

Similar to As-Isシステム分析は入出力から始めよ

プログラムの大海に溺れないために
プログラムの大海に溺れないためにプログラムの大海に溺れないために
プログラムの大海に溺れないためにZenji Kanzaki
 
オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用Ruo Ando
 
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Tadahiro Ishisaka
 
Kantara Initiative Seminar 2012 Panel Discussion
Kantara Initiative Seminar 2012 Panel DiscussionKantara Initiative Seminar 2012 Panel Discussion
Kantara Initiative Seminar 2012 Panel DiscussionNaohiro Fujie
 
20120405 setsunaセミナー
20120405 setsunaセミナー20120405 setsunaセミナー
20120405 setsunaセミナーTakahiro Iwase
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/05/12
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/05/12Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/05/12
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/05/12Akihiro HATANAKA
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムRecruit Technologies
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/02/10
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/02/10Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/02/10
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/02/10Akihiro HATANAKA
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/10/14
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/10/14Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/10/14
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/10/14Akihiro HATANAKA
 
Scis2015 ruo ando_2015-01-20-01
Scis2015 ruo ando_2015-01-20-01Scis2015 ruo ando_2015-01-20-01
Scis2015 ruo ando_2015-01-20-01Ruo Ando
 
Relationship driven requirement analysis
Relationship driven requirement analysisRelationship driven requirement analysis
Relationship driven requirement analysisKent Ishizawa
 
マイニング探検会#10
マイニング探検会#10マイニング探検会#10
マイニング探検会#10Yoji Kiyota
 
C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努Insight Technology, Inc.
 
第2章アーキテクチャ
第2章アーキテクチャ第2章アーキテクチャ
第2章アーキテクチャKenta Hattori
 
「モダンな」可視化アプリケーション開発とはどのようなものか?
「モダンな」可視化アプリケーション開発とはどのようなものか?「モダンな」可視化アプリケーション開発とはどのようなものか?
「モダンな」可視化アプリケーション開発とはどのようなものか?Keiichiro Ono
 

Similar to As-Isシステム分析は入出力から始めよ (20)

プログラムの大海に溺れないために
プログラムの大海に溺れないためにプログラムの大海に溺れないために
プログラムの大海に溺れないために
 
hbstudy#06
hbstudy#06hbstudy#06
hbstudy#06
 
オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用
 
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Ossで作成するチーム開発環境
Ossで作成するチーム開発環境
 
Kantara Initiative Seminar 2012 Panel Discussion
Kantara Initiative Seminar 2012 Panel DiscussionKantara Initiative Seminar 2012 Panel Discussion
Kantara Initiative Seminar 2012 Panel Discussion
 
20120405 setsunaセミナー
20120405 setsunaセミナー20120405 setsunaセミナー
20120405 setsunaセミナー
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/05/12
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/05/12Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/05/12
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/05/12
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/02/10
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/02/10Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/02/10
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/02/10
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/10/14
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/10/14Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/10/14
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/10/14
 
Scis2015 ruo ando_2015-01-20-01
Scis2015 ruo ando_2015-01-20-01Scis2015 ruo ando_2015-01-20-01
Scis2015 ruo ando_2015-01-20-01
 
Relationship driven requirement analysis
Relationship driven requirement analysisRelationship driven requirement analysis
Relationship driven requirement analysis
 
マイニング探検会#10
マイニング探検会#10マイニング探検会#10
マイニング探検会#10
 
C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努
 
第2章アーキテクチャ
第2章アーキテクチャ第2章アーキテクチャ
第2章アーキテクチャ
 
「モダンな」可視化アプリケーション開発とはどのようなものか?
「モダンな」可視化アプリケーション開発とはどのようなものか?「モダンな」可視化アプリケーション開発とはどのようなものか?
「モダンな」可視化アプリケーション開発とはどのようなものか?
 
HTML5&API総まくり
HTML5&API総まくりHTML5&API総まくり
HTML5&API総まくり
 
Apache geode at-s1p
Apache geode at-s1pApache geode at-s1p
Apache geode at-s1p
 
StreamGraph
StreamGraphStreamGraph
StreamGraph
 
S4
S4S4
S4
 

More from Kent Ishizawa

アーキテクチャ主導の情報システムへ
アーキテクチャ主導の情報システムへアーキテクチャ主導の情報システムへ
アーキテクチャ主導の情報システムへKent Ishizawa
 
納涼 和風要求開発小ネタ集
納涼 和風要求開発小ネタ集納涼 和風要求開発小ネタ集
納涼 和風要求開発小ネタ集Kent Ishizawa
 
要求開発×アジャイル開発×ドメイン駆動開発
要求開発×アジャイル開発×ドメイン駆動開発要求開発×アジャイル開発×ドメイン駆動開発
要求開発×アジャイル開発×ドメイン駆動開発Kent Ishizawa
 
要求開発をベースとした2つの企画メソッドの内容と事例紹介(公開用)
要求開発をベースとした2つの企画メソッドの内容と事例紹介(公開用)要求開発をベースとした2つの企画メソッドの内容と事例紹介(公開用)
要求開発をベースとした2つの企画メソッドの内容と事例紹介(公開用)Kent Ishizawa
 
ソースコードは要求にとって地球の裏側なのか
ソースコードは要求にとって地球の裏側なのかソースコードは要求にとって地球の裏側なのか
ソースコードは要求にとって地球の裏側なのかKent Ishizawa
 
20130222jojo@hanawaの還暦を嗤う会LT資料
20130222jojo@hanawaの還暦を嗤う会LT資料20130222jojo@hanawaの還暦を嗤う会LT資料
20130222jojo@hanawaの還暦を嗤う会LT資料Kent Ishizawa
 
【14-E-7】Technology Enterprise Development「悪ふざけに関する真面目な話」
【14-E-7】Technology Enterprise Development「悪ふざけに関する真面目な話」【14-E-7】Technology Enterprise Development「悪ふざけに関する真面目な話」
【14-E-7】Technology Enterprise Development「悪ふざけに関する真面目な話」Kent Ishizawa
 
要求開発を100倍面白く活用するには(公開用)
要求開発を100倍面白く活用するには(公開用)要求開発を100倍面白く活用するには(公開用)
要求開発を100倍面白く活用するには(公開用)Kent Ishizawa
 
アジャイル開発を可能にするEA
アジャイル開発を可能にするEAアジャイル開発を可能にするEA
アジャイル開発を可能にするEAKent Ishizawa
 
DMBOKをベースにしたデータマネジメント
DMBOKをベースにしたデータマネジメントDMBOKをベースにしたデータマネジメント
DMBOKをベースにしたデータマネジメントKent Ishizawa
 
ビジネスモデリングによる問題解決型アプローチ
ビジネスモデリングによる問題解決型アプローチ ビジネスモデリングによる問題解決型アプローチ
ビジネスモデリングによる問題解決型アプローチ Kent Ishizawa
 
製造業販売管理システム再構築における要求開発・モデリング
製造業販売管理システム再構築における要求開発・モデリング製造業販売管理システム再構築における要求開発・モデリング
製造業販売管理システム再構築における要求開発・モデリングKent Ishizawa
 
要求開発の発展と展開、そして課題
要求開発の発展と展開、そして課題要求開発の発展と展開、そして課題
要求開発の発展と展開、そして課題Kent Ishizawa
 
エンタープライズクラウドの現在(要求開発アライアンス3月定例会)
エンタープライズクラウドの現在(要求開発アライアンス3月定例会)エンタープライズクラウドの現在(要求開発アライアンス3月定例会)
エンタープライズクラウドの現在(要求開発アライアンス3月定例会)Kent Ishizawa
 
企画プロセスツールキット2011
企画プロセスツールキット2011企画プロセスツールキット2011
企画プロセスツールキット2011Kent Ishizawa
 
間欠的ビッグバンから継続的リフォームへ(公開版)
間欠的ビッグバンから継続的リフォームへ(公開版)間欠的ビッグバンから継続的リフォームへ(公開版)
間欠的ビッグバンから継続的リフォームへ(公開版)Kent Ishizawa
 
ドメイン駆動設計と要求開発
ドメイン駆動設計と要求開発ドメイン駆動設計と要求開発
ドメイン駆動設計と要求開発Kent Ishizawa
 
アジャイルについてちょっとだけよ
アジャイルについてちょっとだけよアジャイルについてちょっとだけよ
アジャイルについてちょっとだけよKent Ishizawa
 
【17 e-7】デブサミ2011要求開発アライアンス
【17 e-7】デブサミ2011要求開発アライアンス【17 e-7】デブサミ2011要求開発アライアンス
【17 e-7】デブサミ2011要求開発アライアンスKent Ishizawa
 
実演!要求開発の成果物をastah*でこう作れ
実演!要求開発の成果物をastah*でこう作れ実演!要求開発の成果物をastah*でこう作れ
実演!要求開発の成果物をastah*でこう作れKent Ishizawa
 

More from Kent Ishizawa (20)

アーキテクチャ主導の情報システムへ
アーキテクチャ主導の情報システムへアーキテクチャ主導の情報システムへ
アーキテクチャ主導の情報システムへ
 
納涼 和風要求開発小ネタ集
納涼 和風要求開発小ネタ集納涼 和風要求開発小ネタ集
納涼 和風要求開発小ネタ集
 
要求開発×アジャイル開発×ドメイン駆動開発
要求開発×アジャイル開発×ドメイン駆動開発要求開発×アジャイル開発×ドメイン駆動開発
要求開発×アジャイル開発×ドメイン駆動開発
 
要求開発をベースとした2つの企画メソッドの内容と事例紹介(公開用)
要求開発をベースとした2つの企画メソッドの内容と事例紹介(公開用)要求開発をベースとした2つの企画メソッドの内容と事例紹介(公開用)
要求開発をベースとした2つの企画メソッドの内容と事例紹介(公開用)
 
ソースコードは要求にとって地球の裏側なのか
ソースコードは要求にとって地球の裏側なのかソースコードは要求にとって地球の裏側なのか
ソースコードは要求にとって地球の裏側なのか
 
20130222jojo@hanawaの還暦を嗤う会LT資料
20130222jojo@hanawaの還暦を嗤う会LT資料20130222jojo@hanawaの還暦を嗤う会LT資料
20130222jojo@hanawaの還暦を嗤う会LT資料
 
【14-E-7】Technology Enterprise Development「悪ふざけに関する真面目な話」
【14-E-7】Technology Enterprise Development「悪ふざけに関する真面目な話」【14-E-7】Technology Enterprise Development「悪ふざけに関する真面目な話」
【14-E-7】Technology Enterprise Development「悪ふざけに関する真面目な話」
 
要求開発を100倍面白く活用するには(公開用)
要求開発を100倍面白く活用するには(公開用)要求開発を100倍面白く活用するには(公開用)
要求開発を100倍面白く活用するには(公開用)
 
アジャイル開発を可能にするEA
アジャイル開発を可能にするEAアジャイル開発を可能にするEA
アジャイル開発を可能にするEA
 
DMBOKをベースにしたデータマネジメント
DMBOKをベースにしたデータマネジメントDMBOKをベースにしたデータマネジメント
DMBOKをベースにしたデータマネジメント
 
ビジネスモデリングによる問題解決型アプローチ
ビジネスモデリングによる問題解決型アプローチ ビジネスモデリングによる問題解決型アプローチ
ビジネスモデリングによる問題解決型アプローチ
 
製造業販売管理システム再構築における要求開発・モデリング
製造業販売管理システム再構築における要求開発・モデリング製造業販売管理システム再構築における要求開発・モデリング
製造業販売管理システム再構築における要求開発・モデリング
 
要求開発の発展と展開、そして課題
要求開発の発展と展開、そして課題要求開発の発展と展開、そして課題
要求開発の発展と展開、そして課題
 
エンタープライズクラウドの現在(要求開発アライアンス3月定例会)
エンタープライズクラウドの現在(要求開発アライアンス3月定例会)エンタープライズクラウドの現在(要求開発アライアンス3月定例会)
エンタープライズクラウドの現在(要求開発アライアンス3月定例会)
 
企画プロセスツールキット2011
企画プロセスツールキット2011企画プロセスツールキット2011
企画プロセスツールキット2011
 
間欠的ビッグバンから継続的リフォームへ(公開版)
間欠的ビッグバンから継続的リフォームへ(公開版)間欠的ビッグバンから継続的リフォームへ(公開版)
間欠的ビッグバンから継続的リフォームへ(公開版)
 
ドメイン駆動設計と要求開発
ドメイン駆動設計と要求開発ドメイン駆動設計と要求開発
ドメイン駆動設計と要求開発
 
アジャイルについてちょっとだけよ
アジャイルについてちょっとだけよアジャイルについてちょっとだけよ
アジャイルについてちょっとだけよ
 
【17 e-7】デブサミ2011要求開発アライアンス
【17 e-7】デブサミ2011要求開発アライアンス【17 e-7】デブサミ2011要求開発アライアンス
【17 e-7】デブサミ2011要求開発アライアンス
 
実演!要求開発の成果物をastah*でこう作れ
実演!要求開発の成果物をastah*でこう作れ実演!要求開発の成果物をastah*でこう作れ
実演!要求開発の成果物をastah*でこう作れ
 

Recently uploaded

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 

Recently uploaded (8)

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 

As-Isシステム分析は入出力から始めよ

  • 1. As-Is ステム分析は入出力から始めよ 既存システムの全体像を把握する 株式会社バリューソース 神崎善司
  • 2. わたしは  ㈱バリューソース  代表取締役 社長  神崎 善司 要件のツボ  zkanzaki@vsa.co.jp  はてな:good_way  twitter:zenzengood http://www.vsa.co.jp/ka  普段は name  要件定義のコンサルテーション  オブジェクト指向やUMLのセミナー開催  要件定義ツール「要件のツボ」開発  経験  20年ほど前からオブジェクト指向を中心にシステム開発全般のコンサルティングを行う  10年ほど前から上流工程を中心としたコンサルティングを行う  その経験を活かしてモデルを使った要件定義の手法をまとめる  大規模システムの保守性向上のための既存システムの分析を行う
  • 3. 既存システムを取り巻く状況は  ドキュメントがない  ドキュメントは最新ではない  ソースが最新かどうか分からない  さまざまな言語で開発されている  聞いたことがない言語である  アーキテクチャが明確ではない  システムの利用者  普段使っている機能だけ知っている  なんでこうなっているのか分からない
  • 4. 問題のはじまり  新システムの企画段階で  今のうちに既存のシステムを調べよう  システムのドキュメントを再度作成する!
  • 5. よく起こること  システムのドキュメントを整理する → プログラム単位の ドキュメント  数千本のプログラムについて細かい仕様を調べる  複数の担当者が担当を割り振られ黙々と作る  キングファイルが積み上がる
  • 6. プログラム単位のドキュメント化  混沌とした一枚岩のシステムをプログラム単位で調べてもシステム化 の判断には役に立たない Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg
  • 7. そんな現場では  何を書くんですか?  どの範囲まで書くんですか?  どの粒度で書くんですか?
  • 8. 一ヶ月後  いつまでやるんですか?  やれと言われればやりますが。 ??????  目的が曖昧なままスタートしたので終わるタイミングが分か らない
  • 9. そして…  As-Isの資料作成がいつのまにかTo-Beの資料作成に  この部分は君が詳しいから次期システムもここは君が担当してくれ  細かいことは分かるけど、次期システムについて判断出来ない  結局方向性のない焼き直しシステムができあがる  データ構造の見直しは行われず 保守性はいっこうに改善しない
  • 10. 迷信  保守中のバグは新システムでは再現させたくない  何でシステムで同じようなバグが出るの?  既存のシステムとほとんど同じだから…  「ほとんど」とはどこですか? ????? イメージ 実際は ほとんど同じ  「細かいことを知っている」は「システムをよく知っている」ことに ならない  結局システムは何をしているのですか? ?????
  • 12. 何を調べたいのか  現在のシステムはこうなっている  次のシステムの方向性はこうだ!  だから次のシステムはこうする  必要なことを判断出来る情報が重要!  判断するためには何を何のためにが分かる必要 がある  つまり つじつまのあう説明ができる
  • 13. 目指すべきは  プログラムに左右されずにシステムが何を行っているかを明 らかにする  システムにとって大事なことは  何ができればいいのか  どう整合しているのか  主要な機能は?  主要な情報は?  機能と情報の関係は? そこで…  本質を捉えるためにモデリングだ
  • 14. えっ モデリング ほんとか?  既存のシステムを調べているんだ  モデルと既存のシステムの関係は?  既存のシステムは綺麗ではない  綺麗なモデルは現実と離れていく  綺麗なモデルは結局何を表しているんだ!
  • 15. どうモデルを活かす  現実とつながりながら現実の混沌に影 響されずに 整理する  そのためには…  前提  細かなルールにこだわらなくていい  既存システムの仕組みは無視していい
  • 16. 既存のシステムとは  様々な制約によってプログラムが混沌としている Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg
  • 17. 何を捉える  システム境界とデータを捉える だから~ 情報のない中でどうやってやるんですか?
  • 18. ドキュメントがないと言っても  たいてい以下のドキュメントはある  テーブル定義書  電文レイアウト  ファイル交換のファイル定義書  保守されているシステムについては  データと他システムにつながる部分の情報 はある
  • 19. システムをよく知らないといっても  この機能はこういうことを行っている  ここでこうするとあそこに影響する  こうしたいときはここをこうすればいんだよ  制約の説明  ここは時間がなくてこうしちゃったんだ!  この時代はこういうルールだったんだ
  • 21. 分析方針  集めやすい情報から集める  抜けたピースを探す  集めた情報の特徴から切り込む  分類する  関係をつかむ
  • 22. 現実とつながりながら現実の混沌に影響されずに整理する 入力 モデル 出力 情報 情報 タイミング タイミング 機能 機能 機能 機能 機能 機能 システム境界のレベルで一致させる 入力 既存システム 出力 情報 情報 タイミング Prg Prg タイミング Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg 物理制約 時間制約 開発時制約
  • 23. 認識する情報  入出力  画面 稼働しているシステム  帳票 〃  通信 電文レイアウト  データ交換  File Fileレイアウト  DB テーブル定義書  データ  テーブル定義書  ファイルレイアウト
  • 24. システムの入出力を捉える  データ集約的なシステム  入れポン 出しポン  入力と出力を把握できればいい
  • 25. システム境界を捉える 帳票 画面 データ交換 DB 受信 送信 システム 通信 受信 送信 File データ交換
  • 26. システムが関心をもつ状態を捉える  状態監視的なシステム  監視対象があって今を意識  一連の手続きの管理 プロセス管理、ロングトランザクション管 理  状態としてルールを整理  ユーザが認識している状態を把握するために  画面上の情報  オペレータが画面の振る舞いとして認識しているもの  テーブル上の区分やフラグなど  テーブルの関係  ビジネス上の概念
  • 27. 状態を振る舞いのルールとする A画面 受信 DB 受信 A画面 開始前 開始済み A_File 受信 B_File B画面 システム 解約待ち 送信 送信 送信 A_File XXX / YY機能 状態 状態 状態の遷移として整理
  • 28. 入出力をイベントで統一的に扱う  システム境界をイベントとして 画面 扱う 受信  ポイント 送信  画面やデータ交換は 送信 File 実体に合わす 受信 DB 画面 受信 システム イベント 送信
  • 29. 隠れた情報をあぶり出す  隠れた情報  複数の意味をもつデータ  意味の違うものを一つのレイアウトで扱う  複数のイベントを一度に扱う  タイミングが隠れる システム 情報
  • 30. 既存のプログラムに影響されずに機能を記述す る 画面 機能 受信 <CU> 受信 <U> 機能 機能 <R> 受信 システム システム <R> 機能 送信 <RD 機能 > 送信 送信 CRUD File
  • 31. データと機能の整理  データ  ほとんどの場合DBのテーブル整理  ER図の作成: 主要なテーブルを識別  サブシステムに分類する  機能  イベントに対応付ける  バッチに対応付ける イベント 機能
  • 32. バッチを洗い出す  バッチの種類  定期監視  本来のバッチ処理  入出力のバッチ  File交換  DB経由  ポイント データ交換の処理とバッチ処理を切り分ける
  • 33. 記述のパターン 画面処理 Fileによるデータ交換 画面 機能 File交換入 機能 File File交換出 機能 File 通信 システム 受信 機能 DBによるデータ交換 DB交換入 機能 データ 電文 DB交換出 機能 データ 送信 システム 機能 電文 定周期 定周期 A機能 送信 YY機能 日
  • 34. システムを適切な大きさに分割する  事実 規模25のシステムを分けると重複 分を含めて規模30に増える。  ある閾値を境に開発費は急激に上昇する しかし、それが閾値よりも低ければ  システム開発に関わる変化を止めることは 重複分5は無視できる できない 規模10 規模20 重複5  いかに分けるか 規模30  データ中心にわける  機能を中心にわける 45 40  業務を中心にわける 工数 30 25 コスト 20 15 10  綺麗に分けようとしない 5 5 10 15 20 25  その企業の文化に併せて分割する 規模 閾 値
  • 35. サブシステムに分類する 画面 機能 受信 機能 受信 機能 受信 システム 機能 送信 送信 送信 機能 File
  • 36. 分け方の例 分けやすいところ  データ中心 から分ける  データを役割から分ける その分類に他のも  業務別にデータを分ける のを寄せる  データに機能を紐付け分類する 特徴をつかみ方 針を決める  機能中心  機能の役割から分ける  業務別に機能を分ける  機能にデータを紐付け分類する 暗黙的な分類を引き出す 制約を意識する
  • 38. 特徴をつかみそこから切り込む  トップダウンアプローチ  ビジネスモデルから把握する  会社の外の登場人物を整理する  会社の中の登場人物を整理する  ビジネスモデルとしての分類を求める  ボトムアップアプローチ  CRUD表  正確なCRUD表ではなく妥当なコストで把握できる精度のものを目指 す  マクロにながめる  プログラムの分類を見直す  テーブルの分類を見直す
  • 39. トップダウンアプローチ 会社外の登場人物 登場 登場 人物 人物 登場 登場 人物 人物 登場 会社 登場 人物 人物 会社内の登場人物 部署 部署 会社 ・切り込めるところから切り込む 部署 部署 ・いろいろな手を試す
  • 40. ボトムアップアプローチ 分類をモデルとあわす CRUD表 テーブル プ ロ グ ラ ム
  • 41. RDRA(リレーションシップ駆動要件分析)全体像 システム価値 システム外部環境 システム境界 システム 画面・帳表 データ 業務 業務&UC UC&画面 機能複合 コンテキスト モデル 概念 ユースケース UC&機能 ドメイン 要求 利用シーン &UC プロトコル 利用シーン 機能 ② イベント ① UC:ユーケース
  • 42. どう管理するのか コンテキスト ドメインモデル システム論理構成 サブシステム パッケージA 画面・帳票モデル イベントモデル データモデル 機能複合モデル プロトコルモデル パッケージB
  • 43. まとめ モデル  システム境界とデータで 機能 機能 機能 合わせる 機能 機能 機能  特徴をつかみ洗練化す る システム境界のレベルで一致させる 既存システム  分類し整理する Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg Prg  得られる情報から切り口 を探し整理する