(57)【要約】【課題】柔軟性の高いサービスが構築できるように業務プロセスフローの作成を支援する。【解決手段】第１の機能分類手段３により、業務プロセスフロー１ａに示された実行主体毎に、実行主体と実行主体に対応するグループに含まれる機能との対応関係を示す第１の機能分類情報３ａが生成される。次に、第２の機能分類手段４により、同一内部データ定義２ａ内のデータに対して生成アクセスまたは更新アクセスの少なくともいずれか一方を行う機能が同じグループに纏められ、内部データ図に対応する実行主体と、内部データ図に含まれるデータに基づいて生成されたグループに含まれる機能との対応関係を示す第２の機能分類情報４ａが生成される。そして、分類結果比較手段５により、第１の機能分類情報３ａと第２の機能分類情報４ａとが比較される。【選択図】図１
2007264768.tif 000002
【特許請求の範囲】
【請求項１】
業務プロセスフローを元にしたシステム開発を支援するためのシステム開発支援プログラムにおいて、
コンピュータを、
業務の遂行に必要な処理を行うための機能が、処理の実行主体毎に分けて記述された業務プロセスフローを格納する業務プロセスフロー記憶手段、
処理対象となるデータ間の関係を前記実行主体毎に表した内部データ図、および前記機能それぞれと前記機能による生成アクセスまたは更新アクセスの対象となるデータとの関係を示す情報分析表を含む内部データ定義を記憶する内部データ定義記憶手段、
前記業務プロセスフローに示された前記実行主体毎に、前記実行主体において実施する前記機能を同じグループに纏め、前記実行主体と前記実行主体に対応するグループに含まれる前記機能との対応関係を示す第１の機能分類情報を生成する第１の機能分類手段、
前記内部データ定義の同一の前記内部データ図に含まれるデータを同一のデータグループに纏め、前記情報分析表を参照して、前記データグループ内のデータに対して生成アクセスまたは更新アクセスの少なくともいずれか一方を行う機能を同じグループに纏め、前記内部データ図に対応する前記実行主体と、前記内部データ図に含まれるデータに基づいて生成されたグループに含まれる前記機能との対応関係を示す第２の機能分類情報を生成する第２の機能分類手段、
前記第１の機能分類情報と前記第２の機能分類情報とを比較し、同一の前記実行主体に対応付けられた前記機能の一致・不一致を判断し、不一致点を表示する分類結果比較手段、
として機能させることを特徴とするシステム開発支援プログラム。
【請求項２】
前記分類結果比較手段は、前記第１の機能分類情報と前記第２の機能分類情報との内容を並べて表示し、同一の前記実行主体に対応付けられた前記機能が比較相手より余分に存在する場合、余分な前記機能を強調表示すること特徴とする請求項１記載のシステム開発支援プログラム。
【請求項３】
前記分類結果比較手段は、前記第１の機能分類情報と前記第２の機能分類情報のいずれか一方を基準とし、基準側の前記実行主体に対応付けられた前記機能が、比較相手では異なる前記実行主体に対応付けられている場合、比較相手において対応付けられた前記実行主体を強調表示することを特徴とする請求項１記載のシステム開発支援プログラム。
【請求項４】
前記内部データ定義手段に記憶された前記情報分析表には、前記機能それぞれと前記機能による参照アクセスまたは削除アクセスの対象となるデータとの関係についても示されており、
コンピュータを、さらに、
データアクセスが生成・更新・参照・削除のどれなのかを示すアクセス種別に基づいて、同一のデータに対する２つのデータアクセスの先後関係を定義したアクセス関係表を有し、複数の前記業務プロセスフロー内の前記機能によるデータアクセスのアクセス種別を前記情報分析表によって判断し、２つの前記業務プロセスフローからなる組み合わせのうち、いずれの前記業務プロセスフローを先に実行しても前記アクセス関係表に示されるデータアクセスの先後関係を満たすことができない組み合わせを検出する不備・矛盾検出手段、
として機能させることを特徴とする請求項１記載のシステム開発支援プログラム。
【請求項５】
前記不備・矛盾検出手段は、前記業務プロセスフロー内で実行されるデータアクセスが前記アクセス関係表に示されるデータアクセスの先後関係を満たすことができるか否かの判断において、前記業務プロセスフローにおいて必ず実行されるデータアクセスのみを判断の対象とすることを特徴とする請求項４記載のシステム開発支援プログラム。
【請求項６】
前記内部データ定義手段に記憶された前記情報分析表には、前記機能それぞれと前記機能による参照アクセスまたは削除アクセスの対象となるデータとの関係についても示されており、
コンピュータを、さらに、
データアクセスが生成・更新・参照・削除のどれなのかを示すアクセス種別に基づいて、同一のデータに対する２つのデータアクセスの先後関係を定義したアクセス関係表を有し、複数の前記業務プロセスフロー内の前記機能によるデータアクセスのアクセス種別を前記情報分析表によって判断し、共通のデータにアクセスを行う２つの前記業務プロセスフローからなる組み合わせにおける前記業務プロセスフロー間の実行順を前記アクセス関係表に基づいて判断し、先に実行される前記業務プロセスフローで削除されたデータに対して後に実行される前記業務プロセスフローでアクセスしている組み合わせを検出する不備・矛盾検出手段、
として機能させることを特徴とする請求項１記載のシステム開発支援プログラム。
【請求項７】
前記内部データ定義手段に記憶された前記情報分析表には、前記機能それぞれと前記機能による参照アクセスまたは削除アクセスの対象となるデータとの関係についても示されており、
コンピュータを、さらに、
複数の前記業務プロセスフロー内の前記機能によるデータアクセスが生成・更新・参照・削除のどれなのかを示すアクセス種別を前記情報分析表によって判断し、生成アクセスを行う前記機能が複数存在するデータを検出する不備・矛盾検出手段、
として機能させることを特徴とする請求項１記載のシステム開発支援プログラム。
【請求項８】
前記内部データ定義手段に記憶された前記情報分析表には、前記機能それぞれと前記機能による参照アクセスまたは削除アクセスの対象となるデータとの関係についても示されており、
前記コンピュータを、さらに、
複数の前記業務プロセスフロー内の前記機能によるデータアクセスが生成・更新・参照・削除のどれなのかを示すアクセス種別を前記情報分析表によって判断し、生成アクセスを行う前記機能が存在しないデータを検出する不備・矛盾検出手段、
として機能させることを特徴とする請求項１記載のシステム開発支援プログラム。
【請求項９】
業務プロセスフローを元にしたシステム開発を支援するためのシステム開発支援装置において、
業務の遂行に必要な処理を行うための機能が、処理の実行主体毎に分けて記述された業務プロセスフローを格納する業務プロセスフロー記憶手段と、
処理対象となるデータ間の関係を前記実行主体毎に表した内部データ図、および前記機能それぞれと前記機能による生成アクセスまたは更新アクセスの対象となるデータとの関係を示す情報分析表を含む内部データ定義を記憶する内部データ定義記憶手段と、
前記業務プロセスフローに示された前記実行主体毎に、前記実行主体において実施する前記機能を同じグループに纏め、前記実行主体と前記実行主体に対応するグループに含まれる前記機能との対応関係を示す第１の機能分類情報を生成する第１の機能分類手段と、
前記内部データ定義の同一の前記内部データ図に含まれるデータを同一のデータグループに纏め、前記情報分析表を参照して、前記データグループ内のデータに対して生成アクセスまたは更新アクセスの少なくともいずれか一方を行う機能を同じグループに纏め、前記内部データ図に対応する前記実行主体と、前記内部データ図に含まれるデータに基づいて生成されたグループに含まれる前記機能との対応関係を示す第２の機能分類情報を生成する第２の機能分類手段と、
前記第１の機能分類情報と前記第２の機能分類情報とを比較し、同一の前記実行主体に対応付けられた前記機能の一致・不一致を判断し、不一致点を表示する分類結果比較手段と、
を有することを特徴とするシステム開発支援装置。
【請求項１０】
業務プロセスフローを元にしたシステム開発をコンピュータによって支援するためのシステム開発支援方法において、
第１の機能分類手段が、業務の遂行に必要な処理を行うための機能が、処理の実行主体毎に分けて記述された業務プロセスフローを格納する業務プロセスフロー記憶手段から前記業務プロセスフローを取得し、前記業務プロセスフローに示された前記実行主体毎に、前記実行主体において実施する前記機能を同じグループに纏め、前記実行主体と前記実行主体に対応するグループに含まれる前記機能との対応関係を示す第１の機能分類情報を生成し、
第２の機能分類手段が、処理対象となるデータ間の関係を前記実行主体毎に表した内部データ図、および前記機能それぞれと前記機能による生成アクセスまたは更新アクセスの対象となるデータとの関係を示す情報分析表を含む内部データ定義を記憶する内部データ定義記憶手段から前記内部データ定義を取得し、前記内部データ定義の同一の前記内部データ図に含まれるデータを同一のデータグループに纏め、前記情報分析表を参照して、前記データグループ内のデータに対して生成アクセスまたは更新アクセスの少なくともいずれか一方を行う機能を同じグループに纏め、前記内部データ図に対応する前記実行主体と、前記内部データ図に含まれるデータに基づいて生成されたグループに含まれる前記機能との対応関係を示す第２の機能分類情報を生成し、
分類結果比較手段が、前記第１の機能分類情報と前記第２の機能分類情報とを比較し、同一の前記実行主体に対応付けられた前記機能の一致・不一致を判断し、不一致点を表示する、
ことを特徴とするシステム開発支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は業務プロセスフローを元にしたシステム開発を支援するためのシステム開発支援プログラム、システム開発支援装置およびシステム開発支援方法に関し、特に業務プロセスフローの品質向上を図るためのシステム開発支援プログラム、システム開発支援装置およびシステム開発支援方法に関する。
【背景技術】
【０００２】
業務システムの開発にあたり、より業務寄りの視点でのシステム開発を行う必要がある。この開発において問題となるのは、次の２者間のシステムに関する考え方のギャップの存在である。
・経営者・業務部門を中心とする第１のグループ（対象業務およびビジネスシステムの支援対象の業務機能を把握）
・システムベンダを中心とする第２のグループ（業務システムを実装する技法やノウハウを有する）
これらのグループ間には相互理解のギャップが存在する。すなわち、それぞれが業務寄りの言葉、システム寄りの言葉で機能を説明しがちで、システムが実現すべき機能（ユースケース）が業務側からベンダ側に伝わりにくい。また、第１のグループが業務内容を変更した場合、その変更に合わせてシステムが変更されるまでには、時間的なギャップが存在する。
【０００３】
これらの２つのギャップを解決する指針を提示した基本概念に「サービス指向開発」がある。サービス指向開発とは、業務システムを実現する機能を、業務側が扱い易い単位でまとめ「サービス」と呼び、「サービス」を組み合わせて業務を実現するものである。
【０００４】
サービス指向開発に基づいてシステム開発を行うために、経営者・業務部門側が理解できる表現でシステム化対象の業務内容を表現する手段が必要である。この１形態に業務プロセスフローがある。
【０００５】
業務プロセスフローを起点にした業務システム開発では、業務プロセスフローによる業務定義を起点に、システムに必要な機能を列挙し、実行順序（機能の呼び出し処理フロー）を策定する。すでに各社が、プロセスフロー定義から呼び出し処理フローを作成するツールを発表している（例えば、特許文献１参照）。
【０００６】
なお、業務の流れを表現したモデルの質の向上を図る技術として、例えば、機能単位で行う一連の操作に対して、その操作が扱うエンティティオブジェクトと、複数のエンティティオブジェクトにまたがる操作をもつ制御オブジェクトとを予め区別する技術も考えられている。これにより、操作の呼び出し関係を発生順に表現したイベントトレース図の質の向上を図ることができる（例えば、特許文献２参照）。
【特許文献１】特開２００１−９２６４７号公報
【特許文献２】特開平９−２９２９８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、コンピュータシステムには、サービスの柔軟性が高いことが望まれる。柔軟性が高いサービスとは、業務変化に強く（業務内容の変化によってサービスの組み合わせが変えられても引き続き利用できる）、汎用性が高い（似た業種・業態のシステムを構築する際も同じサービスを利用できる）ものである。以下、柔軟性の高いサービスを「適切なサービス」と呼ぶ。
【０００８】
この「適切なサービス」を実現するためには、業務プロセスフローを作成する段階で、業務を構成するサービスに対して、機能を適切に振り分ける必要がある。すなわち、密接に関連する機能同士を同一のサービスで提供させ、関連の薄い機能同士は互いに異なるサービスで提供させる。
【０００９】
このように機能を複数のサービスに適切に分類することで「適切なサービス」が提供できる。「適切なサービス」であれば、後々に業務内容が変化しても、その変化があった処理に対応するサービスの内容を変更するだけで、業務変化に応じたシステム構築が可能となる。
【００１０】
しかし、従来の業務サービスフロー生成手法では、サービスの柔軟性に関して考慮されていないため、「適切なサービス」が構築されないことが多かった。そのため、業務内容の一部が変更された場合であっても、多くのプログラムモジュールの修正が必要となっていた。また、過去に構築したシステムと似た業務を提供するシステムを構築する場合にも、多くのプログラムモジュールを流用することができず、新たに作り直す必要があった。
【００１１】
加えて、業務プロセスフローから十分な機能を持つ業務システムを構築するためには、機能の考慮漏れがないこと、および業務プロセスフローに矛盾がないことを確認する必要がある。業務システムを実現するための機能に考慮漏れがないかは、単に業務プロセスフローを記述し、その内容が正しいかを業務側の関係者に確認するだけでは不十分である。
【００１２】
すなわち、業務関係者は、普段からシステム構築に携わっているわけではないので、業務プロセスフロー上で主となるサービスが定義されていれば、その業務プロセスフローを承認してしまう。ところが、実際にシステムを構築する際には不可欠なサービスや機能が業務プロセスフローから抜け落ちていることもある。
【００１３】
業務プロセスフローに不備が多いと、その業務プロセスフローの一部のサービスを他の業務に流用したとき、不備のある業務プロセスフローが拡散してしまう。そのため、業務プロセスフローの汎用性を高めるには、提供されるサービスの柔軟性を高めるだけでなく、業務プロセスフロー作成の初期段階で不備をできる限り排除しておく必要がある。
【００１４】
本発明はこのような点に鑑みてなされたものであり、柔軟性の高いサービスが構築できるように業務プロセスフローの作成を支援するシステム開発支援プログラム、システム開発支援装置およびシステム開発支援方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明では上記課題を解決するために、図１に示すようなシステム開発支援プログラムが提供される。本発明に係るシステム開発支援プログラムは、業務プロセスフロー１ａを元にしたシステム開発を支援するために、図１に示す機能をコンピュータに実行させることができる。
【００１６】
業務プロセスフロー記憶手段１は、業務の遂行に必要な処理を行うための機能が、処理の実行主体毎に分けて記述された業務プロセスフロー１ａを格納する。内部データ定義記憶手段２は、処理対象となるデータ間の関係を実行主体毎に表した内部データ図２ｂ、および機能それぞれと機能による生成アクセスまたは更新アクセスの対象となるデータとの関係を示す情報分析表２ｃを含む内部データ定義２ａを記憶する。第１の機能分類手段３は、業務プロセスフロー１ａに示された実行主体毎に、実行主体において実施する機能を同じグループに纏め、実行主体と実行主体に対応するグループに含まれる機能との対応関係を示す第１の機能分類情報３ａを生成する。第２の機能分類手段４は、内部データ定義２ａの同一の内部データ図２ｂに含まれるデータを同一のデータグループに纏め、情報分析表２ｃを参照して、データグループ内のデータに対して生成アクセスまたは更新アクセスの少なくともいずれか一方を行う機能を同じグループに纏め、内部データ図２ｂに対応する実行主体と、内部データ図２ｂに含まれるデータに基づいて生成されたグループに含まれる機能との対応関係を示す第２の機能分類情報４ａを生成する。分類結果比較手段５は、第１の機能分類情報３ａと第２の機能分類情報４ａとを比較し、同一の実行主体に対応付けられた機能の一致・不一致を判断し、不一致点を表示する。
【００１７】
このようなシステム開発支援プログラムをコンピュータに実行させると、第１の機能分類手段３により、業務プロセスフロー１ａに示された実行主体毎に、実行主体において実施する機能が同じグループに纏められ、実行主体と実行主体に対応するグループに含まれる機能との対応関係を示す第１の機能分類情報３ａが生成される。次に、第２の機能分類手段４により、内部データ定義２ａの同一の内部データ図２ｂに含まれるデータが同一のデータグループに纏められ、情報分析表２ｃを参照して、データグループ内のデータに対して生成アクセスまたは更新アクセスの少なくともいずれか一方を行う機能が同じグループに纏められ、内部データ図２ｂに対応する実行主体と、内部データ図２ｂに含まれるデータに基づいて生成されたグループに含まれる機能との対応関係を示す第２の機能分類情報４ａが生成される。そして、分類結果比較手段５により、第１の機能分類情報３ａと第２の機能分類情報４ａとが比較され、同一の実行主体に対応付けられた機能の一致・不一致が判断され、不一致点が表示される。
【００１８】
また、上記課題を解決するために、業務プロセスフローを元にしたシステム開発を支援するためのシステム開発支援装置において、業務の遂行に必要な処理を行うための機能が、処理の実行主体毎に分けて記述された業務プロセスフローを格納する業務プロセスフロー記憶手段と、処理対象となるデータ間の関係を前記実行主体毎に表した内部データ図、および前記機能それぞれと前記機能による生成アクセスまたは更新アクセスの対象となるデータとの関係を示す情報分析表を含む内部データ定義を記憶する内部データ定義記憶手段と、前記業務プロセスフローに示された前記実行主体毎に、前記実行主体において実施する前記機能を同じグループに纏め、前記実行主体と前記実行主体に対応するグループに含まれる前記機能との対応関係を示す第１の機能分類情報を生成する第１の機能分類手段と、前記内部データ定義の同一の前記内部データ図に含まれるデータを同一のデータグループに纏め、前記情報分析表を参照して、前記データグループ内のデータに対して生成アクセスまたは更新アクセスの少なくともいずれか一方を行う機能を同じグループに纏め、前記内部データ図に対応する前記実行主体と、前記内部データ図に含まれるデータに基づいて生成されたグループに含まれる前記機能との対応関係を示す第２の機能分類情報を生成する第２の機能分類手段と、前記第１の機能分類情報と前記第２の機能分類情報とを比較し、同一の前記実行主体に対応付けられた前記機能の一致・不一致を判断し、不一致点を表示する分類結果比較手段と、を有することを特徴とするシステム開発支援装置が提供される。
【００１９】
また、上記課題を解決するために、業務プロセスフローを元にしたシステム開発をコンピュータによって支援するためのシステム開発支援方法において、第１の機能分類手段が、業務の遂行に必要な処理を行うための機能が、処理の実行主体毎に分けて記述された業務プロセスフローを格納する業務プロセスフロー記憶手段から前記業務プロセスフローを取得し、前記業務プロセスフローに示された前記実行主体毎に、前記実行主体において実施する前記機能を同じグループに纏め、前記実行主体と前記実行主体に対応するグループに含まれる前記機能との対応関係を示す第１の機能分類情報を生成し、第２の機能分類手段が、処理対象となるデータ間の関係を前記実行主体毎に表した内部データ図、および前記機能それぞれと前記機能による生成アクセスまたは更新アクセスの対象となるデータとの関係を示す情報分析表を含む内部データ定義を記憶する内部データ定義記憶手段から前記内部データ定義を取得し、前記内部データ定義の同一の前記内部データ図に含まれるデータを同一のデータグループに纏め、前記情報分析表を参照して、前記データグループ内のデータに対して生成アクセスまたは更新アクセスの少なくともいずれか一方を行う機能を同じグループに纏め、前記内部データ図に対応する前記実行主体と、前記内部データ図に含まれるデータに基づいて生成されたグループに含まれる前記機能との対応関係を示す第２の機能分類情報を生成し、分類結果比較手段が、前記第１の機能分類情報と前記第２の機能分類情報とを比較し、同一の前記実行主体に対応付けられた前記機能の一致・不一致を判断し、不一致点を表示する、ことを特徴とするシステム開発支援方法が提供される。
【発明の効果】
【００２０】
本発明では、業務プロセスフローにおける機能分類状況を示す第１の機能分類情報と、内部データ定義における機能分類状況を示す第２の機能分類情報とを比較し、分類の不一致点を表示するようにした。これにより、業務プロセスフローにおいて不適切な機能分類があったとき、その内容を開発者に認識させることができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本実施の形態の概略を示す図である。システム開発支援装置は、業務プロセスフローを元にしたシステム開発を支援するために、図１に示す機能を有する。
【００２２】
業務プロセスフロー記憶手段１は、業務の遂行に必要な処理を行うための機能が、処理の実行主体毎に分けて記述された業務プロセスフロー１ａを格納する。
内部データ定義記憶手段２は、内部データ定義２ａを記憶している。内部データ定義２ａは、実行主体毎の内部データ図２ｂと情報分析表２ｃとを含んでいる。内部データ図２ｂは、処理対象となるデータ間の関係を表している。情報分析表２ｃは、機能それぞれと、機能による生成アクセスまたは更新アクセスの対象となるデータとの関係が示されている。
【００２３】
なお、情報分析表２ｃとしては、例えばＣＲＵＤ表を利用することができる。ＣＲＵＤ表は、機能と生成アクセスまたは更新アクセスの対象となるデータとの関係だけでなく、機能と参照アクセスまたは削除アクセスの対象となるデータとの関係までも含んでいる。
【００２４】
第１の機能分類手段３は、業務プロセスフロー１ａに示された実行主体毎に、実行主体において実施する機能を同じグループに纏める。そして、第１の機能分類手段３は、実行主体と実行主体に対応するグループに含まれる機能との対応関係を示す第１の機能分類情報３ａを生成する。
【００２５】
第２の機能分類手段４は、内部データ定義２ａの同一の内部データ図２ｂに含まれるデータを同一のデータグループに纏める。さらに、第２の機能分類手段４は、情報分析表２ｃを参照して、データグループ内のデータに対して生成アクセスまたは更新アクセスの少なくともいずれか一方を行う機能を同じグループに纏める。そして、第２の機能分類手段４は、内部データ図２ｂに対応する実行主体と、内部データ図２ｂに含まれるデータに基づいて生成されたグループに含まれる機能との対応関係を示す第２の機能分類情報４ａを生成する。
【００２６】
分類結果比較手段５は、第１の機能分類情報３ａと第２の機能分類情報４ａとを比較する。そして、分類結果比較手段５は、同一の実行主体に対応付けられた機能の一致・不一致を判断し、不一致点を表示する。例えば、分類結果比較手段５は、機能分類表示画面６を表示する。機能分類表示画面６には、第１の機能分類情報３ａに示された機能分類を示す機能分類表６ａと、第２の機能分類情報４ａに示された機能分類を示す機能分類表６ｂとが示される。各機能分類表６ａ，６ｂには、実行主体の名称と、その実行主体で実行する機能の名称とが対応付けて表示される。そして、分類内容が異なる部分については、該当する機能の名称が強調表示される。
【００２７】
矛盾・不備検出手段７は、業務プロセスフロー１ａと情報分析表２ｃとに基づいて、業務プロセスフロー１ａにおける矛盾や不備を検出する。例えば、矛盾・不備検出手段７は、業務プロセスフロー１ａが複数存在し、かつ情報分析表２ｃに、機能それぞれと機能による参照アクセスまたは削除アクセスの対象となるデータとの関係についても示されている場合、以下の処理を行うことができる。
【００２８】
なお、矛盾・不備検出手段７は、複数の業務プロセスフロー内の機能によるデータアクセスのアクセス種別（生成、更新、参照または削除）を情報分析表によって判断する。情報分析表は、データアクセスが生成・更新・参照・削除のどれなのかを示すアクセス種別に基づいて、同一のデータに対する２つのデータアクセスの先後関係を定義したものである。例えば、生成アクセスは、更新アクセスよりも必ず先行実行しなければならないことが定義されている。そして、矛盾・不備検出手段７は、２つの業務プロセスフローからなる組み合わせのうち、いずれの業務プロセスフローを先に実行してもアクセス関係表に示されるデータアクセスの先後関係を満たすことができない組み合わせを検出する。
【００２９】
このようなシステム開発支援装置によれば、第１の機能分類手段３により、業務プロセスフロー１ａに示された実行主体毎に、実行主体において実施する機能が同じグループに纏められ、第１の機能分類情報３ａが生成される。次に、第２の機能分類手段４により、内部データ定義２ａの同一の内部データ図２ｂに含まれるデータが同一のデータグループに纏められ、データグループ内のデータに対して生成アクセスまたは更新アクセスの少なくともいずれか一方を行う機能が同じグループに纏められる。そして、第２の機能分類手段４により第２の機能分類情報４ａが生成される。そして、分類結果比較手段５により、第１の機能分類情報３ａと第２の機能分類情報４ａとが比較され、同一の実行主体に対応付けられた機能不一致点が表示される。
【００３０】
これにより、業務プロセスフローにおいて不適切な機能分類があったとき、その内容を開発者に認識させることができる。そして、開発者によって、適切な機能分類となるように業務プロセスフローが修正されれば、その業務プロセスフローに基づいて「適切なサービス」によって構成されるシステムが構築できる。その結果、他の業務に対しても、サービスの流用が容易となる。
【００３１】
また、矛盾・不備検出手段７により、業務プロセスフロー１ａにおける矛盾や不備が検出される。その矛盾や不備の内容を画面表示することで、開発者に対して矛盾や不備の修正を促すことができる。
【００３２】
次に、本実施の形態の詳細を説明する。
図２は、本実施の形態に係るシステム開発支援装置のハードウェア構成例を示す図である。システム開発支援装置１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、および通信インタフェース１０６が接続されている。
【００３３】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションプログラムが格納される。
【００３４】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。
【００３５】
通信インタフェース１０６は、ネットワーク１０に接続されている。通信インタフェース１０６は、ネットワーク１０を介して、他のコンピュータとの間でデータの送受信を行う。
【００３６】
以上のようなハードウェア構成によって、本実施の形態の機能を実現することができる。
図３は、システム開発支援装置の機能を示すブロック図である。システム開発支援装置１００は、業務プロセスフロー記憶部１１０、内部データ定義記憶部１２０、サービスインタフェース定義記憶部１３０、業務プロセスフロー編集部１４１、内部データ編集部１４２、第１のサービスインタフェース定義生成部１５０、第２のサービスインタフェース定義生成部１６０、サービスインタフェース定義比較部１７０、および不備・矛盾検出部１８０を有している。
【００３７】
業務プロセスフロー記憶部１１０は、開発対象のシステムで提供すべき業務の手順を表す複数の業務プロセスフロー１１１，１１２，１１３，・・・を記憶する記憶装置である。例えば、ＨＤＤ１０３の記憶領域の一部が業務プロセスフロー記憶部１１０として用いられる。
【００３８】
内部データ定義記憶部１２０は、開発対象のシステムで提供すべき業務で利用するデータの構造を表す複数の内部データ定義１２０ａ，１２０ｂ，１２０ｃ・・・を記憶する記憶装置である。例えば、ＨＤＤ１０３の記憶領域の一部が内部データ定義記憶部１２０として用いられる。内部データ定義１２０ａ，１２０ｂ，１２０ｃ・・・は、それぞれ業務プロセスフロー１１１，１１２，１１３，・・・に対応付けられている。
【００３９】
内部データ定義１２０ａは、内部データ図集合１２１、ＣＲＵＤ表１２２、および機能説明書集合１２３で構成される。内部データ図集合１２１は、データ間の関係を示した図（内部データ図）の集合である。内部データ図は、処理の動作主体毎に設けられている。ＣＲＵＤ表１２２は、機能（インタフェース）によるデータのアクセス種別を表したデータテーブルである。アクセス種別には、生成（Ｃ）、参照（Ｒ）、更新（Ｕ）、および削除（Ｄ）がある。機能説明書集合１２３には、機能（インタフェース）毎の処理内容の説明や入出力されるデータが定義されている。
【００４０】
サービスインタフェース定義記憶部１３０は、業務の実行主体であるサービスを、どのようなインタフェース（プログラムモジュールをコンピュータに実行させることで実現される機能）を使用して実装するのかを定義したサービスインタフェース定義を記憶する記憶装置である。例えば、ＨＤＤ１０３の記憶領域の一部がサービスインタフェース定義記憶部１３０として使用される。具体的には、サービスインタフェース定義記憶部１３０は、第１のサービスインタフェース定義生成部１５０で生成された第１のサービスインタフェース定義１３１と、第２のサービスインタフェース定義生成部１６０で生成された第２のサービスインタフェース定義１３２とを記憶する。
【００４１】
業務プロセスフロー編集部１４１は、ユーザの操作入力に応答して、業務プロセスフローを作成する。業務プロセスフローでは、業務の処理単位となるサービスがノードで表され、そのノードに対してサービスにおける処理内容が定義される。また、業務プロセスフロー内のノード間は、処理手順を示す線で結ばれる。そして、業務プロセスフロー編集部１４１は、業務プロセスフロー記憶部１１０に作成した業務プロセスフローを格納する。
【００４２】
内部データ編集部１４２は、ユーザからの操作入力に応答して、サービスの提供に使用される内部データの構造等の定義情報（内部データ定義１２０ａ）を生成する。内部データ編集部１４２は、生成した内部データを、内部データ定義記憶部１２０に格納する。
【００４３】
第１のサービスインタフェース定義生成部１５０は、業務プロセスフロー記憶部１１０から業務プロセスフロー１１１，１１２，１１３，・・・を取得し、取得した業務プロセスフロー１１１，１１２，１１３，・・・に基づいてサービスインタフェース定義（第１のサービスインタフェース定義）を生成する。その際、第１のサービスインタフェース定義生成部１５０は、インタフェース（処理を実行するモジュール）を適切にグループ化する。
【００４４】
すなわち、第１のサービスインタフェース定義生成部１５０は、密接に関連する機能を有するインタフェース同士を、同一のサービスとしてグループ化する。第１のサービスインタフェース定義生成部１５０は、生成した第１のサービスインタフェース定義をサービスインタフェース定義記憶部１３０に格納する。
【００４５】
第２のサービスインタフェース定義生成部１６０は、内部データ定義記憶部１２０から内部データ定義１２０ａを取得し、取得した内部データ定義１２０ａに基づいてサービスインタフェース定義（第２のサービスインタフェース定義）を生成する。その際、第２のサービスインタフェース定義生成部１６０は、インタフェースを適切にグループ化する。そして、第２のサービスインタフェース定義生成部１６０は、生成したサービスインタフェース定義（第２のサービスインタフェース定義）をサービスインタフェース定義記憶部１３０に格納する。
【００４６】
サービスインタフェース定義比較部１７０は、第１のサービスインタフェース定義と第２のサービスインタフェース定義とをサービスインタフェース定義記憶部１３０から取り出す。そして、サービスインタフェース定義比較部１７０は、取り出したサービスインタフェース定義を比較する。
【００４７】
例えば、サービスインタフェース定義比較部１７０は、第１のサービスインタフェース定義と第２のサービスインタフェース定義との同名のインタフェースの定義同士を比較する。比較の結果、使用するサービスが一致していなければ、サービスインタフェース定義比較部１７０は、インタフェースが不一致のサービスに関する両サービスインタフェース定義内の定義内容を画面表示する。また、サービスインタフェース定義比較部１７０は、インタフェースのグループ化の結果が異なっていれば、その内容を画面表示する。
【００４８】
不備・矛盾検出部１８０は、アクセス関係表１８１に基づいて、業務プロセスフロー１１１，１１２，１１３，・・・と内部データ定義１２０ａとの間の不備や矛盾等の検出を行う。アクセス関係表１８１には、異なる２つの業務プロセスフローから共通のデータにアクセスする場合の制約条件が示されている。
【００４９】
具体的には、不備・矛盾検出部１８０は、業務プロセスフロー記憶部１１０と内部データ定義記憶部１２０とから、業務プロセスフロー１１１，１１２，１１３，・・・と内部データ定義１２０ａとの組を取得し、それらを比較する。そして、不備・矛盾検出部１８０は、業務プロセスフロー１１１，１１２，１１３，・・・に設定されたアクション（業務遂行途中で発生する動作）の不備や、業務プロセスフロー１１１，１１２，１１３，・・・と内部データ定義１２０ａとの間の矛盾点を検出する。不備・矛盾検出部１８０は、アクションの不備または業務プロセスフロー１１１，１１２，１１３，・・・と内部データ定義１２０ａとの間の矛盾点を検出すると、その内容を画面表示する。
【００５０】
次に、業務プロセスフロー記憶部１１０に格納される業務プロセスフロー１１１，１１２，１１３，・・・について、代表して業務プロセスフロー１１１を用いて説明する。
図４は、業務プロセスフローの記述例を示す図である。業務プロセスフロー１１１は、ノード３１〜４１、ノード間を接続する実線の矢印、ノード間で受け渡されるデータ５１〜５３、およびデータとノードとを示す破線の矢印によって、業務プロセスフローを定義している。
【００５１】
ノード３１〜４１は、業務作業内容を示すアクションを表している。なお、業務プロセスフロー１１１では、アクションを実行する主体（サービス）を示すパーティション２１〜２３が設けられており、各ノード３１〜４１は対応するアクションの実行主体であるパーティション内に配置されている。ノード間を接続する実線の矢印は、ノードの遷移関係を示している。
【００５２】
なお、業務プロセスフロー１１１に沿ってプログラムを作成する場合、アクションを実行するサービス毎に、そのサービスを実行するサーバプログラムが作成される。そして、そのサーバプログラムがコンピュータで実行されることで、サーバプログラムを実行するプロセスがサーバとして機能し、パーティション内に示されるアクションの実行主体となる。
【００５３】
また、ノード３２〜４０には、対応するアクションの実装方法が「システム」または「システム支援」と定義されている。実装方法が「システム」のアクションは、コンピュータシステムによって自動実行するように実装すべきアクションである。実装方法が「システム支援」のアクションは、ユーザによる対話型の操作入力が行われ、その操作入力の内容に応じた処理をコンピュータシステムが実行するように実装すべきアクションである。
【００５４】
データ５１〜５３は、アクションがアクセスするデータである。ノードとデータ間とを接続する破線の矢印は、データの受け渡し関係を示している。
パーティション２１は、出荷部門が行うべきサービス（コンピュータシステムで提供される情報処理サービス）を示している。パーティション２１には、６つのノード３１，３２，３５，３６，４０，４１が設定されている。
【００５５】
ノード３１は、開始ノードであり、処理の開始位置であることを示している。ノード３２は、機能名「受注情報確認」のアクションを示しており、実装方法は「システム支援」と設定されている。ノード３２には、開始のノード３１から遷移する。
【００５６】
ノード３５は、機能名「ピッキング作業」のアクションを示しており、実装方法は「システム支援」と設定されている。ノード３５には、パーティション２２内のノード３４から遷移する。
【００５７】
ノード３６は、機能名「出荷確認入力」のアクションを示しており、実装方法は「システム支援」と設定されている。ノード３６には、ノード３５から遷移する。また、ノード３６には、パーティション２３のノード３３から「出荷伝票」のデータ５２が渡される。
【００５８】
ノード４０は、機能名「貨物状況確認」のアクションを示しており、実装方法は「システム支援」と設定されている。ノード４０には、パーティション２２のノード３９から遷移する。また、ノード４０には、ノード３８から「納品書」のデータ５３が渡される。ノード４１は、終了ノードであり、処理の終了位置であることを示している。
【００５９】
パーティション２２は、出荷管理システム（コンピュータシステムで提供される情報処理サービス）が行うべきサービスを示している。パーティション２２には、２つのノード３４，３９が設定されている。
【００６０】
ノード３４は、機能名「ピッキングリスト出力」のアクションを示しており、実装方法は「システム」と設定されている。ノード３４には、パーティション２３のノード３３から遷移する。また、ノード３４には、ノード３３から「出荷伝票」のデータ５２が渡される。
【００６１】
ノード３９は、機能名「貨物状況登録」のアクションを示しており、実装方法は「システム」と設定されている。ノード３９には、パーティション２３のノード３８から遷移する。また、ノード３９には、ノード３８から「納品書」のデータ５３が渡される。
【００６２】
パーティション２３は、在庫管理部門で行うべきサービス（コンピュータシステムで提供される情報処理サービス）で行われる処理を示している。パーティション２３には、３つのノード３３，３７，３８が設定されている。
【００６３】
ノード３３は、機能名「出荷伝票発行」のアクションを示しており、実装方法は「システム」と設定されている。ノード３３には、パーティション２１のノード３２から遷移する。また、ノード３３には、ノード３２から「受注情報」のデータ５１が渡される。
【００６４】
ノード３７は、機能名「出荷受付」のアクションを示しており、実装方法は「システム」と設定されている。ノード３７には、パーティション２１のノード３６から遷移する。また、ノード３７には、ノード３３から「出荷伝票」のデータ５２が渡される。
【００６５】
ノード３８は、機能名「出荷処理」のアクションを示しており、実装方法は「システム」と設定されている。ノード３８には、ノード３７から遷移する。また、ノード３８には、ノード３３から「出荷伝票」のデータ５２が渡される。
【００６６】
なお、図４に示す業務プロセスフロー１１１に含まれないノードとして、条件分岐を表すノードが定義される場合がある。また、アクションの実装方法として「システム」（コンピュータシステムの自動実行）と「システム支援」（人の実施をシステムで支援）とが示されているが、それ以外に「人の作業」という実装方法が定義される場合がある。「人の作業」は、完全に人手によって実行するアクションであり、システムへの実装作業は発生しない。
【００６７】
図４に示すような業務プロセスフロー１１１に示されるアクションのうち、システムによる自動実行を行うべきアクションが、サービスとしてシステムに実装される。サービスでは、各アクションに対応するインタフェースの呼出を行うことで、そのアクションに対応する処理をシステムで実行させる。
【００６８】
なお、システムによる自動実行を行うべきアクションであっても、再利用性が低いなどの理由でサービスとして実装することが不適切な場合がある。図４の例では、パーティション２２内のアクションは「サービス実装不適」と判断されている。「サービス実装不適」と判断されたパーティション２２には、「サービス実装不適」を表す実装情報５４が設定される。
【００６９】
次に、内部データ定義記憶部１２０に格納される内部データ図集合１２１、ＣＲＵＤ表１２２、および機能説明書集合１２３について説明する。
図５は、内部データ図集合の例を示す図である。内部データ図集合１２１には、複数の内部データ図１２１ａ，１２１ｂ，・・・が含まれている。各内部データ図１２１ａ，１２１ｂ，・・・には、サービス名が設定されている。例えば、内部データ図１２１ａのサービス名は「在庫管理サービス」である。
【００７０】
内部データ図１２１ａ，１２１ｂ，・・・には、出荷管理関連の必要なデータとして、「出荷情報」、「配送所指定」、「納入先指定」、「出荷明細」および「納品情報」が設定されている。内部データ図１２１ａ，１２１ｂ，・・・において線で接続されているデータ同士が、互いに関係付けられている。
【００７１】
図６は、ＣＲＵＤ表の例を示す図である。ＣＲＵＤ表１２２には、１つ目の行にデータ名が設定されており、左端の列に機能名が設定されている。そして、機能名とデータ名とが交わる位置に、該当機能によって該当データに対して行われるアクセス種別が設定されている。アクセス種別が生成の場合、図中「Ｃ」で表される。アクセス種別が参照の場合、図中「Ｒ」で表される。アクセス種別が更新の場合、図中「Ｕ」で表される。アクセス種別が削除の場合、図中「Ｄ」で表される。
【００７２】
図７は、機能説明書の例を示す図である。機能説明書集合１２３には、複数の機能説明書１２３ａ，１２３ｂ，・・・が含まれている。機能説明書１２３ａ，１２３ｂ，・・・は、機能毎に設けられている。各機能説明書１２３ａ，１２３ｂ，・・・には、機能名、概要、入力、出力等の欄が設けられている。
【００７３】
機能名の欄には、機能の名称が設定される。概要の欄には、その機能で実現される処理内容の説明が設定される。入力の欄には、その機能に入力されるデータの名称が設定される。出力の欄には、その機能から出力されるデータの名称が設定される。
【００７４】
図８は、アクセス関係表のデータ構造例を示す図である。アクセス関係表１８１には、起点フローでのアクセス、終点フローでのアクセス、および関係の欄が設けられている。
起点フローでのアクセスの欄には、業務プロセスフローの１つを起点フローとして選択したときに、起点フロー内で実行される任意のデータに対するアクセスのアクセス種別が設定される。
【００７５】
終点フローでのアクセスの欄には、業務プロセスフローの１つを終点フローとして選択したときに、終点フロー内で実行される任意のデータに対するアクセスのアクセス種別が設定される。
【００７６】
関係の欄には、対応関係にある起点フローでのアクセスと終点フローでのアクセスとが、同一のデータに対するアクセスの場合に、起点フローの満たすべき条件が設定される。条件としては、例えば「必ず先行実行」がある。これは、起点フローが終点フローよりも常に先に実行されていなければならないことを示している。別の条件として「先行禁止」がある。これは、起点フローを終点フローよりも先に実行してはならないことを示している。
【００７７】
以上のような構成のシステム開発支援装置１００を用いて、矛盾点や考慮漏れが少なく、かつ「適切なサービス」を構築できる業務プロセスフローを生成することができる。以下、業務プロセスフローの生成および修正処理を詳細に説明する。
【００７８】
図９は、業務プロセスフロー生成・修正処理の手順を示すフローチャートである。以下、図９に示す処理をステップ番号に沿って説明する。
［ステップＳ１１］業務プロセスフロー編集部１４１は、ユーザからの操作入力に応答して、業務プロセスフロー１１１を生成する。そして、業務プロセスフロー編集部１４１は、生成した業務プロセスフロー１１１を業務プロセスフロー記憶部１１０に格納する。
【００７９】
［ステップＳ１２］内部データ編集部１４２は、ユーザからの操作入力に応答して、内部データ定義を生成する。そして、内部データ編集部１４２は、生成した内部データを内部データ定義記憶部１２０に格納する。
【００８０】
［ステップＳ１３］第１のサービスインタフェース定義生成部１５０は、ステップＳ１１で生成された業務プロセスフロー１１１に基づいて、第１のサービスインタフェース定義１３１を生成する。そして、第１のサービスインタフェース定義生成部１５０は、生成した第１のサービスインタフェース定義１３１をサービスインタフェース定義記憶部１３０に格納する。この処理の詳細は後述する（図１０、図１１参照）。
【００８１】
［ステップＳ１４］第２のサービスインタフェース定義生成部１６０は、ステップＳ１２で生成された内部データ定義に基づいて、第２のサービスインタフェース定義１３２を生成する。そして、第２のサービスインタフェース定義生成部１６０は、生成した第２のサービスインタフェース定義１３２をサービスインタフェース定義記憶部１３０に格納する。この処理の詳細は後述する（図１２、図１３参照）。
【００８２】
［ステップＳ１５］サービスインタフェース定義比較部１７０は、生成された第１のサービスインタフェース定義１３１と第２のサービスインタフェース定義１３２とを比較する。この処理の詳細は後述する。
【００８３】
［ステップＳ１６］ユーザは、画面に表示された比較結果を見て、比較の結果不整合があるか否かを判断する。不整合があれば、処理がステップＳ１７に進められる。不整合がなければ、処理がステップＳ１８に進められる。
【００８４】
［ステップＳ１７］ユーザは、業務プロセスフロー編集部１４１または内部データ編集部１４２の編集機能を利用して不整合内容を修正する。その後、処理がステップＳ１８に進められる。
【００８５】
［ステップＳ１８］不備・矛盾検出部１８０は、業務プロセスフロー１１１と内部データ定義（内部データ図集合１２１、ＣＲＵＤ表１２２、機能説明書集合１２３）１２０ａとを比較し、アクションの不備やその他の矛盾点を検出する。この処理の詳細は後述する（図１９〜図２４参照）。
【００８６】
［ステップＳ１９］ユーザは、画面に表示された不備・矛盾の検出結果を見て、不備や矛盾が検出されたか否かを判断する。不備・矛盾があれば処理がステップＳ２０に進められる。不備・矛盾がなければ処理が終了する。
【００８７】
［ステップＳ２０］ユーザは、業務プロセスフロー編集部１４１または内部データ編集部１４２の編集機能を利用してアクションの不備・矛盾を修正する。その後、処理が終了する。
【００８８】
次に、第１のサービスインタフェース定義生成処理（図９のステップＳ１３）を詳細に説明する。
図１０は、第１のサービスインタフェース定義の生成状況を示す図である。第１のサービスインタフェース定義１３１を生成する際には、次の条件を満たす部分を対象部分とする。
・業務側と「システムによる自動実行」と合意された処理（実装方法が「システム」）に相当するノードを抽出候補とする。
・抽出候補のうち「サービス実装不適」と実装情報が設定されたパーティション内のノードを除外する。
【００８９】
上記条件を満たしたノードが業務プロセスフロー１１１から抽出される。図４に示した例では、「出荷部門」のパーティション２１内のアクションのノード３２，３５，３６，４０は、実装方法が全て「システム支援」である。そのため、これらのノード３２，３５，３６，４０は抽出対象から除外される。「出荷管理システム」のパーティション２２には「サービス実装不適」の実装情報５４が設定されている。そのため、パーティション２２内の全てのノード３４，３９は抽出の対象外となる。
【００９０】
「在庫管理サービス」のパーティション２３には、「サービス実装不適」の実装情報５４は設定されていない。また、パーティション２３内の各ノード３３，３７，３８は、アクションを示しており、実装方法が「システム」である。従って、パーティション２３内の各ノード３３，３７，３８は抽出対象となる。
【００９１】
そして、抽出されたノードが「サービス」（パーティション）ごとに纏められ、第１のサービスインタフェース定義１３１が生成される。第１のサービスインタフェース定義１３１には、サービス、インタフェース、引数／戻値の欄が設けられている。インタフェースの欄のデータに対して横方向に並べられたデータが関連づけられ、関連づけられたデータの集合がインタフェース情報を構成している。
【００９２】
サービスの欄には、サービス名が設定される。インタフェースの欄には、機能名が設定される。引数／戻値の欄には、入力されるデータのデータ名と出力されるデータのデータ名とが設定される。入力されるデータは「input」で表され、出力されるデータは「output」で表される。
【００９３】
以下、第１のサービスインタフェース定義生成処理の手順を詳細に説明する。
図１１は、第１のサービスインタフェース定義生成処理の手順を示すフローチャートである。以下、図１１に示す処理をステップ番号に沿って説明する。
【００９４】
［ステップＳ３１］第１のサービスインタフェース定義生成部１５０は、業務プロセスフロー１１１の開始のノード３１に注目する。
［ステップＳ３２］第１のサービスインタフェース定義生成部１５０は、既達ノードリストをＲＡＭ１０２内に生成する。そして、第１のサービスインタフェース定義生成部１５０は、注目中の開始のノード３１を既達ノードリストに加える。
【００９５】
［ステップＳ３３］第１のサービスインタフェース定義生成部１５０は、注目中のノードが実装方法「システム」のアクションであり、かつそのノードの属するパーティションに「サービス実装不適」の実装情報が設定されていないという条件を満たすか否かを判断する。条件を満たしていれば、処理がステップＳ３４に進められる。条件を満たしていなければ、処理がステップＳ３５に進められる。
【００９６】
［ステップＳ３４］第１のサービスインタフェース定義生成部１５０は、第１のサービスインタフェース定義１３１に行を追加する。なお、サービスインタフェース定義表が未作成であれば、第１のサービスインタフェース定義生成部１５０は、第１のサービスインタフェース定義１３１をＲＡＭ１０２内に作成後、行の追加処理を行う。
【００９７】
行を追加した後、第１のサービスインタフェース定義生成部１５０は、注目中のノードが属するパーティションのサービス名を、追加された行のサービスの欄に設定する。また、第１のサービスインタフェース定義生成部１５０は、注目中のノードの機能名を、追加された行のインタフェースの欄に設定する。さらに、第１のサービスインタフェース定義生成部１５０は、注目中のノードの入力データおよび出力データそれぞれのデータ名を、追加された行の引数／戻値の欄に設定する。
【００９８】
［ステップＳ３５］第１のサービスインタフェース定義生成部１５０は、注目中のノードから他のノードに向かう遷移それぞれに関して、遷移先のノードを未達ノードリストに加える。ただし、既に既達ノードリストに含まれているノードであれば、未達ノードリストの追加は行われない。
【００９９】
［ステップＳ３６］第１のサービスインタフェース定義生成部１５０は、「未達ノードリスト」内にノードが登録されているか否かを判断する。ノードが登録されていれば、処理がステップＳ３７に進められる。ノードが登録されていなければ、処理がステップＳ３８に進められる。
【０１００】
［ステップＳ３７］第１のサービスインタフェース定義生成部１５０は、未達ノードリストからノードを１つ取り出す。そして、第１のサービスインタフェース定義生成部１５０は、取り出したノードに注目する。さらに、第１のサービスインタフェース定義生成部１５０は、取り出したノードを未達ノードリストから削除し、そのノードを「既達ノードリスト」に加える。その後、処理がステップＳ３３に進められる。
【０１０１】
［ステップＳ３８］第１のサービスインタフェース定義生成部１５０は、サービスインタフェース定義内の各行をサービス名によってソートする。これにより、同じサービス名のインタフェースが纏められる。その後、第１のサービスインタフェース定義生成処理が終了する。
【０１０２】
このようにして、業務プロセスフロー１１１に基づき第１のサービスインタフェース定義１３１を生成することができる。次に、内部データ定義に基づく第２のサービスインタフェース定義の生成処理について詳細に説明する。
【０１０３】
図１２は、第２のサービスインタフェース定義の生成状況を示す図である。まず、ＣＲＵＤ表１２２に設定されているデータのうち、同一の内部データ図に含まれているデータ同士が、同一のグループに分類される。例えば、内部データ図１２１ａには、「出荷情報」、「納入先指定」、「配送所指定」、「出荷明細」、「納品情報」等のデータが含まれているため、これらのデータが同一のグループに分類される。さらに、ＣＲＵＤ表１２２上で同一のグループに属するデータに対して、生成（Ｃ）または更新（Ｕ）の操作を行う機能がグループ化される。
【０１０４】
次に、同じグループに属する機能の機能名が第２のサービスインタフェース定義１３２のインタフェースの欄に設定される。また、機能のグループを生成する際の元となったデータのグループが属している内部データ図に設定されているサービス名が、第２のサービスインタフェース定義１３２のサービスの欄に設定される。そして、各機能の機能名に対応する機能説明書の入力、出力の欄の記載が、第２のサービスインタフェース定義１３２の引数／戻値の欄に設定される。
【０１０５】
図１３は、第２のサービスインタフェース定義生成処理の手順を示すフローチャートである。以下、図１３に示す処理をステップ番号に沿って説明する。
［ステップＳ４１］第２のサービスインタフェース定義生成部１６０は、ＣＲＵＤ表１２２に設定されているデータのうち、同一の内部データ図１２１ａ，１２１ｂ，・・・に設定されているデータ同士を同じグループに分類する。
【０１０６】
［ステップＳ４２］第２のサービスインタフェース定義生成部１６０は、ＣＲＵＤ表１２２から、ステップＳ４１で同一グループに分類されたデータのいずれかに対して生成（Ｃ）または更新（Ｕ）操作を行う機能の集合を抽出し、同一グループに分類する。
【０１０７】
［ステップＳ４３］第２のサービスインタフェース定義生成部１６０は、ＣＲＵＤ表１２２の全ての機能を第２のサービスインタフェース定義１３２に設定したか否かを判断する。未設定の機能があれば処理がステップＳ４４に進められる。全ての機能が設定されていれば、処理がステップＳ４８に進められる。
【０１０８】
［ステップＳ４４］第２のサービスインタフェース定義生成部１６０は、ＣＲＵＤ表１２２から、第２のサービスインタフェース定義１３２に未設定の機能を１つ取り出す。
［ステップＳ４５］第２のサービスインタフェース定義生成部１６０は、第２のサービスインタフェース定義１３２に行を追加し、その行のインタフェースの欄にステップＳ４４で抽出した機能の機能名を設定する。
【０１０９】
［ステップＳ４６］第２のサービスインタフェース定義生成部１６０は、ステップＳ４４で抽出した機能が属するグループの抽出元となるデータが含まれていた内部データ図に設定されているサービス名を抽出する。そして、第２のサービスインタフェース定義生成部１６０は、第２のサービスインタフェース定義１３２のサービスの欄に、抽出したサービス名を設定する。
【０１１０】
［ステップＳ４７］第２のサービスインタフェース定義生成部１６０は、ステップＳ４４で抽出した機能の機能名と同じ機能名が設定された機能説明書を選択する。そして、第２のサービスインタフェース定義生成部１６０は、選択した機能説明書の入力および出力の欄に設定されているデータを、第２のサービスインタフェース定義１３２の引数／戻値の欄に設定する。その後、処理がステップＳ４３に進められる。
【０１１１】
［ステップＳ４８］ＣＲＵＤ表１２２の全ての機能が第２のサービスインタフェース定義１３２に設定されたら、第２のサービスインタフェース定義生成部１６０は、サービスインタフェース定義内の各行をサービス名によってソートする。これにより、同じサービス名のインタフェースが纏められる。その後、第２のサービスインタフェース定義生成処理が終了する。
【０１１２】
このようにして、内部データ定義に基づき第２のサービスインタフェース定義１３２を生成することができる。次に、第１のサービスインタフェース定義１３１と第２のサービスインタフェース定義との比較処理について詳細に説明する。
【０１１３】
図１４は、サービスインタフェース定義比較処理のフローチャートの前半である。以下、図１４に示す処理をステップ番号に沿って説明する。
［ステップＳ５１］サービスインタフェース定義比較部１７０は、サービスインタフェース定義記憶部１３０から第１のサービスインタフェース定義１３１と第２のサービスインタフェース定義１３２とを取得する。そして、サービスインタフェース定義比較部１７０は、一方のサービスインタフェース定義にのみ存在するインタフェースを、どちらかにだけ存在するかの情報と共に、過不足インタフェースリストに加える。
【０１１４】
［ステップＳ５２］サービスインタフェース定義比較部１７０は、第１のサービスインタフェース定義１３１に設定されている各サービスに対して、ステップＳ５３〜Ｓ５５の処理を行う。
【０１１５】
［ステップＳ５３］サービスインタフェース定義比較部１７０は、処理対象のサービスに属するインタフェースのインタフェース名を、第１のサービスインタフェース定義１３１に基づいて特定する。そして、サービスインタフェース定義比較部１７０は、特定したインタフェース名それぞれに対応するインタフェース情報を第２のサービスインタフェース定義１３２から抽出する。そして、サービスインタフェース定義比較部１７０は、抽出したインタフェース情報で構成されるインタフェース集合を生成する。なお、特定したインタフェース名に対応するインタフェースが第２のサービスインタフェースに登録されていなければ、第２のサービスインタフェース定義１３２からのレコードの抽出は行われない。
【０１１６】
［ステップＳ５４］サービスインタフェース定義比較部１７０は、インタフェース集合内のインタフェース情報が、全て単一のサービスに属するか否かを判断する。具体的には、サービスインタフェース定義比較部１７０は、サービスの欄に設定されたサービス名が全てのインタフェース情報で同一の場合、単一のサービスに属すると判断する。
【０１１７】
抽出したインタフェース情報のインタフェースがすべて単一のサービスに属する場合、処理がステップＳ５６に進められる。抽出したレコードのインタフェースの少なくとも１つが他の異なるサービスに属する場合、処理がステップＳ５５に進められる。
【０１１８】
［ステップＳ５５］サービスインタフェース定義比較部１７０は、インタフェース集合に含まれるインタフェース情報（第２のサービスインタフェース定義１３２から抽出されている）に対応する第１のサービスインタフェース定義１３１内のインタフェース情報を抽出する。そして、サービスインタフェース定義比較部１７０は、ステップＳ５３で生成されたインタフェース集合と、第１のサービスインタフェース定義１３１から抽出されたインタフェース情報とを関連づけて、グループ化相違インタフェースリストに加える。
【０１１９】
［ステップＳ５６］サービスインタフェース定義比較部１７０は、第１のサービスインタフェース定義１３１に設定されている各サービスに対して、ステップＳ５３〜Ｓ５５の処理が完了したら、処理をステップＳ５７（図１５参照）に進める。
【０１２０】
図１５は、サービスインタフェース定義比較処理のフローチャートの後半である。以下、図１５に示す処理をステップ番号に沿って説明する。
［ステップＳ５７］サービスインタフェース定義比較部１７０は、第２のサービスインタフェース定義１３２に設定されている各サービスに対して、ステップＳ５８〜Ｓ６０の処理を行う。
【０１２１】
［ステップＳ５８］サービスインタフェース定義比較部１７０は、処理対象のサービスに属するインタフェースのインタフェース名を、第２のサービスインタフェース定義１３２に基づいて特定する。そして、サービスインタフェース定義比較部１７０は、特定したインタフェース名それぞれに対応するインタフェース情報を第１のサービスインタフェース定義１３１から抽出する。そして、サービスインタフェース定義比較部１７０は、抽出したインタフェース情報で構成されるインタフェース集合を生成する。なお、特定したインタフェース名に対応するインタフェースが第１のサービスインタフェースに登録されていなければ、第１のサービスインタフェース定義１３１からのレコードの抽出は行われない。
【０１２２】
［ステップＳ５９］サービスインタフェース定義比較部１７０は、インタフェース集合内のインタフェース情報が、全て単一のサービスに属するか否かを判断する。抽出したインタフェース情報のインタフェースがすべて単一のサービスに属する場合、処理がステップＳ６１に進められる。抽出したレコードのインタフェースの少なくとも１つが他の異なるサービスに属する場合、処理がステップＳ６０に進められる。
【０１２３】
［ステップＳ６０］サービスインタフェース定義比較部１７０は、インタフェース集合に含まれるインタフェース情報（第１のサービスインタフェース定義１３１から抽出されている）に対応する第２のサービスインタフェース定義１３２内のインタフェース情報を抽出する。そして、サービスインタフェース定義比較部１７０は、ステップＳ５８で生成されたインタフェース集合と、第２のサービスインタフェース定義１３２から抽出されたインタフェース情報とを関連づけて、グループ化相違インタフェースリストに加える。
【０１２４】
［ステップＳ６１］サービスインタフェース定義比較部１７０は、第２のサービスインタフェース定義１３２に設定されている各サービスに対して、ステップＳ５８〜Ｓ６０の処理が完了したら、処理をステップＳ６２に進める。
【０１２５】
［ステップＳ６２］サービスインタフェース定義比較部１７０は、過不足インタフェースリスト内のインタフェース情報に対応するインタフェースを、サービスインタフェース定義表示画面上で強調表示する。
【０１２６】
［ステップＳ６３］サービスインタフェース定義比較部１７０は、グループ化相違インタフェースリスト内のインタフェース情報に対応するインタフェースを、第１のサービスインタフェース定義１３１または第２のサービスインタフェース定義１３２の表示画面上で強調表示する。
【０１２７】
図１６は、インタフェースの過不足を表すサービスインタフェース定義表示画面の例を示す図である。サービスインタフェース定義表示画面６０には、第１のサービスインタフェース定義表示部６１と第２のサービスインタフェース定義表示部６２とが設けられている。
【０１２８】
第１のサービスインタフェース定義表示部６１には、第１のサービスインタフェース定義１３１の内容が表示される。第２のサービスインタフェース定義表示部６２には、第２のサービスインタフェース定義１３２の内容が表示される。そして、一方のサービスインタフェース定義において不足しているインタフェースが、他方のサービスインタフェース定義中で強調表示されている。
【０１２９】
図１０と図１２とに示した例では、第１のサービスインタフェース定義１３１にはインタフェース名「出荷受付」のインタフェースが含まれているが、第２のサービスインタフェース定義１３２にはインタフェース名「出荷受付」のインタフェースが含まれていない。そのため、サービスインタフェース定義表示画面６０では、第１のサービスインタフェース定義表示部６１内の「出荷受付」のインタフェース情報の行が強調表示されている。
【０１３０】
図１７は、グループ化の相違を表すサービスインタフェース定義表示画面の例を示す図である。この例は、第１のサービスインタフェース定義１３１の一部のインタフェースが、第２のサービスインタフェース定義１３２側の対応サービスではなく他のサービスに属する場合の例である。
【０１３１】
サービスインタフェース定義表示画面７０には、サービス比較表７１が設けられている。サービス比較表７１には、整理番号（Ｎｏ．）、第１の定義側サービス、対応する第２の定義側サービス、および概要の欄が設けられている。
【０１３２】
整理番号の欄には、第１のサービスインタフェース定義１３１内のサービスに対して付与された整理番号が表示される。第１の定義側サービスの欄には、第１のサービスインタフェース定義１３１側のサービスのサービス名が表示される。対応する第２の定義側サービスの欄には、対応する第１のサービスインタフェース定義１３１側のサービスに含まれるインタフェースを有する第２のサービスインタフェース定義１３２側のサービスのサービス名が表示される。概要の欄には、グループ化不一致の内容に関する説明文が表示される。
【０１３３】
サービス比較表７１の左側には、サービス比較表７１内の各サービスに対応付けて、詳細表示対象選択フラグ７２が表示されている。詳細表示対象選択フラグ７２は、チェックボックスとなっている。詳細表示対象選択フラグ７２のチェックボックスにチェック（図１７の例では黒丸の表示）がなされているとき、対応するサービスが詳細表示ボタン７３選択時の詳細表示の対象となる。
【０１３４】
サービス比較表７１の右側には、「詳細を表示」と表記された詳細表示ボタン７３、「第２の定義を起点に表示」と表記された起点切替ボタン７４、および「終了」と表記された終了ボタン７５が設けられている。
【０１３５】
詳細表示ボタン７３は、第１のサービスインタフェース定義１３１と第２のサービスインタフェース定義１３２との各サービスに含まれるインタフェースを表示させるためのボタンである。ユーザのマウス操作等により詳細表示ボタン７３が選択されると、グループ化詳細表示画面が表示される。
【０１３６】
起点切替ボタン７４は、グループ化相違表示の起点となるサービスインタフェース定義を切り換えるためのボタンである。図１７の例では、第１のサービスインタフェース定義１３１を起点としてグループ化の相違が表示されているため、起点切替ボタン７４が選択されると第２のサービスインタフェース定義１３２を起点としたグループ化の相違が表示される。
【０１３７】
終了ボタン７５は、サービスインタフェース定義表示画面７０を閉じるためのボタンである。
図１８は、グループ化詳細表示画面の例を示す図である。グループ化詳細表示画面８０には、第１のサービスインタフェース定義表示部８１と第２のサービスインタフェース定義表示部８２とが設けられている。
【０１３８】
第１のサービスインタフェース定義表示部８１には、対象サービス、サービス、対象Ｉ／Ｆ、およびインタフェースの欄に分けて、第１のサービスインタフェース定義１３１の内容が表示されている。対象サービスの欄には、サービスインタフェース定義表示画面７０の詳細表示対象選択フラグ７２において詳細表示対象として選択されたサービスに対して黒丸の印が表示されている。サービスの欄には、各サービスのサービス名が表示されている。対象Ｉ／Ｆの欄には、詳細表示対象のサービスに含まれるインタフェースに対して黒丸の印が表示されている。インタフェースの欄には、各インタフェースのインタフェース名が表示されている。
【０１３９】
また、対象サービスに該当するサービスのサービス名は強調表示されている。同様に、対象Ｉ／Ｆに該当するインタフェースのインタフェース名も強調表示されている。図１８の例では、サービス名やインタフェース名の表示領域を示す枠を太字にすることで、強調表示が行われている。
【０１４０】
第２のサービスインタフェース定義表示部８２には、一部Ｉ／Ｆを持つサービス、対応サービス、サービス、対応Ｉ／Ｆ、およびインタフェースの欄に分けて、第２のサービスインタフェース定義１３２の内容が表示されている。一部Ｉ／Ｆを持つサービスの欄には、詳細表示対象サービスと異なるサービス名でありながら、そのサービスに含まれるインタフェースの一部を含む第２のサービスインタフェース定義１３２側のサービスに対して黒丸の印が表示されている。対応サービスの欄には、詳細表示対象サービスと同じサービス名の第２のサービスインタフェース定義１３２側のサービスに対して黒丸の印が表示されている。サービスの欄には、各サービスのサービス名が表示されている。対応Ｉ／Ｆの欄には、詳細表示対象サービスに含まれるインタフェースと同じインタフェース名の第２のサービスインタフェース定義１３２側のインタフェースに対して黒丸の印が表示されている。インタフェースの欄には、各インタフェースのインタフェース名が表示されている。
【０１４１】
また、一部Ｉ／Ｆを持つサービスまたは対応サービスに該当するサービスのサービス名は強調表示されている。同様に、対応Ｉ／Ｆに該当するインタフェースのインタフェース名も強調表示されている。図１８の例では、サービス名やインタフェース名の表示領域を示す枠を太字にすることで、強調表示が行われている。
【０１４２】
以上のようにして、第１のサービスインタフェース定義１３１と第２のサービスインタフェース定義１３２との間でのグループ化の相違をユーザに知らせることができる。ユーザは、グループ化の相違を確認し、サービスを実装する上でどのようなグループ化が適切なのか（「適切なサービス」となるのか）を判断する。そして、ユーザは、第１のサービスインタフェース定義１３１のグループ分けが不適当と判断したら、業務プロセスフローを変更する。また、ユーザは、第２のサービスインタフェース定義１３２のグループ分けが不適当であり、かつ内部データ定義の変更の必要性があると判断したら、内部データ定義を変更する。
【０１４３】
次に、アクションの不備や異なる業務プロセスフロー間の矛盾検出処理について説明する。不備・矛盾検出処理では、最初にデータアクセス表が生成される。
図１９は、データアクセス表生成処理を示す図である。図１９の例では、５つの業務プロセスフロー１１２〜１１６が設けられている。また、業務プロセスフロー１１２〜１１６内のアクションでアクセスされるデータ、およびそのアクセス種別（生成（Ｃ）、更新（Ｕ）、参照（Ｒ）、削除（Ｄ））は、ＣＲＵＤ表１２２を参照することで認識される。不備・矛盾検出部１８０は、まず、複数の業務プロセスフロー１１２〜１１６から第１のデータアクセス表９１ａと第２のデータアクセス表９１ｂとを生成する。第１のデータアクセス表９１ａには、各業務プロセスフロー１１２〜１１６で必ずアクセスされるデータと、そのアクセス種別とが設定される。第２のデータアクセス表９１ｂには、各業務プロセスフロー１１２〜１１６でアクセスされる可能性のあるデータと、そのアクセス種別とが設定される。
【０１４４】
第１のデータアクセス表９１ａと第２のデータアクセス表９１ｂとは、対象フロー、対象データ、およびアクセスの欄を有している。対象フローの欄には、アクセスを行うアクションを含む業務プロセスフローの名称（フロー名）が設定される。対象データの欄には、業務プロセスフローでアクセスされるデータのデータ名が設定される。アクセスの欄には、アクセス種別が設定される。「Ｃ」が生成を示し、「Ｕ」が更新を示し、「Ｒ」が参照を示し、「Ｄ］が削除を示す。
【０１４５】
次に、生成された第１のデータアクセス表９１ａに基づいてフロー関係リストが生成される。
図２０は、フロー関係リスト生成処理の概念を示す図である。第１のデータアクセス表９１ａの生成後、不備・矛盾検出部１８０はフロー関係リスト９２を生成する。フロー関係リスト９２の生成は、アクセス関係表１８１と第１のデータアクセス表９１ａとを参照して行われる。フロー関係リスト９２には、業務プロセスフロー間の実行の先後関係（フロー関係情報）が示される。
【０１４６】
フロー関係リスト９２には、対象データ、起点フロー、関係、および終点フローの欄が設けられている。対象データの欄には、先後関係の判断根拠となったデータのデータ名が設定される。起点フローの欄には、先後関係の判断対象となる業務プロセスフローのフロー名が設定される。関係の欄には、起点フローに設定された業務プロセスフローが満たすべき条件が設定される。終点フローの欄には、先後関係の判断相手となる業務プロセスフローのフロー名が設定される。
【０１４７】
また、フロー関係リスト９２に基づいて、矛盾フロー間関係リストが生成される。
図２１は、矛盾フロー間関係リスト生成処理を示す図である。フロー関係リスト９２には、業務プロセスフロー間の先後関係が示されている。そこで、不備・矛盾検出部１８０は、フロー関係リスト９２に登録された情報の中で、矛盾する先後関係を抽出し、矛盾フロー間関係リスト９３に登録する。
【０１４８】
矛盾フロー間関係リスト９３は、業務プロセスフロー間の先後関係に関し、矛盾するフロー関係情報を示している。矛盾フロー間関係リスト９３には、起点フロー、終点フロー、および関係するデータの集合の欄が設けられている。起点フローの欄には、先後関係の判断対象となる業務プロセスフローのフロー名が設定される。終点フローの欄には、先後関係の判断相手となる業務プロセスフローのフロー名が設定される。関係するデータの集合の欄には、矛盾する先後関係の判断根拠となったデータのデータ名が設定される。
【０１４９】
このように、業務プロセスフロー間の矛盾として、どちらの業務プロセスフローを先に実行しても、アクセス関係表１８１で定義された先後関係を全てのデータで満たすことができないような関係を検出できる。一般に業者側と開発者側が合意する業務プロセスフロー群は、業務プロセスフロー間の実行順序が明示されていない場合が多い。本実施の形態では、業務プロセスフロー内で必ず実行されるアクションが、どのデータにどの種別のアクセスを行うのかに着目し、業務プロセスフロー間の実行順を判断している。その結果がフロー関係リスト９２に反映されている。
【０１５０】
このフロー関係リスト９２を参照すると、矛盾するフロー関係が検出できる。例えば、図２１の例では、フロー関係リスト９２の５行目には、「Ｆ４」の業務プロセスフローが「Ｆ５」の業務プロセスフローに対して先行禁止であることが示されている。すなわち、「Ｆ５」の業務プロセスフローを実行する直前に「Ｆ４」の業務プロセスフローを実行してはならない。一方、フロー関係リスト９２の７行目には、「Ｆ４」の業務プロセスフローが「Ｆ５」の業務プロセスフローに対して必ず先行実行しなければならないことが示されている。
【０１５１】
これらの２つの要求を同時に満たすことはできない。これはそれらの関係を導き出す原因となったデータ（「データＢ」と「データＤ」）の一方、もしくは両方のアクセスの仕方に不備があることを示している。従って、矛盾フロー間関係リスト９３の内容を表示することで、ユーザ（システム開発者）に対して業務プロセスフローの修正を促すことができる。
【０１５２】
また、第２のデータアクセス表９１ｂに基づいて、生成アクション不備リストと無使用データリストとが生成される。
図２２は、生成アクション不備リストと無使用データリストとの生成処理を示す図である。第２のデータアクセス表９１ｂには、各データに対するアセス形態が設定されている。そこで、データの生成（Ｃ）アクションがないにも拘わらず、更新（Ｕ）等の他のアクションがある場合、生成（Ｃ）アクションの不備と考えられる。
【０１５３】
そこで、不備・矛盾検出部１８０は、生成アクションが存在しないデータを、第２のデータアクセス表９１ｂから抽出し、生成アクション不備リスト９４に登録する。生成アクション不備リスト９４には、アクセスアクション、アクセス種別、およびデータの欄が設けられている。アクセスアクションの欄には、生成アクションが存在しないデータに対してアクセスを行っているアクションが属するフロー名、およびそのアクションのアクション名が設定される。なお、アクションのアクション名は、業務プロセスフロー１１２〜１１６を参照することで判断できる。
【０１５４】
アクセス種別の欄には、生成アクションが存在しないデータに対して行っているアクセスのアクセス種別（更新（Ｕ）、読み取り（Ｒ）、または削除（Ｄ）のいずれか）が設定される。データの欄には、生成（Ｃ）のアクションが存在しないデータのデータ名が設定される。
【０１５５】
また、生成（Ｃ）のアクションはあるが、それ以降、更新（Ｕ）等の他のアクションが行われていないデータがあった場合、そのデータに対する生成（Ｃ）アクションが不要であるか、あるいは更新（Ｕ）等の他のアクションの抜けが存在すると考えられる。そこで、不備・矛盾検出部１８０は、第２のデータアクセス表９１ｂから生成（Ｃ）アクションのみが存在するデータを抽出し、無使用データリスト９５に登録する。
【０１５６】
無使用データリスト９５には、生成アクションとデータとの欄が設けられている。生成アクションの欄には、生成後に使用されていないデータの生成を行ったアクションが属する業務プロセスフローのフロー名と、そのアクションのアクション名とが設定される。なお、アクションのアクション名は、業務プロセスフロー１１２〜１１６を参照することで判断できる。
【０１５７】
また、フロー関係リスト９２と第２のデータアクセス表９１ｂとに基づいて、削除後アクセスアクションリストと繰り返し生成アクションリストとが生成される。
図２３は、削除後アクセスアクションリストと繰り返し生成アクションリストとの生成処理を示す図である。削除後アクセスアクションリスト９６は、削除されたデータに対する後続（実行順が後になる）のアクションを示している。業務プロセスフロー間の処理の先後関係は、フロー関係リスト９２によって認識される。
【０１５８】
削除後アクセスアクションリスト９６には、削除アクション、後続アクション、およびデータの欄が設けられている。削除アクションの欄には、該当データの削除を行うアクションの属する業務プロセスフローのフロー名と、そのアクションのアクション名とが設定される。後続アクションの欄には、削除されたデータに対してアクセスするアクションが属する業務プロセスフローのフロー名と、そのアクションのアクション名とが設定される。なお、アクションのアクション名は、業務プロセスフロー１１２〜１１６から取得される。データの欄には、削除後にアクセスされる可能性があるデータのデータ名が設定される。
【０１５９】
繰り返し生成アクションリスト９７は、同一のデータに対して繰り返して生成アクションが行われたことを示している。繰り返し生成アクションリスト９７には、先行アクション、繰り返しアクション、およびデータの欄が設けられている。先行アクションの欄には、繰り返して生成されるデータに対して先に生成を行ったアクションの属する業務プロセスフローのフロー名と、そのアクションのアクション名とが設定される。繰り返しアクションの欄には、繰り返して生成されるデータに対して後に生成を行ったアクションの属する業務プロセスフローのフロー名と、そのアクションのアクション名とが設定される。なお、各アクションのアクション名は、業務プロセスフロー１１２〜１１６から取得される。データの欄には、生成されているにも拘わらず再び生成が試みられてしまう可能性があるデータのデータ名が設定される。
【０１６０】
図２２、図２３に示したように、同一データに生成処理が複数回行われたり、削除されたデータに対して参照等のアクセスが行われたり、生成処理が存在しないデータにアクセスされていたり、参照されていない（未使用）データが存在したり等が検出できる。同一データに生成処理が複数回行われている場合、いずれか１つ以外のアクションが不要と考えられる。削除されたデータに対して参照等のアクセスが行われた場合、削除アクションの実行順序に問題があると考えられる。生成処理が存在しないデータにアクセスされていた場合、生成アクションの記載漏れが考えられる。参照されていない（未使用）データが存在した場合、データに対する処理に記載漏れがあるか、あるいはそのデータが不要である可能性が考えられる。
【０１６１】
このように、アクションの記載不備等を検出し、検出結果を表示することで、ユーザに対して、業務プロセスフローの修正を促すことができる。図２３の第２のデータアクセス表９１ｂの６行目では「Ｆ２」の業務プロセスフローによって「データＣ」が削除されている。また、第２のデータアクセス表９１ｂの７行目では「Ｆ３」の業務プロセスフローによって「データＣ」が更新されている。一方、フロー関係リスト９２の６行目を参照すると、「Ｆ２」の業務プロセスフローは「Ｆ３」の業務プロセスフローに対して必ず先行実行されていなければならない（これは「データＣ」の生成が「Ｆ２」の業務プロセスフローで実施されているためである）。すると「Ｆ３」の業務プロセスフローにおける「データＣ」の更新アクションが実行できない可能性がある。
【０１６２】
なお、図１９に示した「Ｆ２」の業務プロセスフロー１１３を参照すると、「データＣ」を削除する「Ａ３」のアクションは、条件分岐の一方の条件を満たしたときに実行される。従って、「Ｆ３」の業務プロセスフロー１１４において、「データＣ」を更新する「Ａ９」のアクションが実行できる場合もある。しかし、不正な処理になる可能性が存在すれば、開発担当者に業務プロセスフローの修正を促すことが必要となる。この場合のように、ある一定の条件下で顕在化する不正処理は、システム構築後のテストでも発見できない場合がある。そのため、このような不備を業務プロセスフロー作成の段階で発見することは、システムの信頼性を高める上で非常に重要である。
【０１６３】
次に、不備・矛盾検出処理手順について詳細に説明する。
図２４は、矛盾フロー間関係リスト、不備・矛盾検出処理の手順を示すフローチャートである。以下、図２４の示す処理をステップ番号に沿って説明する。
【０１６４】
［ステップＳ７１］不備・矛盾検出部１８０は、業務プロセスフロー実行順序矛盾検出処理を行う。この処理の詳細は後述する（図２５参照）。
［ステップＳ７２］不備・矛盾検出部１８０は、データアクセス矛盾・アクション抜け検出処理を行う。この処理の詳細は後述する（図２６、図２７参照）。
【０１６５】
［ステップＳ７３］不備・矛盾検出部１８０は、検出結果を表示する。具体的には、不備・矛盾検出部１８０は、矛盾フロー間関係リスト９３、生成アクション不備リスト９４、無使用データリスト９５、削除後アクセスアクションリスト９６、および繰り返し生成アクションリスト９７の内容を画面に表示する。
【０１６６】
図２５は、業務プロセスフロー実行順序矛盾検出処理の手順を示すフローチャートである。以下、図２５に示す処理をステップ番号に沿って説明する。
［ステップＳ８１］不備・矛盾検出部１８０は、各業務プロセスフローで必ず実行されるデータアクセスに対して、フロー名、対象データ、およびアクセス種別を登録する。ここで、必ず実行されるデータアクセスとは、業務プロセスフロー内のアクションで実行されるデータアクセスのうち、条件分岐によって実行されない可能性があるアクションを除外したものである。例えば、図１９に示した業務プロセスフロー１１３では、「Ａ３」のアクションは条件分岐においてある条件が満たされた場合に実行される。従って、必ず実行されるアクションではない。
【０１６７】
［ステップＳ８２］不備・矛盾検出部１８０は、第１のデータアクセス表９１ａの対象データの欄に登録された全てのデータに対して、ステップＳ８３〜Ｓ８６の処理を実行する。
【０１６８】
「ステップＳ８３」不備・矛盾検出部１８０は、ステップＳ８３〜Ｓ８６における処理対象となる対象データにアクセスする業務プロセスフローの全ての組み合わせに対して、ステップＳ８４〜Ｓ８５の処理を実行する。
【０１６９】
［ステップＳ８４］不備・矛盾検出部１８０は、ステップＳ８４〜Ｓ８５の処理対象となる２つの業務プロセスフロー間の関係が、アクセス関係表１８１に定義されているか否かを判断する。
【０１７０】
具体的には、不備・矛盾検出部１８０は、２つの業務プロセスフローの一方を起点フロー、他方を終点フローとする。そして、不備・矛盾検出部１８０は、起点フローでの対象データへのアクセス種別と、終点フローでの対象データへのアクセス種別との組み合わせに合致する関係をアクセス関係表１８１から検索する。合致する関係がなければ、不備・矛盾検出部１８０は、起点フローと終点フローとの業務プロセスフローを入れ替え、同様に起点フローでの対象データへのアクセス種別と、終点フローでの対象データへのアクセス種別との組み合わせに合致する関係をアクセス関係表１８１から検索する。合致する関係が検出されれば、２つの業務プロセスフロー間の関係がアクセス関係表１８１に定義されていると判断される。
【０１７１】
アクセス関係表に示された関係であれば、処理がステップＳ８５に進められる。アクセス関係表に示した関係でなければ、処理がステップＳ８６に進められる。
［ステップＳ８５］不備・矛盾検出部１８０は、２つの対象フローで対象データに対するデータアクセスの関係を、フロー関係リスト９２に登録する。具体的には、不備・矛盾検出部１８０は、フロー関係リスト９２に新たな行を追加し、その行の各欄に次のデータを登録する。すなわち、不備・矛盾検出部１８０は、まず対象データのデータ名をフロー関係リスト９２の対象データの欄に登録する。次に、不備・矛盾検出部１８０は、起点フロー側の業務プロセスフローのフロー名を、起点フローの欄に登録する。さらに、不備・矛盾検出部１８０は、終点フロー側の業務プロセスフローのフロー名を、起点フローの欄に登録する。そして、不備・矛盾検出部１８０は、アクセス関係表１８１において、対象フロー間の関係を示す情報を、関係の欄に登録する。
【０１７２】
［ステップＳ８６］不備・矛盾検出部１８０は、ステップＳ８４〜Ｓ８５の処理が、対象データに対してアクセスする業務プロセスフローの全ての組み合わせに対して行われた場合、処理をステップＳ８７に進める。
【０１７３】
［ステップＳ８７］不備・矛盾検出部１８０は、ステップＳ８３〜Ｓ８６の処理が、第１のデータアクセス表９１ａの対象データの欄に登録された全てのデータに対して行われた場合、処理をステップＳ８８に進める。
【０１７４】
［ステップＳ８８］不備・矛盾検出部１８０は、矛盾する業務プロセスフロー間の関係を矛盾フロー間関係リスト９３に登録する。具体的には、不備・矛盾検出部１８０は、フロー関係リスト９２の同一起点フロー、同一終点フローのレコードに対して、関係「必ず先行実行」を示すレコードと関係「先行実行禁止」を示すレコードが共に存在するか否かを判断する。これらのレコードが存在した場合、不備・矛盾検出部１８０は、該当する起点フローのフロー名、終点フローのフロー名、および複数のレコードの対象データのデータ名を組にして、矛盾フロー間関係リスト９３に登録する。
【０１７５】
このようにして、矛盾フロー間関係リスト９３を生成することができる。次に、データアクセス矛盾・アクション抜け検出処理手順を詳細に説明する。
図２６は、データアクセス矛盾・アクション抜け検出処理の手順を示すフローチャートの前半である。以下、図２６に示す処理をステップ番号に沿って説明する。
【０１７６】
［ステップＳ９１］不備・矛盾検出部１８０は、第２のデータアクセス表９１ｂに登録されている全てのデータそれぞれを処理対象の対象データとして、ステップＳ９２〜Ｓ１０８の処理を実行する。
【０１７７】
［ステップＳ９２］不備・矛盾検出部１８０は、業務プロセスフロー１１２〜１１６から対象データの生成（Ｃ）処理を行うアクションを検出する。この際、複数のアクションが検出されることもあり得る。
【０１７８】
［ステップＳ９３］不備・矛盾検出部１８０は、生成アクションが検出できたか否かを判断する。検出できた場合、処理がステップＳ９５に進められる。検出できなければ、処理がステップＳ９４に進められる。
【０１７９】
［ステップＳ９４］不備・矛盾検出部１８０は、対象データを生成アクション不備リスト９４に登録する。具体的には、不備・矛盾検出部１８０は、対象データに対してアクセスを行う業務プロセスフローを第２のデータアクセス表９１ｂから抽出する。そして、不備・矛盾検出部１８０は、該当する業務プロセスフロー内で対象データに対してアクセスするアクションを抽出する。そして、不備・矛盾検出部１８０は、抽出された業務プロセスフローのフロー名、アクションのアクション名、そのアクションのアクション種別、および対象データのデータ名を組にして、生成アクション不備リスト９４に登録する。その後、処理がステップＳ１００（図２７参照）に進められる。
【０１８０】
［ステップＳ９５］不備・矛盾検出部１８０は、ステップＳ９３で検出された各アクションに対して、ステップＳ９６〜Ｓ９８の処理を実行する。
［ステップＳ９６］不備・矛盾検出部１８０は、該当アクション（ステップＳ９３で検出されたアクション）が属する業務プロセスフロー内の該当アクション以降に、同一データの生成アクションがあるか否かを判断する。同一データの生成アクションがあれば、処理がステップＳ９８に進められる。同一データの生成アクションがなければ、処理がステップＳ９７に進められる。
【０１８１】
［ステップＳ９７］不備・矛盾検出部１８０は、該当アクションが属する業務プロセスフローに対して必ず後続する業務プロセスフローに、同一データの生成アクションがあるか否かを判断する。必ず後続する業務プロセスフローは、フロー関係リスト９２に基づいて判断できる。すなわち、不備・矛盾検出部１８０は、フロー関係リスト９２から、該当アクション（ステップＳ９３で検出されたアクション）が属する業務プロセスフローを起点フローとし、その起点フローに対して「必ず先行実行」の関係にある終点フローに当たる業務プロセスフローを抽出する。抽出された業務プロセスフロー間の関係が、矛盾フロー間関係リスト９３に登録されていなければ、不備・矛盾検出部１８０は、終点フローに当たる業務プロセスフローを、必ず後続する業務プロセスフローと判断する。
【０１８２】
必ず後続する業務プロセスフローに同一データの生成アクションがあれば、処理がステップＳ９８に進められる。必ず後続する業務プロセスフローに同一データの生成アクションがなければ、処理がステップＳ９９に進められる。
【０１８３】
［ステップＳ９８］不備・矛盾検出部１８０は、繰り返し生成アクションリスト９７に、繰り返される生成アクションを登録する。具体的には、不備・矛盾検出部１８０は、該当アクションが属する業務プロセスフローのフロー名と該当アクションのアクション名、後続するアクションが属する業務プロセスフローのフロー名と該当アクションのアクション名、および繰り返し生成されるデータのデータ名の組を、繰り返し生成アクションリスト９７に登録する。
【０１８４】
［ステップＳ９９］不備・矛盾検出部１８０は、ステップＳ９３で検出された全てのアクションに対してステップＳ９６〜Ｓ９８の処理が完了したら、処理をステップＳ１００（図２７参照）に進める。
【０１８５】
図２７は、データアクセス矛盾・アクション抜け検出処理の手順を示すフローチャートの後半である。以下、図２７に示す処理をステップ番号に沿って説明する。
［ステップＳ１００］不備・矛盾検出部１８０は、対象データに削除（Ｄ）でアクセスするアクションを検索する。具体的には、不備・矛盾検出部１８０は、第２のデータアクセス表から、現在の対処データのデータ名とアクセス「Ｄ」とが設定されたレコードを抽出する。そして、不備・矛盾検出部１８０は、抽出したレコードの対象フローで示された業務プロセスフローから、対象データに対して削除アクセスを行うアクションを抽出する。
【０１８６】
［ステップＳ１０１］不備・矛盾検出部１８０は、該当アクション（ステップＳ１００で抽出されたアクション）の全てに対して、ステップＳ１０２〜Ｓ１０４の処理を実行する。
【０１８７】
［ステップＳ１０２］不備・矛盾検出部１８０は、該当アクション（ステップＳ１００で検出されたアクション）が属する業務プロセスフロー内の該当アクション以降に、同一データに対する更新（Ｕ）、参照（Ｒ）、または削除（Ｄ）のいずれかのアクションがあるか否かを判断する。いずれかのアクションがあれば、処理がステップＳ１０４に進められる。いずれのアクションも存在しなければ、処理がステップＳ１０３に進められる。
【０１８８】
［ステップＳ１０３］不備・矛盾検出部１８０は、該当アクションが属する業務プロセスフローに対して必ず後続する業務プロセスフローに、同一データに対する更新（Ｕ）、参照（Ｒ）、または削除（Ｄ）のいずれかのアクションがあるか否かを判断する。いずれかのアクションがあれば、処理がステップＳ１０４に進められる。いずれのアクションも存在しなければ、処理がステップＳ１０５に進められる。
【０１８９】
［ステップＳ１０４］不備・矛盾検出部１８０は、削除後アクセスアクションリスト９６に、ステップＳ１０２またはステップＳ１０３で検出されたアクションを登録する。具体的には、不備・矛盾検出部１８０は、該当アクションが属する業務プロセスフローのフロー名と該当アクションのアクション名、後続するアクションが属する業務プロセスフローのフロー名と該当アクションのアクション名、および削除後にアクセスされるデータのデータ名の組を、削除後アクセスアクションリスト９６に登録する。
【０１９０】
［ステップＳ１０５］不備・矛盾検出部１８０は、ステップＳ１００で検出された全てのアクションに対してステップＳ１０２〜Ｓ１０４の処理が完了したら、処理をステップＳ１０６に進める。
【０１９１】
［ステップＳ１０６］不備・矛盾検出部１８０は、第２のデータアクセス表９１ｂに基づいて、対象データに対する参照（Ｒ）アクションを検出する。
［ステップＳ１０７］不備・矛盾検出部１８０は、ステップＳ１０６においてアクションが検出されたか否かを判断する。アクションが検出された場合、処理がステップＳ１０９に進められる。アクションが検出されなかった場合、処理がステップＳ１０８に進められる。
【０１９２】
［ステップＳ１０８］不備・矛盾検出部１８０は、対象データに対する生成アクションが属する業務プロセスフローのフロー名、生成アクションのアクション名、および対象データのデータ名を組にして、無使用データリスト９５に登録する。
【０１９３】
［ステップＳ１０９］不備・矛盾検出部１８０は、第２のデータアクセス表９１ｂに登録されている全てのデータに対してステップＳ９２〜Ｓ１０８の処理が完了すると、データアクセス矛盾・アクション抜け検出処理を終了する。
【０１９４】
このようにして、不備や矛盾の検出が可能となり、開発担当者の負担の軽減が可能となる。また、作成される業務プロセスフローの品質が向上し、システム構築作業に入ってから業務プロセスフローの見直しをするような余計な手間を減らすことができる。
【０１９５】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、システム開発支援装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１９６】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１９７】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１９８】
なお、本発明は、上述の実施の形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更を加えることができる。
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
【０１９９】
（付記１）  業務プロセスフローを元にしたシステム開発を支援するためのシステム開発支援プログラムにおいて、
コンピュータを、
業務の遂行に必要な処理を行うための機能が、処理の実行主体毎に分けて記述された業務プロセスフローを格納する業務プロセスフロー記憶手段、
処理対象となるデータ間の関係を前記実行主体毎に表した内部データ図、および前記機能それぞれと前記機能による生成アクセスまたは更新アクセスの対象となるデータとの関係を示す情報分析表を含む内部データ定義を記憶する内部データ定義記憶手段、
前記業務プロセスフローに示された前記実行主体毎に、前記実行主体において実施する前記機能を同じグループに纏め、前記実行主体と前記実行主体に対応するグループに含まれる前記機能との対応関係を示す第１の機能分類情報を生成する第１の機能分類手段、
前記内部データ定義の同一の前記内部データ図に含まれるデータを同一のデータグループに纏め、前記情報分析表を参照して、前記データグループ内のデータに対して生成アクセスまたは更新アクセスの少なくともいずれか一方を行う機能を同じグループに纏め、前記内部データ図に対応する前記実行主体と、前記内部データ図に含まれるデータに基づいて生成されたグループに含まれる前記機能との対応関係を示す第２の機能分類情報を生成する第２の機能分類手段、
前記第１の機能分類情報と前記第２の機能分類情報とを比較し、同一の前記実行主体に対応付けられた前記機能の一致・不一致を判断し、不一致点を表示する分類結果比較手段、
として機能させることを特徴とするシステム開発支援プログラム。
【０２００】
（付記２）  前記業務プロセスフロー記憶手段は、コンピュータシステムによる自動実行によって実装すべきことを示す情報が前記機能毎に付与された前記業務プロセスフローを記憶しており、
前記第１の機能分類手段は、コンピュータシステムによる自動実行によって実装すべき前記機能のみを前記グループに含めることを特徴とする付記１記載のシステム開発支援プログラム。
【０２０１】
（付記３）  前記分類結果比較手段は、前記第１の機能分類情報と前記第２の機能分類情報との内容を並べて表示し、同一の前記実行主体に対応付けられた前記機能が比較相手より余分に存在する場合、余分な前記機能を強調表示すること特徴とする付記１記載のシステム開発支援プログラム。
【０２０２】
（付記４）  前記分類結果比較手段は、前記第１の機能分類情報と前記第２の機能分類情報のいずれか一方を基準とし、基準側の前記実行主体に対応付けられた前記機能が、比較相手では異なる前記実行主体に対応付けられている場合、比較相手において対応付けられた前記実行主体を強調表示することを特徴とする付記１記載のシステム開発支援プログラム。
【０２０３】
（付記５）  前記内部データ定義手段に記憶された前記情報分析表には、前記機能それぞれと前記機能による参照アクセスまたは削除アクセスの対象となるデータとの関係についても示されており、
コンピュータを、さらに、
データアクセスが生成・更新・参照・削除のどれなのかを示すアクセス種別に基づいて、同一のデータに対する２つのデータアクセスの先後関係を定義したアクセス関係表を有し、複数の前記業務プロセスフロー内の前記機能によるデータアクセスのアクセス種別を前記情報分析表によって判断し、２つの前記業務プロセスフローからなる組み合わせのうち、いずれの前記業務プロセスフローを先に実行しても前記アクセス関係表に示されるデータアクセスの先後関係を満たすことができない組み合わせを検出する不備・矛盾検出手段、
として機能させることを特徴とする付記１記載のシステム開発支援プログラム。
【０２０４】
（付記６）  前記不備・矛盾検出手段は、前記業務プロセスフロー内で実行されるデータアクセスが前記アクセス関係表に示されるデータアクセスの先後関係を満たすことができるか否かの判断において、前記業務プロセスフローにおいて必ず実行されるデータアクセスのみを判断の対象とすることを特徴とする付記５記載のシステム開発支援プログラム。
【０２０５】
（付記７）  前記内部データ定義手段に記憶された前記情報分析表には、前記機能それぞれと前記機能による参照アクセスまたは削除アクセスの対象となるデータとの関係についても示されており、
コンピュータを、さらに、
データアクセスが生成・更新・参照・削除のどれなのかを示すアクセス種別に基づいて、同一のデータに対する２つのデータアクセスの先後関係を定義したアクセス関係表を有し、複数の前記業務プロセスフロー内の前記機能によるデータアクセスのアクセス種別を前記情報分析表によって判断し、共通のデータにアクセスを行う２つの前記業務プロセスフローからなる組み合わせにおける前記業務プロセスフロー間の実行順を前記アクセス関係表に基づいて判断し、先に実行される前記業務プロセスフローで削除されたデータに対して後に実行される前記業務プロセスフローでアクセスしている組み合わせを検出する不備・矛盾検出手段、
として機能させることを特徴とする付記１記載のシステム開発支援プログラム。
【０２０６】
（付記８）  前記内部データ定義手段に記憶された前記情報分析表には、前記機能それぞれと前記機能による参照アクセスまたは削除アクセスの対象となるデータとの関係についても示されており、
コンピュータを、さらに、
複数の前記業務プロセスフロー内の前記機能によるデータアクセスが生成・更新・参照・削除のどれなのかを示すアクセス種別を前記情報分析表によって判断し、生成アクセスを行う前記機能が複数存在するデータを検出する不備・矛盾検出手段、
として機能させることを特徴とする付記１記載のシステム開発支援プログラム。
【０２０７】
（付記９）  前記内部データ定義手段に記憶された前記情報分析表には、前記機能それぞれと前記機能による参照アクセスまたは削除アクセスの対象となるデータとの関係についても示されており、
前記コンピュータを、さらに、
複数の前記業務プロセスフロー内の前記機能によるデータアクセスが生成・更新・参照・削除のどれなのかを示すアクセス種別を前記情報分析表によって判断し、生成アクセスを行う前記機能が存在しないデータを検出する不備・矛盾検出手段、
として機能させることを特徴とする付記１記載のシステム開発支援プログラム。
【０２０８】
（付記１０）  前記内部データ定義手段に記憶された前記情報分析表には、前記機能それぞれと前記機能による参照アクセスまたは削除アクセスの対象となるデータとの関係についても示されており、
前記コンピュータを、さらに、
複数の前記業務プロセスフロー内の前記機能によるデータアクセスが生成・更新・参照・削除のどれなのかを示すアクセス種別を前記情報分析表によって判断し、参照アクセスを行う前記機能が存在しないデータを検出する不備・矛盾検出手段、
として機能させることを特徴とする付記１記載のシステム開発支援プログラム。
【０２０９】
（付記１１）  業務プロセスフローを元にしたシステム開発を支援するためのシステム開発支援装置において、
業務の遂行に必要な処理を行うための機能が、処理の実行主体毎に分けて記述された業務プロセスフローを格納する業務プロセスフロー記憶手段と、
処理対象となるデータ間の関係を前記実行主体毎に表した内部データ図、および前記機能それぞれと前記機能による生成アクセスまたは更新アクセスの対象となるデータとの関係を示す情報分析表を含む内部データ定義を記憶する内部データ定義記憶手段と、
前記業務プロセスフローに示された前記実行主体毎に、前記実行主体において実施する前記機能を同じグループに纏め、前記実行主体と前記実行主体に対応するグループに含まれる前記機能との対応関係を示す第１の機能分類情報を生成する第１の機能分類手段と、
前記内部データ定義の同一の前記内部データ図に含まれるデータを同一のデータグループに纏め、前記情報分析表を参照して、前記データグループ内のデータに対して生成アクセスまたは更新アクセスの少なくともいずれか一方を行う機能を同じグループに纏め、前記内部データ図に対応する前記実行主体と、前記内部データ図に含まれるデータに基づいて生成されたグループに含まれる前記機能との対応関係を示す第２の機能分類情報を生成する第２の機能分類手段と、
前記第１の機能分類情報と前記第２の機能分類情報とを比較し、同一の前記実行主体に対応付けられた前記機能の一致・不一致を判断し、不一致点を表示する分類結果比較手段と、
を有することを特徴とするシステム開発支援装置。
【０２１０】
（付記１２）  業務プロセスフローを元にしたシステム開発をコンピュータによって支援するためのシステム開発支援方法において、
第１の機能分類手段が、業務の遂行に必要な処理を行うための機能が、処理の実行主体毎に分けて記述された業務プロセスフローを格納する業務プロセスフロー記憶手段から前記業務プロセスフローを取得し、前記業務プロセスフローに示された前記実行主体毎に、前記実行主体において実施する前記機能を同じグループに纏め、前記実行主体と前記実行主体に対応するグループに含まれる前記機能との対応関係を示す第１の機能分類情報を生成し、
第２の機能分類手段が、処理対象となるデータ間の関係を前記実行主体毎に表した内部データ図、および前記機能それぞれと前記機能による生成アクセスまたは更新アクセスの対象となるデータとの関係を示す情報分析表を含む内部データ定義を記憶する内部データ定義記憶手段から前記内部データ定義を取得し、前記内部データ定義の同一の前記内部データ図に含まれるデータを同一のデータグループに纏め、前記情報分析表を参照して、前記データグループ内のデータに対して生成アクセスまたは更新アクセスの少なくともいずれか一方を行う機能を同じグループに纏め、前記内部データ図に対応する前記実行主体と、前記内部データ図に含まれるデータに基づいて生成されたグループに含まれる前記機能との対応関係を示す第２の機能分類情報を生成し、
分類結果比較手段が、前記第１の機能分類情報と前記第２の機能分類情報とを比較し、同一の前記実行主体に対応付けられた前記機能の一致・不一致を判断し、不一致点を表示する、
ことを特徴とするシステム開発支援方法。
【図面の簡単な説明】
【０２１１】
【図１】本実施の形態の概略を示す図である。
【図２】本実施の形態に係るシステム開発支援装置のハードウェア構成例を示す図である。
【図３】システム開発支援装置の機能を示すブロック図である。
【図４】業務プロセスフローの記述例を示す図である。
【図５】内部データ図集合の例を示す図である。
【図６】ＣＲＵＤ表の例を示す図である。
【図７】機能説明書の例を示す図である。
【図８】アクセス関係表のデータ構造例を示す図である。
【図９】業務プロセスフロー生成・修正処理の手順を示すフローチャートである。
【図１０】第１のサービスインタフェース定義の生成状況を示す図である。
【図１１】第１のサービスインタフェース定義生成処理の手順を示すフローチャートである。
【図１２】第２のサービスインタフェース定義の生成状況を示す図である。
【図１３】第２のサービスインタフェース定義生成処理の手順を示すフローチャートである。
【図１４】サービスインタフェース定義比較処理のフローチャートの前半である。
【図１５】サービスインタフェース定義比較処理のフローチャートの後半である。
【図１６】インタフェースの過不足を表すサービスインタフェース定義表示画面の例を示す図である。
【図１７】グループ化の相違を表すサービスインタフェース定義表示画面の例を示す図である。
【図１８】グループ化詳細表示画面の例を示す図である。
【図１９】データアクセス表生成処理を示す図である。
【図２０】フロー関係リスト生成処理の概念を示す図である。
【図２１】矛盾フロー間関係リスト生成処理を示す図である。
【図２２】生成アクション不備リストと無使用データリストとの生成処理を示す図である。
【図２３】削除後アクセスアクションリストと繰り返し生成アクションリストとの生成処理を示す図である。
【図２４】矛盾フロー間関係リスト、不備・矛盾検出処理の手順を示すフローチャートである。
【図２５】業務プロセスフロー実行順序矛盾検出処理の手順を示すフローチャートである。
【図２６】データアクセス矛盾・アクション抜け検出処理の手順を示すフローチャートの前半である。
【図２７】データアクセス矛盾・アクション抜け検出処理の手順を示すフローチャートの後半である。
【符号の説明】
【０２１２】
１  業務プロセスフロー記憶手段
１ａ  業務プロセスフロー
２  内部データ定義記憶手段
２ａ  内部データ定義
２ｂ  内部データ図
２ｃ  情報分析表
３  第１の機能分類手段
３ａ  第１の機能分類情報
４  第２の機能分類手段
４ａ  第２の機能分類情報
５  分類結果比較手段
６  機能分類表示画面
６ａ，６ｂ  機能分類表
【図１】
2007264768.tif 000003
【図２】
2007264768.tif 000004
【図３】
2007264768.tif 000005
【図４】
2007264768.tif 000006
【図５】
2007264768.tif 000007
【図６】
2007264768.tif 000008
【図７】
2007264768.tif 000009
【図８】
2007264768.tif 000010
【図９】
2007264768.tif 000011
【図１０】
2007264768.tif 000012
【図１１】
2007264768.tif 000013
【図１２】
2007264768.tif 000014
【図１３】
2007264768.tif 000015
【図１４】
2007264768.tif 000016
【図１５】
2007264768.tif 000017
【図１６】
2007264768.tif 000018
【図１７】
2007264768.tif 000019
【図１８】
2007264768.tif 000020
【図１９】
2007264768.tif 000021
【図２０】
2007264768.tif 000022
【図２１】
2007264768.tif 000023
【図２２】
2007264768.tif 000024
【図２３】
2007264768.tif 000025
【図２４】
2007264768.tif 000026
【図２５】
2007264768.tif 000027
【図２６】
2007264768.tif 000028
【図２７】
2007264768.tif 000029