JP2009104290A - Software product management system, method, and its program - Google Patents
Software product management system, method, and its program Download PDFInfo
- Publication number
- JP2009104290A JP2009104290A JP2007273750A JP2007273750A JP2009104290A JP 2009104290 A JP2009104290 A JP 2009104290A JP 2007273750 A JP2007273750 A JP 2007273750A JP 2007273750 A JP2007273750 A JP 2007273750A JP 2009104290 A JP2009104290 A JP 2009104290A
- Authority
- JP
- Japan
- Prior art keywords
- product
- task
- software product
- software
- parameter
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明は、ソフトウェア開発において作成されたソフトウェア成果物に含まれる内容の変更に基づく他のソフトウェア成果物の影響箇所を、コンピュータを用いて特定するソフトウェア成果物管理システム、方法及びそのプログラムに関する。 The present invention relates to a software product management system, a method, and a program therefor, which use a computer to identify an influence point of another software product based on a change in contents included in a software product created in software development.
ソフトウェア開発においては、ソースコードだけでなく、ユーザ要求や簡略化したソフトウェア動作のフロー、ソースコードを作成するための設計書等のドキュメント(以下、上流成果物と称する。)がソフトウェア成果物として作成される。これらの上流成果物は、ソフトウェア開発時に開発者の理解を助け、ユーザ要求を満たすソフトウェアを開発するために重要なものである。しかし、ソフトウェア開発時や運用時において機能変更が発生したために、既に作成されたソフトウェア成果物を変更した場合には、ソフトウェアの保有する機能を正確に反映しなければならず、変更されたソフトウェア成果物に関連する他のソフトウェア成果物も変更する必要が生じる。この場合、ソフトウェア成果物の数が多くなるに従って、関連するソフトウェア成果物の特定及びそのソフトウェア成果物における変更箇所の特定が困難になるという問題点があった。そのため、これまで種々の特定方法が検討されている。 In software development, not only source code but also a user request, a simplified flow of software operation, and a document such as a design document for creating source code (hereinafter referred to as upstream product) are created as software products. Is done. These upstream deliverables are important for developing software that helps developers understand and meets user requirements during software development. However, when a software product that has already been created is changed due to a change in functionality during software development or operation, the software's functions must be accurately reflected. Other software artifacts related to the product will also need to be changed. In this case, there is a problem that as the number of software products increases, it becomes difficult to specify related software products and to specify a changed part in the software products. Therefore, various identification methods have been studied so far.
ところで、ソフトウェア成果物には、開発するソフトウェアの振舞を規定するための動的情報(タスク)が表現された動的成果物と、ソフトウェアがその振舞を実行するために必要なデータ情報が規定された静的成果物とが存在する。しかし、従来技術では、静的成果物を変更した場合において、変更の影響を受ける動的成果物及びその影響箇所を特定することが困難である。 By the way, software deliverables define dynamic deliverables that express dynamic information (tasks) for defining the behavior of the software to be developed, and data information necessary for the software to execute the behaviors. Static artifacts exist. However, in the conventional technology, when a static product is changed, it is difficult to specify a dynamic product that is affected by the change and an affected part thereof.
例えば、非特許文献1に記載されたUML(Unified Modeling Language)ツールでは、作成した各ソフトウェア成果物を機能毎に電子フォルダに保存することが可能であるため、関連する他のソフトウェア成果物を把握することが可能である。しかし、これによって特定できるのは、変更の影響を受けるソフトウェア成果物のみであり、その成果物の記載内容のうちどの箇所が影響を受けるかについては特定することが困難である。 For example, with the UML (Unified Modeling Language) tool described in Non-Patent Document 1, it is possible to save each created software product in an electronic folder for each function, so it is possible to grasp other related software products. Is possible. However, only the software product affected by the change can be specified by this, and it is difficult to specify which part of the description contents of the product is affected.
また、非特許文献2では、変更により影響を受けるソフトウェア成果物及びその影響箇所まで特定可能であるが、対象とするソフトウェア成果物が画面遷移図とstruts-config.xmlのみに限定されており、ソフトウェア開発時に作成される多種の動的成果物に対応することが困難である。 In Non-Patent Document 2, it is possible to specify the software product affected by the change and the affected part, but the target software product is limited only to the screen transition diagram and struts-config.xml. It is difficult to handle various dynamic products created during software development.
さらに、非特許文献3では、非特許文献2と同様に、変更により影響を受けるソフトウェア成果物及びその影響箇所まで特定可能であるが、特定の対象となるソフトウェア成果物がソースコードのみであり、ユーザ要求や設計書等の上流成果物については特定することが困難である。 Furthermore, in Non-Patent Document 3, as in Non-Patent Document 2, it is possible to specify the software product affected by the change and the affected part, but the software product to be specified is only the source code, It is difficult to specify upstream deliverables such as user requirements and design documents.
さらにまた、非特許文献4では、ユーザ要求や設計書等の上流成果物と、ソースコード等の下流成果物とを特定対象とした、ソフトウェア成果物及びその影響箇所の特定方法を提案しているが、どのように各ソフトウェア成果物間を関連付けるかについては、具体的に述べられていない。 Furthermore, Non-Patent Document 4 proposes a method for identifying software deliverables and their affected parts, with the upstream deliverables such as user requirements and design documents, and the downstream deliverables such as source code as identification targets. However, there is no specific description on how to associate each software product.
また、非特許文献5では、UC記述やシーケンス図等のように、ソフトウェアの機能動作を表す動的成果物間の変更箇所の特定が可能であるが、用語集やクラス図等のように、ソフトウェアの機能が取り扱うデータを表す静的成果物が変更された場合には、この変更の影響を受ける動的成果物及びその影響箇所を特定することが困難である。
上記のように、従来例では、静的成果物の変更により影響を受ける動的成果物及びその影響箇所を特定することが困難であることから、効率的なソフトウェア開発の妨げになっている。 As described above, in the conventional example, it is difficult to specify the dynamic product affected by the change of the static product and the affected part, which hinders efficient software development.
本発明は前記問題点に鑑みてなされたものであり、その目的とするところは、ソフトウェア開発の効率を向上させることができるソフトウェア成果物管理システム、方法及びそのプログラムを提供することにある。 The present invention has been made in view of the above problems, and an object of the present invention is to provide a software product management system, method, and program thereof that can improve the efficiency of software development.
本発明のソフトウェア成果物作成システムは、前記目的を達成するために、ソフトウェア開発において作成されたソフトウェア成果物に含まれる内容の変更に基づく他のソフトウェア成果物の影響箇所を、コンピュータを用いて特定するソフトウェア成果物管理システムであって、前記コンピュータは、情報入力手段と、ソフトウェアの振舞を実現するための複数のデータと、各データのうち少なくとも一つのデータをパラメータとして含むタスクからなるソフトウェア成果物と、該タスクのパラメータと各データとの関連を表すリンク情報とを記憶する記憶手段と、記憶手段に記憶された前記データの内容が情報入力手段によって変更されると、該データと関連付けられたパラメータを含むタスクを、リンク情報に基づき記憶手段から抽出する特定手段とを備えている。 In order to achieve the above object, the software product creation system according to the present invention uses a computer to identify an influence location of another software product based on a change in content included in the software product created in software development. A software product management system comprising: an information input unit; a plurality of data for realizing software behavior; and a task including at least one of the data as parameters Storage means for storing the task parameters and link information representing the relationship between each data, and when the content of the data stored in the storage means is changed by the information input means, the data is associated with the data. Tasks including parameters are extracted from storage means based on link information And a specifying unit that.
また、本発明のソフトウェア成果物作成方法は、前記目的を達成するために、ソフトウェア開発において作成されたソフトウェア成果物に含まれる内容の変更に基づく他のソフトウェア成果物の影響箇所を、コンピュータを用いて特定するソフトウェア成果物管理方法であって、前記コンピュータは、ソフトウェアの振舞を実現するための複数のデータと、各データのうち少なくとも一つのデータをパラメータとして含むタスクからなるソフトウェア成果物と、該タスクのパラメータと各データとの関連を表すリンク情報とを所定の記憶部に記憶し、記憶部に記憶された前記データの内容が所定の情報入力部によって変更されると、該データと関連付けられたパラメータを含むタスクを、リンク情報に基づき記憶部から抽出している。 In addition, in order to achieve the above object, the software product creation method of the present invention uses a computer to determine the influence points of other software products based on changes in the contents included in the software product created in software development. A software product management method for identifying the software product, the computer comprising a plurality of data for realizing software behavior, a software product comprising a task including at least one of the data as a parameter, A task parameter and link information representing the relationship between each data is stored in a predetermined storage unit, and when the content of the data stored in the storage unit is changed by a predetermined information input unit, it is associated with the data. Tasks including the parameters are extracted from the storage unit based on the link information.
さらに、本発明のソフトウェア成果物管理プログラムは、前記目的を達成するために、前記ソフトウェア成果物作成方法をコンピュータに実行させる。 Furthermore, the software product management program of the present invention causes the computer to execute the software product creation method in order to achieve the object.
これにより、ソフトウェアの振舞を実現するためのデータの内容が所定の情報入力部によって変更されると、該データと関連付けられたパラメータを含むタスクが、リンク情報に基づき記憶部から抽出されることから、ソフトウェアの振舞を実現するためのデータの内容を変更するだけで該データと関連するタスクを容易に特定することが可能となる。 As a result, when the content of the data for realizing the behavior of the software is changed by a predetermined information input unit, a task including a parameter associated with the data is extracted from the storage unit based on the link information. The task associated with the data can be easily specified simply by changing the content of the data for realizing the behavior of the software.
本発明のソフトウェア成果物作成システム、方法及びそのプログラムによれば、ソフトウェアの振舞を実現するためのデータの内容を変更するだけで該データと関連するタスクを容易に特定することができるので、該データを含む静的成果物の変更により影響を受けるタスクを影響箇所として特定するとともに、該タスクからなる動的成果物を、変更の影響を受けるソフトウェア成果物として特定することができる。従って、ソフトウェア成果物の変更作業の効率化を図ることができるとともにソフトウェア成果物の品質を向上させることができることから、ソフトウェア開発の効率を大幅に向上させることができる。 According to the software product creation system, method, and program therefor of the present invention, the task associated with the data can be easily identified simply by changing the content of the data for realizing the behavior of the software. A task affected by a change of a static product including data can be specified as an affected part, and a dynamic product composed of the task can be specified as a software product affected by the change. Accordingly, the efficiency of software product change work can be improved and the quality of the software product can be improved, so that the efficiency of software development can be greatly improved.
以下に図面を参照して本発明の一実施形態を説明する。 An embodiment of the present invention will be described below with reference to the drawings.
<前提>
ソフトウェア成果物には、開発するソフトウェアの振舞を規定するための動的情報(タスク)を表現した動的なソフトウェア成果物(以下、動的成果物と称する。)と、開発するソフトウェアがその振舞を実現するために必要なデータ情報を規定する静的なソフトウェア成果物(以下、静的成果物と称する。)とが存在し、本実施形態では、静的成果物の内容が変更されたときに影響を受ける動的成果物及びその影響箇所を特定するソフトウェア成果物管理システムについて説明する。
<Premise>
Software deliverables include dynamic software deliverables (hereinafter referred to as dynamic deliverables) expressing dynamic information (tasks) for defining the behavior of software to be developed, and the software to be developed. There is a static software product (hereinafter referred to as a static product) that defines data information necessary for realizing the above, and in this embodiment, when the content of the static product is changed The software product management system that identifies the dynamic product affected by the and the affected part is described.
本発明のソフトウェア成果物管理システム10は、周知のCPUを主体として構成されたコンピュータからなり、図1に示すとおり、表示部11、情報入力部12、成果物リポジトリ13、概念体系リポジトリ14及び制御部15から構成されている。
A software
表示部11は、液晶ディスプレイ等のように情報を表示するためのモジュールであり、制御部15の制御により図2に示すような成果物描画画面20を表示する。
The
情報入力部12は、キーボードやマウス等のように情報を入力するためのモジュールであり、入力情報を制御部15に送信する。
The
成果物リポジトリ13は、ソフトウェア開発工程において作成された動的成果物及び静的成果物を保存するモジュールである。
The
概念体系リポジトリ14は、後述のタスク構造、パラメータ構造、リンク情報及び成果物ルールを保存するモジュールである。
The
制御部15は、上記各モジュール11〜14と接続され、各モジュール11〜14間の情報、または各モジュール11〜14間の情報を組合わせた情報を、受け渡すモジュールである。また、制御部15には、ROM等の記憶装置が設けられており、制御部15は、記憶装置に記憶されたプログラムを実行することにより各モジュール11〜14の制御を行う。
The
また、成果物描画画面20は、作成または特定対象の動的成果物を描画するための動的成果物描画部21と、作成または変更対象の静的成果物を表示するための静的成果物描画部22とから構成されており、動的成果物の作成や、静的成果物にて定義されたデータの選択及び変更を、情報入力部12を用いて行うことができるようになっている。また、動的成果物描画部21には、作成された動的成果物を成果物リポジトリ13に登録するための登録指示部(図示省略)が設けられており、情報入力部12を用いて登録を指示することができるようになっている。さらに、成果物描画画面20には、作成・変更対象の動的成果物または静的成果物を、情報入力部12を用いて選択するための成果物選択部(図示省略)が設けられている。
The
<動的成果物タスクの形式化>
動的成果物には、ソフトウェアが実現する機能に対する振舞が複数のタスクのフローとして記述されている。この一つのタスク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のように表現された構造をタスク構造と称し、動的成果物描画部21にて作成された動的成果物に含まれるタスクやメッセージは、タスク構造に変換されてから概念体系リポジトリ14に記憶される。
<Formulation of dynamic product task>
In the dynamic product, behavior for functions realized by software is described as a flow of a plurality of tasks. This one
<静的成果物の形式化>
静的成果物には、ソフトウェアが実現する機能において利用される複数のデータ情報(パラメータ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、独自図形等のように様々な形態で表された静的成果物を共通に取り扱うことが可能となる。
<Formalization of static artifacts>
In the static product, a plurality of data information (parameter 40) used in the function realized by the software is described. That is, the
<成果物ルール>
ソフトウェア開発で作成されるソフトウェア成果物は、最初に概要的なものから作成され、開発工程が進むにつれて詳細化されたものが作成される。動的成果物では、最初にUC(Use Case)のような最も抽象的なソフトウェア成果物が作成され、工程が進むにつれてアクティビティ図やシーケンス図等のソフトウェア成果物が作成されることにより、ソフトウェアの機能が詳細化される。静的成果物も同様に、最初に用語集が作成され、工程が進むにつれてデータ分析モデル(クラス図)やテーブル設計図等の成果物が作成されることにより、パラメータが詳細化されていく。動的成果物を作成する際には、静的成果物に記述されたパラメータが用いられるが、一つの動的成果物を作成するのに必要な静的成果物の数は、数種類に限定することができる。例えば、UCを作成する場合において、UCのタスクを表すのに必要なパラメータが記述されているのは用語集であり、シーケンス図を作成する場合において、シーケンス図のメッセージを表すのに必要なパラメータが記述されているのはクラス図である。このように、ある動的成果物を作成するときに用いられる静的成果物を図7に示すように予め対応付けておくことにより、動的成果物を作成する際には、それに含まれるタスクを構成可能なパラメータを容易に取得することが可能になる。この対応付けを表す成果物制約情報(以下、成果物ルールと称する。)は、図7のように構成され、概念体系リポジトリ14に記憶されている。なお、本実施形態では、一つの成果物ルールを用いたものを示しているが、静的成果物と動的成果物の対応関係毎に複数の情報として記憶するようにしてもよい。
<Product rule>
Software deliverables created in software development are first created from an overview and detailed as the development process proceeds. In a dynamic product, the most abstract software product such as UC (Use Case) is created first, and software products such as activity diagrams and sequence diagrams are created as the process progresses. The function is detailed. Similarly, for static products, a glossary is first created, and as the process proceeds, products such as a data analysis model (class diagram) and a table design drawing are created, and parameters are refined. When creating a dynamic product, the parameters described in the static product are used. However, the number of static products required to create one dynamic product may be limited to several types. it can. For example, when creating a UC, the parameters necessary to represent the UC task are described in the glossary. When creating a sequence diagram, the parameters necessary to represent the sequence diagram message Is a class diagram. As described above, when a dynamic product is created by associating a static product used when creating a certain dynamic product in advance as shown in FIG. Can be easily acquired. The product constraint information (hereinafter referred to as a product rule) representing this association is configured as shown in FIG. 7 and stored in the
<リポジトリ>
成果物リポジトリ13には、開発者が作成した動的成果物及び静的成果物が記憶されている。また、概念体系リポジトリ14には、動的成果物に対応するタスク構造と静的成果物に対応するパラメータ構造とが記憶されている。即ち、概念体系リポジトリ14には、ソフトウェアの振舞を実現するための複数のパラメータが抽出可能な状態で記憶されている。また、概念体系リポジトリ14には、タスク構造の各パラメータ34,35がパラメータ構造のどのエレメント42に対応しているかを表すリンク情報50が記憶されている。
<Repository>
The
なお、上記のように動的成果物の内容をタスク構造に、静的成果物の内容をパラメータ構造に一意に変換可能であることから、タスク構造及びパラメータ構造を概念体系リポジトリ14に予め記憶しなくてもよく、成果物リポジトリ13に記憶された動的及び静的成果物に対して任意に変換処理を行うようにしてもよい。また、これとは逆に、動的及び静的成果物を成果物リポジトリ13に予め記憶しなくてもよく、概念体系リポジトリ14に記憶されたタスク構造及びパラメータ構造に対して任意に変換処理を行って各成果物を生成するようにしてもよい。
Since the contents of dynamic artifacts can be uniquely converted to task structures and the contents of static artifacts to parameter structures as described above, the task structure and parameter structure are stored in advance in the
<成果物作成>
開発者は、成果物描画画面20の成果物選択部において、作成しようとする動的成果物を選択する。このとき、制御部15は、概念体系リポジトリ14に記憶された成果物ルールに基づき、作成対象の動的成果物のタスクを構成可能なパラメータを含む静的成果物を成果物リポジトリ13から取得するとともに、その静的成果物に対応するパラメータ構造を概念体系リポジトリ14から取得する。この場合、取得された静的成果物は、成果物描画画面20の静的成果物描画部22に表示される。
<Product creation>
The developer selects a dynamic product to be created in the product selection unit of the
次に開発者は、動的成果物描画部21にて動的成果物を作成する。ここで、動的成果物にパラメータを記述する場合には、静的成果物描画部22に表示された静的成果物のパラメータを選択した後に動的成果物描画部21に表示された動的成果物のパラメータ挿入箇所を選択することにより、パラメータが動的成果物に追加される。なお、本実施形態では、既存のGUI機能を用いて、静的成果物描画部22に表示されたパラメータにポインタを移動させてマウスをクリックした後に、動的成果物描画部21に表示された動的成果物のパラメータ挿入箇所をクリックすることにより、パラメータを動的成果物に記述することが可能である。
Next, the developer creates a dynamic product in the dynamic
このとき、選択されたパラメータ構造のエレメント42と、タスク構造に追加されたパラメータ34,35との間にリンク情報50が制御部15により生成され、リンク情報50が概念体系リポジトリ14に記憶される。
At this time, link
なお、動的成果物を作成する際に必要なパラメータが静的成果物描画部22に表示されていない場合には、開発者は、静的成果物描画部22にて新たなパラメータを作成することが可能である。この場合、制御部15は、概念体系リポジトリ14から取得したパラメータとは異なるパラメータが情報入力部12によって入力されると、入力されたパラメータを静的成果物描画部22に表示させる。このようにして、作成されたパラメータを、上記のように動的成果物に含まれるタスク30のパラメータ34,35として追加することが可能となる。
If the parameters required when creating a dynamic product are not displayed in the static
以上の操作を繰り返すことにより、必要とする動的成果物を作成する。 The necessary dynamic products are created by repeating the above operations.
<成果物登録>
動的成果物作成後、開発者は、成果物描画画面20の登録指示部において動的成果物の登録を指示する。このとき、制御部15は、作成した動的成果物を成果物リポジトリ13に記憶するとともに、動的成果物をタスク構造に変換して該タスク構造を概念体系リポジトリ14に記憶する。なお、静的成果物にパラメータが追加された場合には、制御部15は、追加されたパラメータを含む静的成果物を成果物リポジトリ13に記憶するとともに、静的成果物をパラメータ構造に変換して該パラメータ構造を概念体系リポジトリ14に記憶する。この場合、動的成果物と静的成果物との関係は図8のように表される。即ち、図8(a)に示された動的成果物の一部のタスクをタスク構造で表したものが図8(b)であり、図8(d)の静的成果物をパラメータ構造で表したものが図8(c)である。ここで、図8(d)の静的成果物に記述された「aaa」というデータに対応するエレメント(図中一点鎖線で囲まれたもの)と図8(b)の一部のタスク30(図中二点鎖線で囲まれたもの)のパラメータとがリンク情報50により関連付けられている。また、リンク情報50により関連付けられたパラメータを含むタスク30は、図8(a)のタスクまたはメッセージ(図中破線で囲まれた部分)に対応している。このように、動的成果物の所定のタスクまたはメッセージが、タスク構造、パラメータ構造及びリンク情報を介して静的成果物のデータと関連付けられている。
<Product registration>
After creating the dynamic product, the developer instructs the registration instruction unit of the
<変更成果物・変更箇所の特定>
上記の成果物登録が行われたことを前提として、登録された動的成果物の一部の変更に基づいて変更を要する他の動的成果物及びその影響箇所を特定する方法について図9のフロー図を参照して説明する。
<Identification of change deliverables / changes>
Assuming that the above-mentioned deliverable registration has been performed, a method for identifying other dynamic deliverables that need to be changed based on a partial change in the registered dynamic deliverables and the influence location thereof is shown in FIG. This will be described with reference to a flow diagram.
まず、開発者が指定した成果物を取得し、成果物描画画面20に表示する(ステップS1)。具体的には、開発者が、成果物描画画面20の成果物選択部において変更しようとする静的成果物を指定すると、制御部15は、指定された静的成果物を成果物リポジトリ13から取得するとともに、パラメータ構造を概念体系リポジトリ14から取得する。さらに、制御部15は、成果物リポジトリ13から取得した静的成果物を成果物描画画面20の静的成果物描画部22に表示する。そして、開発者は、静的成果物描画部22において静的成果物の修正を行う。
First, the product designated by the developer is acquired and displayed on the product drawing screen 20 (step S1). Specifically, when the developer specifies a static product to be changed in the product selection unit of the
次に、開発者によって修正された静的成果物の修正箇所に対応するエレメントを概念体系リポジトリ14に記憶されたパラメータ構造を用いて特定する(ステップS2)。具体的には、開発者が、成果物描画画面20の静的成果物描画部22において静的成果物のエレメントを修正すると、制御部15は、修正されたエレメントを、既存のGUI機能を用いて特定する。
Next, the element corresponding to the corrected location of the static product corrected by the developer is specified using the parameter structure stored in the concept system repository 14 (step S2). Specifically, when the developer modifies the element of the static product in the static
次いで、特定されたエレメントに関連するタスク構造のパラメータをリンク情報50に基づき特定する(ステップS3)。具体的には、制御部15は、特定されたエレメントとの間でリンク情報50によって関連付けられたパラメータ(以下、関連パラメータと称する。)を含むタスクを概念体系リポジトリ14から抽出する。この場合、制御部15は、抽出されたタスクを、影響箇所として特定する。
Next, a task structure parameter related to the identified element is identified based on the link information 50 (step S3). Specifically, the
そして、関連パラメータを含む動的成果物を成果物リポジトリ13から取得して成果物描画画面20に表示するとともに、関連パラメータに対応する箇所をハイライト表示する(ステップS4)。具体的には、制御部15は、ステップS3において抽出されたタスクを含む動的成果物を成果物リポジトリ13から取得して、該動的成果物を動的成果物描画部21に表示する。このとき、制御部15は、動的成果物描画部21に表示された動的成果物において関連パラメータに対応する箇所をハイライト表示させることにより、他のタスクに対応する箇所よりも際立たせて表示する。
Then, a dynamic product including the related parameter is acquired from the
まず、動的成果物としてのシーケンス図を、静的成果物としてのクラス図を用いて作成する場合の動作について説明する。なお、動的成果物を作成する際には、図7の成果物ルールが用いられる。 First, an operation when a sequence diagram as a dynamic product is created using a class diagram as a static product will be described. When creating a dynamic product, the product rule of FIG. 7 is used.
開発者は、成果物描画画面20の成果物選択部にて、シーケンス図を選択する。このとき制御部15は、概念体系リポジトリ14に記憶された成果物ルールに基づき、シーケンス図のタスク(メッセージ)を構成可能なパラメータを有するクラス図を成果物リポジトリ13から取得する。そして、取得されたクラス図は、成果物描画画面20の静的成果物描画部22に表示される。なお、クラス図の一例を図10に示す。
The developer selects a sequence diagram in the product selection section of the
次に開発者は、動的成果物描画部21にてシーケンス図を作成する。なお、本例では、図11に示すシーケンス図が作成されている。この場合、成果物描画画面20の態様は、図12のように示される。なお、図10のシーケンス図には、「=getOltid()」というメッセージに必要なパラメータが存在しないので、開発者は、静的成果物描画部22に表示されたクラス図のパラメータを選択することによってメッセージに必要なパラメータを追加する。具体的には、開発者は、GUI機能を用いて、静的成果物描画部22に表示されたパラメータにポインタを移動させてマウスをクリックした後に、動的成果物描画部21に表示された動的成果物のパラメータ挿入箇所をクリックすることにより、パラメータを動的成果物に記述する。
Next, the developer creates a sequence diagram in the dynamic
このパラメータ追加例を、図13を参照して説明する。例えば、「=getOltid()」というメッセージの入力パラメータとして、クラス図に記述されている「Port」というクラスの「portNum」という属性を設定する場合には、開発者は、まず静的成果物描画部22にて「portNum」が表示されている箇所(図中一点鎖線で囲まれた部分)をクリックした後に、動的成果物描画部21の「=getOltid()」というメッセージの「()」の箇所で再度クリックする。このとき、「()」の内部(図中破線で囲まれた部分)に「portNum」という属性が設定される。
An example of this parameter addition will be described with reference to FIG. For example, when setting the attribute “portNum” of the class “Port” described in the class diagram as the input parameter of the message “= getOltid ()”, the developer first draws a static artifact. After clicking the part where “portNum” is displayed in the part 22 (the part surrounded by the one-dot chain line in the figure), “()” of the message “= getOltid ()” in the dynamic
なお、上記の操作が行われたときのタスク構造とパラメータ構造の関係を図14に示す。図14(a)に示されたタスク60は、「Register」という入力主体61と、「Port」という出力主体62と、「getOltid」という動作63と、「portNum」という入力パラメータ64と、「-」という出力パラメータ65から構成されている。また、図14(b)に示されたパラメータ70aは、「Port」というセット71aと、「Portnum」というエレメント72aとから構成されており、パラメータ70bは、「OLT」というセット71bと、「olt-id」というエレメント72bと、「oltname」というエレメント72cから構成されている。さらに、各パラメータ70a,70bは、「Port」というリレーション73によって接続されている。さらにまた、「portNum」という入力パラメータ64は、「portNum」というエレメント72cに基づき設定されていることから、これらの間にはリンク情報80が生成されている。
FIG. 14 shows the relationship between the task structure and the parameter structure when the above operation is performed. The
なお、開発者が成果物の登録を登録指示部にて指示すると、制御部15は、図14のタスク構造、パラメータ情報及びリンク情報を概念体系リポジトリ14に登録する。また、シーケンス図とクラス図は、制御部15により成果物リポジトリ13に登録される。この場合、シーケンス図とクラス図との関係は図15のように表される。即ち、図15(a)に示されたシーケンス図をタスク構造で表したものが図15(b)であり、図15(d)のクラス図をパラメータ構造で表したものが図15(c)である。ここで、図15(d)のクラス図に記述された「portNum」という属性に対応するエレメント72aと図8(b)のタスク60の入力パラメータ64とがリンク情報80により関連付けられている。
When the developer instructs registration of the deliverable by the registration instruction unit, the
上記の成果物登録が行われたことを前提として、登録された静的成果物の変更により影響を受ける動的成果物及びその影響箇所を特定する場合の動作について図16を参照して説明する。 With reference to FIG. 16, the operation for specifying the dynamic product affected by the change of the registered static product and the affected part will be described on the assumption that the product registration is performed. .
[手順1]
開発者が、成果物描画画面20の成果物選択部においてクラス図を指定すると、制御部15は、クラス図を成果物リポジトリ13から取得するとともに、クラス図に対応するパラメータ構造を概念体系リポジトリ14から取得する。さらに、制御部15は、成果物リポジトリ13から取得したクラス図を成果物描画画面20の静的成果物描画部22に表示する。そして、開発者は、情報入力部12を用いてクラス図の修正を行う。本例では、図16(d)のクラス図において、「Port」というクラスの「portNum」という属性(図中一点鎖線で囲まれた部分)を変更する。
[Procedure 1]
When the developer specifies a class diagram in the product selection unit of the
[手順2]
開発者が、成果物描画画面20の静的成果物描画部22において「Port」というクラスの「portNum」という属性を変更すると、制御部15は、クラス図の修正箇所に対応するエレメントを概念体系リポジトリ14に記憶されたパラメータ構造を用いて特定する。この場合、制御部15は、クラス図の修正箇所をGUI機能を用いて特定し、その箇所に対応するエレメントをパラメータ構造から特定する。本例では、図16(c)のパラメータ構造において、「portNum」というエレメント72aが特定される。
[Procedure 2]
When the developer changes the attribute “portNum” of the class “Port” in the static
[手順3]
制御部15は、「portNum」というエレメント72aに関連するタスク構造のパラメータをリンク情報80に基づき特定する。具体的には、制御部15は、エレメント72aとの間でリンク情報80によって関連付けられた関連パラメータを含むタスクを概念体系リポジトリ14から抽出する。本例では、図16(b)のタスク構造において、「portNum」という入力パラメータ64が関連パラメータとなり、この入力パラメータ64を含むタスク60が抽出される。
[Procedure 3]
The
[手順4]
制御部15は、関連パラメータを含むシーケンス図を成果物リポジトリ13から取得して成果物描画画面20に表示するとともに、関連パラメータに対応する箇所をハイライト表示する。具体的には、制御部15は、手順3において抽出されたタスクを含むシーケンス図を成果物リポジトリ13から取得して、該シーケンス図を動的成果物描画部21に表示する。このとき、制御部15は、動的成果物描画部21に表示されたシーケンス図において関連パラメータに対応する箇所をハイライト表示させることにより、他のタスクに対応する箇所よりも際立たせて表示する。本例では、図16(a)のシーケンス図において、抽出されたタスクに対応する部分(図中破線で囲まれた部分)がハイライト表示される。
[Procedure 4]
The
このようにして、ソフトウェアの振舞を実現するためのデータ、即ちクラス図の属性の内容が情報入力部12によって変更されると、該属性に対応するエレメント72aと関連付けられたパラメータ64を含むタスク60が、リンク情報80に基づき概念体系リポジトリ14から抽出されることから、クラス図の属性の内容を変更するだけで、該属性と関連するタスク64を容易に特定することが可能となる。
Thus, when the data for realizing the behavior of the software, that is, the content of the attribute of the class diagram is changed by the
前述したように上記実施形態では、静的成果物のデータを変更するだけで、該データと関連するタスクを容易に特定することができるので、静的成果物の変更により影響を受けるタスクを影響箇所として特定するとともに、該タスクからなる動的成果物を、変更の影響を受けるソフトウェア成果物として特定することができる。従って、ソフトウェア成果物の変更作業の効率化を図ることができるとともにソフトウェア成果物の品質を向上させることができることから、ソフトウェア開発の効率を大幅に向上させることができる。 As described above, in the above embodiment, it is possible to easily identify a task related to the data by simply changing the data of the static product. Therefore, the task affected by the change of the static product is affected. In addition to specifying the location, the dynamic product made up of the task can be specified as the software product affected by the change. Accordingly, the efficiency of software product change work can be improved and the quality of the software product can be improved, so that the efficiency of software development can be greatly improved.
また、影響箇所として特定されたタスクを含む動的成果物を表示部11に表示させるので、静的成果物の変更により影響を受ける動的成果物を開発者に知らせることができる。
In addition, since the dynamic product including the task identified as the affected part is displayed on the
さらに、動的成果物を表示するときに、影響箇所として特定されたタスクに対応する箇所をハイライト表示させるので、静的成果物の変更により影響を受ける箇所を確実に開発者に知らせることができる。 In addition, when displaying dynamic deliverables, the location corresponding to the task identified as the affected location is highlighted so that the developer can be surely notified of the location affected by the change in the static product. it can.
なお、上記の実施形態は本発明の具体例に過ぎず、本発明が上記実施形態のみに限定されることはない。例えば、本発明は、周知のコンピュータに記録媒体もしくは通信回線を介して、前述した作成手順を備えるプログラムをインストールすることによっても実現可能である。 In addition, said embodiment is only a specific example of this invention, and this invention is not limited only to the said embodiment. For example, the present invention can also be realized by installing a program having the above-described creation procedure on a known computer via a recording medium or a communication line.
10…ソフトウェア成果物管理システム、11…表示部、12…情報入力部、13…成果物リポジトリ、14…概念体系リポジトリ、15…制御部、30,60…タスク、34,64…入力パラメータ、35,65…出力パラメータ、40,70a,70b…パラメータ、50,80…リンク情報。 10 ... Software deliverable management system, 11 ... Display unit, 12 ... Information input unit, 13 ... Product repository, 14 ... Concept repository, 15 ... Control unit, 30,60 ... Task, 34,64 ... Input parameters, 35 , 65 ... output parameters, 40, 70a, 70b ... parameters, 50, 80 ... link information.
Claims (7)
前記コンピュータは、
情報入力手段と、
ソフトウェアの振舞を実現するための複数のデータと、各データのうち少なくとも一つのデータをパラメータとして含むタスクからなるソフトウェア成果物と、該タスクのパラメータと各データとの関連を表すリンク情報とを記憶する記憶手段と、
記憶手段に記憶された前記データの内容が情報入力手段によって変更されると、該データと関連付けられたパラメータを含むタスクを、リンク情報に基づき記憶手段から抽出する特定手段とを備える
ことを特徴とするソフトウェア成果物管理システム。 A software product management system for identifying, using a computer, an affected part of another software product based on a change in content included in a software product created in software development,
The computer
Information input means;
Stores a plurality of data for realizing the behavior of software, a software product composed of a task including at least one of the data as a parameter, and link information indicating a relationship between the parameter of the task and each data Storage means for
When the content of the data stored in the storage unit is changed by the information input unit, the task includes a specifying unit that extracts a task including a parameter associated with the data from the storage unit based on the link information. Software product management system.
前記特定手段によって抽出されたタスクを含むソフトウェア成果物を表示する表示手段を備える
ことを特徴とする請求項1記載のソフトウェア成果物管理システム。 The computer
The software product management system according to claim 1, further comprising display means for displaying a software product including a task extracted by the specifying means.
ソフトウェア成果物を表示するときに、抽出されたタスクに対応する箇所を他のタスクに対応する箇所よりも際立たせて表示させる
ことを特徴とする請求項2記載のソフトウェア成果物管理システム。 The display means includes
The software product management system according to claim 2, wherein when displaying the software product, the part corresponding to the extracted task is displayed more prominently than the part corresponding to another task.
前記コンピュータは、
ソフトウェアの振舞を実現するための複数のデータと、各データのうち少なくとも一つのデータをパラメータとして含むタスクからなるソフトウェア成果物と、該タスクのパラメータと各データとの関連を表すリンク情報とを所定の記憶部に記憶し、
記憶部に記憶された前記データの内容が所定の情報入力部によって変更されると、該データと関連付けられたパラメータを含むタスクを、リンク情報に基づき記憶部から抽出する
ことを特徴とするソフトウェア成果物管理方法。 A software product management method for identifying, using a computer, an affected area of another software product based on a change in content included in a software product created in software development,
The computer
Predetermined are a plurality of data for realizing the behavior of the software, a software product composed of a task including at least one of the data as parameters, and link information indicating a relationship between the parameter of the task and each data. Stored in the storage section of
When the content of the data stored in the storage unit is changed by a predetermined information input unit, a task including a parameter associated with the data is extracted from the storage unit based on link information. Object management method.
抽出されたタスクを含むソフトウェア成果物を所定の表示部に表示させる
ことを特徴とする請求項4記載のソフトウェア成果物管理方法。 The computer
The software product management method according to claim 4, wherein the software product including the extracted task is displayed on a predetermined display unit.
ソフトウェア成果物を表示するときに抽出されたタスクに対応する箇所を他のタスクに対応する箇所よりも際立たせて表示させる
ことを特徴とする請求項5記載のソフトウェア成果物管理方法。 The computer
6. The software product management method according to claim 5, wherein a portion corresponding to the task extracted when displaying the software product is displayed more prominently than a portion corresponding to another task.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007273750A JP2009104290A (en) | 2007-10-22 | 2007-10-22 | Software product management system, method, and its program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007273750A JP2009104290A (en) | 2007-10-22 | 2007-10-22 | Software product management system, method, and its program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009104290A true JP2009104290A (en) | 2009-05-14 |
Family
ID=40705914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007273750A Pending JP2009104290A (en) | 2007-10-22 | 2007-10-22 | Software product management system, method, and its program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009104290A (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06131232A (en) * | 1992-10-19 | 1994-05-13 | Toshiba Corp | Multiple definition correction assisting device for data dictionary |
JPH06348477A (en) * | 1993-06-03 | 1994-12-22 | Toshiba Corp | Software developing system |
JP2003140894A (en) * | 2001-11-05 | 2003-05-16 | Hitachi Ltd | Relating method of software development resources, and program therefor |
JP2005078119A (en) * | 2003-08-29 | 2005-03-24 | Canon Software Inc | Support system and method for software development support, program, and recording medium |
JP2007018334A (en) * | 2005-07-08 | 2007-01-25 | Toshiba Corp | Support system for software development |
-
2007
- 2007-10-22 JP JP2007273750A patent/JP2009104290A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06131232A (en) * | 1992-10-19 | 1994-05-13 | Toshiba Corp | Multiple definition correction assisting device for data dictionary |
JPH06348477A (en) * | 1993-06-03 | 1994-12-22 | Toshiba Corp | Software developing system |
JP2003140894A (en) * | 2001-11-05 | 2003-05-16 | Hitachi Ltd | Relating method of software development resources, and program therefor |
JP2005078119A (en) * | 2003-08-29 | 2005-03-24 | Canon Software Inc | Support system and method for software development support, program, and recording medium |
JP2007018334A (en) * | 2005-07-08 | 2007-01-25 | Toshiba Corp | Support system for software development |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pleuss et al. | Model-driven support for product line evolution on feature level | |
Wassermann et al. | Sedna: A BPEL-based environment for visual scientific workflow modeling | |
US20110145783A1 (en) | System and method for representing and validating functional requirements of a software system | |
JP2007122135A (en) | Development support device, development support method and development support program | |
US10182122B2 (en) | Action flow fragment management | |
JP4626675B2 (en) | Firmware providing method, communication system and service server using communication network | |
Ko et al. | ModelCenter MBSE for OpenMBEE: MBSE analysis integration for distributed development | |
JP2010039901A (en) | Operation verification device and operation verification program | |
JP6265030B2 (en) | Application development system, development device data processing method, and program | |
JP2009104290A (en) | Software product management system, method, and its program | |
JP4886626B2 (en) | Software product management system, method and program thereof | |
JP2009104336A (en) | Software deliverable management system and its method and program | |
García Díaz et al. | Combining the continuous integration practice and the model-driven engineering approach | |
Anjum et al. | A meta-model to automatically generate evolutionary prototypes from software requirements | |
JP5844347B2 (en) | Computer program generation device | |
Aversano et al. | An approach for restructuring text content | |
JP2009104291A (en) | Software product management system, method, and its program | |
JP2008210076A (en) | Software deliverable management system and its method and program | |
JP2000242477A (en) | Preparation supporting tool and specification verifying tool for software | |
Härtull | Implementation of an Application for Analyzing and Visualizing Benchmark Results for Optimization Solvers | |
JP2009104289A (en) | Software product creation system, method, and its program | |
JP4590907B2 (en) | Software development support device and software development support program | |
Kostomarov et al. | The ScopeShell graphic interface: Support for computational experiments and data visualization | |
JP5050624B2 (en) | Software development support system | |
Bruhaug et al. | SENSORSHIP Extracting and visualizing vessel data |
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 |
Effective date: 20110614 Free format text: JAPANESE INTERMEDIATE CODE: A7422 |
|
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 |
Effective date: 20120123 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A02 | Decision of refusal |
Effective date: 20120521 Free format text: JAPANESE INTERMEDIATE CODE: A02 |