JP4895373B2 - ソフトウェア成果物再利用方法及びそのシステム - Google Patents

ソフトウェア成果物再利用方法及びそのシステム Download PDF

Info

Publication number
JP4895373B2
JP4895373B2 JP2006293691A JP2006293691A JP4895373B2 JP 4895373 B2 JP4895373 B2 JP 4895373B2 JP 2006293691 A JP2006293691 A JP 2006293691A JP 2006293691 A JP2006293691 A JP 2006293691A JP 4895373 B2 JP4895373 B2 JP 4895373B2
Authority
JP
Japan
Prior art keywords
concept
vocabulary
task
subject
product
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006293691A
Other languages
English (en)
Other versions
JP2008112246A (ja
Inventor
正輝 井上
正崇 佐藤
寛 吉田
信吾 堀内
貴司 井上
哲哉 山村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2006293691A priority Critical patent/JP4895373B2/ja
Publication of JP2008112246A publication Critical patent/JP2008112246A/ja
Application granted granted Critical
Publication of JP4895373B2 publication Critical patent/JP4895373B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、ソフトウェア開発においてソフトウェア成果物を作成する方法及びそのシステム、並びに作成したソフトウェア成果物を記憶装置等に登録し、検索を行って、ソフトウェア成果物を再利用する方法及びそのシステムに関する。
ソフトウェア開発において、効率的な開発を行うために、既存ソフトウェア開発で作成された仕様書、設計書等のソフトウェア成果物を再利用することが有効とされており、従来からRAS(Reusable Asset Specification)で代表されるような再利用方法の検討がなされている(例えば、非特許文献1参照)。
再利用を行うためには、作成されたソフトウェア成果物を記憶装置に登録した後に、新規ソフトウェア開発時に最も類似するソフトウェア成果物を記憶装置から検索する必要がある。
"Reusable Asset Specification Version 2.1", October 2003, Object Management Group, インターネット<URL:http://www.omg.org/docs/ad/03-10-12.pdf>
しかしながら、ソフトウェア成果物を検索するには、以下の問題が存在する。 通常、検索を行う場合、作成しようとするソフトウェアに関連するキーワードを設定し、そのキーワードが含まれるソフトウェア成果物を取得する。このときソフトウェア成果物は、自然言語やUML(Unified Modeling Language)等で記述されるが、どのようにソフトウェア成果物を作成すべきかは明確に定められていないため、作成者の知識や経験に依存している。そのため作成されるソフトウェア成果物の内容が属人的になり、同じ機能を示すものであっても、その内容が作成者毎に異なってしまう。例えば、ある情報をシステムに登録する機能について、動作手順に関わるソフトウェア成果物を作成する場合、作成者Aは、“1:情報入力、2:情報登録、3:結果表示”と作成し、別の作成者Bは、“1:情報を入力、2:情報を設定する、3:結果を表示”と作成する可能性がある。このような場合、同じ機能を表すソフトウェア成果物であっても、“登録”というキーワードで作成者Aが作成したソフトウェア成果物を取得することができる一方で、作成者Bが作成したソフトウェア成果物を取得することができない。また、既存のソフトウェア成果物の中に作成者Aが作成したソフトウェア成果物が無い場合には、作成者Bが作成したソフトウェア成果物は、登録に関わる機能であるにも拘らず、“登録”というキーワードを用いて検索されることがない。従って、キーワード検索を行った場合、再利用可能なソフトウェア成果物があったとしても、そのソフトウェア成果物を取得できないといった問題がある。
また、異なる機能を示すものであっても、ソフトウェア成果物が同じ内容になってしまう場合もある。例えば、ある情報をシステムに登録する機能について、動作手順として、“1:情報入力、2:情報登録、3:結果表示”が作成され、またある別の情報を端末上の画面に登録する機能について、動作手順として、“1:情報入力、2:情報登録、3:結果表示”と作成される可能性がある。この場合、“登録”というキーワードで検索した場合、両方のソフトウェア成果物が取得され、どちらを再利用すべきか不明である。この場合、作成しようとしている機能が、仮にシステム登録に関わる機能であったときに、画面登録に関わるソフトウェア成果物を選んでしまった場合、再利用は困難になる恐れがある。従って、キーワードによる検索を行った場合、合致するキーワードが取得したソフトウェア成果物に含まれていたとしても、再利用可能なものでないといったことが発生する。
さらに、キーワードだけでなく、途中まで作成したソフトウェア成果物を基に既存ソフトウェア成果物を検索する方法もあるが、上記と同様に作成されるソフトウェア成果物の内容が属人的なものであるため、取得したソフトウェア成果物が再利用可能なものでないといったことが発生する。
既存技術であるRASはソフトウェア開発成果物をAssetと呼ばれる単位で管理し、このAssetを他のソフトウェア開発で再利用するための仕様であり、上記の問題を解決することはできない。
本発明は前記問題点に鑑みてなされたものであり、その目的とするところは、ソフトウェア開発の効率を向上させることができるソフトウェア成果物再利用方法及びそのシステムを提供することにある。
発明のソフトウェア成果物再利用方法は、前記目的を達成するために、ソフトウェアが実現する機能に対する振舞が複数のタスクのフローとして記述されている動的なソフトウェア成果物を再利用するために、ソフトウェア開発において主体語彙、動作語彙及びパラメータ語彙からなるタスクをコンピュータ装置を用いて作成することにより動的なソフトウェア成果物を作成するとともに、作成した動的なソフトウェア成果物をコンピュータ装置を用いて所定の記憶装置に登録し、前記記憶装置に既に登録されている複数の動的なソフトウェア成果物から必要とする動的なソフトウェア成果物をコンピュータ装置を用いて検索するソフトウェア成果物再利用方法であって、前記コンピュータ装置は、前記タスクの主体、動作及びパラメータのそれぞれを表す概念を抽象的な概念から具体的な概念に展開する階層構造をなす主体概念体系、動作概念体系及びパラメータ概念体系と、各概念体系の概念にそれぞれ対応する主体語彙、動作語彙及びパラメータ語彙と、各概念体系について作成対象の動的なソフトウェア成果物のタスクを構成可能な概念の階層を表す成果物制約情報と、主体概念と該主体概念に対応する主体語彙とを結び付けるとともにパラメータ概念と該パラメータ概念に対応するパラメータ語彙とを結び付ける結び付け情報と、動作概念と該動作概念の動作を行うことが可能な主体概念とを対応付ける動作ルールとを前記記憶装置に登録し、動的なソフトウェア成果物作成時に、作成対象となる動的なソフトウェア成果物のタスクを構成可能な主体語彙、動作語彙及びパラメータ語彙を前記結び付け情報及び前記成果物制約情報及び前記動作ルールに基づいて記憶装置から取得するとともに、取得した主体語彙、動作語彙及びパラメータ語彙を選択可能とした後に、作成者によって選択された主体語彙、動作語彙及びパラメータ語彙に基づいてタスクを作成し、動的なソフトウェア成果物登録時に、前記作成されたタスクを、開発対象の動的なソフトウェアの他の開発工程において作成された動的なソフトウェア成果物のタスクと関係付けた状態で前記記憶装置に登録し、動的なソフトウェア成果物検索時に、動的なソフトウェア成果物を検索するために上記のように作成されたタスクの主体語彙、動作語彙及びパラメータ語彙のそれぞれに対応する主体概念、動作概念及びパラメータ概念の少なくとも一つが同じであるタスクを有する動的なソフトウェア成果物を前記記憶装置から検索するとともに、検索された動的なソフトウェア成果物に基づいて既に作成された他の動的なソフトウェア成果物を記憶装置から取得して提示している。
さらにまた、本発明のソフトウェア成果物再利用システムは、前記目的を達成するために、ソフトウェアが実現する機能に対する振舞が複数のタスクのフローとして記述されている動的なソフトウェア成果物を生成するために、ソフトウェア開発において主体語彙、動作語彙及びパラメータ語彙からなるタスクを作成することにより動的なソフトウェア成果物を作成するとともに、作成した動的なソフトウェア成果物を記憶手段に登録し、前記記憶手段に既に登録されている複数の動的なソフトウェア成果物から必要とする動的なソフトウェア成果物を検索して提示するソフトウェア成果物再利用システムであって、情報入力手段と、情報提示手段と、前記動的なソフトウェア成果物が格納されて登録されるとともに、前記タスクの主体、動作及びパラメータのそれぞれを表す概念を抽象的な概念から具体的な概念に展開する階層構造をなす主体概念体系、動作概念体系及びパラメータ概念体系と、各概念体系の概念にそれぞれ対応する主体語彙、動作語彙及びパラメータ語彙と、各概念体系について作成対象の動的なソフトウェア成果物のタスクを構成可能な概念の階層を表す成果物制約情報と、主体概念と該主体概念に対応する主体語彙とを結び付けるとともにパラメータ概念と該パラメータ概念に対応するパラメータ語彙とを結び付ける結び付け情報と、動作概念と該動作概念の動作を行うことが可能な主体概念とを対応付ける動作ルールとが格納される記憶手段と、動的なソフトウェア成果物作成時に、作成対象となる動的なソフトウェア成果物のタスクを構成可能な主体語彙、動作語彙及びパラメータ語彙を前記結び付け情報及び前記成果物制約情報及び前記動作ルールに基づいて記憶装置から取得するとともに、取得した主体語彙、動作語彙及びパラメータ語彙を選択可能とする取得手段と、取得手段によって取得された主体語彙、動作語彙及びパラメータ語彙から情報入力手段によって選択された主体語彙、動作語彙及びパラメータ語彙に基づいてタスクを作成する作成手段と、動的なソフトウェア成果物登録時に、前記作成手段によって作成されたタスクを、開発対象の動的なソフトウェアの他の開発工程において作成された動的なソフトウェア成果物のタスクと関係付けた状態で記憶手段に登録する登録手段と、動的なソフトウェア成果物検索時に、動的なソフトウェア成果物を検索するために作成手段によって作成されたタスクの主体語彙、動作語彙及びパラメータ語彙のそれぞれに対応する主体概念、動作概念及びパラメータ概念の少なくとも一つが同じであるタスクを有する動的なソフトウェア成果物を記憶手段から検索するとともに、検索された動的なソフトウェア成果物に基づいて既に作成された他の動的なソフトウェア成果物を記憶手段から取得して提示する検索手段とを備えている。
これにより、検索用タスク列の主体語彙、動作語彙及びパラメータ語彙の少なくとも一つと配列が最も類似したタスク列を有するソフトウェア成果物が検索されるので、同じ機能を表すソフトウェア成果物のタスクの主体語彙、動作語彙及びパラメータ語彙が異なっていたとしても、そのソフトウェア成果物を検索することができる。
本発明のソフトウェア成果物再利用方法及びそのシステムによれば、例えばソフトウェア成果物の作成者が異なる場合でも、同じ主体語彙、動作語彙及びパラメータ語彙を用いてタスクを作成することができるので、ソフトウェア成果物の作成者の属人性を排除することができ、タスクの粒度が統一されたソフトウェア成果物を作成することができる。また、同じ機能を表すソフトウェア成果物のタスクの主体語彙、動作語彙及びパラメータ語彙が異なっていたとしても、そのソフトウェア成果物を検索することができるので、既に作成されたソフトウェア成果物を正確に検索することができ、既存のソフトウェア成果物を容易に再利用することができる。従って、ソフトウェア開発の効率を向上させることができる。
以下に図面を参照して本発明の一実施形態を説明する。
<前提>
本発明のソフトウェア成果物には、開発するソフトウェアの振舞を規定するための動的情報を表現した動的成果物と、開発するソフトウェアがその振舞を実行するために必要なデータ情報を規定する静的成果物とが存在し、本実施形態では、動的成果物を作成及び再利用するシステムについて説明する。
本発明のソフトウェア成果物作成及び再利用システム10は、周知のCPUを主体として構成されたコンピュータ装置からなり、図1に示すとおり、成果物描画部11、制御部12、成果物リポジトリ13、語彙リポジトリ14、概念体系リポジトリ15及びユーザインタフェース部16から構成されている。
成果物描画部11は、図2に示すような成果物描画画面20をユーザインタフェース部16に描画するためのモジュールであり、既存CASEツールを用いても構わない。
制御部12は、前述した5つのモジュール11,13〜16と接続され、各モジュール間の情報、または各モジュール間の情報を組合わせた情報を、受け渡すモジュールである。
成果物リポジトリ13は、作成されたソフトウェア成果物を保存するモジュールである。
語彙リポジトリ14は、後述のタスクの主体語彙及びパラメータ語彙を保存するモジュールである。
概念体系リポジトリ15は、後述の主体概念体系、動作概念体系、パラメータ概念体系、成果物ルール及び動作ルールを保存するモジュールである。
ユーザインタフェース部16は、キーボードやマウス等を含む情報入力部(図示省略)及びディスプレイ等の表示器を含む情報提示部(図示省略)を備え、制御部12を介して成果物リポジトリ13、語彙リポジトリ14及び概念体系リポジトリ15に接続されて、これらへの情報アクセスが可能になっている。また、ユーザインタフェース部16は、動的成果物作成者が入力する登録・検索に必要な情報の受付部であり、また成果物リポジトリ13に記憶されている階層構造の表示、及び登録・検索結果を表示するものである。
また、成果物描画画面20は、作成対象のソフトウェア成果物を選択するための成果物選択部21と、ソフトウェア成果物に含まれるタスクの内容を表すためのタスク表示部22と、作成または検索されたソフトウェア成果物を描画するための描画部23と、タスクの主体語彙を表示するための主体表示部24と、タスクの動作語彙を表示するための動作表示部25と、タスクのパラメータ語彙を表示するためのパラメータ表示部26とから構成されている。また、描画部23には、作成されたソフトウェア成果物を成果物リポジトリ13に登録するための登録指示部(図示省略)と、登録されているソフトウェア成果物を検索するための検索指示部(図示省略)が設けられている。
<動的成果物タスクの形式化>
動的成果物には、ソフトウェアが実現する機能に対する振舞が複数のタスクのフローとして記述されている。この一つのタスク30は、図3に示すように、入力主体31、出力主体32、動作33、パラメータ34の4つの要素からなるものとして表現される。タスクを自然言語にした場合、入力主体31、出力主体32、動作33、パラメータ34は、主語、間接目的語、述語、目的語にそれぞれ該当するものである。ここで、「オペレータがOLT(Optical Line Terminal)情報を端末に入力する」というタスクの入力主体31の語彙は「オペレータ」、出力主体32の語彙は「端末」、動作33の語彙は「入力する」、パラメータ34の語彙は「OLT情報」となる。また、UMLにおけるシーケンス図のメッセージからタスクを表現する場合には、タスク30は図4のように示される。
動的成果物は、表現する機能が同じものであっても、その詳細度がソフトウェア開発工程毎に異なっている。即ち、図5に示すように、上流工程の動的成果物に記載されるタスク30aの粒度は、下流工程の動的成果物30b,30c,30dに記載されるタスクよりも粗くなっており、上流工程の動的成果物の一つのタスク30aは、下流工程の動的成果物において複数のタスク30b,30c,30dに分解されている。この上流工程でのタスク30aと下流工程でのタスク30b,30c,30dとの関係を「達成関係」40として表現することとし、作成された動的成果物のタスク及び工程毎のタスク間の関係は図5に示す構造で表現される。なお、この構造をタスク達成構造と呼ぶ。
また、タスクを表現する主体、動作、パラメータについて、開発するソフトウェアの範囲において共通的に利用される概念を、それぞれ図6、図7及び図8のように予め体系化しておく。図6は主体概念体系を表す図、図7はパラメータ概念体系を表す図、図8は動作概念を表す図である。これらの概念体系は、抽象的な概念から具体的な概念へ展開される木構造を有するものであり、概念が展開される毎に階層レベルが増加するようになっている。また、動的成果物のタスクを表現するために使用可能な主体概念、動作概念及びパラメータ概念の階層レベルが予め対応付けられており、この対応付けを表すルール(以下、成果物ルールと呼ぶ)は図9のように定められる。なお、各概念体系及び成果物ルールは概念体系リポジトリ15に登録されている。
さらに、主体概念体系の少なくとも一つの概念は、開発するソフトウェアの成果物内で利用する主体語彙と結び付けられ、この結び付け情報は図10のように定められる。例えば、「概念6」という主体概念を用いてタスクを表現する場合には、ソフトウェア成果物内のタスクは「語彙Aa」という主体語彙を用いて表現される。また、パラメータ概念体系の少なくとも一つの概念は、上記と同様にパラメータ語彙と結び付けられ、この結び付け情報は図11のように定められる。このとき、語彙が概念体系の概念と同じ名前であっても構わない。また、この語彙及び概念との結び付けは、成果物作成前に予め作成しておいても構わないし、成果物作成と合わせて作成しても構わない。さらに、主体語彙と主体概念との結び付け情報及びパラメータ語彙とパラメータ概念との結び付け情報は、それぞれ語彙リポジトリ14に登録されている。
さらにまた、動作概念については、その動作を行うことが可能な主体概念と対応付けられ、この対応付けルール(以下、動作ルールとよぶ)は図12のように定められる。例えば、図12に示すように、「主体概念1」という主体概念は「動作概念1」という動作を利用することができ、「主体概念3」という主体概念は「動作概念2」という動作を利用することができる。なお、動作ルールは概念体系リポジトリ15に登録されている。
<成果物作成>
作成者は、成果物描画画面20の成果物選択部21において、作成しようとする動的成果物を選択する。このとき、制御部12は、主体語彙と主体概念との結び付け情報、パラメータ語彙とパラメータ概念との結び付け情報及び成果物ルールに基づいて、使用可能な主体及びパラメータの語彙を、それぞれ語彙リポジトリ14から取得するとともに、使用可能な動作の語彙を概念体系リポジトリ15から取得して、成果物描画画面20の主体表示部24、動作表示部25及びパラメータ表示部26に表示させる。作成者は、各表示部24〜26に表示された主体語彙、動作語彙及びパラメータ語彙の中から入力主体、出力主体、動作、パラメータに該当するものを選択することにより、作成しようとするソフトウェア機能を実現するために必要なタスクを作成する。この場合、主体語彙及び動作語彙は、動作ルールに基づいて選択可能となるので、動作ルールで対応付けられていない主体語彙と動作語彙とを組合わせたタスクが作成されることを防止することができる。このとき描画部23に描画される動的成果物の形式は、自然言語及びアクティビティ図やシーケンス図等のUMLに基づく図であっても構わない。作成者は、全てのタスクを同様に作成することにより、動的成果物を作成する。
次に、作成者は、上流(または下流)工程の動的成果物を成果物選択部21にて選択する。上記と同様に、各表示部24〜26には、使用可能な主体、動作及びパラメータの語彙がそれぞれ表示される。作成者は、それらの中から入力主体、出力主体、動作、パラメータに該当するものを選択し、上流(または下流)工程の動的成果物を作成する。このとき、先に作成した動的成果物のタスク(以下、既存タスクと呼ぶ)及び現在作成中のタスク(以下、作成中タスクと呼ぶ)が、タスク表示部22に表示される。作成者は、タスク表示部22にて作成中タスクがどの既存タスクを簡略化(または詳細化)したものであるかを表すタスク間関連情報を入力する。
以上の操作を繰り返すことにより、必要とする動的成果物を作成する。
<成果物登録>
動的成果物作成後、作成者は、成果物描画画面20の登録指示部において動的成果物の登録を指示する。このとき、制御部12は、各タスクの要素情報及びタスク間関連情報に基づいて、作成した動的成果物をタスク達成構造表現に変換し、成果物リポジトリ13に登録する。この場合、タスク間関連情報は、タスク達成構造表現における達成関係40に変換される。
また、上記と同様に他の動的成果物を成果物描画画面20にて作成し、登録を行う。なお、動的成果物の登録は全ての動的成果物を作成してから行っても構わないし、一つの動的成果物を作成する毎に行っても構わない。
<類似成果物検索>
次に、既に作成及び登録されたソフトウェアとは異なるソフトウェアの動的成果物を作成する場合に、登録されたソフトウェアの動的成果物の中から作成対象となる動的成果物に類似する動的成果物を検索する方法について説明する。
作業者は、成果物描画画面20において、成果物作成時と同様に、新たなソフトウェアの成果物に使用される語彙を語彙リポジトリ14に登録しておき、その語彙を選択することによって、動的成果物を作成する。
作業者が、成果物描画画面20の検索指示部において類似成果物検索を指示したとき、制御部12は、作成した動的成果物をタスク達成構造表現に変換し、このタスク達成構造表現と最も合致する既存成果物のタスク達成構造表現を成果物リポジトリ13から検索する。
合致条件は、タスク達成構造表現におけるタスクの動作の並びが合致するか否か、タスクの動作及びその動作に付随する入力主体と出力主体の並びが合致するか否か、またはタスクの動作及びその動作に付随する入力主体、出力主体及びパラメータの並びが合致するか否かの何れか一つを作業者が選択することにより決定され、制御部12は、決定された合致条件に基づいて検索を行う。
さらに、合致条件として、タスク達成構造表現における階層、即ちソフトウェア成果物を指定することも可能である。
タスクの動作が合致するか否かは、動作の語彙が同一か否かで判定する。また、タスクの主体及びパラメータが合致するか否かは、その語彙が結び付けられている概念を概念体系リポジトリ15から取得して、概念が互いに同一か否かで判定する。
制御部12は合致条件に従って、最も合致するタスクが多いタスク達成構造を取得し、更に作業者が作成した動的成果物の下流に位置する動的成果物に対応するタスク列を取得する。次に制御部12は、そのタスク列を該当下流成果物の形式に変換して、成果物描画画面20の描画部23に表示する。
作業者は、描画部23に表示された動的成果物を再利用可能成果物として利用する。
以下、一例として、通信装置の制御・管理を行うソフトウェアを適用する。
ソフトウェア開発において作成する動的成果物として、UC(ユースケース)、中間生成物、UC記述、概念シーケンス1、概念シーケンス2を想定する。UC、中間生成物及びUC記述は自然言語で記述され、概念シーケンス1及び概念シーケンス2はUMLのシーケンス図で記述されるものである。作成手順としては、UC、中間生成物、UC記述、概念シーケンス1、概念シーケンス2の順で作成される。UCはソフトウェア機能を最も抽象化した動的成果物であり、一つのタスクで構成される。中間生成物は、最終的な成果物として残す必要は無いが、UCとUC記述との関連情報を保持するために必要な成果物である。UC記述は、UCを詳細化した動的成果物であり、複数のタスクから構成されている。概念シーケンス1は、UC記述を更に詳細化したものであり、UC記述と同様に複数のタスクから構成されている。概念シーケンス2は、概念シーケンス1のパラメータを詳細化したものである。
また、動作概念体系として図13、主体概念体系として図14、パラメータ概念体系として図15、成果物ルールとして図16、動作ルールとして図17が予め構築されているものとする。
即ち、図13に示す動作概念体系では、動作概念101が第1階層(レベル1)の「登録する」という概念111と、「削除する」という概念112と、「変更する」という概念113と、「検索する」という概念114と、第2階層(レベル2)の「送信する」という概念121と、第3階層(レベル3)の「確認する」という概念136に分岐されている。
また、「登録する」という概念111は、レベル2の「登録する」という概念122に展開され、「削除する」という概念112は、レベル2の「削除する」という概念123に展開されている。
さらに、レベル2の「送信する」という概念121は、レベル3の「送信する」という概念131に展開され、レベル2の「登録する」という概念122は、レベル3の「登録する」という概念132と、「設定する」という概念133に分岐されている。また、レベル2の「削除する」という概念123は、レベル3の「削除する」という概念134と、「解除する」という概念135に分岐されている。
さらにまた、レベル3の「送信する」という概念131は、第4階層(レベル4)の「送信する」という概念141と、「表示する」という概念142とに分岐され、レベル3の「登録する」という概念132は、レベル4の「仮登録する」という概念143と、「一括登録する」という概念144とに分岐されている。また、レベル3の「削除する」という概念134は、レベル4の「仮削除する」という概念145と、「一括削除する」という概念146とに分岐され、レベル3の「確認する」という概念136は、レベル4の「存在確認する」という概念147と、「非存在確認する」という概念148に分岐されている。
図14に示す主体概念体系では、主体概念201が第1階層(レベル1)の「オペレータ」という概念211と、「システム」という概念212とに分岐されている。
また、「オペレータ」という概念211は、第2階層(レベル2)の「オペレータ」という概念221に展開され、「システム」という概念212は、レベル2の「ME」という概念222と、「管理システム」という概念223に分岐されている。
さらに、レベル2の「オペレータ」という概念221は、第3階層(レベル3)の「オペレータ」という概念231に展開され、レベル2の「ME」という概念222は、レベル3の「NE」という概念232に展開されている。また、「管理システム」という概念223は、レベル3の「端末」という概念233と、「サーバ」という概念234と、「DB」という概念235に分岐されている。
図15に示すパラメータ概念体系では、パラメータ概念301が第1階層(レベル1)の「エリア」という概念311と、「ビル」という概念312と、「収容装置」という概念313と、「NWカード」という概念314とに分岐されている。
また、「エリア」という概念311は第2階層(レベル2)の「エリア属性」という概念321に、「ビル」という概念312はレベル2の「ビル属性」という概念322に、「収容装置」という概念313はレベル2の「収容装置属性」という概念323に、「NWカード」という概念314はレベル2の「NWカード属性」という概念324に、それぞれ展開されている。
なお、各概念体系、成果物ルール及び動作ルールは、概念体系リポジトリ15に登録されている。
<成果物作成>
既存ソフトウェアの一例として、通信装置Aに関する業務を支援する業務サポートシステムAを取り上げる。
まず、業務サポートシステムAの成果物における主体語彙と主体概念との結び付け情報として図18に示すものを、パラメータ語彙とパラメータ概念との結び付け情報として図19に示すものを、語彙リポジトリ14に事前に登録しておく。
ここで一例として、装置Aに関する装置情報を業務サポートシステムAが保有するデータベースに登録する機能についての動的成果物を作成・登録する場合について説明する。
最初にUCを作成する。作成者は、成果物描画画面20の成果物選択部21においてUCを選択する。制御部12は、UC作成時においてタスクを構成可能な主体概念、動作概念及びパラメータ概念のレベルを概念体系リポジトリ15に登録された成果物ルールから特定する。この場合、図16の成果物ルールを参照すると、UC作成時に利用可能な主体概念、動作概念及びパラメータ概念のレベルは、それぞれレベル1、レベル1及びレベル1である。制御部12は、成果物ルールに基づいて、動作語彙を概念体系リポジトリ15から取得するとともに、図18及び図19の結び付け情報に基づいて、主体語彙及びパラメータ語彙を語彙リポジトリ14から取得する。そして、取得された主体語彙、動作語彙及びパラメータ語彙は、成果物描画画面20の主体表示部24、動作表示部25及びパラメータ表示部26にそれぞれ表示される。作成者は、各表示部24〜26に表示された語彙を選択することにより、UCを作成する。ここで、主体語彙及び動作語彙は、図17の動作ルールに基づいて選択可能となっている。この場合、作成されたUCは、描画部23に表示される。なお、本例では、図20に示すようなUCが作成される。
次に、UCとUC記述との間の中間生成物を作成する。作成者は、成果物描画画面20の成果物選択部21において、中間生成物を選択する。この場合、図16の成果物ルールより中間成果物で利用可能な主体概念、動作概念及びパラメータ概念のレベルは、それぞれレベル1、レベル2及びレベル1である。制御部12は、成果物ルールに基づいて、動作語彙を概念体系リポジトリ15から取得するとともに、図18及び図19の結び付け情報に基づいて、主体語彙及びパラメータ語彙を語彙リポジトリ14から取得する。そして、取得された主体語彙、動作語彙及びパラメータ語彙は、成果物描画画面20の主体表示部24、動作表示部25及びパラメータ表示部26にそれぞれ表示される。作成者は、各表示部24〜26に表示された語彙を選択することにより、中間生成物を作成する。ここで、主体語彙及び動作語彙は、図17の動作ルールに基づいて選択可能となっている。この場合、作成された中間生成物は、描画部23に表示される。本例では、図21に示すように、中間生成物が三つのタスクの並びで表現される。また、この三つのタスクは、UCのタスク1を詳細化したものであり、UCのタスク1との達成関係が一意になることから、三つのタスクとUCのタスク1とが自動的に結び付けられる。
次にUC記述を作成する。作成者は、成果物描画画面20の成果物選択部21において、UC記述を選択する。この場合、図16の成果物ルールよりUC記述で利用可能な主体概念、動作概念及びパラメータ概念のレベルは、それぞれレベル2、レベル3及びレベル1である。制御部12は、成果物ルールに基づいて、動作語彙を概念体系リポジトリ15から取得するとともに、図18及び図19の結び付け情報に基づいて、主体語彙及びパラメータ語彙を語彙リポジトリ14から取得する。そして、取得された主体語彙、動作語彙及びパラメータ語彙は、成果物描画画面20の主体表示部24、動作表示部25及びパラメータ表示部26にそれぞれ表示される。作成者は、各表示部24〜26に表示された語彙を選択することにより、UC記述を作成する。ここで、主体語彙及び動作語彙は、図17の動作ルールに基づいて選択可能となっている。この場合、作成されたUC記述は、描画部23に表示される。なお、本例では、図22に示すように、UC記述が四つのタスクの並びで表現される。また、UC記述タスク1は中間生成物タスク1を詳細化したものであり、UC記述タスク2及び3は中間生成物タスク2を詳細化したものであり、UC記述タスク4は中間生成物タスク3を詳細化したものである。よって、これらの達成関係が一意になることから、UC記述タスクと中間生成物のタスクとが自動的に結び付けられる。
次に概念シーケンス1を作成する。作成者は、成果物描画画面20の成果物選択部21において、概念シーケンス1を選択する。この場合、図16の成果物ルールより概念シーケンス1で利用可能な主体概念、動作概念及びパラメータ概念のレベルは、それぞれレベル3、レベル4及びレベル1である。制御部12は、成果物ルールに基づいて、動作語彙を概念体系リポジトリ15から取得するとともに、図18及び図19の結び付け情報に基づいて、主体語彙及びパラメータ語彙を語彙リポジトリ14から取得する。そして、取得された主体語彙、動作語彙及びパラメータ語彙は、成果物描画画面20の主体表示部24、動作表示部25及びパラメータ表示部26にそれぞれ表示される。作成者は、各表示部24〜26に表示された語彙を選択することにより、概念シーケンス1を作成する。ここで、主体語彙及び動作語彙は、図17の動作ルールに基づいて選択可能となっている。この場合、作成された概念シーケンス1は、描画部23に表示される。この成果物はUMLにおけるシーケンス図として、図23のように表現される。図23における1番目、2番目のメッセージ401,402はUC記述タスク1を詳細化したものであり、3番目、4番目、5番目及び6番目のメッセージ403,404,405,406はUC記述タスク2を詳細化したものであり、7番目及び8番目のメッセージ407,408はUC記述タスク3を詳細化したものであり、9番目及び10番目のメッセージ409,410はUC記述タスク4を詳細化したものである。なお、これらの達成関係は一意にならないことから、作成者はタスク表示部22にて、表示されたUC記述タスクと概念シーケンス1の各メッセージとを、GUI操作により達成関係として結び付ける。達成関係を結び付けた後のタスク表示部22の例を図24に示す。
最後に概念シーケンス2を作成する。作成者は、成果物描画画面20の成果物選択部21において、概念シーケンス2を選択する。この場合、図16の成果物ルールより概念シーケンス1で利用可能な主体概念、動作概念及びパラメータ概念のレベルは、それぞれレベル3、レベル4及びレベル2である。制御部12は、成果物ルールに基づいて、動作語彙を概念体系リポジトリ15から取得するとともに、図18及び図19の結び付け情報に基づいて、主体語彙及びパラメータ語彙を語彙リポジトリ14から取得する。そして、取得された主体語彙、動作語彙及びパラメータ語彙は、成果物描画画面20の主体表示部24、動作表示部25及びパラメータ表示部26にそれぞれ表示される。作成者は、各表示部24〜26に表示された語彙を選択することにより、概念シーケンス2を作成する。ここで、主体語彙及び動作語彙は、図17の動作ルールに基づいて選択可能となっている。この場合、作成された概念シーケンス2は、描画部23に表示される。また、概念シーケンス2の表現形式はUMLにおけるシーケンス図として、図25のように表現される。概念シーケンス2の各メッセージ501〜510は、概念シーケンス1の各メッセージのパラメータを詳細化したものであり、各メッセージ間の達成関係が自動的に結び付けられる。
<成果物登録>
描画部23の登録指示部において作成者が登録を指示することにより、成果物リポジトリ13には、図26及び図27に示すような、UCから概念シーケンス2までのタスク達成構造が登録される。ここで、タスク達成構造の1階層目にはUC51が、2階層目には中間生成物52が、3階層目にはUC記述53が、4階層目には概念シーケンス154が、5階層目には概念シーケンス255が表現されている。
<類似成果物検索>
例として、新たに通信装置Bに関する業務を支援する業務サポートシステムBを取り上げる。
まず、業務サポートシステムBの成果物における主体語彙と主体概念との結び付け情報として図28に示すものを、パラメータ語彙とパラメータ概念との結び付け情報として図29に示すものを、語彙リポジトリ14に事前に登録しておく。
ここで一例として、装置Bに関する装置情報を業務サポートシステムBが保有するデータベースに登録する機能についての動的成果物を登録する場合について説明する。
作業者は、前述した成果物作成の場合と同様に、成果物描画画面20において、UC、中間生成物及びUC記述を作成する。この場合、作成されたUCは図30、中間生成物は図31、UC記述は図32のように示される。
作成者は、成果物描画画面20の検索指示部において類似成果物検索を指示する。この場合、情報入力部を用いて検索対象となるソフトウェア成果物を指定する。また、制御部12は、UC、中間生成物及びUC記述を図33に示すようなタスク達成構造表現に変換する。なお、図33のタスク達成構造の1階層目にはUC61が、2階層目には中間生成物62が、3階層目にはUC記述63が表現される。
検索対象である既存成果物のタスク達成構造表現の例として、前述の成果物登録の例で作成された図26のものと、ここで新たに追加する業務サポートシステムAの通信装置Aの情報をDBから削除する機能に関する図34のものを想定する。ここで、図34のタスク達成構造の1階層目にはUC71が、2階層目には中間生成物72が、3階層目にはUC記述73が、4階層目には概念シーケンス174が表現される。
作成者が、タスク達成構造表現の3階層目、即ちUC記述におけるタスク動作の並びを合致条件として指示した場合、以下の処理が行われる。
まず、図33に示された業務サポートシステムBのタスク達成構造表現におけるUC記述63のタスク動作の並びと、図26に示された業務サポートシステムAの装置情報登録のタスク達成構造表現におけるUC記述53のタスク動作の並びとが互いに同一か否かを判定し、その類似度を算出する。ここで、類似度の算出方法について説明すると、図32に示された業務サポートシステムBのタスク達成構造表現におけるUC記述63のタスク動作の並びは、{送信する、確認する、登録する、送信する}であり、図26に示された業務サポートシステムAの装置情報登録のタスク達成構造表現におけるUC記述53のタスク動作の並びは、{送信する、確認する、登録する、送信する}である。これらの各タスク動作は全て一致するため、類似度として1を有する。
次に、図33に示された業務サポートシステムBのタスク達成構造表現におけるUC記述63のタスク動作の並びと、図34に示された業務サポートシステムAの装置情報削除のタスク達成構造表現におけるUC記述73のタスク動作の並びとが互いに同一か否かを判定し、その類似度を算出する。図33に示された業務サポートシステムBのタスク達成構造表現におけるUC記述63のタスク動作の並びは、{送信する、確認する、登録する、送信する}であり、図34に示された業務サポートシステムAの装置情報削除のタスク達成構造表現におけるUC記述73のタスク動作の並びは、{送信する、確認する、削除する、送信する}である。これらの各タスク動作は4つのうち3つのみ一致するため、類似度として3/4=0.75を有する。
よって、類似度1である業務サポートシステムAの装置情報登録を最も類似する成果物とし、タスク達成構造表現の4階層目、即ち概念シーケンス154のタスクの並びを取得する。
また、作成者が、タスク達成構造表現の3階層目、即ちUC記述におけるタスク動作及びタスク主体の並びを合致条件として指示した場合、以下の処理が行われる。
まず、図33に示された業務サポートシステムBのタスク達成構造表現におけるUC記述63のタスク動作及びタスク主体の並びと、図26に示された業務サポートシステムAの装置情報登録のタスク達成構造表現におけるUC記述53のタスク動作及びタスク主体の並びとが互いに同一か否かを判定し、その類似度を算出する。図33においてUC記述63のタスク動作の並びは、{送信する、確認する、登録する、送信する}であり、タスク入力主体及び出力主体の並びは、{ユーザ;サポートシステムB、サポートシステムB;なし、サポートシステムB;なし、サポートシステムB;ユーザ}である。一方、図26においてUC記述53のタスク動作の並びは、{送信する、確認する、登録する、送信する}であり、タスク主体及び出力主体の並びは、{操作者;サポートシステムA、サポートシステムA;なし、サポートシステムA;なし、サポートシステムA;操作者}である。従って、各タスク動作は全て一致する。また、タスク主体の語彙は互いに異なっているが、それらが結び付けられている概念は全て一致する。例えば、業務サポートシステムBの1番目のタスクの主体は、ユーザとサポートシステムBであり、これらが結び付けられている概念は、それぞれオペレータと管理システムである。また業務サポートシステムAの1番目のタスクの主体は、操作者とサポートシステムAであり、これらが結び付けられている概念は、それぞれオペレータと管理システムであることから、業務サポートシステムBのものと一致する。また、他のタスク主体についても上記と同様に結び付けられた概念が一致する。以上のように、タスク動作及びタスク主体が一致するため、業務サポートシステムAの装置情報登録に対して、類似度1を有する。
次に、図33に示された業務サポートシステムBのタスク達成構造表現におけるUC記述63のタスク動作及びタスク主体の並びと、図34に示された業務サポートシステムAの装置情報削除のタスク達成構造表現におけるUC記述73のタスク動作及びタスク主体の並びとが互いに同一か否かを判定し、その類似度を算出する。図33においてUC記述63のタスク動作の並びは、{送信する、確認する、登録する、送信する}であり、タスク主体の並びは、{ユーザ;サポートシステムB、サポートシステムB;なし、サポートシステムB;なし、サポートシステムB;ユーザ}である。一方、図34において、UC記述73のタスク動作の並びは、{送信する、確認する、削除する、送信する}であり、タスク入力主体及び出力主体の並びは、{操作者;サポートシステムA、サポートシステムA;なし、サポートシステムA;なし、サポートシステムA;操作者}である。タスク主体に関しては、結び付けられた概念が全て一致するが、タスク動作に関しては、4つタスク動作のうち3つのタスク動作が一致する。よって類似度として、業務サポートシステムAの装置情報削除に対して、類似度3/4=0.75を有する。
よって、類似度1である業務サポートシステムAの装置情報登録を最も類似する成果物とし、タスク達成構造表現の4階層目、即ち概念シーケンス154のタスクの並びを取得する。
さらに、作成者が、タスク達成構造表現の3階層目におけるタスク動作、タスク主体及びタスクパラメータの並びを合致条件として指示した場合、以下の処理が行われる。
まず、図33に示された業務サポートシステムBのタスク達成構造表現におけるUC記述63のタスク動作、タスク主体及びタスクパラメータの並びと、図26に示された業務サポートシステムAの装置情報登録のタスク達成構造表現におけるUC記述53のタスク動作、タスク主体及びタスクパラメータの並びとが互いに同一か否かを判定し、その類似度を算出する。図33においてUC記述63のタスク動作の並びは、{送信する、確認する、登録する、送信する}であり、タスク入力主体及び出力主体の並びは、{ユーザ;サポートシステムB、サポートシステムB;なし、サポートシステムB;なし、サポートシステムB;ユーザ}であり、タスクパラメータの並びは、{管理対象装置;エリア;収容ビル、管理対象装置、管理対象装置、管理対象装置;エリア;収容ビル}である。一方、図26において、UC記述53のタスク動作の並びは、{送信する、確認する、登録する、送信する}であり、タスク入力主体及び出力主体の並びは、{操作者;サポートシステムA、サポートシステムA;なし、サポートシステムA;なし、サポートシステムA;操作者}であり、タスクパラメータの並びは、{装置情報;保守エリア情報;収容ビル情報、装置情報、装置情報、装置情報;保守エリア情報;収容ビル情報}である。各タスク動作及びタスク主体は、全て一致する。また、タスクパラメータの語彙は互いに異なるが、それらが結びついている概念は全て一致する。例えば、業務サポートシステムBの1番目のタスクのパラメータは、管理対象装置、エリア及び収容ビルであり、これらが結び付けられている概念は、それぞれ収容装置、エリア及びビルである。また、業務サポートシステムAの1番目のタスクのパラメータは、装置情報、保守エリア情報及び収容ビル情報であり、これらが結び付けられている概念は、それぞれ収容装置、エリア及びビルであるから、業務サポートシステムBのものと一致する。他のタスクパラメータについても同様に結び付けられた概念が一致する。以上のように、タスク動作、タスク主体及びタスクパラメータが一致するため、業務サポートシステムAの装置情報登録に対して、類似度1を有する。
次に、図33に示された業務サポートシステムBのタスク達成構造表現におけるUC記述63のタスク動作、タスク主体及びタスクパラメータの並びと、図34に示された業務サポートシステムAの装置情報削除のタスク達成構造表現におけるUC記述73のタスク動作、タスク主体及びタスクパラメータの並びとが同一か否かを判定し、その類似度を算出する。図33においてUC記述63のタスク動作の並びは、{送信する、確認する、登録する、送信する}であり、タスク主体の並びは、{ユーザ;サポートシステムB、サポートシステムB;なし、サポートシステムB;なし、サポートシステムB;ユーザ}であり、タスクパラメータの並びは、{管理対象装置;エリア;収容ビル、管理対象装置、管理対象装置、管理対象装置;エリア;収容ビル}である。一方、図34において、UC記述73のタスク動作の並びは、{送信する、確認する、削除する、送信する}であり、タスク主体の並びは、{操作者;サポートシステムA、サポートシステムA;なし、サポートシステムA;なし、サポートシステムA;操作者}であり、タスクパラメータの並びは、{装置情報;保守エリア情報;収容ビル情報、装置情報、装置情報、装置情報;保守エリア情報;収容ビル情報}である。タスク主体及びタスクパラメータに関しては、結び付けられた概念が全て一致するが、タスク動作に関しては、4つタスク動作のうち3つのタスク動作が一致する。よって類似度として、業務サポートシステムAの装置情報削除に対して、類似度3/4=0.75を有する。
よって、類似度1である業務サポートシステムAの装置情報登録を最も類似する成果物とし、タスク達成構造表現の4階層目、即ち概念シーケンス154のタスクの並びを取得する。
さらにまた、作成者が、タスク達成構造表現の2階層目及び3階層目におけるタスク動作の並びを合致条件として指示した場合には、各階層毎に類似度を算出し、その類似度の積を最終的な類似度として得る。例えば、図33に示された業務サポートシステムBのタスク達成構造表現におけるUC記述63のタスク動作の並びと、図26に示された業務サポートシステムAの装置情報登録のタスク達成構造表現におけるUC記述53のタスク動作の並びとの類似度は1であり、各中間生成物52,62のタスク動作の並びについても類似度が1となる。従って、これらの積は1であり、これを最終的な類似度とする。また、例えば、図33に示された業務サポートシステムBのタスク達成構造表現におけるUC記述63のタスク動作の並びと、図34に示された業務サポートシステムAの装置情報削除のタスク達成構造表現におけるUC記述73のタスク動作の並びとの類似度は0.75であり、各中間生成物62,72での類似度は2/3=0.67である。従って、これらの積は0.5となり、これを最終的な類似度とする。この二例においては、類似度1である業務サポートシステムAの装置情報登録を最も類似する成果物と判定する。
さらに、作成者が、タスク達成構造表現の2階層目及び3階層目におけるタスク動作、タスク主体及びタスクパラメータの並びを合致条件として指示した場合においても、上記と同様に2階層目での類似度と3階層目での類似度の積を最終的な類似度として算出し、最も高い類似度を有するタスク達成構造表現を取得する。
さらに、作成者が、タスク達成構造表現の2階層目及び3階層目だけでなく1階層目も合致条件として含むように指示した場合にも、上記と同様にそれぞれの階層での類似度の積を最終的な類似度として算出し、最も高い類似度を保有するタスク達成構造表現を取得する。
制御部12は、以上の類似検索の結果、最も類似するタスク達成構造表現の4及び5階層目のタスク列を取得する。具体的には、図27の概念シーケンス154及び概念シーケンス255が取得される。制御部12は、そのタスク列を該当成果物の形式に変換して、成果物描画画面20の描画部23に表示する。具体的には、図23及び図25に示したものが表示される。
前述したように上記実施形態では、例えばソフトウェア成果物の作成者が異なる場合でも、同じ主体語彙、動作語彙及びパラメータ語彙を用いてタスクを作成することができるので、ソフトウェア成果物の作成者の属人性を排除することができ、タスクの粒度が統一されたソフトウェア成果物を作成することができる。また、同じ機能を表すソフトウェア成果物のタスクの主体語彙、動作語彙及びパラメータ語彙が異なっていたとしても、そのソフトウェア成果物を検索することができるので、既に作成されたソフトウェア成果物を正確に検索することができ、既存のソフトウェア成果物を容易に再利用することができる。従って、ソフトウェア開発の効率を向上させることができる。
また、動作概念と、その動作を行うことが可能な主体概念とを対応付けた動作ルールを概念体系リポジトリ15に格納し、語彙リポジトリ14から取得した主体語彙及び動作語彙を動作ルールに基づいて選択可能としているので、動作ルールで対応付けられていない主体語彙と動作語彙とを組合わせたタスクが作成されることを防止することができ、ソフトウェア成果物の作成者の属人性を排除することができる。
さらに、作成されたタスクを、ソフトウェア開発の上流工程または下流工程で作成されたソフトウェア成果物のタスクと達成関係40で関係付けた状態で成果物リポジトリ13に登録しているので、ソフトウェア開発の上流工程または下流工程においてどのタスクを抽象化または具体化したものであるかを容易に知ることができる。
さらにまた、ソフトウェア成果物検索時に、成果物リポジトリ13に登録された複数のソフトウェア成果物から情報入力部を用いて選択されたソフトウェア成果物を検索しているので、ソフトウェア成果物の検索処理を高速化することができる。
本発明の一実施形態におけるソフトウェア成果物作成及び再利用システムの構成を示す図 成果物描画画面を示す図 タスクの構成を示す図 タスクの構成を示す図 タスク達成構造表現を示す図 主体概念体系の概略を示す図 パラメータ概念体系の概略を示す図 動作概念体系の概略を示す図 成果物ルールの概略を示す図 主体概念と主体語彙との結び付け情報の概略を示す図 パラメータ概念とパラメータ語彙との結び付け情報の概略を示す図 動作ルールの概略を示す図 動作概念体系を示す図 主体概念体系を示す図 パラメータ概念体系を示す図 成果物ルールを示す図 動作ルールを示す図 業務サポートシステムAの動的成果物における主体概念と主体語彙との結び付け情報を示す図 業務サポートシステムAの動的成果物におけるパラメータ概念とパラメータ語彙との結び付け情報を示す図 業務サポートシステムAの装置情報登録機能に関するユースケースを示す図 業務サポートシステムAの装置情報登録機能に関する中間生成物を示す図 業務サポートシステムAの装置情報登録機能に関するUC記述を示す図 業務サポートシステムAの装置情報登録機能に関する概念シーケンス1を示す図 業務サポートシステムAの装置情報登録機能に関するタスク表示部の表示内容を示す図 業務サポートシステムAの装置情報登録機能に関する概念シーケンス2を示す図 業務サポートシステムAの装置情報登録機能に関するタスク達成構造表現を示す図 業務サポートシステムAの装置情報登録機能に関するタスク達成構造表現を示す図 業務サポートシステムBの動的成果物における主体概念と主体語彙との結び付け情報を示す図 業務サポートシステムBの動的成果物におけるパラメータ概念とパラメータ語彙との結び付け情報を示す図 業務サポートシステムBの装置情報登録機能に関するユースケースを示す図 業務サポートシステムBの装置情報登録機能に関する中間生成物を示す図 業務サポートシステムBの装置情報登録機能に関するUC記述を示す図 業務サポートシステムBの装置情報登録機能に関するタスク達成構造表現を示す図 業務サポートシステムAの装置情報削除機能に関するタスク達成構造表現を示す図
符号の説明
10…ソフトウェア成果物作成及び再利用システム、12…制御部、13…成果物リポジトリ、14…語彙リポジトリ、15…概念体系リポジトリ、16…ユーザインタフェース部、30…タスク、31…入力主体、32…出力主体、33…動作、34…パラメータ、40…達成関係、51,61,71…UC(ユースケース)、52,62,72…中間生成物、53,63,73…UC記述、54,74…概念シーケンス1、55…概念シーケンス2、101…動作概念、201…主体概念、301…パラメータ概念。

Claims (3)

  1. ソフトウェアが実現する機能に対する振舞が複数のタスクのフローとして記述されている動的なソフトウェア成果物を再利用するために、ソフトウェア開発において主体語彙、動作語彙及びパラメータ語彙からなるタスクをコンピュータ装置を用いて作成することにより動的なソフトウェア成果物を作成するとともに、作成した動的なソフトウェア成果物をコンピュータ装置を用いて所定の記憶装置に登録し、前記記憶装置に既に登録されている複数の動的なソフトウェア成果物から必要とする動的なソフトウェア成果物をコンピュータ装置を用いて検索するソフトウェア成果物再利用方法であって、
    前記コンピュータ装置は、
    前記タスクの主体、動作及びパラメータのそれぞれを表す概念を抽象的な概念から具体的な概念に展開する階層構造をなす主体概念体系、動作概念体系及びパラメータ概念体系と、各概念体系の概念にそれぞれ対応する主体語彙、動作語彙及びパラメータ語彙と、各概念体系について作成対象の動的なソフトウェア成果物のタスクを構成可能な概念の階層を表す成果物制約情報と、主体概念と該主体概念に対応する主体語彙とを結び付けるとともにパラメータ概念と該パラメータ概念に対応するパラメータ語彙とを結び付ける結び付け情報と、動作概念と該動作概念の動作を行うことが可能な主体概念とを対応付ける動作ルールとを前記記憶装置に登録し、
    動的なソフトウェア成果物作成時に、作成対象となる動的なソフトウェア成果物のタスクを構成可能な主体語彙、動作語彙及びパラメータ語彙を前記結び付け情報及び前記成果物制約情報及び前記動作ルールに基づいて記憶装置から取得するとともに、取得した主体語彙、動作語彙及びパラメータ語彙を選択可能とした後に、作成者によって選択された主体語彙、動作語彙及びパラメータ語彙に基づいてタスクを作成し、
    動的なソフトウェア成果物登録時に、前記作成されたタスクを、開発対象の動的なソフトウェアの他の開発工程において作成された動的なソフトウェア成果物のタスクと関係付けた状態で前記記憶装置に登録し、
    動的なソフトウェア成果物検索時に、動的なソフトウェア成果物を検索するために上記のように作成されたタスクの主体語彙、動作語彙及びパラメータ語彙のそれぞれに対応する主体概念、動作概念及びパラメータ概念の少なくとも一つが同じであるタスクを有する動的なソフトウェア成果物を前記記憶装置から検索するとともに、検索された動的なソフトウェア成果物に基づいて既に作成された他の動的なソフトウェア成果物を記憶装置から取得して提示する
    ことを特徴とするソフトウェア成果物再利用方法。
  2. ソフトウェアが実現する機能に対する振舞が複数のタスクのフローとして記述されている動的なソフトウェア成果物を生成するために、ソフトウェア開発において主体語彙、動作語彙及びパラメータ語彙からなるタスクを作成することにより動的なソフトウェア成果物を作成するとともに、作成した動的なソフトウェア成果物を記憶手段に登録し、前記記憶手段に既に登録されている複数の動的なソフトウェア成果物から必要とする動的なソフトウェア成果物を検索して提示するソフトウェア成果物再利用システムであって、
    情報入力手段と、
    情報提示手段と、
    前記動的なソフトウェア成果物が格納されて登録されるとともに、前記タスクの主体、動作及びパラメータのそれぞれを表す概念を抽象的な概念から具体的な概念に展開する階層構造をなす主体概念体系、動作概念体系及びパラメータ概念体系と、各概念体系の概念にそれぞれ対応する主体語彙、動作語彙及びパラメータ語彙と、各概念体系について作成対象の動的なソフトウェア成果物のタスクを構成可能な概念の階層を表す成果物制約情報と、主体概念と該主体概念に対応する主体語彙とを結び付けるとともにパラメータ概念と該パラメータ概念に対応するパラメータ語彙とを結び付ける結び付け情報と、動作概念と該動作概念の動作を行うことが可能な主体概念とを対応付ける動作ルールとが格納される記憶手段と、
    動的なソフトウェア成果物作成時に、作成対象となる動的なソフトウェア成果物のタスクを構成可能な主体語彙、動作語彙及びパラメータ語彙を前記結び付け情報及び前記成果物制約情報及び前記動作ルールに基づいて記憶装置から取得するとともに、取得した主体語彙、動作語彙及びパラメータ語彙を選択可能とする取得手段と、
    取得手段によって取得された主体語彙、動作語彙及びパラメータ語彙から情報入力手段によって選択された主体語彙、動作語彙及びパラメータ語彙に基づいてタスクを作成する作成手段と、
    動的なソフトウェア成果物登録時に、前記作成手段によって作成されたタスクを、開発対象の動的なソフトウェアの他の開発工程において作成された動的なソフトウェア成果物のタスクと関係付けた状態で記憶手段に登録する登録手段と、
    動的なソフトウェア成果物検索時に、動的なソフトウェア成果物を検索するために作成手段によって作成されたタスクの主体語彙、動作語彙及びパラメータ語彙のそれぞれに対応する主体概念、動作概念及びパラメータ概念の少なくとも一つが同じであるタスクを有する動的なソフトウェア成果物を記憶手段から検索するとともに、検索された動的なソフトウェア成果物に基づいて既に作成された他の動的なソフトウェア成果物を記憶手段から取得して提示する検索手段とを備えた
    ことを特徴とするソフトウェア成果物再利用システム。
  3. 前記検索手段は、
    動的なソフトウェア成果物検索時に、前記記憶手段に登録された複数の動的なソフトウェア成果物から前記情報入力手段を用いて選択されたソフトウェア開発工程において作成された動的なソフトウェア成果物を検索対象として検索する
    ことを特徴とする請求項2に記載のソフトウェア成果物再利用システム。
JP2006293691A 2006-10-30 2006-10-30 ソフトウェア成果物再利用方法及びそのシステム Expired - Fee Related JP4895373B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006293691A JP4895373B2 (ja) 2006-10-30 2006-10-30 ソフトウェア成果物再利用方法及びそのシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006293691A JP4895373B2 (ja) 2006-10-30 2006-10-30 ソフトウェア成果物再利用方法及びそのシステム

Publications (2)

Publication Number Publication Date
JP2008112246A JP2008112246A (ja) 2008-05-15
JP4895373B2 true JP4895373B2 (ja) 2012-03-14

Family

ID=39444743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006293691A Expired - Fee Related JP4895373B2 (ja) 2006-10-30 2006-10-30 ソフトウェア成果物再利用方法及びそのシステム

Country Status (1)

Country Link
JP (1) JP4895373B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4486159B1 (ja) * 2009-10-19 2010-06-23 株式会社Osk 業務システムにおけるカスタマイズシステム

Also Published As

Publication number Publication date
JP2008112246A (ja) 2008-05-15

Similar Documents

Publication Publication Date Title
EP2426609B1 (en) Context-based user interface, search, and navigation
US11275579B2 (en) Discovery and authorization optimization of GIT based repositories
US10013238B2 (en) Predicting elements for workflow development
JP2010086521A (ja) ワークフロー管理システム
KR101877828B1 (ko) 인공지능 기반의 사용자 인터페이스 통합 플랫폼 시스템
JP5194581B2 (ja) 文書処理装置および文書処理プログラム
US9330372B2 (en) Generating an improved development infrastructure
Basciani et al. Exploring model repositories by means of megamodel-aware search operators.
El Hamlaoui et al. Heterogeneous models matching for consistency management
JP2009223822A (ja) ソースコード更新通知装置およびソースコード更新通知方法
JP4895373B2 (ja) ソフトウェア成果物再利用方法及びそのシステム
US20190278570A1 (en) Annotating Features of a Resource to Facilitate Consumption in Different Computing Environments
JP2020160854A (ja) コード管理システム、及びコード管理方法
US20140129532A1 (en) Packaging, storing and distributing guidance packages
JP6336922B2 (ja) 業務バリエーションに基づく業務影響箇所抽出方法および業務影響箇所抽出装置
Criado et al. Enabling the reuse of stored model transformations through annotations
Gallina et al. Ontology-based identification of commonalities and variabilities among safety processes
CN117891531B (zh) 用于saas软件的系统参数配置方法、系统、介质及电子设备
Durham et al. Enabling a common and consistent enterprise-wide terminology: An initial assessment of available tools
JP4886626B2 (ja) ソフトウェア成果物管理システム、方法及びそのプログラム
JP5412970B2 (ja) タスク管理システム
JP2010067233A (ja) ワークフロー管理システム、ワークフロー管理方法、及びワークフロー管理プログラム
US20150355903A1 (en) Visualization of code units across disparate systems
JP2007226375A (ja) ソフトウェアコンポーネント再利用方法及びそのシステム
Fillies et al. The semantic process filter bubble

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090114

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110613

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110614

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110615

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110616

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111005

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111219

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111219

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150106

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees