以下、図面を参照して、各実施形態について説明する。
(第1実施形態)
まず、第1実施形態について説明する。本実施形態に係る管理装置は、ソースコードに関連する情報(ソースコード関連情報)を管理する装置であり、ソフトウェア製品の開発に使用されるソースコード管理ツール及びタスク管理ツールを紐づけるために用いられる。
ここで、ソースコード管理ツールとは、ソフトウェア製品の開発において、例えばJava(登録商標)及びC言語等のプログラム言語で記述されたソースコードのバージョンを管理するためのツール(アプリケーションプログラム)である。ソースコードのバージョンは、当該ソースコードに対する例えば機能追加、修正、改善及び派生開発等によって更新(変更)される。ソースコード管理ツールとしては、例えばオープンソースソフトウェアのGit及びSubversion等を用いることができる。
また、タスク管理ツールとは、ソフトウェア製品の開発におけるソースコードの編集作業に対して定義されているタスクの進捗状況を追跡及び管理するためのツール(アプリケーションプログラム)である。なお、タスク管理ツールにおいて管理されるタスクには、例えばソフトウェア製品の不具合、機能追加及び改善等の各種作業案件が含まれる。タスク管理ツールとしては、例えばGitHub及びRedmine等を用いることができる。
本実施形態に係る管理装置(管理ツール)は、上記したソースコード管理ツールにおいて管理されているソースコード及びタスク管理ツールにおいて管理されているタスクとの対応関係を管理する機能を有する。
なお、ソースコード管理ツールにおいては、例えばソースコードのバージョンを管理するためのコミット情報が保持されている。一方、タスク管理ツールにおいては、タスクを示すタスク情報が保持されている。なお、コミット情報及びタスク情報の詳細については後述する。
図1は、本実施形態に係る管理装置の機能構成の一例を示すブロック図である。図1に示すように、管理装置10は、対応表作成部11、タスク情報取得部12、格納部(DB)13、第1表示処理部14、検索部15及び第2表示処理部16を含む。
対応表作成部11は、上記したソースコード管理ツールに保持されているソースコードのバージョンを管理するためのコミット情報を取得する。対応表作成部11は、取得されたコミット情報に基づいて、当該コミット情報によってバージョンが管理されているソースコードの編集作業に対して定義されているタスクを特定する。これにより、対応表作成部11は、ソースコード管理ツールにおいて管理されているソースコードとタスク管理ツールにおいて管理されているタスクとの対応関係を示す対応表(対応情報)を作成する。
以下の説明においては、対応表作成部11によって作成された対応表において対応関係が示されているソースコード及びタスクは互いに対応すると表記する。
タスク情報取得部12は、対応表作成部11によって作成された対応表に基づいて、ソースコード管理ツールにおいて管理されているソースコードに対応するタスクを示すタスク情報を取得する。
なお、対応表作成部11によって作成された対応表及びタスク情報取得部12によって取得されたタスク情報は、格納部13に格納される。
第1表示処理部14は、格納部13に格納された対応表に基づいて、格納部13に格納されたタスク情報を、当該タスク情報によって示されるタスクに対応するソースコードに関連づけて表示する。
検索部15は、管理装置10を使用するユーザによって指定された検索条件(例えば、キーワード等)に基づいて、ソースコード管理ツールにおいて管理されているソースコード(当該ソースコードが格納されているファイル)を検索する処理を実行する。
第2表示処理部16は、検索部15による検索結果(例えば、ソースコードが格納されているファイルのファイル名等)を表示する。
図2は、図1に示す管理装置10のシステム構成の一例を示す。ここでは、管理装置10が例えばパーソナルコンピュータ(PC)等であるものとして説明するが、管理装置10は他の電子機器であってもよい。
図2に示すように、管理装置10は、CPU101、不揮発性メモリ102、主メモリ103、BIOS-ROM104、システムコントローラ105、入力デバイス106、表示デバイス107及びエンベデッドコントローラ(EC)108等を備える。
CPU101は、管理装置10内の各コンポーネントの動作を制御するプロセッサである。CPU101は、ストレージデバイスである不揮発性メモリ102から主メモリ103にロードされる様々なプログラムを実行する。このプログラムには、オペレーティングシステム(OS)、及びソースコード管理ツールにおいて管理されているソースコードとタスク管理ツールにおいて管理されているタスクとの対応関係を管理するためのプログラム(以下、管理プログラムと表記)等が含まれる。
なお、本実施形態において、管理プログラムは、例えば統合開発環境を提供するためのアプリケーションプログラム(ツール)に組み込まれるプラグインとして実現されても構わない。
CPU101は、BIOS-ROM104に格納された基本入出力システム(BIOS)も実行する。BIOSは、ハードウェア制御のためのプログラムである。
システムコントローラ105は、CPU101のローカルバスと各種コンポーネントとの間を接続するデバイスである。
入力デバイス106は、例えばキーボード及びマウス等を含む。表示デバイス107は、例えば液晶表示装置のようなディスプレイ等を含む。EC108は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。
図2においては、CPU101、不揮発性メモリ102、主メモリ103、BIOS-ROM104、システムコントローラ105、入力デバイス106、表示デバイス107及びEC108のみが示されているが、管理装置10は、例えばHDD(Hard Disk Drive)及びSSD(Solid State Drive)のような他の記憶装置を備えていてもよいし、外部装置との通信を実行するように構成された通信デバイス等を備えていてもよい。
なお、本実施形態において、上記した図1に示す各部11、12及び14~16の一部または全ては、例えば図2に示すCPU101(つまり、管理装置10のコンピュータ)に上記した管理プログラムを実行させること、すなわちソフトウェアによって実現されるものとする。なお、管理プログラムは、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、管理プログラムは、例えばネットワークを介して管理装置10にダウンロードされても構わない。
ここでは、各部11、12及び14~16の一部または全てがソフトウェアによって実現されるものとして説明したが、当該各部11、12及び14~16の一部または全ては、例えばハードウェアによって実現されてもよいし、ソフトウェア及びハードウェアの組み合わせ構成として実現されてもよい。
また、図1に示す格納部13は、例えば図2に示す不揮発性メモリ102または他の記憶装置等によって実現される。
以下、本実施形態に係る管理装置10によって紐づけられるソースコード管理ツール及びタスク管理ツールについて簡単に説明する。
まず、図3のフローチャートを参照して、ソースコード管理ツールの概要について説明する。ソースコード管理ツールは例えばアプリケーションプログラムとして実現され、ユーザは、当該ソースコード管理ツール(アプリケーションプログラム)が例えば管理装置10または当該管理装置10とは異なる他の電子機器上で実行されることによって当該ソースコード管理ツールを使用することができる。図3はソースコード管理ツールを実行する管理装置10または他の電子機器の処理手順の一例を示しているが、当該図3においては、ソースコード管理ツールが処理を実行するものとして説明する。
なお、ソースコード管理ツールにおいては、当該ソースコード管理ツールを使用するユーザによって編集されるソースコード(以下、対象ソースコードと表記)を格納するファイルが保持されているものとする。
上記したようにユーザがソースコード管理ツールを使用する場合、ソースコード管理ツールは、対象ソースコードを表示する(ステップS1)。なお、ステップS1の処理は、例えばソースコード管理ツールを使用するユーザによって対象ソースコードが格納されているファイルが指定されることによって実行される。
この場合、ステップS1において表示された対象ソースコードは、ユーザの操作に応じて編集される(ステップS2)。なお、ステップS2における対象ソースコードの編集には、当該対象ソースコード中に記述されているコード(行)を例えば変更、修正、追加及び削除すること等が含まれる。
ここで、ソースコード管理ツールは、上記したようにソースコード(ソフトウェア製品)のバージョンを管理する機能を有する。この場合、ソースコード管理ツールは、ユーザによって編集されるソースコードをコミットと称される単位で管理し、例えば新しいバージョンのソースコード(つまり、編集後のソースコード)が登録された場合には、当該ソースコードより前に登録されたソースコード(直前のソースコード)からの変更箇所(差分)を記録する。
なお、直前のソースコードからの変更箇所を記録するために、新しいバージョンのソースコードが登録されることを「コミットする」と称する。
上記したステップS2の処理が実行された後の新しいバージョンの対象ソースコードがコミットされた場合、ソースコード管理ツールは、対象ソースコードのバージョンを管理するためのコミット情報を生成する(ステップS3)。
ステップS3において生成されたコミット情報(つまり、対象ソースコードのバージョン)は、新しいバージョンの対象ソースコードが格納されたファイルとともにソースコード管理ツールにおいて保持される。
図4は、上記したコミット情報のデータ構造の一例を示す。図4に示すように、コミット情報は、コミットID、ファイル名、変更行及びコミットコメントを含む。
コミットIDは、ソースコードがコミットされた場合に当該コミットに対して割り当てられる、当該コミット(つまり、バージョン)を識別するための識別情報である。
ファイル名は、コミットされたソースコードが格納されているファイルのファイル名である。
変更行は、コミットされたソースコードの中の、直前のソースコードから変更された行の位置(例えば、行番号等)を示す。なお、変更行は、変更内容(追加、修正及び削除等)の情報を含むものであってもよい。
コミットコメントは、ソースコードがコミットされた際にユーザによって作成(入力)されたテキスト(例えば、ソースコードの編集に関するコメント等)である。
図4に示す例では、コミット情報201及び202が示されている。コミット情報201は、コミットID「1」、ファイル名「ファイル1」、変更行「変更行1」及びコミットコメント「aaa」を含む。このコミット情報201によれば、直前のソースコードから「変更行1」によって示される行が変更されたソースコード(ファイル名が「ファイル1」であるファイルに格納されているソースコード)がコミットされ、当該コミットに対してコミットID「1」が割り当てられていることが示されている。また、コミット情報201によれば、ファイル名が「ファイル1」であるファイルに格納されているソースコードがコミットされる際にユーザによって作成されたコミットコメントが「aaa」であることが示されている。
また、コミット情報202は、コミットID「2」、ファイル名「ファイル1」、変更行「変更行2」及びコミットコメント「bbb」を含む。このコミット情報202によれば、直前のソースコードから「変更行2」によって示される行が変更されたソースコード(ファイル名が「ファイル1」であるファイルに格納されているソースコード)がコミットされ、当該コミットに対してコミットID「2」が割り当てられていることが示されている。また、コミット情報202によれば、ファイル名が「ファイル1」であるファイルに格納されているソースコードがコミットされる際にユーザによって作成されたコミットコメントが「bbb」であることが示されている。
なお、図4には示されていないが、本実施形態におけるコミットコメントには、コミットされたソースコードの編集作業に対して定義されているタスク(つまり、当該ソースコードに対応するタスク)を識別するためのタスク識別情報(以下、タスクIDと表記)が含まれているものとする。
すなわち、例えばコミット情報201及び202に含まれるコミットコメントには、ファイル名が「ファイル1」であるファイルに格納されているソースコードに対応するタスクを識別するためのタスクIDが含まれている。コミット情報201及び202には同一のファイル名「ファイル1」が含まれているため、当該コミット情報201及び202に含まれるコミットコメントには、例えば同一のタスクIDが含まれる。
なお、例えばソースコードがコミットされるタイミングによっては、同一のファイル名を含むコミット情報であっても、当該コミット情報に含まれるコミットコメントが異なるタスクIDを含んでいてもよい。
図4においては便宜的にコミット情報201及び202についてのみ説明したが、コミット情報は、ソースコードがコミットされる度に生成され、ソースコード管理ツールにおいて保持される。
上記したようにコミット情報を保持するソースコード管理ツールを使用することによって、ユーザは、例えば任意のバージョンのソースコードを確認する(レビューする)こと等が可能となる。
なお、図4において説明したコミット情報のデータ構造は一例であり、当該コミット情報には、例えばソースコードを編集したユーザのユーザ名や当該ソースコードの編集日時等の他の情報が含まれていてもよい。
また、図4に示すコミット情報には1つのコミット(コミットID)に対応づけて1つのファイル名が含まれているが、1つのコミットに複数のファイル名が含まれていても構わない。換言すれば、1つのコミットに複数ファイルの変更が含まれていてもよい。
ここで、ソースコード管理ツールにおいては複数のソースコードの各々のバージョンを管理することが可能であるが、当該複数のソースコードの各々を格納する複数のファイル(ソースコードのファイル)は、例えば階層構造を有する複数のフォルダに配置されるように管理されているものとする。
この場合、ソースコード管理ツールにおいては、各ファイルが配置される複数のフォルダの階層構造を表す情報(以下、階層構造情報と表記)が保持されている。
図5は、階層構造情報のデータ構造の一例を示す。図5に示すように、階層構造情報は、上位階層(を示す情報)及び下位階層(を示す情報)を含む。
上位階層は、対応づけられている下位階層(のフォルダまたはファイル)に対して階層構造の上位に位置するフォルダを示す。なお、上位階層は、例えばフォルダ名を含む。
下位階層は、対応づけられている上位階層(のフォルダ)に対して階層構造の下位に位置するフォルダまたはファイルを示す。なお、下位階層は、例えばフォルダ名またはファイル名を含む。
図5に示す例では、フォルダ名が「フォルダA」であるフォルダが階層構造の上位に位置しており、当該フォルダの下位にフォルダ名が「フォルダ1」であるフォルダが位置していることが示されている。また、フォルダ名が「フォルダ1」であるフォルダが階層構造の上位に位置しており、当該フォルダの下位にファイル名が「ファイル1」及び「ファイル2」であるファイルが位置していることが示されている。換言すれば、図5に示す例では、ファイル名が「ファイル1」及び「ファイル2」である2つのファイルが、フォルダ名が「フォルダA」であるフォルダの下位に位置するフォルダ名が「フォルダ1」であるフォルダに配置されるように管理されていることが示されている。
このような階層構造情報によれば、例えば複数のソースコードのファイルを、階層構造を有する複数のフォルダの各々に配置して一覧表示することができる。
次に、図6のフローチャートを参照して、タスク管理ツールの概要について説明する。タスク管理ツールは例えばアプリケーションプログラムとして実現され、ユーザは、当該タスク管理ツール(アプリケーションプログラム)が例えば管理装置10または当該管理装置10とは異なる他の電子機器上で実行されることによって当該タスク管理ツールを使用することができる。図6はタスク管理ツールを実行する管理装置10または他の電子機器の処理手順の一例を示しているが、当該図6においては、タスク管理ツールが処理を実行するものとして説明する。
ここで、タスク管理ツールを使用するユーザは、ソースコードの編集作業に対して定義されるタスクを登録(作成)することができる。
この場合、タスク管理ツールは、ユーザによって登録されるタスク(以下、対象タスクと表記)に対して当該タスクを識別するためのタスクIDを割り当てる(ステップS11)。なお、タスクIDは、自動的に対象タスクに割り当てられてもよいし、例えばユーザによって指定されてもよい。
次に、タスク管理ツールは、例えばユーザの操作に応じて当該ユーザによって指定(作成)された対象タスクのタイトルを入力する(ステップS12)。
更に、タスク管理ツールは、ユーザの操作に応じて当該ユーザによって指定(作成)された対象タスクの説明を入力する(ステップS13)。
ステップS13の処理が実行されると、タスク管理ツールは、上記したステップS11において対象タスクに対して割り当てられたタスクID、ステップS12において入力された対象タスクのタイトル及びステップS13において入力された対象タスクの説明等を含むタスク情報(対象タスクを示すタスク情報)を生成する(ステップS14)。
ステップS14において生成されたタスク情報(対象タスク)は、タスク管理ツールにおいて管理される。
図6に示す例では、ステップS11~S14の処理が順次実行されるものとして説明したが、例えば当該ステップS11~S13の処理の順番は適宜変更されてもよい。また、ステップS11の処理は、例えばステップS14の処理が実行される際に実行されても構わない。
図7は、上記したタスク情報のデータ構造の一例を示す。図7に示すように、タスク情報は、タスクID、タイトル、説明、状況及び履歴を含む。
タスクIDは、上記した図6に示すステップS11においてタスクに割り当てられた識別情報(ユーザによって作成されたタスクを識別するための識別情報)である。
タイトルは、対応づけられているタスクIDによって識別されるタスクのタイトルである。
説明は、対応づけられているタスクIDによって識別されるタスクの説明(テキスト)である。
状況は、対応づけられているタスクIDによって識別されるタスクの状況(進捗状況)を示す。なお、上記したステップS14においてタスク情報が生成された時点では、当該タスク情報に含まれる状況は「オープン(開始)」である。一方、タスク情報によって示されるタスク(つまり、ソースコードの編集作業)が完了した場合、当該タスク情報に含まれる状況は「クローズ(終了)」に変更される。なお、タスク情報に含まれる状況の「オープン」から「クローズ」への変更は、例えばユーザの操作に応じて行われる。また、一旦「クローズ」に変更されたタスクの状況を再度「オープン」に変更することも可能である。なお、本実施形態においては、タスクの状況として「オープン」及び「クローズ」がタスク情報に含まれるものとして説明するが、当該タスク情報には、他の状況が含まれていてもよい。
ここで、タスクとして定義されている一連のソースコードの編集作業は例えば複数のユーザ間で行われる場合があり、この場合、タスク管理ツールは、当該複数のユーザ間で交わされた当該タスクに関するコメント(テキスト)を履歴として記録しておくことが可能であるものとする。すなわち、タスク情報に含まれる履歴は、対応づけられているタスクIDによって識別されるタスクに関するユーザのコメント(の履歴)に相当する。
図7に示す例では、タスク情報211及び212が示されている。タスク情報211は、タスクID「1」、タイトル「タイトル1」、説明「ccc」、状況「クローズ」及び履歴「ddd」を含む。このタスク情報211によれば、タスクID「1」によって識別されるタスクのタイトルが「タイトル1」であり、当該タスクの説明が「ccc」であり、当該タスクに関するコメント(の履歴)が「ddd」であることが示されている。また、タスク情報211によれば、タスクID「1」によって識別されるタスクの状況が「クローズ」であることが示されている。
また、タスク情報212は、タスクID「2」、タイトル「タイトル2」、説明「eee」、状況「オープン」及び履歴「fff」を含む。このタスク情報212によれば、タスクID「2」によって識別されるタスクのタイトルが「タイトル2」であり、当該タスクの説明が「eee」であり、当該タスクに関するコメント(の履歴)が「fff」であることが示されている。また、タスク情報212によれば、タスクID「2」によって識別されるタスクの状況が「オープン」であることが示されている。
図7においては便宜的にタスク情報211及び212についてのみ説明したが、タスク情報は、ユーザによって登録されたタスク毎に生成され、タスク管理ツールにおいて保持される。
上記したようにタスク情報を保持するタスク管理ツールを使用することによって、ユーザは、例えばタスクの進捗状況等を確認すること等が可能となる。
なお、図7において説明したタスク情報のデータ構造は一例であり、当該タスク情報には、例えばタスクの種別等の他の情報が含まれていてもよい。
次に、図8のフローチャートを参照して、本実施形態に係る管理装置10の処理手順の一例について説明する。
まず、管理装置10を使用するユーザは、当該管理装置10上で上記した管理プログラム(管理ツール)を起動する。
管理装置10上で管理プログラムが起動された場合、対応表作成部11は、上記したソースコード管理ツールに保持されているコミット情報を取得する(ステップS21)。
次に、対応表作成部11は、ステップS21において取得されたコミット情報に基づいて、ソースコード管理ツールにおいて管理されているソースコードの各々に対応するタスクを特定する。これにより、対応表作成部11は、ソースコード管理ツールにおいて管理されているソースコードと当該ソースコードの編集作業に対して定義されているタスク(つまり、当該ソースコードに対応するタスク)との対応関係を示す対応表を作成する(ステップS22)。
ここで、ステップS21において取得されたコミット情報には図4において説明したようにコミットID、ファイル名、変更行及びコミットコメントが含まれているが、対応表作成部11は、当該コミットコメントに含まれるタスクIDを抽出(取得)し、当該コミットコメントに対応づけられているファイル名及び当該抽出されたタスクIDを対応づける。
ステップS22においては、このような処理がコミット情報毎に実行されることによって、例えば図9に示すようなファイル名(つまり、ソースコードのファイル)とタスクID(つまり、当該ソースコードに対応するタスク)とを対応づけて含む対応表が作成される。
なお、図9に示す例では、例えばファイル名「ファイル1」とタスクID「1」とが対応づけて対応表に含まれている。これによれば、ファイル名が「ファイル1」であるファイルに格納されているソースコードの編集作業に対して定義されているタスクがタスクID「1」によって識別されるタスクであることが示されている。
同様に、図9に示す例では、例えばファイル名「ファイル2」とタスクID「2」とが対応づけて対応表に含まれている。これによれば、ファイル名が「ファイル2」であるファイルに格納されているソースコードの編集作業に対して定義されているタスクがタスクID「2」によって識別されるタスクであることが示されている。
再び図8に戻ると、タスク情報取得部12は、タスク管理ツールに保持されているタスク情報のうち、ステップS22において作成された対応表に含まれるタスクIDによって識別されるタスクを示すタスク情報を取得する(ステップS23)。具体的には、ステップS23においては、ステップS22において作成された対応表に含まれるタスクIDを含むタスク情報が取得される。
なお、ステップS22において作成された対応表及びステップS23において取得されたタスク情報は、格納部13に格納される。
次に、第1表示処理部14は、ソースコード管理ツールに保持されている階層構造情報を取得し、当該階層構造情報に基づいて、複数のファイルが配置されている複数のフォルダの階層構造(以下、ファイル階層と表記)を表示デバイス107に表示する(ステップS24)。このファイル階層においては、複数のソースコードが格納されているファイルの各々のファイル名が階層構造を有する複数のフォルダに配置された形式で一覧表示される。
また、第1表示処理部14は、格納部13に格納された対応表に基づいて、当該格納部13に格納されたタスク情報を表示する(ステップS25)。
なお、ステップS25において、第1表示処理部14は、ステップS24において表示されたファイル階層上のファイル名に対応づけて対応表に含まれているタスク情報を格納部13から取得し、当該タスク情報を当該ファイル名に関連づけて表示する。
なお、上記した図7において説明したようにタスク情報はタスクID、タイトル、説明、状況及び履歴を含むが、ステップS25におけるタスク情報としては例えばタスクID及びタイトル等が表示される。また、ステップS25の処理は、対応表に含まれているファイル名毎に実行される。
以下、上記した図8に示す処理が実行されることによって管理装置10(表示デバイス107)に表示される画面(以下、表示画面と表記)について具体的に説明する。
ここで、図10は、表示画面のレイアウトの一例を示す。図10に示すように、表示画面300には、第1領域301、第2領域302、第3領域303及び第4領域304が配置されている。
図10に示す例では、第1領域301は、管理装置10を使用するユーザから見て左側に配置されている。第2領域302は、管理装置10を使用するユーザから見て右側に配置されている。すなわち、第1領域301及び第2領域302は、第3領域303及び第4領域304を挟んで対向する位置に配置されている。
第3領域303は、第1領域301及び第2領域302によって挟まれる位置であって、第4領域304の上側に配置されている。第4領域304は、第1領域301及び第2領域302によって挟まれる位置であって、第3領域303の下側に配置されている。
第1領域301は、例えば上記したファイル階層を表示する(つまり、階層構造を有する複数のフォルダの各々に配置されているファイルのファイル名を表示する)ための領域である。第1領域301においてはファイル階層上のファイル名に関連づけてタスク情報が表示されるが、当該第1領域301における具体的な表示例については後述する。
第2領域302は、例えばタスク管理ツールにおいて管理されているタスク(を示すタスク情報が格納されているファイル)を一覧表示するための領域である。なお、第2領域302には、例えばタスク情報に含まれるタスクID及びタイトル等が一覧表示される。
ここで、ユーザは、管理装置10を操作することによって、第1領域301に表示されたファイル階層上のファイル名を指定することができる。第3領域303は、第1領域301においてユーザによって指定されたファイル名のファイルに格納されているソースコード(最新のバージョンのソースコード)を表示するための領域である。なお、第3領域303に表示されるソースコードは、例えば第1領域301においてユーザによって指定されたファイル名(当該ソースコードが格納されているファイルのパス)に基づいてソースコード管理ツール等から取得されればよい。
また、ユーザは、管理装置10を操作することによって、第2領域302に一覧表示されたタスク(タスクID及びタイトル)を指定することができる。第4領域304は、第2領域302においてユーザによって指定されたタスクを示すタスク情報を表示するための領域である。第4領域304に表示されるタスク情報は、例えば格納部13から取得される。
なお、図10に示すレイアウトは一例であり、例えば第1領域301及び第2領域302が隣接する位置に配置されていてもよいし、第3領域303及び第4領域304が離れた位置に配置されていてもよい。また、第1領域301~第4領域304の位置は適宜入れ替えられても構わない。また、表示画面300には、図10に示す第1領域301~第4領域304以外の領域が更に配置されていてもよい。
また、図10においては省略されているが、表示画面300には、例えばソフトウェア製品の開発に関する各種機能を利用するためのツールバー等が配置されていてもよい。
次に、図11を参照して、上記した図10に示す第1領域301の表示例について説明する。
なお、図11においては、便宜的に第1領域301の一部のみが示されているものとする。また、図11において、「フォルダA」、「フォルダ1」、「フォルダ2」はそれぞれフォルダ名を表しており、「ファイル1」、「ファイル2」及び「ファイル3」はそれぞれファイル名を表している。以下の図においても同様である。
以下の説明においては、便宜的に、フォルダ名が「フォルダA」、「フォルダ1」及び「フォルダ2」であるフォルダをそれぞれ単にフォルダA、フォルダ1及びフォルダ2と称する。同様に、ファイル名が「ファイル1」、「ファイル2」及び「ファイル3」であるファイルをそれぞれ単にファイル1、ファイル2及びファイル3と称する。
図11に示すように、第1領域301には、上記したフォルダA、フォルダ1及びフォルダ2の階層構造が表示されており、当該フォルダ1に配置されたファイル1、ファイル2及びファイル3が更に表示されている。
なお、図11に示すフォルダ1及びフォルダ2は、フォルダAの下位に配置されたフォルダである。また、図11において、フォルダ2に配置されているファイル等については省略されている。
ここで、第1領域301においては、ファイル1に関連づけて、当該ファイル1に格納されているソースコードに対応するタスクを示すタスク情報が表示されている。なお、ファイル1に対応するタスクを示すタスク情報としては、当該タスク情報に含まれるタスクID及びタイトルが表示される。具体的には、図11においては、ファイル1に関連づけてタスク情報「#12データ収集日の翌日に、当該ジョブが実行される」(以下、第1タスク情報と表記)が表示されているが、この場合、「#12」がタスクIDであり、「データ収集日の翌日に、当該ジョブが実行される」がタスクのタイトルである。
同様に、第1領域301においては、ファイル2に関連づけてタスク情報「#10テーマをユーザごとに変える」(以下、第2タスク情報と表記)が表示されている。この場合、「#10」がタスクIDであり、「テーマをユーザごとに変える」がタスクのタイトルである。
また、第1領域301においては、ファイル3に関連づけてタスク情報「#1バブルのサイズを○○様と相談の上決定する」(以下、第3タスク情報と表記)が表示されている。この場合、「#1」がタスクIDであり、「バブルのサイズを○○様と相談の上決定する」がタスクのタイトルである。
このような第1領域301においては、ファイル階層上で各ソースコード(ファイル)に対応するタスクの内容を確認することができる。
また、図11に示す例においては、フォルダ1に関連づけて第1タスク情報「#12データ収集日の翌日に、当該ジョブが実行される」、第2タスク情報「#10テーマをユーザごとに変える」及び第3タスク情報「#1バブルのサイズを○○様と相談の上決定する」が表示されている。
すなわち、複数のファイルが配置されているフォルダに対しては、当該ファイルの各々に格納されているソースコードに対応するタスクを示すタスク情報が関連づけて表示される。
なお、第1領域301のタスク情報を表示する領域のサイズによっては、フォルダに関連づけてタスク情報が表示されない構成としてもよい。
また、図11に示す第1領域301におけるタスク情報(第1~第3タスク情報)の表示態様は一例であり、当該タスク情報としては、例えばタスクのタイトルのみが表示されても構わない。
また、図11においてはタスク情報としてタスクID及びタスクのタイトルが表示されるものとして説明したが、タスクの状況が更に表示される構成としても構わない。具体的には、タスクの状況が「クローズ」であるタスク情報を表示する際には、例えば取り消し線が付加されたタスクIDが表示されるようにしてもよい。図12に示す例では、ファイル3に格納されているソースコードに対応するタスク(つまり、第3タスク情報によって示されるタスク)の状況が「クローズ」であることが示されている。
なお、図12においてはタスクIDに取り消し線が付加される例について示しているが、タスク情報によって示されるタスクの状況が「オープン」であるか「クローズ」であるかをユーザが把握可能であれば、当該タスクの状況は異なる態様で表示されてもよい。
また、本実施形態においては複数のファイルが階層構造を有するフォルダに配置されて表示されるものとして説明したが、第1領域301には、フォルダ名(つまり、ファイル階層)の表示を省略し、単にファイル名が一覧形式で表示されてもよい。
ここで、上記したように第1領域301においてファイル(ファイル名)がユーザによって指定された場合には、当該ファイルに格納されているソースコードが第3領域303に表示される。具体的には、図11に示す第1領域301に表示されているファイル1が指定された場合には、当該ファイル1に格納されているソースコードが第3領域303に表示される。
なお、第3領域303に表示されるソースコード(が格納されているファイル)は、ソースコード管理ツールから取得されてもよいし、格納部13に予め格納されていてもよい。
ここでは第3領域303にソースコードが表示されるものとして説明したが、例えば第3領域303には、ユーザによって指定されたファイルに格納されているソースコードのコミット情報が表示されてもよい。この場合には、例えば図13に示すような形式で、ユーザによって指定されたファイルに格納されているソースコードにおける変更箇所(つまり、コミット情報に含まれる変更行)が表示される。これによれば、ユーザは、当該ユーザによって指定されたファイルに格納されているソースコード(最新バージョンのソースコード)に至るまでの編集作業(変更箇所)の履歴等を把握することができる。
更に、ユーザは、第1領域301においてファイル名に関連づけて表示されているタスク情報を指定することも可能である。このようにユーザによって指定されたタスク情報は、上記したように第4領域304に表示される。図14は、第4領域304におけるタスク情報の表示例を示す。なお、図14は、タスクID「#1」によって識別されるタスクを示すタスク情報が表示された際の第4領域304の一例を示している。図14に示すように、第4領域304には、タスクID「#1」、当該タスクID「#1」を含むタスク情報に含まれるタイトル、説明、状況及び履歴等が表示される。
なお、第2領域302にはタスク管理ツールにおいて管理されているタスクが一覧表示されるが、当該第2領域302には、当該タスクを示すタスク情報に含まれるタスクID及びタスクのタイトルが一覧形式で表示されるものとする。この場合、第2領域302においては、単にタスクが一覧表示されるだけでもよいが、図15に示すように当該タスクに対応するソースコードを格納するファイルのファイル名(または当該ファイルのパス)が関連づけて表示されてもよい。なお、タスクに対応するソースコードを格納するファイルのファイル名は、例えば格納部13に格納されている対応表に基づいて取得(特定)することができる。
図15に示す例では、第2領域302には、例えばタスクID「#1」によって識別されるタスクに関連づけてファイル名「ファイル3」が表示されている。これによれば、タスクID「#1」によって識別されるタスクに対応するソースコードが格納されているファイルが「ファイル3」であることを容易に把握することができる。
同様に、第2領域302においては、例えばタスクID「#10」によって識別されるタスクに対応するソースコードが格納されているファイルが「ファイル2」であり、タスクID「#12」によって識別されるタスクに対応するソースコードが格納されているファイルが「ファイル1」であることを容易に把握することができる。
図15においては示されていないが、例えば1つのタスクIDによって識別されるタスクに関連づけて複数のファイル名が表示されていても構わない。
また、上記した第4領域304には、第2領域302においてユーザによって指定されたタスク情報が表示されてもよい。
更に、例えば第1領域301においてユーザによって指定されたファイルに格納されているソースコードが第3領域303に表示された場合に、当該ソースコードに対応するタスクを示すタスク情報が第4領域304に表示されてもよい。すなわち、第3領域303及び第4領域304において、ソースコード及び当該ソースコードに対応するタスクを示すタスク情報が関連づけて表示されるようにしてもよい。
上記したように表示画面300(第1領域301、第2領域302、第3領域303及び第4領域304)においては、ソースコード管理ツールにおいて管理されているソースコードとタスク管理ツールにおいて管理されているタスクとを様々な態様で関連づけて表示することが可能である。
ここで、本実施形態に係る管理装置10においては、ソースコード管理ツールにおいて管理されているソースコードを格納するファイルを検索することが可能である。
以下、図16のフローチャートを参照して、ファイルを検索する際の管理装置10の処理手順の一例について説明する。
ファイルを検索する場合、ユーザは、入力デバイス106(例えば、キーボード等)を用いて検索条件を指定することができる。検索部15は、ユーザによって指定された検索条件を取得する(ステップS31)。なお、ステップS31において取得される検索条件には、例えば検索ワード(キーワード)が含まれる。
次に、検索部15は、ソースコード管理ツールにおいて管理されているソースコードを格納するファイルの中から、ステップS31において取得された検索条件に合致するファイル(ファイルパス)を検索する(ステップS32)。
ここで、ソースコード中には、例えばコメント(注釈)を直接記述することができる。上記したステップS32において取得された検索条件が検索ワードであるものとすると、当該検索ワードを含むコメントが記述されているソースコードが格納されているファイルが検索結果として取得される。なお、ここではソースコード中のコメントを検索対象とするものとして説明したが、当該検索対象は、ソースコード全体であっても構わない。
更に、検索部15は、格納部13に格納されているタスク情報(タスク管理ツールに保持されているタスク情報)の中から、ステップS31において取得された検索条件に合致するタスク情報を検索する(ステップS33)。
上記したようにステップS32において取得された検索条件が検索ワードであるものとすると、ステップS33においては、当該検索ワードがタイトル、説明または履歴等のテキストに含まれているタスク情報が検索される。
この場合、ステップS33において検索されたタスク情報によって示されるタスクに対応するソースコードを格納するファイルが検索結果として取得される。なお、タスクに対応するソースコードを格納するファイルとは、上記した格納部13に格納されている対応表において当該タスクを識別するためのタスクIDに対応づけられているファイル名のファイルである。
ステップS33の処理が実行されると、第2表示処理部16は、検索結果として取得されたファイル(のファイル名)の一覧を表示デバイス107に表示する(ステップS34)。
ここで、図17は、図16に示す処理が実行された際の検索結果の表示例を示す。ここでは、検索ワード「バブルのサイズ」が検索条件としてユーザによって指定された場合の検索結果を示している。また、検索結果として取得されたファイルのファイル名は、例えば第1領域301に表示されるものとして説明する。
図17に示す例では、第1領域301には、ファイル3(ファイル名「ファイル3」)が検索結果として表示されている。なお、ファイル3は、フォルダAの下位に配置されているフォルダ1に配置されている。
更に、第1領域301には、ファイル3に関連づけて第3タスク情報「#1バブルサイズを○○様との相談の上決定する」が表示されている。
すなわち、図17においては、ファイル3に関連づけて表示されている第3タスク情報(タスクのタイトル)に検索ワード「バブルのサイズ」が含まれていることにより、検索結果としてファイル3が取得された例を示している。
また、第1領域301において、第3タスク情報として表示されている「#1バブルのサイズを○○様と相談の上決定する」に含まれる検索ワードに該当する部分(つまり、「バブルのサイズ」)は、図17に示すように例えば強調表示されてもよい。
なお、ここでは検索結果として取得されたファイルのファイル名が第1領域301に表示されるものとして説明したが、当該ファイル名(つまり、検索結果)は、第1領域301以外の領域に表示されてもよい。
上記したように本実施形態においては、ソースコードのバージョンを管理するためのコミット情報を取得し、当該取得されたコミット情報に基づいてソースコードの編集作業に対して定義されているタスクを特定し、当該特定されたタスクを示すタスク情報を取得する。
本実施形態においては、上記したように取得されたタスク情報をソースコードに関連づけて表示する構成により、例えばソースコード管理ツールにおいて管理されているソースコードとタスク管理ツールにおいて管理されているタスクとの対応関係を容易に把握することができる。これによれば、ソースコード管理ツール及びタスク管理ツールを効率的に使用することが可能となり、ソフトウェア製品の開発におけるユーザの利便性を向上させることができる。
また、本実施形態においては、階層構造を有する複数のフォルダの各々に配置された複数のソースコードの各々が格納されたファイルを一覧表示するとともに、当該ファイルに格納されているソースコードに対応するタスクを示すタスク情報を当該ファイルに関連づけて表示する。このような構成によれば、ソースコード管理ツールにおいて複数のソースコードのバージョンが管理されているような場合であっても、当該複数のソースコードの各々に対応するタスクを容易に把握することが可能となる。
更に、本実施形態においては、ユーザによって指定された検索条件に該当するタスク情報を検索し、当該検索されたタスク情報によって示されるタスクに対応するソースコードを格納するファイルを検索結果として表示する。具体的には、本実施形態におけるタスク情報は当該タスク情報によって示されるタスクに関するテキスト(例えば、タイトル、説明及び履歴等)を含み、ユーザによって検索条件として指定された検索ワード(キーワード)がテキストに含まれているタスク情報が検索される。
本実施形態においては、このような構成により、タスク情報を用いてソースコード(を格納するファイル)を検索することが可能となり、単にソースコードに記述されている内容のみを用いて検索する場合と比較して、多様な検索を実現することができる。
なお、ソースコードにはコメントが記述されている場合があるが、上記した検索条件として指定された検索ワードを含むコメント記述されているソースコードを検索することも可能である。
また、本実施形態において、ソースコードがコミットされる際にユーザによって作成されたコミットコメント(コミット情報に含まれるコミットコメント)には、当該ソースコードに対応するタスクを識別するためのタスクIDが含まれている(記述されている)ものとする。本実施形態においては、このような構成により、ソースコードとタスクとの対応関係を適切に特定することが可能となる。
ここでは、コミットコメントにタスクIDが含まれているものとして説明したが、ソースコードに対応するタスクを特定することが可能であれば、当該コミットコメントに他の情報(例えば、タイトル等)が含まれる構成であってもよい。
なお、本実施形態においては、タスク情報として例えばタスクID及びタスクのタイトルが表示されるものとして説明したが、当該タスク情報に含まれるタスクの状況を表示することも可能である。このような構成によれば、ユーザは各ソースコードに対応するタスクの状況が「オープン」であるか「クローズ」であるかに基づいて、当該ソースコードに対応するタスクの進捗状況を容易に把握することが可能となる。
また、第2領域302にはタスク管理ツールにおいて管理されているタスクが一覧表示されるが、上記したように当該タスクに関連づけて当該タスクに対応するソースコード(を格納するファイルのファイル名)が表示されてもよい。このような構成によれば、第2領域302において一覧表示されたタスクのうち例えばバグを埋め込んだようなタスクが明らかな場合には、当該タスクに対応するソースコード(つまり、修正すべきファイルの候補)を容易に把握することが可能となる。
本実施形態においては、対応表作成部11、タスク情報取得部12、格納部13、第1表示処理部14、検索部15及び第2表示処理部16が管理装置10内に含まれるものとして説明したが、これらの各部11~16は複数の装置に分散して配置されていてもよい。すなわち、本実施形態に係る管理装置10は、複数の装置によって実現されていてもよい。更に、管理装置10は、これらの各部11~16の少なくとも一部が外部装置に配置されるように構成されていてもよい。
(第2実施形態)
次に、第2実施形態について説明する。なお、本実施形態においては、前述した第1実施形態の説明で用いた図面と同様の部分には同一参照符号を付して説明するものとする。また、以下の説明では、前述した第1実施形態と異なる部分について主に述べる。
図18は、本実施形態に係る管理装置の機能構成の一例を示すブロック図である。図18に示すように、管理装置10は、前述した図1に示す各部11~16に加えて、進捗度算出部17を含む。
進捗度算出部17は、例えば複数のファイルが配置されているフォルダ毎に、当該フォルダにおけるオープン中(作業中)のタスクの割合(以下、進捗度と表記)を算出する。
進捗度算出部17によってフォルダ毎に算出された進捗度は、第1表示処理部14によって当該フォルダ(のフォルダ名)に関連づけて表示される。
次に、図19のフローチャートを参照して、本実施形態に係る管理装置10の処理手順の一例について説明する。
まず、前述した図8に示すステップS21~S23の処理に相当するステップS41~S43の処理が実行される。
次に、進捗度算出部17は、複数のファイルが配置されているフォルダ毎に、当該フォルダにおける進捗度を算出する(ステップS44)。
ここで、進捗度を算出するフォルダを対象フォルダとして、ステップS44の処理について具体的に説明する。
まず、進捗度算出部17は、対象フォルダに配置されている複数のファイルをソースコード管理ツールに保持されている階層構造情報に基づいて特定する。
次に、進捗度算出部17は、特定された複数のファイルの各々に格納されているソースコードに対応するタスクを示すタスク情報を、格納部13に格納されている対応表に基づいて取得する。
進捗度算出部17は、取得されたタスク情報によって示されるタスクのうち、タスクの状況が「オープン」であるタスクの割合を進捗度として算出する。なお、進捗度は、タスクの状況が「クローズ」であるタスクの割合であってもよい。
ステップS44においては、上記した処理が全てのフォルダに対して実行されることによって、フォルダ毎の進捗度が算出される。
ステップS44の処理が実行されると、前述した図8に示すステップS24及びS25の処理に相当するステップS45及びS46の処理が実行される。
更に、第1表示処理部14は、ステップS44においてフォルダ毎に算出された進捗度を、ステップS24において表示された当該フォルダのフォルダ名に関連づけて表示する(ステップS47)。
次に、図20を参照して、上記した図19に示す処理が実行された後の第1領域301の表示例について説明する。
図20に示すように、第1領域301には、フォルダA、フォルダ1及びフォルダ2の階層構造が表示されており、当該フォルダ1に配置されたファイル1、ファイル2及びファイル3が更に表示されている。
また、第1領域301においては、ファイル1に関連づけて第1タスク情報「#12データ収集日の翌日に、当該ジョブが実行される」が表示されている。同様に、第1領域301においては、ファイル2に関連づけて第2タスク情報「#10テーマをユーザごとに変える」が表示されている。更に、第1領域301においては、ファイル3に関連づけて第3タスク情報「#1バブルのサイズを○○様と相談の上決定する」が表示されている。
更に、第1領域301においては、フォルダ1に関連づけて上記した第1~第3タスク情報が表示されている。
ここで、上記した第1及び第2タスク情報に含まれるタスクの状況が「オープン」であり、第3タスク情報に含まれるタスクの状況が「クローズ」である場合を想定する。この場合、フォルダ1における進捗度としては、2/3が算出される。
このように算出されたフォルダ1における進捗度は、フォルダ1に関連づけて第1領域301に表示される。具体的には、フォルダ1における進捗度は、図20に示すように、例えばフォルダ名「フォルダ1」を囲う矩形形状の枠401内の領域のうち、当該進捗度(割合)に相当する領域に色彩を付与することによって表示される。図20に示す例では、フォルダ1における進捗度は2/3であるため、枠401内の2/3の領域に対して色彩が付与されている。
なお、第1領域301においては、例えば各ファイルに格納されているソースコードに対応するタスクを示すタスク情報に含まれるタスクの状況が同様の態様で表示されてもよい。具体的には、図20に示すように、上記した第1及び第2タスク情報に含まれるタスクの状況が「オープン」である場合には、ファイル名「ファイル1」を囲う矩形形状の枠402及びファイル名「ファイル2」を囲う矩形形状の枠403内の領域の全てに色彩が付与される。一方、第3タスク情報に含まれるタスクの状況が「クローズ」である場合には、ファイル名「ファイル3」を囲う矩形形状の枠404内の領域には色彩は付与されない。
上記したように本実施形態においては、複数のファイルが配置されるフォルダに関連づけて、当該複数のファイルの各々に格納されているソースコードに対応するタスクを示すタスク情報を表示するとともに、当該表示されたタスク情報によって示されるタスクのうち当該タスクの状況が「オープン」(第1状況)であるタスクの割合(つまり、進捗度)を表示する。本実施形態においては、このような構成により、例えばフォルダに配置されている複数のファイルの各々に格納されているソースコードに対応するタスクの状況を個別に確認することなく、当該フォルダに配置されている複数のファイルに格納されているソースコードに対応するタスク全体の進捗状況を容易に把握することが可能となる。
また、本実施形態においては、例えば各ファイルに格納されているソースコードに対応するタスクの状況についても同様の態様(形式)で表示することによって、当該タスクの状況を個別に確認することも可能である。
なお、本実施形態は、前述した第1実施形態に適用されてもよい。具体的には、本実施形態における進捗度は、例えば前述した第1実施形態において説明した検索結果を表示する際に併せて表示されても構わない。
(第3実施形態)
次に、第3実施形態について説明する。なお、本実施形態においては、前述した第1実施形態の説明で用いた図面と同様の部分には同一参照符号を付して説明するものとする。また、以下の説明では、前述した第1及び第2実施形態と異なる部分について主に述べる。
図21は、本実施形態に係る管理装置の機能構成の一例を示すブロック図である。図21に示すように、管理装置10は、前述した図1に示す各部11~16に加えて、オブジェクト作成部18を含む。
前述した第1実施形態において説明したように、ソースコードに対応するタスクを示すタスク情報(格納部13に格納されているタスク情報)にはタイトル、説明及び履歴等のテキストが含まれる。
オブジェクト作成部18は、上記したようにタスク情報に含まれるテキストに出現する単語を表すオブジェクト(以下、ワードクラウドと表記)を作成する。
オブジェクト作成部18によって作成されたワードクラウドは、当該ワードクラウドが作成されたタスク情報とともに、当該タスク情報によって示されるタスクに対応するソースコード(を格納するファイル)に関連づけて表示される。
次に、図22のフローチャートを参照して、本実施形態に係る管理装置10の処理手順の一例について説明する。
まず、前述した図8に示すステップS21~S23の処理に相当するステップS51~S53の処理が実行される。
次に、オブジェクト作成部18は、ステップS53において取得されて格納部13に格納されたタスク情報に基づいてワードクラウドを作成する(ステップS54)。
ここで、ステップS54の処理について具体的に説明すると、オブジェクト作成部18は、格納部13に格納されたタスク情報のうちの1つ(以下、対象タスク情報と表記)を取得する。
オブジェクト作成部18は、取得された対象タスク情報に含まれるテキスト(タイトル、説明及び履歴)に対して例えば形態素解析等の解析処理を実行し、当該テキストに含まれる単語を抽出する。
オブジェクト作成部18は、抽出された単語を表すワードクラウドを作成する。なお、オブジェクト作成部18によって作成されるワードクラウドの具体例については後述する。
ステップS54においては、上記した処理が格納部13に格納されている全てのタスク情報(つまり、ソースコードに対応するタスクを示すタスク情報)に対して実行されることによって、当該タスク情報毎のワードクラウドが作成される。
ステップS54の処理が実行されると、前述した図8に示すステップS24及びS25の処理に相当するステップS55及びS56の処理が実行される。
更に、第1表示処理部14は、ステップS54においてタスク情報毎に作成されたワードクラウドを、ステップS24において表示された当該タスク情報によって示されるタスクに対応するソースコードを格納するファイルのファイル名に関連づけて表示する(ステップS57)。
上記した図22に示す処理によれば、各ファイルに格納されているソースコードの概要を、当該ソースコードに対応するタスク(を示すタスク情報)のワードクラウドで表示することができる。
次に、図23を参照して、上記した図22の処理が実行された後の第1領域301の表示例について説明する。
図23に示すように、第1領域301には、フォルダA、フォルダ1及びフォルダ2の階層構造が表示されており、当該フォルダ1に配置されたファイル1、ファイル2及びファイル3が更に表示されている。
また、第1領域301においては、ファイル1に関連づけて第1タスク情報「#12データ収集日の翌日に、当該ジョブが実行される」が表示されている。同様に、第1領域301においては、ファイル2に関連づけて第2タスク情報「#10テーマをユーザごとに変える」が表示されている。更に、第1領域301においては、ファイル3に関連づけて第3タスク情報「#1バブルのサイズを○○様と相談の上決定する」が表示されている。
ここで、本実施形態においては、ファイル1及び第1タスク情報に関連づけて、当該第1タスク情報に含まれるテキスト(例えば、タイトル「データ収集日の翌日に、当該ジョブが実行される」等)から作成されたワードクラウド501が更に表示される。
なお、ワードクラウド501は、第1タスク情報に含まれるテキストを構成する各単語の出現頻度(優先度)を表している。具体的には、ワードクラウド501には、第1タスク情報に含まれるテキスト中の出現頻度に応じて決定されたサイズで表記された単語が含まれている。
また、ファイル2及び第2タスク情報に関連づけて、当該第2タスク情報に含まれるテキスト(例えば、タイトル「テーマをユーザごとに変える」等)から作成されたワードクラウド502が更に表示されている。
なお、ワードクラウド502は、第2タスク情報に含まれるテキストを構成する各単語の出現頻度を表している。具体的には、ワードクラウド502には、第2タスク情報に含まれるテキスト中の出現頻度に応じて決定されたサイズで表記された単語が含まれている。
同様に、ファイル3及び第3タスク情報に関連づけて、当該第3タスク情報に含まれるテキスト(例えば、タイトル「バブルのサイズを○○様と相談の上決定する」等)から作成されたワードクラウド503が更に表示されている。
なお、ワードクラウド503は、第3タスク情報に含まれるテキストを構成する各単語の出現頻度を表している。具体的には、ワードクラウド503には、第3タスク情報に含まれるテキスト中の出現頻度に応じて決定されたサイズで表記された単語が含まれている。
上記したワードクラウド501~503によれば、ユーザは、第1~第3タスク情報の各々に含まれるテキストに出現する単語(つまり、当該第1~第3タスク情報の各々によって示されるタスクの内容)を把握することができる。
ここで、上記した図22においては説明を省略したが、本実施形態におけるワードクラウドは複数のファイルが配置されるフォルダに対して作成されても構わない。この場合、ワードクラウドは、フォルダに配置されている複数のファイルの各々に格納されているソースコードに対応するタスクを示すタスク情報に含まれるテキストから作成されればよい。
なお、図23に示すワードクラウド504は、フォルダ1に関連づけて表示されている第1~第3タスク情報(つまり、フォルダ1に配置されているファイル1~ファイル3の各々に格納されているソースコードに対応するタスクを示す第1~第3タスク情報)に含まれるテキストから作成されたワードクラウドである。
図23に示すワードクラウドの表示態様は一例であり、当該ワードクラウドは、タスク情報に含まれるテキストに出現する単語(及び当該単語の出現頻度)をユーザが把握することが可能であれば、例えば出現頻度の高い単語が特定の色彩で表示される等の他の態様で表示されてもよい。
また、ワードクラウドに含まれる単語は、タスク情報に含まれるテキストに出現する単語のうち、例えば出現頻度の高い予め定められた数の単語であるものとする。
また、図23に示すように第1領域301に表示されたワードクラウドがユーザによって指定された場合には、当該ワードクラウドが拡大表示される構成としてもよい。
なお、図23においては、便宜的に、主にタスク情報に含まれるタイトルから作成されたワードクラウドが示されているが、当該ワードクラウドは、上記したようにタスク情報に含まれる説明及び履歴等に出現する単語を含むものであってもよい。
上記したように本実施形態においては、タスク情報に含まれるテキストに出現する単語を表すワードクラウド(オブジェクト)を作成し、当該作成されたワードクラウドを当該タスク情報によって示されるタスクに対応するソースコードに関連づけて表示する。
なお、本実施形態において、ワードラウドは、タスク情報に含まれるテキスト中の単語の出現頻度を表す。具体的には、ワードクラウドは、タスク情報に含まれるテキスト中の出現頻度に応じて決定されたサイズで表記される単語を含む。
本実施形態においては、上記したようにソースコードに関連づけてワードクラウドを表示することによって、当該ソースコードを格納するファイルを開くことなく、当該ソースコードの概要を直感的に把握することが可能となる。
なお、本実施形態は、前述した第1及び実施形態に適用されてもよい。具体的には、本実施形態におけるワードクラウドは、例えば前述した第1実施形態において説明した検索結果を第1領域301に表示する際に当該検索結果として取得されたファイルに対応づけて表示されてもよいし、タスク(を示すタスク情報)を第2領域302に一覧表示する際に当該タスクに対応づけて表示されてもよい。更に、ワードクラウドは、前述した第2実施形態における進捗度を表示する際に併せて表示されても構わない。
以上述べた少なくとも1つの実施形態によれば、ソフトウェア製品の開発におけるユーザの利便性を向上させることが可能な管理装置、方法及びプログラムを提供することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。