(57)【要約】【課題】過去に作成したＵＭＬ図の再利用を可能にしてシステムの開発効率を高める。【解決手段】データベース４は、ＵＭＬ作成部１によって作成されたＵＭＬ図の図形情報およびその名称や属性情報を関連付けて保存しておく。  ライブラリ化処理部５は、データベースからライブラリ化対象とするＵＭＬ図をモデル情報としてディスプレイ上に表示させ、このモデル情報の一部または全部が指定されることで指定された部分のモデル情報をライブラリ化処理する。  保存部６は、ライブラリ化処理部でライブラリ化したモデル情報にＵＭＬ図の種類名、ファイル名等を付与してデータベースにライブラリとして保存しておく。【選択図】図１
2008269275.tif 000002
【特許請求の範囲】
【請求項１】
統一モデリング言語（ＵＭＬ）に定める画面部品と文字を組み合わせ、オブジェクト指向技術によるＵＭＬ図を作成し、このＵＭＬ図を基に開発対象となるシステムの仕様作成、設計、実装を支援するソフトウェア開発支援システムにおいて、
オブジェクト指向技術によって作成されたＵＭＬ図の図形情報およびその名称や属性情報を関連付けて保存するデータベースと、
前記データベースからライブラリ化対象とするＵＭＬ図をモデル情報としてディスプレイ上に表示させ、このモデル情報の一部または全部が指定されることで指定された部分のモデル情報をライブラリ化処理するライブラリ化処理部と、
前記ライブラリ化処理部でライブラリ化したモデル情報にＵＭＬ図の種類名、ファイル名等を付与して前記データベースにライブラリとして保存しておく保存部と、
を備えたことを特徴とするソフトウェア開発支援システム。
【請求項２】
各モデル情報は、それがライブラリ化されているか否かを示すフラグを設け、ＵＭＬ図の作成時にはすべてのモデル情報のフラグを下ろしておき、前記ライブラリ化処理部は、ライブラリ化したモデル情報のフラグを立てることで、モデル情報を多重にライブラリ化するのを防止することを特徴とする請求項１に記載のソフトウェア開発支援システム。
【請求項３】
統一モデリング言語（ＵＭＬ）に定める画面部品と文字を組み合わせ、オブジェクト指向技術によるＵＭＬ図を作成し、このＵＭＬ図を基に開発対象となるシステムの仕様作成、設計、実装を支援するソフトウェア開発支援方法において、
オブジェクト指向技術によって作成されたＵＭＬ図の図形情報およびその名称や属性情報を関連付けて保存するデータベースと、
前記データベースからライブラリ化対象とするＵＭＬ図をモデル情報としてディスプレイ上に表示させ、このモデル情報の一部または全部が指定されることで指定された部分のモデル情報をライブラリ化処理するライブラリ化処理ステップと、
前記ライブラリ化処理部でライブラリ化したモデル情報にＵＭＬ図の種類名、ファイル名等を付与して前記データベースにライブラリとして保存しておく保存ステップと、
を有することを特徴とするソフトウェア開発支援方法。
【請求項４】
各モデル情報は、それがライブラリ化されているか否かを示すフラグを設け、ＵＭＬ図の作成時にはすべてのモデル情報のフラグを下ろしておき、前記ライブラリ化処理ステップは、ライブラリ化したモデル情報のフラグを立てることで、モデル情報を多重にライブラリ化するのを防止することを特徴とする請求項３に記載のソフトウェア開発支援方法。
【請求項５】
請求項３，４に記載のソフトウェア開発支援方法における処理手順を、コンピュータで実行可能に構成したことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、統一モデリング言語（ＵＭＬ）によるソフトウェア開発支援システム、および開発支援方法に係り、特にオブジェクト指向技術によるＵＭＬ図のライブラリ化に関する。
【背景技術】
【０００２】
ＵＭＬ（Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）は、ソフトウェア開発のためのモデリング言語であり、開発対象システムの構造を表現するための表記法で、開発者同士の意思疎通を図ることができる。
【０００３】
ＵＭＬによるソフトウェア開発には、開発対象となるシステムの仕様作成、設計、実装を支援する表記物として、ユースケース図（システムの機能定義）、アクティビティ図（動作の流れ）、シーケンス図（オブジェクト間の相互作用）、オブジェクト図（インスタンスのスナップショット表記）、クラス図（静的なモデルを定義）などを作成する。ＵＭＬには上記のユースケース図やクラス図などの１０個の図が定義されているが、画面や画面遷移を表現する図を作成する機能を持たせたものもある（例えば、非特許文献１参照）。
【０００４】
これらの図に使用される各機能要素は、ＵＭＬに定められる画面部品（矩形、楕円、円、矢印、アクター記号、コネクタ記号、ノード記号、選択記号など）および文字（名称や属性情報）の組み合わせで作成される。
【０００５】
一般に、ソフトウェア開発には、オブジェクト指向技術によるものが多く、ＵＭＬによるソフトウェア開発支援システムにもオブジェクト指向技術によりシステムが構築されている。このオブジェクト指向技術によるソフトウェア開発は、開発対象システム別に開発されるが、過去に開発されたものを再利用する手法がある。例えば、過去に作成された設計のノウハウなどをパターン化し、再利用可能な形式でまとめた設計パターンを利用するための方法がある（例えば、特許文献１参照）。
【０００６】
また、ＡｕｔｏＣＡＤのようなＣＡＤツールは、設計図の一部を部品として登録し、他の設計図で利用することを可能としている。また、Ｖｉｓｉｏでは、設計図の一部をステンシルとして登録し、他の設計図で利用することを可能としている。
【０００７】
さらに、プログラミング言語の場合、Ｊａｖａ（登録商標）ではクラスの一部をライブラリ化してｊａｒファイルを作成することができ、Ｃ＋＋言語の場合はクラスの一部をライブラリ化してｄｌｌファイルやｌｉｂファイルを作成することができる。それぞれのファイルは、他のプロジェクトでインポートすることにより利用が可能である。
【０００８】
ＭＡＴＬＡＢ（行列計算およびグラフィックスに優れたソフトウェア）のようなモデルベース設計ツールでは、設計図の一部または全部を別の設計図にコピーして利用することが可能である。
【非特許文献１】明電時報  ２００６  ９・１０月通巻３１０号  Ｎｏ．５
【特許文献１】特許３７６５９４９号
【発明の開示】
【発明が解決しようとする課題】
【０００９】
一般のオブジェクト指向技術によるソフトウェア開発支援システムでは、特許文献１のように、過去に作成された設計パターンを利用する手法があるが、ＵＭＬ図のモデル情報をライブラリ化できるものはなかった。
【００１０】
このため、あるプロジェクトで作成したＵＭＬ図のモデル情報を、他のプロジェクトで利用することはできない。例えば、あるプロジェクトで設計したＵＭＬ図のモデル情報を、別のプロジェクトでも利用したい場合、同じモデル情報を再入力しなければならないため、システムの開発効率で劣るものであった。
【００１１】
本発明の目的は、過去に作成したＵＭＬ図の再利用を可能にしてシステムの開発効率を高めたソフトウェア開発支援システム、開発支援方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明は、前記の課題を解決するため、過去に作成されたＵＭＬ図の一部または全部になるモデル情報をライブラリ化候補として表示し、そのうちから選択したモデル情報をライブラリとして保存しておくことで、このモデル情報をＵＭＬ図の作成に再利用できるようにしたもので、以下のシステム構成、方法およびプログラムを特徴とする。
【００１３】
（１）統一モデリング言語（ＵＭＬ）に定める画面部品と文字を組み合わせ、オブジェクト指向技術によるＵＭＬ図を作成し、このＵＭＬ図を基に開発対象となるシステムの仕様作成、設計、実装を支援するソフトウェア開発支援システムにおいて、
オブジェクト指向技術によって作成されたＵＭＬ図の図形情報およびその名称や属性情報を関連付けて保存するデータベースと、
前記データベースからライブラリ化対象とするＵＭＬ図をモデル情報としてディスプレイ上に表示させ、このモデル情報の一部または全部が指定されることで指定された部分のモデル情報をライブラリ化処理するライブラリ化処理部と、
前記ライブラリ化処理部でライブラリ化したモデル情報にＵＭＬ図の種類名、ファイル名等を付与して前記データベースにライブラリとして保存しておく保存部と、
を備えたことを特徴とする。
【００１４】
（２）各モデル情報は、それがライブラリ化されているか否かを示すフラグを設け、ＵＭＬ図の作成時にはすべてのモデル情報のフラグを下ろしておき、前記ライブラリ化処理部は、ライブラリ化したモデル情報のフラグを立てることで、モデル情報を多重にライブラリ化するのを防止することを特徴とする。
【００１５】
（３）統一モデリング言語（ＵＭＬ）に定める画面部品と文字を組み合わせ、オブジェクト指向技術によるＵＭＬ図を作成し、このＵＭＬ図を基に開発対象となるシステムの仕様作成、設計、実装を支援するソフトウェア開発支援方法において、
オブジェクト指向技術によって作成されたＵＭＬ図の図形情報およびその名称や属性情報を関連付けて保存するデータベースと、
前記データベースからライブラリ化対象とするＵＭＬ図をモデル情報としてディスプレイ上に表示させ、このモデル情報の一部または全部が指定されることで指定された部分のモデル情報をライブラリ化処理するライブラリ化処理ステップと、
前記ライブラリ化処理部でライブラリ化したモデル情報にＵＭＬ図の種類名、ファイル名等を付与して前記データベースにライブラリとして保存しておく保存ステップと、
を有することを特徴とする。
【００１６】
（４）各モデル情報は、それがライブラリ化されているか否かを示すフラグを設け、ＵＭＬ図の作成時にはすべてのモデル情報のフラグを下ろしておき、前記ライブラリ化処理ステップは、ライブラリ化したモデル情報のフラグを立てることで、モデル情報を多重にライブラリ化するのを防止することを特徴とする。
【００１７】
（５）上記のソフトウェア開発支援方法における処理手順を、コンピュータで実行可能に構成したことを特徴とする。
【発明の効果】
【００１８】
以上のとおり、本発明によれば、過去に作成されたＵＭＬ図の一部または全部になるモデル情報をライブラリ化候補として表示し、そのうちから選択したモデル情報をライブラリとして保存しておくようにしたため、過去に作成したＵＭＬ図の再利用を可能にしてシステムの開発効率を高めることができる。
【００１９】
モデル情報がもつクラス間の関連情報、オブジェクト間の関連情報なども含めることにより、モデル情報のライブラリの修正に伴う、ライブラリを利用しているモデル情報の変更が簡単になる。
【発明を実施するための最良の形態】
【００２０】
図１は、本発明の実施形態を示すソフトウェア開発支援システムの構成図であり、主にＵＭＬのモデル情報のライブラリ化に関連する機能ブロックのみを示す。図１中の各部は、コンピュータシステムのハードウェア資源とこれに搭載するソフトウェアによって機能構成される。
【００２１】
ＵＭＬ図作成部１は、開発対象となるシステムの仕様作成、設計、実装を支援する表記手段として、ユースケース図、アクティビティ図、シーケンス図、オブジェクト図、コラボレーション図、クラス図などの１０個の図をディスプレイ（表示媒体）２の画面上で作成する。さらに、上記１０個の図の他に、非特許文献１のように、画面や画面遷移を表現する図を作成する。
【００２２】
これらの図の作成に際して、ＵＭＬ共通の画面部品３に用意した矩形、アクター記号、コネクタ記号、ノートなどをディスプレイ２の画面上で作成中の図に適宜貼り付ける。さらに、ＵＭＬ図の図形情報に名称や属性情報などを設定する。
【００２３】
データベース４は、ＵＭＬ図作成部１によって作成されたＵＭＬ図の図形情報およびその名称や属性情報を関連付けて保存する。
【００２４】
以上の構成により作成されるＵＭＬ図において、本実施形態では、オブジェクト図やコラボレーション図など、オブジェクト指向技術によるＵＭＬ図の作成に際し、過去に作成したＵＭＬ図の再利用を可能にしてシステムの開発効率を高めたソフトウェア開発支援システムを提案するものである。
【００２５】
本実施形態では、過去に作成されたＵＭＬ図からモデル情報をライブラリ化して保存しておき、このモデル情報をシステムの開発に再利用できるようにするものである。
【００２６】
図１において、ライブラリ化処理部５は、ＵＭＬ図作成部１で作成したＵＭＬ図を格納するデータベース４から、ライブラリ化対象とするＵＭＬ図をモデル情報としてディスプレイ２上に表示させ、このモデル情報の一部または全部が指定されることで指定された部分のモデル情報をライブラリ化処理する。保存部６は、ライブラリ化処理部５でライブラリ化したモデル情報にクラス図などの図の種類名、ファイル名等を付与してデータベース４に保存しておく。このライブラリ化したモデル情報は、ＵＭＬ図作成部１による新たな開発システムのＵＭＬ図作成に際してデータベース４から取り出して画面表示し、作成中のＵＭＬ図に組み込むことによってＵＭＬ図を作成する。このモデル情報の組み込みにおいて、モデル情報がもつクラス間の関連情報、オブジェクト間の関連情報なども含める。
【００２７】
図２はライブラリ化処理部５と保存部６の処理手順である。処理実行の開始時は、ディスプレイ２に一覧表示されるライブラリ化したいＵＭＬ図のモデル情報（仮にＡとする）を選択する（Ｓ１）。この選択したモデル情報に関連する次のモデル情報が存在しない場合はモデル情報（Ａ）をライブラリ化またはキャンセルして終了し、関連するモデル情報が存在する場合はモデル情報（Ａ）から次のモデル情報（仮にＢとする）を取り出し（Ｓ２）、このモデル情報（Ｂ）にフラグが立っているか調べる（Ｓ３）。
【００２８】
ここで、フラグは、当該モデル情報が既にライブラリ化されているか否かを示すものとしてモデル情報単位に設けられ、ＵＭＬ図の作成時にはすべてのモデル情報のフラグを下ろしておき、ライブラリ化したモデル情報のフラグを立てることで、モデル情報を多重にライブラリ化するのを防止する。
【００２９】
モデル情報（Ｂ）にフラグが立っている場合（既にライブラリ化されている）、モデル情報（Ａ）から他のモデル情報が存在するか否かによってその取り出しとライブラリ化の有無チェックを繰り返す（Ｓ２，Ｓ３）。
【００３０】
モデル情報（Ｂ）にフラグが立っていない場合、このモデル情報（Ｂ）を記憶媒体（データベース）に保存し（Ｓ４）、モデル情報（Ｂ）にライブラリ化フラグを立てる（Ｓ５）。
【００３１】
次に、ライブラリ化したモデル情報（Ｂ）に関連するモデル情報（仮にＣとする）が存在するか否かを調べ（Ｓ６）、存在しない場合は元に戻り、存在したときはそのモデル情報（Ｃ）についてライブラリフラグが立っているか調べ（Ｓ７）、立っている場合は元に戻り、立っていない場合はモデル情報（Ｃ）を記憶媒体に保存し（Ｓ８）、モデル情報（Ｃ）にライブラリ化フラグを立て（Ｓ９）、他の関連するモデル情報について調べを繰り返す。
【００３２】
以上のようにしてライブラリ化したモデル情報は、ライブラリ化していないその他のモデル情報と区別するために、ライブラリであることを示す情報を付加する。また、ライブラリ化する際に、名前を指定してファイルやデータベースなどの記憶媒体に保存しておく。
【００３３】
また、ライブラリ化したＵＭＬのモデル情報を利用する場合に、上記で保存した記憶媒体を特定できるようにしておく。たとえば、拡張子を．ｌｉｂにする、保存場所をｌｉｂフォルダにするなどである。
【００３４】
ライブラリ化したモデル情報を利用する場合は、上記の特定方法に基づいて、上記で保存した記憶媒体からライブラリ化したモデル情報を読み込む。
【００３５】
（具体例１）
図３は、パッケージ／名前空間を選択して、パッケージ／名前空間内のクラス群をライブラリ化する場合を示す。
【００３６】
Ｊａｖａ言語のパッケージや、Ｃ＋＋言語の名前空間など、ライブラリ化したいクラスが所属しているパッケージ／名前空間を、パッケージ／名前空間一覧から選択し、ライブラリファイル名を入力し、作成ボタンを押すと、選択したパッケージ／名前空間と、パッケージ／名前空間に所属しているクラス群をライブラリ化して、指定したファイルに情報を保存する。
【００３７】
（具体例２）
図４は、ＵＭＬ図を選択して、図内のモデル情報をライブラリ化する場合を示す。
【００３８】
ライブラリ化したいモデルが載っているＵＭＬ図を、図一覧から選択し、ライブラリファイル名を入力し、作成ボタンを押すと、選択したＵＭＬ図と、ＵＭＬ図に載っているモデル群をライブラリ化して、指定したファイルに情報を保存する。
【００３９】
なお、本発明は、上記の実施形態で示すソフトウェア開発支援システムの一部又は全部の処理手順を有する開発支援方法とすること、あるいはこの方法の処理手順をコンピュータで実行可能に構成したプログラムとして提供することができる。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施形態を示すソフトウェア開発支援システムの構成図。
【図２】ライブラリ化処理と保存の処理手順。
【図３】パッケージ／名前空間内のクラス群のライブラリ化の例。
【図４】ＵＭＬ図内のモデル情報のライブラリ化の例。
【符号の説明】
【００４１】
１  ＵＭＬ図作成部
２  ディスプレイ
３  ＵＭＬ図画面部品
４  ＵＭＬ図データベース
５  ライブラリ化処理部
６  保存部
【図１】
2008269275.tif 000003
【図２】
2008269275.tif 000004
【図３】
2008269275.tif 000005
【図４】
2008269275.tif 000006