JP6300710B2 - Change impact analysis apparatus, change impact analysis method and program - Google Patents
Change impact analysis apparatus, change impact analysis method and program Download PDFInfo
- Publication number
- JP6300710B2 JP6300710B2 JP2014246233A JP2014246233A JP6300710B2 JP 6300710 B2 JP6300710 B2 JP 6300710B2 JP 2014246233 A JP2014246233 A JP 2014246233A JP 2014246233 A JP2014246233 A JP 2014246233A JP 6300710 B2 JP6300710 B2 JP 6300710B2
- Authority
- JP
- Japan
- Prior art keywords
- change
- function
- extracted
- impact analysis
- information
- 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.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、ソフトウェア開発で生じる変更に伴って変更しなければならない可能性がある要素及び関数を抽出する技術に関する。 The present invention relates to a technique for extracting elements and functions that may need to be changed in accordance with changes that occur in software development.
ソフトウェア開発成果物の一部を変更したときに、その変更が及ぼす影響を分析する変更影響分析機能は、コンピュータなどにより支援する方法が考案され、特許文献1や特許文献2に示されている。
特許文献1では、ソフトウェア開発成果物間のトレーサビリティをもとに変更影響を分析する方法が、特許文献2では、ソースコード中の依存関係を抽出し、その情報をもとに変更影響を分析する方法が開示されている。
A method of supporting the change impact analysis function for analyzing the effect of the change when a part of the software development product is changed is devised by a computer or the like, and is disclosed in
In
特許文献1に開示されている方法は、開発の上流工程から下流工程で作成されたソフトウェア構成品間のトレーサビリティを管理し、ソフトウェア構成品の変更時における他のソフトウェア構成品の変更影響を分析していた。
しかし、ソースコード中の依存関係は管理対象としておらず、ソースコード変更に伴う他のソースコードへの変更影響、及び変更影響のあるソースコードを起点とした、開発の上流工程で作成されたソフトウェア構成品への変更影響を分析できなかった。
そのため、ソフトウェア構成品を変更する場合に、その変更による影響を受けて変更しなければならない可能性がある他のソフトウェア構成品を漏れなく抽出することが困難であった。
The method disclosed in
However, the dependency relationships in the source code are not managed, and the software created in the upstream process of development starting from the source code that has a change effect on the other source code due to the source code change and the source code that has the change effect The effect of changes on the components could not be analyzed.
Therefore, when changing software components, it is difficult to extract other software components that may have to be changed under the influence of the change.
特許文献2に開示されている方法では、開発の上流工程で作成された要求仕様書と、下流工程で作成された試験仕様書、ソースプログラム間のトレーサビリティ、及びソースプログラム間の呼出関係による依存関係を管理し、要求仕様書または試験仕様書、ソースプログラムの変更時における他の仕様書及びソースプログラムへの変更影響を分析していた。
しかし、変更影響のあるソースプログラムを起点とした、開発の上流工程で作成された要求仕様書や、下流工程で作成された試験仕様書への変更影響を分析できなかった。
そのため、要求仕様書や試験仕様書、ソースプログラムを変更する場合に、その影響を受けて変更しなければならない可能性がある他の要求仕様書や試験仕様書、ソースプログラムを漏れなく抽出することが困難であった。
In the method disclosed in
However, it was not possible to analyze the impact of changes on the requirement specifications created in the upstream process of development and the test specifications created in the downstream process, starting from the source program that has a change effect.
Therefore, when changing requirement specifications, test specifications, and source programs, extract other requirement specifications, test specifications, and source programs that may have to be changed under the influence. It was difficult.
本発明は、上記に鑑みてなされたものであって、ソフトウェアの仕様を構成するいずれかの仕様要素に変更がある場合に、当該仕様要素に対する変更により影響を受ける他の仕様要素及び関数を確実に抽出する構成を得ることを主な目的とする。 The present invention has been made in view of the above, and when there is a change in any of the specification elements constituting the software specification, other specification elements and functions that are affected by the change to the specification element are surely confirmed. The main purpose is to obtain a configuration to be extracted.
本発明に係る変更影響分析装置は、
ソフトウェアの仕様を構成する複数の仕様要素がそれぞれに記述される複数の仕様要素情報及び前記複数の仕様要素を実現する複数の関数が含まれるソースコードの間で相互に対応関係にある仕様要素同士及び相互に対応関係にある仕様要素と関数とを関連付けるトレーサビリティ情報を記憶するトレーサビリティ情報記憶部と、
前記ソースコードに含まれる前記複数の関数の間で依存関係にある関数同士を関連付ける依存関係情報を記憶する依存関係情報記憶部と、
前記複数の仕様要素情報に記述される前記複数の仕様要素のうち変更を施す仕様要素を変更元要素として通知する変更元要素通知を受け付ける変更元要素受付部と、
前記変更元要素通知で通知された変更元要素と前記トレーサビリティ情報で関連付けられている仕様要素及び関数を抽出するとともに、抽出した関数と前記依存関係情報で関連付けられている関数を依存関係関数として抽出し、抽出した前記依存関係関数と前記トレーサビリティ情報で関連付けられている仕様要素を抽出する変更影響分析部とを有する。
The change impact analysis apparatus according to the present invention is:
Specification elements in mutual correspondence between source code including a plurality of specification element information in which a plurality of specification elements constituting a software specification are respectively described and a plurality of functions for realizing the plurality of specification elements And a traceability information storage unit for storing traceability information for associating a specification element and a function corresponding to each other, and
A dependency information storage unit that stores dependency information that associates functions that are in a dependency relationship among the plurality of functions included in the source code;
A change source element receiving unit for receiving a change source element notification for notifying, as a change source element, a specification element to be changed among the plurality of specification elements described in the plurality of specification element information;
The specification element and the function associated with the change source element notified by the change source element notification and the traceability information are extracted, and the function associated with the extracted function and the dependency relationship information is extracted as a dependency function. And a change impact analysis unit that extracts specification elements associated with the extracted dependency function and the traceability information.
この発明によれば、トレーサビリティ情報及び依存関係情報を分析して、変更元要素に対する変更により影響を受ける仕様要素及び関数を確実に抽出することができるため、ソフトウェア開発成果物の変更漏れを防ぐことができ、ソフトウェアの品質向上や開発効率化に役立てることができる。 According to this invention, it is possible to analyze the traceability information and the dependency relationship information, and to reliably extract the specification elements and functions that are affected by the change to the change source element. Can be used to improve software quality and improve development efficiency.
以下に、本発明にかかる変更影響分析装置の実施の形態を図面に基づいて詳細に説明する。
なお、この実施の形態によりこの発明が限定されるものではない。
Embodiments of a change impact analysis apparatus according to the present invention will be described below in detail with reference to the drawings.
Note that the present invention is not limited to the embodiments.
実施の形態1.
本実施の形態では、ソフトウェア開発において、要求仕様書またはソフトウェア設計書、ソースコードなどのソフトウェア開発成果物間のトレーサビリティ、及びソースコード中における関数の呼出関係を利用し、仕様・設計の変更が生じた段階で、その変更に伴い変更しなければならない可能性がある他の要求項目及び設計項目、ソースコード中における関数を漏れなく抽出してユーザに示す、変更影響分析装置を説明する。
In the present embodiment, in software development, specification / design changes occur using traceability between software development products such as requirement specifications or software design documents, source code, and function call relationships in the source code. Next, a change impact analysis apparatus will be described in which other required items and design items that may have to be changed along with the change and functions in the source code are extracted and shown to the user.
***構成の説明***
図1は、変更影響分析装置の構成例を示すブロック図である。
*** Explanation of configuration ***
FIG. 1 is a block diagram illustrating a configuration example of a change impact analysis apparatus.
図1を参照すると、本実施の形態の変更影響分析装置100は、トレーサビリティ抽出部101、依存関係抽出部102、変更影響分析部103、変更影響表示部104、変更元要素通知受付部105、トレーサビリティ情報記憶部301、依存関係情報記憶部302を備えている。
Referring to FIG. 1, a change
トレーサビリティ抽出部101は、要求仕様書201、ソフトウェア設計書202及びソースコード203間のトレーサビリティ情報を抽出する。
要求仕様書201、ソフトウェア設計書202には、ソフトウェアの仕様を構成する複数の仕様要素がそれぞれに記述されており、それぞれ仕様要素情報に相当する。
ソースコード203には、複数の仕様要素を実現する複数の関数が含まれている。
トレーサビリティ情報は、仕様要素情報である要求仕様書201及びソフトウェア設計書202とソースコード203との間で相互に対応関係にある仕様要素同士及び相互に対応関係にある仕様要素と関数とを関連付ける情報である。
トレーサビリティ抽出部101は、要求仕様書201及びソフトウェア設計書202の複数の仕様要素及びソースコードの関数の間の対応関係を抽出してトレーサビリティ情報を生成する。
生成されたトレーサビリティ情報は、トレーサビリティ情報記憶部301で記憶される。
The
In the requirement specification 201 and the
The
The traceability information is information that associates specification elements that are in a mutually corresponding relationship between the requirement specification 201 and
The
The generated traceability information is stored in the traceability
依存関係抽出部102は、ソースコード203中における関数間の依存関係情報を抽出する。
依存関係情報は、ソースコードに含まれる複数の関数の間で依存関係にある関数同士を関連付ける情報である。
依存関係抽出部102は、ソースコードの複数の関数の間の依存関係を抽出して依存関係情報を生成する。
生成された依存関係情報は、依存関係情報記憶部302で記憶される。
The dependency
The dependency relationship information is information for associating functions having a dependency relationship among a plurality of functions included in the source code.
The dependency
The generated dependency relationship information is stored in the dependency
変更元要素通知受付部105は、変更したい要求項目または設計項目である変更元要素を通知する変更元要素通知401を受け付ける。
変更元要素通知401は、要求仕様書201、ソフトウェア設計書202に記述される複数の仕様要素のうち変更を施す仕様要素を変更元要素として通知する情報である。
The change source element notification receiving unit 105 receives a change
The change
変更影響分析部103は、変更元要素通知401とトレーサビリティ情報及び依存関係情報を参照して変更影響先要素402を抽出する。
より具体的には、変更影響分析部103は、変更元要素通知401で通知された変更元要素とトレーサビリティ情報で関連付けられている仕様要素及び関数を抽出する。
また、変更影響分析部103は、抽出した関数と依存関係情報で関連付けられている関数を依存関係関数として抽出し、抽出した依存関係関数とトレーサビリティ情報で関連付けられている仕様要素を抽出する。
抽出された仕様要素及び関数が変更影響先要素402となる。
更に、変更影響分析部103は、抽出された関数が他の関数から呼び出される回数と、抽出された関数がグローバル変数を参照する回数との加算値に基づき、抽出された関数の優先度(変更影響優先度という)と、抽出された関数と対応関係にある、抽出された仕様要素の変更影響優先度を決定する。
The change
More specifically, the change
In addition, the change
The extracted specification element and function become the change
Furthermore, the change
変更影響表示部104は、変更影響分析部103が抽出した変更影響先要素402を表示装置501に表示する。
つまり、変更影響表示部104は、変更影響分析部103により抽出された仕様要素及び関数を表示装置501に表示する。
また、変更影響表示部104は、変更影響分析部103により抽出された仕様要素及び関数を、変更影響優先度とともに表示装置501に表示する。
The change influence display unit 104 displays the change
That is, the change impact display unit 104 displays the specification elements and functions extracted by the change
The change influence display unit 104 displays the specification elements and functions extracted by the change
図2に要求仕様書201の例を示す。
要求仕様書201は、要求項目ごとにRと3桁の数値で構成される要求IDタグ([R0001]〜[R004])を持つ。
図2において、要求項目とは要求IDタグに続く記述であり、各要求項目は仕様要素に相当する。
例えば、「[R001]」に続く「1つのLEDを点灯・消灯できる。」が要求項目(仕様要素)である。
FIG. 2 shows an example of the requirement specification 201.
The request specification 201 has a request ID tag ([R0001] to [R004]) composed of R and a three-digit numerical value for each request item.
In FIG. 2, the request item is a description following the request ID tag, and each request item corresponds to a specification element.
For example, “one LED can be turned on / off” following “[R001]” is a required item (specification element).
図3にソフトウェア設計書202の例を示す。
ソフトウェア設計書202は、設計項目ごとにDと3桁の数値で構成される設計IDタグ([D001]〜[D004])を持つ。
図3において、設計項目は設計IDタグに続く記述であり、各設計項目は仕様要素に相当する。
例えば、「[D001]」に続く、「LED点灯処理・LEDポートに0x01を出力する。」が設計項目(仕様要素)である。
FIG. 3 shows an example of the
The
In FIG. 3, the design item is a description following the design ID tag, and each design item corresponds to a specification element.
For example, “[D001]” followed by “LED lighting process / output 0x01 to LED port” is a design item (specification element).
図4にソースコード203の例を示す。
ソースコード203は、ソースコード中の関数ごとにCと3桁の数値で構成される関数IDタグ([C001]〜[C007])を持つ。
FIG. 4 shows an example of the
The
トレーサビリティ情報は、図5に例示するトレーサビリティマトリクスと図6に例示するトレーサビリティマトリクスで構成される。 The traceability information includes a traceability matrix illustrated in FIG. 5 and a traceability matrix illustrated in FIG.
図5に要求IDと設計ID間のトレーサビリティマトリクスの例を示す。
要求IDと設計ID間のトレーサビリティマトリクスは、要求IDを行、設計IDを列としており、要求IDと設計ID間にトレーサビリティが存在する場合、その要求IDの行と設計IDの列が交差する場所に丸が付く。
つまり、図5のトレーサビリティマトリクスは、要求IDと設計IDとを関連付けることで対応関係にある要求項目と設計項目とを関連付けている。
FIG. 5 shows an example of a traceability matrix between the request ID and the design ID.
The traceability matrix between the request ID and the design ID has the request ID as a row and the design ID as a column. When traceability exists between the request ID and the design ID, the location where the request ID row and the design ID column intersect Is circled.
That is, the traceability matrix of FIG. 5 associates the requirement items and the design items that are in a correspondence relationship by associating the requirement IDs with the design IDs.
図6に設計IDと関数ID間のトレーサビリティマトリクスの例を示す。
設計IDと関数ID間のトレーサビリティマトリクスは、設計IDを行、関数IDを列としており、設計IDと関数ID間にトレーサビリティが存在する場合、その設計IDの行と関数IDの列が交差する場所に丸が付く。
つまり、図6のトレーサビリティマトリクスは、設計IDと関数IDとを関連付けることで対応関係にある設計項目と関数とを関連付けている。
FIG. 6 shows an example of a traceability matrix between the design ID and the function ID.
The traceability matrix between a design ID and a function ID has a design ID as a row and a function ID as a column. When traceability exists between a design ID and a function ID, the place where the row of the design ID and the column of the function ID intersect Is circled.
That is, the traceability matrix in FIG. 6 associates design items and functions in a corresponding relationship by associating design IDs with function IDs.
依存関係情報は、図7に例示する依存関係マトリクスと図8に例示する変更影響優先度マトリクスで構成される。 The dependency relationship information includes a dependency relationship matrix illustrated in FIG. 7 and a change impact priority matrix illustrated in FIG.
図7に関数ID間の依存関係マトリクスの例を示す。
依存関係マトリクスは、呼出先の関数IDを行、呼出元の関数IDを列としており、関数ID間にトレーサビリティが存在する場合、その呼出先の関数IDの行と呼出元の関数IDの列が交差する場所に丸が付く。
つまり、図7の依存関係マトリクスは、関数IDを関連付けることで依存関係にある関数同士を関連付ける。
FIG. 7 shows an example of a dependency matrix between function IDs.
In the dependency matrix, the function ID of the call destination is a row and the function ID of the call source is a column. When traceability exists between the function IDs, the function ID row of the call destination and the column of the function ID of the call source are Circles at the intersections.
That is, the dependency relationship matrix in FIG. 7 associates functions having dependency relationships by associating function IDs.
図8に関数IDの変更影響優先度マトリクスの例を示す。
変更影響優先度マトリクスは、関数IDを行、関数IDに対応する関数が参照するグローバル変数の数及びその関数の呼出元関数の数を列としている。
変更影響優先度は、呼出元関数の欄に記述される値と、グローバル変数の欄に記述される値の合計値となっている。
FIG. 8 shows an example of a function ID change influence priority matrix.
In the change impact priority matrix, the function ID is a row, and the number of global variables referenced by the function corresponding to the function ID and the number of caller functions of the function are columns.
The change impact priority is the total value of the value described in the caller function column and the value described in the global variable column.
図9に変更元要素通知401の例を示す。
変更元要素通知401は、すべての要求IDと設計IDを左行としており、変更したい要求IDまたは設計IDがある場合、その要求IDまたは設計IDの列の右行に丸を付ける。
FIG. 9 shows an example of the change
The change
***動作の説明***
図10及び図11に変更影響分析部103の変更影響分析アルゴリズムを示す。
なお、ステップS101、S102、S103に記載のa、ステップS201、S202、S203に記載のb、ステップS301、S302、S303に記載のc、ステップS401、S402、S403に記載のdは、それぞれID(要求ID、設計ID、関数ID)を選択するための変数である。
*** Explanation of operation ***
10 and 11 show the change impact analysis algorithm of the change
Note that a described in steps S101, S102, and S103, b described in steps S201, S202, and S203, c described in steps S301, S302, and S303, and d described in steps S401, S402, and S403 are ID ( Request ID, design ID, function ID).
ステップS101において、変更元要素通知受付部105が変更元要素通知401を受付け(変更元要素受付ステップ)、変更影響分析部103は、変更元要素通知受付部105から変更元要素通知401を入力する。
変更元要素通知401は、前述したように、変更したい要求項目または設計項目を示した情報である。
ステップS102以降の処理により、変更影響分析部103は、変更元要素に対する変更により影響を受ける要求項目、設計項目、関数を、トレーサビリティ情報及び依存関係情報を分析して抽出する(変更影響分析ステップ)。
In step S101, the change source element notification reception unit 105 receives the change source element notification 401 (change source element reception step), and the change
As described above, the change
Through the processing after step S102, the change
ステップS102、S103、S104、S106において、変更影響分析部103は、ステップS101で入力した変更元要素通知401のリストから、右列に丸が付いている要求IDと設計IDを順に選択する。
例えば、図9の変更元要素通知401を入力した場合、選択する要求IDはR002である。
In steps S102, S103, S104, and S106, the change
For example, when the change
ステップS105において選択したIDが要求IDである場合、変更影響分析部103は、ステップS106において、要求IDと設計ID間のトレーサビリティマトリクス(図5)から、選択した要求IDの列に丸が付いている行の設計ID群を抽出する。
例えば、選択した要求IDがR002である場合、図5のトレーサビリティマトリクスから抽出される設計IDは、図12に示す通り、R002の行において丸がついているD003及びD004である。
When the ID selected in step S105 is a request ID, the change
For example, when the selected request ID is R002, design IDs extracted from the traceability matrix of FIG. 5 are D003 and D004 circled in the row of R002 as shown in FIG.
ステップS105において選択したIDが設計IDである場合、変更影響分析部103は、ステップS204において、設計IDと関数ID間のトレーサビリティマトリクス(図6)から、ステップS202で選択した設計IDの行に丸が付いている列の関数ID群を抽出する。
When the ID selected in step S105 is a design ID, the change
ステップS201、S202、S203、S205において、変更影響分析部103は、ステップS106で抽出した設計ID群を順に選択する。
In steps S201, S202, S203, and S205, the change
ステップS204において、変更影響分析部103は、設計IDと関数ID間のトレーサビリティマトリクス(図6)から、選択した設計IDの行に丸が付いている列の関数IDを抽出する。
例えば、選択した設計IDがD003及びD004である場合、図6のトレーサビリティマトリクスから抽出される関数IDは、図13に示す通り、D003及びD004の行において丸がついている列のC003及びC004である。
In step S204, the change
For example, when the selected design IDs are D003 and D004, the function IDs extracted from the traceability matrix in FIG. 6 are C003 and C004 in columns with circles in the rows of D003 and D004 as shown in FIG. .
ステップS301、S302、S303、S306において、変更影響分析部103は、ステップS204で抽出した全ての関数ID群を順に選択する。
In steps S301, S302, S303, and S306, the change
ステップS304において、変更影響分析部103は、関数ID間の依存関係マトリクス(図7)から、ステップS302で選択した関数IDの行に丸が付いている列の関数ID群を抽出する。
例えば、選択した関数IDがC003及びC004である場合、選択する関数IDはC003及びC004であり、図7の依存関係マトリクスから抽出される関数IDは、図14に示す通り、C003及びC004の行において丸が付いている列のC005及びC006である。
In step S304, the change
For example, when the selected function IDs are C003 and C004, the function IDs to be selected are C003 and C004, and the function IDs extracted from the dependency matrix in FIG. 7 are the rows of C003 and C004 as shown in FIG. Are C005 and C006 in rows with circles.
ステップS401、S402、S403、S406において、変更影響分析部103は、ステップS304で抽出した全ての関数ID群を順に選択する。
In steps S401, S402, S403, and S406, the change
ステップS404において、変更影響分析部103は、設計IDと関数ID間のトレーサビリティマトリクス(図6)から、ステップS402で選択した関数IDの列に丸が付いている行の設計IDを抽出する。
例えば、選択した関数IDがC005及びC006である場合、図6のトレーサビリティマトリクスから抽出される設計IDは、図15に示す通り、C005及びC006の列において丸が付いている行のD005及びD006である。
In step S404, the change
For example, when the selected function IDs are C005 and C006, the design IDs extracted from the traceability matrix of FIG. 6 are D005 and D006 in the rows with circles in the columns of C005 and C006 as shown in FIG. is there.
ステップS405において、変更影響分析部103は、要求IDと設計ID間のトレーサビリティマトリクスから、ステップS404で抽出した設計IDの列に丸が付いている行の要求ID群を抽出する。
例えば、抽出した設計IDがD005及びD006の場合、図5のトレーサビリティマトリクスから抽出される要求IDは、図16に示す通り、D005及びD006の列において丸が付いている行のR003である。
In step S405, the change
For example, when the extracted design IDs are D005 and D006, the request ID extracted from the traceability matrix in FIG. 5 is R003 in a row with circles in the columns D005 and D006 as shown in FIG.
ステップS501において、変更影響分析部103は、関数IDの変更影響優先度マトリクスから、設計ID及び要求IDの変更影響優先度を計算する。
図17に変更影響優先度計算のアルゴリズムを示す。
なお、ステップS503、S504、S505に記載のa、ステップS510、S511、S512に記載のbは、それぞれID(要求ID、設計ID、関数ID)を選択するための変数である。
In step S501, the change
FIG. 17 shows a change impact priority calculation algorithm.
Note that a described in steps S503, S504, and S505 and b described in steps S510, S511, and S512 are variables for selecting an ID (required ID, design ID, and function ID), respectively.
変更影響分析部103は、ステップS502において抽出した設計ID群を入力し、ステップS503、S504、S505、S508において、入力した設計ID群を順に選択する。
The change
ステップS506において、変更影響分析部103は、設計IDと関数ID間のトレーサビリティマトリクスから、ステップS504で選択した設計IDの行に丸が付いている列の関数IDを抽出する。
例えば、選択した設計IDがD003である場合、図6のトレーサビリティマトリクスから抽出される関数IDは、D003の行において丸がついている列のC003である。
In step S506, the change
For example, when the selected design ID is D003, the function ID extracted from the traceability matrix of FIG. 6 is C003 in a column circled in the row of D003.
ステップS507において、変更影響分析部103は、関数IDの変更影響優先度マトリクスにおける抽出した関数IDの変更影響優先度を、選択した設計IDの変更影響優先度とし、変更影響先要素402に出力する。
例えば、選択した設計IDがD003、抽出した関数IDがC003である場合、図8の変更影響優先度マトリクスにおいてC003の変更影響優先度は3であるため、図18に示す通り、D003の変更影響優先度は、C003と同じ3となる。
In step S507, the change
For example, if the selected design ID is D003 and the extracted function ID is C003, the change impact priority of C003 is 3 in the change impact priority matrix of FIG. 8, so that the change impact of D003 is as shown in FIG. The priority is 3, which is the same as C003.
変更影響分析部103は、ステップS509において抽出した要求ID群を入力し、ステップS510、S511、S512、S515において、入力した設計ID群を順に選択する。
The change
ステップS513において、変更影響分析部103は、要求IDと設計ID間のトレーサビリティマトリクスから、ステップS511で選択した要求IDの行に丸が付いている列の設計IDを抽出する。
例えば、選択した要求IDがR003である場合、図5のトレーサビリティマトリクスから抽出される設計ID群は、R003の行において丸がついている列のD005及びD006である。
In step S513, the change
For example, when the selected request ID is R003, the design ID groups extracted from the traceability matrix in FIG. 5 are D005 and D006 in columns with circles in the row of R003.
ステップS514において、変更影響分析部103は、ステップ513で抽出した設計ID群の変更影響優先度の合計を、選択した要求IDの変更影響優先度とし、変更影響先要素402を出力する。
例えば、選択した要求IDがR003、抽出した設計ID群がD003及びD004である場合、図18に示す通り、D005の変更影響優先度0と、D006の変更影響優先度0であり合計0であるため、R003の変更影響優先度は0となる。
In step S514, the change
For example, when the selected request ID is R003 and the extracted design ID groups are D003 and D004, as shown in FIG. 18, the
ステップS601において、ステップS106、S204、S304、S404、S405で抽出した全ての要求ID、設計ID、関数ID群を、変更影響優先度が高い順に並べた変更影響先要素402を出力する。
図18は出力する変更影響先要素402の例で、抽出されたR003、D003、D004、D005、D006、C003、C004、C005、C006が変更影響優先度順に並べられる。
In step S601, the change
FIG. 18 shows an example of the change
これにより、要求項目または設計項目の変更が生じた段階で、その影響を受けて変更しなければならない可能性がある他の要求項目及び設計項目、ソースコード中の関数を、変更影響可能性の順に漏れなく抽出することが可能となる。
例えば、出力する変更影響先要素402が図18の場合、変更しなければならない可能性がある他の要求項目及び設計項目、ソースコード中の関数のIDはR003、D003、D004、D005、D006、C003、C004、C005、C006であり、特に変更影響可能性が高いものは、設計IDの場合D003、関数IDの場合C003である。
As a result, when there is a change in the requirement item or design item, other requirement items and design items that may need to be changed due to the change, functions in the source code can be changed. It becomes possible to extract without omission in order.
For example, when the change
***効果の説明***
このように、本実施の形態によれば、要求項目または設計項目の変更が生じた段階で、その変更に伴い変更しなければならない可能性がある他の要求項目及び設計項目を漏れなく抽出できるため、要求仕様書またはソフトウェア設計書、ソースコードなどのソフトウェア開発成果物の変更漏れを防ぐことができ、ソフトウェアの品質向上や開発効率化に役立てることができる。
このため、本実施の形態に係る変更影響分析装置は、ソフトウェア開発成果物の変更影響分析に有用である。
*** Explanation of effects ***
As described above, according to the present embodiment, at the stage where a required item or design item is changed, other required items and design items that may have to be changed along with the change can be extracted without omission. Accordingly, it is possible to prevent omissions in changes in software development products such as requirement specifications, software design documents, and source code, which can be used for improving software quality and improving development efficiency.
For this reason, the change impact analysis apparatus according to the present embodiment is useful for the change impact analysis of software development products.
なお、上記では、抽出された関数が他の関数から呼び出される回数と、抽出された関数がグローバル変数を参照する回数との加算値に基づき、変更影響優先度を決定しているが、関数が他の関数から呼び出される回数のみに基づいて変更影響優先度を決定してもよいし、関数がグローバル関数を参照する回数のみに基づいて変更影響優先度を決定してもよい。 In the above, the change impact priority is determined based on the addition value of the number of times the extracted function is called from another function and the number of times the extracted function refers to the global variable. The change impact priority may be determined based only on the number of times called from other functions, or the change impact priority may be determined based only on the number of times the function references the global function.
最後に、本実施の形態に示した変更影響分析装置100のハードウェア構成例を図19を参照して説明する。
変更影響分析装置100はコンピュータであり、変更影響分析装置100の各要素をプログラムで実現することができる。
変更影響分析装置100のハードウェア構成としては、バスに、演算装置901、外部記憶装置902、主記憶装置903、通信装置904、入出力装置905が接続されている。
Finally, a hardware configuration example of the change
The change
As a hardware configuration of the change
演算装置901は、プログラムを実行するCPU(Central Processing Unit)である。
外部記憶装置902は、例えばROM(Read Only Memory)やフラッシュメモリ、ハードディスク装置である。
主記憶装置903は、RAM(Random Access Memory)である。
通信装置904は、例えば、NIC(Network Interface Card)である。
入出力装置905は、例えばマウス、キーボード、ディスプレイ装置等である。
図1に示した表示装置501は、入出力装置905の一部である。
The
The
The
The
The input /
The
プログラムは、通常は外部記憶装置902に記憶されており、主記憶装置903にロードされた状態で、順次演算装置901に読み込まれ、実行される。
プログラムは、図1に示す「〜部」として説明している機能を実現するプログラムである。
更に、外部記憶装置902にはオペレーティングシステム(OS)も記憶されており、OSの少なくとも一部が主記憶装置903にロードされ、演算装置901はOSを実行しながら、図1に示す「〜部」の機能を実現するプログラムを実行する。
また、本実施の形態の説明において、「判断する」、「判定する」、「抽出する」、「分析する」、「決定する」、「選択する」、「生成する」、「計算する」、「設定する」、「登録する」、「入力する」、「出力する」等として説明している処理の結果を示す情報やデータや信号値や変数値が主記憶装置903にファイルとして記憶されている。
The program is normally stored in the
The program is a program that realizes a function described as “unit” shown in FIG.
Further, an operating system (OS) is also stored in the
In the description of the present embodiment, “determine”, “determine”, “extract”, “analyze”, “decide”, “select”, “generate”, “calculate”, Information, data, signal values, and variable values indicating the results of the processes described as “set”, “register”, “input”, “output”, etc. are stored in the
なお、図19の構成は、あくまでも変更影響分析装置100のハードウェア構成の一例を示すものであり、変更影響分析装置100のハードウェア構成は図19に記載の構成に限らず、他の構成であってもよい。
Note that the configuration in FIG. 19 is merely an example of the hardware configuration of the change
また、本実施の形態に示す手順により、本発明に係る変更影響分析方法を実現可能である。 Further, the change impact analysis method according to the present invention can be realized by the procedure shown in the present embodiment.
100 変更影響分析装置、101 トレーサビリティ抽出部、102 依存関係抽出部、103 変更影響分析部、104 変更影響表示部、105 変更元要素通知受付部、201 要求仕様書、202 ソフトウェア設計書、203 ソースコード、301 トレーサビリティ情報記憶部、302 依存関係情報記憶部、401 変更元要素通知、402 変更影響先要素、501 表示装置。
DESCRIPTION OF
Claims (10)
前記ソースコードに含まれる前記複数の関数の間で依存関係にある関数同士を関連付ける依存関係情報を記憶する依存関係情報記憶部と、
前記複数の仕様要素情報に記述される前記複数の仕様要素のうち変更を施す仕様要素を変更元要素として通知する変更元要素通知を受け付ける変更元要素受付部と、
前記変更元要素通知で通知された変更元要素と前記トレーサビリティ情報で関連付けられている仕様要素及び関数を抽出するとともに、抽出した関数と前記依存関係情報で関連付けられている関数を依存関係関数として抽出し、抽出した前記依存関係関数と前記トレーサビリティ情報で関連付けられている仕様要素を抽出する変更影響分析部とを有する変更影響分析装置。 Specification elements in mutual correspondence between source code including a plurality of specification element information in which a plurality of specification elements constituting a software specification are respectively described and a plurality of functions for realizing the plurality of specification elements And a traceability information storage unit for storing traceability information for associating a specification element and a function corresponding to each other, and
A dependency information storage unit that stores dependency information that associates functions that are in a dependency relationship among the plurality of functions included in the source code;
A change source element receiving unit for receiving a change source element notification for notifying, as a change source element, a specification element to be changed among the plurality of specification elements described in the plurality of specification element information;
The specification element and the function associated with the change source element notified by the change source element notification and the traceability information are extracted, and the function associated with the extracted function and the dependency relationship information is extracted as a dependency function. And a change impact analysis unit that extracts a specification element associated with the extracted dependency relationship function and the traceability information.
前記変更影響分析部により抽出された仕様要素及び関数を表示する変更影響表示部を有する請求項1に記載の変更影響分析装置。 The change impact analysis apparatus further includes:
The change impact analysis apparatus according to claim 1, further comprising a change impact display unit that displays specification elements and functions extracted by the change impact analysis unit.
抽出された関数が他の関数から呼び出される回数に基づき、抽出された関数の優先度と、抽出された関数と対応関係にある、抽出された仕様要素の優先度を決定する請求項1に記載の変更影響分析装置。 The change impact analysis unit
The priority of the extracted function and the priority of the extracted specification element corresponding to the extracted function are determined based on the number of times the extracted function is called from another function. Change impact analysis equipment.
抽出された関数がグローバル変数を参照する回数に基づき、抽出された関数の優先度と、抽出された関数と対応関係にある、抽出された仕様要素の優先度を決定する請求項1に記載の変更影響分析装置。 The change impact analysis unit
The priority of the extracted function and the priority of the extracted specification element corresponding to the extracted function are determined based on the number of times the extracted function refers to the global variable. Change impact analysis device.
抽出された関数が他の関数から呼び出される回数と、抽出された関数がグローバル変数を参照する回数との加算値に基づき、抽出された関数の優先度と、抽出された関数と対応関係にある、抽出された仕様要素の優先度を決定する請求項1に記載の変更影響分析装置。 The change impact analysis unit
Based on the sum of the number of times the extracted function is called from other functions and the number of times the extracted function references a global variable, the priority of the extracted function is in a correspondence relationship with the extracted function The change impact analysis apparatus according to claim 1, wherein the priority of the extracted specification element is determined.
前記変更影響分析部により抽出された仕様要素及び関数を、優先度とともに表示する変更影響表示部を有する請求項3〜5のいずれかに記載の変更影響分析装置。 The change impact analysis apparatus further includes:
The change impact analysis apparatus according to claim 3, further comprising a change impact display unit that displays the specification element and the function extracted by the change impact analysis unit together with a priority.
前記複数の仕様要素情報の前記複数の仕様要素及び前記ソースコードの前記複数の関数の間の対応関係を抽出して前記トレーサビリティ情報を生成するトレーサビリティ抽出部と、
前記ソースコードの前記複数の関数の間の依存関係を抽出して前記依存関係情報を生成する依存関係抽出部とを有し、
前記トレーサビリティ情報記憶部は、
前記トレーサビリティ抽出部により生成された前記トレーサビリティ情報を記憶し、
前記依存関係情報記憶部は、
前記依存関係抽出部により生成された前記依存関係情報を記憶する請求項1に記載の変更影響分析装置。 The change impact analysis device includes:
A traceability extraction unit that extracts correspondence between the plurality of specification elements of the plurality of specification element information and the plurality of functions of the source code to generate the traceability information;
A dependency extraction unit that extracts dependency relationships between the plurality of functions of the source code and generates the dependency relationship information;
The traceability information storage unit
Storing the traceability information generated by the traceability extraction unit;
The dependency relationship information storage unit
The change impact analysis device according to claim 1, wherein the dependency relationship information generated by the dependency relationship extraction unit is stored.
前記複数の仕様要素情報を要求仕様書及びソフトウェア設計書とし、
前記要求仕様書と前記ソフトウェア設計書及び前記ソースコードの間で相互に対応関係にある仕様要素同士及び相互に対応関係にある仕様要素と関数とを関連付けるトレーサビリティ情報を記憶し、
前記変更影響分析部は、
前記変更元要素に対する変更により影響を受ける仕様要素として、前記要求仕様書の仕様要素及び前記ソフトウェア設計書の仕様要素のうちの少なくともいずれかを抽出する請求項1に記載の変更影響分析装置。 The traceability information storage unit
The plurality of specification element information as a requirement specification and a software design document,
Storing traceability information for associating specification elements and functions corresponding to each other, and specification elements and functions corresponding to each other between the requirement specification and the software design document and the source code;
The change impact analysis unit
The change impact analysis apparatus according to claim 1, wherein at least one of a specification element of the requirement specification and a specification element of the software design document is extracted as a specification element affected by the change to the change source element.
前記ソースコードに含まれる前記複数の関数の間で依存関係にある関数同士を関連付ける依存関係情報を記憶する依存関係情報記憶部とを有するコンピュータが行う変更影響分析方法であって、
前記コンピュータが、前記複数の仕様要素情報に記述される前記複数の仕様要素のうち変更を施す仕様要素を変更元要素として通知する変更元要素通知を受け付ける変更元要素受付ステップと、
前記コンピュータが、前記変更元要素通知で通知された変更元要素と前記トレーサビリティ情報で関連付けられている仕様要素及び関数を抽出するとともに、抽出した関数と前記依存関係情報で関連付けられている関数を依存関係関数として抽出し、抽出した前記依存関係関数と前記トレーサビリティ情報で関連付けられている仕様要素を抽出する変更影響分析ステップとを有する変更影響分析方法。 Specification elements in mutual correspondence between source code including a plurality of specification element information in which a plurality of specification elements constituting a software specification are respectively described and a plurality of functions for realizing the plurality of specification elements And a traceability information storage unit for storing traceability information for associating a specification element and a function corresponding to each other, and
A change impact analysis method performed by a computer having a dependency relationship information storage unit that stores dependency relationship information that associates functions having a dependency relationship among the plurality of functions included in the source code,
A change source element receiving step for receiving a change source element notification for notifying, as a change source element, a specification element to be changed among the plurality of specification elements described in the plurality of specification element information;
The computer extracts the specification element and the function associated with the traceability information and the change source element notified by the change source element notification, and depends on the function associated with the extracted function and the dependency relationship information. A change impact analysis method comprising: a change impact analysis step for extracting a specification element associated with the extracted dependency relationship function and the traceability information, extracted as a relation function.
前記ソースコードに含まれる前記複数の関数の間で依存関係にある関数同士を関連付ける依存関係情報を記憶する依存関係情報記憶部とを有するコンピュータに、
前記複数の仕様要素情報に記述される前記複数の仕様要素のうち変更を施す仕様要素を変更元要素として通知する変更元要素通知を受け付ける変更元要素受付ステップと、
前記変更元要素通知で通知された変更元要素と前記トレーサビリティ情報で関連付けられている仕様要素及び関数を抽出するとともに、抽出した関数と前記依存関係情報で関連付けられている関数を依存関係関数として抽出し、抽出した前記依存関係関数と前記トレーサビリティ情報で関連付けられている仕様要素を抽出する変更影響分析ステップとを実行させるプログラム。 Specification elements in mutual correspondence between source code including a plurality of specification element information in which a plurality of specification elements constituting a software specification are respectively described and a plurality of functions for realizing the plurality of specification elements And a traceability information storage unit for storing traceability information for associating a specification element and a function corresponding to each other, and
A computer having a dependency relationship information storage unit that stores dependency relationship information for associating functions having a dependency relationship among the plurality of functions included in the source code,
A change source element reception step for receiving a change source element notification for notifying a specification element to be changed among the plurality of specification elements described in the plurality of specification element information as a change source element;
The specification element and the function associated with the change source element notified by the change source element notification and the traceability information are extracted, and the function associated with the extracted function and the dependency relationship information is extracted as a dependency function. And a change impact analysis step of extracting a specification element associated with the extracted dependency function and the traceability information.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014246233A JP6300710B2 (en) | 2014-12-04 | 2014-12-04 | Change impact analysis apparatus, change impact analysis method and program |
| SG10201509458RA SG10201509458RA (en) | 2014-12-04 | 2015-11-17 | Wafer producing method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014246233A JP6300710B2 (en) | 2014-12-04 | 2014-12-04 | Change impact analysis apparatus, change impact analysis method and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2016110330A JP2016110330A (en) | 2016-06-20 |
| JP6300710B2 true JP6300710B2 (en) | 2018-03-28 |
Family
ID=56124277
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014246233A Active JP6300710B2 (en) | 2014-12-04 | 2014-12-04 | Change impact analysis apparatus, change impact analysis method and program |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP6300710B2 (en) |
| SG (1) | SG10201509458RA (en) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6310527B1 (en) * | 2016-10-27 | 2018-04-11 | 株式会社Dtsインサイト | Object analysis apparatus, object analysis method, and program |
| JP6824053B2 (en) * | 2017-01-26 | 2021-02-03 | 三菱電機株式会社 | Relationship analyzer and relationship analysis program |
| JP6682036B2 (en) | 2017-02-16 | 2020-04-15 | 三菱電機株式会社 | Scale calculation device and scale calculation program |
| JP7085938B2 (en) * | 2018-08-03 | 2022-06-17 | 三菱電機株式会社 | Change impact analyzer |
| WO2021053783A1 (en) * | 2019-09-19 | 2021-03-25 | 三菱電機株式会社 | Change influence analysis device, change influence analysis system, and change influence analysis method |
| JP7370264B2 (en) * | 2020-01-30 | 2023-10-27 | 三菱電機株式会社 | Traceability management device, traceability management method, and traceability management program |
| JP7391740B2 (en) * | 2020-03-19 | 2023-12-05 | 株式会社日立製作所 | Impact identification support device and impact identification support method |
| CN111580852B (en) * | 2020-04-29 | 2023-05-23 | 北京广利核系统工程有限公司 | Method and system for identifying software change influence range |
| US12399693B1 (en) * | 2021-09-13 | 2025-08-26 | Amazon Technologies, Inc. | Guided dynamic analysis of code with static code analysis |
| CN114116625A (en) * | 2021-12-02 | 2022-03-01 | 华能山东石岛湾核电有限公司 | Design change influence processing method and device, storage medium and electronic equipment |
| CN115730411A (en) * | 2022-11-26 | 2023-03-03 | 北京空间飞行器总体设计部 | A method for analyzing the impact domain of electrical system changes on cables |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000112611A (en) * | 1998-10-02 | 2000-04-21 | Ricoh Co Ltd | Method of displaying software development document and storage medium |
| JP2007122135A (en) * | 2005-10-25 | 2007-05-17 | Hitachi Ltd | Development support apparatus, development support method, and development support program |
| WO2012036304A1 (en) * | 2010-09-16 | 2012-03-22 | 日本電気株式会社 | Operation verification support device, operation verification support method, and operation verification support program |
| JP2013125466A (en) * | 2011-12-15 | 2013-06-24 | Mitsubishi Electric Corp | Influence degree analyzer, influence degree analysis method and program |
| JP2013246644A (en) * | 2012-05-25 | 2013-12-09 | Mitsubishi Electric Corp | Software object correction support device, software object correction support method and program |
-
2014
- 2014-12-04 JP JP2014246233A patent/JP6300710B2/en active Active
-
2015
- 2015-11-17 SG SG10201509458RA patent/SG10201509458RA/en unknown
Also Published As
| Publication number | Publication date |
|---|---|
| JP2016110330A (en) | 2016-06-20 |
| SG10201509458RA (en) | 2016-07-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6300710B2 (en) | Change impact analysis apparatus, change impact analysis method and program | |
| Zou et al. | Survey of MapReduce frame operation in bioinformatics | |
| US20170140309A1 (en) | Database analysis device and database analysis method | |
| JP6392170B2 (en) | Threat analysis support method, threat analysis support device, and threat analysis support program | |
| TW200508974A (en) | Formation method of parallel processing system | |
| JP2015079493A5 (en) | ||
| Pu et al. | Iterative path attacks on networks | |
| WO2014198035A1 (en) | Techniques for user identification of and translation of media | |
| WO2018066661A1 (en) | Log analysis method, system, and recording medium | |
| US20140172344A1 (en) | Method, system and apparatus for testing multiple identical components of multi-component integrated circuits | |
| CN117892299A (en) | Application behavior detection method and device based on API call | |
| US10970478B2 (en) | Tabular data analysis method, recording medium storing tabular data analysis program, and information processing apparatus | |
| JP2017054380A (en) | Program information generation system, method, and program | |
| MX2016011206A (en) | Methods and systems for anomaly detection. | |
| WO2017085921A1 (en) | Log analysis system, method, and program | |
| US9235639B2 (en) | Filter regular expression | |
| CN110334905B (en) | Project fault display method, device, computer equipment and storage medium | |
| JP2017534088A5 (en) | ||
| JP6665576B2 (en) | Support device, support method, and program | |
| KR20160128910A (en) | Error protection key generation method and system | |
| JP5298823B2 (en) | Alarm processing circuit and alarm processing method | |
| JP2015026276A (en) | Static analysis device, static analysis method, and computer program | |
| Saghir | The bivariate dispersion control charts for non-normal processes | |
| CN114579420A (en) | Page difference detection method and system | |
| CN101807190B (en) | Character string processing device capable of processing multiple character strings at the same time |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170418 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180117 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180130 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180227 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6300710 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |