(57)【要約】【課題】ソフトウェア製品の開発におけるユーザの利便性を向上させることが可能な管理装置、方法及びプログラムを提供することにある。【解決手段】実施形態に係る管理装置は、第１取得手段と、特定手段と、第２取得手段と、表示処理手段とを具備する。第１取得手段は、ソースコードのバージョンを管理するためのコミット情報を取得する。特定手段は、取得されたコミット情報に基づいてソースコードの編集作業に対して定義されているタスクを特定する。第２取得手段は、特定されたタスクを示すタスク情報を取得する。表示処理手段は、ソースコードに関連づけて取得されたタスク情報を表示する。【選択図】  図１
2020115317.tif 000002
【特許請求の範囲】
【請求項１】
ソースコードのバージョンを管理するためのコミット情報を取得する第１取得手段と、
前記取得されたコミット情報に基づいて前記ソースコードの編集作業に対して定義されているタスクを特定する特定手段と、
前記特定されたタスクを示すタスク情報を取得する第２取得手段と、
前記ソースコードに関連づけて前記取得されたタスク情報を表示する表示処理手段と
を具備する管理装置。
【請求項２】
前記第１取得手段は、複数のソースコードの各々のバージョンを管理するための複数のコミット情報を取得し、
前記特定手段は、前記取得された複数のコミット情報に基づいて、前記複数のソースコードの各々に対応するタスクを特定し、
前記表示処理手段は、階層構造を有する複数のフォルダの各々に配置された前記複数のソースコードの各々が格納されたファイルを一覧表示するとともに、当該ファイルに格納されているソースコードに対応するタスクを示すタスク情報を当該ファイルに関連づけて表示する
請求項１記載の管理装置。
【請求項３】
前記管理装置を使用するユーザによって指定された検索条件に該当するタスク情報を検索する検索手段を更に具備し、
前記表示処理手段は、前記検索されたタスク情報によって示されるタスクに対応するソースコードを格納するファイルを検索結果として表示する
請求項２記載の管理装置。
【請求項４】
前記タスク情報は、当該タスク情報によって示されるタスクに関するテキストを含み、
前記検索条件は、前記ユーザによって指定されたキーワードを含み、
前記検索手段は、前記ユーザによって指定されたキーワードが前記テキストに含まれているタスク情報を検索する
請求項３記載の管理装置。
【請求項５】
前記検索結果は、前記ユーザによって指定されたキーワードを含むソースコードまたは当該キーワードを含むコメントが記述されているソースコードを格納するファイルを含む請求項４記載の管理装置。
【請求項６】
前記タスク情報は、当該タスク情報によって示されるタスクの状況を含み、
前記表示処理手段は、前記複数のファイルが配置されるフォルダに関連づけて、当該複数のファイルの各々に格納されているソースコードに対応するタスクを示すタスク情報を表示するとともに、当該表示されたタスク情報によって示されるタスクのうち当該タスクの状況が第１状況であるタスクの割合を表示する
請求項２記載の管理装置。
【請求項７】
作成手段を更に具備し、
前記タスク情報は、前記タスクに関するテキストを含み、
前記作成手段は、前記タスク情報に含まれるテキストに出現する単語を表すオブジェクトを作成し、
前記表示処理手段は、前記作成されたオブジェクトを前記ソースコードに関連づけて表示する
請求項１記載の管理装置。
【請求項８】
前記オブジェクトは、前記タスク情報に含まれるテキスト中の前記単語の出現頻度を表す請求項７記載の管理装置。
【請求項９】
前記オブジェクトに含まれる単語は、前記タスク情報に含まれるテキスト中の出現頻度に応じて決定されたサイズで表示される請求項８記載の管理装置。
【請求項１０】
前記コミット情報は、前記ソースコードに対応するタスクを識別するためのタスク識別情報を含み、
前記特定手段は、前記コミット情報に含まれるタスク識別情報に基づいて前記ソースコードに対応するタスクを特定する
請求項１記載の管理装置。
【請求項１１】
ソースコードのバージョンを管理するためのコミット情報を取得するステップと、
前記取得されたコミット情報に基づいて前記ソースコードの編集作業に対して定義されているタスクを特定するステップと、
前記特定されたタスクを示すタスク情報を取得するステップと、
前記ソースコードに関連づけて前記取得されたタスク情報を表示するステップと
を具備する方法。
【請求項１２】
コンピュータに、
ソースコードのバージョンを管理するためのコミット情報を取得するステップと、
前記取得されたコミット情報に基づいて前記ソースコードの編集作業に対して定義されているタスクを特定するステップと、
前記特定されたタスクを示すタスク情報を取得するステップと、
前記ソースコードに関連づけて前記取得されたタスク情報を表示するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、管理装置、方法及びプログラムに関する。
【背景技術】
【０００２】
一般に、ソフトウェア製品の開発において使用することが可能なツールとして、ソースコード管理ツール及びタスク管理ツールが知られている。
【０００３】
ソースコード管理ツールは、プログラム言語で記述されたソースコードのバージョンを管理するためのツールである。一方、タスク管理ツールは、ソースコードの編集作業に対して定義されているタスクの進捗状況等を管理するためのツールである。
【０００４】
ソフトウェア製品の開発者（ユーザ）は、上記したソースコード管理ツール及びタスク管理ツールを使用することによって、効率的にソフトウェア製品の開発を行うことができる。
【０００５】
しかしながら、ソースコード管理ツール及びタスク管理ツールはそれぞれ独立して使用されるため、ソースコード管理ツールで管理されているソースコードとタスク管理ツールで管理されているタスクとの対応関係が不明であり、ソフトウェア製品の開発におけるユーザの利便性が低い場合がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１２８６５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
そこで、本発明が解決しようとする課題は、ソフトウェア製品の開発におけるユーザの利便性を向上させることが可能な管理装置、方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
実施形態に係る管理装置は、第１取得手段と、特定手段と、第２取得手段と、表示処理手段とを具備する。前記第１取得手段は、ソースコードのバージョンを管理するためのコミット情報を取得する。前記特定手段は、前記取得されたコミット情報に基づいて前記ソースコードの編集作業に対して定義されているタスクを特定する。前記第２取得手段は、前記特定されたタスクを示すタスク情報を取得する。前記表示処理手段は、前記ソースコードに関連づけて前記取得されたタスク情報を表示する。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係る管理装置の機能構成の一例を示すブロック図。
【図２】管理装置のシステム構成の一例を示す図。
【図３】ソースコード管理ツールの概要について説明するためのフローチャート。
【図４】コミット情報のデータ構造の一例を示す図。
【図５】階層構造情報のデータ構造の一例を示す図。
【図６】タスク管理ツールの概要について説明するためのフローチャート。
【図７】タスク情報のデータ構造の一例を示す図。
【図８】管理装置の処理手順の一例を示すフローチャート。
【図９】対応表の一例を示す図。
【図１０】表示画面のレイアウトの一例を示す図。
【図１１】第１領域の表示例を示す図。
【図１２】タスクの状況の表示例を示す図。
【図１３】コミット情報の表示例を示す図。
【図１４】タスク情報の表示例を示す図。
【図１５】第２領域の表示例を示す図。
【図１６】ファイルを検索する際の管理装置の処理手順の一例を示すフローチャート。
【図１７】検索結果の表示例を示す図。
【図１８】第２実施形態に係る管理装置の機能構成の一例を示すブロック図。
【図１９】管理装置の処理手順の一例を示すフローチャート。
【図２０】第１領域の表示例を説明するための図。
【図２１】第３実施形態に係る管理装置の機能構成の一例を示すブロック図。
【図２２】管理装置の処理手順の一例を示すフローチャート。
【図２３】第１領域の表示例を説明するための図。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、各実施形態について説明する。  
（第１実施形態）  
まず、第１実施形態について説明する。本実施形態に係る管理装置は、ソースコードに関連する情報（ソースコード関連情報）を管理する装置であり、ソフトウェア製品の開発に使用されるソースコード管理ツール及びタスク管理ツールを紐づけるために用いられる。
【００１１】
ここで、ソースコード管理ツールとは、ソフトウェア製品の開発において、例えばＪａｖａ（登録商標）及びＣ言語等のプログラム言語で記述されたソースコードのバージョンを管理するためのツール（アプリケーションプログラム）である。ソースコードのバージョンは、当該ソースコードに対する例えば機能追加、修正、改善及び派生開発等によって更新（変更）される。ソースコード管理ツールとしては、例えばオープンソースソフトウェアのＧｉｔ及びＳｕｂｖｅｒｓｉｏｎ等を用いることができる。
【００１２】
また、タスク管理ツールとは、ソフトウェア製品の開発におけるソースコードの編集作業に対して定義されているタスクの進捗状況を追跡及び管理するためのツール（アプリケーションプログラム）である。なお、タスク管理ツールにおいて管理されるタスクには、例えばソフトウェア製品の不具合、機能追加及び改善等の各種作業案件が含まれる。タスク管理ツールとしては、例えばＧｉｔＨｕｂ及びＲｅｄｍｉｎｅ等を用いることができる。
【００１３】
本実施形態に係る管理装置（管理ツール）は、上記したソースコード管理ツールにおいて管理されているソースコード及びタスク管理ツールにおいて管理されているタスクとの対応関係を管理する機能を有する。
【００１４】
なお、ソースコード管理ツールにおいては、例えばソースコードのバージョンを管理するためのコミット情報が保持されている。一方、タスク管理ツールにおいては、タスクを示すタスク情報が保持されている。なお、コミット情報及びタスク情報の詳細については後述する。
【００１５】
図１は、本実施形態に係る管理装置の機能構成の一例を示すブロック図である。図１に示すように、管理装置１０は、対応表作成部１１、タスク情報取得部１２、格納部（ＤＢ）１３、第１表示処理部１４、検索部１５及び第２表示処理部１６を含む。
【００１６】
対応表作成部１１は、上記したソースコード管理ツールに保持されているソースコードのバージョンを管理するためのコミット情報を取得する。対応表作成部１１は、取得されたコミット情報に基づいて、当該コミット情報によってバージョンが管理されているソースコードの編集作業に対して定義されているタスクを特定する。これにより、対応表作成部１１は、ソースコード管理ツールにおいて管理されているソースコードとタスク管理ツールにおいて管理されているタスクとの対応関係を示す対応表（対応情報）を作成する。
【００１７】
以下の説明においては、対応表作成部１１によって作成された対応表において対応関係が示されているソースコード及びタスクは互いに対応すると表記する。
【００１８】
タスク情報取得部１２は、対応表作成部１１によって作成された対応表に基づいて、ソースコード管理ツールにおいて管理されているソースコードに対応するタスクを示すタスク情報を取得する。
【００１９】
なお、対応表作成部１１によって作成された対応表及びタスク情報取得部１２によって取得されたタスク情報は、格納部１３に格納される。
【００２０】
第１表示処理部１４は、格納部１３に格納された対応表に基づいて、格納部１３に格納されたタスク情報を、当該タスク情報によって示されるタスクに対応するソースコードに関連づけて表示する。
【００２１】
検索部１５は、管理装置１０を使用するユーザによって指定された検索条件（例えば、キーワード等）に基づいて、ソースコード管理ツールにおいて管理されているソースコード（当該ソースコードが格納されているファイル）を検索する処理を実行する。
【００２２】
第２表示処理部１６は、検索部１５による検索結果（例えば、ソースコードが格納されているファイルのファイル名等）を表示する。
【００２３】
図２は、図１に示す管理装置１０のシステム構成の一例を示す。ここでは、管理装置１０が例えばパーソナルコンピュータ（ＰＣ）等であるものとして説明するが、管理装置１０は他の電子機器であってもよい。
【００２４】
図２に示すように、管理装置１０は、ＣＰＵ１０１、不揮発性メモリ１０２、主メモリ１０３、ＢＩＯＳ−ＲＯＭ１０４、システムコントローラ１０５、入力デバイス１０６、表示デバイス１０７及びエンベデッドコントローラ（ＥＣ）１０８等を備える。
【００２５】
ＣＰＵ１０１は、管理装置１０内の各コンポーネントの動作を制御するプロセッサである。ＣＰＵ１０１は、ストレージデバイスである不揮発性メモリ１０２から主メモリ１０３にロードされる様々なプログラムを実行する。このプログラムには、オペレーティングシステム（ＯＳ）、及びソースコード管理ツールにおいて管理されているソースコードとタスク管理ツールにおいて管理されているタスクとの対応関係を管理するためのプログラム（以下、管理プログラムと表記）等が含まれる。
【００２６】
なお、本実施形態において、管理プログラムは、例えば統合開発環境を提供するためのアプリケーションプログラム（ツール）に組み込まれるプラグインとして実現されても構わない。
【００２７】
ＣＰＵ１０１は、ＢＩＯＳ−ＲＯＭ１０４に格納された基本入出力システム（ＢＩＯＳ）も実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。
【００２８】
システムコントローラ１０５は、ＣＰＵ１０１のローカルバスと各種コンポーネントとの間を接続するデバイスである。
【００２９】
入力デバイス１０６は、例えばキーボード及びマウス等を含む。表示デバイス１０７は、例えば液晶表示装置のようなディスプレイ等を含む。ＥＣ１０８は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。
【００３０】
図２においては、ＣＰＵ１０１、不揮発性メモリ１０２、主メモリ１０３、ＢＩＯＳ−ＲＯＭ１０４、システムコントローラ１０５、入力デバイス１０６、表示デバイス１０７及びＥＣ１０８のみが示されているが、管理装置１０は、例えばＨＤＤ（Hard Disk Drive）及びＳＳＤ（Solid State Drive）のような他の記憶装置を備えていてもよいし、外部装置との通信を実行するように構成された通信デバイス等を備えていてもよい。
【００３１】
なお、本実施形態において、上記した図１に示す各部１１、１２及び１４〜１６の一部または全ては、例えば図２に示すＣＰＵ１０１（つまり、管理装置１０のコンピュータ）に上記した管理プログラムを実行させること、すなわちソフトウェアによって実現されるものとする。なお、管理プログラムは、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、管理プログラムは、例えばネットワークを介して管理装置１０にダウンロードされても構わない。
【００３２】
ここでは、各部１１、１２及び１４〜１６の一部または全てがソフトウェアによって実現されるものとして説明したが、当該各部１１、１２及び１４〜１６の一部または全ては、例えばハードウェアによって実現されてもよいし、ソフトウェア及びハードウェアの組み合わせ構成として実現されてもよい。
【００３３】
また、図１に示す格納部１３は、例えば図２に示す不揮発性メモリ１０２または他の記憶装置等によって実現される。
【００３４】
以下、本実施形態に係る管理装置１０によって紐づけられるソースコード管理ツール及びタスク管理ツールについて簡単に説明する。
【００３５】
まず、図３のフローチャートを参照して、ソースコード管理ツールの概要について説明する。ソースコード管理ツールは例えばアプリケーションプログラムとして実現され、ユーザは、当該ソースコード管理ツール（アプリケーションプログラム）が例えば管理装置１０または当該管理装置１０とは異なる他の電子機器上で実行されることによって当該ソースコード管理ツールを使用することができる。図３はソースコード管理ツールを実行する管理装置１０または他の電子機器の処理手順の一例を示しているが、当該図３においては、ソースコード管理ツールが処理を実行するものとして説明する。
【００３６】
なお、ソースコード管理ツールにおいては、当該ソースコード管理ツールを使用するユーザによって編集されるソースコード（以下、対象ソースコードと表記）を格納するファイルが保持されているものとする。
【００３７】
上記したようにユーザがソースコード管理ツールを使用する場合、ソースコード管理ツールは、対象ソースコードを表示する（ステップＳ１）。なお、ステップＳ１の処理は、例えばソースコード管理ツールを使用するユーザによって対象ソースコードが格納されているファイルが指定されることによって実行される。
【００３８】
この場合、ステップＳ１において表示された対象ソースコードは、ユーザの操作に応じて編集される（ステップＳ２）。なお、ステップＳ２における対象ソースコードの編集には、当該対象ソースコード中に記述されているコード（行）を例えば変更、修正、追加及び削除すること等が含まれる。
【００３９】
ここで、ソースコード管理ツールは、上記したようにソースコード（ソフトウェア製品）のバージョンを管理する機能を有する。この場合、ソースコード管理ツールは、ユーザによって編集されるソースコードをコミットと称される単位で管理し、例えば新しいバージョンのソースコード（つまり、編集後のソースコード）が登録された場合には、当該ソースコードより前に登録されたソースコード（直前のソースコード）からの変更箇所（差分）を記録する。
【００４０】
なお、直前のソースコードからの変更箇所を記録するために、新しいバージョンのソースコードが登録されることを「コミットする」と称する。
【００４１】
上記したステップＳ２の処理が実行された後の新しいバージョンの対象ソースコードがコミットされた場合、ソースコード管理ツールは、対象ソースコードのバージョンを管理するためのコミット情報を生成する（ステップＳ３）。
【００４２】
ステップＳ３において生成されたコミット情報（つまり、対象ソースコードのバージョン）は、新しいバージョンの対象ソースコードが格納されたファイルとともにソースコード管理ツールにおいて保持される。
【００４３】
図４は、上記したコミット情報のデータ構造の一例を示す。図４に示すように、コミット情報は、コミットＩＤ、ファイル名、変更行及びコミットコメントを含む。
【００４４】
コミットＩＤは、ソースコードがコミットされた場合に当該コミットに対して割り当てられる、当該コミット（つまり、バージョン）を識別するための識別情報である。
【００４５】
ファイル名は、コミットされたソースコードが格納されているファイルのファイル名である。
【００４６】
変更行は、コミットされたソースコードの中の、直前のソースコードから変更された行の位置（例えば、行番号等）を示す。なお、変更行は、変更内容（追加、修正及び削除等）の情報を含むものであってもよい。
【００４７】
コミットコメントは、ソースコードがコミットされた際にユーザによって作成（入力）されたテキスト（例えば、ソースコードの編集に関するコメント等）である。
【００４８】
図４に示す例では、コミット情報２０１及び２０２が示されている。コミット情報２０１は、コミットＩＤ「１」、ファイル名「ファイル１」、変更行「変更行１」及びコミットコメント「ａａａ」を含む。このコミット情報２０１によれば、直前のソースコードから「変更行１」によって示される行が変更されたソースコード（ファイル名が「ファイル１」であるファイルに格納されているソースコード）がコミットされ、当該コミットに対してコミットＩＤ「１」が割り当てられていることが示されている。また、コミット情報２０１によれば、ファイル名が「ファイル１」であるファイルに格納されているソースコードがコミットされる際にユーザによって作成されたコミットコメントが「ａａａ」であることが示されている。
【００４９】
また、コミット情報２０２は、コミットＩＤ「２」、ファイル名「ファイル１」、変更行「変更行２」及びコミットコメント「ｂｂｂ」を含む。このコミット情報２０２によれば、直前のソースコードから「変更行２」によって示される行が変更されたソースコード（ファイル名が「ファイル１」であるファイルに格納されているソースコード）がコミットされ、当該コミットに対してコミットＩＤ「２」が割り当てられていることが示されている。また、コミット情報２０２によれば、ファイル名が「ファイル１」であるファイルに格納されているソースコードがコミットされる際にユーザによって作成されたコミットコメントが「ｂｂｂ」であることが示されている。
【００５０】
なお、図４には示されていないが、本実施形態におけるコミットコメントには、コミットされたソースコードの編集作業に対して定義されているタスク（つまり、当該ソースコードに対応するタスク）を識別するためのタスク識別情報（以下、タスクＩＤと表記）が含まれているものとする。
【００５１】
すなわち、例えばコミット情報２０１及び２０２に含まれるコミットコメントには、ファイル名が「ファイル１」であるファイルに格納されているソースコードに対応するタスクを識別するためのタスクＩＤが含まれている。コミット情報２０１及び２０２には同一のファイル名「ファイル１」が含まれているため、当該コミット情報２０１及び２０２に含まれるコミットコメントには、例えば同一のタスクＩＤが含まれる。
【００５２】
なお、例えばソースコードがコミットされるタイミングによっては、同一のファイル名を含むコミット情報であっても、当該コミット情報に含まれるコミットコメントが異なるタスクＩＤを含んでいてもよい。
【００５３】
図４においては便宜的にコミット情報２０１及び２０２についてのみ説明したが、コミット情報は、ソースコードがコミットされる度に生成され、ソースコード管理ツールにおいて保持される。
【００５４】
上記したようにコミット情報を保持するソースコード管理ツールを使用することによって、ユーザは、例えば任意のバージョンのソースコードを確認する（レビューする）こと等が可能となる。
【００５５】
なお、図４において説明したコミット情報のデータ構造は一例であり、当該コミット情報には、例えばソースコードを編集したユーザのユーザ名や当該ソースコードの編集日時等の他の情報が含まれていてもよい。
【００５６】
また、図４に示すコミット情報には１つのコミット（コミットＩＤ）に対応づけて１つのファイル名が含まれているが、１つのコミットに複数のファイル名が含まれていても構わない。換言すれば、１つのコミットに複数ファイルの変更が含まれていてもよい。
【００５７】
ここで、ソースコード管理ツールにおいては複数のソースコードの各々のバージョンを管理することが可能であるが、当該複数のソースコードの各々を格納する複数のファイル（ソースコードのファイル）は、例えば階層構造を有する複数のフォルダに配置されるように管理されているものとする。
【００５８】
この場合、ソースコード管理ツールにおいては、各ファイルが配置される複数のフォルダの階層構造を表す情報（以下、階層構造情報と表記）が保持されている。
【００５９】
図５は、階層構造情報のデータ構造の一例を示す。図５に示すように、階層構造情報は、上位階層（を示す情報）及び下位階層（を示す情報）を含む。
【００６０】
上位階層は、対応づけられている下位階層（のフォルダまたはファイル）に対して階層構造の上位に位置するフォルダを示す。なお、上位階層は、例えばフォルダ名を含む。
【００６１】
下位階層は、対応づけられている上位階層（のフォルダ）に対して階層構造の下位に位置するフォルダまたはファイルを示す。なお、下位階層は、例えばフォルダ名またはファイル名を含む。
【００６２】
図５に示す例では、フォルダ名が「フォルダＡ」であるフォルダが階層構造の上位に位置しており、当該フォルダの下位にフォルダ名が「フォルダ１」であるフォルダが位置していることが示されている。また、フォルダ名が「フォルダ１」であるフォルダが階層構造の上位に位置しており、当該フォルダの下位にファイル名が「ファイル１」及び「ファイル２」であるファイルが位置していることが示されている。換言すれば、図５に示す例では、ファイル名が「ファイル１」及び「ファイル２」である２つのファイルが、フォルダ名が「フォルダＡ」であるフォルダの下位に位置するフォルダ名が「フォルダ１」であるフォルダに配置されるように管理されていることが示されている。
【００６３】
このような階層構造情報によれば、例えば複数のソースコードのファイルを、階層構造を有する複数のフォルダの各々に配置して一覧表示することができる。
【００６４】
次に、図６のフローチャートを参照して、タスク管理ツールの概要について説明する。タスク管理ツールは例えばアプリケーションプログラムとして実現され、ユーザは、当該タスク管理ツール（アプリケーションプログラム）が例えば管理装置１０または当該管理装置１０とは異なる他の電子機器上で実行されることによって当該タスク管理ツールを使用することができる。図６はタスク管理ツールを実行する管理装置１０または他の電子機器の処理手順の一例を示しているが、当該図６においては、タスク管理ツールが処理を実行するものとして説明する。
【００６５】
ここで、タスク管理ツールを使用するユーザは、ソースコードの編集作業に対して定義されるタスクを登録（作成）することができる。
【００６６】
この場合、タスク管理ツールは、ユーザによって登録されるタスク（以下、対象タスクと表記）に対して当該タスクを識別するためのタスクＩＤを割り当てる（ステップＳ１１）。なお、タスクＩＤは、自動的に対象タスクに割り当てられてもよいし、例えばユーザによって指定されてもよい。
【００６７】
次に、タスク管理ツールは、例えばユーザの操作に応じて当該ユーザによって指定（作成）された対象タスクのタイトルを入力する（ステップＳ１２）。
【００６８】
更に、タスク管理ツールは、ユーザの操作に応じて当該ユーザによって指定（作成）された対象タスクの説明を入力する（ステップＳ１３）。
【００６９】
ステップＳ１３の処理が実行されると、タスク管理ツールは、上記したステップＳ１１において対象タスクに対して割り当てられたタスクＩＤ、ステップＳ１２において入力された対象タスクのタイトル及びステップＳ１３において入力された対象タスクの説明等を含むタスク情報（対象タスクを示すタスク情報）を生成する（ステップＳ１４）。
【００７０】
ステップＳ１４において生成されたタスク情報（対象タスク）は、タスク管理ツールにおいて管理される。
【００７１】
図６に示す例では、ステップＳ１１〜Ｓ１４の処理が順次実行されるものとして説明したが、例えば当該ステップＳ１１〜Ｓ１３の処理の順番は適宜変更されてもよい。また、ステップＳ１１の処理は、例えばステップＳ１４の処理が実行される際に実行されても構わない。
【００７２】
図７は、上記したタスク情報のデータ構造の一例を示す。図７に示すように、タスク情報は、タスクＩＤ、タイトル、説明、状況及び履歴を含む。
【００７３】
タスクＩＤは、上記した図６に示すステップＳ１１においてタスクに割り当てられた識別情報（ユーザによって作成されたタスクを識別するための識別情報）である。
【００７４】
タイトルは、対応づけられているタスクＩＤによって識別されるタスクのタイトルである。
【００７５】
説明は、対応づけられているタスクＩＤによって識別されるタスクの説明（テキスト）である。
【００７６】
状況は、対応づけられているタスクＩＤによって識別されるタスクの状況（進捗状況）を示す。なお、上記したステップＳ１４においてタスク情報が生成された時点では、当該タスク情報に含まれる状況は「オープン（開始）」である。一方、タスク情報によって示されるタスク（つまり、ソースコードの編集作業）が完了した場合、当該タスク情報に含まれる状況は「クローズ（終了）」に変更される。なお、タスク情報に含まれる状況の「オープン」から「クローズ」への変更は、例えばユーザの操作に応じて行われる。また、一旦「クローズ」に変更されたタスクの状況を再度「オープン」に変更することも可能である。なお、本実施形態においては、タスクの状況として「オープン」及び「クローズ」がタスク情報に含まれるものとして説明するが、当該タスク情報には、他の状況が含まれていてもよい。
【００７７】
ここで、タスクとして定義されている一連のソースコードの編集作業は例えば複数のユーザ間で行われる場合があり、この場合、タスク管理ツールは、当該複数のユーザ間で交わされた当該タスクに関するコメント（テキスト）を履歴として記録しておくことが可能であるものとする。すなわち、タスク情報に含まれる履歴は、対応づけられているタスクＩＤによって識別されるタスクに関するユーザのコメント（の履歴）に相当する。
【００７８】
図７に示す例では、タスク情報２１１及び２１２が示されている。タスク情報２１１は、タスクＩＤ「１」、タイトル「タイトル１」、説明「ｃｃｃ」、状況「クローズ」及び履歴「ｄｄｄ」を含む。このタスク情報２１１によれば、タスクＩＤ「１」によって識別されるタスクのタイトルが「タイトル１」であり、当該タスクの説明が「ｃｃｃ」であり、当該タスクに関するコメント（の履歴）が「ｄｄｄ」であることが示されている。また、タスク情報２１１によれば、タスクＩＤ「１」によって識別されるタスクの状況が「クローズ」であることが示されている。
【００７９】
また、タスク情報２１２は、タスクＩＤ「２」、タイトル「タイトル２」、説明「ｅｅｅ」、状況「オープン」及び履歴「ｆｆｆ」を含む。このタスク情報２１２によれば、タスクＩＤ「２」によって識別されるタスクのタイトルが「タイトル２」であり、当該タスクの説明が「ｅｅｅ」であり、当該タスクに関するコメント（の履歴）が「ｆｆｆ」であることが示されている。また、タスク情報２１２によれば、タスクＩＤ「２」によって識別されるタスクの状況が「オープン」であることが示されている。
【００８０】
図７においては便宜的にタスク情報２１１及び２１２についてのみ説明したが、タスク情報は、ユーザによって登録されたタスク毎に生成され、タスク管理ツールにおいて保持される。
【００８１】
上記したようにタスク情報を保持するタスク管理ツールを使用することによって、ユーザは、例えばタスクの進捗状況等を確認すること等が可能となる。
【００８２】
なお、図７において説明したタスク情報のデータ構造は一例であり、当該タスク情報には、例えばタスクの種別等の他の情報が含まれていてもよい。
【００８３】
次に、図８のフローチャートを参照して、本実施形態に係る管理装置１０の処理手順の一例について説明する。
【００８４】
まず、管理装置１０を使用するユーザは、当該管理装置１０上で上記した管理プログラム（管理ツール）を起動する。
【００８５】
管理装置１０上で管理プログラムが起動された場合、対応表作成部１１は、上記したソースコード管理ツールに保持されているコミット情報を取得する（ステップＳ２１）。
【００８６】
次に、対応表作成部１１は、ステップＳ２１において取得されたコミット情報に基づいて、ソースコード管理ツールにおいて管理されているソースコードの各々に対応するタスクを特定する。これにより、対応表作成部１１は、ソースコード管理ツールにおいて管理されているソースコードと当該ソースコードの編集作業に対して定義されているタスク（つまり、当該ソースコードに対応するタスク）との対応関係を示す対応表を作成する（ステップＳ２２）。
【００８７】
ここで、ステップＳ２１において取得されたコミット情報には図４において説明したようにコミットＩＤ、ファイル名、変更行及びコミットコメントが含まれているが、対応表作成部１１は、当該コミットコメントに含まれるタスクＩＤを抽出（取得）し、当該コミットコメントに対応づけられているファイル名及び当該抽出されたタスクＩＤを対応づける。
【００８８】
ステップＳ２２においては、このような処理がコミット情報毎に実行されることによって、例えば図９に示すようなファイル名（つまり、ソースコードのファイル）とタスクＩＤ（つまり、当該ソースコードに対応するタスク）とを対応づけて含む対応表が作成される。
【００８９】
なお、図９に示す例では、例えばファイル名「ファイル１」とタスクＩＤ「１」とが対応づけて対応表に含まれている。これによれば、ファイル名が「ファイル１」であるファイルに格納されているソースコードの編集作業に対して定義されているタスクがタスクＩＤ「１」によって識別されるタスクであることが示されている。
【００９０】
同様に、図９に示す例では、例えばファイル名「ファイル２」とタスクＩＤ「２」とが対応づけて対応表に含まれている。これによれば、ファイル名が「ファイル２」であるファイルに格納されているソースコードの編集作業に対して定義されているタスクがタスクＩＤ「２」によって識別されるタスクであることが示されている。
【００９１】
再び図８に戻ると、タスク情報取得部１２は、タスク管理ツールに保持されているタスク情報のうち、ステップＳ２２において作成された対応表に含まれるタスクＩＤによって識別されるタスクを示すタスク情報を取得する（ステップＳ２３）。具体的には、ステップＳ２３においては、ステップＳ２２において作成された対応表に含まれるタスクＩＤを含むタスク情報が取得される。
【００９２】
なお、ステップＳ２２において作成された対応表及びステップＳ２３において取得されたタスク情報は、格納部１３に格納される。
【００９３】
次に、第１表示処理部１４は、ソースコード管理ツールに保持されている階層構造情報を取得し、当該階層構造情報に基づいて、複数のファイルが配置されている複数のフォルダの階層構造（以下、ファイル階層と表記）を表示デバイス１０７に表示する（ステップＳ２４）。このファイル階層においては、複数のソースコードが格納されているファイルの各々のファイル名が階層構造を有する複数のフォルダに配置された形式で一覧表示される。
【００９４】
また、第１表示処理部１４は、格納部１３に格納された対応表に基づいて、当該格納部１３に格納されたタスク情報を表示する（ステップＳ２５）。
【００９５】
なお、ステップＳ２５において、第１表示処理部１４は、ステップＳ２４において表示されたファイル階層上のファイル名に対応づけて対応表に含まれているタスク情報を格納部１３から取得し、当該タスク情報を当該ファイル名に関連づけて表示する。
【００９６】
なお、上記した図７において説明したようにタスク情報はタスクＩＤ、タイトル、説明、状況及び履歴を含むが、ステップＳ２５におけるタスク情報としては例えばタスクＩＤ及びタイトル等が表示される。また、ステップＳ２５の処理は、対応表に含まれているファイル名毎に実行される。
【００９７】
以下、上記した図８に示す処理が実行されることによって管理装置１０（表示デバイス１０７）に表示される画面（以下、表示画面と表記）について具体的に説明する。
【００９８】
ここで、図１０は、表示画面のレイアウトの一例を示す。図１０に示すように、表示画面３００には、第１領域３０１、第２領域３０２、第３領域３０３及び第４領域３０４が配置されている。
【００９９】
図１０に示す例では、第１領域３０１は、管理装置１０を使用するユーザから見て左側に配置されている。第２領域３０２は、管理装置１０を使用するユーザから見て右側に配置されている。すなわち、第１領域３０１及び第２領域３０２は、第３領域３０３及び第４領域３０４を挟んで対向する位置に配置されている。
【０１００】
第３領域３０３は、第１領域３０１及び第２領域３０２によって挟まれる位置であって、第４領域３０４の上側に配置されている。第４領域３０４は、第１領域３０１及び第２領域３０２によって挟まれる位置であって、第３領域３０３の下側に配置されている。
【０１０１】
第１領域３０１は、例えば上記したファイル階層を表示する（つまり、階層構造を有する複数のフォルダの各々に配置されているファイルのファイル名を表示する）ための領域である。第１領域３０１においてはファイル階層上のファイル名に関連づけてタスク情報が表示されるが、当該第１領域３０１における具体的な表示例については後述する。
【０１０２】
第２領域３０２は、例えばタスク管理ツールにおいて管理されているタスク（を示すタスク情報が格納されているファイル）を一覧表示するための領域である。なお、第２領域３０２には、例えばタスク情報に含まれるタスクＩＤ及びタイトル等が一覧表示される。
【０１０３】
ここで、ユーザは、管理装置１０を操作することによって、第１領域３０１に表示されたファイル階層上のファイル名を指定することができる。第３領域３０３は、第１領域３０１においてユーザによって指定されたファイル名のファイルに格納されているソースコード（最新のバージョンのソースコード）を表示するための領域である。なお、第３領域３０３に表示されるソースコードは、例えば第１領域３０１においてユーザによって指定されたファイル名（当該ソースコードが格納されているファイルのパス）に基づいてソースコード管理ツール等から取得されればよい。
【０１０４】
また、ユーザは、管理装置１０を操作することによって、第２領域３０２に一覧表示されたタスク（タスクＩＤ及びタイトル）を指定することができる。第４領域３０４は、第２領域３０２においてユーザによって指定されたタスクを示すタスク情報を表示するための領域である。第４領域３０４に表示されるタスク情報は、例えば格納部１３から取得される。
【０１０５】
なお、図１０に示すレイアウトは一例であり、例えば第１領域３０１及び第２領域３０２が隣接する位置に配置されていてもよいし、第３領域３０３及び第４領域３０４が離れた位置に配置されていてもよい。また、第１領域３０１〜第４領域３０４の位置は適宜入れ替えられても構わない。また、表示画面３００には、図１０に示す第１領域３０１〜第４領域３０４以外の領域が更に配置されていてもよい。
【０１０６】
また、図１０においては省略されているが、表示画面３００には、例えばソフトウェア製品の開発に関する各種機能を利用するためのツールバー等が配置されていてもよい。
【０１０７】
次に、図１１を参照して、上記した図１０に示す第１領域３０１の表示例について説明する。
【０１０８】
なお、図１１においては、便宜的に第１領域３０１の一部のみが示されているものとする。また、図１１において、「フォルダＡ」、「フォルダ１」、「フォルダ２」はそれぞれフォルダ名を表しており、「ファイル１」、「ファイル２」及び「ファイル３」はそれぞれファイル名を表している。以下の図においても同様である。
【０１０９】
以下の説明においては、便宜的に、フォルダ名が「フォルダＡ」、「フォルダ１」及び「フォルダ２」であるフォルダをそれぞれ単にフォルダＡ、フォルダ１及びフォルダ２と称する。同様に、ファイル名が「ファイル１」、「ファイル２」及び「ファイル３」であるファイルをそれぞれ単にファイル１、ファイル２及びファイル３と称する。
【０１１０】
図１１に示すように、第１領域３０１には、上記したフォルダＡ、フォルダ１及びフォルダ２の階層構造が表示されており、当該フォルダ１に配置されたファイル１、ファイル２及びファイル３が更に表示されている。
【０１１１】
なお、図１１に示すフォルダ１及びフォルダ２は、フォルダＡの下位に配置されたフォルダである。また、図１１において、フォルダ２に配置されているファイル等については省略されている。
【０１１２】
ここで、第１領域３０１においては、ファイル１に関連づけて、当該ファイル１に格納されているソースコードに対応するタスクを示すタスク情報が表示されている。なお、ファイル１に対応するタスクを示すタスク情報としては、当該タスク情報に含まれるタスクＩＤ及びタイトルが表示される。具体的には、図１１においては、ファイル１に関連づけてタスク情報「＃１２データ収集日の翌日に、当該ジョブが実行される」（以下、第１タスク情報と表記）が表示されているが、この場合、「＃１２」がタスクＩＤであり、「データ収集日の翌日に、当該ジョブが実行される」がタスクのタイトルである。
【０１１３】
同様に、第１領域３０１においては、ファイル２に関連づけてタスク情報「＃１０テーマをユーザごとに変える」（以下、第２タスク情報と表記）が表示されている。この場合、「＃１０」がタスクＩＤであり、「テーマをユーザごとに変える」がタスクのタイトルである。
【０１１４】
また、第１領域３０１においては、ファイル３に関連づけてタスク情報「＃１バブルのサイズを○○様と相談の上決定する」（以下、第３タスク情報と表記）が表示されている。この場合、「＃１」がタスクＩＤであり、「バブルのサイズを○○様と相談の上決定する」がタスクのタイトルである。
【０１１５】
このような第１領域３０１においては、ファイル階層上で各ソースコード（ファイル）に対応するタスクの内容を確認することができる。
【０１１６】
また、図１１に示す例においては、フォルダ１に関連づけて第１タスク情報「＃１２データ収集日の翌日に、当該ジョブが実行される」、第２タスク情報「＃１０テーマをユーザごとに変える」及び第３タスク情報「＃１バブルのサイズを○○様と相談の上決定する」が表示されている。
【０１１７】
すなわち、複数のファイルが配置されているフォルダに対しては、当該ファイルの各々に格納されているソースコードに対応するタスクを示すタスク情報が関連づけて表示される。
【０１１８】
なお、第１領域３０１のタスク情報を表示する領域のサイズによっては、フォルダに関連づけてタスク情報が表示されない構成としてもよい。
【０１１９】
また、図１１に示す第１領域３０１におけるタスク情報（第１〜第３タスク情報）の表示態様は一例であり、当該タスク情報としては、例えばタスクのタイトルのみが表示されても構わない。
【０１２０】
また、図１１においてはタスク情報としてタスクＩＤ及びタスクのタイトルが表示されるものとして説明したが、タスクの状況が更に表示される構成としても構わない。具体的には、タスクの状況が「クローズ」であるタスク情報を表示する際には、例えば取り消し線が付加されたタスクＩＤが表示されるようにしてもよい。図１２に示す例では、ファイル３に格納されているソースコードに対応するタスク（つまり、第３タスク情報によって示されるタスク）の状況が「クローズ」であることが示されている。
【０１２１】
なお、図１２においてはタスクＩＤに取り消し線が付加される例について示しているが、タスク情報によって示されるタスクの状況が「オープン」であるか「クローズ」であるかをユーザが把握可能であれば、当該タスクの状況は異なる態様で表示されてもよい。
【０１２２】
また、本実施形態においては複数のファイルが階層構造を有するフォルダに配置されて表示されるものとして説明したが、第１領域３０１には、フォルダ名（つまり、ファイル階層）の表示を省略し、単にファイル名が一覧形式で表示されてもよい。
【０１２３】
ここで、上記したように第１領域３０１においてファイル（ファイル名）がユーザによって指定された場合には、当該ファイルに格納されているソースコードが第３領域３０３に表示される。具体的には、図１１に示す第１領域３０１に表示されているファイル１が指定された場合には、当該ファイル１に格納されているソースコードが第３領域３０３に表示される。
【０１２４】
なお、第３領域３０３に表示されるソースコード（が格納されているファイル）は、ソースコード管理ツールから取得されてもよいし、格納部１３に予め格納されていてもよい。
【０１２５】
ここでは第３領域３０３にソースコードが表示されるものとして説明したが、例えば第３領域３０３には、ユーザによって指定されたファイルに格納されているソースコードのコミット情報が表示されてもよい。この場合には、例えば図１３に示すような形式で、ユーザによって指定されたファイルに格納されているソースコードにおける変更箇所（つまり、コミット情報に含まれる変更行）が表示される。これによれば、ユーザは、当該ユーザによって指定されたファイルに格納されているソースコード（最新バージョンのソースコード）に至るまでの編集作業（変更箇所）の履歴等を把握することができる。
【０１２６】
更に、ユーザは、第１領域３０１においてファイル名に関連づけて表示されているタスク情報を指定することも可能である。このようにユーザによって指定されたタスク情報は、上記したように第４領域３０４に表示される。図１４は、第４領域３０４におけるタスク情報の表示例を示す。なお、図１４は、タスクＩＤ「＃１」によって識別されるタスクを示すタスク情報が表示された際の第４領域３０４の一例を示している。図１４に示すように、第４領域３０４には、タスクＩＤ「＃１」、当該タスクＩＤ「＃１」を含むタスク情報に含まれるタイトル、説明、状況及び履歴等が表示される。
【０１２７】
なお、第２領域３０２にはタスク管理ツールにおいて管理されているタスクが一覧表示されるが、当該第２領域３０２には、当該タスクを示すタスク情報に含まれるタスクＩＤ及びタスクのタイトルが一覧形式で表示されるものとする。この場合、第２領域３０２においては、単にタスクが一覧表示されるだけでもよいが、図１５に示すように当該タスクに対応するソースコードを格納するファイルのファイル名（または当該ファイルのパス）が関連づけて表示されてもよい。なお、タスクに対応するソースコードを格納するファイルのファイル名は、例えば格納部１３に格納されている対応表に基づいて取得（特定）することができる。
【０１２８】
図１５に示す例では、第２領域３０２には、例えばタスクＩＤ「＃１」によって識別されるタスクに関連づけてファイル名「ファイル３」が表示されている。これによれば、タスクＩＤ「＃１」によって識別されるタスクに対応するソースコードが格納されているファイルが「ファイル３」であることを容易に把握することができる。
【０１２９】
同様に、第２領域３０２においては、例えばタスクＩＤ「＃１０」によって識別されるタスクに対応するソースコードが格納されているファイルが「ファイル２」であり、タスクＩＤ「＃１２」によって識別されるタスクに対応するソースコードが格納されているファイルが「ファイル１」であることを容易に把握することができる。
【０１３０】
図１５においては示されていないが、例えば１つのタスクＩＤによって識別されるタスクに関連づけて複数のファイル名が表示されていても構わない。
【０１３１】
また、上記した第４領域３０４には、第２領域３０２においてユーザによって指定されたタスク情報が表示されてもよい。
【０１３２】
更に、例えば第１領域３０１においてユーザによって指定されたファイルに格納されているソースコードが第３領域３０３に表示された場合に、当該ソースコードに対応するタスクを示すタスク情報が第４領域３０４に表示されてもよい。すなわち、第３領域３０３及び第４領域３０４において、ソースコード及び当該ソースコードに対応するタスクを示すタスク情報が関連づけて表示されるようにしてもよい。
【０１３３】
上記したように表示画面３００（第１領域３０１、第２領域３０２、第３領域３０３及び第４領域３０４）においては、ソースコード管理ツールにおいて管理されているソースコードとタスク管理ツールにおいて管理されているタスクとを様々な態様で関連づけて表示することが可能である。
【０１３４】
ここで、本実施形態に係る管理装置１０においては、ソースコード管理ツールにおいて管理されているソースコードを格納するファイルを検索することが可能である。
【０１３５】
以下、図１６のフローチャートを参照して、ファイルを検索する際の管理装置１０の処理手順の一例について説明する。
【０１３６】
ファイルを検索する場合、ユーザは、入力デバイス１０６（例えば、キーボード等）を用いて検索条件を指定することができる。検索部１５は、ユーザによって指定された検索条件を取得する（ステップＳ３１）。なお、ステップＳ３１において取得される検索条件には、例えば検索ワード（キーワード）が含まれる。
【０１３７】
次に、検索部１５は、ソースコード管理ツールにおいて管理されているソースコードを格納するファイルの中から、ステップＳ３１において取得された検索条件に合致するファイル（ファイルパス）を検索する（ステップＳ３２）。
【０１３８】
ここで、ソースコード中には、例えばコメント（注釈）を直接記述することができる。上記したステップＳ３２において取得された検索条件が検索ワードであるものとすると、当該検索ワードを含むコメントが記述されているソースコードが格納されているファイルが検索結果として取得される。なお、ここではソースコード中のコメントを検索対象とするものとして説明したが、当該検索対象は、ソースコード全体であっても構わない。
【０１３９】
更に、検索部１５は、格納部１３に格納されているタスク情報（タスク管理ツールに保持されているタスク情報）の中から、ステップＳ３１において取得された検索条件に合致するタスク情報を検索する（ステップＳ３３）。
【０１４０】
上記したようにステップＳ３２において取得された検索条件が検索ワードであるものとすると、ステップＳ３３においては、当該検索ワードがタイトル、説明または履歴等のテキストに含まれているタスク情報が検索される。
【０１４１】
この場合、ステップＳ３３において検索されたタスク情報によって示されるタスクに対応するソースコードを格納するファイルが検索結果として取得される。なお、タスクに対応するソースコードを格納するファイルとは、上記した格納部１３に格納されている対応表において当該タスクを識別するためのタスクＩＤに対応づけられているファイル名のファイルである。
【０１４２】
ステップＳ３３の処理が実行されると、第２表示処理部１６は、検索結果として取得されたファイル（のファイル名）の一覧を表示デバイス１０７に表示する（ステップＳ３４）。
【０１４３】
ここで、図１７は、図１６に示す処理が実行された際の検索結果の表示例を示す。ここでは、検索ワード「バブルのサイズ」が検索条件としてユーザによって指定された場合の検索結果を示している。また、検索結果として取得されたファイルのファイル名は、例えば第１領域３０１に表示されるものとして説明する。
【０１４４】
図１７に示す例では、第１領域３０１には、ファイル３（ファイル名「ファイル３」）が検索結果として表示されている。なお、ファイル３は、フォルダＡの下位に配置されているフォルダ１に配置されている。
【０１４５】
更に、第１領域３０１には、ファイル３に関連づけて第３タスク情報「＃１バブルサイズを○○様との相談の上決定する」が表示されている。
【０１４６】
すなわち、図１７においては、ファイル３に関連づけて表示されている第３タスク情報（タスクのタイトル）に検索ワード「バブルのサイズ」が含まれていることにより、検索結果としてファイル３が取得された例を示している。
【０１４７】
また、第１領域３０１において、第３タスク情報として表示されている「＃１バブルのサイズを○○様と相談の上決定する」に含まれる検索ワードに該当する部分（つまり、「バブルのサイズ」）は、図１７に示すように例えば強調表示されてもよい。
【０１４８】
なお、ここでは検索結果として取得されたファイルのファイル名が第１領域３０１に表示されるものとして説明したが、当該ファイル名（つまり、検索結果）は、第１領域３０１以外の領域に表示されてもよい。
【０１４９】
上記したように本実施形態においては、ソースコードのバージョンを管理するためのコミット情報を取得し、当該取得されたコミット情報に基づいてソースコードの編集作業に対して定義されているタスクを特定し、当該特定されたタスクを示すタスク情報を取得する。
【０１５０】
本実施形態においては、上記したように取得されたタスク情報をソースコードに関連づけて表示する構成により、例えばソースコード管理ツールにおいて管理されているソースコードとタスク管理ツールにおいて管理されているタスクとの対応関係を容易に把握することができる。これによれば、ソースコード管理ツール及びタスク管理ツールを効率的に使用することが可能となり、ソフトウェア製品の開発におけるユーザの利便性を向上させることができる。
【０１５１】
また、本実施形態においては、階層構造を有する複数のフォルダの各々に配置された複数のソースコードの各々が格納されたファイルを一覧表示するとともに、当該ファイルに格納されているソースコードに対応するタスクを示すタスク情報を当該ファイルに関連づけて表示する。このような構成によれば、ソースコード管理ツールにおいて複数のソースコードのバージョンが管理されているような場合であっても、当該複数のソースコードの各々に対応するタスクを容易に把握することが可能となる。
【０１５２】
更に、本実施形態においては、ユーザによって指定された検索条件に該当するタスク情報を検索し、当該検索されたタスク情報によって示されるタスクに対応するソースコードを格納するファイルを検索結果として表示する。具体的には、本実施形態におけるタスク情報は当該タスク情報によって示されるタスクに関するテキスト（例えば、タイトル、説明及び履歴等）を含み、ユーザによって検索条件として指定された検索ワード（キーワード）がテキストに含まれているタスク情報が検索される。
【０１５３】
本実施形態においては、このような構成により、タスク情報を用いてソースコード（を格納するファイル）を検索することが可能となり、単にソースコードに記述されている内容のみを用いて検索する場合と比較して、多様な検索を実現することができる。
【０１５４】
なお、ソースコードにはコメントが記述されている場合があるが、上記した検索条件として指定された検索ワードを含むコメント記述されているソースコードを検索することも可能である。
【０１５５】
また、本実施形態において、ソースコードがコミットされる際にユーザによって作成されたコミットコメント（コミット情報に含まれるコミットコメント）には、当該ソースコードに対応するタスクを識別するためのタスクＩＤが含まれている（記述されている）ものとする。本実施形態においては、このような構成により、ソースコードとタスクとの対応関係を適切に特定することが可能となる。
【０１５６】
ここでは、コミットコメントにタスクＩＤが含まれているものとして説明したが、ソースコードに対応するタスクを特定することが可能であれば、当該コミットコメントに他の情報（例えば、タイトル等）が含まれる構成であってもよい。
【０１５７】
なお、本実施形態においては、タスク情報として例えばタスクＩＤ及びタスクのタイトルが表示されるものとして説明したが、当該タスク情報に含まれるタスクの状況を表示することも可能である。このような構成によれば、ユーザは各ソースコードに対応するタスクの状況が「オープン」であるか「クローズ」であるかに基づいて、当該ソースコードに対応するタスクの進捗状況を容易に把握することが可能となる。
【０１５８】
また、第２領域３０２にはタスク管理ツールにおいて管理されているタスクが一覧表示されるが、上記したように当該タスクに関連づけて当該タスクに対応するソースコード（を格納するファイルのファイル名）が表示されてもよい。このような構成によれば、第２領域３０２において一覧表示されたタスクのうち例えばバグを埋め込んだようなタスクが明らかな場合には、当該タスクに対応するソースコード（つまり、修正すべきファイルの候補）を容易に把握することが可能となる。
【０１５９】
本実施形態においては、対応表作成部１１、タスク情報取得部１２、格納部１３、第１表示処理部１４、検索部１５及び第２表示処理部１６が管理装置１０内に含まれるものとして説明したが、これらの各部１１〜１６は複数の装置に分散して配置されていてもよい。すなわち、本実施形態に係る管理装置１０は、複数の装置によって実現されていてもよい。更に、管理装置１０は、これらの各部１１〜１６の少なくとも一部が外部装置に配置されるように構成されていてもよい。
【０１６０】
（第２実施形態）  
次に、第２実施形態について説明する。なお、本実施形態においては、前述した第１実施形態の説明で用いた図面と同様の部分には同一参照符号を付して説明するものとする。また、以下の説明では、前述した第１実施形態と異なる部分について主に述べる。
【０１６１】
図１８は、本実施形態に係る管理装置の機能構成の一例を示すブロック図である。図１８に示すように、管理装置１０は、前述した図１に示す各部１１〜１６に加えて、進捗度算出部１７を含む。
【０１６２】
進捗度算出部１７は、例えば複数のファイルが配置されているフォルダ毎に、当該フォルダにおけるオープン中（作業中）のタスクの割合（以下、進捗度と表記）を算出する。
【０１６３】
進捗度算出部１７によってフォルダ毎に算出された進捗度は、第１表示処理部１４によって当該フォルダ（のフォルダ名）に関連づけて表示される。
【０１６４】
次に、図１９のフローチャートを参照して、本実施形態に係る管理装置１０の処理手順の一例について説明する。
【０１６５】
まず、前述した図８に示すステップＳ２１〜Ｓ２３の処理に相当するステップＳ４１〜Ｓ４３の処理が実行される。
【０１６６】
次に、進捗度算出部１７は、複数のファイルが配置されているフォルダ毎に、当該フォルダにおける進捗度を算出する（ステップＳ４４）。
【０１６７】
ここで、進捗度を算出するフォルダを対象フォルダとして、ステップＳ４４の処理について具体的に説明する。
【０１６８】
まず、進捗度算出部１７は、対象フォルダに配置されている複数のファイルをソースコード管理ツールに保持されている階層構造情報に基づいて特定する。
【０１６９】
次に、進捗度算出部１７は、特定された複数のファイルの各々に格納されているソースコードに対応するタスクを示すタスク情報を、格納部１３に格納されている対応表に基づいて取得する。
【０１７０】
進捗度算出部１７は、取得されたタスク情報によって示されるタスクのうち、タスクの状況が「オープン」であるタスクの割合を進捗度として算出する。なお、進捗度は、タスクの状況が「クローズ」であるタスクの割合であってもよい。
【０１７１】
ステップＳ４４においては、上記した処理が全てのフォルダに対して実行されることによって、フォルダ毎の進捗度が算出される。
【０１７２】
ステップＳ４４の処理が実行されると、前述した図８に示すステップＳ２４及びＳ２５の処理に相当するステップＳ４５及びＳ４６の処理が実行される。
【０１７３】
更に、第１表示処理部１４は、ステップＳ４４においてフォルダ毎に算出された進捗度を、ステップＳ２４において表示された当該フォルダのフォルダ名に関連づけて表示する（ステップＳ４７）。
【０１７４】
次に、図２０を参照して、上記した図１９に示す処理が実行された後の第１領域３０１の表示例について説明する。
【０１７５】
図２０に示すように、第１領域３０１には、フォルダＡ、フォルダ１及びフォルダ２の階層構造が表示されており、当該フォルダ１に配置されたファイル１、ファイル２及びファイル３が更に表示されている。
【０１７６】
また、第１領域３０１においては、ファイル１に関連づけて第１タスク情報「＃１２データ収集日の翌日に、当該ジョブが実行される」が表示されている。同様に、第１領域３０１においては、ファイル２に関連づけて第２タスク情報「＃１０テーマをユーザごとに変える」が表示されている。更に、第１領域３０１においては、ファイル３に関連づけて第３タスク情報「＃１バブルのサイズを○○様と相談の上決定する」が表示されている。
【０１７７】
更に、第１領域３０１においては、フォルダ１に関連づけて上記した第１〜第３タスク情報が表示されている。
【０１７８】
ここで、上記した第１及び第２タスク情報に含まれるタスクの状況が「オープン」であり、第３タスク情報に含まれるタスクの状況が「クローズ」である場合を想定する。この場合、フォルダ１における進捗度としては、２／３が算出される。
【０１７９】
このように算出されたフォルダ１における進捗度は、フォルダ１に関連づけて第１領域３０１に表示される。具体的には、フォルダ１における進捗度は、図２０に示すように、例えばフォルダ名「フォルダ１」を囲う矩形形状の枠４０１内の領域のうち、当該進捗度（割合）に相当する領域に色彩を付与することによって表示される。図２０に示す例では、フォルダ１における進捗度は２／３であるため、枠４０１内の２／３の領域に対して色彩が付与されている。
【０１８０】
なお、第１領域３０１においては、例えば各ファイルに格納されているソースコードに対応するタスクを示すタスク情報に含まれるタスクの状況が同様の態様で表示されてもよい。具体的には、図２０に示すように、上記した第１及び第２タスク情報に含まれるタスクの状況が「オープン」である場合には、ファイル名「ファイル１」を囲う矩形形状の枠４０２及びファイル名「ファイル２」を囲う矩形形状の枠４０３内の領域の全てに色彩が付与される。一方、第３タスク情報に含まれるタスクの状況が「クローズ」である場合には、ファイル名「ファイル３」を囲う矩形形状の枠４０４内の領域には色彩は付与されない。
【０１８１】
上記したように本実施形態においては、複数のファイルが配置されるフォルダに関連づけて、当該複数のファイルの各々に格納されているソースコードに対応するタスクを示すタスク情報を表示するとともに、当該表示されたタスク情報によって示されるタスクのうち当該タスクの状況が「オープン」（第１状況）であるタスクの割合（つまり、進捗度）を表示する。本実施形態においては、このような構成により、例えばフォルダに配置されている複数のファイルの各々に格納されているソースコードに対応するタスクの状況を個別に確認することなく、当該フォルダに配置されている複数のファイルに格納されているソースコードに対応するタスク全体の進捗状況を容易に把握することが可能となる。
【０１８２】
また、本実施形態においては、例えば各ファイルに格納されているソースコードに対応するタスクの状況についても同様の態様（形式）で表示することによって、当該タスクの状況を個別に確認することも可能である。
【０１８３】
なお、本実施形態は、前述した第１実施形態に適用されてもよい。具体的には、本実施形態における進捗度は、例えば前述した第１実施形態において説明した検索結果を表示する際に併せて表示されても構わない。
【０１８４】
（第３実施形態）  
次に、第３実施形態について説明する。なお、本実施形態においては、前述した第１実施形態の説明で用いた図面と同様の部分には同一参照符号を付して説明するものとする。また、以下の説明では、前述した第１及び第２実施形態と異なる部分について主に述べる。
【０１８５】
図２１は、本実施形態に係る管理装置の機能構成の一例を示すブロック図である。図２１に示すように、管理装置１０は、前述した図１に示す各部１１〜１６に加えて、オブジェクト作成部１８を含む。
【０１８６】
前述した第１実施形態において説明したように、ソースコードに対応するタスクを示すタスク情報（格納部１３に格納されているタスク情報）にはタイトル、説明及び履歴等のテキストが含まれる。
【０１８７】
オブジェクト作成部１８は、上記したようにタスク情報に含まれるテキストに出現する単語を表すオブジェクト（以下、ワードクラウドと表記）を作成する。
【０１８８】
オブジェクト作成部１８によって作成されたワードクラウドは、当該ワードクラウドが作成されたタスク情報とともに、当該タスク情報によって示されるタスクに対応するソースコード（を格納するファイル）に関連づけて表示される。
【０１８９】
次に、図２２のフローチャートを参照して、本実施形態に係る管理装置１０の処理手順の一例について説明する。
【０１９０】
まず、前述した図８に示すステップＳ２１〜Ｓ２３の処理に相当するステップＳ５１〜Ｓ５３の処理が実行される。
【０１９１】
次に、オブジェクト作成部１８は、ステップＳ５３において取得されて格納部１３に格納されたタスク情報に基づいてワードクラウドを作成する（ステップＳ５４）。
【０１９２】
ここで、ステップＳ５４の処理について具体的に説明すると、オブジェクト作成部１８は、格納部１３に格納されたタスク情報のうちの１つ（以下、対象タスク情報と表記）を取得する。
【０１９３】
オブジェクト作成部１８は、取得された対象タスク情報に含まれるテキスト（タイトル、説明及び履歴）に対して例えば形態素解析等の解析処理を実行し、当該テキストに含まれる単語を抽出する。
【０１９４】
オブジェクト作成部１８は、抽出された単語を表すワードクラウドを作成する。なお、オブジェクト作成部１８によって作成されるワードクラウドの具体例については後述する。
【０１９５】
ステップＳ５４においては、上記した処理が格納部１３に格納されている全てのタスク情報（つまり、ソースコードに対応するタスクを示すタスク情報）に対して実行されることによって、当該タスク情報毎のワードクラウドが作成される。
【０１９６】
ステップＳ５４の処理が実行されると、前述した図８に示すステップＳ２４及びＳ２５の処理に相当するステップＳ５５及びＳ５６の処理が実行される。
【０１９７】
更に、第１表示処理部１４は、ステップＳ５４においてタスク情報毎に作成されたワードクラウドを、ステップＳ２４において表示された当該タスク情報によって示されるタスクに対応するソースコードを格納するファイルのファイル名に関連づけて表示する（ステップＳ５７）。
【０１９８】
上記した図２２に示す処理によれば、各ファイルに格納されているソースコードの概要を、当該ソースコードに対応するタスク（を示すタスク情報）のワードクラウドで表示することができる。
【０１９９】
次に、図２３を参照して、上記した図２２の処理が実行された後の第１領域３０１の表示例について説明する。
【０２００】
図２３に示すように、第１領域３０１には、フォルダＡ、フォルダ１及びフォルダ２の階層構造が表示されており、当該フォルダ１に配置されたファイル１、ファイル２及びファイル３が更に表示されている。
【０２０１】
また、第１領域３０１においては、ファイル１に関連づけて第１タスク情報「＃１２データ収集日の翌日に、当該ジョブが実行される」が表示されている。同様に、第１領域３０１においては、ファイル２に関連づけて第２タスク情報「＃１０テーマをユーザごとに変える」が表示されている。更に、第１領域３０１においては、ファイル３に関連づけて第３タスク情報「＃１バブルのサイズを○○様と相談の上決定する」が表示されている。
【０２０２】
ここで、本実施形態においては、ファイル１及び第１タスク情報に関連づけて、当該第１タスク情報に含まれるテキスト（例えば、タイトル「データ収集日の翌日に、当該ジョブが実行される」等）から作成されたワードクラウド５０１が更に表示される。
【０２０３】
なお、ワードクラウド５０１は、第１タスク情報に含まれるテキストを構成する各単語の出現頻度（優先度）を表している。具体的には、ワードクラウド５０１には、第１タスク情報に含まれるテキスト中の出現頻度に応じて決定されたサイズで表記された単語が含まれている。
【０２０４】
また、ファイル２及び第２タスク情報に関連づけて、当該第２タスク情報に含まれるテキスト（例えば、タイトル「テーマをユーザごとに変える」等）から作成されたワードクラウド５０２が更に表示されている。
【０２０５】
なお、ワードクラウド５０２は、第２タスク情報に含まれるテキストを構成する各単語の出現頻度を表している。具体的には、ワードクラウド５０２には、第２タスク情報に含まれるテキスト中の出現頻度に応じて決定されたサイズで表記された単語が含まれている。
【０２０６】
同様に、ファイル３及び第３タスク情報に関連づけて、当該第３タスク情報に含まれるテキスト（例えば、タイトル「バブルのサイズを○○様と相談の上決定する」等）から作成されたワードクラウド５０３が更に表示されている。
【０２０７】
なお、ワードクラウド５０３は、第３タスク情報に含まれるテキストを構成する各単語の出現頻度を表している。具体的には、ワードクラウド５０３には、第３タスク情報に含まれるテキスト中の出現頻度に応じて決定されたサイズで表記された単語が含まれている。
【０２０８】
上記したワードクラウド５０１〜５０３によれば、ユーザは、第１〜第３タスク情報の各々に含まれるテキストに出現する単語（つまり、当該第１〜第３タスク情報の各々によって示されるタスクの内容）を把握することができる。
【０２０９】
ここで、上記した図２２においては説明を省略したが、本実施形態におけるワードクラウドは複数のファイルが配置されるフォルダに対して作成されても構わない。この場合、ワードクラウドは、フォルダに配置されている複数のファイルの各々に格納されているソースコードに対応するタスクを示すタスク情報に含まれるテキストから作成されればよい。
【０２１０】
なお、図２３に示すワードクラウド５０４は、フォルダ１に関連づけて表示されている第１〜第３タスク情報（つまり、フォルダ１に配置されているファイル１〜ファイル３の各々に格納されているソースコードに対応するタスクを示す第１〜第３タスク情報）に含まれるテキストから作成されたワードクラウドである。
【０２１１】
図２３に示すワードクラウドの表示態様は一例であり、当該ワードクラウドは、タスク情報に含まれるテキストに出現する単語（及び当該単語の出現頻度）をユーザが把握することが可能であれば、例えば出現頻度の高い単語が特定の色彩で表示される等の他の態様で表示されてもよい。
【０２１２】
また、ワードクラウドに含まれる単語は、タスク情報に含まれるテキストに出現する単語のうち、例えば出現頻度の高い予め定められた数の単語であるものとする。
【０２１３】
また、図２３に示すように第１領域３０１に表示されたワードクラウドがユーザによって指定された場合には、当該ワードクラウドが拡大表示される構成としてもよい。
【０２１４】
なお、図２３においては、便宜的に、主にタスク情報に含まれるタイトルから作成されたワードクラウドが示されているが、当該ワードクラウドは、上記したようにタスク情報に含まれる説明及び履歴等に出現する単語を含むものであってもよい。
【０２１５】
上記したように本実施形態においては、タスク情報に含まれるテキストに出現する単語を表すワードクラウド（オブジェクト）を作成し、当該作成されたワードクラウドを当該タスク情報によって示されるタスクに対応するソースコードに関連づけて表示する。
【０２１６】
なお、本実施形態において、ワードラウドは、タスク情報に含まれるテキスト中の単語の出現頻度を表す。具体的には、ワードクラウドは、タスク情報に含まれるテキスト中の出現頻度に応じて決定されたサイズで表記される単語を含む。
【０２１７】
本実施形態においては、上記したようにソースコードに関連づけてワードクラウドを表示することによって、当該ソースコードを格納するファイルを開くことなく、当該ソースコードの概要を直感的に把握することが可能となる。
【０２１８】
なお、本実施形態は、前述した第１及び実施形態に適用されてもよい。具体的には、本実施形態におけるワードクラウドは、例えば前述した第１実施形態において説明した検索結果を第１領域３０１に表示する際に当該検索結果として取得されたファイルに対応づけて表示されてもよいし、タスク（を示すタスク情報）を第２領域３０２に一覧表示する際に当該タスクに対応づけて表示されてもよい。更に、ワードクラウドは、前述した第２実施形態における進捗度を表示する際に併せて表示されても構わない。
【０２１９】
以上述べた少なくとも１つの実施形態によれば、ソフトウェア製品の開発におけるユーザの利便性を向上させることが可能な管理装置、方法及びプログラムを提供することができる。
【０２２０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。  
【符号の説明】
【０２２１】
１０…管理装置、１１…対応表作成部、１２…タスク情報取得部、１３…格納部、１４…第１表示処理部、１５…検索部、１６…第２表示処理部、１７…進捗度算出部、１８…オブジェクト作成部、１０１…ＣＰＵ、１０２…不揮発性メモリ、１０３…主メモリ、１０４…ＢＩＯＳ−ＲＯＭ、１０５…システムコントローラ、１０６…入力デバイス、１０７…表示デバイス、１０８…ＥＣ。
【図１】
2020115317.tif 000003
【図２】
2020115317.tif 000004
【図３】
2020115317.tif 000005
【図４】
2020115317.tif 000006
【図５】
2020115317.tif 000007
【図６】
2020115317.tif 000008
【図７】
2020115317.tif 000009
【図８】
2020115317.tif 000010
【図９】
2020115317.tif 000011
【図１０】
2020115317.tif 000012
【図１１】
2020115317.tif 000013
【図１２】
2020115317.tif 000014
【図１３】
2020115317.tif 000015
【図１４】
2020115317.tif 000016
【図１５】
2020115317.tif 000017
【図１６】
2020115317.tif 000018
【図１７】
2020115317.tif 000019
【図１８】
2020115317.tif 000020
【図１９】
2020115317.tif 000021
【図２０】
2020115317.tif 000022
【図２１】
2020115317.tif 000023
【図２２】
2020115317.tif 000024
【図２３】
2020115317.tif 000025