JP5151792B2 - Distributed development management program - Google Patents

Distributed development management program Download PDF

Info

Publication number
JP5151792B2
JP5151792B2 JP2008204662A JP2008204662A JP5151792B2 JP 5151792 B2 JP5151792 B2 JP 5151792B2 JP 2008204662 A JP2008204662 A JP 2008204662A JP 2008204662 A JP2008204662 A JP 2008204662A JP 5151792 B2 JP5151792 B2 JP 5151792B2
Authority
JP
Japan
Prior art keywords
program
name
change
influence
development
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.)
Expired - Fee Related
Application number
JP2008204662A
Other languages
Japanese (ja)
Other versions
JP2010039949A (en
Inventor
章彦 御園生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008204662A priority Critical patent/JP5151792B2/en
Publication of JP2010039949A publication Critical patent/JP2010039949A/en
Application granted granted Critical
Publication of JP5151792B2 publication Critical patent/JP5151792B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、プログラム分散開発環境において、開発対象プログラム製品を構成する複数のプログラムモジュールが共通して呼び出す共通機能の呼出名の管理を、開発管理用のコンピュータに行わしめる分散開発管理プログラムに、関する。   The present invention relates to a distributed development management program that allows a development management computer to manage common function call names that are commonly called by a plurality of program modules constituting a development target program product in a distributed program development environment. .

プログラム製品の大規模化に伴い、その開発は、分散開発環境においてなされることが一般化している。ここに、分散開発環境とは、プログラム製品全体の開発に責任を負う管理者が、所定の仕様を決定し、かかる仕様に従って、当該プログラム製品を構成する各プログラムモジュールの開発を個々の開発グループに委託し、各開発グループが完成したプログラムをまとめることによって開発対象プログラムを完成させる開発形態である。なお、管理者と開発グループとは、同一企業内の製品企画部門と開発グループである場合もあるし、注文者企業と請負人企業である場合もありえる。   As program products become larger in scale, it is common to develop them in a distributed development environment. Here, the distributed development environment means that an administrator who is responsible for the development of the entire program product determines a predetermined specification, and in accordance with such specification, develops each program module that constitutes the program product into individual development groups. This is a development form in which the development target program is completed by consigning and collecting the programs completed by each development group. The manager and the development group may be a product planning department and a development group in the same company, or may be an orderer company and a contractor company.

かかる分散開発環境において決定される仕様とともに、管理者から各開発グループに対しては、各プログラムモジュールに共通に用いられるデータ,即ち、共通機能(関数,プログラムモジュール,サブルーチン,副プログラム等)も、提供される。従って、各開発グループは、これら共通機能の内容を認識した上で、自己が開発しているプログラムモジュールにおいて、何れかの共通機能を利用したい場合には、そのソースプログラムに、その共通機能の、名称を含む呼出文(call文)を記述しておけば良い。
特開2005-158030号公報 特開2002-82802号公報 特開平10-254684号公報
Along with the specifications determined in such a distributed development environment, the administrator uses each development group with data commonly used for each program module, that is, common functions (functions, program modules, subroutines, subprograms, etc.) Provided. Therefore, each development group recognizes the contents of these common functions, and if they want to use any of the common functions in the program module that they are developing, A call statement including a name may be described.
JP 2005-158030 A JP 2002-82802 JP JP-A-10-254684

上述したように管理者から各開発グループに対して提供された共通機能は、プログラムモジュールを開発する前段階において管理者が用意したものであるので、各開発グループにおいてプログラムモジュールの開発が具体的に進むにつれて、その内容が開発中のプログラムモジュールの要求を満たし得なくなる場合がある。この場合、当該プログラムモジュールに関しては、当該共通機能を改変することによってその要求を満足させる必要が生じる。   As described above, the common functions provided by the administrator to each development group are those prepared by the administrator in the previous stage of developing the program module. As it progresses, its contents may not meet the requirements of the program module being developed. In this case, the program module needs to satisfy the request by modifying the common function.

そして、他の開発グループによって開発されている全てのプログラムモジュールにとっても、かかる改変が好都合であるならば、改変後の共通機能によって元の共通機能をオーバーライトすることで、上記仕様については一切変更を行うことなく、開発を継続していくことができる。   And if all of the program modules developed by other development groups are convenient, such specifications can be changed by overwriting the original common functions with the modified common functions. Development can be continued without having to

これに対して、他の開発グループによって開発されている一部又は全部のプログラムモジュールにとってかかる改変が不都合であるならば、改変後の共通機能によって元の共通機能をオーバーライトさせずに、相互に別個独立のものとして併存させざるを得ない。   On the other hand, if such modification is inconvenient for some or all program modules developed by other development groups, the original common function is not overwritten by the common function after modification. They must coexist as separate and independent entities.

この場合、改変後の共通の共通機能については、新たな名称を付与し、当該新たな名称によって呼び出すことになる。もっとも、他の開発グループによって開発されているプログラムモジュールの多くにとってかかる改変が好都合である一方、かかる改変が不都合であるプログラムモジュール数が僅かに留まる場合には、改変後の共通機能に元の名称を付し、改変前の共通機能に新たな名称を付した方が、名称の変更に伴う全開発グループの全
体としての影響量(追加作業の手間)を、抑えることができる可能性もある。
In this case, a new common name is assigned to the common function after modification, and the new common name is called by the new name. However, for many of the program modules being developed by other development groups, such modifications are convenient, but when the number of program modules for which such modifications are inconvenient remains slightly, the original name is used for the common function after modification. If you add a new name to the common function before the modification, there is a possibility that the influence amount (the effort of additional work) of all development groups due to the name change can be suppressed.

従来の分散開発環境においては、新旧何れの共通機能に元の名称を引き継がせるかに依って影響量に如何なる違いが生じるかを算出する手法が知られていなかったので、かかる共通機能の改変が一部の開発グループから提案された場合には、その都度、管理者及び各開発グループの代表者が一同に会して、元の名称を新旧何れの共通機能に引き継がせるべきかについて、検討会議を行わざるを得なかった。その結果、作業の進捗が遅れたり、判断ミスに因って不必要に追加作業が増大したりする問題が生じ得た。   In the conventional distributed development environment, there is no known method for calculating the difference in the amount of influence depending on whether the original name is inherited by the old or new common function. When a proposal is made by some development groups, the manager and representatives of each development group meet together to discuss whether the original name should be transferred to the old or new common function. I had to do it. As a result, there may have been a problem that the progress of the work is delayed or the additional work is unnecessarily increased due to a judgment error.

そこで、本案は、共通機能の改変によって新旧の共通機能が併存するに至った場合に、各開発グループに開発委託された全プログラムモジュールに生じる影響度の総和が最も小さくなるように、新旧何れの版の共通機能に新名称を付与すべきかを決定することができる分散開発管理プログラムの提供を、課題とする。   Therefore, when the new and old common functions coexist due to the modification of the common function, this proposal is designed so that the total sum of the effects on all program modules entrusted to each development group is minimized. It is an issue to provide a distributed development management program that can determine whether a new name should be given to a common function of a version.

本案が適用された分散開発管理プログラムは、コンピュータに対して、何れかの共通機能を利用する各プログラムモジュールについて、当該共通機能の変更前の版を利用するか変更後の版を利用するかの選択情報を取得させ、変更前の版を利用することが選択された全プログラムモジュールに生じる当該共通機能の名称変更に因る影響量,及び、変更後の版を利用することが選択された全プログラムモジュールに生じる当該共通機能の名称変更に因る影響量を夫々算出させ、算出された影響度が小さくなる側のプログラムモジュールについて選択された版を新名称付与対象と決定させる。   Whether the distributed development management program to which this proposal is applied uses the version before or after the change of the common function for each program module that uses any common function for the computer The amount of influence caused by the name change of the common function that occurs in all program modules for which selection information is acquired and the version before the change is selected, and all the versions that are selected to use the version after the change are selected The amount of influence caused by the name change of the common function occurring in the program module is calculated, and the version selected for the program module on the side where the calculated degree of influence is reduced is determined as a new name assignment target.

このように、変更前の版の利用が選択されたプログラムモジュール群,及び、変更後の版の利用が選択されたプログラムモジュール群について、夫々、選択された版の共通機能の名称が元の名称から新名称に変更された場合にそのプログラムモジュール群に属する全プログラムモジュールに夫々生じる影響度が算出される。そして、算出された影響度が小さくなる版が新名称付与対象と決定される。このように、影響度が最も小さくなる版が新名称付与対象と自動的に決定されるので、開発中の全プログラムモジュールに生じる影響度の総和を可及的に小さく抑えることができる。また、各開発グループの担当者が一同に会する必要がないので、それによって生じる作業進捗の遅れをも防止することができる。   As described above, the names of the common functions of the selected version are the original names of the program module group selected to use the version before the change and the program module group selected to use the version after the change. When the name is changed to a new name, the degree of influence that occurs in all the program modules belonging to the program module group is calculated. Then, a version having a smaller calculated influence degree is determined as a new name assignment target. As described above, since the version having the smallest degree of influence is automatically determined as a new name assignment target, the sum of the degree of influence occurring in all program modules under development can be minimized. In addition, since it is not necessary for the persons in charge of each development group to meet together, it is possible to prevent delays in the work progress caused by this.

本案において、プログラムモジュールに生じる影響とは、例えば、ソースプログラムにおける共通機能の呼出文の記述変更,それに伴う再コンパイル,再コンパイル後の再テストに夫々掛かる手間などである。もっとも、ソースプログラムの記述変更は、これを自動的に行うツールが利用可能であれば、影響度は僅かであるとみなすことも可能である。このような前提があれば、影響度の算出対象からは、コンパイル前のプログラムモジュールを除外することも可能である。また、コンパイル後のオブジェクトプログラムに対するテストは、実行回数が多ければ多い程、再テストに要する手間は大きくなるので、テスト実行回数に対して所定の重みを乗ずることによって影響量を算出することが可能である。また、再コンパイルに要する手間よりもテスト実行1回当たりの手間が大きければ、再コンパイル1回による影響量よりもテスト実行回数に乗じられる重みを大きくすれば良い。   In the present plan, the effect on the program module is, for example, a description change of a call statement of a common function in the source program, a recompilation associated therewith, and a labor required for a retest after the recompilation. Of course, the change in the description of the source program can be regarded as having a small influence if a tool that automatically performs this change is available. If there is such a premise, it is possible to exclude the pre-compiled program module from the target of calculating the influence degree. In addition, as the number of executions of a test against a compiled object program increases, the amount of time required for retesting increases. Therefore, the amount of influence can be calculated by multiplying the number of test executions by a predetermined weight. It is. Also, if the effort per test execution is greater than the effort required for recompilation, the weight multiplied by the number of test executions may be made larger than the amount of influence by one recompilation.

なお、本案において、共通機能とは、関数,プログラムモジュール,サブルーチン,副プログラム等をいう。   In the present plan, common functions refer to functions, program modules, subroutines, subprograms, and the like.

以上のように構成された本案によると、共通機能の改変によって新旧の共通機能が併存するに至った場合に、変更前の共通機能に新名称を付与した場合と変更後の共通機能に新名称を付与した場合とで各開発グループに開発委託された全プログラムモジュールに生じ
る影響度の総和を夫々自動的に算出し、その比較結果に基づいて、各開発グループに開発委託された全プログラムモジュールに生じる影響度の総和が最も小さくなるように、新旧何れかの版の共通機能に、新名称を付与すべきかを決定することができる。
According to the proposal configured as described above, when the new and old common functions coexist due to the modification of the common function, the new name is given to the common function before the change and the new name to the common function after the change. Is automatically calculated for each program module entrusted to each development group, and based on the comparison results, all program modules entrusted to each development group are calculated. It is possible to determine whether a new name should be given to the common function of either the old version or the old version so that the total sum of the degree of influence is minimized.

以下、図面に基づいて、本案の実施の形態を説明する。   Hereinafter, embodiments of the present plan will be described based on the drawings.

<システム構成>
図1は、プログラム分散開発環境を構成するネットワークシステムの概略構成を示すブロック図である。図1に示すように、このネットワークシステムは、ネットワークNWを介して相互に接続された一台の開発管理システム1及び複数の開発グループのシステム2から、構成されている。このうち、開発管理システム1は、開発対象プログラム製品全体の開発責任を負う管理者が操作権限を有するコンピュータである。また、各開発グループのシステム2は、当該開発対象プログラム製品の仕様に従って開発者から一部のプログラムモジュールの開発の委託を受けた開発グループに夫々設置され、当該開発グループの担当者によって操作されるコンピュータである。
<System configuration>
FIG. 1 is a block diagram showing a schematic configuration of a network system constituting a program distributed development environment. As shown in FIG. 1, this network system includes a single development management system 1 and a plurality of development group systems 2 connected to each other via a network NW. Among these, the development management system 1 is a computer having an operation authority by an administrator who is responsible for development of the entire development target program product. The system 2 of each development group is installed in a development group entrusted with development of some program modules from the developer according to the specifications of the development target program product, and is operated by a person in charge of the development group. It is a computer.

先ず、ネットワークNWとしては、管理者及び各開発グループが同一企業に属している場合には、企業内LAN(Local Area Network)を用いることができ、一部又は全部の開発グループが別企業である場合には、インターネットを用いることができる。   First, as the network NW, when the administrator and each development group belong to the same company, an in-company LAN (Local Area Network) can be used, and a part or all of the development groups are different companies. In some cases, the Internet can be used.

次に、開発グループのシステム2は、ネットワーク接続機能を有する通常構成を有するコンピュータであり、バスBを通じて相互に接続されたCPU24,ディスプレイ25,入力装置26,RAM27,ネットワークアダプタ28及びハードディスク20から、構成されている。   Next, the system 2 of the development group is a computer having a normal configuration having a network connection function. From the CPU 24, the display 25, the input device 26, the RAM 27, the network adapter 28, and the hard disk 20 connected to each other through the bus B, It is configured.

このうち、ハードディスク20内には、開発プログラムソース格納領域21,コンパイル状況格納領域22,及びテスト実行状況格納領域23が、確保されている。   Among these, a development program source storage area 21, a compilation status storage area 22, and a test execution status storage area 23 are secured in the hard disk 20.

このうち、開発プログラムソース格納領域21には、当該開発グループに開発が委託された各プログラムモジュールについて、その開発中及び完成済みのソースプログラムのファイル(ソースファイル)を格納する領域である。   Among these, the development program source storage area 21 is an area for storing a source program file (source file) being developed and completed for each program module whose development has been outsourced to the development group.

また、コンパイル状況格納領域22は、完成したソースプログラムをコンパイルした結果であるオブジェクトプログラムのファイル(オブジェクトファイル)を格納する領域である。   The compilation status storage area 22 is an area for storing an object program file (object file) that is a result of compiling a completed source program.

また、テスト実行状況格納領域23は、オブジェクトプログラムに対して、例えばCOBOLのCOUNT機能のようなテスト用のツールを用いてテストを実行した回数を、格納する領域である。   The test execution status storage area 23 is an area for storing the number of times the test is executed on the object program using a test tool such as the COBOL COUNT function.

これら開発プログラムソース格納領域21,コンパイル状況格納領域22,及びテスト実行状況格納領域23の夫々の位置情報(パス),並びに、各領域21〜23に対して夫々最新のファイル乃至情報を格納しなければならない旨は、管理者が当該開発グループに交付する仕様に、定められている。従って、各開発グループの担当者は、各領域21〜23に新たに格納すべきファイル又はデータが発生する都度、また、これらが更新される都度、そのCPU24が実行するプログラムに従って、その入力装置を通じて最新のファイル又はデータを読み込んで、該当する領域21〜23に格納する。   The location information (path) of the development program source storage area 21, the compilation status storage area 22, and the test execution status storage area 23, and the latest files or information must be stored in the areas 21 to 23, respectively. It is stipulated in the specifications that the administrator issues to the development group. Therefore, the person in charge of each development group uses the input device in accordance with the program executed by the CPU 24 each time a file or data to be newly stored in each of the areas 21 to 23 is generated or is updated. The latest file or data is read and stored in the corresponding areas 21 to 23.

なお、これらの格納及び更新の処理は、CPU24が実行するプログラムに従って、自
動的になされても良い。また、CPU24が実行するプログラムは、開発管理システム1から受信したリクエストに応じて、各領域21〜23に格納されているファイル又は情報を、開発管理システム1に応答する。さらに、CPU24が実行するプログラムは、開発管理システム1から受信したリクエストに応じて、開発プログラムソース格納領域に格納されている完成済みのソースプログラムをコンパイルして、その結果としてのオブジェクトファイルをコンパイル状況格納領域22に格納する。
These storage and update processes may be automatically performed according to a program executed by the CPU 24. Further, the program executed by the CPU 24 responds to the development management system 1 with files or information stored in the areas 21 to 23 in response to a request received from the development management system 1. Further, the program executed by the CPU 24 compiles the completed source program stored in the development program source storage area in response to the request received from the development management system 1 and compiles the resulting object file into a compilation status. Store in the storage area 22.

次に、開発管理システム1は、通常構成を有するコンピュータシステムであり、そのハードウェアは、互いにバスBによって接続されたCPU10,RAM11,ネットワークアダプタ12,ディスプレイ13,入力装置14,及びハードディスク16から、構成されている。   Next, the development management system 1 is a computer system having a normal configuration, and the hardware includes a CPU 10, a RAM 11, a network adapter 12, a display 13, an input device 14, and a hard disk 16 connected to each other by a bus B. It is configured.

CPU10は、プログラムを読み込んで、プログラムに従った処理を実行する中央処理装置である。   The CPU 10 is a central processing unit that reads a program and executes processing according to the program.

RAM11は、CPU10によってハードディスク16から読み出されたプログラムが読み込まれて、CPU10が上記処理を実行する際の作業領域が展開される主記憶装置である。ここでは、ハードディスク16から読み出された分散開発管理プログラムが読み込まれることにより、RAM11上には、利用共通機能変更ソースファイル特定手段(選択情報取得手段)31,名称変更対象特定手段32,影響量算出手段33及び変更手段34の各機能が、展開される。これら利用共通機能変更ソースファイル特定手段31,名称変更対象特定手段32,影響量算出手段33及び変更手段34の各機能については、図6乃至図10のフローチャートを参照して、後で詳細に説明する。   The RAM 11 is a main storage device in which a work area when the program read from the hard disk 16 by the CPU 10 is read and the CPU 10 executes the above processing is expanded. Here, when the distributed development management program read from the hard disk 16 is read, the use common function change source file specifying means (selection information acquiring means) 31, the name change target specifying means 32, the influence amount are stored on the RAM 11. Each function of the calculation means 33 and the change means 34 is developed. The functions of the use common function change source file specifying unit 31, the name change target specifying unit 32, the influence amount calculating unit 33, and the changing unit 34 will be described in detail later with reference to the flowcharts of FIGS. To do.

ネットワークアダプタ12は、ネットワークNWを終端してネットワークNWとの間でデータ通信を司る通信装置である。   The network adapter 12 is a communication device that terminates the network NW and manages data communication with the network NW.

ディスプレイ13は、CPU10による処理結果を表示するための表示装置である。   The display 13 is a display device for displaying a processing result by the CPU 10.

入力装置14は、ドライブ装置,キーボード,マウス等のポインティングデバイス等の各種入力装置を含む。   The input device 14 includes various input devices such as a drive device, a keyboard, and a pointing device such as a mouse.

ハードディスク16は、上述した分散開発管理プログラムを含む各種プログラム及び各種データを格納する記憶装置である。このハードディスク16に格納されている各種データには、分散開発管理プログラムによってアクセスされる開発グループ管理DB(データベース)35,影響度判定テーブル36,関連ソースファイル状況テーブル37,影響重付DB38が、含まれている。   The hard disk 16 is a storage device that stores various programs including the distributed development management program and various data. The various data stored in the hard disk 16 includes a development group management DB (database) 35, an impact determination table 36, a related source file status table 37, and an impact weighted DB 38 that are accessed by the distributed development management program. It is.

開発グループ管理DB35は、各開発グループ毎に、上述した開発プログラムソース格納領域21,コンパイル状況格納領域22,及びテスト実行状況格納領域23の夫々の位置情報(パス)を記録するためのデータベースである。図2は、この開発グループ管理DB35の概略データ構造を示す表である。図2に示されるように、この開発グループ管理DB35は、各開発グループ毎に一つのレコードを格納している。そして、各レコードは、対応する開発グループのコード番号を記録するための「開発グループ」フィールド,開発開発プログラムソース格納領域21の位置情報(パス)を記録するための「開発プログラムソース格納領域」フィールド,コンパイル状況格納領域22の位置情報(パス)を記録するための「コンパイル状況格納領域」フィールド,テスト実行状況格納領域23の位置情報(パス)を記録するための「テスト実行状況格納領域」フィールド,及び、担当者のメールアドレスを格納するための「メールアドレス」フィールドから、構成されている。   The development group management DB 35 is a database for recording the position information (path) of the development program source storage area 21, the compilation status storage area 22, and the test execution status storage area 23 described above for each development group. . FIG. 2 is a table showing a schematic data structure of the development group management DB 35. As shown in FIG. 2, the development group management DB 35 stores one record for each development group. Each record has a “development group” field for recording the code number of the corresponding development group, and a “development program source storage area” field for recording position information (path) of the development development program source storage area 21. , “Compilation status storage area” field for recording position information (path) of the compilation status storage area 22, “Test execution status storage area” field for recording position information (path) of the test execution status storage area 23 , And a “mail address” field for storing the mail address of the person in charge.

影響度判定テーブル36は、影響度算出手段33によって影響度の比較のために用いられるテーブルである。図3は、この影響度判定テーブル36のデータ構造を示す表である。この図3に示すように、影響度判定テーブル36は、変更後の版の共通機能を呼び出すプログラムモジュールについて算出された影響度の総和(選択=新),及び、変更前の版の共通機能を呼び出すプログラムモジュールについて算出された影響度の総和(選択=旧)を夫々記録するための「影響度合」フィールドを、有している。   The influence degree determination table 36 is a table used for comparison of influence degrees by the influence degree calculation means 33. FIG. 3 is a table showing the data structure of this influence determination table 36. As shown in FIG. 3, the influence degree determination table 36 shows the sum of influence degrees (selection = new) calculated for the program modules that call the common function of the version after change, and the common function of the version before change. It has an “influence degree” field for recording the sum of influence degrees (selection = old) calculated for each program module to be called.

関連ソースファイル状況テーブル37は、各開発グループに開発を委託した各プログラムモジュールについて、その開発の進捗状況を記録するためのテーブルである。図4は、この関連ソースファイル状況テーブル37の概略データ構造を示す表である。図4に示されるように、この関連ソースファイル状況テーブル37は、各プログラムモジュール毎に一つのレコードを格納している。そして、各レコードは、対応するプログラムモジュールのソースファイルの名称を記録するための「ソースファイル名」フィールド,開発グループのコード番号を記録するための「開発グループ」フィールド,対応するプログラムモジュールのソースプログラムが変更後の版の共通機能を呼び出すか(新)変更前の版の共通機能を呼び出すか(旧)を記録するための「選択」フィールド,コンパイルが未だなされていないか(未)既に完了しているか(済)を記録するための「コンパイル」フィールド,テスト実行状況格納領域23に記録されたテスト実行回数を転載するための「テスト実行回数」フィールド,対応するプログラムモジュールについて算出された「影響度」を記録するための「影響度」フィールドから、構成されている。なお、各プログラムモジュールを各開発グループに開発委託した段階では、「ソースファイル名」フィールド及び「開発グループ」フィールドに値が書き込まれるが、他のフィールドは空欄となっている。なお、「選択」フィールドの値が、共通機能の変更前の版を利用するか変更後の版を利用するかの選択情報に、相当する。   The related source file status table 37 is a table for recording the progress of development of each program module entrusted to each development group. FIG. 4 is a table showing a schematic data structure of the related source file status table 37. As shown in FIG. 4, the related source file status table 37 stores one record for each program module. Each record includes a “source file name” field for recording the name of the source file of the corresponding program module, a “development group” field for recording the code number of the development group, and a source program of the corresponding program module. "Select" field to record whether the new function calls the common function of the new version or (new) the common function of the previous version (old), whether the compilation has not been done yet (not yet) "Compile" field for recording whether or not (completed), "Test execution number" field for reprinting the test execution number recorded in the test execution status storage area 23, "Impact" calculated for the corresponding program module It consists of an “influence” field for recording “degree”. At the stage where each program module is outsourced to each development group, values are written in the “source file name” field and the “development group” field, but the other fields are blank. Note that the value of the “selection” field corresponds to selection information on whether to use the version before or after changing the common function.

影響重付DB38は、影響度算出手段33による後述する影響度の判定のために用いる重み値を、リコンパイル用及び再テスト用に夫々記憶しているデータベースである。図5は、この影響重付DB38のデータ構造を示す表である。この図5に示すように、影響重付DB38は、リコンパイル用の重み値を記録するための「リコンパイル」フィールド及び再テスト用の重み値を記録するための「再テスト」フィールドを、有している。   The influence weighting DB 38 is a database that stores weight values used for determination of the degree of influence, which will be described later, by the influence degree calculating means 33 for recompilation and retesting. FIG. 5 is a table showing the data structure of the influence weighted DB 38. As shown in FIG. 5, the influence weighted DB 38 has a “recompile” field for recording a weight value for recompilation and a “retest” field for recording a weight value for retest. doing.

<データ処理の流れ>
以下、上述したように構成されたネットワークシステムを構成する開発管理システム1において、ハードディスク16に格納されている分散開発プログラムを読み込んだCPU10が実現する処理(即ち、CPU10が実現する各機能31〜34の内容)を、図6乃至図10のフローチャートに基づいて説明する。
<Data processing flow>
Hereinafter, in the development management system 1 constituting the network system configured as described above, the processing realized by the CPU 10 reading the distributed development program stored in the hard disk 16 (that is, the functions 31 to 34 realized by the CPU 10). Will be described with reference to the flowcharts of FIGS.

図6のフローチャートに示す処理は、管理者が開発対象プログラム製品について仕様を決定し、各開発グループに当該仕様を交付するとともに、開発グループ管理DB35に必要なデータを格納することにより、スタートする。   The process shown in the flowchart of FIG. 6 starts when the administrator determines the specifications for the development target program product, issues the specifications to each development group, and stores necessary data in the development group management DB 35.

そして、スタート後最初のS001では、CPU10は、各開発グループからの仕様変更提案通知を待つ。この仕様変更提案通知は、管理者から各開発グループに交付された仕様中において定められたフォーマットに則って、各開発グループのシステム2から開発管理システム1に対して通知される、対象共通機能の名称,当該共通機能の変更を求める旨及び変更後の版の共通機能の内容を含むメッセージである。   In the first step S001 after the start, the CPU 10 waits for a specification change proposal notification from each development group. This specification change proposal notification is sent from the system 2 of each development group to the development management system 1 in accordance with the format defined in the specification issued to each development group by the administrator. This message includes the name, a request to change the common function, and the contents of the changed common function.

次のS002では、CPU10は、何れかの開発グループから仕様変更提案通知を受信したかどうかをチェックする。そして、未だ何れの開発グループからも仕様変更提案通知
を受信していない場合には、CPU10は、処理をS001へ戻す。これに対して、何れかの開発グループから仕様変更提案通知を受信すると、CPU10は、処理をS003へ進める。
In the next S002, the CPU 10 checks whether a specification change proposal notification is received from any of the development groups. If no specification change proposal notification has been received from any development group, the CPU 10 returns the process to S001. On the other hand, when the specification change proposal notification is received from any of the development groups, the CPU 10 advances the process to S003.

S003では、CPU10は、S002にて受信した仕様変更提案通知から、対象共通機能の名称及び変更後の内容を抽出し、ディスプレイ13上に表示する。   In S003, the CPU 10 extracts the name of the target common function and the contents after the change from the specification change proposal notification received in S002, and displays them on the display 13.

次のS004では、CPU10は、入力装置14を通じて入力される操作者からの指示に従って、当該仕様変更提案の内容,即ち、S003にて抽出及び表示された変更後の共通仕様の採用可否についてチェックする。そして、操作者が採用しない旨の指示を入力した場合には、CPU10は、そのままこの分散開発プログラムによる処理を終了する。   In the next S004, the CPU 10 checks the content of the specification change proposal, that is, whether or not the changed common specification extracted and displayed in S003 can be adopted according to the instruction from the operator input through the input device 14. . When the operator inputs an instruction not to adopt, the CPU 10 ends the processing by this distributed development program as it is.

これに対して、操作者が採用する旨の指示を入力した場合には、CPU10は、S005において、変更提案された変更後の版の共通機能を利用するプログラムモジュールのソースファイルを特定する処理を実行する。   On the other hand, when the operator inputs an instruction to adopt, in S005, the CPU 10 performs a process of specifying the source file of the program module that uses the common function of the revised version after the change proposed. Run.

図7は、S005にて実行される利用共通機能変更ソースファイル特定処理サブルーチンを示すフローチャートである。このサブルーチンに入って最初のS101では、CPU10(利用共通機能変更ソースファイル特定手段31)は、開発グループ管理DB35から、各開発グループについての「開発プログラムソース格納領域」フィールドの値,即ち、その位置情報(パス)を読み取る。   FIG. 7 is a flowchart showing the common use function change source file specifying process subroutine executed in S005. In the first step S101 after entering this subroutine, the CPU 10 (usage common function change source file specifying means 31) reads the value of the “development program source storage area” field for each development group from the development group management DB 35, that is, its position. Read information (path).

次のS102では、CPU10(利用共通機能変更ソースファイル特定手段31)は、S101にて取得した位置情報(パス)に基づいて、全開発グループのシステム2における開発プログラムソース格納領域21を検索し、変更提案されている共通機能を利用しているプログラムモジュールのソースファイルを取得する。   In next S102, the CPU 10 (usage common function change source file specifying means 31) searches the development program source storage area 21 in the system 2 of all development groups based on the position information (path) acquired in S101, Get the source file of the program module that uses the proposed common function.

次のS103では、CPU10(利用共通機能変更ソースファイル特定手段31)は、S102でのソースファイルの取得元となった開発グループのコード番号,各ソースファイルの名称,及び、必要であればその内容を含む変更ソースファイル選択画面をディスプレイ13上に表示し、各開発グループにおいて各ソースファイルに関して変更前の版の共通機能(新)を使用するか変更後の版の共通機能(旧)を使用するかの選択を、受け付ける。即ち、図11に示すように、この変更ソースファイル選択画面には、各開発グループのコード番号40及び各ソースファイルのソースファイル名41の組合せ毎に、新又は旧を選択するためのオプションボタン42及びソースプログラムの詳細内容を表示させるための「参照」ボタン43が、一覧表示されている。そして、開発管理システム1の操作者は、各開発グループの担当者から事情聴取した新旧の選択結果に従って、各組合せについて新旧何れかのオプションボタン42をチェックするのである。なお、この選択画面を、各開発グループのシステム2のディスプレイ25に表示させ、この選択画面上で各開発グループの担当者によって直接入力された新旧選択結果を、ネットワークNWを通じて開発管理システム1が受信するように、構成されても良い。何れにしても、全ての開発グループのコード番号40及びソースファイル名41の組合せについて新旧選択結果を受け付けると、CPU10(利用共通機能変更ソースファイル特定手段31)は、処理をS104へ進める。   In the next S103, the CPU 10 (usage common function change source file specifying means 31), the code number of the development group from which the source file was acquired in S102, the name of each source file, and the contents if necessary The change source file selection screen including “” is displayed on the display 13, and the common function (new) of the version before change is used for each source file in each development group or the common function (old) of the version after change is used. The selection is accepted. That is, as shown in FIG. 11, the change source file selection screen has an option button 42 for selecting new or old for each combination of the code number 40 of each development group and the source file name 41 of each source file. A “reference” button 43 for displaying the detailed contents of the source program is displayed in a list. Then, the operator of the development management system 1 checks either the old or new option button 42 for each combination according to the new and old selection results obtained from the person in charge of each development group. This selection screen is displayed on the display 25 of the system 2 of each development group, and the development management system 1 receives the new and old selection results directly input by the person in charge of each development group on this selection screen via the network NW. It may be configured to do so. In any case, when accepting the new / old selection results for the combinations of the code numbers 40 and the source file names 41 of all the development groups, the CPU 10 (usage common function change source file specifying means 31) advances the process to S104.

次のS104では、CPU10(利用共通機能変更ソースファイル特定手段31)は、S103にて選択入力された内容を基に、図4(a)に例示するように、関連ソースファイル情況テーブル37を生成する。この時点では、同テーブル中「コンパイル」フィールド,「テスト実行回数」フィールド及び「影響度」フィールドは未設定となっている。S104を完了すると、CPU10(利用共通機能変更ソースファイル特定手段31)は、
図7のサブルーチンを修了して、図6におけるS005からS006へ進む。
In the next S104, the CPU 10 (usage common function change source file specifying means 31) generates a related source file situation table 37 as illustrated in FIG. 4A based on the contents selected and input in S103. To do. At this time, the “compile” field, the “test execution count” field, and the “influence” field are not set in the table. When S104 is completed, the CPU 10 (usage common function change source file specifying unit 31)
After completing the subroutine of FIG. 7, the process proceeds from S005 to S006 in FIG.

S006では、CPU10(名称変更対象特定手段32)は、各共通機能について、変更後のものに元の名称を引き継がせるか、変更前のものに元の名称を引き継がせるかを特定する処理を実行する。図8は、S006にて実行される名称変更対象特定処理サブルーチンを示すフローチャートである。   In S006, for each common function, the CPU 10 (name change target specifying means 32) executes processing for specifying whether the original name is inherited by the one after the change or the original name is succeeded by the one before the change. To do. FIG. 8 is a flowchart showing the name change target specifying subroutine executed in S006.

このサブルーチンに入って最初のS201では、CPU10(名称変更対象特定手段32)は、開発グループ管理DB35から、各開発グループについての「コンパイル状況格納領域」フィールドの値,即ち、その位置情報(パス)を読み取る。そして、読み取った位置情報(パス)に基づいて、各開発グループのシステム2におけるコンパイル状況格納領域22を検索し、S005にて特定した各プログラムモジュールについてのオブジェクトファイルがあるか否かに基づいて、各プログラムモジュールのソースプログラムがコンパイル済みが否かを判定する。そして、判定結果を、関連ソースファイル状況テーブル37における各プログラムモジュールについての「コンパイル」フィールドに設定する(図4(b)参照)。   In the first step S201 after entering this subroutine, the CPU 10 (name change target specifying means 32) reads the value of the “compilation status storage area” field for each development group from the development group management DB 35, that is, its position information (path). Read. Based on the read position information (path), the compilation status storage area 22 in the system 2 of each development group is searched, and based on whether there is an object file for each program module specified in S005, It is determined whether or not the source program of each program module has been compiled. Then, the determination result is set in the “compile” field for each program module in the related source file status table 37 (see FIG. 4B).

次のS202では、CPU10(名称変更対象特定手段32)は、開発グループ管理DB35から、各開発グループについての「テスト実行状況格納領域」フィールドの値,即ち、その位置情報(パス)を読み取る。そして、位置情報(パス)に基づいて、各開発グループのシステム2におけるテスト実行状況格納領域23を、関連ソースファイル状況テーブル37において「コンパイル」フィールドに「済」が設定された各ソースファイル名をキーとして検索し、オブジェクトプログラムに対するテスト実行回数を取得する。そして、取得した各オブジェクトプログラムに対するテスト実行回数を、関連ソースファイル状況テーブルの「テスト実行回数」フィールドに設定する(図4(c)参照)。   In the next S202, the CPU 10 (name change target specifying means 32) reads the value of the “test execution status storage area” field for each development group, that is, its position information (path), from the development group management DB 35. Then, based on the position information (path), the test execution status storage area 23 in the system 2 of each development group is changed to each source file name in which “completed” is set in the “compile” field in the related source file status table 37. Search as a key and get the number of test executions for the object program. Then, the test execution count for each acquired object program is set in the “test execution count” field of the related source file status table (see FIG. 4C).

次のS203では、CPU10(名称変更対象特定手段32)は、各開発グループに開発委託した各プログラムモジュールについて、変更提案された共通機能について、変更前の版の名称を新名称に変更した場合の影響度と変更後の版の名称を新名称に変更した場合の影響度とを夫々算出するための、影響度算出処理を実行する。   In the next S203, the CPU 10 (name change target specifying means 32) changes the name of the version before change to a new name for the proposed common function for each program module outsourced to each development group. An influence degree calculation process is performed for calculating the influence degree and the influence degree when the changed version name is changed to the new name.

図9は、S203にて実行される影響度算出サブルーチンを示すフローチャートである。このサブルーチンに入って最初のS301では、CPU10(影響度算出手段33)は、関連ソースファイル状況テーブル37における処理対象レコードを特定するための変数nを初期値“1”にリセットする。   FIG. 9 is a flowchart showing the influence degree calculation subroutine executed in S203. In the first step S301 after entering this subroutine, the CPU 10 (influence calculation means 33) resets the variable n for specifying the processing target record in the related source file status table 37 to the initial value “1”.

続いて、CPU10(影響度算出手段33)は、関連ソースファイル状況テーブル37の各レコード毎に影響度算出を行うために、S302乃至S309のループ処理を実行する。このループ処理に入って最初のS302では、CPU10(影響度算出手段33)は、関連ソースファイル状況テーブル37からn番目のレコードを読み取る。   Subsequently, the CPU 10 (influence degree calculation means 33) executes a loop process of S302 to S309 in order to calculate the influence degree for each record of the related source file status table 37. In the first step S <b> 302 after entering this loop process, the CPU 10 (influence calculation means 33) reads the nth record from the related source file status table 37.

次のS303では、CPU10(影響度算出手段33)は、S302にて読み取ったn番目のレコードから、「コンパイル」フィールドの値を取得する。   In next step S303, the CPU 10 (the influence degree calculating unit 33) acquires the value of the “compile” field from the nth record read in step S302.

次のS304では、CPU10(影響度算出手段33)は、S303にて読み取った値が“済”となっているか否かをチェックする。そして、値が“未”であるか未設定であると、当該レコードについては未コンパイル故に名称変更に因る影響は僅かであると見なせるので、CPU10(影響度算出手段33)は、処理をそのままS308へ進める。これに対して、値が“済”であると、当該レコードについてはコンパイル済み故に名称変更に因る影響が大きいと見なせるので、CPU10(影響度算出手段33)は、処理をS30
5へ進める。
In next step S304, the CPU 10 (influence calculation means 33) checks whether or not the value read in step S303 is “completed”. If the value is “not yet” or not set, the record 10 can be regarded as having little influence due to the name change because it has not been compiled. Therefore, the CPU 10 (the influence degree calculating means 33) does not change the process as it is. Proceed to S308. On the other hand, if the value is “done”, since the record is already compiled, it can be considered that the influence due to the name change is large. Therefore, the CPU 10 (impact calculation unit 33) performs the process in S30.
Proceed to 5.

S305では、CPU10(影響度算出手段33)は、影響度重み付けDB38から、「コンパイル」に対応した値を読み取り、読み取った値を、関連ソースファイル状況テーブル37のn番目のレコードの「影響度」フィールドに設定する。   In S <b> 305, the CPU 10 (the influence degree calculating unit 33) reads the value corresponding to “compile” from the influence degree weighting DB 38, and uses the read value as the “influence degree” of the nth record in the related source file status table 37. Set in the field.

次のS306では、CPU10(影響度算出手段33)は、関連ソースファイル状況テーブル37のn番目のレコードから「テスト実行回数」フィールドの値を取得する。   In next step S <b> 306, the CPU 10 (the influence degree calculation unit 33) acquires the value of the “test execution count” field from the n-th record of the related source file status table 37.

次のS307では、CPU10(影響度算出手段33)は、影響重付DB38から、「再テスト」に対応した値を読み取り、読み取った値をS306にて取得した「テスト実行回数」フィールドの値に乗じ、算出された積を、関連ソースファイル状況テーブル37のn番目のレコードの「影響度」フィールドの値に、加算する。S307を完了すると、CPU10(影響度算出手段33)は、処理をS308へ進める。   In next step S307, the CPU 10 (the influence degree calculating unit 33) reads the value corresponding to “retest” from the influence weighting DB 38, and sets the read value to the value of the “test execution count” field acquired in step S306. The product calculated by multiplication is added to the value of the “influence” field of the nth record in the related source file status table 37. When S307 is completed, the CPU 10 (influence calculation unit 33) advances the process to S308.

S308では、CPU10(影響度算出手段33)は、変数nを一つインクリメントする。   In S308, the CPU 10 (influence calculation means 33) increments the variable n by one.

次のS309では、CPU10(影響度算出手段33)は、関連ソースファイル状況テーブル37の全レコードについてS302以下の処理を完了したかどうかチェックする。そして、未だ全レコードについて処理を完了していない場合には、CPU10(影響度算出手段33)は、処理をS302へ戻す。   In next step S309, the CPU 10 (the influence degree calculating unit 33) checks whether or not the processing in step S302 and subsequent steps has been completed for all the records in the related source file status table 37. If the processing has not yet been completed for all records, the CPU 10 (influence calculation means 33) returns the processing to S302.

これに対して、全レコードについて処理を完了した場合には、CPU10(影響度算出手段33)は、この影響度算出処理サブルーチンを完了して、処理を図8のルーチンに戻す。   On the other hand, when the process has been completed for all the records, the CPU 10 (influence degree calculation means 33) completes this influence degree calculation process subroutine and returns the process to the routine of FIG.

処理が戻された図8のルーチンでは、CPU10(名称変更対象特定手段32)は、S203の次のS204において、関連ソースファイル状況テーブル37の全レコードのうち「選択」フィールドの値が“旧”であるものの「影響度」フィールドの値の総和を算出し、算出した総和を、影響度判定テーブル36における「選択」フィールドの値が“旧”であるレコードの「影響度合」フィールドに、設定する。   In the routine of FIG. 8 in which the process is returned, the CPU 10 (name change target specifying means 32), in S204 following S203, the value of the “selected” field among all the records in the related source file status table 37 is “old”. However, the sum of the values in the “influence” field is calculated, and the calculated sum is set in the “influence” field of the record whose “selection” field in the influence determination table 36 is “old”. .

次のS205では、CPU10(名称変更対象特定手段32)は、関連ソースファイル状況テーブル37の全レコードのうち「選択」フィールドの値が“新”であるものの「影響度」フィールドの値の総和を算出し、算出した総和を、影響度判定テーブル36における「選択」フィールドの値が“新”であるレコードの「影響度合」フィールドに、設定する。S205を完了すると、CPU10(名称変更対象特定手段32)は、この名称変更対象特定処理サブルーチンを終了して、処理を図6のメインルーチンに戻す。   In the next step S205, the CPU 10 (name change target specifying means 32) calculates the sum of the values in the “influence” field of all records in the related source file status table 37 whose “selection” field value is “new”. The calculated sum is set in the “influence degree” field of the record in which the value of the “selection” field in the influence degree determination table 36 is “new”. When S205 is completed, the CPU 10 (name change target specifying means 32) ends this name change target specifying process subroutine and returns the process to the main routine of FIG.

処理が戻された図6メインルーチンでは、CPU10は、S006の次のS007において、変更処理を実行する。図10は、S007にて実行される変更処理サブルーチンを示すフローチャートである。このサブルーチンに入って最初のS401では、CPU10(変更手段34)は、影響度判定テーブル36の二つのレコードの「影響度合」フィールドの値同士を比較し、小さい方の「選択」フィールドの値を、変数“新名称対象(新名称付与対象)”に設定する。   In the main routine of FIG. 6 in which the process is returned, the CPU 10 executes the change process in S007 following S006. FIG. 10 is a flowchart showing the change processing subroutine executed in S007. In the first step S401 after entering this subroutine, the CPU 10 (changing means 34) compares the values of the “effect level” fields of the two records of the influence level determination table 36, and sets the value of the smaller “selection” field. , Set the variable “New name target (new name assignment target)”.

次のS402では、CPU10(変更手段34)は、新名称の入力を促すメッセージをディスプレイ13上に表示し、操作者が入力装置14を通じて何らかの新名称を入力するを待つ。そして、操作者が新名称を入力すると、これを受け付ける。そして、当該開発管
理システム1に保存している更新前の版の変更対象共通機能及びS003にて仕様変更提案通知から抽出した更新後の版の変更対象共通機能のうち、変数“新名称対象”に対応するものの名称を、受け付けた新名称に変更し、他方(更新後の変更対象共通機能に限る)の名称を、当該変更対象共通機能の元の名称に変更する。
In next step S <b> 402, the CPU 10 (changing unit 34) displays a message for prompting the input of a new name on the display 13 and waits for the operator to input some new name through the input device 14. And if an operator inputs a new name, this will be received. Then, the variable “new name object” among the change target common function of the version before update stored in the development management system 1 and the change target common function of the version after update extracted from the specification change proposal notification in S003. The name of the one corresponding to is changed to the received new name, and the name of the other (limited to the changed common function after update) is changed to the original name of the changed common function.

次のS403では、CPU10(変更手段34)は、関連ソースファイル状況テーブル37中の「選択」フィールドの値が変数“新対象名称”に一致している全レコードを特定する。   In next step S403, the CPU 10 (changing unit 34) specifies all records in which the value of the “selection” field in the related source file status table 37 matches the variable “new target name”.

次のS404では、CPU10(変更手段34)は、S403にて特定した個々のレコード毎に、そのレコードの「開発グループ」の値に対応する「開発プログラムソース格納領域」フィールドの値,即ち、位置情報(パス)を開発グループ管理DB35から読み出し、当該読み出した値,即ち、位置情報(パス)が示す開発プログラムソース格納領域21にアクセスして、そのレコードの「ソースファイル名」フィールドの値が示すソースファイルを読み出し、読み出したソースファイル中のソースプログラムに記述されている変更対象共通機能の名称を、S402にて受け付けた新名称に変更する。かかる処理をS403にて特定した全レコードに対して実行すると、CPU10(変更手段34)は、処理をS405へ進める。   In the next S404, the CPU 10 (changing means 34), for each record specified in S403, the value of the “development program source storage area” field corresponding to the value of the “development group” of that record, that is, the position Information (path) is read from the development group management DB 35, the read value, that is, the development program source storage area 21 indicated by the position information (path) is accessed, and the value of the “source file name” field of the record indicates The source file is read, and the name of the change target common function described in the source program in the read source file is changed to the new name accepted in S402. When this process is executed for all the records specified in S403, the CPU 10 (changing unit 34) advances the process to S405.

S405では、CPU10(変更手段34)は、S403にて特定した全レコードのうち、「コンパイル」フィールドの値が“済”であり且つ「テスト実行回数」フィールドの値が零以上であるもの全てを選別する。そして、選別した個々のレコード毎に、そのレコードの「開発グループ」の値 に対応する「メールアドレス」フィールドの値(メールアドレス)を開発グループ管理DB35から読み出し、読み出したメールアドレス宛に、そのレコードの「ソースファイル名」フィールドの値が示すソースファイルに対するリコンパイルの指示及び再テストの指示を含む電子メールを、通知する。この場合、CPU10(変更手段34)は、当該開発グループのシステム2に対して、直接、当該ソースファイルに対するリコンパイル及び再テストを命じるコマンドを送信しても良い。かかる処理を選別した全レコードに対して実行すると、CPU10(変更手段34)は、処理をS406へ進める。   In S405, the CPU 10 (changing unit 34) selects all the records identified in S403 that have a “compiled” field value of “completed” and a “test execution count” field value of zero or more. Sort out. Then, for each selected record, the value (mail address) of the “mail address” field corresponding to the value of “development group” of the record is read from the development group management DB 35, and the record is sent to the read mail address. An e-mail including a recompile instruction and a retest instruction for the source file indicated by the value of the “source file name” field is notified. In this case, the CPU 10 (changing unit 34) may directly send a command for instructing recompile and retest to the source file to the system 2 of the development group. When this process is executed for all selected records, the CPU 10 (changing unit 34) advances the process to S406.

S406では、CPU10(変更手段34)は、S403にて特定した全レコードのうち、「コンパイル」フィールドの値が“済”であり且つ「テスト実行回数」フィールドの値が未設定又は零であるもの全てを選別する。そして、選別した個々のレコード毎に、そのレコードの「開発グループ」の値 に対する「メールアドレス」フィールドの値(メールアドレス)を読み出し、読み出したメールアドレス宛に、そのレコードの「ソースファイル名」フィールドの値が示すソースファイルに対するリコンパイルの指示を含む電子メールを、送信する。この場合、CPU10(変更手段34)は、当該開発グループのシステム2に対して、直接、当該ソースファイルに対するリコンパイルを命じるコマンドを送信しても良い。かかる処理を選別した全レコードに対して実行すると、CPU10(変更手段34)は、処理をS406へ進める。なお、S406では、S405と異なり開発グループに対して再テストの指示がなされないが、これは、S406の連絡対象となる開発グループでは、元々テストの実行が予定されているからである。S406を完了すると、CPU10(変更手段34)は、この変更処理サブルーチンを終了して、処理を図6のメインルーチンに戻し、このメインルーチンを終了する。   In S406, the CPU 10 (changing means 34), among all the records specified in S403, has a “compiled” field value “completed” and a “test execution count” field value not set or zero. Select all. Then, for each selected record, the value (mail address) of the “mail address” field for the “development group” value of that record is read, and the “source file name” field of that record is read to the read mail address. An e-mail including an instruction to recompile the source file indicated by the value of is sent. In this case, the CPU 10 (changing unit 34) may directly send a command for instructing the source file to be recompiled to the system 2 of the development group. When this process is executed for all selected records, the CPU 10 (changing unit 34) advances the process to S406. In S406, unlike S405, the development group is not instructed to perform a retest. This is because the development group to be contacted in S406 is originally scheduled to execute the test. When S406 is completed, the CPU 10 (changing means 34) ends this changing process subroutine, returns the process to the main routine of FIG. 6, and ends this main routine.

<実施形態の作用>
以上の処理が全て完了すると、一部の開発グループから何れかの共通機能についての仕様変更提案通知があった場合、その提案が採用される限り(S004:YES)、変更前の版の当該共通機能及び変更後の版の当該共通機能の何れか一方には元の名称が承継され
るとともに他方には新名称が与えられるので(S404)、当該共通機能の新旧二つの版が併存できるようになり、各開発グループでは、自己が開発委託されたプログラムモジュールのソースプログラムを作成するに当たり、これら新旧両版の当該共通機能を、任意に選択して呼び出すように記述することができる。
<Operation of Embodiment>
When all of the above processing is completed, if there is a specification change proposal notification for any common function from some development groups, as long as the proposal is adopted (S004: YES), the common version of the version before the change Since the original name is inherited to one of the functions and the common function after the change, and the new name is given to the other (S404), the new and old versions of the common function can coexist. Thus, each development group can describe the common functions of both the old and new versions to be arbitrarily selected and called when creating the source program of the program module for which development is entrusted.

但し、各プログラムモジュールについて開発がある時点まで進んだ段階で、呼び出し対象を変更前の版の共通機能から変更後の版の共通機能に変更することになった場合、変更後の版の共通機能に新名称が付与されたのならば、ソースプログラムにおける当該共通機能の呼出文の記述が、書き換えられなければならない。同様に、呼び出し対象を変更前の版の共通機能ままとした場合でも、変更前の版の共通機能に新名称が付与されたのならば、ソースプログラムにおける当該共通機能の呼出文の記述を、書き換えられなければならない。特に、ソースプログラムを一旦完成させてコンパイルまで実行した段階で、かかる共通機能の仕様変更があった場合には、ソースプログラムの記述変更、ソースプログラムの再コンパイル,再コンパイルされたオブジェクトプログラムに対するテスト実行を行わなければならないので、全体の作業量に対する影響が大きい。   However, if each program module has been developed until a certain point in time, the call target is changed from the common function of the version before the change to the common function of the version after the change, the common function of the version after the change If a new name is given, the description of the call statement of the common function in the source program must be rewritten. Similarly, even if the call target remains the common function of the version before the change, if a new name is given to the common function of the version before the change, the description of the call statement of the common function in the source program is Must be rewritten. In particular, when the specifications of the common function are changed after the source program is completed and compiled, the source program description is changed, the source program is recompiled, and the recompiled object program is tested. Therefore, the influence on the entire work amount is great.

そこで、本実施形態では、かかる影響を最小限に抑えるべく、各開発グループにおける各プログラムモジュールに関する新旧何れの版の共通機能の選択状況に応じて(S005,S103)、変更前の版の共通機能に新名称が付与したならば各開発グループによって開発されている全プログラムモジュールに生ずべき影響度の総和を算出するとともに(S006,S203,S204)、変更後の版の共通機能に新名称が付与したならば各開発グループによって開発されている全プログラムモジュールに生ずべき影響度の総和を算出し(S006,S203,S205)、算出された影響度の総和が小さくなる版の共通機能に、新名称を付与する(S007,S401,S402)。よって、共通機能の仕様変更があり、且つ、変更後の版 の当該共通機能が提案元以外の開発グループによって採用されたとしても、全体に対する影響度が最も小さくなるように、当該共通機能の新名称付与対象の版が決定されるので、変更に伴う影響を最小限に止めることができる。   Therefore, in this embodiment, in order to minimize such influence, the common function of the version before the change is changed according to the selection status of the common function of any version of the program module in each development group (S005, S103). If a new name is given to the program, the total sum of influences to be generated in all program modules developed by each development group is calculated (S006, S203, S204), and the new name is added to the common function of the revised version. If given, the total sum of influences that should occur in all program modules developed by each development group is calculated (S006, S203, S205). A new name is assigned (S007, S401, S402). Therefore, even if there is a change in the specifications of the common function, and the new version of the common function is adopted by a development group other than the proposal source, the new function of the common function is minimized so that the influence on the whole is minimized. Since the version to which the name is assigned is determined, the influence of the change can be minimized.

なお、本実施形態では、変更対象となった共通機能の新旧何れの版に新名称を付与するか(元の名称を承継させるか)を決定すると(S401,S402)、新名称が付与されることとなった版の当該共通機能を採用することが申請されていた(S103)プログラムモジュールのソースプログラムにおける当該共通機能の呼出文の記述が、新名称を対象とするように自動的に書き換えられる(S404)。従って、未だコンパイル前のソースプログラムに対する呼出対象共通機能の名称変更の影響は小さいと考えられるので、上述した影響度算出の対象から、未コンパイルのプログラムモジュールは除外されている。   In the present embodiment, when it is determined whether to assign a new name (whether to inherit the original name) to the old or new version of the common function to be changed (S401, S402), the new name is assigned. The application of adopting the common function of the version that has become the application has been applied (S103) The description of the call statement of the common function in the source program of the program module is automatically rewritten to target the new name (S404). Accordingly, since it is considered that the influence of the name change of the call target common function on the source program before compilation is still small, the uncompiled program module is excluded from the above-described influence degree calculation targets.

さらに、新名称が付与されることとなった版の当該共通機能を採用することを申請していた(S103)開発グループに対しては、リコンパイルの指示がなされる(S405)。   Furthermore, recompilation is instructed to the development group that has applied for the adoption of the common function of the version to which the new name is to be given (S103).

さらに、かかるプログラムモジュールのオブジェクトプログラムに対してテストが実行されている場合には、今まで実施したのと同じ回数のテストの実行の指示がなされる(S405)。このように、呼出文の記述を変更したプログラムモジュールについては、実施済みのテストと同じ数及び内容のテストを、再コンパイル後に再実行しなければならない。従って、テスト実行回数が多いほど、呼出対象共通機能の名称変更の影響が大きくなる。よって、上述した影響度算出においては、テスト実行回数に対して重みの値を乗じることによって、影響度を算出しているのである(S307)。しかも、この再テストは、再コンパイルよりも作業量が大きくなるので、リコンパイル1回に対する重みよりも、再テストに対する重みをお大きくすることにより、現実的な影響度を算出できるのである。
(付記1)
複数の開発グループが、夫々、共通機能を呼び出して利用できるプログラムモジュールの開発を担当する分散開発環境において、前記共通機能を呼び出すための名称を管理するために、コンピュータを、
何れかの共通機能を利用する各プログラムモジュールについて、当該共通機能の変更前の版を利用するか変更後の版を利用するかの選択情報を取得する選択情報取得手段,
変更前の版を利用することが選択された全プログラムモジュールに生じる当該共通機能の名称変更に因る影響量,及び、変更後の版を利用することが選択された全プログラムモジュールに生じる当該共通機能の名称変更に因る影響量を、夫々算出する影響量算出手段,及び、
前記影響量算出手段によって算出された影響度が小さくなる側のプログラムモジュールについて選択された版を新名称付与対象と決定する変更手段
として機能させる分散開発管理プログラム。
(付記2)
前記影響量算出手段は、ソースプログラムからオブジェクトプログラムへのコンパイルが完了したプログラムモジュールのみに基づいて、前記影響量を算出する
ことを特徴とする付記1記載の分散開発管理プログラム。
(付記3)
前記影響量算出手段は、ソースプログラムからオブジェクトプログラムへのコンパイルが完了した各プログラムモジュールについて、再コンパイルに要する作業量及び既に実行したテストを再実行するのに要する作業量として、前記影響量を算出する
ことを特徴とする付記2記載の分散開発管理プログラム。
(付記4)
前記影響量算出手段は、前記再コンパイルに要する作業量よりも、テスト1回当たりに要する作業量が大きくなるように重み付けをして、前記影響量を算出する
ことを特徴とする付記3記載の分散開発管理プログラム。
(付記5)
前記影響量算出手段は、各プログラムモジュールについて、夫々、コンパイル実行の有無及びテスト実行回数を記録しているデータベースにアクセスして、各プログラムモジュールについてのコンパイル実行の有無及びテスト実行回数を読み出して、前記影響量を算出する
ことを特徴とする付記3記載の分散開発管理プログラム。
(付記6)
前記変更手段は、新名称付与対象と決定した版を利用することが選択された各プログラムモジュールのソースプログラム中の呼出文における前記共通機能の名称を、新名称に変更する
ことを特徴とする付記2記載の分散開発管理プログラム。
(付記7)
前記変更手段は、新名称付与対象と決定した版の共通機能の名称を新名称に変更するとともに、他方の版が変更後の共通機能であれば、当該変更後の共通機能に元の名称を付与する
ことを特徴とする付記1記載の分散開発管理プログラム。
Further, when a test is being executed on the object program of the program module, an instruction to execute the test is performed the same number of times as performed so far (S405). As described above, for the program module in which the description of the call statement is changed, the same number and contents of the tests as the executed tests must be re-executed after recompilation. Therefore, the greater the number of test executions, the greater the impact of the name change of the call target common function. Therefore, in the above-described influence degree calculation, the influence degree is calculated by multiplying the number of test executions by the weight value (S307). Moreover, since the amount of work for this retest is larger than that for recompilation, it is possible to calculate a realistic influence degree by making the weight for retest larger than the weight for one recompilation.
(Appendix 1)
In a distributed development environment in which a plurality of development groups are in charge of developing program modules that can call and use common functions, in order to manage names for calling the common functions,
Selection information acquisition means for acquiring selection information on whether to use the version before or after the change of the common function for each program module that uses any of the common functions;
The amount of influence caused by the name change of the common function that occurs in all program modules selected to use the version before change, and the common that occurs in all program modules selected to use the version after change An influence amount calculating means for calculating an influence amount due to a function name change, and
A distributed development management program for causing a version selected for a program module having a smaller influence degree calculated by the influence amount calculating means to function as a changing means for determining a new name assignment target.
(Appendix 2)
The distributed development management program according to appendix 1, wherein the influence amount calculation means calculates the influence amount based only on a program module that has been compiled from a source program into an object program.
(Appendix 3)
The influence amount calculation means calculates the influence amount as the amount of work required for recompilation and the amount of work required to re-execute the already executed test for each program module that has been compiled from the source program to the object program. The distributed development management program according to appendix 2, characterized by:
(Appendix 4)
The amount of influence calculation means calculates the amount of influence by weighting so that the amount of work required per test is larger than the amount of work required for the recompilation. Distributed development management program.
(Appendix 5)
The influence amount calculating means, for each program module, access a database recording the presence / absence of compile execution and the number of test executions, and read the presence / absence of compile execution and the number of test executions for each program module, The distributed development management program according to attachment 3, wherein the influence amount is calculated.
(Appendix 6)
The change means changes the name of the common function in the call statement in the source program of each program module selected to use the version determined to be a new name assignment target to a new name. 2. A distributed development management program according to 2.
(Appendix 7)
The changing means changes the name of the common function of the version determined to be a new name assignment target to the new name, and if the other version is the changed common function, the original name is assigned to the changed common function. The distributed development management program according to appendix 1, which is given.

開発管理システム及び開発グループのシステムの概略構成を示すブロック図Block diagram showing schematic configuration of development management system and development group system 開発グループ管理DBのデータ構造を示す表Table showing data structure of development group management DB 影響度判定テーブルのデータ構造を示す表Table showing the data structure of the impact determination table 関連ソースファイル状況テーブルのデータ構造を示す表Table showing data structure of related source file status table 影響重付DBのデータ構造を示す表Table showing data structure of impact weighted DB 開発管理プログラムによる処理を示すフローチャートFlow chart showing processing by development management program 図6のS005にて実行される利用共通機能変更ソースファイル特定処理サブルーチンの内容を示すフローチャートThe flowchart which shows the content of the use common function change source file specific process subroutine performed by S005 of FIG. 図6のS006にて実行される名称変更対象特定処理サブルーチンの内容を示すフローチャートThe flowchart which shows the content of the name change object specific process subroutine performed in S006 of FIG. 図8のS203にて実行される影響度算出処理サブルーチンの内容を示すフローチャートThe flowchart which shows the content of the influence degree calculation process subroutine performed in S203 of FIG. 図6のS007にて実行される変更処理サブルーチンの内容を示すフローチャートThe flowchart which shows the content of the change process subroutine performed by S007 of FIG. 変更ソースファイル選択画面を示す図Figure showing the change source file selection screen

符号の説明Explanation of symbols

1 開発管理システム
2 開発グループのシステム
10 CPU
11 RAM
14 入力装置
16 ハードディスク
31 利用共通機能変更ソースファイル特定手段
32 名称変更対象特定手段
33 影響量算出手段
34 変更手段
35 開発グループ管理DB
36 影響度判定テーブル
37 関連ソースファイル状況テーブル
38 影響重付DB
1 Development Management System 2 Development Group System 10 CPU
11 RAM
14 Input device 16 Hard disk 31 Common use function change source file identification means 32 Name change target identification means 33 Influence amount calculation means 34 Change means 35 Development group management DB
36 Influence determination table 37 Related source file status table 38 Influence weighted DB

Claims (5)

複数の開発グループが、夫々、共通機能を呼び出して利用できるプログラムモジュールの開発を担当する分散開発環境において、前記共通機能を呼び出すための名称を管理するために、コンピュータを、
何れかの共通機能を利用する各プログラムモジュールについて、当該共通機能の変更前の版を利用するか変更後の版を利用するかの選択情報を取得する選択情報取得手段,
変更前の版を利用することが選択された全プログラムモジュールに生じる当該共通機能の名称変更に因る影響量,及び、変更後の版を利用することが選択された全プログラムモジュールに生じる当該共通機能の名称変更に因る影響量を、夫々算出する影響量算出手段,及び、
前記影響量算出手段によって算出された影響度が小さくなる側のプログラムモジュールについて選択された版を新名称付与対象と決定する変更手段
として機能させる分散開発管理プログラム。
In a distributed development environment in which a plurality of development groups are in charge of developing program modules that can call and use common functions, in order to manage names for calling the common functions,
Selection information acquisition means for acquiring selection information on whether to use the version before or after the change of the common function for each program module that uses any of the common functions;
The amount of influence caused by the name change of the common function that occurs in all program modules selected to use the version before change, and the common that occurs in all program modules selected to use the version after change An influence amount calculating means for calculating an influence amount due to a function name change, and
A distributed development management program for causing a version selected for a program module having a smaller influence degree calculated by the influence amount calculating means to function as a changing means for determining a new name assignment target.
前記影響量算出手段は、ソースプログラムからオブジェクトプログラムへのコンパイルが完了したプログラムモジュールのみに基づいて、前記影響量を算出する
ことを特徴とする請求項1記載の分散開発管理プログラム。
2. The distributed development management program according to claim 1, wherein the influence amount calculation means calculates the influence amount based only on a program module that has been compiled from a source program into an object program.
前記影響量算出手段は、ソースプログラムからオブジェクトプログラムへのコンパイルが完了した各プログラムモジュールについて、再コンパイルに要する作業量及び既に実行したテストを再実行するのに要する作業量として、前記影響量を算出する
ことを特徴とする請求項2記載の分散開発管理プログラム。
The influence amount calculation means calculates the influence amount as the amount of work required for recompilation and the amount of work required to re-execute the already executed test for each program module that has been compiled from the source program to the object program. The distributed development management program according to claim 2, wherein:
前記変更手段は、新名称付与対象と決定した版を利用することが選択された各プログラムモジュールのソースプログラム中の呼出文における前記共通機能の名称を、新名称に変更する
ことを特徴とする請求項2記載の分散開発管理プログラム。
The change means changes a name of the common function in a call statement in a source program of each program module selected to use a version determined as a new name assignment target to a new name. Item 3. The distributed development management program according to item 2.
前記変更手段は、新名称付与対象と決定した版の共通機能の名称を新名称に変更するとともに、他方の版が変更後の共通機能であれば、当該変更後の共通機能に元の名称を付与する
ことを特徴とする請求項1記載の分散開発管理プログラム。
The changing means changes the name of the common function of the version determined to be a new name assignment target to the new name, and if the other version is the changed common function, the original name is assigned to the changed common function. The distributed development management program according to claim 1, which is given.
JP2008204662A 2008-08-07 2008-08-07 Distributed development management program Expired - Fee Related JP5151792B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008204662A JP5151792B2 (en) 2008-08-07 2008-08-07 Distributed development management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008204662A JP5151792B2 (en) 2008-08-07 2008-08-07 Distributed development management program

Publications (2)

Publication Number Publication Date
JP2010039949A JP2010039949A (en) 2010-02-18
JP5151792B2 true JP5151792B2 (en) 2013-02-27

Family

ID=42012390

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008204662A Expired - Fee Related JP5151792B2 (en) 2008-08-07 2008-08-07 Distributed development management program

Country Status (1)

Country Link
JP (1) JP5151792B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0573285A (en) * 1991-09-18 1993-03-26 Nec Software Kansai Ltd Automatic control system of item name
JPH06290032A (en) * 1993-04-02 1994-10-18 Hitachi Ltd Procedure managing system
JPH10254684A (en) * 1997-03-07 1998-09-25 Fujitsu Ltd Function managing device for software
JP4782315B2 (en) * 2000-06-27 2011-09-28 新日鉄ソリューションズ株式会社 Impact analysis apparatus and method, recording medium, and program
JP2008077482A (en) * 2006-09-22 2008-04-03 Sharp Corp Correction man-hour estimation device, correction man-hour estimation method, and correction man-hour estimation program

Also Published As

Publication number Publication date
JP2010039949A (en) 2010-02-18

Similar Documents

Publication Publication Date Title
US7600220B2 (en) Extensible execution language
US9703671B1 (en) Method and system for improving user friendliness of a manual test scenario
US7721259B2 (en) Configurable and customizable software application system and metadata
RU2390829C2 (en) System and method for test case execution modes for automation of repeated testing
US8266588B2 (en) Creating projects in a rational application developer workspace
US7321988B2 (en) Identifying a code library from the subset of base pointers that caused a failure generating instruction to be executed
US20140365990A1 (en) Software evaluation device and method
US8276118B2 (en) Depicting changes to structures in an integrated development environment
US9898258B2 (en) Versioning of build environment information
US20080307387A1 (en) Software development apparatus and method for providing performance prediction
MX2008003417A (en) Declaratively defined control actions.
US8539479B2 (en) System and method for application function consolidation
US20060225047A1 (en) Generic software requirements analyzer
US20070074202A1 (en) Program product installation
JP5151792B2 (en) Distributed development management program
CN110334031A (en) Memory Allocation code detection method, device, computer equipment and storage medium
JP6717140B2 (en) Analysis program, analysis method, and analysis device
Ehlers Self-adaptive performance monitoring for component-based software systems
JP2018055249A (en) System construction support apparatus, system construction support method, and system construction support program
Singh et al. Modeling multi up-gradations of software with fault severity and measuring reliability for each release
US20080195453A1 (en) Organisational Representational System
Barbacci Software quality attributes: modifiability and usability
Agrawal et al. Quantitative estimation of cost drivers for intermediate COCOMO towards traditional and cloud based software development
KR101038877B1 (en) Testing procedure
US6782523B2 (en) Parallel configurable IP design methodology

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110513

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121031

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121119

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

Free format text: PAYMENT UNTIL: 20151214

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees