(57)【要約】【課題】  業務システムを使うオペレータの業務観点で業務システムの処理フローをコンポーネントに分割することが困難である。【解決手段】  業務システムと業務システムのユーザとの間で入出力するログを、取得し、分析することで、業務システムの機能コンポーネントを抽出する。この機能コンポーネントを表示することで業務システム再設計を支援する。【選択図】  図１
2018109921.tif 000002
【特許請求の範囲】
【請求項１】
業務システムの再設計を支援する業務システム再設計支援方法であって、
前記業務システムと当該業務システムのユーザとの間で入出力するログを取得するログ取得ステップと、
前記ログを分析し、前記業務システムの機能コンポーネントを抽出する構造分析ステップと、
前記機能コンポーネントを表示する表示ステップと、
を備えることを特徴とする業務システム再設計支援方法。
【請求項２】
請求項１に記載の業務システム再設計支援方法において、
前記構造分析ステップは、前記業務システムが分岐処理及び合流処理を行わない間の業務処理を機能コンポーネントとして抽出することを特徴とする業務システム再設計支援方法。
【請求項３】
請求項２に記載の業務システム再設計支援方法において、
前記構造分析ステップは、
前記ログのうち、当該業務システムを使用するユーザへ示される同一の画面表示から当該ユーザが異なる入力を行っている箇所を分岐処理とし、
前記ログのうち、前記ユーザが異なる入力を行った後に同一の画面表示を行っている箇所を合流処理として、前記機能コンポーネントとして抽出することを特徴とする業務システム再設計支援方法。
【請求項４】
業務システムの再設計を支援する業務システム再設計支援装置であって、
前記業務システムと当該業務システムのユーザとの間で入出力するログを、取得する取得部と、
前記取得したログを分析し、前記業務システムの機能コンポーネントを抽出する構造分析部と、
前記抽出された機能コンポーネントを表示する表示部と、
を備えることを特徴とする業務システム再設計支援装置。
【請求項５】
請求項４に記載の業務システム再設計支援装置において、
前記構造分析部は、前記業務システムが分岐処理及び合流処理を行わない間の業務処理を機能コンポーネントとして抽出することを特徴とする業務システム再設計支援装置。
【請求項６】
請求項５に記載の業務システム再設計支援装置において、
前記構造分析部は、
前記ログのうち、当該業務システムを使用するユーザへ示される同一の画面表示から当該ユーザが異なる入力を行っている箇所を分岐処理とし、
前記ログのうち、前記ユーザが異なる入力を行った後に同一の画面表示を行っている箇所を合流処理として、前記機能コンポーネントとして抽出することを特徴とする業務システム再設計支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は業務システムの構成を変更する方法に関する。
【背景技術】
【０００２】
業務システムの設計単位が大きい場合には、利用者ニーズに合わせて業務システム内の不要な機能を削除することが困難なケースや、複数の業務機能内に類似機能が含まれ冗長である場合に類似機能を整理統合することが困難なケースがある。そこで、設計単位が大きい業務システムを小さな単位の機能コンポーネントに分割することを考える。
【０００３】
システムを小さな単位の機能コンポーネントに分割する方法が特許文献１に記載されている。特許文献１では、クライアントアプリケーションがサービスを呼び出す際の、システム内部の繰り返し処理パターンを記憶しておき、記憶した処理パターンに基づき小さな単位の機能コンポーネントに分割する方法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2006-12113号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
利用者ニーズに合わせた不要機能の削除や類似機能の整理統合を行うことを目的として業務システムを小さな単位の機能コンポーネントに分割するためには、業務システムを使うオペレータの業務観点での分割が必要である。
【０００６】
特許文献１では、クライアントアプリケーションとサービスからなるシステム内部の処理パターンに基づき機能コンポーネントに分割する方法が記述されているが、この方法では業務システムを使うオペレータの業務観点で業務システムの処理フローを機能コンポーネントに分割することが困難である。
【課題を解決するための手段】
【０００７】
業務システムと業務システムのユーザとの間で入出力するログを、取得し、分析することで、業務システムの機能コンポーネントを抽出する。この機能コンポーネントを表示することで業務システム再設計を支援する。
【発明の効果】
【０００８】
業務システムを使うオペレータの業務観点で業務システムの処理フローを機能コンポーネントに分割することができる。
【図面の簡単な説明】
【０００９】
【図１】業務システム及び業務機能構造分析端末の全体構成図の例である。
【図２】業務システムの全体フローの例である。
【図３】構造分析機能の処理フローの例である。
【図４】機能コンポーネント分割処理を詳細に説明する図である。
【図５】入出力ログの例である。
【図６】表示＆入力組合せの例である。
【図７】機能コンポーネント関連図作成処理における表示装置への表示例である。
【図８】機能コンポーネント関連図作成処理における表示装置への表示例である。
【図９】業務システムの全体フローの機能コンポーネント分割の例である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明による実施形態について詳細に説明する。
【実施例１】
【００１１】
本実施例における「審査業務」とは、例えば地方自治体等における建築物の許認可書類審査や、市役所における住民の各種申請書類の審査のことである。
【００１２】
図１は、業務システムの一例として、審査業務クライアント端末１０と審査業務サーバ２０と審査業務サブ機能サーバ３０からなる審査業務システムの構成を示す。
【００１３】
審査業務クライアント端末１０と審査業務サーバ２０と審査業務サブ機能サーバ３０と業務機能構造分析端末４０のそれぞれは、外部と通信するためのＩＦ（１１、２１、３１、４１）と、ＣＰＵ（１２、２２、３２、４２）と、メインメモリ（１３、２３、３３、４３）と、記憶装置（１６、２５、３５、４５）から構成され、メインメモリ内の機能はＣＰＵ内で処理される。また、審査業務クライアント端末１０と業務機能構造分析端末４０のそれぞれは、入力装置（１８、４８）と表示装置（１９、４９）を備える。
【００１４】
審査業務クライアント端末１０のＩＦ１１と審査業務サーバ２０のＩＦ２１と審査業務サブ機能サーバ３０のＩＦ３１は、ネットワーク９を介して相互に接続している。また、業務機能構造分析端末４０のＩＦ４１はネットワーク８を介して審査業務クライアント端末１０のＩＦ１１と接続している。
【００１５】
審査業務クライアント端末１０は、オペレータ（審査スタッフ）１が、審査業務クライアント端末１０と審査業務サーバ２０と審査業務サブ機能サーバ３０からなる審査業務システムを操作するための端末である。審査業務クライアント端末１０は、審査業務サーバ２０の審査業務サーバ機能２４と対になって動作する審査業務クライアント機能１４と、審査業務サブ機能サーバ３０の審査業務サブ機能サーバ機能３４と対になって動作する審査業務サブ機能クライアント機能１５をメインメモリ１３に保持している。オペレータ（審査スタッフ）１が審査業務クライアント機能１４や審査業務サブ機能クライアント機能１５を使う時に、入力装置１８を使って入力したログと、審査業務クライアント機能１４や審査業務サブ機能クライアント機能１５が表示装置１９を介してオペレータ（審査スタッフ）１に審査業務システムの処理結果を表示した内容のログは、記憶装置１６の入出力ログ１７に保管される。
【００１６】
審査業務サーバ２０の審査業務サーバ機能２４は、審査業務クライアント端末１０の審査業務クライアント機能１４と連携してオペレータ（審査スタッフ）１に審査業務に必要な情報処理の機能を提供する。
【００１７】
審査業務サブ機能サーバ３０の審査業務サブ機能サーバ機能３４は、審査業務クライアント端末１０の審査業務サブ機能クライアント機能１５と連携してオペレータ（審査スタッフ）１に審査業務に必要なサブの情報処理の機能を提供する。
【００１８】
業務機能構造分析端末４０の構造分析機能４４は、審査業務クライアント端末１０と審査業務サーバ２０と審査業務サブ機能サーバ３０からなるシステム全体の処理構造を分析し（図３、図４）、システム全体の処理を機能コンポーネントに分割した構造（図７）を分析結果として表示する。
【００１９】
ここで、「機能コンポーネント」とは、図１に示すようなシステムが動作することにより、オペレータ（審査スタッフ）１に提供する全体の機能を、ある基準に基づいて（本方式では図３や図４）分割した各部分のことである。例えば、図２に示す処理の流れで全体の機能が提供されている場合に、これを図９の点線に示されるような「機能コンポーネント」に分割する。各「機能コンポーネント」は、部分的な処理を行うことで部分的な機能をオペレータ（審査スタッフ）１に提供する。
【００２０】
図２は、審査業務クライアント端末１０のオペレータ（審査スタッフ）１が、審査業務クライアント端末１０の審査業務クライアント機能１４と審査業務サブ機能クライアント機能１５を使って審査業務を行う場合の処理の流れを示している。審査業務クライアント端末１０の審査業務クライアント機能１４は、オペレータ（審査スタッフ）１の入力装置１８への入力に基づき審査関連情報を審査業務サーバ２０の審査業務サーバ機能２４に要求し（Ｓ１００）、審査業務サーバ機能２４は審査関連情報を審査結果２６から取得し審査業務クライアント端末１０の審査業務クライアント機能１４に応答し（Ｓ１０１）、審査業務クライアント機能１４が表示装置１９にＳ１０１で受信した応答結果を表示し（Ｓ１０２）、オペレータ（審査スタッフ）１が表示内容を確認する。
【００２１】
オペレータ（審査スタッフ）１は表示内容を確認した結果、追加情報が必要と判断した場合には（Ｓ１０３でＹＥＳ）、追加情報要求を審査業務クライアント端末１０の入力装置１８から入力し、審査業務クライアント端末１０の審査業務サブ機能クライアント機能１５は審査業務サブ機能サーバ３０の審査業務サブ機能サーバ機能３４へこの要求を送り（Ｓ１０４）、審査業務サブ機能サーバ３０の審査業務サブ機能サーバ機能３４は追加情報をサブ機能履歴３６から取得し、審査業務クライアント端末１０の審査業務サブ機能クライアント機能１５に応答し（Ｓ１０５）、審査業務サブ機能クライアント機能１５が表示装置１９に応答結果を表示し（Ｓ１０６）、オペレータ（審査スタッフ）１がこれを確認する。
【００２２】
Ｓ１０３でＮＯの場合、あるいはＳ１０６の後に、オペレータ（審査スタッフ）１は入力装置１８へ入力する（Ｓ１０７）。以降このようなオペレータ（審査スタッフ）１の入力装置１８へ入力をトリガとした審査業務クライアント端末１０と審査業務サーバ２０と審査業務サブ機能サーバ３０が連携した処理フローが続く。
【００２３】
図３は、図２のような審査業務クライアント端末１０と審査業務サーバ２０と審査業務サブ機能サーバ３０の処理フローが行われる場合に、業務機能構造分析端末４０の構造分析機能４４が、処理フローを業務システムを使うオペレータ（業務スタッフ）１の業務の観点で機能コンポーネントに分割し、分割した結果（図７に示す機能コンポーネント関連図）を表示装置４９に表示する処理フローである。
【００２４】
構造分析機能４４は、ＩＦ４１とネットワーク８を介して審査業務クライアント端末１０に接続し、審査業務クライアント端末１０に蓄積された入出力ログ１７を取得し、記憶装置４５の入出力ログ４６に保存する（Ｓ２０１）。Ｓ２０１で保存する入出力ログ４６は、図５に示す通り、オペレータ（審査スタッフ）１が、入力装置１８から入力したオペレータ入力の履歴１０２と、表示装置１９へ出力されたオペレータ（審査スタッフ）への処理結果表示１０３の対からなる、オペレータ（審査スタッフ）１と審査業務クライアント端末１０との間のユーザインタフェースのログである。
【００２５】
なお、Ｓ２０１で入出力ログ１７から取得するログは、特定の期間や特定のオペレータ（審査スタッフ）１に条件を絞った部分的なログを取得してもよい。また、複数の異なる審査業務クライアント端末１０から収集してもよい。
【００２６】
構造分析機能４４は、図４に示すＳ３０２の処理と業務分岐検出処理Ｓ２０２−１と業務合流検出処理Ｓ２０２−２を行う（Ｓ２０２）。
【００２７】
構造分析機能４４は、図４のＳ３０５で作成された業務分岐検出処理Ｓ２０２−１の記録と、Ｓ３０９で作成された業務合流検出処理Ｓ２０２−２の記録から、図７に示す機能コンポーネント関連図を作成し、表示装置４９に表示する（Ｓ２０３）。以下Ｓ２０３の処理の詳細を説明する。
【００２８】
Ｓ２０３の第一サブステップでは、Ｓ３０５で作成された業務分岐検出処理Ｓ２０２−１の結果（図６における１３１と１３３）を参照し、分岐個所（図６における１３１と１３３）を機能コンポーネントの境界とする、業務システムの機能コンポーネント分割構造（図７の機能コンポーネント２００と２０１と２０２の楕円）を描き、加えて業務システムの機能コンポーネント間関連構造（図７の機能コンポーネント２００から機能コンポーネント２０１と機能コンポーネント２０２への分岐矢印）を描く。描いた図７を機能コンポーネント関連図と呼ぶ。ここで、Ｓ３０５で作成された業務分岐検出処理Ｓ２０２−１の記録とは、Ｓ３０３で抽出したパターンが２パターン以上の場合、すなわちオペレータにある一つの処理結果が示された後の次のオペレータ入力が場合によって異なるケース、すなわちオペレータ業務の観点でシステムの処理に分岐がある箇所である（図６における１３１と１３３）。
【００２９】
Ｓ２０３の第二サブステップでは、Ｓ３０９で作成された業務合流検出処理Ｓ２０２−２の結果（図６における１３２と１３３）を参照し、合流個所（図６における１３２と１３３）を機能コンポーネントの境界とする、業務システムの機能コンポーネント分割構造（図７の機能コンポーネント２００と２０１と２０２の楕円）を描き、加えて業務システムの機能コンポーネント間関連構造（図７の機能コンポーネント２００と機能コンポーネント２０１から機能コンポーネント２０２への合流矢印）を描く。描いた図７を機能コンポーネント関連図と呼ぶ。ここで、Ｓ３０９で作成された業務合流検出処理Ｓ２０２−２の記録とは、Ｓ３０７で抽出したパターンが２パターン以上の場合、すなわちオペレータ業務の観点でシステムの処理に合流がある箇所である（図６における１３２と１３３）。
【００３０】
構造分析機能４４は、図６の表示＆入力組合せ４７のオペレータへの処理結果表示＆オペレータ入力のパターン（１３１行、１３２行、…、１３３行、…）について、業務システムの機能コンポーネント間関連構造の使用頻度（図７における矢印に添付された「使用頻度」）をカウントし表示する。例えば、機能コンポーネント２００の処理が行われた後に機能コンポーネント２０２の処理が行われた（図６の１３３の内容）パターンが表示＆入力組合せ４７中に９０回ある場合は、図７の例のように「使用頻度９０」と表示する（Ｓ２０４）。
【００３１】
図４は、図３に示した構造分析機能４４の処理フローにおける機能コンポーネント分割処理Ｓ２０２の詳細を示したものであり、事前処理Ｓ３０２と、業務分岐検出処理Ｓ２０２−１と、業務合流検出処理Ｓ２０２−２から構成される。図４の処理は業務分岐個所や業務合流個所を機能コンポーネントの境界として検出する。言い換えると、業務システムが分岐処理及び合流処理を行わない間の業務処理を機能コンポーネントとして抽出する
まず、事前処理Ｓ３０２を説明する。Ｓ２０２の処理が開始されると（Ｓ３０１）、Ｓ２０１で取得した図５の入出力ログ４６を参照し、ある業務ステップのオペレータへの処理結果表示１０３（例えば１１１行の「Ｓ１０２の内容）と、次の業務ステップのオペレータ入力１０２（例えば１１２行の「Ｓ１０４」の内容）と、の組み合わせを、図６に示す表示＆入力組合せ４７に一行追記する（例えば１３１行）。これを、図５の入出力ログ４６の全ての業務ステップについて行い、図６の表示＆入力組合せ４７表を作成する（Ｓ３０２）。
【００３２】
次に、業務分岐検出処理Ｓ２０２−１を説明する。図６の表示＆入力組合せ４７表の最初の行（１３１）のオペレータへの処理結果表示１２２＝「Ｓ１０２の内容」に着目する。表示＆入力組合せ４７の全行から、オペレータへの処理結果表示１２２＝「Ｓ１０２の内容」となっている行を検索する。図６の例では１３１行と１３３行が該当するので、オペレータへの処理結果表示１２２＝「Ｓ１０２の内容」に対して、オペレータ入力１２４＝「Ｓ１０４の内容」と＝「Ｓ１０７の内容」の２パターンを抽出する（Ｓ３０３）。Ｓ３０３で抽出したオペレータ入力１２４のパターン数が１パターンの場合はＳ３０６に進み、２パターン以上の場合はＳ３０５に進む（本例は２パターンなのでＳ３０５に進む）（Ｓ３０４）。Ｓ３０４で２パターン以上の場合は、表示＆入力組合せ４７における該当パターン（本例では、１３１と１３３）を記録する（Ｓ３０５）。Ｓ３０３とＳ３０４とＳ３０５の処理を、Ｓ３０３で着目するオペレータへの処理結果表示１２２を順に次の行に変えながら表示＆入力組合せ４７の全てについて繰り返す（Ｓ３０６）。
【００３３】
次に、業務分岐検出処理Ｓ２０２−２を説明する。図６の表示＆入力組合せ４７表の最初の行（１３１）のオペレータ入力１２４＝「Ｓ１０４の内容」に着目する。表示＆入力組合せ４７の全行から、オペレータ入力１２４＝「Ｓ１０４の内容」となっている行を検索する。図６の例では１３１行のみが該当し、オペレータ入力１２４＝「Ｓ１０４の内容」と対となるオペレータへの処理結果表示＝「Ｓ１０２の内容」の１パターンを抽出する（Ｓ３０７）。Ｓ３０７で抽出したオペレータ入力のパターン数が１パターンの場合はＳ３１０に進み、２パターン以上の場合はＳ３０９に進む（本例は１パターンなのでＳ３１０に進む）（Ｓ３０８）。Ｓ３０８で２パターン以上の場合は、表示＆入力組合せ４７の該当パターンを記録する（Ｓ３０９）。Ｓ３０７とＳ３０８とＳ３０９の処理を、Ｓ３０７で着目するオペレータ入力１２４を順に次の行に変えながら表示＆入力組合せ４７の全てについて繰り返す（Ｓ３１０）。
【００３４】
図５は、審査業務クライアント端末１０の入出力ログ１７と同じ構造をした、業務機能構造分析端末４０の入出力ログ４６の例である。オペレータ（審査スタッフ）１が審査業務クライアント端末１０と審査業務サーバ２０と審査業務サブ機能サーバ３０を使って図２に示すような一連の業務を行うと、一つの業務履歴ＩＤ１００に対して複数の業務ステップ１０１の行が生成される（例えば図５の１行目から４行目）。各業務ステップ１０１に対応するレコード（行）は、オペレータ（審査スタッフ）１が審査業務クライアント端末１０にキーボードやマウス等の入力装置１８を使って入力した内容であるオペレータ入力１０２レコードと、オペレータ入力１０２に対して図１に示す業務システムで処理した結果をディスプレイ等の表示装置１９を使ってオペレータ（審査スタッフ）１に表示したオペレータへの処理結果表示１０３レコードと、からなる。例えば、１１１レコードは、図２のフローのＳ１００からＳ１０２が処理されると生成される。なお、図５では入出力ログ４６が一つの表で構成されているが、業務履歴ＩＤ１００毎に別の表で構成してもよい。
【００３５】
図６は、図４のＳ３０２の処理により生成される表示＆入力組合せ４７の例である。業務履歴ＩＤ１２０、業務ステップ１２１、オペレータへの処理結果表示１２２、業務ステップ１２３、オペレータ入力１２４は、それぞれ入出力ログ４６の、業務履歴ＩＤ１００、業務ステップ１０１、オペレータへの処理結果表示１０３、業務ステップ１０１、オペレータ入力１０２と同じ意味である。
【００３６】
図７は、図３の機能コンポーネント関連図作成処理Ｓ２０３で作成される業務機能構造分析端末４０の表示装置４９に表示する機能コンポーネント関連図の例である。図７の例は、図２に示した業務システムのフローが３つの機能コンポーネント（２００、２０１、２０２）に分割されたことを示している。機能コンポーネント間には順序性があり、矢印で結ばれている。さらに、矢印には使用頻度の数値が付与されており、機能コンポーネント関連図の使用頻度カウント処理Ｓ２０４で使用頻度の数値がカウントされ表示される。
【００３７】
図８は、図７を描いた後に、別の表示＆入力組合せ４７に対して機能コンポーネント関連図の使用頻度カウント処理Ｓ２０４を行い、「使用頻度」を書き換えた例である。例えば、図１に示すシステムが、組織Ａと組織Ｂで稼働している場合に、それぞれの組織で業務機能構造を分析すると組織Ａでは図７のような構造と使用頻度であり組織Ｂでは図８のような構造と使用頻度であることが表示される。この場合、組織Ａと組織Ｂでは、機能コンポーネント２００→機能コンポーネント２０２が共通して高い使用頻度であり、組織Ａでは低い使用頻度で機能コンポーネント２０１を経由する処理が行われるが、組織Ｂでは機能コンポーネント２０１を経由する処理が一度も行われていないことがわかる。この表示から、組織Ｂでは機能コンポーネント２０１が不必要であることを図８のように表示することができる。これにより、例えば図８のような業務システムの使い方をする組織に対しては、機能コンポーネント２０１の機能を削った廉価版の業務システムがより適していることが分かるという効果が得られる。
【００３８】
また、仮に図２に示される処理フローがシステムの設計書等に記されていない場合においても、本方式による図７や図８に示す機能コンポーネント分割が可能である。すなわち、人による業務機能構造分析では不可能であることが本方式で実現可能となっている。
【００３９】
図９は、図２に示した処理の流れに、図３と図４に示した機能コンポーネント分割処理Ｓ２０２で得られた分割結果（点線）を重ねたものである。分割結果（点線）は、業務分岐検出処理Ｓ２０２−１のＳ３０５と業務合流検出処理Ｓ２０２−２のＳ３０９により記録された個所を機能コンポーネント間の境界として描いている。
【００４０】
図９に示すように「発明の効果」である「業務システムを使うオペレータの業務観点で業務システムの処理フローを機能コンポーネントに分割すること」が実現できる。
【符号の説明】
【００４１】
10：審査業務クライアント端末、20：審査業務サーバ、30：審査業務サブ機能サーバ、40：業務機能構造分析端末、44：構造分析機能、45：記憶装置。
【図１】
2018109921.tif 000003
【図２】
2018109921.tif 000004
【図３】
2018109921.tif 000005
【図４】
2018109921.tif 000006
【図５】
2018109921.tif 000007
【図６】
2018109921.tif 000008
【図７】
2018109921.tif 000009
【図８】
2018109921.tif 000010
【図９】
2018109921.tif 000011