JP5151792B2 - Distributed development management program - Google Patents
Distributed development management program Download PDFInfo
- 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
Links
- 238000011161 development Methods 0.000 title claims description 143
- 230000008859 change Effects 0.000 claims description 94
- 238000012360 testing method Methods 0.000 claims description 37
- 238000000034 method Methods 0.000 description 35
- 230000008569 process Effects 0.000 description 34
- 238000007726 management method Methods 0.000 description 26
- 238000012545 processing Methods 0.000 description 15
- 238000012986 modification Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 238000013102 re-test Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
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文)を記述しておけば良い。
上述したように管理者から各開発グループに対して提供された共通機能は、プログラムモジュールを開発する前段階において管理者が用意したものであるので、各開発グループにおいてプログラムモジュールの開発が具体的に進むにつれて、その内容が開発中のプログラムモジュールの要求を満たし得なくなる場合がある。この場合、当該プログラムモジュールに関しては、当該共通機能を改変することによってその要求を満足させる必要が生じる。 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
先ず、ネットワーク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
このうち、ハードディスク20内には、開発プログラムソース格納領域21,コンパイル状況格納領域22,及びテスト実行状況格納領域23が、確保されている。
Among these, a development program
このうち、開発プログラムソース格納領域21には、当該開発グループに開発が委託された各プログラムモジュールについて、その開発中及び完成済みのソースプログラムのファイル(ソースファイル)を格納する領域である。
Among these, the development program
また、コンパイル状況格納領域22は、完成したソースプログラムをコンパイルした結果であるオブジェクトプログラムのファイル(オブジェクトファイル)を格納する領域である。
The compilation
また、テスト実行状況格納領域23は、オブジェクトプログラムに対して、例えばCOBOLのCOUNT機能のようなテスト用のツールを用いてテストを実行した回数を、格納する領域である。
The test execution
これら開発プログラムソース格納領域21,コンパイル状況格納領域22,及びテスト実行状況格納領域23の夫々の位置情報(パス),並びに、各領域21〜23に対して夫々最新のファイル乃至情報を格納しなければならない旨は、管理者が当該開発グループに交付する仕様に、定められている。従って、各開発グループの担当者は、各領域21〜23に新たに格納すべきファイル又はデータが発生する都度、また、これらが更新される都度、そのCPU24が実行するプログラムに従って、その入力装置を通じて最新のファイル又はデータを読み込んで、該当する領域21〜23に格納する。
The location information (path) of the development program
なお、これらの格納及び更新の処理は、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
次に、開発管理システム1は、通常構成を有するコンピュータシステムであり、そのハードウェアは、互いにバスBによって接続されたCPU10,RAM11,ネットワークアダプタ12,ディスプレイ13,入力装置14,及びハードディスク16から、構成されている。
Next, the
CPU10は、プログラムを読み込んで、プログラムに従った処理を実行する中央処理装置である。
The
RAM11は、CPU10によってハードディスク16から読み出されたプログラムが読み込まれて、CPU10が上記処理を実行する際の作業領域が展開される主記憶装置である。ここでは、ハードディスク16から読み出された分散開発管理プログラムが読み込まれることにより、RAM11上には、利用共通機能変更ソースファイル特定手段(選択情報取得手段)31,名称変更対象特定手段32,影響量算出手段33及び変更手段34の各機能が、展開される。これら利用共通機能変更ソースファイル特定手段31,名称変更対象特定手段32,影響量算出手段33及び変更手段34の各機能については、図6乃至図10のフローチャートを参照して、後で詳細に説明する。
The
ネットワークアダプタ12は、ネットワークNWを終端してネットワークNWとの間でデータ通信を司る通信装置である。
The
ディスプレイ13は、CPU10による処理結果を表示するための表示装置である。
The
入力装置14は、ドライブ装置,キーボード,マウス等のポインティングデバイス等の各種入力装置を含む。
The
ハードディスク16は、上述した分散開発管理プログラムを含む各種プログラム及び各種データを格納する記憶装置である。このハードディスク16に格納されている各種データには、分散開発管理プログラムによってアクセスされる開発グループ管理DB(データベース)35,影響度判定テーブル36,関連ソースファイル状況テーブル37,影響重付DB38が、含まれている。
The
開発グループ管理DB35は、各開発グループ毎に、上述した開発プログラムソース格納領域21,コンパイル状況格納領域22,及びテスト実行状況格納領域23の夫々の位置情報(パス)を記録するためのデータベースである。図2は、この開発グループ管理DB35の概略データ構造を示す表である。図2に示されるように、この開発グループ管理DB35は、各開発グループ毎に一つのレコードを格納している。そして、各レコードは、対応する開発グループのコード番号を記録するための「開発グループ」フィールド,開発開発プログラムソース格納領域21の位置情報(パス)を記録するための「開発プログラムソース格納領域」フィールド,コンパイル状況格納領域22の位置情報(パス)を記録するための「コンパイル状況格納領域」フィールド,テスト実行状況格納領域23の位置情報(パス)を記録するための「テスト実行状況格納領域」フィールド,及び、担当者のメールアドレスを格納するための「メールアドレス」フィールドから、構成されている。
The development
影響度判定テーブル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
影響重付DB38は、影響度算出手段33による後述する影響度の判定のために用いる重み値を、リコンパイル用及び再テスト用に夫々記憶しているデータベースである。図5は、この影響重付DB38のデータ構造を示す表である。この図5に示すように、影響重付DB38は、リコンパイル用の重み値を記録するための「リコンパイル」フィールド及び再テスト用の重み値を記録するための「再テスト」フィールドを、有している。
The
<データ処理の流れ>
以下、上述したように構成されたネットワークシステムを構成する開発管理システム1において、ハードディスク16に格納されている分散開発プログラムを読み込んだCPU10が実現する処理(即ち、CPU10が実現する各機能31〜34の内容)を、図6乃至図10のフローチャートに基づいて説明する。
<Data processing flow>
Hereinafter, in the
図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
そして、スタート後最初のS001では、CPU10は、各開発グループからの仕様変更提案通知を待つ。この仕様変更提案通知は、管理者から各開発グループに交付された仕様中において定められたフォーマットに則って、各開発グループのシステム2から開発管理システム1に対して通知される、対象共通機能の名称,当該共通機能の変更を求める旨及び変更後の版の共通機能の内容を含むメッセージである。
In the first step S001 after the start, the
次のS002では、CPU10は、何れかの開発グループから仕様変更提案通知を受信したかどうかをチェックする。そして、未だ何れの開発グループからも仕様変更提案通知
を受信していない場合には、CPU10は、処理をS001へ戻す。これに対して、何れかの開発グループから仕様変更提案通知を受信すると、CPU10は、処理をS003へ進める。
In the next S002, the
S003では、CPU10は、S002にて受信した仕様変更提案通知から、対象共通機能の名称及び変更後の内容を抽出し、ディスプレイ13上に表示する。
In S003, the
次のS004では、CPU10は、入力装置14を通じて入力される操作者からの指示に従って、当該仕様変更提案の内容,即ち、S003にて抽出及び表示された変更後の共通仕様の採用可否についてチェックする。そして、操作者が採用しない旨の指示を入力した場合には、CPU10は、そのままこの分散開発プログラムによる処理を終了する。
In the next S004, the
これに対して、操作者が採用する旨の指示を入力した場合には、CPU10は、S005において、変更提案された変更後の版の共通機能を利用するプログラムモジュールのソースファイルを特定する処理を実行する。
On the other hand, when the operator inputs an instruction to adopt, in S005, the
図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
次の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
次の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
次の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
次の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
次の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
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
次の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
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
次の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
次の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
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
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
<実施形態の作用>
以上の処理が全て完了すると、一部の開発グループから何れかの共通機能についての仕様変更提案通知があった場合、その提案が採用される限り(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 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 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
1 開発管理システム
2 開発グループのシステム
10 CPU
11 RAM
14 入力装置
16 ハードディスク
31 利用共通機能変更ソースファイル特定手段
32 名称変更対象特定手段
33 影響量算出手段
34 変更手段
35 開発グループ管理DB
36 影響度判定テーブル
37 関連ソースファイル状況テーブル
38 影響重付DB
1
11 RAM
14
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.
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)
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 |
-
2008
- 2008-08-07 JP JP2008204662A patent/JP5151792B2/en not_active Expired - Fee Related
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 |