JP6824053B2 - 関係分析装置および関係分析プログラム - Google Patents
関係分析装置および関係分析プログラム Download PDFInfo
- Publication number
- JP6824053B2 JP6824053B2 JP2017012104A JP2017012104A JP6824053B2 JP 6824053 B2 JP6824053 B2 JP 6824053B2 JP 2017012104 A JP2017012104 A JP 2017012104A JP 2017012104 A JP2017012104 A JP 2017012104A JP 6824053 B2 JP6824053 B2 JP 6824053B2
- Authority
- JP
- Japan
- Prior art keywords
- document
- downstream
- relationship
- upstream
- source code
- 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
- 238000011144 upstream manufacturing Methods 0.000 claims description 237
- 239000011159 matrix material Substances 0.000 claims description 228
- 238000004364 calculation method Methods 0.000 claims description 51
- 238000004458 analytical method Methods 0.000 claims description 18
- 238000011143 downstream manufacturing Methods 0.000 claims description 14
- 230000017105 transposition Effects 0.000 claims 3
- 230000005945 translocation Effects 0.000 claims 1
- 238000000034 method Methods 0.000 description 32
- 238000010586 diagram Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 22
- 230000006870 function Effects 0.000 description 21
- 238000012545 processing Methods 0.000 description 18
- 230000000694 effects Effects 0.000 description 15
- 239000000047 product Substances 0.000 description 14
- 238000011161 development Methods 0.000 description 12
- 238000012360 testing method Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 9
- 238000012938 design process Methods 0.000 description 8
- 238000000605 extraction Methods 0.000 description 8
- 239000000284 extract Substances 0.000 description 7
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 238000012937 correction Methods 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Description
ソフトウェアの開発の上流工程で作成される上流文書に含まれる上流文書要素と前記ソフトウェアの開発の下流工程で作成される下流文書に含まれる下流文書要素との組毎に上流文書要素と下流文書要素との関係強度を示す文書関係データと、下流文書要素と前記ソフトウェアのソースコードに含まれるソースコード要素との組毎に下流文書要素とソースコード要素との関係強度を示す下流関係データとを用いて、上流文書要素とソースコード要素との組毎に上流文書要素とソースコード要素との関係強度を算出する関係強度算出部を備える。
ソフトウェア開発における開発成果物の要素間の関係を分析する形態について、図1から図12に基づいて説明する。
図1に基づいて、関係分析装置100の構成を説明する。
関係分析装置100は、プロセッサ901とメモリ902と補助記憶装置903と入出力インタフェース904といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
メモリ902は揮発性の記憶装置である。メモリ902は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ902はRAM(Random Access Memory)である。メモリ902に記憶されたデータは必要に応じて補助記憶装置903に保存される。
補助記憶装置903は不揮発性の記憶装置である。例えば、補助記憶装置903は、ROM(Read Only Memory)、HDD(Hard Disk Drive)、またはフラッシュメモリである。補助記憶装置903に記憶されたデータは必要に応じてメモリ902にロードされる。
さらに、補助記憶装置903にはOS(Operating System)が記憶されている。OSの少なくとも一部は、メモリ902にロードされて、プロセッサ901によって実行される。
つまり、プロセッサ901は、OSを実行しながら、関係分析プログラムを実行する。
関係分析プログラムを実行して得られるデータは、メモリ902、補助記憶装置903、プロセッサ901内のレジスタまたはプロセッサ901内のキャッシュメモリといった記憶装置に記憶される。
入出力インタフェース904は、入力を受け付ける受付部192として機能し、さらにディスプレイに画像を表示する表示部193として機能する。
関係分析装置100の動作は関係分析方法に相当する。また、関係分析方法の手順は関係分析プログラムの手順に相当する。
ステップS110において、要素抽出部110は、上流文書データから上流文書要素を抽出し、下流文書データから下流文書要素を抽出し、ソースコードからソースコード要素を抽出する。
上流文書データは、上流文書のデータであり、記憶部191に記憶されている。上流文書は、ソフトウェアの開発の上流工程で作成される文書である。
下流文書データは、下流文書のデータであり、記憶部191に記憶されている。下流文書は、ソフトウェアの開発の下流工程で作成される文書である。
ソースコードは、ソフトウェアの実行プログラムの元となるソースコードであり、記憶部191に記憶されている。実行プログラムは、コンピュータによって実行可能なプログラム、すなわち、実行形式のプログラムである。
上流文書、下流文書およびソースコードは、ソフトウェアの開発成果物である。
下流文書要素は、下流文書に含まれる要素である。例えば、下流文書要素はソフトウェア要件の名称および制御動作の名称である。ソフトウェア要件はソフトウェアに必要な条件であり、制御動作はソフトウェアによって実現される制御または動作である。
ソースコード要件は、ソースコードに含まれる要素である。例えば、ソースコード要素は関数の名称である。
上流文書要素、下流文書要素およびソースコード要素は、トレーサビリティの対象となる要素である。
下流文書要素およびソースコード要素を抽出する方法は、上流文書要素を抽出する方法と同様である。
文書関係データは、上流文書要素と下流文書要素との組毎に上流文書要素と下流文書要素との関係強度を示すデータである。関係強度は関係の度合いを表す値である。
下流関係データは、下流文書要素とソースコード要素との組毎に下流文書要素とソースコード要素との関係強度を示すデータである。
ステップS110において、3つの上流文書要素(U1〜U3)が抽出され、4つの下流文書要素(L1〜L4)が抽出され、5つのソースコード要素(S1〜S5)が抽出された。
ステップS121において、文書関係データは、要素U1と要素L1との関係強度(2)と、要素U1と要素L2との関係強度(2)と、要素U2と要素L1との関係強度(2)と、要素U2と要素L3との関係強度(1)と、要素U3と要素L4との関係強度(1)とを示す。
ステップS122において、下流関係データは、要素L1と要素S1との関係強度(S1)と、要素L2と要素S2との関係強度(2)と、要素L3と要素S3との関係強度(1)と、要素L3と要素S4との関係強度(1)と、要素L4と要素S5との関係強度(3)とを示す。
この場合、図3に示す要素関係図が得られる。図3において、要素関係図は、要素を示すノードと、関係がある要素同士を繋ぐエッジとを含んでいる。エッジに付された値は、要素同士の関係強度である。
以下、図3の要素関係図に示される要素関係を例にして説明を行う。
ステップS130において、関係強度算出部120は、文書関係データと下流関係データとを用いて、上流文書要素とソースコード要素との組毎に上流文書要素とソースコード要素との関係強度を算出する。
ステップS131において、関係強度算出部120は、文書関係データを用いて文書関係行列を生成する。
文書関係行列は、上流文書要素と下流文書要素との複数の組に対応する複数の関係強度が配列された行列である。
上流文書要素が3つあり、下流文書要素が4つあるので、文書関係行列R1は3×4行列である。文書関係行列R1のN行M列の要素は、上流要素UNと下流要素LMとの関係強度である。
上流要素U1とそれぞれの下流要素(L1〜L4)との関係強度は、2、1、0および0である。
上流要素U2とそれぞれの下流要素(L1〜L4)との関係強度は、2、0、1および0である。
上流要素U3とそれぞれの下流要素(L1〜L4)との関係強度は、0、0、0および1である。
ステップS132において、関係強度算出部120は、下流関係データを用いて下流関係行列を生成する。
下流関係行列は、下流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された行列である。
下流文書要素が4つあり、ソースコード要素が5つあるので、下流関係行列R2は4×5行列である。下流関係行列R2のN行M列の要素は、下流要素LNとソースコード要素SMとの関係強度である。
下流要素L1とそれぞれのソースコード要素(S1〜S5)との関係強度は、1、0、0、0および0である。
下流要素L2とそれぞれのソースコード要素(S1〜S5)との関係強度は、0、2、0、0および0である。
下流要素L3とそれぞれのソースコード要素(S1〜S5)との関係強度は、0、0、1、1および0である。
下流要素L4とそれぞれのソースコード要素(S1〜S5)との関係強度は、0、0、0、0および3である。
ステップS133において、関係強度算出部120は、文書関係行列に下流関係行列を掛ける。これにより、上流関係行列が算出される。
上流関係行列は、上流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された行列である。
文書関係行列R1が3×4行列であり、下流関係行列R2が4×5行列であるので、上流関係行列R1R2は3×5行列である。上流関係行列R1R2のN行M列の要素は、上流要素UNとソースコード要素SMとの関係強度である。
上流要素U1とそれぞれのソースコード要素(S1〜S5)との関係強度は、2、2、0、0および0である。
上流要素U2とそれぞれのソースコード要素(S1〜S5)との関係強度は、2、0、1、1および0である。
上流要素U3とそれぞれのソースコード要素(S1〜S5)との関係強度は、0、0、0、0および3である。
ステップS140において、関係強度算出部120は、上流要素同士の組毎に上流要素同士の関係強度を算出する。
上流要素同士の関係強度は、上流文書要素の変更が他の上流文書要素に与える影響の度合い、すなわち、影響度を意味する。
ステップS141において、関係強度算出部120は、文書関係行列の転置行列を生成する。文書関係行列は、ステップS131(図4参照)で生成された行列である。
図9に、文書関係行列R1(図5参照)の転置行列R1 Tに対応する表を示す。
図10に、下流関係行列R2(図6参照)の転置行列R2 Tに対応する表を示す。
上流要素行列は、上流文書要素同士の複数の組に対応する複数の関係強度が配列された行列である。
図11に、中間行列R1R2R2 Tに対応する表を示す。中間行列R1R2R2 Tは、上流関係行列R1R2(図7参照)に下流関係行列の転置行列R2 T(図10参照)を掛けることによって算出される中間行列である。
図12に、上流要素行列R1R2R2 TR1 Tに対応する表を示す。上流要素行列R1R2R2 TR1 Tは、中間行列R1R2R2 T(図11参照)に文書関係行列の転置行列R1 T(図9参照)を掛けることによって算出される上流要素行列である。
上流文書要素が3つあるので、上流要素行列R1R2R2 TR1 Tは3×3行列である。上流要素行列R1R2R2 TR1 TのN行M列の要素は、上流要素UNと上流要素UMとの関係強度である。
上流文書要素U1とそれぞれの上流文書要素(U1〜U3)との関係強度は、8、4および0である。
上流文書要素U2とそれぞれの上流文書要素(U1〜U3)との関係強度は、4、6および0である。
上流文書要素U3とそれぞれの上流文書要素(U1〜U3)との関係強度は、0、0および9である。
ステップS150において、表示部193は、関係強度算出部120によって算出された各々の関係強度をディスプレイに表示する
具体的には、表示部193は、ステップS130で算出された関係強度とステップS140で算出された関係強度との少なくともいずれかを表示する。
例えば、表示部193は、上流関係行列R1R2に対応する表(図7参照)と上流要素行列R1R2R2 TR1 Tに対応する表(図12参照)との少なくともいずれかを表示する。
要件の変更がソフトウェア全体に及ぼす影響範囲および影響度を可視化することができる。これにより、ソフトウェア開発における成果物である上流文書及び下流文書及びソースコードのトレーサビリティを確保することが可能となる。
要件の変更に伴う下流文書及びソースコードの修正範囲を特定することが可能となり、下流の設計工程とソースコードの実装工程との見積もり精度の向上が期待できる。
要件の変更に伴う下流文書及びソースコードの修正範囲を特定して修正の抜け及び修正の漏れを防止することが可能となり、品質の向上が期待できる。
変更された要件が他の仕様に及ぼす影響を定量的に把握できる。そのため、回帰試験の範囲を特定して、また、優先順を各試験に付与して、試験の抜け及び試験の漏れを防止することが可能となり、品質の向上が期待できる。
変更された要件が他の仕様に及ぼす影響の度合いを把握できる。そのため、回帰試験の範囲を特定して過剰な試験を排除することが可能となり、試験の効率化が見込まれる。
回帰試験の可視化による過剰な試験の排除及び試験漏れの抑止が期待できる。
影響度は定量的な数値で算出される。そのため、設計変更または試験計画の際に、影響度は、優先順の決定および対象範囲を決めるための閾値の決定に用いることが可能である。
上流文書要素および下流文書要素は、それぞれの要素であることを表すシンボルを文書内に埋め込んで管理されてもよいし、一覧表によって文書とは別に管理されてもよい。
設計工程が3工程である場合、例えば、最初の工程が上流工程となり、後の2工程が下流工程となる。連続する2工程において、先の工程が上流工程であり、後の工程が下流工程である。この場合、上流工程の文書と先の下流工程の文書との文書関係データと、先の下流工程の文書と後の下流工程の文書との文書関係データと、後の下流工程と文書とソースコードとの下流関係データとが用いられる。
設計工程が1工程である場合、設計工程の文書とソースコードとの関係データが用いられる。
文書関係データと下流関係データとを最適化する形態について、主に実施の形態1と異なる点を図13から図15に基づいて説明する。
図13に基づいて、関係分析装置100の構成を説明する。
関係分析装置100は、要素抽出部110と関係強度算出部120との他に、関係強度更新部130をソフトウェア要素として備える。
関係分析装置100は、要素抽出部110と関係強度算出部120と関係強度更新部130としてコンピュータを機能させるためのプログラムである。
図14に基づいて、関係強度の最適化を説明する。
ステップS210において、受付部192は、影響有無データを受け付ける。
影響有無データは、対象組毎に対象組に含まれる要素間の影響の有無を示すデータである。
対象組は、上流文書要素と下流文書要素とソースコード要素との組み合わせである。
要素間の影響とは、一つの要素が変更された場合に他の要素に及ぶ影響である。
ステップS230からステップS242までの処理の説明において、対象組は、ステップS220で選択された対象組を意味する。
関係組は、上流文書要素と下流文書要素との組と下流文書要素とソースコード要素との組とのうち、要素間の関係が有る組である。
まず、関係強度更新部130は、文書関係データと下流関係データとを用いて、要素関係データを生成する。要素関係データは、上流文書要素と下流文書要素とソースコード要素との関係を示すデータである。例えば、関係強度更新部130は、要素関係データとして、図3に示すような要素関係図を表すデータを生成する。
次に、関係強度更新部130は、要素関係データを用いて、対象組に含まれる全ての要素を通る対象経路を要素関係図から抽出する。
そして、関係強度更新部130は、上流文書要素と下流文書要素との組と下流文書要素とソースコード要素との組とを対象経路から抽出する。抽出される組が対象組に対応する関係組である。
対象組が(L1、S1)である場合、図3の要素関係図における対象経路は、「U1→L1→S1」と「U2→L1→S1」との2つである。この場合、対象組に対応する関係組は、(U1、L1)と(U2、L1)と(L1、S1)との3組である。
対象組において影響が有る場合、処理はステップS241に進む。
対象組において影響が無い場合、処理はステップS242に進む。
そして、関係強度更新部130は、選択された関係強度を増加させる。
そして、関係強度更新部130は、選択された関係強度を減少させる。
未選択の対象組が有る場合、処理はステップS220に進む。
未選択の対象組が無い場合、関係強度の最適化は終了する。
対象組が(L1、S1)である場合、図3の要素関係図において対象組に対応する関係組は、(U1、L1)と(U2、L1)と(L1、S1)との3組である。
対象組において影響が有る場合、対象組に対応する関係組の関係強度が増加される。例えば、関係強度が2倍になる。
その結果、図15に示す要素関係図が得られる。
開発者によって判断された影響の有無、すなわち、実際の影響の有無のフィードバックにより、要素間の関係強度を最適化することが可能となる。その結果、より高精度な影響度分析が可能となる。
初期の関係強度が適切な値でなくても、関係強度が徐々に最適化されるため、徐々に適切な影響度を算出することが可能となる。
影響の有無は、影響有り(1)と影響無し(2)との2値で示してもよいし、影響の度合いの大きさを表す値で示してもよい。
関係強度を増減する方法は任意である。例えば、関係強度は、1+αに増加させ、または、1−αに減少させてもよい。αは0以上1以下の定数である。また、関係強度は、一般的な学習アルゴリズムを用いて増減させてもよい。
ソースコード要素同士の関係を考慮した形態について、主に実施の形態1と異なる点を図16から図23に基づいて説明する。
関係分析装置100の構成は、実施の形態1で説明した構成(図1参照)と同じである。
図16に基づいて、関係分析方法を説明する。
ステップS310からステップS322までの処理は、実施の形態1(図2参照)におけるステップS110からステップS122までの処理と同じである。
ソースコード関係データは、ソースコード要素同士の組毎にソースコード要素同士の関係強度を示すデータである。
具体的な関係強度は、関数の呼び出し回数または共通の共有変数へのアクセスの数である。但し、関係強度は、他の依存関係に関する値であってもよい。
依存関係は、双方向の関係と単方向の関係とのいずれであってもよい。さらに、間接的な関係を依存関係に含めるのが好ましい。
ステップS310において、3つの上流文書要素(U1〜U3)が抽出され、4つの下流文書要素(L1〜L4)が抽出され、5つのソースコード要素(S1〜S5)が抽出された。
ステップS321において、文書関係データは、要素U1と要素L1との関係強度(2)と、要素U1と要素L2との関係強度(2)と、要素U2と要素L1との関係強度(2)と、要素U2と要素L3との関係強度(1)と、要素U3と要素L4との関係強度(1)とを示す。
ステップS322において、下流関係データは、要素L1と要素S1との関係強度(S1)と、要素L2と要素S2との関係強度(2)と、要素L3と要素S3との関係強度(1)と、要素L3と要素S4との関係強度(1)と、要素L4と要素S5との関係強度(3)とを示す。
ステップS323において、ソースコード関係データは、要素S1と要素S4との関係強度(1)と、要素S1と要素S5との関係強度(1)と、要素S2と要素S3との関係強度(3)とを示す。
この場合、図17に示す要素関係図が得られる。以下、図17の要素関係図に示される要素関係を例にして説明を行う。
ステップS330において、関係強度算出部120は、文書関係データと下流関係データとソースコード関係データとを用いて、上流文書要素とソースコード要素との組毎に上流文書要素とソースコード要素との関係強度を算出する。
ステップS331およびステップS332は、実施の形態1(図4参照)におけるステップS131およびステップS132と同じである。
ソースコード関係行列は、ソースコード要素同士の複数の組に対応する複数の関係強度が配列された行列である。
ソースコード要素が5つあるので、ソースコード関係行列Dは5×5行列である。ソースコード関係行列DのN行M列の要素は、ソースコード要素SNとソースコード要素SMとの関係強度である。
ソースコード要素S1とそれぞれのソースコード要素(S1〜S5)との関係強度は0、0、0、1および1である。
ソースコード要素S2とそれぞれのソースコード要素(S1〜S5)との関係強度は0、0、3、0および0である。
ソースコード要素S3とそれぞれのソースコード要素(S1〜S5)との関係強度は全て0である。
ソースコード要素S4とそれぞれのソースコード要素(S1〜S5)との関係強度は全ての0である。
ソースコード要素S5とそれぞれのソースコード要素(S1〜S5)との関係強度は全て0である。
ステップS334は、実施の形態1におけるステップS133(図4参照)に相当する。
ステップS334において、関係強度算出部120は、文書関係行列に下流関係行列を掛ける。これにより、第1上流関係行列が算出される。
第1上流関係行列は、上流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された行列である。
第2上流関係行列は、上流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された行列である。
第1上流関係行列R1が3×5行列であり、ソースコード関係行列Dが5×5行列であるので、第2上流関係行列R1R2Dは3×5行列である。第2上流関係行列R1R2DのN行M列の要素は、上流要素UNとソースコード要素SMとの関係強度である。
上流要素U1とそれぞれのソースコード要素(S1〜S5)との関係強度は、0、0、6、2および2である。
上流要素U2とそれぞれのソースコード要素(S1〜S5)との関係強度は、0、0、0、2および2である。
上流要素U3とそれぞれのソースコード要素(S1〜S5)との関係強度は、全ての0である。
ステップS340において、関係強度算出部120は、上流要素同士の組毎に上流要素同士の関係強度を算出する。
ステップS341およびステップS342は、実施の形態1(図8参照)におけるステップS131およびステップS132と同じである。
上流要素行列は、上流文書要素同士の複数の組に対応する複数の関係強度が配列された行列である。
ステップS343において、関係強度算出部120は、第2上流関係行列に下流関係行列の転置行列を掛ける。算出される行列を中間行列という。第2上流関係行列は、ステップS335(図18参照)で算出された行列である。
図22に、中間行列R1R2DR2 Tに対応する表を示す。中間行列R1R2DR2 Tは、第2上流関係行列R1R2D(図20参照)に下流関係行列の転置行列R2 T(図10参照)を掛けることによって算出される中間行列である。
図23に、上流要素行列R1R2DR2 TR1 Tに対応する表を示す。上流要素行列R1R2DR2 TR1 Tは、中間行列R1R2DR2 T(図22参照)に文書関係行列の転置行列R1 T(図9参照)を掛けることによって算出される上流要素行列である。
上流文書要素が3つあるので、上流要素行列R1R2DR2 TR1 Tは3×3行列である。上流要素行列R1R2DR2 TR1 TのN行M列の要素は、上流要素UNと上流要素UMとの関係強度である。
上流文書要素U1とそれぞれの上流文書要素(U1〜U3)との関係強度は、0、8および6である。
上流文書要素U2とそれぞれの上流文書要素(U1〜U3)との関係強度は、0、2および6である。
上流文書要素U3とそれぞれの上流文書要素(U1〜U3)との関係強度は、0、0および0である。
ステップS350において、表示部193は、関係強度算出部120によって算出された各々の関係強度をディスプレイに表示する
具体的には、表示部193は、ステップS330で算出された関係強度とステップS340で算出された関係強度との少なくともいずれかを表示する。
例えば、表示部193は、第2上流関係行列R1R2Dに対応する表(図20参照)と上流要素行列R1R2DR2 TR1 Tに対応する表(図23参照)との少なくともいずれかを表示する。
ソースコード要素同士の関係を考慮した上で、実施の形態1で述べた効果を得ることができる。
文書関係データと下流関係データとソースコード関係データとを最適化する形態について、主に実施の形態2および実施の形態3と異なる点を図24および図25に基づいて説明する。
関係分析装置100の構成は、実施の形態2で説明した構成(図13参照)と同じである。
図24に基づいて、関係強度の最適化を説明する。
ステップS410において、受付部192は、影響有無データを受け付ける。
ステップS430からステップS442までの処理の説明において、対象組は、ステップS420で選択された対象組を意味する。
関係組は、上流文書要素と下流文書要素との組と下流文書要素とソースコード要素との組とソースコード要素同士の組とのうち、要素間の関係が有る組である。
まず、関係強度更新部130は、文書関係データと下流関係データとソースコード関係データとを用いて、要素関係データを生成する。要素関係データは、上流文書要素と下流文書要素とソースコード要素との関係を示すデータである。例えば、関係強度更新部130は、要素関係データとして、図17に示すような要素関係図を表すデータを生成する。
次に、関係強度更新部130は、要素関係データを用いて、対象組に含まれる全ての要素を通る対象経路を要素関係図から抽出する。
そして、関係強度更新部130は、上流文書要素と下流文書要素との組と下流文書要素とソースコード要素との組とソースコード要素同士の組とを対象経路から抽出する。抽出される組が対象組に対応する関係組である。
対象組が(U1、U2)である場合、図17の要素関係図における対象経路は、「U1→L1→S1→S4→L3→U2」と「U1→L2→S2→S3→L3→U2」との2つである。この場合、対象組に対応する関係組は、(U1、L1)と(L1、S1)と(S1、S4)と(S4、L3)と(L3、U2)と(U1、L2)と(L2、S2)と(S2、S3)と(S3、L3)との9組である。
対象組において影響が有る場合、処理はステップS441に進む。
対象組において影響が無い場合、処理はステップS442に進む。
そして、関係強度更新部130は、選択された関係強度を増加させる。
そして、関係強度更新部130は、選択された関係強度を減少させる。
未選択の対象組が有る場合、処理はステップS420に進む。
未選択の対象組が無い場合、関係強度の最適化は終了する。
対象組が(U1、U2)である場合、図17の要素関係図において対象組に対応する関係組は、(U1、L1)と(L1、S1)と(S1、S4)と(S4、L3)と(L3、U2)と(U1、L2)と(L2、S2)と(S2、S3)と(S3、L3)との9組である。
対象組において影響が有る場合、対象組に対応する関係組の関係強度が増加される。例えば、関係強度が2倍になる。
その結果、図25に示す要素関係図が得られる。
ソースコード要素同士の関係強度を最適化すると共に、実施の形態2で述べた効果を得ることができる。
実施の形態において、関係分析装置100の機能はハードウェアで実現してもよい。
図26に、関係分析装置100の機能がハードウェアで実現される場合の構成を示す。
関係分析装置100は処理回路990を備える。処理回路990はプロセッシングサーキットリともいう。
処理回路990は、要素抽出部110と関係強度算出部120と関係強度更新部130と記憶部191とを実現する専用の電子回路である。
例えば、処理回路990は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、FPGAまたはこれらの組み合わせである。GAはGate Arrayの略称であり、ASICはApplication Specific Integrated Circuitの略称であり、FPGAはField Programmable Gate Arrayの略称である。
Claims (11)
- ソフトウェアの開発の上流工程で作成される上流文書に含まれる上流文書要素と前記ソフトウェアの開発の下流工程で作成される下流文書に含まれる下流文書要素との組毎に上流文書要素と下流文書要素との関係強度を示す文書関係データと、下流文書要素と前記ソフトウェアのソースコードに含まれるソースコード要素との組毎に下流文書要素とソースコード要素との関係強度を示す下流関係データとを用いて、上流文書要素とソースコード要素との組毎に上流文書要素とソースコード要素との関係強度を算出する関係強度算出部を備え、
前記関係強度算出部は、上流文書要素と下流文書要素との複数の組に対応する複数の関係強度が配列された文書関係行列を前記文書関係データを用いて生成し、下流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された下流関係行列を前記下流関係データを用いて生成し、前記文書関係行列に前記下流関係行列を掛けることによって上流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された上流関係行列を算出する
関係分析装置。 - ソフトウェアの開発の上流工程で作成される上流文書に含まれる上流文書要素と前記ソフトウェアの開発の下流工程で作成される下流文書に含まれる下流文書要素との組毎に上流文書要素と下流文書要素との関係強度を示す文書関係データと、下流文書要素と前記ソフトウェアのソースコードに含まれるソースコード要素との組毎に下流文書要素とソースコード要素との関係強度を示す下流関係データとを用いて、上流文書要素とソースコード要素との組毎に上流文書要素とソースコード要素との関係強度を算出する関係強度算出部を備え、
前記関係強度算出部は、前記文書関係データと前記下流関係データとを用いて、上流要素同士の組毎に上流要素同士の関係強度を算出する
関係分析装置。 - 前記関係強度算出部は、上流文書要素と下流文書要素との複数の組に対応する複数の関係強度が配列された文書関係行列を前記文書関係データを用いて生成し、下流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された下流関係行列を前記下流関係データを用いて生成し、前記文書関係行列に前記下流関係行列を掛けることによって上流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された上流関係行列を算出し、前記上流関係行列に前記下流関係行列の転置行列と前記文書関係行列の転置行列とを掛けることによって上流文書要素同士の複数の組に対応する複数の関係強度が配列された上流要素行列を算出する
請求項2に記載の関係分析装置。 - 前記関係分析装置は、
上流文書要素と下流文書要素とソースコード要素との組み合わせである対象組に含まれる要素間の影響の有無を示す影響有無データを受け付ける受付部と、
前記文書関係データに示される関係強度と前記下流関係データに示される関係強度とのうち前記対象組に対応する関係強度を、前記影響有無データに示される影響の有無に基づいて更新する関係強度更新部と
を備える請求項1から請求項3のいずれか1項に記載の関係分析装置。 - ソフトウェアの開発の上流工程で作成される上流文書に含まれる上流文書要素と前記ソフトウェアの開発の下流工程で作成される下流文書に含まれる下流文書要素との組毎に上流文書要素と下流文書要素との関係強度を示す文書関係データと、下流文書要素と前記ソフトウェアのソースコードに含まれるソースコード要素との組毎に下流文書要素とソースコード要素との関係強度を示す下流関係データと、ソースコード要素同士の組毎にソースコード要素同士の関係強度を示すソースコード関係データと、を用いて、上流文書要素とソースコード要素との組毎に上流文書要素とソースコード要素との関係強度を算出する関係強度算出部を備え、
前記関係強度算出部は、上流文書要素と下流文書要素との複数の組に対応する複数の関係強度が配列された文書関係行列を前記文書関係データを用いて生成し、下流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された下流関係行列を前記下流関係データを用いて生成し、ソースコード要素同士の複数の組に対応する複数の関係強度が配列されたソースコード関係行列を前記ソースコード関係データを用いて生成し、前記文書関係行列に前記下流関係行列を掛けることによって上流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された第1上流関係行列を算出し、前記第1上流関係行列に前記ソースコード関係行列を掛けることによって上流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された第2上流関係行列を算出する
関係分析装置。 - ソフトウェアの開発の上流工程で作成される上流文書に含まれる上流文書要素と前記ソフトウェアの開発の下流工程で作成される下流文書に含まれる下流文書要素との組毎に上流文書要素と下流文書要素との関係強度を示す文書関係データと、下流文書要素と前記ソフトウェアのソースコードに含まれるソースコード要素との組毎に下流文書要素とソースコード要素との関係強度を示す下流関係データとを用いて、上流文書要素とソースコード要素との組毎に上流文書要素とソースコード要素との関係強度を算出する関係強度算出部を備え、
前記関係強度算出部は、前記文書関係データと、前記下流関係データと、ソースコード要素同士の組毎にソースコード要素同士の関係強度を示すソースコード関係データとを用いて、上流要素同士の組毎に上流要素同士の関係強度を算出する
関係分析装置。 - 前記関係強度算出部は、上流文書要素と下流文書要素との複数の組に対応する複数の関係強度が配列された文書関係行列を前記文書関係データを用いて生成し、下流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された下流関係行列を前記下流関係データを用いて生成し、ソースコード要素同士の複数の組に対応する複数の関係強度が配列されたソースコード関係行列を前記ソースコード関係データを用いて生成し、前記文書関係行列に前記下流関係行列を掛けることによって上流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された第1上流関係行列を算出し、前記第1上流関係行列に前記ソースコード関係行列を掛けることによって上流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された第2上流関係行列を算出し、前記第2上流関係行列に前記下流関係行列の転置行列と前記文書関係行列の転置行列とを掛けることによって上流文書要素同士の複数の組に対応する複数の関係強度が配列された上流要素行列を算出する
請求項6に記載の関係分析装置。 - 前記関係分析装置は、
上流文書要素と下流文書要素とソースコード要素との組み合わせである対象組に含まれる要素間の影響の有無を示す影響有無データを受け付ける受付部と、
前記文書関係データに示される関係強度と前記下流関係データに示される関係強度と前記ソースコード関係データに示される関係強度とのうち前記対象組に対応する関係強度を、前記影響有無データに示される影響の有無に基づいて更新する関係強度更新部と
を備える請求項5から請求項7のいずれか1項に記載の関係分析装置。 - ソフトウェアの開発の上流工程で作成される上流文書に含まれる上流文書要素と前記ソフトウェアの開発の下流工程で作成される下流文書に含まれる下流文書要素との組毎に上流文書要素と下流文書要素との関係強度を示す文書関係データと、下流文書要素と前記ソフトウェアのソースコードに含まれるソースコード要素との組毎に下流文書要素とソースコード要素との関係強度を示す下流関係データとを用いて、上流文書要素とソースコード要素との組毎に上流文書要素とソースコード要素との関係強度を算出する関係強度算出部としてコンピュータを機能させるための関係分析プログラムであって、
前記関係強度算出部は、上流文書要素と下流文書要素との複数の組に対応する複数の関係強度が配列された文書関係行列を前記文書関係データを用いて生成し、下流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された下流関係行列を前記下流関係データを用いて生成し、前記文書関係行列に前記下流関係行列を掛けることによって上流文書要素とソースコード要素との複数の組に対応する複数の関係強度が配列された上流関係行列を算出する
関係分析プログラム。 - ソフトウェアの開発の上流工程で作成される上流文書に含まれる上流文書要素と前記ソフトウェアの開発の下流工程で作成される下流文書に含まれる下流文書要素との組毎に上流文書要素と下流文書要素との関係強度を示す文書関係データと、下流文書要素と前記ソフトウェアのソースコードに含まれるソースコード要素との組毎に下流文書要素とソースコード要素との関係強度を示す下流関係データとを用いて、上流文書要素とソースコード要素との組毎に上流文書要素とソースコード要素との関係強度を算出する関係強度算出部を備え、
前記関係強度算出部は、上流文書要素と下流文書要素との複数の組に対応する複数の関係強度を含む文書関係のマトリクスを前記文書関係データを用いて生成し、下流文書要素とソースコード要素との複数の組に対応する複数の関係強度を含む下流関係のマトリクスを前記下流関係データを用いて生成し、前記文書関係のマトリクスのマトリクス要素と前記下流関係のマトリクスのマトリクス要素との演算によって上流文書要素とソースコード要素との複数の組に対応する複数の関係強度を含む上流関係のマトリクスを算出する
関係分析装置。 - ソフトウェアの開発の上流工程で作成される上流文書に含まれる上流文書要素と前記ソフトウェアの開発の下流工程で作成される下流文書に含まれる下流文書要素との組毎に上流文書要素と下流文書要素との関係強度を示す文書関係データと、下流文書要素と前記ソフトウェアのソースコードに含まれるソースコード要素との組毎に下流文書要素とソースコード要素との関係強度を示す下流関係データと、ソースコード要素同士の組毎にソースコード要素同士の関係強度を示すソースコード関係データと、を用いて、上流文書要素とソースコード要素との組毎に上流文書要素とソースコード要素との関係強度を算出する関係強度算出部を備え、
前記関係強度算出部は、上流文書要素と下流文書要素との複数の組に対応する複数の関係強度を含む文書関係のマトリクスを前記文書関係データを用いて生成し、下流文書要素とソースコード要素との複数の組に対応する複数の関係強度を含む下流関係のマトリクスを前記下流関係データを用いて生成し、ソースコード要素同士の複数の組に対応する複数の関係強度を含むソースコード関係のマトリクスを前記ソースコード関係データを用いて生成し、前記文書関係のマトリクスのマトリクス要素と前記下流関係のマトリクスのマトリクス要素との演算によって上流文書要素とソースコード要素との複数の組に対応する複数の関係強度を含む第1上流関係のマトリクスを算出し、前記第1上流関係のマトリクスと前記ソースコード関係のマトリクスとの演算によって上流文書要素とソースコード要素との複数の組に対応する複数の関係強度を含む第2上流関係のマトリクスを算出する
関係分析装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017012104A JP6824053B2 (ja) | 2017-01-26 | 2017-01-26 | 関係分析装置および関係分析プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017012104A JP6824053B2 (ja) | 2017-01-26 | 2017-01-26 | 関係分析装置および関係分析プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018120465A JP2018120465A (ja) | 2018-08-02 |
JP6824053B2 true JP6824053B2 (ja) | 2021-02-03 |
Family
ID=63045188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017012104A Active JP6824053B2 (ja) | 2017-01-26 | 2017-01-26 | 関係分析装置および関係分析プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6824053B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6636667B1 (ja) * | 2019-03-28 | 2020-01-29 | Scsk株式会社 | 出力システム、及び出力プログラム |
US11175947B2 (en) | 2019-12-03 | 2021-11-16 | International Business Machines Corporation | Microservices change management and analytics |
JP7391740B2 (ja) * | 2020-03-19 | 2023-12-05 | 株式会社日立製作所 | 影響特定支援装置及び影響特定支援方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005122295A (ja) * | 2003-10-14 | 2005-05-12 | Fujitsu Ltd | 関係図作成プログラム、関係図作成方法、および関係図作成装置 |
US20130159788A1 (en) * | 2010-09-16 | 2013-06-20 | Nec Corporation | Operation verification support device, operation verification support method and operation verification support program |
JP6070936B2 (ja) * | 2013-01-31 | 2017-02-01 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 情報処理装置、情報処理方法及びプログラム |
JP6300710B2 (ja) * | 2014-12-04 | 2018-03-28 | 三菱電機株式会社 | 変更影響分析装置及び変更影響分析方法及びプログラム |
-
2017
- 2017-01-26 JP JP2017012104A patent/JP6824053B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018120465A (ja) | 2018-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180300227A1 (en) | System and method for detecting an error in software | |
US9208451B2 (en) | Automatic identification of information useful for generation-based functional verification | |
JP6824053B2 (ja) | 関係分析装置および関係分析プログラム | |
US10936474B2 (en) | Software test program generation | |
CN108509324B (zh) | 选择计算平台的系统和方法 | |
US9690682B2 (en) | Program information generating system, method, and computer program product | |
JP6486574B2 (ja) | プログラムコード生成装置、プログラムコード生成方法及びプログラムコード生成プログラム | |
Févotte et al. | Studying the numerical quality of an industrial computing code: A case study on code_aster | |
JP6723483B2 (ja) | テストケース生成装置、テストケース生成方法およびテストケース生成プログラム | |
US20200012250A1 (en) | Program editing device, program editing method, and computer readable medium | |
JP2011253253A (ja) | コンピュータ試験方法、コンピュータ試験装置およびコンピュータ試験プログラム | |
JP6559376B2 (ja) | テストケース選択装置およびテストケース選択プログラム | |
JP6878707B2 (ja) | 試験装置、試験方法および試験プログラム | |
JP2014203095A (ja) | 情報処理装置及び情報処理方法及びプログラム | |
JP2018136763A (ja) | 類似関数抽出装置および類似関数抽出プログラム | |
US20220222405A1 (en) | Design support system and computer readable medium | |
JP6320269B2 (ja) | ソフトウェア試験支援装置およびソフトウェア試験支援プログラム | |
JP5755861B2 (ja) | テストケース生成装置、テストケース生成方法およびテストケース生成プログラム | |
JP6547345B2 (ja) | テストケース生成プログラム、テストケース生成方法およびテストケース生成装置 | |
JP6369269B2 (ja) | 検証支援装置、検証支援方法およびコンピュータプログラム | |
JP6016613B2 (ja) | ソフトウェア信頼性評価装置、ソフトウェア信頼性評価方法、及びプログラム | |
JP2014059805A (ja) | モデルベースの制御装置用のテストケース生成装置およびテストケース生成方法 | |
US20190384687A1 (en) | Information processing device, information processing method, and computer readable medium | |
JP7238361B2 (ja) | エラー出力装置、エラー出力方法、学習装置、学習済みモデルの生成方法、プログラム、および学習済みモデル | |
JP6419357B2 (ja) | ソースコード比較装置およびソースコード比較プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190919 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200709 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200811 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20200828 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201201 |
|
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: 20201215 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210112 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6824053 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |