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

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

Info

Publication number
JP2008210076A
JP2008210076A JP2007044938A JP2007044938A JP2008210076A JP 2008210076 A JP2008210076 A JP 2008210076A JP 2007044938 A JP2007044938 A JP 2007044938A JP 2007044938 A JP2007044938 A JP 2007044938A JP 2008210076 A JP2008210076 A JP 2008210076A
Authority
JP
Japan
Prior art keywords
task
software
product
software product
tasks
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
JP2007044938A
Other languages
English (en)
Inventor
Masateru Inoue
正輝 井上
Masataka Sato
正崇 佐藤
Takashi Inoue
貴司 井上
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 JP2007044938A priority Critical patent/JP2008210076A/ja
Publication of JP2008210076A publication Critical patent/JP2008210076A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】ソフトウェア開発の効率を向上させることができるソフトウェア成果物管理システム、方法及びそのプログラムを提供する。
【解決手段】既に作成されたソフトウェア成果物に含まれるタスクに基づいて他のソフトウェア成果物のタスクを作成することにより生成された複数のソフトウェア成果物を成果物リポジトリ13に記憶するとともに、各ソフトウェア成果物のタスクと該タスクに基づいて作成された他のソフトウェア成果物のタスクとを関連付けたタスク達成構造を概念体系リポジトリ14に記憶し、成果物リポジトリ13に記憶されたソフトウェア成果物のタスクの内容が情報入力部12によって変更されると、変更されたタスクと、該タスクに関連する他のソフトウェア成果物のタスクとを概念体系リポジトリ14から抽出する。
【選択図】図1

Description

本発明は、ソフトウェア開発において作成されたソフトウェア成果物の一部の変更に基づく他のソフトウェア成果物の影響箇所を特定するソフトウェア成果物管理システム、方法及びそのプログラムに関する。
ソフトウェア開発においては、ソースコードだけでなく、ユーザ要求や簡略化したソフトウェア動作のフロー、ソースコードを作成するための設計書等のドキュメント(以下、上流成果物と称する。)がソフトウェア成果物として作成される。これらの上流成果物は、ソフトウェア開発時に開発者の理解を助け、ユーザ要求を満たすソフトウェアを開発するために重要なものである。しかし、ソフトウェア開発時や運用時において機能変更が発生したために、既に作成されたソフトウェア成果物を変更した場合には、ソフトウェアの保有する機能を正確に反映しなければならず、変更されたソフトウェア成果物に関連する他のソフトウェア成果物も変更する必要が生じる。この場合、ソフトウェア成果物の数が多くなるに従って関連するソフトウェア成果物の特定及びそのソフトウェア成果物における変更箇所の特定が困難になるという問題点があった。そのため、これまで種々の特定方法が検討されている。
例えば、非特許文献1に記載されたUML(Unified Modeling Language)ツールでは、作成された各ソフトウェア成果物を機能毎に電子フォルダに保存することが可能であるため、関連する他のソフトウェア成果物を把握することが可能である。しかし、これによって特定できるのは、変更の影響を受けるソフトウェア成果物のみであり、その成果物の記載内容のうちどの箇所が影響を受けるかについては特定することが困難である。
また、非特許文献2では、変更により影響を受けるソフトウェア成果物及びその影響箇所まで特定可能であるが、作成された全てのソフトウェア成果物に対して、各ソフトウェア成果物間の関連情報を予め付与する必要がある。この場合、関連情報は、ソフトウェア成果物の作成作業とは独立して開発者によって付与されることから、開発者の作業が煩雑になる。
さらに、非特許文献3では、非特許文献2と同様に、変更により影響を受けるソフトウェア成果物及びその影響箇所まで特定可能であるが、特定の対象となるソフトウェア成果物がソースコードのみであり、ユーザ要求や設計書等の上流成果物については特定することが困難である。また、非特許文献2と同様に、作成された全てのソフトウェア成果物に対して、開発者が各ソフトウェア成果物間の関連情報を予め付与する必要があることから、開発者の作業が煩雑になる。
さらにまた、非特許文献4では、ユーザ要求や設計書等の上流成果物と、ソースコード等の下流成果物とを特定対象とした、ソフトウェア成果物及びその影響箇所の特定方法を提案しているが、どのように各ソフトウェア成果物間を関連付けるかについては、具体的に述べられていない。
"ENTERPRIZE ARCHITECT"、[online]、スパークシステムズジャパン株式会社、[平成19年2月21日検索]、インターネット<URL:http://www.sparxsystems.jp/ea.htm> 大平他「Strutsフレームワークにおけるメタモデルを用いた追跡可能性実現手法の提案」、社団法人情報処理学会 研究報告、2005年11月、33〜40頁 山田他「機能モデルに基づくソフトウェアの変更支援」、電子情報通信学会論文誌D−2、vol.J73−D−2、No.10、1990年10月、1770〜1778頁 表他「UMLモデル間リンクによるシステムevolutionのサポート(2)」、信学技報、KBSE2004−1、2004年5月
上記のように、従来例では、変更による影響を受けるソフトウェア成果物及びその影響箇所を特定するのに煩雑な処理が必要であることから、効率的なソフトウェア開発の妨げになっている。
本発明は前記問題点に鑑みてなされたものであり、その目的とするところは、ソフトウェア開発の効率を向上させることができるソフトウェア成果物管理システム、方法及びそのプログラムを提供することにある。
本発明のソフトウェア成果物管理システムは、前記目的を達成するために、ソフトウェア開発において作成されたソフトウェア成果物の一部の変更に基づく他のソフトウェア成果物の影響箇所を特定するソフトウェア成果物管理システムであって、情報入力手段と、既に作成されたソフトウェア成果物に含まれるタスクに基づいて他のソフトウェア成果物のタスクを作成することにより生成された複数のソフトウェア成果物を、各ソフトウェア成果物のタスクと、該タスクに基づいて作成された他のソフトウェア成果物のタスクとを関連付けた状態で記憶する記憶手段と、記憶手段に記憶されたソフトウェア成果物のタスクの内容が情報入力手段によって変更されると、変更されたタスクと、該タスクに関連する他のソフトウェア成果物のタスクとを記憶手段から抽出する特定手段とを備えている。
また、本発明のソフトウェア成果物管理方法は、前記目的を達成するために、ソフトウェア開発において作成されたソフトウェア成果物の一部の変更に基づく他のソフトウェア成果物の影響箇所を、コンピュータ装置を用いて特定するソフトウェア成果物管理方法であって、前記コンピュータ装置は、既に作成されたソフトウェア成果物に含まれるタスクに基づいて他のソフトウェア成果物のタスクを作成することにより生成された複数のソフトウェア成果物を、各ソフトウェア成果物のタスクと、該タスクに基づいて作成された他のソフトウェア成果物のタスクとを関連付けた状態で所定の記憶部に記憶し、記憶部に記憶されたソフトウェア成果物のタスクの内容が所定の情報入力部によって変更されると、変更されたタスクと、該タスクに関連する他のソフトウェア成果物のタスクとを記憶部から抽出している。
さらに、本発明のソフトウェア生成物管理プログラムは、前記目的を達成するために、前記ソフトウェア成果物管理方法をコンピュータ装置に実行させる。
これにより、各ソフトウェア成果物のタスクが、該タスクに基づいて作成された他のソフトウェア成果物のタスクと関連付けられた状態で記憶されていることから、ソフトウェア成果物のタスクの内容が変更されたときには、変更されたタスクに関連付けられた他のソフトウェア成果物のタスクを抽出することが可能となる。
本発明のソフトウェア成果物管理システム、方法及びそのプログラムによれば、ソフトウェア成果物のタスクの内容が変更されたときに、変更されたタスクに関連付けられた他のソフトウェア成果物のタスクを抽出することができるので、変更されたソフトウェア成果物及びその変更箇所を容易に特定することができる。従って、ソフトウェア成果物の品質を向上させることができるとともに、ソフトウェア開発の効率を大幅に向上させることができる。
また、既に作成されたソフトウェア成果物に含まれるタスクに基づいて他のソフトウェア成果物のタスクを作成することにより他のソフトウェア成果物が生成されると各ソフトウェア成果物のタスクが互いに関連付けられることから、関連情報の付与作業をソフトウェア成果物の作成作業とともに行うことができ、ソフトウェア開発における開発者の負担を低減することができる。
以下に図面を参照して本発明の一実施形態を説明する。
<構成>
ソフトウェア成果物には、開発するソフトウェアの振舞を規定するための動的情報を表現した動的成果物と、開発するソフトウェアがその振舞を実行するために必要なデータ情報を規定する静的成果物とが存在する。本実施形態では、上流成果物の動的成果物の一部の変更に基づく他の動的成果物の影響箇所を特定する成果物管理システムについて説明する。
本発明の成果物管理システム10は、周知のCPUを主体として構成されたコンピュータ装置からなり、図1に示すとおり、表示部11、情報入力部12、成果物リポジトリ13、概念体系リポジトリ14及び制御部15から構成されている。
表示部11は、液晶ディスプレイ等のように情報を表示するためのモジュールであり、制御部15の制御により図2に示すような成果物描画画面20を表示する。
情報入力部12は、キーボードやマウス等のように情報を入力するためのモジュールであり、入力情報を制御部15に送信する。
成果物リポジトリ13は、ソフトウェア開発において作成された動的成果物を保存するモジュールである。
概念体系リポジトリ14は、後述のタスク達成構造を保存するモジュールである。
制御部15は、上記各モジュール11〜14と接続され、各モジュール11〜14間の情報、または各モジュール11〜14間の情報を組合わせた情報を、受け渡すモジュールである。また、制御部15は、図3に示すように情報受付処理部151、成果物描画処理部152、タスク特定処理部153、成果物リポジトリアクセス処理部154、概念体系リポジトリアクセス処理部155及びタスク達成構造バッファ156の各モジュールによって構成されている。
情報受付処理部151は、情報入力部12によって入力された情報を受信するためのモジュールである。
成果物描画処理部152は、成果物描画画面20を描画して表示部11に表示させるためのモジュールである。
タスク特定処理部153は、動的成果物が変更されたときに変更箇所に対応するタスクと、該タスクに関連する他の動的成果物の影響箇所を特定するためのモジュールである。
成果物リポジトリアクセス処理部154は、成果物リポジトリ13に対して動的成果物を記憶及び取得する制御を行うためのモジュールである。
概念体系リポジトリアクセス処理部155は、概念体系リポジトリ14に対してタスク達成構造を記憶及び取得する制御を行うためのモジュールである。
タスク達成構造バッファ156は、概念体系リポジトリアクセス処理部155によって概念体系リポジトリ14から取得されたタスク達成構造を保存するためのモジュールである。なお、各モジュール151〜156は、互いに情報を受け渡すことができるように構成されている。
また、成果物描画画面20は、作成または変更対象の動的成果物を選択するための成果物選択部21と、動的成果物に含まれるタスクの内容を表示するためのタスク表示部22と、作成及び変更された動的成果物を描画するための描画部23とから構成されており、情報入力部12を用いてソフトウェア成果物の選択及び入力ができるようになっている。また、描画部23には、作成された動的成果物を成果物リポジトリ13に記憶するための登録指示部(図示省略)が設けられており、情報入力部12を用いて登録を指示することができるようになっている。
<動的成果物タスクの形式化>
動的成果物には、ソフトウェアが実現する機能に対する振舞が複数のタスクのフローとして記述されている。この一つのタスク30は、図4に示すように、入力主体31、出力主体32、動作33、パラメータ34の4つの要素からなるものとして表現される。タスクを自然言語にした場合、入力主体31、出力主体32、動作33、パラメータ34は、主語、間接目的語、述語、目的語にそれぞれ該当するものである。ここで、「オペレータがOLT(Optical Line Terminal)情報を端末に入力する」というタスクの入力主体31は「オペレータ」、出力主体32は「端末」、動作33は「入力する」、パラメータ34は「OLT情報」である。また、UMLにおけるシーケンス図のメッセージからタスクを表現する場合には、タスク30は図5のように示される。
動的成果物は、表現する機能が同じものであっても、動的成果物に含まれるタスクの詳細度(粒度)がソフトウェア開発工程毎に異なっている。即ち、図6に示すように、上流工程の動的成果物に含まれるタスク30aの粒度は、下流工程の動的成果物に含まれる複数のタスク30b,30c,30dに記載されるタスクの粒度よりも粗くなっている。また、上流工程の動的成果物の一つのタスク30aが下流工程の動的成果物の各タスク30b,30c,30dに分解されている場合、タスク30aと各タスク30b,30c,30dとの間には、タスク30aが各タスク30b,30c,30dの基となったタスクであり、各タスク30b,30c,30dがタスク30aに基づいて作成されたという関係を有している。本実施例では、このような関係を表す情報を「達成関係」40として表現することとし、タスク30aと各タスク30b,30c,30dは、達成関係40で結び付けられる。この場合、作成された動的成果物のタスク及び工程毎のタスク間の関係は図6に示すような構造で表現される。なお、この構造をタスク達成構造と呼び、タスク達成構造は概念体系リポジトリ14に記憶される。
<成果物作成>
開発者は、成果物描画画面20の成果物選択部21において作成しようとする動的成果物を選択するとともに、選択した動的成果物のタスクを成果物描画画面20の描画部23において作成する。このとき、制御部15の成果物描画処理部152は、情報受付部151が情報入力部12から受信した入力情報を描画部23に表示する。なお、描画部23に描画される動的成果物の形式は、自然言語及びアクティビティ図やシーケンス図等のUMLに基づく図であっても構わない。
次に、開発者は、上流(または下流)工程の動的成果物を成果物選択部21にて選択する。このとき、制御部15の成果物描画処理部152は、既に作成された動的成果物のタスク(以下、既存タスクと称する。)及び現在作成中のタスク(以下、作成中タスクと称する。)を、タスク表示部22に表示する。開発者は、タスク表示部22にて作成中タスクがどの既存タスクを簡略化(または詳細化)したものであるかを表すタスク間関係情報を入力する。この場合、制御部15の成果物描画処理部152は、情報受付部151が情報入力部12から受信したタスク間関係情報をタスク表示部22に表示する。
<成果物登録>
動的成果物作成後、開発者は、成果物描画画面20の登録指示部において動的成果物の登録を指示する。このとき、制御部15の成果物リポジトリアクセス処理部154は、作成された動的成果物を成果物リポジトリ13に記憶する。また、概念体系リポジトリアクセス処理部155は、各タスクの要素情報及びタスク間の達成関係に基づいて作成された成果物をタスク達成構造表現に変換し、タスク達成構造を概念体系リポジトリ14に記憶する。この場合、成果物作成時に入力されたタスク間関係情報は、タスク達成構造表現における達成関係40に変換される。
また、上記と同様に他の成果物を成果物描画画面20にて作成し、登録を行う。なお、動的成果物の登録は全ての動的成果物を作成してから行っても構わないし、一つの動的成果物を作成する毎に行っても構わない。
<変更成果物・変更箇所の特定>
上記の成果物登録が行われたことを前提として、登録された動的成果物の一部の変更に基づいて変更を要する他の動的成果物及びその影響箇所を特定する方法について図7のフロー図を参照して説明する。
まず、開発者が指定した動的成果物を取得し、成果物描画画面20に表示する(ステップS1)。具体的には、開発者が、成果物描画画面20の成果物選択部21において変更しようとする動的成果物を指定すると、制御部15の成果物リポジトリアクセス処理部154は、指定された動的成果物を成果物リポジトリ13から取得する。また、概念体系リポジトリアクセス処理部155は、概念体系リポジトリ14からタスク達成構造を取得してタスク達成構造バッファ156に格納する。さらに、成果物描画処理部152は、成果物リポジトリ13によって取得された動的成果物を成果物描画画面20の描画部23に表示する。そして、開発者は、描画部23において動的成果物の修正を行う。
次に、開発者によって修正された動的成果物の修正箇所に対応するタスクを概念体系リポジトリ14に記憶されたタスク達成構造を用いて特定する(ステップS2)。具体的には、開発者が、成果物描画画面20の描画部23において動的成果物のタスク(またはメッセージ)を修正すると、情報受付部151は、タスクを修正する際に入力された情報(例えば、タスク番号やメッセージ番号)を取得する。また、タスク特定処理部153は、前記入力情報に基づいて、タスク達成構造バッファ156のタスク達成構造において修正されたタスクを特定する。
次いで、特定されたタスクに関連するタスクをタスク達成構造に記述された達成関係40に基づいて特定する(ステップS3)。具体的には、タスク特定処理部153は、特定されたタスクとの間で達成関係40によって結び付けられたタスク(以下、関連タスクと称する。)を、タスク達成構造バッファ156のタスク達成構造から抽出することにより、関連タスクを特定する。
そして、関連タスクを含む動的成果物を成果物リポジトリ13から取得して成果物描画画面20に表示するとともに、動的成果物の変更箇所をハイライト表示する(ステップS4)。具体的には、成果物リポジトリアクセス処理部154は、ステップS3において抽出された関連タスクを含む動的成果物を成果物リポジトリ13から取得する。そして、成果物描画処理部152は、取得された動的成果物を描画部23に表示する。このとき、成果物描画処理部152は、描画部23に表示された動的成果物において関連タスクに対応する箇所をハイライト表示させることにより、他のタスクに対応する箇所よりも際立たせて表示する。
なお、上記の実施形態は本発明の具体例に過ぎず、本発明が上記実施形態のみに限定されることはない。例えば、本発明は、周知のコンピュータに記録媒体もしくは通信回線を介して、図3の構成図に示された機能を実現するプログラムあるいは図7のフローに示された手順を備えるプログラムをインストールすることによっても実現可能である。
以下、一例として、通信装置の制御・管理を行うソフトウェアを適用する。
ソフトウェア開発において作成する動的成果物として、UC(ユースケース)、中間生成物、UC記述、概念シーケンス1、概念シーケンス2、設計シーケンス図を想定する。UC、中間生成物及びUC記述は自然言語で記述され、概念シーケンス1、概念シーケンス2及び設計シーケンス図はUMLのシーケンス図で記述されるものである。作成手順としては、UC、中間生成物、UC記述、概念シーケンス1、概念シーケンス2、設計シーケンス図の順で作成される。UCはソフトウェア機能を最も抽象化した動的成果物であり、一つのタスクで構成される。中間生成物は、最終的な成果物として残す必要は無いが、UCとUC記述との関連情報を保持するために必要な動的成果物である。UC記述は、UCを詳細化した動的成果物であり、複数のタスクから構成されている。概念シーケンス1は、UC記述を更に詳細化した動的成果物であり、UC記述と同様に複数のタスクから構成されている。概念シーケンス2は、概念シーケンス1のパラメータを詳細化した動的成果物である。設計シーケンス図は、実装を意識したクラス抽出等を概念シーケンス2を用いて行うことにより、更に詳細化した動的成果物である。
<成果物作成>
開発対象のソフトウェアの一例として、通信装置Aに関する業務を支援する業務サポートシステムAを取り上げる。
また、業務サポートシステムAの開発におけるソフトウェア成果物の一例として、装置Aに関する装置情報を業務サポートシステムAに設けられたデータベースに登録する機能についての動的成果物を登録・変更する場合について説明する。
最初にUCを作成する場合について説明する。開発者は、成果物描画画面20の成果物選択部21においてUCを選択するとともに、情報入力部12を用いて主体、動作及びパラメータから構成されたタスクを成果物描画画面20の描画部23に作成する。なお、本例では、図8に示すようなUCが描画部23に作成されている。
次に、UCとUC記述との間の中間生成物を作成する場合について説明する。開発者は、成果物描画画面20の成果物選択部21において中間生成物を選択するとともに、UC作成時と同様にタスクを作成する。本例では、図9に示すように、3つのタスクの並びで表現された中間生成物が描画部23に作成されている。また、この3つのタスクは、UCのタスク1を詳細化したものであり、UCのタスク1との達成関係が一意になることから、3つのタスクとUCのタスク1とが自動的に達成関係として結び付けられる。
次にUC記述を作成する場合について説明する。開発者は、成果物描画画面20の成果物選択部21においてUC記述を選択するとともに、タスクを作成する。本例では、図10に示すように、4つのタスクの並びで表現されたUC記述が描画部23に作成されている。このとき、開発者は、タスク表示部22において中間生成物の各タスクとUC記述の各タスクとの間にタスク間関係情報を入力することにより、中間生成物の各タスクとUC記述の各タスクを関連付ける。この関連付けは、作成されたUC記述の各タスクが中間生成物のどのタスクを実現するために作成されたものであるかを開発者が考慮することによって行われる。また、関連付けと同等の作業はUC記述作成時に開発者が必ず行うものであるため、関連付けは容易に行われる。本例では、UC記述のタスク1は、中間生成物のタスク1に基づいて作成されたものであり、UC記述のタスク2及び3は、中間生成物のタスク2に基づいて作成されたものであり、UC記述のタスク4は、中間生成物のタスク3に基づいて作成されたものである。
なお、中間生成物とUC記述の生成ルールを予め規定することにより、中間生成物の各タスクとUC記述の各タスクとの関連付けを自動化することも可能である。例えば、中間生成物については、最初のタスク(例えば、図9のタスク1)と最後のタスク(例えば、図9のタスク3)とをUCを実行するために必要な入出力タスクとして作成し、中間のタスク(例えば、図9のタスク2)を1つのみ作成するという生成ルールを規定する。また、UC記述については、最初のタスク(例えば、図10のタスク1)と最後のタスク(例えば、図10のタスク4)をそれぞれ中間生成物の最初と最後のタスクを詳細化したタスクとして作成し、中間のタスク(例えば、図10のタスク2及び3)を中間生成物の中間タスクを詳細化したタスクとして作成するという生成ルールを規定する。そして、これらの生成ルールに基づいてタスクを作成することにより、中間生成物の最初、中間及び最後のタスクと、UC記述の最初、中間及び最後のタスクとを自動的に関連付けることが可能となる。
次に概念シーケンス1を作成する場合について説明する。開発者は、成果物描画画面20の成果物選択部21において概念シーケンス1を選択するとともに、描画部23においてメッセージを作成する。本例では、図11に示すように、概念シーケンス1がUMLにおけるシーケンス図の形式で表現される。ここで、図11における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を詳細化したものである。開発者は、UC記述作成時と同様に、タスク表示部22に表示されたUC記述タスクと概念シーケンス1の各メッセージとを、GUI操作によりタスク間関係情報として関連付ける。なお、タスク間関係情報を関連付けた後のタスク表示部22の例を図12に示す。
次に概念シーケンス2を作成する場合について説明する。開発者は、成果物描画画面20の成果物選択部21において概念シーケンス2を選択するとともに、描画部23においてメッセージを作成する。本例では、図13に示すように、概念シーケンス2がUMLにおけるシーケンス図の形式で表現される。ここで、図13における1〜10番目のメッセージ501〜510は、それぞれ概念シーケンス1の1〜10番目のメッセージ401〜410のパラメータを詳細化したものである。開発者は、概念シーケンス1作成時と同様に、タスク表示部22に表示された概念シーケンス1の各メッセージと概念シーケンス2の各メッセージとを、GUI操作によりタスク間関係情報として結び付ける。
なお、本例のように、概念シーケンス2の各メッセージ501〜510を、概念シーケンス1の各メッセージ401〜410のパラメータを詳細化したものとして作成するように規定することにより、各メッセージ間のタスク間関係情報を自動的に結び付けることが可能となる。
最後に設計シーケンス図を作成する場合について説明する。開発者は、成果物描画画面20の成果物選択部21において設計シーケンス図を選択するとともに、タスクを作成する。本例では、図14に示すように、概念シーケンス2がUMLにおけるシーケンス図の形式で表現される。ここで、図14における1番目のメッセージ601は、概念シーケンス2の2番目のメッセージ502に基づいて作成されたものであり、2番目及び3番目のメッセージ602,603は、概念シーケンス2の3番目のメッセージ503に基づいて作成されたものである。また、4番目のメッセージ604は、概念シーケンス2の4番目のメッセージ504に基づいて作成されたものであり、5番目のメッセージ605は、概念シーケンス2の5番目のメッセージに基づいて作成されたものである。さらに、6番目及び7番目のメッセージ606,607は、概念シーケンス2の6番目のメッセージ506に基づいて作成されたものであり、8番目及び9番目のメッセージ608,609は、概念シーケンス2の7番目のメッセージ507に基づいて作成されたものである。さらにまた、10番目のメッセージ610は、概念シーケンス2の8番目のメッセージ508に基づいて作成されたものであり、11番目のメッセージ611は、概念シーケンス2の9番目のメッセージ509に基づいて作成されたものである。開発者は、タスク表示部22に表示された概念シーケンス2の各メッセージと設計シーケンス図の各メッセージとを、GUI操作によりタスク間関係情報として結び付ける。
なお、出願人が提案した特願2006−298220号に記載の技術を用いた場合には、設計シーケンス図の各メッセージが、該公報の実施形態に記載された生成ルールと概念シーケンス2の各メッセージとに基づいて自動的に作成されることから、メッセージ間の関連付けを自動化することが可能となる。
<成果物登録>
描画部23の登録指示部において開発者が登録を指示することにより、成果物リポジトリ13には、UCから設計シーケンス図までの動的成果物が登録されるとともに、概念体系リポジトリ14には、図15、図16及び図17に示すような、UCから設計シーケンス図までのタスク達成構造が登録される。ここで、タスク達成構造の1階層目(Lv1)にはUC51が、2階層目(Lv2)には中間生成物52が、3階層目(Lv3)にはUC記述53が、4階層目(Lv4)には概念シーケンス1-54が、5階層目(Lv5)には概念シーケンス2-55が、6階層目(Lv6)には設計シーケンス図56が表現されている。なお、UC51のタスク51aは図8のタスク1に対応しており、中間生成物52の各タスク52a〜52cは、それぞれ図9のタスク1〜3に対応している。また、UC記述53の各タスク53a〜53dは、それぞれ図10のタスク1〜4に対応しており、概念シーケンス1-54の各タスク54a〜54jは、それぞれ図11の各メッセージ401〜410に対応している。さらに、概念シーケンス2-55の各タスク55a〜55jは、それぞれ図13の各メッセージ501〜510に対応しており、設計シーケンス図56の各タスク56a〜56kは、それぞれ図14の各メッセージ601〜611に対応している。
<変更成果物・変更箇所の抽出>
上記の成果物登録が行われたことを前提として、登録された動的成果物の一部の変更に基づいて変更を要する他の動的成果物及びその影響箇所を特定する。本例では、開発者が描画部23において概念シーケンス2の3番目のメッセージ503を修正した場合について説明する。
[手順1]
開発者が、成果物描画画面20の成果物選択部21において概念シーケンス2を指定すると、制御部15の成果物リポジトリアクセス処理部154は、概念シーケンス2を成果物リポジトリ13から取得する。また、概念体系リポジトリアクセス処理部155は、概念体系リポジトリ14からタスク達成構造を取得してタスク達成構造バッファ156に格納する。さらに、成果物描画処理部152は、概念シーケンス2を成果物描画画面20の描画部23に表示する。この場合、描画部23には、図13の概念シーケンス2が表示される。そして、開発者は、描画部23において概念シーケンス2の3番目のメッセージ503を修正する。
[手順2]
開発者が、成果物描画画面20の描画部23において概念シーケンス2の3番目のメッセージ503を修正すると、情報受付部151は、修正されたメッセージ503のメッセージ番号「3」を取得する。また、タスク特定処理部153は、メッセージ番号に基づいて、タスク達成構造バッファ156のタスク達成構造において修正されたタスクを特定する。この場合、概念シーケンス2はタスク達成構造の5階層目(Lv5)に表現され、3番目のメッセージ503は3番目のタスク55cに対応していることから、3番目のタスク55cが特定される。
[手順3]
タスク特定処理部153は、概念シーケンス2-55の3番目のタスク55cに関連するタスクを、タスク達成構造の達成関係40に基づいて特定する。本例では、図15、図16及び図17に示すように、概念シーケンス2-55より上位の階層に存在する概念シーケンス1-54の3番目のタスク54cと、UC記述53の2番目のタスク53bと、中間生成物52の2番目のタスク52cと、UC51のタスク51aと、概念シーケンス2-55より下位の階層に存在する設計シーケンス図56の2番目と3番目のタスク56b,56cとが関連タスクとして特定される。
[手順4]
成果物リポジトリアクセス処理部154は、特定された関連タスクを含む動的成果物を成果物リポジトリ13から取得する。そして、成果物描画処理部152は、取得された動的成果物を描画部23に表示する。このとき、成果物描画処理部152は、描画部23に表示された動的成果物において関連タスクに対応する箇所をハイライト表示させることにより、他のタスクに対応する箇所よりも際立たせて表示する。本例では、UC51、中間生成物52、UC記述53、概念シーケンス1-54、設計シーケンス図56が描画部23に表示される。この場合、UCが表示される際には、図18に示すように、タスク1に対応する箇所(一点鎖線で囲まれた部分)がハイライト表示される。また、中間生成物が表示される際には、図19に示すように、タスク2に対応する箇所(一点鎖線で囲まれた部分)がハイライト表示される。さらに、UC記述が表示される際には、図20に示すように、タスク2に対応する箇所(一点鎖線で囲まれた部分)がハイライト表示される。さらにまた、概念シーケンス1が表示される際には、図21に示すように、3番目のメッセージ403に対応する箇所(一点鎖線で囲まれた部分)がハイライト表示される。また、設計シーケンス図が表示される際には、図22に示すように、2番目及び3番目のメッセージ602,603に対応する箇所(一点鎖線で囲まれた部分)がハイライト表示される。
前述したように上記実施形態では、ソフトウェア成果物のタスクの内容が変更されたときに、変更されたタスクに関連付けられた他のソフトウェア成果物のタスクを抽出することができるので、変更されたソフトウェア成果物及びその変更箇所を容易に特定することができる。従って、ソフトウェア成果物の品質を向上させることができるとともに、ソフトウェア開発の効率を大幅に向上させることができる。また、既に作成されたソフトウェア成果物に含まれるタスクに基づいて他のソフトウェア成果物のタスクを作成することにより他のソフトウェア成果物が生成されると各ソフトウェア成果物のタスクが互いに関連付けられることから、関連情報の付与作業をソフトウェア成果物の作成作業とともに行うことができ、ソフトウェア開発における開発者の負担を低減することができる。
また、関連タスクを含む他のソフトウェア成果物を表示部11に表示させるので、ソフトウェア成果物の変更により影響を受ける他のソフトウェア成果物を開発者に知らせることができる。
さらに、他のソフトウェア成果物を表示するときに関連タスクに対応する箇所をハイライト表示させるので、ソフトウェア成果物の変更により影響を受ける箇所を確実に開発者に知らせることができる。
本発明の一実施形態におけるソフトウェア成果物管理システムの構成を示す図 成果物描画画面を示す図 制御部の構成を示す図 タスクの構成を示す図 タスクの構成を示す図 タスク達成構造表現を示す図 変更による影響箇所を特定するときの動作を示すフロー図 業務サポートシステムAの装置情報登録機能に関するユースケースを示す図 業務サポートシステムAの装置情報登録機能に関する中間生成物を示す図 業務サポートシステムAの装置情報登録機能に関するUC記述を示す図 業務サポートシステムAの装置情報登録機能に関する概念シーケンス1を示す図 タスク表示部の表示内容を示す図 業務サポートシステムAの装置情報登録機能に関する概念シーケンス2を示す図 業務サポートシステムAの装置情報登録機能に関する設計シーケンス図を示す図 業務サポートシステムAの装置情報登録機能に関するタスク達成構造表現を示す図 業務サポートシステムAの装置情報登録機能に関するタスク達成構造表現を示す図 業務サポートシステムAの装置情報登録機能に関するタスク達成構造表現を示す図 ソフトウェア成果物変更後のユースケースの表示態様を示す図 ソフトウェア成果物変更後の中間生成物の表示態様を示す図 ソフトウェア成果物変更後のUC記述の表示態様を示す図 ソフトウェア成果物変更後の概念シーケンス1の表示態様を示す図 ソフトウェア成果物変更後の設計シーケンス図の表示態様を示す図
符号の説明
10…ソフトウェア成果物管理システム、11…表示部、12…情報入力部、13…成果物リポジトリ、14…概念体系リポジトリ、51…UC(ユースケース)、52…中間生成物、53…UC記述、54…概念シーケンス1、55…概念シーケンス2、56…設計シーケンス図。

Claims (7)

  1. ソフトウェア開発において作成されたソフトウェア成果物の一部の変更に基づく他のソフトウェア成果物の影響箇所を特定するソフトウェア成果物管理システムであって、
    情報入力手段と、
    既に作成されたソフトウェア成果物に含まれるタスクに基づいて他のソフトウェア成果物のタスクを作成することにより生成された複数のソフトウェア成果物を、各ソフトウェア成果物のタスクと、該タスクに基づいて作成された他のソフトウェア成果物のタスクとを関連付けた状態で記憶する記憶手段と、
    記憶手段に記憶されたソフトウェア成果物のタスクの内容が情報入力手段によって変更されると、変更されたタスクと、該タスクに関連する他のソフトウェア成果物のタスクとを記憶手段から抽出する特定手段とを備えた
    ことを特徴とするソフトウェア成果物管理システム。
  2. 前記特定手段によって抽出されたタスクを含む他のソフトウェア成果物を表示する表示手段を備えた
    ことを特徴とする請求項1記載のソフトウェア成果物管理システム。
  3. 前記表示手段は、
    他のソフトウェア成果物を表示するときに、抽出されたタスクに対応する箇所を他のタスクに対応する箇所よりも際立たせて表示させる
    ことを特徴とする請求項2記載のソフトウェア成果物管理システム。
  4. ソフトウェア開発において作成されたソフトウェア成果物の一部の変更に基づく他のソフトウェア成果物の影響箇所を、コンピュータ装置を用いて特定するソフトウェア成果物管理方法であって、
    前記コンピュータ装置は、
    既に作成されたソフトウェア成果物に含まれるタスクに基づいて他のソフトウェア成果物のタスクを作成することにより生成された複数のソフトウェア成果物を、各ソフトウェア成果物のタスクと、該タスクに基づいて作成された他のソフトウェア成果物のタスクとを関連付けた状態で所定の記憶部に記憶し、
    記憶部に記憶されたソフトウェア成果物のタスクの内容が所定の情報入力部によって変更されると、変更されたタスクと、該タスクに関連する他のソフトウェア成果物のタスクとを記憶部から抽出する
    ことを特徴とするソフトウェア成果物管理方法。
  5. 前記コンピュータ装置は、
    抽出されたタスクを含む他のソフトウェア成果物を所定の表示部に表示させる
    ことを特徴とする請求項4記載のソフトウェア成果物管理方法。
  6. 前記コンピュータ装置は、
    他のソフトウェア成果物を表示するときに抽出されたタスクに対応する箇所を他のタスクに対応する箇所よりも際立たせて表示させる
    ことを特徴とする請求項5記載のソフトウェア成果物管理方法。
  7. 請求項4乃至6何れか1項記載の方法をコンピュータ装置に実行させるためのソフトウェア成果物管理プログラム。
JP2007044938A 2007-02-26 2007-02-26 ソフトウェア成果物管理システム、方法及びそのプログラム Pending JP2008210076A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007044938A JP2008210076A (ja) 2007-02-26 2007-02-26 ソフトウェア成果物管理システム、方法及びそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007044938A JP2008210076A (ja) 2007-02-26 2007-02-26 ソフトウェア成果物管理システム、方法及びそのプログラム

Publications (1)

Publication Number Publication Date
JP2008210076A true JP2008210076A (ja) 2008-09-11

Family

ID=39786334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007044938A Pending JP2008210076A (ja) 2007-02-26 2007-02-26 ソフトウェア成果物管理システム、方法及びそのプログラム

Country Status (1)

Country Link
JP (1) JP2008210076A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06348477A (ja) * 1993-06-03 1994-12-22 Toshiba Corp ソフトウエア開発システム
JP2005100078A (ja) * 2003-09-25 2005-04-14 Hitachi Ltd ソフトウェア資産管理システム
JP2005352869A (ja) * 2004-06-11 2005-12-22 Nomura Research Institute Ltd システム開発支援システム及び支援プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06348477A (ja) * 1993-06-03 1994-12-22 Toshiba Corp ソフトウエア開発システム
JP2005100078A (ja) * 2003-09-25 2005-04-14 Hitachi Ltd ソフトウェア資産管理システム
JP2005352869A (ja) * 2004-06-11 2005-12-22 Nomura Research Institute Ltd システム開発支援システム及び支援プログラム

Similar Documents

Publication Publication Date Title
JP5197688B2 (ja) 統合環境生成器
KR100661393B1 (ko) 웹 프로그래밍 환경을 응용한 웹사이트 관리 시스템 및방법
Wassermann et al. Sedna: A BPEL-based environment for visual scientific workflow modeling
US20080301626A1 (en) Template-based software development
US20170286068A1 (en) Development support system
US20120110030A1 (en) Software database system and process of building and operating the same
JP2012508934A5 (ja)
CA2707509A1 (en) Templating system and method for updating content in real time
JP2007122135A (ja) 開発支援装置、開発支援方法、および、開発支援プログラム
US20110083120A1 (en) Modeling and linking documents for packaged software application configuration
US20110145783A1 (en) System and method for representing and validating functional requirements of a software system
Raible The JHipster mini-book
US20120198415A1 (en) Unified interface for meta model checking, modifying, and reporting
US20120150886A1 (en) Placeholders returned for data representation items
JP4626675B2 (ja) 通信ネットワークを利用したファームウェアの提供方法、そのシステムおよびサービスサーバ
US9244706B2 (en) Command line shell command generation based on schema
JP2010218048A (ja) 情報処理装置、ガントチャートデータ再構成方法及びプログラム
JP4867864B2 (ja) 性能データ収集・表示システム、性能データ表示装置、そのプログラム
JP2008102831A (ja) 情報提供装置、プログラム及び情報提供方法
Qi et al. An extension mechanism to verify, constrain and enhance geoprocessing workflows invocation
JP4886626B2 (ja) ソフトウェア成果物管理システム、方法及びそのプログラム
JP4686117B2 (ja) ソースコード変換装置、ソースコード変換方法、およびプログラム
JP2006163855A (ja) Webアプリケーション開発支援装置及び開発支援方法
JP2008210076A (ja) ソフトウェア成果物管理システム、方法及びそのプログラム
JP6265030B2 (ja) アプリケーション開発システム、開発装置のデータ処理方法、およびプログラム

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

Effective date: 20110613

Free format text: JAPANESE INTERMEDIATE CODE: A7424

RD02 Notification of acceptance of power of attorney

Effective date: 20110614

Free format text: JAPANESE INTERMEDIATE CODE: A7422

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

Effective date: 20110728

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110803

A521 Written amendment

Effective date: 20111003

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111031