(57)【要約】【課題】ユーザが、一目でソフトウェアの関連を把握可能で、よりスムーズに効率よくソフトウェアの部品化や再利用が可能なソフトウェア開発支援装置の提供を目的としている。【解決手段】上記目的を達成するために、本発明では、ソフトウェア開発支援装置にて、各モジュールを、各グループとの関連度合いによって、表示設定することによって、各モジュールと各グループとの関連度合いを簡単に識別可能とし、ユーザがソフトウェアの関連を把握可能となり、よりスムーズに効率よくソフトウェアの部品化や再利用を可能とする。【選択図】図１
2010204877.tif 000002
【特許請求の範囲】
【請求項１】
任意のプログラム単位であるモジュールを複数含むソフトウェアを記憶する記憶手段と、
ユーザ操作の入力を受付ける入力手段と、
少なくとも前記ソフトウェアに関する情報を表示する表示手段と、
を有するソフトウェア開発支援装置において、
前記ソフトウェアのソースの解析を行うソース解析手段と、
前記表示手段での表示処理に関する表示情報を作成する表示情報作成手段と
を設け、
前記ソース解析手段にて、複数の前記モジュールの構成を示すモジュール構成情報と前記モジュール間相互の関連する度合いを示すモジュール関連度に関する情報であるモジュール関連情報を出力し、
前記表示情報作成手段では、
前記入力手段によって、複数の前記モジュールの内から指定されたモジュールを含む指定グループに対し、
前記モジュール関連情報を参照後、複数の前記モジュールの内で前記指定グループとして指定されなかった各モジュールとの関連の度合いに対応するモジュール表示情報を演算、出力し
出力された前記モジュール表示情報を参照後、前記モジュールを視覚的に異なる表示とすることを特徴とするソフトウェア開発支援装置。
【請求項２】
ユーザ操作やユーザによるソフトウェアの入力を受付ける入力手段と、
入力手段により取得したソフトウェアや、ソフトウェアの解析結果を記憶する記憶手段と、
前記ソフトウェアのソースの解析を行うソース解析手段と
少なくとも前記ソフトウェアに関する情報やソース解析手段の解析結果を表示する表示手段と、
を有するソフトウェア開発支援装置において、
ソフトウェアの表示方法を指示する表示情報作成手段を設け、
前記ソース解析手段にて、ソフトウェアプログラムの任意の単位である関数や変数を含むモジュールの構成を示すモジュール構成情報とモジュール間の参照関係を示すモジュール参照情報と前記モジュール間相互の関連する度合いを示すモジュール関連度に関する情報であるモジュール関連情報を出力し、
前記表示情報作成手段では、前記入力手段によって、ユーザは少なくとも一つ以上のモジュールを含む少なくとも2つ以上のグループを定義し、定義したグループの中から表示時に基準となるグループである基準グループを１つ指定し、前記モジュール関連情報を参照後、基準グループ以外のグループのモジュールの基準グループからのモジュール関連度を識別可能とする表示情報であるモジュール表示情報を計算し、前記表示手段は前記モジュール表示情報に基づいて前記モジュールの表示を行うことを特徴とするソフトウェア開発支援装置。
【請求項３】
ユーザ操作やユーザによるソフトウェアの入力を受付ける入力手段と、
入力手段により取得したソフトウェアや、ソフトウェアの解析結果を記憶する記憶手段と、
少なくとも前記ソフトウェアに関する情報やソース解析手段の解析結果を表示する表示手段と、
前記ソフトウェアのソースの解析を行うソース解析手段と
を有するソフトウェア開発支援装置において、
ソフトウェアの表示方法を決定する表示情報作成手段を設け、
前記ソース解析手段にて、ソフトウェアプログラムの任意の単位である関数や変数を含むモジュールの構成を示すモジュール構成情報とモジュール間の参照関係を示すモジュール参照情報と前記モジュール間相互の関連する度合いを示すモジュール関連度に関する情報であるモジュール関連情報を出力し、
前記表示情報作成手段では、前記入力手段によって、ユーザは少なくとも一つ以上のモジュールを含む少なくとも2つ以上のグループを定義し、定義したグループの中から表示時に基準となるグループである基準グループを２つ以上指定し、前記モジュール関連情報を参照後、基準グループ以外のグループのモジュールの基準グループ間のモジュール関連度を識別可能とする表示情報であるモジュール表示情報を計算し、前記表示手段は前記モジュール表示情報に基づいて前記モジュールの表示を行うことを特徴とするソフトウェア開発支援装置。
【請求項４】
請求項１乃至３に記載のソフトウェア開発支援装置において、
前記表示情報作成手段が前記モジュール毎に色相、彩度、明度の少なくとも１つを異なる表示とするモジュール表示情報を出力することを特徴とするソフトウェア開発支援装置。
【請求項５】
請求項1乃至３に記載のソフトウェア開発支援装置において、
前記表示情報作成手段は、前記モジュール関連情報の段階数を指定可能とし、当該指定された段階数に応じて、前記モジュールの表示を設定するモジュール表示情報を出力することを特徴とするソフトウェア開発支援装置。
【請求項６】
請求項１乃至３に記載のソフトウェア開発支援装置において、
前記表示情報作成手段は、前記入力手段から指定されたモジュールのみの表示を行うモジュール表示情報を出力することを特徴とするソフトウェア開発支援装置。
【請求項７】
ユーザ操作やユーザによるソフトウェアの入力を受付ける入力手段と、
入力手段により取得したソフトウェアや、ソフトウェアの解析結果などを記憶する記憶手段と、
少なくとも前記ソフトウェアに関する情報やソース解析手段などの解析結果を表示する表示手段と、
前記ソフトウェアのソースの解析を行うソース解析手段と
を有するソフトウェア開発支援方法において、
ソフトウェアの表示方法を決定する表示情報作成手段を設け、
前記ソース解析手段にて、ソフトウェアプログラムの任意の単位である関数や変数を含むモジュールの構成を示すモジュール構成情報とモジュール間の参照関係を示すモジュール参照情報と前記モジュール間相互の関連する度合いを示すモジュール関連度に関する情報であるモジュール関連情報を出力し、
前記表示情報作成手段では、前記入力手段によって、ユーザは少なくとも一つ以上のモジュールを含む少なくとも2つ以上のグループを定義し、定義したグループの中から表示時に基準となるグループである基準グループを１つ指定し、前記モジュール関連情報を参照後、基準グループ以外のグループのモジュールの基準グループからのモジュール関連度を識別可能とする表示情報であるモジュール表示情報を計算し、前記表示手段は前記モジュール表示情報に基づいて前記モジュールの表示を行うことを特徴とするソフトウェア開発支援方法。
【請求項８】
ユーザ操作やユーザによるソフトウェアの入力を受付ける入力手段と、
入力手段により取得したソフトウェアや、ソフトウェアの解析結果を記憶する記憶手段と、
少なくとも前記ソフトウェアに関する情報やソース解析手段の解析結果を表示する表示手段と、
前記ソフトウェアのソースの解析を行うソース解析手段と
を有するソフトウェア開発支援方法において、
ソフトウェアの表示方法を決定する表示情報作成手段を有し、
前記ソース解析手段にて、ソフトウェアプログラムの任意の単位である関数や変数を含むモジュールの構成を示すモジュール構成情報とモジュール間の参照関係を示すモジュール参照情報と前記モジュール間相互の関連する度合いを示すモジュール関連度に関する情報であるモジュール関連情報を出力し、
前記表示情報作成手段では、前記入力手段によって、ユーザは少なくとも一つ以上のモジュールを含む少なくとも2つ以上のグループを定義し、定義したグループの中から表示時に基準となるグループである基準グループを２つ以上指定し、前記モジュール関連情報を参照後、基準グループ以外のグループのモジュールの基準グループ間のモジュール関連度を識別可能とする表示情報であるモジュール表示情報を計算し、前記表示手段は前記モジュール表示情報に基づいて前記モジュールの表示を行うことを特徴とするソフトウェア開発支援方法。
【請求項９】
任意のプログラム単位であるモジュールを複数含むソフトウェアを記憶する記憶手段と、
ユーザ操作の入力を受付ける入力手段と、
少なくとも前記ソフトウェアに関する情報を表示する表示手段と、
前記記憶手段、前記入力手段、前記表示手段の制御を行う制御部と
を有する装置でのソフトウェア開発支援方法において、
前記ソフトウェアのソースの解析を行って、複数の前記モジュールの構成を示すモジュール構成情報と前記モジュール間相互の関連する度合を示すモジュール関連度に関する情報であるモジュール関連情報を出力し、
前記入力手段によって、複数の前記モジュールの内から指定されたモジュールを含む指定グループに対し、
前記モジュール関連情報を参照後、複数の前記モジュールの内で指定されなかった各モジュールとの関連の度合いに対応するモジュール表示情報を演算、出力し
出力された前記モジュール表示情報を参照後、前記モジュールを視覚的に異なる表示を行うことを特徴とするソフトウェア開発支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発を支援する技術に関するものである。
【背景技術】
【０００２】
大規模なソフトウェアシステムの開発においては、機能が複雑であり、度重なるアップグレードによって、ソフトウェア間の関連も複雑になっている。新たに、ソフトウェアを再利用する際に、使用する部分と使用しない部分で切分けたり、ソフトウェアを容易に再利用するための部品化などを行う際に、ソフトウェア相互の間の関連を解析することが必要となってくる。
【０００３】
そこで、ソフトウェアの構成を容易に認識可能とするために、ソースからモジュール構成を自動生成するソフトウェア解析装置がある。(例えば、特許文献１)
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−１１０１９８
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ユーザが、ソフトウェアから切り離した分割対象や、部品化したい対象について、モジュール群を機能面から指定することは、比較的容易に行うことが出来る。しかし、機能面等からは簡単に識別することが出来ない部分については、実装を一つ一つ見て判断する必要があり、非常に非効率であった。
【０００６】
従来の技術では、ソフトウェアのモジュール構成を自動生成し、表示することは可能であったが、部品化や切り出し等を考えるためのモジュール間の関連具合については、実装を一つ一つ見て判断する必要があり、読み取ることは出来なかった。
【０００７】
そこで、本発明は、従来技術の有する未解決の課題に注目してなされたものであって、ユーザが切り出したいモジュール群をグループとして指定し、指定されなかったモジュールに対して、各グループとの関連度が識別可能な表示することによって、ユーザが容易にソフトウェアの関連を把握可能なソフトウェア開発装置の提供を目的としている。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、本発明では、ソフトウェア開発支援装置にて、ユーザが少なくとも1つのグループを定義し、入力したソフトウェア内のモジュールを定義されたグループに属させる指定を行い、それ以外のモジュールがどのグループと関連が強いかを、各グループとのモジュール関連度を識別可能なモジュール表示情報を計算し、表示情報に応じてモジュールの表示をすることを可能とする。
【０００９】
これによって、ユーザは、簡単に定義したグループとそれ以外とのモジュールと間の関係を把握可能となり、よりスムーズに効率よくソフトウェアの部品化や再利用が可能なソフトウェア開発支援装置の提供をする。
【００１０】
また、上記構成について、以下に異なる表現にて、説明する。
【００１１】
ユーザ操作やユーザによるソフトウェアの入力を受付ける入力手段と、入力手段により取得したソフトウェアや、ソフトウェアの解析結果などを記憶する記憶手段と、少なくとも前記ソフトウェアに関する情報やソース解析手段などの解析結果を表示する表示手段と、前記ソフトウェアのソースの解析を行うソース解析手段とを有するソフトウェア開発支援装置において、ソフトウェアの表示方法を指示する表示情報作成手段を有し、前記ソース解析手段にて、ソフトウェアプログラムの任意の単位である関数や変数などのモジュールの構成を示すモジュール構成情報とモジュール間の参照関係を示すモジュール参照情報と参照回数などの前記モジュール間相互の関連する度合いを示すモジュール関連度に関する情報であるモジュール関連情報を出力し、前記表示情報作成手段では、前記入力手段によって、ユーザは少なくとも一つ以上のモジュールを含む少なくとも2つ以上のグループを定義し、定義したグループの中から表示時に基準となるグループである基準グループを１つ指定し、前記モジュール関連情報を参照後、基準グループ以外のグループのモジュールの基準グループからのモジュール関連度を識別可能とする表示情報であるモジュール表示情報を計算し、前記表示手段は前記モジュール表示情報に基づいて前記モジュールの表示を行うようにする。
【００１２】
また、ユーザ操作やユーザによるソフトウェアの入力を受付ける入力手段と、入力手段により取得したソフトウェアや、ソフトウェアの解析結果などを記憶する記憶手段と、少なくとも前記ソフトウェアに関する情報やソース解析手段などの解析結果を表示する表示手段と、前記ソフトウェアのソースの解析を行うソース解析手段とを有するソフトウェア開発支援装置において、ソフトウェアの表示方法を指示する表示情報作成手段を有し、前記ソース解析手段にて、ソフトウェアプログラムの任意の単位である関数や変数などのモジュールの構成を示すモジュール構成情報とモジュール間の参照関係を示すモジュール参照情報と参照回数などの前記モジュール間相互の関連する度合いを示すモジュール関連度に関する情報であるモジュール関連情報を出力し、前記表示情報作成手段では、前記入力手段によって、ユーザは少なくとも一つ以上のモジュールを含む少なくとも2つ以上のグループを定義し、定義したグループの中から表示時に基準となるグループである基準グループを２つ以上指定し、前記モジュール関連情報を参照後、基準グループ以外のグループのモジュールの基準グループ間のモジュール関連度を識別可能とする表示情報であるモジュール表示情報を計算し、前記表示手段は前記モジュール表示情報に基づいて前記モジュールの表示を行うようにする。
【００１３】
また、前記表示情報作成手段が前記モジュール毎に色相、彩度、明度の少なくとも１つを異なる表示とするモジュール表示情報を出力するようにする。
【００１４】
また、前記表示情報作成手段部は、グループ関連度に応じたモジュール表示を行う際に、前記グループ関連情報度の段階数を指定可能とし、当該指定されたグループ関連度の段階数に応じて、各前記モジュールの表示を設定する表示とするモジュール表示情報を出力するようにする。
【００１５】
また、前記表示情報作成手段部は、グループ関連度に応じたモジュール表示を行う際に、前記入力手段からユーザにより指定された表示設定のモジュールのみの表示とするモジュール表示情報を出力するようにする。
【００１６】
更には、ユーザ操作やユーザによるソフトウェアの入力を受付ける入力手段と、入力手段により取得したソフトウェアや、ソフトウェアの解析結果などを記憶する記憶手段と、少なくとも前記ソフトウェアに関する情報やソース解析手段などの解析結果を表示する表示手段と、前記ソフトウェアのソースの解析を行うソース解析手段とを有するソフトウェア開発支援方法において、ソフトウェアの表示方法を指示する表示情報作成手段を有し、前記ソース解析手段にて、ソフトウェアプログラムの任意の単位である関数や変数などのモジュールの構成を示すモジュール構成情報とモジュール間の参照関係を示すモジュール参照情報と参照回数などの前記モジュール間相互の関連する度合いを示すモジュール関連度に関する情報であるモジュール関連情報を出力し、前記表示情報作成手段では、前記入力手段によって、ユーザは少なくとも一つ以上のモジュールを含む少なくとも2つ以上のグループを定義し、定義したグループの中から表示時に基準となるグループである基準グループを１つ指定し、前記モジュール関連情報を参照後、基準グループ以外のグループのモジュールの基準グループからのモジュール関連度を識別可能とする表示情報であるモジュール表示情報を計算し、前記表示手段は前記モジュール表示情報に基づいて前記モジュールの表示を行うようにする。
【００１７】
また、ユーザ操作やユーザによるソフトウェアの入力を受付ける入力手段と、入力手段により取得したソフトウェアや、ソフトウェアの解析結果などを記憶する記憶手段と、少なくとも前記ソフトウェアに関する情報やソース解析手段などの解析結果を表示する表示手段と、前記ソフトウェアのソースの解析を行うソース解析手段とを有するソフトウェア開発支援方法において、ソフトウェアの表示方法を指示する表示情報作成手段を有し、前記ソース解析手段にて、ソフトウェアプログラムの任意の単位である関数や変数などのモジュールの構成を示すモジュール構成情報とモジュール間の参照関係を示すモジュール参照情報と参照回数などの前記モジュール間相互の関連する度合いを示すモジュール関連度を出力し、前記表示情報作成手段では、前記入力手段によって、ユーザは少なくとも一つ以上のモジュールを含む少なくとも2つ以上のグループを定義し、定義したグループの中から表示時に基準となるグループである基準グループを２つ以上指定し、前記モジュール関連情報を参照後、基準グループ以外のグループのモジュールの基準グループ間のモジュール関連度を識別可能とする表示情報であるモジュール表示情報を計算し、前記表示手段は前記モジュール表示情報に基づいて前記モジュールの表示を行うようにする。
【発明の効果】
【００１８】
本発明によれば、ユーザは、簡単にモジュール間の関係を把握可能となり、よりスムーズに効率よくソフトウェアの部品化や再利用が可能なソフトウェア開発支援装置の提供が可能となる。
【図面の簡単な説明】
【００１９】
【図１】本発明の第1の実施例におけるソフトウェア開発支援装置の一ハードウェア構成図である
【図２】本発明の第1の実施例におけるソフトウェア開発支援装置の制御部の構成を示した図である
【図３】本発明の第1の実施例におけるソフトウェア開発支援装置の制御部のソース解析手段によって出力されるモジュール構成図である
【図４】本発明の第1の実施例におけるソフトウェア開発支援装置の制御部のソース解析手段によって出力されるモジュール関連度を示す結果の図である
【図５】本発明の第1の実施例におけるソフトウェア開発支援装置の制御部の表示情報作成手段の処理フローを示した図である
【図６】本発明の第1の実施例におけるソフトウェア開発支援装置の制御部の表示情報作成手段にてユーザによるグループ定義を示した図である
【図７】本発明の第1の実施例におけるソフトウェア開発支援装置の制御部の表示情報作成手段の関連度の計算結果を示したモジュール構成図である
【図８】本発明の第1の実施例におけるソフトウェア開発支援装置の制御部の表示情報作成手段のモジュール表示情報によって表示手段が表示したモジュール構成図である
【図９】本発明の第1の実施例におけるソフトウェア開発支援装置の一ソフトウェア構成図である
【発明を実施するための形態】
【００２０】
以下、本発明の実施例について、図面を用いて説明する。
【実施例１】
【００２１】
本発明の第１の実施例について説明する。
【００２２】
図１はソフトウェア開発支援装置のハードウェア構成要素を示したものである。
【００２３】
ソフトウェア開発支援装置100は、ユーザがソフトウェア構成解析の際に、ソフトウェアソースやグループ指定等の操作の入力を行うための入力部102、ソース解析結果を表示するための表示部103、ソフトウェアソースや関連度を記憶するための記憶部101、これらを制御するための制御部104で構成されている。
【００２４】
入力部102は、キーボードやボタンなどで構成され、ユーザによる操作の入力が可能である。
【００２５】
表示部103は、LCD（Liquid Crystal Display）や有機EL等で構成され、入力部102より入力された文字や操作、記憶部101に記憶されているファイルやソフトウェアなどを表示する。
【００２６】
記憶部101は、例えば、ROM(Read Only Memory)やRAM(Random Access Memory)等で構成され、ソフトウェア開発支援装置で扱うデータやソフトウェアなども記憶する。通常、筐体内部に構成されるが、着脱可能なメモリカードや外部より接続された記憶装置等で実現してもよい。
【００２７】
制御部104は、CPUで実現され、記憶部に記憶されたプログラムに基づいて動作し、各部を制御する。
【００２８】
本実施例では、ソフトウェア開発支援装置はマウスやキーボードといった入力部をもつPC（Personal Computer）を想定して説明を行っているが、プログラムが入力可能で、表示可能であれば、いかなるものであってもかまわない。
【００２９】
図9は、ソフトウェア開発支援装置のソフトウェア構成を示したものである。
ソフトウェア開発支援装置900の入力手段902は、入力部102から入力されたソフトウェア構成解析の対象となるソフトウェソースなどのデータを記憶部に101に記憶したり、ユーザによるグループ指定等の操作の入力などを処理する。
【００３０】
記憶手段901は、入力手段902により処理された対象となるソフトウェソースや、ソース解析手段や表示情報作成手段による解析結果などを記憶部101に記憶する手段である。
【００３１】
表示手段903は、記憶部101に記憶された対象となるソフトウェアソースを表示部103に表示したり、ソース解析手段による解析結果や表示情報作成手段によるモジュール表示情報を受け取り、表示部103に表示する手段である。
【００３２】
ソース解析手段904は、入力手段により入力された解析対象となるソフトウェアソースを記憶部から取得し、ソース解析を行い、ソフトウェアプログラムの任意の単位である関数や変数などのモジュールの構成を示すモジュール構成情報とモジュール間の参照関係を示すモジュール参照情報と参照回数などの前記モジュール間相互の関連する度合いを示すモジュール関連度に関する情報であるモジュール関連情報を出力する手段である。
【００３３】
表示情報作成手段905は、ソース解析手段904のモジュール構成情報、モジュール参照情報、モジュール関連情報を使用して、ソース情報をどのように表示部に表示させるかを示すモジュール表示情報を出力し、表示手段へ指示する手段である。
【００３４】
動作を詳細に説明する。
【００３５】
図2は、本実施例における、ソース解析を行うソース解析手段により行われるソース解析処理201、解析結果の表示を行う表示情報作成手段の表示情報作成処理202の処理の流れを示した図である。
【００３６】
処理が開始されると、ソース解析手段におけるソース解析処理201にて、入力手段902により入力され記憶手段により記憶されているソースコードを解析し、関数や変数などのモジュール間の関連を解析する。そして、これらの解析結果を記憶手段により記憶部に記憶する。これによって、モジュールの構成を示すモジュール構成情報やモジュール間の参照関係を示すモジュール参照情報などを解析結果として出力する。解析方法としては、例えば、従来手法(特許文献１)によって、解析可能である。
【００３７】
また、ソース解析手段におけるソース解析処理201では、モジュール構成情報やモジュール構成情報と共に、モジュール間でどれくらいの関連があるかについて示すモジュール関連度に関する情報であるモジュール関連情報の出力をする。ここでのモジュール関連度とは、参照回数や参照方法などによって決められるものを想定しているが、ユーザが知りたい情報であればいかなる情報を使用して決定されていても構わない。ソース解析手段におけるソース解析処理201は、モジュール構成情報やモジュール参照情報、モジュール関連情報が解析結果として出力されるのであれば、方法は問わない。
【００３８】
そして、上記ソース解析手段におけるソース解析処理201から出力されたモジュール関連情報の出力を受けて、表示手段が表示を行う。
【００３９】
図３は、ソース解析手段におけるソース解析処理201によって出力されるモジュールの構成を示すモジュール構成情報やモジュール構成情報を元に示されるモジュール構成図の１例である。各モジュールA〜Hを四角で表し、モジュール間の関連を矢印で表示している。例えば、モジュールAはモジュールCから呼ばれて(コールされて)おり、モジュールBをコールしている。
【００４０】
図４はソース解析手段におけるソース解析処理201から出力されるモジュール関連度(若しくは、モジュール関連情報)を示す結果の１例である。二つのモジュールの間の関連度を表として出力している。例えば、モジュールAとモジュールBの間の関連度は20であり、モジュールAとモジュールCの関連度は10であることを示している。
【００４１】
次に、表示情報作成手段における表示情報作成処理202にて、ソース解析手段におけるソース解析処理201での出力結果を用いて、モジュール表示情報の作成をし、表示手段へ渡すことで表示処理を行い、処理を終了する。
【００４２】
図５は、表示情報作成手段における表示情報作成処理202における処理手順の詳細を示したものである。表示情報作成手段における表示情報作成処理202は、処理が開始（S501）されると、ユーザによる少なくとも２つ以上のグループの定義と、定義したグループに属する1つ以上のモジュール指定を取得する（S502）。
【００４３】
例えば、カーナビシステムにおいて、ユーザインタフェース部分と通信システム部分に分割し、ユーザインタフェース部分をそっくり差し替えたいとする。その場合、ユーザは、機能の観点から見て、システムを、UI(ユーザインタフェース)部分と通信部分に分割することは容易である。ここで、UI部分、通信部分の2グループを定義したとする。
【００４４】
しかし、機能的にきちんと分けられないモジュールや実装を細かく見ないとどちらのグループに属するかが分からないモジュールが必ず存在する。本手順では、ユーザは、機能面等から、分割が容易に決定できる分割グループである２つのグループを定義し、属するモジュールを指定する。
【００４５】
図６は、ユーザによって指定されたグループ分けの１例である。各モジュールに対して分割グループ名が指定されている。ここでは、モジュールA、Bをグループ１、モジュールDをグループ２、残りのモジュールをグループ３というグループに分割させている。
【００４６】
次に、表示情報作成手段における表示情報作成処理202では、ユーザによるグループの中から表示時の基準となる基準グループ指定を取得する（S503）。表示の基準とは、ユーザが定義したグループのうち、含まれるモジュールが確定しているグループであり、ユーザは基準グループとして指定しなかったグループ内のモジュールが基準グループとどのくらいの強さで関連しているのかを知りたいとする。
【００４７】
そして、表示情報作成手段における表示情報作成処理202は、基準グループと基準グループ以外のモジュールとの関連の強さをモジュール関連度を用いて識別可能に表示するためのモジュール表示情報を出力し(S504)、処理を終了する(S505)。まず、基準グループに属するように指定されなかったモジュールについて、図４で示したモジュール関連度(若しくは、モジュール関連情報)から、どのグループとの関連がどのくらいあるかのモジュール関連度を、基準グループに属するモジュールとそれ以外のモジュールのモジュール関連度から計算する。図６の例では、モジュールC、E、F、G、Hを含むグループ３が、ユーザによって基準グループ指定されず、表示によってユーザの分割グループ決定をサポートする部分となる。
【００４８】
図６の例で、モジュールC、E、F、G、Hが、グループ１、グループ２に対して、どの程度グループ関連度があるのかを計算する。計算式は、各グループから対象モジュールまでたどり、モジュール関連度の合計を対象モジュールからの距離(モジュールからの関連線の数)で割ったものとする。モジュール関連度は、ソース解析手段におけるソース解析処理201にて出力された結果のモジュール関連度を使用する。
【００４９】
また、通る道が複数ある場合には、一番大きいモジュール関連度をグループからのモジュール関連度とする。
【００５０】
例えば、モジュールCのグループ１のモジュールAからのモジュール関連度を、図４での例のモジュール関連度を使用して説明する。モジュールCは、グループ１のモジュールAからのモジュール関連度は図４から１０となる。
【００５１】
また、グループ１のモジュールAからモジュールEをたどってモジュールCまでのモジュール関連度を算出する。ここでは、図４から、(モジュールA(１０)＋モジュールE(５))／2のモジュール関連度７．５となる。モジュール関連度１０と、モジュール関連度７．５の２パターン考えられるが、大きい１０がモジュール関連度とする。
【００５２】
また、モジュールCのグループ２からのモジュール関連度は、(モジュールD(５)＋モジュールG(５))／2のグループ関連度５となる。
【００５３】
これによってモジュール関連度を計算した結果が図７となり、これらの情報をモジュール表示情報として出力する。ここでは、計算式を上記のように設定したが、どのような計算式にするかは、ユーザによって選択及び設定可能とする。つながっていれば、関連度が大きいとする場合には、単にたどるグループ関連度を足すだけの計算式としてもよいし、たどるごとに関連は低くなると解析して、反比例的にモジュール関連度を計算するなど、関連度の計算は、モジュールのグループ毎の関連度が算出可能であれば、いかなる方法であっても構わない。
【００５４】
本実施例では、ユーザが２つ以上のグループを基準グループとして指定した例を説明しているが、ユーザが一つのグループを基準グループとして指定してももちろん構わない。その場合は、モジュール関連度は、一つのグループからの関連度のみで計算される。たとえば、基準グループからモジュール関連度が一番小さいモジュールと一番大きいモジュール間で段階的にグラデーション表示するようなモジュール表示情報を作成する。
【００５５】
また、本実施例では、基準グループとして指定されない全グループのモジュールのモジュール表示情報を作成する例を説明しているが、基準グループとして指定されないグループを任意の個数で指定可能とし、指定されなかったグループは無視するようなモジュール表示情報を作成しても構わない。
【００５６】
次に、表示手段は、表示情報作成手段で出力されたモジュールとグループとのモジュール関連度を計算し、どのような表示にすべきであるかの情報であるモジュール表示情報を使用して、基準グループ外の各モジュールが、どの基準グループにより近いのか、遠いのかを各モジュールの表示に付加することによって表示する。ユーザから基準グループとして指定されているグループに対しては、グループごとにモジュールは同一の表示を行い、指定されていない部分については、上記で計算されたモジュール表示情報から、既に指定された基準グループとの関連がどれくらい強いかによって、表示を変更させる。
【００５７】
図８は、表示の１例である。グループ１、グループ２をそれぞれ、赤色、黄色に設定し、基準グループとして指定されなかった、グループ３のモジュールC、E、F、G、Hについては、グループ１、２からのモジュール関連度の度合いによって、グループ１，２の色相の間に位置するの色相にて表示する。
【００５８】
例えば、モジュールCは、グループ１からのモジュール関連度が１０、グループ２からのモジュール関連度が５なので、グループ１の赤色とグループ２の黄色の色相の間の1：2に位置する色相である赤に近いオレンジを設定する。このように表示することで、ユーザはグループに属していないモジュールがどの基準グループと関連が強いのかを一目で知ることができる。ここでは、２グループ間の関連の表示について説明したが、指定されるグループはいくつであってもかまわない。
【００５９】
ここでは、色相の混色を例にあげて説明したが、彩度や明度などの要素も使っても構わない。また、混色も加法混色、減法混色などいかなる混色方法でも構わない。例えば、減法混色であれば、関連しているグループ数に比例して、色が暗くなるので、多数のグループに関連しているようなモジュールの識別はしやすくなる。
【００６０】
また、図８では、色の混色によって、モジュール関連度の表示を行ったが、各グループとの関連度が識別可能であれば、表示模様、円グラフでのモジュール関連度表示等、いかなる表示であっても構わない。
【００６１】
また、ユーザが注目したいグループやモジュールに対して、現在使用している表示要素以外の要素を用いて表示し、注目点の各グループ関連度を一目で分かるように表示してもよい。
【００６２】
例えば、図８であれば、色相を用いて表示しているが、明度(輝度)を注目点に対して用いることで、注目点の各グループやモジュールの関連度を分かりやすく表示する。注目点を白または、黒で表示することによって、各グループに対して明度のグラデーション表示になることで各基準グループからの関連度を分かりやすく表示する。例えば、グループ２を白に設定することによって、各モジュールの明度によって、グループ２からのモジュール関連度が一目で分かる。
【００６３】
また、グループからのモジュール関連度によって表示された図に対して、あるグループへのグループ関連度の強さによって表示するモジュールを設定するようにユーザが操作可能であっても良い。例えば、図８の例では、オレンジ〜赤色だけを図に表示するなどである。
【００６４】
また、各基準グループとモジュール間のモジュール関連度によって、モジュールへの表示を行う際に、区別するグループ関連度のレベルを指定可能であっても良い。例えば、赤色〜黄色までの間の色は、ユーザ指定によって2段階のレベル(2色)までなどというような指定が可能であってもよい。
【００６５】
従来のソフトウェア開発支援装置では、ソフトウェアのモジュール構成を自動生成し、表示することは可能であったが、部品化や切り出し等を考えるためのモジュール間の関連度合いについては、簡単に識別することが出来なかった。そのため、ある部分を切り出したい場合に、切り出し部分に対して、どの関連モジュールを考慮すべきかを把握するには、切り出し部分に含まれるモジュールとつながっている関連モジュールを一つ一つ取り出し、関連度を調査する必要があった。
【００６６】
同様に、関連の強いモジュールをまとめて部品化するなどを行いたい場合に、どのモジュール間で関連が強いのかを、一つ一つ見ていく必要があり、非効率であった。
【００６７】
しかし、本発明の上述の実施例によれば、ユーザがグループを定義し、基準グループを指定し、基準グループに属さない各モジュールに対して、基準グループに属しているモジュールとの関連度を識別可能な表示に自動で表示することによって、ユーザが一目でソフトウェアの関連を把握可能となり、よりスムーズに効率よくソフトウェアの部品化や再利用が可能なソフトウェア開発支援装置の提供が可能となる。
【符号の説明】
【００６８】
１００：ソフトウェア開発支援装置、１０１：記憶部、１０２：入力部、１０３：表示部、１０４：制御部、２０１：ソース解析処理、２０２：表示情報作成処理、９００：ソフトウェア開発支援装置、９０１：記憶手段、９０２：入力手段、９０３：表示手段、９０４：ソース解析手段、９０５：表示情報作成手段
【図１】
2010204877.tif 000003
【図２】
2010204877.tif 000004
【図３】
2010204877.tif 000005
【図４】
2010204877.tif 000006
【図５】
2010204877.tif 000007
【図６】
2010204877.tif 000008
【図７】
2010204877.tif 000009
【図８】
2010204877.tif 000010
【図９】
2010204877.tif 000011