JP3611178B2 - Program development management support device - Google Patents

Program development management support device Download PDF

Info

Publication number
JP3611178B2
JP3611178B2 JP24681298A JP24681298A JP3611178B2 JP 3611178 B2 JP3611178 B2 JP 3611178B2 JP 24681298 A JP24681298 A JP 24681298A JP 24681298 A JP24681298 A JP 24681298A JP 3611178 B2 JP3611178 B2 JP 3611178B2
Authority
JP
Japan
Prior art keywords
product
work
status
management
program development
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP24681298A
Other languages
Japanese (ja)
Other versions
JP2000076049A (en
Inventor
真人 西口
弘 菅沼
賢一 新徳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP24681298A priority Critical patent/JP3611178B2/en
Publication of JP2000076049A publication Critical patent/JP2000076049A/en
Application granted granted Critical
Publication of JP3611178B2 publication Critical patent/JP3611178B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータのソフトウェア開発における作業の管理及びソースコードやドキュメント等の生産物の管理を支援するプログラム開発管理支援装置に関するものである。
【0002】
【従来の技術】
従来よりプログラム開発においては、特開平9−16391号公報(発明の名称:ソフトウェア開発支援・保守支援システム)や特開平9−258966号公報(発明の名称:ソフトウェア提供システム,ソフトウェア提供装置及びソフトウェア提供装置)に開示されているように、プログラム開発を行なうプロジェクト内の複数の開発担当者が生産物を共有して利用するための構成管理装置がある。
【0003】
これらは、共有される生産物(ソースコードやドキュメント等)の各バージョン間の差分情報をリポジトリと呼ばれるディレクトリ階層に一元管理するものであり、各開発担当者の作業領域に、リポジトリから指定バージョンの生産物の内容を取り出して、取り出し先とリポジトリを対応付けた排他制御に基づいて生産物の変更や配布、リポジトリの更新を行うものである。
【0004】
これらの技術の主な課題は、各開発担当者によって更新された生産物を他の担当者の作業領域に配布・提供することであり、各開発担当者の作業領域に配布・提供される生産物は管理者がリポジトリを一元管理することによって常に最新の状態に維持管理される。
【0005】
一方、これらの技術とは異なり、各開発担当者の作業領域に取り出された生産物の状態を担当者の側から作業領域の生産物とリポジトリを対比させることで把握する技術がある。
また、プログラム開発において作業の進捗を管理する装置がある。この装置は、各開発担当者の作業内容単位での予定と実績を管理するものである。
また、プログラム開発において、作業の指示や報告をメール機能を用いて支援する装置(特開平9−16391号)がある。
【0006】
【発明が解決しようとする課題】
ところで、上記公報で開示された構成管理装置を用いたプログラム開発では、複数の開発担当者の作業領域に取り出された生産物は、修正や取り出しを繰り返した結果、それぞれの作業領域でのバージョンが一様でなくなる可能性がある。
【0007】
また、修正の目的と作業状況が生産物のバージョンに一概に対応しないために、チェックインされた生産物が開発担当者の個人的なバックアップであったり、テスト中のものである場合などがあるため、非開発担当者(管理者)が安全に利用できる状態の生産物であるかをバージョン情報から把握することは困難である。
【0008】
そのため、自分とは異なった作業領域や全作業領域での生産物の状態と作業状況を把握でき、また作業状況に同期した生産物管理を行えるようにすることが求められている。
【0009】
例えば、プロジェクト管理者は、全ての開発担当者の使用している生産物のバージョンと状態を把握して、「古いバージョンの生産物を使用していないか」、「不必要な生産物を取り出していないか、また逆に取り出すべき生産物を取り出しているか」、「リリース前の修正中の生産物の有無」の確認などができることにより、分散して存在している生産物の正当性や一貫性を維持することができる。
【0010】
また、開発担当者側では、他の開発担当者の修正の有無の確認と作業状況と作業目的を確認することができることにより、テストの完了した安全な生産物をリポジトリから取り出し利用することができる。
【0011】
しかしながら、上記の従来技術にあっては、管理者は各開発担当者がリポジトリを更新するまで各開発担当者の作業領域の状態を把握できないため、管理者は各開発担当者が何の生産物を修正しているか否かを把握することができないという問題がある。
また、各開発担当者の作業領域に取り出された生産物の状態を担当者の側から作業領域の生産物とリポジトリを対比させることで把握する従来技術にあっては、自分の生産物の状態のみが把握できるだけで、特開平9−16391号公報や特開平9−258966号公報に開示された従来技術と同様、他の開発担当者の作業領域での生産物の状態を把握することができないという問題がある。
【0012】
一方、大規模なプログラム開発では、管理者から各開発担当者に対する作業指示が膨大になる。そのため、管理者とその指示を受ける開発担当者は、指示の把握、実施、報告を効率的に行わなければならない。また、プログラム開発において、作業と生産物は密接な関係があり、作業内容と生産物の状態を対応させた管理を行う必要がある。
【0013】
しかしながら、作業の進捗を管理する従来装置や作業の指示や報告をメール機能を用いて支援する従来装置にあっては、作業内容と生産物の状態を対応させた管理や作業の指示や報告を生産物に対応付けて管理することはできないという問題がある。
【0014】
本発明は、これらの問題を解決するためになされたものであり、その第1の目的は、全ての取り出し先とリポジトリを対比させることで、各開発担当者の作業領域での生産物の状態を一括して把握することができるプログラム開発管理支援装置を提供することである。
【0015】
本発明の第2の目的は、各開発担当者の生産物に対する作業状況を一元管理されたデータベースに格納し、格納した作業状況の情報とリポジトリ内に格納されている生産物のバージョン情報を利用することによって、生産物のバージョンを管理する生産物管理と生産物に対して行なわれている作業の状況を管理する作業状況管理を融合させたプログラム開発管理を実現できるプログラム開発管理支援装置を提供することである。
【0016】
本発明の第3の目的は、管理者から各開発担当者に対する作業の指示を、管理者側と開発担当者側で同時に管理し、管理者は作業指示の有無で残作業指示数と作業指示を抱えてる人の状況を把握することができ、資源配分を有効に行うことが可能なプログラム開発管理支援装置を提供することである。
【0017】
【課題を解決するための手段】
本発明は、上記目的を達成するために、複数のプログラム開発担当者が共有可能なソースコードやドキュメント等の生産物を使用してプログラム開発を行なう場合の管理を支援するプログラム開発管理支援装置において、
前記生産物をディレクトリ構造で格納した生産物格納手段と、各プログラム開発担当者が使用するクライアントコンピュータによって前記生産物格納手段から取り出した生産物を格納する担当者別の作業用格納手段と、各プログラム開発担当者が前記生産物格納手段から取り出した生産物のディレクトリと取り出し先および取り出し先での生産物の状態を生産物単位に格納する状態テーブルと、管理者から指示された時または所定時刻間隔で前記担当者別の作業用格納手段に取り出された生産物の作業状態を収集し、前記状態テーブルに登録する処理と、前記生産物格納手段内の全ての生産物または管理者から指定された生産物について、その取り出し先と作業状態とをディレクトリ構造で表示装置画面に表示させる処理とを行なう生産物管理手段とを備えることを特徴とする。
【0018】
また、各プログラム開発担当者が前記担当者別の作業用格納手段に格納した生産物の状態と当該生産物に対するプログラム開発担当者の現在の作業状況とを生産物単位に格納する作業状況管理テーブルと、各プログラム開発担当者が使用するクライアントコンピュータからの作業状況通知を受け、該当生産物の状態と作業状況を前記作業状況管理テーブルに登録する処理と、各プログラム開発担当者からの問い合わせ要求に対し、要求された生産物の状態を要求元のプログラム開発担当者が使用するクライアントコンピュータに返信して表示させる処理とを行なう作業状況管理手段とを備えることを特徴とする。
【0019】
また、管理者のクライアントコンピュータから入力された各プログラム開発担当者宛の作業指示を格納する作業指示格納手段と、この作業指示格納手段に格納された作業指示を該当するプログラム開発担当者が使用するクライアントコンピュータに送信する処理と、管理者またはプログラム開発担当者のクライアントコンピュータからの要求に応じて、前記作業指示格納手段に格納された作業指示の全てまたは指定されたプログラム開発担当者宛の作業指示の内容と現在の残作業数を含む情報を要求元に返信して表示させる処理とを行なう作業指示管理手段とを備えることを特徴とする。
【0020】
【発明の実施の形態】
以下、本発明の一実施の形態を図を用いて詳細に説明する。
図1は、本発明を適用したプログラム開発管理支援システムの一実施の形態を示すシステム構成図である。
【0021】
この実施形態のプログラム開発管理支援システムは、管理者が管理するサーバ101と、管理者が使用するクライアントコンピュータ102と、プロジェクトの開発担当者であるユーザA〜Cが使用するクライアントコンピュータ103〜105とから構成されている。但し、ユーザCが使用するクライアントコンピュータ105は、サーバ101にネットワーク106で接続されたサーバ107に接続されている。
【0022】
管理者が管理するサーバ101には、メモリ108上に、プログラム開発管理支援装置109を構成するプログラムが組み込まれ、また、データとしてリポジトリ110、履歴管理情報111、作業状況管理情報112が格納されるようになっている。ネットワーク106で接続されたサーバ107のメモリ119内にもサーバ101と同様のプログラム開発管理支援装置120が組み込まれている。
【0023】
プログラム開発管理支援装置109は、生産物管理部113、作業状況管理部114、作業指示管理部115で構成されている。これらの生産物管理部113、作業状況管理部114、作業指示管理部115は、詳しくはプログラムで構成されるものである。サーバ107内のプログラム開発管理支援装置120も同様に構成されている。
【0024】
ユーザAとユーザBは、サーバ101にクライアントコンピュータ103,104からアクセスできるプロジェクトの開発担当者であり、サーバ101の記憶装置内にユーザAの作業領域116とユーザBの作業領域117を有し、リポジトリ110から取り出した生産物の格納が可能になっている。また、ユーザCはネットワーク106で接続されたサーバ107の記憶装置内にユーザCの作業領域118を有し、リポジトリ110から取り出した生産物の格納が可能になっている。ここで、サーバ107のようにリポジトリ110に直接アクセスできないネットワーク上のコンピュータ(ここではサーバ107)が、リポジトリ110などのデータへアクセスする場合、または逆に、リポジトリ110を持つコンピュータ(ここではサーバ101)がネットワーク上のコンピュータ(ここではサーバ107)の作業領域をアクセスする場合には、それぞれのコンピュータに組み込まれたプログラム開発管理支援装置109、120から相手のコンピュータのプログラム開発管理支援装置120、109にリモート処理を要求して結果を受け取るようになっている。
【0025】
以上の構成において、まず、生産物管理部113の処理の流れを図2〜図9を用いて説明する。
【0026】
図2は、生産物管理部113の処理の流れを示すフローチャート、図3は生産物の取り出し先情報テーブル301の構成例、図4は状態データベーステーブル401の構成例、図5は作業環境の具体例、図6は本実施形態で用いるステータス記号の意味、図7は生産物の分布状況の表示画面例、図8は生産物の分布状況の解析内容の詳細画面例、図9は生産物の分布状況の詳細画面例を示す図である。
【0027】
図5に示した作業環境では、サーバ「cet」101にローカルなユーザA,Bである2名の開発担当者「nishi」と「shin」、ネットワーク106を介してサーバ「cet」101にアクセスできるサーバ「cygnus」107上の開発担当者「suga」が、リポジトリ110の「Doc/patent/vw.921」から生産物としての「nisihi.mem」510,511,512を現在時点で取り出している状態を示している。
【0028】
このような作業環境において、サーバ101内のプログラム開発管理支援装置109の生産物管理部113は、管理者から指示があった時、または予め定めた所定時間間隔毎に、リポジトリ110からプロジェクトの各開発担当者「nishi」と「shin」および「suga」の各作業領域116、117、118に取り出された生産物510〜512の状態を把握するために、履歴管理情報111から取り出し先情報を抽出し(ステップ201)、図3に示す取り出し先情報テーブル301に登録する。ここで、生産物の状態とは、後述の図6で説明するが、例えば、最新、修正中、登録予定、削除予定、古いなど状態のことである。
【0029】
この取り出し先情報テーブル301は、生産物管理部113内に設けられるものであり、図3に示すように、生産物の取り出し先サーバ名302とそのサーバでのディレクトリ303の情報が含まれている。図5の作業環境の例では、取り出し先サーバ名302として「cet」と「cygnus」があり、取り出し先サーバでのディレクトリ303にそれぞれ、「/pj/ooplus/us.shin」、「/pj/ooplus/us.nishi」、「 /pj/ooplus/us.suga」が登録されている。
【0030】
次に、リポジトリ110の全てのディレクトリ構造を解析し、図4に示す状態データベーステーブル401に登録する(ステップ202)。
【0031】
状態データベーステーブル401は、1テーブルが1ディレクトリおよび1生産物に対応し、ディレクトリの場合にサブディレクトリへのポインタ405のデータを持つリポジトリ構造に類似した木構造のデータである。各状態データベーステーブル401には、該テーブルがファイル(file)またはディレクトリであるかを示すタイプ402、生産物名403、リポジトリパス404、タイプ402がディレクトリの場合にサブディレクトリのテーブルを指すポインタ405(複数可)、各取り出し先での生産物のステータス記号406、各取り出し先での生産物の詳細ステータス407といったデータが含まれる。
【0032】
図5の例では、タイプ402が「file」、生産物名403が「nishi.mem」で、リポジトリパス404が「Doc/patent/VW.H921」で、ステータス記号406が「=」,「LM」,「NC」の3つあり、各ステータスの詳細ステータス407にリビジョンが「1.3」で、基準分岐が主系列であることを示す情報が格納されている。ここで、基準分岐とは、リビジョンの推移の流れを枝分かれさせた場合、新しい推移の基準となるリビジョンのことである。また、主系列とは、最初に作られるリビジョンの推移の流れのことである。
この例では、サブディレクトリがないため、サブディレクトリへのポインタ405の情報は登録されていない。
【0033】
なお、ステップ202では、状態データベーステーブル401の初期化を行なった後、リポジトリ構造の解析を行ない、その解析結果に基づい状態データベーステーブル401への登録を行なうが、このステップ202の終了段階では、ステータス記号406と詳細ステータス407は設定されていない。
【0034】
状態データベーステーブル401の初期化とリポジトリ構造の解析とが終了する(ステップ202)と、取り出し先情報テーブル301を用いて、各取り出し先1...nでの生産物のステータスを解析する。生産物のステータスとしては、図6に示すような意味62を持つものがあり、それぞれ対応するコード61が割当てられている。例えば、「=」は生産物が最新の状態であること、「LM」は修正中の状態、「LA」は登録予定の状態、「LR」は削除予定の状態、「NP」は古い状態であることを示すステータスがある。
【0035】
次に、取り出し先情報テーブル301のサーバ名302がネットワーク106を介してアクセスされるコンピュータであるか否かを判定し(ステップ204)、ネットワーク106を介してアクセスされるサーバ107であった場合、そのサーバ107に組み込まれているプログラム開発管理支援装置120に対してステータス取得のリモート処理要求を行い、ユーザCの作業領域118に格納されている生産物のステータスを取得する(ステップ205)。
【0036】
次に、取得したステータスを解析する。解析は、処理速度を考慮して、詳細解析を行う場合と行わない場合に分かれる(ステップ206)。高速処理を目的とするステータスの解析処理(ステップ207)では、取り出し先での生産物のステータスのみを解析し、状態データベーステーブル401に登録する(ステップ208)。これに対し、高速処理を必要としないステータスの解析処理(ステップ209)では、リビジョン番号、基準分岐名などの詳細なデータも解析し、状態データベーステーブル401に登録する(ステップ210)。ステップ207のステータス解析処理では、生産物のステータスを図6で示したコード61に置き換えてステータス記号406へ追加登録する。
【0037】
なお、図6のステータスコード61のうち、「最新」というステータスコード「=」、「“ ”」は、取り出している生産物の状態がリポジトリと全く同じであるという意味である。
また、「修正中」というステータスコード「LM」は、取り出している生産物のリビジョンはリポジトリに登録されているものと同じだが、生産物の内容が修正されているという意味である。
また、「登録予定」というステータスコード「LA」は、生産物をリポジトリに登録する予定であるという意味である。
また、「削除予定」というステータスコード「LR」は、取り出している生産物をリポジトリがら削除する予定であるという意味である。
また、「ここにはない」というステータスコード「NC」は、その生産物はリポジトリに登録されているが、作業領域に取り出されていないという意味である。
また、「古い&修正中」というステータスコード「NM」は、取り出されている生産物のリビジョンは既にリポジトリに登録されているものよりも古く、かつ取り出し先で内容が修正されているという意味である。
また、「古い&重複修正中」というステータスコード「UC」は、「古い&修正中」の状態の生産物をチェックインした結果、取り出されている生産物が、リポジトリに登録されていた最新の内容との差分情報が埋め込まれたものに変更されているという意味である。
また、「削除」というステータスコード「AT」は、取り出されている生産物が、既にリポジトリと取り出し先から削除されているという意味である。
また、「異常登録」というステータスコード「EI」は、リポジトリと取り出し先の状態に矛盾があり正しく生産物が登録されていないという意味である。
また、「未登録」というステータスコード「?」は、生産物がまだリポジトリに登録されてなくバージョン管理下に置かれていないでないという意味である。
また、「無関係」というステータスコード「??」、「−」は、取り出し先のディレクトリが異なるリポジトリと対応している、または取り出し先のディレクトリが存在しないという意味である。
また、「無視」というステータスコード「I」は、生産物のバージョン管理とは無関係なファイル(リンクファイルやバイナリーファイル等)であるという意味である。
また、「エラー」というステータスコード「ERR」は、何らかの原因で解析に失敗したという意味である。
また、「登録」というステータスコード「R」は、そのディレクトリが、生産物を取り出す時に指定した取り出し先ディレクトリであるという意味である。
また、「削除&最新」というステータスコード「A&=」は、取り出されている生産物が、取り出し先には「最新」の状態で存在するが、他のユーザによって既にリポジトリからは削除されているという意味である。
また、「削除&修正中」というステータスコード「A&LM」は、取り出されている生産物が、取り出し先には「修正中」の状態で存在するが、他のユーザによって既にリポジトリからは削除されているという意味である。
また、「削除&登録予定」というステータスコード「A&LA」は、取り出されている生産物が、取り出し先には「登録予定」の状態で存在するが、他のユーザによって既にリポジトリからは削除されているという意味である。
また、「削除&削除予定」というステータスコード「A&LR」は、取り出されている生産物が、取り出し先には「削除予定」の状態で存在するが、他のユーザによって既にリポジトリからは削除されているという意味である。
また、「削除&古い」というステータスコード「A&NP」は、取り出されている生産物が、取り出し先には「最新」の状態で存在するが、他のユーザによって既にリポジトリからは削除されているという意味である。
また、「削除&古い&修正中」というステータスコード「A&NM」は、取り出されている生産物が、取り出し先には「古い&修正中」の状態で存在するが、他のユーザによって既にリポジトリからは削除されているという意味である。
また、「削除&古い&重複修正中」というステータスコード「A&UC」は、取り出されている生産物が、取り出し先には「古い&重複修正中」の状態で存在するが、他のユーザによって既にリポジトリからは削除されているという意味である。
また、「削除&異常登録」というステータスコード「A&EI」は、取り出されている生産物が、取り出し先には「異常登録」の状態で存在するが、他のユーザによって既にリポジトリからは削除されているという意味である。
また、「削除&未登録」というステータスコード「A&?」は、取り出されている生産物が、取り出し先には「未登録」の状態で存在するが、他のユーザによって既にリポジトリからは削除されているという意味である。
図7は、図5で例示した作業環境において、ステータスの解析処理(ステップ207)によって得られるデータを用いて表された生産物の分布状況の表示画面701の例を示す図であり、リポジトリ110の構造が、状態データベーステーブル401を用いて視覚的に表現され、リポジトリ110に登録されている生産物名の下に各取り出し先でのステータスが一括して表示されている。
【0038】
図7の例では、4個の生産物「nishi.mem」702、「suga.mem」703、「tok.mem」704、「tok meisai.fmt」705が取り出し先でのステータスと共に表示されている。すなわち、生産物「nishi.mem」702については、「= LM NC」の3つのステータスが表示されている。3つのステータスが表示されているということは、3つの取り出し先に取り出されていることを意味している。そして、それぞれの取り出し先での状態は、最新(=)、修正中(LM)、ここにはない(NC)であることを示している。また、生産物「suga.mem」703については、「= = NC」の3つのステータスが表示され、3つの取り出し先に取り出されていることを示している。そして、それぞれの取り出し先での状態は、最新(=)、最新(=)、ここにはない(NC)であることを示している。また、生産物「tok.mem」704については、「= = NP」の3つのステータスが表示され、3つの取り出し先に取り出されていることを示している。そして、それぞれの取り出し先での状態は、最新(=)、最新(=)、古い(NP)であることを示している。この「tok.mem」704の3番目の取り出し先では、ステータスが「古い」になっていることから、古いバージョンの生産物が使用されていることが分かる。また、生産物「tok meisai.fmt」705については、「= = =」の3つのステータスが表示され、3つの取り出し先に取り出されていることを示している。そして、それぞれの取り出し先での状態は、最新(=)、最新(=)、最新(=)であることを示している。
【0039】
以上の表示状態において、各生産物についての詳細な解析情報を知りたい場合は、詳細解析情報を知りたいファイルをマウスクリック操作によって選択すると、選択した生産物に関する詳細解析が行われる。例えば、生産物「nishi.mem」702の詳細解析情報を知りたい場合は、生産物「nishi.mem」702の表示位置をマウスクリック操作によって選択すると、生産物管理部113は、その指定生産物「nishi.mem」702についてリビジョン番号、基準分岐名などの解析を行なう(ステップ209)。そして、その詳細解析処理によって得られた情報を一つの文字列として状態データベーステーブル401の詳細ステータス407に追加登録した後、図8に示すような生産物分布状況(詳細)画面801に生産物の詳細解析結果を表示する。
【0040】
図8の生産物分布状況(詳細)画面801では、指定生産物「nishi.mem」702の各取り出し先でのステータス記号(=,LM,NC)と共に、リビジョン番号(1.3)、サイズ、分岐名、修正日時が表示されている。
【0041】
また、図7で示した生産物分布状況表示画面701において、例えばディレクトリ名「Doc/」をマウスクリック操作によって選択して解析ボタン706が操作されると、生産物管理部113は、選択されたディレクトリ「Doc/」下に属する全ての生産物のステータスを再帰的に解析し、ステータスが「最新」でない取り出し先があれば、ディレクトリの単位にディレクトリ名の右に「×」マーク711を付け、全て最新なら「○」マーク710を付けて表示する。さらに、「×」マーク711が付けられたディレクトリ名を選択して詳細ボタン707が操作されると、解析内容詳細表示画面708を開き、指定されたディレクトリ下の全ての生産物のステータス記号毎の個数と、ステータスが「最新」でない生産物の一覧を表示する。解析内容詳細表示画面708の拡大図を図9に示す。
【0042】
このように、ステータスが「最新」でない生産物について、「×」マーク711をディレクトリ名の近傍に表示することにより、「最新」でない生産物がどれであるかを極めて容易に把握することができる。
【0043】
なお、図8の生産物の分布状況詳細画面801において、生産物参照ボタン802をマウスクリック操作によって操作すると、指定生産物のそれぞれの取り出し先での内容を参照することができる。
また、ステータス参照ボタン803をマウスクリック操作によって操作すると、指定生産物のステータス情報を参照することができる。
また、ログ参照ボタン804をマウスクリック操作によって操作すると、指定生産物のログ情報を参照することができる。
また、差分参照ボタン805をマウスクリック操作によって操作すると、指定生産物のそれぞれの取り出し先での内容を比較した差分情報を参照することができる。
また、分岐参照ボタン806をマウスクリック操作によって操作すると、指定生産物の現在のリビジョンの推移の分岐状態を参照することができる。
【0044】
図10は、作業状況管理部106の処理と開発担当者の作業の流れを示すフローチャートである。
開発担当者(ユーザA,B)は、クライアントコンピュータ103、104を使用し、それぞれの作業領域116、117に取り出した生産物を修正する前やテストする前に、プログラム開発管理支援装置109に対し、これから実施する作業状況について記録するための通知を行う(ステップ1001)。
【0045】
この作業状況の通知を受け取った作業状況管理部114は、図11に示すように構成された作業状況管理テーブル1101の作業状況管理情報112を更新する(ステップ1002)。作業状況テーブル1101には、テーブルの通し番号であるID番号1102、作業状況を記録する生産物名1103があり、新しく作業状況が通知されて該テーブル1101が更新される度に、通知した担当者名1104、通知日時1105、作業状況を表した作業状況コード1106、作業に関するコメント1106が追記される。このステップ1002の更新処理については、後で詳細に説明する。
【0046】
ここで、作業状況コード1106は、図12に示すように、「コーディング中」、「テスト中」、「テスト完了」、「バグ修正中」などの作業状況単位に「1」、「2」、「3」、「4」…といった数値コードが割当てられている。作業状況とは、作業中に発生する状態のことである。
【0047】
ステップ1001で作業状況通知を行った開発担当者は、作業状況管理テーブル1001の更新処理(ステップ1002)が完了したことを確認した後、通知した作業を実施する(ステップ1003)。そして、開発担当者は通知した作業が完了すると、作業状況管理テーブル1101に作業が完了したことを記録するための作業完了通知を行なう(ステップ1004)。作業完了通知を受け取った作業状況管理部114は、作業が完了したことを示すデータを含んだレコードを作業状況管理テーブル1101に追加登録する。
【0048】
作業が完了した生産物を共有して使用している他の開発担当者は、作業状況管理テーブル1101を参照し(ステップ1005)、使用予定の生産物に対するテストが完了していて、安全に使用できることを確認してから、各自の作業領域に生産物を取り出す(ステップ1006)。
【0049】
図13は、図10の作業状況管理テーブル1101の更新処理(ステップ1002)の詳細を示すフローチャートである。
作業状況管理部114は、各開発担当者(ユーザA,B,C)によって通知された生産物の作業状況管理テーブル1101が作業状況管理情報112の記憶装置内に存在するかを調べるためにテーブル検索を行う(ステップ1301)。作業状況テーブル1101が存在する場合(ステップ1302)、作業状況テーブル1101の最終レコードの作業状況コード1106と担当者名1104からその生産物を他の開発担当者が使っているか否かを調べる(ステップ1303)。他の開発担当者が作業中の場合(ステップ1303)は、通知した開発担当者は作業を行えないので、作業状況の更新を失敗とする(ステップ1304)。しかし、他の開発担当者が作業中でない場合は、作業状況管理テーブル1101に対し、通知した開発担当者名1104、通知日時1105、作業状況コード1106、コメント1107を追加登録する(ステップ1306)。
【0050】
ステップ1302で作業状況テーブル1101が存在しない場合、作業状況管理情報110の記憶装置内に新規に作業状況テーブル1101を作成し(ステップ1305)して、ID番号1102と生産物名1103を、新規に作成した作業状況テーブル1101に記録する。そして、通知した開発担当者名1104と通知日時1105、作業状況コード1106、コメント1107を追加記録し(ステップ1306)、更新を完了する。
【0051】
図14は、作業状況表示画面1401の例を示す図であり、「バグ修正中」などの作業状況、担当者、通知日、ファイル名、サイズ、属性、最終変更日時等の項目が表示される。
【0052】
次に、作業指示管理部115の処理について説明する。
図15は、作業指示管理部115の処理と管理者および開発担当者の作業の流れを示すフローチャート、図16は作業指示状況表示画面1601、図17は作業指示詳細表示画面1701の例を示した図である。
【0053】
図16の作業指示状況表示画面1601には、作業指示コード1602、作業担当者1603、作業指示日1604、作業状況1605、完了作業指示数1606、未完了作業指示数1607が表示されるようになっている。
【0054】
また、図17の作業指示詳細画面1701には、作業指示欄1710中に、作業指示コード1702、作業指示日1703、指示を受ける作業担当者1704、指示内容1705、関連事項の記述欄1706、作業完了日の記入欄1707が表示されるようになっている。 図15において、まず管理者は、クライアントコンピュータ102を使用して図17に示したような内容の項目を有する作業指示欄1710を作成して、リポジトリ110内の作業指示格納領域に格納する(ステップ1501)。作業指示がリポジトリ110内の作業指示格納領域に格納されると、作業指示管理部115は、作業指示内の「指示担当者」1704で指定された開発担当者に対しメールによって作業指示を送付する(ステップ1502)。この送付された作業指示は各開発担当者の作業領域116,117,118に格納される(ステップ1503)。図17の例では、指示担当者として「nishi」が指定されているので、ユーザAである「nishi」の作業領域116に格納される。
【0055】
この状態で、必要があれば、管理者または開発担当者は、リポジトリ110内の作業指示格納領域に格納された全ての開発担当者または指定した開発担当者への作業指示の内容を図16に示す作業指示状況表示画面1601に表示させ、未完了作業指示数1607により、残作業指示数を把握する(ステップ1504)。なお、作業指示状況表示画面1601中の詳細ボタン1608をマウス操作によって選択すると、図17に示す作業指示詳細画面1701が表示され、作業指示の詳細内容を確認することができる。更に、必要があれば、プロジェクトのメンバを指定して、指定のメンバの抱えている作業指示の状況のみを表示することもできるようになっている。
【0056】
開発担当者は、管理者からの作業指示に従ってソース・ドキュメント等の生産物を新規作成または変更するなどの作業を実施する(ステップ1505)。作業が完了して、生産物をリポジトリ110にチェックインする際に、ログ記入欄への入力を、表示された作業指示状況表示画面1601から参照して行う(ステップ1506)。
【0057】
図18は、作業指示状況表示画面1601から作業指示を選択してログ記入欄に記入する例を示した図である。
図16に示した作業指示状況表示画面1601の中で該当する作業指示コード1602を選択すると、図18に示す生産物のチェックイン画面1801が表示され、その作業指示内容がログ記入欄1802に設定される。管理者は、生産物が更新されている場合に、そのログ記入欄1802のログ情報を参照することにより、何のために新規作成または変更されたかを把握することができる。
【0058】
開発担当者側の作業領域に格納されていた作業指示は、作業指示に対応する生産物をチェックインした段階で削除される(ステップ1507)。作業指示の削除の後、管理者側に作業が完了したことが通知させる(ステップ1508)。
【0059】
作業完了が通知されると、管理者側の作業指示格納領域の該当する作業指示に作業が完了したことが記録される(ステップ1509)。そして、残作業件数が1件減算される。
なお、図18の指示参照ボタン1803をマウス操作によって選択すると、図19(a)に示すような作業指示一覧1901が表示される。そして、この作業指示一覧1901中の作業指示コード1903をマウス操作によって選択すると、図19(b)に示すような作業指示の詳細内容が表示される。
【0060】
以上のように本実施形態によれば、分散した作業領域での生産物の状態と作業状況を一括して把握できる作業状況に対応させた生産物管理を行うことができるため、管理者には開発担当者の作業の進捗状況の効率的な管理を支援することができ、開発担当者には安全性が保証されたファイルを容易に識別できる。
【0061】
また、作業の指示と報告を生産物に対応させて管理できるため、管理者と開発担当者のそれぞれで、作業指示の実施状況の効率的な管理を支援し、資源の有効活用を支援することができる。
【0062】
【発明の効果】
以上の説明のように、本発明によれば、全ての取り出し先とリポジトリを対比させることで、各開発担当者の作業領域での生産物の状態を一括して把握することができる。
【0063】
また、各開発担当者の生産物に対する作業状況を一元管理されたテーブルに格納し、その格納した作業状況の情報とリポジトリ内に格納されている生産物のバージョン情報を利用することによって、生産物のバージョンを管理する生産物管理と生産物に対して行なわれている作業の状況を管理する作業状況管理を融合させたプログラム開発管理を実現することができる。
【0064】
さらに、管理者から各開発担当者に対する作業の指示を、管理者側と開発担当者側で同時に管理し、管理者は作業指示の有無で残作業指示数と作業指示を抱えてる人の状況を把握することができ、資源配分を有効に行うことが可能に成るなどの効果がある。
【図面の簡単な説明】
【図1】本発明を適用したプログラム開発管理支援システムの一実施の形態を示すシステム構成図である。
【図2】生産物管理部の処理を示すフローチャートである。
【図3】生産物の取り出し先情報テーブルの構成図である。
【図4】状態データベーステーブルの構成図である。
【図5】作業環境の具体例を示す図である。
【図6】図1の実施形態で用いるステータス記号の意味を示す説明図である
【図7】生産物の分布状況の表示画面例を示す図である。
【図8】生産物の分布状況の解析内容の詳細画面例を示す図である。
【図9】生産物の分布状況の詳細画面例を示す図である。
【図10】作業状況管理部の処理と開発担当者の作業の流れを示すフローチャートである。
【図11】作業状況管理テーブルの構成例を示す図である。
【図12】作業状況コードの例を示す説明図である。
【図13】作業状況管理テーブルの更新処理の詳細を示すフローチャートである。
【図14】作業状況表示画面の一例を示す図である。
【図15】作業指示管理部の処理と管理者および開発担当者の作業の流れを示すフローチャートである。
【図16】作業指示状況表示画面の一例を示す図である。
【図17】作業指示詳細画面の一例を示す図である。
【図18】作業指示状況表示画面にログを記入する例を示す図である。
【図19】作業指示一覧画面の一例を示す図である。
【符号の説明】
101,107…サーバ、102〜105…クライアントコンピュータ、106…ネットワーク、108…メモリ、109…プログラム開発管理装置、110…リポジトリ、111…履歴管理情報、112…作業状況管理情報、113…生産物管理部、114…作業状況管理部、115…作業指示管理部、301…生産物の取り出し先情報テーブル、401…状態データベーステーブル、701…生産物の分布状況表示画面、1601…作業指示状況表示画面。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a program development management support apparatus that supports management of software software development and management of products such as source code and documents.
[0002]
[Prior art]
Conventionally, in program development, Japanese Patent Laid-Open No. 9-16391 (Title of Invention: Software Development Support / Maintenance Support System) and Japanese Patent Laid-Open No. 9-258966 (Title of Invention: Software Providing System, Software Providing Device, and Software Providing) As disclosed in (Apparatus), there is a configuration management apparatus for a plurality of developers in a project developing a program to share and use a product.
[0003]
These are used to centrally manage the difference information between versions of shared products (source code, documents, etc.) in a directory hierarchy called a repository. The contents of the product are taken out, and the product is changed and distributed and the repository is updated based on the exclusive control in which the take-out destination and the repository are associated with each other.
[0004]
The main challenge of these technologies is to distribute and provide the products updated by each developer to the work areas of other developers, and the production to be distributed and provided to the work areas of each developer. Things are always kept up-to-date by the administrator managing the repository centrally.
[0005]
On the other hand, unlike these techniques, there is a technique for grasping the state of the product taken out in the work area of each developer by comparing the product in the work area with the repository from the person in charge.
There is also an apparatus for managing the progress of work in program development. This device manages schedules and results in units of work contents of each developer.
Also, there is an apparatus (Japanese Patent Laid-Open No. 9-16391) that supports work instructions and reports using a mail function in program development.
[0006]
[Problems to be solved by the invention]
By the way, in the program development using the configuration management device disclosed in the above publication, the product taken out to the work areas of a plurality of developers is repeatedly corrected and taken out. May not be uniform.
[0007]
In addition, because the purpose of the correction and the work situation do not generally correspond to the version of the product, the checked-in product may be a personal backup of the developer, or it may be a test product. Therefore, it is difficult to grasp from the version information whether the product is in a state that can be safely used by a non-developer in charge (administrator).
[0008]
Therefore, it is required to be able to grasp the state and work status of the product in a work area different from that of the self and all work areas, and to perform product management synchronized with the work situation.
[0009]
For example, the project manager knows the version and status of the products used by all developers, and “unused old products” or “unnecessary products are taken out” And whether the product to be taken out has been taken out, and the presence / absence of the product being corrected before release, etc. Sex can be maintained.
[0010]
In addition, the developer can check whether other developers have made corrections, check the work status, and the purpose of the work, so that safe products that have been tested can be retrieved from the repository and used. .
[0011]
However, in the above prior art, the administrator cannot grasp the status of each developer's work area until each developer updates the repository. There is a problem that it is not possible to grasp whether or not it is corrected.
Also, in the conventional technology that grasps the state of the product taken out to the work area of each developer by comparing the product in the work area with the repository from the person in charge, the state of his / her product As in the prior art disclosed in JP-A-9-16391 and JP-A-9-258966, the state of the product in the work area of other developers cannot be understood. There is a problem.
[0012]
On the other hand, in large-scale program development, work instructions from the administrator to each person in charge of development become enormous. Therefore, managers and developers in charge of receiving instructions must efficiently understand, implement, and report instructions. In program development, work and products are closely related, and it is necessary to manage the work contents and the state of the product in correspondence.
[0013]
However, in the conventional device that manages the progress of work and the conventional device that supports work instructions and reports using the mail function, the management and work instructions and reports corresponding to the work contents and the state of the product are sent. There is a problem that it cannot be managed in association with the product.
[0014]
The present invention has been made to solve these problems, and a first object of the present invention is to compare the state of products in each developer's work area by comparing all retrieval destinations with repositories. It is to provide a program development management support apparatus that can grasp the above collectively.
[0015]
The second object of the present invention is to store the work status of each developer in charge for the product in a centrally managed database, and use the stored work status information and product version information stored in the repository. Provides a program development management support device that can realize program development management that combines product management for managing product versions and work status management for managing the status of work performed on products. It is to be.
[0016]
The third object of the present invention is to simultaneously manage work instructions from the manager to each developer in charge at the manager side and at the developer side. It is an object to provide a program development management support apparatus capable of grasping the situation of a person who has a problem and capable of effectively allocating resources.
[0017]
[Means for Solving the Problems]
In order to achieve the above object, the present invention provides a program development management support apparatus that supports management when a program is developed using a product such as a source code and a document that can be shared by a plurality of program developers. ,
Product storage means for storing the product in a directory structure; work storage means for each person in charge for storing the product taken out from the product storage means by a client computer used by each program development person in charge; The directory of the product taken out from the product storage means by the program development person, the state table for storing the state of the product at the take-out destination and the take-out destination in the product unit, and when instructed by the administrator or at a predetermined time Collecting the work status of the product taken out in the work storage means for each person in charge at intervals and registering it in the status table, and specified by all products or managers in the product storage means Product tube for processing the display location of the product and the working state on the display device screen in a directory structure Characterized in that it comprises a means.
[0018]
Also, a work status management table for storing each product development person in the product unit and the state of the product stored in the work storage means for each person in charge and the current work situation of the program development person for the product. In response to the work status notification from the client computer used by each program developer, the process of registering the status and work status of the corresponding product in the work status management table, and the inquiry request from each program developer On the other hand, it is characterized by comprising a work status management means for performing processing for returning the requested product state to the client computer used by the program developer in charge and displaying it.
[0019]
Also, the work instruction storage means for storing the work instructions for each program development person input from the administrator's client computer, and the corresponding program development person uses the work instructions stored in the work instruction storage means. All of the work instructions stored in the work instruction storage means or a work instruction addressed to a designated program development person in response to a request sent from the client computer by the administrator or the program development person in charge. And a work instruction management means for performing processing for returning and displaying information including the contents of the current work number and the current remaining work number to the request source.
[0020]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a system configuration diagram showing an embodiment of a program development management support system to which the present invention is applied.
[0021]
The program development management support system of this embodiment includes a server 101 managed by an administrator, a client computer 102 used by the administrator, and client computers 103-105 used by users A to C who are project developers. It is composed of However, the client computer 105 used by the user C is connected to a server 107 connected to the server 101 via the network 106.
[0022]
The server 101 managed by the administrator incorporates a program constituting the program development management support apparatus 109 in the memory 108, and stores a repository 110, history management information 111, and work status management information 112 as data. It is like that. A program development management support apparatus 120 similar to that of the server 101 is also incorporated in the memory 119 of the server 107 connected via the network 106.
[0023]
The program development management support apparatus 109 includes a product management unit 113, a work status management unit 114, and a work instruction management unit 115. These product management unit 113, work status management unit 114, and work instruction management unit 115 are configured in detail by programs. The program development management support apparatus 120 in the server 107 is similarly configured.
[0024]
User A and user B are project developers who can access the server 101 from the client computers 103 and 104, and have a work area 116 for the user A and a work area 117 for the user B in the storage device of the server 101. The product taken out from the repository 110 can be stored. In addition, the user C has a work area 118 of the user C in the storage device of the server 107 connected by the network 106, and can store the product taken out from the repository 110. Here, when a computer on the network that cannot directly access the repository 110 such as the server 107 (here, the server 107) accesses data such as the repository 110, or conversely, a computer that has the repository 110 (here, the server 101). When accessing the work area of a computer (here, the server 107) on the network, the program development management support apparatuses 109 and 120 incorporated in the respective computers can access the program development management support apparatuses 120 and 109 of the other computer. Request remote processing and receive results.
[0025]
In the above configuration, first, the processing flow of the product management unit 113 will be described with reference to FIGS.
[0026]
2 is a flowchart showing the processing flow of the product management unit 113, FIG. 3 is a configuration example of the product take-out destination information table 301, FIG. 4 is a configuration example of the state database table 401, and FIG. Example, FIG. 6 shows the meaning of status symbols used in the present embodiment, FIG. 7 shows an example of a display screen of product distribution status, FIG. 8 shows an example of a detailed screen of analysis contents of product distribution status, and FIG. It is a figure which shows the example of a detailed screen of a distribution condition.
[0027]
In the work environment shown in FIG. 5, the server “cet” 101 can be accessed via two developers “Nishi” and “shin” who are local users A and B and the network 106. The development person “suga” on the server “cygnus” 107 is currently extracting “nishi.mem” 510, 511, 512 as a product from “Doc / patent / vw.921” of the repository 110. Is shown.
[0028]
In such a working environment, the product management unit 113 of the program development management support apparatus 109 in the server 101 receives each instruction of the project from the repository 110 when instructed by the administrator or at predetermined time intervals. Extraction destination information is extracted from the history management information 111 in order to grasp the state of the products 510 to 512 taken out to the work areas 116, 117, 118 of the developers “nishi”, “shin”, and “suga” (Step 201), and is registered in the extraction destination information table 301 shown in FIG. Here, the state of the product, which will be described later with reference to FIG. 6, is, for example, a state such as latest, being corrected, scheduled to be registered, scheduled to be deleted, or old.
[0029]
The take-out destination information table 301 is provided in the product management unit 113, and includes information on a product take-out destination server name 302 and a directory 303 in the server, as shown in FIG. . In the example of the work environment in FIG. 5, there are “cet” and “cygnus” as the extraction destination server name 302, and “/pj/ooplus/us.shin” and “/ pj /” are stored in the directory 303 of the extraction destination server, respectively. "ooplus / us.nish""and" /pj/ooplus/us.suga "are registered.
[0030]
Next, all directory structures of the repository 110 are analyzed and registered in the state database table 401 shown in FIG. 4 (step 202).
[0031]
The state database table 401 is data having a tree structure similar to a repository structure in which one table corresponds to one directory and one product, and in the case of a directory, has data of a pointer 405 to a subdirectory. Each state database table 401 includes a type 402 indicating whether the table is a file or a directory, a product name 403, a repository path 404, and a pointer 405 (pointing to a subdirectory table when the type 402 is a directory). Data), the status symbol 406 of the product at each destination, and the detailed status 407 of the product at each destination.
[0032]
In the example of FIG. 5, the type 402 is “file”, the product name 403 is “nishi.mem”, the repository path 404 is “Doc / patent / VW.H921”, the status symbols 406 are “=”, “LM”. ”,“ NC ”, and the detailed status 407 of each status stores information indicating that the revision is“ 1.3 ”and the reference branch is the main series. Here, the reference branch is a revision that becomes a reference for a new transition when a revision transition flow is branched. The main sequence is a flow of revisions made first.
In this example, since there is no subdirectory, information on the pointer 405 to the subdirectory is not registered.
[0033]
In step 202, after the state database table 401 is initialized, the repository structure is analyzed and registered in the state database table 401 based on the analysis result. The symbol 406 and the detailed status 407 are not set.
[0034]
When the initialization of the state database table 401 and the analysis of the repository structure are completed (step 202), each extraction destination 1. . . Analyze the status of the product at n. The product status has a meaning 62 as shown in FIG. 6, and a corresponding code 61 is assigned to each status. For example, “=” indicates that the product is in the latest state, “LM” indicates that the product is being corrected, “LA” indicates that the product is scheduled to be registered, “LR” indicates that the product is scheduled to be deleted, and “NP” indicates that the product is old. There is a status to indicate that it exists.
[0035]
Next, it is determined whether or not the server name 302 of the extraction destination information table 301 is a computer that is accessed via the network 106 (step 204), and if the server name 302 is the server 107 that is accessed via the network 106, A remote processing request for status acquisition is made to the program development management support apparatus 120 incorporated in the server 107, and the status of the product stored in the work area 118 of the user C is acquired (step 205).
[0036]
Next, the acquired status is analyzed. The analysis is divided into a case where the detailed analysis is performed and a case where the detailed analysis is not performed in consideration of the processing speed (step 206). In status analysis processing (step 207) for the purpose of high-speed processing, only the status of the product at the take-out destination is analyzed and registered in the state database table 401 (step 208). On the other hand, in status analysis processing that does not require high-speed processing (step 209), detailed data such as revision numbers and reference branch names are also analyzed and registered in the state database table 401 (step 210). In the status analysis process of step 207, the status of the product is replaced with the code 61 shown in FIG.
[0037]
In the status code 61 of FIG. 6, the status codes “=” and ““ ”“ latest ”mean that the state of the product being taken out is exactly the same as the repository.
Further, the status code “LM” of “under correction” means that the revision of the product being taken out is the same as that registered in the repository, but the content of the product has been corrected.
Further, the status code “LA” “scheduled for registration” means that the product is scheduled to be registered in the repository.
The status code “LR” “scheduled to be deleted” means that the extracted product is scheduled to be deleted from the repository.
The status code “NC” “not here” means that the product is registered in the repository but not taken out to the work area.
In addition, the status code “NM” of “old & being modified” means that the revision of the product being taken out is older than the one already registered in the repository, and the contents have been corrected at the takeout destination. is there.
In addition, the status code “UC” of “Old & Duplicate Correcting” indicates that the product that has been retrieved as a result of checking in the product in the “Old & Correcting” state is the latest registered in the repository. It means that the difference information with the content is changed to the embedded information.
The status code “AT” of “deleted” means that the extracted product has already been deleted from the repository and the extraction destination.
Further, the status code “EI” “abnormal registration” means that there is a contradiction between the state of the repository and the extraction destination, and the product is not correctly registered.
A status code “?” Of “unregistered” means that the product has not yet been registered in the repository and is not under version control.
Further, status codes “??” and “-” of “unrelated” mean that the extraction destination directory corresponds to a different repository, or that the extraction destination directory does not exist.
A status code “I” of “ignore” means that the file is not related to product version management (link file, binary file, etc.).
A status code “ERR” of “error” means that the analysis has failed for some reason.
Further, the status code “R” of “register” means that the directory is the extraction destination directory designated when the product is extracted.
In addition, the status code “A & =” of “deleted & up-to-date” indicates that the product being taken out is in the “latest” state at the take-out destination, but has already been deleted from the repository by another user. It means that.
In addition, the status code “A & LM” of “deleting & modifying” indicates that the product being taken out exists in the state of “modifying” at the retrieval destination, but has already been deleted from the repository by another user. It means that
In addition, the status code “A & LA” of “scheduled for deletion & registration” indicates that the product being taken out is in the “scheduled to be registered” state at the destination, but has already been deleted from the repository by another user. It means that
In addition, the status code “A & LR” of “scheduled for deletion & deletion” indicates that the product being taken out is in the state of “scheduled for deletion” at the destination, but has already been deleted from the repository by another user. It means that
The status code “A & NP” of “deleted & old” means that the product being taken out is in the “latest” state at the takeout destination, but has already been deleted from the repository by another user. Meaning.
In addition, the status code “A & NM” of “deleted & old & amending” exists, but the product being taken out is present in the state of “old & amending” at the takeout destination, but it has already been deleted from the repository by another user. Means deleted.
In addition, the status code “A & UC” of “Deleted & Old & Duplicate Correcting” indicates that the product being taken out exists in the state of “Old & Duplicate Corrected” at the takeout destination, but it has already been changed by another user. It means that it has been deleted from the repository.
In addition, the status code “A & EI” of “delete & abnormal registration” indicates that the product being taken out exists in the “abnormal registration” state at the extraction destination, but has already been deleted from the repository by another user. It means that
In addition, the status code “A &?” Of “deleted & unregistered” indicates that the product that has been extracted exists in the “unregistered” state at the extraction destination, but has already been deleted from the repository by another user. It means that
FIG. 7 is a diagram showing an example of a product distribution status display screen 701 represented by using data obtained by status analysis processing (step 207) in the work environment illustrated in FIG. Is visually expressed using the state database table 401, and the status at each take-out destination is collectively displayed under the product name registered in the repository 110.
[0038]
In the example of FIG. 7, four products “nishi.mem” 702, “suga.mem” 703, “tok.mem” 704, and “tok meisai.fmt” 705 are displayed together with the status at the extraction destination. . In other words, for the product “nishi.mem” 702, three statuses “= LM NC” are displayed. The fact that three statuses are displayed means that three statuses have been taken out. The state at each take-out destination indicates that it is the latest (=), being modified (LM), or not (NC). In addition, for the product “suga.mem” 703, three statuses “== NC” are displayed, indicating that they have been taken out to three destinations. The statuses at the respective extraction destinations are latest (=), latest (=), and not (NC) here. In addition, for the product “tok.mem” 704, three statuses “== NP” are displayed, indicating that the product has been extracted to three extraction destinations. The states at the respective extraction destinations indicate the latest (=), latest (=), and old (NP). Since the status is “old” at the third extraction destination of the “tok.mem” 704, it can be seen that the old version of the product is being used. In addition, for the product “tok meisai.fmt” 705, three statuses “===” are displayed, indicating that they have been taken out to three take-out destinations. The states at the respective extraction destinations are latest (=), latest (=), and latest (=).
[0039]
In the above display state, when it is desired to know detailed analysis information about each product, when a file for which detailed analysis information is desired is selected by a mouse click operation, detailed analysis on the selected product is performed. For example, when it is desired to know detailed analysis information of the product “nishi.mem” 702, the display position of the product “nishi.mem” 702 is selected by a mouse click operation, and the product management unit 113 displays the designated product. The revision number, reference branch name, and the like are analyzed for “nishi.mem” 702 (step 209). Then, after the information obtained by the detailed analysis processing is additionally registered as a character string in the detailed status 407 of the state database table 401, the product distribution status (detail) screen 801 as shown in FIG. Display detailed analysis results.
[0040]
In the product distribution status (details) screen 801 in FIG. 8, the status code (=, LM, NC) at each take-out destination of the designated product “nishi.mem” 702, the revision number (1.3), the size, The branch name and modification date are displayed.
[0041]
Further, on the product distribution status display screen 701 shown in FIG. 7, for example, when the directory name “Doc /” is selected by a mouse click operation and the analysis button 706 is operated, the product management unit 113 is selected. The status of all products belonging to the directory “Doc /” is recursively analyzed, and if there is an extraction destination whose status is not “latest”, an “x” mark 711 is added to the right of the directory name in the directory unit, If all are up-to-date, a “◯” mark 710 is added and displayed. Further, when the directory name with the “x” mark 711 is selected and the detail button 707 is operated, the analysis content detail display screen 708 is opened and the status symbols of all products under the designated directory are displayed. Display a list of products that have a quantity and status that is not “latest”. An enlarged view of the analysis content detail display screen 708 is shown in FIG.
[0042]
Thus, by displaying the “x” mark 711 in the vicinity of the directory name for a product whose status is not “latest”, it is very easy to grasp which product is not “latest”. .
[0043]
Note that when the product reference button 802 is operated by a mouse click operation on the product distribution status detail screen 801 in FIG. 8, the contents of each designated product at the take-out destination can be referred to.
Further, when the status reference button 803 is operated by a mouse click operation, the status information of the designated product can be referred to.
Further, when the log reference button 804 is operated by a mouse click operation, the log information of the designated product can be referred to.
Further, when the difference reference button 805 is operated by a mouse click operation, it is possible to refer to difference information obtained by comparing the contents of the designated products at the respective extraction destinations.
Further, when the branch reference button 806 is operated by a mouse click operation, it is possible to refer to the branch state of the current revision transition of the designated product.
[0044]
FIG. 10 is a flowchart showing the process of the work status management unit 106 and the work flow of the developer.
The developer (users A and B) uses the client computers 103 and 104 to check the program development management support apparatus 109 before correcting or testing the product taken out in the respective work areas 116 and 117. Then, a notification for recording the work situation to be performed is performed (step 1001).
[0045]
Upon receiving this work status notification, the work status management unit 114 updates the work status management information 112 in the work status management table 1101 configured as shown in FIG. 11 (step 1002). The work status table 1101 has an ID number 1102 which is a serial number of the table, and a product name 1103 for recording the work status. Each time a new work status is notified and the table 1101 is updated, the name of the person in charge notified 1104, a notification date and time 1105, a work status code 1106 representing the work status, and a comment 1106 regarding the work are added. The update process in step 1002 will be described in detail later.
[0046]
Here, as shown in FIG. 12, the work status code 1106 includes “1”, “2”, “2”, “work in progress” units such as “coding”, “testing”, “test completed”, and “bug fixing”. Numerical codes such as “3”, “4”... Are assigned. A work situation is a state that occurs during work.
[0047]
The developer in charge who has notified the work status in step 1001 confirms that the update processing (step 1002) of the work status management table 1001 has been completed, and then performs the notified work (step 1003). Then, when the notified work is completed, the developer in charge performs a work completion notification for recording the completion of the work in the work status management table 1101 (step 1004). Upon receiving the work completion notification, the work situation management unit 114 additionally registers in the work situation management table 1101 a record including data indicating that the work has been completed.
[0048]
Other developers in charge who share and use the finished product refer to the work status management table 1101 (step 1005), and the test for the product to be used has been completed and can be used safely. After confirming that the product can be obtained, the product is taken out to the respective work area (step 1006).
[0049]
FIG. 13 is a flowchart showing details of the update process (step 1002) of the work status management table 1101 of FIG.
The work status management unit 114 is a table for checking whether the product work status management table 1101 notified by each developer (users A, B, C) exists in the storage device of the work status management information 112. A search is performed (step 1301). If the work status table 1101 exists (step 1302), it is checked whether or not another developer is using the product from the work status code 1106 and the person-in-charge name 1104 in the final record of the work status table 1101 (step 1302). 1303). If another developer is working (step 1303), the notified developer cannot perform the work, and the update of the work status is regarded as failure (step 1304). However, if another developer is not working, the notified developer name 1104, the notification date 1105, the work status code 1106, and the comment 1107 are additionally registered in the work status management table 1101 (step 1306).
[0050]
If the work status table 1101 does not exist in step 1302, a new work status table 1101 is created in the storage device of the work status management information 110 (step 1305), and the ID number 1102 and the product name 1103 are newly set. Record in the created work status table 1101. Then, the notified developer name 1104, notification date and time 1105, work status code 1106, and comment 1107 are additionally recorded (step 1306), and the update is completed.
[0051]
FIG. 14 is a diagram showing an example of the work status display screen 1401, in which items such as “work in progress” such as “Bug Fixing”, person in charge, notification date, file name, size, attribute, date of last modification, etc. are displayed. .
[0052]
Next, processing of the work instruction management unit 115 will be described.
FIG. 15 is a flowchart showing the process of the work instruction management unit 115 and the work flow of the administrator and the developer. FIG. 16 shows an example of the work instruction status display screen 1601 and FIG. 17 shows an example of the work instruction detail display screen 1701. FIG.
[0053]
The work instruction status display screen 1601 shown in FIG. 16 displays a work instruction code 1602, work person 1603, work instruction date 1604, work status 1605, number of completed work instructions 1606, and number of unfinished work instructions 1607. ing.
[0054]
The work instruction detail screen 1701 of FIG. 17 includes a work instruction code 1702, a work instruction date 1703, a worker in charge 1704 who receives the instruction, an instruction content 1705, a related item description field 1706, a work instruction field 1710. A completion date entry field 1707 is displayed. 15, the administrator first creates a work instruction column 1710 having items as shown in FIG. 17 by using the client computer 102 and stores it in the work instruction storage area in the repository 110 (steps). 1501). When the work instruction is stored in the work instruction storage area in the repository 110, the work instruction management unit 115 sends the work instruction by e-mail to the developer in charge designated by the “instructor in charge” 1704 in the work instruction. (Step 1502). The sent work instructions are stored in the work areas 116, 117, 118 of each developer (step 1503). In the example of FIG. 17, “nishi” is designated as the person in charge of instruction, so that it is stored in the work area 116 of “nishi” who is the user A.
[0055]
In this state, if necessary, the administrator or the developer in charge shows the contents of the work instructions to all the developers in charge or the designated developers in charge stored in the work instruction storage area in the repository 110 in FIG. The number of remaining work instructions is grasped from the number of uncompleted work instructions 1607 (step 1504). When a detail button 1608 in the work instruction status display screen 1601 is selected by a mouse operation, a work instruction detail screen 1701 shown in FIG. 17 is displayed, and the detailed contents of the work instruction can be confirmed. Furthermore, if necessary, the members of the project can be designated to display only the status of work instructions held by the designated members.
[0056]
The developer in charge carries out work such as creating or changing a product such as a source document in accordance with a work instruction from the administrator (step 1505). When the work is completed and the product is checked into the repository 110, input to the log entry column is made with reference to the displayed work instruction status display screen 1601 (step 1506).
[0057]
FIG. 18 is a diagram showing an example in which a work instruction is selected from the work instruction status display screen 1601 and entered in the log entry column.
When the corresponding work instruction code 1602 is selected in the work instruction status display screen 1601 shown in FIG. 16, the product check-in screen 1801 shown in FIG. 18 is displayed, and the work instruction content is set in the log entry field 1802. Is done. When the product is updated, the manager can grasp what is newly created or changed by referring to the log information in the log entry column 1802.
[0058]
The work instruction stored in the work area on the developer side is deleted when the product corresponding to the work instruction is checked in (step 1507). After deleting the work instruction, the administrator side is notified that the work has been completed (step 1508).
[0059]
When the work completion is notified, it is recorded in the corresponding work instruction in the work instruction storage area on the administrator side (step 1509). Then, the number of remaining work is subtracted by one.
When the instruction reference button 1803 in FIG. 18 is selected by operating the mouse, a work instruction list 1901 as shown in FIG. 19A is displayed. When the work instruction code 1903 in the work instruction list 1901 is selected by a mouse operation, the detailed contents of the work instruction as shown in FIG. 19B are displayed.
[0060]
As described above, according to the present embodiment, since it is possible to perform product management corresponding to the work situation in which the state of the product and the work situation in the distributed work area can be grasped collectively, The development staff can be efficiently managed in the progress of work, and the development staff can easily identify a file whose safety is guaranteed.
[0061]
In addition, since the work instructions and reports can be managed in correspondence with the products, the manager and the development staff each support efficient management of the execution status of the work instructions and support the effective use of resources. Can do.
[0062]
【The invention's effect】
As described above, according to the present invention, by comparing all the retrieval destinations with the repositories, it is possible to collectively grasp the state of the product in the work area of each developer.
[0063]
Also, the work status of each developer in charge for the product is stored in a centrally managed table, and the product status information stored in the repository is used by using the stored work status information and the product version information stored in the repository. It is possible to realize program development management in which product management for managing versions of the software and work status management for managing the status of work performed on the products are integrated.
[0064]
In addition, the management instructions from the administrator to each developer are managed at the same time by the administrator and the developer, and the administrator determines the number of remaining work instructions and the status of the person who has the work instructions based on the presence or absence of work instructions. It is possible to grasp this, and it is possible to effectively perform resource allocation.
[Brief description of the drawings]
FIG. 1 is a system configuration diagram showing an embodiment of a program development management support system to which the present invention is applied.
FIG. 2 is a flowchart showing processing of a product management unit.
FIG. 3 is a configuration diagram of a product take-out destination information table.
FIG. 4 is a configuration diagram of a state database table.
FIG. 5 is a diagram illustrating a specific example of a work environment.
6 is an explanatory diagram showing the meaning of status symbols used in the embodiment of FIG. 1;
FIG. 7 is a diagram showing an example of a display screen of product distribution status;
FIG. 8 is a diagram illustrating a detailed screen example of analysis contents of product distribution status;
FIG. 9 is a diagram showing a detailed screen example of product distribution status;
FIG. 10 is a flowchart showing a process of a work status management unit and a work flow of a developer.
FIG. 11 is a diagram illustrating a configuration example of a work status management table.
FIG. 12 is an explanatory diagram illustrating an example of a work status code.
FIG. 13 is a flowchart showing details of a work status management table update process;
FIG. 14 is a diagram illustrating an example of a work status display screen.
FIG. 15 is a flowchart illustrating a process of a work instruction management unit and a work flow of a manager and a developer.
FIG. 16 is a diagram illustrating an example of a work instruction status display screen.
FIG. 17 is a diagram illustrating an example of a work instruction detail screen.
FIG. 18 is a diagram illustrating an example of entering a log on a work instruction status display screen.
FIG. 19 is a diagram illustrating an example of a work instruction list screen.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 101,107 ... Server, 102-105 ... Client computer, 106 ... Network, 108 ... Memory, 109 ... Program development management apparatus, 110 ... Repository, 111 ... History management information, 112 ... Work condition management information, 113 ... Product management 114, work status management unit, 115 ... work instruction management unit, 301 ... product take-out destination information table, 401 ... status database table, 701 ... product distribution status display screen, 1601 ... work command status display screen.

Claims (3)

複数のプログラム開発担当者が共有可能なソースコードやドキュメント等の生産物を使用してプログラム開発を行なう場合の管理を支援するプログラム開発管理支援装置において、
前記生産物をディレクトリ構造で格納した生産物格納手段と、各プログラム開発担当者が使用するクライアントコンピュータによって前記生産物格納手段から取り出した生産物を格納する担当者別の作業用格納手段と、各プログラム開発担当者が前記生産物格納手段から取り出した生産物のディレクトリと取り出し先および取り出し先での生産物の状態を生産物単位に格納する状態テーブルと、管理者から指示された時または所定時刻間隔で前記担当者別の作業用格納手段に取り出された生産物の作業状態を収集し、前記状態テーブルに登録する処理と、前記生産物格納手段内の全ての生産物または管理者から指定された生産物について、その取り出し先と作業状態とをディレクトリ構造で表示装置画面に表示させる処理とを行なう生産物管理手段とを備え、
前記生産物管理手段は、前記表示装置画面に表示された生産物のディレクトリのうち任意のディレクトリの選択操作に対し、その下位に属するディレクトリの生産物の作業状態を解析し、最新状態のものと最新状態でないものとを識別可能に表示する処理を行なうことを特徴とするプログラム開発管理支援装置。
In a program development management support device that supports management when developing programs using products such as source code and documents that can be shared by multiple program developers,
Product storage means for storing the product in a directory structure; work storage means for each person in charge for storing the product taken out from the product storage means by a client computer used by each program development person in charge; The directory of the product taken out from the product storage means by the program development person, the state table for storing the state of the product at the take-out destination and the take-out destination in the product unit, and when instructed by the administrator or at a predetermined time Collecting the work status of the product taken out in the work storage means for each person in charge at intervals and registering it in the status table, and specified by all products or managers in the product storage means Product tube for processing the display location of the product and the working state on the display device screen in a directory structure And means,
The product management means analyzes the working state of the product in the directory belonging to the directory under the selection operation of any directory among the product directories displayed on the display device screen, A program development management support apparatus for performing a process of displaying information that is not up-to-date in an identifiable manner .
前記生産物管理手段は、最新状態でない生産物の選択操作と詳細情報表示指示操作に対し、現在の状態を一覧形式で表示する処理を行なうことを特徴とする請求項1に記載のプログラム開発管理支援装置。2. The program development management according to claim 1, wherein the product management means performs processing for displaying a current state in a list format in response to a product selection operation and a detailed information display instruction operation that are not in the latest state. Support device. 各プログラム開発担当者が前記担当者別の作業用格納手段に格納した生産物の状態と当該生産物に対するプログラム開発担当者の現在の作業状況とを生産物単位に格納する作業状況管理テーブルと、各プログラム開発担当者が使用するクライアントコンピュータからの作業状況通知を受け、該当生産物の状態と作業状況を前記作業状況管理テーブルに登録する処理と、各プログラム開発担当者からの問い合わせ要求に対し、要求された生産物の状態を要求元のプログラム開発担当者が使用するクライアントコンピュータに返信して表示させる処理とを行なう作業状況管理手段とをさらに備えることを特徴とする請求項1または2に記載のプログラム開発管理支援装置。 A work status management table that stores the status of the product stored in the work storage means for each program developer and the current work status of the program developer for the product in units of products; In response to the work status notification from the client computer used by each program developer, registering the status and work status of the corresponding product in the work status management table, and the inquiry request from each program developer, 3. The work status management means for performing a process of returning and displaying the requested product status on a client computer used by a program developer in charge of the request source. Program development management support device.
JP24681298A 1998-09-01 1998-09-01 Program development management support device Expired - Fee Related JP3611178B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24681298A JP3611178B2 (en) 1998-09-01 1998-09-01 Program development management support device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24681298A JP3611178B2 (en) 1998-09-01 1998-09-01 Program development management support device

Publications (2)

Publication Number Publication Date
JP2000076049A JP2000076049A (en) 2000-03-14
JP3611178B2 true JP3611178B2 (en) 2005-01-19

Family

ID=17154063

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24681298A Expired - Fee Related JP3611178B2 (en) 1998-09-01 1998-09-01 Program development management support device

Country Status (1)

Country Link
JP (1) JP3611178B2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1146461A3 (en) * 2000-03-22 2004-04-07 David Lim Computer software collaboration platform
KR20030021554A (en) * 2001-09-06 2003-03-15 한국전자통신연구원 System and Method for Developing Application based on Respository
KR100434038B1 (en) * 2001-09-28 2004-06-04 한국전자통신연구원 the method and the system for management of component informations using a Repository
JP4848760B2 (en) * 2005-12-21 2011-12-28 日本電気株式会社 Repository system, repository system management method, and program thereof
JP2007323205A (en) * 2006-05-30 2007-12-13 Hitachi Software Eng Co Ltd Program management system
KR100994070B1 (en) * 2008-03-19 2010-11-11 (주)케투씨소프트 A Reserved Component Container Based Software Development Method and Apparatus
JP5868246B2 (en) 2012-04-05 2016-02-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Software development support method, program and apparatus
JP5963957B2 (en) 2013-06-12 2016-08-03 三菱電機株式会社 Development environment system, development environment device, development environment providing method and program
DE102016110939B3 (en) * 2016-06-15 2017-10-05 Phoenix Contact Gmbh & Co. Kg Data Organization Method and Development Environment System

Also Published As

Publication number Publication date
JP2000076049A (en) 2000-03-14

Similar Documents

Publication Publication Date Title
US7624394B1 (en) Software installation verification
US7600182B2 (en) Electronic data capture and verification
US8671084B2 (en) Updating a data warehouse schema based on changes in an observation model
US6964044B1 (en) System and process for management of changes and modifications in a process
CN103019718B (en) Distributed source is used to control in centralized source controls environment
US20130111429A1 (en) System for relating workflow status to code component status in a software project
EP2246787B1 (en) Systems and methods for identifying the root cause of an application failure in a mainframe environment based on relationship information between interrelated applications
CA2667142C (en) Method and apparatus for creating a configurable browser-based forms application
WO1998027488A1 (en) Software release metric reporting system and method
US11055078B2 (en) Systems and methods for deploying software products to environments
US20050216486A1 (en) Methods and systems for software release management
JP3611178B2 (en) Program development management support device
US8548967B1 (en) System for visual query and manipulation of configuration management records
WO2008058927A2 (en) Database system
EP3113016A1 (en) Tracing dependencies between development artifacts in a development project
AU2881997A (en) Relational database compiled/stored on a memory structure
Clemm Replacing version-control with job-control
JP2006221316A (en) Project management system
JP7246301B2 (en) Program development support system and program development support method
US20030220939A1 (en) Information processing system, information processing method, and information processing program
JP5336906B2 (en) Design process management device
JP3429609B2 (en) Design information management device
Rose et al. Concordance: A framework for managing model integrity
JP2001034461A (en) Software constitution management supporting device and method and computer readable recording medium recording software constitution management supporting program
JP7086873B2 (en) Management equipment, methods and programs

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040707

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040831

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041014

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20131029

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees