設計データ再利用支援装置及び設計データ再利用支援プログラム
【課題】ソフトウェア開発の成果物である設計データの再利用を支援する。
【解決手段】設計データ再利用支援装置1は、設計データ21を再利用向けに変換した抽象化設計データ23を編集及び記憶する抽象化設計データ管理部17と、設計データ21を抽象化して抽象化設計データ23を生成する際に利用し、抽象化設計データ23を具体化して設計データを生成する際にも利用する再利用向け辞書データ22を編集及び記憶する再利用向け辞書データ管理部15と、設計データ21から用語の親子関係と用語の兄弟関係を取り出し、用語のグラフ構造に変換する再利用向け辞書データ生成部16と、抽象化設計データ23中の置換可能な変数の値を、再利用向け辞書データ22を探索して設定し、更に抽象化設計データ23中の置換可能な変数を文字列に変換する設計データ具体化部19を備える。
【解決手段】設計データ再利用支援装置1は、設計データ21を再利用向けに変換した抽象化設計データ23を編集及び記憶する抽象化設計データ管理部17と、設計データ21を抽象化して抽象化設計データ23を生成する際に利用し、抽象化設計データ23を具体化して設計データを生成する際にも利用する再利用向け辞書データ22を編集及び記憶する再利用向け辞書データ管理部15と、設計データ21から用語の親子関係と用語の兄弟関係を取り出し、用語のグラフ構造に変換する再利用向け辞書データ生成部16と、抽象化設計データ23中の置換可能な変数の値を、再利用向け辞書データ22を探索して設定し、更に抽象化設計データ23中の置換可能な変数を文字列に変換する設計データ具体化部19を備える。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、あるソフトウェア開発の設計データを蓄積しておいて、別のソフトウェア開発で再利用する作業を支援するための設計データ再利用支援装置に関する。
【背景技術】
【0002】
従来の設計データ再利用支援装置に於いては、設計データと検索用メタデータとを関連付けて蓄積しておき、検索用メタデータを用いて検索を行うことで設計データを発見することを支援する(例えば特許文献1参照。)。
【0003】
【特許文献1】特開2006−350851号公報(5頁35行〜6頁1行、図1)
【発明の開示】
【発明が解決しようとする課題】
【0004】
この様な設計データ再利用支援装置は、設計データの検索性を向上させることを考慮しており、検索結果の設計データの再利用容易性については考慮していないという問題点があった。即ち、従来の設計データ再利用支援装置に於いては、検索結果の設計データを無修正で再利用出来るか否かは、その設計データの作成者の設計能力に負っているという問題点があった。しかも、検索結果の設計データを無修正で再利用出来ない場合に、どの箇所を修正すれば設計データに内部矛盾を起こさずに検索結果の設計データを再利用出来るのかが不明であるという問題点があった。
【0005】
この発明は、上記の問題点を解決するために成されたものであり、設計データの再利用容易性を向上させる設計データ再利用支援装置を得ることを、その目的としている。
【課題を解決するための手段】
【0006】
本発明の主題に係る設計データ再利用支援装置は、ソフトウェア開発の成果物である設計データの再利用を支援する設計データ再利用支援装置であって、入力装置と、記憶装置と、出力装置と、前記設計データを前記記憶装置に記憶し、ユーザの前記入力装置からの指示に基づいて前記設計データを登録し、編集し、又は削除する処理を行い、当該処理結果を前記出力装置に出力する設計データ管理部と、設計データを再利用向けに変換した抽象化設計データを前記記憶装置内に記憶及び編集する抽象化設計データ管理部と、前記記憶装置に記憶されている前記設計データの内でユーザの前記入力装置からの識別子に合致する設計データから用語の親子関係と用語の兄弟関係とを取り出し、取り出した前記用語の親子関係と前記用語の兄弟関係とを用語のグラフ構造に変換することで再利用向け辞書データを生成する再利用向け辞書データ生成部と、前記設計データを抽象化して前記抽象化設計データを生成する際に利用され、且つ、前記抽象化設計データを具体化して再利用される設計データを生成する際にも利用される前記再利用向け辞書データを前記記憶装置内に記憶及び編集する再利用向け辞書データ管理部と、前記抽象化設計データ中の置換可能な変数の値を、前記再利用向け辞書データを探索して設定し、更に前記抽象化設計データ中の置換可能な変数を文字列に変換する設計データ具体化部とを備えることを特徴とする。
【発明の効果】
【0007】
本発明の主題によれば、設計データを再利用時の修正箇所が明確化された形式である抽象化設計データに変換して記憶装置内に蓄積することが出来、再利用時には抽象化設計データの指定された修正箇所に修正を施す形で設計データを具体化して利用者に提示することが出来る。
【0008】
以下、この発明の主題の様々な具体化を、添付図面を基に、その効果・利点と共に、詳述する。
【発明を実施するための最良の形態】
【0009】
(実施の形態1)
本実施の形態の特徴点は、「設計データから再利用向け辞書データを生成し、再利用向け辞書データを用いて設計データを再利用向けに変換して抽象化設計データとし、再利用向け辞書データを用いて抽象化設計データを具体化して設計データを得ることで設計データの再利用を行う」点にある。
【0010】
図1のブロック図に示す本実施の形態に係る設計データ再利用支援装置1は、ソフトウェア開発の成果物である設計データの再利用を支援する装置であり、例えばパーソナルコンピュータより成る。大要、設計データ再利用支援装置1は、CPUをその中核的構成要素とする中央処理制御装置10、記憶装置20、入力装置30及び出力装置40を備えている。図1には図示されていないが、設計データ再利用支援装置1は、ROMを更に備えている。設計データ再利用支援装置1の各装置は、バスを介して接続されている。
【0011】
中央処理制御装置10は、入力装置30からの入力信号に基づいて、ROMから設計データ再利用支援装置1を起動するためのブートプログラムを読み出して実行し、更に記憶装置20内に記憶されたオペレーティングシステム(OS)を読み出す。更に中央処理制御装置10は、入力装置30からの入力信号に基づいて、記憶装置20に記憶されているプログラム及びデータを読み出して、中央処理制御装置10内のCPUのレジスタであるRAM50にロードすると共に、記憶装置20から読み出したプログラムのコマンドに基づいて、データの計算又は加工等、後述する一連の処理を実現する。以下、設計データ再利用支援装置1内の各構成要素の構成及び動作について記載する。
【0012】
入力装置30は、操作者が各種の操作を入力するキーボード又はマウス等の入力デバイスにより構成されており、操作者の操作に基づいて入力信号を生成し、バスを介して入力信号を中央処理制御装置10に送信する。
【0013】
出力装置40は、CRTディスプレイ又は液晶ディスプレイ等の表示装置より成り、中央処理制御装置10からバスを介して出力装置40に於いて表示させる出力信号を受信して、例えば中央処理制御装置10の処理結果等をその画面上に表示する。
【0014】
記憶装置20は、例えば半導体記憶装置又は磁気ディスク装置より構成されており、中央処理制御装置10のCPUによって実行されるプログラム及びデータを記憶している。即ち、記憶装置20内には、中央処理制御装置10のCPUによって実行される「設計データ再利用支援プログラム」が記憶されていると共に、図1に示す様に、設計データ21、再利用向け辞書データ22、及び抽象化設計データ23がそれぞれ記憶装置20内の対応する格納領域に記憶されている。以下では、各データ21,22,23について詳述する。
【0015】
先ず、設計データ21は、システム又はソフトウェアの開発をする際に作成する成果物であって、設計モデリング言語UMLと自然言語とを用いて作成される。設計データ21は、用語集、ユースケース図、ユースケースシナリオ、クラス図、状態遷移図、アーキテクチャ仕様、テストシナリオ等の様々な成果物を含み得るが、再利用向け辞書データ22及び抽象化設計データ23を構成するために、設計データ21は、用語集、ユースケースシナリオ、及びクラス図を必ず含むものとし、更に、用語集、ユースケースシナリオ、及びクラス図に対しては、以下に記載する様な制約が課される。
【0016】
即ち、設計データ21を構成する用語集は、図2に示すデータ構造を持つ。用語集は複数の用語を持ち、用語は、属性変数として、用語ID、用語名称、用語説明を持つ。用語は複数の別名を持ち、別名は、属性変数として、別名ID及び別名名称を持つ。
【0017】
又、設計データ21を構成するユースケースシナリオは、図3に示すデータ構造を持つ。ユースケースシナリオは、属性変数として、ユースケースID、ユースケース名称、及びアクター名称を持ち、1つの基本系列と0個以上複数個の代替系列と0個以上複数個の例外系列とを持つ。そして、基本系列、代替系列、及び例外系列は、共に、複数のユースケースステップを持つ。ユースケースステップは、属性変数として、ステップ順序、アクター名称、及びステップ記述を持つ。ここで、図4は、インターネットを用いた通信販売で商品を購入する場合のユースケースシナリオを示す一例である。この例では、代替系列を一つ持つユースケースシナリオの例が示されている。この例の用語集が持つ用語は、例えば、(商品、カート、購入、確定、送料、購入金額、配送方法)等が考えられる。又、(カート)の別名として(ショッピングカート)が、(配送方法)の別名として(配送)が、各々考えられる。
【0018】
又、設計データ21を構成するクラス図は、設計モデリング言語UMLのクラス図である。
【0019】
次に、再利用向け辞書データ22は、設計データ再利用支援装置1が、設計データ21を構成する用語集、クラス図、及びユースケースシナリオから、抽象化設計データ23を生成するために利用するデータ構造であって、図5に示す用語のグラフ構造を持つ。図5に示す様に、再利用向け辞書は、属性変数として、再利用向け辞書ID、再利用向け辞書名称を持ち、複数個の辞書用語を持つ。辞書用語は、属性変数として、辞書用語ID、辞書用語名称、及び辞書用語説明を持ち、複数個の別名辞書用語を持つ。別名辞書用語は、属性変数として、別名辞書用語IDと別名辞書用語名称とを持つ。ある別名辞書用語のデータからは、originalという名前の関連端をたどることで、対応する辞書用語のデータを得ることが出来る。更に、辞書用語間はparent-childという関連で結合されており、ある辞書用語からは、parentという名前の関連端をたどることで、parent関係にある辞書用語を得ることが出来、childという名前の関連端をたどることで、child関係にある辞書用語を得ることが出来る。辞書用語は、辞書用語名称に示されるある概念を表すものとし、辞書用語Aが表す概念が、辞書用語Bが表す概念を一般化したものである場合には、辞書用語Aとchild関係にあるのが辞書用語Bとなり、辞書用語Bとparent関係にあるのが辞書用語Aとなる。辞書用語Aが表す概念の言い換えが、辞書用語Aが持つ別名辞書用語である。
【0020】
ある再利用向け辞書データが与えられ、辞書用語Aが指定されたとき、指定された辞書用語のparent関係にある辞書用語を抽出し、抽出した辞書用語に対してもparent関係にある辞書用語を抽出し、この操作をparent関係にある辞書用語が抽出できなくなるまで繰り返したときに抽出されている辞書用語を、辞書用語Aの「代表用語」と呼ぶ。又、別名辞書用語Bが指定されたとき、指定された別名辞書用語のoriginal関係にある辞書用語の代表用語を別名辞書用語Bの「代表用語」と呼ぶ。
【0021】
再利用向け辞書データ22の構造を用いて行う典型的な処理とは、ある概念が文字列で与えられたときに、既存の再利用向け辞書データ22を検索し、辞書用語名称あるいは別名用語名称が与えられた文字列に合致する辞書用語あるいは別名辞書用語を抽出し、抽出したものが別名辞書用語であるならば、そのoriginal関連端をたどって辞書用語を特定し、更にそこからparent関連端をたどって辞書用語を特定し、このparent関連端をたどるといった処理を繰り返すことで、与えられた概念をより一般化された概念へと変換していく処理である。
【0022】
次に、抽象化設計データ23は、設計データ再利用支援装置1が設計データ21の再利用のために保持するデータ構造であって、図6に示す様に、設計データ21及び再利用向け辞書データ22が持つデータ構造をグループ化して、それらに対して、パラメータ化ユースケースシナリオという独自のデータ構造を付加したものである。図6に示す用語集は、図2に示した用語集である。又、図6に示すクラス図は、前述した設計データ21に含まれるクラス図である。図6に示す再利用向け辞書データは、図5に示した再利用向け辞書データである。図6に示すパラメータ化ユースケースシナリオは、図7に示すデータ構造を持ち、このデータ構造は、図3のユースケースシナリオの属性変数であるユースケース名称及びアクター名称と、図3のユースケースステップの属性変数であるアクター名称及びステップ記述とを、図8に示すパラメータ化文字列というデータ構造で以って表現する様に変更したものである。
【0023】
設計データ再利用支援装置1の中央処理制御装置10のCPUは、記憶装置20より設計データ再利用支援プログラムを読み込んで、当該プログラムをOSと共に実行する。この設計データ再利用支援プログラムの実行により、図1に示す様に、入力制御部11、出力制御部12、制御部13、設計データ管理部14、再利用向け辞書データ管理部15、再利用向け辞書データ生成部16、抽象化設計データ管理部17、抽象化設計データ生成部18、設計データ具体化部19の各々が、設計データ再利用支援装置1内のハードウェアと連携して機能する機能部分として、実装される。以下に、設計データ再利用支援プログラムによってその動作が制御される各機能部分の説明を行なう。
【0024】
入力制御部11は、ユーザ(操作者)による入力装置30の操作により取得された入力情報を制御部13に出力する。
【0025】
他方、出力制御部12は、制御部13から出力された出力情報を出力装置40に表示し、その出力情報をユーザに閲覧させる。
【0026】
制御部13は、入力制御部11、設計データ管理部14、再利用向け辞書データ管理部15、再利用向け辞書データ生成部16、抽象化設計データ管理部17、抽象化設計データ生成部18及び設計データ具体化部19からの各入力情報を受け取り、入力情報に含まれるステータスに応じて、設計データ管理部14、再利用向け辞書データ管理部15、再利用向け辞書データ生成部16、抽象化設計データ管理部17、抽象化設計データ生成部18及び設計データ具体化部19に情報を入力する。又、制御部13は、設計データ管理部14、再利用向け辞書データ管理部15、再利用向け辞書データ生成部16、抽象化設計データ管理部17、抽象化設計データ生成部18及び設計データ具体化部19の何れかで生成された出力情報を受け取り、出力制御部12に入力する。加えて、制御部13は、再利用向け辞書データ生成部16が生成した再利用向け辞書データ22を受信して再利用向け辞書データ管理部15へ送信し、再利用向け辞書データ管理部15は、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する格納領域に再利用向け辞書データ22を記憶する。更に加えて、制御部13は、抽象化設計データ生成部18が生成した抽象化設計データ23を受信して抽象化設計データ管理部17へ送信し、抽象化設計データ管理部17は、記憶装置20にアクセス(アドレス指定)して、抽象化設計データ23を記憶装置20内の対応する格納領域に記憶する。
【0027】
設計データ管理部14は、入力装置30、入力制御部11及び制御部13を介して入力されたユーザからの入力指示に基づいて、設計データ21を登録し、編集し、或いは削除する。具体的には、(1)ユーザが入力装置30を用いて設計データ21の「登録」を選択し指示した場合を考える。このとき、設計データ管理部14は、新たな設計データ21の識別子を採番して、当該識別子を制御部13及び出力制御部12を介して出力装置40に表示することで当該識別子をユーザに認識させると共に、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する格納領域に、入力装置30から入力された新たな設計データ21と採番した上記識別子とを、当該識別子と新たな設計データ21とを対応付ける様に記憶する。(2)これに対して、ユーザが入力装置30を用いて設計データ21の「編集」(設計データの取り出し)を選択し指示して来た場合には、設計データ管理部14は、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する設計データ用の格納領域から、入力装置30から入力された識別子に合致する設計データ21を抽出して、抽出した設計データ21を、制御部13及び出力制御部12を介して、出力装置40に表示する。そして、ユーザは、出力装置40に表示された取り出し対象の設計データ21に対して編集処理を行う。その後、ユーザが、入力装置30を用いて、編集後の設計データの保存(戻し)を選択し、設計データの識別子と編集後の設計データとを入力した場合には、設計データ管理部14は、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する設計データ用の格納領域から、入力された設計データの識別子に合致する設計データ21を読み出し、読み出した設計データ21を入力された編集後の設計データ21に置き換えて、置き換えた後の設計データ21を、再び記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する設計データ用の格納領域に格納する。(3)他方、設計データの削除がユーザにより選択された場合には、設計データ管理部14は、記憶装置20にアクセス(アドレス指定)して、入力装置30から入力された識別子に合致する設計データ21を、記憶装置20内の対応する設計データ用の格納領域から削除する。
【0028】
再利用向け辞書データ管理部15は、入力装置30、入力制御部11及び制御部13を介して入力されたユーザからの入力指示に基づいて、再利用向け辞書データを登録し、編集し、或いは削除する。具体的には、(1)ユーザが入力装置30を用いて再利用向け辞書データの「登録」を選択しその旨の指示を入力信号として入力した場合に、再利用向け辞書データ管理部15は、新たな再利用向け辞書データの識別子を採番して、当該新たな再利用向け辞書データの識別子を、制御部13及び出力制御部12を介して出力装置40に表示することで当該識別子をユーザに認識させると共に、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する再利用向け辞書データ用の格納領域に、再利用向け辞書データ生成部16で生成されて同部16より制御部13を介して取得した再利用向け辞書データ22と採番した新たな再利用向け辞書データ22の識別子とを、当該識別子と新たな再利用向け辞書データ22とを対応付けた上で、記憶する。(2)これに対して、ユーザが入力装置30を用いて再利用向け辞書データ22の「編集」(取出し)を選択して指示して来た場合には、再利用向け辞書データ管理部15は、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する再利用向け辞書データ用の格納領域から、入力装置30より入力された識別子に合致する再利用向け辞書データ22を読み出して(抽出)、制御部13及び出力制御部12を介して、出力装置40に、抽出後の再利用向け辞書データ22を表示させる。そして、ユーザは出力装置40に表示された再利用向け辞書データ22の編集処理を行い、その後に入力装置30を用いて、編集後の再利用向け辞書データ22の保存(戻し)を選択し、編集後の再利用向け辞書データ22と再利用向け辞書データの識別子とを入力した場合には、再利用向け辞書データ管理部15は、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する再利用向け辞書データ用の格納領域から、入力された再利用向け辞書データの識別子に合致する再利用向け辞書データ22を取り出し、取り出した再利用向け辞書データ22を入力された編集後の再利用向け辞書データ22に置き換えた上で、再び記憶装置20にアクセス(アドレス指定)して、置換後の再利用向け辞書データ22を、記憶装置20内の対応する再利用向け辞書データ用の格納領域に格納する。(3)他方、ユーザが再利用向け辞書データ22の削除を選択した場合には、再利用向け辞書データ管理部15は、記憶装置20にアクセス(アドレス指定)して、入力装置30から入力された識別子に合致する再利用向け辞書データ22を記憶装置20内の対応する再利用向け辞書データ用の格納領域から削除する。
【0029】
再利用向け辞書データ生成部16は、次の通りに機能する。先ず、ユーザから再利用向け辞書データ生成のために入力装置30及び入力制御部11を介して制御部13に設計データの識別子が入力された場合に、先ず、制御部13は、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する設計データ用の格納領域から、入力された設計データの識別子に合致する用語集及びクラス図を抽出し、抽出した用語集及びクラス図のデータを再利用向け辞書データ生成部16に送信する。斯かるデータを受信した再利用向け辞書データ生成部16は、(1)用語集からは用語の兄弟関係を取り出し、(2)クラス図からは用語の親子関係を取り出して、用語の兄弟関係及び用語の親子関係を図5に示す用語のグラフ構造に変換することで再利用向け辞書データ22を生成し、生成した再利用向け辞書データ22を制御部13に送信する。斯かる再利用向け辞書データ22を受信した制御部13は、再利用向け辞書データ生成部16によって生成された再利用向け辞書データ22を再利用向け辞書データ管理部15に送信する一方、出力制御部12を介して再利用向け辞書データ生成部16によって生成された再利用向け辞書データ22を出力装置40に表示させる。
【0030】
抽象化設計データ管理部17は、入力装置30、入力制御部11及び制御部13を介して入力されたユーザからの入力指示に基づいて、抽象化設計データを登録し、編集し、或いは削除する。具体的には、(1)ユーザが入力装置30を用いて抽象化設計データ23の「登録」を選択し指示して来た場合には、抽象化設計データ管理部17は、新たな抽象化設計データの識別子を採番して、当該新たな抽象化設計データの識別子を制御部13及び出力制御部12を介して出力装置40に表示してユーザに当該識別子を認識させると共に、抽象化設計データ生成部18で生成された抽象化設計データ23を、制御部13による抽象化設計データ生成部18からの抽象化設計データ23の取り出し処理及び制御部13から抽象化設計データ管理部17への取り出した抽象化設計データ23の送信処理を介して、抽象化設計データ生成部18より取得した上で、その後に、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する抽象化設計データ用の格納領域に、当該新たな抽象化設計データの識別子及び抽象化設計データ生成部18で生成された抽象化設計データ23を、格納する。(2)これに対して、ユーザが抽象化設計データ23の編集、即ち、検索(ユーザは取り出した抽象化設計データ23を画面上で見るだけの処理である。)を選択して指示した場合には、抽象化設計データ管理部17は、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する抽象化設計データ用の格納領域より、入力装置30から入力された識別子に合致する抽象化設計データ23を抽出して、抽出した抽象化設計データ23を、制御部13及び出力制御部12を介して、出力装置40に表示する。(3)他方、ユーザが抽象化設計データ23の削除を選択し指示した場合には、抽象化設計データ管理部17は、記憶装置20にアクセス(アドレス指定)して、入力装置30から入力された識別子に合致する抽象化設計データ23を、記憶装置20内の対応する抽象化設計データ用の格納領域より削除する。
【0031】
抽象化設計データ生成部18は、抽象化設計データを新規に作成する部分である。先ず、ユーザから抽象化設計データの作成指令と共に入力装置30及び入力制御部11を介して入力された識別子を受信した制御部13は、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する設計データ用の格納領域より、入力装置30から入力された識別子に合致する設計データ21を検索し、当該設計データ21内に含まれる用語集、クラス図及びユースケースシナリオを読み出して、当該検索により得られた用語集、クラス図及びユースケースシナリオの各々を抽象化設計データ生成部18に送信する。この送信信号を受けて、抽象化設計データ生成部18は、当該検索により得られた用語集、クラス図及びユースケースシナリオの各々を抽象化設計データ23に加える。更に、制御部13は、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する再利用向け設計データ用の格納領域より、入力装置30から入力された識別子に合致する再利用向け辞書データ22を検索し、検索対象の再利用向け辞書データ22内の再利用向け辞書データ23を読み出して、当該検索により得られた再利用向け辞書データ23を抽象化設計データ生成部18に送信する。この送信信号を受けて、抽象化設計データ生成部18は、当該検索により得られた再利用向け辞書データ22を、用語集、クラス図及びユースケースシナリオが既に加えられている抽象化設計データ23に追加する。そして、抽象化設計データ生成部18は、再利用向け辞書データ23に含まれる用語がユースケースシナリオ中に現れるときには、その出現箇所を、置換可能な変数とし、その変数の値を再利用向け辞書データ22の用語のグラフ構造(図5)の代表用語に設定することで得られるパラメータ化されたユースケースシナリオを抽象化設計データ23に加える。その上で、抽象化設計データ生成部18は、新規に作成された抽象化設計データ23を、制御部13及び出力制御部12を介して、出力装置40に表示する。
【0032】
設計データ具体化部19は、設計データの再利用時に、抽象化設計データ23の指定された修正箇所に修正を施して抽象化設計データ23を具体化し、具体化された設計データをユーザに提示する機能を呈する部分である。具体的には、制御部13は、ユーザから入力装置30及び入力制御部11を介して入力された抽象化設計データ23の識別子を受信し、斯かる識別子に基づいて、記憶装置20にアクセス(アドレス指定)し、記憶装置20内の対応する抽象化設計データ用の格納領域より、入力装置30から入力された識別子に合致する抽象化設計データ23を抽出し、抽出した抽象化設計データ23を設計データ具体化部19に送信する。斯かる抽象化設計データ23を入力された設計データ具体化部19は、入力装置30から入力制御部11及び制御部13を介して入力された「選択された辞書用語あるいは別名辞書用語」に基づいて、抽象化設計データ23中の置換可能な変数の値を、抽象化設計データ23中の再利用向け辞書データ22を探索することで設定し、更に抽象化設計データ23中の置換可能な変数を文字列に変換し、変換後の具体化された抽象化設計データ23を制御部13及び出力制御部12を介して出力装置40に表示させる。
【0033】
次に、図9〜図14の各図面を参照して、本実施の形態に係る設計データ再利用支援プログラムによる制御の下で作動する設計データ再利用支援装置1の動作について記載する。
【0034】
図9は、設計データ再利用支援プログラムの制御の下で作動する設計データ再利用支援装置1の動作の概要を記載するフローチャートである。先ず、ステップS1に於いて、制御部13は全体メニューを表示部40の画面上に表示する。次に、ステップS2に於いて、制御部13は、ユーザにより入力装置30から入力されたメニュー選択情報に基づいて、以後の処理S3〜S5を振り分ける。具体的には、(1)制御部13及び設計データ管理部14の作動によるステップS3の設計データ21の登録/編集/削除の処理、(2)制御部13、設計データ管理部14、再利用向け辞書データ管理部15、再利用向け辞書データ生成部16、抽象化設計データ管理部17、及び抽象化設計データ生成部18の作動によるステップS4の設計データ21の再利用登録の処理、(3)制御部13、設計データ具体化部19、再利用向け辞書データ管理部15、抽象化設計データ管理部17の作動によるステップS5の設計データ21の再利用の処理の、何れかが実行される。各処理S3〜S5の詳細については、図10〜図14の各図面を参照して後述する。
【0035】
ステップS3,S4,S5の何れかの処理が完了すると、ステップS6に於いて、制御部13は、処理を繰り返すかのメニューを表示部40の画面上に表示し、ユーザにより入力装置30から入力されたメニュー選択情報に基づいて、処理の継続が選択されていれば、ステップS1に戻り、処理の終了が選択されていれば、制御部13は、全体の処理を終了させる。
【0036】
ここで、図10は、図9のステップS3を、即ち、制御部13及び設計データ管理部14の作動による設計データ21の登録/編集/削除の処理を示すフローチャートである。
【0037】
先ず、ステップS301に於いて、制御部13は、出力装置40の画面上にメニューを表示する。このメニューには、「設計データの登録」、「設計データの編集」、及び「設計データの削除」が含まれている。
【0038】
ステップS302に於いて、制御部13は、画面上のメニューを見たユーザによって入力装置30からメニューが選択されると、次の処理に進む。
【0039】
(A)ステップS302に於いて、制御部13は、「設計データの登録」が選択されたと判定する場合:
ステップS303に於いて、制御部13は、設計データ21中の何れの登録が選択されたかを判定する。「用語集の登録」が選択された場合には、制御部13は、設計データ管理部14を作動させ、設計データ管理部14は、図2で示したデータ構造に基づいて用語集の雛形を生成し、当該用語集の雛形を新規な設計データ21として出力装置40の画面上に表示する。これに対して、「ユースケースシナリオの登録」が選択された場合には、制御部13は、設計データ管理部14を作動させ、設計データ管理部14は、図3で示したデータ構造に基づいて、ユースケースシナリオの雛形を生成し、当該ユースケースシナリオの雛形を新規な設計データ21として出力装置40の画面上に表示する。更に、選択された設計データ21の登録がクラス図であった場合には、制御部13は、記憶装置20内に記憶されている、例えば市販のUML編集ツールを起動して起動結果を出力装置40の画面上に表示する。又、それ以外の、例えば状態遷移図、シーケンス図、アーキテクチャ仕様、コンポーネント仕様等のシステム又はソフトウェアの開発をする際に作成する成果物を設計データ21として登録しても良いが、その場合には設計データ21の雛形は生成されず、制御部13は、その設計データを編集するのに適した専用の編集ツール(記憶部20内に記憶されている。)を起動して、起動結果を出力装置40の画面上に表示する。尚、本実施の形態で示す用語集、ユースケースシナリオ、及びクラス図以外の定義方法、編集方法、及び保存方法は、本発明の範囲外である。
【0040】
ステップS304に於いて、ユーザが出力装置40の画面上に表示された用語集の雛形等のフォーマットを埋めるべく入力装置30から設計データ21の内容を入力すると、設計データ管理部14は、用語集等の雛形のフォーマットが全て埋められた否かをチェックし、設計データ21の雛形のフォーマットが図2又は図3で示したデータ構造に従って全て埋まって完成するまで、設計データ21の内容が入力され続ける。そして、設計データ管理部14は、設計データ21の雛形のフォーマットが全て埋まって完成したと判断すると、次のステップに進む。
【0041】
ステップS305に於いて、制御部13による制御の下で、設計データ管理部14は、完成した設計データ21に対して設計データIDを発行して、出力装置40にその設計データIDを表示させる。
【0042】
次のステップS306に於いて、制御部13による制御の下で、設計データ管理部14は、設計データIDと完成された設計データ21とを互いに対応付けた上で、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の設計データ用の格納領域内に、上記の設計データIDと完成された設計データ21とを格納する。
【0043】
(B)ステップS302に於いて、制御部13は、「設計データの編集」が選択されたと判定する場合:
ステップS307に於いて、制御部13による制御の下で、設計データ管理部14は、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の設計データ用の格納領域内に格納している全設計データ21の設計データIDを読み出して設計データID一覧を、出力装置40の画面上に表示する。
【0044】
ステップS308に於いて、制御部13は、設計データID一覧を見て編集対象の設計データ21を選択したユーザによる入力装置30からの入力情報より、或る設計データIDが選択されたものと判定すると、ステップS309に於いて、制御部13は設計データ管理部14を作動させて、設計データ管理部14は、記憶装置20にアクセス(アドレス指定)して、選択された設計データIDに基づいて、編集対象の設計データ21を検索し、該当する設計データ21を抽出して、抽出した設計データ21を出力装置40の画面上に表示する。ここでも、本実施の形態で示す用語集、ユースケースシナリオ、及びクラス図以外の定義方法、編集方法、及び保存方法は、本発明の範囲外である。
【0045】
ユーザは、出力装置40の画面上に表示された編集対象の設計データ21に対して、編集処理(編集内容の保存処理)を行う。即ち、ステップS310において、ユーザにより入力制御装置30から保存すべき設計データ21の内容が入力され、設計データ管理部14は、出力装置40に表示した設計データ21の内容をユーザより入力された設計データ21の内容に置換し、最終的に図2及び/又は図3で示したデータ構造に従って設計データ21の編集が完了するまで設計データの内容を編集する処理(置換処理)を実行し、設計データ21の編集が完了したことを判断すると、次のステップに進む。
【0046】
ステップS311に於いて、制御部13による制御の下、設計データ管理部14は、記憶装置20にアクセス(アドレス指定)して、ステップS308で選択された設計データIDと、編集が完了した設計データ21とを、記憶装置20内の設計データ用の格納領域内に格納する。
【0047】
(C)ステップS302に於いて、制御部13は、「設計データの削除」が選択されたと判定する場合:
ステップS312に於いて、制御部13は設計データ管理部14を作動させ、設計データ管理部14は、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の設計データ用格納領域から、全設計データの設計データIDを読み出して設計データID一覧を作成した上で、当該設計データID一覧を出力装置40に表示させる。
【0048】
ステップS313に於いて、制御部13は、入力装置30からの入力でユーザにより或る設計データIDが選択されたと判定すると、ステップS314に於いて、制御部13は設計データ管理部14を作動させ、設計データ管理部14は、記憶装置20にアクセス(アドレス指定)して、ユーザにより選択された設計データIDに基づいて記憶装置20内の設計データ用格納領域内の設計データ21を検索し、選択された設計データIDに該当する設計データ21を設計データ用格納領域より抽出して、抽出された設計データ21を出力装置40に表示させる。そして、ステップS315に於いて、制御部13は設計データ管理部14を作動させて、設計データ管理部14は、記憶装置20にアクセス(アドレス指定)して、該当する設計データ21を記憶装置20内の設計データ用格納領域から削除する。
【0049】
ステップS316に於いて、制御部13は、設計データ21の登録/編集/削除の処理を繰り返すか否かのメニューを出力装置40の画面上に表示し、入力されたメニュー選択情報に基づいて、処理の継続が選択されていれば、ステップS301に戻り、処理の終了が選択されていれば、設計データ21の登録/編集/削除の処理を終了する。
【0050】
図11は、図9のステップS4の処理を、即ち、制御部13、設計データ管理部14、再利用向け辞書データ管理部15、再利用向け辞書データ生成部16、抽象化設計データ管理部17、及び抽象化設計データ生成部18の作動による設計データ21の再利用登録の処理を示すフローチャートである。又、図12は、図11中のステップS410の処理の詳細を示すフローチャートであり、図13は、図11中のステップS420の処理の詳細を示すフローチャートである。
【0051】
先ず、ステップS401に於いて、制御部13は設計データ管理部14を作動させ、設計データ管理部14は、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の設計データ用の格納領域に格納している全設計データ21の設計データIDを読み出して設計データID一覧を作成した上で、当該設計データID一覧を出力装置40の画面上に表示する。
【0052】
次に、ステップS402に於いて、制御部13は、記憶装置20にアクセス(アドレス指定)して、ユーザによって入力装置30から入力された設計データIDに基づいて、設計データIDに対応する設計データ21を、記憶装置20内の設計データ用の格納領域から選択する。このとき、初回の選択であれば、制御部13は抽象化設計データ管理部17を作動させ、抽象化設計データ管理部17は、図6で示す構造に従って抽象化設計データ23の雛形を生成し、制御部13が選択した用語集、クラス図、及びユースケースシナリオを抽象化設計データ23の雛形に追加する。尚、図6には、抽象化設計データ23がユースケースシナリオを含むことを示してはいない。ステップS402に於いて、制御部13による制御の下で抽象化設計データ管理部17は、仮に抽象化設計データ23の雛形にユースケースシナリオを追加しておいて、後述するステップS420に於いてユースケースシナリオをパラメータ化ユースケースシナリオに変換する。
【0053】
ステップS403に於いて、制御部13は、再利用したい設計データを複数個選択するための繰り返し処理を行う。この繰り返し処理により、複数の用語集、複数のクラス図、複数のユースケースシナリオを再利用対象として指定して抽象化設計データ23の雛形に追加することが出来る。この繰り返し処理が終了すると、次のステップS410(図12)に進む。
【0054】
ステップS410は再利用向け辞書データ22の生成を行う処理のフローであり、図12を用いて詳細に記載する。上記の通りこの段階までの処理で既に抽象化設計データ23の雛形が生成されており、その内部には、選択された用語集とクラス図とユースケースシナリオとが含まれている。ステップS411からステップS415までの処理で、図5で示したデータ構造を持つ再利用向け辞書データ22が生成される。
【0055】
先ず、ステップS411に於いて、制御部13は、再利用向け辞書データ生成部16を用いて、抽象化設計データ23の雛形に含まれているクラス図から継承関係を除く関連の定義を削除する。このクラス図は、作業用クラス図として、図1のRAM50(CPUのレジスタとして機能する。)中に保持される。
【0056】
次に、ステップS412に於いて、制御部13は、再利用向け辞書データ生成部16を用いて、抽象化設計データ23の雛形に含まれている作業用クラス図から属性の定義を削除する。
【0057】
次に、ステップS413に於いて、制御部13は、再利用向け辞書データ生成部16を用いて、図5で示した構造を持つ再利用向け辞書データ22の雛形を生成し、作業用クラス図を再利用向け辞書データ22の辞書用語と辞書用語間のparent-child関係に変換することで、再利用向け辞書データ22を作成する。
【0058】
ここで、図15は、作業用クラス図を、再利用向け辞書データ22の辞書用語と辞書用語間のparent-child関係に変換する例を示している。作業用クラス図中のクラスAは、再利用向け辞書データ22の辞書用語Aに変換される。又、作業用クラス図中のクラスBは、再利用向け辞書データ22の辞書用語Bに変換される。作業用クラス図中のクラスAとクラスB間の継承関係は、再利用向け辞書データ22の辞書用語Aと辞書用語B間のparent-child関係に変換される。
【0059】
ステップS414及びS415は再利用向け辞書データ22の生成を行う処理の続きであり、ステップS413までで生成した再利用向け辞書データ22に用語集の情報を追加する処理である。ステップS414に於いて、用語集の用語抽出/併合を行う。具体的には、制御部13は、再利用向け辞書データ生成部16を用いて、抽象化設計データ23の雛形に含まれている用語集の各用語に対して、対応する辞書用語を生成し、生成した辞書用語を再利用向け辞書データ22に追加する。このとき、既存の辞書用語があれば、再利用向け辞書データ生成部16は何も行わない。次に、ステップS415に於いて、用語集からの別名抽出/併合を行う。具体的には、制御部13は、再利用向け辞書データ生成部16を用いて、抽象化設計データ23の雛形に含まれている用語集の各別名に対して、対応する別名辞書用語を生成し、生成した別名辞書用語を再利用向け辞書データ22に追加する。再利用向け辞書データ生成部16は、用語集に於ける用語と別名との関係を、再利用向け辞書データ22に於ける辞書用語と別名辞書用語との間のoriginal関係に変換する。
【0060】
ステップS415の処理を終了すると、制御部13は再利用向け辞書データ22の生成処理(ステップS410)を終了し、再利用向け辞書データ管理部15を用いて、生成された再利用向け辞書データ22を記憶装置20の再利用向け辞書データ用の格納領域内に記憶させた上で、図11のステップS404を行う。
【0061】
ステップS404に於いて、制御部13は、生成された再利用向け辞書データ22を、制御部13の管理下にあるRAM50中に格納されている抽象化設計データ23の雛形に追加して、次のステップS420に進む。
【0062】
ステップS420は抽象化設計データ23の生成処理を行う処理フローであり、図13を用いて、ステップS420に於ける動作を詳細に記載する。上記の通り、ここまでの段階の処理により、抽象化設計データ23の雛形は生成されており、抽象化設計データ23の雛形の内部には、選択された用語集とクラス図とユースケースシナリオが含まれており、更に、生成された再利用向け辞書データ22が含まれている。ステップS421からS423までの処理を通じて、制御部13は、抽象化設計データ23の雛形の内部に、パラメータ化ユースケースシナリオを生成する。
【0063】
先ず、ステップS421に於いて、制御部13は抽象化設計データ生成部18を作動させ、抽象化設計データ生成部18は、ユースケースシナリオのパラメータ化を行う。抽象化設計データ生成部18は、制御部13より送信された抽象化設計データ23の雛形に登録されている全てのユースケースシナリオに対して、ユースケースシナリオのデータをコピーして、パラメータ化ユースケースシナリオのデータを生成する。その際、抽象化設計データ生成部18は、属性変数であるユースケース名称及びアクター名称のデータを、パラメータ化文字列に型変換する。そして、型変換されたパラメータ化文字列が、抽象化設計データ23の雛形中の再利用向け辞書データ22に含まれる辞書用語の辞書用語名称あるいは別名辞書用語の別名辞書用語名称を含んでいるならば、抽象化設計データ生成部18は、パラメータ化文字列の該当部分をパラメータに置き換え、パラメータバリューとして一致した辞書用語あるいは別名辞書用語を設定する。次に、抽象化設計データ生成部18は、ユースケースシナリオの基本系列、代替系列、例外系列のそれぞれのデータをコピーして、パラメータ化基本系列、パラメータ化代替系列、パラメータ化例外系列のデータを生成する。その際、各系列が持つユースケースステップの属性変数であるアクター名称及びステップ記述のデータを、パラメータ化文字列に型変換する。そして、型変換されたパラメータ化文字列が抽象化設計データ23の雛形中の再利用向け辞書データ22に含まれる辞書用語の辞書用語名称あるいは別名辞書用語の別名辞書用語名称を含んでいるならば、抽象化設計データ生成部18は、パラメータ化文字列の該当部分をパラメータに置き換えて、パラメータバリューとして一致した辞書用語あるいは別名辞書用語を設定する。
【0064】
次に、ステップS422に於いて、制御部13は抽象化設計データ生成部18を作動させ、抽象化設計データ生成部18は、ステップS421で生成したパラメータ化ユースケースシナリオに対して、別名辞書用語の置換によるパラメータバリューの決定を行う。具体的には、ステップS421に於いて、抽象化設計データ生成部18は、生成されたパラメータ化文字列のパラメータのパラメータバリューが別名辞書用語であるならば、抽象化設計データ23の雛形中の再利用向け辞書データ22を検索して当該別名辞書に対してoriginal関係にある用語辞書を抽出し、それを新しいパラメータバリューとする。
【0065】
次に、ステップS423に於いて、制御部13は同部13の制御の下で抽象化設計データ生成部18を引き続いて作動させ、抽象化設計データ生成部18は、ステップS421からステップS422までで生成したパラメータ化ユースケースシナリオに対して、抽象化設計データ23の雛形中の再利用向け辞書データ22のparent-child関係を利用したパラメータバリューの決定を行う。具体的には、抽象化設計データ生成部18は、ステップS421とステップS422とで生成されたパラメータ化文字列のパラメータのパラメータバリューが辞書用語であって、それがparent関係にある別の辞書用語を持つならば、それを新しいパラメータバリューとし、この処理をparent関係にある別の辞書用語が抽出出来なくなるまで繰り返す。この繰り返し処理を通じて、抽象化設計データ23の雛形は完成されて、抽象化設計データ23が生成される。抽象化設計データ生成部18は、生成された抽象化設計データ23を制御部13に送信する。
【0066】
ステップS420の処理を終了すると、制御部13は抽象化設計データ23の生成処理を終了し、図11のステップS405を実行する。ステップS405に於いて、制御部13は抽象化設計データ管理部17を作動させて、自己の管理下にあるRAM50中に保持されている抽象化設計データ生成部18から送信されて来た抽象化設計データ23を抽象化設計データ管理部17に送信する。その送信を受けて、抽象化設計データ管理部17は、記憶装置20をアクセス(アドレス指定)し、抽象化設計データ23を、記憶装置20内の抽象化設計データ用の格納領域内に格納し、設計データの再利用登録を終了する。
【0067】
図14は、制御部13、設計データ具体化部19、再利用向け辞書データ管理部15、及び抽象化設計データ管理部17の作動による設計データの再利用処理を示すフローチャートである。
【0068】
先ず、ステップS501に於いて、制御部13は同部13の制御の下で抽象化設計データ管理部17を作動させ、抽象化設計データ管理部17は、記憶装置20をアクセス(アドレス指定)し、記憶装置20内の抽象化設計データ用の格納領域内に格納されている全抽象化設計データのIDを読み出して抽象化設計データのID一覧を作成した上で、当該抽象化設計データのID一覧を出力装置40に表示させる。
【0069】
ステップS502に於いて、制御部13は、抽象化設計データのID一覧を見て選択したユーザによる入力装置30からの指示に従って、抽象化設計データIDを選択する。
【0070】
ステップS503に於いて、制御部13は抽象化設計データ管理部17を作動させて選択された抽象化設計データIDの情報を抽象化設計データ管理部17へ送信し、抽象化設計データ管理部17は、記憶装置20をアクセス(アドレス指定)し、選択されたIDに基づいて、記憶装置20内の抽象化設計データ用の格納領域から対応する抽象化設計データ23を抽出して、抽出した抽象化設計データ23を出力装置40に表示させる。このとき、抽象化設計データ23に含まれる再利用向け辞書データ22も、出力装置40に表示させる。
【0071】
次のステップS504に於いて、制御部13は、入力装置30からの入力信号に基づく判定を行い、出力装置40の画面上に表示された抽象化設計データ23の中にユーザが再利用したいものが無い場合に該当する「やり直し」がユーザにより指定されたならば、ステップS501に戻って、抽象化設計データ23の検索をやり直す。入力装置30からの入力信号に基づく判定の結果、「やり直し」が指定されていなければ、制御部13は、再利用に用いる抽象化設計データ23が確定したと判断して、次のステップS505に進む。
【0072】
ステップS505に於いて、制御部13は、この時点で出力装置40に表示されている再利用向け辞書データ22に含まれる辞書用語あるいは別名辞書用語の情報からユーザが選択した辞書用語あるいは別名辞書用語の情報を、入力装置30から入力信号として受け取る。
【0073】
ステップS506に於いて、制御部13は、同部13の制御の下で設計データ具体化部19を作動させて、選択した辞書用語あるいは別名辞書用語の情報を、確定した再利用用の抽象化設計データ23と共に、設計データ具体化部19に送信し、当該送信信号の受信に応じて、設計データ具体化部19は、選択された辞書用語あるいは別名辞書用語によるパラメータ化ユースケースシナリオのパラメータバリューの決定を行う。設計データ具体化部19は、ステップS505で選択された辞書用語あるいは別名辞書用語のルート辞書用語を抽出し、パラメータ化ユースケースシナリオが持つパラメータ化文字列のパラメータバリューが、抽出されたルート辞書用語と同一であった場合に、パラメータ化ユースケースシナリオを、選択された辞書用語あるいは別名辞書用語で置き換え、制御部13は次のステップに進む。
【0074】
ステップS507に於いて、制御部13は、設計データ具体化部19を用いて、ステップS501からS504までで選択された抽象化設計データ23から設計データを生成する。具体的には、設計データ具体化部19は、抽象化設計データ23に含まれるパラメータ化ユースケースシナリオが持つ全てのパラメータ化文字列を文字列に変換することで、ユースケースシナリオを生成する。設計データ具体化部19は、パラメータ化文字列を文字列に変換する処理に於いて、パラメータ化文字列のパラメータをパラメータバリューに設定されている辞書用語あるいは別名辞書用語の属性変数である辞書用語名称あるいは別名辞書用語名称に置き換える。
【0075】
ステップS508に於いて、制御部13は、生成された設計データを出力装置40の画面上に表示し、設計データの再利用の処理を終了する。
【0076】
上述した様に、本実施の形態に係る設計データ再利用支援装置1は、設計データの内で、用語集、ユースケースシナリオ、及びクラス図のデータ構造を再利用に適したデータ構造に定義し、再利用向け辞書データ生成部16、再利用向け辞書データ管理部15、抽象化設計データ生成部18、及び抽象化設計データ管理部17が、設計データ21を再利用時の修正箇所が明確化された形に抽象化した抽象化設計データ23として蓄積し、再利用時には、設計データ具体化部19が抽象化設計データ23の修正箇所に修正を施した形で設計データを具体化して利用者に提示することが出来る。このため、設計データ作成者の設計能力に依存しない形で再利用に適した設計データが得られ、更に、再利用に適した形式に変換された抽象化設計データ23が本装置1内に於いて自動生成により得られ、設計データ21の再利用時には設計データ21の修正箇所が明確であり、設計データ21の再利用容易性を向上させることが出来ると言う効果が得られる。
【0077】
(実施の形態2)
図16は、本実施の形態に係る設計データ再利用支援装置1Aの構成を示すブロック図である。図16中、図1と同一の参照符号を有する構成要素は同等の構成要素を示す。図1の構成要素と相違する点は、抽象化設計データ検索部31を更に備えている点にある。
【0078】
ここでは、再利用向け辞書データ22の辞書用語或いは別名辞書用語がキーワードを用いて特定されているものとする。このとき、抽象化設計データ23を選択する場合に、入力装置30からユーザによって入力された検索キーワードに基づいて、制御部13より送信された抽象化設計データ23に含まれる再利用向け辞書データの辞書用語あるいは別名辞書用語を検索し、辞書用語あるいは別名辞書用語と検索キーワードとが一致した抽象化設計データ23を出力装置40に表示する抽象化設計データ検索部31を備えていても良い。このときの処理のフローを、図14を用いて記載する。
【0079】
ステップS501からステップS504までは制御部13は抽象化設計データ管理部17を用いて、抽象化設計データ23の検索を行い、入力装置30からの入力信号に基づく判定の結果、やり直しが指定されていなければ、再利用に用いる抽象化設計データ23が確定したと判断して、次のステップS505に進むが、この処理フローが、制御部13、抽象化設計データ管理部17及び抽象化設計データ検索部31による抽象化設計データの検索に置き換えられ、抽象化設計データ23が確定したステップS505以降の処理フローは実施の形態1の場合と同様である。
【0080】
この構成によれば、別のソフトウェア開発に於いて設計データを再利用しようとして抽象化設計データ23を検索する際に、単に抽象化設計データ管理部17が既に記憶装置20内の抽象化設計データ用格納領域に蓄積されている抽象化設計データ23のIDの一覧を表示して抽象化設計データ23の選択を促す以上の利便性が得られて検索性が向上し、しかも、検索性を向上させるためにメタ情報を整備するという付加的な作業も必要とせずに設計データの再利用が進む様になると言う利点が得られる。
【0081】
(実施の形態3)
図17は、本実施の形態に係る設計データ再利用支援装置1Bの構成を示すブロック図である。図17中、図1と同一の参照符号を有する構成要素は同等の構成要素を示す。図1の構成要素と相違する点は、再利用向け辞書データカスタマイズ部32を更に備えている点にある。本実施の形態では、再利用向け辞書データカスタマイズ部32を用いて、ユーザにとって使いたい辞書用語或いは別名辞書用語を、抽象化設計データ23に含まれる再利用向け辞書データ中に追加・編集する点に、その特徴点がある。
【0082】
即ち、設計データ具体化部19により抽象化設計データ23を具体化して設計データを得る場合に、入力装置30からのキーワードに基づいて、選択されている抽象化設計データ23に含まれる再利用向け辞書データに辞書用語あるいは別名辞書用語を追加する「再利用向け辞書データカスタマイズ部32」を設けても良い。このときの処理のフローを、図14を用いて説明する。
【0083】
ステップS505では、制御部13は辞書用語/別名辞書用語の選択を行うが、本実施の形態では、再利用向け辞書データカスタマイズ部32による再利用向け辞書データのカスタマイズ処理をステップS505の直前に挿入する。具体的には、ステップS504まででユーザが設計データの再利用に使用したい抽象化設計データ23が確定しているので、当該抽象化設計データ23に含まれる再利用向け辞書データに、再利用向け辞書データカスタマイズ部32はユーザからのキーワードに対応した辞書用語或いは別名辞書用語を追加する。ステップS505以降の処理フローは、実施の形態1の場合と同様である。
【0084】
尚、本実施の形態の構成を実施の形態2の構成に適用することも可能である。
【0085】
以上に記載した本実施の形態の構成により、再利用向けに蓄積されている抽象化設計データ23を具体化して設計データを生成する際に、ユーザが所望する用語を用いた修正を加えることが出来ると言う利点が得られる。
【0086】
(付記)
尚、実施の形態1〜3では、抽象化設計データが設計データ再利用支援プログラムに基づいて中央処理制御装置10によって自動的に生成される場合が記載されたが、この構成に代わって、ユーザ自身によって作成された上記のデータ構造を有する抽象化設計データが記憶装置20内の該当格納領域内に格納される場合には、中央処理制御装置10は、設計データ再利用支援プログラムに基づいて、図14に示す処理を実行することとしても良い。この場合には、図1、図16、及び図17に示された構成要素の内で、抽象化設計データ生成部18のみが不要となり、抽象化設計データ管理部17は、設計データを再利用向けに変換した上記抽象化設計データを編集及び記憶する処理を行う。
【0087】
以上、本発明の実施の形態を詳細に開示し記述したが、以上の記述は本発明の適用可能な局面を例示したものであって、本発明はこれに限定されるものではない。即ち、記述した局面に対する様々な修正や変形例を、この発明の範囲から逸脱することの無い範囲内で考えることが可能である。
【産業上の利用可能性】
【0088】
本発明は、例えば、パーソナルコンピュータを用いた設計システム技術の分野に適用して好適である。
【図面の簡単な説明】
【0089】
【図1】本発明の実施の形態1に係る設計データ再利用支援装置の構成を示すブロック図である。
【図2】実施の形態1に於ける用語集のデータ構造を示す図である。
【図3】実施の形態1に於けるユースケースシナリオのデータ構造を示す図である。
【図4】実施の形態1に於けるユースケースシナリオの例を示す図である。
【図5】実施の形態1に於ける再利用向け辞書データのデータ構造を示す図である。
【図6】実施の形態1に於ける抽象化設計データの構成を模式的に示す図である。
【図7】実施の形態1に於けるパラメータ化ユースケースシナリオのデータ構造を示す図である。
【図8】実施の形態1に於けるパラメータ化文字列の構成を示す図である。
【図9】実施の形態1に係る設計データ再利用支援プログラムの全体の処理を示すフローチャートである。
【図10】実施の形態1に係る設計データ再利用支援プログラムの設計データの登録/編集/削除の処理を示すフローチャートである。
【図11】実施の形態1に係る設計データ再利用支援プログラムの設計データの再利用登録の処理を示すフローチャートである。
【図12】実施の形態1に係る設計データ再利用支援プログラムの再利用向け辞書データ生成処理を示すフローチャートである。
【図13】実施の形態1に係る設計データ再利用支援プログラムの抽象化設計データ生成処理を示すフローチャートである。
【図14】実施の形態1に係る設計データ再利用支援プログラムの設計データ再利用処理を示すフローチャートである。
【図15】実施の形態1に係る設計データ再利用支援装置のデータ変換処理を示す図である。
【図16】本発明の実施の形態2に係る設計データ再利用支援装置の構成を示すブロック図である。
【図17】本発明の実施の形態3に係る設計データ再利用支援装置の構成を示すブロック図である。
【符号の説明】
【0090】
1,1A,1B 設計データ再利用支援装置、10 中央処理制御装置、11 入力制御部、12 出力制御部、13 制御部、14 設計データ管理部、15 再利用向け辞書データ管理部、16 再利用向け辞書データ生成部、17 抽象化設計データ管理部、18 抽象化設計データ生成部、19 設計データ具体化部、20 記憶装置、21 設計データ、22 再利用向け辞書データ、23 抽象化設計データ、30 入力装置、40 出力装置。
【技術分野】
【0001】
この発明は、あるソフトウェア開発の設計データを蓄積しておいて、別のソフトウェア開発で再利用する作業を支援するための設計データ再利用支援装置に関する。
【背景技術】
【0002】
従来の設計データ再利用支援装置に於いては、設計データと検索用メタデータとを関連付けて蓄積しておき、検索用メタデータを用いて検索を行うことで設計データを発見することを支援する(例えば特許文献1参照。)。
【0003】
【特許文献1】特開2006−350851号公報(5頁35行〜6頁1行、図1)
【発明の開示】
【発明が解決しようとする課題】
【0004】
この様な設計データ再利用支援装置は、設計データの検索性を向上させることを考慮しており、検索結果の設計データの再利用容易性については考慮していないという問題点があった。即ち、従来の設計データ再利用支援装置に於いては、検索結果の設計データを無修正で再利用出来るか否かは、その設計データの作成者の設計能力に負っているという問題点があった。しかも、検索結果の設計データを無修正で再利用出来ない場合に、どの箇所を修正すれば設計データに内部矛盾を起こさずに検索結果の設計データを再利用出来るのかが不明であるという問題点があった。
【0005】
この発明は、上記の問題点を解決するために成されたものであり、設計データの再利用容易性を向上させる設計データ再利用支援装置を得ることを、その目的としている。
【課題を解決するための手段】
【0006】
本発明の主題に係る設計データ再利用支援装置は、ソフトウェア開発の成果物である設計データの再利用を支援する設計データ再利用支援装置であって、入力装置と、記憶装置と、出力装置と、前記設計データを前記記憶装置に記憶し、ユーザの前記入力装置からの指示に基づいて前記設計データを登録し、編集し、又は削除する処理を行い、当該処理結果を前記出力装置に出力する設計データ管理部と、設計データを再利用向けに変換した抽象化設計データを前記記憶装置内に記憶及び編集する抽象化設計データ管理部と、前記記憶装置に記憶されている前記設計データの内でユーザの前記入力装置からの識別子に合致する設計データから用語の親子関係と用語の兄弟関係とを取り出し、取り出した前記用語の親子関係と前記用語の兄弟関係とを用語のグラフ構造に変換することで再利用向け辞書データを生成する再利用向け辞書データ生成部と、前記設計データを抽象化して前記抽象化設計データを生成する際に利用され、且つ、前記抽象化設計データを具体化して再利用される設計データを生成する際にも利用される前記再利用向け辞書データを前記記憶装置内に記憶及び編集する再利用向け辞書データ管理部と、前記抽象化設計データ中の置換可能な変数の値を、前記再利用向け辞書データを探索して設定し、更に前記抽象化設計データ中の置換可能な変数を文字列に変換する設計データ具体化部とを備えることを特徴とする。
【発明の効果】
【0007】
本発明の主題によれば、設計データを再利用時の修正箇所が明確化された形式である抽象化設計データに変換して記憶装置内に蓄積することが出来、再利用時には抽象化設計データの指定された修正箇所に修正を施す形で設計データを具体化して利用者に提示することが出来る。
【0008】
以下、この発明の主題の様々な具体化を、添付図面を基に、その効果・利点と共に、詳述する。
【発明を実施するための最良の形態】
【0009】
(実施の形態1)
本実施の形態の特徴点は、「設計データから再利用向け辞書データを生成し、再利用向け辞書データを用いて設計データを再利用向けに変換して抽象化設計データとし、再利用向け辞書データを用いて抽象化設計データを具体化して設計データを得ることで設計データの再利用を行う」点にある。
【0010】
図1のブロック図に示す本実施の形態に係る設計データ再利用支援装置1は、ソフトウェア開発の成果物である設計データの再利用を支援する装置であり、例えばパーソナルコンピュータより成る。大要、設計データ再利用支援装置1は、CPUをその中核的構成要素とする中央処理制御装置10、記憶装置20、入力装置30及び出力装置40を備えている。図1には図示されていないが、設計データ再利用支援装置1は、ROMを更に備えている。設計データ再利用支援装置1の各装置は、バスを介して接続されている。
【0011】
中央処理制御装置10は、入力装置30からの入力信号に基づいて、ROMから設計データ再利用支援装置1を起動するためのブートプログラムを読み出して実行し、更に記憶装置20内に記憶されたオペレーティングシステム(OS)を読み出す。更に中央処理制御装置10は、入力装置30からの入力信号に基づいて、記憶装置20に記憶されているプログラム及びデータを読み出して、中央処理制御装置10内のCPUのレジスタであるRAM50にロードすると共に、記憶装置20から読み出したプログラムのコマンドに基づいて、データの計算又は加工等、後述する一連の処理を実現する。以下、設計データ再利用支援装置1内の各構成要素の構成及び動作について記載する。
【0012】
入力装置30は、操作者が各種の操作を入力するキーボード又はマウス等の入力デバイスにより構成されており、操作者の操作に基づいて入力信号を生成し、バスを介して入力信号を中央処理制御装置10に送信する。
【0013】
出力装置40は、CRTディスプレイ又は液晶ディスプレイ等の表示装置より成り、中央処理制御装置10からバスを介して出力装置40に於いて表示させる出力信号を受信して、例えば中央処理制御装置10の処理結果等をその画面上に表示する。
【0014】
記憶装置20は、例えば半導体記憶装置又は磁気ディスク装置より構成されており、中央処理制御装置10のCPUによって実行されるプログラム及びデータを記憶している。即ち、記憶装置20内には、中央処理制御装置10のCPUによって実行される「設計データ再利用支援プログラム」が記憶されていると共に、図1に示す様に、設計データ21、再利用向け辞書データ22、及び抽象化設計データ23がそれぞれ記憶装置20内の対応する格納領域に記憶されている。以下では、各データ21,22,23について詳述する。
【0015】
先ず、設計データ21は、システム又はソフトウェアの開発をする際に作成する成果物であって、設計モデリング言語UMLと自然言語とを用いて作成される。設計データ21は、用語集、ユースケース図、ユースケースシナリオ、クラス図、状態遷移図、アーキテクチャ仕様、テストシナリオ等の様々な成果物を含み得るが、再利用向け辞書データ22及び抽象化設計データ23を構成するために、設計データ21は、用語集、ユースケースシナリオ、及びクラス図を必ず含むものとし、更に、用語集、ユースケースシナリオ、及びクラス図に対しては、以下に記載する様な制約が課される。
【0016】
即ち、設計データ21を構成する用語集は、図2に示すデータ構造を持つ。用語集は複数の用語を持ち、用語は、属性変数として、用語ID、用語名称、用語説明を持つ。用語は複数の別名を持ち、別名は、属性変数として、別名ID及び別名名称を持つ。
【0017】
又、設計データ21を構成するユースケースシナリオは、図3に示すデータ構造を持つ。ユースケースシナリオは、属性変数として、ユースケースID、ユースケース名称、及びアクター名称を持ち、1つの基本系列と0個以上複数個の代替系列と0個以上複数個の例外系列とを持つ。そして、基本系列、代替系列、及び例外系列は、共に、複数のユースケースステップを持つ。ユースケースステップは、属性変数として、ステップ順序、アクター名称、及びステップ記述を持つ。ここで、図4は、インターネットを用いた通信販売で商品を購入する場合のユースケースシナリオを示す一例である。この例では、代替系列を一つ持つユースケースシナリオの例が示されている。この例の用語集が持つ用語は、例えば、(商品、カート、購入、確定、送料、購入金額、配送方法)等が考えられる。又、(カート)の別名として(ショッピングカート)が、(配送方法)の別名として(配送)が、各々考えられる。
【0018】
又、設計データ21を構成するクラス図は、設計モデリング言語UMLのクラス図である。
【0019】
次に、再利用向け辞書データ22は、設計データ再利用支援装置1が、設計データ21を構成する用語集、クラス図、及びユースケースシナリオから、抽象化設計データ23を生成するために利用するデータ構造であって、図5に示す用語のグラフ構造を持つ。図5に示す様に、再利用向け辞書は、属性変数として、再利用向け辞書ID、再利用向け辞書名称を持ち、複数個の辞書用語を持つ。辞書用語は、属性変数として、辞書用語ID、辞書用語名称、及び辞書用語説明を持ち、複数個の別名辞書用語を持つ。別名辞書用語は、属性変数として、別名辞書用語IDと別名辞書用語名称とを持つ。ある別名辞書用語のデータからは、originalという名前の関連端をたどることで、対応する辞書用語のデータを得ることが出来る。更に、辞書用語間はparent-childという関連で結合されており、ある辞書用語からは、parentという名前の関連端をたどることで、parent関係にある辞書用語を得ることが出来、childという名前の関連端をたどることで、child関係にある辞書用語を得ることが出来る。辞書用語は、辞書用語名称に示されるある概念を表すものとし、辞書用語Aが表す概念が、辞書用語Bが表す概念を一般化したものである場合には、辞書用語Aとchild関係にあるのが辞書用語Bとなり、辞書用語Bとparent関係にあるのが辞書用語Aとなる。辞書用語Aが表す概念の言い換えが、辞書用語Aが持つ別名辞書用語である。
【0020】
ある再利用向け辞書データが与えられ、辞書用語Aが指定されたとき、指定された辞書用語のparent関係にある辞書用語を抽出し、抽出した辞書用語に対してもparent関係にある辞書用語を抽出し、この操作をparent関係にある辞書用語が抽出できなくなるまで繰り返したときに抽出されている辞書用語を、辞書用語Aの「代表用語」と呼ぶ。又、別名辞書用語Bが指定されたとき、指定された別名辞書用語のoriginal関係にある辞書用語の代表用語を別名辞書用語Bの「代表用語」と呼ぶ。
【0021】
再利用向け辞書データ22の構造を用いて行う典型的な処理とは、ある概念が文字列で与えられたときに、既存の再利用向け辞書データ22を検索し、辞書用語名称あるいは別名用語名称が与えられた文字列に合致する辞書用語あるいは別名辞書用語を抽出し、抽出したものが別名辞書用語であるならば、そのoriginal関連端をたどって辞書用語を特定し、更にそこからparent関連端をたどって辞書用語を特定し、このparent関連端をたどるといった処理を繰り返すことで、与えられた概念をより一般化された概念へと変換していく処理である。
【0022】
次に、抽象化設計データ23は、設計データ再利用支援装置1が設計データ21の再利用のために保持するデータ構造であって、図6に示す様に、設計データ21及び再利用向け辞書データ22が持つデータ構造をグループ化して、それらに対して、パラメータ化ユースケースシナリオという独自のデータ構造を付加したものである。図6に示す用語集は、図2に示した用語集である。又、図6に示すクラス図は、前述した設計データ21に含まれるクラス図である。図6に示す再利用向け辞書データは、図5に示した再利用向け辞書データである。図6に示すパラメータ化ユースケースシナリオは、図7に示すデータ構造を持ち、このデータ構造は、図3のユースケースシナリオの属性変数であるユースケース名称及びアクター名称と、図3のユースケースステップの属性変数であるアクター名称及びステップ記述とを、図8に示すパラメータ化文字列というデータ構造で以って表現する様に変更したものである。
【0023】
設計データ再利用支援装置1の中央処理制御装置10のCPUは、記憶装置20より設計データ再利用支援プログラムを読み込んで、当該プログラムをOSと共に実行する。この設計データ再利用支援プログラムの実行により、図1に示す様に、入力制御部11、出力制御部12、制御部13、設計データ管理部14、再利用向け辞書データ管理部15、再利用向け辞書データ生成部16、抽象化設計データ管理部17、抽象化設計データ生成部18、設計データ具体化部19の各々が、設計データ再利用支援装置1内のハードウェアと連携して機能する機能部分として、実装される。以下に、設計データ再利用支援プログラムによってその動作が制御される各機能部分の説明を行なう。
【0024】
入力制御部11は、ユーザ(操作者)による入力装置30の操作により取得された入力情報を制御部13に出力する。
【0025】
他方、出力制御部12は、制御部13から出力された出力情報を出力装置40に表示し、その出力情報をユーザに閲覧させる。
【0026】
制御部13は、入力制御部11、設計データ管理部14、再利用向け辞書データ管理部15、再利用向け辞書データ生成部16、抽象化設計データ管理部17、抽象化設計データ生成部18及び設計データ具体化部19からの各入力情報を受け取り、入力情報に含まれるステータスに応じて、設計データ管理部14、再利用向け辞書データ管理部15、再利用向け辞書データ生成部16、抽象化設計データ管理部17、抽象化設計データ生成部18及び設計データ具体化部19に情報を入力する。又、制御部13は、設計データ管理部14、再利用向け辞書データ管理部15、再利用向け辞書データ生成部16、抽象化設計データ管理部17、抽象化設計データ生成部18及び設計データ具体化部19の何れかで生成された出力情報を受け取り、出力制御部12に入力する。加えて、制御部13は、再利用向け辞書データ生成部16が生成した再利用向け辞書データ22を受信して再利用向け辞書データ管理部15へ送信し、再利用向け辞書データ管理部15は、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する格納領域に再利用向け辞書データ22を記憶する。更に加えて、制御部13は、抽象化設計データ生成部18が生成した抽象化設計データ23を受信して抽象化設計データ管理部17へ送信し、抽象化設計データ管理部17は、記憶装置20にアクセス(アドレス指定)して、抽象化設計データ23を記憶装置20内の対応する格納領域に記憶する。
【0027】
設計データ管理部14は、入力装置30、入力制御部11及び制御部13を介して入力されたユーザからの入力指示に基づいて、設計データ21を登録し、編集し、或いは削除する。具体的には、(1)ユーザが入力装置30を用いて設計データ21の「登録」を選択し指示した場合を考える。このとき、設計データ管理部14は、新たな設計データ21の識別子を採番して、当該識別子を制御部13及び出力制御部12を介して出力装置40に表示することで当該識別子をユーザに認識させると共に、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する格納領域に、入力装置30から入力された新たな設計データ21と採番した上記識別子とを、当該識別子と新たな設計データ21とを対応付ける様に記憶する。(2)これに対して、ユーザが入力装置30を用いて設計データ21の「編集」(設計データの取り出し)を選択し指示して来た場合には、設計データ管理部14は、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する設計データ用の格納領域から、入力装置30から入力された識別子に合致する設計データ21を抽出して、抽出した設計データ21を、制御部13及び出力制御部12を介して、出力装置40に表示する。そして、ユーザは、出力装置40に表示された取り出し対象の設計データ21に対して編集処理を行う。その後、ユーザが、入力装置30を用いて、編集後の設計データの保存(戻し)を選択し、設計データの識別子と編集後の設計データとを入力した場合には、設計データ管理部14は、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する設計データ用の格納領域から、入力された設計データの識別子に合致する設計データ21を読み出し、読み出した設計データ21を入力された編集後の設計データ21に置き換えて、置き換えた後の設計データ21を、再び記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する設計データ用の格納領域に格納する。(3)他方、設計データの削除がユーザにより選択された場合には、設計データ管理部14は、記憶装置20にアクセス(アドレス指定)して、入力装置30から入力された識別子に合致する設計データ21を、記憶装置20内の対応する設計データ用の格納領域から削除する。
【0028】
再利用向け辞書データ管理部15は、入力装置30、入力制御部11及び制御部13を介して入力されたユーザからの入力指示に基づいて、再利用向け辞書データを登録し、編集し、或いは削除する。具体的には、(1)ユーザが入力装置30を用いて再利用向け辞書データの「登録」を選択しその旨の指示を入力信号として入力した場合に、再利用向け辞書データ管理部15は、新たな再利用向け辞書データの識別子を採番して、当該新たな再利用向け辞書データの識別子を、制御部13及び出力制御部12を介して出力装置40に表示することで当該識別子をユーザに認識させると共に、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する再利用向け辞書データ用の格納領域に、再利用向け辞書データ生成部16で生成されて同部16より制御部13を介して取得した再利用向け辞書データ22と採番した新たな再利用向け辞書データ22の識別子とを、当該識別子と新たな再利用向け辞書データ22とを対応付けた上で、記憶する。(2)これに対して、ユーザが入力装置30を用いて再利用向け辞書データ22の「編集」(取出し)を選択して指示して来た場合には、再利用向け辞書データ管理部15は、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する再利用向け辞書データ用の格納領域から、入力装置30より入力された識別子に合致する再利用向け辞書データ22を読み出して(抽出)、制御部13及び出力制御部12を介して、出力装置40に、抽出後の再利用向け辞書データ22を表示させる。そして、ユーザは出力装置40に表示された再利用向け辞書データ22の編集処理を行い、その後に入力装置30を用いて、編集後の再利用向け辞書データ22の保存(戻し)を選択し、編集後の再利用向け辞書データ22と再利用向け辞書データの識別子とを入力した場合には、再利用向け辞書データ管理部15は、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する再利用向け辞書データ用の格納領域から、入力された再利用向け辞書データの識別子に合致する再利用向け辞書データ22を取り出し、取り出した再利用向け辞書データ22を入力された編集後の再利用向け辞書データ22に置き換えた上で、再び記憶装置20にアクセス(アドレス指定)して、置換後の再利用向け辞書データ22を、記憶装置20内の対応する再利用向け辞書データ用の格納領域に格納する。(3)他方、ユーザが再利用向け辞書データ22の削除を選択した場合には、再利用向け辞書データ管理部15は、記憶装置20にアクセス(アドレス指定)して、入力装置30から入力された識別子に合致する再利用向け辞書データ22を記憶装置20内の対応する再利用向け辞書データ用の格納領域から削除する。
【0029】
再利用向け辞書データ生成部16は、次の通りに機能する。先ず、ユーザから再利用向け辞書データ生成のために入力装置30及び入力制御部11を介して制御部13に設計データの識別子が入力された場合に、先ず、制御部13は、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する設計データ用の格納領域から、入力された設計データの識別子に合致する用語集及びクラス図を抽出し、抽出した用語集及びクラス図のデータを再利用向け辞書データ生成部16に送信する。斯かるデータを受信した再利用向け辞書データ生成部16は、(1)用語集からは用語の兄弟関係を取り出し、(2)クラス図からは用語の親子関係を取り出して、用語の兄弟関係及び用語の親子関係を図5に示す用語のグラフ構造に変換することで再利用向け辞書データ22を生成し、生成した再利用向け辞書データ22を制御部13に送信する。斯かる再利用向け辞書データ22を受信した制御部13は、再利用向け辞書データ生成部16によって生成された再利用向け辞書データ22を再利用向け辞書データ管理部15に送信する一方、出力制御部12を介して再利用向け辞書データ生成部16によって生成された再利用向け辞書データ22を出力装置40に表示させる。
【0030】
抽象化設計データ管理部17は、入力装置30、入力制御部11及び制御部13を介して入力されたユーザからの入力指示に基づいて、抽象化設計データを登録し、編集し、或いは削除する。具体的には、(1)ユーザが入力装置30を用いて抽象化設計データ23の「登録」を選択し指示して来た場合には、抽象化設計データ管理部17は、新たな抽象化設計データの識別子を採番して、当該新たな抽象化設計データの識別子を制御部13及び出力制御部12を介して出力装置40に表示してユーザに当該識別子を認識させると共に、抽象化設計データ生成部18で生成された抽象化設計データ23を、制御部13による抽象化設計データ生成部18からの抽象化設計データ23の取り出し処理及び制御部13から抽象化設計データ管理部17への取り出した抽象化設計データ23の送信処理を介して、抽象化設計データ生成部18より取得した上で、その後に、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する抽象化設計データ用の格納領域に、当該新たな抽象化設計データの識別子及び抽象化設計データ生成部18で生成された抽象化設計データ23を、格納する。(2)これに対して、ユーザが抽象化設計データ23の編集、即ち、検索(ユーザは取り出した抽象化設計データ23を画面上で見るだけの処理である。)を選択して指示した場合には、抽象化設計データ管理部17は、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する抽象化設計データ用の格納領域より、入力装置30から入力された識別子に合致する抽象化設計データ23を抽出して、抽出した抽象化設計データ23を、制御部13及び出力制御部12を介して、出力装置40に表示する。(3)他方、ユーザが抽象化設計データ23の削除を選択し指示した場合には、抽象化設計データ管理部17は、記憶装置20にアクセス(アドレス指定)して、入力装置30から入力された識別子に合致する抽象化設計データ23を、記憶装置20内の対応する抽象化設計データ用の格納領域より削除する。
【0031】
抽象化設計データ生成部18は、抽象化設計データを新規に作成する部分である。先ず、ユーザから抽象化設計データの作成指令と共に入力装置30及び入力制御部11を介して入力された識別子を受信した制御部13は、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する設計データ用の格納領域より、入力装置30から入力された識別子に合致する設計データ21を検索し、当該設計データ21内に含まれる用語集、クラス図及びユースケースシナリオを読み出して、当該検索により得られた用語集、クラス図及びユースケースシナリオの各々を抽象化設計データ生成部18に送信する。この送信信号を受けて、抽象化設計データ生成部18は、当該検索により得られた用語集、クラス図及びユースケースシナリオの各々を抽象化設計データ23に加える。更に、制御部13は、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の対応する再利用向け設計データ用の格納領域より、入力装置30から入力された識別子に合致する再利用向け辞書データ22を検索し、検索対象の再利用向け辞書データ22内の再利用向け辞書データ23を読み出して、当該検索により得られた再利用向け辞書データ23を抽象化設計データ生成部18に送信する。この送信信号を受けて、抽象化設計データ生成部18は、当該検索により得られた再利用向け辞書データ22を、用語集、クラス図及びユースケースシナリオが既に加えられている抽象化設計データ23に追加する。そして、抽象化設計データ生成部18は、再利用向け辞書データ23に含まれる用語がユースケースシナリオ中に現れるときには、その出現箇所を、置換可能な変数とし、その変数の値を再利用向け辞書データ22の用語のグラフ構造(図5)の代表用語に設定することで得られるパラメータ化されたユースケースシナリオを抽象化設計データ23に加える。その上で、抽象化設計データ生成部18は、新規に作成された抽象化設計データ23を、制御部13及び出力制御部12を介して、出力装置40に表示する。
【0032】
設計データ具体化部19は、設計データの再利用時に、抽象化設計データ23の指定された修正箇所に修正を施して抽象化設計データ23を具体化し、具体化された設計データをユーザに提示する機能を呈する部分である。具体的には、制御部13は、ユーザから入力装置30及び入力制御部11を介して入力された抽象化設計データ23の識別子を受信し、斯かる識別子に基づいて、記憶装置20にアクセス(アドレス指定)し、記憶装置20内の対応する抽象化設計データ用の格納領域より、入力装置30から入力された識別子に合致する抽象化設計データ23を抽出し、抽出した抽象化設計データ23を設計データ具体化部19に送信する。斯かる抽象化設計データ23を入力された設計データ具体化部19は、入力装置30から入力制御部11及び制御部13を介して入力された「選択された辞書用語あるいは別名辞書用語」に基づいて、抽象化設計データ23中の置換可能な変数の値を、抽象化設計データ23中の再利用向け辞書データ22を探索することで設定し、更に抽象化設計データ23中の置換可能な変数を文字列に変換し、変換後の具体化された抽象化設計データ23を制御部13及び出力制御部12を介して出力装置40に表示させる。
【0033】
次に、図9〜図14の各図面を参照して、本実施の形態に係る設計データ再利用支援プログラムによる制御の下で作動する設計データ再利用支援装置1の動作について記載する。
【0034】
図9は、設計データ再利用支援プログラムの制御の下で作動する設計データ再利用支援装置1の動作の概要を記載するフローチャートである。先ず、ステップS1に於いて、制御部13は全体メニューを表示部40の画面上に表示する。次に、ステップS2に於いて、制御部13は、ユーザにより入力装置30から入力されたメニュー選択情報に基づいて、以後の処理S3〜S5を振り分ける。具体的には、(1)制御部13及び設計データ管理部14の作動によるステップS3の設計データ21の登録/編集/削除の処理、(2)制御部13、設計データ管理部14、再利用向け辞書データ管理部15、再利用向け辞書データ生成部16、抽象化設計データ管理部17、及び抽象化設計データ生成部18の作動によるステップS4の設計データ21の再利用登録の処理、(3)制御部13、設計データ具体化部19、再利用向け辞書データ管理部15、抽象化設計データ管理部17の作動によるステップS5の設計データ21の再利用の処理の、何れかが実行される。各処理S3〜S5の詳細については、図10〜図14の各図面を参照して後述する。
【0035】
ステップS3,S4,S5の何れかの処理が完了すると、ステップS6に於いて、制御部13は、処理を繰り返すかのメニューを表示部40の画面上に表示し、ユーザにより入力装置30から入力されたメニュー選択情報に基づいて、処理の継続が選択されていれば、ステップS1に戻り、処理の終了が選択されていれば、制御部13は、全体の処理を終了させる。
【0036】
ここで、図10は、図9のステップS3を、即ち、制御部13及び設計データ管理部14の作動による設計データ21の登録/編集/削除の処理を示すフローチャートである。
【0037】
先ず、ステップS301に於いて、制御部13は、出力装置40の画面上にメニューを表示する。このメニューには、「設計データの登録」、「設計データの編集」、及び「設計データの削除」が含まれている。
【0038】
ステップS302に於いて、制御部13は、画面上のメニューを見たユーザによって入力装置30からメニューが選択されると、次の処理に進む。
【0039】
(A)ステップS302に於いて、制御部13は、「設計データの登録」が選択されたと判定する場合:
ステップS303に於いて、制御部13は、設計データ21中の何れの登録が選択されたかを判定する。「用語集の登録」が選択された場合には、制御部13は、設計データ管理部14を作動させ、設計データ管理部14は、図2で示したデータ構造に基づいて用語集の雛形を生成し、当該用語集の雛形を新規な設計データ21として出力装置40の画面上に表示する。これに対して、「ユースケースシナリオの登録」が選択された場合には、制御部13は、設計データ管理部14を作動させ、設計データ管理部14は、図3で示したデータ構造に基づいて、ユースケースシナリオの雛形を生成し、当該ユースケースシナリオの雛形を新規な設計データ21として出力装置40の画面上に表示する。更に、選択された設計データ21の登録がクラス図であった場合には、制御部13は、記憶装置20内に記憶されている、例えば市販のUML編集ツールを起動して起動結果を出力装置40の画面上に表示する。又、それ以外の、例えば状態遷移図、シーケンス図、アーキテクチャ仕様、コンポーネント仕様等のシステム又はソフトウェアの開発をする際に作成する成果物を設計データ21として登録しても良いが、その場合には設計データ21の雛形は生成されず、制御部13は、その設計データを編集するのに適した専用の編集ツール(記憶部20内に記憶されている。)を起動して、起動結果を出力装置40の画面上に表示する。尚、本実施の形態で示す用語集、ユースケースシナリオ、及びクラス図以外の定義方法、編集方法、及び保存方法は、本発明の範囲外である。
【0040】
ステップS304に於いて、ユーザが出力装置40の画面上に表示された用語集の雛形等のフォーマットを埋めるべく入力装置30から設計データ21の内容を入力すると、設計データ管理部14は、用語集等の雛形のフォーマットが全て埋められた否かをチェックし、設計データ21の雛形のフォーマットが図2又は図3で示したデータ構造に従って全て埋まって完成するまで、設計データ21の内容が入力され続ける。そして、設計データ管理部14は、設計データ21の雛形のフォーマットが全て埋まって完成したと判断すると、次のステップに進む。
【0041】
ステップS305に於いて、制御部13による制御の下で、設計データ管理部14は、完成した設計データ21に対して設計データIDを発行して、出力装置40にその設計データIDを表示させる。
【0042】
次のステップS306に於いて、制御部13による制御の下で、設計データ管理部14は、設計データIDと完成された設計データ21とを互いに対応付けた上で、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の設計データ用の格納領域内に、上記の設計データIDと完成された設計データ21とを格納する。
【0043】
(B)ステップS302に於いて、制御部13は、「設計データの編集」が選択されたと判定する場合:
ステップS307に於いて、制御部13による制御の下で、設計データ管理部14は、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の設計データ用の格納領域内に格納している全設計データ21の設計データIDを読み出して設計データID一覧を、出力装置40の画面上に表示する。
【0044】
ステップS308に於いて、制御部13は、設計データID一覧を見て編集対象の設計データ21を選択したユーザによる入力装置30からの入力情報より、或る設計データIDが選択されたものと判定すると、ステップS309に於いて、制御部13は設計データ管理部14を作動させて、設計データ管理部14は、記憶装置20にアクセス(アドレス指定)して、選択された設計データIDに基づいて、編集対象の設計データ21を検索し、該当する設計データ21を抽出して、抽出した設計データ21を出力装置40の画面上に表示する。ここでも、本実施の形態で示す用語集、ユースケースシナリオ、及びクラス図以外の定義方法、編集方法、及び保存方法は、本発明の範囲外である。
【0045】
ユーザは、出力装置40の画面上に表示された編集対象の設計データ21に対して、編集処理(編集内容の保存処理)を行う。即ち、ステップS310において、ユーザにより入力制御装置30から保存すべき設計データ21の内容が入力され、設計データ管理部14は、出力装置40に表示した設計データ21の内容をユーザより入力された設計データ21の内容に置換し、最終的に図2及び/又は図3で示したデータ構造に従って設計データ21の編集が完了するまで設計データの内容を編集する処理(置換処理)を実行し、設計データ21の編集が完了したことを判断すると、次のステップに進む。
【0046】
ステップS311に於いて、制御部13による制御の下、設計データ管理部14は、記憶装置20にアクセス(アドレス指定)して、ステップS308で選択された設計データIDと、編集が完了した設計データ21とを、記憶装置20内の設計データ用の格納領域内に格納する。
【0047】
(C)ステップS302に於いて、制御部13は、「設計データの削除」が選択されたと判定する場合:
ステップS312に於いて、制御部13は設計データ管理部14を作動させ、設計データ管理部14は、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の設計データ用格納領域から、全設計データの設計データIDを読み出して設計データID一覧を作成した上で、当該設計データID一覧を出力装置40に表示させる。
【0048】
ステップS313に於いて、制御部13は、入力装置30からの入力でユーザにより或る設計データIDが選択されたと判定すると、ステップS314に於いて、制御部13は設計データ管理部14を作動させ、設計データ管理部14は、記憶装置20にアクセス(アドレス指定)して、ユーザにより選択された設計データIDに基づいて記憶装置20内の設計データ用格納領域内の設計データ21を検索し、選択された設計データIDに該当する設計データ21を設計データ用格納領域より抽出して、抽出された設計データ21を出力装置40に表示させる。そして、ステップS315に於いて、制御部13は設計データ管理部14を作動させて、設計データ管理部14は、記憶装置20にアクセス(アドレス指定)して、該当する設計データ21を記憶装置20内の設計データ用格納領域から削除する。
【0049】
ステップS316に於いて、制御部13は、設計データ21の登録/編集/削除の処理を繰り返すか否かのメニューを出力装置40の画面上に表示し、入力されたメニュー選択情報に基づいて、処理の継続が選択されていれば、ステップS301に戻り、処理の終了が選択されていれば、設計データ21の登録/編集/削除の処理を終了する。
【0050】
図11は、図9のステップS4の処理を、即ち、制御部13、設計データ管理部14、再利用向け辞書データ管理部15、再利用向け辞書データ生成部16、抽象化設計データ管理部17、及び抽象化設計データ生成部18の作動による設計データ21の再利用登録の処理を示すフローチャートである。又、図12は、図11中のステップS410の処理の詳細を示すフローチャートであり、図13は、図11中のステップS420の処理の詳細を示すフローチャートである。
【0051】
先ず、ステップS401に於いて、制御部13は設計データ管理部14を作動させ、設計データ管理部14は、記憶装置20にアクセス(アドレス指定)して、記憶装置20内の設計データ用の格納領域に格納している全設計データ21の設計データIDを読み出して設計データID一覧を作成した上で、当該設計データID一覧を出力装置40の画面上に表示する。
【0052】
次に、ステップS402に於いて、制御部13は、記憶装置20にアクセス(アドレス指定)して、ユーザによって入力装置30から入力された設計データIDに基づいて、設計データIDに対応する設計データ21を、記憶装置20内の設計データ用の格納領域から選択する。このとき、初回の選択であれば、制御部13は抽象化設計データ管理部17を作動させ、抽象化設計データ管理部17は、図6で示す構造に従って抽象化設計データ23の雛形を生成し、制御部13が選択した用語集、クラス図、及びユースケースシナリオを抽象化設計データ23の雛形に追加する。尚、図6には、抽象化設計データ23がユースケースシナリオを含むことを示してはいない。ステップS402に於いて、制御部13による制御の下で抽象化設計データ管理部17は、仮に抽象化設計データ23の雛形にユースケースシナリオを追加しておいて、後述するステップS420に於いてユースケースシナリオをパラメータ化ユースケースシナリオに変換する。
【0053】
ステップS403に於いて、制御部13は、再利用したい設計データを複数個選択するための繰り返し処理を行う。この繰り返し処理により、複数の用語集、複数のクラス図、複数のユースケースシナリオを再利用対象として指定して抽象化設計データ23の雛形に追加することが出来る。この繰り返し処理が終了すると、次のステップS410(図12)に進む。
【0054】
ステップS410は再利用向け辞書データ22の生成を行う処理のフローであり、図12を用いて詳細に記載する。上記の通りこの段階までの処理で既に抽象化設計データ23の雛形が生成されており、その内部には、選択された用語集とクラス図とユースケースシナリオとが含まれている。ステップS411からステップS415までの処理で、図5で示したデータ構造を持つ再利用向け辞書データ22が生成される。
【0055】
先ず、ステップS411に於いて、制御部13は、再利用向け辞書データ生成部16を用いて、抽象化設計データ23の雛形に含まれているクラス図から継承関係を除く関連の定義を削除する。このクラス図は、作業用クラス図として、図1のRAM50(CPUのレジスタとして機能する。)中に保持される。
【0056】
次に、ステップS412に於いて、制御部13は、再利用向け辞書データ生成部16を用いて、抽象化設計データ23の雛形に含まれている作業用クラス図から属性の定義を削除する。
【0057】
次に、ステップS413に於いて、制御部13は、再利用向け辞書データ生成部16を用いて、図5で示した構造を持つ再利用向け辞書データ22の雛形を生成し、作業用クラス図を再利用向け辞書データ22の辞書用語と辞書用語間のparent-child関係に変換することで、再利用向け辞書データ22を作成する。
【0058】
ここで、図15は、作業用クラス図を、再利用向け辞書データ22の辞書用語と辞書用語間のparent-child関係に変換する例を示している。作業用クラス図中のクラスAは、再利用向け辞書データ22の辞書用語Aに変換される。又、作業用クラス図中のクラスBは、再利用向け辞書データ22の辞書用語Bに変換される。作業用クラス図中のクラスAとクラスB間の継承関係は、再利用向け辞書データ22の辞書用語Aと辞書用語B間のparent-child関係に変換される。
【0059】
ステップS414及びS415は再利用向け辞書データ22の生成を行う処理の続きであり、ステップS413までで生成した再利用向け辞書データ22に用語集の情報を追加する処理である。ステップS414に於いて、用語集の用語抽出/併合を行う。具体的には、制御部13は、再利用向け辞書データ生成部16を用いて、抽象化設計データ23の雛形に含まれている用語集の各用語に対して、対応する辞書用語を生成し、生成した辞書用語を再利用向け辞書データ22に追加する。このとき、既存の辞書用語があれば、再利用向け辞書データ生成部16は何も行わない。次に、ステップS415に於いて、用語集からの別名抽出/併合を行う。具体的には、制御部13は、再利用向け辞書データ生成部16を用いて、抽象化設計データ23の雛形に含まれている用語集の各別名に対して、対応する別名辞書用語を生成し、生成した別名辞書用語を再利用向け辞書データ22に追加する。再利用向け辞書データ生成部16は、用語集に於ける用語と別名との関係を、再利用向け辞書データ22に於ける辞書用語と別名辞書用語との間のoriginal関係に変換する。
【0060】
ステップS415の処理を終了すると、制御部13は再利用向け辞書データ22の生成処理(ステップS410)を終了し、再利用向け辞書データ管理部15を用いて、生成された再利用向け辞書データ22を記憶装置20の再利用向け辞書データ用の格納領域内に記憶させた上で、図11のステップS404を行う。
【0061】
ステップS404に於いて、制御部13は、生成された再利用向け辞書データ22を、制御部13の管理下にあるRAM50中に格納されている抽象化設計データ23の雛形に追加して、次のステップS420に進む。
【0062】
ステップS420は抽象化設計データ23の生成処理を行う処理フローであり、図13を用いて、ステップS420に於ける動作を詳細に記載する。上記の通り、ここまでの段階の処理により、抽象化設計データ23の雛形は生成されており、抽象化設計データ23の雛形の内部には、選択された用語集とクラス図とユースケースシナリオが含まれており、更に、生成された再利用向け辞書データ22が含まれている。ステップS421からS423までの処理を通じて、制御部13は、抽象化設計データ23の雛形の内部に、パラメータ化ユースケースシナリオを生成する。
【0063】
先ず、ステップS421に於いて、制御部13は抽象化設計データ生成部18を作動させ、抽象化設計データ生成部18は、ユースケースシナリオのパラメータ化を行う。抽象化設計データ生成部18は、制御部13より送信された抽象化設計データ23の雛形に登録されている全てのユースケースシナリオに対して、ユースケースシナリオのデータをコピーして、パラメータ化ユースケースシナリオのデータを生成する。その際、抽象化設計データ生成部18は、属性変数であるユースケース名称及びアクター名称のデータを、パラメータ化文字列に型変換する。そして、型変換されたパラメータ化文字列が、抽象化設計データ23の雛形中の再利用向け辞書データ22に含まれる辞書用語の辞書用語名称あるいは別名辞書用語の別名辞書用語名称を含んでいるならば、抽象化設計データ生成部18は、パラメータ化文字列の該当部分をパラメータに置き換え、パラメータバリューとして一致した辞書用語あるいは別名辞書用語を設定する。次に、抽象化設計データ生成部18は、ユースケースシナリオの基本系列、代替系列、例外系列のそれぞれのデータをコピーして、パラメータ化基本系列、パラメータ化代替系列、パラメータ化例外系列のデータを生成する。その際、各系列が持つユースケースステップの属性変数であるアクター名称及びステップ記述のデータを、パラメータ化文字列に型変換する。そして、型変換されたパラメータ化文字列が抽象化設計データ23の雛形中の再利用向け辞書データ22に含まれる辞書用語の辞書用語名称あるいは別名辞書用語の別名辞書用語名称を含んでいるならば、抽象化設計データ生成部18は、パラメータ化文字列の該当部分をパラメータに置き換えて、パラメータバリューとして一致した辞書用語あるいは別名辞書用語を設定する。
【0064】
次に、ステップS422に於いて、制御部13は抽象化設計データ生成部18を作動させ、抽象化設計データ生成部18は、ステップS421で生成したパラメータ化ユースケースシナリオに対して、別名辞書用語の置換によるパラメータバリューの決定を行う。具体的には、ステップS421に於いて、抽象化設計データ生成部18は、生成されたパラメータ化文字列のパラメータのパラメータバリューが別名辞書用語であるならば、抽象化設計データ23の雛形中の再利用向け辞書データ22を検索して当該別名辞書に対してoriginal関係にある用語辞書を抽出し、それを新しいパラメータバリューとする。
【0065】
次に、ステップS423に於いて、制御部13は同部13の制御の下で抽象化設計データ生成部18を引き続いて作動させ、抽象化設計データ生成部18は、ステップS421からステップS422までで生成したパラメータ化ユースケースシナリオに対して、抽象化設計データ23の雛形中の再利用向け辞書データ22のparent-child関係を利用したパラメータバリューの決定を行う。具体的には、抽象化設計データ生成部18は、ステップS421とステップS422とで生成されたパラメータ化文字列のパラメータのパラメータバリューが辞書用語であって、それがparent関係にある別の辞書用語を持つならば、それを新しいパラメータバリューとし、この処理をparent関係にある別の辞書用語が抽出出来なくなるまで繰り返す。この繰り返し処理を通じて、抽象化設計データ23の雛形は完成されて、抽象化設計データ23が生成される。抽象化設計データ生成部18は、生成された抽象化設計データ23を制御部13に送信する。
【0066】
ステップS420の処理を終了すると、制御部13は抽象化設計データ23の生成処理を終了し、図11のステップS405を実行する。ステップS405に於いて、制御部13は抽象化設計データ管理部17を作動させて、自己の管理下にあるRAM50中に保持されている抽象化設計データ生成部18から送信されて来た抽象化設計データ23を抽象化設計データ管理部17に送信する。その送信を受けて、抽象化設計データ管理部17は、記憶装置20をアクセス(アドレス指定)し、抽象化設計データ23を、記憶装置20内の抽象化設計データ用の格納領域内に格納し、設計データの再利用登録を終了する。
【0067】
図14は、制御部13、設計データ具体化部19、再利用向け辞書データ管理部15、及び抽象化設計データ管理部17の作動による設計データの再利用処理を示すフローチャートである。
【0068】
先ず、ステップS501に於いて、制御部13は同部13の制御の下で抽象化設計データ管理部17を作動させ、抽象化設計データ管理部17は、記憶装置20をアクセス(アドレス指定)し、記憶装置20内の抽象化設計データ用の格納領域内に格納されている全抽象化設計データのIDを読み出して抽象化設計データのID一覧を作成した上で、当該抽象化設計データのID一覧を出力装置40に表示させる。
【0069】
ステップS502に於いて、制御部13は、抽象化設計データのID一覧を見て選択したユーザによる入力装置30からの指示に従って、抽象化設計データIDを選択する。
【0070】
ステップS503に於いて、制御部13は抽象化設計データ管理部17を作動させて選択された抽象化設計データIDの情報を抽象化設計データ管理部17へ送信し、抽象化設計データ管理部17は、記憶装置20をアクセス(アドレス指定)し、選択されたIDに基づいて、記憶装置20内の抽象化設計データ用の格納領域から対応する抽象化設計データ23を抽出して、抽出した抽象化設計データ23を出力装置40に表示させる。このとき、抽象化設計データ23に含まれる再利用向け辞書データ22も、出力装置40に表示させる。
【0071】
次のステップS504に於いて、制御部13は、入力装置30からの入力信号に基づく判定を行い、出力装置40の画面上に表示された抽象化設計データ23の中にユーザが再利用したいものが無い場合に該当する「やり直し」がユーザにより指定されたならば、ステップS501に戻って、抽象化設計データ23の検索をやり直す。入力装置30からの入力信号に基づく判定の結果、「やり直し」が指定されていなければ、制御部13は、再利用に用いる抽象化設計データ23が確定したと判断して、次のステップS505に進む。
【0072】
ステップS505に於いて、制御部13は、この時点で出力装置40に表示されている再利用向け辞書データ22に含まれる辞書用語あるいは別名辞書用語の情報からユーザが選択した辞書用語あるいは別名辞書用語の情報を、入力装置30から入力信号として受け取る。
【0073】
ステップS506に於いて、制御部13は、同部13の制御の下で設計データ具体化部19を作動させて、選択した辞書用語あるいは別名辞書用語の情報を、確定した再利用用の抽象化設計データ23と共に、設計データ具体化部19に送信し、当該送信信号の受信に応じて、設計データ具体化部19は、選択された辞書用語あるいは別名辞書用語によるパラメータ化ユースケースシナリオのパラメータバリューの決定を行う。設計データ具体化部19は、ステップS505で選択された辞書用語あるいは別名辞書用語のルート辞書用語を抽出し、パラメータ化ユースケースシナリオが持つパラメータ化文字列のパラメータバリューが、抽出されたルート辞書用語と同一であった場合に、パラメータ化ユースケースシナリオを、選択された辞書用語あるいは別名辞書用語で置き換え、制御部13は次のステップに進む。
【0074】
ステップS507に於いて、制御部13は、設計データ具体化部19を用いて、ステップS501からS504までで選択された抽象化設計データ23から設計データを生成する。具体的には、設計データ具体化部19は、抽象化設計データ23に含まれるパラメータ化ユースケースシナリオが持つ全てのパラメータ化文字列を文字列に変換することで、ユースケースシナリオを生成する。設計データ具体化部19は、パラメータ化文字列を文字列に変換する処理に於いて、パラメータ化文字列のパラメータをパラメータバリューに設定されている辞書用語あるいは別名辞書用語の属性変数である辞書用語名称あるいは別名辞書用語名称に置き換える。
【0075】
ステップS508に於いて、制御部13は、生成された設計データを出力装置40の画面上に表示し、設計データの再利用の処理を終了する。
【0076】
上述した様に、本実施の形態に係る設計データ再利用支援装置1は、設計データの内で、用語集、ユースケースシナリオ、及びクラス図のデータ構造を再利用に適したデータ構造に定義し、再利用向け辞書データ生成部16、再利用向け辞書データ管理部15、抽象化設計データ生成部18、及び抽象化設計データ管理部17が、設計データ21を再利用時の修正箇所が明確化された形に抽象化した抽象化設計データ23として蓄積し、再利用時には、設計データ具体化部19が抽象化設計データ23の修正箇所に修正を施した形で設計データを具体化して利用者に提示することが出来る。このため、設計データ作成者の設計能力に依存しない形で再利用に適した設計データが得られ、更に、再利用に適した形式に変換された抽象化設計データ23が本装置1内に於いて自動生成により得られ、設計データ21の再利用時には設計データ21の修正箇所が明確であり、設計データ21の再利用容易性を向上させることが出来ると言う効果が得られる。
【0077】
(実施の形態2)
図16は、本実施の形態に係る設計データ再利用支援装置1Aの構成を示すブロック図である。図16中、図1と同一の参照符号を有する構成要素は同等の構成要素を示す。図1の構成要素と相違する点は、抽象化設計データ検索部31を更に備えている点にある。
【0078】
ここでは、再利用向け辞書データ22の辞書用語或いは別名辞書用語がキーワードを用いて特定されているものとする。このとき、抽象化設計データ23を選択する場合に、入力装置30からユーザによって入力された検索キーワードに基づいて、制御部13より送信された抽象化設計データ23に含まれる再利用向け辞書データの辞書用語あるいは別名辞書用語を検索し、辞書用語あるいは別名辞書用語と検索キーワードとが一致した抽象化設計データ23を出力装置40に表示する抽象化設計データ検索部31を備えていても良い。このときの処理のフローを、図14を用いて記載する。
【0079】
ステップS501からステップS504までは制御部13は抽象化設計データ管理部17を用いて、抽象化設計データ23の検索を行い、入力装置30からの入力信号に基づく判定の結果、やり直しが指定されていなければ、再利用に用いる抽象化設計データ23が確定したと判断して、次のステップS505に進むが、この処理フローが、制御部13、抽象化設計データ管理部17及び抽象化設計データ検索部31による抽象化設計データの検索に置き換えられ、抽象化設計データ23が確定したステップS505以降の処理フローは実施の形態1の場合と同様である。
【0080】
この構成によれば、別のソフトウェア開発に於いて設計データを再利用しようとして抽象化設計データ23を検索する際に、単に抽象化設計データ管理部17が既に記憶装置20内の抽象化設計データ用格納領域に蓄積されている抽象化設計データ23のIDの一覧を表示して抽象化設計データ23の選択を促す以上の利便性が得られて検索性が向上し、しかも、検索性を向上させるためにメタ情報を整備するという付加的な作業も必要とせずに設計データの再利用が進む様になると言う利点が得られる。
【0081】
(実施の形態3)
図17は、本実施の形態に係る設計データ再利用支援装置1Bの構成を示すブロック図である。図17中、図1と同一の参照符号を有する構成要素は同等の構成要素を示す。図1の構成要素と相違する点は、再利用向け辞書データカスタマイズ部32を更に備えている点にある。本実施の形態では、再利用向け辞書データカスタマイズ部32を用いて、ユーザにとって使いたい辞書用語或いは別名辞書用語を、抽象化設計データ23に含まれる再利用向け辞書データ中に追加・編集する点に、その特徴点がある。
【0082】
即ち、設計データ具体化部19により抽象化設計データ23を具体化して設計データを得る場合に、入力装置30からのキーワードに基づいて、選択されている抽象化設計データ23に含まれる再利用向け辞書データに辞書用語あるいは別名辞書用語を追加する「再利用向け辞書データカスタマイズ部32」を設けても良い。このときの処理のフローを、図14を用いて説明する。
【0083】
ステップS505では、制御部13は辞書用語/別名辞書用語の選択を行うが、本実施の形態では、再利用向け辞書データカスタマイズ部32による再利用向け辞書データのカスタマイズ処理をステップS505の直前に挿入する。具体的には、ステップS504まででユーザが設計データの再利用に使用したい抽象化設計データ23が確定しているので、当該抽象化設計データ23に含まれる再利用向け辞書データに、再利用向け辞書データカスタマイズ部32はユーザからのキーワードに対応した辞書用語或いは別名辞書用語を追加する。ステップS505以降の処理フローは、実施の形態1の場合と同様である。
【0084】
尚、本実施の形態の構成を実施の形態2の構成に適用することも可能である。
【0085】
以上に記載した本実施の形態の構成により、再利用向けに蓄積されている抽象化設計データ23を具体化して設計データを生成する際に、ユーザが所望する用語を用いた修正を加えることが出来ると言う利点が得られる。
【0086】
(付記)
尚、実施の形態1〜3では、抽象化設計データが設計データ再利用支援プログラムに基づいて中央処理制御装置10によって自動的に生成される場合が記載されたが、この構成に代わって、ユーザ自身によって作成された上記のデータ構造を有する抽象化設計データが記憶装置20内の該当格納領域内に格納される場合には、中央処理制御装置10は、設計データ再利用支援プログラムに基づいて、図14に示す処理を実行することとしても良い。この場合には、図1、図16、及び図17に示された構成要素の内で、抽象化設計データ生成部18のみが不要となり、抽象化設計データ管理部17は、設計データを再利用向けに変換した上記抽象化設計データを編集及び記憶する処理を行う。
【0087】
以上、本発明の実施の形態を詳細に開示し記述したが、以上の記述は本発明の適用可能な局面を例示したものであって、本発明はこれに限定されるものではない。即ち、記述した局面に対する様々な修正や変形例を、この発明の範囲から逸脱することの無い範囲内で考えることが可能である。
【産業上の利用可能性】
【0088】
本発明は、例えば、パーソナルコンピュータを用いた設計システム技術の分野に適用して好適である。
【図面の簡単な説明】
【0089】
【図1】本発明の実施の形態1に係る設計データ再利用支援装置の構成を示すブロック図である。
【図2】実施の形態1に於ける用語集のデータ構造を示す図である。
【図3】実施の形態1に於けるユースケースシナリオのデータ構造を示す図である。
【図4】実施の形態1に於けるユースケースシナリオの例を示す図である。
【図5】実施の形態1に於ける再利用向け辞書データのデータ構造を示す図である。
【図6】実施の形態1に於ける抽象化設計データの構成を模式的に示す図である。
【図7】実施の形態1に於けるパラメータ化ユースケースシナリオのデータ構造を示す図である。
【図8】実施の形態1に於けるパラメータ化文字列の構成を示す図である。
【図9】実施の形態1に係る設計データ再利用支援プログラムの全体の処理を示すフローチャートである。
【図10】実施の形態1に係る設計データ再利用支援プログラムの設計データの登録/編集/削除の処理を示すフローチャートである。
【図11】実施の形態1に係る設計データ再利用支援プログラムの設計データの再利用登録の処理を示すフローチャートである。
【図12】実施の形態1に係る設計データ再利用支援プログラムの再利用向け辞書データ生成処理を示すフローチャートである。
【図13】実施の形態1に係る設計データ再利用支援プログラムの抽象化設計データ生成処理を示すフローチャートである。
【図14】実施の形態1に係る設計データ再利用支援プログラムの設計データ再利用処理を示すフローチャートである。
【図15】実施の形態1に係る設計データ再利用支援装置のデータ変換処理を示す図である。
【図16】本発明の実施の形態2に係る設計データ再利用支援装置の構成を示すブロック図である。
【図17】本発明の実施の形態3に係る設計データ再利用支援装置の構成を示すブロック図である。
【符号の説明】
【0090】
1,1A,1B 設計データ再利用支援装置、10 中央処理制御装置、11 入力制御部、12 出力制御部、13 制御部、14 設計データ管理部、15 再利用向け辞書データ管理部、16 再利用向け辞書データ生成部、17 抽象化設計データ管理部、18 抽象化設計データ生成部、19 設計データ具体化部、20 記憶装置、21 設計データ、22 再利用向け辞書データ、23 抽象化設計データ、30 入力装置、40 出力装置。
【特許請求の範囲】
【請求項1】
ソフトウェア開発の成果物である設計データの再利用を支援する設計データ再利用支援装置であって、
入力装置と、
記憶装置と、
出力装置と、
前記設計データを前記記憶装置に記憶し、ユーザの前記入力装置からの指示に基づいて前記設計データを登録し、編集し、又は削除する処理を行い、当該処理結果を前記出力装置に出力する設計データ管理部と、
設計データを再利用向けに変換した抽象化設計データを前記記憶装置内に記憶及び編集する抽象化設計データ管理部と、
前記記憶装置に記憶されている前記設計データの内でユーザの前記入力装置からの識別子に合致する設計データから用語の親子関係と用語の兄弟関係とを取り出し、取り出した前記用語の親子関係と前記用語の兄弟関係とを用語のグラフ構造に変換することで再利用向け辞書データを生成する再利用向け辞書データ生成部と、
前記設計データを抽象化して前記抽象化設計データを生成する際に利用され、且つ、前記抽象化設計データを具体化して再利用される設計データを生成する際にも利用される前記再利用向け辞書データを前記記憶装置内に記憶及び編集する再利用向け辞書データ管理部と、
前記抽象化設計データ中の置換可能な変数の値を、前記再利用向け辞書データを探索して設定し、更に前記抽象化設計データ中の置換可能な変数を文字列に変換する設計データ具体化部とを備えることを特徴とする、
設計データ再利用支援装置。
【請求項2】
請求項1記載の設計データ再利用支援装置であって、
前記設計データは用語集を含んでおり、
前記用語集は複数の用語を有しており、
前記複数の用語の各々は複数の別名を有しており、
前記再利用向け辞書データ生成部は、前記用語集より前記用語の兄弟関係を取り出すことを特徴とする、
設計データ再利用支援装置。
【請求項3】
請求項1又は2に記載の設計データ再利用支援装置であって、
前記設計データはクラス図を含んでおり、
前記クラス図は、設計モデリング言語UMLのクラス図であり、
前記再利用向け辞書データ生成部は、前記クラス図から前記用語間の親子関係を取り出すことを特徴とする、
設計データ再利用支援装置。
【請求項4】
請求項1乃至3の何れかに記載の設計データ再利用支援装置であって、
前記設計データ及び前記再利用向け辞書データが持つデータ構造をグループ化することで前記抽象化設計データを作成し、且つ、グループ化された再利用向け辞書データに含まれる用語がグループ化された設計データ中に現れるときに、当該設計データ中に現れる前記用語の出現箇所を、置換可能な変数とし、当該変数の値を前記再利用向け辞書データの前記用語のグラフ構造の代表用語に設定する抽象化設計データ生成部を更に備えることを特徴とする、
設計データ再利用支援装置。
【請求項5】
請求項4記載の設計データ再利用支援装置であって、
ユーザの前記入力装置からの検索キーワードに基づいて、再利用向けに前記記憶装置内に記憶されている各抽象化設計データの内で、当該抽象化設計データに於けるグループ化された再利用向け辞書データの辞書用語あるいは別名辞書用語を検索し、前記検索キーワードと前記辞書用語あるいは前記別名辞書用語とが一致した抽象化設計データを、ユーザにより選択された抽象化設計データとして、前記出力装置に表示する抽象化設計データ検索部を更に備えることを特徴とする、
設計データ再利用支援装置。
【請求項6】
請求項4又は5に記載の設計データ再利用支援装置であって、
ユーザの前記入力装置からのキーワードに基づいて、前記抽象化設計データに於けるグループ化された再利用向け辞書データに前記キーワードに対応する前記辞書用語あるいは前記別名辞書用語を追加する再利用向け辞書データ編集部を更に備えており、
前記設計データ具体化部は、前記抽象化設計データ中の置換可能な変数の値を、前記抽象化設計データに於いてグループ化され且つ前記再利用向け辞書データ編集部により編集された再利用向け辞書データを探索して設定することを特徴とする、
設計データ再利用支援装置。
【請求項7】
ソフトウェア開発の成果物である設計データの再利用を支援するための設計データ再利用支援プログラムであって、
前記設計データを記憶装置に記憶し、ユーザの入力装置からの指示に基づいて前記設計データを登録し、編集し、又は削除する処理を行い、当該処理結果を出力装置に出力する設計データ管理処理と、
設計データを再利用向けに変換した抽象化設計データを前記記憶装置内に記憶及び編集する抽象化設計データ管理処理と、
前記記憶装置に記憶されている前記設計データの内でユーザの前記入力装置からの識別子に合致する設計データから用語の親子関係と用語の兄弟関係とを取り出し、取り出した前記用語の親子関係と前記用語の兄弟関係とを用語のグラフ構造に変換することで再利用向け辞書データを生成する再利用向け辞書データ生成処理と、
前記設計データを抽象化して前記抽象化設計データを生成する際に利用され、且つ、前記抽象化設計データを具体化して再利用される設計データを生成する際にも利用される前記再利用向け辞書データを前記記憶装置内に記憶及び編集する再利用向け辞書データ管理処理と、
前記抽象化設計データ中の置換可能な変数の値を、前記再利用向け辞書データを探索して設定し、更に前記抽象化設計データ中の置換可能な変数を文字列に変換する設計データ具体化処理とを、
コンピュータに実行させることを特徴とする、
設計データ再利用支援プログラム。
【請求項1】
ソフトウェア開発の成果物である設計データの再利用を支援する設計データ再利用支援装置であって、
入力装置と、
記憶装置と、
出力装置と、
前記設計データを前記記憶装置に記憶し、ユーザの前記入力装置からの指示に基づいて前記設計データを登録し、編集し、又は削除する処理を行い、当該処理結果を前記出力装置に出力する設計データ管理部と、
設計データを再利用向けに変換した抽象化設計データを前記記憶装置内に記憶及び編集する抽象化設計データ管理部と、
前記記憶装置に記憶されている前記設計データの内でユーザの前記入力装置からの識別子に合致する設計データから用語の親子関係と用語の兄弟関係とを取り出し、取り出した前記用語の親子関係と前記用語の兄弟関係とを用語のグラフ構造に変換することで再利用向け辞書データを生成する再利用向け辞書データ生成部と、
前記設計データを抽象化して前記抽象化設計データを生成する際に利用され、且つ、前記抽象化設計データを具体化して再利用される設計データを生成する際にも利用される前記再利用向け辞書データを前記記憶装置内に記憶及び編集する再利用向け辞書データ管理部と、
前記抽象化設計データ中の置換可能な変数の値を、前記再利用向け辞書データを探索して設定し、更に前記抽象化設計データ中の置換可能な変数を文字列に変換する設計データ具体化部とを備えることを特徴とする、
設計データ再利用支援装置。
【請求項2】
請求項1記載の設計データ再利用支援装置であって、
前記設計データは用語集を含んでおり、
前記用語集は複数の用語を有しており、
前記複数の用語の各々は複数の別名を有しており、
前記再利用向け辞書データ生成部は、前記用語集より前記用語の兄弟関係を取り出すことを特徴とする、
設計データ再利用支援装置。
【請求項3】
請求項1又は2に記載の設計データ再利用支援装置であって、
前記設計データはクラス図を含んでおり、
前記クラス図は、設計モデリング言語UMLのクラス図であり、
前記再利用向け辞書データ生成部は、前記クラス図から前記用語間の親子関係を取り出すことを特徴とする、
設計データ再利用支援装置。
【請求項4】
請求項1乃至3の何れかに記載の設計データ再利用支援装置であって、
前記設計データ及び前記再利用向け辞書データが持つデータ構造をグループ化することで前記抽象化設計データを作成し、且つ、グループ化された再利用向け辞書データに含まれる用語がグループ化された設計データ中に現れるときに、当該設計データ中に現れる前記用語の出現箇所を、置換可能な変数とし、当該変数の値を前記再利用向け辞書データの前記用語のグラフ構造の代表用語に設定する抽象化設計データ生成部を更に備えることを特徴とする、
設計データ再利用支援装置。
【請求項5】
請求項4記載の設計データ再利用支援装置であって、
ユーザの前記入力装置からの検索キーワードに基づいて、再利用向けに前記記憶装置内に記憶されている各抽象化設計データの内で、当該抽象化設計データに於けるグループ化された再利用向け辞書データの辞書用語あるいは別名辞書用語を検索し、前記検索キーワードと前記辞書用語あるいは前記別名辞書用語とが一致した抽象化設計データを、ユーザにより選択された抽象化設計データとして、前記出力装置に表示する抽象化設計データ検索部を更に備えることを特徴とする、
設計データ再利用支援装置。
【請求項6】
請求項4又は5に記載の設計データ再利用支援装置であって、
ユーザの前記入力装置からのキーワードに基づいて、前記抽象化設計データに於けるグループ化された再利用向け辞書データに前記キーワードに対応する前記辞書用語あるいは前記別名辞書用語を追加する再利用向け辞書データ編集部を更に備えており、
前記設計データ具体化部は、前記抽象化設計データ中の置換可能な変数の値を、前記抽象化設計データに於いてグループ化され且つ前記再利用向け辞書データ編集部により編集された再利用向け辞書データを探索して設定することを特徴とする、
設計データ再利用支援装置。
【請求項7】
ソフトウェア開発の成果物である設計データの再利用を支援するための設計データ再利用支援プログラムであって、
前記設計データを記憶装置に記憶し、ユーザの入力装置からの指示に基づいて前記設計データを登録し、編集し、又は削除する処理を行い、当該処理結果を出力装置に出力する設計データ管理処理と、
設計データを再利用向けに変換した抽象化設計データを前記記憶装置内に記憶及び編集する抽象化設計データ管理処理と、
前記記憶装置に記憶されている前記設計データの内でユーザの前記入力装置からの識別子に合致する設計データから用語の親子関係と用語の兄弟関係とを取り出し、取り出した前記用語の親子関係と前記用語の兄弟関係とを用語のグラフ構造に変換することで再利用向け辞書データを生成する再利用向け辞書データ生成処理と、
前記設計データを抽象化して前記抽象化設計データを生成する際に利用され、且つ、前記抽象化設計データを具体化して再利用される設計データを生成する際にも利用される前記再利用向け辞書データを前記記憶装置内に記憶及び編集する再利用向け辞書データ管理処理と、
前記抽象化設計データ中の置換可能な変数の値を、前記再利用向け辞書データを探索して設定し、更に前記抽象化設計データ中の置換可能な変数を文字列に変換する設計データ具体化処理とを、
コンピュータに実行させることを特徴とする、
設計データ再利用支援プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2009−151432(P2009−151432A)
【公開日】平成21年7月9日(2009.7.9)
【国際特許分類】
【出願番号】特願2007−327130(P2007−327130)
【出願日】平成19年12月19日(2007.12.19)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
【公開日】平成21年7月9日(2009.7.9)
【国際特許分類】
【出願日】平成19年12月19日(2007.12.19)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
[ Back to top ]