(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-27
(45)【発行日】2023-12-05
(54)【発明の名称】影響特定支援装置及び影響特定支援方法
(51)【国際特許分類】
G06F 11/36 20060101AFI20231128BHJP
G06F 8/10 20180101ALI20231128BHJP
G06F 8/20 20180101ALI20231128BHJP
【FI】
G06F11/36 164
G06F11/36 180
G06F8/10
G06F8/20
(21)【出願番号】P 2020049672
(22)【出願日】2020-03-19
【審査請求日】2022-05-02
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000176
【氏名又は名称】弁理士法人一色国際特許事務所
(72)【発明者】
【氏名】河合 克己
(72)【発明者】
【氏名】岡本 周之
【審査官】渡辺 一帆
(56)【参考文献】
【文献】特開2016-110330(JP,A)
【文献】特開2018-120465(JP,A)
【文献】国際公開第2018/061219(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/36
G06F 8/10-8/20
(57)【特許請求の範囲】
【請求項1】
開発対象のシステムにおける要件実現に必要な開発者のタスク、を規定したタスク定義情報と、前記システムの要件、設計書、及びアプリプログラムの各間における関係性を所定の算定式で規定した関係値更新ルール、を保持する記憶部と、
前記タスクの実行期間における、計算機上の設計書又はアプリプログラムに対する、開発者の端末によるアクセスを検出するファイルアクセス検出部と、
前記タスクの完了に関するテストプログラムの実行結果を取得するテスト結果分析部と、
前記タスク定義情報が示す要件及び前記実行結果の情報が示すテスト合否の各値の組合せに対応した、前記算定式を前記関係値更新ルールで特定し、
前記要件、設計書、及びアプリプログラムのそれぞれに関して、所定対象へのアクセスの発生に関して分析処理することで、前記関係性の有無ないし強弱に関する情報を取得し、当該情報を特定した算定式に入力して、前記要件、設計書、及びアプリプログラムの間の関係の強さを表す関係値を算定する関係値分析部と、
を備える影響特定支援装置。
【請求項2】
前記関係値を出力部に出力する影響分析結果通知部をさらに備える、
ことを特徴とする請求項1に記載の影響特定支援装置。
【請求項3】
前記テスト結果分析部は、
前記開発者により、テストの前提条件、合格条件、及び不合格条件について予め定義されたテスト判定条件に、前記実行結果を適用して、前記テストプログラムの実行状況及びテスト合否を判定するものである、
ことを特徴とする請求項1に記載の影響特定支援装置。
【請求項4】
前記影響分析結果通知部は、
前記関係値分析部による関係値を、要件、設計書、及びアプリプログラムの各間に関して表示するインターフェイスを出力部に出力するものである、
ことを特徴とする請求項2に記載の影響特定支援装置。
【請求項5】
前記関係値分析部による関係値を、要件、設計書、及びアプリプログラムの各間に関して表示するインターフェイスを出力部に出力するとともに、前記関係性の有無ないし強弱に関する情報を、前記インターフェイスにおける表示対象の絞り込み条件として出力する影響分析結果通知部をさらに備えるものである、
ことを特徴とする請求項
1に記載の影響特定支援装置。
【請求項6】
情報処理装置が、
開発対象のシステムにおける要件実現に必要な開発者のタスク、を規定したタスク定義情報と、前記システムの要件、設計書、及びアプリプログラムの各間における関係性を
所定の算定式で規定した関係値更新ルール、を保持する記憶部を備えて、
前記タスクの実行期間における、計算機上の設計書又はアプリプログラムに対する、開発者の端末によるアクセスを検出する処理と、
前記タスクの完了に関するテストプログラムの実行結果を取得する処理と、
前記タスク定義情報が示す要件及び前記実行結果の情報が示すテスト合否の各値の組合せに対応した、前記
算定式を前記関係値更新ルールで特定し、前記要件、設計書、及びアプリプログラムのそれぞれに関して、所定対象へのアクセスの発生に関して分析処理することで、前記関係性の有無ないし強弱に関する情報を取得し、当該情報を特定した算定式に入力して、前記要件、設計書、及びアプリプログラムの間の関係の強さを表す関係値を分析する処理と、
を実行することを特徴とする影響特定支援方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、影響特定支援装置及び影響特定支援方法に関するものである。
【背景技術】
【0002】
情報システムの開発者は、当該情報システムを利用し事業を運営する事業主や、当該情報システムのユーザから提示される「要件」をもとに、以下のような「タスク」を計画し実施する。
・当該要件を満たす外部仕様や内部仕様を示す「設計書」を作成する。
【0003】
・作成した設計書をもとに、当該情報システムで実行されるプログラム(以下、「アプリプログラム」)を作成する。
【0004】
・上記の設計書及びアプリプログラムの作成とあわせ、当該設計書やアプリプログラムが要件を満たしていることを検証するための「テストプログラム」を作成する。
【0005】
・作成したテストプログラムを実行し、その結果をもとに、計画済みタスクの修正や新規タスクの追加を行う。
【0006】
こうしたシステム開発において、上述の要件、設計書、アプリプログラム、及びテストプログラムは、互いに関係を持つ。そのため、例えば、ある要件Xを変更した場合、この要件Xと関係がある他の要件、設計書、アプリプログラム、及びテストプログラムを、合わせて変更する必要が生じる。
【0007】
例えば、要件Xに関係する設計書Yの変更を怠ったり見逃したりした場合、要件Xと設計書Yの不整合が、システムの不具合や、要件とシステムの不整合の原因となり得る。
【0008】
こうした問題に対し、開発者を支援する手法が提案されている。例えば、モデリング言語内にオブジェクトの構造を記載する設計モデルを記憶する設計モデル記憶手段と、プログラミング言語内の前記オブジェクトを記載するアプリケーションプログラムを記憶するプログラム記憶手段と、前記オブジェクトの前記構造を記載するメタデータを記憶するメタデータ記憶手段と、前記アプリケーションプログラム及び前記設計モデルのうちの一方になされた修正から前記構造内の変更を抽出し、前記構造内の前記変更に従って前記メタデータを更新し、前記更新されたメタデータに従って前記アプリケーションプログラム及び前記設計モデルのうちの他方に対して前記構造内の前記変更を反映する操作手段とを備える修正管理装置(特許文献1参照)などが提案されている。
【0009】
上述の特許文献1が開示する技術は、設計書に付与したメタ情報(図表の構成や関係に対して意味を与える情報)をもとに、設計書やアプリプログラムの間の関係を追跡するものとなっている。
【0010】
また、タスクの指定と、前記タスクについて見積もられた予定の指定とを受け付け、担当者の各々に対応づけられた、前記タスクの実施履歴と、前記タスクの生産性に関する情報とを記憶する記憶部を参照して、前記担当者の各々の、前記タスクの実施履歴と、前記タスクの生産性に関する情報とに基づいて、前記担当者の各々について、前記タスクにおける、前記タスクの実施履歴と前記タスクの生産性との相関関係を特定し、前記担当者の各々について、前記担当者の前記タスクの前記相関関係に基づいて、指定された前記タスクについての生産性を推定し、前記担当者の各々について推定した前記生産性と、見積も
られた前記予定とに基づいて、前記タスクの実施スケジュールを生成する、処理をコンピュータに実行させることを特徴とする推定プログラム(特許文献2参照)なども提案されている。
【0011】
上述の特許文献2においては、開発者が行った過去のタスクの実績を管理・蓄積し、新たなタスクを行う際の見積り支援に活用する手段、が記載されている。
【先行技術文献】
【特許文献】
【0012】
【文献】特表2015-527621号公報
【文献】特開2019-185132号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
上述の従来技術ののうち、特許文献1の技術においては、メタ情報の定義や、当該メタ情報を用いた設計書もしくはアプリプログラムの解析に、開発者もしくは第三者の工数が必要となる。また、フォーマットが不定の設計書等、メタ情報を定義できないケースには適用できない。
また、特許文献2の技術においては、タスクを、ある開発者がある期間において実施する作業の集合と捉えることで、別の目的を達成する方式を示している。しかしながら、そもそも設計書やアプリプログラムの変更に対する影響の特定を目的としていない。また、タスクと開発者の関係が多対多となるケースや、異なる複数のタスクが相互に影響を与え合うケースにおいて、処理結果の精度が低下する懸念がある。
【0014】
そこで本発明の目的は、特段の工数追加や適用対象の限定を回避しつつ、システム開発における変更事象に伴う影響の特定を効率的なものとする技術を提供することにある。
【課題を解決するための手段】
【0015】
上記課題を解決する本発明の影響特定支援装置は、開発対象のシステムにおける要件実現に必要な開発者のタスク、を規定したタスク定義情報と、前記システムの要件、設計書、及びアプリプログラムの各間における関係性を所定の算定式で規定した関係値更新ルール、を保持する記憶部と、前記タスクの実行期間における、計算機上の設計書又はアプリプログラムに対する、開発者の端末によるアクセスを検出するファイルアクセス検出部と、前記タスクの完了に関するテストプログラムの実行結果を取得するテスト結果分析部と、前記タスク定義情報が示す要件及び前記実行結果の情報が示すテスト合否の各値の組合せに対応した、前記算定式を前記関係値更新ルールで特定し、前記要件、設計書、及びアプリプログラムのそれぞれに関して、所定対象へのアクセスの発生に関して分析処理することで、前記関係性の有無ないし強弱に関する情報を取得し、当該情報を特定した算定式に入力して、前記要件、設計書、及びアプリプログラムの間の関係の強さを表す関係値を算定する関係値分析部と、を備えることを特徴とする。
また、本発明の影響特定支援方法は、情報処理装置が、開発対象のシステムにおける要件実現に必要な開発者のタスク、を規定したタスク定義情報と、前記システムの要件、設計書、及びアプリプログラムの各間における関係性を所定の算定式で規定した関係値更新ルール、を保持する記憶部を備えて、前記タスクの実行期間における、計算機上の設計書又はアプリプログラムに対する、開発者の端末によるアクセスを検出する処理と、前記タスクの完了に関するテストプログラムの実行結果を取得する処理と、前記タスク定義情報が示す要件及び前記実行結果の情報が示すテスト合否の各値の組合せに対応した、前記算定式を前記関係値更新ルールで特定し、前記要件、設計書、及びアプリプログラムのそれぞれに関して、所定対象へのアクセスの発生に関して分析処理することで、前記関係性の有無ないし強弱に関する情報を取得し、当該情報を特定した算定式に入力して、前記要件、設計書、及びアプリプログラムの間の関係の強さを表す関係値を分析する処理と、を実行することを特徴とする。
【発明の効果】
【0016】
本発明によれば、特段の工数追加や適用対象の限定を回避しつつ、システム開発における変更事象に伴う影響の特定を効率的なものとできる。
【図面の簡単な説明】
【0017】
【
図1】実施例に係るシステム構成の一例を示すブロック図である。
【
図2】実施例に係る計算機のハードウェア構成の一例を示すブロック図である。
【
図3】実施例に係るファイルアクセス検出部の処理フローの一例を示す図である。
【
図4】実施例に係るテスト結果分析部の処理フローの一例を示す図である。
【
図5A】実施例に係る関係値分析部の処理フローの一例を示す図である。
【
図5B】実施例に係る関係値の更新に関するイメージ例を示す図である。
【
図6】実施例に係るタスク定義情報の一例を示す図である。
【
図7】実施例に係るテスト判定条件の一例を示す図である。
【
図8】実施例に係るファイルアクセス検出情報の一例を示す図である。
【
図9】実施例に係るテスト結果情報の一例を示す図である。
【
図10A】実施例に係る影響分析情報の一例を示す図である。
【
図10B】実施例に係る影響分析情報の一例を示す図である。
【
図10C】実施例に係る影響分析情報の一例を示す図である。
【
図11】実施例に係る関係値更新ルールの一例を示す図である。
【
図12】実施例に係る開発者入出力部の画面の一例を示す図である。
【
図13】実施例に係る開発者入出両部の画面の一例を示す図である。
【
図14】実施例に係るシステム構成の一例を示すブロック図である。
【発明を実施するための形態】
【0018】
以下に本発明の実施形態について図面を用いて詳細に説明する。
図1は、実施例に係るシステム構成の一例を示すブロック図である。
図1に示す構成において、影響特定支援装置101は、特段の工数追加や適用対象の限定を回避しつつ、システム開発における変更事象に伴う影響の特定を効率的なものとするコンピュータ装置である。
<全体構成>
この影響特定支援装置101は、例えば、所定のネットワーク1を介して、開発環境102と通信可能に接続されている。
【0019】
この開発環境102は、以下の要素から構成される。すなわち設計書格納部141は、システム開発において開発者が作成する設計書を格納するファイルシステム、データベース、ツール等である。
【0020】
また、アプリプログラム格納部142は、システム開発において開発者が作成するアプリプログラムを格納するファイルシステム、データベース、ツール等である。
【0021】
また、テストプログラム格納部143は、システム開発において開発者が作成するテストプログラムを格納するファイルシステム、データベース、ツール等である。
【0022】
また、開発者入出力部144は、開発者が設計書、アプリプログラム、テストプログラム、等を作成、更新する際に利用するインターフェイスであり、具体的には端末を想定できる。
【0023】
一方、影響特定支援装置101は、以下の要素から構成される。すなわちタスク定義情報123は、上述の開発環境102の開発者入出力部144などを通じて受け付けた、タ
スクに関する情報を記録するファイルである。
【0024】
また、テスト判定条件131は、上述の開発者入出力部144などを通じて受け付けた、開発環境102において実施されるテストの結果(合格/不合格)を判定する条件を記録するファイルである。
【0025】
また、関係値更新ルール132は、開発者入出力部144などを通じて受け付けた、関係値の更新に関する情報を記録するファイルである。
【0026】
また、ファイルアクセス検出部111は、開発環境102の設計書格納部141、アプリプログラム格納部142にアクセスし、開発者が設計書やアプリプログラム等のファイルに行ったアクセス実績を取得し、ファイルアクセス検出情報121に記録する。
【0027】
また、テスト結果分析部112は、テスト判定条件131をもとに、開発環境102にアクセスしてテスト結果を取得し、これを判定してテスト結果情報122に記録する。
【0028】
また、関係値分析部113は、タスク定義情報123、ファイルアクセス検出情報121、及びテスト結果情報122からデータを取得し、このデータに基づいて関係値更新ルール132から関係値の算定式を特定し、当該算定式により関係値を算定し、これを影響分析情報124に格納する。
【0029】
また、影響分析結果通知部114は、影響分析情報124に記録された関係値を取得し、影響特定を行うための情報として、開発者入出力部144に送信し出力させる。
【0030】
なお、影響特定支援装置101と開発環境102は、ネットワーク1を介して接続される複数の計算機として実現する形態の他、同一の計算機上に実現する形態を採用してもいい。影響特定支援装置101と開発環境102を複数の計算機として実現する場合、プログラムおよびデータは、どの計算機に配置してもいい。
【0031】
また、ファイルアクセス検出情報121、テスト結果情報122、タスク定義情報123、影響分析情報124、テスト判定条件131、及び関係値更新ルール132らは、計算機のファイルシステム上のファイルであっても、特定のソフトウェアが実現するデータベースであってもいい。
<ハードウェア構成>
図2は、実施例に係る計算機201のハードウェア構成の一例を示すブロック図である。上述の開発環境102および影響特定支援装置101は、CPU202、メモリ203、外部記憶装置204、表示装置205、入力装置206、外部媒体入出力装置207、および、ネットワーク通信装置208、等を備える計算機に実装される。
【0032】
このうちCPU202は、メモリ203に記憶されたプログラムを実行することによって、各種処理を実行する。
【0033】
また、メモリ203は、CPU202のワークエリアとして機能し、プログラム及びプログラムの実行に必要なデータを記憶する。ここで、プログラムとは、例えば、影響特定支援装置101では、ファイルアクセス検出部111、テスト結果分析部112、関係値分析部113、及び影響分析結果通知部114の各機能をそれぞれ実装するプログラムに該当する。
【0034】
また、外部記憶装置204は、例えば、ハードディスク装置等、各種データを永続的に格納する装置である。ここで、メモリ203に記憶するデータを外部記憶装置204に格
納してもよいし、あるいは、外部記憶装置204に格納したデータをメモリ203に記憶してもよい。
【0035】
また、各プログラムは、予めメモリ203または外部記憶装置204に格納しても良いし、必要に応じて、利用可能な媒体を介して、他の装置からメモリ203または外部記憶装置204に導入してもよい。
【0036】
上述の媒体とは、例えば、外部媒体入出力装置207に着脱可能な記憶媒体、または、ネットワーク通信装置208を指す。
【0037】
また、表示装置205は、ディスプレイ等、プログラムの処理結果等を表示するユーザインターフェイスである。
【0038】
また、入力装置206は、キーボード及びマウス等、処理の実行指示、及び、処理に必要な情報の入力するためのユーザインターフェイスである。
【0039】
また、外部媒体入出力装置207は、外部媒体入出力装置207に着脱可能で可搬性のある外部媒体と、メモリ203や外部記憶装置204に格納されているデータの入出力を行う。
【0040】
また、ネットワーク通信装置208は、有線/無線にて外部との情報伝達を可能とする外部インターフェイスである。
<ファイルアクセス検出部について>
図3は、実施例に係るファイルアクセス検出部111の処理フローの一例を示す図である。ここで、影響特定支援装置101における各部の処理について順次説明する。まずファイルアクセス検出部111は、ネットワーク1を介して開発環境102の設計書格納部141にアクセスし、この設計書格納部141から、設計書の一覧、および、ファイル属性(ファイルパス、ファイル名、作成日時、更新日時、更新者、等)に関する情報を取得する(301S)。
【0041】
次に、ファイルアクセス検出部111は、開発環境102のアプリプログラム格納部142から、アプリプログラムの一覧、および、ファイル属性の一覧を取得する(302S)。
【0042】
続いて、ファイルアクセス検出部111は、上述の301S及び302Sで得ている設計書及びアプリプログラムの一覧が含む設計書とアプリプログラムの各情報と、ファイルアクセス検出情報121とを比較し、開発者によるファイルへのアクセス、更新を検知する(304S)。
【0043】
また、ファイルアクセス検出部は111、上述の304Sにて、ファイルへのアクセス、更新が検知された場合、ファイルアクセス検出情報121に新たな行を追加する(305S)。
【0044】
なお、ファイルアクセス検出部111は、開発環境102に配置されるプログラムとして存在してもいいし、開発環境102の外部(例えば、影響特定支援装置101)から開発環境102にアクセスするプログラムとして存在してもいい。
【0045】
また、ファイルアクセス検出部111は、一定の時間間隔で定期的に実行されてもいいし、開発環境102におけるファイルの変更や開発者の操作に応じて開始されてもいい。<テスト結果分析部について>
図4は、実施例に係るテスト結果分析部112の処理フローの一例を示す図である。影響特定支援装置101のテスト結果分析部112は、タスク定義情報123のテスト判定条件131を読み込む(401S)。
【0046】
次に、テスト結果分析部112は、開発環境102にアクセスし、テスト判定条件131をもとに、テスト判定に必要な情報(
図7のテスト判定条件701における「テスト前提条件」、「テスト合格条件」、及び「テスト不合格条件」のデータおよび状態)を取得する(402S)。
【0047】
次に、テスト結果分析部112は、テスト結果情報122に1行を追加し、当該行において、401Sで得ているテスト判定条件131のID、及び所定のテストプログラムの実行に関する情報(「テスト結果」以外)を設定する(404S)。テスト結果分析部112は、タスク定義情報123の各要件のタスクに応じたテストプログラムを予め保持ないし所定装置から呼び出して実行可能であり、その実行結果を利用可能であるとする。
【0048】
次に、テスト結果分析部112は、テスト判定条件131をもとに、当該テストが「合格」であったか「不合格」であったかを判定し、前ステップで追加したテスト結果情報の1行の「テスト結果」欄に判定結果の値を設定する(405S)。
【0049】
なお、テスト結果分析部112は、ファイルアクセス検出部111が開発環境102にアクセスするタイミングで同時に開始されてもいいし、ファイルアクセス検出部111と独立に開始されてもいい。
【0050】
また、本実施形態では、テスト判定条件131を用いず、テスト結果情報122の全項目、もしくは、一部の項目を、開発者が手作業で入力する方式を採っても実現可能である。当該方式では、開発者が、開発環境102の開発者入出力部144から、テストプログラムを実行する際、テスト結果情報122の入力を開発者に要求する画面インターフェイスを提供してもいい。
<関係値分析部について>
図5Aは、実施例に係る関係値分析部113の処理フロー511の一例を示す図である。また、
図5Bに関係値の更新に関するイメージ512を示す。
【0051】
まず、影響特定支援装置101の関係値分析部113は、ファイルアクセス検出情報121を読み出し、このファイルアクセス検出情報121に、影響分析情報124(
図10A~
図10B)に登場しない要件、設計書、及びアプリプログラム、またはその間の関係が含まれていれば、当該情報を規定した行を追加する(501S)。
【0052】
次に、関係値分析部113は、テスト結果情報122の各行(テスト結果)に対し、関係値更新ルール132に沿って、要件、設計書、及びアプリプログラムの各間の関係値を更新する(503S)。なお、上述の503Sに対応する、関係値の更新イメージ521は、
図5Bに示している。
【0053】
次に、関係値分析部113は、前ステップの関係値の更新を、前ステップが対象とした要件、設計書、及びアプリプログラムが既に関係を持っている要件、設計書、及びアプリプログラムの関係値に伝播させる(504S)。
【0054】
こうした、上述の503Sに対応する、関係値の更新のイメージ522を
図5Bに示す。この例では、設計書「D1」とアプリプログラム「P2」の間に、ファイルアクセスが検出されたことを受け、関係値が算定(更新)された状況において、設計書「D1」と関係性がある、すなわち影響分析情報124にて0以外の「関係値」が設定されている対象
の要件「R1」に対し、関係値の伝播を適用する。
【0055】
こうした関係値の更新の伝播は、例えば、503Sにおいて既存の関係値より大きな関係値に更新する結果となった場合、その更新に伴う値の増加幅を一定の割合で低減した値を、伝播先の関係に加算する、といった方法で行っていい。
【0056】
また、当該関係値の更新の伝播は、影響分析情報124において、関係値が0以外の関係性を有する要素が特定できる範囲で、任意の回数、更に伝播させてもいい。
<タスク定義情報について>
図6は、実施例に係るタスク定義情報123の一例を示す図である。このタスク定義情報123は、以下の項目を有する情報である。
【0057】
要件IDは、当該要件の一意な識別子である。
【0058】
また、要件説明は、当該要件を説明する任意の自然言語記述である。
【0059】
また、タスクIDは、当該要件を実現するために開発者が実施するタスクの一意な識別子である。
【0060】
また、タスク説明は、当該タスクを説明する任意の自然言語記述である。
【0061】
また、タスク期間は、当該タスクが実施される期間(開始~終了)である。
【0062】
また、開発者IDは、当該タスクを担当する開発者の一意な識別子であり、タスク定義情報を作成する開発者が採番してもいい。
【0063】
また、テスト判定条件IDは、当該タスクの完了条件等の定義情報の一意な識別子であり、その詳細はテスト判定条件131で管理される。
【0064】
なお、上述の要件ID、タスクID、開発者IDは、タスク定義情報123を作成する開発者が採番してもいいし、影響特定支援装置101が採番してもいい。
【0065】
また、タスク定義情報123とテスト判定条件131は、分割したデータとして管理してもいいし、統合したデータとして管理してもいい。
【0066】
こうしたタスク定義情報123の各値は、例えば、
図15Aの画面1501に示すように、開発者がタスク定義情報123を開発者入出力部144のインターフェイスから入力、更新する画面を、影響特定支援装置101が開発環境102の開発者入出力部144に配信し、この画面を介して取得、設定したものとできる。
<テスト判定条件について>
図7は、実施例に係るテスト判定条件131の一例を示す図である。このテスト判定条件131は、以下の項目を有する。
【0067】
すなわち、テスト判定条件IDは、当該テスト判定条件131の一意な識別子であり、その詳細はタスク定義情報123において、タスクと紐付けて定義される。
【0068】
また、テスト前提条件(データ、状態)は、当該テスト判定条件131におけるテストプログラムが実施済みであることを検知するための条件である。例えば、「データ」:テスト結果の特定ログが、「状態」:計算機のファイルシステム上に存在していること、「データ」:テスト結果の特定データが、「状態」:データベース上に存在していること、
等である。
【0069】
また、テスト合格条件(データ、状態)は、当該テスト判定条件131におけるテストプログラムの実行結果が合格であることを検知するための条件である。
【0070】
また、テスト不合格データ(データ、条件)は、当該テスト判定条件131におけるテストプログラムの実行結果が不合格であることを検知するための条件である。
【0071】
なお、
図7のテスト判定条件131におけるテスト前提条件、テスト不合格条件の例は、説明のため自然言語的に記載しているが、より機械的な解析が容易な記載であってもよい。
【0072】
また、テスト前提条件は、主に、テストプログラム格納部143に格納されたテストプログラムが実行されることで、当該条件が満たされることを想定する。ここで、テストプログラムは、アプリプログラムが正しく実行されることを確認してもいいし、設計書が正しく記載されていることを確認してもいい。
【0073】
また、テスト判定条件IDは、テスト判定条件131を作成する開発者が採番してもいいし、影響特定支援装置101が採番してもいい。
【0074】
こうしたテスト判定条件131の各値は、例えば、
図15Bの画面1511に示すように、開発者がテスト判定条件131を、開発者入出力部144のインターフェイスから入力、更新する画面を、影響特定支援装置101が開発環境102の開発者入出力部144に配信し、この画面を介して取得、設定したものとできる。
<ファイルアクセス検出情報について>
図8は、実施例に係るファイルアクセス検出情報121の一例を示す図である。このファイルアクセス検出情報121は、以下の項目を有する。
【0075】
すなわち計算機IDは、当該ファイルアクセスが検出された計算機のIDである。
【0076】
また、ファイルパスは、当該ファイルアクセスが検出されたファイルの計算機上の所在である。
【0077】
また、ファイル名は、当該ファイルアクセスが検出されたファイルの名称である。
【0078】
また、ファイルIDは、当該ファイルアクセスが検出されたファイルの一意な識別子である。
【0079】
また、ファイル種別は、当該ファイルアクセスが検出されたファイルが、設計書に該当するのか、アプリプログラムに該当するのかを示す種別である。
【0080】
なお、ファイル種別は、計算機のファイルシステムにおけるファイル形式(ファイル名の拡張子)から判定してもいい。また、開発環境102や計算機ごとに開発者が定めた「どのファイル種別をどのファイルパス以下に配置する」、「どのファイル種別のファイル名の接頭/設備に、どういった識別文字を使用する」といったルールから判定してもいい。また、ファイルを解析し、ファイルに含まれるテキストやバイナリの値からファイル種別を判定してもいい。
【0081】
また、アクセス日時は、当該ファイルアクセスが実施された日時である。
【0082】
また、アクセス種別は、当該ファイルアクセスが、当該ファイルにどうアクセスしたのか(更新、参照、等)の種別である。
【0083】
また、更新者IDは、当該ファイルアクセスを実施した開発者のIDであり、タスク定義情報123の「開発者ID」と対応する。
【0084】
なお、上述の計算機ID、ファイルIDは、ファイルアクセス検出部111が採番してもよい。また、計算機IDは、開発環境102が属するネットワーク1における当該計算機の物理名称等を取得して用いてもよい。
【0085】
また、ファイルアクセス検出部111は、アクセス日時やアクセス種別を、計算機のファイルシステムから取得してもいい。また、ファイルアクセス検出部111は、開発環境102の計算機におけるファイルアクセスを監視することで、アクセス日時を取得してもいい。
【0086】
図9は、実施例に係るテスト結果情報122の一例を示す図である。このテスト結果情報122は、以下の項目を有する。
【0087】
すなわち、テストIDは、当該テストの一意な識別子である。テストIDは、テスト結果分析部112がテスト結果情報を作成する際に機械的に採番されるとしてもよい。
【0088】
また、タスクIDは、当該テストに対応するタスクの一意な識別子であり、タスク定義情報123のタスクIDに対応する。
【0089】
また、テスト判定条件IDは、当該タスクの完了条件等の定義情報の一意な識別子であり、タスク定義情報123、および、テスト判定条件131のテスト判定条件IDに対応する。
【0090】
また、テスト実行日時は、当該テストが実行された日時である。
【0091】
また、テスト結果は、当該テストが合格したか、不合格であったかの結果を示す値であり、テスト結果分析部112が分析した結果である。
【0092】
なお、テストIDは、テスト結果分析部112が採番していい。
<影響分析情報について>
図10Aは、実施例に係る影響分析情報124の一例として「設計書-アプリプログラム」を示す図である。この「設計書-アプリプログラム」は、影響分析情報124のうち、設計書とアプリプログラムの関係を示す例である。
【0093】
ここで、設計書IDは、関係の対象とする設計書の一意な識別子であり、ファイルアクセス検出情報121のファイルIDに対応する。
【0094】
また、アプリプログラムIDは、関係の対象とするアプリプログラムの一意な識別子であり、ファイルアクセス検出情報121のファイルIDに対応する。
【0095】
また、関係値は、設計書IDが示す設計書と、アプリプログラムIDが示すアプリプログラムとの間の関係性の強さを示す値であり、0が関係性無し、100が関係性最大である。
【0096】
また、更新日時は、当該関係値が更新された日時である。
【0097】
一方、
図10Bに、影響分析情報124の他の例である「要件-設計書」を示す。この「要件-設計書」は、影響分析情報124のうち、要件と設計書の関係を示す例である。この例の各要素、すなわち要件ID、設計書ID、関係値、及び更新日時のうち、「設計書ID」、「関係値」、及び「更新日時」については、「設計書-アプリプログラム」で規定したものと同様である。また、「要件ID」は、関係の対象とする設計書の一意な識別子であり、ファイルアクセス検出情報121のファイルID、ないしタスク定義情報123の要件IDに対応する。
【0098】
なお、本実施例において、関係値は、要件、設計書、及びアプリプログラムの任意の組合せの間で定義し得る。
【0099】
また、
図Cに、上述の影響分析情報124にて規定される各要素の関係のバリエーションを示した。この例では、要件、開発者、設計書、及びアプリプログラムといった各要素が関係性を有している状況を示している。
<関係値更新ルールについて>
図11は、実施例に係る関係値更新ルール132の一例を示す図である。本例において、関係値更新ルール132の行は、テストの結果とファイルアクセスの状況にもとづく関係値更新のルールを示す。
【0100】
例えば、「テスト結果」が「合格」の場合、「テストに対応する要件」と「タスク期間内に参照された設計書」の関係値を、当該関係値の算定式である更新式「Fn1」に従って更新する、等である。
【0101】
こうした関係値更新ルール132は、以下の項目を有する。
【0102】
すなわちテストIDは、関係値更新ルール132の行を一意に特定する識別子である。
【0103】
また、テスト結果は、テスト結果情報122の「テスト結果」に対応する。
【0104】
また、関係値を強化する対象は、当該行の関係値更新を行う対象とする要件、設計書、アプリプログラム(2者)であり、本図中では「○」を付けた列が対応する。
【0105】
なお、関係値を強化する対象のうち、ファイル種別、アクセス種別は、ファイルアクセス検出情報121の「ファイル種別」、「アクセス種別」に対応する。
【0106】
また、関係値更新式は、関係値の算定に用いる数式である。ここでは、テスト結果や関係値を更新する対象に応じて、異なる更新式を定義する。
【0107】
例えば、
Wt:タイミングtにおける関係値
A#:ケースID(#)ごとに定義された係数
b:関係値を更新する対象の状態にもとづいて算出する変数群
f():A#、b、Wtを引数とする数式
N:Wtを正規化(定義域0~100)するための係数もしくは数式
とした場合、関係値更新式の最も簡単な例の1つは、
Wt+1=N*(f(A#,b,Wt))
にて表すことができる。なお、A#、bは、当該関係値更新式を適用するケース(テスト結果、関係値を更新する対象)ごとに変更可能であり、影響特定支援装置101を運用する担当者が、当該ケースの特徴をもとに設定していい。
【0108】
例えば、A#により、「テストに紐づくタスクで参照された設計書D1」と「テストに紐づく要件R1」の関係値より、「テストに紐づくタスクで更新された設計書D2」と「テストに紐づく要件R1」の関係値をより強化することで、後日、当該要件を変更した際、D1よりもD2への影響を優先して確認するようにリコメンドすることが可能になる。
【0109】
また、例えば、bにより、関係値を更新する対象の1つが「ファイル種別:設計書、アクセス種別:参照」のケースにおいて、参照回数が多い場合や強化の程度を強くする等の調整が可能になる。
【0110】
なお、関係値更新式への入力値として、要件、設計書、及びアプリプログラムの属性を用いてもよい。例えば、
図13、
図14で後述する、アプリプログラム間関係度分析部145、設計書間関係度分析部146、開発者間関係度分析部146で取得した結果を、入力値として用いてもよい。
【0111】
また、こうした関係値更新ルール132の各値は、例えば、
図15Cの画面1521に示すように、開発者が関係値更新ルール132を、開発者入出力部144のインターフェイスから入力、更新する画面を、影響特定支援装置101が開発環境102の開発者入出力部144に配信し、この画面を介して取得、設定したものとできる。
<出力画面の例>
図12は、実施例に係る開発者入出力部144の画面の一例を示す図である。本例では、開発者入出力部144が有する画面1201(影響特定支援装置101が開発環境102の開発者入出力部144に出力し表示させた画面)において、要件、設計書、アプリプログラムの一覧を四角形のアイコンとして描画し、かつ、要件と設計書の関係、設計書とアプリプログラムの関係を、破線で描画する。
【0112】
ここで、描画の対象となる要件、設計書、アプリプログラムは、影響分析情報124をもとに、影響分析結果通知部114が決定する。
【0113】
また、描画の対象となる要件と設計書の関係、および、設計書とアプリプログラムの関係は、影響分析情報124をもとに、影響分析結果通知部114が決定する。
【0114】
なお、本画面1201において、関係を描画する対象(本例では、要件、設計書、アプリプログラム)、および、その並びは、画面利用者たる開発者等の指定により、任意に変更することが可能である。
【0115】
図13は、実施例に係る開発者入出力部14の画面の一例を示す図である。本例では、
図12の例に加え、描画する要件、設計書、アプリプログラムの間の関係に条件を設定可能としている。
【0116】
例えば、画面利用者が、「開発者でフィルタ」を選択し、開発者のIDを指定することで、影響特定支援装置101は、当該指定対象の開発者が関係する要件、設計書、アプリプログラムに絞った、要件、設計書、アプリプログラムの間の関係を描画する。
【0117】
また例えば、画面利用者が、「期間でフィルタ」を選択し、期間を指定することで、影響特定支援装置101は、当該指定された期間のファイルアクセスやテストに絞った、要件、設計書、アプリプログラムの間の関係を描画する。
【0118】
また例えば、画面利用者が、「オプションでフィルタ」を選択し、オプションを候補から選択することで、影響特定支援装置101は、要件、設計書、アプリプログラムの間の
関係を描画に特定の傾向を加えることができる。
【0119】
ここで、オプションの候補は、「プログラム間の関係度」、「開発者間の関係度」、「設計書間の関係度」、等である。
【0120】
このうち「設計書間の関係度」では、例えば、
図14にて後述する設計書間関係度分析部146等により、予め、設計書間の関係の有無、強弱を解析しておき、当該解析結果を、本画面における描画に反映する。
【0121】
また、「プログラム間の関係度」では、例えば、
図14にて後述するアプリプログラム間関係度分析部145により、予め、アプリプログラム間の関係の有無・強弱を解析しておき、当該解析結果を、本画面における描画に反映する。
【0122】
また、「開発者間の関係度」では、例えば、
図14にて後述する開発者間関係度分析部147により、予め、開発者間の関係の有無・強弱を解析しておき、当該解析結果を、本画面における描画に反映する。
<他の構成例について>
図14は、実施例に係るシステム構成の一例を示すブロック図であり、
図1に示したブロック図のうち、開発環境を拡張した例である。
【0123】
本例では、
図13で示した「オプションでフィルタ」を実現するための情報を取得するため、開発環境102に、以下の要素を追加している。
【0124】
設計書間関係度分析部146は、設計書格納部141に格納された設計書の解析を行い、設計書内に記載された用語の重複度等にもとづく特定期間内における設計書間の関係の有無、強弱を取得する。
【0125】
また、アプリプログラム間関係度分析部145は、アプリプログラム格納部142、テストプログラム格納部143に格納されたプログラムの解析を行い、プログラム間の呼び出し関係等にもとづく特定期間内におけるアプリプログラム間の関係の有無、強弱を取得する。
【0126】
また、開発者間関係度分析部147は、開発者が共用するコミュニケーションツール(メール、インスタントメッセージ、等)の実行ログ等の解析を行い、開発者間の会話頻度にもとづく特定期間内における期間開発者間の関係の有無・強弱を取得する。
【0127】
なお、アプリプログラム間関係度分析部145、設計書間関係度分析部146、開発者間関係度分析部147で取得した結果は、
図10で説明した影響分析情報124と同等の形式で保持していい。
【0128】
また、アプリプログラム間関係度分析部145、設計書間関係度分析部146、開発者間関係度分析部147と同様の方式により、関係者と設計書の関係、設計書とアプリプログラムの関係、アプリプログラムと開発者の関係、等を解析してもいい。
【0129】
なお、本発明は上記した実施例に限定されるものではなく、ソフトウェア開発に適用されうる様々な変形例が含まれる。
【0130】
例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【0131】
また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。
【0132】
また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0133】
また、上記の各構成は、それらの一部又は全部が、ハードウェアで構成されても、プロセッサでプログラムが実行されることにより実現されるように構成されてもよい。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【0134】
こうした本実施形態によれば、例えば、任意のプログラム言語で実装されたソフトウェアを伴う情報システムの開発において、当該開発中、もしくは、当該情報システムのリリース後における、当該情報システムへの変更の影響を効率的に特定することが可能となる。
【0135】
一方、開発者は、タスク等の簡潔な定義を行うことで、工数をかけずに、要件、設計書、アプリプログラムへの変更の影響特定を行うことができる。
【0136】
すなわち、特段の工数追加や適用対象の限定を回避しつつ、システム開発における変更事象に伴う影響の特定を効率的なものとできる。
【0137】
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態の影響特定支援装置において、前記関係値を出力部に出力する影響分析結果通知部をさらに備える、としてもよい。
【0138】
これによれば、情報システムの開発者等に対し、要件、設計書、及びアプリプログラムといった各要素の間の関係性を、視覚的に明示することが可能となる。ひいては、特段の工数追加や適用対象の限定を回避しつつ、システム開発における変更事象に伴う影響の特定をより効率的なものとする。
【0139】
また、本実施形態の影響特定支援装置において、前記テスト結果分析部は、前記開発者により、テストの前提条件、合格条件、及び不合格条件について予め定義されたテスト判定条件に、前記実行結果を適用して、前記テストプログラムの実行状況及びテスト合否を判定するものである、としてもよい。
【0140】
これによれば、要件達成のためのタスクが完遂されたのか、換言すれば要件が達成されたのかをテストプログラムでテストし、その結果を効率的に分析することが可能となる。ひいては、特段の工数追加や適用対象の限定を回避しつつ、システム開発における変更事象に伴う影響の特定をより効率的なものとする。
【0141】
また、本実施形態の影響特定支援装置において、前記影響分析結果通知部は、前記関係値分析部による関係値を、要件、設計書、及びアプリプログラムの各間に関して表示するインターフェイスを出力部に出力するものである、としてもよい。
【0142】
これによれば、情報システムの開発者等に対し、要件、設計書、及びアプリプログラムといった各要素の間の関係性を、関係値という具体的な形で視覚的に明示することが可能となる。ひいては、特段の工数追加や適用対象の限定を回避しつつ、システム開発における変更事象に伴う影響の特定をより効率的なものとする。
【0143】
ひいては、特段の工数追加や適用対象の限定を回避しつつ、システム開発における変更事象に伴う影響の特定をより効率的なものとする。
【0144】
また、本実施形態の影響特定支援装置において、前記関係値分析部は、前記要件、設計書、及びアプリプログラムのそれぞれに関して、語彙の出現、機能の利用、及び所定対象へのアクセスの発生の少なくともいずれかに関して分析処理することで、前記関係性の有無ないし強弱に関する情報を取得し、当該情報を前記算定式に入力して前記関係値を算定するものである、としてもよい。
【0145】
これによれば、関係値の算定を様々な観点から任意に行うことが可能となる。ひいては、特段の工数追加や適用対象の限定を回避しつつ、システム開発における変更事象に伴う影響の特定をより効率的なものとする。
【0146】
また、本実施形態の影響特定支援装置において、前記関係値分析部による関係値を、要件、設計書、及びアプリプログラムの各間に関して表示するインターフェイスを出力部に出力するとともに、前記関係性の有無ないし強弱に関する情報を、前記インターフェイスにおける表示対象の絞り込み条件として出力する影響分析結果通知部をさらに備えるものである、としてもよい。
【0147】
これによれば、開発者の意向を柔軟に踏まえた分析結果を出力すること可能となる。ひいては、特段の工数追加や適用対象の限定を回避しつつ、システム開発における変更事象に伴う影響の特定をより効率的なものとする。
【符号の説明】
【0148】
1 ネットワーク
101 影響特定支援装置
111 ファイルアクセス検出部
112 テスト結果分析部
113 関係値分析部
114 影響分析結果通知部
121 ファイルアクセス検出情報
122 テスト結果情報
123 タスク定義情報
124 影響分析情報
131 テスト判定条件
132 関係値更新ルール
102 開発環境
141 設計書格納部
142 アプリプログラム格納部
143 テストプログラム格納部
144 開発者入出力部
145 アプリプログラム間関係度分析部
146 設計書間関係度分析部
147 開発者間関係度分析部
201 計算機
202 CPU(演算装置)
203 メモリ
204 外部記憶装置
205 表示装置
206 入力装置
207 外部媒体入出力装置
208 ネットワーク通信装置