[go: up one dir, main page]

JP2003296108A - 管理プログラム、および方法 - Google Patents

管理プログラム、および方法

Info

Publication number
JP2003296108A
JP2003296108A JP2002096881A JP2002096881A JP2003296108A JP 2003296108 A JP2003296108 A JP 2003296108A JP 2002096881 A JP2002096881 A JP 2002096881A JP 2002096881 A JP2002096881 A JP 2002096881A JP 2003296108 A JP2003296108 A JP 2003296108A
Authority
JP
Japan
Prior art keywords
module
update
released
release
program product
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.)
Pending
Application number
JP2002096881A
Other languages
English (en)
Inventor
Tadashi Sato
正 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002096881A priority Critical patent/JP2003296108A/ja
Publication of JP2003296108A publication Critical patent/JP2003296108A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】製品に対する複数の更新作業が並行して行われ
る状況において、製品リリース時の不具合を機械的に防
止する。 【解決手段】コンピュータに、複数のモジュールを含む
プログラム製品の更新時の不良を検出させるプログラム
であり、プログラム製品の更新作業を識別する更新識別
情報を付与するステップと、上記更新作業ごとに、更新
されたモジュールを識別する情報とそのモジュールの更
新時点を示す情報とを上記更新識別情報とともに記録す
るステップと、リリース予定の更新作業の対象モジュー
ルとリリース予定外の更新作業の対象モジュールとに対
して更新時点を比較する比較ステップと、リリース予定
のモジュールの更新時点が、そのモジュールに対応する
リリース予定外のモジュールの更新時点より新しいとき
に所定の処理の実行を指令するステップとを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラム製品の
更新管理技術に関するものである。
【0002】
【従来の技術】企業間の競争が厳しい産業分野では、新
製品や後継製品のリリース周期が極めて短い。例えば、
パーソナルコンピュータ、サーバ、PDAあるいは携帯
電話等の情報機器では、数ヶ月のサイクルで新製品が出
荷される。さらに、これらの情報機器では、新製品の出
荷の他、現製品の不具合を対策した改訂製品の出荷も煩
雑に行われる。このため、短期間に複数世代に渡る製品
の開発が並行して行われる場合も多い。
【0003】また、このような製品の1つの世代には、
通常、複数の修正作業や更新作業が含まれる。そのよう
な複数の修正作業や更新作業が並行して行われる場合も
多い。
【0004】このような情報機器は、周知のようにハー
ドウェアとプログラム製品の組み合わせにより動作す
る。また、そのうち、プログラム製品は、多数のモジュ
ールの組み合わせから構成されている。
【0005】さらに、情報機器に含まれるプログラム製
品は一般的に大規模であり、多数の開発者により開発さ
れ、あるいは更新されている。したがって、短期間に、
複数の世代に渡って、新製品、後継製品、または改訂製
品が開発される場合には、各世代に渡って修正モジュー
ルが正確に管理される必要がある。
【0006】特に、プログラム製品の開発においては、
開発者ごとの個別作業の後、結合テスト、さらにシステ
ムテストという工程を経て、プログラム製品がリリース
される。また、プログラム製品は、関連するソースプロ
グラムを1箇所にまとめて保持し、コンパイルする統合
コンパイル環境で開発される場合が多い。
【0007】このような統合コンパイル環境で、複数の
修正作業や、複数世代に渡る製品の開発が並行して行わ
れる場合、1つの世代における特定のソースプログラム
または特定モジュールにおける変更や修正が他の世代の
開発内容に悪影響を及ぼす場合がある。従来は、そのよ
うなプログラム製品の世代間の整合性や、修正作業間の
整合性を人手で確認するような作業が行われていた。そ
のような人手による確認作業は、多大な時間を要し、人
為的なミスが発生する場合もあった。
【0008】
【発明が解決しようとする課題】本発明はこのような従
来の技術の問題点に鑑みてなされたものである。すなわ
ち、本発明の課題は、製品に対する複数の更新作業が並
行して行われる状況において、製品リリース時の不具合
を機械的に防止することにある。
【0009】
【課題を解決するための手段】本発明は上記課題を解決
するために、以下の手段を採用した。すなわち、本発明
は、コンピュータに、複数のモジュールを含むプログラ
ム製品の更新時の不良を検出させるプログラムであり、
プログラム製品の更新作業を識別する更新識別情報を付
与するステップと、上記更新作業ごとに、更新されたモ
ジュールを識別する情報とそのモジュールの更新時点を
示す情報とを上記更新識別情報とともに記録するステッ
プと、リリース予定の更新作業の対象モジュールとリリ
ース予定外の更新作業の対象モジュールとに対して更新
時点を比較する比較ステップと、リリース予定のモジュ
ールの更新時点が、そのモジュールに対応するリリース
予定外のモジュールの更新時点より新しいときに所定の
処理の実行を指令するステップとを備えるものである。
【0010】ここで、更新作業を識別する情報は、プロ
グラム製品の所定の部分に対して所定の期間に行う更
新、修正等を識別する。この情報は、例えば、修正番号
と呼ばれ、このような更新作業が1以上組み合わせら
れ、プログラム製品の世代を構成する。なお、プログラ
ム製品の世代を版、バージョン、またはリビジョンとも
いう。
【0011】本プログラムを実行するコンピュータは、
リリース予定の更新作業とリリース予定外の更新作業と
において、対応するモジュールの更新日付を比較する。
この更新日付には、時間を含めてもよい。
【0012】そして、このコンピュータは、リリース予
定のモジュールの更新時点が、そのモジュールに対応す
るリリース予定外のモジュールの更新時点より新しいと
きに、不良の可能性があるとして、所定の処理の実行を
指示する。
【0013】このようにして、本プログラムを実行する
コンピュータは、1つのプログラム製品に対する複数の
更新作業が並行して実施されているような場合でも、機
械的にプログラム製品の更新に伴う不良を検出する。
【0014】好ましくは、更新作業ごとに識別され更新
されたモジュールを格納する、そのようなファイルにア
クセスし、そのファイルの更新時点を参照するステップ
をさらに備え、上記比較ステップおいては、リリース予
定のモジュールまたはリリース予定外のモジュールの少
なくとも一方について、ファイルから参照した更新時点
に基づき上記モジュールの更新時点が比較されるように
してもよい。
【0015】すなわち、上記コンピュータは、更新モジ
ュールに関して記録された、モジュールを識別する情報
とそのモジュールの更新時点を示す情報により、更新時
点を比較するのでなく、モジュールを格納するファイル
にアクセスし、ファイルの更新情報を入手する。このた
め、上記コンピュータは、確実にモジュールの更新時点
を把握できる。
【0016】好ましくは、上記所定の処理は、リリース
対象のプログラム製品のリリース延期である。また、好
ましくは、上記所定の処理は、リリース対象外のプログ
ラム製品で上記リリース予定のモジュールより古いモジ
ュールを含むプログラム製品のリリースの促進処理であ
ってもよい。ここで、リリースの促進処理とは、例え
ば、リリース対象外のプログラム製品のテストの実施で
ある。
【0017】また、本発明は、コンピュータに、複数の
モジュールを含むプログラム製品の更新時の不良を検出
させるプログラムであり、プログラム製品の更新世代ご
とにその更新世代を識別する世代識別情報を付与するス
テップと、上記更新世代ごとに、更新されたモジュール
を識別する情報とそのモジュールの更新時点を示す情報
とを上記世代識別情報とともに記録するステップと、リ
リース対象の更新世代とリリース対象外の更新世代とに
おいて更新されているモジュールの更新時点を比較する
比較ステップと、リリース予定のモジュールの更新時点
が、そのモジュールに対応するリリース予定外のモジュ
ールの更新時点より新しいときに所定の処理の実行を指
令するステップとを備えるものでもよい。
【0018】ここで、更新世代とは、プログラム製品の
1以上の更新作業の結果を含む、プログラム製品の履歴
上の世代をいう。世代を版、バージョン、またはリビジ
ョンともいう。ただし、この更新世代が1つの更新作業
に対応するものであってもよい。
【0019】このプログラムを実行するコンピュータ
は、リリース対象の更新世代とリリース対象外の更新世
代とにおいて、対応するモジュールの更新日付を比較す
る。この更新日付には、時間を含めてもよい。
【0020】そして、上記コンピュータは、リリース予
定のモジュールの更新時点が、そのモジュールに対応す
るリリース予定外のモジュールの更新時点より新しいと
きに、不良の可能性があるとして、所定の処理の実行を
指示する。
【0021】このようにして、上記コンピュータは、プ
ログラム製品が複数の世代について並行して更新されて
いるような場合でも、機械的にプログラム製品の更新に
伴うの不良を検出する。
【0022】本発明は、コンピュータその他の装置、機
械等が上記いずれかの処理を実行する方法であってもよ
い。また、本発明は、コンピュータその他の装置、機械
等に、以上のいずれかの機能を実現させるプログラムを
コンピュータ等が読み取り可能な記録媒体に記録したも
のでもよい。
【0023】
【発明の実施の形態】以下、本発明の一実施の形態に係
る情報システムを図1から図8の図面に基いて説明す
る。
【0024】図1は、プログラム製品リリース時の不具
合発生例を示す図であり、図2は、本情報システムの原
理を示す図であり、図3は、本情報システムのシステム
構成図であり、図4は、本情報システムのデータフロー
図であり、図5は、プログラム製品修正時の運用フロー
を示す図であり、図6は、リリース時の運用フローを示
す図であり、図7は、本情報システムにおける修正モジ
ュールリリース処理を示すフローチャートであり、図8
は、レベルダウン防止チェック処理(図7のS2)の詳
細を示すフローチャートである。
【0025】<機能概要>図1に、プログラム製品リリ
ース時の不具合発生例を示す。この図1では、1つのプ
ログラム製品の2つの世代が、短期間にリリースされる
状況での不具合発生例の経緯を示している。
【0026】ここで、プログラム製品とは、例えば、パ
ーソナルコンピュータ上で利用されるシステムプログラ
ムやアプリケーションプログラム等である。本実施の形
態では、プログラム製品を資産ともいう。
【0027】このようなプログラム製品は、一般的に
は、複数のモジュールから構成される。図1では、その
ようなモジュールの例としてA.dllというファイル(ダ
イナミックリンクライブラリ)が示されている。また、
ここでは、A.cppおよびB.cppというソースプログラムを
コンパイルしたファイル(いわゆるロードモジュール)
がA.dllに含まれると仮定する。
【0028】また、世代は、バージョン、リビジョン等
とも呼ばれ、リリースされるプログラム製品を特定す
る。図2では、世代ごとの修正対象をインシデントX、
インシデントYのように明示している。以下、図1にし
たがい、不具合発生の経緯を説明する。 (1)12月7日(図1に示した「2001年」は省略
する。省略以下同様である)に、インシデントX(A.cp
pというソースプログラム)を修正し、コンパイル完了
した。この場合、A.cppのコンパイル結果(これをロー
ドモジュールと呼ぶ)が含まれるダイナミックリンクラ
イブラリA.dll全体がコンパイルされる。このとき作成
されるダイナミックリンクライブラリをA.dll50と呼
ぶ。このA.dll50は、テスト待ちの状態に置かれる
(矢印101)。 (2)12月10日に、インシデントY(B.cppという
ソースプログラム)を修正し、コンパイル完了した。こ
のB.cppのコンパイル結果は、上記と同一のダイナミッ
クリンクライブラリA.dllに含まれる。
【0029】したがって、ダイナミックリンクライブラ
リA.dll全体が再びコンパイルされる。このコンパイル
は、統合コンパイル環境で実行されるため、インシデン
トXで修正されたA.cppもコンパイルされる。このコン
パイルによって生成されたダイナミックリンクライブラ
リをA.dll51と呼ぶ。このA.dll51も、テスト待ちの
状態に置かれる(矢印102)。 (3)12月10日に、インシデントY(B.cpp)に対
応するA.dll51のテストが完了し(矢印103)、イ
ンシデントY対応モジュールとしてA.dll51がリリー
スされる(矢印104)。ただし、この時点で、インシ
デントXに対するテストは、未完である。 (4)12月12日に、インシデントX(A.cpp)に対
応するA.dll50のテストが完了し(矢印105)、イ
ンシデントX対応モジュールとしてA.dll50がリリー
スされる(矢印106)。
【0030】この状況では、以下のような不具合が含ま
れる(この不具合をレベルダウンともいう)。第1に、
上記(3)で述べたように、インシデントYに対応する
A.dll51は、テスト未完のA.cppのコンパイル結果が含
まれているにも拘わらず、そのままリリースされてしま
う。
【0031】第2に、上記(4)において後からリリー
スされるA.dll50には、インシデントYに対応するB.c
ppの修正結果が含まれていない。このため、後からリリ
ースされるA.dll50により、先にリリースされたA.dll
51を上書きすると、リリースを受けるユーザ側でイン
シデントYの修正結果が消滅してしまう。
【0032】図2は、このような不具合を回避する本情
報システムの原理を示す図である。図2では、プログラ
ム製品にユーザ(リリース担当の管理者)がそのような
不具合の有無をチェックするレベルダウンチェック画面
19と、そのレベルダウンチェック画面19から指示に
より実行される処理の概要が示されている。
【0033】このレベルダウンチェック画面19は、画
面中央部の設定リリースVL(バージョンレベル)欄3
1、コメント欄32、予定VL欄33、レベルダウンチ
ェック表示欄34、表示ボタン、チェックボタン20お
よび画面下部の設定対象資産欄35を有している。
【0034】管理者は、設定リリースVL31に、リリ
ース対象のプログラムのバージョンを示すバージョンレ
ベルを設定する。バージョンレベルは、例えば、V10
L10等の文字列である。
【0035】また、管理者は、コメント欄32に、その
バージョンレベルに関するコメントを設定する。コメン
トは、例えば、「障害No.0011対応モジュール」
等である。
【0036】また、管理者は、予定VL欄33に、リリ
ース予定となっているバージョンレベルを設定、表示ボ
タンを押下することにより、そのバージョンレベルに属
する修正No.の一覧を表示することができる。そのよ
うな修正No.の一覧は、設定対象資産欄35に表示さ
れる。
【0037】ここで、修正No.とは、プログラム製品
に対する1まとまりの修正作業や更新作業を特定する情
報である。また、修正No.は、そのような修正作業や
更新作業の結果を特定する。そして、そのような修正作
業、更新作業の結果が1以上組み合わせられて1つのバ
ージョンレベルを構成する。
【0038】また、レベルダウンチェック表示欄34に
は、レベルダウンチェック実行の有無が表示される。
【0039】設定対象資産欄35には、リリース予定の
修正No.の一覧が表示される。この設定対象資産欄3
5の表の各行は、リリース対象チェックマーク、修正番
号、および案件番号の各フィールドを有している。ここ
で、チェックマークは、その修正No.の修正作業によ
る修正結果がリリース対象であることを指定する。
【0040】管理者が所望の修正番号の行について、リ
リース対象チェックマークを設定し、チェックボタン2
0を押下することにより、レベルダウンチェックが開始
する。
【0041】例えば、図2の例では、リリース対象の修
正番号(001〜003)で示されるプログラム製品の
リリースモジュール管理テーブルが読み出され、リリー
ス対象となっていない修正番号のモジュール管理テーブ
ルと比較される。
【0042】リリースモジュール管理テーブルには、ソ
ースプログラムのコンパイルにより更新されたモジュー
ルが記録される。図2のように、リリースモジュール管
理テーブルは、修正No.により識別され、当該修正作
業で改造されたモジュールの一覧を有している。また、
モジュールの一覧には、改造されたモジュール名とその
モジュールが更新された更新日付(コンパイルの日付)
が含まれる。
【0043】ここで、例えば、修正No.0001のリ
リースモジュール管理テーブル20Aに記録されたモジ
ュールA.dllの更新日付は、2001年12月10日で
ある。一方、修正No.0031のリリースモジュール
管理テーブル20Bに記録されたモジュールA.dllの更
新日付は、2001年12月7日である。
【0044】したがって、修正No.0001で特定さ
れる今回リリース対象のモジュールの中に、今回リリー
ス対象でない(後からリリースされる)モジュールより
修正日付が新しいものがある。
【0045】このような状況では、図1において述べた
ように、修正No.001のリリース時にA.dllには、
未テストの改造が含まれる可能性がある。また、後に、
修正No.0031のリリースにより、リリース済みの
内容が抹消される可能性がある。
【0046】一方、例えば、修正No.0001のモジ
ュールB.dllの更新日付は、12月11日であり、修正
No.0031のモジュールB.dllの更新日付12月1
8日より、古い。したがって、モジュールB.dllには、
不具合は含まれていないことが分かる。
【0047】また、修正No.0001のリリースモジ
ュール管理テーブル20Aには、Y.EXE、Z.dllというモ
ジュールが記録されている。しかし、これらのモジュー
ルは、修正No.0031のリリースモジュール管理テ
ーブル20Bには記録されていない。これは、Y.EXEお
よびZ.dllが修正No.0001では更新されたが、修
正No.0031では、更新されなかったことを示す。
【0048】また、修正No.0031のリリースモジ
ュール管理テーブル20Bには、XX01.EXE、XX02.EXE等
のモジュールが記録されている。しかし、これらのモジ
ュールは、修正No.0001のリリースモジュール管
理テーブル20Aには記録されていない。
【0049】このように、2つのリリースモジュール管
理テーブルの一方に記録され、他方のリリースモジュー
ル管理テーブルに記録されていないモジュールは、不具
合を発生しない。リリースモジュール管理テーブルに記
録されていないモジュールは、コンパイルされていない
からである。
【0050】<システム構成>図3は、本情報システム
のシステム構成図である。この情報システムは、ウェブ
サーバ1、資産管理サーバ2、開発サーバ3(コンパイ
ルサーバを含む)、リリースサーバ4(テストサーバを
含む)、障害・Q/A登録サーバ5およびSQLサーバ
6を有している。
【0051】資産管理サーバ2は、資産管理プログラム
を実行し、プログラム製品、各プログラム製品を構成す
るモジュール、プログラム製品やモジュールをコンパイ
ルするためのソースプログラム等のバージョンを管理す
る。ここで、資産管理とは、いわゆるプログラム製品の
バージョン管理をいう。
【0052】コンパイルサーバを含む開発サーバ3は、
ソースプログラムの編集やコンパイル等に使用される。
テストサーバを含むリリースサーバ4は、プログラム製
品のテスト環境を提供する。
【0053】障害・Q/A登録サーバ5は、サービス部
門等からの障害情報の通知、Q/A(質問とその回答)
等を登録する。SQLサーバ6は、開発環境に関する情
報や、障害・Q/A登録サーバ5から登録された情報を
保持する。
【0054】ウェブサーバ1は、管理者や開発者が使用
する端末10に対し、ウェブページを提供し、バージョ
ン管理に関する情報、ソースプログラムの入出庫、障害
情報、Q/A(プログラム製品に関する質問および回
答)等を提供する。
【0055】また、ウェブサーバ1は、資産管理コント
ロール部(プログラム)を実行し、プログラム製品リリ
ース時における不良、すなわち、レベルダウンを検出す
る。
【0056】<システム運用フロー>図4は、本情報シ
ステムのデータフロー図である。この情報システムで
は、プログラム製品のソースプログラムが世代ごとに区
別され、原本21としてデータベースに保存されてい
る。
【0057】ユーザは、自身の端末10を通じて情報シ
ステムにアクセスし、原本21から必要なソースプログ
ラムを取得する。すなわち、ユーザは、所定のウェブペ
ージにアクセスし、更新に必要なソースプログラムを指
定してソースプログラムの貸出を資産管理サーバ2に依
頼する。すると、資産管理サーバ2は、管理用発行フォ
ルダ22に出力され、さらに、開発サーバ3の貸出フォ
ルダ23に移動される(図4の(1)(ここでは、まる
1を(1)と表記する。以下同様))。ユーザは、開発
サーバ3の貸出フォルダ23から自身の端末10にその
ソースプログラムを複写し、プログラムの修正作業を行
う。ただし、ユーザは、貸出フォルダ23において、そ
のままプログラムの修正作業を行ってもよい。
【0058】修正完了後、ユーザは、修正後のソースプ
ログラムを返却フォルダ24に返却する。そして、ユー
ザは、所定のウェブページにアクセスし、そのソースプ
ログラムの返却操作を行う。この返却操作により、返却
フォルダ24のソースプログラムが管理受付用フォルダ
25に転送される。また、返却フォルダ24のソースプ
ログラムが統合コンパイル環境フォルダ26に転送され
る(図4の(2))。
【0059】コンパイルサーバは、複写したソースプロ
グラムおよびそのソースプログラムと同一のモジュール
に組み込まれるすべてのソースプログラムをコンパイル
し、更新されたモジュールを作成する。
【0060】さらに、コンパイルサーバは、更新したモ
ジュールを管理用受付フォルダ25に返却する(図4の
(3))。このとき、資産管理サーバ2は、修正No.
を発行し、修正モジュール管理テーブルに、その修正N
o.および返却されたモジュールのモジュール名と更新
日付を記録する。また、コンパイルサーバは、更新した
モジュールを統合テスト環境に合致するディレクトリ構
成に変更する(図4の(4))。
【0061】そして、コンパイルサーバは、そのモジュ
ールをテスト展開待ちディレクトリ29に格納する(図
4の(5))。統合テスト環境を提供するテストサーバ
4は、テスト展開待ちディレクトリ29に格納されたモ
ジュールを順次読み出し、テスト環境に展開する。
【0062】テストサーバ4では、統合テスト環境にお
いて、更新されたモジュールのテストが実行される。テ
ストが正常に終了すると、ユーザは、テストが完了した
修正No.を所定のウェブページに入力する。この入力
により、資産管理サーバ2は、管理用受付フォルダ25
から更新されたモジュールを原本21に登録する(図4
の(6))。
【0063】管理者は、テストが完了した修正No.の
うち、リリース対象となる修正No.を収集し、リリー
スするバージョンレベルを設定する。そして、そのバー
ジョンレベルに含まれる修正No.の修正結果につい
て、レベルダウンチェックを実行する。
【0064】レベルダウンチェックが正常に終了する
と、管理者は、作業フォルダを介して、そのバージョン
レベルに含まれるモジュールをリモートメンテナンスサ
ーバのリリース環境フォルダ28に転送する(図4の
(7))。
【0065】リモートメンテナンスサーバは、エンドユ
ーザとの契約条件にしたがい、所定の時期にリリース環
境フォルダ28のモジュールをエンドユーザのコンピュ
ータに転送する。
【0066】図5に、プログラム製品修正時の運用フロ
ーを示す。まず、ユーザ(図5では開発者と記載)は、
所定のウェブページへの操作により、原本21から修正
対象のソースプログラムを自身の端末10に取り出す
(図5の(1))。ユーザは、修正作業を完了後、上記
ウェブページへの操作により、修正されたソースプログ
ラムを返却用一時ディレクトリ24Aに返却する(図5
の(3))。ここで、返却用一時ディレクトリ24Aと
は、図4に示す返却フォルダ24および管理用受付フォ
ルダ25に対応する。
【0067】返却されたソースは、コンパイル環境フォ
ルダ26に転送される(図5の(4))。このコンパイ
ル環境フォルダ26でソースプログラムのコンパイルが
実行される。このような修正されたソースプログラムに
関連するコンパイルだけを実行する技術は、例えば、u
nixシステムではmakeコマンドとして広く知られ
ている。
【0068】次に、コンパイル結果の差分が抽出される
(図5の(6))。差分とは、コンパイル環境に転送さ
れたソースプログラムをコンパイルすることにより更新
されるモジュールの集合をいう。この差分は、返却用一
時ディレクトリ24Aとテスト環境フォルダ27の両方
にコピーされる。
【0069】テストサーバ4は、コピーされた差分(更
新されたモジュールの集合)をテスト環境に展開する
(図5の(7))。ここで展開とは、更新されたモジュ
ールをテスト環境にインストールすることをいう。ユー
ザは、テスト環境でテストを実行する(図5の
(8))。
【0070】テスト完了後、ユーザは所定のウェブペー
ジにテスト完了を設定する。この設定により、テスト完
了の電子メールが管理者に通知される(図5の(1
0))。管理者は、所定のウェブページを通じて修正終
了の承認処理を実行する(図5の(11))。この承認
処理により、返却用一時フォルダのファイル(修正済み
のソースプログラムおよび更新されたモジュール)が原
本21に反映される。また、このとき、対応する修正N
o.のリリースモジュール管理テーブルに、更新モジュ
ール名および更新日付が記録される(図5の(1
2))。
【0071】図6に、リリース時の運用フローを示す。
この処理では、管理者は、レベルダウンチェック画面1
9においてリリース対象の修正番号を選択する(図6の
(1))。
【0072】そして、管理者は、このレベルダウンチェ
ック画面19上のチェックボタン18(図2参照)を押
下し、レベルダウンチェックの実行を指定する。これに
より、レベルダウンチェック、すなわち、プログラム製
品リリース時の不具合チェックが実行される(図6の
(2))。
【0073】すると、資産管理サーバ2は、リリース対
象の修正No.とリリース対象でない修正No.とにつ
いて、リリースモジュール管理テーブル(図6のテーブ
ル20Aと20B)を比較する。この比較において、リ
リース対象のモジュールの更新日付がリリース対象でな
いモジュールの更新日付より新しい場合に(リリース対
象外のモジュールの更新日付がリリース対象のモジュー
ルの更新日付より古い場合に)、不具合、すなわち、レ
ベルダウンが検出される。
【0074】次に、資産管理サーバ2は、リリース対象
の修正No.で識別されるリリースモジュール管理テー
ブルに記録されたモジュールの更新日付と、テスト環境
フォルダ27に保持され、そのモジュールを格納するフ
ァイルの更新日付とを比較する。この比較において、リ
リース対象のモジュールの更新日付がテスト環境フォル
ダ27において同一名称のモジュールを格納したファイ
ルの更新日付より新しい場合に(テスト環境フォルダ2
7のファイルの更新日付が古い場合に)、不具合、すな
わち、レベルダウンが検出される。
【0075】次に、不具合が検出されない場合、資産管
理サーバ2は、リリース対象の修正No.を所定のウェ
ブページに表示する。管理者は、リリース対象の修正N
o.を確認し、リリース対象を決定する(図6の
(3))。
【0076】資産管理サーバ2は、確認された修正N
o.で識別されるリリースモジュール管理テーブルを基
に、原本21からリリース対象のモジュールを抽出する
(図6の(4))。
【0077】<作用>図7に、本情報システムにおける
修正モジュールリリース処理を示す。この処理は、図3
に示した資産管理サーバ2が情報処理プログラムを実行
することにより実現される。
【0078】この処理では、資産管理サーバ2は、ま
ず、管理者によりリリース対象の選択を受ける(S
1)。次に、資産管理サーバ2は、レベルダウン防止チ
ェック処理を実行する(S2)。
【0079】次に、資産管理サーバ2は、レベルダウン
の可能があるか否かを判定する(S3)。レベルダウン
の可能性がない場合(S3の判定でNOの場合)、資産
管理サーバ2は、リリース対象モジュールを抽出し、処
理を終了する(S4)。
【0080】一方、レベルダウンの可能性がある場合
(S3の判定でYESの場合)、資産管理サーバ2は、
管理者からレベルダウン防止の処置の選択を受ける(S
5)。レベルダウン防止処置が、「繰り上げリリース」
であった場合、資産管理サーバ2は、リリース非対象で
あるが古い更新日付のモジュールに対応する修正番号の
テストを促す。
【0081】これにより、例えば、所定のメッセージが
開発者の端末10に通知される。開発者は当該修正番号
のテストを完了し、完了報告を通知する。この通知を受
けることにより、資産管理サーバ2は、当該修正番号の
プログラム製品をリリース対象とし、制御をS1に戻
す。
【0082】また、レベルダウン防止処置が、「リリー
ス延期」であった場合、資産管理サーバ2は、リリース
対象として設定されている修正番号をリリース非対象と
する(S7)。そして、資産管理サーバ2は、制御をS
1に戻す。
【0083】図8に、レベルダウン防止チェック処理
(図7のS2)の詳細を示す。この処理では、資産管理
サーバ2は、まず、リリース対象の修正番号で識別され
るリリースモジュール管理テーブルとリリース非対象の
修正番号で識別されるリリースモジュール管理テーブル
とを比較する(S21)。
【0084】リリース対象の修正番号で識別されるリリ
ースモジュール管理テーブルに記録されたモジュールが
リリース非対象のリリースモジュール管理テーブルに記
録された同一名のモジュールより古くない場合(S22
でNOの場合)、資産管理サーバ2は、エラー情報を出
力し、処理を終了する(S26)。
【0085】一方、リリース対象の修正番号で識別され
るリリースモジュール管理テーブルに記録されたモジュ
ールがリリース非対象のリリースモジュール管理テーブ
ルに記録された同一名のモジュールより古い場合(S2
2でYESの場合)、資産管理サーバ2は、次のデータ
があるか否かを判定する(S23)。次のデータがある
とは、リリース対象の修正番号で識別されるリリースモ
ジュール管理テーブルに残りデータがある場合、また
は、次のリリース対象の修正番号で識別されるリリース
モジュール管理テーブルがある場合をいう。
【0086】S23の判定で次のデータがある場合、資
産管理サーバ2は、制御をS21に戻す。また、S23
の判定で、次のデータがない場合、資産管理サーバ2
は、リリース対象の修正番号で識別されるリリースモジ
ュール管理テーブルに記録されたモジュールの更新日付
とそのモジュールを格納するファイル(例えば、統合テ
スト環境でテスト待ちのモジュール)の日付を比較する
(S24)。
【0087】そして、リース対象の修正番号で識別され
るリリースモジュール管理テーブルに記録されたモジュ
ールの更新日付の方が古くない場合(S25でNOの場
合)、資産管理サーバ2は、エラー情報を出力し、処理
を終了する(S26)。
【0088】一方、リース対象の修正番号で識別される
リリースモジュール管理テーブルに記録されたモジュー
ルの更新日付の方が古い場合(S25でYESの場
合)、資産管理サーバ2は、次のデータがあるか否かを
判定する(S27)。
【0089】S27の判定で次のデータがある場合、資
産管理サーバ制御をS24に戻す。また、S27の判定
で、次のデータがない場合、資産管理サーバ2は、処理
完了メッセージを表示し、処理を終了する(S28)。
【0090】以上述べたように、本情報システムによれ
ば、プログラム製品に対する複数の更新作業が並行して
実施され、リリースされるような場合において、機械的
にリリースの不具合を防止することができる。
【0091】すなわち、すでにリリース済み世代のプロ
グラム製品に含まれていたモジュールより古いをモジュ
ールを後発世代のプログラム製品に含めてリリースして
しまうような場合を検出できる。
【0092】また、統合コンパイル環境、すなわち、特
定モジュールまたはすべてのプログラム製品のソースプ
ログラムを1つの領域(例えば、フォルダやディレクト
リ等)でコンパイルするような環境において、リリース
対象のプログラム製品に、修正された後テスト未完のソ
ースプログラムに対応する部分(ロードモジュールまた
はオブジェクトモジュール)が含まれている可能性ある
場合に、そのような部分を含む可能性のあるモジュール
を検出できる。
【0093】<変形例>上記実施形態では、ウェブサー
バ1、資産管理サーバ2、開発サーバ3、コンパイルサ
ーバ、リリースサーバ4、テストサーバ等および端末1
0により情報システムを構成した。しかし、本発明の実
施は、このようなコンピュータの構成に限定されるもの
ではない。
【0094】例えば、1台のサーバで、上記サーバの機
能を提供するようにしてもよい。また、逆に、各サーバ
を複数のコンピュータによって構成してもよい。さら
に、1台のコンピュータによるスタンドアロンの環境
で、上記情報システムの機能を実現してもよい。
【0095】上記実施形態では、リリース対象のリリー
スモジュール管理テーブルとリリース非対象のリリース
モジュール管理テーブルとを比較して、不具合がなかっ
たとき、さらに、リリース対象のリリースモジュール管
理テーブルに記録されたモジュールの更新日付とそのモ
ジュールを格納するファイルの更新日付を比較した。
【0096】しかし、本発明の実施は、このような手順
には限定されない。例えば、リリース対象のモジュール
のファイルと、統合テスト環境でテスト待ち(テスト中
を含む)のモジュールのファイルとの間で、更新日付を
比較してもよい。すなわち、リリースモジュール管理テ
ーブルには、修正番号と、その修正番号に含まれるモジ
ュールを格納するファイル名を記録しておき、ファイル
同士で更新日付を比較してもよい。
【0097】上記実施形態では、プログラム製品に対す
る1まとまりの修正作業や更新作業を修正No.で特定
し、そのような複数の修正作業の結果や更新作業の結果
を組み合わせて1つのバージョンレベル(世代)を構成
した。そして、レベルダウンチェックは、リリース対象
の修正No.の修正作業とリリース対象外の修正No.
の修正作業との間で、対応するモジュールの修正日付を
比較することにより行った。
【0098】しかし、そのようなリリース対象の修正N
o.とリリース対象外の修正No.との間で、対応する
モジュールの修正日付を比較する代わり、リリース対象
の世代とリリース対象外の世代との間で、対応するモジ
ュールの修正日付を比較してもよい。
【0099】すなわち、修正No.により特定される修
正作業ごとにモジュールを比較するのでなく、プログラ
ム製品の世代同士で対応するモジュールを比較するよう
にしてもよい。例えば、先にリリースされる世代のプロ
グラム製品のモジュールで、後からリリースされる世代
のプログラム製品の対応するモジュールより更新日付が
新しいものが検出された場合に、レベルダウンとして、
所定の処理を実行するようにすればよい。
【0100】<コンピュータ読み取り可能な記録媒体>
コンピュータに上記いずれかの機能を実現させるプログ
ラムをコンピュータが読み取り可能な記録媒体に記録す
ることができる。そして、コンピュータに、この記録媒
体のプログラムを読み込ませて実行させることにより、
その機能を提供させることができる。
【0101】ここで、コンピュータ読み取り可能な記録
媒体とは、データやプログラム等の情報を電気的、磁気
的、光学的、機械的、または化学的作用によって蓄積
し、コンピュータから読み取ることができる記録媒体を
いう。このような記録媒体の内コンピュータから取り外
し可能なものとしては、例えばフロッピー(登録商標)
ディスク、光磁気ディスク、CD-ROM、CD-R/W、DVD、DA
T、8mmテープ、メモリカード等がある。
【0102】また、コンピュータに固定された記録媒体
としてハードディスクやROM(リードオンリーメモ
リ)等がある。
【0103】<搬送波に具現化されたデータ通信>ま
た、上記プログラムは、コンピュータのハードディスク
やメモリに格納し、通信媒体を通じて他のコンピュータ
に配布することができる。この場合、プログラムは、搬
送波によって具現化されたデータ通信信号として、通信
媒体を伝送される。そして、その配布を受けたコンピュ
ータに上記機能を提供させることができる。
【0104】ここで通信媒体としては、有線通信媒体、
例えば、同軸ケーブルおよびツイストペアケーブルを含
む金属ケーブル類、光通信ケーブル等、または、無線通
信媒体例えば、衛星通信、地上波無線通信等のいずれで
もよい。
【0105】また、搬送波は、データ通信信号を変調す
るための電磁波または光である。ただし、搬送波は、直
流信号でもよい。この場合、データ通信信号は、搬送波
がないベースバンド波形になる。したがって、搬送波に
具現化されたデータ通信信号は、変調されたブロードバ
ンド信号と変調されていないベースバンド信号(電圧0
の直流信号を搬送波とした場合に相当)のいずれでもよ
い。
【0106】<その他>さらに、本実施の形態は以下の
発明を開示する。 (付記1) コンピュータに、複数のモジュールを含む
プログラム製品の更新時の不良を検出させるプログラム
であり、プログラム製品の更新作業を識別する更新識別
情報を付与するステップと、前記更新作業ごとに、更新
されたモジュールを識別する情報とそのモジュールの更
新時点を示す情報とを前記更新識別情報とともに記録す
るステップと、リリース予定の更新作業の対象モジュー
ルとリリース予定外の更新作業の対象モジュールとに対
して更新時点を比較する比較ステップと、リリース予定
のモジュールの更新時点が、そのモジュールに対応する
リリース予定外のモジュールの更新時点より新しいとき
に所定の処理の実行を指令するステップとを備えるプロ
グラム。(1) (付記2) 更新作業ごとに識別され更新されたモジュ
ールを格納する、そのようなファイルにアクセスし、そ
のファイルの更新時点を参照するステップをさらに備
え、前記比較ステップおいては、リリース予定のモジュ
ールまたはリリース予定外のモジュールの少なくとも一
方について、ファイルから参照した更新時点に基づき前
記モジュールの更新時点が比較される付記1に記載のプ
ログラム。(2) (付記3) 前記所定の処理は、リリース予定のプログ
ラム製品のリリース延期である付記1または2に記載の
プログラム。(3) (付記4) 前記所定の処理は、リリース予定外のプロ
グラム製品で前記リリース予定のモジュールより古いモ
ジュールを含むプログラム製品のリリース促進処理であ
る付記1または2に記載のプログラム。(4) (付記5) コンピュータに、複数のモジュールを含む
プログラム製品の更新時の不良を検出させるプログラム
であり、プログラム製品の更新世代ごとにその更新世代
を識別する世代識別情報を付与するステップと、前記更
新世代ごとに、更新されたモジュールを識別する情報と
そのモジュールの更新時点を示す情報とを前記世代識別
情報とともに記録するステップと、リリース対象の更新
世代とリリース対象外の更新世代とにおいて更新されて
いるモジュールの更新時点を比較する比較ステップと、
リリース予定のモジュールの更新時点が、そのモジュー
ルに対応するリリース予定外のモジュールの更新時点よ
り新しいときに所定の処理の実行を指令するステップと
を備えるプログラム。 (付記6) コンピュータが、複数のモジュールを含む
プログラム製品の更新時の不良を検出する方法であり、
プログラム製品の更新作業を識別する更新識別情報を付
与するステップと、前記更新作業ごとに、更新されたモ
ジュールを識別する情報とそのモジュールの更新時点を
示す情報とを前記更新識別情報とともに記録するステッ
プと、リリース予定の更新作業の対象モジュールとリリ
ース予定外の更新作業の対象モジュールとに対して更新
時点を比較する比較ステップと、リリース予定のモジュ
ールの更新時点が、そのモジュールに対応するリリース
予定外のモジュールの更新時点より新しいときに所定の
処理の実行を指令するステップとを備える方法。(5) (付記7) コンピュータが、複数のモジュールを含む
プログラム製品の更新時の不良を検出する方法であり、
プログラム製品の更新世代ごとにその更新世代を識別す
る世代識別情報を付与するステップと、前記更新世代ご
とに、更新されたモジュールを識別する情報とそのモジ
ュールの更新時点を示す情報とを前記世代識別情報とと
もに記録するステップと、リリース対象の更新世代とリ
リース対象外の更新世代とにおいて更新されているモジ
ュールの更新時点を比較する比較ステップと、リリース
予定のモジュールの更新時点が、そのモジュールに対応
するリリース予定外のモジュールの更新時点より新しい
ときに所定の処理の実行を指令するステップとを備える
方法。 (付記8) 複数のモジュールを含むプログラム製品の
更新時の不良を検出する管理装置であり、プログラム製
品の更新作業を識別する更新識別情報を付与する手段
と、前記更新作業ごとに、更新されたモジュールを識別
する情報とそのモジュールの更新時点を示す情報とを前
記更新識別情報とともに記録する手段と、リリース予定
の更新作業の対象モジュールとリリース予定外の更新作
業の対象モジュールとに対して更新時点を比較する比較
手段と、リリース予定のモジュールの更新時点が、その
モジュールに対応するリリース予定外のモジュールの更
新時点より新しいときに所定の処理の実行を指令する手
段とを備える管理装置。 (付記9) 複数のモジュールを含むプログラム製品の
更新時の不良を検出する管理装置であり、プログラム製
品の更新世代ごとにその更新世代を識別する世代識別情
報を付与する手段と、前記更新世代ごとに、更新された
モジュールを識別する情報とそのモジュールの更新時点
を示す情報とを前記世代識別情報とともに記録する手段
と、リリース対象の更新世代とリリース対象外の更新世
代とにおいて更新されているモジュールの更新時点を比
較する比較手段と、リリース予定のモジュールの更新時
点が、そのモジュールに対応するリリース予定外のモジ
ュールの更新時点より新しいときに所定の処理の実行を
指令する手段とを備える管理装置。
【0107】
【発明の効果】以上説明したように、本発明によれば、
製品に対する複数の更新作業が並行して行われる状況に
おいて、製品リリースの不具合を機械的に防止すること
ができる。
【図面の簡単な説明】
【図1】 プログラム製品リリース時の不具合発生例を
示す図
【図2】 本発明の一実施の形態に係る情報システムの
原理を示す図
【図3】 情報システムのシステム構成図
【図4】 情報システムのデータフロー図
【図5】 プログラム製品修正時の運用フローを示す図
【図6】 リリース時の運用フローを示す図
【図7】 修正モジュールリリース処理を示すフローチ
ャート
【図8】 レベルダウン防止チェック処理(図7のS
2)の詳細を示すフローチャート
【符号の説明】
1 ウェブサーバ 2 資産管理サーバ 3 開発サーバ(コンパイルサーバ) 4 リリースサーバ(テストサーバ) 10 端末 19 レベルダウンチェック画面19 21 原本

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータに、複数のモジュールを含
    むプログラム製品の更新時の不良を検出させるプログラ
    ムであり、 プログラム製品の更新作業を識別する更新識別情報を付
    与するステップと、 前記更新作業ごとに、更新されたモジュールを識別する
    情報とそのモジュールの更新時点を示す情報とを前記更
    新識別情報とともに記録するステップと、 リリース予定の更新作業の対象モジュールとリリース予
    定外の更新作業の対象モジュールとに対して更新時点を
    比較する比較ステップと、 リリース予定のモジュールの更新時点が、そのモジュー
    ルに対応するリリース予定外のモジュールの更新時点よ
    り新しいときに所定の処理の実行を指令するステップと
    を備えるプログラム。
  2. 【請求項2】 更新作業ごとに識別され更新されたモジ
    ュールを格納する、そのようなファイルにアクセスし、
    そのファイルの更新時点を参照するステップをさらに備
    え、 前記比較ステップおいては、リリース予定のモジュール
    またはリリース予定外のモジュールの少なくとも一方に
    ついて、ファイルから参照した更新時点に基づき前記モ
    ジュールの更新時点が比較される請求項1に記載のプロ
    グラム。
  3. 【請求項3】 前記所定の処理は、リリース予定のプロ
    グラム製品のリリース延期である請求項1または2に記
    載のプログラム。
  4. 【請求項4】 前記所定の処理は、リリース予定外のプ
    ログラム製品で前記リリース予定のモジュールより古い
    モジュールを含むプログラム製品のリリース促進処理で
    ある請求項1または2に記載のプログラム。
  5. 【請求項5】 コンピュータが、複数のモジュールを含
    むプログラム製品の更新時の不良を検出する方法であ
    り、 プログラム製品の更新作業を識別する更新識別情報を付
    与するステップと、 前記更新作業ごとに、更新されたモジュールを識別する
    情報とそのモジュールの更新時点を示す情報とを前記更
    新識別情報とともに記録するステップと、 リリース予定の更新作業の対象モジュールとリリース予
    定外の更新作業の対象モジュールとに対して更新時点を
    比較する比較ステップと、 リリース予定のモジュールの更新時点が、そのモジュー
    ルに対応するリリース予定外のモジュールの更新時点よ
    り新しいときに所定の処理の実行を指令するステップと
    を備える方法。
JP2002096881A 2002-03-29 2002-03-29 管理プログラム、および方法 Pending JP2003296108A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002096881A JP2003296108A (ja) 2002-03-29 2002-03-29 管理プログラム、および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002096881A JP2003296108A (ja) 2002-03-29 2002-03-29 管理プログラム、および方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008032887A Division JP4769826B2 (ja) 2008-02-14 2008-02-14 レベルダウン検出プログラム、レベルダウン検出方法、及び、管理プログラム

Publications (1)

Publication Number Publication Date
JP2003296108A true JP2003296108A (ja) 2003-10-17

Family

ID=29387548

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002096881A Pending JP2003296108A (ja) 2002-03-29 2002-03-29 管理プログラム、および方法

Country Status (1)

Country Link
JP (1) JP2003296108A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007515708A (ja) * 2003-11-19 2007-06-14 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 携帯端末内のデータ更新方法
JP2009244974A (ja) * 2008-03-28 2009-10-22 Nomura Research Institute Ltd プログラム開発管理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007515708A (ja) * 2003-11-19 2007-06-14 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 携帯端末内のデータ更新方法
JP2009244974A (ja) * 2008-03-28 2009-10-22 Nomura Research Institute Ltd プログラム開発管理装置

Similar Documents

Publication Publication Date Title
US7926038B2 (en) Method, system and computer program for testing a command line interface of a software product
US8245216B2 (en) Patch management system
KR100655124B1 (ko) 주문 제작 컴퓨터시스템을 위한 소프트웨어 설치 및 테스트를촉진하는 데이타베이스
US6002869A (en) System and method for automatically testing software programs
JP3610284B2 (ja) コンピュータ間でソフトウェアを同期化するための装置および方法
CN103999047B (zh) 修复交付系统
JPH10222374A (ja) 遠隔ソフトウェア技術支援を提供するための方法
US20070106979A1 (en) Patch management system
US20040068713A1 (en) System and method for managing distributed software development
US8266588B2 (en) Creating projects in a rational application developer workspace
US20100218176A1 (en) Test system configuration method and system
US8677348B1 (en) Method and apparatus for determining least risk install order of software patches
CA2579266A1 (en) System and method for scheduling software updates
US20030088810A1 (en) Methods and apparatus for determining software component sizes associated with errors
US7181739B1 (en) Installation relationship database
US20070266371A1 (en) Multiple correction requests occurring from a single request
CN118444970B (zh) 一种应用分发平台的版本管理系统
JP4769826B2 (ja) レベルダウン検出プログラム、レベルダウン検出方法、及び、管理プログラム
US6728951B1 (en) System and method for performing automated incremental compilation of computer programs
CN117573564B (zh) 一种基于gitlab代码提交日志自动识别差异的方法
US20190065168A1 (en) Apparatus and method to shorten software installation time based on a history of file installation
JP2003296108A (ja) 管理プログラム、および方法
US20060112189A1 (en) Method for tracking transport requests and computer system with trackable transport requests
CN117891459A (zh) 一种支持多架构的IaaS层软件DevSecOps解决方法
JPH11134178A (ja) ロードモジュールの版数情報による相互関連チェック方式およびプログラム記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070911

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080214

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080311