(57)【要約】【課題】ソフトウェアシステムの改修作業範囲を分割する際に本来一緒に扱うべきソフトウェア要素群が分割されることを抑制する。【解決手段】分割可能範囲算出部８が、ソフトウェア要素間の意味関係の結合度を算出し、算出された結合度とソフトウェア要素間における改修作業の影響の度合いの双方に基づいて改修作業範囲を分割する。このような処理によれば、ソフトウェア要素間における改修作業の影響の度合いと合わせて要素間の意味関係の結合度に基づいて改修作業範囲が分割されるので、ソフトウェア要素間の意味関係が大きいために一緒に扱うべき要素間が分割されることを抑制できる。【選択図】図１
2010122716.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアシステムを構成するソフトウェア要素間におけるソフトウェア要素の改修作業の影響度合いを、ソフトウェア要素間の意味関係と改修作業内容との組み合わせに対応する影響有無が規定された影響分析ルールに従って算出する影響分析処理と、
前記ソフトウェア要素間の意味関係の結合度が規定された関係結合度ルールに従って、前記ソフトウェア要素間の意味関係の結合度を算出する関係結合度算出処理と、
前記影響分析処理及び前記関係結合度算出処理により算出された影響度合い及び意味関係の結合度と、影響度合い及び意味関係の結合度とソフトウェア要素間の分割可能性との関係が規定された関係分割可否ルールとに基づいて、ソフトウェア要素間の分割可否を判定する分割可否判定処理と、
前記分割可否判定処理の結果に従って、ソフトウェアシステムの改修作業範囲を複数の範囲に分割する分割可能範囲算出処理と
をコンピュータに実行させることを特徴とする改修作業範囲分割プログラム。
【請求項２】
ソフトウェアシステムを構成するソフトウェア要素間におけるソフトウェア要素の改修作業の影響度合いを、ソフトウェア要素間の意味関係と改修作業内容との組み合わせに対応する影響有無が規定された影響分析ルールに従って算出する影響分析手段と、
前記ソフトウェア要素間の意味関係の結合度が規定された関係結合度ルールに従って、前記ソフトウェア要素間の意味関係の結合度を算出する関係結合度算出手段と、
前記影響分析手段及び前記関係結合度算出手段により算出された影響度合い及び意味関係の結合度と、影響度合い及び意味関係の結合度とソフトウェア要素間の分割可能性との関係が規定された関係分割可否ルールとに基づいて、ソフトウェア要素間の分割可否を判定する分割可否判定手段と、
前記分割可否判定手段の判定結果に従って、ソフトウェアシステムの改修作業範囲を複数の範囲に分割する分割可能範囲算出手段と
を備えることを特徴とする改修作業範囲分割装置。
【請求項３】
ソフトウェアシステムを構成するソフトウェア要素間におけるソフトウェア要素の改修作業の影響度合いを、ソフトウェア要素間の意味関係と改修作業内容との組み合わせに対応する影響有無が規定された影響分析ルールに従って算出するステップと、
前記ソフトウェア要素間の意味関係の結合度が規定された関係結合度ルールに従って、前記ソフトウェア要素間の意味関係の結合度を算出するステップと、
前記ステップにより算出された影響度合い及び意味関係の結合度と、影響度合い及び意味関係の結合度とソフトウェア要素間の分割可能性との関係が規定された関係分割可否ルールとに基づいて、ソフトウェア要素間の分割可否を判定するステップと、
前記判定結果に従って、ソフトウェアシステムの改修作業範囲を複数の範囲に分割するステップと
を有することを特徴とする改修作業範囲分割方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアシステムの改修作業範囲を分割するための改修作業範囲分割プログラム，改修作業範囲分割装置，及び改修作業範囲分割方法に関する。
【背景技術】
【０００２】
従来、業務アプリケーション等のソフトウェアシステムの改修作業（変更，追加，削除等）は、作業を迅速に終わらせるために、改修作業範囲を分割し、分割された各作業範囲を並行作業で改修することにより、行われていた。
【特許文献１】特開２００６−１２１４６号公報
【特許文献２】特開２００２−２２２０８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
改修作業範囲を分割する場合、分割された作業範囲間において各作業範囲で行った改修作業の影響が少なく、且つ、本来一緒に扱うべきソフトウェア要素群が同じ作業範囲内に含まれていることが望ましい。上記先行技術文献にはオブジェクト指向言語プログラムを改修した場合に改修箇所が影響を及ぼす範囲を特定する技術が開示されており、この技術を応用することにより作業範囲間の影響を少なくして改修作業範囲を分割することが考えられる。しかしながらこの分割方法によれば、本来１つの作業範囲として一緒に扱うべきソフトウェア要素群が確実に１つの作業範囲内に含まれるように分割箇所を決定することはできない。
【０００４】
本発明は上記課題に鑑みてなされたものであり、その目的はソフトウェアシステムの改修作業範囲を分割する際に本来一緒に扱うべきソフトウェア要素群が分割されることを抑制可能な、改修作業範囲分割プログラム，改修作業範囲分割装置，及び改修作業範囲分割方法を提供することにある。
【課題を解決するための手段】
【０００５】
改修作業範囲分割プログラム，改修作業範囲分割装置，及び改修作業範囲分割方法は、ソフトウェアシステムを構成するソフトウェア要素間におけるソフトウェア要素の改修作業の影響度合いとソフトウェア要素間の意味関係の結合度に基づいて、ソフトウェアシステムの改修作業範囲を複数の範囲に分割する。
【発明の効果】
【０００６】
改修作業範囲分割プログラム，改修作業範囲分割装置，及び改修作業範囲分割方法によれば、ソフトウェアシステムの改修作業範囲を分割する際に本来一緒に扱うべきソフトウェア要素群が分割されることを抑制できる。
【発明を実施するための最良の形態】
【０００７】
以下、図面を参照して、本発明の実施形態となる改修作業範囲分割装置の構成とその改修作業範囲分割方法について説明する。
〔改修作業範囲分割装置の構成〕
始めに、図１を参照して、本発明の実施形態となる改修作業範囲分割装置の構成について説明する。
【０００８】
本発明の実施形態となる改修作業範囲分割装置１は、図１に示すように、入力部２，出力部３，記憶部４，及び制御部５を有する。入力部２は、キーボード，テンキー，マウスポインタ等の入力装置であり、改修作業範囲分割装置１のユーザにより操作される。出力部３は、表示装置や印刷装置等の出力装置である。記憶部４は、ＲＯＭ（Read Only Memory）等の不揮発性の記憶装置である。記憶部４は、後述する改修作業範囲分割処理の処理ルーチンを規定した改修作業範囲分割プログラム６を記憶する。制御部５は、ＣＰＵ（Central Processing Unit）等の演算処理装置である。制御部５は、記憶部４に記憶されている改修作業範囲分割プログラム６を実行することにより、影響分析部７及び分割可能範囲算出部８として機能する。詳しくは後述するが、影響分析部７は、影響分析ルールデータベース（ＤＢ）９に記憶されれている影響分析ルールに従って、システムモデルデータベース（ＤＢ）１０に格納されているソフトウェアシステムを構成するソフトウェア要素間における改修作業の影響の度合いを分析する。また分割可能範囲算出部８は、影響分析部７による分析結果，関係結合度ルールデータベース（ＤＢ）１１に記憶されている関係結合度ルール，及び関係分割可否ルールデータベース（ＤＢ）１２に記憶されている関係分割可否ルールに従って、システムモデルＤＢ１０に格納されているソフトウェアシステムの改修作業範囲の分割可能範囲を算出する。
〔改修作業範囲分割処理〕
このような構成を有する改修作業範囲分割装置１では、影響分析部７及び分割可能範囲算出部８がそれぞれ、以下に示す影響分析処理及び作業範囲分割処理を実行することにより、分割された作業範囲間で各作業範囲の改修作業の影響が少なく、且つ、本来一緒に扱うべきソフトウェア要素群が同じ作業範囲内に含まれるように、ソフトウェアシステムの改修作業範囲を分割する。なお本実施形態では、改修作業の対象となるソフトウェアシステムとして、図２に示すようなＵＭＬ（Unified Modeling Lanuguage）で記述された注文管理システムを例示する。具体的には、図２に示す注文管理システムは、顧客からの商品の注文（都度注文，定期注文）に応じて注文明細を作成するソフトウェアシステムである。またソフトウェアシステムの改修作業として、図２に示す注文管理システムに対して、図３に破線枠で示すように注文の合価に応じたポイントを顧客に付与する機能と商品のカテゴリを指定する機能の２つの機能を付加する作業を行うものとする。以下、影響分析処理及び作業範囲分割処理を実行する際の影響分析部７及び分割可能範囲算出部８の動作について詳しく説明する。
〔影響分析処理〕
始めに、図４及び図６に示すフローチャートを参照して、影響分析処理を実行する際の影響分析部７の動作について説明する。図４に示すフローチャートは、入力部２を介してユーザ２が制御部５に対し影響分析処理の実行を指示する制御信号を入力したタイミングで開始となり、影響分析処理はステップＳ１の処理に進む。
【０００９】
ステップＳ１の処理では、影響分析部７が、システムモデルＤＢ１０から図５に示すような図３に示す注文管理システムを構成するソフトウェア要素（以下、要素と略記）のデータを読み出し、図５に示すデータの「改修有無」の欄に「追加」，「変更」，及び「削除」のうちのいずれかが設定されている項目（要素ＩＤ，名前，属性，操作）があるか否かを判別する。なお図５に示すデータ中、「要素ＩＤ」欄及び「名前」欄はそれぞれ要素毎に割り当てられた固有の識別番号及びその名称を示し、「属性ＩＤ」欄及び「属性」欄はそれぞれ「要素ＩＤ」欄に対応する要素内で定義されている数値や文字列毎に割り当てられた固有の識別番号及びその名称を示す。また「操作ＩＤ」欄及び「操作」欄はそれぞれ「要素ＩＤ」欄に対応する要素が実行する処理毎に固有に割り当てられた固有の識別番号及びその名称を示す。本実施形態では、改修作業として注文の合価に応じたポイントを顧客に付与する機能と商品のカテゴリを指定する機能の２つを機能を注文管理システムに付加する作業を行うので、図５に示すデータには「ポイント」と「カテゴリ」を新たな「属性」として追加することと「ポイント計算」を新たな「操作」として追加する設定がなされている。
【００１０】
本実施形態では、図５に示すデータの「要素ＩＤ」，「属性」，「操作ＩＤ」，及び「操作」の各欄には対応する欄の内容に対し「追加」，「変更」，及び「削除」のうちのいずれかの処理を行ったことを示す「改修有無」欄が設けられ、「名前」，「属性」，及び「操作」の各欄には改修作業による影響の有無を示す「影響有無」欄が設けられている。この図５に示すデータは、「影響有無」欄の内容以外、システムを構築又は改修する際にシステム設計者が作成するものである。図５に示すデータの「影響有無」欄の内容は影響分析部７により記述される。そして判別の結果、図５に示すデータの「改修有無」の欄に「追加」，「変更」，及び「削除」のうちのいずれかが設定されている項目がない場合、影響分析部７は、改修作業が行われないと判断し、影響分析処理を終了する。一方、図５に示すデータの「改修有無」の欄に「追加」，「変更」，及び「削除」のうちのいずれかが設定されている項目がある場合には、影響分析部７は、改修作業が行われると判断し、影響分析処理をステップＳ２の処理に進める。
【００１１】
ステップＳ２の処理では、影響分析部７が、図５に示すデータの「改修有無」の欄に「追加」，「変更」，及び「削除」のうちのいずれかが設定されている項目の「改修対象」の「区分」の値を「要素」に設定し、設定した値をＲＡＭ（Random Access Memory）等の揮発性の記憶装置（図示せず）内に記憶する。具体的には、影響分析部７は、「区分」，「種別」，「改修内容」，「改修前モデルの始点要素の有無」，「改修後モデルの始点要素の有無」，「改修前モデルの関係の種別」，及び「改修後モデルの関係の種別」の欄が設定されたテーブル（図示せず）を予め記憶装置内に記憶し、設定した「区分」の値をこのテーブル内に書き込む。なお「区分」とは図８に示す影響分析ルールＤＢ９に記憶されている影響分析ルール内で定義されているパラメータに対応し、「追加」，「変更」，及び「削除」のうちのいずれかが設定されている項目（改修対象）が「要素」又は要素間の「関係」のいずれであるかを示す。なお「要素」には種別として「クラス」，「名前」，「属性」，及び「操作」が含まれ、要素間の「関係」には種別として「関連」，「汎化」，「集約」，「コンポジション」，「依存関係」，及び「実現関係」がある。図８に示す影響分析ルールは、改修対象（区分及び種別）及び改修内容（追加，変更，削除）毎に改修による影響が生じる項目を規定したものであり、予めシステム設計者が作成するものである。具体的には、図８に示す「ルールＩＤ」が「ＡＡ０１」の影響分析ルールは、要素間の「関係」を「関連」とする「追加」の改修を行った場合には、図５に示すデータの「始点要素」の「属性」及び「操作」と「終点要素」の「属性」及び「操作」に改修による影響が生じることを示す。これにより、ステップＳ２の処理は完了し、影響分析処理はステップＳ３の処理に進む。
【００１２】
ステップＳ３の処理では、影響分析部７が、図５に示すデータの「改修有無」の欄に「追加」，「変更」，及び「削除」のうちのいずれかが設定されている項目の「改修対象」の「種別」の値を設定し、設定した値を揮発性の記憶装置内に記憶する。具体的には、影響分析部７は、「区分」，「種別」，「改修内容」，「改修前モデルの始点要素の有無」，「改修後モデルの始点要素の有無」，「改修前モデルの関係の種別」，及び「改修後モデルの関係の種別」の欄が設定されたテーブルに設定した「種別」の値を書き込む。本実施形態では、影響分析部７は、その項目が図５に示すデータの「要素ＩＤ」である場合は「改修対象種別」の値を「クラス」，図５に示すデータの「名前」である場合は「名前」，図５に示すデータの「属性」である場合は「属性」，図５に示すデータの「操作」である場合には「操作」に設定する。なお「種別」とは、既述の影響分析ルール内で定義されているパラメータに対応するものであり、「クラス」，「名前」，「属性」，及び「操作」のうちのいずれかの値を示す。これにより、ステップＳ３の処理は完了し、影響分析処理はステップＳ４の処理に進む。
【００１３】
ステップＳ４の処理では、影響分析部７が、図５に示すデータの「改修有無」の欄に「追加」，「変更」，及び「削除」のうちのいずれかが設定されている項目の「改修内容」の値を「改修有無」の欄に設定されている値（図５に示す例では「追加」）に設定し、設定した値を揮発性の記憶装置内に記憶する。具体的には、影響分析部７は、「区分」，「種別」，「改修内容」，「改修前モデルの始点要素の有無」，「改修後モデルの始点要素の有無」，「改修前モデルの関係の種別」，及び「改修後モデルの関係の種別」の欄が設定されたテーブルに設定した「改修内容」の値を書き込む。なお「改修内容」とは、既述の影響分析ルール内で定義されているパラメータに対応するものであり、「追加」，「変更」，及び「削除」のうちのいずれかの値を示す。これにより、ステップＳ４の処理は完了し、影響分析処理はステップＳ５の処理に進む。
【００１４】
ステップＳ５の処理では、影響分析部７が、図５に示すデータの「改修有無」の欄に「追加」，「変更」，及び「削除」のうちのいずれかが設定されている項目について、「改修前モデル」の「始点要素」の「存在有無」の値を設定し、設定した値を揮発性の記憶装置内に記憶する。具体的には、影響分析部７は、「区分」，「種別」，「改修内容」，「改修前モデルの始点要素の有無」，「改修後モデルの始点要素の有無」，「改修前モデルの関係の種別」，及び「改修後モデルの関係の種別」の欄が設定されたテーブルに設定した「改修前モデルの始点要素の有無」の値を書き込む。本実施形態では、影響分析部７は、「改修対象種別」の値が「クラス」、且つ、「改修有無」の値が「追加」である場合は「改修前モデル」の「始点要素」の「存在有無」の値を「無」、それ以外の場合には「改修前モデル」の「始点要素」の「存在有無」の値を「有」に設定する。なお「改修前モデルの始点要素の有無」とは、既述の影響分析ルール内で定義されているパラメータに対応するものであり、改修を行う前の段階で始点となる要素があるか否かを示す値である。これにより、ステップＳ５の処理は完了し、影響分析処理はステップＳ６の処理に進む。
【００１５】
ステップＳ６の処理では、影響分析部７が、図５に示すデータの「改修有無」の欄に「追加」，「変更」，及び「削除」のうちのいずれかが設定されている項目について、「改修後モデル」の「始点要素」の「存在有無」の値を設定し、設定した値を揮発性の記憶装置内に記憶する。具体的には、影響分析部７は、「区分」，「種別」，「改修内容」，「改修前モデルの始点要素の有無」，「改修後モデルの始点要素の有無」，「改修前モデルの関係の種別」，及び「改修後モデルの関係の種別」の欄が設定されたテーブルに設定した「改修後モデルの始点要素の有無」の値を書き込む。本実施形態では、影響分析部７は、「改修対象種別」の値が「クラス」、且つ、「改修有無」の値が「削除」である場合は「改修後モデル」の「始点要素」の「存在有無」の値を「無」、それ以外の場合には「改修後モデル」の「始点要素」の「存在有無」の値を「有」に設定する。なお「改修前モデルの始点要素の有無」とは、既述の影響分析ルール内で定義されているパラメータに対応するものであり、改修を行った後の段階で始点となる要素があるか否かを示す値である。これにより、ステップＳ６の処理は完了し、影響分析処理はステップＳ７の処理に進む。
【００１６】
ステップＳ７の処理では、影響分析部７が、システムモデルＤＢ１０から図７に示すような注文管理システムを構成する要素間の意味関係の種別を規定したデータを読み出し、読み出されたデータを参照して、図５に示すデータの「改修有無」の欄に「追加」，「変更」，及び「削除」のうちのいずれかが設定されている項目について、対応する「要素ＩＤ」の値が「始点要素ＩＤ」の値に等しい項目があるか否かを判別する。図７に示すデータ中、「関係ＩＤ」欄は要素間の意味関係毎に割り当てられた固有の識別番号を示し、「改修前関係種別」欄は改修前の要素間の意味関係を示す。また「始点要素ＩＤ」及び「終点要素ＩＤ」欄はそれぞれ改修前に始点及び終点となる要素の「要素ＩＤ」を示し、「改修後関係種別」欄は改修後の要素間の意味関係を示す。本実施形態では、各「関係ＩＤ」欄には意味関係の内容に対し「追加」，「変更」，及び「削除」のうちのいずれかの処理を行ったことを示す「改修有無」欄と、改修作業による影響の有無を示す「影響有無」欄が設けられている。この図７に示すデータは、「影響有無」欄の内容以外、システムを構築又は改修する際にシステム設計者が作成するものである。「影響有無」欄の内容は影響分析部７により記述される。判別の結果、対応する「要素ＩＤ」の値が「始点要素ＩＤ」の値に等しい項目がない場合、影響分析部７は、改修作業が他の要素に与える影響はない、換言すれば改修作業が影響始点となる可能性はないと判断し、一連の影響分析処理を終了する。一方、対応する「要素ＩＤ」の値が「始点要素ＩＤ」の値に等しい項目がある場合には、影響分析部７は、影響分析処理をステップＳ８の処理に進める。
【００１７】
ステップＳ８の処理では、影響分析部７が、ステップＳ７の処理により読み出されたデータ（図７参照）を参照して、値が「要素ＩＤ」の値と等しい「始点要素ＩＤ」に対応する「改修前関係種別」の値（関連，汎化，集約，コンポジション，依存関係，実現関係）を読み出す。そして影響分析部７は、読み出された値を「改修前モデル」の「関係」の「種別」の値に設定し、設定した値を揮発性の記憶装置内に記憶する。具体的には、影響分析部７は、「区分」，「種別」，「改修内容」，「改修前モデルの始点要素の有無」，「改修後モデルの始点要素の有無」，「改修前モデルの関係の種別」，及び「改修後モデルの関係の種別」の欄が設定されたテーブルに設定した「改修前モデル」の「関係」の「種別」の値を書き込む。これにより、ステップＳ８の処理は完了し、影響分析処理はステップＳ９の処理に進む。
【００１８】
ステップＳ９の処理では、影響分析部７が、ステップＳ７の処理により読み出されたデータ（図７参照）を参照して、値が「要素ＩＤ」の値と等しい「始点要素ＩＤ」に対応する「改修後関係種別」の値を読み出す。そして影響分析部７は、読み出された値を「改修後モデル」の「関係」の「種別」の値に設定し、設定した値を揮発性の記憶装置内に記憶する。具体的には、影響分析部７は、「区分」，「種別」，「改修内容」，「改修前モデルの始点要素の有無」，「改修後モデルの始点要素の有無」，「改修前モデルの関係の種別」，及び「改修後モデルの関係の種別」の欄が設定されたテーブルに設定した「改修後モデル」の「関係」の「種別」の値を書き込む。以上の処理により、「区分」，「種別」，「改修内容」，「改修前モデルの始点要素の有無」，「改修後モデルの始点要素の有無」，「改修前モデルの関係の種別」，及び「改修後モデルの関係の種別」の欄が設定されたテーブルには「改修有無」の欄に「追加」，「変更」，及び「削除」のうちのいずれかが設定されている各項目に対応する値が設定される。これにより、ステップＳ９の処理は完了し、影響分析処理はステップＳ１０の処理に進む。
【００１９】
ステップＳ１０の処理では、影響分析部７が、図８に示すような影響分析ルールＤＢ９に記憶されている影響分析ルールを参照して、上述の処理によりテーブルに設定された一連の値の組み合わせ（「区分」，「種別」，「改修内容」，「改修前モデルの始点要素の有無」，「改修後モデルの始点要素の有無」，「改修前モデルの関係の種別」，及び「改修後モデルの関係の種別」）に等しい影響分析ルールが存在するか否かを判別する。そして判別の結果、等しい影響分析ルールが存在しない場合、影響分析部７は、ソフトウェア要素間で改修作業に伴う影響が生じる可能性がないと判断し、一連の影響分析処理を終了する。一方、等しい影響分析ルールが存在する場合には、影響分析部７は、ソフトウェア要素間で改修作業に伴う影響が生じる可能性があると判断し、影響分析処理をステップＳ１１の処理に進める。
【００２０】
ステップＳ１１の処理では、影響分析部７が、上述の処理により揮発性の記憶装置の内部に記憶された一連の値の組み合わせに等しい影響分析ルールを読み出し、読み出された影響分析ルールを参照して、図５に示す各項目の「影響有無」の値を影響分析ルール内で規定されている「影響有無」の欄の値に設定する。この処理により図５に示すデータは図１３に示すようなデータに設定される。図１３に示すデータによれば、「影響有無」欄の値が「有」になっている項目を確認することにより、注文の合価に応じたポイントを顧客に付与する機能を追加した場合、図３に示す要素「都度注文」，「定期注文」，及び「注文」内に影響があり、商品のカテゴリを指定する機能を追加した場合には、図３に示す要素「都度注文明細」，「定期注文明細」，及び「注文明細」内に影響がある可能性があることがわかる。これにより、ステップＳ１１の処理は完了し、ステップＳ１の処理に戻る。
〔作業範囲分割処理〕
次に、図９及び図１２に示すフローチャートを参照して、作業範囲分割処理を実行する際の分割可能範囲算出部８の動作について説明する。図９に示すフローチャートは、影響分析処理が終了したタイミングで開始となり、作業範囲分割処理はステップＳ２１の処理に進む。なおこの作業範囲分割処理は全ての影響起点（ステップＳ１１の処理により「影響有無」の値が「有」に設定された各項目）について実行されるものとする。
【００２１】
ステップＳ２１の処理では、分割可能範囲算出部８が、影響起点を始点に設定する。これにより、ステップＳ２１の処理は完了し、作業範囲分割処理はステップＳ２２の処理に進む。
【００２２】
ステップＳ２２の処理では、分割可能範囲算出部８が、図１０に示すような関係結合度ルールＤＢ１１に記憶されている要素間の意味関係の結合度ルールを参照して、始点と次点との間の意味関係の結合度を算出する。具体的には、図１０に示す意味関係の結合度は、「関連」，「汎化」，「集約」，「コンポジション」，「依存関係」，及び「実現関係」の意味関係の種別毎に予め設定され、本実施形態では、意味関係が深い程、大きな値に設定されている。これにより、ステップＳ２２の処理は完了し、作業範囲分割処理はステップＳ２３の処理に進む。
【００２３】
ステップＳ２３の処理では、分割可能範囲算出部８が、図１１に示すような関係分割可否ルールＤＢ１２に記憶されている関係分割可否ルールに従って、ステップＳ１１の処理により設定された「影響有無」の値、及びステップＳ２２の処理により算出された関係の結合度に基づいて、改修作業の際に始点と次点との間を分割可能であるか否かを判断する。具体的には、分割可能範囲算出部８は、始点と次点との間に改修作業の影響がある場合であっても始点と次点との間の意味関係が小さい場合は始点と次点との間は分割可能であると判断する。また逆に、分割可能範囲算出部８は、始点と次点との間に改修作業の影響がない場合であっても始点と次点との間の意味関係が大きい場合には始点と次点との間は分割不能であると判断する。図１１に示す関係分割可否ルールは、要素間における改修作業の影響の有無と意味関係の結合度の組み合わせ毎に要素間が分割可能であるか否かを規定したものである。これにより、ステップＳ２３の処理は完了し、作業範囲分割処理はステップＳ２４の処理に進む。
【００２４】
ステップＳ２４の処理では、分割可能範囲算出部８が、まだ始点に設定されていない次点があるか否かを判別する。そして判別の結果、まだ始点に設定されていない次点がある場合、分割可能範囲算出部８は、ステップＳ２５の処理としてその次点を始点に設定した後、作業範囲分割処理をステップＳ２２の処理に戻す。一方、始点に設定されていない次点がない場合には、分割可能範囲算出部８は作業範囲分割処理をステップＳ２６の処理に進める。
【００２５】
ステップＳ２６の処理では、分割可能範囲算出部８が、ステップＳ２３の処理結果に従って分割不能な要素間の分割しないようにして、本願発明の出願時点で公知の方法を利用することにより改修作業範囲を複数の作業範囲に分割する。これにより、ステップＳ２６の処理は完了し、作業範囲分割処理はステップＳ２７の処理に進む。
【００２６】
ステップＳ２７の処理では、分割可能範囲算出部８が、ステップＳ２６の処理によって分割された複数の作業範囲に関する情報を出力する。具体的には、分割可能範囲算出部８は、図１３に示すように、注文管理システムを構成する要素のデータに各要素が属するグループ（作業範囲）のデータを付与して出力する。これにより、ステップＳ２７の処理は完了し、一連の作業範囲分割処理は終了する。
〔まとめ〕
従来、ソフトウェアシステムの改修作業範囲は、影響分析手法及びグラフ分割手法を利用して、作業範囲間における改修作業の影響の度合いのみに基づいて分割されていた。具体的には、図２に示す注文管理システムに対して注文の合価に応じたポイントを顧客に付与する機能と商品のカテゴリを指定する機能を追加する場合、従来の改修作業範囲分割方法では、要素間の意味関係の結合度を考慮せずに改修作業の影響の有無により分割範囲を決定するために、注文管理システムは、上記ステップＳ１１の処理結果に基づいて、図１４に示すように、注文の合価に応じたポイントを顧客に付与する機能を追加することにより影響を受ける範囲Ｇ１と商品のカテゴリを指定する機能を追加することにより影響を受ける範囲Ｇ２とに分割されていた。しかしながらこのような分割方法によれば、例えば要素「注文」と要素「注文明細」間が分割される等、要素間の意味関係が大きいために本来一緒に扱うべき要素群が分割されてしまう。
【００２７】
これに対し本発明の実施形態となる改修作業範囲分割方法では、影響分析部８が図１５に示すように要素間の意味関係における影響可能性の有無を算出し、分割可能範囲算出部８が、図１６に示すように要素間の意味関係の結合度を算出し、図１７に示すように算出された結合度と要素間における改修作業の影響の度合いの双方に基づいて改修作業範囲を分割する。そしてこのような処理によれば、要素間における改修作業の影響の度合いと合わせて要素間の意味関係の結合度に基づいて改修作業範囲が分割されるので、図１８に示すように、要素間の意味関係が大きいために一緒に扱うべき要素間が分割されることを抑制できる。
【００２８】
以上、本発明者らによってなされた発明を適用した実施の形態について説明したが、この実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施の形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施形態となる改修作業範囲分割装置の構成を示すブロック図である。
【図２】改修作業の対象となるソフトウェアシステムの一例を示す図である。
【図３】図２に示すソフトウェアシステムの改修例を示す図である。
【図４】本発明の実施形態となる影響分析処理の流れを示すフローチャート図である。
【図５】図３に示すソフトウェアシステムを構成する要素のデータを示す図である。
【図６】図４に示す影響分析処理の続きを示すフローチャート図である。
【図７】図５に示す要素間の意味関係の種別を規定したデータを示す図である。
【図８】図１に示す影響分析ルールデータベースに格納される影響分析ルールの一例を示す図である。
【図９】本発明の実施形態となる作業範囲分割処理の流れを示すフローチャート図である。
【図１０】図１に示す関係結合度ルールデータベースに格納される関係結合度ルールの一例を示す図である。
【図１１】図１に示す関係分割可否ルールデータベースに格納される関係分割可否ルールの一例を示す図である。
【図１２】図９に示す作業範囲分割処理の続きを示すフローチャート図である。
【図１３】本発明の実施形態となる作業範囲分割処理により出力される分割処理結果の一例を示す図である。
【図１４】従来の改修作業範囲分割方法により図３に示すソフトウェアシステムを分割した場合の分割処理結果を示す図である。
【図１５】図３に示すソフトウェアシステムを構成する要素間の意味関係における影響可能性の有無を示す図である。
【図１６】図３に示すソフトウェアシステムを構成する要素間の意味関係の結合度を示す図である。
【図１７】図１６に示す要素間の意味関係の結合度に基づく分割可能性の判断結果を示す図である。
【図１８】本発明の実施形態となる作業範囲分割処理により図３に示すソフトウェアシステムを分割した場合の分割処理結果を示す図である。
【符号の説明】
【００３０】
１：改修作業範囲分割装置
２：入力部
３：出力部
４：記憶部
５：制御部
６：改修作業範囲分割プログラム
７：影響分析部
８：分割可能範囲算出部
９：影響分析ルールデータベース（ＤＢ）
１０：システムモデルデータベース（ＤＢ）
１１：関係結合度ルールデータベース（ＤＢ）
１２：関係分割可否ルールデータベース（ＤＢ）
【図１】
2010122716.tif 000003
【図２】
2010122716.tif 000004
【図３】
2010122716.tif 000005
【図４】
2010122716.tif 000006
【図５】
2010122716.tif 000007
【図６】
2010122716.tif 000008
【図７】
2010122716.tif 000009
【図８】
2010122716.tif 000010
【図９】
2010122716.tif 000011
【図１０】
2010122716.tif 000012
【図１１】
2010122716.tif 000013
【図１２】
2010122716.tif 000014
【図１３】
2010122716.tif 000015
【図１４】
2010122716.tif 000016
【図１５】
2010122716.tif 000017
【図１６】
2010122716.tif 000018
【図１７】
2010122716.tif 000019
【図１８】
2010122716.tif 000020