JP2018036792A - Data processing program and data processing method - Google Patents
Data processing program and data processing method Download PDFInfo
- Publication number
- JP2018036792A JP2018036792A JP2016168393A JP2016168393A JP2018036792A JP 2018036792 A JP2018036792 A JP 2018036792A JP 2016168393 A JP2016168393 A JP 2016168393A JP 2016168393 A JP2016168393 A JP 2016168393A JP 2018036792 A JP2018036792 A JP 2018036792A
- Authority
- JP
- Japan
- Prior art keywords
- data
- update
- ticket
- time
- identification information
- 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.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
本発明は、データ処理プログラム及びデータ処理方法に関する。 The present invention relates to a data processing program and a data processing method.
インターネット上でのビジネスの普及やモバイル網の普及により、さまざまなものがソフトウェアにより実現されるようになっており、商用で利用されるソフトウェアの開発品質の重要性が増している。また、ソフトウェアでは短期間での投資効果も求められるため、システム開発の開発期間も短くなっている。 With the spread of business on the Internet and the spread of mobile networks, various things are realized by software, and the importance of development quality of software used for commercial use is increasing. In addition, since the investment effect of software is required in a short period, the development period of system development is also shortened.
アジャイル開発やリーン開発に代表される短期のソフトウェア開発では、新たなタスク(機能実装又はバグ改修等)が発生すると、開発者の1つ1つのタスクに対応したチケットが起票される(起票は、ソフトウェア開発の管理者(例:スクラムマスター)、又は開発者自身が実施)。 In short-term software development represented by agile development and lean development, when a new task (functional implementation or bug repair) occurs, a ticket corresponding to each task of the developer is drafted (draft Is performed by the software development manager (eg Scrum Master) or the developer himself).
チケットが起票されると、当該チケットに対応するタスクを担う開発者がアサインされる。アサインされた開発者は、タスクの内容に基づき、ソースコードの更新(新規作成・変更・削除)を行う。 When a ticket is issued, a developer responsible for a task corresponding to the ticket is assigned. The assigned developer updates (creates / changes / deletes) the source code based on the contents of the task.
このようなソフトウェア開発のプロジェクトでは、一般的に、チケットの状態を管理する課題管理システム(ITS(Issue Tracking System))と、ソースコードの版管理をするバージョン管理システム(VMS(Version Management System))の2つが利用されている。 In such software development projects, in general, an issue management system (ITS (Issue Tracking System)) that manages ticket status and a version management system (VMS (Version Management System)) that manages source code version management. These two are used.
開発者は、ITSで起票されたチケット(に対応するタスク)の内容に基づき、ソースコードの更新(新規作成・変更・削除)を行い、VMSに更新途中のソースコードのコミットを行う。チケットに対応するタスクが完了(ソースコードの更新が完了)すると、プロジェクトで予め定められた確認作業(例:回帰試験の実施、管理者の挙動確認)が実施される。その上で、開発者は、更新が完了したソースコードをVMSにコミットする。併せて、ITSでも当該タスクに対応するチケットの状態を完了として記録される。 The developer updates (newly creates / changes / deletes) the source code based on the contents of the ticket (corresponding task) issued by the ITS, and commits the source code being updated to the VMS. When the task corresponding to the ticket is completed (source code update is completed), confirmation work predetermined in the project (for example, implementation of regression test, confirmation of administrator behavior) is performed. Then, the developer commits the updated source code to the VMS. In addition, in ITS, the status of the ticket corresponding to the task is recorded as completed.
しかしながら、実際のソフトウェア開発では、開発者の実装作業(ソースコードの更新と、VMSへのコミット)だけが先に進んでしまい、それらのタスクに対応するチケットが起票されていなかったり、起票されていたとしてもチケットが最新のソースコードの内容を反映していなかったりするケースが多くみられる。これにより、開発(例:イテレーション)終了後に、チケットやそれに関連する開発文書(例:要件定義書)の内容が、最新のソースコードの内容を反映せずに開発が終わってしまうこともある。 However, in actual software development, only the developer's implementation work (update of source code and commit to VMS) proceeds ahead, and tickets corresponding to those tasks have not been drafted or drafted. Even if it is done, there are many cases where the ticket does not reflect the contents of the latest source code. As a result, after development (for example, iteration), the development may end without reflecting the contents of the latest source code in the contents of the ticket and the related development document (for example, requirement definition document).
このように、チケット(および、それに関連する開発文書)の更新漏れが発生し、残存したままであると、その後何らかの問題がソフトウェアで発生して、開発時のバグ修正のソースコードへの反映状況等を確認しようとした際に、当該ソースコードに対する各更新が、バグ修正によるものであったの否かさえも確認することができなくなってしまう。また、次の開発(イテレーション)において新しいメンバが参画した際にも、ソフトウェアの実装機能の全容が把握できない、あるいは、なぜその機能を実装したのかという根拠情報(Rationale)も把握できない事態となる。 In this way, if a ticket (and development document related to it) is missed and remains, any problem will occur in the software, and the status of reflection of bug fixes during development in the source code When trying to confirm, etc., it becomes impossible to confirm whether or not each update to the source code was due to a bug fix. In addition, even when a new member participates in the next development (iteration), it is not possible to grasp the entire contents of the software implementation function or the ground information (Relational) why the function is implemented.
本発明は、上記の点に鑑みてなされたものであって、ソースコードが更新された理由が不明となるのを回避可能とすることを目的とする。 The present invention has been made in view of the above points, and an object of the present invention is to avoid the reason why the source code has been updated.
そこで上記課題を解決するため、データ処理プログラムは、ソフトウェアのソースコードの更新理由ごとに起票され、当該更新理由の識別情報と、当該更新理由の発生時期と、当該更新理由に応じた作業の完了時期とを含む第1のデータの集合と、前記ソースコードの更新ごとに記録され、当該更新の時期を含む第2のデータの集合であって、一部の前記第2のデータについては、更に、当該第2のデータに係る更新に対応する更新理由の識別情報がユーザによって入力されている集合と、を参照して、前記一部の第2のデータについて入力された前記識別情報を含む前記第1のデータに含まれる発生時期及び完了時期と、前記識別情報が入力されていない前記第2のデータに含まれる更新の時期との関係に基づいて、当該第2のデータに対して前記識別情報が入力されていない原因を複数のパターンのうちのいずれかに分類する分類部としてコンピュータを機能させる。 Therefore, in order to solve the above problems, a data processing program is issued for each reason for updating the source code of software, and the identification information of the reason for updating, the timing of occurrence of the reason for updating, A first data set including a completion time and a second data set recorded for each update of the source code and including the time of the update, and a part of the second data, And a set in which identification information of an update reason corresponding to an update related to the second data is input by a user, including the identification information input with respect to the partial second data Based on the relationship between the occurrence time and completion time included in the first data and the update time included in the second data for which the identification information is not input, the second data The identification information causes the computer to function as a classification unit for classifying the one of the plurality of patterns why not input Te.
ソースコードが更新された理由が不明となるのを回避可能とすることができる。 It is possible to avoid the reason why the source code has been updated.
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態におけるデータ処理装置のハードウェア構成例を示す図である。図1のデータ処理装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、インタフェース装置105、表示装置106、及び入力装置107等を有する。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a diagram illustrating a hardware configuration example of a data processing device according to an embodiment of the present invention. The
データ処理装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
A program for realizing processing in the
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってデータ処理装置10に係る機能を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。表示装置106はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置107はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
The
図2は、本発明の実施の形態におけるデータ処理装置の機能構成例を示す図である。図2において、データ処理装置10は、VMS11、ITS12、TCNC生成部13、原因分類部14、及び修正候補出力部15等を有する。これらは、データ処理装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。
FIG. 2 is a diagram illustrating a functional configuration example of the data processing device according to the embodiment of the present invention. In FIG. 2, the
VMS11は、ソフトウェア(主にプログラム)のソースコードの版管理を行うバージョン管理システム(Version Management System)である。一般的な(市販されている)バージョン管理システムがVMS11として利用されてもよい。 The VMS 11 is a version management system (Version Management System) that performs version management of source codes of software (mainly programs). A general (commercially available) version control system may be used as the VMS 11.
図2において、VMS11は、コミットログ生成部111及びコミットログ記憶部112等を含む。コミットログ生成部111は、新規に作成されたソースコード、又は既存のソースコード等のコミット指示がVMS11に入力されると、当該ソースコードに関するコミットログを生成し、当該コミットログをコミットログ記憶部112に記録する。コミットとは、ソースコードの版(バージョン)を一つ上げてVMS11に登録することをいう。すなわち、コミットは、ソースコードの更新ごとに実行される。したがって、コミットログは、ソースコードの更新ごとに記録される。
2, the VMS 11 includes a commit
ITS12は、ソフトウェアの開発者のタスク(作業)を割り当てたチケットデータを管理する課題管理システム(Issue Tracking System)である。一般的な(市販されている)課題管理システムが、ITS12として利用されてもよい。チケットデータとは、ソフトウェアのソースコードの更新理由の発生に応じて(すなわち、当該更新理由に応じたタスク(機能実装又はバグ改修等のソースコードの更新作業)の発生に応じて)起票されるデータをいう。 The ITS 12 is an issue management system (Issue Tracking System) that manages ticket data to which tasks (work) of software developers are assigned. A general (commercially available) problem management system may be used as the ITS 12. Ticket data is drafted according to the occurrence of the reason for updating the software source code (that is, according to the occurrence of a task corresponding to the reason for the update (source code update work such as function implementation or bug repair)). Data.
図2において、ITS12は、チケット状態更新部121及びチケットデータ記憶部122等を含む。チケット状態更新部121は、チケットデータ記憶部122に記憶されるチケットデータの状態を更新する。具体的には、チケット状態更新部121は、ユーザによって入力されるチケットデータの起票指示に応じ、チケットデータを生成し、当該チケットデータをチケットデータ記憶部122に記録する。この際、チケットデータには、起票時刻(すなわち、更新理由及びタスクの発生時刻)が記録される。したがって、チケットデータは、ソースコードの更新理由ごと(更新理由に応じたタスクごと)に記録される。また、チケット状態更新部121は、更新理由に応じたタスクの完了通知がユーザによって入力されると、当該タスクに対応するチケットデータに対して完了時刻を記録する。
In FIG. 2, the ITS 12 includes a ticket
例えば、ソースコードの更新理由が発生すると、当該更新理由に応じたタスクを開始させるために、チケットデータが起票される。開発者は、チケットデータの内容に基づき、ソースコードの更新を行い、更新後のソースコードをVMS11にコミットする。その結果、当該更新に対応するコミットログがコミットログ記憶部112に記録される。
For example, when a source code update reason occurs, ticket data is issued to start a task corresponding to the update reason. The developer updates the source code based on the contents of the ticket data, and commits the updated source code to the VMS 11. As a result, a commit log corresponding to the update is recorded in the commit
なお、コミットログ記憶部112及びチケットデータ記憶部122は、例えば、補助記憶装置102、又はデータ処理装置10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
The commit
TCNC生成部13、原因分類部14、及び修正候補出力部15の機能については、処理手順の説明において明らかにされる。
The functions of the
なお、VMS11及びITS12は、それぞれデータ処理装置10とは異なるコンピュータを用いて実現されてもよい。
Note that the
図3は、データ処理装置が実行する処理手順の一例を説明するためのフローチャートである。図3の処理手順は、例えば、ユーザによって処理の実行指示が入力されると開始される。 FIG. 3 is a flowchart for explaining an example of a processing procedure executed by the data processing apparatus. The processing procedure in FIG. 3 is started, for example, when a process execution instruction is input by the user.
ステップS101において、TCNC生成部13は、チケットデータ記憶部122からチケットデータの集合を取得する。
In step S <b> 101, the
図4は、チケットデータの一例を示す図である。図4において、1つの行が1つのチケットデータに相当する。各チケットデータは、チケットID、起票時刻、及び完了時刻等を含む。チケットIDは、チケットデータごと(すなわち、更新理由又はタスクごと)の識別情報である。起票時刻は、チケットデータの起票時刻である。完了時刻は、チケットデータに対応するタスクの完了時刻である。なお、チケットID及び起票時刻は、起票時にチケットデータに記録される。完了時刻は、チケットデータに対応するタスクの完了時にチケットデータに記録される。 FIG. 4 is a diagram illustrating an example of ticket data. In FIG. 4, one row corresponds to one ticket data. Each ticket data includes a ticket ID, a draft time, a completion time, and the like. The ticket ID is identification information for each ticket data (that is, for each update reason or each task). The draft time is the draft time of the ticket data. The completion time is the completion time of the task corresponding to the ticket data. The ticket ID and the draft time are recorded in the ticket data at the time of drafting. The completion time is recorded in the ticket data when the task corresponding to the ticket data is completed.
なお、一般的なチケットデータには、タスクの内容(例えば、実装されるべき機能の内容、又は修正されるべきバグの内容等)やその他の情報も含まれるが、本実施の形態では、便宜上、他の情報については省略する。 The general ticket data includes task contents (for example, contents of functions to be implemented or bug contents to be corrected) and other information, but in this embodiment, for convenience. Other information is omitted.
続いて、TCNC生成部13は、コミットログ記憶部112からコミットログの集合を取得する(S102)。
Subsequently, the
図5は、コミットログの一例を示す図である。図5において、1つの行が1つのコミットログに相当する。各コミットログは、ソースコード名及びコミット時刻等を含む。また、一部のコミットログは、更に、チケットIDを含む。 FIG. 5 is a diagram illustrating an example of the commit log. In FIG. 5, one line corresponds to one commit log. Each commit log includes a source code name and a commit time. Some commit logs further include a ticket ID.
ソースコード名は、コミットされたソースコードの名前(例えば、ソースコードのファイル名)である。コミット時刻は、コミットが行われた時刻(すなわち、更新がVMS11に反映された時刻)である。チケットIDは、コミットログに係るソースコードの更新に対応するタスクのチケットデータのチケットIDである。 The source code name is the name of the committed source code (for example, the source code file name). The commit time is the time when the commit is performed (that is, the time when the update is reflected in the VMS 11). The ticket ID is the ticket ID of the task ticket data corresponding to the update of the source code related to the commit log.
チケットIDは、例えば、ソースコードがVMS11にコミットされる際に、ユーザ(開発者等)によってダイアログボックス等を介して入力される。すなわち、コミットログ生成部111は、コミット時にチケットIDが入力された場合、当該チケットIDをも含むコミットログを生成する。但し、チケットIDが入力されない場合も有る。チケットデータの起票や、チケットIDの入力等は、ユーザの運用に任されているためである。したがって、チケットIDを含まないコミットログが生成されうる。
For example, when the source code is committed to the
なお、一般的なコミットログには、他にも様々な情報が記録されるが、本実施の形態では便宜上省略される。 Various other information is recorded in the general commit log, but is omitted for convenience in the present embodiment.
続いて、TCNC生成部13は、取得されたチケットデータ及びコミットログに基づいて、チケットデータの起票時刻及び完了時刻と、コミットログのコミット時刻との関係をソースコードごとに可視化するチャート(チケット−コミットネットワーク図(Ticket-Commit Network Chart))を生成する(S103)。以下、チケット−コミットネットワーク図を、「TCNC」という。
Subsequently, the
続いて、TCNC生成部13は、生成したTCNCを、表示装置106に表示する(S104)。
Subsequently, the
図6は、TCNCの一例を示す図である。図6に示されるように、TCNCは、ソースコードごと(Soruce1〜3)に、時系列に、チケットデータの起票時刻、完了時刻、及びコミットログのコミット時刻のそれぞれのタイミングを示す。なお、図6の例では、タイミングの粒度が1日単位であるが、可視化したい時間幅に応じて、1時間単位や半日単位でタイミングが示されてもよい。
FIG. 6 is a diagram illustrating an example of a TCNC. As shown in FIG. 6, the TCNC indicates the timing of the ticket data start time, completion time, and commit log commit time in time series for each source code (
コミットには、コミット時におけるチケットIDの入力の有無に対応して、チケットID有コミットとチケットID無コミット(図では赤マル)の2種類が存在する。図6において、チケットID有コミットは黒塗りの円で表現され、チケットID無コミットは白抜きの円で表現されている。 There are two types of commits, a commit with a ticket ID and a non-commit with a ticket ID (red circle in the figure), depending on whether a ticket ID is input at the time of commit. In FIG. 6, the commit with ticket ID is represented by a black circle, and the uncommitted ticket ID is represented by a white circle.
図6によれば、Source1について、チケットID有コミットが2つ(6/2と6/3)、チケットID無コミットが2つ(6/29、6/30)が存在することが分かる。これらは、コミットログの内容に基づいて抽出及び可視化される。 According to FIG. 6, it can be seen that there are two commits with ticket ID (6/2 and 6/3) and two uncommitted ticket IDs (6/29, 6/30) for Source1. These are extracted and visualized based on the contents of the commit log.
TCNCは、また、コミットログに含まれているチケットIDに基づき、当該チケットIDに対応するチケットデータの生存期間(起票時刻から完了時刻までの期間)をも示す。例えば、Source1については、チケットIDとして「TID−1」を含むコミットログが有る。そこで、TCNC生成部13は、「TID−1」のチケットIDを含むチケットデータの起票時刻(6/1)と完了時刻(6/4)を取得し、6/1から6/4までを生存期間として表示する。なお、図6において、生存期間の両端は、三角形によって示されている。
The TCNC also indicates the lifetime of the ticket data corresponding to the ticket ID (the period from the draft time to the completion time) based on the ticket ID included in the commit log. For example, for Source1, there is a commit log including “TID-1” as the ticket ID. Therefore, the
すなわち、TCNCでは、ソースコードごとに、当該ソースコードに関するコミットログに含まれている各チケットIDについて、当該チケットIDに係るチケットIDの生存期間を示すためにライン(実線の水平線)が描画され、当該ラインに、当該チケットデータの起票時刻及び完了時刻と、当該チケットIDを含むコミットログのコミット時刻とが配置される。 That is, in TCNC, a line (solid horizontal line) is drawn for each source code to indicate the lifetime of the ticket ID related to the ticket ID for each ticket ID included in the commit log related to the source code, In the line, the start time and completion time of the ticket data and the commit time of the commit log including the ticket ID are arranged.
一方、チケットID無コミットのコミット時刻は、チケットID有コミットのコミット時刻並びにチケットデータの起票時刻及び完了時刻とは別のラインに配置される。チケットID無コミットは、いずれのチケットデータに対応するのかが不明であるからである。例えば、Source1では、TID−1に対応するコミット時刻が配置されるライン(実線)と、チケットID無コミットが配置されるライン(破線)とが分けられている。
On the other hand, the commit time with no ticket ID commit is arranged on a line different from the commit time with ticket ID commit, the ticket issue time, and the completion time. This is because it is unknown which ticket data corresponds to the ticket ID no commit. For example, in
続いて、原因分類部14は、各チケットID無コミットについて、チケットIDが入力されていない原因(又は理由)を、複数のパターンのうちのいずれかのパターンに分類する(S105)。
Subsequently, the
本実施の形態において、チケットIDが入力されていない原因のパターンは、以下の二つである。
パターン1:コミットに対応するチケットデータの更新(起票・修正)が漏れている。
パターン2:コミットに対応するチケットデータは存在しているが、単に開発者がコミット時にチケットIDを入力し忘れてしまった。
In the present embodiment, there are the following two patterns that cause no ticket ID to be input.
Pattern 1: The ticket data update (draft / correction) corresponding to the commit is missing.
Pattern 2: Ticket data corresponding to the commit exists, but the developer simply forgot to enter the ticket ID at the time of commit.
例えば、Source1やSource3では、チケットID有コミットに対応するチケット(TID−1やTID−3)の生存期間外で、チケットID無コミットが発生している。このようなチケットID無コミットについては、チケットの新規起票や、既存チケットの内容の更新が漏れている可能性が高い。そこで、原因分類部14は、コミット時刻が当該生存期間に含まれないチケットID無コミットを、パターン1に分類する。
For example, in
一方、Source2では、チケットID有コミットに対応するチケット(TID−2)の生存期間内でチケットID無コミットが発生している。このようなチケットID無コミットについては、単に開発者がコミット時にTID−2の入力をし忘れている可能性が高い。そこで、原因分類部14は、コミット時刻が当該生存期間に含まれるチケットID無コミットを、パターン2に分類する。
On the other hand, in
続いて、原因分類部14は、各チケットID無コミットについて、分類結果に応じた通知情報を、表示装置106に表示されているTCNCに出力する(S106)。
Subsequently, the
図7は、分類結果に応じた通知情報の出力例を示す図である。図7に示されるように、パターン1に分類された、Source1又はSource3のチケットID無コミットについては、通知情報n1及びn3のように、チケットの更新漏れの可能性が有ることを示すメッセージが表示される。
FIG. 7 is a diagram illustrating an output example of the notification information according to the classification result. As shown in FIG. 7, a message indicating that there is a possibility of omission of ticket update is displayed for the source ID or
一方、パターン2に分類された、Source2のチケットID無コミットについては、通知情報n2のように、コミット時にチケットIDの付与漏れの可能性が有ることを示すメッセージが表示される。
On the other hand, for the
ユーザは、通知情報を参照して、チケットID無コミットに対応するコミットログにチケットIDを入力したり、チケットID無コミットに対応するチケットデータの起票若しくは修正を行ったりすることができる。 The user can refer to the notification information and input a ticket ID to a commit log corresponding to no ticket ID uncommitted, or issue or modify ticket data corresponding to ticket ID uncommitted.
続いて、修正候補出力部15は、各チケットID無コミットについて、分類結果に応じた修正候補のレコメンド情報を、表示装置106に表示されているTCNCに出力する(S107)。
Subsequently, the correction
図8は、分類結果に応じた修正候補のレコメンド情報の出力例を示す図である。図8に示されるように、パターン1に分類されたチケットID無コミットに対しては、レコメンド情報r1又はレコメンド情報r3のように、当該チケットID無コミットに係るソースコードに対するチケットデータが修正候補として提示される。
FIG. 8 is a diagram illustrating an output example of recommendation information for correction candidates according to the classification result. As shown in FIG. 8, for ticket ID uncommitted that is classified as
例えば、Soruce1であれば、チケットID無コミットの前に起票及び完了しているTID−1のチケットデータが修正候補として提示される。また、当該チケットデータとは別のチケットデータが起票されなければならない可能性もあるため、その旨も提示される。同様に、Source3であれば、チケットID無コミットの後に起票されたTID−3のチケットデータが修正候補として提示される。なお、チケットデータの修正とは、例えば、起票時刻又は完了時刻の修正である。
For example, in the case of Source1, the ticket data of TID-1 that has been drafted and completed before the ticket ID is not committed is presented as a correction candidate. Further, since there is a possibility that ticket data different from the ticket data may have to be issued, this is also indicated. Similarly, in the case of
一方、パターン2に分類されたチケットID無コミットに対しては、レコメンド情報r2のように、同一期間でコミットされたチケットID有コミットに対応するチケットIDが修正候補として提示される。例えば、Soruce2について、チケットID無コミットに対応するコミットログに対して、「TID−2」が入力候補として提示される。
On the other hand, for ticket ID no commits classified as
なお、ステップS106及びS107のいずれか一方のみが実行されてもよい。また、図7に示されるTCNCにおいて、ユーザによって選択されたチケットID無コミットについて、ステップS107が実行されてもよい。 Only one of steps S106 and S107 may be executed. Further, in the TCNC shown in FIG. 7, step S107 may be executed for the uncommitted ticket ID selected by the user.
上述したように、本実施の形態によれば、チケットID無コミットに係るコミットログの存在をユーザに通知することができ、コミットログの修正又はチケットデータの起票・修正をユーザに促すことができる。したがって、チケットID無コミットの解消を促進することができ、ソースコードが更新された理由が不明となるのを回避可能とすることができる。 As described above, according to the present embodiment, it is possible to notify the user of the existence of a commit log related to uncommitted ticket ID, and to prompt the user to modify the commit log or issue / modify ticket data. it can. Accordingly, it is possible to promote the cancellation of the uncommitted ticket ID, and it is possible to avoid the reason why the source code has been updated.
すなわち、本実施の形態によれば、開発終了後に、ソフトウェアの開発過程におけるチケットデータの起票が充実化されることにより、開発時のバグ修正のソースコードへの反映状況等を確認しようとした際に、当該ソースコードに対する各更新が、バグ修正によるものであったか否かが確認出来なくなるような状況を回避することができる。また、次の開発者(又は更新の要求者)が実装機能の全容が把握できなくなることや、実装機能の根拠が把握できないようなことを回避できる。その結果、ソフトウェア開発における保守作業の品質を向上させることができる。 In other words, according to the present embodiment, after the development is completed, an attempt is made to confirm the reflection status of the bug correction at the time of development to the source code by enhancing the draft of the ticket data in the software development process. At this time, it is possible to avoid a situation in which it is impossible to confirm whether or not each update to the source code is due to a bug correction. Further, it is possible to avoid that the next developer (or the requester of update) cannot grasp the entire contents of the implemented function or cannot understand the basis of the implemented function. As a result, the quality of maintenance work in software development can be improved.
なお、本実施の形態において、チケットデータは、第1のデータの一例である。コミットログは、第2のデータの一例である。チケットデータの起票時刻、完了時刻は、それぞれ、更新理由の発生時期、当該更新理由に応じた作業の完了時期の一例である。コミットログのコミット時刻は、更新の時期の一例である。原因分類部14は、分類部の一例である。修正候補出力部15は、出力部の一例である。
In the present embodiment, ticket data is an example of first data. The commit log is an example of second data. The issue time and completion time of the ticket data are examples of the generation timing of the update reason and the completion timing of the work corresponding to the update reason, respectively. The commit time in the commit log is an example of the update time. The
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to such specific embodiment, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.
10 データ処理装置
11 VMS
12 ITS
13 TCNC生成部
14 原因分類部
15 修正候補出力部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
106 表示装置
107 入力装置
111 コミットログ生成部
112 コミットログ記憶部
121 チケット状態更新部
122 チケットデータ記憶部
B バス
10
12 ITS
13
105
Claims (5)
前記一部の第2のデータについて入力された前記識別情報を含む前記第1のデータに含まれる発生時期及び完了時期と、前記識別情報が入力されていない前記第2のデータに含まれる更新の時期との関係に基づいて、当該第2のデータに対して前記識別情報が入力されていない原因を複数のパターンのうちのいずれかに分類する分類部としてコンピュータを機能させることを特徴とするデータ処理プログラム。 A set of first data that is drafted for each reason for updating the source code of the software, and includes identification information of the reason for updating, an occurrence time of the reason for updating, and a completion time of work according to the reason for updating A set of second data that is recorded every time the source code is updated and includes the timing of the update, and a part of the second data further corresponds to an update related to the second data. With reference to the set of update reason identification information entered by the user,
The generation time and completion time included in the first data including the identification information input for the partial second data, and the update included in the second data for which the identification information is not input. Data that causes a computer to function as a classification unit that classifies a cause that the identification information is not input to the second data into any one of a plurality of patterns based on the relationship with the time Processing program.
ことを特徴とする請求項1記載のデータ処理プログラム。 The classification unit includes the second data whose update time is included between the generation time and the completion time included in the first data including the identification information input with respect to the partial second data. And the cause of the update is classified into different patterns with respect to the second data that is not included between the occurrence time and the completion time,
The data processing program according to claim 1.
ことを特徴とする請求項1又は2記載のデータ処理プログラム。 The classification unit includes the second data whose update time is included between the generation time and the completion time included in the first data including the identification information input with respect to the partial second data. Is classified into a pattern caused by the fact that the identification information is not input despite the presence of the first data relating to the update reason corresponding to the update,
The data processing program according to claim 1 or 2, characterized by the above-mentioned.
としてコンピュータを機能させることを特徴とする請求項1乃至3いずれか一項記載のデータ処理プログラム。 An output unit that outputs the identification information input with respect to the partial second data as an input candidate for the second data for which the identification information is not input;
A data processing program according to any one of claims 1 to 3, wherein a computer is caused to function.
前記一部の第2のデータについて入力された前記識別情報を含む前記第1のデータに含まれる発生時期及び完了時期と、前記識別情報が入力されていない前記第2のデータに含まれる更新の時期との関係に基づいて、当該第2のデータに対して前記識別情報が入力されていない原因を複数のパターンのうちのいずれかに分類する分類手順をコンピュータが実行することを特徴とするデータ処理方法。 A set of first data that is drafted for each reason for updating the source code of the software, and includes identification information of the reason for updating, an occurrence time of the reason for updating, and a completion time of work according to the reason for updating A set of second data that is recorded every time the source code is updated and includes the timing of the update, and a part of the second data further corresponds to an update related to the second data. With reference to the set of update reason identification information entered by the user,
The generation time and completion time included in the first data including the identification information input for the partial second data, and the update included in the second data for which the identification information is not input. Data in which the computer executes a classification procedure for classifying the cause of the fact that the identification information is not input to the second data into one of a plurality of patterns based on the relationship with the time Processing method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016168393A JP6546569B2 (en) | 2016-08-30 | 2016-08-30 | Data processing program and data processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016168393A JP6546569B2 (en) | 2016-08-30 | 2016-08-30 | Data processing program and data processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018036792A true JP2018036792A (en) | 2018-03-08 |
JP6546569B2 JP6546569B2 (en) | 2019-07-17 |
Family
ID=61565960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016168393A Active JP6546569B2 (en) | 2016-08-30 | 2016-08-30 | Data processing program and data processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6546569B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021105866A (en) * | 2019-12-26 | 2021-07-26 | 株式会社日立製作所 | Program development support system and program development support method |
-
2016
- 2016-08-30 JP JP2016168393A patent/JP6546569B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021105866A (en) * | 2019-12-26 | 2021-07-26 | 株式会社日立製作所 | Program development support system and program development support method |
JP7246301B2 (en) | 2019-12-26 | 2023-03-27 | 株式会社日立製作所 | Program development support system and program development support method |
Also Published As
Publication number | Publication date |
---|---|
JP6546569B2 (en) | 2019-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6636009B2 (en) | Management of system information | |
US20120159434A1 (en) | Code clone notification and architectural change visualization | |
US10175975B2 (en) | Self-mending software builder | |
Zampetti et al. | A study on the interplay between pull request review and continuous integration builds | |
US9767002B2 (en) | Verification of product release requirements | |
US20130179863A1 (en) | Bug variant detection using program analysis and pattern identification | |
CN112771505A (en) | Software test assurance by inconsistent disposition detection | |
Muşlu et al. | Preventing data errors with continuous testing | |
US10223185B2 (en) | Automated defect diagnosis from machine diagnostic data | |
US20200133658A1 (en) | Change governance using blockchain | |
US10922291B2 (en) | Data pipeline branching | |
JP6536326B2 (en) | Method of generating software test code and computer readable storage medium | |
US20120291014A1 (en) | System and method for testing the development and updates in a test system using production/live data | |
JP7187894B2 (en) | Program, information processing system and information processing method | |
US20130185105A1 (en) | Generation of sales leads using customer problem reports | |
TWI727084B (en) | Automated continuous integration method under microservice software development infrastructure | |
US20050010597A1 (en) | System and method of determining impact of model changes | |
JP6546569B2 (en) | Data processing program and data processing method | |
Wang et al. | Reef: A framework for collecting real-world vulnerabilities and fixes | |
JP6336919B2 (en) | Source code review method and system | |
JPWO2009011057A1 (en) | Application analysis program, application analysis method, and application analysis apparatus | |
WO2017088547A1 (en) | Data upgrading method and apparatus | |
US11119761B2 (en) | Identifying implicit dependencies between code artifacts | |
Ramkisoen et al. | PaReco: patched clones and missed patches among the divergent variants of a software family | |
US20230208744A1 (en) | Consensus driven service promotion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180824 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190530 |
|
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: 20190618 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190621 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6546569 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |