JP5661505B2 - Parallel development management device - Google Patents
Parallel development management device Download PDFInfo
- Publication number
- JP5661505B2 JP5661505B2 JP2011036877A JP2011036877A JP5661505B2 JP 5661505 B2 JP5661505 B2 JP 5661505B2 JP 2011036877 A JP2011036877 A JP 2011036877A JP 2011036877 A JP2011036877 A JP 2011036877A JP 5661505 B2 JP5661505 B2 JP 5661505B2
- Authority
- JP
- Japan
- Prior art keywords
- computer program
- development
- theme
- unit
- program
- 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
Images
Description
本発明は、コンピュータプログラムの開発を管理する並行開発管理装置および方法に関する。 The present invention relates to a parallel development management apparatus and method for managing the development of a computer program.
近年、業務システムの複雑化、高機能化に伴い、その業務システムを構築するコンピュータプログラム(以下、単にプログラムと称す)の数も膨大なものとなり、プログラムの内容も高度になってきている。そのようなプログラムの新規開発や修正を好適に管理するために、本出願人は特許文献1においてプログラム開発管理装置を提案している。
In recent years, as business systems become more complex and sophisticated, the number of computer programs (hereinafter simply referred to as programs) for constructing the business systems has become enormous, and the contents of the programs have become sophisticated. In order to suitably manage such new development and modification of such a program, the present applicant has proposed a program development management apparatus in
このプログラム開発管理装置は、開発すべきプログラムとリリース条件とを開発テーマごとに管理するためのテーマ別プログラムテーブルと、テーマ別プログラムテーブルを参照し、リリース条件が同一のプログラムをひとつのリリース単位として抽出し、リリース単位のディレクトリを生成し、抽出したリリース単位のプログラムを当該ディレクトリに格納するディレクトリ生成部と、を備える。
特許文献1に記載のプログラム開発管理装置によると、リリース時におけるプログラムのリリース漏れやリリース間違い等を大幅に軽減することができる。
This program development management device refers to a theme-specific program table for managing a program to be developed and a release condition for each development theme, and a theme-specific program table, and programs having the same release condition as one release unit. A directory generation unit that extracts and generates a release unit directory, and stores the extracted release unit program in the directory.
According to the program development management device described in
特許文献1に代表されるプログラム開発管理技術においては、2つ以上の開発テーマがひとつのプログラムを指定する、いわゆる並行開発の状態が存在しうる。並行開発の状態では、担当者間の連携不足等のためにプログラム管理上のミスが発生しやすい。
In the program development management technique represented by
本発明はこうした課題に鑑みてなされたものであり、その目的は、プログラムの並行開発においてミスを低減できる管理技術の提供にある。 The present invention has been made in view of these problems, and an object thereof is to provide a management technique capable of reducing mistakes in parallel development of programs.
本発明のある態様は並行開発管理装置に関する。この並行開発管理装置は、コンピュータプログラムを記憶する記憶領域と、開発のテーマごとに変更対象のコンピュータプログラムの指定を受け付ける受付部と、指定されたコンピュータプログラムを記憶領域から読み出す読み出し部と、読み出し部によって読み出されたコンピュータプログラムに対してテーマにしたがった変更がなされた場合、変更されたコンピュータプログラムによって記憶領域に記憶されたコンピュータプログラムを上書きする上書き部と、テーマに関連付けられた通知先に所定の情報を通知する通知部と、を備える。読み出し部は、受付部が第1および第2のテーマについてひとつのコンピュータプログラムの指定を受け付けた場合に、第1のテーマに対してひとつのコンピュータプログラムを第1のコンピュータプログラムとして記憶領域から読み出すと共に、第2のテーマに対してひとつのコンピュータプログラムを第2のコンピュータプログラムとして記憶領域から読み出す。通知部は、上書き部が第1のコンピュータプログラムよりも先に第2のコンピュータプログラムによって記憶領域に記憶されたひとつのコンピュータプログラムを上書きすると、ひとつのコンピュータプログラムの情報および第2のテーマの情報を第1のテーマに関連付けられた通知先に通知する。 One embodiment of the present invention relates to a parallel development management apparatus. The parallel development management device includes a storage area for storing a computer program, a reception unit that receives designation of a computer program to be changed for each development theme, a reading unit that reads the specified computer program from the storage area, and a reading unit When a change according to the theme is made to the computer program read out by, an overwriting unit that overwrites the computer program stored in the storage area by the changed computer program and a notification destination associated with the theme are predetermined. A notification unit for notifying the information. When the receiving unit receives the designation of one computer program for the first and second themes, the reading unit reads one computer program for the first theme from the storage area as the first computer program. Then, one computer program for the second theme is read from the storage area as the second computer program. When the overwriting unit overwrites one computer program stored in the storage area by the second computer program prior to the first computer program, the notifying unit displays information on one computer program and information on the second theme. Notification is made to the notification destination associated with the first theme.
この態様によると、上書き部が第1のコンピュータプログラムよりも先に第2のコンピュータプログラムによって記憶領域に記憶されたひとつのコンピュータプログラムを上書きした場合、第1のテーマに関連付けられた通知先は、ひとつのコンピュータプログラムの情報および第2のテーマの情報を知ることができる。 According to this aspect, when the overwriting unit overwrites one computer program stored in the storage area by the second computer program prior to the first computer program, the notification destination associated with the first theme is: Information on one computer program and information on the second theme can be known.
本発明の別の態様もまた、並行開発管理装置である。この装置は、互いに関連した第1のコンピュータプログラムおよび第2のコンピュータプログラムを記憶する記憶領域と、開発の第1のテーマについて第1のコンピュータプログラムの指定を受け付けると共に開発の第2のテーマについて第2のコンピュータプログラムの指定を受け付ける受付部と、第1のテーマに対して第1のコンピュータプログラムを記憶領域から読み出すと共に第2のテーマに対して第2のコンピュータプログラムを記憶領域から読み出す読み出し部と、第2のテーマの情報を第1のテーマに関連付けられた通知先に通知する通知部と、を備える。 Another aspect of the present invention is also a parallel development management apparatus. The apparatus receives a designation of the first computer program for the first theme of development and a storage area for storing the first computer program and the second computer program related to each other, and the second theme for the development. A receiving unit that receives the designation of the second computer program, and a reading unit that reads the first computer program from the storage area for the first theme and reads the second computer program from the storage area for the second theme; A notification unit for notifying information on the second theme to a notification destination associated with the first theme.
この態様によると、互いに関連した第1のコンピュータプログラムおよび第2のコンピュータプログラムを第1のテーマおよび第2のテーマがそれぞれ指定する場合、第1のテーマに関連付けられた通知先は第2のテーマの情報を知ることができる。 According to this aspect, when the first theme and the second theme respectively specify the first computer program and the second computer program related to each other, the notification destination associated with the first theme is the second theme. You can know the information.
なお、以上の構成要素の任意の組み合わせや、本発明の構成要素や表現を装置、方法、システム、プログラム、プログラムを格納した記録媒体などの間で相互に置換したものもまた、本発明の態様として有効である。 It should be noted that any combination of the above-described constituent elements, and those in which constituent elements and expressions of the present invention are mutually replaced between apparatuses, methods, systems, programs, recording media storing programs, and the like are also aspects of the present invention. It is effective as
本発明によれば、プログラムの並行開発においてミスを低減できる。 According to the present invention, mistakes can be reduced in parallel development of programs.
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。 The present invention will be described below based on preferred embodiments with reference to the drawings. The same or equivalent components, members, and processes shown in the drawings are denoted by the same reference numerals, and repeated descriptions are omitted as appropriate.
図1は、実施の形態に係る並行開発管理装置100を有するプログラム開発システム2を模式的に示す説明図である。プログラム開発システム2は、顧客のシステム内に設置されたサーバである本番環境サーバ116上で機能しているアプリケーションを構成するプログラムを管理する。プログラム開発システム2は、開発のテーマ(以下、開発テーマと称する)に基づきプログラムの修正、更新、追加等を行い、本番環境サーバ116に反映させる。開発テーマは、例えばアプリケーションを変更する目的である。例えば開発テーマ「バグの修正」では、プログラム開発システム2は、発見されたバグに対応する修正をプログラムに施して本番環境サーバ116へ配布する。また例えば開発テーマ「新機能追加」では、プログラム開発システム2は、開発されたアプリケーションの新機能に対応する新たなプログラムを本番環境サーバ116へ配布する。
FIG. 1 is an explanatory diagram schematically showing a
プログラム開発システム2は、実施の形態に係る並行開発管理装置100、複数の(図1では3つの)ユーザ端末102、開発環境サーバ110、テスト環境サーバ112、本番ゲートウェイ114、を備える。プログラム開発システム2のそれらの部材はインターネットなどのネットワーク108によって互いに接続される。本番ゲートウェイ114は本番環境サーバ116と不図示のネットワーク等で接続され、本番環境サーバ116へのゲートウェイの役割を果たす。
The
プログラム開発システム2のユーザは、例えばプログラムを開発する開発者、開発のテーマを定め開発の指揮をとる開発リーダ、開発を管理する開発管理者、プログラムの本番環境サーバへの配布(すなわち、リリース)を担当するリリース担当者、を含む。
The user of the
以下、プログラム開発システム2や並行開発管理装置100ではプログラムが個別に取り扱われる場合について説明する。しかしながら、例えばプログラムアーカイブ単位と称してもよいような、関連する複数のプログラムの集合またはまとまりを一単位として扱う場合にも、本実施の形態に係る技術的思想を適用できることは、本明細書に触れた当業者には自明である。
Hereinafter, a case will be described in which the
図2は、図1の並行開発管理装置100における例示的な一連の処理を示すフローチャートである。開発リーダは自己のユーザ端末から並行開発管理装置100にアクセスし、開発テーマを特定する開発テーマIDと、開発テーマの名称と、開発テーマの責任者名と、を対応付けて並行開発管理装置100に登録する。並行開発管理装置100は、その登録を受け付ける(S202)。登録された開発テーマに従事する開発者は自己のユーザ端末から並行開発管理装置100にアクセスし、登録された開発テーマにおいて変更する必要があるプログラムを変更対象のプログラムとして指定する。ここで指定されるプログラムは、原則として並行開発管理装置100の本番系記憶領域(後述)に記憶されているプログラムである。
FIG. 2 is a flowchart showing an exemplary series of processes in the parallel
並行開発管理装置100はその指定を受け付け、指定されたプログラムを本番系記憶領域から読み出して開発系記憶領域(後述)へ複製する。このようにして開発系記憶領域に複製されたプログラムをプログラムAとよぶ。並行開発管理装置100は、プログラムAを開発環境サーバ110へ送信する(S204)。開発者は自己のユーザ端末から並行開発管理装置100を介して開発環境サーバ110にアクセスし、プログラムAに必要な変更を加える。変更完了後のプログラムAをプログラムBと呼ぶ。開発者は、変更完了後、開発環境サーバ110においてプログラムBに対して単体テストを実施する。開発者は、プログラムBがこの単体テストをパスすると、そのプログラムBを開発環境サーバ110から並行開発管理装置100に送信する。並行開発管理装置100は、そのようにして送信されたプログラムBを受信し、受信したプログラムBによって開発系記憶領域に記憶されているプログラムAを上書きする(S206)。
The parallel
開発テーマにおいて連結・総合テストが必要な場合、並行開発管理装置100は、プログラムBをテスト環境サーバ112へ送信する(S208)。開発者は自己のユーザ端末から並行開発管理装置100を介してテスト環境サーバ112にアクセスし、プログラムBを含む連結・総合テストを実施する。この連結・総合テストにパスすると、開発者は自己のユーザ端末から並行開発管理装置100にアクセスしその旨を並行開発管理装置100に登録する。並行開発管理装置100はその登録を受け付ける(S210)。
When a connection / integrated test is required in the development theme, the parallel
開発リーダは、開発テーマについて必要な変更等が完了しリリース準備が整ったと判断すると、自己のユーザ端末から並行開発管理装置100にアクセスし、開発テーマIDおよびリリースすべきプログラムを指定してリリースの申請を行う。並行開発管理装置100はこのリリースの申請を受け付ける(S212)。並行開発管理装置100は、リリースの申請を受け付けると、リリース対象として指定されたプログラムの並行開発の状況を抽出し、その結果を不図示のプリンタ等で出力する。このように印刷された情報等を基にリリース確認会議にてリリースを承認するか否かが担当者によって議論される。その会議でリリースが承認されると、開発リーダまたは他のユーザは、自己のユーザ端末から並行開発管理装置100にアクセスし、リリースを承認する。並行開発管理装置100は、そのリリースの承認を受け付ける(S214)。並行開発管理装置100は、リリースの承認を受け付けると、プログラムBを本番ゲートウェイ114に送信する(S216)と共に、プログラムBによって本番系記憶領域に記憶されている読み出し元のプログラムを上書きする。以下、本番系記憶領域に記憶されている読み出し元のプログラムが上書されたことをもって、リリースの完了と定義する。
When the development leader determines that necessary changes have been made to the development theme and the release preparation is complete, the development leader accesses the parallel
図3は、実施の形態に係る並行開発管理装置100の機能および構成を示すブロック図である。ここに示す各ブロックは、ハードウエア的には、コンピュータのCPU(central processing unit)をはじめとする素子や機械装置で実現でき、ソフトウエア的にはプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウエア、ソフトウエアの組合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。
FIG. 3 is a block diagram showing the function and configuration of the parallel
並行開発管理装置100は、入出力インタフェース部10、受付部20、読み出し部30、テスト・リリース管理部40、本番環境配布部50、上書き部60、通知部70、記憶装置90、を備える。
The parallel
図4は、図3の記憶装置90のディレクトリ構成の一例を示す模式図である。記憶装置90は、本番系記憶領域92、開発系記憶領域94、管理系記憶領域96、を含む。本番系記憶領域92は、本番環境サーバ116で稼働中のプログラムと同じプログラムを、本番環境サーバ116のものに準ずるディレクトリ構成で記憶する。以下、2つのプログラムが同じである、とは一方のプログラムの内容が他方のプログラムの内容と同じであることを示す。すなわち、それぞれ別々のサーバに保持された2つのプログラムであっても内容が同じであれば同じである。
FIG. 4 is a schematic diagram showing an example of the directory configuration of the
開発系記憶領域94は、開発テーマごとに、変更対象として指定されたプログラムを複製して生成されるプログラムを記憶する。開発系記憶領域94は、並行開発管理装置100に受け付けられた開発テーマごとに、その開発テーマを特定できる名称のディレクトリを有する。各開発テーマにおいて変更対象として指定されたプログラムを複製して生成されたプログラムは、その開発テーマのディレクトリに入れられる。
The
管理系記憶領域96は、並行開発管理テーブル302、開発テーマ管理テーブル304、第1依存関係テーブル306、第2依存関係テーブル308、を記憶する。
The management
図5は、並行開発管理テーブル302の一例を示すデータ構造図である。並行開発管理テーブル302は、管理対象ID310ごとに、開発テーマID312と、ステータスID314と、開始日316と、終了日318と、リリース申請日320と、を対応付けて記憶する。
管理対象IDは、並行開発管理装置100によって管理される対象を並行開発管理装置100において特定するIDである。上記の通り本実施の形態ではプログラムが個別に取り扱われる場合を説明するので、管理対象IDは、プログラム名やプログラムの並行開発管理装置100におけるパスなどのプログラムを特定するIDである。特に管理対象IDは、本番系記憶領域92に記憶されているプログラムを特定するIDである。
FIG. 5 is a data structure diagram showing an example of the parallel development management table 302. The parallel development management table 302 stores a
The management target ID is an ID for identifying a target managed by the parallel
ステータスIDは、管理対象IDによって特定されるプログラムの開発テーマにおける状態を特定するIDである。この状態には、プログラムの変更やテストが行われている状態である開発中状態と、リリースが申請されてからリリースが完了するまでのリリース申請中状態と、リリースが完了したリリース済み状態と、がある。図5では、ステータスID「S1」は開発中状態に、ステータスID「S2」はリリース申請中状態に、ステータスID「S3」はリリース済み状態に、それぞれ対応する。 The status ID is an ID that specifies a state in the development theme of the program specified by the management target ID. This state includes a development state where the program has been changed and tested, a release application state after the release is requested until the release is completed, a released state where the release has been completed, There is. In FIG. 5, the status ID “S1” corresponds to the developing state, the status ID “S2” corresponds to the release application state, and the status ID “S3” corresponds to the released state.
各状態は例えば図2を参照して細分化できる。開発中状態は、開発環境サーバ110で修正等の変更が行われている変更中状態と、開発環境サーバ110において単体テストが完了した単体テスト完了状態と、テスト環境サーバ112において連結テストが完了した連結テスト完了状態と、テスト環境サーバ112において総合テストが完了した総合テスト完了状態と、に分けることができる。リリース申請中状態は、リリースの承認を待っているリリース承認待ち状態と、リリースが承認されてから実際にリリースが完了するまでのリリース承認済み状態と、に分けられる。
Each state can be subdivided with reference to FIG. The development state includes a changing state in which a modification or the like has been made in the
開始日は、開発テーマの開始の日付であり、特に管理対象IDによって特定されるプログラムが変更対象のプログラムとして指定された日付である。
終了日は、開発テーマの終了の日付であり、特に管理対象IDによって特定されるプログラムのリリースが完了した日付である。
リリース申請日は、管理対象IDによって特定されるプログラムのリリースが申請された日付である。
The start date is the start date of the development theme, and in particular is the date when the program specified by the management target ID is designated as the program to be changed.
The end date is the end date of the development theme, and in particular, the date when the release of the program specified by the management target ID is completed.
The release application date is the date when the release of the program specified by the management target ID is applied.
図6は、開発テーマ管理テーブル304の一例を示すデータ構造図である。開発テーマ管理テーブル304は、開発テーマID322ごとに、開発テーマの内容を端的に示す開発テーマ名324と、開発テーマによって変更対象として指定されたプログラムの管理対象ID326と、開発テーマについてリリースが予定される日付であるリリース予定日328と、を対応付けて記憶する。
FIG. 6 is a data structure diagram showing an example of the development theme management table 304. The development theme management table 304 is scheduled to be released for each
あるプログラムが別のプログラムを呼び出したり参照したりする場合やソースプログラムおよびそれをコンパイルして生成される実行プログラムの場合などのように、複数の異なるプログラムが関連する場合がある。2つのプログラムが関連することは、2つのプログラムが依存関係にある、すなわち一方のプログラムが他方のプログラムに依存することを含む。これは例えば、他方のプログラムを変更すると一方のプログラムも必然的に変更すべきである場合である。以下便宜的に、依存する側のプログラムを「子」、依存される側のプログラムを「親」として説明する。
本実施の形態では、前提として、ひとつの子プログラムに対してひとつの親プログラムのみ設定可能とする。しかしながら、例えば親プログラムと子プログラムとが多対多の場合にも、本実施の形態に係る技術的思想を適用できることは、本明細書に触れた当業者には自明である。
There are cases where a plurality of different programs are related, such as a case where a program calls or references another program, or a source program and an execution program generated by compiling it. The association of two programs includes the dependency of two programs, that is, one program depends on the other program. This is the case, for example, when one program is necessarily changed when the other program is changed. For convenience, the dependent program is described as “child”, and the dependent program is described as “parent”.
In the present embodiment, it is assumed that only one parent program can be set for one child program. However, for example, it is obvious to those skilled in the art who have touched this specification that the technical idea according to the present embodiment can be applied even when the parent program and the child program are many-to-many.
図7は、第1依存関係テーブル306の一例を示すデータ構造図である。第1依存関係テーブル306は、プログラム間の依存関係を特定する依存関係ID334と、その依存関係における親プログラムの管理対象IDである親管理対象ID336と、を対応付けて記憶する。
FIG. 7 is a data structure diagram illustrating an example of the first dependency relationship table 306. The first dependency relationship table 306 stores a
図8は、第2依存関係テーブル308の一例を示すデータ構造図である。第2依存関係テーブル308は、依存関係における子プログラムの管理対象IDである子管理対象ID330と、その依存関係を特定する依存関係ID332と、を対応付けて記憶する。
FIG. 8 is a data structure diagram illustrating an example of the second dependency relationship table 308. The second dependency relationship table 308 stores a child
本実施の形態に係る並行開発管理装置100では、子プログラムと親プログラムとを直接対応付けるテーブルを用意するかわりに、両者を紐付ける依存関係IDを使用し、依存関係を2つの異なるテーブルで管理する。他の実施の形態では前者も可能であるが、本実施の形態で後者を採用した理由は以下の通りである。
In parallel
並行開発管理装置100のユーザが並行開発管理装置100に親プログラム、子プログラムおよびそれらの依存関係を新規に登録する例示的な手順は以下の通りである。
(1)ユーザは、親プログラムを並行開発管理装置100の本番系記憶領域92に登録する。
(2)ユーザは依存関係の依存関係IDを採番し、親プログラムの親管理対象IDと共に並行開発管理装置100に入力する。並行開発管理装置100の受付部20は、入力された依存関係IDと親管理対象IDとを対応付けて第1依存関係テーブル306に登録する。
(3)ユーザは子プログラムを並行開発管理装置100の本番系記憶領域92に登録すると共に、採番された依存関係IDと子プログラムの子管理対象IDとを並行開発管理装置100に入力する。並行開発管理装置100の受付部20は、入力された子管理対象IDと依存関係IDとを対応付けて第2依存関係テーブル308に登録する。
An exemplary procedure in which a user of the parallel
(1) The user registers the parent program in the
(2) The user assigns a dependency ID of the dependency and inputs it to the parallel
(3) The user registers the child program in the production
この場合、(2)で依存関係IDを採番してから(3)で子プログラムを登録するので、親プログラムと子プログラムとを同時に登録できない。また、依存関係を登録するためには、親プログラムが本番系記憶領域92に登録されていなければならない。したがって、親プログラムがいることを確定してから子プログラムを登録することとなるので、誤った登録を抑制することができる。
In this case, since the child program is registered in (3) after the dependency ID is assigned in (2), the parent program and the child program cannot be registered at the same time. Further, in order to register the dependency relationship, the parent program must be registered in the
図3に戻る。
入出力インタフェース部10は、ネットワーク108と接続され、並行開発管理装置100と外部の装置との通信を制御する。外部の装置は例えば複数のユーザ端末102、開発環境サーバ110、テスト環境サーバ112、本番ゲートウェイ114、である。入出力インタフェース部10は、ネットワーク108を介して装置間でデータ等をやりとりする公知の通信技術、例えばTCP/IPプロトコルにしたがった通信を行う技術を使用して構成される。
Returning to FIG.
The input /
受付部20は、開発テーマごとに変更対象のプログラムの指定を受け付ける。受付部20は、ログイン部22、開発テーマ受付部24、変更対象指定受付部26、依存関係参照部28、管理テーブル登録部29、を含む。
ログイン部22は、ユーザからのログインを許可するか否かを決定する。ログイン部22は、入出力インタフェース部10を介してユーザ端末からのログイン要求を取得すると、ユーザIDとパスワードとの入力を促す画面をユーザ端末のディスプレイに表示させるための情報をユーザ端末に送信する。ログイン部22は、ユーザがユーザ端末に入力したユーザIDとパスワードとを入出力インタフェース部10を介して取得して認証する。ログイン部22は、認証が成功するとそのユーザのログインを許可してセッションを開始し、失敗すると許可しない。
The accepting
The
ユーザIDは並行開発管理装置100のユーザを特定するIDである。ユーザIDは、ユーザの種別、すなわち開発者であるか、開発リーダであるか、開発管理者であるか、リリース担当者であるか、を識別可能に設定される。
The user ID is an ID that identifies a user of the parallel
開発テーマ受付部24は、入出力インタフェース部10を介して開発リーダのユーザ端末から開発テーマIDと開発テーマ名とリリース予定日とを受け付け、開発テーマ管理テーブル304に登録する。なお、開発テーマIDは開発テーマ受付部24が決定してもよい。以下、開発テーマ受付部24によって受け付けられた開発テーマIDを受け付け開発テーマIDと称す。
The development
変更対象指定受付部26は、受け付け開発テーマIDによって特定される開発テーマに従事する開発者のユーザ端末から、入出力インタフェース部10を介して、その開発テーマにしたがって変更する必要があると指定されたプログラムの管理対象IDを取得する。変更対象指定受付部26は、取得された管理対象IDを受け付け開発テーマIDと対応付けて開発テーマ管理テーブル304に登録する。以下、変更対象指定受付部26によって取得された管理対象IDを指定管理対象ID、指定管理対象IDによって特定されるプログラムを指定プログラムと称す。
The change target
依存関係参照部28は、第1依存関係テーブル306および第2依存関係テーブル308を参照し、指定プログラムと依存関係にあるプログラムの有無を判定する。そのようなプログラムが存在する場合、依存関係参照部28は、そのようなプログラムの管理対象IDを追加的に受け付け開発テーマIDに対応付けて開発テーマ管理テーブル304に登録する。すなわち、開発テーマ管理テーブル304は、開発テーマの開発テーマIDごとに、その開発テーマにおいて変更対象として指定されたプログラムの管理対象IDおよびそのプログラムと依存関係にあるプログラムの管理対象IDを記憶する。
The dependency
特に依存関係参照部28は、まず第2依存関係テーブル308を参照し、指定管理対象IDに対応する依存関係IDがあればそれを抽出する。次に依存関係参照部28は、第1依存関係テーブル306を参照し、抽出された依存関係IDに対応する親管理対象IDを抽出する。さらに依存関係参照部28は第2依存関係テーブル308を参照し、抽出された親管理対象IDを子管理対象IDとしたときにそれと対応する依存関係IDがあれば抽出する。以下、依存関係参照部28は第1依存関係テーブル306および第2依存関係テーブル308を交互に参照する処理を、抽出された親管理対象IDを子管理対象IDとしたときにそれと対応する依存関係IDがなくなるまで繰り返す。
依存関係参照部28は、上記処理により抽出された全ての親管理対象IDを、受け付け開発テーマIDに対応付けて開発テーマ管理テーブル304に登録する。
In particular, the dependency
The dependency
例えば、受け付け開発テーマIDは「T1」であり、指定管理対象IDは「A100_1.pco」である場合を考える。
依存関係参照部28は、図8に示される第2依存関係テーブル308を参照し、依存関係ID「x1」を抽出する。依存関係参照部28は、図7に示される第1依存関係テーブル306を参照し、親管理対象ID「MAKEFILE」を抽出する。次に依存関係参照部28は、図8に示される第2依存関係テーブル308を参照し、抽出された親管理対象ID「MAKEFILE」に対応する依存関係ID「x2」を抽出する。依存関係参照部28は、図7に示される第1依存関係テーブル306を参照し、親管理対象ID「A100.exe」を抽出する。依存関係参照部28は、図8に示される第2依存関係テーブル308を参照し、抽出された親管理対象ID「A100.exe」に対応する依存関係IDはないと判定する。依存関係参照部28は、抽出された親管理対象ID「MAKEFILE」、「A100.exe」を受け付け開発テーマID「T1」に対応付けて追加的に開発テーマ管理テーブル304に登録する。
以下、依存関係参照部28によって抽出された親管理対象IDを依存管理対象ID、依存管理対象IDによって特定されるプログラムを依存プログラムと称す。
For example, consider a case where the accepted development theme ID is “T1” and the designated management target ID is “A100_1.pco”.
The dependency
Hereinafter, the parent management target ID extracted by the dependency
管理テーブル登録部29は、指定管理対象IDと、受け付け開発テーマIDと、ステータスIDとして「S1」と、開始日として指定管理対象IDが取得された日付と、を対応付けて並行開発管理テーブル302に登録する。また管理テーブル登録部29は、依存管理対象IDと、受け付け開発テーマIDと、ステータスIDとして「S1」と、開始日として指定管理対象IDが取得された日付と、を対応付けて並行開発管理テーブル302に登録する。
The management
読み出し部30は、指定プログラムを本番系記憶領域92から読み出す。読み出し部30は、開発テーマディレクトリ生成部32、変更対象複製部34、変更対象送信部36、を含む。
開発テーマディレクトリ生成部32は、受け付け開発テーマIDに対応するディレクトリを開発系記憶領域94に生成する。
The
The development theme
変更対象複製部34は、指定プログラムおよび依存プログラムを本番系記憶領域92から読み出して複製する。以下、指定プログラムから複製されたプログラムを指定複製プログラム、依存プログラムから複製されたプログラムを依存複製プログラムと称す。変更対象複製部34は、指定複製プログラムおよび依存複製プログラムを開発テーマディレクトリ生成部32によって生成されたディレクトリに入れる。変更対象複製部34における処理の例が図4の破線矢印や一点鎖線矢印で示される。
The change
変更対象送信部36は、入出力インタフェース部10を介して開発環境サーバ110に指定複製プログラムおよび依存複製プログラムを送信する。
The change
開発者は、開発環境サーバ110において、指定複製プログラムおよび依存複製プログラムに受け付け開発テーマIDによって特定される開発テーマにしたがった修正等の変更を施し、単体テストを実施する。以下、変更が完了し単体テストをパスした指定複製プログラムを指定変更後プログラム、変更が完了し単体テストをパスした依存複製プログラムを依存変更後プログラムと称す。
In the
テスト・リリース管理部40は、開発テーマにしたがった変更が完了し単体テストをパスしたプログラムの連結・総合テストおよびリリースを管理する。テスト・リリース管理部40は、変更後プログラム取得部42、テスト環境配布部44、リリース申請受付部46、リリース認否判定部80、リリース承認受付部48、を含む。
The test /
変更後プログラム取得部42は、入出力インタフェース部10を介して開発環境サーバ110から指定変更後プログラムおよび依存変更後プログラムを取得する。変更後プログラム取得部42は、取得された指定変更後プログラムおよび依存変更後プログラムによって、開発系記憶領域94の受け付け開発テーマIDに対応するディレクトリに入っている指定複製プログラムおよび依存複製プログラムをそれぞれ上書きする。
The post-change
テスト環境配布部44は、受け付け開発テーマIDによって特定される開発テーマにおいて連結・総合テストが必要な場合、入出力インタフェース部10を介して指定変更後プログラムおよび依存変更後プログラムをテスト環境サーバ112へ送信する。
When the development theme specified by the received development theme ID requires a connection / general test, the test
リリース申請受付部46は、入出力インタフェース部10を介して開発リーダのユーザ端末から、リリース対象の開発テーマを特定するリリース開発テーマIDとリリース対象として指定されたプログラムを特定するリリース管理対象IDとを受け付ける。ここでリリース申請受付部46は、依存関係参照部28と同様に第1依存関係テーブル306および第2依存関係テーブル308を参照して、リリース対象として指定されたプログラムと依存関係にあるプログラムがリリース対象とされているか否かを判定し、されていないものがあればそれをリリース対象に加えてもよい。この場合、リリース漏れを抑制することができる。
The release
リリース申請受付部46は並行開発管理テーブル302にアクセスし、受け付けたリリース管理対象IDおよびリリース開発テーマIDに対応するステータスIDを「S2」に書き換え、リリース申請日を登録する。
The release
以下、リリース申請受付部46がリリース開発テーマIDとして受け付け開発テーマIDを、リリース管理対象IDとして指定管理対象IDおよび依存管理対象IDを、受け付けた場合を考える。
リリース認否判定部80は、指定プログラムおよび依存プログラムについてリリースの認否を判定する。詳細は後述する。
リリース承認受付部48は、入出力インタフェース部10を介して開発リーダまたは他のユーザのユーザ端末から、受け付け開発テーマIDによって特定される開発テーマに対するリリースの承認を受け付ける。
Hereinafter, a case where the release
The release approval /
The release
本番環境配布部50は、リリース承認受付部48によってリリースの承認が受け付けられると、入出力インタフェース部10を介して指定変更後プログラムおよび依存変更後プログラムを本番ゲートウェイ114に送信する。
When the release
上書き部60は、リリース承認受付部48によってリリースの承認が受け付けられると、指定変更後プログラムおよび依存変更後プログラムによって、本番系記憶領域92に記憶されている指定プログラムおよび依存プログラムをそれぞれ上書きする。
上書き部60は、並行開発管理テーブル302にアクセスし、指定管理対象IDおよび受け付け開発テーマIDに対応するステータスIDを「S3」に書き換え、終了日を登録する。依存管理対象IDについても同様である。
When the release approval is received by the release
The overwriting
通知部70は、開発テーマに関連付けられた通知先に所定の情報を通知する。例えば通知部70は、所定の情報を提示する画面をユーザ端末のディスプレイに表示させるための画面情報を、入出力インタフェース部10を介してそのユーザ端末に送信する。また例えば通知部70は、開発リーダや開発者の電子メールアドレス宛に所定の情報を含む電子メールを入出力インタフェース部10を介して送信する。
通知部70は、判定結果出力部71、照会要求受付部72、指定検知部74、並行開発情報抽出部75、追い付き要否判定部76、並行開発状況提示部77、を含む。各部の詳細は後述する。
The
The
さて、並行開発管理装置100の運用上、本番系記憶領域92に記憶されるひとつのプログラムが複数の異なる開発テーマによって指定されることがある。また、本番系記憶領域92に記憶された関連する2つのプログラムがそれぞれ別の開発テーマによって指定されることもある。これらはいずれもプログラムの並行開発である。
In the operation of the parallel
並行開発管理テーブル302は、管理対象IDごとに、その管理対象IDによって特定されるプログラムを指定する開発テーマの開発テーマIDおよびその管理対象IDによって特定されるプログラムと依存関係にあるプログラム(特に、その管理対象IDによって特定されるプログラムを親プログラムとする子プログラム)を指定する開発テーマの開発テーマIDを記憶する。
また、並行開発管理テーブル302が管理対象IDと複数の開発テーマIDとを対応付けて記憶している場合、並行開発管理装置100はその管理対象IDによって特定されるプログラムが並行開発の状態にあると認識する。したがって並行開発管理装置100は、依存関係のために並行開発となるプログラムも並行開発の状態にあるプログラムとして認識することができる。
The parallel development management table 302 includes, for each management target ID, a development theme ID of a development theme that specifies a program specified by the management target ID and a program that is dependent on the program specified by the management target ID (in particular, A development theme ID of a development theme that designates a child program whose parent program is a program specified by the management target ID is stored.
When the parallel development management table 302 stores a management target ID and a plurality of development theme IDs in association with each other, the parallel
例えば、親プログラムと子プログラムとがそれぞれ別の開発テーマによって指定された場合、並行開発管理テーブル302は親プログラムを特定する管理対象IDに両方の開発テーマの開発テーマIDを対応付けて記憶する。また、親プログラムを同じくする2つの子プログラムがそれぞれ別の開発テーマによって指定された場合、並行開発管理テーブル302は親プログラムを特定する管理対象IDに両方の開発テーマの開発テーマIDを対応付けて記憶する。 For example, when the parent program and the child program are designated by different development themes, the parallel development management table 302 stores the development theme IDs of both development themes in association with the management target ID that identifies the parent program. When two child programs having the same parent program are designated by different development themes, the parallel development management table 302 associates the development theme IDs of both development themes with the management target ID that identifies the parent program. Remember.
並行開発に関する並行開発管理装置100のより詳しい処理を説明する。
以下、本番系記憶領域92に記憶され2つの別の開発テーマによって並行開発の状態にあるプログラムを並行開発プログラム、並行開発プログラムを特定する管理対象IDを並行開発管理対象ID、並行開発プログラムを指定する一方の開発テーマを第1開発テーマ、その開発テーマIDを第1開発テーマID、他方の開発テーマを第2開発テーマ、その開発テーマIDを第2開発テーマIDと称す。並行開発管理テーブル302は、並行開発管理対象IDと、第1開発テーマIDおよび第2開発テーマIDと、を対応付けて記憶する。また以下の説明は、並行開発プログラムが2つの開発テーマがそのプログラムを直接指定することによって並行開発の状態になった場合および依存関係によって並行開発の状態になった場合の両方に当てはまる。
More detailed processing of the parallel
Hereinafter, a parallel development program is designated as a program that is stored in the production
図9は、並行開発管理装置100における例示的な一連の処理を時系列に沿って示すチャートである。図9では、並行開発プログラムが指定される際の例示的な処理が示される。
第1開発テーマに従事する開発者は並行開発プログラムまたは並行開発プログラムの子プログラムを指定する(S402)。受付部20は、並行開発管理対象IDと第1開発テーマIDとステータスID「S1」とを対応付けて並行開発管理テーブル302に登録する(S404)。
FIG. 9 is a chart showing an exemplary series of processes in the parallel
The developer engaged in the first development theme designates a parallel development program or a child program of the parallel development program (S402). The receiving
開発テーマディレクトリ生成部32は、第1開発テーマIDに対応する第1ディレクトリを開発系記憶領域94に生成する(S406)。変更対象複製部34は、並行開発プログラムを本番系記憶領域92から読み出して複製し、第1複製プログラムを生成する。変更対象複製部34は、第1複製プログラムを第1ディレクトリに格納する(S408)。変更対象送信部36は、第1複製プログラムを入出力インタフェース部10を介して開発環境サーバ110に送信する(S410)。
The development theme
その後、第2開発テーマに従事する開発者は並行開発プログラムまたは並行開発プログラムの子プログラムを指定する(S412)。管理テーブル登録部29は、登録のために並行開発管理テーブル302にアクセスし、並行開発管理対象IDが並行開発管理テーブル302に既に登録されていることを検知する。管理テーブル登録部29は、並行開発管理対象IDおよび第2開発テーマIDを指定検知部74に渡す。指定検知部74はそれらの情報を受けると、並行開発プログラムについての並行開発を検知する(S414)。
Thereafter, the developer engaged in the second development theme designates a parallel development program or a child program of the parallel development program (S412). The management
並行開発情報抽出部75は、指定検知部74が並行開発を検知すると、並行開発管理テーブル302を参照し、並行開発の相手の開発テーマIDとして並行開発管理対象IDに対応する第1開発テーマIDと、そのステータスIDと、を抽出する(S416)。
並行開発状況提示部77は、並行開発情報抽出部75によって抽出されたステータスIDが「S1」または「S2」である場合、すなわちステータスがリリース済みでない場合、並行開発管理対象IDおよび第1開発テーマIDをテキストの形で含む第1通知画面500(図12で後述)をユーザ端末のディスプレイに表示させるための画面情報を生成する。並行開発状況提示部77は、生成した画面情報を入出力インタフェース部10を介して第2開発テーマに従事する開発者のユーザ端末に送信する(S418)。
When the designation detection unit 74 detects parallel development, the parallel development information extraction unit 75 refers to the parallel development management table 302 and first development theme ID corresponding to the parallel development management target ID as the development theme ID of the partner of parallel development. And the status ID are extracted (S416).
When the status ID extracted by the parallel development information extraction unit 75 is “S1” or “S2”, that is, when the status is not released, the parallel development
また並行開発状況提示部77は、並行開発管理対象IDおよび第2開発テーマIDをテキストの形で含む第2通知画面をユーザ端末のディスプレイに表示させるための画面情報を生成する。並行開発状況提示部77は、第1開発テーマに従事する開発者のセッション中であればそのセッション中に、第1開発テーマに従事する開発者がログアウトしていれば再ログイン後に、生成した画面情報を入出力インタフェース部10を介して第1開発テーマに従事する開発者のユーザ端末に送信する(S420)。
The parallel development
受付部20は、並行開発管理対象IDおよび第2開発テーマIDを対応付けて並行開発管理テーブル302に登録する(S422)。
開発テーマディレクトリ生成部32は、第2開発テーマIDに対応する第2ディレクトリを開発系記憶領域94に生成する(S424)。
変更対象複製部34は、並行開発プログラムを本番系記憶領域92から読み出して複製し、第2複製プログラムを生成する。変更対象複製部34は、第2複製プログラムを第2ディレクトリに格納する(S426)。
変更対象送信部36は、第2複製プログラムを入出力インタフェース部10を介して開発環境サーバ110に送信する(S428)。
The receiving
The development theme
The change
The change
第1開発テーマにしたがった変更が完了し単体テストをパスした第1複製プログラムを第1変更後プログラム、第2開発テーマにしたがった変更が完了し単体テストをパスした第2複製プログラムを第2変更後プログラムと称す。
第1開発テーマよりも先に第2開発テーマのリリースが完了した場合に、第1変更後プログラムに第2開発テーマにしたがった変更を取り込むことを第1開発テーマが第2開発テーマに「追い付く」と表現する。
After the first change, the first replication program that passed the unit test after the change according to the first development theme was completed, and after the second change, the second replication program that completed the change according to the second development theme and passed the unit test This is called a program.
When the release of the second development theme is completed prior to the first development theme, the first development theme “catch up with” the second development theme to incorporate the change according to the second development theme into the first changed program. ".
図10は、並行開発管理装置100における例示的な一連の処理を時系列に沿って示すチャートである。図10では、並行開発の状況が照会される際の例示的な処理が示される。
第1開発テーマに従事する開発者のユーザ端末は、並行開発の状況を照会するための並行開発照会要求をネットワーク108を介して並行開発管理装置100に送信する(S430)。照会要求受付部72は、並行開発照会要求を受けると、開発テーマIDなどの照会に必要な情報を第1開発テーマに従事する開発者に要求する(S432)。特に照会要求受付部72は、ユーザIDまたは開発テーマIDを必須入力項目として照会用の情報の入力を促す照会情報入力画面506(図13で後述)をユーザ端末のディスプレイに表示させるための画面情報を生成する。照会要求受付部72は、この画面情報を入出力インタフェース部10を介して第1開発テーマに従事する開発者のユーザ端末に送信する。
FIG. 10 is a chart showing an exemplary series of processes in the parallel
The user terminal of the developer engaged in the first development theme transmits a parallel development inquiry request for inquiring the status of parallel development to the parallel
第1開発テーマに従事する開発者のユーザ端末は、第1開発テーマIDを含む要求された情報を照会要求受付部72に提供する(S434)。特に照会要求受付部72は、ユーザ端末のディスプレイに表示された照会情報入力画面506に対して入力された情報を、そのユーザ端末から入出力インタフェース部10を介して取得する。照会要求受付部72は、取得した情報から第1開発テーマIDを抽出する(S436)。
The user terminal of the developer engaged in the first development theme provides the requested information including the first development theme ID to the inquiry request reception unit 72 (S434). In particular, the inquiry
並行開発情報抽出部75は開発テーマ管理テーブル304を参照し、抽出された第1開発テーマIDに対応する管理対象IDを抽出する。このようにして抽出された管理対象IDは並行開発管理対象IDを含む。並行開発情報抽出部75は並行開発管理テーブル302を参照し、抽出された管理対象IDのなかから第1開発テーマID以外の開発テーマIDが対応付けられた管理対象IDを選択する。特に、並行開発管理テーブル302において並行開発管理対象IDには第1開発テーマIDおよび第2開発テーマIDが対応付けられているので、並行開発情報抽出部75は並行開発管理対象IDを選択する(S438)。 The parallel development information extraction unit 75 refers to the development theme management table 304 and extracts a management target ID corresponding to the extracted first development theme ID. The management target ID extracted in this way includes a parallel development management target ID. The parallel development information extracting unit 75 refers to the parallel development management table 302 and selects a management target ID associated with a development theme ID other than the first development theme ID from the extracted management target IDs. In particular, since the first development theme ID and the second development theme ID are associated with the parallel development management object ID in the parallel development management table 302, the parallel development information extraction unit 75 selects the parallel development management object ID ( S438).
追い付き要否判定部76は、並行開発プログラムについて第1開発テーマが第2開発テーマに追い付く必要があるか否かを判定する(S440)。追い付き要否判定部76は、上書き部60が第1変更後プログラムよりも先に第2変更後プログラムによって本番系記憶領域92に記憶された並行開発プログラムを上書きした場合、第1開発テーマが第2開発テーマに追い付く必要があると判定する。そうでない場合、追い付き要否判定部76は追い付く必要がないと判定する。
The catch-up necessity determination unit 76 determines whether or not the first development theme needs to catch up with the second development theme for the parallel development program (S440). When the overwriting
特に追い付き要否判定部76は並行開発管理テーブル302を参照し、並行開発管理対象IDについて、第2開発テーマIDに対応するステータスIDが「S3」となっており、かつ、第2開発テーマIDに対応する終了日が第1開発テーマIDに対応する開始日よりも後となっている場合、第1開発テーマが第2開発テーマに追い付く必要があると判定する。また、追い付き要否判定部76は、例えば第2開発テーマIDに対応するステータスIDが「S1」となっている場合は追い付く必要がないと判定する。 In particular, the catch-up necessity determination unit 76 refers to the parallel development management table 302, and for the parallel development management target ID, the status ID corresponding to the second development theme ID is “S3” and the second development theme ID. If the end date corresponding to is after the start date corresponding to the first development theme ID, it is determined that the first development theme needs to catch up with the second development theme. Further, the catch-up necessity determination unit 76 determines that it is not necessary to catch up when the status ID corresponding to the second development theme ID is “S1”, for example.
並行開発状況提示部77は、並行開発情報抽出部75によって選択された管理対象IDと並行開発の相手の開発テーマIDと追い付き要否判定部76における判定結果とを対応付けて照会元に通知する。特に並行開発状況提示部77は、並行開発管理対象IDと追い付きの要否と第2開発テーマIDとを含む第3通知画面508(図14で後述)をユーザ端末のディスプレイに表示させるための画面情報を生成する。並行開発状況提示部77は、この画面情報を入出力インタフェース部10を介して第1開発テーマに従事する開発者のユーザ端末に送信する(S442)。
The parallel development
なお、照会要求受付部72は、並行開発照会要求に代えて第1開発テーマに従事する開発者のログインを契機として並行開発状況の照会を開始してもよい。
Note that the inquiry
図11は、並行開発管理装置100における例示的な一連の処理を時系列に沿って示すチャートである。図11では、リリースの際の例示的な処理が示される。
第1変更後プログラムが開発環境サーバ110から並行開発管理装置100へ送信され、連結・総合テストが完了すると、第1開発テーマの開発リーダは並行開発プログラムのリリースを申請する(S444)。リリース申請受付部46はこのリリース申請を受け付ける。
FIG. 11 is a chart showing an exemplary series of processes in the parallel
When the first changed program is transmitted from the
リリース認否判定部80はリリース申請受付部46によってリリース申請が受け付けられると、並行開発プログラムについてリリースの認否を判定する。
リリース認否判定部80は、並行開発管理テーブル302を参照し、並行開発プログラムについて(甲)第1開発テーマの開始日からリリース申請日までの間に並行開発の状態になったことがない場合か、または、(乙)第2開発テーマによってリリース申請中とされておらずかつ第2開発テーマに対する追い付きが完了している場合か、または、(丙)第2開発テーマによってリリース申請中とされておらずかつ第2開発テーマに追い付く必要がない場合に、並行開発プログラムをリリースしてもよいと判定する。
When a release application is received by the release
The release approval /
(乙)についてより具体的には、リリース認否判定部80は、並行開発管理テーブル302を参照し、並行開発管理対象IDに対応付けられた第2開発テーマIDのステータスIDを抽出する。リリース認否判定部80は、抽出されたステータスIDが「S2」である場合、並行開発プログラムについてリリース申請中の第2開発テーマが存在する旨を第1開発テーマに従事する開発者に通知する。リリース認否判定部80は並行開発プログラムの第1開発テーマによるリリースを禁止してもよい。リリース認否判定部80は、並行開発管理テーブル302にアクセスし、第1開発テーマIDに対応するステータスIDを「S1」に戻し、リリース申請日を消去してもよい。
More specifically, the release approval /
リリース認否判定部80は、抽出されたステータスIDが「S3」である場合すなわち第1開発テーマによるリリース申請より前に第2開発テーマによるリリースが完了している場合、並行開発プログラムについて第2開発テーマに追い付く必要があると判定する(S446)。リリース認否判定部80は、第2開発テーマにしたがった変更が第1変更後プログラムに反映されているか否かを判定する(S448)。リリース認否判定部80はユーザからの申告に基づいてこの判定を行ってもよい。あるいはまたリリース認否判定部80は、本番系記憶領域92に記憶され第2開発テーマにしたがった変更が反映されている並行開発プログラムと第1変更後プログラムとを比較することでこの判定を行ってもよい。反映されている場合、リリース認否判定部80は第2開発テーマに対する追い付きが完了していると判定する。
When the extracted status ID is “S3”, that is, when the release by the second development theme is completed before the release application by the first development theme, the release approval /
(丙)についてより具体的には、リリース認否判定部80は、抽出されたステータスIDが「S1」である場合すなわち第2開発テーマによってリリースもリリース申請もされていない場合、並行開発プログラムについて第2開発テーマに追い付く必要がないと判定する。
More specifically, regarding (ii), the release approval /
判定結果出力部71は、リリース認否判定部80において並行開発プログラムをリリースしてもよいと判定された場合、並行開発プログラムの追い付きの状況を入出力インタフェース部10を介して所定のプリンタから文書として出力する(S450)。リリース会議ではこの文書が追い付き確認のための参考として使用されてもよい。
When it is determined in the release approval /
上書き部60は、リリース認否判定部80において並行開発プログラムをリリースしてもよいと判定され、かつ、リリース承認受付部48によってリリースの承認が受け付けられた場合、第1変更後プログラムによって本番系記憶領域92に記憶されている並行開発プログラムを上書きする(S452)。
If the release approval /
図12は、第1通知画面500の代表画面図である。第1通知画面500は、並行開発管理対象ID502および第1開発テーマID504をテキストの形で含む。第2通知画面も同様の構成を有する。
FIG. 12 is a representative screen diagram of the
図13は、照会情報入力画面506の代表画面図である。照会情報入力画面506は、ユーザID入力領域510と、開発テーマID入力領域512と、それ以外の情報の入力領域514と、実行ボタン516と、戻るボタン518と、を有する。照会情報入力画面506をユーザ端末のディスプレイに表示させるための画面情報は、実行ボタン516が押し下げられた場合にユーザID入力領域510および開発テーマID入力領域512のいずれにも入力がないとエラーを返すように構成される。
FIG. 13 is a representative screen diagram of the inquiry
図14は、第3通知画面508の代表画面図である。第3通知画面508は、並行開発管理対象ID520と、追い付き要否判定部76における追い付き要否の判定結果522と、自己の開発テーマID524と、自己のユーザID526と、並行開発の相手の開発テーマID528と、その相手のユーザID530と、を表形式で表示する。
FIG. 14 is a representative screen diagram of the
以上の構成による並行開発管理装置100の動作を説明する。
例えばあるアプリケーションについて、性能向上のための長期的な開発テーマが既に設定されているときに、そのアプリケーションにバグが発見されたとする。するとそのバグを修正するための新たな短期的な開発テーマが設定される。このような状況では長期的な開発テーマと短期的な開発テーマとで同じプログラムや依存関係にあるプログラムを修正対象として指定する場合がある。並行開発管理装置100は、そのようなプログラムが長期的な開発テーマと短期的な開発テーマとの間で並行開発の状態になると、ログインの際やプログラムの指定の際や照会要求に応じて、追い付きの要否を含む並行開発の状況をユーザに通知する。
The operation of the parallel
For example, when a long-term development theme for performance improvement is already set for an application, a bug is found in the application. Then, a new short-term development theme is set to fix the bug. In such a situation, a program having the same program or a dependency relationship between the long-term development theme and the short-term development theme may be designated as a correction target. When such a program enters a parallel development state between a long-term development theme and a short-term development theme, the parallel
2つの開発テーマによって並行開発の状態にあるプログラムが、一方の開発テーマよりも先に他方の開発テーマによってリリースされたとする。ここで一方の開発テーマが他方の開発テーマに追い付かないまま一方の開発テーマによるリリースが行われると、他方の開発テーマにしたがった変更が消滅してしまう。これにより、例えば前回リリースした機能が動かなくなるなどのリリース後の障害が発生しうる。 Assume that a program in a state of parallel development by two development themes is released by one development theme before the other development theme. If one development theme is released without one development theme catching up with the other development theme, the change according to the other development theme disappears. As a result, for example, a failure after the release such as the function released last time may not work.
これに対して本実施の形態に係る並行開発管理装置100によると、並行開発に係るプログラムを指定する開発テーマのユーザに追い付きの要否を含む並行開発の状況が通知される。したがって、プログラムが並行開発の状態にあること、並行開発の相手、追い付きの要否などをユーザに知らせることで、ユーザの注意を喚起することができる。ユーザは通知内容に基づき適宜追い付きを実行することができる。その結果、リリース後に障害が発生する可能性を低減できる。
On the other hand, according to the parallel
また、本実施の形態に係る並行開発管理装置100では、既にある開発テーマによって指定されているプログラムが事後的に並行開発の状態となった場合、そのプログラムの情報および並行開発の相手の開発テーマの情報がある開発テーマの通知先に通知される。したがって、ある開発テーマに従事する開発者は、そのプログラムが並行開発の状態となったこと、および並行開発の相手を知ることができる。
Further, in the parallel
複数(例えば2つ)の開発テーマによって並行開発の状態にあるプログラムについて、一方の開発テーマによってリリースが申請されてからそのリリースが承認され、リリースが完了するまでには通常数時間から数日のタイムラグが存在する。この間に他方の開発テーマによるそのプログラムのリリースが完了すると、一方の開発テーマによるリリースの完了によって他方の開発テーマにしたがった変更が消滅してしまう場合がある。 For a program that is in the state of parallel development by multiple (for example, two) development themes, the release is approved after the application for one development theme is applied, and it usually takes several hours to several days to complete the release. There is a time lag. If the release of the program by the other development theme is completed during this time, the change according to the other development theme may disappear due to the completion of the release by the one development theme.
そこで、本実施の形態に係る並行開発管理装置100では、ある開発テーマによってリリース申請されたプログラムが他の開発テーマによってリリース申請中とされている場合、リリース認否判定部80においてそのプログラムをリリースしてもよいと判定されないので、ある開発テーマによるそのプログラムのリリースが制限される。すなわち、リリース認否判定部80においてプログラムをリリースしてもよいと判定されてから上書き部60が対応する上書きを実行するまでの間、そのプログラムに対する他の上書きが制限される。これにより、上記のようなリリース申請中の上書きによる変更の消滅が発生する可能性が低減される。
Therefore, in the parallel
上述の実施の形態において、記憶装置90の例は、ハードディスクやメモリである。また、本明細書の記載に基づき、各部を、図示しないCPUや、インストールされたアプリケーションプログラムのモジュールや、システムプログラムのモジュールや、ハードディスクから読み出したデータの内容を一時的に記憶するメモリなどにより実現できることは本明細書に触れた当業者には理解されるところである。
In the above-described embodiment, examples of the
以上、実施の形態に係る並行開発管理装置100の構成と動作について説明した。この実施の形態は例示であり、その各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
The configuration and operation of the parallel
実施の形態では、依存関係参照部28が登録されている依存関係に基づいて指定されたプログラムと依存関係にあるプログラムを開発テーマ管理テーブル304に登録し、読み出し部30は、指定されたプログラムおよびそれと依存関係にあるプログラムを開発環境サーバ110に送信する場合について説明したが、これに限られない。例えば、依存関係に基づく処理はチェックイン段階などの別の段階で行われてもよい。
In the embodiment, a program having a dependency relationship with a program specified based on the dependency relationship in which the dependency
実施の形態では、追い付き要否判定部76は、上書き部60が第1変更後プログラムよりも先に第2変更後プログラムによって本番系記憶領域92に記憶された並行開発プログラムを上書きした場合、第1開発テーマが第2開発テーマに追い付く必要があると判定する場合について説明したが、これに限られない。
In the embodiment, the catch-up necessity determination unit 76, when the overwriting
例えば、追い付き要否判定部は、上書き部60が第1変更後プログラムよりも先に第2変更後プログラムによって本番系記憶領域92に記憶された並行開発プログラムを上書きする予定となっている場合、第1開発テーマが第2開発テーマに追い付く必要があると判定してもよい。
For example, the catch-up necessity determination unit, when the overwriting
特に追い付き要否判定部は、開発テーマ管理テーブル304を参照し、並行開発プログラムについて第1開発テーマIDに対応するリリース予定日が第2開発テーマIDに対応するリリース予定日よりも後となっている場合、第1開発テーマが第2開発テーマに追い付く必要があると判定してもよい。この場合、よりきめ細かな通知が可能となる。 In particular, the catch-up necessity determination unit refers to the development theme management table 304, and the planned release date corresponding to the first development theme ID for the parallel development program is later than the planned release date corresponding to the second development theme ID. If it is, it may be determined that the first development theme needs to catch up with the second development theme. In this case, more detailed notification is possible.
実施の形態では、開始日、終了日、リリース申請日など時刻の単位として日付を使用する場合について説明したが、これに限られず他の時刻の単位が使用されてもよい。 In the embodiment, the case where a date is used as a unit of time such as a start date, an end date, and a release application date has been described. However, the present invention is not limited to this, and other units of time may be used.
実施の形態では、開発環境サーバ110、テスト環境サーバ112、本番ゲートウェイ114は別体である場合について説明したが、これに限られず、例えばひとつのサーバに実現されてもよい。
In the embodiment, the case has been described in which the
通知部70は、ユーザがログオフしている間に発生するそのユーザに通知すべき情報を蓄積し、そのユーザがログインした際に蓄積された情報をそのユーザに通知してもよい。
この場合通知部70は、並行開発管理テーブル302を監視し、ステータスIDに変更があると、その変更があった日時とその変更の内容とを対応付けて図示しないログイン時通知内容保持部に登録する。通知部70は、ユーザが並行開発管理装置100にログインすると、ログイン時通知内容保持部に保持される情報からログインしたユーザに関する情報を抽出する。通知部70は、抽出した情報を含む第4通知画面532をユーザ端末のディスプレイに表示させるための画面情報を生成する。通知部70は、この画面情報を入出力インタフェース部10を介してログインしたユーザのユーザ端末に送信する。
The
In this case, the
図15は、第4通知画面532の代表画面図である。第4通知画面532は、通知日時534と、メッセージID536と、ステータスの変更の内容を示すメッセージ538と、を表形式で表示する。
この場合、ユーザはログイン時に並行開発の状況や履歴を把握することができる。
FIG. 15 is a representative screen diagram of the
In this case, the user can grasp the status and history of parallel development at the time of login.
2 プログラム開発システム、 10 入出力インタフェース部、 20 受付部、 30 読み出し部、 40 テスト・リリース管理部、 50 本番環境配布部、 60 上書き部、 70 通知部、 90 記憶装置、 92 本番系記憶領域、 94 開発系記憶領域、 96 管理系記憶領域、 100 並行開発管理装置、 108 ネットワーク、 110 開発環境サーバ、 112 テスト環境サーバ、 114 本番ゲートウェイ、 116 本番環境サーバ。 2 program development system, 10 input / output interface unit, 20 reception unit, 30 reading unit, 40 test / release management unit, 50 production environment distribution unit, 60 overwriting unit, 70 notification unit, 90 storage device, 92 production system storage area, 94 development storage area, 96 management storage area, 100 parallel development management device, 108 network, 110 development environment server, 112 test environment server, 114 production gateway, 116 production environment server.
Claims (4)
一方のコンピュータプログラムを変更すると他方のコンピュータプログラムも必然的に変更すべきことを示す、コンピュータプログラム間の依存関係に関する情報を記憶する第2記憶領域と、
開発のテーマごとに変更対象のコンピュータプログラムの指定を受け付ける変更対象指定受付部と、
前記第2記憶領域を参照して、指定されたコンピュータプログラムと依存関係にあるコンピュータプログラムを抽出する依存関係参照部と、
指定されたコンピュータプログラムおよび依存関係にあるコンピュータプログラムを前記第1記憶領域から読み出す読み出し部と、
前記読み出し部によって読み出されたコンピュータプログラムに対してテーマにしたがった変更がなされた場合、変更されたコンピュータプログラムによって前記第1記憶領域に記憶されたコンピュータプログラムを上書きする上書き部と、
テーマに関連付けられた通知先に所定の情報を通知する通知部と、を備え、
前記読み出し部は、第1のテーマに対してひとつのコンピュータプログラムを第1のコンピュータプログラムとして前記第1記憶領域から読み出すと共に、第2のテーマに対して前記ひとつのコンピュータプログラムを第2のコンピュータプログラムとして前記第1記憶領域から読み出し、
前記通知部は、前記上書き部が第1のコンピュータプログラムよりも先に第2のコンピュータプログラムによって前記第1記憶領域に記憶された前記ひとつのコンピュータプログラムを上書きすると、前記ひとつのコンピュータプログラムの情報および第2のテーマの情報を第1のテーマに関連付けられた通知先に通知し、
前記通知部は、前記上書き部が第1のコンピュータプログラムよりも先に第2のコンピュータプログラムによって前記第1記憶領域に記憶された前記ひとつのコンピュータプログラムを上書きする予定となっている場合、前記ひとつのコンピュータプログラムの情報および第2のテーマの情報を第1のテーマに関連付けられた通知先に通知することを特徴とする並行開発管理装置。 A first storage area for storing a computer program;
A second storage area for storing information about the dependency relationship between the computer programs, indicating that when one computer program is changed, the other computer program is necessarily changed;
A change target designation receiving unit that accepts designation of a computer program to be changed for each development theme;
A dependency reference unit that refers to the second storage area and extracts a computer program that is dependent on the specified computer program;
A reading unit that reads the designated computer program and the computer program having a dependency relationship from the first storage area;
An overwriting unit for overwriting the computer program stored in the first storage area by the changed computer program, when a change according to the theme is made to the computer program read by the reading unit;
A notification unit that notifies predetermined information to a notification destination associated with a theme,
The reading unit reads one computer program as a first computer program from the first storage area for the first theme, and also reads the one computer program for the second theme as a second computer program. As read from the first storage area,
When the overwriting unit overwrites the one computer program stored in the first storage area by a second computer program prior to the first computer program, the notifying unit overwrites the information of the one computer program and Notify the second theme information to the notification destination associated with the first theme,
If the overwriting unit is to overwrite the one computer program stored in the first storage area by a second computer program prior to the first computer program, the notifying unit A parallel development management apparatus characterized by notifying information on the computer program and information on the second theme to a notification destination associated with the first theme.
一方のコンピュータプログラムを変更すると他方のコンピュータプログラムも必然的に変更すべきことを示す、コンピュータプログラム間の依存関係に関する情報を記憶する第2記憶領域と、
開発のテーマごとに変更対象のコンピュータプログラムの指定を受け付ける変更対象指定受付部と、
前記第2記憶領域を参照して、指定されたコンピュータプログラムと依存関係にあるコンピュータプログラムを抽出する依存関係参照部と、
指定されたコンピュータプログラムおよび依存関係にあるコンピュータプログラムを前記第1記憶領域から読み出す読み出し部と、
前記読み出し部によって読み出されたコンピュータプログラムに対してテーマにしたがった変更がなされた場合、変更されたコンピュータプログラムによって前記第1記憶領域に記憶されたコンピュータプログラムを上書きする上書き部と、
テーマに関連付けられた通知先に所定の情報を通知する通知部と、を備え、
前記読み出し部は、第1のテーマに対してひとつのコンピュータプログラムを第1のコンピュータプログラムとして前記第1記憶領域から読み出すと共に、第2のテーマに対して前記ひとつのコンピュータプログラムを第2のコンピュータプログラムとして前記第1記憶領域から読み出し、
前記通知部は、前記上書き部が第1のコンピュータプログラムよりも先に第2のコンピュータプログラムによって前記第1記憶領域に記憶された前記ひとつのコンピュータプログラムを上書きすると、前記ひとつのコンピュータプログラムの情報および第2のテーマの情報を第1のテーマに関連付けられた通知先に通知し、
前記通知部は、前記受付部が第1のテーマについて前記ひとつのコンピュータプログラムの指定を受け付けた後、第2のテーマについて前記ひとつのコンピュータプログラムの指定を受け付けると、前記ひとつのコンピュータプログラムの情報および第2のテーマの情報を第1のテーマに関連付けられた通知先に通知し、
前記通知部は、前記上書き部が第1のコンピュータプログラムよりも先に第2のコンピュータプログラムによって前記第1記憶領域に記憶された前記ひとつのコンピュータプログラムを上書きする予定となっている場合、前記ひとつのコンピュータプログラムの情報および第2のテーマの情報を第1のテーマに関連付けられた通知先に通知することを特徴とする並行開発管理装置。 A first storage area for storing a computer program;
A second storage area for storing information about the dependency relationship between the computer programs, indicating that when one computer program is changed, the other computer program is necessarily changed;
A change target designation receiving unit that accepts designation of a computer program to be changed for each development theme;
A dependency reference unit that refers to the second storage area and extracts a computer program that is dependent on the specified computer program;
A reading unit that reads the designated computer program and the computer program having a dependency relationship from the first storage area;
An overwriting unit for overwriting the computer program stored in the first storage area by the changed computer program, when a change according to the theme is made to the computer program read by the reading unit;
A notification unit that notifies predetermined information to a notification destination associated with a theme,
The reading unit reads one computer program as a first computer program from the first storage area for the first theme, and also reads the one computer program for the second theme as a second computer program. As read from the first storage area,
When the overwriting unit overwrites the one computer program stored in the first storage area by a second computer program prior to the first computer program, the notifying unit overwrites the information of the one computer program and Notify the second theme information to the notification destination associated with the first theme,
When the receiving unit receives the specification of the one computer program for the second theme after the receiving unit receives the specification of the one computer program for the first theme, the notification unit receives information on the one computer program and Notify the second theme information to the notification destination associated with the first theme,
If the overwriting unit is to overwrite the one computer program stored in the first storage area by a second computer program prior to the first computer program, the notifying unit A parallel development management apparatus characterized by notifying information on the computer program and information on the second theme to a notification destination associated with the first theme.
前記上書き部は、前記判定部において反映されていると判定された場合に、前記第1のコンピュータプログラムによって前記第1記憶領域に記憶された前記ひとつのコンピュータプログラムを上書きし、
前記判定部において反映されていると判定されてから前記上書き部が第1のコンピュータプログラムによって前記第1記憶領域に記憶された前記ひとつのコンピュータプログラムを上書きするまでの間、前記ひとつのコンピュータプログラムに対する他の上書きが制限されることを特徴とする請求項1または2に記載の並行開発管理装置。 When the overwriting unit overwrites the one computer program stored in the first storage area by a second computer program prior to the first computer program, the second computer program A determination unit for determining whether a change according to the theme of 2 is reflected in the first computer program;
The overwriting unit overwrites the one computer program stored in the first storage area by the first computer program when it is determined to be reflected in the determination unit,
Until it is overwritten by the first computer program that the overwriting unit overwrites the one computer program stored in the first storage area after it is determined that it is reflected in the determination unit. 3. The parallel development management apparatus according to claim 1, wherein other overwriting is restricted.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011036877A JP5661505B2 (en) | 2011-02-23 | 2011-02-23 | Parallel development management device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011036877A JP5661505B2 (en) | 2011-02-23 | 2011-02-23 | Parallel development management device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012174095A JP2012174095A (en) | 2012-09-10 |
JP5661505B2 true JP5661505B2 (en) | 2015-01-28 |
Family
ID=46976938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011036877A Expired - Fee Related JP5661505B2 (en) | 2011-02-23 | 2011-02-23 | Parallel development management device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5661505B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5565885B2 (en) * | 2012-03-30 | 2014-08-06 | Necシステムテクノロジー株式会社 | Source file editing management device, source file editing management method, and program |
JP6029117B2 (en) * | 2014-07-31 | 2016-11-24 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Apparatus and method for supporting source code sharing |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4341569B2 (en) * | 2005-03-14 | 2009-10-07 | 日本電気株式会社 | Product management system, method, program |
JP4889593B2 (en) * | 2007-08-21 | 2012-03-07 | 株式会社日立ソリューションズ | Configuration management system |
JP2009244974A (en) * | 2008-03-28 | 2009-10-22 | Nomura Research Institute Ltd | Program development management device |
-
2011
- 2011-02-23 JP JP2011036877A patent/JP5661505B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012174095A (en) | 2012-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11093377B2 (en) | Systems and methods for testing source code | |
US8190562B2 (en) | Linking framework for information technology management | |
JP5235453B2 (en) | System and method for automatically enhancing change control in operations performed by operation management products | |
US7933866B2 (en) | Systems, methods and software programs for data synchronization | |
US20050222969A1 (en) | Centralized configuration data management for distributed clients | |
US20110161284A1 (en) | Workflow systems and methods for facilitating resolution of data integration conflicts | |
US20070067354A1 (en) | Productivity suite to line of business synchronization mechanism | |
US7743281B2 (en) | Distributed file fuzzing | |
JP2005515539A (en) | Integrated integrity manager | |
JP2013534675A (en) | Provisioning multiple network resources | |
JP2010237898A (en) | Apparatus, and method for processing login and program | |
US20090327630A1 (en) | Software configuration item back-up facility | |
US20080228832A1 (en) | Interfaces for high availability systems and log shipping | |
US11122012B2 (en) | License utilization management system service suite | |
US20090177856A1 (en) | Method and apparatus for automated backup process | |
US20230168872A1 (en) | Generating user interfaces for administration of services executing in cloud platforms | |
US20230171244A1 (en) | Administration of services executing in cloud platform based datacenters using token with data structure | |
US8640209B2 (en) | Authentication information change facility | |
JP5661505B2 (en) | Parallel development management device | |
JP5537599B2 (en) | Version upgrade management method in business system | |
JP2012141752A (en) | Information processing device, information processing system and program | |
Ludwig et al. | REST-based management of loosely coupled services | |
JP2018045447A (en) | Information processing system, application installation method, and information processing apparatus | |
US20230171243A1 (en) | Administration of services executing in cloud platform based datacenters for web-based applications | |
AU2006292299A1 (en) | Productivity suite to line of business synchronization mechanism |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130214 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131112 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140108 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140401 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140530 |
|
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: 20141202 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141203 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5661505 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |