(57)【要約】【課題】開発におけるリファクタリングの際に最も費用対効果の高い部分を知る。【解決手段】開発支援装置は、開発の過程で変更される開発情報を記憶する開発情報記憶部１と、開発情報の変更ごとに変更前後の差分を示す差分情報を生成する差分情報生成部２と、差分情報が記憶される差分情報記憶部３と、開発の過程で必要となる差分情報を検索するための検索条件を受信し、差分情報記憶部３から当該検索条件を充足する差分情報を検索し、当該検索された差分情報に対応する開発情報の部分を表示する開発情報表示部４と、表示された開発情報の部分を示す表示開発情報が記憶される表示開発情報記憶部５と、表示開発情報記憶部５に記憶された表示開発情報に基づき、開発情報の最も多く表示された部分を求める開発情報検索部６とを備える。【選択図】図１
2014222440.tif 000002
【特許請求の範囲】
【請求項１】
開発の過程で変更される開発情報を記憶する開発情報記憶部と、
前記開発情報の変更ごとに変更前後の差分を示す差分情報を生成する差分情報生成部と、
前記差分情報が記憶される差分情報記憶部と、
開発の過程で必要となる前記差分情報を検索するための検索条件を受信し、前記差分情報記憶部から当該検索条件を充足する差分情報を検索し、当該検索された差分情報に対応する前記開発情報の部分を表示する開発情報表示部と、
前記表示された開発情報の部分を示す表示開発情報が記憶される表示開発情報記憶部と、
前記表示開発情報記憶部に記憶された表示開発情報に基づき、前記開発情報の最も多く表示された部分を求める開発情報検索部と
を備えることを特徴とする開発支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、開発におけるリファクタリングの際に最も費用対効果の高い部分を知るための開発支援装置に関するものである。
【背景技術】
【０００２】
機能追加型のプログラム開発においては、同じプログラムが複数の機能ブロックで実行されたり、安易に既存機能のソースコードが流用されたりし、プログラムの構成が必要以上に複雑となることがある。そのため、新規の開発を行うと色々な機能ブロックに手が入り開発規模が増える。よって、プログラムから無駄を削除し、集約することで、プログラムをスリム化し、開発規模を削減する必要がある。
【０００３】
プログラムの開発規模を削減する技術としてリファクタリングがあるが、これはプログラムを静的に解析するものであり、プログラムの改修も大規模となりがちである。よって、改修の費用対効果が少なく、実施が見送られる場合が多い。そのため、費用対効果の高い箇所だけにリファクタリングを実施することが求められる。
【０００４】
また、プログラムをシステム系列と捉えれば、SPLE(Software Product Line Engineering)という考え方があり、これによれば、ソフトウェアの再利用を体系的・計画的に行うことになる。しかし、SPLEにおいては、共通性・可変性の箇所がどこかを複数プロダクトの仕様書を横断的に確認して見極める必要があり、多大な作業コストが発生する。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】リファクタリングの種類とそれぞれの適用方法、［ｏｎｌｉｎｅ］、［平成２５年４月２４日検索］、インターネット＜ＵＲＬ：http://www.crystal-creation.com/software/technical-information/programming/tech/refactoring/＞
【非特許文献２】ソフトウエアプロダクトライン開発（SPLE）、［ｏｎｌｉｎｅ］、［平成２５年４月２４日検索］、インターネット＜ＵＲＬ：http://www.fuji-setsu.co.jp/products/purevariants/Danilo_Blog.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、上記の課題に鑑みてなされたものであり、その目的とするところは、開発におけるリファクタリングの際に最も費用対効果の高い部分を知るための開発支援装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明は、開発の過程で変更される開発情報を記憶する開発情報記憶部と、前記開発情報の変更ごとに変更前後の差分を示す差分情報を生成する差分情報生成部と、前記差分情報が記憶される差分情報記憶部と、開発の過程で必要となる前記差分情報を検索するための検索条件を受信し、前記差分情報記憶部から当該検索条件を充足する差分情報を検索し、当該検索された差分情報に対応する前記開発情報の部分を表示する開発情報表示部と、前記表示された開発情報の部分を示す表示開発情報が記憶される表示開発情報記憶部と、前記表示開発情報記憶部に記憶された表示開発情報に基づき、前記開発情報の最も多く表示された部分を求める開発情報検索部とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、開発の過程で変更される開発情報において最も多く表示された部分つまり開発におけるリファクタリングの際に最も費用対効果の高い部分を知ることができる。
【図面の簡単な説明】
【０００９】
【図１】本実施の形態に係る開発支援装置の概略構成を示す図である。
【図２】開発情報の一例を示す図である。
【図３】差分情報生成部２の動作を説明するための図である。
【図４】開発情報表示部４の動作を示すフローチャートである。
【図５】表示開発情報の一例を示す図である。
【図６】開発情報検索部６の動作を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について図面を参照して説明する。
【００１１】
図１は、本実施の形態に係る開発支援装置の概略構成を示す図である。  
開発支援装置は、開発の過程で変更される開発情報を記憶する開発情報記憶部１と、開発情報の変更ごとに変更前後の差分を示す差分情報を生成する差分情報生成部２と、差分情報が記憶される差分情報記憶部３と、開発の過程で必要となる差分情報を検索するための検索条件を受信し、差分情報記憶部３から当該検索条件を充足する差分情報を検索し、当該検索された差分情報に対応する開発情報の部分を表示する開発情報表示部４と、表示された開発情報の部分を示す表示開発情報が記憶される表示開発情報記憶部５と、表示開発情報記憶部５に記憶された表示開発情報に基づき、開発情報の最も多く表示された部分を求める開発情報検索部６とを備える。
【００１２】
また、開発支援装置は、例えば、開発者などに使用される端末１１と、管理者などに使用される端末１２とに対し通信回線を介して接続される。
【００１３】
図２は、開発情報の一例を示す図である。  
開発情報は、ここでは、機能追加型開発の対象となるコンピュータプログラム（アプリケーションプログラムなど）の設計仕様書であり、ページ毎に分けられ、関数名、手続き名、データ名、変数名などを含む。
【００１４】
図３は、差分情報生成部２の動作を説明するための図である。  
差分情報生成部２は、開発情報の変更ごとに変更前後の開発情報を比較し、変更前の開発情報と変更後の開発情報の差分を示す差分情報を生成し、差分情報記憶部３に記憶させる。よって、差分情報記憶部３には変更ごとの差分情報が記憶される。差分情報としては、例えば、開発変更の費用見積もりの情報を流用できる。
【００１５】
図４は、開発情報表示部４の動作を示すフローチャートである。  
開発者は、開発の過程で必要となる差分情報を検索するための検索条件を端末１１に入力し、これにより、端末１１は、条件を開発支援装置に送信する。検索条件は、例えば、キーワードであり、統計関数に関する変更の箇所を知りたい場合、条件は、統計関数を示すキーワードを含むものとなる。
【００１６】
開発支援装置の開発情報表示部４は、検索条件を受信し（Ｓ１）、差分情報記憶部３から当該検索条件を充足する差分情報を検索し（Ｓ３）、当該検索された差分情報に対応する開発情報の部分を示す検索結果を端末１１に送信し、端末１１の画面に表示する（Ｓ５）。
【００１７】
例えば、開発情報表示部４は、統計関数を示すキーワードを含む差分情報を検索し、差分情報に具体的な関数名や開発情報におけるページ番号が含まれている場合には、関数名やページ番号を検索結果に含ませ、さらに、開発情報記憶部１から開発情報を読み出し、その該当ページに記載された内容（手続き名、データ名、変数名など）を検索結果に含ませ、検索結果を端末１１に送信して表示する。
【００１８】
例えば、開発者は、検索結果に基づいて、開発情報を同様に変更する場合の費用算出などを行う。
【００１９】
また、開発情報表示部４は、表示された開発情報の部分を示す表示開発情報を表示開発情報記憶部５に記憶させ（Ｓ７）、処理を終える。
【００２０】
図５は、表示開発情報の一例を示す図である。  
表示開発情報は、差分情報を検索した日時、その検索条件（キーワードなど）、開発情報におけるページ番号、関数名、手続き名、データ名、変数名などを含む。
【００２１】
図６は、開発情報検索部６の動作を示すフローチャートである。  
管理者は、開発のリファクタリングの際に最も費用対効果の高い部分を知るべく、端末１２を操作し、これにより、端末１２は、操作内容に応じた検索条件を開発支援装置に送信する。最も費用対効果の高いページを知りたい場合、その旨を示す検索条件が送信される。
【００２２】
開発支援装置の開発情報検索部６は、検索条件を受信し（Ｓ１１）、検索条件に基づいて、この場合は、開発情報の各ページ番号につき、表示開発情報記憶部５に記憶された全ての表示開発情報における出現回数を計数する（Ｓ１３）。
【００２３】
続いて、開発情報検索部６は、最も多い出現回数に対応するページを求め（Ｓ１５）、当該ページを示す検索結果を端末１２に送信し、画面に表示し（Ｓ１７）、処理を終える。
【００２４】
管理者は、表示された検索結果により示されるページ、つまり開発のリファクタリングの際に最も費用対効果の高いページを知ることができる。例えば、そのページに関するリファクタリングが行われ、開発費用削減が図られる。
【００２５】
なお、開発情報検索部６は、例えば、出現回数の多い順に複数のページを検索し、それらのページ番号のリストを検索結果としてもよい。
【００２６】
また、上記説明では、ページを例としたが、ページに限らず、リファクタリングする際に最も費用対効果の高い関数名、手続き名、データ名、変数名を求めるようにしてもよい。
【００２７】
また、上記説明では、開発情報をプログラムの設計仕様書としたが、開発情報はこれに限らず、プログラム自体であってもよい。また、建設、土木の工事などの計画書であってもよい。
【００２８】
以上のように、本実施の形態の開発支援装置によれば、差分情報生成部２が、開発情報の変更ごとに変更前後の差分を示す差分情報を生成して差分情報記憶部３に記憶させ、開発情報表示部４が、開発の過程で必要となる差分情報を検索するための検索条件を受信し、差分情報記憶部３から当該検索条件を充足する差分情報を検索し、当該検索された差分情報に対応する開発情報の部分を表示し、表示された開発情報の部分を示す表示開発情報を表示開発情報記憶部５に記憶させ、開発情報検索部６が、表示開発情報記憶部５に記憶された表示開発情報に基づき、開発情報の最も多く表示された部分を求めるので、当該部分つまり開発におけるリファクタリングの際に最も費用対効果の高い部分を知ることができ、この部分についてリファクタリングを行えば、費用対効果を高めることができる。
【００２９】
なお、開発支援装置としてコンピュータを機能させるためのコンピュータプログラムは、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのコンピュータ読み取り可能な記録媒体に記録でき、また、インターネットなどの通信網を介して伝送させて、広く流通させることができる。
【符号の説明】
【００３０】
１…開発情報記憶部
２…差分情報生成部
３…差分情報記憶部
４…開発情報表示部
５…表示開発情報記憶部
６…開発情報検索部
【図１】
2014222440.tif 000003
【図２】
2014222440.tif 000004
【図３】
2014222440.tif 000005
【図４】
2014222440.tif 000006
【図５】
2014222440.tif 000007
【図６】
2014222440.tif 000008