SlideShare a Scribd company logo
1 of 9
Download to read offline
As-Isシステムをマクロなソース解析によって見える化しよう

        ソフトウェア資産分析の活用

        要求開発アライアンス2011年2月定例会




                2011年2月
          株式会社 シナジー研究所
                依田 智夫
           yoda@synergy-res.co.jp
「マクロなソース解析」とは?




    • 解析=ミクロ?
• ミクロ=マクロ????



   Copyright 2011 Synergy Research Corporation   2
ソフトウェア資産分析アプローチの紹介
ソフトウェアのソースコードを自動的に分析して、開発や保守にかかわるミクロからマクロまで一貫性のある情報をプラットフォーム横断
的に抽出し、ステークホルダーに提供
                    ソフトウェア資産分析
                  のためのカテゴリー構造を入力                •    PMO
                                                •    経営者
                                                •    管理者
                                                •    メンテナンス業務担当者
                                                •    開発者(つくってしまった人たち)
現行システムの
システム設計書、仕様書      ビジネス軸 テクニカル軸        組織軸
                                                 今回紹介するア
                                                                       エンジニアリング系の
                                                 プローチではここ                  情報
                                                 を活用
                                                                          プログラム
                                                                          依存関係
  保
  守                                                                        CRUD表
  開
  発
  プ                                                                       画面機能量
  ロ                        分析
  ジ                                                 多次元データベース             DB機能量
  ェ                        ツール
  ク
  ト
                            AIS                                           資産棚卸

  の                                                                      改修量・明細
  流
  れ                                                                     評価指標・KPI算出

                                          カテゴリー構造に対                   マネジメント、ITガバナンス
                                          応したレポートと                        系の情報
                                          ダッシュボード                  ソフトウェアの構造と動き
                     Copyright 2011 Synergy Research Corporation      に関する情報           3
ミクロからマクロまで一貫性ある情報の作り方

       2008/10/31分                  ステークホルダーの                                                 HOME
         リリース                       ニーズを満たすマク                                                        タスク管理
                                    ロ的カテゴリーにな
                                    り得ない場合が多い。                     ビジネス軸                             連絡事項
                     フォルダー
                       A
                                                                  カテゴリー付け                            お勧め商品
                                                                    ルール                              ヘルプ
                                                                                                     メール管理
                     フォルダー
                       B                                                                             承認進捗確認
                                                                                                     NA
                     フォルダー
                       C
                                                                                              発注管理
                                                                                                     商品別仕入推移
                             MailManager.java                                                        仕入先別仕入推移
                                                              MECE(注)であること
                                                                                                     担当者別仕入推移

                     フォルダー                                                                           未分類
                       D
                                                                    技術軸                 • 物理的分類構造(ディレクトリー、フォル
                                                                  カテゴリー付け                 ダー)に関わりなく、階層的カテゴリー構造
                                        フォルダー                                             を定義する。
                                          D1
                                                                    ルール
                                                                                        • カテゴリー付けルールによってプログラムを
                                                                                          カテゴリー構造に当てはめる。
                                        フォルダー                                           • 分類結果は、定義されたカテゴリー構造と
                                          D2
                                                                    組織軸                   カテゴリー付けルールによって大きく変わる。
                                                                  カテゴリー付け               • 3種類(ビジネス、技術、組織)の構造と
MECE(ミーシーもしくはミッシー、Mutually Exclusive and Collectively
                                                                    ルール                   ルールにより、プログラムは3次元上に配置
Exhaustiveの略)とは、「相互に排他的な項目」による「完全な全体集
合」を意味する言葉である。 要するに「重複なく・漏れなく」という意味で                                                       されることになる。
ある。(Wikipedia)

                                                Copyright 2011 Synergy Research Corporation                    4
なぜツールを開発したのか
一般的なリバースエンジニアリングツールの問題点

リバース結果のカテゴリー                      プロジェクト固有の特徴を把                               プラットフォームを横断して
化・概念化の手段がない                       握することが難しい                                   データを収集できない

ソースコードからクラス図を                                                                  プログラミング   プログラミング       DB開発
                                                                                 言語        ツール         ツール
    つくると・・・
                                             コーディング規約                           Java     ツールA
 ・・・                                                                                          ツールB
  ・・・                                                                            VB
                                                                                            (SQL SERVER)
    ・・・
     ・・・                                                                        Perl
       ・・・
        ・・・                                   ABCライブラリ                          C++
                                                                                              ツールC
          ・・・                                                                                (ORACLE)
           ・・・                                                                                      ツールD
             ・・・                                                               ストアド                 (SYBASE)
              ・・・
                ・・・                                                            COBOL          ツールD
                 ・・・                                                                           (DB2)
                   ・・・                      XYZフレームワーク
                    ・・・
                      ・・・
                       ・・・                                                     プラットフォームごとに異なるツー
                         ・・・                                                   ルが使われるが、ステークホル
                          ・・・                                                  ダーからの情報要求には、このよ
                            ・・・
                             ・・・                                               うな垣根はない。にもかかわらず
クラスがたくさんあると、四角がた               ・・・                                             横串を通した情報が提供できない。
くさんでてくる。あたりまえだけ                        プロジェクト固有の特徴をねらい
ど・・                                    打ちした調査・検索が得意ではな
物理フォルダがUMLパッケージ                        い。そのため、ソースコードを情報
なってありがたいか?                             の宝庫として活用できない。


                                Copyright 2011 Synergy Research Corporation                                    5
カテゴリー型CRUD表
                                               よりマクロな情報
        CRUD

        C: Create (生成)                                             カテゴリー型CRUD表
        R: Refer (参照)                              カテゴリー構造とカテゴリー付けルールで様相が変化する
        U: Update (更新)
        D: Delete (削除)
                                                                                                      テーブル
                  テーブル/カラム                                  テーブル                                      カテゴリー



プ                                      プ                                            カ   プ
ロ                                      ロ                                            テ   ロ
グ                                      グ                                            ゴ   グ
ラ                                      ラ                                            リ   ラ
ム                                      ム                                            ー   ム




                                                                               ドリルアップ


    C     R                                                                    ドリルダウン

                  あるプログラ
                              C   R        U   D
    U     D       ムは、ある
                  テーブルを、      1            2              ビジネス軸
                                                         カテゴリー付け
                                                                             技術軸
                                                                           カテゴリー付け
                                                                                              組織軸
                                                                                            カテゴリー付け
                  2つのSELECT                                ルール               ルール              ルール

                  文で参照して          2        1   1           ビジネス軸             技術軸              組織軸
                  いる。
                                                           カテゴリー            カテゴリー            カテゴリー

                                      Copyright 2011 Synergy Research Corporation                             6
プログラムを検索する

         Perl                                                               TABLE

                CRUD表の縦軸                       文字列で                           CRUD表の横軸
         CGI                                   SQL文を                        TABLE

                                               生成して
         PHP                                    実行                          TABLE



         Java                                                               TABLE
                                         ストアドプロシージャ

WEB
クライアント   Perl      文字列を                          ST1                        TABLE
バッチ
                   生成して
                   ストアドプ                                            SQL文を
         CGI                                     ST2
                                                                     実行     TABLE
                    ロシー
                   ジャを実
         PHP         行                           ST3                        TABLE



         Java                                    ST4                        TABLE


                                                                            DB
                      Copyright 2011 Synergy Research Corporation                   7
データ処理とモデリング作業の関係

                                                          ソース
                                                         プログラム
        入出力に着目し
         たモデリング
                                    データ中心的に
                                    構築されたシス
                                                                          検索結果の連立
                                    テム構造を、プロ
                                                                           方程式を解く
                                    グラム側とデータ
                                      側に適用
    モ
    デ
    リ                                                       A
    ン             システム全体構造
                                                            I
    グ
作                                                           S
業                  プログラム                                    デ
                                                            ー
                  カテゴリー付け
                    ルール
                                                            タ
                                                            処
                                                            理
                   テーブル台帳
                  (カテゴリー付き)                                                  カテゴリー型CRUD表
                                      ツールからの
                                       出力情報




                            Copyright 2011 Synergy Research Corporation               8
UMLによるAS-ISモデル+マクロ的ソース解析のメリット
• モデリング側から
  – モデリングされた要素の重み、実体(プログラム、データベース)を反映できる
    • 手をつけやすいところ
    • まずは避けた方が無難なところ
    • 錯綜したところ
• ソース解析(ソフトウェア資産分析)側から
  – 詳細データをマクロ化するための視点を設定しやすい。視点の根拠が明確。
• カテゴリーという緩衝地帯があるために、トップダウン、ボトムアップどち
  らが先行しても、結果として整合性のあるモデルを構築できる。
• モデルから、プログラム1本までドリルダウン可能。
• プログラムの改修作業量など、メンテナンス活動の量も、プログラム単位、
  カテゴリー単位に把握できる。
• 刷新プロジェクト、システム構築、システム改修の見積もりにもつなげや
  すい
  – カテゴリー別・言語別ステップ数、改修量、機能量


             Copyright 2011 Synergy Research Corporation   9

More Related Content

What's hot

Introduction of Business Models in Requirement Development
Introduction of Business Models in Requirement DevelopmentIntroduction of Business Models in Requirement Development
Introduction of Business Models in Requirement DevelopmentKent Ishizawa
 
自己紹介にかえて-変化する企業ITと“ワクワク感” 桑原里恵
自己紹介にかえて-変化する企業ITと“ワクワク感” 桑原里恵自己紹介にかえて-変化する企業ITと“ワクワク感” 桑原里恵
自己紹介にかえて-変化する企業ITと“ワクワク感” 桑原里恵Sapporo Sparkle k.k.
 
IT投資のオペレーション・マネジメントの価値
IT投資のオペレーション・マネジメントの価値IT投資のオペレーション・マネジメントの価値
IT投資のオペレーション・マネジメントの価値Tetsu Kawata
 
SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築増田 亨
 
クラウドがシステム運用を変革させる
クラウドがシステム運用を変革させるクラウドがシステム運用を変革させる
クラウドがシステム運用を変革させるUNIRITA Incorporated
 
ビジネスモデルをシステムにつなげる
ビジネスモデルをシステムにつなげるビジネスモデルをシステムにつなげる
ビジネスモデルをシステムにつなげるZenji Kanzaki
 
ITポートフォリオの公開モデルのご紹介と応用例
ITポートフォリオの公開モデルのご紹介と応用例ITポートフォリオの公開モデルのご紹介と応用例
ITポートフォリオの公開モデルのご紹介と応用例Tetsu Kawata
 
Introduction of KOTATSU-MODEL in Requirement Development
Introduction of KOTATSU-MODEL in Requirement DevelopmentIntroduction of KOTATSU-MODEL in Requirement Development
Introduction of KOTATSU-MODEL in Requirement DevelopmentKent Ishizawa
 
Introduction of Strategy Map in Requirement Development
Introduction of Strategy Map in Requirement DevelopmentIntroduction of Strategy Map in Requirement Development
Introduction of Strategy Map in Requirement DevelopmentKent Ishizawa
 
Developers festa Sapporo 2014 
Developers festa Sapporo 2014 Developers festa Sapporo 2014 
Developers festa Sapporo 2014 Zenji Kanzaki
 
SoR 2.0 summary
SoR 2.0 summarySoR 2.0 summary
SoR 2.0 summary増田 亨
 
ビジネスに貢献するIT部門への変革に必要な3つのポイント
ビジネスに貢献するIT部門への変革に必要な3つのポイントビジネスに貢献するIT部門への変革に必要な3つのポイント
ビジネスに貢献するIT部門への変革に必要な3つのポイントUNIRITA Incorporated
 
第24回上流工程勉強会
第24回上流工程勉強会第24回上流工程勉強会
第24回上流工程勉強会Zenji Kanzaki
 
エンジニアリング会社の社内システム再構築
エンジニアリング会社の社内システム再構築エンジニアリング会社の社内システム再構築
エンジニアリング会社の社内システム再構築Yohei Sato
 

What's hot (20)

Introduction of Business Models in Requirement Development
Introduction of Business Models in Requirement DevelopmentIntroduction of Business Models in Requirement Development
Introduction of Business Models in Requirement Development
 
自己紹介にかえて-変化する企業ITと“ワクワク感” 桑原里恵
自己紹介にかえて-変化する企業ITと“ワクワク感” 桑原里恵自己紹介にかえて-変化する企業ITと“ワクワク感” 桑原里恵
自己紹介にかえて-変化する企業ITと“ワクワク感” 桑原里恵
 
IT投資のオペレーション・マネジメントの価値
IT投資のオペレーション・マネジメントの価値IT投資のオペレーション・マネジメントの価値
IT投資のオペレーション・マネジメントの価値
 
SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築
 
クラウドがシステム運用を変革させる
クラウドがシステム運用を変革させるクラウドがシステム運用を変革させる
クラウドがシステム運用を変革させる
 
ビジネスモデルをシステムにつなげる
ビジネスモデルをシステムにつなげるビジネスモデルをシステムにつなげる
ビジネスモデルをシステムにつなげる
 
ITポートフォリオの公開モデルのご紹介と応用例
ITポートフォリオの公開モデルのご紹介と応用例ITポートフォリオの公開モデルのご紹介と応用例
ITポートフォリオの公開モデルのご紹介と応用例
 
Introduction of KOTATSU-MODEL in Requirement Development
Introduction of KOTATSU-MODEL in Requirement DevelopmentIntroduction of KOTATSU-MODEL in Requirement Development
Introduction of KOTATSU-MODEL in Requirement Development
 
Introduction of Strategy Map in Requirement Development
Introduction of Strategy Map in Requirement DevelopmentIntroduction of Strategy Map in Requirement Development
Introduction of Strategy Map in Requirement Development
 
Developers festa Sapporo 2014 
Developers festa Sapporo 2014 Developers festa Sapporo 2014 
Developers festa Sapporo 2014 
 
クラウド検討の進め方
クラウド検討の進め方クラウド検討の進め方
クラウド検討の進め方
 
保守運用コストの適正化事例 20120725
保守運用コストの適正化事例 20120725保守運用コストの適正化事例 20120725
保守運用コストの適正化事例 20120725
 
SoR 2.0 summary
SoR 2.0 summarySoR 2.0 summary
SoR 2.0 summary
 
マネジメント・ソリューションとITソリューションの融合
マネジメント・ソリューションとITソリューションの融合マネジメント・ソリューションとITソリューションの融合
マネジメント・ソリューションとITソリューションの融合
 
It実行力強化のためのスキル調査と活用方法
It実行力強化のためのスキル調査と活用方法It実行力強化のためのスキル調査と活用方法
It実行力強化のためのスキル調査と活用方法
 
ビジネスに貢献するIT部門への変革に必要な3つのポイント
ビジネスに貢献するIT部門への変革に必要な3つのポイントビジネスに貢献するIT部門への変革に必要な3つのポイント
ビジネスに貢献するIT部門への変革に必要な3つのポイント
 
IPM_J_11.2.12
IPM_J_11.2.12IPM_J_11.2.12
IPM_J_11.2.12
 
第24回上流工程勉強会
第24回上流工程勉強会第24回上流工程勉強会
第24回上流工程勉強会
 
Why notes doc
Why notes docWhy notes doc
Why notes doc
 
エンジニアリング会社の社内システム再構築
エンジニアリング会社の社内システム再構築エンジニアリング会社の社内システム再構築
エンジニアリング会社の社内システム再構築
 

Similar to As-Isシステムをマクロなソース解析によって見える化しよう

Devlove2012 どうしたら良いシステムが作れるのか
Devlove2012 どうしたら良いシステムが作れるのかDevlove2012 どうしたら良いシステムが作れるのか
Devlove2012 どうしたら良いシステムが作れるのかYusuke Suzuki
 
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011Yusuke Suzuki
 
なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423
なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423
なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423Yusuke Suzuki
 
定量的プロジェクト管理ツール概要 Lt 20110730
定量的プロジェクト管理ツール概要 Lt 20110730定量的プロジェクト管理ツール概要 Lt 20110730
定量的プロジェクト管理ツール概要 Lt 20110730hiroetoh
 
A Model-Based Development Process for Dependable Robots
A Model-Based Development Process for Dependable RobotsA Model-Based Development Process for Dependable Robots
A Model-Based Development Process for Dependable RobotsKeiju Anada
 
とっておきの方法! Oracle Databaseの自動アップグレードのお勧め手法 省力・最新化 概要編 (Oracle Cloudウェビナーシリーズ: ...
とっておきの方法! Oracle Databaseの自動アップグレードのお勧め手法 省力・最新化 概要編 (Oracle Cloudウェビナーシリーズ: ...とっておきの方法! Oracle Databaseの自動アップグレードのお勧め手法 省力・最新化 概要編 (Oracle Cloudウェビナーシリーズ: ...
とっておきの方法! Oracle Databaseの自動アップグレードのお勧め手法 省力・最新化 概要編 (Oracle Cloudウェビナーシリーズ: ...オラクルエンジニア通信
 
要求管理を確実に行うための知識と方法
要求管理を確実に行うための知識と方法要求管理を確実に行うための知識と方法
要求管理を確実に行うための知識と方法Kazuyuki Miyake
 
Oracle Cloud Infrastructure Data Science 技術資料(20200402)
Oracle Cloud Infrastructure Data Science 技術資料(20200402)Oracle Cloud Infrastructure Data Science 技術資料(20200402)
Oracle Cloud Infrastructure Data Science 技術資料(20200402)オラクルエンジニア通信
 
【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
 
コンチェルト CCPM工程表入門
コンチェルト   CCPM工程表入門コンチェルト   CCPM工程表入門
コンチェルト CCPM工程表入門Motoi Tobita
 
Redmine導入しました(公開)
Redmine導入しました(公開)Redmine導入しました(公開)
Redmine導入しました(公開)Hidekz Hara
 
Webワークフローシステム R@bitFlow
Webワークフローシステム R@bitFlowWebワークフローシステム R@bitFlow
Webワークフローシステム R@bitFlowRicoh IT Solutions
 
ユーザー企業における標準化のあり方 : QCon Tokyo 2010
ユーザー企業における標準化のあり方 : QCon Tokyo 2010ユーザー企業における標準化のあり方 : QCon Tokyo 2010
ユーザー企業における標準化のあり方 : QCon Tokyo 2010Yusuke Suzuki
 
企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624Yusuke Suzuki
 
DAY2_Keynote_Alan Shalloway
DAY2_Keynote_Alan ShallowayDAY2_Keynote_Alan Shalloway
DAY2_Keynote_Alan Shallowayguest866ce9be
 
AgileJapan2010 Alan Shalloway's keynote: What Is Next In the Agile World - Ja...
AgileJapan2010 Alan Shalloway's keynote: What Is Next In the Agile World - Ja...AgileJapan2010 Alan Shalloway's keynote: What Is Next In the Agile World - Ja...
AgileJapan2010 Alan Shalloway's keynote: What Is Next In the Agile World - Ja...Kenji Hiranabe
 
セミナー 「今、小売業のIT化に求められるもの」 桑原里恵
セミナー 「今、小売業のIT化に求められるもの」 桑原里恵セミナー 「今、小売業のIT化に求められるもの」 桑原里恵
セミナー 「今、小売業のIT化に求められるもの」 桑原里恵Sapporo Sparkle k.k.
 

Similar to As-Isシステムをマクロなソース解析によって見える化しよう (20)

Devlove2012 どうしたら良いシステムが作れるのか
Devlove2012 どうしたら良いシステムが作れるのかDevlove2012 どうしたら良いシステムが作れるのか
Devlove2012 どうしたら良いシステムが作れるのか
 
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
 
なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423
なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423
なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423
 
定量的プロジェクト管理ツール概要 Lt 20110730
定量的プロジェクト管理ツール概要 Lt 20110730定量的プロジェクト管理ツール概要 Lt 20110730
定量的プロジェクト管理ツール概要 Lt 20110730
 
A Model-Based Development Process for Dependable Robots
A Model-Based Development Process for Dependable RobotsA Model-Based Development Process for Dependable Robots
A Model-Based Development Process for Dependable Robots
 
とっておきの方法! Oracle Databaseの自動アップグレードのお勧め手法 省力・最新化 概要編 (Oracle Cloudウェビナーシリーズ: ...
とっておきの方法! Oracle Databaseの自動アップグレードのお勧め手法 省力・最新化 概要編 (Oracle Cloudウェビナーシリーズ: ...とっておきの方法! Oracle Databaseの自動アップグレードのお勧め手法 省力・最新化 概要編 (Oracle Cloudウェビナーシリーズ: ...
とっておきの方法! Oracle Databaseの自動アップグレードのお勧め手法 省力・最新化 概要編 (Oracle Cloudウェビナーシリーズ: ...
 
要求管理を確実に行うための知識と方法
要求管理を確実に行うための知識と方法要求管理を確実に行うための知識と方法
要求管理を確実に行うための知識と方法
 
Oracle Cloud Infrastructure Data Science 技術資料(20200402)
Oracle Cloud Infrastructure Data Science 技術資料(20200402)Oracle Cloud Infrastructure Data Science 技術資料(20200402)
Oracle Cloud Infrastructure Data Science 技術資料(20200402)
 
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
 
コンチェルト CCPM工程表入門
コンチェルト   CCPM工程表入門コンチェルト   CCPM工程表入門
コンチェルト CCPM工程表入門
 
超高速な機械学習を Oracle Database で実現!
超高速な機械学習を Oracle Database で実現!超高速な機械学習を Oracle Database で実現!
超高速な機械学習を Oracle Database で実現!
 
Redmine導入しました(公開)
Redmine導入しました(公開)Redmine導入しました(公開)
Redmine導入しました(公開)
 
Webワークフローシステム R@bitFlow
Webワークフローシステム R@bitFlowWebワークフローシステム R@bitFlow
Webワークフローシステム R@bitFlow
 
ユーザー企業における標準化のあり方 : QCon Tokyo 2010
ユーザー企業における標準化のあり方 : QCon Tokyo 2010ユーザー企業における標準化のあり方 : QCon Tokyo 2010
ユーザー企業における標準化のあり方 : QCon Tokyo 2010
 
企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624
 
DAY2_Keynote_Alan Shalloway
DAY2_Keynote_Alan ShallowayDAY2_Keynote_Alan Shalloway
DAY2_Keynote_Alan Shalloway
 
AgileJapan2010 Alan Shalloway's keynote: What Is Next In the Agile World - Ja...
AgileJapan2010 Alan Shalloway's keynote: What Is Next In the Agile World - Ja...AgileJapan2010 Alan Shalloway's keynote: What Is Next In the Agile World - Ja...
AgileJapan2010 Alan Shalloway's keynote: What Is Next In the Agile World - Ja...
 
セミナー 「今、小売業のIT化に求められるもの」 桑原里恵
セミナー 「今、小売業のIT化に求められるもの」 桑原里恵セミナー 「今、小売業のIT化に求められるもの」 桑原里恵
セミナー 「今、小売業のIT化に求められるもの」 桑原里恵
 
SOE-Loc
SOE-LocSOE-Loc
SOE-Loc
 
SOE-LOC
SOE-LOCSOE-LOC
SOE-LOC
 

More from 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
 
エンタープライズクラウドの現在(要求開発アライアンス3月定例会)
エンタープライズクラウドの現在(要求開発アライアンス3月定例会)エンタープライズクラウドの現在(要求開発アライアンス3月定例会)
エンタープライズクラウドの現在(要求開発アライアンス3月定例会)Kent Ishizawa
 
レガシーシステム再生のアンチパターン
レガシーシステム再生のアンチパターンレガシーシステム再生のアンチパターン
レガシーシステム再生のアンチパターンKent Ishizawa
 
アジャイルについてちょっとだけよ
アジャイルについてちょっとだけよアジャイルについてちょっとだけよ
アジャイルについてちょっとだけよKent Ishizawa
 
As-Isシステム分析は入出力から始めよ
As-Isシステム分析は入出力から始めよAs-Isシステム分析は入出力から始めよ
As-Isシステム分析は入出力から始めよ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
 
RFP and Requirement Development
RFP and Requirement DevelopmentRFP and Requirement Development
RFP and Requirement DevelopmentKent Ishizawa
 
Agile UX and Requirement Development
Agile UX and Requirement DevelopmentAgile UX and Requirement Development
Agile UX and Requirement DevelopmentKent Ishizawa
 
Introduction of Nonfunctional requirement in Requirement Development
Introduction of Nonfunctional requirement in Requirement DevelopmentIntroduction of Nonfunctional requirement in Requirement Development
Introduction of Nonfunctional requirement in Requirement DevelopmentKent Ishizawa
 
Introduction of Business Use-Case and Business Flowin Requirement Development
Introduction of Business Use-Case and Business Flowin Requirement DevelopmentIntroduction of Business Use-Case and Business Flowin Requirement Development
Introduction of Business Use-Case and Business Flowin Requirement DevelopmentKent 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月定例会)
 
レガシーシステム再生のアンチパターン
レガシーシステム再生のアンチパターンレガシーシステム再生のアンチパターン
レガシーシステム再生のアンチパターン
 
アジャイルについてちょっとだけよ
アジャイルについてちょっとだけよアジャイルについてちょっとだけよ
アジャイルについてちょっとだけよ
 
As-Isシステム分析は入出力から始めよ
As-Isシステム分析は入出力から始めよAs-Isシステム分析は入出力から始めよ
As-Isシステム分析は入出力から始めよ
 
【17 e-7】デブサミ2011要求開発アライアンス
【17 e-7】デブサミ2011要求開発アライアンス【17 e-7】デブサミ2011要求開発アライアンス
【17 e-7】デブサミ2011要求開発アライアンス
 
実演!要求開発の成果物をastah*でこう作れ
実演!要求開発の成果物をastah*でこう作れ実演!要求開発の成果物をastah*でこう作れ
実演!要求開発の成果物をastah*でこう作れ
 
RFP and Requirement Development
RFP and Requirement DevelopmentRFP and Requirement Development
RFP and Requirement Development
 
Agile UX and Requirement Development
Agile UX and Requirement DevelopmentAgile UX and Requirement Development
Agile UX and Requirement Development
 
Introduction of Nonfunctional requirement in Requirement Development
Introduction of Nonfunctional requirement in Requirement DevelopmentIntroduction of Nonfunctional requirement in Requirement Development
Introduction of Nonfunctional requirement in Requirement Development
 
Introduction of Business Use-Case and Business Flowin Requirement Development
Introduction of Business Use-Case and Business Flowin Requirement DevelopmentIntroduction of Business Use-Case and Business Flowin Requirement Development
Introduction of Business Use-Case and Business Flowin Requirement Development
 

Recently uploaded

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 

Recently uploaded (9)

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 

As-Isシステムをマクロなソース解析によって見える化しよう

  • 1. As-Isシステムをマクロなソース解析によって見える化しよう ソフトウェア資産分析の活用 要求開発アライアンス2011年2月定例会 2011年2月 株式会社 シナジー研究所 依田 智夫 yoda@synergy-res.co.jp
  • 2. 「マクロなソース解析」とは? • 解析=ミクロ? • ミクロ=マクロ???? Copyright 2011 Synergy Research Corporation 2
  • 3. ソフトウェア資産分析アプローチの紹介 ソフトウェアのソースコードを自動的に分析して、開発や保守にかかわるミクロからマクロまで一貫性のある情報をプラットフォーム横断 的に抽出し、ステークホルダーに提供 ソフトウェア資産分析 のためのカテゴリー構造を入力 • PMO • 経営者 • 管理者 • メンテナンス業務担当者 • 開発者(つくってしまった人たち) 現行システムの システム設計書、仕様書 ビジネス軸 テクニカル軸 組織軸 今回紹介するア エンジニアリング系の プローチではここ 情報 を活用 プログラム 依存関係 保 守 CRUD表 開 発 プ 画面機能量 ロ 分析 ジ 多次元データベース DB機能量 ェ ツール ク ト AIS 資産棚卸 の 改修量・明細 流 れ 評価指標・KPI算出 カテゴリー構造に対 マネジメント、ITガバナンス 応したレポートと 系の情報 ダッシュボード ソフトウェアの構造と動き Copyright 2011 Synergy Research Corporation に関する情報 3
  • 4. ミクロからマクロまで一貫性ある情報の作り方 2008/10/31分 ステークホルダーの HOME リリース ニーズを満たすマク タスク管理 ロ的カテゴリーにな り得ない場合が多い。 ビジネス軸 連絡事項 フォルダー A カテゴリー付け お勧め商品 ルール ヘルプ メール管理 フォルダー B 承認進捗確認 NA フォルダー C 発注管理 商品別仕入推移 MailManager.java 仕入先別仕入推移 MECE(注)であること 担当者別仕入推移 フォルダー 未分類 D 技術軸 • 物理的分類構造(ディレクトリー、フォル カテゴリー付け ダー)に関わりなく、階層的カテゴリー構造 フォルダー を定義する。 D1 ルール • カテゴリー付けルールによってプログラムを カテゴリー構造に当てはめる。 フォルダー • 分類結果は、定義されたカテゴリー構造と D2 組織軸 カテゴリー付けルールによって大きく変わる。 カテゴリー付け • 3種類(ビジネス、技術、組織)の構造と MECE(ミーシーもしくはミッシー、Mutually Exclusive and Collectively ルール ルールにより、プログラムは3次元上に配置 Exhaustiveの略)とは、「相互に排他的な項目」による「完全な全体集 合」を意味する言葉である。 要するに「重複なく・漏れなく」という意味で されることになる。 ある。(Wikipedia) Copyright 2011 Synergy Research Corporation 4
  • 5. なぜツールを開発したのか 一般的なリバースエンジニアリングツールの問題点 リバース結果のカテゴリー プロジェクト固有の特徴を把 プラットフォームを横断して 化・概念化の手段がない 握することが難しい データを収集できない ソースコードからクラス図を プログラミング プログラミング DB開発 言語 ツール ツール つくると・・・ コーディング規約 Java ツールA ・・・ ツールB ・・・ VB (SQL SERVER) ・・・ ・・・ Perl ・・・ ・・・ ABCライブラリ C++ ツールC ・・・ (ORACLE) ・・・ ツールD ・・・ ストアド (SYBASE) ・・・ ・・・ COBOL ツールD ・・・ (DB2) ・・・ XYZフレームワーク ・・・ ・・・ ・・・ プラットフォームごとに異なるツー ・・・ ルが使われるが、ステークホル ・・・ ダーからの情報要求には、このよ ・・・ ・・・ うな垣根はない。にもかかわらず クラスがたくさんあると、四角がた ・・・ 横串を通した情報が提供できない。 くさんでてくる。あたりまえだけ プロジェクト固有の特徴をねらい ど・・ 打ちした調査・検索が得意ではな 物理フォルダがUMLパッケージ い。そのため、ソースコードを情報 なってありがたいか? の宝庫として活用できない。 Copyright 2011 Synergy Research Corporation 5
  • 6. カテゴリー型CRUD表 よりマクロな情報 CRUD C: Create (生成) カテゴリー型CRUD表 R: Refer (参照) カテゴリー構造とカテゴリー付けルールで様相が変化する U: Update (更新) D: Delete (削除) テーブル テーブル/カラム テーブル カテゴリー プ プ カ プ ロ ロ テ ロ グ グ ゴ グ ラ ラ リ ラ ム ム ー ム ドリルアップ C R ドリルダウン あるプログラ C R U D U D ムは、ある テーブルを、 1 2 ビジネス軸 カテゴリー付け 技術軸 カテゴリー付け 組織軸 カテゴリー付け 2つのSELECT ルール ルール ルール 文で参照して 2 1 1 ビジネス軸 技術軸 組織軸 いる。 カテゴリー カテゴリー カテゴリー Copyright 2011 Synergy Research Corporation 6
  • 7. プログラムを検索する Perl TABLE CRUD表の縦軸 文字列で CRUD表の横軸 CGI SQL文を TABLE 生成して PHP 実行 TABLE Java TABLE ストアドプロシージャ WEB クライアント Perl 文字列を ST1 TABLE バッチ 生成して ストアドプ SQL文を CGI ST2 実行 TABLE ロシー ジャを実 PHP 行 ST3 TABLE Java ST4 TABLE DB Copyright 2011 Synergy Research Corporation 7
  • 8. データ処理とモデリング作業の関係 ソース プログラム 入出力に着目し たモデリング データ中心的に 構築されたシス 検索結果の連立 テム構造を、プロ 方程式を解く グラム側とデータ 側に適用 モ デ リ A ン システム全体構造 I グ 作 S 業 プログラム デ ー カテゴリー付け ルール タ 処 理 テーブル台帳 (カテゴリー付き) カテゴリー型CRUD表 ツールからの 出力情報 Copyright 2011 Synergy Research Corporation 8
  • 9. UMLによるAS-ISモデル+マクロ的ソース解析のメリット • モデリング側から – モデリングされた要素の重み、実体(プログラム、データベース)を反映できる • 手をつけやすいところ • まずは避けた方が無難なところ • 錯綜したところ • ソース解析(ソフトウェア資産分析)側から – 詳細データをマクロ化するための視点を設定しやすい。視点の根拠が明確。 • カテゴリーという緩衝地帯があるために、トップダウン、ボトムアップどち らが先行しても、結果として整合性のあるモデルを構築できる。 • モデルから、プログラム1本までドリルダウン可能。 • プログラムの改修作業量など、メンテナンス活動の量も、プログラム単位、 カテゴリー単位に把握できる。 • 刷新プロジェクト、システム構築、システム改修の見積もりにもつなげや すい – カテゴリー別・言語別ステップ数、改修量、機能量 Copyright 2011 Synergy Research Corporation 9