説明

ソフトウェア成果物作成システム、方法及びそのプログラム

【課題】ソフトウェア開発の効率を向上させることができるソフトウェア成果物作成システム、方法及びそのプログラムを提供する。
【解決手段】コンピュータは、既に作成された複数のUC記述及びシーケンス図を、各UC記述のタスクと、該タスクに基づいて作成されたシーケンス図のタスクとを関連付けた状態で動的成果物保存部13に記憶し、動的成果物保存部13に記憶された各UC記述のタスクのうち、動的成果物保存部13に記憶された他のUC記述に含まれるタスクの主体及び動作と同一のタスクと、該タスクに関連付けられたシーケンス図のタスクとを取得し、取得されたシーケンス図のタスクのうち、取得された他のシーケンス図に含まれるタスクの主体及び動作と同一のタスクを抽出し、抽出されたタスクに基づきシーケンス図のタスクを作成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウェア開発においてソフトウェア成果物を作成するシステム、方法及びそのプログラムに関する。
【背景技術】
【0002】
ソフトウェア開発では、開発対象のソフトウェアが有する機能等の事項が記載された仕様書を作成した後に、具体的な実装を意識したソフトウェアの構造・アーキテクチャ等が定められた設計書を仕様書に基づき作成する。そして、開発者は、設計書に基づきソフトウェアの実装を行う。これらの仕様書や設計書に記述されたソフトウェアの機能は、ソフトウェアが管理する情報等の静的な側面と、ソフトウェアの動作等の動的な側面という二つの面によって表される。また、上記の情報及び動作は、自然言語を用いた文書やUML(Unified Modeling Language)等のモデル言語を用いた図等で記述される。ところで、ソフトウェアの規模が大きくなると、ソフトウェアの動作の記述量や複雑さが増大する。これにより、開発者がソフトウェアの動作を記述するための時間が増大することから、ソフトウェア開発にかかるコストが嵩むとともにソフトウェア開発期間が長期化するという問題があった。
【0003】
そこで、非特許文献1では、上記問題を解決するために、ソフトウェアの動作を時系列で表現したシーケンス図を仕様書/設計書に作成する際に、既に作成されたソフトウェアにおいて頻繁に用いられるソフトウェア動作をパターン化して蓄積しておき、該パターンに基づいてシーケンス図を自動的に生成する方法を提案している。
【0004】
例えば、ソフトウェアの動作を表すシーケンス図において、図16に示すように、ソフトウェアの振舞を表す複数のメッセージを、各メッセージ毎に抽象概念を関連付けた状態で蓄積しておく。図16では、「登録開始」という抽象概念が1番目のメッセージに、「登録」という抽象概念が2番目のメッセージに、「登録終了」という抽象概念が3番目のメッセージにそれぞれ関連付けられている。また、これらの抽象概念は、図17に示すように、ソフトウェアが扱う管理情報を表現したクラス図の管理情報にも関連付けられている。例えば、「登録開始」という抽象概念は、「装置タイプ」及び「IPアドレス」という管理情報に関連付けられており、「登録」という抽象概念は、「装置タイプ」、「装置No」及び「IPアドレス」という管理情報に関連付けられている。また、「登録終了」という抽象概念は、「装置No」という管理情報に関連付けられている。そして、図16に示された各メッセージのパラメータ部分に、該メッセージに対応する抽象概念が関連付けられた管理情報が代入されることにより、図18に示すようなシーケンス図を生成することが可能になる。
【非特許文献1】佐藤他「装置・NW管理ドメインにおけるパターンを利用したOSS要求定義方法の提案」、電子情報通信学会技術研究報告 vol.105、no.668、TM2005−70、pp.85−90、2006年3月
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、従来例では、ソフトウェア開発者が、既に作成された複数のシーケンス図から共通の動作パターンを抽象概念として抽出し、蓄積する必要がある。この場合、動作パターンをどのように定めるかはソフトウェア開発者の知識及び経験に依存していることから、動作パターンの抽出作業にかかる時間がソフトウェア開発者毎に異なり、効率的なソフトウェア開発の妨げになっている。
【0006】
本発明は前記問題点に鑑みてなされたものであり、その目的とするところは、ソフトウェア開発の効率を向上させることができるソフトウェア成果物作成システム、方法及びそのプログラムを提供することにある。
【課題を解決するための手段】
【0007】
本発明のソフトウェア成果物作成システムは、前記目的を達成するために、第1のソフトウェア成果物に含まれる、主体、動作及びパラメータからなるタスクに基づいて、第2のソフトウェア成果物に含まれるタスクを、コンピュータを用いて生成することによりソフトウェア成果物を作成するソフトウェア成果物作成システムであって、前記コンピュータは、既に作成された複数の第1及び第2のソフトウェア成果物を、各第1のソフトウェア成果物のタスクと、該タスクに基づいて作成された第2のソフトウェア成果物のタスクとを関連付けた状態で記憶する記憶手段と、記憶手段に記憶された各第1のソフトウェア成果物のタスクのうち、記憶手段に記憶された他の第1のソフトウェア成果物に含まれるタスクの主体及び動作と同一のタスクと、該タスクに関連付けられた第2のソフトウェア成果物のタスクとを取得するタスク取得手段と、タスク取得手段によって取得された第2のソフトウェア成果物のタスクのうち、タスク取得手段によって取得された他の第2のソフトウェア成果物に含まれるタスクの主体及び動作と同一のタスクを抽出するタスク抽出手段と、タスク抽出手段によって抽出されたタスクに基づき第2のソフトウェア成果物のタスクを作成する作成手段とを備えている。
【0008】
また、本発明のソフトウェア成果物作成方法は、前記目的を達成するために、第1のソフトウェア成果物に含まれる、主体、動作及びパラメータからなるタスクに基づいて、第2のソフトウェア成果物に含まれるタスクを、コンピュータを用いて生成することによりソフトウェア成果物を作成するソフトウェア成果物作成方法であって、前記コンピュータは、既に作成された複数の第1及び第2のソフトウェア成果物を、各第1のソフトウェア成果物のタスクと、該タスクに基づいて作成された第2のソフトウェア成果物のタスクとを関連付けた状態で所定の記憶部に記憶し、前記記憶部に記憶された各第1のソフトウェア成果物のタスクのうち、該記憶部に記憶された他の第1のソフトウェア成果物に含まれるタスクの主体及び動作と同一のタスクと、該タスクに関連付けられた第2のソフトウェア成果物のタスクとを取得し、取得された第2のソフトウェア成果物のタスクのうち、取得された他の第2のソフトウェア成果物に含まれるタスクの主体及び動作と同一のタスクを抽出し、抽出されたタスクに基づき第2のソフトウェア成果物のタスクを作成している。
【0009】
さらに、本発明のソフトウェア成果物作成プログラムは、前記目的を達成するために、前記ソフトウェア成果物作成方法をコンピュータに実行させる。
【0010】
これにより、他の第1のソフトウェア成果物に含まれるタスクの主体及び動作と同一のタスクと、該タスクに関連付けられた第2のソフトウェア成果物のタスクとが取得され、取得された第2のソフトウェア成果物のタスクのうち、他の第2のソフトウェア成果物に含まれるタスクの主体及び動作と同一のタスクが抽出されることから、複数の第2のソフトウェア成果物で共通して用いられるタスクを抽出することが可能となる。
【発明の効果】
【0011】
本発明のソフトウェア成果物作成システム、方法及びそのプログラムによれば、複数の第2のソフトウェア成果物で共通して用いられるタスクを抽出することができるので、例えば抽出されたタスクを抽象概念として用いた場合には抽象概念の抽出にかかる作業時間を短縮することができ、ソフトウェア開発の効率を大幅に向上させることができる。
【発明を実施するための最良の形態】
【0012】
以下に図面を参照して本発明の一実施形態を説明する。
【0013】
<前提>
ソフトウェア成果物には、開発対象のソフトウェアの振舞を実現するために必要なデータ情報が規定された静的なソフトウェア成果物(以下、静的成果物と称する。)と、開発対象のソフトウェアの振舞を規定するための動的情報(タスク)が表現された動的なソフトウェア成果物(以下、動的成果物と称する。)とが存在し、本実施形態では、ソフトウェア開発において既に作成された複数の動的成果物から共通のタスクを抽象概念として抽出し、該抽象概念に基づいて新たな動的成果物を生成するソフトウェア成果物作成システムについて説明する。
【0014】
本発明のソフトウェア成果物作成システム10は、周知のCPUを主体として構成されたコンピュータからなり、図1に示すとおり、表示部11、情報入力部12、動的成果物保存部13、一致タスク保存部14、抽象概念保存部15及び制御部16から構成されている。
【0015】
表示部11は、液晶ディスプレイ等のように情報を表示するためのモジュールであり、制御部16の制御により図2に示すような成果物描画画面20を表示する。
【0016】
情報入力部12は、キーボードやマウス等のように情報を入力するためのモジュールであり、入力情報を制御部16に送信する。
【0017】
動的成果物保存部13は、ソフトウェア開発において既に作成された動的成果物と、後述のタスク構造とを記憶するモジュールである。
【0018】
一致タスク保存部14は、動的成果物13に記憶された動的成果物に含まれるタスクのうち、他の動的成果物に含まれるタスクと同一のタスク及び該タスクに関連付けられたタスクを保存するモジュールである。
【0019】
抽象概念保存部15は、一致タスク保存部14に保存されたタスクのうち、複数の動的成果物で共通に用いられるタスクを抽象概念として保存するモジュールである。
【0020】
制御部16は、上記各モジュール11〜15と接続され、各モジュール11〜15間の情報、または各モジュール11〜15間の情報を組合わせた情報を受け渡すモジュールである。また、制御部16には、ROM等の記憶装置が設けられており、制御部16は、記憶装置に記憶されたプログラムを実行することにより各モジュール11〜15の制御を行う。さらに、制御部16には、タスク一致判定部161と抽象概念抽出部162が設けられており、タスク一致判定部161及び抽象概念抽出部162の動作については後述する。
【0021】
成果物描画画面20は、図2に示すように、作成対象の動的成果物を選択するための成果物選択部21と、作成対象の動的成果物を表示するための描画部22と、作成対象の動的成果物よりも上流の工程で作成された動的成果物のタスクを表示するためのタスク表示部23とから構成されている。また、描画部22には、作成された動的成果物を動的成果物保存部13に登録するための登録指示部(図示省略)と、抽象概念の抽出を指示するための抽出指示部(図示省略)が設けられており、情報入力部12を用いて登録及び抽出を指示することができるようになっている。
【0022】
なお、本実施形態では、図3に示すように、第1の動的成果物としてのUC(ユースケース)記述に含まれるタスクに基づいて、第2の動的成果物としてのシーケンス図のタスクを生成している。
【0023】
<動的成果物タスクの形式化>
動的成果物には、ソフトウェアが実現する機能に対する振舞が複数のタスクのフローとして記述されている。この一つのタスク30は、入力主体31、出力主体32、動作33及びパラメータ34の4つの要素からなるものとして表現される。タスクを自然言語で表現した場合、入力主体31、出力主体32、動作33、パラメータ34は、主語、間接目的語、述語、目的語にそれぞれ対応する。例えば、図4に示すように、「オペレータは装置情報をサーバに送信する」というタスクの入力主体31は「オペレータ」、出力主体32は「サーバ」、動作33は「送信する」、パラメータ34は「装置情報」となる。また、UMLにおけるシーケンス図のメッセージからタスクを表現する場合には、タスク30は図5のように示される。なお、図4及び図5のように表現された構造をタスク構造と称し、動的成果物に含まれるタスクやメッセージは、タスク構造に変換されてから動的成果物保存部13に記憶される。
【0024】
動的成果物は、表現する機能が同じものであっても、動的成果物に含まれるタスクの詳細度(粒度)がソフトウェア開発工程毎に異なっている。即ち、図6に示すように、ソフトウェア開発の上流工程で作成されるUC記述の複数のタスク30a〜30dのうち1番目のタスク30aの粒度は、下流工程で作成されるシーケンス図の1番目のタスク30eに記載されるタスクの粒度よりも粗くなっている。また、UC記述の2番目のタスク30bがシーケンス図の2、3、4及び5番目のタスク30f,30g,30h,30iに分解されている場合、UC記述の2番目のタスク30bとシーケンス図の2、3、4及び5番目のタスク30f,30g,30h,30iとの間には、UC記述の2番目のタスク30bがシーケンス図の各タスク30f,30g,30h,30iの基となったタスクであり、シーケンス図の各タスク30f,30g,30h,30iがUC記述の2番目のタスク30bに基づいて作成されたという関係を有している。本実施形態では、このような関係を表す情報を達成関係40として表現することとし、UC記述の1番目のタスク30aとシーケンス図の1番目のタスク30e、及びUC記述の2番目のタスク30bとシーケンス図の2、3、4及び5番目のタスク30f,30g,30h,30iは、達成関係40で結び付けられる。この場合、作成された動的成果物のタスク及び工程毎のタスク間の関係は図6に示すような構造で表現される。なお、この構造をタスク達成構造と呼び、タスク達成構造は動的成果物保存部13に記憶される。
【0025】
<動的成果物の作成>
制御部16は、成果物描画画面20を、図2に示すような構成で表示部11に表示させる。開発者は、成果物描画画面20の成果物選択部21において作成しようとする動的成果物(例えばシーケンス図)を選択した後に、描画部22において作成対象の動的成果物を作成する。このとき、制御部16は、成果物選択部21で選択された動的成果物よりも上流の工程で作成された動的成果物(例えばUC記述)のタスクを、動的成果物保存部13から取得してタスク表示部23に表示させる。なお、描画部22に描画される動的成果物の形式は、自然言語や、アクティビティ図及びシーケンス図等のUMLに基づく図であっても構わない。
【0026】
ここで、開発者は、タスク表示部23に表示された動的成果物のタスクと、描画部22に表示された動的成果物のタスクとの関連付けを行う。この関連付けは、開発者が、タスク表示部23に表示された動的成果物のタスクを選択した後に描画部22に表示された動的成果物のタスクを選択することにより行われる。本実施形態では、既存のGUI機能を用いて、タスク表示部23に表示されたタスクにポインタを移動させてマウスをクリックした後に、描画部22に表示された動的成果物のタスクをクリックすることにより、それぞれのタスクを関連付けることが可能である。このとき、各タスクには、互いに関連付けられていることを表すタスク間関係情報が制御部16により生成される。
【0027】
なお、動的成果物の他の作成方法として、出願人が提案した特願2007−198845号に記載の技術を用いてもよい。
【0028】
<成果物登録>
動的成果物作成後、開発者は、成果物描画画面20の登録指示部において動的成果物の登録を指示する。このとき、制御部16は、作成された動的成果物を動的成果物保存部13に記憶する。この場合、制御部16は、各タスクのタスク間関係情報に基づいて作成された動的成果物をタスク達成構造に変換し、タスク達成構造を動的成果物保存部13に記憶する。なお、動的成果物作成時に入力されたタスク間関係情報は、タスク達成構造における達成関係40に変換される。
【0029】
また、上記と同様に他の動的成果物を成果物描画画面20にて作成し、登録を行う。なお、動的成果物の登録は、全ての動的成果物を作成してから行っても構わないし、一つのソフトウェア成果物を作成する毎に行っても構わない。
【0030】
<抽象概念抽出>
上記の成果物登録が行われたことを前提として、既に作成された複数の動的成果物から抽象概念を抽出する方法について図7を参照して説明する。なお、第1のソフトウェア成果物としてのUC記述及びそれに対応する第2のソフトウェア成果物としてのシーケンス図は、図8に示すようにそれぞれN個ずつ作成されており、各UC記述に含まれるタスクは、該UC記述に対応するシーケンス図のタスクと達成関係40によって関連付けられている。
【0031】
まず、成果物描画画面20の抽出指示部において抽象概念の抽出が指示されると、制御部16は、既に作成された成果物から条件を満たすタスクを取得する(ステップS1)。具体的に説明すると、制御部16のタスク一致判定部161は、以下の1−1〜1−3の手順に記載された処理を行う。
【0032】
1−1.まず、動的成果物保存部13に記憶されたN個のUC記述のうち一つのUC記述(例えば図8のUC記述1)を抽出し、抽出されたUC記述の各タスク(タスクA,B,C)毎に、該タスクと動作・入力主体・出力主体が全て一致するタスクを他のUC記述(UC記述2〜N)から取得する。
【0033】
1−2.次に、取得されたタスクと達成関係40によって関連付けられたシーケンス図(シーケンス図1〜N)のタスクを取得する。
【0034】
1−3.そして、上記1−1及び1−2で取得されたタスクを一致タスク保存部14に記憶する。
【0035】
このようにして、図9に示すように、複数のタスク達成構造が一致タスク保存部14に記憶される。なお、上記1−1の手順では、タスクが一致するか否かの判断が、タスクの動作、入力主体及び出力主体に基づき行われるため、上記1−3にてタスクを一致タスク保存部14に記憶する際には、タスクのパラメータを一致タスク保存部14に記憶しなくてもよい。
【0036】
次に、取得されたタスクから抽象概念を抽出する(ステップS2)。具体的に説明すると、制御部16の抽象概念抽出部162は、以下の2−1〜2−3の手順に記載された処理を行う。
【0037】
2−1.上記1−2で取得された複数のシーケンス図のタスク列のうち、各シーケンス図間で共通に用いられるタスク列を抽出する。ここで、共通とは、各タスク列を構成するタスクの動作・入力主体・出力主体が同一であり、且つタスクの順序が同一の場合をいう。例えば、図10に示すように、3つのUC記述のタスクAのそれぞれに対応するタスク達成構造が存在する場合に、1番目のタスク達成構造と2番目のタスク達成構造には、タスク1、タスク2及びタスク3が共通に存在することから、タスク1、タスク2及びタスク3からなる第1のタスク列が抽出される。また、2番目のタスク達成構造と3番目のタスク達成構造には、タスク3及びタスク4が共通に存在することから、タスク3及びタスク4からなる第2のタスク列も抽出される。
【0038】
2−2.上記2−1で取得したタスク列に基づき、動的成果物(例えばシーケンス図)を構成する。図10に示された第1のタスク列を用いて説明すると、タスク列の各タスクの動作・入力主体・出力主体は、それぞれシーケンス図のメッセージ・送信オブジェクト・受信オブジェクトに対応することから、タスク1、タスク2及びタスク3をシーケンス図で表した場合には、図11に示すシーケンス図を構成することができる。
【0039】
2−3.上記2−2で構成したシーケンス図とともに、タスク列の各タスクを抽象概念として抽出し、該抽象概念を抽象概念保存部15に保存する。例えば、図12に示すように、シーケンス図の動作1というメッセージ、即ちタスク1が「抽象概念1」という抽象概念として抽出され、シーケンス図の動作2というメッセージ、即ちタスク2が「抽象概念2」という抽象概念として抽出される。また、動作3というメッセージ、即ちタスク3が「抽象概念3」という抽象概念として抽出される。
【0040】
なお、前述した従来例と同様に、クラス図等の管理情報に対して抽象概念を予め関連付けておくことにより、シーケンス図の各メッセージのパラメータ部分に、該メッセージに対応する抽象概念が関連付けられた管理情報を自動的に代入することができ、パラメータを含むシーケンス図を容易に生成することができる。
【実施例1】
【0041】
ここでは、図13に示す「装置登録機能」及び「カード登録機能」という2つの機能に対応するUC記述及びシーケンス図を用いて抽象概念を抽出する場合の動作について説明する。
【0042】
制御部16のタスク一致判定部161は、「装置登録機能」に対応するUC記述の各タスクのうち2番目のタスク、即ち「サーバは装置情報を確認する。」というタスクを取得する。そして、タスク一致判定部161は、「カード登録機能」に対応するUC記述の各タスクのうち、「装置登録機能」に対応するUC記述の2番目のタスクと動作・入力主体・出力主体が全て一致するタスクを取得する。この場合、「カード登録機能」に対応するUC記述の2番目のタスク、即ち「サーバはカード情報を確認する。」の動作「確認する」、入力主体「サーバ」及び出力主体「無し」が互いに同一であることから、「カード登録機能」に対応するUC記述の2番目のタスクが抽出され、該タスクは、「装置登録機能」に対応するUC記述の2番目のタスクとともに一致タスク保存部14に記憶される。
【0043】
なお、一致タスク保存部14に記憶された各タスクは、図14に示すように該タスクと達成関係40によって関連付けられたシーケンス図のタスクとともに保存されている。即ち、「装置登録機能」に対応するUC記述の2番目のタスク50には、「動作:送信する、入力主体:サーバ、出力主体:DB」というタスク50aと、「動作:検索する、入力主体:DB、出力主体:DB」というタスク50bと、「動作:送信する、入力主体:DB、出力主体:サーバ」というタスク50cと、「動作:存在確認する、入力主体:サーバ、出力主体:サーバ」というタスク50dの4つのタスクが関連付けられている。また、「カード登録機能」に対応するUC記述の2番目のタスク60には、「動作:送信する、入力主体:サーバ、出力主体:DB」というタスク60aと、「動作:検索する、入力主体:DB、出力主体:DB」というタスク60bと、「動作:送信する、入力主体:DB、出力主体:サーバ」というタスク60cと、「動作:存在確認する、入力主体:サーバ、出力主体:サーバ」というタスク60dと、「動作:非存在確認する、入力主体:サーバ、出力主体:サーバ」というタスク60eの5つのタスクが関連付けられている。
【0044】
次に、制御部16の抽象概念抽出部162は、一致タスク保存部14に記憶されたタスク列を用いて抽象概念を抽出する。図14の例では、「動作:送信する、入力主体:サーバ、出力主体:DB」というタスク50a,60aと、「動作:検索する、入力主体:DB、出力主体:DB」というタスク50b,60bと、「動作:送信する、入力主体:DB、出力主体:サーバ」というタスク50c,60cと、「動作:存在確認する、入力主体:サーバ、出力主体:サーバ」というタスク50d,60dの4つのタスクからなるタスク列が、「装置登録機能」に対応するタスク達成構造と「カード登録機能」に対応するタスク達成構造に含まれていることから、該タスク列を共通の動作パターンとして抽出する。
【0045】
そして、抽象概念抽出部162は、抽出されたタスク列を抽象概念として抽象概念保存部15に記憶する。なお、抽出されたタスク列に基づき構成されたシーケンス図は、図15のように示される。この場合、「動作:送信する、入力主体:サーバ、出力主体:DB」というタスク50aが「抽象概念1」という抽象概念として抽出され、「動作:検索する、入力主体:DB、出力主体:DB」というタスク50bが「抽象概念2」という抽象概念として抽出される。また、「動作:送信する、入力主体:DB、出力主体:サーバ」というタスク50cが「抽象概念3」という抽象概念として抽出され、「動作:存在確認する、入力主体:サーバ、出力主体:サーバ」というタスク50dが「抽象概念4」という抽象概念として抽出される。
【0046】
また、開発者が、クラス図等に設定された管理情報に対して抽象概念を関連付けておくことにより、制御部16は、抽象概念として抽出されたタスク列の各タスクのパラメータ部分に、該抽象概念に対応する管理情報を代入することにより生成されたシーケンス図を描画部22に表示させることができる。
【0047】
このようにして、複数のUC記述に含まれるタスクの主体及び動作と同一のタスクと、該タスクに関連付けられたシーケンス図のタスクとが取得され、取得されたシーケンス図のタスクのうち、他のシーケンス図に含まれるタスクの主体及び動作と同一のタスクが抽出されることから、複数のシーケンス図で共通して用いられるタスクを抽出することが可能となる。
【0048】
前述したように上記実施形態では、複数のシーケンス図で共通して用いられるタスクを抽出することができるので、例えば抽出されたタスクを抽象概念として用いた場合には抽象概念の抽出にかかる作業時間を短縮することができ、ソフトウェア開発の効率を大幅に向上させることができる。
【0049】
また、一致タスク保存部14から取得されたシーケンス図のタスク列のうち、該タスク列の各タスクの主体、動作及び順序が、取得された他のシーケンス図に含まれるタスク列の各タスクの主体、動作及び順序と同一となるタスク列を抽出し、抽出されたタスク列に基づきシーケンス図のタスクを作成するので、より詳細な動作パターンを抽出することができる。
【0050】
なお、上記の実施形態は本発明の具体例に過ぎず、本発明が上記実施形態のみに限定されることはない。例えば、本発明は、周知のコンピュータに記録媒体もしくは通信回線を介して、前述した作成手順を備えるプログラムをインストールすることによっても実現可能である。
【図面の簡単な説明】
【0051】
【図1】本発明の一実施形態におけるソフトウェア成果物作成システムの構成を示す図
【図2】成果物描画画面を示す図
【図3】動的成果物の一例を示す図
【図4】タスクの構成を示す図
【図5】タスクの構成を示す図
【図6】タスク達成構造を示す図
【図7】抽象概念を抽出するときの動作を示すフロー図
【図8】動的成果物保存部に記憶された動的成果物の一例を示す図
【図9】一致タスク保存部に記憶されたタスク達成構造の一例を示す図
【図10】複数のシーケンス図で共通して用いられるタスク列の一例を示す図
【図11】図10のタスク列とシーケンス図との関係を示す図
【図12】図11のシーケンス図と抽象概念との関係を示す図
【図13】UC記述とシーケンス図の一例を示す図
【図14】タスク達成構造を示す図
【図15】抽象概念、タスク列及びシーケンス図の関係を示す図
【図16】従来例におけるシーケンス図と抽象概念の関係を示す図
【図17】従来例における管理情報と抽象概念の関係を示す図
【図18】抽象概念に基づき作成されたシーケンス図の一例を示す図
【符号の説明】
【0052】
10…ソフトウェア成果物作成システム、11…表示部、12…情報入力部、13…動的成果物保存部、14…一致タスク保存部、15…抽象概念保存部、16…制御部、30,30a〜30i,50,50a〜50d,60,60a〜60e…タスク、40…達成関係、161…タスク一致判定部、162…抽象概念抽出部。

【特許請求の範囲】
【請求項1】
第1のソフトウェア成果物に含まれる、主体、動作及びパラメータからなるタスクに基づいて、第2のソフトウェア成果物に含まれるタスクを、コンピュータを用いて生成することによりソフトウェア成果物を作成するソフトウェア成果物作成システムであって、
前記コンピュータは、
既に作成された複数の第1及び第2のソフトウェア成果物を、各第1のソフトウェア成果物のタスクと、該タスクに基づいて作成された第2のソフトウェア成果物のタスクとを関連付けた状態で記憶する記憶手段と、
記憶手段に記憶された各第1のソフトウェア成果物のタスクのうち、記憶手段に記憶された他の第1のソフトウェア成果物に含まれるタスクの主体及び動作と同一のタスクと、該タスクに関連付けられた第2のソフトウェア成果物のタスクとを取得するタスク取得手段と、
タスク取得手段によって取得された第2のソフトウェア成果物のタスクのうち、タスク取得手段によって取得された他の第2のソフトウェア成果物に含まれるタスクの主体及び動作と同一のタスクを抽出するタスク抽出手段と、
タスク抽出手段によって抽出されたタスクに基づき第2のソフトウェア成果物のタスクを作成する作成手段とを備える
ことを特徴とするソフトウェア成果物作成システム。
【請求項2】
前記タスク抽出手段は、
タスク取得手段によって取得された第2のソフトウェア成果物のタスク列のうち、該タスク列の各タスクの主体、動作及び順序が、タスク取得手段によって取得された他の第2のソフトウェア成果物に含まれるタスク列の各タスクの主体、動作及び順序と同一となるタスク列を抽出し、
前記作成手段は、
タスク抽出手段によって抽出されたタスク列に基づき第2のソフトウェア成果物のタスクを作成する
ことを特徴とする請求項1記載のソフトウェア成果物作成システム。
【請求項3】
第1のソフトウェア成果物に含まれる、主体、動作及びパラメータからなるタスクに基づいて、第2のソフトウェア成果物に含まれるタスクを、コンピュータを用いて生成することによりソフトウェア成果物を作成するソフトウェア成果物作成方法であって、
前記コンピュータは、
既に作成された複数の第1及び第2のソフトウェア成果物を、各第1のソフトウェア成果物のタスクと、該タスクに基づいて作成された第2のソフトウェア成果物のタスクとを関連付けた状態で所定の記憶部に記憶し、
前記記憶部に記憶された各第1のソフトウェア成果物のタスクのうち、該記憶部に記憶された他の第1のソフトウェア成果物に含まれるタスクの主体及び動作と同一のタスクと、該タスクに関連付けられた第2のソフトウェア成果物のタスクとを取得し、
取得された第2のソフトウェア成果物のタスクのうち、取得された他の第2のソフトウェア成果物に含まれるタスクの主体及び動作と同一のタスクを抽出し、
抽出されたタスクに基づき第2のソフトウェア成果物のタスクを作成する
ことを特徴とするソフトウェア成果物作成方法。
【請求項4】
前記コンピュータは、
前記記憶部から取得された第2のソフトウェア成果物のタスク列のうち、該タスク列の各タスクの主体、動作及び順序が、取得された他の第2のソフトウェア成果物に含まれるタスク列の各タスクの主体、動作及び順序と同一となるタスク列を抽出し、
抽出されたタスク列に基づき第2のソフトウェア成果物のタスクを作成する
ことを特徴とする請求項3記載のソフトウェア成果物作成方法。
【請求項5】
請求項3または4項記載の方法をコンピュータに実行させるためのソフトウェア成果物作成プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2009−146283(P2009−146283A)
【公開日】平成21年7月2日(2009.7.2)
【国際特許分類】
【出願番号】特願2007−324784(P2007−324784)
【出願日】平成19年12月17日(2007.12.17)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 発行者名:社団法人電子情報通信学会 刊行物名:電子情報通信学会技術研究報告 巻名:Vol.107 号数:No.135 発行年月日:2007年7月5日
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】