JP5565885B2 - ソースファイル編集管理装置、ソースファイル編集管理方法、およびプログラム - Google Patents

ソースファイル編集管理装置、ソースファイル編集管理方法、およびプログラム Download PDF

Info

Publication number
JP5565885B2
JP5565885B2 JP2012080515A JP2012080515A JP5565885B2 JP 5565885 B2 JP5565885 B2 JP 5565885B2 JP 2012080515 A JP2012080515 A JP 2012080515A JP 2012080515 A JP2012080515 A JP 2012080515A JP 5565885 B2 JP5565885 B2 JP 5565885B2
Authority
JP
Japan
Prior art keywords
source file
bug
dealt
unit
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012080515A
Other languages
English (en)
Other versions
JP2013210832A (ja
Inventor
昌吾 渡邊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Solution Innovators Ltd
Original Assignee
NEC System Technologies Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC System Technologies Ltd filed Critical NEC System Technologies Ltd
Priority to JP2012080515A priority Critical patent/JP5565885B2/ja
Publication of JP2013210832A publication Critical patent/JP2013210832A/ja
Application granted granted Critical
Publication of JP5565885B2 publication Critical patent/JP5565885B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

本発明は、ソースファイルのバグについて管理するための、ソースファイル編集管理装置、ソースファイル編集管理方法、およびプログラムに関する。
電子計算機に用いられるソースファイルには、バグが発生することがある。このバグを修正した履歴などを管理する、バグ管理システムが知られている(たとえば、特許文献1参照)。
上記のバグの修正時などにおいて、同一のソースファイルを、複数人が同時に編集すると、各ソースファイル間で、不整合が生じるおそれがある。このような不整合を防ぐために、排他制御を行う構成が知られている(たとえば、特許文献2,3参照)。
また、複数人が同時にソースコードを編集している場合に、リアルタイムで、複数人がどのような編集を行っているか、検索するようにした構成が知られている(たとえば、特許文献4参照)。
また、ソースファイルの修正内容を、修正情報として保持しておくことで、リリース時における、バグの修正漏れを抑制するようにした構成が知られている(たとえば、特許文献5参照)。
特開2010−128650号公報 特開2008−117340号公報 特開2006−277435号公報 特許第3022326号明細書 特開平9−97171号公報
ところで、現リリース版のソースファイルを改造することで、次期リリース版のソースファイルを作成する改造作業者と、現リリース版のソースファイルの保守作業者とは、別々であることが多い。即ち、次期リリース版ソースファイルのバグを改修する改造作業者と、現リリース版ソースファイルのバグを改修する保守作業者とは、別々である。このため、改造作業と、バグ改修作業との間で、改修内容などの取り込み状況の管理などが、適切に行われていないと、次期リリース版は、保守作業者の行ったバグ改修の内容が取り込まれないまま、リリースされるおそれがある。
従来、多くの場合は、手作業によって、ソースファイルとバグの対応を管理し、次期リリース版のバグ改修状況の把握に多大な工数を割いていた。また、短い期間で、次期リリース版ソースファイルを作成するための改造作業と、現リリース版ソースファイルのバグ改修作業とを行うためには、これらの作業を同時に行う必要がある。しかしながら、特許文献2,3に記載のように、同一のデータについて、排他制御を行う構成では、改造作業者および保守作業者の双方が、同一のデータを改修することができない。また、特許文献4に記載されているように、ソースファイルの1行ずつのリアルタイムな同時編集をチェックする方法では、一度、作業者に警告が出されているにも関わらず、さらに1行編集する毎にリアルタイムにチェックするということは、無駄な処理を行っているといえる。
また、特許文献1〜5のいずれの構成においても、次期リリース版ソースファイルを作成するための改造作業において、現リリース版ソースファイルの保守作業で反映されたバグが未対応であっても、次期リリース版ソースファイルがチェックインされてしまう。
本発明の目的の一例は、上記問題を解消し、ソースファイルを、同時に異なる作業者によって編集することができ、かつ、ソースファイル間で、バグの反映状況を統一させ得る、ソースファイル編集管理装置、ソースファイル編集管理方法、およびプログラムを提供することにある。
上記目的を達成するため、本発明の一側面におけるソースファイル編集管理装置は、
ベースとなるソースファイルが格納された格納部にアクセスし、ベースとなる前記ソースファイルを、互いに独立する第1ソースファイルおよび第2ソースファイルとしてチェックアウトする、チェックアウト部と、
前記第1ソースファイルに関連するバグの対応状況を特定する第1バグデータを取得する、第1バグデータ取得部と、
前記第2ソースファイルの編集時に、前記第1バグデータで特定される前記バグの対応状況を表示させる、制御部と、
前記第1ソースファイルで対応済の前記バグについて、前記第2ソースファイルで対応済の場合には、前記格納部へ前記第2ソースファイルをチェックインし、前記第1ソースファイルで対応済の前記バグについて、前記第2ソースファイルで対応が済んでいない場合には、前記格納部へ前記第2ソースファイルをチェックインしない、チェックイン部と、
を備えていることを特徴とする。
また、上記目的を達成するため、本発明の一側面におけるソースファイル編集管理方法は、
(a)コンピュータによって、ベースとなるソースファイルが格納された格納部にアクセスし、ベースとなる前記ソースファイルを、互いに独立する第1ソースファイルおよび第2ソースファイルとしてチェックアウトする、ステップと、
(b)前記コンピュータによって、前記第1ソースファイルに関連するバグの対応状況を特定する第1バグデータを取得する、ステップと、
(c)前記コンピュータによって、前記第2ソースファイルの編集時に、前記第1バグデータで特定される前記バグの対応状況を表示させる、ステップと、
(d)前記コンピュータによって、前記第1ソースファイルで対応済の前記バグについて、前記第2ソースファイルで対応済の場合には、前記格納部へ前記第2ソースファイルをチェックインし、前記第1ソースファイルで対応済の前記バグについて、前記第2ソースファイルで対応が済んでいない場合には、前記格納部へ前記第2ソースファイルをチェックインしない、ステップと、
を有していることを特徴とする。
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、コンピュータに、
コンピュータに、
(a)ベースとなるソースファイルが格納された格納部にアクセスし、ベースとなる前記ソースファイルを、互いに独立する第1ソースファイルおよび第2ソースファイルとしてチェックアウトする、ステップと、
(b)前記第1ソースファイルに関連するバグの対応状況を特定する第1バグデータを取得する、ステップと、
(c)前記第2ソースファイルの編集時に、前記第1バグデータで特定される前記バグの対応状況を表示させる、ステップと、
(d)前記第1ソースファイルで対応済の前記バグについて、前記第2ソースファイルで対応済の場合には、前記格納部へ前記第2ソースファイルをチェックインし、前記第1ソースファイルで対応済の前記バグについて、前記第2ソースファイルで対応が済んでいない場合には、前記格納部へ前記第2ソースファイルをチェックインしない、ステップと、
を実行させることを特徴とする。
以上のように、本発明によれば、ソースファイルを、同時に異なる作業者によって編集することができ、かつ、ソースファイル間で、バグの反映状況を統一させ得る。
本発明の実施の形態におけるソースファイル編集管理システムの構成を示すブロック図である。 データベースと、ソースファイル編集管理装置とを示す、ブロック図である。 データベースに格納されているデータによって特定されるテーブルについて示す図であり、図3(a)は、基本バグデータによって特定される、基本バグテーブルを示しており、図3(b)は、第1バグデータによって特定される、第1バグテーブルを示しており、図3(c)は、第2バグデータによって特定される、第2バグテーブルを示している。 制御部が表示させるエディタ画面を示す図である。 エディタ画面の展開例を示す図である。図5(a)は、図4の開くボタン、チェックアウトボタン、およびチェックインボタンを示している。図5(b)は、図5(a)の各ボタン、が操作されることで表示される画面をそれぞれ示している。図5(c)は、図5(b)の各ボタンが操作されることで表示される画面をそれぞれ示している。図5(d)は、図5(c)のボタンが操作されることで表示される画面を示している。 図4の要バグ改修ボタンが操作された場合のエディタ画面の展開例を示す図である。 図4の差分抽出ボタンが操作された場合のエディタ画面の展開例を示す図である。 第1ソースファイルを、ソースファイル格納部からソースファイル編集管理装置へチェックアウトする際の、動作を示すフロー図である。 第1ソースファイルをチェックインする動作を示すフロー図である。 第2ソースファイルを、ソースファイル格納部からソースファイル編集管理装置へチェックアウトする際の動作を示すフロー図である。 チェックアウトされた第2ソースファイルに関する、バグの一覧を作成する動作を示すフロー図である。 第1ソースファイルのバグ一覧を表示する動作と、第2ソースファイルのバグ除去の結果を第2バグテーブルに反映する動作とを示すフロー図である。 第2ソースファイルのバグを除去するための、改造作業者の作業を補助する動作を示すフロー図である。 第2ソースファイルを、ソースファイル編集管理装置から、ソースファイル格納部へチェックインする動作のフロー図である。 本発明の実施の形態におけるソースファイル編集管理装置を実現するコンピュータの一例を示すブロック図である。
以下、本発明の実施の形態における、ソースファイル編集管理装置、ソースファイル編集管理方法、およびプログラムについて、図面を参照しながら説明する。
[全体構成]
最初に、本発明の実施の形態におけるソースファイル編集管理装置を含む、ソースファイル編集管理システムの構成について、図1を用いて説明する。図1は、本発明の実施の形態におけるソースファイル編集管理システム1の構成を示すブロック図である。
図1に示すように、ソースファイル編集管理システム1は、データベース2と、複数のソースファイル編集管理装置3と、を備えている。データベース2は、ネットワーク4を介して、各ソースファイル編集管理装置3に接続されている。なお、各ソースファイル編集管理装置3は、互いに同様の構成であるので、以下では、1つのソースファイル編集管理装置3について説明し、他のソースファイル編集管理装置3についての説明は省略する。
図2は、データベース2と、ソースファイル編集管理装置3とを示す、ブロック図である。図2では、ネットワーク4の図示は省略している。また、図2は、ソースファイル編集管理装置3に表示装置6が接続された状態を示している。
図2に示すように、データベース2は、コンピュータなどの記憶装置によって構成されている。データベース2は、ソースファイル格納部21と、基本バグデータ格納部22と、第1バグテーブル格納部23と、第2バグテーブル格納部24と、を備えている。
ソースファイル格納部21は、複数のソースファイルを格納している。本実施の形態では、ソースファイル格納部21に格納されるソースファイルには、ベースとなるソースファイル10と、第1ソースファイル11と、第2ソースファイル12と、が含まれる。
たとえば、ベースとなるソースファイル10は、最新のリリース版のソースファイルである。第1ソースファイル11は、ベースとなるソースファイル10のバグを改修することで完成する。すなわち、第1ソースファイル11は、ベースとなるソースファイル10の保守作業のために用いられる。第2ソースファイル12は、ベースとなるソースファイル10を改造することにより、ベースとなるソースファイル10の次にリリースされるソースファイルとなる。すなわち、第2ソースファイル12は、次期リリース版ソースファイルである。第1ソースファイル11と第2ソースファイル12とは、互いに独立したソースファイルである。
なお、以下では、第1ソースファイル11を編集することを、「改修」といい、第2ソースファイルを編集することを、「改造」という。本実施の形態では、ソースファイル格納部21には、ベースとなるソースファイル10以外にも、ベースとなるソースファイルが、履歴別に、複数含まれている。
基本バグデータ格納部22は、基本バグテーブル13aを特定する、基本バグデータ13を格納している。基本バグテーブル13aについては、後述する図3(a)を用いて説明する。
第1バグデータ格納部23は、第1バグテーブル14aを特定する、第1バグデータ14を格納している。第1バグテーブル14aについては、後述する図3(b)を用いて、詳細に説明する。
第2バグデータ格納部24は、第2バグテーブル15aを特定する、第2バグデータ15を格納している。第2バグテーブル15aについては、後述する図3(c)を用いて、詳細に説明する。
ソースファイル編集管理装置3は、ソースファイル格納部21に格納されているソースファイルの編集および編集管理を行う。ソースファイル編集管理装置3は、たとえば、第1ソースファイル11の編集を管理し、第2ソースファイル12の編集を管理する。
ソースファイル編集管理装置3は、チェックアウト部31と、チェックイン部32と、第1バグデータ取得部33と、制御部35と、を備えている。
チェックアウト部31は、ソースファイル格納部21にアクセスし、ベースとなるソースファイル10を、互いに独立した第1ソースファイル11、および第2ソースファイル12として、チェックアウト可能である。
第1バグデータ取得部33は、第1ソースファイル11に関連するバグの対応状況を特定する、第1バグデータ14を、第1バグデータ格納部23から取得する。また、第1バグデータ取得部33は、第1ソースファイル11のバグ対応状況を、更新する。制御部35は、第2ソースファイル12の編集時には、第1バグデータ14で特定されるバグの対応状況を表示させる。
チェックイン部32は、第1ソースファイル11で対応済のバグについて、第2ソースファイル12で対応済の場合には、ソースファイル格納部21へ第2ソースファイル12をチェックインする。一方、チェックイン部32は、第1ソースファイル11で対応済のバグについて、第2ソースファイル12で対応が済んでいない場合には、ソースファイル格納部21へ第2ソースファイル12をチェックインしない。
以上説明したように、本実施の形態では、ベースとなるソースファイル10を、互いに独立した第1ソースファイル11、および第2ソースファイル12としてチェックアウトできる。これにより、第1ソースファイル11と、第2ソースファイル12とを同時に、異なる作業者によって編集することができる。その結果、ベースとなるソースファイル10のバグ改修作業を第1ソースファイル11で行いつつ、たとえば、次期リリース版のソースファイルを作成する作業を、第2ソースファイル12で行うことができる。その結果、ソースファイルを、より迅速に編集することができる。また、第2ソースファイル12の編集時に、第1ソースファイルに関連するバグの対応状況を、確認することができる。第2ソースファイル12の改造作業者は、この対応状況を参考にすることで、第1ソースファイル11で改修されたバグについて、第2ソースファイル12のバグも、同様に除去することができる。その上、チェックイン部32は、第1ソースファイル11で対応済みのバグについて、第2ソースファイル12で対応が完了するまでは、第2ソースファイル12をチェックインしない。このため、第1ソースファイル11で対応されたバグが、第2ソースファイル12で対応されないという、反映漏れを防止できる。これにより、ソースファイル11、12間で、バグの反映状況を統一させることができる。以上の次第で、ソースファイル11、12を、同時に異なる作業者によって編集することができ、かつ、ソースファイル11、12間で、バグの反映状況を統一させ得る。
しかも、本実施の形態では、第2ソースファイル12のバグ改造の要否を、作業者がバグ管理表を参照しながら手作業で確認する必要がなく、バグの対応にかかる手間を、より低減することができる。
以上が、ソースファイル編集管理システム1の概略説明である。次に、ソースファイル編集管理システム1の、より具体的な構成を、図1に加え、図2〜図15を用いて説明する。
なお、本実施の形態では、第2ソースファイル12の改造作業と、第1ソースファイル11のバグ改修作業とを同時に進めるためには、ソースファイルをマージする作業が避けられないと考えられる。さらに、論理的に仕様の整合を保ってマージすることは機械的に自動で行うには限界がある。よって、全体仕様および改造仕様、ならびに、追加・強化する仕様を理解している要員の目視と、判断とが必要であると考えられる。そこで、本実施の形態では、「仕様のマージ」は、人手での作業が不可避との認識に立ち、ソースファイルの同時並行的な編集作業の実現を重視し、且つマージに関する状況を如何に正確に把握するかを、重視している。
図1および図2に示すように、本実施の形態では、ソースファイル編集管理システム1は、第1ソースファイル11と、第2ソースファイル12とを、異なるソースファイル編集管理装置3で、同時に編集可能に構成されている。
図3は、データベース2に格納されているデータによって特定されるテーブルについて示す図であり、図3(a)は、基本バグデータ13によって特定される、基本バグテーブル13aを示しており、図3(b)は、第1バグデータ14によって特定される、第1バグテーブル14aを示しており、図3(c)は、第2バグデータ15によって特定される、第2バグテーブル15aを示している。
図2および図3(a)に示すように、本実施の形態では、データベース2の基本バグデータ格納部22は、基本バグテーブル13aを特定する基本バグデータ13を格納している。基本バグテーブル13aは、発見されたバグについての情報を管理するテーブルである。本実施の形態では、基本バグテーブル13aは、図示しない入力装置などを用いて、予め、手作業で、基本バグデータ格納部22に格納されている。本実施の形態では、基本バグテーブル13aは、バグ番号13b、バグ内容13c、原因13d、対処13e、対応状況13f等の項目を有している。
本実施の形態では、バグ番号13bは、バグ内容13c毎に付されており、たとえば、1から始まっている。バグ内容13cは、たとえば、「カーソルの色が勝手に変わる」など、具体的なバグ内容が示される項目である。原因13dは、たとえば、「バグ内容13cが生じる原因が示される項目である。対処13eは、たとえば、ソースファイルをどのように変更したか、などが示される項目である。対応状況13fは、対応するバグについて、対応が済んだか否かが示される項目である。対応状況13fは、デフォルトでは、「未」である。本実施の形態では、基本バグテーブル13aには、4つのバグが示されている。また、基本バグテーブル13aでは、バグ番号1〜3は、基本となるソースファイル10が原因で生じたことが示されている。
本実施の形態では、データベース2の第1バグデータ格納部23は、第1バグテーブル14aを特定する第1バグデータ14を格納している。第1バグテーブル14aは、基本バグテーブル13aに示されているバグのうち、第1ソースファイル11に関連するものを、対応づけるテーブルである。本実施の形態では、第1バグテーブル14aは、図示しない入力装置などを用いて、予め、手作業で、第1バグデータ格納部23に格納されている。本実施の形態では、第1バグテーブル14aは、項番14b、バグ番号14c、連番14d、ソースファイル名14e、第1対応状況14fなどの項目を有している。
項番14bは、第1バグテーブル14aにおいて、バグ番号14c毎に付されている。バグ番号14cには、基本バグテーブル13aに示されているバグ番号13bのうち、第1ソースファイル11に関連するバグについてのバグ番号が示されている。本実施の形態では、第1ソースファイル11に関連するバグについてのバグ番号14cとして、「1」、「2」、「3」の番号が示されている。ソースファイル名14eには、バグを改修するソースファイルのファイル名が示されている。本実施の形態では、バグを改修するソースファイルは、第1ソースファイル11であるので、ソースファイル名14eには、「第1ソースファイル11」と示されている。対応状況14fは、個々のバグ番号14cで特定されるバグについて、第1ソースファイル11での対応が済んだか否かを示す項目である。本実施の形態では、各バグ番号14cにおいて、対応状況14fは、デフォルトで、「未」に設定される。この対応状況14fは、後述するように、第1ソースファイル11を、バグ改修のためにチェックアウトすることにより、「中」に変更される。「中」とは、編集中であるとの意味である。また、この対応状況14fは、後述するように、第1ソースファイル11を、バグ改修が完了してチェックインすることにより、「済」に変更される。
本実施の形態では、データベース2の第2バグデータ格納部24は、第2バグテーブル15aを特定する第2バグデータ15を格納している。第2バグテーブル15aは、第1バグテーブル14aに示されているバグを、第2ソースファイル12に対応づけるテーブルである。本実施の形態では、第2バグテーブル15aは、項番15b、ソースファイル名15c、連番15d、バグ番号15e、対応状況15fなどの項目を有している。
項番15bには、項番14bと同じ番号が付されている。ソースファイル名15cには、バグを除去するソースファイルのファイル名が示されている。本実施の形態では、バグを除去するソースファイルは、第2ソースファイル12であるので、ソースファイル名15cには、「第2ソースファイル12」と示されている。バグ番号15eは、バグ番号14cと同じ番号が付されている。対応状況15fは、個々のバグ番号15eで特定されるバグについて、第2ソースファイル12での対応が済んだか否かを示す項目である。本実施の形態では、各バグ番号15eにおいて、対応状況15fは、デフォルトで、「未」に設定される。この対応状況15fは、後述するように、入力受付部36に所定の操作指令が与えられることに伴い、「済」または「非」に変更される。
図2に示すように、本実施の形態では、ソースファイル編集管理装置3は、専用のエディタとして構成されている。すなわち、本実施の形態では、データベース2に格納されているソースファイルは、ソースファイル編集管理装置3によってのみ、編集される。本実施の形態では、ソースファイル編集管理装置3は、チェックアウト部31と、チェックイン部32と、第1バグデータ取得部33と、第2バグデータ取得部34と、制御部35と、入力受付部36と、差分抽出部37と、を備えている。
本実施の形態では、入力受付部36は、ソースファイル編集管理装置3を操作するための操作指令を、ソースファイル編集管理装置3の外部装置から受け付ける。この外部装置には、マウスなどのポインティングデバイス、およびキーボードが含まれる。入力受付部36は、制御部35に接続されている。入力受付部36は、後述するエディタ画面40上のボタンなどが操作されることにより、操作指令を受け付ける。
本実施の形態では、制御部35は、入力受付部36が受け付けた指令などに基づいて、ソースファイル編集管理装置3の各部の動作を制御する。制御部35は、表示装置6に接続されている。表示装置6には、液晶ディスプレイなどが含まれる。制御部35は、表示装置6へ画像表示信号を出力することにより、表示装置6の画面に、種々の映像を表示させる。制御部35に表示される画像の一例については、後述する。
本実施の形態では、チェックアウト部31は、ソースファイル格納部21からの、第1ソースファイル11のチェックアウトを行う。また、チェックアウト部31は、ソースファイル格納部21からの、第2ソースファイル12のチェックアウトを行う。
本実施の形態では、チェックイン部32は、ソースファイル格納部21への、第1ソースファイル11のチェックインを行う。また、チェックアウト部31は、ソースファイル格納部21への、第2ソースファイル12のチェックインを行う。
本実施の形態では、第1バグデータ取得部33は、前述したように、第1ソースファイル11に関連するバグ内容を特定した、第1バグデータ14を、第1バグデータ格納部23から取得する。第1バグデータ取得部33は、第1バグテーブル14aの対応状況14fを、「中」または「済」に変更することにより、第1ソースファイル11のバグ対応状況を、更新する。
本実施の形態では、第2バグデータ取得部34は、第2ソースファイル12に関連するバグ内容を特定した、第2バグデータ15を、第2バグデータ格納部24から取得する。第2バグデータ15は、第1バグデータ14が存在する場合に、第2バグデータ取得部34によって生成および更新される。第2バグデータ取得部34は、第2バグテーブル15aの各バグ番号15eの対応状況15fを、「済」または「非」に変更することにより、第2ソースファイル12のバグ対応状況を、更新する。
本実施の形態では、差分抽出部37は、チェックアウト部31によってチェックアウトされている第2ソースファイル12と、ソースファイル格納部21に格納されている第1ソースファイル11との差分を、抽出する。
次に、制御部35が、表示装置6に表示させる画像について説明する。図4は、制御部35が表示させるエディタ画面40を示す図である。図4に示すように、本実施の形態では、エディタ画面40は、ファイル名欄41と、開くボタン42と、チェックアウトボタン43と、チェックインボタン44と、要バグ対応ボタン45と、差分抽出ボタン46と、ソースファイル表示編集部47と、を有している。
ファイル名欄41は、エディタ画面40において操作されるソースファイル名を入力する欄である。開くボタン42は、ソースファイル格納部21からチェックアウトされたソースファイルを、エディタ画面40に開くためのボタンである。チェックアウトボタン43は、ソースファイル格納部21からソースファイルをチェックアウトするためのボタンである。チェックインボタン44は、ソースファイル編集管理装置3にチェックアウトされているソースファイルを、ソースファイル格納部21へチェックインするためのボタンである。要バグ対応ボタン45は、第2バグテーブル15aの対応状況15fが「未」であるものが存在する場合に、表示されるボタンである。差分抽出ボタン46は、ソースファイル編集管理装置3にチェックアウトされている第2ソースファイル12と、ソースファイル格納部21にチェックインされている第1ソースファイル11との差分を抽出するためのボタンである。ソースファイル表示編集部47は、作業者が編集するソースファイルが表示される部分である。
図5は、エディタ画面40の展開例を示す図である。図5(a)は、図4の開くボタン42、チェックアウトボタン43、およびチェックインボタン44を示している。図5(b)は、図5(a)の各ボタン42、43、44が操作されることで表示される画面をそれぞれ示している。図5(c)は、図5(b)の各ボタン49f、51aが操作されることで表示される画面をそれぞれ示している。図5(d)は、詳細ボタン52eが操作されることで表示される画面を示している。
図5(a)、図5(b)、図5(c)、および図5(d)に示すように、開くボタン42が操作されると、矢印A1で示される、「開く」画面48が表示される。開く画面48は、ソースファイル編集管理装置3にチェックアウトされているソースファイルを開くための画面である。たとえば、開く画面48のチェック欄48aが指定された状態で、OKボタン48cが操作されると、制御部35は、第2ソースファイル12を開く。一方、開く画面48のチェック欄48bが指定された状態で、OKボタン48cが操作されると、制御部35は、第1ソースファイル11を開く。また、キャンセルボタン48dが操作されると、開く画面48が閉じられる。
一方、たとえば、チェックアウトボタン43が操作されると、矢印A2で示される、チェックアウト画面49が表示される。チェックアウト画面49は、ソースファイル格納部21からソースファイルをチェックアウトするための画面である。チェックアウト画面49のチェック欄49aが指定された状態で、OKボタン49cが操作されると、チェックアウト部31は、ソースファイル格納部21に格納されている第2ソースファイル12をチェックアウトする。なお、この場合において、ソースファイル格納部21に第2ソースファイル12が格納されていなければ、チェックアウト部31は、ベースとなるソースファイル10を、第2ソースファイル12としてチェックアウトする。
一方、チェックアウト画面49のチェック欄49bが指定された状態で、OKボタン49cが操作されると、チェックアウト部31は、ソースファイル格納部21に格納されている、第1ソースファイル11をチェックアウトする。なお、この場合において、ソースファイル格納部21に第1ソースファイル11が格納されていなければ、チェックアウト部31は、ベースとなるソースファイル10を、第1ソースファイル11としてチェックアウトする。この場合、チェックアウトされるのは、バグ番号欄49eに表示されているバグ番号に対応する、第1ソースファイル11である。
バグ番号欄49eに表示されているバグ番号を変更するためには、作業者は、チェックアウト画面49の検索ボタン49fを操作する。これにより、バグ番号一覧画面50が表示される。バグ番号一覧画面50では、第1バグテーブル14aに示されているバグ番号14cが表示される。このバグ番号14cのいずれかが指定されることで、バグ番号欄49eのバグ番号が、対応する番号に変更される。本実施の形態では、バグ番号1〜3が、第1ソースファイル11に対応するバグである。また、本実施の形態では、バグ番号1〜3のいずれかが選択された場合に、第1ソースファイル11がチェックアウトされる。また、キャンセルボタン49dが操作されると、チェックアウト画面49が閉じられる。
本実施の形態では、チェックインボタン44が操作されると、矢印A3で示される、チェックイン画面51が表示される。チェックイン画面51は、ソースファイル編集管理装置3から、ソースファイル格納部21へソースファイルをチェックインするための画面である。キャンセルボタン51bが操作されると、チェックイン画面51が閉じられる。一方、ファイル名欄41(図4参照)に、チェックインしようとするファイル名が記入された状態で、OKボタン51aが操作されると、当該ファイル名で特定されるソースファイルが、チェックインされる。ただし、第2ソースファイル12をチェックインする際、第2バグテーブル15aの各バグ番号15eについての対応状況15fが全て「済」になっていない場合、矢印A5に示すように、対応バグ一覧画面52が表示され、チェックインは行われない。
対応バグ一覧画面52の一例として、本実施の形態では、バグ番号欄52aと、バグ内容欄52bと、第1対応状況欄52cと、第2対応状況欄52dと、詳細ボタン52eと、が表示されている。本実施の形態において、対応バグ一覧画面52には、バグ番号3、2、1のそれぞれについて、バグ内容52b、第1対応状況欄52c、第2対応状況欄52d、詳細ボタン52eがそれぞれ表示されている。第1対応状況欄52cとは、第1ソースファイル11における、バグの対応状況を示している。第1対応状況欄52cでは、第1ソースファイル11において、バグ改修対応が未だであるバグについては、「未」が表示される。また、第1対応状況欄52cでは、バグ改修が対応済であるバグについては「済」が表示され、バグ改修中であるバグについては、「中」が表示される。また、第2対応状況欄52dは、チェックインしようとしている第2ソースファイル12において、バグが対応済か否かを表示している。第2ソースファイル12において、第2対応状況欄52dは、デフォルトで、「未」に設定されている。これは、前述したように、第2バグテーブル15aの作成時に、各バグ番号についての対応状況が、「未」に設定されるためである。一方、除去が済んだバグについては、「済」と表示され、改修不要のバグについては、「非」が表示される。本実施の形態では、第2対応状況欄52dは、対応バグ一覧画面52の▼ボタン52fが操作されることにより、「未」、「非」、「済」のいずれかに変更される。また、対応バグ一覧画面52の詳細ボタン52eが操作されることで、操作された詳細ボタン52eに対応するバグ情報画面53が、矢印A6に示すように、表示される。本実施の形態では、このバグ情報画面53のデータは、第2バグデータ取得部34が、基本バグデータ格納部22、第1バグデータ格納部23、および第2バグデータ格納部24を参照することで、得られる。バグ情報画面53には、対応するバグ番号、原因、対応などが示されている。
図6は、図4の要バグ対応ボタン45が操作された場合のエディタ画面40の展開例を示す図である。図6に示すように、要バグ対応ボタン45が操作されると、矢印A7で示される、対応バグ一覧画面54が表示される。この対応バグ一覧画面54、およびバグ情報画面55は、それぞれ、図5の対応バグ一覧画面52、およびバグ情報画面53と同様である。したがって、対応バグ一覧画面54の各要素については、対応バグ一覧画面52の各要素に対応する符号を付し、詳細な説明は省略する。また、バグ情報画面55についての詳細な説明も省略する。
図7は、図4の差分抽出ボタン46が操作された場合のエディタ画面40の展開例を示す図である。図7に示すように、差分抽出ボタン46が操作されると、差分表示画面56が表示される。差分表示画面56には、編集中の第2ソースファイル12と、ソースファイル格納部21に格納されている第1ソースファイル11のファイル名とが、表示される。また、差分表示画面56には、上記第1ソースファイル11のバージョンが表示されている。この場合、本実施の形態では、編集中のファイル名として、「第2ソースファイル12」が表示されており、バージョン名として「10」が表示されている。また、差分表示画面56には、上記2つのソースファイル11、12の差分情報が表示されている。
[ソースファイル編集管理装置の動作説明]
次に、本発明の実施の形態におけるソースファイル編集管理装置3の動作について、図8〜14を用いて説明する。また、以下の説明においては、適宜、図1〜図14を参酌する。また、本実施の形態では、ソースファイル編集管理装置3を動作させることによって、ソースファイル管理編集方法が、実施される。よって、本発明の実施の形態におけるソースファイル管理編集方法の説明は、以下のソースファイル編集管理装置3の動作説明に代える。
[(1)第1ソースファイルのバグ改修が行われる際の動作]
[(1−1)第1ソースファイルのチェックアウト動作]
まず、バグ改修を行う、第1ソースファイル11を、ソースファイル格納部21からソースファイル編集管理装置3へチェックアウトする際の動作を、図8を用いて説明する。図8は、第1ソースファイル11を、ソースファイル格納部21からソースファイル編集管理装置3へチェックアウトする際の動作を示すフロー図である。
まず、バグ改修担当者によって、チェックアウトボタン43が操作されると(ステップA101でYES)、制御部35は、チェックアウト画面49を、表示装置6に表示させる(ステップA102)。
次に、制御部35は、バグ改修担当者によって、チェック欄49bがチェックされ、さらに、バグ番号一覧画面50が開かれた状態で、バグ番号1、2または3が指定された後に、OKボタン49cが操作されることを待つ。そして、上記の操作が行われ、OKボタン49cが操作されると(ステップA103でYES)、チェックアウト部31は、ソースファイル格納部21から、別のソースファイル編集管理装置3に、第1ソースファイル11がチェックアウト済であるか否かを判定する(ステップA104)。
別のソースファイル編集管理装置3に、第1ソースファイル11がチェックアウトされていない場合(ステップA104でNO)、チェックアウト部31は、上記バグ番号に対応するソースファイルとしての第1ソースファイル11をチェックアウトする(ステップA105)。この場合、ソースファイル格納部21にチェックインされている、最新の第1ソースファイル11が、ソースファイル格納部21からチェックアウトされる。ただし、バグ番号に対応する第1ソースファイル11が未だ存在しない場合には、ソースファイル10についてチェックインされている最新のものが、第1ソースファイル11として、チェックアウトされる。
第1ソースファイル11のチェックアウトに伴い、第1バグデータ取得部33は、第1バグテーブル14aの各対応状況14fを、「中」に更新する(ステップA106)。
一方、別のソースファイル編集管理装置3に、第1ソースファイル11がチェックアウト済である場合(ステップA104でYES)、チェックアウト部31は、第1ソースファイル11のチェックアウトを拒否する(ステップA107)。
[(1−2)第1ソースファイルのチェックイン動作]
次に、バグ改修が済まされた第1ソースファイル11をチェックインする動作を、図9を用いて説明する。図9は、第1ソースファイル11をチェックインする動作を示すフロー図である。
バグ改修担当者によって、チェックインボタン44が操作されると(ステップA201でYES)。制御部35は、チェックイン画面51を、表示装置6に表示させる(ステップA202)。次いで、チェックイン画面51のOKボタン51aが操作されると(ステップA203でYES)、チェックイン部32は、ファイル名欄41に記入されているファイル名、すなわち、本実施の形態では、第1ソースファイル11を、ソースファイル格納部21へチェックインする(ステップA204)。この際、第1バグデータ取得部33は、第1バグテーブル14aの各対応状況欄14fを、「中」から、「済」に更新する(ステップA205)。
[(2)第2ソースファイルの改造が行われる際の動作]
[(2−1)第2ソースファイルのチェックアウト動作]
まず、第2ソースファイル12を、ソースファイル格納部21からソースファイル編集管理装置3へチェックアウトする際の動作を、図10を用いて説明する。図10は、第2ソースファイル12を、ソースファイル格納部21からソースファイル編集管理装置3へチェックアウトする際の動作を示すフロー図である。
まず、改造担当者によって、チェックアウトボタン43が操作されると(ステップA301でYES)、制御部35は、チェックアウト画面49を、表示装置6に表示させる(ステップA302)。
次に、改造担当者によって、ファイル名欄41に、チェックアウトを要求する第2ソースファイル12のファイル名が記入され、かつ、チェック欄49bがチェックされた状態で、OKボタン49cが操作されることを待つ(ステップA303)。そして、OKボタン49cが操作されると(ステップA303でYES)、チェックアウト部31は、ソースファイル格納部21から、別のソースファイル編集管理装置3に、第2ソースファイル12がチェックアウト済か否かを判定する(ステップA304)。
別のソースファイル編集管理装置3に、第1ソースファイル11がチェックアウトされていない場合(ステップA304でNO)、チェックアウト部31は、第2ソースファイル12を、チェックアウトする(ステップA305)。この場合、ソースファイル格納部21にチェックインされている、最新の第2ソースファイル12が、ソースファイル格納部21からチェックアウトされる。ただし、対応する第2ソースファイル12が未だ存在しない場合には、ベースとなるソースファイル10が、第2ソースファイル12として、チェックアウトされる。
一方、別のソースファイル編集管理装置3に、第2ソースファイル12がチェックアウト済である場合(ステップA304でYES)、チェックアウト部31は、第2ソースファイル12のチェックアウトを拒否する(ステップA306)。
[(2−2)チェックアウトされた第2ソースファイルに対応する、バグの一覧の作成動作]
次に、チェックアウトされた第2ソースファイル12に関するバグの一覧を表示する動作を、図11を用いて説明する。図11は、チェックアウトされた第2ソースファイル12に関する、バグの一覧を作成する動作を示すフロー図である。
この動作は、改造作業者が、開くボタン42を操作し、さらに、ファイル名欄41に、第2ソースファイル12のファイル名を入力し、チェック欄48aをチェックした状態で、OKボタン48cが操作されると、開始される。この操作によって、入力受付部36は、第2ソースファイル12を開く要求を受け付ける(ステップA401でYES)。なお、第2ソースファイル12を開く要求が出されるのは、当該ソースファイル12のチェックアウト時、または、第2ソースファイル12について、チェックアウト後に編集が中断され、その後再開される時である。
上記の要求が受け付けられると、制御部35は、第2ソースファイル12を開く(ステップA402)。これにより、エディタ画面40のファイル表示装置6に、第2ソースファイル12の内容が表示される。
次いで、第2バグデータ取得部34は、第1バグテーブル格納部23に格納されている、第1バグデータ14を読み込む(ステップA403)。次に、第2バグデータ取得部34は、第1バグデータ14の有無を判定する(ステップA404)。第1バグデータ14が存在しない場合、すなわち、第1ソースファイル11にバグが存在しない場合(ステップA404でNO)、処理は終了する。
一方、第1バグデータ14が存在する場合(ステップA404でYES)、第2バグデータ取得部34は、第2バグテーブル15aを作成する(ステップA405)。具体的には、第2バグデータ取得部34は、第1バグテーブル14aのうち、ステップA402で開いたソースファイル名をキーにして、当該ソースファイル名に対応付けられているバグ番号などの一覧を抽出する。これにより、第2バグテーブル15aが作成される。
なお、ステップA405の処理に先立ち、既に第2バグテーブル15aが作成されている場合には、既に作成されている第2バグテーブル15aを更新することにより、第2バグテーブル15aが作成される(ステップA405)。より具体的には、既に作成されている第2バグテーブル15aに含まれているバグ番号についてのデータは、そのまま残される。一方、このステップA405の処理で新たに抽出されたバグ番号についてのデータは、第2バグテーブル15aに追加される。そして、第2バグデータ取得部34は、ステップA405において、新たに追加されたバグ番号がある場合には、当該バグ番号についての対応状況(対応状況15f)を、「未」に設定する。
次に、制御部35は、ステップA405で作成された第2バグテーブル15aにおいて、対応状況が「未」のバグ番号が存在しているか否かを検索する(ステップA406)。
対応状況が「未」のバグ番号が存在している場合(ステップA406でYES)、ステップA402で開かれた第2ソースファイル12には、改修すべきバグが存在している。この場合、制御部35は、要バグ対応ボタン45を、エディタ画面40に表示させる(ステップA407)。一方、対応状況が「未」のバグ番号が存在していない場合(ステップA406でNO)には、エディタ画面40には、要バグ対応ボタン45は表示されない。
[(2−3)第2ソースファイルのバグ除去などに際しての動作]
次に、エディタ画面40で編集されている第2ソースファイル12に関して、第1ソースファイル11のバグ一覧を表示する動作と、第2ソースファイル12のバグ除去の結果を第2バグテーブル15aに反映する動作とを、図12を用いて説明する。
図12は、第1ソースファイル11のバグ一覧を表示する動作と、第2ソースファイル12のバグ除去の結果を第2バグテーブル15aに反映する動作とを示すフロー図である。図12に示されている動作フローは、要バグ対応ボタン45がエディタ画面40に表示されている場合に実施される。
図12に示すように、要バグ対応ボタン45が改造作業者によって操作された場合(ステップA501でYES)、制御部35は、対応バグ一覧画面54を、表示装置6に表示させる(ステップA502)。より具体的には、制御部35は、第1バグテーブル14aおよび第2バグテーブル15aのバグ番号14c,15eを、バグ番号54aに表示させる。また、制御部35は、対応するバグ内容13cを、バグ内容54bに表示させる。また、制御部35は、第1バグテーブル14aの対応状況14fを、第1対応状況54cに表示させる。また、制御部35は、第2バグテーブル15aの対応状況15fを、第2対応状況54dに表示させる。
次に、制御部35は、第2対応状況欄54dの表示変更要求があるか否かを判定する(ステップA503)。改造作業者によって、▼ボタン54fが操作されない場合(ステップA503でNO)、制御部35は、ステップA505に進む。
一方、たとえば、改造作業者が、第2ソースファイル12のバグを除去した場合、▼ボタン52fを操作することで、対応するバグ番号の第2対応状況欄52dは、「済」に設定される。これにより、第2対応状況欄52dの表示変更要求が、第2バグデータ取得部34に与えられる(ステップA503でYES)。この場合、第2バグデータ取得部34は、第2バグテーブル15aのうち、対応するバグ番号についての対応状況が「済」となるよう、第2バグデータ15を変更する(ステップA504)。
なお、改造作業者が、第2ソースファイル12のバグ除去が不要であると判断した場合、▼ボタン52fが操作されることで、対応するバグ番号の第2対応状況欄52dは、「非」に設定される。この場合、上記したように、第2対応状況欄52dの表示変更要求が、第2バグデータ取得部34に与えられる(ステップA503でYES)。この場合、第2バグデータ取得部34は、第2バグテーブル15aのうち、対応するバグ番号についての対応状況が「非」となるよう、第2バグデータ15を変更する(ステップA504)。
次に、制御部35は、詳細ボタン54eが操作されたか否かを判定する(ステップA505)。詳細ボタン54eが操作された場合(ステップA505でYES)、第2バグデータ取得部34は、基本バグテーブル13aを読み込む。次いで、制御部35は、操作された詳細ボタン54eに対応するバグ番号について、バグ番号と、バグ内容と、原因と、対応などとを、バグ情報画面55に表示する(ステップA506)。一方、ステップA505にいて、詳細ボタン54eが操作されない場合(ステップA505でNO)。制御部35は、ステップA507に進む。
次に、制御部35は、対応バグ一覧画面54を閉じる要求の有無を判定する(ステップA507)。改造作業者の操作によって、対応バグ一覧画面54を閉じる要求がだされている場合(ステップA507でYES)、制御部35は、対応バグ一覧画面54を閉じさせる(ステップA508)。この場合において、バグ情報画面55が表示されている場合には、このバグ情報画面55も閉じられる。一方、対応バグ一覧画面54を閉じる要求が出されていない場合(ステップA507でNO)、制御部35は、ステップA503に戻る。
[(2−4)バグ改修作業の補助動作]
次に、第2ソースファイルのバグを除去するための、改造作業者の作業を補助する動作を、図13を用いて説明する。図13は、第2ソースファイル12のバグを除去するための、改造作業者の作業を補助する動作を示すフロー図である。
図13に示すフローは、エディタ画面40で第2ソースファイル12が開かれている場合に行われる。この場合において、エディタ画面40の差分抽出ボタン46が、開発作業者によって操作されると(ステップA601でYES)、制御部35は、上記第2ソースファイル12に対応する第1ソースファイル11を、ソースファイル格納部21から読み込む(ステップA602)。次に、差分抽出部37は、上記第2ソースファイル12と、読み込んだ第1ソースファイル11との差分を抽出する(ステップA603)。この場合、差分の抽出は、diff機能などを用いて行われる。次に、制御部35は、抽出した差分情報が示された差分表示画面56を、表示装置6に表示させる(ステップA604)。
改造作業者は、この差分情報を基に、エディタ画面40に表示されている、第2ソースファイル12のバグを除去する。
[(2−5)第2ソースファイルのチェックイン]
次に、第2ソースファイル12を、ソースファイル編集管理装置3から、ソースファイル格納部21へチェックインする動作を、図14を用いて説明する。図14は、第2ソースファイル12を、ソースファイル編集管理装置3から、ソースファイル格納部21へチェックインする動作のフロー図である。
まず、チェックイン部32は、エディタ画面40に第2ソースファイル12が開かれている状態で、エディタ画面40のチェックインボタン44が操作されたか否かを判定する(ステップA701)。改造作業者によってチェックインボタン44が操作された場合(ステップA701でYES)、チェックイン部32は、第2バグテーブル15aを参照する(ステップA702)。次に、チェックイン部32は、第2バグテーブル15aの各バグ番号に関して、「未」の対応状況の有無を判定する(ステップA703)。
第2バグテーブル15aにおいて、「未」の対応状況が存在する場合(ステップA703でYES)、制御部35は、対応バグ一覧画面52を表示させる(ステップA704)。対応バグ一覧画面52は、対応バグ一覧画面54と同様に作成される。さらに、対応バグ一覧画面52には、警告52gが表示されている。本実施の形態では、「対応必要なバグが未対応で残っています。チェックインは行えません。」と表示されている。この場合、チェックイン部32は、チェックインを行わない。
次に、制御部35は、第2対応状況欄52dの表示変更要求があるか否かを判定する(ステップA705)。改造作業者によって、▼ボタン52fが操作されない場合(ステップA705でNO)、制御部35は、ステップA707に進む。
一方、たとえば、改造作業者が、第2ソースファイル12のバグ除去の結果を反映し忘れていた場合、改造作業者によって▼ボタン52fが操作されることで、対応するバグ番号の第2対応状況欄52dは、「済」に設定される。これにより、第2対応状況欄52dの表示変更要求が、第2バグデータ取得部34に与えられる(ステップA705でYES)。この場合、第2バグデータ取得部34は、第2バグテーブル15aのうち、対応するバグ番号15eについての対応状況が「済」となるよう、第2バグデータ15を変更する(ステップA706)。
なお、改造作業者が、第2ソースファイル12のバグ除去が不要であると判断した場合、▼ボタン52fが操作されることで、対応するバグ番号15eの第2対応状況欄52dは、「非」に設定される。この場合、上記と同様に、第2対応状況欄52dの表示変更要求が、第2バグデータ取得部34に与えられる(ステップA705でYES)。この場合、第2バグデータ取得部34は、第2バグテーブル15aのうち、対応するバグ番号15eについての対応状況15fが「非」となるよう、第2バグデータ15を変更する(ステップA706)。
次に、制御部35は、詳細ボタン52eが操作されたか否かを判定する(ステップA707)。詳細ボタン52eが操作された場合(ステップA707でYES)、第2バグデータ取得部34は、基本バグテーブル13aを読み込む。次いで、制御部35は、操作された詳細ボタン52eに対応するバグ番号について、バグ番号と、バグ内容と、原因と、対応などとを、バグ情報画面53に表示する(ステップA708)。一方、ステップA707において、詳細ボタン52eが操作されない場合(ステップA707でNO)。制御部35は、ステップA709に進む。
次に、制御部35は、対応バグ一覧画面52を閉じる要求の有無を判定する(ステップA709)。たとえば、第2ソースファイル12に関して、一部または全部のバグ番号に関するバグの除去をし忘れていた場合、改造作業者は、対応バグ一覧画面52を閉じる操作を行う。これにより、対応バグ一覧画面52を閉じる要求が、入力受付部36を介して、制御部35へ出力される。この場合(ステップA709でYES)、制御部35は、対応バグ一覧画面52を閉じる(ステップA710)。この場合において、バグ情報画面53が表示されている場合には、このバグ情報画面53も閉じられる。一方、対応バグ一覧画面52を閉じる要求が出されていない場合(ステップA709でNO)、制御部35は、ステップA703に戻る。
ステップA703において、第2バグテーブル15aの対応状況15fに、「未」のバグ番号が存在しない場合(ステップA703でNO)、チェックインしようとする第2ソースファイル12において、全てのバグが除去されている。この場合、チェックイン部32は、第2ソースファイル12を、ソースファイル格納部21へチェックインする(ステップA711)。その後、第2バグデータ取得部34は、第1バグデータ14を、第1バグデータ格納部23から削除する(ステップA712)。
以上説明したように、本実施の形態では、第2ソースファイル12をチェックインする際に、バグの対応が済んでいなければ、チェックインが行われず、その旨が通知される。よって、改造作業者に、バグ改造作業の継続を促すことができ、その上、第1ソースファイル11で対応済みのバグの反映漏れが第2ソースファイル12で生じることを、防止できる。
また、本実施の形態では、第1バグデータ取得部33は、第1ソースファイル11のチェックインの際、第1ソースファイル11で対応済のバグについて、対応済である旨がバグの対応状況14fで示されるように、第1バグデータ14を更新する。その結果、本実施の形態では、第1ソースファイル11で対応済みのバグを、表示装置6で確認できる。この情報を参考にして、第2ソースファイル12のバグを除去できる。
また、本実施の形態では、第1バグデータ取得部33は、第1ソースファイル11のチェックアウトの際、第1ソースファイル11で対応が済んでいないバグについて、編集中である旨がバグの対応状況で示されるように、第1バグデータ14を更新する。これにより、第1ソースファイル11で編集中のバグがどれであるかを、表示装置6などで確認できる。
また、本実施の形態では、制御部35は、詳細ボタン52e、54eが操作された場合に、対応するバグの詳細を表示させる。これにより、必要に応じてバグの詳細をチェックできる。よって、改造作業者は、第2ソースファイル12のバグ除去作業の指標を得ることができ、バグ除去作業を、より迅速に行うことができる。
また、本実施の形態では、第2バグデータ取得部34は、第2ソースファイル12で対応済のバグについて、対応済である旨が、第2ソースファイル12におけるバグの対応状況15fに含まれるように、第2バグデータ15を更新する。このような構成によって、第2ソースファイル12のバグ除去作業の進捗状況を、チェックイン部32が把握することができる。
また、本実施の形態では、第1バグデータ取得部33は、第2ソースファイル12のチェックインの際、第1バグデータ14を削除する。これにより、用が済んだデータを、データベース2から削除できる。
また、本実施の形態では、第1ソースファイル11と第2ソースファイル12との差分が、差分抽出部37によって抽出される。これにより、第2ソースファイル12のバグを除去する際に、バグ除去箇所・内容の目安を把握することができる。また、差分抽出に際して、編集中の第2ソースファイル12をチェックアウトする必要がない。
[プログラム]
本実施の形態におけるプログラムは、コンピュータに、図8に示すステップA101、A103〜A107、図9に示すステップA201、A203〜A205、図10に示すステップA301、A303〜A306、図11に示すステップA401〜A406、図12に示すステップA501、A503〜A505、A507、図13に示すステップA601〜A603、および、図14に示すステップA701〜A703、A705〜A707、A709、A711、A712を実行させるプログラムであればよい。
このプログラムをコンピュータにインストールし、実行することによって、本実施の形態におけるソースファイル編集管理装置3、およびソースファイル編集管理方法を実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、チェックアウト部31、チェックイン部32、第1バグデータ取得部33、第2バグデータ取得部34、制御部35、入力受付部36、および差分抽出部37として機能し、処理を行なう。
ここで、本実施の形態におけるプログラムを実行することによって、ソースファイル編集管理装置3を実現するコンピュータについて、図15を用いて説明する。図15は、本発明の実施の形態におけるソースファイル編集管理装置3を実現するコンピュータ210の一例を示すブロック図である。
図15に示すように、コンピュータ210は、CPU211と、メインメモリ212と、記憶装置213と、入力インターフェイス214と、表示コントローラ215と、データリーダ/ライタ216と、通信インターフェイス217とを備える。これらの各部は、バス221を介して、互いにデータ通信可能に接続される。
CPU211は、記憶装置213に格納された、本実施の形態におけるプログラム(コード)をメインメモリ212に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ212は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。
また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体220に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス217を介して接続されたインターネット上で流通するものであってもよい。
また、記憶装置213の具体例としては、ハードディスクの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス214は、CPU211と、キーボード及びマウスといった入力機器218との間のデータ伝送を仲介する。表示コントローラ215は、ディスプレイ装置219と接続され、ディスプレイ装置219での表示を制御する。
データリーダ/ライタ216は、CPU211と記録媒体220との間のデータ伝送を仲介し、記録媒体220からのプログラムの読み出し、及びコンピュータ210における処理結果の記録媒体220への書き込みを実行する。通信インターフェイス217は、CPU211と、他のコンピュータとの間のデータ伝送を仲介する。
また、記録媒体220の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記憶媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体が挙げられる。
[変形例]
本実施の形態では、ソースファイル編集管理装置3は、ソースファイルの編集が可能である構成を説明したけれども、この通りでなくてもよい。たとえば、ソースファイルを検索する部分、および、ソースファイルを編集する部分は、他の一般のエディタで構成されてもよい。これにより、一般的に自分好みのファイルエディタ使用したがる傾向が強い、作業者に対して、本発明の特徴を提供しつつ、自分好みのエディタを、提供することができる。この場合、たとえば、チェックアウト部31、チェックイン部32、第1バグデータ取得部33、第2バグデータ取得部34、制御部35、入力受付部36、および差分抽出部37を、「専用エディタ管理部」として構成する。そして、ソースファイルを検索する部分、および、ソースファイルを編集する部分を、専用エディタ管理部と協働して利用可能な構成とする。これにより、一般的なエディタを利用しつつ、本発明の目的とする機能を実現することができる。なお、上記エディタと、上記専用エディタ管理部との間で、編集するファイルの情報を受け渡しすることが必要となる。この場合、パーソナルコンピュータのOS(Operating System)で実現されているデータ連携機能を用いることで、上記した、受け渡しが可能となる。
上述した実施の形態の一部又は全部は、以下に記載する(付記1)〜(付記21)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
ベースとなるソースファイルが格納された格納部にアクセスし、ベースとなる前記ソースファイルを、互いに独立する第1ソースファイルおよび第2ソースファイルとしてチェックアウトする、チェックアウト部と、
前記第1ソースファイルに関連するバグの対応状況を特定する第1バグデータを取得する、第1バグデータ取得部と、
前記第2ソースファイルの編集時に、前記第1バグデータで特定される前記バグの対応状況を表示させる、制御部と、
前記第1ソースファイルで対応済の前記バグについて、前記第2ソースファイルで対応済の場合には、前記格納部へ前記第2ソースファイルをチェックインし、前記第1ソースファイルで対応済の前記バグについて、前記第2ソースファイルで対応が済んでいない場合には、前記格納部へ前記第2ソースファイルをチェックインしない、チェックイン部と、
を備えていることを特徴とする、ソースファイル編集管理装置。
(付記2)
前記チェックイン部は、前記第1ソースファイルをチェックインし、
前記第1バグデータ取得部は、前記第1ソースファイルのチェックインの際、前記第1ソースファイルで対応済の前記バグについて、対応済である旨が前記バグの対応状況で示されるように、前記第1バグデータを更新する、付記1に記載の、ソースファイル編集管理装置。
(付記3)
前記第1バグデータ取得部は、前記第1ソースファイルのチェックアウトの際、前記第1ソースファイルで対応が済んでいない前記バグについて、編集中である旨が前記バグの対応状況で示されるように、前記第1バグデータを更新する、付記1または付記2に記載の、ソースファイル編集管理装置。
(付記4)
前記制御部は、前記バグの詳細を表示する要求が出力された場合に、前記バグの詳細を表示させる、付記1〜付記3のいずれか1項に記載のソースファイル編集管理装置。
(付記5)
前記第2ソースファイルにおける前記バグの対応状況を特定する第2バグデータを取得する、第2バグデータ取得部、をさらに備え、
前記第2バグデータ取得部は、前記第2ソースファイルで対応済のバグについて、対応済である旨が前記第2ソースファイルにおける前記バグの対応状況に含まれるように、前記第2バグデータを更新する、付記1〜付記4のいずれか1項に記載のソースファイル編集管理装置。
(付記6)
前記第2バグデータ取得部は、前記第2ソースファイルのチェックインの際、前記第1バグデータを削除する、付記5に記載のソースファイル編集管理装置。
(付記7)
前記第1ソースファイルと前記第2ソースファイルとの差分を抽出する、差分抽出部、
をさらに備えている、付記1〜付記6のいずれか1項に記載のソースファイル編集管理装置。
(付記8)
(a)ベースとなるソースファイルが格納された格納部にアクセスし、ベースとなる前記ソースファイルを、互いに独立する第1ソースファイルおよび第2ソースファイルとしてチェックアウトする、ステップと、
(b)前記第1ソースファイルに関連するバグの対応状況を特定する第1バグデータを取得する、ステップと、
(c)前記第2ソースファイルの編集時に、前記第1バグデータで特定される前記バグの対応状況を表示させる、ステップと、
(d)前記第1ソースファイルで対応済の前記バグについて、前記第2ソースファイルで対応済の場合には、前記格納部へ前記第2ソースファイルをチェックインし、前記第1ソースファイルで対応済の前記バグについて、前記第2ソースファイルで対応が済んでいない場合には、前記格納部へ前記第2ソースファイルをチェックインしない、ステップと、
を有していることを特徴とする、ソースファイル編集管理方法。
(付記9)
(e)前記第1ソースファイルのチェックインの際、前記第1ソースファイルで対応済の前記バグについて、対応済である旨が前記バグの対応状況で示されるように、前記第1バグデータを更新する、ステップをさらに有する、付記8に記載の、ソースファイル編集管理方法。
(付記10)
(f)前記第1ソースファイルのチェックアウトの際、前記第1ソースファイルで対応が済んでいない前記バグについて、編集中である旨が前記バグの対応状況で示されるように、前記第1バグデータを更新する、ステップをさらに有する、付記8または付記9または請求項2に記載の、ソースファイル編集管理方法。
(付記11)
(g)前記バグの詳細を表示する要求が出力された場合に、前記バグの詳細を表示させる、ステップをさらに有する、付記8〜付記10のいずれか1項に記載のソースファイル編集管理方法。
(付記12)
(h)前記第2ソースファイルにおける前記バグの対応状況を特定する第2バグデータを取得する、ステップと、
(i)前記第2ソースファイルで対応済のバグについて、対応済である旨が前記第2ソースファイルにおける前記バグの対応状況に含まれるように、前記第2バグデータを更新する、ステップと、をさらに有する、付記8〜付記11のいずれか1項に記載のファイル編集方法。
(付記13)
(j)前記第2ソースファイルのチェックインの際、前記第1バグデータを削除する、ステップをさらに有する、付記8〜付記12のいずれか1項に記載のソースファイル編集管理方法。
(付記14)
(k)前記第1ソースファイルと前記第2ソースファイルとの差分を抽出する、ステップをさらに備えている、付記8〜付記13のいずれか1項に記載のソースファイル編集管理方法。
(付記15)
コンピュータに、
(a)ベースとなるソースファイルが格納された格納部にアクセスし、ベースとなる前記ソースファイルを、互いに独立する第1ソースファイルおよび第2ソースファイルとしてチェックアウトする、ステップと、
(b)前記第1ソースファイルに関連するバグの対応状況を特定する第1バグデータを取得する、ステップと、
(c)前記第2ソースファイルの編集時に、前記第1バグデータで特定される前記バグの対応状況を表示させる、ステップと、
(d)前記第1ソースファイルで対応済の前記バグについて、前記第2ソースファイルで対応済の場合には、前記格納部へ前記第2ソースファイルをチェックインし、前記第1ソースファイルで対応済の前記バグについて、前記第2ソースファイルで対応が済んでいない場合には、前記格納部へ前記第2ソースファイルをチェックインしない、ステップと、
を実行させる、プログラム。
(付記16)
(e)前記第1ソースファイルのチェックインの際、前記第1ソースファイルで対応済の前記バグについて、対応済である旨が前記バグの対応状況で示されるように、前記第1バグデータを更新する、ステップをさらに有する、付記15に記載の、プログラム。
(付記17)
(f)前記第1ソースファイルのチェックアウトの際、前記第1ソースファイルで対応が済んでいない前記バグについて、編集中である旨が前記バグの対応状況で示されるように、前記第1バグデータを更新する、ステップをさらに有する、付記15または付記16に記載の、プログラム。
(付記18)
(g)前記バグの詳細を表示する要求が出力された場合に、前記バグの詳細を表示させる、ステップをさらに有する、付記15〜付記17のいずれか1項に記載のプログラム。
(付記19)
(h)前記第2ソースファイルにおける前記バグの対応状況を特定する第2バグデータを取得する、ステップと、
(i)前記第2ソースファイルで対応済のバグについて、対応済である旨が前記第2ソースファイルにおける前記バグの対応状況に含まれるように、前記第2バグデータを更新する、ステップと、をさらに有する、付記15〜付記18のいずれか1項に記載のプログラム。
(付記20)
(j)前記第2ソースファイルのチェックインの際、前記第1バグデータを削除する、ステップをさらに有する、付記15〜付記19のいずれか1項に記載のプログラム。
(付記21)
(k)前記第1ソースファイルと前記第2ソースファイルとの差分を抽出する、ステップをさらに備えている、付記15〜付記20のいずれか1項に記載のプログラム。
本発明は、ソースファイルのバグについて管理するための、ソースファイル編集管理装置、ソースファイル編集管理方法、およびプログラムに適用することができる。
3 ソースファイル編集管理装置
10 ベースとなるソースファイル
11 第1ソースファイル
12 第2ソースファイル
14 第1バグデータ
21 格納部
31 チェックアウト部
32 チェックイン部
33 第1バグデータ取得部
34 第2バグデータ取得部
35 制御部
37 差分抽出部
210 コンピュータ

Claims (9)

  1. ベースとなるソースファイルが格納された格納部にアクセスし、ベースとなる前記ソースファイルを、互いに独立する第1ソースファイルおよび第2ソースファイルとしてチェックアウトする、チェックアウト部と、
    前記第1ソースファイルに関連するバグの対応状況を特定する第1バグデータを取得する、第1バグデータ取得部と、
    前記第2ソースファイルの編集時に、前記第1バグデータで特定される前記バグの対応状況を表示させる、制御部と、
    前記第1ソースファイルで対応済の前記バグについて、前記第2ソースファイルで対応済の場合には、前記格納部へ前記第2ソースファイルをチェックインし、前記第1ソースファイルで対応済の前記バグについて、前記第2ソースファイルで対応が済んでいない場合には、前記格納部へ前記第2ソースファイルをチェックインしない、チェックイン部と、
    を備えていることを特徴とする、ソースファイル編集管理装置。
  2. 前記チェックイン部は、前記第1ソースファイルをチェックインし、
    前記第1バグデータ取得部は、前記第1ソースファイルのチェックインの際、前記第1ソースファイルで対応済の前記バグについて、対応済である旨が前記バグの対応状況で示されるように、前記第1バグデータを更新する、請求項1に記載の、ソースファイル編集管理装置。
  3. 前記第1バグデータ取得部は、前記第1ソースファイルのチェックアウトの際、前記第1ソースファイルで対応が済んでいない前記バグについて、編集中である旨が前記バグの対応状況で示されるように、前記第1バグデータを更新する、請求項1または請求項2に記載の、ソースファイル編集管理装置。
  4. 前記制御部は、前記バグの詳細を表示する要求が出力された場合に、前記バグの詳細を表示させる、請求項1〜請求項3のいずれか1項に記載のソースファイル編集管理装置。
  5. 前記第2ソースファイルにおける前記バグの対応状況を特定する第2バグデータを取得する、第2バグデータ取得部、をさらに備え、
    前記第2バグデータ取得部は、前記第2ソースファイルで対応済のバグについて、対応済である旨が前記第2ソースファイルにおける前記バグの対応状況に含まれるように、前記第2バグデータを更新する、請求項1〜請求項4のいずれか1項に記載のソースファイル編集管理装置。
  6. 前記第2バグデータ取得部は、前記第2ソースファイルのチェックインの際、前記第1バグデータを削除する、請求項5に記載のソースファイル編集管理装置。
  7. 前記第1ソースファイルと前記第2ソースファイルとの差分を抽出する、差分抽出部、
    をさらに備えている、請求項1〜請求項6のいずれか1項に記載のソースファイル編集管理装置。
  8. (a)コンピュータによって、ベースとなるソースファイルが格納された格納部にアクセスし、ベースとなる前記ソースファイルを、互いに独立する第1ソースファイルおよび第2ソースファイルとしてチェックアウトする、ステップと、
    (b)前記コンピュータによって、前記第1ソースファイルに関連するバグの対応状況を特定する第1バグデータを取得する、ステップと、
    (c)前記コンピュータによって、前記第2ソースファイルの編集時に、前記第1バグデータで特定される前記バグの対応状況を表示させる、ステップと、
    (d)前記コンピュータによって、前記第1ソースファイルで対応済の前記バグについて、前記第2ソースファイルで対応済の場合には、前記格納部へ前記第2ソースファイルをチェックインし、前記第1ソースファイルで対応済の前記バグについて、前記第2ソースファイルで対応が済んでいない場合には、前記格納部へ前記第2ソースファイルをチェックインしない、ステップと、
    を有していることを特徴とする、ソースファイル編集管理方法。
  9. コンピュータに、
    (a)ベースとなるソースファイルが格納された格納部にアクセスし、ベースとなる前記ソースファイルを、互いに独立する第1ソースファイルおよび第2ソースファイルとしてチェックアウトする、ステップと、
    (b)前記第1ソースファイルに関連するバグの対応状況を特定する第1バグデータを取得する、ステップと、
    (c)前記第2ソースファイルの編集時に、前記第1バグデータで特定される前記バグの対応状況を表示させる、ステップと、
    (d)前記第1ソースファイルで対応済の前記バグについて、前記第2ソースファイルで対応済の場合には、前記格納部へ前記第2ソースファイルをチェックインし、前記第1ソースファイルで対応済の前記バグについて、前記第2ソースファイルで対応が済んでいない場合には、前記格納部へ前記第2ソースファイルをチェックインしない、ステップと、
    を実行させる、プログラム。
JP2012080515A 2012-03-30 2012-03-30 ソースファイル編集管理装置、ソースファイル編集管理方法、およびプログラム Active JP5565885B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012080515A JP5565885B2 (ja) 2012-03-30 2012-03-30 ソースファイル編集管理装置、ソースファイル編集管理方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012080515A JP5565885B2 (ja) 2012-03-30 2012-03-30 ソースファイル編集管理装置、ソースファイル編集管理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2013210832A JP2013210832A (ja) 2013-10-10
JP5565885B2 true JP5565885B2 (ja) 2014-08-06

Family

ID=49528607

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012080515A Active JP5565885B2 (ja) 2012-03-30 2012-03-30 ソースファイル編集管理装置、ソースファイル編集管理方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP5565885B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110807302B (zh) * 2019-11-04 2023-12-19 北京联想协同科技有限公司 文档协同编辑方法及装置、终端和计算机可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001265572A (ja) * 2000-03-22 2001-09-28 Ntt Comware Corp ソースプログラム管理装置、方法、及びそのプログラムを記録した記録媒体
JP5661505B2 (ja) * 2011-02-23 2015-01-28 株式会社野村総合研究所 並行開発管理装置

Also Published As

Publication number Publication date
JP2013210832A (ja) 2013-10-10

Similar Documents

Publication Publication Date Title
JP5766370B2 (ja) プログラムおよび電子マニュアル表示装置
TWI475344B (zh) 系統開發裝置、方法及程式
JP6223628B1 (ja) 情報管理装置、情報管理方法および情報管理システム
JP5565885B2 (ja) ソースファイル編集管理装置、ソースファイル編集管理方法、およびプログラム
JPWO2014061093A1 (ja) 画面作成装置および画面作成方法
JP6337810B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP6391143B2 (ja) アクセス制御装置、情報共有システム、プログラム及びアクセス制御方法
JP2007141013A (ja) ユーザインタフェースプログラム、コンピュータ、情報提供方法
US20240256268A1 (en) Updating a deployed app method and system
JP5473250B2 (ja) 検索装置の制御方法、検索装置
JP5076980B2 (ja) 情報処理プログラム及び情報処理装置
CN112825077A (zh) 信息处理装置及设定装置
JP6247542B2 (ja) 監視ポイント定義変更方法およびエンジニアリング装置
JP2007264863A (ja) 業務使用解析装置
KR20020045008A (ko) 도면 정보 관리 시스템 및 이 시스템의 운영 방법
JP6646222B2 (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
JP7444963B2 (ja) クラウドシステム
WO2023203694A1 (ja) ロボットシステム、教示操作盤及びプログラム
JP2911667B2 (ja) プログラマブルコントローラのプログラミング装置
JP6845439B2 (ja) 情報処理装置、表示制御方法及びプログラム
JP2013257624A (ja) データ入力支援装置、方法、およびプログラム
JP7034832B2 (ja) 資源管理装置、及び資源管理方法
JP6493072B2 (ja) 情報処理装置、制御方法、プログラム
EP1471399A2 (en) Sequence program editing apparatus
JP6787768B2 (ja) 文書管理システム、検索装置及び検索プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130711

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140415

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140417

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140521

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140612

R150 Certificate of patent or registration of utility model

Ref document number: 5565885

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350