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

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

Info

Publication number
JP2009104289A
JP2009104289A JP2007273739A JP2007273739A JP2009104289A JP 2009104289 A JP2009104289 A JP 2009104289A JP 2007273739 A JP2007273739 A JP 2007273739A JP 2007273739 A JP2007273739 A JP 2007273739A JP 2009104289 A JP2009104289 A JP 2009104289A
Authority
JP
Japan
Prior art keywords
parameter
product
task
software product
software
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.)
Pending
Application number
JP2007273739A
Other languages
English (en)
Inventor
Masateru Inoue
正輝 井上
Masataka Sato
正崇 佐藤
Tetsuya Yamamura
哲哉 山村
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 JP2007273739A priority Critical patent/JP2009104289A/ja
Publication of JP2009104289A publication Critical patent/JP2009104289A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】ソフトウェア開発の効率を向上させることができるソフトウェア成果物作成システム、方法及びそのプログラムを提供する。
【解決手段】コンピュータは、ソフトウェアの振舞を実現するための複数のデータをパラメータとして抽出可能な状態で概念体系リポジトリ14に記憶するとともに、作成対象のソフトウェア成果物のタスクを構成可能なパラメータを表す成果物ルールを概念体系リポジトリ14に記憶し、ソフトウェア成果物作成時に、そのソフトウェア成果物のタスクを構成可能なパラメータを成果物ルールに基づいて概念体系リポジトリ14から取得し、取得したパラメータを情報入力部12を用いて選択可能とし、概念体系リポジトリ14から取得されたパラメータのうち情報入力部12によって選択されたパラメータに基づきタスクを作成する。
【選択図】図1

Description

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

Claims (9)

  1. 主体、動作及びパラメータからなるタスクをコンピュータを用いて生成することにより、ソフトウェア成果物を作成するソフトウェア成果物作成システムであって、
    前記コンピュータは、
    情報入力手段と、
    ソフトウェアの振舞を実現するための複数のデータをパラメータとして抽出可能な状態で記憶するとともに、作成対象のソフトウェア成果物のタスクを構成可能なパラメータを表す成果物制約情報を記憶する記憶手段と、
    ソフトウェア成果物作成時に、そのソフトウェア成果物のタスクを構成可能なパラメータを成果物制約情報に基づいて記憶手段から取得し、取得したパラメータを情報入力手段を用いて選択可能とする取得手段と、
    取得手段によって取得されたパラメータのうち情報入力手段によって選択されたパラメータに基づきタスクを作成する作成手段とを備える
    ことを特徴とするソフトウェア成果物作成システム。
  2. 前記作成手段は、
    取得手段によって取得されたパラメータとは異なるパラメータが情報入力手段によって入力されると、入力されたパラメータに基づきタスクを作成する
    ことを特徴とする請求項1記載のソフトウェア成果物作成システム。
  3. 前記コンピュータは、
    前記作成手段によって作成されたタスクを含むソフトウェア成果物を表示する表示手段を備え、
    表示手段は、
    前記作成手段によって作成されたタスクのパラメータに対応するデータが記憶手段に記憶されていない場合に、該パラメータに対応する箇所を他の箇所よりも際立たせて表示させる
    ことを特徴とする請求項1または2記載のソフトウェア成果物作成システム。
  4. 前記コンピュータは、
    前記作成手段によって作成されたタスクのパラメータを、該パラメータに対応するデータと関係付けた状態で前記記憶手段に登録する登録手段を備える
    ことを特徴とする請求項1、2または3記載のソフトウェア成果物作成システム。
  5. 主体、動作及びパラメータからなるタスクをコンピュータを用いて生成することにより、ソフトウェア成果物を作成するソフトウェア成果物作成方法であって、
    前記コンピュータは、
    ソフトウェアの振舞を実現するための複数のデータをパラメータとして抽出可能な状態で所定の記憶部に記憶するとともに、作成対象のソフトウェア成果物のタスクを構成可能なパラメータを表す成果物制約情報を前記記憶部に記憶し、
    ソフトウェア成果物作成時に、そのソフトウェア成果物のタスクを構成可能なパラメータを成果物制約情報に基づいて前記記憶部から取得し、取得したパラメータを所定の情報入力部を用いて選択可能とし、
    記憶部から取得されたパラメータのうち情報入力部によって選択されたパラメータに基づきタスクを作成する
    ことを特徴とするソフトウェア成果物作成方法。
  6. 前記コンピュータは、
    前記記憶部から取得されたパラメータとは異なるパラメータが前記情報入力部によって入力されると、入力されたパラメータに基づきタスクを作成する
    ことを特徴とする請求項5記載のソフトウェア成果物作成方法。
  7. 前記コンピュータは、
    作成されたタスクを含むソフトウェア成果物を所定の表示部に表示させるとともに、作成されたタスクのパラメータに対応するデータが前記記憶部に記憶されていない場合に、該パラメータに対応する箇所を他の箇所よりも際立たせて表示部に表示させる
    ことを特徴とする請求項5または6記載のソフトウェア成果物作成方法。
  8. 前記コンピュータは、
    作成されたタスクのパラメータを、該パラメータに対応するデータと関係付けた状態で前記記憶部に登録する
    ことを特徴とする請求項5,6または7記載のソフトウェア成果物作成方法。
  9. 請求項5乃至8何れか1項記載の方法をコンピュータに実行させるためのソフトウェア成果物作成プログラム。
JP2007273739A 2007-10-22 2007-10-22 ソフトウェア成果物作成システム、方法及びそのプログラム Pending JP2009104289A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007273739A JP2009104289A (ja) 2007-10-22 2007-10-22 ソフトウェア成果物作成システム、方法及びそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007273739A JP2009104289A (ja) 2007-10-22 2007-10-22 ソフトウェア成果物作成システム、方法及びそのプログラム

Publications (1)

Publication Number Publication Date
JP2009104289A true JP2009104289A (ja) 2009-05-14

Family

ID=40705913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007273739A Pending JP2009104289A (ja) 2007-10-22 2007-10-22 ソフトウェア成果物作成システム、方法及びそのプログラム

Country Status (1)

Country Link
JP (1) JP2009104289A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1097417A (ja) * 1996-07-30 1998-04-14 Toray Ind Inc プログラム組立装置及び記憶媒体
JP2006099746A (ja) * 2004-09-02 2006-04-13 Ricoh Co Ltd 動作定義情報作成方法、動作定義情報作成装置、動作定義情報作成プログラム、記録媒体及びデータ構造
JP2007226375A (ja) * 2006-02-22 2007-09-06 Nippon Telegr & Teleph Corp <Ntt> ソフトウェアコンポーネント再利用方法及びそのシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1097417A (ja) * 1996-07-30 1998-04-14 Toray Ind Inc プログラム組立装置及び記憶媒体
JP2006099746A (ja) * 2004-09-02 2006-04-13 Ricoh Co Ltd 動作定義情報作成方法、動作定義情報作成装置、動作定義情報作成プログラム、記録媒体及びデータ構造
JP2007226375A (ja) * 2006-02-22 2007-09-06 Nippon Telegr & Teleph Corp <Ntt> ソフトウェアコンポーネント再利用方法及びそのシステム

Similar Documents

Publication Publication Date Title
JP6916403B2 (ja) データへの論理的妥当性検査規則の指定および適用
CN107844299B (zh) 一种Web应用开发工具的实现方法
Rivero et al. Mockup-driven development: providing agile support for model-driven web engineering
US8656352B2 (en) System and method for synchronized workflow management
US9977655B2 (en) System and method for automatic extraction of software design from requirements
EP2107457A2 (en) Automatic software configuring system
JP2012221380A (ja) 自動プログラム生成装置、方法及びコンピュータプログラム
Raible The JHipster mini-book
CN117280321A (zh) 在版本控制系统中的变化估计
CN111143228B (zh) 基于决策表法的测试代码生成方法及装置
JP2009289162A (ja) 制御プログラム及び試験方案自動作成装置
Ko et al. Modelcenter mbse for openmbee: Mbse analysis integration for distributed development
US9405514B1 (en) Process fragment management
JP2009104289A (ja) ソフトウェア成果物作成システム、方法及びそのプログラム
JP2009104336A (ja) ソフトウェア成果物管理システム、方法及びそのプログラム
JP6062735B2 (ja) ソフトウェア開発支援装置、ソフトウェア開発支援方法、ソフトウェア開発支援プログラム
US11733847B2 (en) Knowledge engine auto-generation of guided flow experience
JP5600826B1 (ja) 非構造化データ処理システム、非構造化データ処理方法およびプログラム
US11340918B2 (en) Knowledge engine auto-generation of guided flow experience
JP5932262B2 (ja) 情報処理装置及び情報処理方法及びプログラム
JP4886626B2 (ja) ソフトウェア成果物管理システム、方法及びそのプログラム
JP4590907B2 (ja) ソフトウェア開発支援装置及びソフトウェア開発支援プログラム
JP2009104290A (ja) ソフトウェア成果物管理システム、方法及びそのプログラム
JP2007094453A (ja) プログラム開発支援システム、プログラム開発支援方法およびプログラム
JP2008071160A (ja) ソフトウェア部品提供システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100113

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

Effective date: 20110615

Free format text: JAPANESE INTERMEDIATE CODE: A821

RD03 Notification of appointment of power of attorney

Effective date: 20110616

Free format text: JAPANESE INTERMEDIATE CODE: A7423

A977 Report on retrieval

Effective date: 20120117

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120123

A02 Decision of refusal

Effective date: 20120521

Free format text: JAPANESE INTERMEDIATE CODE: A02