JP4978432B2 - 業務仕様理解支援システム及び方法 - Google Patents

業務仕様理解支援システム及び方法 Download PDF

Info

Publication number
JP4978432B2
JP4978432B2 JP2007289151A JP2007289151A JP4978432B2 JP 4978432 B2 JP4978432 B2 JP 4978432B2 JP 2007289151 A JP2007289151 A JP 2007289151A JP 2007289151 A JP2007289151 A JP 2007289151A JP 4978432 B2 JP4978432 B2 JP 4978432B2
Authority
JP
Japan
Prior art keywords
business
program
item
interface
processing unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007289151A
Other languages
English (en)
Other versions
JP2009116638A (ja
Inventor
仁美 長谷川
和之 青山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007289151A priority Critical patent/JP4978432B2/ja
Priority to US12/265,789 priority patent/US20090228794A1/en
Publication of JP2009116638A publication Critical patent/JP2009116638A/ja
Application granted granted Critical
Publication of JP4978432B2 publication Critical patent/JP4978432B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Software Systems (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Educational Administration (AREA)
  • Quality & Reliability (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

情報システムで使用されているインタフェースとその処理を行うプログラムの解析を行い、プログラムの理解を支援するリバースエンジニアリング支援に関する。
従来、プログラム等のシステム情報からシステムの仕様に関する情報を抽出するリバースエンジニアリング技術は広く活用されている。しかし、プログラム等から抽出したシステム仕様のみでは業務機能の理解が可能な仕様を回復することは不可能である。そこで、プログラムの成す業務機能的に意味のある集合を抽出し、それに意味を付加するようなシステムが特許文献1で提案されている。このシステムでは、業務機能と入出力論理データの対応、業務機能とプログラムの対応、論理データと物理データの対応をそれぞれユーザに入力させ、それらとリバースエンジニアリングの解析結果を組み合わせることで、抽出された情報システムの要素に業務的な意味付けをしている。
また、プログラム等のシステム情報ではなく、実際に業務機能で使用している帳票に着目し、その帳票の様式から複数のデータ構造の異なる帳票が絡み合った事務処理業務機能の処理仕様を自動的に生成する提案が特許文献2でなされている。このシステムでは、帳票データ群の様式を入力として、それらとあらかじめ用意された業務辞書と業務知識ベースを組み合わせることで整合性の取れたデータ構造に従った業務機能処理仕様を生成している。
特開2006−285707 特開平04−169968
情報システムから業務仕様を抽出する際には、例えば辞書などの形態で業務知識を情報システムに付与することが必要である。しかし、業務知識を有する人は、プログラムや情報システムの構造、データ構造について深い知識をもっているとは限らず、直接的にそれらと結びついた形で業務知識を入力させるのには限界がある。例えば、情報システムを用いて業務を実際に行う人は、ある業務機能を処理する際にどのプログラムが動いていて、どのデータが参照、更新されているかを意識して業務を行うことはなく、業務機能処理のために必要な入力のみを意識して業務を行うことが多い。
また、特にオンラインシステムでは、複数のアプリケーションが同一のデータベースに対して更新を行う場合が多い。このようなシステムから業務仕様を抽出する際には、各業務機能で処理される情報を、データベース単位ではなくデータ項目単位で解析する必要がある。
本発明が解決しようとする課題は、プログラム等の現行システム情報に加え、業務知識を有する人が容易に定義できる情報を用いてデータ項目レベルで解析を行うことにより、業務的に理解できる仕様を抽出することができることである。
本発明のシステムでは、業務機能とそれに対応する一連の画面などのインタフェースを入力とし、現行システムの情報を解析することにより、該当業務機能において更新するデータ項目、および参照するデータ項目を抽出する。業務機能とは、1人のユーザがある業務的な目的を達成するために行う一連の操作のことである。ユーザから入力される業務機能とインタフェースの対応は、情報システムと外部との対応でしかないため、情報システムを構成するプログラムと業務機能との対応はそれだけでは示せない。
そこで、ユーザにより指定された業務機能に対応するインタフェースそのものを解析し、入出力データ項目と対応するプログラムを求める。
次に、プログラムを解析し、プログラムに対する入出力データ項目とおそのデータ項目対応するデータベースを求める。
それぞれで求められた結果を用い、1つの業務機能において更新されるデータ項目と、そのデータ項目を生成するために必要となるデータ項目がどのインタフェースから入力されたものであるかを抽出する。
これらの情報から、1つの業務機能で更新されるデータを生成するために必要なデータ項目であるにもかかわらず、その業務機能内で入力されないデータ項目を特定する。特定されたデータ項目を前提条件項目と呼ぶ。ある業務機能に前提条件項目が存在する場合、その業務機能を処理するより先に前提条件項目を更新する業務機能が処理されている必要がある。そのような2つの業務機能間に成立する関係を、依存関係と呼ぶ。
これまでの解析結果から、ある業務機能に対して、前提条件項目と判断されたデータ項目が、どの業務機能において更新されるかを判定することで、2つの業務機能間にある依存関係を求める。
このようにして求められた依存関係をユーザに表示することで、情報システムから抽出された業務仕様を、よりユーザに理解しやすい形式で提示することができる。
業務システムの理解を支援することができる。
本発明の実施の形態を以下に述べる。
図22は、本システムのハードウェア構成を表す図の一例である。処理装置2201はプロセッサ2202とメモリ2203とインタフェース2205(以下、I/Fと表記する)とを有する。また、本システムにはハードディスクドライブ等の記憶装置2206が接続されている。
メモリ2203に格納された業務I/F選択プログラム、I/F解析プログラム、プログラム解析プログラム、前提条件探索プログラム、依存関係解析プログラム、依存関係表示プログラムなど各種プログラム2204をプロセッサ2202が実行することで、各処理を行う。
これらは、各処理を行う処理部として集積回路化するなどしてハードウェアで実現することもできる。
以下説明を簡略化するため、各種プログラム2204をプロセッサ2203が実行することで実現される各処理部を各処理の主体として説明する。なお各処理部をハードウェアで実現した場合にはその各処理部が主体となって各処理を行う。
図1にシステムの構成を示す。本実施例のシステムは、ユーザからの入力を受け付け、業務機能を決定する機能を有する業務I/F選択処理部10と、対象システムが有するインタフェースの集合であるI/F集合11と、I/F集合11を表示しユーザからの入力を受け付ける画面12と、業務機能とI/Fの対応関係を管理する業務I/Fテーブル13と、対象システムが有するI/Fのソースプログラムの集合であるI/Fソースプログラム51と、I/Fの解析を行うI/F解析処理部50と、I/Fの解析結果を管理するI/Fテーブル52と、対象システムが有する処理プログラムのソースプログラムの集合である処理ソースプログラム61と、プログラムの解析を行うプログラム解析処理部60と、プログラムの解析結果を管理するプログラムテーブル62と、業務機能内で処理されるデータ項目を解析してその入力元を探索する前提条件探索処理部70と、前提条件探索の結果を管理する業務テーブル71と、業務機能間の依存関係を特定する依存関係解析処理部80と、依存関係解析の結果を管理する前提業務機能テーブル81と、それまでの処理によって求められた業務機能間の依存関係をユーザに表示する依存関係表示処理部90で構成される。
図2に本実施例で対象とするシステムの一例を示す。本実施例で対象とするシステムは、1つ以上のI/Fと、それに対応するプログラムと、そのプログラムによって参照、更新されるデータベース(以下、DBと表記する)で構成されるものとする。
図2は、受注登録業務機能に対するユーザに対する出入力と、それらに対応するプログラムに対する出入力の処理の流れを模式図として表したものである。
処理の流れを以下に示す。
ユーザに対して受注登録画面が表示される。ユーザは、受注登録画面に対して得意先コード(CD)、商品CD、商品数量を入力する。受注登録画面は、入力されたデータ項目のうち、商品CDを引数として受注登録確認処理プログラムを呼び出す。受注登録確認処理プログラムは、商品CDをキーとして商品マスタを検索し、結果として商品CDに対応する商品名を引き当てる。受注登録確認処理プログラムは、商品CDと商品名を引き継いで受注登録確認画面を生成する。受注登録確認画面では、{得意先CD、商品名、商品数量}をユーザに表示する。受注登録画面は、ユーザの「登録」ボタン押下によって{得意先CD、商品CD、商品名、商品数量}を引数として受注登録処理プログラムを呼び出す。受注登録処理プログラムは、得意先CDをキーとして得意先マスタを検索し、結果として得意先CDに対応する得意先名を引き当てる。さらに受注登録処理プログラムは、{得意先CD、得意先名}から得意先IDを生成し、受注NO(ナンバー)を自動生成する。受注登録処理プログラムは、受注NOをキーとして、受注伝票レコード{受注NO、商品CD、商品名、商品数量、得意先ID}を更新する。
本実施例では、以上のようにユーザによって処理される一連の流れを業務機能として定義し、この業務機能で利用される画面の集合をユーザからの主な入力とする。
図3に、本実施例の全体処理フローを示す。対象とする情報システムが所有する全てのI/Fを表示し、ユーザはその情報を基にどの業務機能でどのI/Fを、どのような順番で使用するのかを入力する。業務I/F選択処理部は、ユーザによって入力された情報を基に、業務I/Fテーブル13を生成する(ステップ100)。
図10は業務I/Fテーブルの一例を示す図である。業務I/Fテーブル13は、業務機能名を格納する業務機能14、業務機能14に示された業務機能にて利用するI/F名を格納するI/F15、I/F15に示したI/Fが業務機能14に示された業務機能内で利用される順番を格納する順番16を有している。
ユーザに対して業務知識の入力画面を表示する(ステップ100)。当画面では、ある業務機能において、どんなI/Fを、どんな順序で利用するのかを入力させる。例えば、受注登録業務機能において、1番目に受注登録画面を使用し、2番目に受注登録確認画面を使用する場合、図10に示したような業務機能I/Fテーブルが得られる。
次に、業務機能I/Fテーブルを基に、対象システムに関する解析業務機能テーブル17を作成する(ステップ200)。
対象システムの解析は、業務機能ごとに行われる。解析業務機能テーブル17は、解析の対象となる業務機能を管理する。
図11は、解析する業務機能を管理する解析業務機能テーブルの一例を示す図である。解析業務機能テーブルは、解析の対象とする業務機能名を格納する業務機能18と、当該の業務機能が解析されたことがあるかどうかを示すフラグ19を有する。
次に、解析業務機能テーブル17のフラグ19を参照し、全てがマーク済みであるかどうかを判断する(ステップ300)。
全てマーク済みである場合、対象とする全ての業務機能について解析は終了していると判断し、ステップ800に進む。
それ以外の場合、解析は終了していないと判断し、ステップ400に進む。
次に、解析業務機能テーブルを1行読み込み、業務機能18に格納されている業務機能名を取り出し、フラグ18にマークする(ステップ400)。フラグ19に対するマークとして、例えば“○”などの記号を入力する。
次に、取り出された業務機能に含まれるI/Fを対象として、I/F解析処理部がI/F解析を行う(ステップ500)。
I/F解析の結果は、I/Fテーブル52に格納される。
図13は、I/Fテーブルの一例を示す図である。I/Fテーブルは、解析の対象であるI/F名を格納するI/F53と、当該I/Fの出力データ項目を格納する出力項目54と、その出力データ項目の出力先を格納する出力先55と、その出力先がプログラムであるのか、I/Fであるのかを示す種別56と、その出力データ項目の元となる入力データ項目を格納する入力項目57と、その入力データ項目がユーザから入力されたのか、そうでないのかを示す入力元58を有する。
次に、取り出された業務機能に含まれるI/Fに対応する全てのプログラムを対象として、プログラム解析処理部がプログラム解析を行う(ステップ600)。
プログラム解析の結果は、プログラムテーブル62に格納される。
図15は、プログラムテーブルの一例を示す図である。プログラムテーブルは、解析の対象であるプログラム名を格納するプログラム63と、当該のプログラムの出力データ項目を格納する出力項目64と、その出力データ項目の出力先を格納する出力先65と、その出力先がI/Fであるのか、DBであるのかを示す種別66と、その出力データ項目の基となるデータ項目を格納する入力項目67と、その入力データ項目がDBから取得されたのか、そうでないのかを示す入力元68を有する。
次に、取り出された業務機能内において、DBに対して更新が行われる全てのデータ項目を対象として、前提条件探索処理部が前提条件探索を行う(ステップ700)。
前提条件探索の結果は、業務機能テーブル71に格納される。
図17は、業務機能テーブルの一例を示す図である。業務機能テーブルは、解析の対象であるデータ項目が所属する業務機能名を格納する業務機能72と、その業務機能内の前提条件である入力項目を格納する項目73とを有する。
ここで、”前提条件である”とは、ある業務機能内で更新されるデータ項目、あるいはその基となるデータ項目であるが、その業務機能内ではユーザから入力されないデータ項目であることを意味する。
ステップ300における判断で、解析業務機能テーブル17のフラグ19が全てマーク済みであった場合、対象システムに含まれる全ての業務機能を対象として依存関係解析処理部が依存関係特定を行う(ステップ800)。
依存関係特定の結果は、前提業務機能テーブル81に格納される。
図20は、前提業務機能テーブルの一例を示す図である。前提業務機能テーブルは、解析の対象である業務機能名を格納する業務機能82と、その前提業務機能の業務機能名を格納する前提業務83を有する。
ここで、”前提業務機能である”とは、ある業務機能の前提条件であるデータ項目を入力項目としてもつ業務機能を示す。
最後に、対象とするシステムに所属する全ての業務機能を対象として、依存関係表示処理部が表示処理を行うことで、ユーザに対して、業務仕様を提示する(ステップ900)。
ステップ100の詳細を説明する。
図4は、ステップ100にてユーザに表示する画面イメージの一例である。ステップ100では業務I/F選択処理部が、I/F集合11からI/Fを取り出して、例えば遷移情報などといったI/F間の関係を表示する。ユーザは、表示された画面に対して、業務機能名を指定する。例えば、テキストフィールドなどによって業務機能名の入力を受け付ける。次にその業務機能で利用するI/Fを選択し、そのI/Fを利用する順番を入力する。例えば、表示されているI/Fに付随するチェックボックスなどによって入力を受け付ける。業務機能名の入力、利用するI/Fの選択、利用順番の入力は、1つの業務機能に対してそれぞれが指定できればよく、その形式について厳格には問わない。
例えば、受注登録業務において、受注登録画面を1番目に利用し、受注登録確認画面を2番目に利用する場合、図10のように業務I/Fテーブルが作成される。
次に、図5に従ってステップ500の詳細を説明する。
図5は、I/F解析の詳細処理フローを示した図である。
I/F解析処理部は、ステップ400にて取り出した業務機能名をキーとして、業務機能I/Fテーブル13の業務機能14を探索し、該当する行のI/F21に格納されているI/Fを抽出し、解析I/Fテーブルに転記する(ステップ510)。
図12は、「受注登録業務機能」をキーとした場合の解析I/Fテーブルの一例を示した図である。解析I/Fテーブルは、解析の対象であるI/F名を格納するI/F21と、そのI/Fが解析されたことがあるかどうかを示すフラグ22を有する。
解析I/Fテーブルのフラグ22を探索し、全てがマークされているか否かを判断する(ステップ520)。
全てがマーク済みである場合、対象とする全てのI/Fについて解析は終了したと判断し、ステップ500の処理を終了する。
それ以外の場合、解析は終了していないと判断し、ステップ530に進む。
次に、解析I/Fテーブルのフラグ22が空欄でない行を1行読み込み、該当する行のI/F21に格納されているI/F名を取り出して、当該行のフラグ22にマークする(ステップ530)。フラグ22に対するマークとして、例えば“○”などの記号を入力する。
取り出されたI/F名をキーとして、I/Fソースプログラムから該当するI/Fを取り出し、解析を行う。
I/F解析では、該I/Fがどのようなデータを出力するのかを表す出力項目と、その出力項目がどのようなプログラムまたはI/Fに対して出力されるかを表す出力先と、その出力先がプログラムであるかI/Fであるかを表す種別と、出力項目がどのような入力項目から生成されるのかを表す入力項目と、その入力項目がどこから入力されるかを表す入力元を結果として出力する。
I/Fの解析結果を、I/Fテーブル52に格納する。
例えば、I/Fの一例を画面であるとして、その画面に表示されるような項目である場合、出力先55は空欄であるとし、種別56に”ユーザ”を記入する。
また、例えば、画面におけるテキスト入力など、I/Fに対して明らかにユーザから入力されるようなデータ項目については、入力元58に”ユーザ”と記入し、それ以外のものは入力元58を空欄とする。
例えば、解析の対象とするI/Fが「受注登録確認画面」であり、解析の結果、「商品名」は画面に表示される項目であることがわかった場合、I/Fテーブルに{受注登録確認画面、商品名、“ ”、ユーザ、商品名、“ ”}からなる1行を記入する。
図13は、「受注登録確認画面」、「受注登録画面」をそれぞれキーとして、I/F解析を行った結果を格納した一例である。
次に、図6に従ってステップ600の詳細を説明する。
図6は、プログラム解析の詳細処理フローを示した図である。
プログラム解析処理部が、ステップ500にて生成したI/Fテーブル52の種別56が”プログラム”であるものを探索し、該当する行のI/F53と出力先55を抽出し、重複を排除し、それぞれ解析プログラムテーブル23のI/F24とプログラム25に格納する。
図14は、図13に示したI/Fテーブルを入力とした場合に生成される解析プログラムテーブルの例を示した図である。解析プログラムテーブルは、解析の対象とするプログラムに対応したI/F名を格納するI/F24と、解析の対象であるプログラム名を格納するプログラム25と、解析されたことがあるかどうかを示すフラグ26を有する。
解析プログラムテーブル23のフラグ26を探索し、全てがマークされているか否かを判断する(ステップ620)。
全てがマーク済みである場合、対象とする全てのプログラムについて解析は終了したと判断し、ステップ600の処理を終了する。
それ以外の場合、解析は終了していないと判断し、ステップ630に進む。
次に、得られた解析プログラムテーブル23を1行読み込み、該当する行のプログラム25に格納されているプログラム名を取り出して、当該行のフラグにマークする(ステップ630)。
取り出されたプログラム名をキーとして、処理ソースプログラムから該当するプログラムを取り出し、解析を行う。
プログラムの解析結果を、プログラムテーブル62に格納する。
対象とするプログラムに対する入力データ項目のうち、DBを参照している項目については、入力元68に該当するDB名を記入し、それ以外のものは入力元68を空欄とする。
例えば、解析対象のプログラムが「受注登録処理」であり、解析の結果、「得意先ID」は「得意先CD」と「得意先名」の2つの入力項目から生成されるデータであることが分かった場合、プログラムテーブルに{受注登録処理、得意先ID、受注伝票、DB、得意先CD、“ ”}と{受注登録処理、得意先ID、受注伝票、DB、得意先名、得意先マスタ}の2行を記入する。
図15は、「受注登録処理」、「受注登録確認処理」をそれぞれキーとして、プログラム解析を行った結果を格納した一例である。
次に、図7に従ってステップ700の詳細を説明する。
図7は、前提条件探索処理の詳細処理フローを示したものである。
前提条件探索処理部は、ステップ600にて生成したプログラムテーブル62の種別66が”DB”であり、かつ入力項目67が空欄でないものを探索し、該当する行を抽出することで、解析データテーブルを作成する(ステップ710)。
ステップ700の処理の目的は、当該業務機能内でDBに対して更新を行うデータ項目を解析し、その入力元を特定することである。プログラムテーブル62において、入力項目67が空欄である行の出力項目64に格納されているデータ項目は、当該行のプログラム63に格納されているプログラム名に対応するプログラム内において、独自に生成されたデータ項目であると判断できるため、解析データテーブルには含めない。
図16は、解析データテーブルの一例を示したものである。図16に示すとおり、解析データテーブル29は、解析の対象とするデータ項目が所属するプログラム名を格納するプログラム30と、解析の対象とするデータ項目を格納する出力項目31と、そのデータ項目の基となるデータ項目を格納する入力項目32と、その入力項目の入力元を格納する入力元33と、そのデータ項目が解析されたことがあるかどうかを判断するフラグ34を有する。
次に、解析データテーブル29のフラグ34を探索し、全てがマークされているか否かを判断する(ステップ720)。
全てがマーク済みである場合、対象とするデータ項目について解析は終了したと判断し、ステップ700の処理を終了する。
それ以外の場合、解析は終了していないと判断し、ステップ730に進む。
次に、解析データテーブル29のフラグ34が空欄であるものを1行読み込み、該当する行の入力項目32に格納されているデータ項目を取り出し、当該行のフラグ34にマークする(ステップ730)。フラグ34に対するマークとして、例えば“○”などの記号を入力する。
次に、当該業務機能名と当該行の出力項目31を、更新項目テーブル75の業務機能76と出力項目77にそれぞれ転記する(ステップ735)。
図19は、更新項目テーブルの一例を示した図である。図19に示した通り、更新項目テーブルは、対象とする業務機能名を格納する業務機能76と、その業務機能内でDBに対して更新されるデータ項目を格納する出力項目77を有する。
次に、当該行の入力項目32に格納されているデータ項目を対象として入力起点探索処理を行う(ステップ740)。
入力起点探索処理とは、あるプログラムやI/Fにおける出力項目が、そのプログラム内やI/F内においてどのような入力項目を基に生成されているかを特定し、特定された入力項目を出力するようなプログラムやI/Fを探索し、その項目をそのプログラムやI/Fにおける出力項目として先述の処理を繰り替えることで、結果としてはじめに着目した出力項目が、対象としている業務機能内においてどのような形式で入力されているかを探索する処理である。
図8は、入力起点探索処理の詳細フローを示した図である。
入力起点探索処理の結果として、該業務機能を業務機能テーブル71の業務機能72に格納し、さらに対象とするデータ項目が該業務機能内では入力されないと判断されたデータ項目を業務機能テーブル71の入力項目73に格納する。
図17は、「受注登録業務機能」を解析の対象として、該業務機能内で更新されるDB項目の基となるデータ項目は、{商品CD、商品名、商品数量、得意先CD、得意先名}であり、そのうち、入力起点探索処理の結果、受注登録業務機能内で入力されないと判断されるのは、{商品名、得意先名}であるという結果を示した一例である。
次に、図8に従って入力起点探索処理(ステップ740)の詳細を説明する。
ステップ740の入力は、ステップ730にて読み込んだ解析データテーブルの1行である。
当該行のプログラム30に格納されているプログラムと、出力項目31に格納されているデータ項目と、入力項目32に格納されているデータ項目をキーとして、プログラムテーブル62のプログラム63と出力項目64と入力項目67をプログラムテーブルに対する探索条件とし、探索対象をそれぞれプログラムテーブル62のプログラム63、出力項目64、入力項目67とする(ステップ741)。
次に、ステップ742またはステップ750にて設定された探索条件と探索対象について、プログラムテーブルを探索し、該当する行を取り出す(ステップ742)。
次に、取り出した行を読み込み、当該行の入力元68が空欄であるかどうかを判定する(ステップ743)。
入力元68が空欄でなかった場合、着目したデータ項目の入力元はDBである、と判断し、ステップ749に進む。
空欄であった場合、着目したデータ項目の入力元は、該プログラムの外部であると判断する。
例えば、着目しているデータが「商品CD」であった場合、プログラムテーブルより、その入力元は空欄であるため、「商品CD」はプログラム受注登録処理の外部から入力されるデータであると判断する。
次に、当該行のプログラム63に格納されているプログラムと、入力項目67に格納されているデータ項目をキーとして、I/Fテーブル52の出力先55、出力項目54を探索し、該当する行を抽出する(ステップ744)。
次に、抽出された行の1行を読み込み、入力元58が空欄かどうかを判定する(ステップ745)。
入力元58が空欄でなかった場合、着目したデータ項目の入力元はユーザであり、そのデータ項目は当該業務機能内で入力されるデータであると判断し、ステップ740の処理を終了する。
空欄であった場合、着目したデータ項目の入力元は、ユーザ以外であると判断する。
例えば、着目したデータが「商品CD」であった場合、対応する入力元は空欄であるため、「商品CD」はユーザ以外から入力されるデータであると判断する。
次に、I/Fテーブル52における当該行のI/F53に格納されているI/Fをキーとして、業務I/Fテーブル13のI/F15を探索し、該当する行の順番16に格納されている数値を取り出す。さらに、直前に処理されるI/Fを探索するため、(その数値−1)である数値をキーとして業務I/Fテーブル13の順番16を探索する(ステップ746)。
例えば、ステップ744で着目したI/Fが受注登録確認画面であった場合、これをキーとして業務I/Fテーブルを探索することで、直前に処理されるI/Fとして受注登録画面を得る。
該当する行が存在しない場合、解析データテーブル29の出力項目32に格納されているデータ項目に関する探索は全て終了したと判断し、ステップ740の処理を終了する。
該当する行が存在した場合、解析業務機能テーブル13のI/F15をキーとして、解析プログラムテーブル23を探索し、該当する行のプログラム25に格納されているプログラムを取り出す。取り出したプログラムと、I/Fテーブル52のステップ744で取り出した行の入力項目57に格納されているデータ項目をプログラムテーブルに対する探索条件とし、探索対象を、それぞれプログラムテーブル62のプログラム63、出力項目64であるとし、ステップ742に戻る。
最後に、対象としている解析業務機能テーブル17の業務機能18に格納されている業務機能名と、プログラムテーブル62の入力項目67に格納されているデータ項目を、それぞれ業務機能テーブル71の業務機能72、入力項目73に記入する。
この処理を行うことで、業務機能単位に当該業務機能で更新されたデータ項目と、更新されたデータ項目がどの入力データ項目に基づいて生成されたのか、その入力データの発生源はどこなのかを特定することができ、当該業務機能で決定されるデータ項目と、他業務機能からの入力が前提となるデータ項目の情報を生成することができる。
この処理の過程で、業務機能とインタフェースの対応関係と、インタフェースとプログラムの対応関係をデータ項目キーとして探索することに本実施例の特徴がある。
次に、図9に従ってステップ800の詳細を説明する。
図9は、依存関係解析の詳細処理フローを示した図である。
依存関係解析処理部は、ステップ800において、ステップ700で作成された業務機能テーブル71を入力として、入力項目73に格納されているデータ項目を更新するような業務機能を特定し、前提業務機能テーブル81を作成する。
図20は、前提業務機能テーブルの一例を示したものである。図20に示すとおり、前提業務機能テーブルは、着目している業務機能名を格納する業務機能82と、その前提となる業務機能の名称を格納する前提業務83を有する。
ステップ100にて作成した解析業務機能テーブル17のフラグ19を全て空欄にする(ステップ810)。
次に、解析業務機能テーブル17のフラグ19を探索し、全てマーク済みであるかどうかを判断する(ステップ820)。
全てがマーク済みである場合、対象とする業務機能全てについて解析は終了したと判断し、ステップ800の処理を終了する。
それ以外の場合は、解析は終了してないと判断し、ステップ830に進む。
次に、解析業務機能テーブル17を1行読み込み、業務機能18に格納されている業務機能名を取り出して、フラグ19にマークする(ステップ830)。フラグ19に対するマークとして、例えば“○”などの記号を入力する。
取り出した業務機能名をキーとして、業務テーブル71の業務72を探索し、該当する行の業務機能72に格納されている業務機能名と項目73に格納されているデータ項目を取り出し、解析前提項目テーブル35の業務機能36、入力項目37に転記することで、解析前提項目テーブル35を作成する(ステップ840)。
図18は、解析前提項目テーブルの一例を示した図である。図18に示したとおり、解析前提項目テーブル35は、解析の対象となるデータ項目が所属する業務機能名を格納する業務機能36と、解析の対象であるデータ項目を格納する入力項目37と、そのデータ項目の解析されたことがあるかどうかを示すフラグ38を有する。
次に、解析前提項目テーブル35のフラグ38を参照し、全てマーク済みであるかどうかを判断する(ステップ850)。
全てマーク済みである場合、解析終了と判断し、ステップ890に進む。
それ以外の場合、解析は終了していないと判断し、ステップ850に進む。
次に、解析前提項目テーブル35のフラグ38が空欄である行を1行読み込み、フラグ38にマークする(ステップ850)。フラグ38に対するマークとして、例えば“○”などの記号を入力する。
当該行の業務機能36に格納されている業務機能名を取り出す。
当該行の項目37に格納されている入力項目をキーとして、更新項目テーブル75の出力77を探索する(ステップ870)。
該当する行があった場合、業務機能36から取り出した業務機能名と当該行の業務機能76に格納されている業務機能名を、それぞれ前提業務機能テーブル81の業務機能82と前提業務83に格納する(ステップ880)。
例えば{受注登録業務}に対して、図18に示す解析前提項目テーブルより、「受注登録業務」が前提条件とする項目は「商品名」と「得意先」であり、これらの項目をキーとして更新項目テーブル75の出力項目77を探索することで、2つの業務機能「商品登録業務」と「得意先登録業務」を得る。前提業務機能テーブル81には、{受注登録業務、商品登録業務}、{受注登録業務、得意先登録業務}の2行が追加される。
次にステップ900では、依存関係表示処理部は、前提業務機能テーブル81を入力として、業務機能間の依存関係を四角と矢印を用いて描画することで業務機能間の依存関係をユーザに表示する。
例えば、「得意先登録業務機能」、「商品登録業務機能」、「受注登録業務機能」を表す四角を描き、前者2つからからそれぞれ後者1つに向けて矢印を描き、ユーザに表示する。
図21は、本実施例のシステムの出力としてユーザに表示される画面の一例である。本実施例のシステムの出力結果は、業務機能間の依存間関係を図示したものである。例えば、着目する業務機能名をユーザが入力し、検索ボタンを押すことで、該業務機能と依存関係にある業務機能が表示される。業務機能を表示する際には、業務機能とユーザが利用するI/Fとの関係を明確にする情報を合わせて表示する。例えば、業務機能を表す四角の下に利用するI/Fイメージなどを表示する。
このような表示を行うことで、ユーザにとって、通常の業務で行う処理イメージと、情報システムから抽出した業務仕様との関係が理解しやすくなる。
本実施例の全体処理の概要を表す機能フロー図。 本実施例を実施するための最良形態のシステムの概要図。 本実施例における処理フローの全体図。 業務機能I/テーブルを作成する際のユーザ入力イメージ図。 I/F解析における処理フロー図。 プログラム解析における処理フロー図。 入力起点探索における処理フロー図。 入力起点探索の詳細処理フロー図。 前提業務機能解析のおける処理フロー図。 業務機能とI/Fの対応を示す業務機能I/Fテーブル。 解析の対象となる業務機能を格納する解析業務機能テーブル。 解析の対象となるI/Fを格納する解析I/Fテーブル。 I/F解析の結果を格納するI/Fテーブル。 解析の対象となるプログラムを格納する解析プログラムテーブル。 プログラム解析の結果を格納するプログラムテーブル。 解析の対象となるデータを格納する解析データテーブル。 業務機能解析の結果を格納する業務機能テーブル。 業務機能とその前提項目を格納する解析前提項目テーブル。 業務機能とそのDB更新項目を格納する更新項目テーブル。 前提業務機能解析の結果を格納する前提業務機能テーブル。 本実施例におけるシステムの出力イメージ。 本実施例を実施するための最良形態のハードウェアの概要図。
符号の説明
10 業務機能とI/Fとの対応関係を特定し、テーブルを作成する業務I/F選択処理部
12 業務機能に対するユーザからの入力を受け付ける業務機能指定画面
13 業務機能とI/Fとの対応関係を示す業務機能I/Fテーブル
50 I/Fの解析を行うI/F解析処理部
52 I/Fの解析結果を格納するI/Fテーブル
60 プログラムの解析を行うプログラム解析処理部
62 プログラムの解析結果を格納するプログラムテーブル
70 業務機能に対する前提条件を探索する前提条件探索処理部
71 業務機能と前提条件となるデータ項目の対応を示す業務機能テーブル
75 業務機能とその中で更新されるデータ項目の対応を示す更新項目テーブル
80 業務機能間の依存関係を解析する依存関係解析処理部
81 業務機能とその前提となる業務機能との対応を示す前提業務機能テーブル
90 業務機能間の依存関係を出力する依存関係表示処理部
91 業務機能間の依存関係をユーザに示す依存関係表示画面

Claims (4)

  1. 複数の業務が関連し、各業務は1つまたは複数のインタフェースを有する業務システムの業務仕様の理解を支援する業務仕様理解支援方法において、
    業務インタフェース選択処理部が、業務に関する情報と、当該業務に使用される1つまたは複数のインタフェースに関する情報とを受け付け、
    インタフェース解析処理部が、前記受け付けられたインタフェースを解析し、当該インタフェースで使用されるプログラムを抽出し、
    プログラム解析処理部が、前記抽出されたプログラムを解析し、当該プログラムが出力するデータ項目のうち、記憶装置に出力し、データを更新しているデータ項目を抽出し、
    当該抽出されたデータ項目を、当該業務と対応させて記憶装置に格納し、
    前提条件探索処理部が、前記更新されたデータ項目が、当該業務内のインタフェースが入力を受けるデータ項目であるかを判定し、
    前記判定の結果、当該業務内のインタフェースが入力を受け付けるデータ項目でない場合、当該データ項目を前提条件項目と特定し、
    依存関係解析処理部が、前記各業務に対応するように格納された更新されるデータ項目のなかに、当該前提条件項目がある場合、前記格納された更新されるデータ項目を更新する業務を、前提業務として特定し、
    依存関係表示処理部が、当該前提業務が、前記業務に先行する業務である旨の出力をすることを特徴とする業務仕様理解支援方法。
  2. 請求項1に記載の業務仕様理解支援方法において、
    前記業務インタフェース選択処理部は、前記受け付けられたインタフェースに関する情報を、対応する業務に関する情報毎に記憶装置に格納し、
    前記インタフェース解析処理部が、前記業務毎に前記インタフェースを解析することを特徴とする業務仕様理解支援方法。
  3. 請求項2に記載の業務仕様理解支援方法において、
    前記前提条件探索処理部が、前記インタフェースで当該プログラムに対して出力される各データ項目について、当該データ項目がユーザからの入力データであるか、業務システム内の他のプログラムからインタフェースに対して出力されたデータであるかを識別する情報に基づいて当該業務内のインタフェースが入力を受けるデータ項目であるかを判定していることを特徴とする業務仕様理解支援方法。
  4. 複数の業務が関連し、各業務は1つまたは複数のインタフェースを有する業務システムの業務仕様の理解を支援する業務仕様理解支援システムにおいて、
    業務に関する情報と、当該業務に使用される1つまたは複数のインタフェースに関する情報とを受け付ける業務インタフェース選択処理部と、
    前記受け付けられたインタフェースを解析し、当該インタフェースで使用されるプログラムを抽出するインタフェース解析処理部と、
    前記抽出されたプログラムを解析し、当該プログラムが出力するデータ項目のうち、記憶装置に出力しデータを更新しているデータ項目を抽出し、
    当該抽出されたデータ項目を、当該業務と対応させて記憶装置に格納するプログラム解析処理部と、
    前記更新されたデータ項目が、当該業務内のインタフェースが入力を受けるデータ項目であるかを判定し、
    前記判定の結果、当該業務内のインタフェースが入力を受け付けるデータ項目でない場合、当該データ項目を前提条件項目と特定する前提条件探索処理部と、
    前記各業務に対応するように格納された更新されるデータ項目のなかに、当該前提条件項目がある場合、前記格納された更新されるデータ項目を更新する業務を、前提業務として特定する依存関係解析処理部と、
    当該前提業務が、前記業務に先行する業務である旨の出力をする依存関係表示処理部とを有することを特徴とする業務仕様理解支援システム。
JP2007289151A 2007-11-07 2007-11-07 業務仕様理解支援システム及び方法 Expired - Fee Related JP4978432B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007289151A JP4978432B2 (ja) 2007-11-07 2007-11-07 業務仕様理解支援システム及び方法
US12/265,789 US20090228794A1 (en) 2007-11-07 2008-11-06 Business specification comprehension assistance system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007289151A JP4978432B2 (ja) 2007-11-07 2007-11-07 業務仕様理解支援システム及び方法

Publications (2)

Publication Number Publication Date
JP2009116638A JP2009116638A (ja) 2009-05-28
JP4978432B2 true JP4978432B2 (ja) 2012-07-18

Family

ID=40783720

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007289151A Expired - Fee Related JP4978432B2 (ja) 2007-11-07 2007-11-07 業務仕様理解支援システム及び方法

Country Status (2)

Country Link
US (1) US20090228794A1 (ja)
JP (1) JP4978432B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007264863A (ja) * 2006-03-28 2007-10-11 Hitachi Ltd 業務使用解析装置
US8935670B2 (en) * 2010-10-25 2015-01-13 Sap Se System and method for business function reversibility
US9098629B2 (en) * 2010-12-01 2015-08-04 Sap Se System and method for reversibility categories and characteristics of computer application functions
US20120278114A1 (en) * 2011-04-26 2012-11-01 Sap Ag Method for dynamically reversing business functions
JP2015102878A (ja) * 2013-11-21 2015-06-04 株式会社日立製作所 プログラム関連分析方法
JP6409658B2 (ja) 2015-03-31 2018-10-24 富士通株式会社 情報処理装置及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04181455A (ja) * 1990-11-16 1992-06-29 Hitachi Ltd 画面遷移仕様作成方法
EP0770967A3 (en) * 1995-10-26 1998-12-30 Koninklijke Philips Electronics N.V. Decision support system for the management of an agile supply chain
JPH10232773A (ja) * 1997-02-19 1998-09-02 Hitachi Ltd リバース情報を利用する業務モデル作成方法
US7162427B1 (en) * 1999-08-20 2007-01-09 Electronic Data Systems Corporation Structure and method of modeling integrated business and information technology frameworks and architecture in support of a business
JP4791660B2 (ja) * 2001-08-23 2011-10-12 日立公共システムエンジニアリング株式会社 データフロー自動生成装置とデータフロー自動生成方法およびコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
JP2009116638A (ja) 2009-05-28
US20090228794A1 (en) 2009-09-10

Similar Documents

Publication Publication Date Title
JP4978432B2 (ja) 業務仕様理解支援システム及び方法
US9760603B2 (en) Method and system to provide composite view of data from disparate data sources
JP4872529B2 (ja) リバースエンジニアリング支援方法
JP2017041171A (ja) テストシナリオ生成支援装置およびテストシナリオ生成支援方法
JP2009104229A (ja) 入力チェック装置および入力チェック方法
JP5675676B2 (ja) 業務分析設計支援装置、業務分析設計支援方法、および業務分析設計支援プログラム
JP4826120B2 (ja) 業務仕様作成支援システム及び方法
JP5045042B2 (ja) 業務フロー編集プログラム、業務フロー編集装置および業務フロー編集方法
JP2008234552A (ja) プロジェクト管理支援装置およびその方法
JP2008015774A (ja) 模倣文書検出システム及びプログラム
JP2004038759A (ja) アプリケーション連携システム、アプリケーション連携方法およびその方法を実行するためのプログラム
JP2006023968A (ja) 固有表現抽出方法および装置並びにそれらに用いるプログラム
JP2001256043A (ja) プログラムソースの修正履歴管理方法および修正履歴管理システム
JP2016143106A (ja) 業務バリエーションに基づく業務影響箇所抽出方法および業務影響箇所抽出装置
JP5412970B2 (ja) タスク管理システム
JP2008009966A (ja) 業務プロセス設定装置及び業務プロセス設定方法
JP2008139994A (ja) 設計変更時影響の管理システム、設計変更時影響の管理方法、および設計変更時影響の管理プログラム
JP2007034805A (ja) 情報処理装置及びプログラム
JP2007157037A (ja) データベースのアクセス環境構築方法、アクセス環境構築プログラム、およびアクセス環境構築装置
JP2011107757A (ja) データ処理装置及びデータ処理方法及びプログラム
JP3824468B2 (ja) データ管理システム
JP2005122632A (ja) Webアプリケーション開発支援装置及び開発支援方法
JPH10232773A (ja) リバース情報を利用する業務モデル作成方法
JPH0695821A (ja) 業務システムの画面表示方法及びその装置
JP2001154837A (ja) オブジェクト指向開発支援装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100308

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20100901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100901

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120314

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120321

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120403

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150427

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees