(57)【要約】      （修正有）【課題】ソフトウェア開発の効率を向上させることができるソフトウェア成果物作成システム、方法及びそのプログラムを提供する。【解決手段】コンピュータは、ソフトウェアの振舞を実現するための複数のデータをパラメータとして抽出可能な状態で概念体系リポジトリ14に記憶するとともに、作成対象のソフトウェア成果物のタスクを構成可能なパラメータを表す成果物ルールを概念体系リポジトリ14に記憶し、ソフトウェア成果物作成時に、そのソフトウェア成果物のタスクを構成可能なパラメータを成果物ルールに基づいて概念体系リポジトリ14から取得し、取得したパラメータを情報入力部12を用いて選択可能とし、概念体系リポジトリ14から取得されたパラメータのうち情報入力部12によって選択されたパラメータに基づきタスクを作成する。【選択図】図１
2009104289.tif 000002
【特許請求の範囲】
【請求項１】
主体、動作及びパラメータからなるタスクをコンピュータを用いて生成することにより、ソフトウェア成果物を作成するソフトウェア成果物作成システムであって、
前記コンピュータは、
情報入力手段と、
ソフトウェアの振舞を実現するための複数のデータをパラメータとして抽出可能な状態で記憶するとともに、作成対象のソフトウェア成果物のタスクを構成可能なパラメータを表す成果物制約情報を記憶する記憶手段と、
ソフトウェア成果物作成時に、そのソフトウェア成果物のタスクを構成可能なパラメータを成果物制約情報に基づいて記憶手段から取得し、取得したパラメータを情報入力手段を用いて選択可能とする取得手段と、
取得手段によって取得されたパラメータのうち情報入力手段によって選択されたパラメータに基づきタスクを作成する作成手段とを備える
ことを特徴とするソフトウェア成果物作成システム。
【請求項２】
前記作成手段は、
取得手段によって取得されたパラメータとは異なるパラメータが情報入力手段によって入力されると、入力されたパラメータに基づきタスクを作成する
ことを特徴とする請求項１記載のソフトウェア成果物作成システム。
【請求項３】
前記コンピュータは、
前記作成手段によって作成されたタスクを含むソフトウェア成果物を表示する表示手段を備え、
表示手段は、
前記作成手段によって作成されたタスクのパラメータに対応するデータが記憶手段に記憶されていない場合に、該パラメータに対応する箇所を他の箇所よりも際立たせて表示させる
ことを特徴とする請求項１または２記載のソフトウェア成果物作成システム。
【請求項４】
前記コンピュータは、
前記作成手段によって作成されたタスクのパラメータを、該パラメータに対応するデータと関係付けた状態で前記記憶手段に登録する登録手段を備える
ことを特徴とする請求項１、２または３記載のソフトウェア成果物作成システム。
【請求項５】
主体、動作及びパラメータからなるタスクをコンピュータを用いて生成することにより、ソフトウェア成果物を作成するソフトウェア成果物作成方法であって、
前記コンピュータは、
ソフトウェアの振舞を実現するための複数のデータをパラメータとして抽出可能な状態で所定の記憶部に記憶するとともに、作成対象のソフトウェア成果物のタスクを構成可能なパラメータを表す成果物制約情報を前記記憶部に記憶し、
ソフトウェア成果物作成時に、そのソフトウェア成果物のタスクを構成可能なパラメータを成果物制約情報に基づいて前記記憶部から取得し、取得したパラメータを所定の情報入力部を用いて選択可能とし、
記憶部から取得されたパラメータのうち情報入力部によって選択されたパラメータに基づきタスクを作成する
ことを特徴とするソフトウェア成果物作成方法。
【請求項６】
前記コンピュータは、
前記記憶部から取得されたパラメータとは異なるパラメータが前記情報入力部によって入力されると、入力されたパラメータに基づきタスクを作成する
ことを特徴とする請求項５記載のソフトウェア成果物作成方法。
【請求項７】
前記コンピュータは、
作成されたタスクを含むソフトウェア成果物を所定の表示部に表示させるとともに、作成されたタスクのパラメータに対応するデータが前記記憶部に記憶されていない場合に、該パラメータに対応する箇所を他の箇所よりも際立たせて表示部に表示させる
ことを特徴とする請求項５または６記載のソフトウェア成果物作成方法。
【請求項８】
前記コンピュータは、
作成されたタスクのパラメータを、該パラメータに対応するデータと関係付けた状態で前記記憶部に登録する
ことを特徴とする請求項５，６または７記載のソフトウェア成果物作成方法。
【請求項９】
請求項５乃至８何れか１項記載の方法をコンピュータに実行させるためのソフトウェア成果物作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発においてソフトウェア成果物を作成するシステム、方法及びそのプログラムに関する。
【背景技術】
【０００２】
ソフトウェア開発においては、ソースコードだけでなく、ユーザ要求や簡略化したソフトウェア動作のフロー、ソースコードを作成するための設計書等のドキュメント（以下、上流成果物と称する。）がソフトウェア成果物として作成される。これらの上流成果物は、ソフトウェア開発時に開発者の理解を助け、ユーザ要求を満たすソフトウェアを開発するために重要なものである。ところで、ソフトウェア開発時や運用時において機能変更が発生したために、既に作成されたソフトウェア成果物を変更した場合には、ソフトウェアの保有する機能を正確に反映しなければならず、変更されたソフトウェア成果物とは異なる他のソフトウェア成果物も変更する必要が生じる。しかし、ソフトウェアの機能数の増加に伴ってソフトウェア成果物の数が多くなることから、ソフトウェアの機能を正確に反映することが困難になるおそれがあった。また、各ソフトウェア成果物には、それぞれ独立した情報のみではなく、他のソフトウェア成果物の情報も記述される。しかし、ソフトウェア成果物の量が膨大になると、本来同一の情報として記述されるべき情報が見落とされる代わりに、誤った情報が他のソフトウェア成果物に記述される場合がある。このような誤りは、ソフトウェア開発工程の下流工程において作成されるソフトウェア成果物の品質を悪化させ、手戻りの発生により開発コストが増加するといった悪い影響を与える。
【０００３】
上記の問題点を具体的に説明する。他のソフトウェア成果物に共通的に利用される頻度の多いソフトウェア成果物としては、例えばオブジェクト指向開発におけるデータ分析モデルやテーブル設計図等のように、ソフトウェアが管理・利用するデータ情報を定義し且つ一覧化したものが挙げられる。このデータ情報は、ソフトウェアが有する機能を実現するためのものであり、具体的には、モジュール間で受け渡す情報やモジュール内で生成・削除・検索・変更される情報等である。また、データ情報は、シーケンス図やアクティビティ図等で利用される。なお、データ情報が定義されたデータ分析モデルやテーブル設計図等のソフトウェア成果物を静的成果物と称し、データ情報を用いてソフトウェアの機能を定義するシーケンス図やアクティビティ図等のソフトウェア成果物を動的成果物と称する。
【０００４】
そして、動的成果物を作成する場合には、ソフトウェアの機能を実現するために必要なデータ情報を静的成果物から抽出して動的成果物に記述する必要がある。しかしながら、不要なデータ情報を抽出した場合等のように誤ったデータ情報が動的成果物に記述されると、ソフトウェア開発工程の下流工程において作成される動的成果物には、誤ったデータ情報が引き継いで記述されることとなり、結果としてソフトウェア成果物の品質が悪化し、その修正に伴って開発コストが増加する。
【０００５】
上記の問題点を解決する方法として、非特許文献１に記載されたＵＭＬ（Unified Modeling Language）ツールでは、静的成果物であるクラス図で定義されたメソッドをソフトウェアツール上で参照し、動的成果物であるシーケンス図のメソッドとして利用することにより、メソッド名の記述誤りを防止するようになっている。しかしながら、データ情報については上記と同様な機能が提供されていないことから、誤ったデータ情報が動的成果物に記述されることを防止することが困難である。
【０００６】
また、特許文献１では、データベースに登録されたドキュメントを用いて動的成果物を作成する点が開示されているが、データ情報の具体的な利用方法については開示されていない。
【非特許文献１】“ENTERPRIZE ARCHITECT”、[online]、スパークシステムズジャパン株式会社、[平成１９年１０月１１日検索]、インターネット＜URL：http://www.sparxsystems.jp/ea.htm＞
【特許文献１】特公平７−０５２３８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
なお、静的成果物を予めデータベースに登録し、動的成果物作成時にデータベースを参照しながらデータ情報を取得して利用することも考えられるが、この場合には、開発者がデータ情報を単に目視で参照することになるので、データ情報の抽出ミスを防止することはできない。また、ソフトウェア開発工程において作成されるソフトウェア成果物は、例えば自然言語、ＵＭＬ、独自図形等のように様々な形態で表されるため、それぞれの形態に対応したデータベースの保存形式が必要になる。しかし、この保存形式を個別に作成するには多くの時間が必要になることから、ソフトウェア開発の効率が低下する。また、データベースに蓄積される成果物の数が膨大になると、動的成果物に利用されるデータ情報を検索することが困難になる。
【０００８】
本発明は前記問題点に鑑みてなされたものであり、その目的とするところは、ソフトウェア開発の効率を向上させることができるソフトウェア成果物作成システム、方法及びそのプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明のソフトウェア成果物作成システムは、前記目的を達成するために、主体、動作及びパラメータからなるタスクをコンピュータを用いて生成することにより、ソフトウェア成果物を作成するソフトウェア成果物作成システムであって、前記コンピュータは、情報入力手段と、ソフトウェアの振舞を実現するための複数のデータをパラメータとして抽出可能な状態で記憶するとともに、作成対象のソフトウェア成果物のタスクを構成可能なパラメータを表す成果物制約情報を記憶する記憶手段と、ソフトウェア成果物作成時に、そのソフトウェア成果物のタスクを構成可能なパラメータを成果物制約情報に基づいて記憶手段から取得し、取得したパラメータを情報入力手段を用いて選択可能とする取得手段と、取得手段によって取得されたパラメータのうち情報入力手段によって選択されたパラメータに基づきタスクを作成する作成手段とを備えている。
【００１０】
また、本発明のソフトウェア成果物作成方法は、前記目的を達成するために、主体、動作及びパラメータからなるタスクをコンピュータを用いて生成することにより、ソフトウェア成果物を作成するソフトウェア成果物作成方法であって、前記コンピュータは、ソフトウェアの振舞を実現するための複数のデータをパラメータとして抽出可能な状態で記憶するとともに、作成対象のソフトウェア成果物のタスクを構成可能なパラメータを表す成果物制約情報を所定の記憶部に記憶し、ソフトウェア成果物作成時に、そのソフトウェア成果物のタスクを構成可能なパラメータを成果物制約情報に基づいて前記記憶部から取得し、取得したパラメータを所定の情報入力部を用いて選択可能とし、記憶部から取得されたパラメータのうち情報入力部によって選択されたパラメータに基づきタスクを作成している。
【００１１】
さらに、本発明のソフトウェア成果物作成プログラムは、前記目的を達成するために、前記ソフトウェア成果物作成方法をコンピュータに実行させる。
【００１２】
これにより、ソフトウェアの振舞を実現するための複数のデータがパラメータとして抽出可能な状態で記憶されていることから、例えばソフトウェア成果物が自然言語、ＵＭＬ、独自図形等の様々な形態で作成された場合でも、該ソフトウェア成果物から必要なデータを抽出することが可能となる。また、作成対象のソフトウェア成果物のタスクを構成可能なパラメータを表す成果物制約情報に基づきパラメータが取得されることから、ソフトウェア成果物の量が膨大になった場合でも作成に必要なパラメータを容易に取得することが可能となる。
【発明の効果】
【００１３】
本発明のソフトウェア成果物作成システム、方法及びそのプログラムによれば、例えばソフトウェア成果物が自然言語、ＵＭＬ、独自図形等の様々な形態で作成された場合でも、該ソフトウェア成果物から必要なデータを抽出することができるので、それぞれのソフトウェア成果物に対応した保存形式を個別に作成する必要がなく、該保存形式の作成にかかる時間を省くことができる。また、ソフトウェア成果物の量が膨大になった場合でも作成に必要なパラメータを容易に取得することができるので、動的成果物に利用されるデータ情報を検索することが容易になる。従って、ソフトウェア開発の効率を向上させることができる。
【発明を実施するための最良の形態】
【００１４】
以下に図面を参照して本発明の一実施形態を説明する。
【００１５】
＜前提＞
ソフトウェア成果物には、開発するソフトウェアの振舞を規定するための動的情報を表現した動的なソフトウェア成果物（以下、動的成果物と称する。）と、開発するソフトウェアがその振舞を実現するために必要なデータ情報を規定する静的なソフトウェア成果物（以下、静的成果物と称する。）とが存在し、本実施形態では、静的成果物を用いて動的成果物を作成するシステムについて説明する。
【００１６】
本発明のソフトウェア成果物作成システム10は、周知のＣＰＵを主体として構成されたコンピュータからなり、図１に示すとおり、表示部11、情報入力部12、成果物リポジトリ13、概念体系リポジトリ14及び制御部15から構成されている。
【００１７】
表示部11は、液晶ディスプレイ等のように情報を表示するためのモジュールであり、制御部15の制御により図２に示すような成果物描画画面20を表示する。
【００１８】
情報入力部12は、キーボードやマウス等のように情報を入力するためのモジュールであり、入力情報を制御部15に送信する。
【００１９】
成果物リポジトリ13は、ソフトウェア開発工程において作成された動的成果物及び静的成果物を保存するモジュールである。
【００２０】
概念体系リポジトリ14は、後述のタスク構造、パラメータ構造、リンク情報及び成果物ルールを保存するモジュールである。
【００２１】
制御部15は、上記各モジュール11〜14と接続され、各モジュール11〜14間の情報、または各モジュール11〜14間の情報を組合わせた情報を、受け渡すモジュールである。また、制御部15には、ＲＯＭ等の記憶装置が設けられており、制御部15は、記憶装置に記憶されたプログラムを実行することにより各モジュール11〜14の制御を行う。
【００２２】
また、成果物描画画面20は、作成対象の動的成果物を選択するための成果物選択部21と、作成対象の動的成果物を描画するための描画部22と、作成対象の動的成果物の基となる静的成果物を表示するためのパラメータ表示部23とから構成されており、動的成果物の選択及び作成や、静的成果物にて定義されたデータの選択を、情報入力部12を用いて行うことができるようになっている。また、描画部22には、作成された動的成果物を成果物リポジトリ13に登録するための登録指示部（図示省略）が設けられており、情報入力部12を用いて登録を指示することができるようになっている。さらに、描画部22には、後述の差分パラメータ抽出部（図示省略）が設けられている。
【００２３】
＜動的成果物タスクの形式化＞
動的成果物には、ソフトウェアが実現する機能に対する振舞が複数のタスクのフローとして記述されている。この一つのタスク30は、入力主体31、出力主体32、動作33、入力パラメータ34及び出力パラメータ35の５つの要素からなるものとして表現される。タスクを自然言語で表現した場合、入力主体31、出力主体32、動作33、各パラメータ34,35は、主語、間接目的語、述語、目的語にそれぞれ対応する。例えば、図３に示すように、「オペレータがＯＬＴ（Optical Line Terminal）情報を端末に入力する」というタスクの入力主体31は「オペレータ」、出力主体32は「端末」、動作33は「入力する」、入力パラメータ34は「ＯＬＴ情報」となる。また、ＵＭＬにおけるシーケンス図のメッセージからタスクを表現する場合には、タスク30は図４のように示される。なお、図３及び図４のように表現された構造をタスク構造と称し、描画部22にて作成された動的成果物に含まれるタスクやメッセージは、タスク構造に変換されてから概念体系リポジトリ14に記憶される。
【００２４】
＜静的成果物の形式化＞
静的成果物には、ソフトウェアが実現する機能において利用される複数のデータ情報（パラメータ40）が記述されている。即ち、動的成果物に含まれるタスク30の各パラメータ34,35は、静的成果物に含まれるパラメータ40の内容に基づき設定される。各パラメータ40は、図５に示すように、セット41、エレメント42、リレーション43の３つの要素からなるものとして表現される。例えば、静的成果物の一例としてクラス図を表現する場合には、図６に示すようにクラス名がパラメータ40a,40bのセット41a,41bに、クラスの属性がエレメント42a,42b,42cに、クラス間の関連がリレーション43にそれぞれ対応する。また、「クラス１」というセット41aには、クラス１の属性即ち「属性１」というエレメント42a及び「属性２」というエレメント42bが接続されており、「クラス２」というセット41bには、クラス２の属性即ち「属性３」というエレメント42cが接続されている。さらに、「クラス１」というセット41aと「クラス２」というセット41bは、互いに「関連」というリレーション43で接続されている。このように表現された構造をパラメータ構造と称し、静的成果物に含まれる各パラメータは、パラメータ構造に変換された状態で概念体系リポジトリ14に記憶される。この場合、静的成果物に含まれる全てのパラメータを形式化して記憶しておくことにより、例えば自然言語、ＵＭＬ、独自図形等のように様々な形態で表された静的成果物を共通に取り扱うことが可能となる。
【００２５】
＜成果物ルール＞
ソフトウェア開発で作成されるソフトウェア成果物は、最初に概要的なものから作成され、開発工程が進むにつれて詳細化されたものが作成される。動的成果物では、最初にＵＣ（Use Case）のような最も抽象的なソフトウェア成果物が作成され、工程が進むにつれてアクティビティ図やシーケンス図等のソフトウェア成果物が作成されることにより、ソフトウェアの機能が詳細化される。静的成果物も同様に、最初に用語集が作成され、工程が進むにつれてデータ分析モデル（クラス図）やテーブル設計図等の成果物が作成されることにより、パラメータが詳細化されていく。動的成果物を作成する際には、静的成果物に記述されたパラメータが用いられるが、一つの動的成果物を作成するのに必要な静的成果物の数は、数種類に限定することができる。例えば、ＵＣを作成する場合において、ＵＣのタスクを表すのに必要なパラメータが記述されているのは用語集であり、シーケンス図を作成する場合において、シーケンス図のメッセージを表すのに必要なパラメータが記述されているのはテーブル設計図である。このように、ある動的成果物を作成するときに用いられる静的成果物を図７に示すように予め対応付けておくことにより、動的成果物を作成する際には、それに含まれるタスクを構成可能なパラメータを容易に取得することが可能になる。この対応付けを表す成果物制約情報（以下、成果物ルールと称する。）は、図７のように構成され、概念体系リポジトリ14に記憶されている。なお、本実施形態では、一つの成果物ルールを用いたものを示しているが、静的成果物と動的成果物の対応関係毎に複数の情報として記憶するようにしてもよい。
【００２６】
＜リポジトリ＞
成果物リポジトリ13には、開発者が作成した動的成果物及び静的成果物が記憶されている。また、概念体系リポジトリ14には、予め定義された成果物ルール、動的成果物に対応するタスク構造及び静的成果物に対応するパラメータ構造が記憶されている。即ち、概念体系リポジトリ14には、ソフトウェアの振舞を実現するための複数のパラメータが抽出可能な状態で記憶されている。また、概念体系リポジトリ14には、タスク構造の各パラメータ34,35がパラメータ構造のどのエレメント42に対応しているかを表すリンク情報が記憶されている。
【００２７】
なお、上記のように動的成果物の内容をタスク構造に、静的成果物の内容をパラメータ構造に一意に変換可能であることから、タスク構造及びパラメータ構造を概念体系リポジトリ14に予め記憶しなくてもよく、成果物リポジトリ13に記憶された動的及び静的成果物に対して任意に変換処理を行うようにしてもよい。また、これとは逆に、動的及び静的成果物を成果物リポジトリ13に予め記憶しなくてもよく、概念体系リポジトリ14に記憶されたタスク構造及びパラメータ構造に対して任意に変換処理を行って各成果物を生成するようにしてもよい。
【００２８】
＜成果物作成＞
開発者は、成果物描画画面20の成果物選択部21において、作成しようとする動的成果物を選択する。このとき、制御部15は、概念体系リポジトリ14に記憶された成果物ルールに基づき、選択された動的成果物のタスクを構成可能なパラメータを含む静的成果物を成果物リポジトリ13から取得するとともに、その静的成果物に対応するパラメータ構造を概念体系リポジトリ14から取得する。この場合、取得された静的成果物は、成果物描画画面20のパラメータ表示部23に表示される。
【００２９】
次に開発者は、描画部22に動的成果物を作成する。ここで、パラメータが必要な場合には、パラメータ表示部23に表示された静的成果物のパラメータを選択した後に描画部22に表示された動的成果物のパラメータ挿入箇所を選択することにより動的成果物にパラメータが追加される。なお、本実施形態では、既存のＧＵＩ機能を用いて、パラメータ表示部23に表示されたパラメータにポインタを移動させてマウスをクリックした後に、描画部22に表示された動的成果物のパラメータ挿入箇所をクリックすることにより、パラメータを動的成果物に記述することが可能である。
【００３０】
このとき、選択されたパラメータ構造のエレメント42と、タスク構造に追加されたパラメータ34,35との間にリンク情報が制御部15により生成され、リンク情報が概念体系リポジトリ14に記憶される。
【００３１】
なお、動的成果物を作成する際に必要なパラメータがパラメータ表示部23に表示されていない場合には、開発者は、パラメータ表示部23にて新たなパラメータを作成することが可能である。この場合、制御部15は、概念体系リポジトリ14から取得したパラメータとは異なるパラメータが情報入力部12によって入力されると、入力されたパラメータをパラメータ表示部23に表示させる。このようにして、作成されたパラメータを、上記のように動的成果物に含まれるタスク30のパラメータ34,35として追加することが可能となる。
【００３２】
さらに、動的成果物を作成する際に必要なパラメータが存在しない場合には、開発者は、描画部22にてパラメータを直接入力することが可能である。ここで、開発者が描画部22の差分パラメータ抽出部を選択すると、制御部15は、動的成果物のタスク30のうちリンク情報が生成されていないパラメータを抽出し、抽出されたパラメータを静的成果物未登録パラメータとして描画部22に表示する。この場合、制御部15は、描画部22に表示された動的成果物のうち抽出されたパラメータに対応する箇所を点滅させる等のように、静的成果物未登録パラメータを他の箇所よりも際立たせて表示させる。これにより、リンク情報が生成されていないパラメータが存在することを開発者に容易に知らせることができ、該パラメータを静的成果物に登録するように促すことができる。
【００３３】
以上の操作を繰り返すことにより、必要とする動的成果物を作成する。
【００３４】
＜成果物登録＞
動的成果物作成後、開発者は、成果物描画画面20の登録指示部において動的成果物の登録を指示する。このとき、制御部15は、作成した動的成果物を成果物リポジトリ13に記憶するとともに、動的成果物をタスク構造に変換して該タスク構造を概念体系リポジトリ14に記憶する。なお、静的成果物にパラメータが追加された場合には、制御部15は、追加されたパラメータを含む静的成果物を成果物リポジトリ13に記憶するとともに、静的成果物をパラメータ構造に変換して該パラメータ構造を概念体系リポジトリ14に記憶する。
【実施例１】
【００３５】
以下に、動的成果物としてのシーケンス図を、静的成果物を用いて作成する場合の動作について説明する。なお、動的成果物を作成する際には、図７の成果物ルールが用いられる。
【００３６】
開発者は、成果物描画画面20の成果物選択部21にて、シーケンス図を選択する。このとき制御部15は、概念体系リポジトリ14に記憶された成果物ルールに基づき、シーケンス図のタスク（メッセージ）を構成可能なパラメータを有するテーブル設計図を成果物リポジトリ13から取得する。そして、取得されたテーブル設計図は、成果物描画画面20のパラメータ表示部23に表示される。なお、テーブル設計図の一例を図８に示す。
【００３７】
次に開発者は、描画部22にシーケンス図を作成する。なお、本例では、図９に示すシーケンス図が作成されている。この場合、成果物描画画面20の態様は、図１０のように示される。なお、図９のシーケンス図には、「=getOltid()」というメッセージに必要なパラメータが存在しないので、開発者は、パラメータ表示部23に表示されたテーブル設計図のパラメータを選択することによってメッセージに必要なパラメータを追加する。具体的には、開発者は、ＧＵＩ機能を用いて、パラメータ表示部23に表示されたパラメータにポインタを移動させてマウスをクリックした後に、描画部22に表示された動的成果物のパラメータ挿入箇所をクリックすることにより、パラメータを動的成果物に記述する。
【００３８】
このパラメータ追加例を、図１１を参照して説明する。例えば、「=getOltid()」というメッセージの出力パラメータとして、テーブル設計図に記述されている「OLT-Table」というテーブルの「olt-id」というカラムを設定する場合には、開発者は、まずパラメータ表示部23にて「olt-id」が表示されている箇所（図中一点鎖線で囲まれた部分）をクリックした後に、描画部22の「=getOltid()」というメッセージの「=」の箇所で再度クリックする。このとき、「=」の出力部分（図中破線で囲まれた部分）に「olt-id」というカラムが設定される。また、メッセージ「=getOltid()」の入力パラメータとして、テーブル設計図に記述されているテーブル「OLT-Table」の「oltname」というカラムを設定する場合について図１２を参照して説明すると、開発者は、まずパラメータ表示部23にて「oltname」が表示されている箇所（図中一点鎖線で囲まれた部分）をクリックした後に、描画部22のメッセージ「=getOltid()」の「()」の箇所で再度クリックする。このとき、「()」の内部（図中破線で囲まれた部分）に「oltname」というカラムが設定される。
【００３９】
なお、上記の操作が行われたときのタスク構造とパラメータ構造の関係を図１３に表す。図１３（ａ）に示されたタスク50は、「Register」という入力主体51と、「DBaccess」という出力主体52と、「getOltid」という動作53と、「oltname」という入力パラメータ54と、「olt-id」という出力パラメータ55から構成されている。また、図１３（ｂ）に示されたパラメータ60aは、「Port」というセット61aと、「Portnum」というエレメント62aとから構成されており、パラメータ60bは、「OLT-Table」というセット61bと、「olt-id」というエレメント62bと、「oltname」というエレメント62cから構成されている。さらに、各パラメータ60a,60bは、「Port」というリレーション63によって接続されている。さらにまた、「oltname」という入力パラメータ54は、「oltname」というエレメント62cに基づき設定されていることから、これらの間にはリンク情報70aが生成されている。また、「olt-id」という出力パラメータ55は、「olt-id」というエレメント62bに基づき設定されていることから、これらの間にはリンク情報70bが生成されている。
【００４０】
なお、開発者が成果物の登録を登録指示部にて指示すると、制御部15は、図１３のタスク構造、パラメータ情報及びリンク情報を概念体系リポジトリ14に登録する。また、シーケンス図とテーブル設計図は、制御部15により成果物リポジトリ13に登録される。
【００４１】
次に、開発者が「=getOltid()」の出力パラメータとして、新たに「vender-id」というパラメータを追加する場合について説明する。図１２に示すように、「vender-id」というパラメータは、パラメータ表示部23に表示されているテーブル設計図に記述されていない。開発者は、ＧＵＩ機能を用いて、図１４に示すようにパラメータ表示部23のテーブル「OLT-Table」内（図中一点鎖線で囲まれた部分）において「vender-id」というカラムを記述する。この後、開発者は、前述したように、カラム「vender-id」を、「=getOltid()」の出力パラメータに追加する。このようにして、「vender-id」というパラメータが表示される（図中破線で囲まれた部分）。なお、この操作後のタスク構造とパラメータ構造の関係を図１５に表す。図１５（ａ）に示されたタスク50には、「vender-id」という出力パラメータ56が追加され、図１５（ｂ）に示されたパラメータ60bには、「vender-id」というエレメント62dが追加されている。また、「vender-id」という出力パラメータ56は、「vender-id」というエレメント62dに基づき設定されていることから、これらの間にはリンク情報70cが生成されている。
【００４２】
次に、開発者が「=getOltid()」の入力パラメータとして、描画部22にて「vendername」というパラメータを追加する場合について説明する。図１４に示すように、「vendername」というパラメータは、パラメータ表示部23に表示されているテーブル設計図に記述されていない。開発者は、ＧＵＩ機能を用いて、図１６に示すように描画部22の「=getOltid()」の「()」内（図中破線で囲まれた部分）に「vendername」という出力パラメータを記述する。なお、この操作後のタスク構造とパラメータ構造の関係を図１７に表す。図１７（ａ）に示されたタスク50には、「vendername」という入力パラメータ57が追加されている。この場合、「vendername」という出力パラメータ57は、パラメータ表示部23に表示されたどのパラメータにも基となる関係を有していないことから、リンク情報が生成されていない。
【００４３】
シーケンス図作成後に、開発者が成果物描画画面20の差分パラメータ抽出部を選択すると、制御部15は、図１７（ａ）に示されたタスク50のうちリンク情報が生成されていないパラメータを抽出する。この場合、「vendername」という入力パラメータ57が静的成果物未登録パラメータとして抽出される。そして、制御部15は、図１８に示すように、描画部22に表示された動的成果物のうち「vendername」というパラメータに対応する箇所（図中破線で囲まれた部分）を点滅させる等のように、静的成果物未登録パラメータを他の箇所よりも際立たせて表示させる。なお、開発者は、ＧＵＩ機能を用いて、描画部22に表示された静的成果物未登録パラメータ（図中破線で囲まれた部分）にポインタを移動させてマウスをクリックした後に、パラメータ表示部23に表示された静的成果物のパラメータ挿入箇所（図中一点鎖線で囲まれた部分）をクリックすることにより、パラメータを静的成果物に記述する。なお、この操作後のタスク構造とパラメータ構造の関係を図１９に表す。図１９（ｂ）に示されたパラメータ60bには、「vendername」というエレメント62eが追加されている。また、「vendername」というエレメント62eは、「vendername」という出力パラメータ57に基づき設定されていることから、これらの間にはリンク情報70dが生成されている。
【００４４】
前述したように上記実施形態では、ソフトウェアの振舞を実現するための複数のエレメント62a〜62eがパラメータとして抽出可能な状態で記憶されていることから、例えばソフトウェア成果物が自然言語、ＵＭＬ、独自図形等の様々な形態で作成された場合でも、該ソフトウェア成果物から必要なエレメント62a〜62eを抽出することができ、それぞれのソフトウェア成果物に対応した保存形式を個別に作成する必要がなく、該保存形式の作成にかかる時間を省くことができる。また、作成対象のソフトウェア成果物のタスクを構成可能なパラメータ54〜57を表す成果物ルールに基づきパラメータ54〜57が取得されることから、静的成果物の量が膨大になった場合でも作成に必要なパラメータを容易に取得することができ、動的成果物に利用されるデータ情報を検索することが容易になる。従って、ソフトウェア開発の効率を向上させることができる。
【００４５】
また、概念体系リポジトリ14から取得されたパラメータとは異なるパラメータが情報入力部12によって入力されると、入力されたパラメータに基づきタスクを作成するので、静的成果物に定義されていないパラメータを動的成果物作成時に容易に追加することができる。これにより、例えば動的成果物を作成しながら静的成果物を作成する等のように、静的成果物と動的成果物の作成順序を容易に変更することができ、ソフトウェア開発の柔軟性を向上させることができる。
【００４６】
さらに、作成されたタスクを含むソフトウェア成果物を表示部11に表示させるとともに、作成されたタスク50のパラメータ54〜57に対応するエレメント62a〜62eが概念体系リポジトリ14に記憶されていない場合に、該パラメータ54〜57に対応する箇所を他の箇所よりも際立たせて表示部11に表示させるので、該パラメータを概念体系リポジトリ41に登録するように開発者に促すことができる。
【００４７】
さらにまた、作成されたタスク50のパラメータ54〜57を、該パラメータ54〜57に対応するエレメント62a〜62eと関係付けた状態で概念体系リポジトリ14に登録するので、例えば各パラメータ54〜57及び各エレメント62a〜62eの一方が変更・修正された場合に、変更・修正によるソフトウェア成果物の影響箇所を容易に特定することができる。
【００４８】
なお、上記の実施形態は本発明の具体例に過ぎず、本発明が上記実施形態のみに限定されることはない。例えば、本発明は、周知のコンピュータに記録媒体もしくは通信回線を介して、前述した作成手順を備えるプログラムをインストールすることによっても実現可能である。
【図面の簡単な説明】
【００４９】
【図１】本発明の一実施形態におけるソフトウェア成果物作成システムの構成を示す図
【図２】成果物描画画面を示す図
【図３】タスクの構成を示す図
【図４】タスクの構成を示す図
【図５】パラメータ構造を示す図
【図６】静的成果物とパラメータ構造の関係を示す図
【図７】成果物ルールの概略を示す図
【図８】テーブル設計図の一例を示す図
【図９】シーケンス図の一例を示す図
【図１０】ソフトウェア成果物作成時の成果物描画画面を示す図
【図１１】ソフトウェア成果物作成時の成果物描画画面を示す図
【図１２】ソフトウェア成果物作成時の成果物描画画面を示す図
【図１３】タスク構造とパラメータ構造との関係を示す図
【図１４】ソフトウェア成果物作成時の成果物描画画面を示す図
【図１５】タスク構造とパラメータ構造との関係を示す図
【図１６】ソフトウェア成果物作成時の成果物描画画面を示す図
【図１７】タスク構造とパラメータ構造との関係を示す図
【図１８】ソフトウェア成果物作成時の成果物描画画面を示す図
【図１９】タスク構造とパラメータ構造との関係を示す図
【符号の説明】
【００５０】
10…ソフトウェア成果物作成システム、11…表示部、12…情報入力部、13…成果物リポジトリ、14…概念体系リポジトリ、15…制御部、30,50…タスク、31,51…入力主体、32,52…出力主体、33,53…動作、34,54,57…入力パラメータ、35,55,56…出力パラメータ、40,40a,40b,60a,60b…パラメータ。
【図１】
2009104289.tif 000003
【図２】
2009104289.tif 000004
【図３】
2009104289.tif 000005
【図４】
2009104289.tif 000006
【図５】
2009104289.tif 000007
【図６】
2009104289.tif 000008
【図７】
2009104289.tif 000009
【図８】
2009104289.tif 000010
【図９】
2009104289.tif 000011
【図１０】
2009104289.tif 000012
【図１１】
2009104289.tif 000013
【図１２】
2009104289.tif 000014
【図１３】
2009104289.tif 000015
【図１４】
2009104289.tif 000016
【図１５】
2009104289.tif 000017
【図１６】
2009104289.tif 000018
【図１７】
2009104289.tif 000019
【図１８】
2009104289.tif 000020
【図１９】
2009104289.tif 000021