IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特許7484206ソフトウェア開発支援装置、ソフトウェア開発支援方法、プログラム、及びソフトウェア開発支援システム
<>
  • 特許-ソフトウェア開発支援装置、ソフトウェア開発支援方法、プログラム、及びソフトウェア開発支援システム 図1
  • 特許-ソフトウェア開発支援装置、ソフトウェア開発支援方法、プログラム、及びソフトウェア開発支援システム 図2
  • 特許-ソフトウェア開発支援装置、ソフトウェア開発支援方法、プログラム、及びソフトウェア開発支援システム 図3
  • 特許-ソフトウェア開発支援装置、ソフトウェア開発支援方法、プログラム、及びソフトウェア開発支援システム 図4
  • 特許-ソフトウェア開発支援装置、ソフトウェア開発支援方法、プログラム、及びソフトウェア開発支援システム 図5
  • 特許-ソフトウェア開発支援装置、ソフトウェア開発支援方法、プログラム、及びソフトウェア開発支援システム 図6
  • 特許-ソフトウェア開発支援装置、ソフトウェア開発支援方法、プログラム、及びソフトウェア開発支援システム 図7
  • 特許-ソフトウェア開発支援装置、ソフトウェア開発支援方法、プログラム、及びソフトウェア開発支援システム 図8
  • 特許-ソフトウェア開発支援装置、ソフトウェア開発支援方法、プログラム、及びソフトウェア開発支援システム 図9
  • 特許-ソフトウェア開発支援装置、ソフトウェア開発支援方法、プログラム、及びソフトウェア開発支援システム 図10
  • 特許-ソフトウェア開発支援装置、ソフトウェア開発支援方法、プログラム、及びソフトウェア開発支援システム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-08
(45)【発行日】2024-05-16
(54)【発明の名称】ソフトウェア開発支援装置、ソフトウェア開発支援方法、プログラム、及びソフトウェア開発支援システム
(51)【国際特許分類】
   G06F 8/70 20180101AFI20240509BHJP
【FI】
G06F8/70
【請求項の数】 10
(21)【出願番号】P 2020021675
(22)【出願日】2020-02-12
(65)【公開番号】P2021128435
(43)【公開日】2021-09-02
【審査請求日】2023-01-11
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】古村 仁志
【審査官】大塚 俊範
(56)【参考文献】
【文献】特開2011-081496(JP,A)
【文献】特開2010-152428(JP,A)
【文献】特開2016-133946(JP,A)
【文献】特開2005-234856(JP,A)
【文献】米国特許出願公開第2015/0242206(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/70
(57)【特許請求の範囲】
【請求項1】
ソフトウェア開発を行うシステム上で動作して開発を支援する開発支援部と、
前記開発支援部の動作によって生じた成果物を管理する成果物管理部と、を備え、
前記開発支援部は、
フトウェアのソースコードに前記ソースコードのレビュー情報を埋め込んで情報付きソースコードを生成し、前記情報付きソースコードを前記成果物管理部に記録するレビュー情報埋込手段と、
前記成果物管理部に記録された前記情報付きソースコードを読み出し、前記レビュー情報を抽出して前記ソースコードが含む関数ごとに表示させるレビュー情報表示手段と、を有し、
前記情報付きソースコードが含む前記レビュー情報は、修正が行われなかった関数に対する指摘事項を含む、
ソフトウェア開発支援装置。
【請求項2】
前記レビュー情報は、各関数名が記述された指摘事項を含む、請求項1に記載のソフトウェア開発支援装置。
【請求項3】
前記レビュー情報は、各関数の呼び出し先及び呼び出し元の関数に対する指摘事項を含む、請求項1又は2に記載のソフトウェア開発支援装置。
【請求項4】
レビュー情報表示手段は、抽出した前記レビュー情報を関数ごとにポップアップで表示する、請求項1~3のいずれか一項に記載のソフトウェア開発支援装置。
【請求項5】
前記開発支援部は、複数の情報付きソースコードに埋め込まれた前記レビュー情報を集計して前記情報付きソースコードに埋め込み直すレビュー情報集計手段をさらに備える、請求項1~4のいずれか一項に記載のソフトウェア開発支援装置。
【請求項6】
前記複数の情報付きソースコードは、異なるソフトウェアのソースコードを含む、請求項5に記載のソフトウェア開発支援装置。
【請求項7】
前記レビュー情報表示手段は、各関数の指摘事項の件数をさらに表示させる、請求項1~6のいずれか一項に記載のソフトウェア開発支援装置。
【請求項8】
ソフトウェア開発を行うシステム上で動作して開発を支援する開発支援部として動作するコンピュータが、
ソフトウェアのソースコードに前記ソースコードのレビュー情報を埋め込んだ情報付きソースコードを生成する工程と、
前記情報付きソースコードから前記レビュー情報を抽出して前記ソースコードが含む関数ごとに表示させる工程と、を備え、
前記情報付きソースコードが含む前記レビュー情報は、修正が行われなかった関数に対する指摘事項を含む、
ソフトウェア開発支援方法。
【請求項9】
ソフトウェア開発を行うシステム上で動作して開発を支援する開発支援部として動作するコンピュータに、
フトウェアのソースコードに前記ソースコードのレビュー情報を埋め込んだ情報付きソースコードを生成する工程と、
前記情報付きソースコードから前記レビュー情報を抽出して前記ソースコードが含む関数ごとに表示させる工程と、を実行させ、
前記情報付きソースコードが含む前記レビュー情報は、修正が行われなかった関数に対する指摘事項を含む、
プログラム。
【請求項10】
ソフトウェア開発支援装置と、前記ソフトウェア開発支援装置と通信可能な端末と、を備え、
前記ソフトウェア開発支援装置は、
ソフトウェア開発を行うシステム上で動作して開発を支援する開発支援部と、
前記開発支援部の動作によって生じた成果物を管理する成果物管理部と、を有し、
前記開発支援部は、
フトウェアのソースコードに前記ソースコードのレビュー情報を埋め込んで情報付きソースコードを生成し、前記情報付きソースコードを前記成果物管理部に記録するレビュー情報埋込手段と、
前記成果物管理部に記録された前記情報付きソースコードを読み出し、前記レビュー情報を抽出して前記ソースコードが含む関数ごとに表示させるレビュー情報表示手段と、を有し、
前記情報付きソースコードが含む前記レビュー情報は、修正が行われなかった関数に対する指摘事項を含む、
ソフトウェア開発支援システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウェア開発支援装置、ソフトウェア開発支援方法、プログラム、及びソフトウェア開発支援システムに関する。
【背景技術】
【0002】
近年、ソフトウェア開発の大規模化が進んでおり、多数の開発者が参加してソフトウェア開発を行うことが増えている。このようなソフトウェア開発では、担当する開発者の変更や開発者の新規参加等、開発者が過去に自ら開発していない部分を参照して開発を進めていく場合がある。しかしながら、新規に担当する開発者が過去に開発された部分を十分に理解することは困難であり、例えば当該ソフトウェアの暗黙的な前提条件、制約条件を設計書から読み取れず、バグを作りこんでしまう虞がある。
【0003】
バグの作りこみを減らすための方法として、過去の開発時になされたレビューの記録を参照することが考えられる。過去開発時のレビュー記録には、過去に開発者がバグを作りこんだ箇所やその解決策及び修正内容に対する議論の結果等のレビュー情報が含まれている。したがって、過去開発時のレビュー記録を参照することによって、バグを作りこみやすい箇所を確認する等できるため、バグの作りこみを減らすことができる。
【0004】
例えば特許文献1には、ソースコードの修正情報をソースコード内に蓄積し、該ソースコード内に記憶される修正履歴を並べかえて修正履歴情報を生成して表示する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2008-134900号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に開示されている技術は、修正履歴を使用するものであるため、修正が行われなかった部分のレビュー情報を活用することができない。つまり、過去の開発者がレビューによって得たノウハウを十分に活用することができない。
【0007】
本発明は、このような問題に鑑みなされたものであり、過去に行われたソフトウェア開発のレビュー記録から得られたノウハウを開発者に提供するソフトウェア開発支援装置、ソフトウェア開発支援方法、プログラム、及びソフトウェア開発支援システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の一態様に係るソフトウェア開発支援装置は、
ソフトウェア開発を行うシステム上で動作して開発を支援する開発支援部と、
前記開発支援部の動作によって生じた成果物を管理する成果物管理部と、を備え、
前記開発支援部は、
前記ソフトウェアのソースコードに前記ソースコードのレビュー情報を埋め込んで情報付きソースコードを生成し、前記情報付きソースコードを前記成果物管理部に記録するレビュー情報埋込手段と、
前記成果物管理部に記録された前記情報付きソースコードを読み出し、前記レビュー情報を抽出して前記ソースコードが含む関数ごとに表示させるレビュー情報表示手段と、を有し、
前記情報付きソースコードが含む前記レビュー情報は、修正が行われなかった関数に対する指摘事項を含む。
【0009】
本発明の一態様に係るソフトウェア開発支援方法は、
ソフトウェアのソースコードに前記ソースコードのレビュー情報を埋め込んだ情報付きソースコードを生成する工程と、
前記情報付きソースコードから前記レビュー情報を抽出して前記ソースコードが含む関数ごとに表示させる工程と、を備え、
前記情報付きソースコードが含む前記レビュー情報は、修正が行われなかった関数に対する指摘事項を含む。
【0010】
本発明の一態様に係るプログラムは、
ソフトウェア開発を行うシステム上で動作して開発を支援する開発支援部として動作するコンピュータに、
前記ソフトウェアのソースコードに前記ソースコードのレビュー情報を埋め込んだ情報付きソースコードを生成する工程と、
前記情報付きソースコードから前記レビュー情報を抽出して前記ソースコードが含む関数ごとに表示させる工程と、を実行させ、
前記情報付きソースコードが含む前記レビュー情報は、修正が行われなかった関数に対する指摘事項を含む。
【0011】
本発明の一態様に係るソフトウェア開発支援システムは、
ソフトウェア開発支援装置と、前記ソフトウェア開発支援装置と通信可能な端末と、を備え、
前記ソフトウェア開発支援装置は、
ソフトウェア開発を行うシステム上で動作して開発を支援する開発支援部と、
前記開発支援部の動作によって生じた成果物を管理する成果物管理部と、を有し、
前記開発支援部は、
前記ソフトウェアのソースコードに前記ソースコードのレビュー情報を埋め込んで情報付きソースコードを生成し、前記情報付きソースコードを前記成果物管理部に記録するレビュー情報埋込手段と、
前記成果物管理部に記録された前記情報付きソースコードを読み出し、前記レビュー情報を抽出して前記ソースコードが含む関数ごとに表示させるレビュー情報表示手段と、を有し、
前記情報付きソースコードが含む前記レビュー情報は、修正が行われなかった関数に対する指摘事項を含む。
【発明の効果】
【0012】
本発明によれば、過去に行われたソフトウェア開発のレビュー記録から得られたノウハウを開発者に提供するソフトウェア開発支援装置、ソフトウェア開発支援方法、プログラム、及びソフトウェア開発支援システムを提供することができる。
【図面の簡単な説明】
【0013】
図1】本実施形態に係るソフトウェア開発支援装置の構成を示すブロック図である。
図2】本実施形態に係るソフトウェア開発支援システムの構成を示すブロック図である。
図3】ソフトウェア開発時におけるレビュー情報埋込手段の動作を示すフロー図である。
図4】ソフトウェアが含むソースコードと、レビュー記録、との対応を示す図である。
図5】レビュー記録の一例を示す図である。
図6】情報付きソースコードの一例を示す図である。
図7】レビュー情報表示手段の動作を示すフロー図である。
図8】端末に表示する画面の一例を示す図である。
図9】レビュー情報を抽出する処理を示すフロー図である。
図10】並べ替えされたレビュー情報の一例を示す図である。
図11】2回目以降のソフトウェア開発時におけるレビュー情報埋込手段の動作を示すフロー図である。
【発明を実施するための形態】
【0014】
(実施形態)
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。ただし、本発明が以下の実施の形態に限定される訳ではない。また、説明を明確にするため、以下の記載及び図面は、適宜、簡略化されている。
【0015】
まず、図1を参照して本実施形態に係るソフトウェア開発支援装置の構成を説明する。図1は、本実施形態に係るソフトウェア開発支援装置の構成を示すブロック図である。図1に示すように、ソフトウェア開発支援装置1は、開発支援部2、及び成果物管理部3を備える。開発支援部2は、レビュー情報埋込手段21、及びレビュー情報表示手段22を備える。成果物管理部3には、情報付きソースコード31が格納されている。
【0016】
ソフトウェア開発では、開発者がソースコードを作成した後に、開発者及びレビューアが当該ソースコードをレビューしてバグの修正等を行う。ソースコードのレビューは、通常、バグが検出されなくなるまで繰り返し行われる。レビュー記録には、ソースコード上のバグ及び問題点、その解決策、指摘内容に対する議論の結果等のレビュー情報が含まれている。ソフトウェア開発支援装置1は、過去に開発されたソースコードのレビュー情報を開発者に提供することによってソフトウェア開発を支援する装置である。
【0017】
開発支援部2は、ソフトウェア開発を行うシステム上で動作する。開発支援部2が備えるレビュー情報埋込手段21は、過去に開発されたソースコードに当該ソースコードのレビュー情報を埋め込んで情報付きソースコード31を生成して成果物管理部3に記録する。成果物管理部3は、ソフトウェア開発時における開発支援部2の動作によって生じた成果物、具体的には情報付きソースコード31を管理する。レビュー情報表示手段22は、成果物管理部3に記録された情報付きソースコード31を読み出して表示させる。このようにして、ソフトウェア開発支援装置1は、過去に開発されたソースコードのレビュー情報を開発者に提示することができる。
【0018】
次に、図2を参照して、本実施形態に係るソフトウェア開発装置を利用したソフトウェア開発支援システム(本実施形態に係るソフトウェア開発支援システム)の構成及び動作を説明する。ソフトウェア開発支援システム10は、ソフトウェア開発支援装置1、及び端末4を備える。なお、図2~4には、ソフトウェア開発支援システム10に加えて開発者5を図示している。
【0019】
図2は、本実施形態に係るソフトウェア開発支援システムの構成を示すブロック図である。端末4は、ソフトウェア開発支援装置1と通信可能である。開発者5は、端末4を操作してソフトウェアのソースコードを作成する。ソースコードは、C言語、Java(登録商標)等のプログラミング言語によって記述されたテキストデータである。ソフトウェアは、複数のファイルを含んでおり、各々のファイルは、複数の関数を含む。ソースコードは、各々のファイルごとに作成される。ソフトウェア開発支援システム10は、開発者5が端末4を操作してソースコードを作成する際に、過去に開発されたソースコードのレビュー情報をソフトウェア開発支援装置1が端末4に表示させることによって、開発者5の作業を支援することができる。
【0020】
次に、図3~6を参照して、レビュー情報埋込手段21の動作について詳細に説明する。図3は、ソフトウェア開発時におけるレビュー情報埋込手段の動作を示すフロー図である。図4は、ソフトウェアが含むソースコードと、レビュー記録と、の対応を示す図である。図5は、レビュー記録の一例を示す図である。図6は、情報付きソースコードの一例を示す図である。なお、図3では、レビュー情報表示手段22の図示を省略している。
【0021】
図3に示すように、ソフトウェア開発時には、開発者5は、端末4を操作してソースコード6を作成し、その後、レビューアと共にソースコード6のレビューを行う。開発者5は、端末4を操作してレビューアに受けた指摘事項をレビュー情報として含むレビュー記録7を作成する。レビュー情報は、具体的には、例えば、ソースコード上のバグ及び問題点、その解決策、指摘内容に対する議論の結果等である。レビュー情報埋込手段21は、ソースコード6にレビュー記録7を埋め込んだ情報付きソースコード31を作成し、成果物管理部3に情報付きソースコード31を記録する。
【0022】
図4は、ソフトウェアが含むソースコードと、レビュー記録と、の対応を示す図である。ソフトウェア62は、複数のファイル61を含む。各々のファイル61には、それぞれソースコード6が作成される。各々のファイル61は、複数の関数を含む。レビュー記録7は、各々のファイル61ごとに作成される。ソースコード6が含む関数のロジックが複雑である場合、レビューアが誤って当該関数に指摘してしまうことがある。レビュー記録7には、レビューアが指摘を行ったが修正を行わなかった場合の記録も記述される。つまり、レビュー情報は、修正が行われなかった関数に対する指摘事項を含む。
【0023】
図5は、レビュー記録の一例を示す図である。図5に示すように、開発者5は、レビュー情報をリスト化してレビュー記録7を作成する。図5に示す例では、レビュー情報として、レビュー実施日、指摘対象の関数名、開発者名等の開発者情報、レビューア名等のレビューア情報、指摘内容、及び修正した関数の関数名を含む処置内容を含む。レビュー記録7は、ソースコード6に対して1回又は複数回行われたレビューの結果を含むことができる。レビュー記録7は、XML及びJSON等のデータ記述言語を用いて記述されたテキストデータである。
【0024】
図6は、情報付きソースコードの一例を示す図である。情報付きソースコード31は、1つのソースコード6のファイルにつき1つ作成される。情報付きソースコード31は、ソースコード6にレビュー記録7が埋め込まれたファイルである。一般的なプログラム言語は、任意のテキストをコメントとして入力した状態でファイルを作成可能である。したがって、レビュー情報埋込手段21は、図6に示すように、レビュー情報をソースコード6のコメントとして埋め込むことができる。
【0025】
次に、図7~10を参照して、レビュー情報表示手段22の動作について詳細に説明する。図7は、レビュー情報表示手段の動作を示すフロー図である。図8は、端末に表示する画面の一例を示す図である。図9は、レビュー情報を抽出する処理を示すフロー図である。図10は、並べ替えされたレビュー情報の一例を示す図である。
【0026】
例えば、開発者5が過去に開発されたソースコード6を改変して新たなソースコード6を作成する場合には、新たなソースコード6の一部が過去に開発されたソースコード6と類似している。そのため、開発者5が過去に開発されたソースコード6のレビュー情報を参照することによって、バグの作り込みを減らすことができる。図7に示すように、レビュー情報表示手段22は、成果物管理部3から情報付きソースコード31を読み出し、情報付きソースコード31からレビュー情報を抽出して端末4に表示させることによって、開発者5にレビュー情報を提供する。
【0027】
情報付きソースコード31が含むレビュー情報は、膨大であり、開発者5にとって不要な情報も多く含んでいる。そのため、全てのレビュー情報を端末4に表示させると、開発者5は、レビュー情報を活用して必要な情報を受け取ることが困難である。そこで、レビュー情報表示手段22は、ソースコード6が含む関数ごとにレビュー情報を並べ替えて、端末4に表示させる。図8に示す例では、開発者5が端末4の画面上で各関数を参照すると、レビュー情報表示手段22は、当該関数に関する指摘事項を画面上のポップアップで表示させる。このように、ソフトウェア開発支援装置1は、開発者5が必要とするレビュー情報のみを端末4に表示させることができる。そのため、開発者5は、必要なレビュー情報のみを受け取り、当該レビュー情報を十分に活用することができる。
【0028】
図9は、レビュー情報を抽出する処理を示すフロー図である。レビュー情報を抽出する際には、まず、情報付きソースコード31から関数名を抽出してリストアップする(ステップS1)。ステップS1において、抽出した関数名に重複があった場合は、削除して一意にする。情報付きソースコード31が含むソースコード6では、関数名は、プログラミング言語の規則に従って記述されているため、機械的に抽出可能である。また、レビュー記録7に記載ルールを設ける等によって記述方法を統一し、情報付きソースコード31が含むレビュー情報に記載された関数名を機械的に抽出してもよい。
【0029】
次に、情報付きソースコード31が含むレビュー情報から、ステップS1において抽出した関数ごとに、当該関数名が含まれるレビュー情報を抽出してリストアップする(ステップS2)。ステップS2において抽出されるレビュー情報は、少なくとも当該関数に対する指摘事項を含み、さらに、処置内容に当該関数名が記述されている指摘事項を含んでいてもよいものとする。ステップS2において、抽出したレビュー情報に重複があった場合は、削除して一意にする。ステップS2において抽出されるレビュー情報が処置内容に当該関数名が記述されている指摘事項を含んでいると、含んでいない場合に比較して、レビュー情報の漏れを減らすことができる。
【0030】
ステップS1において抽出された全ての関数についてレビュー情報のリストアップが終了した場合(ステップS3Yes)、リストアップされたレビュー情報を関数ごとに並べ替える(ステップS4)。ステップS4では、各関数についてリストアップされたレビュー情報をレビュー実施日の降順に並べ替えてもよい。ステップS1において抽出された関数についてレビュー情報のリストアップが終了していないものがある場合(ステップS3No)、レビュー情報のリストアップ(ステップS2)をもう一度行う。
【0031】
図10は、並べ替えされたレビュー情報の一例を示す図である。図10に示す例では、レビュー情報として、各関数に対する指摘事項に加えて、処置内容に当該関数名が含まれている指摘事項も抽出している。したがって、各関数について開発者5が必要とする情報をより漏れなく抽出することができる。
【0032】
次に、図11を参照して、2回目以降のソフトウェア開発時におけるレビュー情報埋込手段21の動作について説明する。図11は、2回目以降のソフトウェア開発時におけるレビュー情報埋込手段の動作を示すフロー図である。2回目以降のソフトウェア開発時には、レビュー情報埋込手段21は、前回のソフトウェア開発時に作成された情報付きソースコード31にレビュー記録7を埋め込んだ情報付きソースコード31を新たに作成し、成果物管理部3に新たな情報付きソースコード31を記録する。
【0033】
ソフトウェア開発支援装置1は、上述のように修正が行われていない関数に対しての指摘事項を含むレビュー情報を開発者5に提示することができる。したがって、開発者5は、例えば、レビューアが誤って指摘してしまった関数について、当該関数のロジックが複雑で間違えやすいというノウハウを得ることができる。このように、ソフトウェア開発支援装置1は、修正が行われていない関数について、過去に行われたソフトウェア開発のレビュー記録7から得られたノウハウを開発者5に提供することができる。
【0034】
(変形例)
上述の実施形態では、過去に作成された1つの情報付きソースコード31に新たなレビュー記録7を埋め込んで新たな情報付きソースコード31を作成していたが、過去に作成された複数の情報付きソースコード31からレビュー情報を抽出して新たな情報付きソースコード31を作成してもよい。この場合、開発支援部2は、さらに図示しないレビュー情報集計手段を備えている。レビュー情報集計手段は、複数の情報付きソースコードに埋め込まれたレビュー情報を集計して情報付きソースコード31に埋め込み直す。過去に作成された複数の情報付きソースコード31が含むレビュー情報を埋め込むことによって、別のファイル61が含む関数に対して処置を行った場合の情報をレビュー情報として活用することができる。
【0035】
なお、過去に作成された複数の情報付きソースコード31は、他のソフトウェアのファイルのものであってもよい。これによって、他のソフトウェア開発時に行われたレビュー記録7を活用することができる。過去に開発されたソフトウェアのソードコードを流用する際に、ファイル61単位で流用するルールを設けることによって、他のソフトウェアのレビュー記録7を容易に活用することができる。また、リリース後に判明したバグの修正情報をレビュー記録7と同様にソースコード6に埋め込むことによって、開発者5が当該バグのレビュー情報を活用可能としてもよい。当該バグのレビュー情報を活用することによって、同様のバグの作り込みを減らすことができる。
【0036】
レビュー記録7には、さらに、関数同士の呼び出し関係も記録されていてもよい。関数同士の呼び出し関係を記録することによって、レビュー情報として各関数の呼び出し先及び呼び出し元の関数に対する指摘事項を抽出することができる。これによって、関数の改変によって影響を受ける範囲を、関数を辿って確認することができる。
【0037】
図9に示したステップS2よりも後にリストアップされた指摘事項を分析する工程を実施してもよい。リストアップされた指摘事項を分析し、その結果を表示してもよい。例えば、指摘事項の件数が多い関数は、開発者5が間違えやすい関数であると考えられる。そこで、指摘事項の件数を分析し、件数が多い関数については開発者5に注意を促す表示を端末4の画面上にすることによって、バグの作り込みを減らすことができる。
【0038】
以上で説明した本実施の形態に係る発明により、過去に行われたソフトウェア開発のレビュー記録から得られたノウハウを開発者に提供するソフトウェア開発支援装置、ソフトウェア開発支援方法、プログラム、及びソフトウェア開発支援システムを提供することができる。
【0039】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【0040】
例えば、上述の実施の形態において、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラム等によって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、又はそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【0041】
上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータ(情報通知装置を含むコンピュータ)に供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)を含む。さらに、この例は、CD-ROM(Read Only Memory)、CD-R、CD-R/Wを含む。さらに、この例は、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0042】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【0043】
(付記A1)
ソフトウェア開発を行うシステム上で動作して開発を支援する開発支援部と、
前記開発支援部の動作によって生じた成果物を管理する成果物管理部と、を備え、
前記開発支援部は、
前記ソフトウェアのソースコードに前記ソースコードのレビュー情報を埋め込んで情報付きソースコードを生成し、前記情報付きソースコードを前記成果物管理部に記録するレビュー情報埋込手段と、
前記成果物管理部に記録された前記情報付きソースコードを読み出し、前記レビュー情報を抽出して前記ソースコードが含む関数ごとに表示させるレビュー情報表示手段と、を有し、
前記情報付きソースコードが含む前記レビュー情報は、修正が行われなかった関数に対する指摘事項を含む、
ソフトウェア開発支援装置。
【0044】
(付記A2)
前記レビュー情報は、各関数名が記述された指摘事項を含む、付記A1に記載のソフトウェア開発支援装置。
【0045】
(付記A3)
前記レビュー情報は、各関数の呼び出し先及び呼び出し元の関数に対する指摘事項を含む、付記A1又はA2に記載のソフトウェア開発支援装置。
【0046】
(付記A4)
レビュー情報表示手段は、抽出した前記レビュー情報を関数ごとにポップアップで表示する、付記A1~A3のいずれか一項に記載のソフトウェア開発支援装置。
【0047】
(付記A5)
前記開発支援部は、複数の情報付きソースコードに埋め込まれた前記レビュー情報を集計して前記情報付きソースコードに埋め込み直すレビュー情報集計手段をさらに備える、付記A1~A4のいずれか一項に記載のソフトウェア開発支援装置。
【0048】
(付記A6)
前記複数の情報付きソースコードは、異なるソフトウェアのソースコードを含む、付記A5に記載のソフトウェア開発支援装置。
【0049】
(付記A7)
前記レビュー情報表示手段は、各関数の指摘事項の件数をさらに表示させる、付記A1~A6のいずれか一項に記載のソフトウェア開発支援装置。
【0050】
(付記A8)
前記レビュー情報埋込手段は、リリースされたソフトウェアから発見されたバグの情報をさらにソースコードに埋め込む、付記A1~A7のいずれか一項に記載のソフトウェア開発支援装置。
【0051】
(付記B1)
ソフトウェアのソースコードに前記ソースコードのレビュー情報を埋め込んだ情報付きソースコードを生成する工程と、
前記情報付きソースコードから前記レビュー情報を抽出して前記ソースコードが含む関数ごとに表示させる工程と、を備え、
前記情報付きソースコードが含む前記レビュー情報は、修正が行われなかった関数に対する指摘事項を含む、
ソフトウェア開発支援方法。
【0052】
(付記C1)
ソフトウェア開発を行うシステム上で動作して開発を支援する開発支援部として動作するコンピュータに、
前記ソフトウェアのソースコードに前記ソースコードのレビュー情報を埋め込んだ情報付きソースコードを生成する工程と、
前記情報付きソースコードから前記レビュー情報を抽出して前記ソースコードが含む関数ごとに表示させる工程と、を実行させ、
前記情報付きソースコードが含む前記レビュー情報は、修正が行われなかった関数に対する指摘事項を含む、
プログラム。
【0053】
(付記D1)
ソフトウェア開発支援装置と、前記ソフトウェア開発支援装置と通信可能な端末と、を備え、
前記ソフトウェア開発支援装置は、
ソフトウェア開発を行うシステム上で動作して開発を支援する開発支援部と、
前記開発支援部の動作によって生じた成果物を管理する成果物管理部と、を有し、
前記開発支援部は、
前記ソフトウェアのソースコードに前記ソースコードのレビュー情報を埋め込んで情報付きソースコードを生成し、前記情報付きソースコードを前記成果物管理部に記録するレビュー情報埋込手段と、
前記成果物管理部に記録された前記情報付きソースコードを読み出し、前記レビュー情報を抽出して前記ソースコードが含む関数ごとに表示させるレビュー情報表示手段と、を有し、
前記情報付きソースコードが含む前記レビュー情報は、修正が行われなかった関数に対する指摘事項を含む、
ソフトウェア開発支援システム。
【0054】
(付記D2)
前記レビュー情報は、各関数に対する指摘事項を含む、付記D1に記載のソフトウェア開発支援システム。
【符号の説明】
【0055】
1 ソフトウェア開発支援装置
10 ソフトウェア開発支援システム
2 開発支援部
21 レビュー情報埋込手段
22 レビュー情報表示手段
3 成果物管理部
31 情報付きソースコード
4 端末
5 開発者
6 ソースコード
61 ファイル
62 ソフトウェア
7 レビュー記録
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11