Nothing Special   »   [go: up one dir, main page]

JP2018005535A - Software development assist method and system - Google Patents

Software development assist method and system Download PDF

Info

Publication number
JP2018005535A
JP2018005535A JP2016131093A JP2016131093A JP2018005535A JP 2018005535 A JP2018005535 A JP 2018005535A JP 2016131093 A JP2016131093 A JP 2016131093A JP 2016131093 A JP2016131093 A JP 2016131093A JP 2018005535 A JP2018005535 A JP 2018005535A
Authority
JP
Japan
Prior art keywords
change
information
source code
input
output device
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
JP2016131093A
Other languages
Japanese (ja)
Other versions
JP6722528B2 (en
Inventor
真澄 川上
Masumi Kawakami
真澄 川上
誠 市井
Makoto Ichii
誠 市井
文雄 小田
Fumio Oda
文雄 小田
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.)
Faurecia Clarion Electronics Co Ltd
Original Assignee
Clarion 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 Clarion Co Ltd filed Critical Clarion Co Ltd
Priority to JP2016131093A priority Critical patent/JP6722528B2/en
Priority to CN201710379915.1A priority patent/CN107562419B/en
Publication of JP2018005535A publication Critical patent/JP2018005535A/en
Application granted granted Critical
Publication of JP6722528B2 publication Critical patent/JP6722528B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To assist in eliminating omissions of check for effects of changes when source code is changed.SOLUTION: Provided is a software development assist method including a storage device for storing source code that includes a plurality of elements constituted of a function and/or a variable, an input/output device for inputting/outputting information and a controller for managing the storage device and the input/output device, wherein the controller includes: a first step for storing, when a first change request indicating a change of an element included in the source code is accepted from the input/output device, first change management information that indicates whether or not other elements affected by the accepted first change request are changed, and first change schedule information that indicates the presence of a change schedule for other elements affected by the first change request; and a second step in which the input/output device outputs an element for which a change is indicated by the first change request, other elements affected by the first change request, the first change management information and the first change schedule information.SELECTED DRAWING: Figure 1

Description

本発明は、ソフトウェアを開発する際の作業を支援するためのソフトウェア開発支援方法及びシステムに関する。   The present invention relates to a software development support method and system for supporting work in developing software.

大規模なソフトウェアを開発するとき、母体となるソースコードを分析し、新しい機能を追加する場合が多い。このとき母体ソースコードの理解が不十分なままソースコードの追加および変更を行うと、修正すべき箇所の見逃しや、並行して実施されている他開発者との変更と衝突し、不具合を発生させることがある。この課題を解決するため、母体ソースコードの分析を行う手法が提案されている(特許文献1参照)。特許文献1では、母体ソースコード内の関数および変数間の依存関係を検索することで、母体ソースコードの分析を支援する方法が提案されている。   When developing large-scale software, the source code is often analyzed and new functions are added. At this time, if the source code is added or changed without sufficient understanding of the parent source code, it may cause problems due to oversight of parts to be corrected or conflicts with changes made by other developers in parallel. There are things to do. In order to solve this problem, a method of analyzing a parent source code has been proposed (see Patent Document 1). Patent Document 1 proposes a method for supporting analysis of a maternal source code by searching for dependency relationships between functions and variables in the maternal source code.

特開平5−289862号公報Japanese Patent Laid-Open No. 5-289862

特許文献1の方法は、ソースコードを変更する際に、変更影響のチェック漏れを無くすには十分ではなく、しかも、単一の開発者を想定しており、複数開発者による作業の衝突は考慮されていない。   The method of Patent Document 1 is not sufficient to eliminate omissions in checking the influence of changes when changing the source code, and it assumes a single developer and takes into account work conflicts between multiple developers. It has not been.

本発明の目的は、ソースコードを変更する際に、変更影響のチェック漏れを無くすことを支援することにある。   An object of the present invention is to assist in eliminating omissions in checking for changes when changing source code.

上記課題を解決するため、本発明は、関数又は変数のうち少なくとも一方で構成される複数の要素を含むソースコードを格納する記憶装置と、情報の入出力を行う入出力装置と、前記記憶装置及び前記入出力装置を管理するコントローラを含むシステムにおけるソフトウェア開発支援方法であって、前記コントローラが、前記ソースコードに含まれる要素の変更を指示する第一の変更要求を前記入出力装置から受付けたとき、当該受付けた第一の変更要求の影響を受ける他の要素が変更されているかどうかを示す第一の変更管理情報と前記第一の変更要求の影響を受ける他の要素の変更予定の有無を示す第一の変更予定情報を前記記憶装置に格納する第1のステップと、前記入出力装置が、前記第一の変更要求で変更を指示された要素、前記第一の変更要求の影響を受ける他の要素、前記第一の変更管理情報及び、前記第一の変更予定情報を出力する第2のステップと、を有することを特徴とする。   In order to solve the above-described problems, the present invention provides a storage device that stores a source code including a plurality of elements configured by at least one of a function and a variable, an input / output device that inputs and outputs information, and the storage device And a software development support method in a system including a controller that manages the input / output device, wherein the controller receives from the input / output device a first change request that instructs to change an element included in the source code. The first change management information indicating whether or not other elements affected by the received first change request have been changed, and whether or not there are plans to change other elements affected by the first change request A first step of storing in the storage device the first change schedule information indicating the element, the input / output device is an element instructed to change in the first change request, Other factors affected by one change request, the first change management information and is characterized by having a second step of outputting the first change schedule information.

本発明によれば、ソースコードを変更する際に、変更影響のチェック漏れを無くすことができる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。   According to the present invention, it is possible to eliminate the check omission of the change effect when changing the source code. Problems, configurations, and effects other than those described above will become apparent from the description of the following examples.

本発明の実施例1を示すシステムの全体構成図である。1 is an overall configuration diagram of a system showing Embodiment 1 of the present invention. テーブルとデータベースの構成図であって、(a)は、要素依存関係の例を示すテーブルの構成図、(b)は、ソースコードデータベースに保存されるテーブルの構成図、(c)は、構成管理データベースの構成図、(d)は、チェックフラグデータベースに保存されるテーブルの構成図である。FIG. 4 is a configuration diagram of a table and a database, where (a) is a configuration diagram of a table showing an example of element dependency, (b) is a configuration diagram of a table stored in a source code database, and (c) is a configuration diagram. Configuration diagram of the management database, (d) is a configuration diagram of a table stored in the check flag database. ソース構成管理部の処理を説明するためのフローチャートである。It is a flowchart for demonstrating the process of a source structure management part. ソース依存関係解析部の処理を説明するためのフローチャートである。It is a flowchart for demonstrating the process of a source dependence analysis part. ソースメトリクス解析部の処理を説明するためのフローチャートである。It is a flowchart for demonstrating the process of a source metrics analysis part. 母体ソースコードに機能を追加する典型的な開発フローを示すフローチャートである。It is a flowchart which shows the typical development flow which adds a function to a base source code. ユーザインタフェース表示部で管理されるシンボルの凡例を示す構成図である。It is a block diagram which shows the legend of the symbol managed by a user interface display part. 関数に対して変更必要のフラグを立てたときの状態を説明するための図であって、(a)は、ディスプレイの表示例を示す構成図、(b)は、変更フラグテーブルの構成図である。It is a figure for demonstrating the state when the flag which needs a change is set with respect to a function, Comprising: (a) is a block diagram which shows the example of a display, (b) is a block diagram of a change flag table. is there. フラグ管理部の処理を説明するためのフローチャートである。It is a flowchart for demonstrating the process of a flag management part. 設計が終了した時点のフラグの状態を説明するための図であって、(a)は、ディスプレイの表示例を示す構成図、(b)は、変更フラグテーブルの構成図である。It is a figure for demonstrating the state of the flag at the time of design completion, Comprising: (a) is a block diagram which shows the example of a display of a display, (b) is a block diagram of a change flag table. 設計を行った後、ソースコードの変更を実施した状態を説明するための図であって、(a)は、実施例2におけるディスプレイの表示例を示す構成図、(b)は、実施例2における変更フラグテーブルの構成図である。It is a figure for demonstrating the state which implemented the change of a source code after designing, (a) is a block diagram which shows the example of a display of the display in Example 2, (b) is Example 2. It is a block diagram of the change flag table in FIG. 実施例3における処理であって、チェックフラグデータベースを参照しない場合の処理を説明するためのフローチャートである。12 is a flowchart for explaining a process in the third embodiment when the check flag database is not referred to. 実施例3における処理であって、チェックフラグデータベースのデータを活用した場合の処理を説明するためのフローチャートである。It is a flowchart for demonstrating the process in Example 3, when the data of a check flag database are utilized. 実施例3におけるシステムであって、複数の開発者を対象としたシステムの構成図である。FIG. 10 is a configuration diagram of a system according to a third embodiment and intended for a plurality of developers. 複数の開発者の変更によって衝突が起こった状態を説明するための図であって、(a)は、実施例3におけるディスプレイの表示例を示す構成図、(b)は、実施例3における変更フラグテーブルの構成図である。It is a figure for demonstrating the state where the collision occurred by the change of several developers, Comprising: (a) is a block diagram which shows the example of a display of the display in Example 3, (b) is a change in Example 3. It is a block diagram of a flag table.

以下、実施例について図面を用いて説明する。なお、図面において、同一符号は、同一または相当部分を示す。また、本発明は、図示例に限定されるものではない。   Hereinafter, embodiments will be described with reference to the drawings. In the drawings, the same reference numerals indicate the same or corresponding parts. Further, the present invention is not limited to the illustrated example.

本実施例は、母体ソースコードに機能を追加する典型的な開発フローのうち、設計工程の作業について説明する。   In the present embodiment, an operation of a design process will be described in a typical development flow for adding a function to a parent source code.

図1は、本発明の実施例1を示すシステムの全体構成図である。図1において、システム(ソフトウェア開発支援システム)は、開発マシン10と、管理サーバ12を備え、開発マシン10が管理サーバ12に接続される。開発マシン10は、ディスプレイ102と、周辺機器103と、中央処理演算装置104と、記憶装置105から構成される。ディスプレイ102は、情報を表示する表示装置あるいは情報を出力する出力装置として構成され、周辺機器103は、キーボード等を有し、情報を入力する入力装置として構成される。この際、ディスプレイ102と周辺機器103を、情報を入出力する入出力装置として構成することができる。中央処理演算装置104は、例えば、CPU(Central Processing Unit)、メモリ、入出力インタフェース等の情報処理資源を備えたコンピュータ装置として構成され、CPUによって実行されるソフトウェア14を備え、記憶装置105は、情報記憶部16を備えている。ソフトウェア14は、ユーザインタフェース表示部108と、ソース構成管理部109と、ソース依存関係解析部110と、ソースメトリクス解析部111と、フラグ管理部112から構成される。情報記憶部16は、変更中ソースコード113と、ソースコードデータベース114から構成される。この際、中央処理演算装置104は、記憶装置105を管理すると共に、入出力装置と情報の送受信を行うコントローラとして機能する。   FIG. 1 is an overall configuration diagram of a system showing Embodiment 1 of the present invention. In FIG. 1, the system (software development support system) includes a development machine 10 and a management server 12, and the development machine 10 is connected to the management server 12. The development machine 10 includes a display 102, peripheral devices 103, a central processing unit 104, and a storage device 105. The display 102 is configured as a display device that displays information or an output device that outputs information, and the peripheral device 103 includes a keyboard and the like, and is configured as an input device that inputs information. At this time, the display 102 and the peripheral device 103 can be configured as an input / output device for inputting and outputting information. The central processing unit 104 is configured as a computer device including information processing resources such as a CPU (Central Processing Unit), a memory, and an input / output interface, and includes software 14 executed by the CPU. An information storage unit 16 is provided. The software 14 includes a user interface display unit 108, a source configuration management unit 109, a source dependency analysis unit 110, a source metrics analysis unit 111, and a flag management unit 112. The information storage unit 16 includes a source code 113 being changed and a source code database 114. At this time, the central processing unit 104 functions as a controller that manages the storage device 105 and transmits / receives information to / from the input / output device.

1又は複数の開発マシン10から利用される管理サーバ12は、中央処理演算装置106と、記憶装置107から構成され、開発マシン10と情報の送受信を行って記憶装置107を管理する。記憶装置107は、情報記憶部18を備えている。中央処理演算装置106は、例えば、CPU、メモリ、入出力インタフェース等の情報処理資源を備えたコンピュータ装置として構成される。情報記憶部18は、構成管理データベース115と、チェックフラグデータベース116から構成される。この際、開発者101は、ディスプレイ102と周辺機器103を通じて開発マシン10を利用する。   The management server 12 used by one or a plurality of development machines 10 includes a central processing unit 106 and a storage device 107, and manages the storage device 107 by transmitting / receiving information to / from the development machine 10. The storage device 107 includes an information storage unit 18. The central processing unit 106 is configured as a computer device having information processing resources such as a CPU, a memory, and an input / output interface, for example. The information storage unit 18 includes a configuration management database 115 and a check flag database 116. At this time, the developer 101 uses the development machine 10 through the display 102 and the peripheral device 103.

ユーザインタフェース表示部108は、ソース構成管理部109と、ソース依存関係解析部110と、ソースメトリクス解析部111と、フラグ管理部112のうちいずれかの処理内容や処理結果などをディスプレイ102に表示するためのソフトウェア(プログラム)である。ソース構成管理部109は、ソースコードのバージョン管理をするためのソフトウェアであって、変更中ソースコード113と構成管理データベース115に接続され、複数のユーザ(開発者)がいつどのソースコードを変更したかを管理している。ソース依存関係解析部110は、ソースコードに含まれる関数および変数間の参照関係を解析するためのソフトウェアであり、変更中ソースコード113とソースコードデータベース114に接続される。基本的にソースコードの静的解析技術に基づいて処理されるが、ロジカルカップリングなどのアルゴリズムに基づいて処理される実現形態もある。ソースメトリクス解析部111は、ソースコードに属する各関数および変数に関係するメトリクス(数値情報)を計測するソフトウェアであり、変更中ソースコード113とソースコードデータベース114に接続される。なお、後に説明する実施例では他依存数のみを表示しているが、複雑度や変更頻度等のメトリクスを扱う実現形態もある。フラグ管理部112は、チェックフラグデータベース116に接続され、チェックフラグデータベース116に記録されたチェックフラグデータを管理するためのソフトウェアである。構成管理データベース115は、ソース構成管理部109と連携してソースコードの構成管理を行う。チェックフラグデータベース116は、フラグ管理部112と連携してチェックフラグデータを保存する。   The user interface display unit 108 displays, on the display 102, the processing contents and processing results of any of the source configuration management unit 109, the source dependency analysis unit 110, the source metrics analysis unit 111, and the flag management unit 112. Software (program). The source configuration management unit 109 is software for managing the version of the source code. The source configuration management unit 109 is connected to the source code 113 being changed and the configuration management database 115, and a plurality of users (developers) changed which source code when and when. I manage. The source dependency analysis unit 110 is software for analyzing a reference relationship between functions and variables included in the source code, and is connected to the source code 113 being changed and the source code database 114. Processing is basically performed based on a static analysis technique of source code, but there is also an implementation form in which processing is performed based on an algorithm such as logical coupling. The source metrics analysis unit 111 is software for measuring metrics (numerical information) related to each function and variable belonging to the source code, and is connected to the source code 113 being changed and the source code database 114. In the embodiment described later, only the number of other dependencies is displayed, but there is also an implementation form that handles metrics such as complexity and change frequency. The flag management unit 112 is connected to the check flag database 116 and is software for managing check flag data recorded in the check flag database 116. The configuration management database 115 performs source code configuration management in cooperation with the source configuration management unit 109. The check flag database 116 stores check flag data in cooperation with the flag management unit 112.

図2は、テーブルとデータベースの構成図であって、(a)は、要素依存関係の例を示すテーブルの構成図、(b)は、ソースコードデータベースに保存されるテーブルの構成図、(c)は、構成管理データベースの構成図、(d)は、チェックフラグデータベースに保存されるテーブルの構成図である。   2A and 2B are configuration diagrams of a table and a database, in which FIG. 2A is a configuration diagram of a table showing an example of element dependency, FIG. 2B is a configuration diagram of a table stored in a source code database, and FIG. ) Is a configuration diagram of the configuration management database, and (d) is a configuration diagram of a table stored in the check flag database.

図2(a)において、要素依存関係の例を示すテーブル201は、記憶装置105に保存されるテーブルであって、本ツールが対象とするソースコード中の関数および変数の依存関係を表わしたグラフに関する情報として、「関数:func1」、「関数:func2」、「変数:value1」、「関数:func3」から構成される。ここで、本実施例では、ソースコード中に存在する関数および変数を要素と呼ぶ。テーブル201では、「関数:func2」が「変数:value1」と「関数:func3」を参照し、「関数:func2」は「関数:func1」から参照されている依存関係であることを示している。依存関係は、矢印202で示している。   In FIG. 2A, a table 201 showing an example of element dependency is a table stored in the storage device 105, and is a graph showing the dependency of functions and variables in the source code targeted by the tool. As the information regarding, “function: func1”, “function: func2”, “variable: value1”, “function: func3” are configured. In this embodiment, functions and variables existing in the source code are called elements. In the table 201, “function: func2” refers to “variable: value1” and “function: func3”, and “function: func2” is a dependency referenced from “function: func1”. . The dependency relationship is indicated by an arrow 202.

図2(b)において、ソースコードデータベース114には、要素テーブル203と、変更影響テーブル204が保存される。要素テーブル203は、要素ID205と、ファイル206と、関数/変数207と、他依存数208から構成される。要素ID205には、要素を一意に識別するための識別子が格納される。ファイル206には、ファイルを特定するファイル名などの情報が格納される。関数/変数207には、関数又は変数を特定する情報(関数名、変数名)が格納される。他依存数208には、関数/変数207に記録された関数又は変数の他に、要素と依存関係を有するものが存在する数を示す情報(数値情報)が格納される。   2B, the source code database 114 stores an element table 203 and a change influence table 204. The element table 203 includes an element ID 205, a file 206, a function / variable 207, and another dependency number 208. The element ID 205 stores an identifier for uniquely identifying the element. The file 206 stores information such as a file name that identifies the file. The function / variable 207 stores information (function name, variable name) for specifying the function or variable. The other dependency number 208 stores information (numerical information) indicating the number of items having a dependency relationship with an element in addition to the function or variable recorded in the function / variable 207.

変更影響テーブル204は、変更元要素ID209と、変更影響要素ID210と、変更影響タイプ211から構成される。変更元要素ID209と変更影響要素ID210は、要素ID205で定義されたIDに対応するIDであって、変更元要素ID209には、要素の変更元を示す変更元要素を識別するための識別子が格納される。例えば、要素ID205のうち「要素2」が変更される場合(変更予定の場合)、変更元要素ID209には、「2」が格納される。変更影響要素ID210には、変更元要素の変更に伴って影響を受ける要素を識別するための識別子が格納される。例えば、要素ID205のうち「要素2」の変更の影響を受ける要素が「1」、「3」、「4」である場合、変更影響要素ID210には、「1」、「3」、「4」が格納される。変更影響要素ID210には、変更影響要素ID210に格納された要素が変更元要素によって呼び出されるタイプである場合、「呼出」の情報が格納され、変更影響要素ID210に格納された要素が変更元要素を呼び出すタイプである場合、「被呼出」の情報が格納される。   The change influence table 204 includes a change source element ID 209, a change influence element ID 210, and a change influence type 211. The change source element ID 209 and the change influence element ID 210 are IDs corresponding to the ID defined by the element ID 205, and the change source element ID 209 stores an identifier for identifying the change source element indicating the change source of the element. Is done. For example, when “element 2” in the element ID 205 is changed (when it is scheduled to be changed), “2” is stored in the change source element ID 209. The change influence element ID 210 stores an identifier for identifying an element that is affected by the change of the change source element. For example, when the elements affected by the change of “element 2” in the element ID 205 are “1”, “3”, and “4”, the change affecting element ID 210 includes “1”, “3”, “4”. Is stored. In the change influence element ID 210, when the element stored in the change influence element ID 210 is a type that is called by the change source element, information of “call” is stored, and the element stored in the change influence element ID 210 is the change source element. In the case of a type that calls, “invoked” information is stored.

図2(c)において、構成管理データベース115には、ソースコード212が保存される。ソースコード212は、複数のバージョン213によって管理されている。各バージョン213には、更新日時が保存されており、最新バージョン213のソースコード212を取出すことができる。   In FIG. 2C, the source code 212 is stored in the configuration management database 115. The source code 212 is managed by a plurality of versions 213. Each version 213 stores the update date and time, and the source code 212 of the latest version 213 can be extracted.

図2(d)において、チェックフラグデータベース116には、変更フラグテーブル214が保存される。変更フラグテーブル214は、ファイル215と、関数/変数216と、ソース構成管理状態217と、変更予定状態218と、変更衝突状態219と、更新者220と、更新日時221から構成される。ファイル215には、ファイル206と同様の情報であって、ファイルを特定するファイル名などの情報が格納される。関数/変数216には、関数/変数207と同様の情報であって、関数又は変数を特定する情報(関数名、変数名)が格納される。ソース構成管理状態217には、ソース構成管理が未変更の場合、「未変更」の情報が格納され、ソース構成管理が変更済である場合、「変更済」の情報が格納される。変更予定状態218には、変更予定(要素の変更予定)が未確認の場合には、「未確認」の情報が格納され、変更予定が変更不要である場合、「変更不要」の情報が格納され、変更予定が必要である場合、「変更必要」の情報が格納される。変更衝突状態219には、衝突の有無を示す情報(要素間で衝突(重複)が生じたか否かを示す情報)が格納される。更新者220には、ソースコードを変更した更新者の名称を示す情報が格納される。更新日時221には、ソースコードが変更された更新日時を示す情報が格納される。なお、図2(d)では、変更フラグテーブル214には、テーブル201の初期状態の情報が格納されている。   In FIG. 2D, the change flag table 214 is stored in the check flag database 116. The change flag table 214 includes a file 215, a function / variable 216, a source configuration management state 217, a scheduled change state 218, a change collision state 219, an updater 220, and an update date / time 221. The file 215 stores information similar to that of the file 206, such as a file name that identifies the file. The function / variable 216 stores information (function name, variable name) that is the same information as the function / variable 207 and identifies the function or variable. The source configuration management state 217 stores “unchanged” information when the source configuration management has not been changed, and stores “changed” information when the source configuration management has been changed. The change schedule state 218 stores “unconfirmed” information when the change schedule (element change schedule) is unconfirmed, and stores “unchange required” information when the change schedule does not need to be changed. When a change schedule is necessary, “change necessary” information is stored. The changed collision state 219 stores information indicating whether or not there is a collision (information indicating whether or not a collision (overlap) has occurred between elements). The updater 220 stores information indicating the name of the updater who changed the source code. The update date / time 221 stores information indicating the update date / time when the source code was changed. In FIG. 2D, the change flag table 214 stores information on the initial state of the table 201.

図3は、ソース構成管理部の処理を説明するためのフローチャートである。図3において、開発者101がソースコードの変更を行う場合には、構成管理データベース115上のソースコードではなく、記憶装置105上のローカルソースコードを変更する。この変更が完了した段階で、開発者101がソースコードの登録を指示すると、ソース構成管理部109による処理が開始される(ステップ301)。まず、ソース構成管理部109は、変更中ソースコード(変更中のソースコード)113と、構成管理データベース115中の最新のバージョン213のソースコード212とを比較し(ステップ302)、差分があるか否かを判定し(ステップ303)、差分がない場合、このルーチンでの処理を終了し、差分がある場合、構成管理データベース115に、変更中ソースコードを最新バージョンとして登録し(ステップ304)、このルーチンでの処理を終了する。この処理は一般的なソースコード構成管理ツールが持つ処理である。   FIG. 3 is a flowchart for explaining the processing of the source configuration management unit. In FIG. 3, when the developer 101 changes the source code, the local source code on the storage device 105 is changed instead of the source code on the configuration management database 115. When the developer 101 instructs the registration of the source code at the stage where this change is completed, the processing by the source configuration management unit 109 is started (step 301). First, the source configuration management unit 109 compares the source code being changed (source code being changed) 113 with the source code 212 of the latest version 213 in the configuration management database 115 (step 302), and whether there is a difference. If there is no difference, the processing in this routine is terminated. If there is a difference, the changing source code is registered in the configuration management database 115 as the latest version (step 304). The processing in this routine is terminated. This process is a process of a general source code configuration management tool.

図4は、ソース依存関係解析部の処理を説明するためのフローチャートである。図4において、ソース依存関係解析部110は、後に説明する一覧画面(変更影響チェック画面)801を呼出したタイミング、もしくは、変更中ソースコード113が変更されたタイミング、もしくは、定期的なスケジュールで、ソース(ソースコード)の依存関係解析を開始する(ステップ401)。ソース依存関係解析部110は、ステップ401で処理が開始されると、変更中ソースコード113の持つすべての要素でループを行い(ステップ402)、変更中ソースコード113の各要素の依存関係を計測し(ステップ403)、計測結果を、ソースコードデータベース114の変更影響テーブル204に依存関係を示す情報として保存する(ステップ404)。ソース依存関係解析部110は、この処理をすべての要素に対して行い、このルーチンでの処理を終了する(ステップ405)。この処理は一般的なソース依存関係解析ツールが持つ処理である。   FIG. 4 is a flowchart for explaining the processing of the source dependency analysis unit. In FIG. 4, the source dependency analysis unit 110 calls a list screen (change impact check screen) 801, which will be described later, or a timing when the source code 113 being changed is changed, or a regular schedule. Source (source code) dependency analysis is started (step 401). When the processing is started in step 401, the source dependency analysis unit 110 performs a loop with all the elements of the changing source code 113 (step 402), and measures the dependency of each element of the changing source code 113. Then, the measurement result is stored as information indicating the dependency in the change influence table 204 of the source code database 114 (step 404). The source dependency analysis unit 110 performs this process for all elements, and ends the process in this routine (step 405). This process is a process of a general source dependency analysis tool.

図5は、ソースメトリクス解析部の処理を説明するためのフローチャートである。図5において、ソースメトリクス解析部111は、後に説明する一覧画面(変更影響チェック画面)801を呼出したタイミング、もしくは、変更中ソースコード113が変更されたタイミング、もしくは、定期的なスケジュールで、ソース(ソースコード)のメトリクス解析を開始する(ステップ501)。ソースメトリクス解析部111は、ステップ501で処理が開始されると、変更中ソースコード113の持つすべての要素でループを行い(ステップ502)、変更中ソースコード113の各要素のメトリクスを計測し(ステップ503)、計測結果を、ソースコードデータベース114の要素テーブル203に、各要素のメトリクスを示す情報として保存する(ステップ504)。ソースメトリクス解析部111は、この処理をすべての要素に対して行い、このルーチンでの処理を終了する(ステップ505)。この処理は一般的なソースメトリクス解析ツールが持つ処理である。   FIG. 5 is a flowchart for explaining processing of the source metrics analysis unit. In FIG. 5, the source metrics analysis unit 111 selects a source at a timing when a list screen (change impact check screen) 801, which will be described later, is called, when a source code 113 being changed is changed, or at a regular schedule. Metric analysis of (source code) is started (step 501). When the process is started in step 501, the source metrics analysis unit 111 performs a loop with all the elements of the source code 113 being changed (step 502), and measures the metrics of each element of the source code 113 being changed ( Step 503), and the measurement result is stored in the element table 203 of the source code database 114 as information indicating the metrics of each element (step 504). The source metrics analysis unit 111 performs this process for all elements, and ends the process in this routine (step 505). This process is a process possessed by a general source metrics analysis tool.

図6は、母体ソースコードに機能を追加する典型的な開発フローを示すフローチャートである。図6において、開発プロセスの始点601から、開発者101が処理を開始し、母体コード(ソースコード)を読込むための操作を実行すると、ユーザインタフェース表示部108が、ソース構成管理部109を介して構成管理データベース115から母体コード(ソースコード)を読込み、読込んだ母体コード(ソースコード)をディスプレイ102上に表示する。この際、開発者101は、ディスプレイ102上に表示された母体コード(ソースコード)に対して、周辺機器103のキーボード等を操作して、機能の追加を設計する(ステップ602)。例えば、「func2」を変更するための設計を行う。この際、フラグ管理部112は、ステップ602にて、例えば、「func2」を変更する際の変更影響チェックを行い、チェック結果(「func2」の変更の影響を受ける関数又は変数等の情報)をチェックフラグデータベース116に登録する。   FIG. 6 is a flowchart showing a typical development flow for adding functions to the parent source code. In FIG. 6, when the developer 101 starts processing from the starting point 601 of the development process and executes an operation for reading the parent code (source code), the user interface display unit 108 is configured via the source configuration management unit 109. The mother code (source code) is read from the management database 115, and the read mother code (source code) is displayed on the display 102. At this time, the developer 101 designs the addition of the function by operating the keyboard or the like of the peripheral device 103 with respect to the base code (source code) displayed on the display 102 (step 602). For example, a design for changing “func2” is performed. At this time, for example, in step 602, the flag management unit 112 performs a change influence check when changing “func2”, and obtains a check result (information on a function or variable affected by the change of “func2”). Register in the check flag database 116.

次に、開発者101は、周辺機器103のキーボード等を操作して、ステップ603にて追加された機能をソースコード上に実装する(ステップ603)。この後、開発者101が、母体コード(ソースコード)とチェックフラグを読込むための操作を実行すると、ユーザインタフェース表示部108が、ソース構成管理部109を介して構成管理データベース115から母体コード(ソースコード)を読込み、フラグ管理部112を介してチェックフラグデータベース116からチェックフラグを読込み、読込んだ母体コード(ソースコード)とチェックフラグをディスプレイ102上に表示する。この際、開発者101は、ディスプレイ102上に表示された母体コード(ソースコード)とチェックフラグを参照して、機能の実装完了チェックを行う(ステップ604)。例えば、開発者101は、表示された母体ソースコードとチェックフラグとを比較し、変更影響チェックを行う。この際、開発者101は、チェック結果に問題が発生していれば、さらにソースコードの修正を行う。チェック結果が良好であれば、変更後コード(ソースコード)を構成管理データベース115に登録するための操作を実行する。これにより、開発プロセスは終点605で終了する。   Next, the developer 101 operates the keyboard or the like of the peripheral device 103 to implement the function added in step 603 on the source code (step 603). Thereafter, when the developer 101 executes an operation for reading the matrix code (source code) and the check flag, the user interface display unit 108 reads the matrix code (source code) from the configuration management database 115 via the source configuration management unit 109. ), The check flag is read from the check flag database 116 via the flag management unit 112, and the read base code (source code) and the check flag are displayed on the display 102. At this time, the developer 101 refers to the base code (source code) displayed on the display 102 and the check flag, and performs a function implementation completion check (step 604). For example, the developer 101 performs a change impact check by comparing the displayed parent source code with a check flag. At this time, the developer 101 further corrects the source code if a problem occurs in the check result. If the check result is good, an operation for registering the changed code (source code) in the configuration management database 115 is executed. As a result, the development process ends at the end point 605.

図7は、ユーザインタフェース表示部で管理されるシンボルの凡例を示す構成図である。図7において、ユーザインタフェース表示部108は、フラグ管理部112を介して、チェックフラグデータベース116の変更フラグテーブル214のうちソース構成管理状態217の情報をソース構成管理状態701の情報として、変更予定状態218の情報を変更予定状態702の情報として、変更衝突状態219の情報を変更衝突状態703の情報として管理すると共に、各情報をシンボルに対応づけて管理し、管理された情報とシンボルをディスプレイ102の画面上に表示する。ソース構成管理状態701の情報とシンボルは、未変更(レ点)と変更済(!)から構成される。変更予定状態702の情報とシンボルは、未確認(?)、変更不要(N)、変更必要(C)から構成される。変更衝突状態703の情報とシンボルは、変更衝突状態(×)から構成される。各々のカテゴリ内では同時に表示されるものは一つのシンボルに限られるが、ソース構成管理状態701、変更予定状態702、変更衝突状態703に関する情報やシンボルは、一つの要素に対して同時に表示される可能性がある。   FIG. 7 is a configuration diagram showing a legend of symbols managed by the user interface display unit. In FIG. 7, the user interface display unit 108 uses the flag management unit 112 to change the source configuration management state 217 information in the change flag table 214 of the check flag database 116 as the source configuration management state 701 information. Information of 218 is managed as information of the scheduled change state 702, information of the changed collision state 219 is managed as information of the changed collision state 703, each information is managed in association with a symbol, and the managed information and symbol are displayed on the display 102. On the screen. The information and symbols of the source configuration management state 701 are composed of unchanged (check mark) and changed (!). The information and symbols of the scheduled change state 702 are composed of unconfirmed (?), Change unnecessary (N), and change required (C). The information and symbol of the changed collision state 703 are composed of a changed collision state (×). Within each category, only one symbol can be displayed at the same time, but information and symbols related to the source configuration management state 701, scheduled change state 702, and change collision state 703 are displayed simultaneously for one element. there is a possibility.

図8は、関数に対して変更必要のフラグを立てたときの状態を説明するための図であって、(a)は、ディスプレイの表示例を示す構成図、(b)は、変更フラグテーブルの構成図である。図8において、開発者101が、周辺機器103を操作して、ディスプレイ102の画面上に一覧画面801を表示させ、ユーザインタフェース表示部108を通じて「func2」に対して変更必要(変更予定)のフラグ(C)を立てることを指示すると、ソース依存関係解析部110は、指示された情報を基にソースコードデータベース114を参照して、「func2」と呼出または被呼出の関係にある関数又は変数として、例えば、「value1」、「func3」、「func1」に未確認フラグ(?)を立てるための処理を実行する。この処理結果がユーザインタフェース表示部108を介してディスプレイ102に転送されると、ディスプレイ102の一覧画面801には、ソース依存関係解析部110の参照結果が表示される。この際、開発者101は、表示された一覧画面801の内容を参照することができる。   FIGS. 8A and 8B are diagrams for explaining a state when a flag that needs to be changed is set for a function, where FIG. 8A is a configuration diagram showing a display example of the display, and FIG. 8B is a change flag table. FIG. In FIG. 8, the developer 101 operates the peripheral device 103 to display the list screen 801 on the screen of the display 102, and a flag indicating that “func2” needs to be changed (to be changed) through the user interface display unit 108. When it is instructed to establish (C), the source dependency analysis unit 110 refers to the source code database 114 based on the instructed information, and as a function or variable having a relationship of calling or called with “func2”. For example, a process for setting an unconfirmed flag (?) In “value1”, “func3”, and “func1” is executed. When this processing result is transferred to the display 102 via the user interface display unit 108, the reference result of the source dependency analysis unit 110 is displayed on the list screen 801 of the display 102. At this time, the developer 101 can refer to the contents of the displayed list screen 801.

一覧画面801には、変更元(要素の変更元)802に関する情報として、「func2」のファイル(FileA.c)および関数/変数「func2」が表示され、変更影響803として、「func2」の変更の影響を受けるファイルおよび関数/変数であって、要素テーブル203と変更影響テーブル204に登録されたファイル名(FileA.h、FileB.c、FileC.c)および関数/変数の名称(value1、func3、func1)が表示され、変更影響タイプ804として、変更影響テーブル204に登録された「呼出」または「被呼出」が表示され、メトリクス805として、要素テーブル203の他依存数208に登録された情報(他依存数:15など)が表示される。この際、変更元802の関数/変数「func2」には、未変更を示すシンボルレ点と、変更必要(変更予定)を示すシンボル(C)がフラグ(チェックフラグ)として表示される。また、変更影響803の関数/変数(value1、func3、func1)には、未変更を示すシンボルレ点と、未確認を示すシンボル(?)がフラグ(チェックフラグ)として表示される。   The list screen 801 displays the file (FileA.c) of “func2” and the function / variable “func2” as information about the change source (element change source) 802, and changes “func2” as the change effect 803. Files and functions / variables affected by the file, file names (FileA.h, FileB.c, FileC.c) and function / variable names (value1, func3) registered in the element table 203 and the change impact table 204 , Func1) is displayed, “call” or “callee” registered in the change impact table 204 is displayed as the change impact type 804, and information registered in the other dependency number 208 of the element table 203 as the metrics 805 (Number of other dependencies: 15 etc.) is displayed. At this time, in the function / variable “func2” of the change source 802, a symbol point indicating no change and a symbol (C) indicating a change necessary (to be changed) are displayed as a flag (check flag). In addition, in the function / variable (value1, func3, func1) of the change influence 803, a symbol check point indicating no change and a symbol (?) Indicating no check are displayed as flags (check flags).

開発者101は、この一覧画面801を参照し、自分が設計したい機能に必要な母体コード(ソースコード)の変更範囲を検討する。変更範囲の検討にあたっては、変更影響タイプ804とメトリクス805を参照して、変更影響のインパクトを参考にすることができる。ここで示した変更影響タイプ804とメトリクス805は一部の例であり、変更影響の分析に役立つ様々な項目を追加した実現形態がある。   The developer 101 refers to the list screen 801 and examines a change range of the base code (source code) necessary for the function he / she wants to design. In examining the change range, the impact of the change impact can be referred to by referring to the change impact type 804 and the metrics 805. The change impact type 804 and the metrics 805 shown here are only a part of examples, and there are implementations in which various items useful for analysis of the change impact are added.

また、変更フラグテーブル214のファイル215には、ファイル名(FileA.h、FileA.c、FileB.c、FileC.c)が登録され、関数/変数216には、関数又は変数の名称(value1、func2、func3、func1)が登録され、ソース構成管理状態217には、各ファイルが未変更であることを示すために、「未変更」の情報が登録され、変更予定状態218には、「func2」の欄のみ、変更必要(変更予定)であることを示すために、「変更必要」の情報が登録され、他の欄には、変更必要であるか否かは未確認であることを示すために、「未確認」の情報が登録され、更新者220には、開発者101の名称が登録され、更新日時221には、開発者101による更新日時の情報が登録される。なお、変更フラグテーブル214には、ファイル215に対応して、要素IDの情報を登録することもできる。   The file name (FileA.h, FileA.c, FileB.c, FileC.c) is registered in the file 215 of the change flag table 214, and the function / variable 216 has a function or variable name (value1, func2, func3, func1) are registered, and in the source configuration management state 217, “unchanged” information is registered in order to indicate that each file has not been changed. "Only" column indicates that change is necessary (to be changed), "change required" information is registered, and other columns indicate whether change is necessary or not In addition, information of “unconfirmed” is registered, the name of the developer 101 is registered in the updater 220, and information on the update date / time by the developer 101 is registered in the update date / time 221. Note that element ID information can be registered in the change flag table 214 corresponding to the file 215.

図9は、フラグ管理部の処理を説明するためのフローチャートである。この処理は、開発者101が未確認フラグ(?)を立てるための操作を実行することによって開始される(ステップ901)。フラグ管理部112は、処理が開始されると、未確認フラグ(?)を立てるための操作による情報を基に要素テーブル203を参照して、要素テーブル203のすべての要素IDでループを開始し(ステップ902)、要素テーブル203の要素IDを基に変更フラグテーブル214から、ループ処理中の要素IDに該当する行(要素IDで特定されるファイルに該当する行)を取得する(ステップ903)。   FIG. 9 is a flowchart for explaining the processing of the flag management unit. This process is started when the developer 101 executes an operation for setting an unconfirmed flag (?) (Step 901). When the process is started, the flag management unit 112 refers to the element table 203 based on information obtained by an operation for setting an unconfirmed flag (?), And starts a loop with all element IDs in the element table 203 ( In step 902), a row corresponding to the element ID being looped (a row corresponding to the file specified by the element ID) is acquired from the change flag table 214 based on the element ID of the element table 203 (step 903).

次に、フラグ管理部112は、変更フラグテーブル214を参照して、要素が変更必要(変更予定)であるか否か、即ち、要素IDで特定されるファイルが変更必要(変更予定)である否かを判定し(ステップ904)、このステップで否定の判定結果を得た場合、このルーチンでの処理を終了し、このステップで肯定の判定結果を得た場合、要素テーブル203の要素IDを基に変更影響テーブル204から変更元要素IDが一致する複数行を取得し(ステップ905)、取得した複数行でループを開始する(ステップ906)。   Next, the flag management unit 112 refers to the change flag table 214 to determine whether or not the element needs to be changed (scheduled to be changed), that is, the file specified by the element ID needs to be changed (scheduled to be changed). If a negative determination result is obtained in this step, the processing in this routine is terminated. If a positive determination result is obtained in this step, the element ID of the element table 203 is set. Based on the change influence table 204, a plurality of lines having the same change source element ID are acquired (step 905), and a loop is started on the acquired plurality of lines (step 906).

次に、フラグ管理部112は、ループ中の処理として、取得した複数行のうち該当行の変更影響要素IDを変更影響テーブル204から取得し(ステップ907)、取得した変更影響要素IDを基に変更フラグテーブル214のうち要素IDが一致する行(要素IDで特定されるファイルが一致する行)を取得し(ステップ908)、変更予定状態が「変更必要(C)」でないか否かを判定し(ステップ909)、このステップで肯定の判定結果を得た場合、変更予定状態を未確認(?)に変更し(ステップ910)、その後、このルーチンでの処理を終了し、ステップ909で否定の判定結果を得た場合、即ち、変更必要(変更予定)(C)である場合、何もせずループを継続し、その後、このルーチンでの処理を終了する。最終的にすべての要素テーブル203に含まれる要素IDで処理を行い、ステップ911で処理を終了する。ここで示したアルゴリズムは基本的な流れを示したため、実際には未確認(?)範囲を最小化する応用アルゴリズム等を持つ実現形態がある。   Next, the flag management unit 112 acquires the change influence element ID of the corresponding line from the obtained plurality of lines as the process in the loop from the change influence table 204 (step 907), and based on the acquired change influence element ID. The line with the same element ID (the line with the matching file specified by the element ID) is acquired from the change flag table 214 (step 908), and it is determined whether or not the planned change state is “change required (C)”. (Step 909), if a positive determination result is obtained in this step, the planned change state is changed to unconfirmed (?) (Step 910), and then the processing in this routine is terminated, and a negative result is obtained in Step 909. When the determination result is obtained, that is, when the change is necessary (scheduled for change) (C), the loop is continued without doing anything, and then the processing in this routine is terminated. Finally, the process is performed with the element IDs included in all the element tables 203, and the process ends in step 911. Since the algorithm shown here shows a basic flow, there is actually an implementation form having an application algorithm or the like that minimizes the unconfirmed (?) Range.

図10は、設計が終了した時点のフラグの状態を説明するための図であって、(a)は、ディスプレイの表示例を示す構成図、(b)は、変更フラグテーブルの構成図である。図10において、開発者101が、周辺機器103を操作して、ディスプレイ102の画面上に一覧画面801を表示させ、ユーザインタフェース表示部108を通じて「func2」等を変更するための設計が完了したことを指示すると、ソース依存関係解析部110は、指示された情報を基にソースコードデータベース114を参照して、「func2」と呼出または被呼出の関係にある関数又は変数(value1、func3、func1)にシンボルを表示するための処理を実行する。この処理結果がユーザインタフェース表示部108を介してディスプレイ102に転送されると、ディスプレイ102の一覧画面801には、ソース依存関係解析部110の参照結果が表示される。この際、開発者101は、表示された一覧画面801の内容を参照することができる。   10A and 10B are diagrams for explaining the state of the flag at the time when the design is completed, in which FIG. 10A is a configuration diagram illustrating a display example of the display, and FIG. 10B is a configuration diagram of a change flag table. . In FIG. 10, the design has been completed for the developer 101 to operate the peripheral device 103 to display the list screen 801 on the screen of the display 102 and to change “func2” and the like through the user interface display unit 108. , The source dependency analysis unit 110 refers to the source code database 114 based on the instructed information, and calls a function or variable (value1, func3, func1) that is in a calling or called relationship with “func2”. The process for displaying the symbol is executed. When this processing result is transferred to the display 102 via the user interface display unit 108, the reference result of the source dependency analysis unit 110 is displayed on the list screen 801 of the display 102. At this time, the developer 101 can refer to the contents of the displayed list screen 801.

一覧画面801には、変更元802に関する情報として、「func2」のファイルの名称(FileA.c)および関数/変数の名称(func2)が表示され、変更影響803として、「func2」の変更の影響を受けるファイルおよび関数/変数であって、要素テーブル203と変更影響テーブル204に登録されたファイルの名称(FileA.h、FileB.c、FileC.c)および関数/変数の名称(value1、func3、func1)が表示され、変更影響タイプ804として、変更影響テーブル204に登録された「呼出」または「被呼出」が表示され、メトリクス805として、要素テーブル203の他依存数208に登録された情報(他依存数:15など)が表示される。この際、変更元802の関数/変数「func2」には、未変更を示すシンボルレ点と、変更必要(変更予定)を示すシンボル(C)がフラグ(チェックフラグ)として表示される。また、変更影響803の関数/変数(value1、func3、func1)には、未変更を示すシンボルレ点と、変更不要を示すシンボル(N)または変更必要を示すシンボル(C)がフラグ(チェックフラグ)として表示される。   The list screen 801 displays the name of the file “func2” (FileA.c) and the name of the function / variable (func2) as information about the change source 802, and the change effect 803 indicates the effect of the change of “func2”. Files and functions / variables received in the element table 203 and the change impact table 204 (FileA.h, FileB.c, FileC.c) and function / variable names (value1, func3, func1) is displayed, “invocation” or “invoked” registered in the change impact table 204 is displayed as the change impact type 804, and information registered in the other dependency number 208 of the element table 203 as the metrics 805 ( Other dependence number: 15 etc.) is displayed. At this time, in the function / variable “func2” of the change source 802, a symbol point indicating no change and a symbol (C) indicating a change necessary (to be changed) are displayed as a flag (check flag). In addition, in the function / variable (value1, func3, func1) of the change influence 803, a symbol point indicating no change and a symbol (N) indicating no change or a symbol (C) indicating a change necessary are flags (check flags). Is displayed.

この際、開発者101は、一覧画面801を見ることで、すべての未確認フラグ(?)が、変更予定フラグ(C)または変更不要フラグ(N)に付け替えられているかどうかを確認できる。そのため、未確認フラグが残っていた場合には、すべての未確認フラグ(?)は、ユーザインタフェース表示部108により強調表示(図中では白黒反転表示)される。これにより、開発者101の設計時点における変更影響の考慮漏れが抑止される。   At this time, the developer 101 can confirm whether or not all unconfirmed flags (?) Are replaced with the change schedule flag (C) or the change unnecessary flag (N) by looking at the list screen 801. Therefore, when the unconfirmed flag remains, all the unconfirmed flags (?) Are highlighted (displayed in black and white in the drawing) by the user interface display unit 108. As a result, the lack of consideration of the change effect at the design time of the developer 101 is suppressed.

また、変更フラグテーブル214のファイル215には、ファイルの名称(FileA.h、FileA.c、FileB.c、FileC.c)が登録され、関数/変数216には、関数/変数の名称(value1、func2、func3、func1)が登録され、ソース構成管理状態217には、各ファイルが未変更であることを示すために、「未変更」の情報が登録され、変更予定状態218には、「func2」と「func3」の欄のみ、変更必要(変更予定)であることを示すために、「変更必要」の情報が登録され、他の欄には、変更不要であることを示すために、「変更不要」の情報が登録され、更新者220には、開発者101の名称が登録され、更新日時221には、開発者101による更新日時の情報が登録される。変更フラグテーブル214には、一覧画面801に表示されたフラグ(チェックフラグ)に関連した情報が格納される。この際、更新者と更新日時の情報が保存されるため、誰が何時どのような判断を行ったかという設計エビデンスが保存される。   The file names (FileA.h, FileA.c, FileB.c, FileC.c) are registered in the file 215 of the change flag table 214, and the function / variable names (value1) are registered in the function / variable 216. , Func2, func3, func1) are registered, and in the source configuration management state 217, “unchanged” information is registered in order to indicate that each file has not been changed. Only the "func2" and "func3" fields are registered to indicate that they need to be changed (scheduled to be changed), and other fields are registered to indicate that no changes are required. “No change necessary” information is registered, the name of the developer 101 is registered in the updater 220, and the update date / time information by the developer 101 is registered in the update date / time 221. The change flag table 214 stores information related to the flag (check flag) displayed on the list screen 801. At this time, since the information on the updater and the update date / time is stored, design evidence indicating who made what and what determination is stored.

本実施例によれば、新しい機能を追加する開発者101が、実装前の設計工程に本システムを利用することで、抜け漏れなく(変更影響のチェック漏れなく)ソースコードを変更することを支援することができる。具体的には、設計が終了した時点で、一覧画面801には、変更元802に関する情報と変更影響803の情報が表示されるので、開発者101は、一覧画面801を参照することで、ソードコードに属する要素のうち変更元要素と変更元要素の影響を受ける要素との関連を確認することができる。また、一覧画面801には、未確認フラグ、変更予定フラグまたは変更不要フラグがシンボルとして表示されるので、開発者101は、ソードコードに属する要素を変更したか否か等を容易に確認することができる。さらに、一覧画面801には、未確認フラグが残っていた場合には、未確認フラグが強調して表示されるので、開発者101の設計時点における変更影響の考慮漏れが抑止される。また、一覧画面801のメトリクス805には、他依存数が数値情報で表示されるので、開発者101は、他依存数が設定値よりも多い要素(他依存数:15)については、変更すると影響が大きいので、変更しない方が良いと判断できる。   According to the present embodiment, the developer 101 who adds a new function supports the change of the source code without omission (without checking the effect of the change) by using this system in the design process before mounting. can do. Specifically, when the design is completed, information on the change source 802 and information on the change impact 803 are displayed on the list screen 801, so that the developer 101 refers to the list screen 801, so that the sword Among the elements belonging to the code, the relationship between the change source element and the element affected by the change source element can be confirmed. In addition, since the unconfirmed flag, the change schedule flag, or the change unnecessary flag are displayed as symbols on the list screen 801, the developer 101 can easily confirm whether or not an element belonging to the sword code has been changed. it can. Further, if an unconfirmed flag remains on the list screen 801, the unconfirmed flag is displayed in an emphasized manner, so that it is possible to prevent the developer 101 from considering the change effect at the design time. In addition, since the number of other dependencies is displayed as numerical information in the metrics 805 of the list screen 801, the developer 101 changes the element having the number of other dependencies larger than the set value (the number of other dependencies: 15). Since the impact is large, it can be judged that it is better not to change.

本実施例は、母体ソースコードに機能を追加する典型的な開発フローのうち、ソースコードの変更を行う実装工程の作業の例である。   A present Example is an example of the operation | work of the mounting process which changes a source code among the typical development flows which add a function to a base source code.

図11は、設計を行った後、ソースコードの変更を実施した状態を説明するための図であって、(a)は、実施例2におけるディスプレイの表示例を示す構成図、(b)は、実施例2における変更フラグテーブルの構成図である。図11において、開発者101が、周辺機器103を操作して、ディスプレイ102の画面上に一覧画面801を表示させ、ユーザインタフェース表示部108を通じて「func2」等を変更するための設計が完了した後、ソースコードの変更を指示すると、ソース依存関係解析部110は、指示された情報を基にソースコードデータベース114を参照して、「func2」と呼出または被呼出の関係にある関数又は変数(value1、func3、func1)にシンボルを表示するための処理を実行する。この処理結果が、ユーザインタフェース表示部108を介してディスプレイ102に転送されると、ディスプレイ102の一覧画面801には、ソース依存関係解析部110の参照結果が表示される。この際、開発者101は、表示された一覧画面801の内容を参照することができる。   FIG. 11 is a diagram for explaining a state in which the source code is changed after the design is performed. FIG. 11A is a configuration diagram illustrating a display example of the display in the second embodiment, and FIG. FIG. 10 is a configuration diagram of a change flag table in the second embodiment. In FIG. 11, after the developer 101 operates the peripheral device 103 to display the list screen 801 on the screen of the display 102 and the design for changing “func2” and the like through the user interface display unit 108 is completed. When the source code change is instructed, the source dependency analysis unit 110 refers to the source code database 114 based on the instructed information, and calls a function or variable (value1) having a relationship of calling or called with “func2”. , Func3, func1) executes processing for displaying symbols. When this processing result is transferred to the display 102 via the user interface display unit 108, the reference result of the source dependency analysis unit 110 is displayed on the list screen 801 of the display 102. At this time, the developer 101 can refer to the contents of the displayed list screen 801.

一覧画面801には、変更元802に関する情報として、「func2」のファイル(FileA.c)および関数/変数「func2」が表示され、変更影響803として、「func2」の変更の影響を受けるファイルおよび関数/変数であって、要素テーブル203と変更影響テーブル204に登録されたファイルの名称(FileA.h、FileB.c、FileC.c)および関数/変数の名称(value1、func3、func1)が表示され、変更影響タイプ804として、変更影響テーブル204に登録された「呼出」または「被呼出」が表示され、メトリクス805として、要素テーブル203の他依存数208に登録された情報(他依存数:15など)が表示される。この際、変更元802の関数/変数「func2」には、変更済を示すシンボル(!)と、変更必要(変更予定)を示すシンボル(C)がフラグ(チェックフラグ)として表示される。また、変更影響803の関数/変数(value1、func3、func1)には、未変更を示すシンボルレ点または変更済を示すシンボル(!)、変更不要を示すシンボル(N)または変更必要を示すシンボル(C)がフラグ(チェックフラグ)として表示される。   In the list screen 801, the file (FileA.c) of “func2” and the function / variable “func2” are displayed as information about the change source 802, and the file affected by the change of “func2” Function / variable, file names (FileA.h, FileB.c, FileC.c) and function / variable names (value1, func3, func1) registered in the element table 203 and the change impact table 204 are displayed. Then, “Change” or “Called” registered in the change impact table 204 is displayed as the change impact type 804, and information registered in the other dependency number 208 of the element table 203 as the metric 805 (number of other dependencies: 15 etc.) is displayed. At this time, in the function / variable “func2” of the change source 802, a symbol (!) Indicating changed and a symbol (C) indicating change necessary (to be changed) are displayed as flags (check flags). In addition, the function / variable (value1, func3, func1) of the change effect 803 includes a symbol point indicating no change, a symbol indicating change (!), A symbol (N) indicating no change, or a symbol indicating change necessary ( C) is displayed as a flag (check flag).

この際、開発者101は、一覧画面801を見ることで、設計通り変更されているか否かを確認することができる。例えば、要素(func2)が変更予定(C)で且つ変更済(!)の場合であって、要素(value1)が変更不要(N)で且つ未変更(レ点)の場合は、設計通り実装されている望ましい例である。一方、要素(func2)が変更予定(C)で且つ変更済(!)の場合であって、要素(func3)が、変更予定(C)にもかかわらず未変更(レ点)の場合と、要素(func2)が変更予定(C)で且つ変更済(!)の場合であって、要素(func1)が、変更不要(N)にもかかわらず変更済(!)の場合は、設計通り変更されておらず望ましくない例である。望ましくないフラグの組合せの場合、シンボルは、ユーザインタフェース表示部108により、強調表示される。ただし、望ましくない例であっても、実装の都合上変更が起きることはよくあるため、操作の制約は設けない。新たに追加された変更要素を変更予定(C)に変更し、再チェックをかけることで、変更影響の考慮漏れを抑止した上で、誤った設計を行った事実は開発者のIDとともにチェックフラグデータベース116の変更フラグテーブル214に登録される。   At this time, the developer 101 can confirm whether or not it has been changed as designed by looking at the list screen 801. For example, when the element (func2) is scheduled to be changed (C) and has been changed (!), And the element (value1) is not required to be changed (N) and not changed (R), it is implemented as designed. This is a desirable example. On the other hand, when the element (func2) is scheduled to be changed (C) and has been changed (!), And the element (func3) is not changed (score) despite the scheduled change (C), If (func2) is scheduled to be changed (C) and has been changed (!), And the element (func1) has been changed (!) Even though no change is required (N), it is changed as designed. This is an undesirable example. In the case of an undesired flag combination, the symbol is highlighted by the user interface display unit 108. However, even in an undesired example, there is often a change due to mounting reasons, and thus there are no operation restrictions. The newly added change element is changed to the change schedule (C), and the re-check is performed to suppress omission of consideration of change effects, and the fact that the wrong design has been performed is a check flag along with the developer ID. It is registered in the change flag table 214 of the database 116.

また、変更フラグテーブル214のファイル215には、ファイルの名称(FileA.h、FileA.c、FileB.c、FileC.c)が登録され、関数/変数216には、関数又は変数の名称(value1、func2、func3、func1)が登録され、ソース構成管理状態217には、「func1」のみ「変更済」の情報が登録され、それ以外は、「未変更」の情報が登録され、各ファイルが未変更であることを示すために、「未変更」の情報が登録され、変更予定状態218には、「func2」と「func3」の欄のみ、「変更必要」の情報が登録され、他の欄には、「変更不要」の情報が登録され、更新者220には、開発者101の名称が登録され、更新日時221には、開発者101による更新日時の情報が登録される。   The file name (FileA.h, FileA.c, FileB.c, FileC.c) is registered in the file 215 of the change flag table 214, and the function or variable name (value1) is registered in the function / variable 216. , Func2, func3, func1) are registered, and in the source configuration management state 217, “func1” is registered as “changed” information, and other than that, “unchanged” information is registered, and each file is registered. “Unchanged” information is registered to indicate that it has not been changed. In the change schedule state 218, only “func2” and “func3” fields are registered with “change required” information. In the column, information of “no change required” is registered, the name of the developer 101 is registered in the updater 220, and information on the update date and time by the developer 101 is registered in the update date and time 221.

本実施例によれば、新しい機能を追加する開発者101が、実装後に本システムを利用することで、抜け漏れなくソースコードを変更することを支援することができる。具体的には、設計を行った後、ソースコードの変更を実施した場合、一覧画面801には、変更元802に関する情報及び変更影響803の情報と共に、未確認フラグ、変更予定フラグまたは変更不要フラグがシンボルとして表示され、且つ、これらのシンボルのうち設計通り変更されていないフラグの組合せの場合には、シンボルが強調して表示されるので、開発者101は、ソードコードに属する要素が、設計通り変更されていないことを容易に確認することができる。   According to the present embodiment, the developer 101 who adds a new function can support changing the source code without omission by using this system after implementation. Specifically, when the source code is changed after the design is performed, the list screen 801 includes an unconfirmed flag, a change schedule flag, or a change unnecessary flag along with information on the change source 802 and information on the change influence 803. In the case of a combination of flags that are displayed as symbols and not changed as designed among these symbols, the symbols are displayed with emphasis, so that the developer 101 can change the elements belonging to the sword code as designed. It can be easily confirmed that no change has been made.

本実施例は、複数の開発者が並行して機能の追加を行う場合の例である。以下、複数の開発者が並行して機能の追加を行う場合の問題と解決策について説明する。   This embodiment is an example when a plurality of developers add functions in parallel. The following describes problems and solutions when multiple developers add functions in parallel.

図12は、実施例3における処理であって、チェックフラグデータベースを参照しない場合の処理を説明するためのフローチャートである。図12において、開発プロセスの始点1201から、開発者Aが処理を開始し、開発者Aが、母体コード(ソースコード)を読込むための操作を実行すると、ユーザインタフェース表示部108が、ソース構成管理部109を介して構成管理データベース115から母体コード(ソースコード)を読込み、読込んだ母体コードをディスプレイ102上に表示する。この際、開発者Aは、ディスプレイ102上に表示された母体コード(ソースコード)に対して、周辺機器103のキーボード等を操作して、機能Aの追加を設計する(ステップ1202)。例えば、「func2」を変更するための設計を行う。次に、開発者Aは、周辺機器103のキーボード等を操作して、ステップ1202にて追加された機能A(機能Aの追加)をソースコード上に実装する(ステップ1203)。この後、開発者Aは、構成管理データベース115から母体コード(ソースコード)を読込むための操作を実行し、ディスプレイ102上に表示された母体コードを参照して、機能Aの実装完了チェックを行い(ステップ1204)、チェック後、変更後コード(ソースコード)を構成管理データベース115に登録するための操作を実行する。これにより、開発プロセスは終点1205で終了する。   FIG. 12 is a flowchart for explaining the processing in the third embodiment when the check flag database is not referred to. In FIG. 12, when the developer A starts processing from the start point 1201 of the development process and the developer A executes an operation for reading the matrix code (source code), the user interface display unit 108 displays the source configuration management unit. The matrix code (source code) is read from the configuration management database 115 via 109, and the read matrix code is displayed on the display 102. At this time, the developer A designs the addition of the function A by operating the keyboard or the like of the peripheral device 103 with respect to the base code (source code) displayed on the display 102 (step 1202). For example, a design for changing “func2” is performed. Next, the developer A operates the keyboard or the like of the peripheral device 103 to implement the function A (addition of the function A) added in step 1202 on the source code (step 1203). After that, the developer A executes an operation for reading the parent code (source code) from the configuration management database 115, and refers to the parent code displayed on the display 102 to check the implementation completion of the function A ( Step 1204) After checking, an operation for registering the changed code (source code) in the configuration management database 115 is executed. As a result, the development process ends at the end point 1205.

一方、開発者Bは、開発プロセスの始点1211から処理を開始する。開発者Bが母体コード(ソースコード)を読込むための操作を実行すると、ユーザインタフェース表示部108は、ソース構成管理部109を介して構成管理データベース115から母体コード(ソースコード)を読込み、読込んだ母体コードをディスプレイ102上に表示する。この際、開発者Bは、ディスプレイ102上に表示された母体コードに対して、周辺機器103のキーボード等を操作して、機能Bの追加を設計する(ステップ1212)。例えば、「func2」を変更するための設計を行う。次に、開発者Bは、周辺機器103のキーボード等を操作して、ステップ1212にて追加された機能B(機能Bの追加)をソースコード上に実装する(ステップ1213)。この後、開発者Bは、構成管理データベース115から母体コード(ソースコード)を読込むための操作を実行し、ディスプレイ102上に表示された母体コードを参照して、機能Bの実装完了チェックを行う(ステップ1214)。この際、開発プロセスを終点1215で終了する前に、修正手戻りの発生や衝突発生検知遅れが生じることがある。   On the other hand, the developer B starts processing from the start point 1211 of the development process. When the developer B executes an operation for reading the mother code (source code), the user interface display unit 108 reads the mother code (source code) from the configuration management database 115 via the source configuration management unit 109 and reads the mother code (source code). The mother code is displayed on the display 102. At this time, the developer B designs the addition of the function B by operating the keyboard or the like of the peripheral device 103 with respect to the matrix code displayed on the display 102 (step 1212). For example, a design for changing “func2” is performed. Next, the developer B operates the keyboard or the like of the peripheral device 103 to implement the function B (addition of the function B) added in step 1212 on the source code (step 1213). Thereafter, the developer B executes an operation for reading the parent code (source code) from the configuration management database 115, and refers to the parent code displayed on the display 102 to check the implementation completion of the function B ( Step 1214). At this time, before the development process is terminated at the end point 1215, there is a case where a correction reversion occurs or a collision occurrence detection delay occurs.

例えば、開発者Aの操作による処理が開発者Bの操作による処理よりも早く完了し、ステップ1204にて、機能Aの変更後コード登録が、ステップ1214における機能Bの実装完了チェックよりも先に実施された場合、ステップ1214における機能Bの母体コード読込みは、機能Bの追加を設計する際に実施したステップ1212における母体コード読込みとは異なるコード(ソースコード)を読込むため、機能Aが変更されたコード(ソースコード)の影響を受ける。具体的には、開発者Bに対して変更予定でないファイルが変更された場合、変更影響チェックをやり直す必要が発生する。この際、場合によっては、ソースコードの修正もやり直す必要がある。この変更影響による衝突を、ステップ1214における母体コード読込みを実施するまで検知することができず、衝突発生検知遅れとなり、機能Bの実装完了チェックの作業において、修正手戻りの発生により、開発工数が長くなってしまう。また、機能Aと機能Bが同じ内容の変更であった場合については、ステップ1213では、二重作業の実施となり、開発者Bが行った、機能Bの追加を実装する作業は無駄になってしまう。   For example, the process by the operation of developer A is completed earlier than the process by the operation of developer B. In step 1204, the code registration after the change of function A is performed before the implementation completion check of function B in step 1214. When implemented, the function B is changed because the function B matrix code read in step 1214 reads a code (source code) different from the matrix code read in step 1212 performed when designing the addition of function B. Affected by source code (source code). Specifically, when a file that is not scheduled to be changed for developer B is changed, it is necessary to redo the change impact check. At this time, in some cases, it is necessary to redo the correction of the source code. The collision caused by this change cannot be detected until the matrix code is read in step 1214, resulting in a collision detection delay. It will be long. In addition, in the case where the function A and the function B are the same change, in step 1213, a double work is performed, and the work for implementing the addition of the function B performed by the developer B is wasted. End up.

図13は、実施例3における処理であって、チェックフラグデータベースのデータを活用した場合の処理を説明するためのフローチャートである。図13において、開発プロセスの始点1301から、開発者Aが処理を開始し、開発者Aが母体コード(ソースコード)を読込むための操作を実行すると、操作に伴う情報を入力したユーザインタフェース表示部108は、ソース構成管理部109を介して構成管理データベース115から母体コード(ソースコード)を読込み、読込んだ母体コードをディスプレイ102上に表示する。この際、開発者Aは、ディスプレイ102上に表示された母体コードに対して、周辺機器103のキーボード等を操作して、機能Aの追加を設計(例えば、「func2」を変更するための設計)し(ステップ1302)、設計後のチェックフラグをチェックフラグデータベース116に登録するための操作を実行する。   FIG. 13 is a flowchart for explaining the processing in the third embodiment when the data in the check flag database is used. In FIG. 13, when the developer A starts processing from the start point 1301 of the development process and the developer A executes an operation for reading the matrix code (source code), the user interface display unit 108 to which information associated with the operation is input. Reads the matrix code (source code) from the configuration management database 115 via the source configuration management unit 109 and displays the read matrix code on the display 102. At this time, the developer A operates the keyboard of the peripheral device 103 on the base code displayed on the display 102 to design the addition of the function A (for example, a design for changing “func2”). (Step 1302), and an operation for registering the designed check flag in the check flag database 116 is executed.

次に、開発者Aは、周辺機器103のキーボード等を操作して、ステップ1302にて追加された機能A(機能Aの追加)をソースコード上に実装する(ステップ1303)。この後、開発者Aが、母体コード(ソースコード)を読込むと共に、チェックフラグを読込むための操作を実行すると、操作に伴う情報を入力したユーザインタフェース表示部108は、ソース構成管理部109を介して構成管理データベース115から母体コード(ソースコード)を読込むと共に、フラグ管理部112を介してチェックフラグデータベース116からチェックフラグを読込み、読込んだ母体コードとチェックフラグをディスプレイ102上に表示する。この際、開発者Aは、ディスプレイ102上に表示された母体コードとチェックフラグを参照して、機能Aの実装完了チェックを行い(ステップ1304)、チェック後、変更後コード(ソースコード)を構成管理データベース115に登録するための操作を実行する。これにより、開発プロセスは終点1305で終了する。   Next, the developer A operates the keyboard or the like of the peripheral device 103 to implement the function A (addition of the function A) added in step 1302 on the source code (step 1303). Thereafter, when the developer A reads the base code (source code) and executes an operation for reading the check flag, the user interface display unit 108 that has input information associated with the operation passes through the source configuration management unit 109. Then, the base code (source code) is read from the configuration management database 115, the check flag is read from the check flag database 116 via the flag management unit 112, and the read base code and check flag are displayed on the display 102. At this time, developer A refers to the base code and check flag displayed on display 102 to check the completion of implementation of function A (step 1304), and configures the changed code (source code) after the check. An operation for registering in the management database 115 is executed. As a result, the development process ends at the end point 1305.

この際、フラグ管理部112は、ソースコードに含まれるシンボルの変更を指示する第一の変更要求を周辺機器103から受付けたとき、当該受付けた第一の変更要求の影響を受ける他のシンボルが変更されているかどうかを示す情報(第一の変更管理情報)をソース構成管理状態217の情報としてチェックフラグデータベース116に格納すると共に、第一の変更要求の影響を受ける他のシンボルの変更予定の有無を示す情報(第一の変更予定情報)を変更予定状態218の情報としてチェックフラグデータベース116に格納する。ユーザインタフェース表示部108は、第一の変更要求で変更を指示されたシンボル、第一の変更要求の影響を受ける他のシンボル、第一の変更要求の影響を受ける他のシンボルが変更されているかどうかを示す情報(第一の変更管理情報)及び、第一の変更要求の影響を受ける他のシンボルの変更予定の有無を示す情報(第一の変更予定情報)をディスプレイ102の画面上に表示させる。   At this time, when the flag management unit 112 receives from the peripheral device 103 a first change request instructing to change a symbol included in the source code, the other symbols affected by the received first change request are displayed. Information indicating whether or not a change has been made (first change management information) is stored in the check flag database 116 as information of the source configuration management state 217, and other symbols scheduled to be changed that are affected by the first change request. Information indicating presence / absence (first change schedule information) is stored in the check flag database 116 as information of the change schedule state 218. In the user interface display unit 108, whether the symbol instructed to be changed by the first change request, other symbols affected by the first change request, or other symbols affected by the first change request has been changed. Information indicating whether or not (first change management information) and information indicating whether or not other symbols affected by the first change request are to be changed (first change schedule information) are displayed on the screen of the display 102. Let

一方、開発者Bは、開発プロセスの始点1311から処理を開始する。開発者Bが母体コード(ソースコード)を読込むと共に、チェックフラグを読込むための操作を実行すると、操作に伴う情報を入力したユーザインタフェース表示部108は、ソース構成管理部109を介して構成管理データベース115から母体コード(ソースコード)を読込むと共に、フラグ管理部112を介してチェックフラグデータベース116からチェックフラグを読込み、読込んだ母体コードとチェックフラグをディスプレイ102上に表示する。この際、開発者Bは、ディスプレイ102上に表示された母体コードに対して、周辺機器103のキーボード等を操作して、機能Bの追加を設計する(ステップ1312)。例えば、「func2」を変更するための設計を行う。この際、フラグ管理部112が衝突(要素間の衝突)を検知した場合、ディスプレイ102上には、何れかの要素に変更衝突が生じたことが表示される。この場合、開発者Bは、開発者Aと実装内容と時期を調整するための話し合いを行う(ステップ1313)。   On the other hand, the developer B starts processing from the start point 1311 of the development process. When the developer B reads the base code (source code) and executes an operation for reading the check flag, the user interface display unit 108 that has input information associated with the operation receives the configuration management database via the source configuration management unit 109. The matrix code (source code) is read from 115, the check flag is read from the check flag database 116 via the flag management unit 112, and the read matrix code and check flag are displayed on the display 102. At this time, the developer B designs the addition of the function B by operating the keyboard or the like of the peripheral device 103 with respect to the matrix code displayed on the display 102 (step 1312). For example, a design for changing “func2” is performed. At this time, when the flag management unit 112 detects a collision (collision between elements), it is displayed on the display 102 that a change collision has occurred in any element. In this case, developer B discusses with developer A to adjust the implementation content and timing (step 1313).

この際、フラグ管理部112は、ソースコードに含まれるシンボルの変更を指示する第二の変更要求を周辺機器103から受付けたとき、当該受付けた第二の変更要求の影響を受ける他のシンボルが変更されているかどうかを示す情報(第二の変更管理情報)をソース構成管理状態217の情報として保持すると共に、第二の変更要求の影響を受ける他のシンボルの変更予定の有無を示す情報(第二の変更予定情報)を変更予定状態218の情報として保持し、チェックフラグデータベース116に格納された第一の変更管理情報及び第一の変更予定情報と、保持した第二の変更管理情報及び第二の変更予定情報とを比較し、この比較結果から、いずれかの情報間で変更衝突があるか否かを判定し、この判定結果をユーザインタフェース表示部108を介してディスプレイ102に転送する。ユーザインタフェース表示部108は、第二の変更要求で変更を指示されたシンボル、第二の変更要求の影響を受ける他のシンボル、第二の変更管理情報及び、第二の変更予定情報をディスプレイ102の画面上に表示させる。   At this time, when the flag management unit 112 receives from the peripheral device 103 a second change request instructing to change a symbol included in the source code, the other symbols affected by the received second change request are displayed. Information indicating whether or not there is a change (second change management information) is held as information of the source configuration management state 217, and information indicating whether or not other symbols that are affected by the second change request are scheduled to be changed ( Second change schedule information) as the information of the change schedule state 218, the first change management information and the first change schedule information stored in the check flag database 116, the held second change management information, Compare with the second scheduled change information, and from this comparison result, determine whether there is a change conflict between any of the information, and display this determination result in the user interface 108 transferred to the display 102 via the. The user interface display unit 108 displays the symbol instructed to be changed by the second change request, the other symbols affected by the second change request, the second change management information, and the second change schedule information. Is displayed on the screen.

次に、開発者Bは、周辺機器103のキーボード等を操作して、ステップ1312にて追加された機能(調整後に追加された機能を含む)B(機能Bの追加)をソースコード上に実装する(ステップ1314)。この後、開発者Bが、母体コード(ソースコード)を読込むと共に、チェックフラグを読込むための操作を実行すると、操作に伴う情報を入力したユーザインタフェース表示部108は、ソース構成管理部109を介して構成管理データベース115から母体コード(ソースコード)を読込むと共に、フラグ管理部112を介してチェックフラグデータベース116からチェックフラグを読込み、読込んだ母体コードとチェックフラグをディスプレイ102上に表示する。この際、開発者Bは、ディスプレイ102上に表示された母体コードとチェックフラグを参照して、機能Bの実装完了チェックを行い(ステップ1315)、チェック後、変更後コード(ソースコード)を構成管理データベース115に登録するための操作を実行する。これにより、開発プロセスは終点1316で終了する。この際、フラグ管理部112は、いずれかの情報間で変更衝突がないと判定したことを条件に、保持した第二の変更管理情報及び第二の変更予定情報をチェックフラグデータベース116に格納する。   Next, developer B operates the keyboard or the like of peripheral device 103 and implements the function added in step 1312 (including the function added after adjustment) B (addition of function B) on the source code. (Step 1314). Thereafter, when the developer B reads the base code (source code) and executes an operation for reading the check flag, the user interface display unit 108 that has input information associated with the operation passes through the source configuration management unit 109. Then, the base code (source code) is read from the configuration management database 115, the check flag is read from the check flag database 116 via the flag management unit 112, and the read base code and check flag are displayed on the display 102. At this time, the developer B refers to the base code and check flag displayed on the display 102 and checks the completion of the implementation of the function B (step 1315), and configures the changed code (source code) after the check. An operation for registering in the management database 115 is executed. Thus, the development process ends at the end point 1316. At this time, the flag management unit 112 stores the held second change management information and second change schedule information in the check flag database 116 on the condition that it is determined that there is no change collision between any pieces of information. .

ステップ1312で、フラグ管理部112が衝突を検知した場合、早期に衝突を検知することができ、フラグを点滅表示(強調表示)することで、開発者Bに警告することができる。この際、開発者Bは、この警告を見て、開発者Aと話合いを行い、実装内容と時期を調整することができる。この話合いにより、ステップ1314で機能Bの追加を実装するときに、同じ作業を二重に行わなくて済み(二重作業の抑止)、工数が削減できる。また、ステップ1315で機能Bの実装完了チェックを行うときには、機能Aが既に登録されていることを設計で考慮済みのため、予想外の作業手戻りは発生せず(修正手戻りの抑止)、工数が削減できる。   If the flag management unit 112 detects a collision in step 1312, the collision can be detected at an early stage, and the developer B can be warned by blinking (highlighting) the flag. At this time, the developer B can see the warning and talk with the developer A to adjust the contents and timing of implementation. According to this discussion, when the addition of the function B is implemented in step 1314, the same work need not be performed twice (suppression of double work), and man-hours can be reduced. In addition, when the implementation completion check of the function B is performed in step 1315, it is already considered in the design that the function A has already been registered, so that unexpected work rework does not occur (suppression of correction rework), Man-hours can be reduced.

図14は、実施例3におけるシステムであって、複数の開発者を対象としたシステムの構成図である。図14において、開発者101として、複数の開発者A、Bを対象として場合、各開発者A、Bに対して開発マシン10が用意される。各開発マシン10はそれぞれ管理サーバ12に接続される。なお、各開発マシン10と管理サーバ12は、図1のものと同様に構成されているので、それらの説明は省略する。なお、図14のシステムでは、記憶装置107が、各開発マシン10で共有されているので、各開発マシン10が、記憶装置107に格納されるチェックフラグデータベース116をアクセスすることで、各開発者A、Bの変更(変更必要)に伴う要素の衝突の有無を検知できる。   FIG. 14 is a configuration diagram of a system according to the third embodiment and intended for a plurality of developers. In FIG. 14, when the developer 101 targets a plurality of developers A and B, a development machine 10 is prepared for each developer A and B. Each development machine 10 is connected to a management server 12. Since each development machine 10 and the management server 12 are configured in the same manner as in FIG. In the system of FIG. 14, since the storage device 107 is shared by each development machine 10, each development machine 10 accesses each check flag database 116 stored in the storage device 107, so that each developer It is possible to detect the presence or absence of an element collision accompanying the change of A and B (necessary to change).

図15は、複数の開発者の変更によって衝突が起こった状態を説明するための図であって、(a)は、実施例3におけるディスプレイの表示例を示す構成図、(b)は、実施例3における変更フラグテーブルの構成図である。図15において、複数の開発者101が、それぞれ周辺機器103を操作して、ディスプレイ102の画面上に一覧画面801を表示させ、ユーザインタフェース表示部108を通じて「func2」等を変更すると、ソース依存関係解析部110は、指示された情報を基にソースコードデータベース114を参照して、「func2」と呼出または被呼出の関係にある関数又は変数(value1、func3、func1)にシンボルを表示するための処理を実行する。この処理結果がインタフェース表示部108を介してディスプレイ102に転送されると、ディスプレイ102の一覧画面801には、ソース依存関係解析部110の参照結果が表示される。この際、各開発者101は、表示された一覧画面801の内容を参照することができる。   FIG. 15 is a diagram for explaining a state in which a collision has occurred due to a change of a plurality of developers. FIG. 15A is a configuration diagram illustrating a display example of the display according to the third embodiment, and FIG. It is a block diagram of the change flag table in Example 3. In FIG. 15, when a plurality of developers 101 operate the peripheral devices 103 to display the list screen 801 on the screen of the display 102 and change “func2” or the like through the user interface display unit 108, The analysis unit 110 refers to the source code database 114 based on the instructed information, and displays a symbol on a function or variable (value1, func3, func1) that has a relationship of calling or called with “func2”. Execute the process. When this processing result is transferred to the display 102 via the interface display unit 108, the reference result of the source dependency analysis unit 110 is displayed on the list screen 801 of the display 102. At this time, each developer 101 can refer to the contents of the displayed list screen 801.

一覧画面801には、変更元802に関する情報として、「func2」のファイル(FileA.c)および関数/変数「func2」が表示され、変更影響803として、「func2」の変更の影響を受けるファイルおよび関数/変数であって、要素テーブル203と変更影響テーブル204に登録されたファイルの名称(FileA.h、FileB.c、FileC.c)および関数/変数の名称(value1、func3、func1)が表示され、変更影響タイプ804として、変更影響テーブル204に登録された「呼出」または「被呼出」が表示され、メトリクス805として、要素テーブル203の他依存数208に登録された情報(他依存数:15など)が表示される。この際、変更元802の関数/変数「func2」には、未変更のシンボルレ点、変更必要のシンボル(C)がフラグ(チェックフラグ)として表示される。また、変更影響803の関数/変数(value1、func3、func1)には、未変更のシンボルレ点、変更不要のシンボル(N)または変更必要のシンボル(C)、さらに変更衝突(衝突あり)を示すシンボル(×)がフラグ(チェックフラグ)として表示される。   In the list screen 801, the file (FileA.c) of “func2” and the function / variable “func2” are displayed as information about the change source 802, and the file affected by the change of “func2” Function / variable, file names (FileA.h, FileB.c, FileC.c) and function / variable names (value1, func3, func1) registered in the element table 203 and the change impact table 204 are displayed. Then, “Change” or “Called” registered in the change impact table 204 is displayed as the change impact type 804, and information registered in the other dependency number 208 of the element table 203 as the metric 805 (number of other dependencies: 15 etc.) is displayed. At this time, in the function / variable “func2” of the change source 802, the unchanged symbol point and the symbol (C) that needs to be changed are displayed as flags (check flags). In addition, the function / variable (value1, func3, func1) of the change influence 803 indicates an unchanged symbol point, a change-unnecessary symbol (N) or a change-needed symbol (C), and a change collision (with collision) A symbol (x) is displayed as a flag (check flag).

また、変更フラグテーブル214のファイル215には、ファイルの名称(FileA.h、FileA.c、FileB.c、FileC.c、FileB.c、FileC.c)が登録され、関数/変数216には、関数又は変数の名称(value1、func2、func3、func1、func3、func1)が登録され、ソース構成管理状態217には、それぞれ、「未変更」の情報が登録され、変更予定状態218には、「FileA.h」の欄に「変更不要」が登録され、「FileA.c」と「FileB.c」の欄に「変更必要」が登録され、「FileC.c」の欄に「変更不要」が登録され、「FileB.c」と「FileC.c」に「変更必要」が登録され、変更衝突状態219には、「FileB.c」、「FileC.c」、「FileB.c」、「FileC.c」の欄に「変更衝突」が登録され、更新者220には、開発者101の名称(開発者Aまたは開発者B)が登録され、更新日時221には、各開発者(開発者Aまたは開発者B)101による更新日時の情報が登録される。   The file name (FileA.h, FileA.c, FileB.c, FileC.c, FileB.c, FileC.c) is registered in the file 215 of the change flag table 214, and the function / variable 216 is registered. , Function or variable names (value1, func2, func3, func1, func3, func1) are registered, information of “not changed” is registered in the source configuration management state 217, and the planned change state 218 includes "No change required" is registered in the "FileA.h" field, "Change required" is registered in the "FileA.c" and "FileB.c" fields, and "No change is required" in the "FileC.c" field Is registered, “Change Required” is registered in “FileB.c” and “FileC.c”, and the change conflict state 219 includes “FileB.c”, “FileC.c”, “FileB.c”, “ “Change conflict” is registered in the “FileC.c” field, the name of the developer 101 (developer A or developer B) is registered in the updater 220, and each developer is registered in the update date 221. Information update date developers A or developer B) 101 is registered.

ここで、フラグ管理部112は、変更フラグテーブル214を参照し、要素ID3の「FileB.c」に関して、ソース構成管理状態217に登録された情報と変更予定状態218に登録された情報とを比較し、いずれかの情報間に変更衝突があるか否かを判定する。この際、開発者Aの操作による情報として、ソース構成管理状態217に「未変更」が登録され、変更予定状態218に「変更必要」が登録され、開発者Bの操作による情報として、ソース構成管理状態217に「未変更」が登録され、変更予定状態218に「変更必要」が登録された場合、「変更必要」が重複しているので、フラグ管理部112は、「変更衝突」と判定し、変更衝突状態219に「変更衝突」の情報を登録する。   Here, the flag management unit 112 refers to the change flag table 214 and compares the information registered in the source configuration management state 217 with the information registered in the planned change state 218 regarding the element ID3 “FileB.c”. Then, it is determined whether there is a change conflict between any pieces of information. At this time, “unchanged” is registered in the source configuration management state 217 as information by the operation of the developer A, “necessary to change” is registered in the planned change state 218, and the source configuration is stored as information by the operation of the developer B. When “not changed” is registered in the management state 217 and “change required” is registered in the scheduled change state 218, the flag management unit 112 determines “change conflict” because “change required” is duplicated. Then, the information of “change collision” is registered in the change collision state 219.

また、フラグ管理部112は、変更フラグテーブル214を参照し、要素ID4の「FileC.c」に関して、ソース構成管理状態217に登録された情報と変更予定状態218に登録された情報とを比較し、いずれかの情報間に変更衝突があるか否かを判定する。この際、開発者Aの操作による情報として、ソース構成管理状態217に「未変更」が登録され、変更予定状態218に「変更不要」が登録され、開発者Bの操作による情報として、ソース構成管理状態217に「未変更」が登録され、変更予定状態218に「変更必要」が登録された場合、開発者Aが「変更必要」で、開発者Bが「変更不要」であって、両者の内容が矛盾しているので、フラグ管理部112は、「変更衝突」と判定し、変更衝突状態219に「変更衝突」の情報を登録する。   In addition, the flag management unit 112 refers to the change flag table 214 and compares the information registered in the source configuration management state 217 with the information registered in the planned change state 218 regarding “FileC.c” of the element ID 4. , It is determined whether there is a change conflict between any of the information. At this time, “Unchanged” is registered in the source configuration management state 217 as information by the operation of the developer A, “Unchanged” is registered in the planned change state 218, and the source configuration is stored as information by the operation of the developer B. When “not changed” is registered in the management state 217 and “change required” is registered in the planned change state 218, the developer A is “change required” and the developer B is “change not required”. Therefore, the flag management unit 112 determines “change collision”, and registers “change collision” information in the change collision state 219.

変更衝突状態219に、「変更衝突」の情報が記録された場合、フラグ管理部112とユーザインタフェース表示部108の処理により、一覧画面801の変更影響803には、変更衝突の生じた要素、例えば、要素ID3、4のファイル(FileB.c、FileC.c)に関して、変更衝突状態703のシンボル(×)が強調して表示される。これは、変更予定(C)が付いている要素に変更衝突(×)が付いているものが直接的に影響するが、変更不要(N)と判断しているが間接的に影響する可能性があるため、変更衝突の生じた要素については、警告を行うためである。この場合、各開発者A、Bは、一覧画面801を見ることで、要素の変更に伴って衝突が生じたことを容易に確認することができる。また、この場合、変更の具体的な内容について開発者A、B間で話合う必要がある。この話合いによって重複した内容の変更や、変更同士の衝突に起因する不具合を避けることができる。   When information of “change collision” is recorded in the change collision state 219, the change management 803 of the list screen 801 has a change effect 803 on the list screen 801 by the processing of the flag management unit 112 and the user interface display unit 108. , The symbol (x) of the change collision state 703 is highlighted with respect to the files (FileB.c, FileC.c) of the element IDs 3 and 4. This is directly affected by elements with a change collision (x) on an element with a change schedule (C), but it is determined that no change is necessary (N), but it may be indirectly affected. Therefore, a warning is given to an element in which a change conflict has occurred. In this case, each developer A and B can easily confirm that a collision has occurred due to the change of the element by looking at the list screen 801. In this case, it is necessary to discuss between the developers A and B about the specific content of the change. It is possible to avoid problems caused by the content change and the conflict between the changes due to this discussion.

本実施例によれば、複数の開発者が並行して新しい機能を追加した場合の衝突を早期に検出し、二重作業を減らすことができる。   According to the present embodiment, it is possible to detect a collision early when a plurality of developers add a new function in parallel, and to reduce double work.

なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、管理サーバ12の中央処理演算装置106が記憶装置107を管理する代わりに、開発マシン10の中央処理演算装置104が、コントローラとして、記憶装置107を管理することもできる。上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。   In addition, this invention is not limited to an above-described Example, Various modifications are included. For example, instead of the central processing unit 106 of the management server 12 managing the storage device 107, the central processing unit 104 of the development machine 10 can also manage the storage unit 107 as a controller. The above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described. Further, a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. Further, it is possible to add, delete, and replace other configurations for a part of the configuration of each embodiment.

また、上記の各構成、機能等は、それらの一部又は全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に記録して置くことができる。   Further, each of the above-described configurations, functions, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit. Each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the processor. Information such as programs, tables, and files that realize each function should be recorded in a recording device such as a memory, hard disk, or SSD (Solid State Drive), or a recording medium such as an IC card, SD card, or DVD. Can do.

10 開発マシン、12 管理サーバ、101 開発者、102 ディスプレイ、103 周辺機器、104 中央処理演算装置、105 記憶装置、106 中央処理演算装置、107 記憶装置、108 ユーザインタフェース表示部、109 ソース構成管理部、110 ソース依存関係解析部、111 ソースメトリクス解析部、112 フラグ管理部、113 変更中ソースコード、114 ソースコードデータベース、115 構成管理データベース、116 チェックフラグデータベース、203 要素テーブル、204 変更影響テーブル、212 ソースコード、214 変更フラグテーブル、701 ソース構成管理状態、702 変更予定状態、703 変更衝突状態、801 一覧画面   DESCRIPTION OF SYMBOLS 10 Development machine, 12 Management server, 101 Developer, 102 Display, 103 Peripheral device, 104 Central processing arithmetic device, 105 Storage device, 106 Central processing arithmetic device, 107 Storage device, 108 User interface display part, 109 Source configuration management part 110 source dependency analysis unit, 111 source metric analysis unit, 112 flag management unit, 113 source code being changed, 114 source code database, 115 configuration management database, 116 check flag database, 203 element table, 204 change impact table, 212 Source code, 214 Change flag table, 701 Source configuration management status, 702 Scheduled change status, 703 Change collision status, 801 List screen

Claims (9)

関数又は変数のうち少なくとも一方で構成される複数の要素を含むソースコードを格納する記憶装置と、
情報の入出力を行う入出力装置と、
前記記憶装置及び前記入出力装置を管理するコントローラを含むシステムにおけるソフトウェア開発支援方法であって、
前記コントローラが、前記ソースコードに含まれる要素の変更を指示する第一の変更要求を前記入出力装置から受付けたとき、当該受付けた第一の変更要求の影響を受ける他の要素が変更されているかどうかを示す第一の変更管理情報と前記第一の変更要求の影響を受ける他の要素の変更予定の有無を示す第一の変更予定情報を前記記憶装置に格納する第一のステップと、
前記入出力装置が、前記第一の変更要求で変更を指示された要素、前記第一の変更要求の影響を受ける他の要素、前記第一の変更管理情報及び、前記第一の変更予定情報を出力する第二のステップと、を有することを特徴とするソフトウェア開発支援方法。
A storage device for storing source code including a plurality of elements constituted by at least one of a function and a variable;
An input / output device for inputting / outputting information;
A software development support method in a system including a controller that manages the storage device and the input / output device,
When the controller receives from the input / output device a first change request for instructing a change in an element included in the source code, other elements affected by the received first change request are changed. A first step of storing, in the storage device, first change management information indicating whether or not and first change schedule information indicating whether or not there is a change schedule of other elements affected by the first change request;
The input / output device is an element instructed to change by the first change request, another element affected by the first change request, the first change management information, and the first change schedule information. A software development support method characterized by comprising:
請求項1に記載のソフトウェア開発支援方法であって、
前記コントローラが、前記ソースコードに含まれる要素の変更を指示する第二の変更要求を前記入出力装置から受付けたとき、当該受付けた第二の変更要求の影響を受ける他の要素が変更されているかどうかを示す第二の変更管理情報と前記第二の変更要求の影響を受ける他の要素の変更予定の有無を示す第二の変更予定情報を保持する第三のステップと、
前記入出力装置が、前記第二の変更要求で変更を指示された要素、前記第二の変更要求の影響を受ける他の要素、前記第二の変更管理情報及び、前記第二の変更予定情報を出力する第四のステップと、を有することを特徴とするソフトウェア開発支援方法。
A software development support method according to claim 1,
When the controller receives from the input / output device a second change request that instructs to change an element included in the source code, other elements affected by the received second change request are changed. A third step of holding second change management information indicating whether or not and second change schedule information indicating whether or not there is a change schedule of other elements affected by the second change request;
The input / output device is an element instructed to change by the second change request, another element affected by the second change request, the second change management information, and the second change schedule information. And a fourth step of outputting the software.
請求項2に記載のソフトウェア開発支援方法であって、
前記コントローラは、
前記第三のステップでは、前記記憶装置に格納された前記第一の変更管理情報及び前記第一の変更予定情報と、前記保持した前記第二の変更管理情報及び前記第二の変更予定情報とを比較し、当該比較結果から、前記いずれかの情報間で変更衝突があるか否かを判定し、当該判定結果を前記入出力装置に転送することを特徴とするソフトウェア開発支援方法。
A software development support method according to claim 2,
The controller is
In the third step, the first change management information and the first change schedule information stored in the storage device, the held second change management information and the second change schedule information, A software development support method comprising: determining whether there is a change conflict between any of the information from the comparison result, and transferring the determination result to the input / output device.
請求項3に記載のソフトウェア開発支援方法であって、
前記コントローラは、
前記第三のステップでは、前記いずれかの情報間で変更衝突がないと判定したことを条件に、前記保持した前記第二の変更管理情報及び前記第二の変更予定情報を前記記憶装置に格納することを特徴とするソフトウェア開発支援方法。
A software development support method according to claim 3,
The controller is
In the third step, the stored second change management information and the second change schedule information are stored in the storage device on the condition that it is determined that there is no change conflict between any one of the pieces of information. A software development support method characterized by:
請求項3に記載のソフトウェア開発支援方法であって、
前記入出力装置は、
前記コントローラから、前記いずれかの情報間で変更衝突ありの判定結果を受信した場合、前記変更衝突ありの判定結果で特定される要素を強調して出力することを特徴とするソフトウェア開発支援方法。
A software development support method according to claim 3,
The input / output device is
A software development support method comprising emphasizing and outputting an element specified by a determination result with a change collision when receiving a determination result with a change collision between any of the pieces of information from the controller.
請求項1又は2に記載のソフトウェア開発支援方法であって、
前記入出力装置は、
前記第二のステップ又は前記第三のステップでは、前記第一の変更要求の影響を受ける他の要素の数を示す第一の数値情報又は前記第二の変更要求の影響を受ける他の要素の数を示す第二の数値情報を出力することを特徴とするソフトウェア開発支援方法。
A software development support method according to claim 1 or 2,
The input / output device is
In the second step or the third step, the first numerical information indicating the number of other elements affected by the first change request or the other elements affected by the second change request. A software development support method characterized by outputting second numerical information indicating a number.
関数又は変数のうち少なくとも一方で構成される複数の要素を含むソースコードを格納する記憶装置と、
情報の入出力を行う入出力装置と、
前記記憶装置及び前記入出力装置を管理するコントローラと、を有するソフトウェア開発支援システムであって、
前記コントローラは、
前記ソースコードに含まれる要素の変更を指示する第一の変更要求を前記入出力装置から受付けたとき、当該受付けた第一の変更要求の影響を受ける他の要素が変更されているかどうかを示す第一の変更管理情報と前記第一の変更要求の影響を受ける他の要素の変更予定の有無を示す第一の変更予定情報を前記記憶装置に格納し、
前記入出力装置は、
前記第一の変更要求で変更を指示された要素、前記第一の変更要求の影響を受ける他の要素、前記第一の変更管理情報及び、前記第一の変更予定情報を出力することを特徴とするソフトウェア開発支援システム。
A storage device for storing source code including a plurality of elements constituted by at least one of a function and a variable;
An input / output device for inputting / outputting information;
A software development support system comprising: a controller that manages the storage device and the input / output device;
The controller is
When a first change request instructing a change of an element included in the source code is received from the input / output device, it indicates whether another element affected by the received first change request has been changed. Storing first change management information and first change schedule information indicating whether or not there is a change schedule of other elements affected by the first change request in the storage device;
The input / output device is
The element instructed to change by the first change request, another element affected by the first change request, the first change management information, and the first change schedule information are output. Software development support system.
請求項7に記載のソフトウェア開発支援システムであって、
前記コントローラは、
前記ソースコードに含まれる要素の変更を指示する第二の変更要求を前記入出力装置から受付けたとき、当該受付けた第二の変更要求の影響を受ける他の要素が変更されているかどうかを示す第二の変更管理情報と前記第二の変更要求の影響を受ける他の要素の変更予定の有無を示す第二の変更予定情報を保持し、
前記入出力装置は、
前記第二の変更要求で変更を指示された要素、前記第二の変更要求の影響を受ける他の要素、前記第二の変更管理情報及び、前記第二の変更予定情報を出力することを特徴とするソフトウェア開発支援システム。
The software development support system according to claim 7,
The controller is
When a second change request for instructing a change in an element included in the source code is received from the input / output device, it indicates whether another element affected by the received second change request has been changed. Holding second change management information and second change schedule information indicating whether or not there is a change schedule of other elements affected by the second change request,
The input / output device is
The element instructed to change by the second change request, another element affected by the second change request, the second change management information, and the second change schedule information are output. Software development support system.
請求項8に記載のソフトウェア開発支援システムであって、
前記コントローラは、
前記記憶装置に格納された前記第一の変更管理情報及び前記第一の変更予定情報と、前記保持した前記第二の変更管理情報及び前記第二の変更予定情報とを比較し、当該比較結果から、前記いずれかの情報間で変更衝突があるか否かを判定し、当該判定結果を前記入出力装置に転送することを特徴とするソフトウェア開発支援システム。
The software development support system according to claim 8,
The controller is
The first change management information and the first change schedule information stored in the storage device are compared with the held second change management information and the second change schedule information, and the comparison result To determine whether or not there is a change conflict between any of the pieces of information, and transfer the determination result to the input / output device.
JP2016131093A 2016-06-30 2016-06-30 Software development support method and system Active JP6722528B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016131093A JP6722528B2 (en) 2016-06-30 2016-06-30 Software development support method and system
CN201710379915.1A CN107562419B (en) 2016-06-30 2017-05-25 Software development support method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016131093A JP6722528B2 (en) 2016-06-30 2016-06-30 Software development support method and system

Publications (2)

Publication Number Publication Date
JP2018005535A true JP2018005535A (en) 2018-01-11
JP6722528B2 JP6722528B2 (en) 2020-07-15

Family

ID=60949133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016131093A Active JP6722528B2 (en) 2016-06-30 2016-06-30 Software development support method and system

Country Status (2)

Country Link
JP (1) JP6722528B2 (en)
CN (1) CN107562419B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109343827A (en) * 2018-09-12 2019-02-15 郑州云海信息技术有限公司 A kind of demand modification control method of high multiplexing
KR102613915B1 (en) * 2023-06-02 2023-12-14 주식회사 코드원 Method, apparatus and program for automatically changing names of functions and parameters
CN118585459A (en) * 2024-08-07 2024-09-03 宁波沃尔斯软件有限公司 Impact analysis method and application for low-code development platform

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6996936B2 (en) * 2017-10-25 2022-01-17 株式会社日立製作所 Source code analyzer, source code analysis method, source code analysis program
JP7261083B2 (en) * 2019-05-09 2023-04-19 株式会社日立製作所 Software analysis support system
CN113434180B (en) * 2021-07-13 2022-08-09 上海浦东发展银行股份有限公司 Data processing method and device for application, server and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8522207B1 (en) * 2006-09-19 2013-08-27 United Services Automobile Association (Usaa) Systems and methods for automated centralized build/merge management
JP2010198494A (en) * 2009-02-26 2010-09-09 Panasonic Corp Software development support tool
DE112011105489T5 (en) * 2011-08-03 2014-04-24 Hitachi, Ltd. Image processing software development process, image processing software development device, and image processing software development program
JP6025763B2 (en) * 2014-02-05 2016-11-16 三菱電機株式会社 Embedded device software development test equipment

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109343827A (en) * 2018-09-12 2019-02-15 郑州云海信息技术有限公司 A kind of demand modification control method of high multiplexing
KR102613915B1 (en) * 2023-06-02 2023-12-14 주식회사 코드원 Method, apparatus and program for automatically changing names of functions and parameters
CN118585459A (en) * 2024-08-07 2024-09-03 宁波沃尔斯软件有限公司 Impact analysis method and application for low-code development platform

Also Published As

Publication number Publication date
CN107562419B (en) 2020-09-18
JP6722528B2 (en) 2020-07-15
CN107562419A (en) 2018-01-09

Similar Documents

Publication Publication Date Title
US11281732B2 (en) Recommending development tool extensions based on media type
JP6722528B2 (en) Software development support method and system
US10545855B1 (en) Software testing assurance through inconsistent treatment detection
US10769250B1 (en) Targeted security monitoring using semantic behavioral change analysis
US9430200B1 (en) Cross-library framework architecture feature sets
US10108321B2 (en) Interface for defining user directed partial graph execution
WO2020033071A1 (en) Recommending development tool extensions based on usage context telemetry
US9317258B2 (en) Dynamic validation of models using constraint targets
Macke et al. Fine-grained lineage for safer notebook interactions
US20110185282A1 (en) User-Interface-Integrated Asynchronous Validation for Objects
US20090006947A1 (en) Model-Based Editors for Dynamic Validation
US20210049091A1 (en) Software visualization apparatus, software visualization method, and computer readable medium
US20110231178A1 (en) Modeling and generating computer software product line variants
US20100313186A1 (en) Developer-managed debugger data records
US8813036B2 (en) Visual representation of a difference between Cartesian product models
US8479163B2 (en) Simplifying maintenance of large software systems
JP2014123249A (en) Information processor, program, and information processing method
US10209965B1 (en) In-line function synchronization
US11144287B2 (en) Compile time validation of programming code
US11119761B2 (en) Identifying implicit dependencies between code artifacts
US20140372982A1 (en) Standardization of variable names in an integrated development environment
JP5789575B2 (en) Information processing apparatus and program
US7752638B2 (en) Method for defining and dynamically invoking polymorphic call flows
JP2009053767A (en) Program analysis device and program analysis method
JP2021039394A (en) Information processing system, information processing method, development apparatus and program of development apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191225

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200622

R150 Certificate of patent or registration of utility model

Ref document number: 6722528

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150