(57)【特許請求の範囲】
【請求項１】
第１のソフトウェア成果物に含まれる、主体、動作及びパラメータからなるタスクに基づいて、第２のソフトウェア成果物に含まれるタスクを、コンピュータを用いて生成することによりソフトウェア成果物を作成するソフトウェア成果物作成システムであって、
前記コンピュータは、
既に作成された複数の第１及び第２のソフトウェア成果物を、各第１のソフトウェア成果物のタスクと、該タスクに基づいて作成された第２のソフトウェア成果物のタスクとを関連付けた状態で記憶する記憶手段と、
記憶手段に記憶された各第１のソフトウェア成果物のタスクのうち、記憶手段に記憶された他の第１のソフトウェア成果物に含まれるタスクの主体及び動作と同一のタスクと、該タスクに関連付けられた第２のソフトウェア成果物のタスクとを取得するタスク取得手段と、
タスク取得手段によって取得された第２のソフトウェア成果物のタスクのうち、タスク取得手段によって取得された他の第２のソフトウェア成果物に含まれるタスクの主体及び動作と同一のタスクを抽出するタスク抽出手段と、
タスク抽出手段によって抽出されたタスクに基づき第２のソフトウェア成果物のタスクを作成する作成手段とを備える
ことを特徴とするソフトウェア成果物作成システム。
【請求項２】
前記タスク抽出手段は、
タスク取得手段によって取得された第２のソフトウェア成果物のタスク列のうち、該タスク列の各タスクの主体、動作及び順序が、タスク取得手段によって取得された他の第２のソフトウェア成果物に含まれるタスク列の各タスクの主体、動作及び順序と同一となるタスク列を抽出し、
前記作成手段は、
タスク抽出手段によって抽出されたタスク列に基づき第２のソフトウェア成果物のタスクを作成する
ことを特徴とする請求項１記載のソフトウェア成果物作成システム。
【請求項３】
第１のソフトウェア成果物に含まれる、主体、動作及びパラメータからなるタスクに基づいて、第２のソフトウェア成果物に含まれるタスクを、コンピュータを用いて生成することによりソフトウェア成果物を作成するソフトウェア成果物作成方法であって、
前記コンピュータは、
既に作成された複数の第１及び第２のソフトウェア成果物を、各第１のソフトウェア成果物のタスクと、該タスクに基づいて作成された第２のソフトウェア成果物のタスクとを関連付けた状態で所定の記憶部に記憶し、
前記記憶部に記憶された各第１のソフトウェア成果物のタスクのうち、該記憶部に記憶された他の第１のソフトウェア成果物に含まれるタスクの主体及び動作と同一のタスクと、該タスクに関連付けられた第２のソフトウェア成果物のタスクとを取得し、
取得された第２のソフトウェア成果物のタスクのうち、取得された他の第２のソフトウェア成果物に含まれるタスクの主体及び動作と同一のタスクを抽出し、
抽出されたタスクに基づき第２のソフトウェア成果物のタスクを作成する
ことを特徴とするソフトウェア成果物作成方法。
【請求項４】
前記コンピュータは、
前記記憶部から取得された第２のソフトウェア成果物のタスク列のうち、該タスク列の各タスクの主体、動作及び順序が、取得された他の第２のソフトウェア成果物に含まれるタスク列の各タスクの主体、動作及び順序と同一となるタスク列を抽出し、
抽出されたタスク列に基づき第２のソフトウェア成果物のタスクを作成する
ことを特徴とする請求項３記載のソフトウェア成果物作成方法。
【請求項５】
請求項３または４項記載の方法をコンピュータに実行させるためのソフトウェア成果物作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発においてソフトウェア成果物を作成するシステム、方法及びそのプログラムに関する。
【背景技術】
【０００２】
ソフトウェア開発では、開発対象のソフトウェアが有する機能等の事項が記載された仕様書を作成した後に、具体的な実装を意識したソフトウェアの構造・アーキテクチャ等が定められた設計書を仕様書に基づき作成する。そして、開発者は、設計書に基づきソフトウェアの実装を行う。これらの仕様書や設計書に記述されたソフトウェアの機能は、ソフトウェアが管理する情報等の静的な側面と、ソフトウェアの動作等の動的な側面という二つの面によって表される。また、上記の情報及び動作は、自然言語を用いた文書やＵＭＬ（Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）等のモデル言語を用いた図等で記述される。ところで、ソフトウェアの規模が大きくなると、ソフトウェアの動作の記述量や複雑さが増大する。これにより、開発者がソフトウェアの動作を記述するための時間が増大することから、ソフトウェア開発にかかるコストが嵩むとともにソフトウェア開発期間が長期化するという問題があった。
【０００３】
そこで、非特許文献１では、上記問題を解決するために、ソフトウェアの動作を時系列で表現したシーケンス図を仕様書／設計書に作成する際に、既に作成されたソフトウェアにおいて頻繁に用いられるソフトウェア動作をパターン化して蓄積しておき、該パターンに基づいてシーケンス図を自動的に生成する方法を提案している。
【０００４】
例えば、ソフトウェアの動作を表すシーケンス図において、図１６に示すように、ソフトウェアの振舞を表す複数のメッセージを、各メッセージ毎に抽象概念を関連付けた状態で蓄積しておく。図１６では、「登録開始」という抽象概念が１番目のメッセージに、「登録」という抽象概念が２番目のメッセージに、「登録終了」という抽象概念が３番目のメッセージにそれぞれ関連付けられている。また、これらの抽象概念は、図１７に示すように、ソフトウェアが扱う管理情報を表現したクラス図の管理情報にも関連付けられている。例えば、「登録開始」という抽象概念は、「装置タイプ」及び「ＩＰアドレス」という管理情報に関連付けられており、「登録」という抽象概念は、「装置タイプ」、「装置Ｎｏ」及び「ＩＰアドレス」という管理情報に関連付けられている。また、「登録終了」という抽象概念は、「装置Ｎｏ」という管理情報に関連付けられている。そして、図１６に示された各メッセージのパラメータ部分に、該メッセージに対応する抽象概念が関連付けられた管理情報が代入されることにより、図１８に示すようなシーケンス図を生成することが可能になる。
【非特許文献１】佐藤他「装置・ＮＷ管理ドメインにおけるパターンを利用したＯＳＳ要求定義方法の提案」、電子情報通信学会技術研究報告  ｖｏｌ．１０５、ｎｏ．６６８、ＴＭ２００５−７０、ｐｐ．８５−９０、２００６年３月
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来例では、ソフトウェア開発者が、既に作成された複数のシーケンス図から共通の動作パターンを抽象概念として抽出し、蓄積する必要がある。この場合、動作パターンをどのように定めるかはソフトウェア開発者の知識及び経験に依存していることから、動作パターンの抽出作業にかかる時間がソフトウェア開発者毎に異なり、効率的なソフトウェア開発の妨げになっている。
【０００６】
本発明は前記問題点に鑑みてなされたものであり、その目的とするところは、ソフトウェア開発の効率を向上させることができるソフトウェア成果物作成システム、方法及びそのプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明のソフトウェア成果物作成システムは、前記目的を達成するために、第１のソフトウェア成果物に含まれる、主体、動作及びパラメータからなるタスクに基づいて、第２のソフトウェア成果物に含まれるタスクを、コンピュータを用いて生成することによりソフトウェア成果物を作成するソフトウェア成果物作成システムであって、前記コンピュータは、既に作成された複数の第１及び第２のソフトウェア成果物を、各第１のソフトウェア成果物のタスクと、該タスクに基づいて作成された第２のソフトウェア成果物のタスクとを関連付けた状態で記憶する記憶手段と、記憶手段に記憶された各第１のソフトウェア成果物のタスクのうち、記憶手段に記憶された他の第１のソフトウェア成果物に含まれるタスクの主体及び動作と同一のタスクと、該タスクに関連付けられた第２のソフトウェア成果物のタスクとを取得するタスク取得手段と、タスク取得手段によって取得された第２のソフトウェア成果物のタスクのうち、タスク取得手段によって取得された他の第２のソフトウェア成果物に含まれるタスクの主体及び動作と同一のタスクを抽出するタスク抽出手段と、タスク抽出手段によって抽出されたタスクに基づき第２のソフトウェア成果物のタスクを作成する作成手段とを備えている。
【０００８】
また、本発明のソフトウェア成果物作成方法は、前記目的を達成するために、第１のソフトウェア成果物に含まれる、主体、動作及びパラメータからなるタスクに基づいて、第２のソフトウェア成果物に含まれるタスクを、コンピュータを用いて生成することによりソフトウェア成果物を作成するソフトウェア成果物作成方法であって、前記コンピュータは、既に作成された複数の第１及び第２のソフトウェア成果物を、各第１のソフトウェア成果物のタスクと、該タスクに基づいて作成された第２のソフトウェア成果物のタスクとを関連付けた状態で所定の記憶部に記憶し、前記記憶部に記憶された各第１のソフトウェア成果物のタスクのうち、該記憶部に記憶された他の第１のソフトウェア成果物に含まれるタスクの主体及び動作と同一のタスクと、該タスクに関連付けられた第２のソフトウェア成果物のタスクとを取得し、取得された第２のソフトウェア成果物のタスクのうち、取得された他の第２のソフトウェア成果物に含まれるタスクの主体及び動作と同一のタスクを抽出し、抽出されたタスクに基づき第２のソフトウェア成果物のタスクを作成している。
【０００９】
さらに、本発明のソフトウェア成果物作成プログラムは、前記目的を達成するために、前記ソフトウェア成果物作成方法をコンピュータに実行させる。
【００１０】
これにより、他の第１のソフトウェア成果物に含まれるタスクの主体及び動作と同一のタスクと、該タスクに関連付けられた第２のソフトウェア成果物のタスクとが取得され、取得された第２のソフトウェア成果物のタスクのうち、他の第２のソフトウェア成果物に含まれるタスクの主体及び動作と同一のタスクが抽出されることから、複数の第２のソフトウェア成果物で共通して用いられるタスクを抽出することが可能となる。
【発明の効果】
【００１１】
本発明のソフトウェア成果物作成システム、方法及びそのプログラムによれば、複数の第２のソフトウェア成果物で共通して用いられるタスクを抽出することができるので、例えば抽出されたタスクを抽象概念として用いた場合には抽象概念の抽出にかかる作業時間を短縮することができ、ソフトウェア開発の効率を大幅に向上させることができる。
【発明を実施するための最良の形態】
【００１２】
以下に図面を参照して本発明の一実施形態を説明する。
【００１３】
＜前提＞
ソフトウェア成果物には、開発対象のソフトウェアの振舞を実現するために必要なデータ情報が規定された静的なソフトウェア成果物（以下、静的成果物と称する。）と、開発対象のソフトウェアの振舞を規定するための動的情報（タスク）が表現された動的なソフトウェア成果物（以下、動的成果物と称する。）とが存在し、本実施形態では、ソフトウェア開発において既に作成された複数の動的成果物から共通のタスクを抽象概念として抽出し、該抽象概念に基づいて新たな動的成果物を生成するソフトウェア成果物作成システムについて説明する。
【００１４】
本発明のソフトウェア成果物作成システム10は、周知のＣＰＵを主体として構成されたコンピュータからなり、図１に示すとおり、表示部11、情報入力部12、動的成果物保存部13、一致タスク保存部14、抽象概念保存部15及び制御部16から構成されている。
【００１５】
表示部11は、液晶ディスプレイ等のように情報を表示するためのモジュールであり、制御部16の制御により図２に示すような成果物描画画面20を表示する。
【００１６】
情報入力部12は、キーボードやマウス等のように情報を入力するためのモジュールであり、入力情報を制御部16に送信する。
【００１７】
動的成果物保存部13は、ソフトウェア開発において既に作成された動的成果物と、後述のタスク構造とを記憶するモジュールである。
【００１８】
一致タスク保存部14は、動的成果物13に記憶された動的成果物に含まれるタスクのうち、他の動的成果物に含まれるタスクと同一のタスク及び該タスクに関連付けられたタスクを保存するモジュールである。
【００１９】
抽象概念保存部15は、一致タスク保存部14に保存されたタスクのうち、複数の動的成果物で共通に用いられるタスクを抽象概念として保存するモジュールである。
【００２０】
制御部16は、上記各モジュール11〜15と接続され、各モジュール11〜15間の情報、または各モジュール11〜15間の情報を組合わせた情報を受け渡すモジュールである。また、制御部16には、ＲＯＭ等の記憶装置が設けられており、制御部16は、記憶装置に記憶されたプログラムを実行することにより各モジュール11〜15の制御を行う。さらに、制御部16には、タスク一致判定部161と抽象概念抽出部162が設けられており、タスク一致判定部161及び抽象概念抽出部162の動作については後述する。
【００２１】
成果物描画画面20は、図２に示すように、作成対象の動的成果物を選択するための成果物選択部21と、作成対象の動的成果物を表示するための描画部22と、作成対象の動的成果物よりも上流の工程で作成された動的成果物のタスクを表示するためのタスク表示部23とから構成されている。また、描画部22には、作成された動的成果物を動的成果物保存部13に登録するための登録指示部（図示省略）と、抽象概念の抽出を指示するための抽出指示部（図示省略）が設けられており、情報入力部12を用いて登録及び抽出を指示することができるようになっている。
【００２２】
なお、本実施形態では、図３に示すように、第１の動的成果物としてのＵＣ（ユースケース）記述に含まれるタスクに基づいて、第２の動的成果物としてのシーケンス図のタスクを生成している。
【００２３】
＜動的成果物タスクの形式化＞
動的成果物には、ソフトウェアが実現する機能に対する振舞が複数のタスクのフローとして記述されている。この一つのタスク30は、入力主体31、出力主体32、動作33及びパラメータ34の４つの要素からなるものとして表現される。タスクを自然言語で表現した場合、入力主体31、出力主体32、動作33、パラメータ34は、主語、間接目的語、述語、目的語にそれぞれ対応する。例えば、図４に示すように、「オペレータは装置情報をサーバに送信する」というタスクの入力主体31は「オペレータ」、出力主体32は「サーバ」、動作33は「送信する」、パラメータ34は「装置情報」となる。また、ＵＭＬにおけるシーケンス図のメッセージからタスクを表現する場合には、タスク30は図５のように示される。なお、図４及び図５のように表現された構造をタスク構造と称し、動的成果物に含まれるタスクやメッセージは、タスク構造に変換されてから動的成果物保存部13に記憶される。
【００２４】
動的成果物は、表現する機能が同じものであっても、動的成果物に含まれるタスクの詳細度（粒度）がソフトウェア開発工程毎に異なっている。即ち、図６に示すように、ソフトウェア開発の上流工程で作成されるＵＣ記述の複数のタスク30a〜30dのうち１番目のタスク30aの粒度は、下流工程で作成されるシーケンス図の１番目のタスク30eに記載されるタスクの粒度よりも粗くなっている。また、ＵＣ記述の２番目のタスク30bがシーケンス図の２、３、４及び５番目のタスク30f,30g,30h,30iに分解されている場合、ＵＣ記述の２番目のタスク30bとシーケンス図の２、３、４及び５番目のタスク30f,30g,30h,30iとの間には、ＵＣ記述の２番目のタスク30bがシーケンス図の各タスク30f,30g,30h,30iの基となったタスクであり、シーケンス図の各タスク30f,30g,30h,30iがＵＣ記述の２番目のタスク30bに基づいて作成されたという関係を有している。本実施形態では、このような関係を表す情報を達成関係40として表現することとし、ＵＣ記述の１番目のタスク30aとシーケンス図の１番目のタスク30e、及びＵＣ記述の２番目のタスク30bとシーケンス図の２、３、４及び５番目のタスク30f,30g,30h,30iは、達成関係40で結び付けられる。この場合、作成された動的成果物のタスク及び工程毎のタスク間の関係は図６に示すような構造で表現される。なお、この構造をタスク達成構造と呼び、タスク達成構造は動的成果物保存部13に記憶される。
【００２５】
＜動的成果物の作成＞
制御部16は、成果物描画画面20を、図２に示すような構成で表示部11に表示させる。開発者は、成果物描画画面20の成果物選択部21において作成しようとする動的成果物（例えばシーケンス図）を選択した後に、描画部22において作成対象の動的成果物を作成する。このとき、制御部16は、成果物選択部21で選択された動的成果物よりも上流の工程で作成された動的成果物（例えばＵＣ記述）のタスクを、動的成果物保存部13から取得してタスク表示部23に表示させる。なお、描画部22に描画される動的成果物の形式は、自然言語や、アクティビティ図及びシーケンス図等のＵＭＬに基づく図であっても構わない。
【００２６】
ここで、開発者は、タスク表示部23に表示された動的成果物のタスクと、描画部22に表示された動的成果物のタスクとの関連付けを行う。この関連付けは、開発者が、タスク表示部23に表示された動的成果物のタスクを選択した後に描画部22に表示された動的成果物のタスクを選択することにより行われる。本実施形態では、既存のＧＵＩ機能を用いて、タスク表示部23に表示されたタスクにポインタを移動させてマウスをクリックした後に、描画部22に表示された動的成果物のタスクをクリックすることにより、それぞれのタスクを関連付けることが可能である。このとき、各タスクには、互いに関連付けられていることを表すタスク間関係情報が制御部16により生成される。
【００２７】
なお、動的成果物の他の作成方法として、出願人が提案した特願２００７−１９８８４５号に記載の技術を用いてもよい。
【００２８】
＜成果物登録＞
動的成果物作成後、開発者は、成果物描画画面20の登録指示部において動的成果物の登録を指示する。このとき、制御部16は、作成された動的成果物を動的成果物保存部13に記憶する。この場合、制御部16は、各タスクのタスク間関係情報に基づいて作成された動的成果物をタスク達成構造に変換し、タスク達成構造を動的成果物保存部13に記憶する。なお、動的成果物作成時に入力されたタスク間関係情報は、タスク達成構造における達成関係40に変換される。
【００２９】
また、上記と同様に他の動的成果物を成果物描画画面20にて作成し、登録を行う。なお、動的成果物の登録は、全ての動的成果物を作成してから行っても構わないし、一つのソフトウェア成果物を作成する毎に行っても構わない。
【００３０】
＜抽象概念抽出＞
上記の成果物登録が行われたことを前提として、既に作成された複数の動的成果物から抽象概念を抽出する方法について図７を参照して説明する。なお、第１のソフトウェア成果物としてのＵＣ記述及びそれに対応する第２のソフトウェア成果物としてのシーケンス図は、図８に示すようにそれぞれＮ個ずつ作成されており、各ＵＣ記述に含まれるタスクは、該ＵＣ記述に対応するシーケンス図のタスクと達成関係40によって関連付けられている。
【００３１】
まず、成果物描画画面20の抽出指示部において抽象概念の抽出が指示されると、制御部16は、既に作成された成果物から条件を満たすタスクを取得する（ステップS1）。具体的に説明すると、制御部16のタスク一致判定部161は、以下の１−１〜１−３の手順に記載された処理を行う。
【００３２】
１−１．まず、動的成果物保存部13に記憶されたＮ個のＵＣ記述のうち一つのＵＣ記述（例えば図８のＵＣ記述１）を抽出し、抽出されたＵＣ記述の各タスク（タスクＡ，Ｂ，Ｃ）毎に、該タスクと動作・入力主体・出力主体が全て一致するタスクを他のＵＣ記述（ＵＣ記述２〜Ｎ）から取得する。
【００３３】
１−２．次に、取得されたタスクと達成関係40によって関連付けられたシーケンス図（シーケンス図１〜Ｎ）のタスクを取得する。
【００３４】
１−３．そして、上記１−１及び１−２で取得されたタスクを一致タスク保存部14に記憶する。
【００３５】
このようにして、図９に示すように、複数のタスク達成構造が一致タスク保存部14に記憶される。なお、上記１−１の手順では、タスクが一致するか否かの判断が、タスクの動作、入力主体及び出力主体に基づき行われるため、上記１−３にてタスクを一致タスク保存部14に記憶する際には、タスクのパラメータを一致タスク保存部14に記憶しなくてもよい。
【００３６】
次に、取得されたタスクから抽象概念を抽出する（ステップS2）。具体的に説明すると、制御部16の抽象概念抽出部162は、以下の２−１〜２−３の手順に記載された処理を行う。
【００３７】
２−１．上記１−２で取得された複数のシーケンス図のタスク列のうち、各シーケンス図間で共通に用いられるタスク列を抽出する。ここで、共通とは、各タスク列を構成するタスクの動作・入力主体・出力主体が同一であり、且つタスクの順序が同一の場合をいう。例えば、図１０に示すように、３つのＵＣ記述のタスクＡのそれぞれに対応するタスク達成構造が存在する場合に、１番目のタスク達成構造と２番目のタスク達成構造には、タスク１、タスク２及びタスク３が共通に存在することから、タスク１、タスク２及びタスク３からなる第１のタスク列が抽出される。また、２番目のタスク達成構造と３番目のタスク達成構造には、タスク３及びタスク４が共通に存在することから、タスク３及びタスク４からなる第２のタスク列も抽出される。
【００３８】
２−２．上記２−１で取得したタスク列に基づき、動的成果物（例えばシーケンス図）を構成する。図１０に示された第１のタスク列を用いて説明すると、タスク列の各タスクの動作・入力主体・出力主体は、それぞれシーケンス図のメッセージ・送信オブジェクト・受信オブジェクトに対応することから、タスク１、タスク２及びタスク３をシーケンス図で表した場合には、図１１に示すシーケンス図を構成することができる。
【００３９】
２−３．上記２−２で構成したシーケンス図とともに、タスク列の各タスクを抽象概念として抽出し、該抽象概念を抽象概念保存部15に保存する。例えば、図１２に示すように、シーケンス図の動作１というメッセージ、即ちタスク１が「抽象概念１」という抽象概念として抽出され、シーケンス図の動作２というメッセージ、即ちタスク２が「抽象概念２」という抽象概念として抽出される。また、動作３というメッセージ、即ちタスク３が「抽象概念３」という抽象概念として抽出される。
【００４０】
なお、前述した従来例と同様に、クラス図等の管理情報に対して抽象概念を予め関連付けておくことにより、シーケンス図の各メッセージのパラメータ部分に、該メッセージに対応する抽象概念が関連付けられた管理情報を自動的に代入することができ、パラメータを含むシーケンス図を容易に生成することができる。
【実施例１】
【００４１】
ここでは、図１３に示す「装置登録機能」及び「カード登録機能」という２つの機能に対応するＵＣ記述及びシーケンス図を用いて抽象概念を抽出する場合の動作について説明する。
【００４２】
制御部16のタスク一致判定部161は、「装置登録機能」に対応するＵＣ記述の各タスクのうち２番目のタスク、即ち「サーバは装置情報を確認する。」というタスクを取得する。そして、タスク一致判定部161は、「カード登録機能」に対応するＵＣ記述の各タスクのうち、「装置登録機能」に対応するＵＣ記述の２番目のタスクと動作・入力主体・出力主体が全て一致するタスクを取得する。この場合、「カード登録機能」に対応するＵＣ記述の２番目のタスク、即ち「サーバはカード情報を確認する。」の動作「確認する」、入力主体「サーバ」及び出力主体「無し」が互いに同一であることから、「カード登録機能」に対応するＵＣ記述の２番目のタスクが抽出され、該タスクは、「装置登録機能」に対応するＵＣ記述の２番目のタスクとともに一致タスク保存部14に記憶される。
【００４３】
なお、一致タスク保存部14に記憶された各タスクは、図１４に示すように該タスクと達成関係40によって関連付けられたシーケンス図のタスクとともに保存されている。即ち、「装置登録機能」に対応するＵＣ記述の２番目のタスク50には、「動作：送信する、入力主体：サーバ、出力主体：ＤＢ」というタスク50aと、「動作：検索する、入力主体：ＤＢ、出力主体：ＤＢ」というタスク50bと、「動作：送信する、入力主体：ＤＢ、出力主体：サーバ」というタスク50cと、「動作：存在確認する、入力主体：サーバ、出力主体：サーバ」というタスク50dの４つのタスクが関連付けられている。また、「カード登録機能」に対応するＵＣ記述の２番目のタスク60には、「動作：送信する、入力主体：サーバ、出力主体：ＤＢ」というタスク60aと、「動作：検索する、入力主体：ＤＢ、出力主体：ＤＢ」というタスク60bと、「動作：送信する、入力主体：ＤＢ、出力主体：サーバ」というタスク60cと、「動作：存在確認する、入力主体：サーバ、出力主体：サーバ」というタスク60dと、「動作：非存在確認する、入力主体：サーバ、出力主体：サーバ」というタスク60eの５つのタスクが関連付けられている。
【００４４】
次に、制御部16の抽象概念抽出部162は、一致タスク保存部14に記憶されたタスク列を用いて抽象概念を抽出する。図１４の例では、「動作：送信する、入力主体：サーバ、出力主体：ＤＢ」というタスク50a,60aと、「動作：検索する、入力主体：ＤＢ、出力主体：ＤＢ」というタスク50b,60bと、「動作：送信する、入力主体：ＤＢ、出力主体：サーバ」というタスク50c,60cと、「動作：存在確認する、入力主体：サーバ、出力主体：サーバ」というタスク50d,60dの４つのタスクからなるタスク列が、「装置登録機能」に対応するタスク達成構造と「カード登録機能」に対応するタスク達成構造に含まれていることから、該タスク列を共通の動作パターンとして抽出する。
【００４５】
そして、抽象概念抽出部162は、抽出されたタスク列を抽象概念として抽象概念保存部15に記憶する。なお、抽出されたタスク列に基づき構成されたシーケンス図は、図１５のように示される。この場合、「動作：送信する、入力主体：サーバ、出力主体：ＤＢ」というタスク50aが「抽象概念１」という抽象概念として抽出され、「動作：検索する、入力主体：ＤＢ、出力主体：ＤＢ」というタスク50bが「抽象概念２」という抽象概念として抽出される。また、「動作：送信する、入力主体：ＤＢ、出力主体：サーバ」というタスク50cが「抽象概念３」という抽象概念として抽出され、「動作：存在確認する、入力主体：サーバ、出力主体：サーバ」というタスク50dが「抽象概念４」という抽象概念として抽出される。
【００４６】
また、開発者が、クラス図等に設定された管理情報に対して抽象概念を関連付けておくことにより、制御部16は、抽象概念として抽出されたタスク列の各タスクのパラメータ部分に、該抽象概念に対応する管理情報を代入することにより生成されたシーケンス図を描画部22に表示させることができる。
【００４７】
このようにして、複数のＵＣ記述に含まれるタスクの主体及び動作と同一のタスクと、該タスクに関連付けられたシーケンス図のタスクとが取得され、取得されたシーケンス図のタスクのうち、他のシーケンス図に含まれるタスクの主体及び動作と同一のタスクが抽出されることから、複数のシーケンス図で共通して用いられるタスクを抽出することが可能となる。
【００４８】
前述したように上記実施形態では、複数のシーケンス図で共通して用いられるタスクを抽出することができるので、例えば抽出されたタスクを抽象概念として用いた場合には抽象概念の抽出にかかる作業時間を短縮することができ、ソフトウェア開発の効率を大幅に向上させることができる。
【００４９】
また、一致タスク保存部14から取得されたシーケンス図のタスク列のうち、該タスク列の各タスクの主体、動作及び順序が、取得された他のシーケンス図に含まれるタスク列の各タスクの主体、動作及び順序と同一となるタスク列を抽出し、抽出されたタスク列に基づきシーケンス図のタスクを作成するので、より詳細な動作パターンを抽出することができる。
【００５０】
なお、上記の実施形態は本発明の具体例に過ぎず、本発明が上記実施形態のみに限定されることはない。例えば、本発明は、周知のコンピュータに記録媒体もしくは通信回線を介して、前述した作成手順を備えるプログラムをインストールすることによっても実現可能である。
【図面の簡単な説明】
【００５１】
【図１】本発明の一実施形態におけるソフトウェア成果物作成システムの構成を示す図
【図２】成果物描画画面を示す図
【図３】動的成果物の一例を示す図
【図４】タスクの構成を示す図
【図５】タスクの構成を示す図
【図６】タスク達成構造を示す図
【図７】抽象概念を抽出するときの動作を示すフロー図
【図８】動的成果物保存部に記憶された動的成果物の一例を示す図
【図９】一致タスク保存部に記憶されたタスク達成構造の一例を示す図
【図１０】複数のシーケンス図で共通して用いられるタスク列の一例を示す図
【図１１】図１０のタスク列とシーケンス図との関係を示す図
【図１２】図１１のシーケンス図と抽象概念との関係を示す図
【図１３】ＵＣ記述とシーケンス図の一例を示す図
【図１４】タスク達成構造を示す図
【図１５】抽象概念、タスク列及びシーケンス図の関係を示す図
【図１６】従来例におけるシーケンス図と抽象概念の関係を示す図
【図１７】従来例における管理情報と抽象概念の関係を示す図
【図１８】抽象概念に基づき作成されたシーケンス図の一例を示す図
【符号の説明】
【００５２】
10…ソフトウェア成果物作成システム、11…表示部、12…情報入力部、13…動的成果物保存部、14…一致タスク保存部、15…抽象概念保存部、16…制御部、30,30a〜30i,50,50a〜50d,60,60a〜60e…タスク、40…達成関係、161…タスク一致判定部、162…抽象概念抽出部。
【図１】
0004925340.tif 000002
【図２】
0004925340.tif 000003
【図３】
0004925340.tif 000004
【図４】
0004925340.tif 000005
【図５】
0004925340.tif 000006
【図６】
0004925340.tif 000007
【図７】
0004925340.tif 000008
【図８】
0004925340.tif 000009
【図９】
0004925340.tif 000010
【図１０】
0004925340.tif 000011
【図１１】
0004925340.tif 000012
【図１２】
0004925340.tif 000013
【図１３】
0004925340.tif 000014
【図１４】
0004925340.tif 000015
【図１５】
0004925340.tif 000016
【図１６】
0004925340.tif 000017
【図１７】
0004925340.tif 000018
【図１８】
0004925340.tif 000019