JP2009048442A - Constitution management system - Google Patents

Constitution management system Download PDF

Info

Publication number
JP2009048442A
JP2009048442A JP2007214447A JP2007214447A JP2009048442A JP 2009048442 A JP2009048442 A JP 2009048442A JP 2007214447 A JP2007214447 A JP 2007214447A JP 2007214447 A JP2007214447 A JP 2007214447A JP 2009048442 A JP2009048442 A JP 2009048442A
Authority
JP
Japan
Prior art keywords
source code
information
configuration management
edited
management server
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
Application number
JP2007214447A
Other languages
Japanese (ja)
Other versions
JP4889593B2 (en
Inventor
Makoto Tsujino
誠 辻野
Giichi Yomogida
義一 蓬田
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.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co 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 Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2007214447A priority Critical patent/JP4889593B2/en
Publication of JP2009048442A publication Critical patent/JP2009048442A/en
Application granted granted Critical
Publication of JP4889593B2 publication Critical patent/JP4889593B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a constitution management system capable of simultaneously editing one file by a plurality of persons while maintaining the consistency of program operations when editing a source code. <P>SOLUTION: In the constitution management system, a client device 102 with which a developer edits the source code is connected to a constitution management server 101 in freely communicable manner. The constitution management server 101 comprises: a means for extracting source code information with dependence on the source code on which editing is requested when receiving source code edit request information from the client device 102; a means for extracting coverage information of the source code having dependence; a means for acquiring the source code whose coverage is not acquired yet among the source code with dependence from the source code information with dependence and the coverage information; and a means for extracting exclusive control information indicating the edit state of the source code from a storage device 103. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、ソースコードを編集する際に、プログラムの動作の整合性を保ちつつ、1つのファイルに対して複数人による同時編集を可能とする構成管理システムに関するものである。   The present invention relates to a configuration management system capable of simultaneous editing by a plurality of persons with respect to one file while maintaining consistency of operation of a program when editing a source code.

プログラムを構成する複数のソースコードを管理する上でVisual SourceSafe(以下、VSS)などの構成管理ツールがある。構成管理ツールを使用することによって、プログラムのソースコード1つ1つの整合性を保ち、管理することができる。しかし、VSSの構成管理ツールの場合、1つのファイルに対して複数の人が同時に修正することができないため、プログラム開発の効率化を図ることができない。
特許文献1では、ファイルの内容を部分領域単位に区切り、ファイルを編集する際には部分領域単位で排他制御し、管理することで、複数の開発者が1つのファイルに対して同時に編集する方法が開示されている。
特開2005−301838号公報
There are configuration management tools such as Visual SourceSafe (hereinafter referred to as VSS) for managing multiple source codes that make up a program. By using the configuration management tool, it is possible to maintain and manage the consistency of each source code of the program. However, in the case of the VSS configuration management tool, it is impossible to improve the efficiency of program development because a plurality of people cannot modify one file at the same time.
In Japanese Patent Laid-Open No. 2004-260260, a method in which a plurality of developers edit a single file at the same time by dividing the content of the file into partial areas and exclusively controlling and managing the partial areas when editing the file. Is disclosed.
JP 2005-301838 A

特許文献1の場合、部分領域単位で管理することにより同時編集は可能となるが、ソースコードを管理する上で、編集対象のソースコードのみを排他制御の対象としている。そのため、編集対象のソースコードが他のソースコードを参照している関係(以下、依存関係)がある場合、依存関係のあるソースコードを他の開発者によって編集されてしまうと、プログラムの処理が正しく動作しなくなる可能性がある。   In the case of Patent Document 1, simultaneous editing is possible by managing in units of partial areas. However, in managing source codes, only source codes to be edited are targeted for exclusive control. Therefore, if there is a relationship in which the source code to be edited refers to other source code (hereinafter referred to as dependency), if the source code with dependency is edited by another developer, the processing of the program It may not work properly.

以上の現状に鑑み、本発明は、ソースコードを編集する際に編集対象のソースコードと依存関係のあるソースコードに対しても排他制御の対象とすることにより、プログラムの動作の整合性を保ちつつ、1つのファイルに対して複数人による同時編集を可能とする構成管理システムを提供することを目的とする。   In view of the above situation, the present invention maintains the consistency of the program operation by making the exclusive control target of the source code that is dependent on the source code to be edited when the source code is edited. On the other hand, an object of the present invention is to provide a configuration management system capable of simultaneous editing by a plurality of people for one file.

上記の課題を解決すべく、本発明は以下の構成を提供する。
請求項1に係る発明は、開発者がソースコードの編集を行なうクライアント装置と、ソースコード情報を格納する記憶装置を備えた構成管理サーバとが通信自在に接続される構成管理システムであって、
前記構成管理サーバは、前記クライアント装置から、ソースコード編集要求情報を受信すると、編集要求があったソースコードに対して依存関係のあるソースコード情報である依存関係情報を前記記憶装置から抽出する手段と、
前記記憶装置から、前記依存関係のあるソースコードのカバレージ情報を抽出する手段と、
前記依存関係情報と前記カバレージ情報とから、依存関係のあるソースコードのうちカバレージが未取得のソースコード情報を取得する手段と、
前記記憶装置から、ソースコードの編集状況を表す排他制御情報を抽出する手段と、
前記排他制御情報に基づき、前記カバレージが未取得のソースコードが、現在、他の開発者によって編集されているかどうかをチェックする手段と、
他の開発者によって編集されている場合、前記クライアント装置に対し編集不可能である通知情報を送信する手段と、
他の開発者によって編集されていない場合、前記編集要求のあったソースコードと前記カバレージが未取得のソースコードとを編集中のソースコードとして他の開発者が編集できないように前記記憶装置に格納されている排他制御情報を更新する手段と、
更新が完了したら、前記カバレージが未取得のソースコード情報及び前記編集要求のあったソースコードの情報から成る編集可能範囲情報と前記編集要求のあったソースコードと依存関係のあるソースコードの内容とを前記クライアント装置に送信する手段と、
前記クライアント装置から編集されたソースコードと依存関係のあるソースコードの内容とを受信すると、前記記憶装置に格納されているソースコード情報を更新する手段とを備え、
前記クライアント装置は、前記構成管理サーバから、編集要求したソースコードと依存関係のあるソースコードの内容と前記編集可能範囲情報とを受信すると、前記編集可能範囲情報に基づき、編集可能範囲のソースコードの箇所を編集可能領域として表示し、編集不可能範囲のソースコードの箇所を編集不可能領域として表示する手段と、
前記編集可能範囲内で編集されたソースコードと依存関係のあるソースコードの内容とを前記構成管理サーバに送信する手段とを備えたことを特徴とする構成管理システムを提供するものである。
In order to solve the above problems, the present invention provides the following configurations.
The invention according to claim 1 is a configuration management system in which a client device for editing a source code by a developer and a configuration management server including a storage device for storing source code information are connected to each other in a communicable manner.
The configuration management server, when receiving source code editing request information from the client device, extracts from the storage device dependency information that is source code information having a dependency relationship with the source code requested to be edited. When,
Means for extracting coverage information of the dependent source code from the storage device;
Means for acquiring source code information whose coverage has not yet been acquired from source code having a dependency relationship from the dependency relationship information and the coverage information;
Means for extracting exclusive control information representing the editing status of the source code from the storage device;
Means for checking, based on the exclusive control information, whether the source code whose coverage has not been acquired is currently being edited by another developer;
Means for sending notification information that is not editable to the client device if edited by another developer;
When not edited by another developer, the source code requested to be edited and the source code whose coverage has not been acquired are stored in the storage device so that other developers cannot edit as the source code being edited. Means for updating the exclusive control information,
When the update is completed, editable range information composed of source code information whose coverage has not been acquired and information of the source code requested to be edited, and contents of source code having a dependency relationship with the source code requested to be edited Means for transmitting to the client device;
Means for receiving source code contents that are dependent on the edited source code from the client device, and updating source code information stored in the storage device;
When the client device receives from the configuration management server the content of the source code having a dependency relationship with the source code requested to be edited and the editable range information, the source code of the editable range is received based on the editable range information. Means for displaying the part of the source code as a non-editable area,
The present invention provides a configuration management system comprising means for transmitting source code contents that are dependent on the source code edited within the editable range to the configuration management server.

請求項2に係る発明は、前記構成管理サーバに、ソースコードに対してテストを実行するテスト装置が通信自在に接続され、
前記テスト装置は、前記構成管理サーバからソースコードを受信すると、テストドライバを使用し、受信したソースコードに対してテストを実施し、カバレージ情報を取得する手段と、
前記カバレージ情報を前記構成管理サーバに送信する手段とを備え、
前記構成管理サーバは、前記記憶装置に格納されるソースコード情報を更新すると、更新したソースコードを前記テスト装置に送信する手段と、
前記テスト装置からカバレージ情報を受信すると、前記記憶装置に格納されているカバレージ情報を更新する手段と、
更新された前記ソースコードを基にコールツリー生成手段を用いて前記記憶装置に格納されている依存関係情報を更新する手段と、
前記クライアント装置から受信したソースコードに基づき、前記記憶装置に格納されている前記排他制御情報を編集可能な状態に更新する手段とを備えたことを特徴とする請求項1記載の構成管理システムを提供するものである。
In the invention according to claim 2, a test device for executing a test on the source code is connected to the configuration management server in a communicable manner.
When the test apparatus receives the source code from the configuration management server, the test device uses a test driver, performs a test on the received source code, and obtains coverage information;
Means for transmitting the coverage information to the configuration management server,
The configuration management server, when updating the source code information stored in the storage device, means for transmitting the updated source code to the test device;
Means for updating the coverage information stored in the storage device upon receipt of the coverage information from the test device;
Means for updating dependency information stored in the storage device using call tree generation means based on the updated source code;
The configuration management system according to claim 1, further comprising means for updating the exclusive control information stored in the storage device to an editable state based on a source code received from the client device. It is to provide.

本発明の構成管理システムによれば、次のような効果がある。
(1)編集対象のソースコードに加え、編集対象のソースコードと依存関係のあるソースコードに対しても排他制御を行うため、プログラムの動作の整合性を保つことができる。
(2)ソースコード間の依存関係情報、テスト済みのソースコード情報を基にソースコードの編集可能範囲を決定し、この編集可能範囲のみを排他制御が必要なソースコードとして管理するため、1つのファイルに対して複数人による同時編集が可能となり、作業効率が向上する。
The configuration management system of the present invention has the following effects.
(1) Since exclusive control is performed not only on the source code to be edited but also on the source code having a dependency relationship with the source code to be edited, it is possible to maintain the consistency of the operation of the program.
(2) The editable range of the source code is determined based on the dependency relationship information between the source codes and the tested source code information, and only this editable range is managed as source code that requires exclusive control. Multiple files can be edited simultaneously by multiple people, improving work efficiency.

以下、実施例を示した図面を参照しつつ本発明を適用した構成管理システムの一実施の形態について説明する。
図1は、本発明の構成管理システムの実施形態の一例を示すシステム構成図であり、本発明の構成管理システムは、開発者が作成したソースコードを管理する構成管理サーバ101と、ソースコードの表示・編集を行うクライアント装置102と、構成管理サーバ101に備えられ、ソースコードに関する情報を格納する記憶装置103と、構成管理サーバ101が管理するソースコードに対してテストを実行するテスト装置104とから構成されている。
Hereinafter, an embodiment of a configuration management system to which the present invention is applied will be described with reference to the drawings showing examples.
FIG. 1 is a system configuration diagram showing an example of an embodiment of a configuration management system of the present invention. The configuration management system of the present invention includes a configuration management server 101 for managing source code created by a developer, A client device 102 that performs display / editing, a storage device 103 that is provided in the configuration management server 101 and stores information related to source code, and a test device 104 that executes a test on the source code managed by the configuration management server 101 It is composed of

構成管理サーバ101は、クライアント装置102又はテスト装置104と通信を行うサーバ通信部105と、記憶装置103にソースコードに関する情報を格納するデータ格納部106と、記憶装置103からソースコードに関する情報を抽出するデータ抽出部107と、クライアント装置102からのソースコード編集要求に対して、編集対象ソースコードと依存関係のあるソースコード又はテスト済みのソースコード情報を記憶装置103から取得し、依存関係のあるソースコードのうち編集可能な範囲を決定する編集範囲決定部108とから構成されている。   The configuration management server 101 extracts a server communication unit 105 that communicates with the client device 102 or the test device 104, a data storage unit 106 that stores information about source code in the storage device 103, and information about source code from the storage device 103. In response to the source code editing request from the data extraction unit 107 and the client device 102, the source code that has a dependency relationship with the source code to be edited or the source code information that has been tested is acquired from the storage device 103 and has a dependency relationship. An editing range determination unit 108 that determines an editable range in the source code is configured.

クライアント装置102は、構成管理サーバ101と通信を行うクライアント通信部109と、構成管理サーバ101から送信されるソースコード内容を画面に表示する表示部110と、表示されたソースコードに対して開発者が追加・変更・削除などを行う入力部111と、構成管理サーバ101から送信される編集可能なソースコードの範囲情報を基に、画面に表示されるソースコードの入力範囲を制御する排他制御部112とから構成されている。クライアント装置102は複数存在するものとする。   The client device 102 includes a client communication unit 109 that communicates with the configuration management server 101, a display unit 110 that displays the source code contents transmitted from the configuration management server 101, and a developer for the displayed source code. And an exclusive control unit for controlling the input range of the source code displayed on the screen based on the editable source code range information transmitted from the configuration management server 101. 112. Assume that there are a plurality of client apparatuses 102.

記憶装置103は、ソースコードに関する情報として、構成管理サーバ101が管理するソースコード内容を表すソースコード情報113と、構成管理サーバ101が管理するソースコードのうちテスト済みのソースコード情報を表すテスト済みソースコード情報114と、ソースコード間の依存関係の情報を表す依存関係情報115と、構成管理サーバ101が管理するソースコードの編集状況を表す排他制御情報116とを記憶する。   The storage device 103 includes source code information 113 representing the source code contents managed by the configuration management server 101 as information relating to the source code, and tested source code information among the source codes managed by the configuration management server 101. Source code information 114, dependency relationship information 115 representing dependency relationship information between source codes, and exclusive control information 116 representing source code editing status managed by the configuration management server 101 are stored.

前記依存関係情報115は、コールツリー生成手段であるコールツリーを生成する既存のツールを使用し、取得するものとする。テスト済みソースコード情報114と依存関係情報115は、構成管理サーバ101にソースコードを格納するたびに更新されるものとする。また、本実施例ではテスト済みソースコード情報114としてカバレージ情報が格納されるものとする。本実施例で使用するカバレージ情報とは、テスト実行時にソースコードのどの部分が実行されたかという情報のことを意味する。   The dependency relationship information 115 is obtained by using an existing tool for generating a call tree, which is a call tree generation means. The tested source code information 114 and the dependency relationship information 115 are updated every time the source code is stored in the configuration management server 101. In this embodiment, it is assumed that coverage information is stored as the tested source code information 114. The coverage information used in this embodiment means information about which part of the source code is executed at the time of test execution.

テスト装置104は、構成管理サーバ101からソースコード情報113の受信や受信したソースコードの実行結果を構成管理サーバ101に送信するテスト装置通信部117と、受信したソースコードに対してテストを実行するテスト実行部118から構成されている。前記テスト実行部118で使用するテストドライバのソースコードは、開発者によって指定位置に格納されたものを読み込むものとする。また、前記クライアント装置102、前記テスト装置104はネットワークを通じて構成管理サーバ101と接続されている。   The test apparatus 104 receives the source code information 113 from the configuration management server 101 and transmits a test result of the received source code to the configuration management server 101, and executes a test on the received source code. The test execution unit 118 is configured. It is assumed that the source code of the test driver used in the test execution unit 118 is read by a developer stored at a designated position. The client device 102 and the test device 104 are connected to the configuration management server 101 through a network.

図2は、構成管理サーバ101が管理するソースコード情報のデータ構造200である。ソースコード情報のデータ構造200は、構成管理サーバ101が管理するソースコードのファイル名を表すファイル名201と、ファイル名201のパッケージ構成を表すパッケージ名202と、管理するソースコードの行番号を表す行番号203と、ファイル名201とパッケージ名202と行番号203で示すソースコードの内容を表すソースコード内容204とから構成されている。   FIG. 2 shows a data structure 200 of source code information managed by the configuration management server 101. The data structure 200 of the source code information represents a file name 201 representing the file name of the source code managed by the configuration management server 101, a package name 202 representing the package configuration of the file name 201, and a line number of the source code to be managed. A line number 203, a file name 201, a package name 202, and a source code content 204 representing the source code content indicated by the line number 203 are configured.

図3は、テスト済みソースコード情報のデータ構造300である。テスト済みソースコード情報のデータ構造300は、テスト済みのソースコード情報として、テスト実施対象のソースコードファイルを表すファイル名301と、ファイル名301のパッケージ構成を表すパッケージ名302と、テスト実施対象のメソッドを表すメソッド名303と、対象ファイルのソースコード内でテストを実施した行を表す行番号304と、行番号304で表す行でテストを実施した列の開始番号を表す開始列番号305と、行番号304で表す行でテストを実施した列の終了番号を表す終了列番号306とから構成されている。   FIG. 3 is a data structure 300 of tested source code information. The data structure 300 of the tested source code information includes, as tested source code information, a file name 301 that represents a source code file to be tested, a package name 302 that represents a package configuration of the file name 301, and a test execution target. A method name 303 representing a method, a line number 304 representing the line in which the test is performed in the source code of the target file, a start column number 305 representing the start number of the column in which the test is performed in the line represented by the line number 304, It consists of an end column number 306 indicating the end number of the column in which the test is performed in the row indicated by the row number 304.

図4は、ソースコードの依存関係情報のデータ構造400である。ソースコードの依存関係情報のデータ構造400は、依存関係情報として、対象のソースコードファイルのファイル名を表すファイル名401と、ファイル名401のパッケージ構成を表すパッケージ名402と、ファイル名401とパッケージ名402で示すソースコードファイル内に書かれた対象のメソッド名を表すメソッド名403と、メソッド名403で表すソースコードの開始行を表す行開始番号404と、メソッド名403で表すソースコードの終了行を表す行終了番号405と、ファイル名401とパッケージ名402とメソッド名403で表すソースコードと依存関係のあるファイル名を表す依存ファイル名406と、依存ファイル名406のパッケージ構成を表す依存パッケージ名407と、依存関係があるメソッドを表す依存メソッド名408と、依存メソッド名408の開始行を表す依存行開始番号409と、依存メソッド名408の終了行を表す依存行終了番号410から構成されている。   FIG. 4 shows a data structure 400 of source code dependency information. A source code dependency information data structure 400 includes, as dependency information, a file name 401 representing a file name of a target source code file, a package name 402 representing a package configuration of the file name 401, a file name 401, and a package. A method name 403 that represents the target method name written in the source code file indicated by the name 402, a line start number 404 that indicates the start line of the source code indicated by the method name 403, and an end of the source code indicated by the method name 403 A line end number 405 representing a line, a dependent file name 406 representing a file name having a dependency relationship with a source code represented by a file name 401, a package name 402, and a method name 403, and a dependent package representing a package configuration of the dependent file name 406 Displays the name 407 and the methods with dependencies And dependent method name 408, and the dependent row start number 409 which represents the starting row of the dependent method name 408, and a dependent line end number 410 indicating the end row of the dependent method name 408.

図5は、排他制御情報のデータ構造500である。排他制御情報のデータ構造500は、排他制御情報として、排他制御の対象のファイルを表すファイル名501と、ファイル名501のパッケージ構成を表すパッケージ名502と、排他制御の対象となるメソッド名を表すメソッド名503と、メソッド名503で表すメソッドの排他制御の対象となるソースコード行を表す行番号504と、行番号504で表すソースコード行のうち、排他制御の開始列を表す開始列番号505と、行番号504で表すソースコード行のうち、排他制御の終了列を表す終了列番号506と、排他制御するソースコードをどのクライアント装置102が編集しているのかを表す編集装置507とから構成されている。   FIG. 5 shows a data structure 500 of exclusive control information. A data structure 500 of exclusive control information represents, as exclusive control information, a file name 501 representing a file subject to exclusive control, a package name 502 representing a package configuration of the file name 501, and a method name subject to exclusive control. Among the method name 503, the line number 504 representing the source code line to be subject to exclusive control of the method represented by the method name 503, and the start column number 505 representing the start column of exclusive control among the source code lines represented by the line number 504 And an end column number 506 representing the end column of exclusive control in the source code line represented by line number 504, and an editing device 507 representing which client device 102 is editing the source code to be exclusively controlled. Has been.

図6は、クライアント装置102からソースコード編集要求があった際に、構成管理サーバ101が管理する記憶装置103に格納しているソースコードのうち編集可能なソースコード範囲を決定するフローチャートである。構成管理サーバ101は、クライアント装置102から、ソースコード編集要求情報を受信すると、編集要求があったソースコードに対して、依存関係のあるソースコード情報を記憶装置103の依存関係情報115から取得(抽出)する(ステップ601)。編集要求があったソースコードと依存関係のあるソースコードのカバレージ情報を記憶装置103のテスト済みソースコード情報114から取得(抽出)する(ステップ602)。ステップ601とステップ602で取得した情報から、依存関係のあるソースコードのうちカバレージが未取得のソースコード情報113を取得する(ステップ603)。ここで取得したカバレージ未取得のソースコード情報113と編集要求のあったソースコードの情報とを編集可能範囲情報とする。また、編集可能範囲情報として、ファイル名、パッケージ名と行番号、列開始番号、列終了番号があるものとする。   FIG. 6 is a flowchart for determining an editable source code range among source codes stored in the storage device 103 managed by the configuration management server 101 when a source code editing request is received from the client device 102. When the configuration management server 101 receives the source code editing request information from the client device 102, the configuration management server 101 obtains source code information having a dependency relationship from the dependency relationship information 115 of the storage device 103 with respect to the source code requested to be edited ( (Step 601). Coverage information of the source code having a dependency relationship with the source code requested to be edited is acquired (extracted) from the tested source code information 114 of the storage device 103 (step 602). From the information acquired in step 601 and step 602, the source code information 113 whose coverage is not acquired is acquired from the source code having the dependency relationship (step 603). The source code information 113 that has not been acquired and the information of the source code that has been requested to be edited are set as editable range information. Further, it is assumed that editable range information includes a file name, a package name and row number, a column start number, and a column end number.

記憶装置103から排他制御情報116を取得(抽出)する(ステップ604)。ステップ603で取得したカバレージ未取得のソースコード情報が、現在、他の開発者によって編集されているかをチェックする(ステップ605)。なお、ステップ605ではステップ603で取得したカバレージ未取得のソースコード情報以外の箇所についてはチェックを行わないものとする。もし、他の開発者によって編集されている場合、要求元の開発者へ編集不可能であることを通知する(通知情報を送信する)(ステップ606)。他の開発者によって編集されていない場合、編集要求のあったソースコード範囲とステップ603で取得したカバレージ未取得のソースコードを編集中のソースコードとして排他制御情報を更新する(ステップ607)。排他制御情報の更新が完了したら、編集要求のあったソースコードと、依存関係のあるソースコードの内容と、ソースコードの編集可能範囲情報をクライアント装置102に送信する(ステップ608)。   Exclusive control information 116 is acquired (extracted) from the storage device 103 (step 604). It is checked whether the source code information that has not been acquired in step 603 is currently being edited by another developer (step 605). It should be noted that in step 605, no check is made for portions other than the source code information not acquired in step 603. If it has been edited by another developer, the requesting developer is notified that editing is not possible (notification information is transmitted) (step 606). If it has not been edited by another developer, the exclusive control information is updated with the source code range requested for editing and the source code not acquired in step 603 as the source code being edited (step 607). When the update of the exclusive control information is completed, the source code requested to be edited, the contents of the dependent source code, and the editable range information of the source code are transmitted to the client device 102 (step 608).

図7は、クライアント装置側で表示されるソースコードエディタの画面700である。ソースコードエディタの画面700は、構成管理サーバ101が備える記憶装置103に格納しているソースコードファイルのリストを表示するファイル一覧701、編集対象のソースコードと依存関係のある関数(またはメソッド)を表示する編集対象関数・メソッド一覧702、構成管理サーバ101が管理するソースコードを表示するソースコードビュー703、構成管理サーバ101にソースコードの編集を要求する編集ボタン704、開発者がソースコードビュー703上で編集した内容を構成管理サーバ101が管理する記憶装置103に格納する保存ボタン705から構成されている。開発者がソースコードを編集する場合には、ソースコードビュー703上で編集対象となるソースコードの範囲を選択し、編集ボタン704を押下することで構成管理サーバ101に開発者が編集したいソースコードとして、編集要求情報を送信する。   FIG. 7 is a source code editor screen 700 displayed on the client device side. The source code editor screen 700 displays a file list 701 for displaying a list of source code files stored in the storage device 103 included in the configuration management server 101, and functions (or methods) having a dependency relationship with the source code to be edited. Edit target function / method list 702 to be displayed, source code view 703 for displaying the source code managed by the configuration management server 101, an edit button 704 for requesting the configuration management server 101 to edit the source code, and the developer source code view 703 The contents are edited from a storage button 705 for storing the contents edited above in the storage device 103 managed by the configuration management server 101. When the developer edits the source code, the source code that the developer wants to edit in the configuration management server 101 is selected by selecting the range of the source code to be edited on the source code view 703 and pressing the edit button 704. The edit request information is transmitted.

図8は、構成管理サーバ101にソースコードの編集要求を行い、ソースコードの編集を行う画面800である。構成管理サーバ101から、ソースコードと編集可能範囲情報を受信すると、クライアント装置102のソースコードの編集を行う画面800は、ソースコードの編集可能範囲に対してはソースコードビュー703上で編集可能領域801として表示し、開発者からの入力を可能とする。編集可能範囲外の箇所については、編集可能領域801と背景色を反転し、編集不可能領域802として表示する。編集不可能領域802では、開発者からのソースコードの入力を受け付けないものとする。また、受信する編集可能範囲情報を基に編集対象関数・メソッド一覧702に編集対象のソースコードと依存関係のある関数の一覧を表示するものとする。   FIG. 8 shows a screen 800 for making a source code editing request to the configuration management server 101 and editing the source code. When the source code and editable range information are received from the configuration management server 101, the screen 800 for editing the source code of the client apparatus 102 is displayed in the editable area on the source code view 703 for the editable range of the source code. Displayed as 801, allowing input from the developer. About a place outside the editable range, the editable area 801 and the background color are reversed and displayed as an uneditable area 802. In the non-editable area 802, input of source code from a developer is not accepted. Also, based on the editable range information received, a list of functions that are dependent on the source code to be edited is displayed in the editing target function / method list 702.

図9は、編集対象関数・メソッド一覧702に表示される依存関係の関数を選択した際に表示される依存関係ソースコードエディタ画面900である。依存関係ソースコードエディタ画面900は、編集対象関数・メソッド一覧702に表示される関数一覧の中から関数を選択すると、ソースコードビュー703に対象のソースコードを表示する。その際に、編集可能範囲情報を基に編集可能領域801、編集不可能領域802も含め、ソースコードビュー703に表示するものとする。   FIG. 9 shows a dependency source code editor screen 900 displayed when a dependency function displayed in the edit target function / method list 702 is selected. When a function is selected from the function list displayed in the edit target function / method list 702, the dependency source code editor screen 900 displays the target source code in the source code view 703. At this time, the editable area 801 and the non-editable area 802 are displayed on the source code view 703 based on the editable range information.

図10は、あるクライアント装置102にてソースコード編集時に、他クライアント装置102で同じソースコードを参照した際に表示される他クライアント装置から見たソースコードエディタの画面1000である。他クライアント装置から見たソースコードエディタの画面1000は、ソースコードビュー703上に表示されるソースコードのうち、他クライアント装置102にて編集中であるソースコードの箇所に対しては、編集不可能領域802として表示する。また、他クライアント装置102で編集不可能領域802と表示されているソースコードは編集要求を行うことができないこととする。   FIG. 10 shows a source code editor screen 1000 viewed from another client device displayed when the same source code is referred to by another client device 102 when the source code is edited by a certain client device 102. The source code editor screen 1000 viewed from the other client device cannot edit the portion of the source code displayed on the source code view 703 that is being edited by the other client device 102. Displayed as area 802. In addition, it is assumed that the source code displayed as the non-editable area 802 on the other client apparatus 102 cannot make an edit request.

図11は、図6のフローチャートに沿って編集可能範囲を決定する際に、ステップ606で編集不可の情報をクライアント装置102に送信したときに表示部110に表示されるソースコード編集不可画面1100である。ソースコード編集不可画面1100は、クライアント装置102で、編集不可の情報を受信した際に、ソースコードの編集を行う画面800では対象のソースコードが編集できないことをダイアログボックス1101にて表示する。ダイアログボックス1101は、例えば、ほぼ同時に2つのクライアント装置102,102が同じソースコードに対して編集要求を行った際に、編集可能範囲を決定する処理を先に完了したクライアント装置102を編集可能とし、もう一方のクライアント装置102では編集できないときに表示される。   FIG. 11 shows a source code edit disabled screen 1100 displayed on the display unit 110 when information that cannot be edited is transmitted to the client apparatus 102 in step 606 when determining the editable range according to the flowchart of FIG. is there. When the client device 102 receives information that cannot be edited, the source code edit disabled screen 1100 displays a dialog box 1101 indicating that the target source code cannot be edited on the screen 800 for editing the source code. The dialog box 1101 makes it possible to edit the client device 102 that has completed the process of determining the editable range first when, for example, two client devices 102 and 102 request editing of the same source code almost simultaneously. This is displayed when the other client device 102 cannot edit.

図12は、クライアント装置102側のソースコードの編集を行うエディタ画面800で編集したソースコードを構成管理サーバ101が管理する記憶装置103に格納する際のフローチャートである。ソースコードの編集を行うエディタ画面800で保存ボタン705を押下するとクライアント装置102は編集対象のソースコードとそのソースコードと依存関係のあるソースコードの内容を構成管理サーバ101に送信し、構成管理サーバ101は、それらの情報を受信すると(ステップ1201)、記憶装置103に格納されているソースコード情報をクライアント装置102から送信されたソースコードに更新する(ステップ1202)。次に、構成管理サーバ101は、記憶装置103に格納されているソースコード情報をテスト装置104に送付(送信)する(ステップ1203)。テスト装置104は、構成管理サーバ101からソースコード情報を受信すると、テスト実行部118にて、開発者が作成し、指定位置に格納したテストドライバのソースコードを取得する(ステップ1204)。そして、テスト実行部118は、ステップ1204にて取得したテストドライバを使用し、構成管理サーバ101から送付(送信)されたソースコードに対してテストを実施する(ステップ1205)。テスト装置104は、ステップ1205でテスト実行した際にカバレージ情報を取得し、構成管理サーバ101に送付(送信)する(ステップ1206)。構成管理サーバ101は、テスト装置104から、カバレージ情報を受信すると、記憶装置103に格納されているカバレージ情報を最新のカバレージ情報に更新する(ステップ1207)。又、ステップ1202で更新されたソースコードを基にコールツリー生成ツールを用いて依存関係情報115を更新する(ステップ1208)。更に、記憶装置103に格納されている排他制御情報116を他の利用者が利用できるように、クライアント装置102から送信されたソースコードを編集可能の状態に更新する(ステップ1209)。   FIG. 12 is a flowchart when the source code edited on the editor screen 800 for editing the source code on the client device 102 side is stored in the storage device 103 managed by the configuration management server 101. When the save button 705 is pressed on the editor screen 800 for editing the source code, the client apparatus 102 transmits the source code to be edited and the contents of the source code having a dependency relationship with the source code to the configuration management server 101. When 101 receives the information (step 1201), the source code information stored in the storage device 103 is updated to the source code transmitted from the client device 102 (step 1202). Next, the configuration management server 101 sends (transmits) the source code information stored in the storage device 103 to the test device 104 (step 1203). When the test apparatus 104 receives the source code information from the configuration management server 101, the test execution unit 118 acquires the source code of the test driver created by the developer and stored at the designated position in the test execution unit 118 (step 1204). Then, the test execution unit 118 uses the test driver acquired in step 1204 to perform a test on the source code sent (transmitted) from the configuration management server 101 (step 1205). The test apparatus 104 acquires coverage information when the test is executed in step 1205, and sends (transmits) the coverage information to the configuration management server 101 (step 1206). When receiving the coverage information from the test apparatus 104, the configuration management server 101 updates the coverage information stored in the storage device 103 to the latest coverage information (step 1207). Also, the dependency relationship information 115 is updated using the call tree generation tool based on the source code updated in step 1202 (step 1208). Further, the source code transmitted from the client device 102 is updated to an editable state so that other users can use the exclusive control information 116 stored in the storage device 103 (step 1209).

以上のように、本実施の形態の構成管理システムによれば、次のような効果がある。
(1)編集対象のソースコードに加え、編集対象のソースコードと依存関係のあるソースコードに対しても排他制御を行うため、プログラムの動作の整合性を保つことができる。
(2)ソースコード間の依存関係情報、テスト済みのソースコード情報を基にソースコードの編集可能範囲を決定し、この編集可能範囲のみを排他制御が必要なソースコードとして管理するため、1つのファイルに対して複数人による同時編集が可能となり、作業効率が向上する。
As described above, the configuration management system according to the present embodiment has the following effects.
(1) Since exclusive control is performed not only on the source code to be edited but also on the source code having a dependency relationship with the source code to be edited, it is possible to maintain the consistency of the operation of the program.
(2) The editable range of the source code is determined based on the dependency relationship information between the source codes and the tested source code information, and only this editable range is managed as source code that requires exclusive control. Multiple files can be edited simultaneously by multiple people, improving work efficiency.

本発明による構成管理システムを概略的に示す説明図である。It is explanatory drawing which shows the configuration management system by this invention roughly. 本発明による構成管理サーバで管理するソースコード情報のデータ構造図である。It is a data structure figure of the source code information managed with the configuration management server by this invention. 本発明によるテスト済みソースコード情報のデータ構造図である。FIG. 4 is a data structure diagram of tested source code information according to the present invention. 本発明による依存関係情報のデータ構造図である。It is a data structure figure of the dependency relationship information by this invention. 本発明による排他制御情報のデータ構造図である。It is a data structure figure of exclusive control information by the present invention. 本発明による編集範囲決定部の処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process of the edit range determination part by this invention. 本発明による構成管理サーバにあるソースコードを表示するエディタ表示画面である。It is an editor display screen which displays the source code in the configuration management server by this invention. 本発明によるソースコードの編集を行なうエディタ表示画面である。It is an editor display screen which edits the source code by this invention. 本発明による依存関係があるメソッドを選択した際に表示されるエディタ表示画面である。It is an editor display screen displayed when the method with the dependency relationship by this invention is selected. 本発明による他クライアント装置で表示されるエディタ表示画面である。It is an editor display screen displayed with the other client apparatus by this invention. 本発明による構成管理サーバから編集不可情報を受信した際のエディタ表示画である。6 is an editor display screen when non-editable information is received from the configuration management server according to the present invention. 本発明による編集したソースコードを保存する際の流れを示すフローチャートである。It is a flowchart which shows the flow at the time of preserve | saving the edited source code by this invention.

符号の説明Explanation of symbols

101 構成管理サーバ
102 クライアント装置
103 記憶装置
104 テスト装置
113 ソースコード情報
115 依存関係情報
116 排他制御情報
801 編集可能領域
802 編集不可能領域
101 Configuration Management Server 102 Client Device 103 Storage Device 104 Test Device 113 Source Code Information 115 Dependency Information 116 Exclusive Control Information 801 Editable Area 802 Uneditable Area

Claims (2)

開発者がソースコードの編集を行なうクライアント装置と、ソースコード情報を格納する記憶装置を備えた構成管理サーバとが通信自在に接続される構成管理システムであって、
前記構成管理サーバは、前記クライアント装置から、ソースコード編集要求情報を受信すると、編集要求があったソースコードに対して依存関係のあるソースコード情報である依存関係情報を前記記憶装置から抽出する手段と、
前記記憶装置から、前記依存関係のあるソースコードのカバレージ情報を抽出する手段と、
前記依存関係情報と前記カバレージ情報とから、依存関係のあるソースコードのうちカバレージが未取得のソースコード情報を取得する手段と、
前記記憶装置から、ソースコードの編集状況を表す排他制御情報を抽出する手段と、
前記排他制御情報に基づき、前記カバレージが未取得のソースコードが、現在、他の開発者によって編集されているかどうかをチェックする手段と、
他の開発者によって編集されている場合、前記クライアント装置に対し編集不可能である通知情報を送信する手段と、
他の開発者によって編集されていない場合、前記編集要求のあったソースコードと前記カバレージが未取得のソースコードとを編集中のソースコードとして他の開発者が編集できないように前記記憶装置に格納されている排他制御情報を更新する手段と、
更新が完了したら、前記カバレージが未取得のソースコード情報及び前記編集要求のあったソースコードの情報から成る編集可能範囲情報と前記編集要求のあったソースコードと依存関係のあるソースコードの内容とを前記クライアント装置に送信する手段と、
前記クライアント装置から編集されたソースコードと依存関係のあるソースコードの内容とを受信すると、前記記憶装置に格納されているソースコード情報を更新する手段とを備え、
前記クライアント装置は、前記構成管理サーバから、編集要求したソースコードと依存関係のあるソースコードの内容と前記編集可能範囲情報とを受信すると、前記編集可能範囲情報に基づき、編集可能範囲のソースコードの箇所を編集可能領域として表示し、編集不可能範囲のソースコードの箇所を編集不可能領域として表示する手段と、
前記編集可能範囲内で編集されたソースコードと依存関係のあるソースコードの内容とを前記構成管理サーバに送信する手段とを備えたことを特徴とする構成管理システム。
A configuration management system in which a client device in which a developer edits source code and a configuration management server having a storage device for storing source code information are communicatively connected,
The configuration management server, when receiving source code editing request information from the client device, extracts from the storage device dependency information that is source code information having a dependency relationship with the source code requested to be edited. When,
Means for extracting coverage information of the dependent source code from the storage device;
Means for acquiring source code information whose coverage has not yet been acquired from source code having a dependency relationship from the dependency relationship information and the coverage information;
Means for extracting exclusive control information representing the editing status of the source code from the storage device;
Means for checking, based on the exclusive control information, whether the source code whose coverage has not been acquired is currently being edited by another developer;
Means for sending notification information that is not editable to the client device if edited by another developer;
When not edited by another developer, the source code requested to be edited and the source code whose coverage has not been acquired are stored in the storage device so that other developers cannot edit as the source code being edited. Means for updating the exclusive control information,
When the update is completed, editable range information composed of source code information whose coverage has not been acquired and information of the source code requested to be edited, and contents of source code having a dependency relationship with the source code requested to be edited Means for transmitting to the client device;
Means for receiving source code contents that are dependent on the edited source code from the client device, and updating source code information stored in the storage device;
When the client device receives from the configuration management server the contents of the source code having a dependency relationship with the source code requested to be edited and the editable range information, the source code of the editable range is received based on the editable range information Means for displaying the part of the source code as a non-editable area,
A configuration management system comprising: means for transmitting, to the configuration management server, contents of source code having a dependency relationship with the source code edited within the editable range.
前記構成管理サーバに、ソースコードに対してテストを実行するテスト装置が通信自在に接続され、
前記テスト装置は、前記構成管理サーバからソースコードを受信すると、テストドライバを使用し、受信したソースコードに対してテストを実施し、カバレージ情報を取得する手段と、
前記カバレージ情報を前記構成管理サーバに送信する手段とを備え、
前記構成管理サーバは、前記記憶装置に格納されるソースコード情報を更新すると、更新したソースコードを前記テスト装置に送信する手段と、
前記テスト装置からカバレージ情報を受信すると、前記記憶装置に格納されているカバレージ情報を更新する手段と、
更新された前記ソースコードを基にコールツリー生成手段を用いて前記記憶装置に格納されている依存関係情報を更新する手段と、
前記クライアント装置から受信したソースコードに基づき、前記記憶装置に格納されている前記排他制御情報を編集可能な状態に更新する手段とを備えたことを特徴とする請求項1記載の構成管理システム。
A test device for executing a test on the source code is communicatively connected to the configuration management server,
When the test apparatus receives the source code from the configuration management server, the test device uses a test driver, performs a test on the received source code, and obtains coverage information;
Means for transmitting the coverage information to the configuration management server,
The configuration management server, when updating the source code information stored in the storage device, means for transmitting the updated source code to the test device;
Means for updating the coverage information stored in the storage device upon receipt of the coverage information from the test device;
Means for updating dependency information stored in the storage device using call tree generation means based on the updated source code;
The configuration management system according to claim 1, further comprising means for updating the exclusive control information stored in the storage device to an editable state based on a source code received from the client device.
JP2007214447A 2007-08-21 2007-08-21 Configuration management system Expired - Fee Related JP4889593B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007214447A JP4889593B2 (en) 2007-08-21 2007-08-21 Configuration management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007214447A JP4889593B2 (en) 2007-08-21 2007-08-21 Configuration management system

Publications (2)

Publication Number Publication Date
JP2009048442A true JP2009048442A (en) 2009-03-05
JP4889593B2 JP4889593B2 (en) 2012-03-07

Family

ID=40500586

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007214447A Expired - Fee Related JP4889593B2 (en) 2007-08-21 2007-08-21 Configuration management system

Country Status (1)

Country Link
JP (1) JP4889593B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009140443A (en) * 2007-12-11 2009-06-25 Meidensha Corp Software development support system, exclusive control method, and program
JP2010237870A (en) * 2009-03-30 2010-10-21 Internatl Business Mach Corp <Ibm> System, method, server and computer program for avoiding update conflict in distributed environment using a plurality of clients
JP2012174095A (en) * 2011-02-23 2012-09-10 Nomura Research Institute Ltd Concurrent development management device and concurrent development management method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06103113A (en) * 1992-09-22 1994-04-15 Hitachi Ltd Difference test debug supporting method
JP2003150431A (en) * 2001-11-15 2003-05-23 Mitsubishi Electric Corp Server device and plant control system by use of the same
JP2004280315A (en) * 2003-03-13 2004-10-07 Ricoh Co Ltd Source code file management system, program and recording medium with its program recorded
JP2005301838A (en) * 2004-04-14 2005-10-27 Sharp Corp Information processor, information processing system, file simultaneous editing method and file simultaneous editing program
JP2006277435A (en) * 2005-03-30 2006-10-12 Hitachi Software Eng Co Ltd Source file version management system
JP2006302066A (en) * 2005-04-22 2006-11-02 Hitachi Information Systems Ltd Maintenance system with remote execution function and method therefor

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06103113A (en) * 1992-09-22 1994-04-15 Hitachi Ltd Difference test debug supporting method
JP2003150431A (en) * 2001-11-15 2003-05-23 Mitsubishi Electric Corp Server device and plant control system by use of the same
JP2004280315A (en) * 2003-03-13 2004-10-07 Ricoh Co Ltd Source code file management system, program and recording medium with its program recorded
JP2005301838A (en) * 2004-04-14 2005-10-27 Sharp Corp Information processor, information processing system, file simultaneous editing method and file simultaneous editing program
JP2006277435A (en) * 2005-03-30 2006-10-12 Hitachi Software Eng Co Ltd Source file version management system
JP2006302066A (en) * 2005-04-22 2006-11-02 Hitachi Information Systems Ltd Maintenance system with remote execution function and method therefor

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009140443A (en) * 2007-12-11 2009-06-25 Meidensha Corp Software development support system, exclusive control method, and program
JP2010237870A (en) * 2009-03-30 2010-10-21 Internatl Business Mach Corp <Ibm> System, method, server and computer program for avoiding update conflict in distributed environment using a plurality of clients
US8713552B2 (en) 2009-03-30 2014-04-29 International Business Machines Corporation Avoiding conflict in update in distributed environment employing multiple clients
JP2012174095A (en) * 2011-02-23 2012-09-10 Nomura Research Institute Ltd Concurrent development management device and concurrent development management method

Also Published As

Publication number Publication date
JP4889593B2 (en) 2012-03-07

Similar Documents

Publication Publication Date Title
JP2005259113A (en) Process editing apparatus, process management apparatus, process editing program, process management program, recording medium, process editing method and process management method
US20130191814A1 (en) Test scenario generation method, test scenario generation system, and test scenario generation program
JP4880376B2 (en) Support apparatus, program, information processing system, and support method
KR100500622B1 (en) System and method for working management
JP2015219890A (en) Management device, and control method and program for the same
JP4889593B2 (en) Configuration management system
JP2007058685A (en) Printing control apparatus, its control method, printing processing system, and control program
JP5006824B2 (en) Test program management system
US8245182B2 (en) Class selectable design sharing
JP2008186147A (en) Software management method, software management system, information processing apparatus and software management program
JP2007041640A (en) Document preparation support/management system, document preparation support/management method, and document preparation support/management program
CN110543113B (en) Robot hardware assembling and managing method, device, medium, system, front-end assembling client and robot body operation system
JP2008090562A (en) Image projection device, image projection method, and program used in image projection device
JP2009009376A (en) Display control device, display control program, and method
JP2007034573A (en) Application server, network application system, automated support information updating program, and recording medium recording this program
JP2019079165A (en) Editing program, editing device and editing method
JP2005250868A (en) Process management device, process change device, process management program, process change program, recording medium, process management method and process change method
JP2009169628A (en) Construction device, construction method and program for monitoring control system
JP5959535B2 (en) Server, method, and program for causing a computer to function as a server for accessing a mobile terminal from a client via a network
JP2007004239A (en) Design-support device, design-support method, and program
JP2010146324A (en) Standard format data management server device and standard document preparation system
JP2009277142A (en) Operation information management apparatus, operation information management method, and operation information management program
JP2020009026A (en) Management system, information processing apparatus, setting management method, and program
JP6845437B2 (en) Information processing device and its processing method and program
JP2009098730A (en) Information processor and information processing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100104

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111101

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: 20111206

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111213

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141222

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees