JP2007226685A - アプリケーションメンテナンス支援装置、アプリケーション生成装置、アプリケーションメンテナンス支援方法、およびコンピュータプログラム - Google Patents

アプリケーションメンテナンス支援装置、アプリケーション生成装置、アプリケーションメンテナンス支援方法、およびコンピュータプログラム Download PDF

Info

Publication number
JP2007226685A
JP2007226685A JP2006049320A JP2006049320A JP2007226685A JP 2007226685 A JP2007226685 A JP 2007226685A JP 2006049320 A JP2006049320 A JP 2006049320A JP 2006049320 A JP2006049320 A JP 2006049320A JP 2007226685 A JP2007226685 A JP 2007226685A
Authority
JP
Japan
Prior art keywords
application
function
file
program
customer
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
JP2006049320A
Other languages
English (en)
Inventor
Kazuo Yamakawa
一男 山川
Norio Hamamatsu
紀夫 浜松
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 JP2006049320A priority Critical patent/JP2007226685A/ja
Publication of JP2007226685A publication Critical patent/JP2007226685A/ja
Pending legal-status Critical Current

Links

Abstract

【課題】カスタムメードのアプリケーションのメンテナンスの手間を軽減する。
【解決手段】アプリケーション生成装置1に、アプリケーションのプロジェクトファイルPFLごとにそのアプリケーションによって実現される機能を示す定義情報73を記憶する定義情報格納部DB3と、いずれかの機能に係るプログラムが更新された場合に、各アプリケーションのプロジェクトファイルPFLの中から生成し直すべきプロジェクトファイルPFLを、各定義情報73に基づいて判別する、類似ファイル判別部123と、を設ける。
【選択図】図2

Description

本発明は、カスタムメードのアプリケーションを取り扱う装置および方法などに関する。
特定の業務のために使用するアプリケーションの従来の製品形態として、量販店などで販売される既製品(いわゆる「パッケージソフト」)および顧客ごとにカスタマイズした特注品(カスタムメードのアプリケーション)が挙げられる。
パッケージソフトは、同一品を多数の顧客に販売することができるので、販売価格を低く抑えることができる。しかし、その反面、様々な顧客に使用されることを想定して作成されているので、顧客にとって不要な機能が含まれており、使い勝手がよくない。特に、コンピュータまたは業務に不慣れな操作者は、必要な機能と不要な機能とが混在していると、操作方法がなかなか覚えられず、精神的および肉体的に負担が強いられる。
これに対し、カスタムメードのアプリケーションは、顧客の要望に応じて必要な機能が選定されるので、操作者にとって使い勝手がよい。
ところで、アプリケーションを開発する開発者を支援するための方法として、特許文献1−3に記載されるような方法が提案されている。
特許文献1に記載される方法によると、コンパイルシステムにおいて、プリプロセッサはソースプログラム1−1を入力としてマクロを展開し、ソースプログラム1−2を出力する。コンパイラはテスト命令を含むソースプログラム1−2を入力とし、共通オブジェクトファイル1−3を生成する。この共通オブジェクトファイル1−3はテスト命令で境界された再配置可能なオブジェクトの集合である。リンクエディタは共通オブジェクトファイル1−3を入力としテスト命令の実行結果にしたがって再配置するオブジェクトを選択し、統合した結果のオブジェクトモジュールを出力する。このような構成により、同一のソースプログラムから用途の異なる複数のオブジェクトモジュールを生成する際の、所要時間を短縮し、統合ミスを低減し、かつ必要とする記憶容量を小さくすることができる。
特許文献2に記載される方法によると、第1のシステムで作成されるプログラム中に、第1のシステム固有のロジック部分とこの第1のシステムとは異なる第2のシステム固有のロジック部分とを示す所定のコンパイル記述子を記述してプログラムを作成する工程と、前記第1のシステムで作成されたプログラムを前記第2のシステム用に変換する場合、前記第1のシステムと前記第2のシステムとの共通ロジック部分は飛び越し前記コンパイル記述子によって指示された前記第2のシステム固有のロジック部分を抽出する工程と、抽出された前記第2のシステム固有のロジック部分を前記第2のシステム用に変換する工程とを有する。このような構成により、異なるシステムで開発された同じ言語のプログラムを利用することができる。
特許文献3に記載される発明によると、OS上から不要になったソフトウェアをインストール順序に依存することなく適宜取り除くことができる。
特開平5−61653号公報 特開平9−190355号公報 特開平9−146764号公報
前述の通り、カスタムメードのアプリケーションのほうがパッケージソフトよりも使い勝手がよい。
ところが、カスタムメードのアプリケーションは、メンテナンスの作業によって開発者に対して掛かる手間がパッケージソフトの場合よりも大きい。なぜなら、例えば導入後に製品に障害が見つかった場合において、パッケージソフトであれば修正版を1つまたは幾つか作成しそれをユーザに配布するだけで対応することができるが、カスタムメードのアプリケーションについては、個別に障害が発生するか否かの検証を行い、障害が発生するのであればさらに個別にその原因を調査し修正版を作成しなければならないからである。しかし、特許文献1〜3に記載されるような従来の方法では、開発者の手間を省くことはできない。
本発明は、このような問題点に鑑み、カスタムメードのアプリケーションのメンテナンスの手間を従来よりも軽減することを目的とする。
本発明に係るアプリケーションメンテナンス支援装置は、要求者からの要求に応じて生成されたカスタムメードのアプリケーションのメンテナンスを支援するアプリケーションメンテナンス支援装置であって、前記アプリケーションごとに、当該アプリケーションによって実現される機能を示す機能構成情報を記憶する、機能構成情報記憶手段と、いずれかの機能に係るプログラムが更新された場合に、前記各アプリケーションの中から生成し直すべきものを前記各機能構成情報に基づいて判別する、要再生成アプリケーション判別手段と、を有することを特徴とする。
本発明に係るアプリケーション生成装置は、要求者からの要求に応じてカスタムメードのアプリケーションを生成するアプリケーション生成装置であって、所定の機能ごとに、当該所定の機能を実現するためのプログラムを記憶するプログラム記憶手段と、前記アプリケーションを、当該アプリケーションを要求した要求者にとって必要な前記所定の機能の前記プログラムを使用して生成する、アプリケーション生成手段と、前記所定の機能の前記プログラムが更新された場合に、当該所定の機能を有する前記アプリケーションを生成し直すべきであると判別する、要再生成アプリケーション判別手段と、を有することを特徴とする。
本発明によると、カスタムメードのアプリケーションのメンテナンスの手間を従来よりも軽減することができる。
図1はアプリケーション生成装置1の外観の例およびハードウェア構成の例を示す図、図2はアプリケーション生成装置1の機能的構成の例を示す図である。
本発明に係るアプリケーション生成装置1は、図1(a)に示すようなパーソナルコンピュータまたはワークステーションであって、図1(b)に示すようにCPU10a、RAM10b、ROM10c、ハードディスク10d、ディスプレイ10e、入力装置10f、入出力インタフェース10g、およびネットワークカード10hなどによって構成される。
このアプリケーション生成装置1は、量販店などで一般のユーザ向けに販売されるようなアプリケーション(いわゆるパッケージソフト)のほか、顧客から個々に注文を受けて顧客の要望に応じたカスタムメードのアプリケーション(つまり、特注品)を、生成するための処理を行う。以下、ある特定の業務(例えば、製薬業または医療業など)を行う会社を顧客とするソフトウェア開発会社において各顧客の業務用のアプリケーションを生成するためにアプリケーション生成装置1が使用される場合を例に、説明する。なお、これらのアプリケーションを作成するためのプログラム言語として、例えばマイクロソフト社のVisual Basicなどが用いられる。
アプリケーション生成装置1のハードディスク10dには、図2に示すような新規提供先選択部101、提供機能特定部102、特定機能コード抽出部103、ソース編集処理部104、コンパイル処理部105、実行ファイル登録部106、定義情報等編集部121、アプリ再生成指令部122、類似ファイル判別部123、定義情報更新部124、類似ファイル再生成指令部125、提供状況閲覧処理部126、プロジェクトファイル格納部DB0、モジュールファイル等格納部DB1、対応情報格納部DB2、定義情報格納部DB3、およびアプリケーション格納部DB4などを実現するためのコンピュータプログラムおよびデータが格納されている。これらのコンピュータプログラムおよびデータは必要に応じてRAM10bにロードされ、CPU10aによってコンピュータプログラムが実行される。
アプリケーション生成装置1によって生成されるカスタムメードのアプリケーションには、1つまたは複数の機能を顧客の要求に応じて選択的に搭載することができる。例えば、ディスプレイに表示した画面を印刷する機能、操作方法の解説文を表示しユーザに参照させる機能、またはデータベースを外部から得られた最新情報に基づいて更新する機能などの種々の機能の中から顧客の要求に応じて搭載することができる。以下、前記の特定の業務のために使用され得る機能として、機能Fa、Fb、Fc、…が用意されているものとして説明する。
機能Fa、Fb、Fc、…は、後に説明する構成用ファイルKFLによって実現される。また、構成用ファイルKFLが障害の除去または性能の向上のためにバージョンアップ(更新)されるごとに、その構成用ファイルKFLを必要とする機能の版(バージョン)も「版1」から「版2」、「版3」、「版4」、…も上がっていく。
次に、図2に示すアプリケーション生成装置1の各部の処理内容などについて詳細に説明する。
〔情報等の管理〕
図3は対応情報格納部DB2の例を示す図、図4は定義情報格納部DB3の例を示す図である。
プロジェクトファイル格納部DB0には、前記の特定の業務を行う複数の顧客が使用することができる汎用的なアプリケーションのプロジェクトファイルPFLが格納されている。本実施形態では、このプロジェクトファイルPFLを顧客に応じてカスタマイズすることによってカスタムメードのアプリケーションを生成する。
モジュールファイル等格納部DB1には、そのプロジェクトファイルPFL(アプリケーション)を構成するオブジェクトのデータがファイル単位で格納されている。例えば、標準モジュール、フォームモジュール、またはActiveXコントロールなどのファイルが格納されている。以下、これらのファイルを「構成用ファイルKFL」と記載する。プロジェクトファイルPFLおよび構成用ファイルKFLは、従来通り、ソフトウェア開発会社の担当者によって作成される。
対応情報格納部DB2には、図3に示すように、機能Fa、Fb、Fc、…ごとの機能対応情報72(72a、72b、72c…)が格納されている。機能対応情報72には、それに対応する機能の機能名およびその機能を識別するための識別コードなどの情報が示されている。さらに、その機能の版(バージョン)ごとに、版名、その機能に必要な構成用ファイルKFLのファイル名(対象ファイル名)、および版2以降の場合はバージョンアップした理由(更新理由)が示されている。
定義情報格納部DB3には、図4に示すように、顧客ごとの定義情報73(73a、73b、…)が格納されている。定義情報73は、それに係る顧客が前記の特定の業務の際に各機能Fa、Fb、Fc、…を必要とするか否かを定義している。具体的には、必要な機能には「○」が付され、不要な機能には「×」が付されている。ただし、その必要な機能の版が複数ある場合は、現在その顧客の最新版のアプリケーションに適用されている版の版名に「○」が付され、残りの版の版名には「−」が付される。
ソフトウェア開発会社の担当者は、顧客から要望を聞いてその顧客にとって必要な機能および不要な機能を決定する。そして、決定した内容をアプリケーション生成装置1の入力装置10fを操作するなどして入力し、その顧客の定義情報73を定義情報格納部DB3に登録させる。ただし、必要な機能の版が複数ある場合は、特別な事情がない限り、最新の版を採用するのが望ましい。なお、担当者が機能の要不要を選択しやすくするために、アプリケーション生成装置1のディスプレイ10eに機能の一覧表が表示されるように構成してもよい。
なお、本実施形態では、1つの顧客に対して1つのアプリケーション(実行ファイルJFL)を提供する。よって、定義情報73は、アプリケーションごとに定義されているとも言える。
アプリケーション格納部DB4には、後に説明するコンパイル処理部105によって生成された実行ファイルJFLが格納される。そのほか、アプリケーション格納部DB4には、実行ファイルJFLごとにファイル属性情報74(74a、74b、…)が格納される。
〔顧客向けのアプリケーションの生成の処理〕
図5はソース編集処理の流れの例を説明するフローチャート、図6は編集前後のソースの例を示す図、図7はアプリケーション格納部DB4の例を示す図である。
新規提供先選択部101は、どの顧客に提供するアプリケーションを生成するのかを選
択する。すなわち、これから生成するアプリケーションに係る顧客を担当者が指定すると、新規提供先選択部101は、その顧客を提供先として選択する。
提供機能特定部102は、選択された提供先の顧客にとって必要な機能およびその版を特定する。すなわち、まず、その顧客の定義情報73を定義情報格納部DB3から呼び出す。そして、その定義情報73において「○」が付されている機能および版を必要なものであると特定する。
特定機能コード抽出部103は、提供機能特定部102によって特定された版の機能を実現するための構成用ファイルKFLをモジュールファイル等格納部DB1から抽出する。すなわち、まず、特定された機能の機能対応情報72を対応情報格納部DB2から呼び出す。そして、その機能対応情報72に示される対象ファイル名のうちの特定された版に対応する対象ファイル名を有する構成用ファイルKFLを、モジュールファイル等格納部DB1から抽出する。
ソース編集処理部104は、選択された顧客に提供するためのアプリケーションのソースを生成する処理を、プロジェクトファイルPFLのソースを編集することによって行う。係る処理は、例えば図5のフローチャートのような手順で行われる。
プロジェクトファイルPFLをプロジェクトファイル格納部DB0から抽出する(図5の#201)。そのプロジェクトファイルPFLに示されるソースの中から、機能の識別コードを検索する(#202)。識別コードが見つかったら(#203でYes)、その識別コードを残しておくか削除するかのどちらかを選択することによってそのソースを編集する(#205または#206)。
すなわち、その識別コードに係る構成用ファイルKFLが特定機能コード抽出部103によって抽出された場合は、その機能は顧客にとって必要なので(#204でYes)、その識別コードを残しておく(#205)。一方、その識別コードに係る構成用ファイルKFLが抽出されなかった場合は、その機能は顧客にとって不要なので(#204でNo)、その識別コードおよびその引数をソースから削除する(#206)。その識別コードが式に含まれている場合は、その式ごと削除する。
ソースに複数の識別コードが含まれている場合は、各識別コードに対してステップ#205または#206のうちのいずれか一方の処理を行う。このような編集処理によって、不要な機能に係るコードを除去したソースが得られる。
例えば、実行ファイルJFLに記載される元のソースが図6(a)に示すような内容であって、提供機能特定部102が図4に示す定義情報73aに基づいて必要な機能を特定した場合は、そのソースは図6(b)に示すように編集される。
図2に戻って、コンパイル処理部105は、ソース編集処理部104によって得られたソースを、特定機能コード抽出部103によって抽出された構成用ファイルKFLに記載されるコードを用いて従来通りにコンパイルし、実行ファイルJFL(いわゆる「EXEファイル」)を生成する。この実行ファイルJFLが目的のカスタムメードのアプリケーションである。
生成された実行ファイルJFLは、実行ファイル登録部106によって所定の規則に基づいてファイル名が付されてアプリケーション格納部DB4に格納される。さらに、図7に示すように、その実行ファイルJFLのファイル属性情報74が生成され格納される。なお、図7では、紙面の都合上、ファイル属性情報74を2段に分割して記載している。
そのファイル属性情報74には、その実行ファイルJFLの識別子、作成日(生成日)、提供先である顧客の顧客名、ファイル名、顧客の業務用システムに適用する予定の日(適用予定日)、適用する作業を担当する担当者、どれくらい緊急に適用すべきかの度合い(緊急度)、および各機能Fa、Fb、Fc…の各版ごとの適用の有無およびその機能に関連する他の実行ファイルJFLの識別子(関連識別子)などが示される。
なお、「作成日」は、その実行ファイルJFLの版(バージョン)を表わすためにも用いられる。また、「識別子」は、ファイルの種類またはフォーマットを意味するものではなく、他の実行ファイルJFLと区別するための情報であって、所定の規則に基づいて付される。ファイル名のみで実行ファイルJFLを識別できるのであれば、ファイル名を識別子として用いてもよい。
さらに、ファイル属性情報74には、その実行ファイルJFLに搭載される機能のうち前版よりも新しくなった機能(つまり、更新された機能)の機能名(更新機能名)が示される。ただし、その実行ファイルJFLが初版である場合は、空欄にしておく。
これらのうち、識別子、作成日、顧客名、ファイル名、各機能Fa、Fb、Fc…の各版ごとの適用の有無、および更新機能名は、上述の処理の過程で決定する。他の情報は、ファイル属性情報74が生成された時点では決定しておらず、後に示す処理の過程で順次決定する。
そして、その後、アプリケーション格納部DB4に格納された実行ファイルJFLは、担当者などの作業によって顧客の業務用システムに導入され使用される。
〔顧客向けのアプリケーションの再生成の処理〕
顧客の業務用システムにカスタムメードのアプリケーションつまり実行ファイルJFLを導入した後、実行ファイルJFLから障害が発見されることがある。また、顧客からの要望に応じるために機能を向上させる必要が生じることがある。これらの場合は、担当者は、障害または要望に係る機能をバージョンアップさせた実行ファイルJFLを生成するための作業を、例えば次のように行う。
各機能の構成用ファイルKFLのソースを参照しながら、どの機能の構成用ファイルKFLに障害の原因があるのかを調査する。または、どのように構成用ファイルKFLのソースを修正すべきかを検討する。そして、これらの調査結果または検討結果などに基づいて新たな構成用ファイルKFLを作成し、モジュールファイル等格納部DB1に格納させる。
さらに、担当者は、その機能の機能名、その新たな構成用ファイルKFLのファイル名(対象ファイル名)、バージョンアップの理由(更新理由)、およびその実行ファイルJFLの導入先である顧客の顧客名を、入力装置10fを操作するなどしてアプリケーション生成装置1に対して指定する。
すると、図2の定義情報等編集部121は、定義情報格納部DB3の中からその顧客の定義情報73を検索し、その定義情報73を次のように更新する。その定義情報73の中の、今回バージョンアップの対象となった機能のフィールドに新たな版名の欄を追加する。そして、「○」の印を、従来の版名の欄からその新たな版名の欄に移動させる。例えば、従来、その機能の最新版が「版2」であったならば、「版3」の欄を追加し、「○」の印を版2の欄から版3の欄に移動させる。
さらに、定義情報等編集部121は、その機能の機能対応情報72を対応情報格納部DB2の中から検索し、その機能対応情報72を、新たな版の版名、今回新たに生成された構成用ファイルKFLのファイル名(対象ファイル名)、および更新理由の情報を書き加えることによって、編集(更新)する。
アプリ再生成指令部122は、提供機能特定部102などに対して、目的の実行ファイルJFLを生成し直すように指令を与える。すると、提供機能特定部102ないしコンパイル処理部105は、定義情報等編集部121によって更新された機能対応情報72および定義情報73に基づいて、目的の実行ファイルJFLを上述の方法によって再生成する。実行ファイル登録部106は、再生成された実行ファイルJFLにファイル名を付け、その実行ファイルJFLおよびファイル属性情報74をアプリケーション格納部DB4に格納させる。
ところで、ある顧客の実行ファイルJFLで発見された障害は、他の顧客の実行ファイルJFLでも同様に発生するおそれがある。また、ある顧客の要望に応じてバージョンアップさせた機能は他の顧客のアプリケーションにも適用されるのが望ましい。そこで、類似ファイル判別部123ないし類似ファイル再生成指令部125などは、今回生成し直した実行ファイルJFLに類似する他の実行ファイルJFL(以下、「類似ファイル」と記載することがある。)を見つけ出し、それらを生成し直すための処理を、例えば次のように実行する。
類似ファイル判別部123は、アプリケーション格納部DB4に格納されている実行ファイルJFLの中から類似ファイルを次のように判別する。
今回バージョンアップされた機能を搭載している実行ファイルJFLを使用する顧客を、定義情報73(図4参照)に基づいて検索する。すなわち、顧客の定義情報73の中のその機能のいずれかの版名の欄に「○」が付されていれば、その顧客がそのような実行ファイルJFLを使用していることが分かる。そして、その検索された顧客の実行ファイルJFLを類似ファイルであると判別する。
定義情報更新部124は、類似ファイル判別部123によって類似ファイルであると判別された実行ファイルJFLに係る顧客の定義情報73を次のように更新する。その定義情報73の中の、今回バージョンアップされた機能のフィールドに注目する。そして、「○」の印を、従来「○」が付されていた欄から新たな版の版名の欄に移動させる。
類似ファイル再生成指令部125は、提供機能特定部102などに対して、類似ファイルを生成し直すように指令を与える。すると、提供機能特定部102ないしコンパイル処理部105は、定義情報更新部124によって更新された定義情報73に基づいて、それらを上述の方法で再生成する。
そして、実行ファイル登録部106は、再生成された実行ファイルJFL(類似ファイル)にファイル名を付け、その実行ファイルJFLおよびファイル属性情報74をアプリケーション格納部DB4に格納させる。
上述の2つの方法のうちのいずれかの方法によって再生成された実行ファイルJFLは、担当者などの作業によって、既に導入されている古い実行ファイルJFLと置き換えられて使用される。
さらに、実行ファイル登録部106は、上述の2つの方法のうちのいずれかの方法によって今回再生成された各実行ファイルJFLのファイル属性情報74を、次のように更新する。ファイル属性情報74の中の今回バージョンアップされた機能の関連識別子の欄に、その機能に関して同様にバージョンアップされた他の実行ファイルJFLの識別子を書き込む。
〔アプリケーションの提供状況を確認させるための処理〕
図8はアプリケーション提供状況画面HG1の例を示す図、図9は機能更新履歴一覧画面HG2の例を示す図である。
図2の提供状況閲覧処理部126は、担当者などがアプリケーションの保守のための情報を閲覧することができるように、図8のようなアプリケーション提供状況画面HG1および図9のような機能更新履歴一覧画面HG2をディスプレイ10eに表示させる処理を行う。
提供状況閲覧処理部126は、アプリケーション提供状況画面HG1を次のように生成しディスプレイ10eに表示させる。
担当者が入力装置10fを操作して所定のコマンドを入力すると、提供状況閲覧処理部126は、次のような情報を取得する。アプリケーション格納部DB4の中から顧客ごとの最新版の実行ファイルJFLのファイル属性情報74を検索し、これらのファイル属性情報74の中から各顧客の実行ファイルJFLの版名つまり最新バージョン名、緊急度、適用予定日、および担当者に関する情報を取得する。各顧客の業務用システムに通信回線を介してアクセスし、現在使用されている実行ファイルJFLのバージョンつまり現行バージョン名の情報を取得する。各顧客の最新バージョンと現行バージョンとのバージョンの差(以下、「蓄積数」と記載する。)の情報を取得する。蓄積数は、現行バージョンと最新バージョンとの間にその顧客の実行ファイルJFLのバージョンアップが何回行われたかをチェックすることによって求められる。例えば、両者の間に1回もバージョンアップが行われていない場合は「1」である。2回行われている場合は「3」である。または、両者が同一のバージョンである場合は「0」である。
そして、取得したこれらの情報を顧客ごとに纏めることによってアプリケーション提供状況画面HG1を生成し、ディスプレイ10eに表示させる。
緊急度、適用予定日、および担当者は、空欄の場合がある。担当者は、アプリケーション提供状況画面HG1が表示されている状態で、入力装置10fを操作することによってこれらの情報を入力することができる。入力された情報は、その顧客の最新版の実行ファイルJFLのファイル属性情報74に書き込まれる。例えば、会社甲に対応する行に入力された場合は、その情報が会社甲の最新版の実行ファイルJFLのファイル属性情報74に書き込まれる。なお、既に入力されている情報を修正することもできる。
また、提供状況閲覧処理部126は、機能更新履歴一覧画面HG2を次のように生成しディスプレイ10eに表示させる。担当者は、アプリケーション提供状況画面HG1に示される顧客の中から詳細を知りたい顧客を、その顧客名の上をダブルクリックするなどして選択する。
すると、提供状況閲覧処理部126は、その顧客のすべての版の実行ファイルJFLのファイル属性情報74をアプリケーション格納部DB4から呼び出し、これらのファイル属性情報74から、各版の実行ファイルJFLの識別子、版名(バージョン名)、関連識別子、更新機能名、および緊急度の情報を取得する。さらに、その更新機能名に係る機能がどのような理由でバージョンアップされたのか、すなわち、更新理由を、その機能の機能対応情報72を対応情報格納部DB2(図3参照)より検索して取得する。
そして、これらの取得した情報を版ごとに纏めることによって機能更新履歴一覧画面HG2を生成し、ディスプレイ10eに表示させる。
そのほか、提供状況閲覧処理部126は、機能更新履歴一覧画面HG2の中からいずれかの識別子または関連識別子がダブルクリックされるなどして選択されると、それを「識別子」フィールドに示すファイル属性情報74をアプリケーション格納部DB4(図7参照)の中から呼び出し、そのファイル属性情報74の内容を示すファイル属性画面を生成し、ディスプレイ10eに表示させる。
図10はカスタムメードのアプリケーションを生成する際のアプリケーション生成装置1の処理の流れの例を説明するフローチャート、図11は生成済のアプリケーションをバージョンアップする際の処理の流れの例を説明するフローチャートである。
次に、アプリケーション生成装置1の全体的な処理の流れを、フローチャートを参照して説明する。
新規の顧客のためのアプリケーションを生成する場合は、担当者は、その顧客にとって必要な機能をその顧客の定義情報73(図4参照)に予め設定しておく。複数の版を有する機能については、適用する版も設定しておく。
図10のフローチャートにおいて、アプリケーション生成装置1は、目的の顧客を選択し(#11)、その顧客にとって必要な機能およびその版をその顧客の定義情報73に基づいて特定する(#12)。
特定した版の機能のために必要な構成用ファイルKFLを、その機能の機能対応情報72(図3参照)に基づいてモジュールファイル等格納部DB1から抽出する(#13)。プロジェクトファイルPFLをプロジェクトファイル格納部DB0から抽出し、そのソースの編集を行う(#14)。ソースを編集する処理の内容は、前に図5で説明した通りである。
編集したソースを、抽出した構成用ファイルKFLなどを用いてコンパイルすることによって、目的の顧客のアプリケーションである実行ファイルJFLを生成する(#15)。そして、生成した実行ファイルJFLとそのファイル属性情報74とをアプリケーション格納部DB4に格納する(#16)。
顧客の業務用システムに導入済のアプリケーション(実行ファイルJFL)から障害が発見された場合または顧客から性能の向上の要望があった場合は、アプリケーション生成装置1は、図11のフローチャートのような手順で、その実行ファイルJFLを生成し直す。さらに、その実行ファイルJFLの類似ファイルも生成し直す。
担当者は、障害または要望に関係する機能を見つけ、その機能の構成用ファイルKFLを作成し直すなどの作業を行う。
すると、アプリケーション生成装置1は、その構成用ファイルKFLをモジュールファイル等格納部DB1に格納させるとともに(図11の#21)、その機能の版が最新版になるようにその顧客の定義情報73(図4参照)を編集し(#22)、その機能およびその構成用ファイルKFLに関する情報が反映されるようにその機能の機能対応情報72を編集する(#23)。
編集された機能対応情報72および定義情報73などに基づいて、図10のステップ#12〜#15と同様の方法で、実行ファイルJFLを生成し直す(#24〜#27)。すなわち、編集された定義情報73に基づいてその顧客にとって必要な機能およびその版を特定し(#24)、その版の機能のために必要な構成用ファイルKFLを、各機能の機能対応情報72に基づいてモジュールファイル等格納部DB1から抽出する(#25)。プロジェクトファイルPFLをプロジェクトファイル格納部DB0から抽出し、そのソースの編集を行う(#26)。編集したソースをコンパイルすることによって実行ファイルJFLを再生成する(#27)。
そして、再生成した実行ファイルJFLとそのファイル属性情報74とをアプリケーション格納部DB4に格納する(#28)。
さらに、再生成した実行ファイルJFLの類似ファイルを判別する(#29)。類似ファイルが存在していれば(#30でYes)、類似ファイルに係る顧客の定義情報73を、今回ステップ#21でバージョンアップされた機能の版が適用されるように更新(編集)する(#31)。
そして、その類似ファイル(実行ファイルJFL)を、ステップ#24〜#27と同様の方法で再生成し(#32〜#35)、ファイル属性情報74とともにアプリケーション格納部DB4に格納する(#36)。
また、本フローチャートの処理によって再生成した実行ファイルJFL同士を互いに関連付けるために、これらの実行ファイルJFLのファイル属性情報74の関連識別子の欄に互いの識別子を書き込んでおく(#37)。
図7の例では、ファイル属性情報74b、74dは、「会社甲」向けの「2005年10月18日」版の新たなアプリケーションが作成され「機能Fa」が「版2」へ変更されたことに伴って「会社乙」向けの新たなアプリケーションとして「2005年10月18日」版が作成されたことを示している。より具体的には、ファイル属性情報74bの関連識別子の欄には、識別子「1018002」が書き込まれているが、これは、ファイル属性情報74bに係るアプリケーション(つまり「会社甲」向けの新たなアプリケーション)が識別子「1018002」のアプリケーション(つまり「会社乙」向けの新たなアプリケーション)に関連している、ということを意味する。同様に、ファイル属性情報74dの関連識別子の欄には、識別子「1018001」が書き込まれているが、これは、ファイル属性情報74dに係るアプリケーション(つまり「会社乙」向けの新たなアプリケーション)が識別子「1018001」のアプリケーション(つまり、「会社甲」向けの新たなアプリケーション)に関連している、ということを意味する。なお、上述の例ではファイル属性情報74b、74dの双方の関連識別子の欄に互いの識別子を関連付けたが、一方の属性情報の関連識別子の欄にのみ関連する識別子を格納し、もう一方の属性情報の関連識別子の欄には何も記録しないようにしてもよい。
本実施形態によると、構成用ファイルKFLが更新されることによって機能がバージョンアップされると、その機能を有する実行ファイルJFLを容易に見つけ出すことができる。よって、カスタムメードのアプリケーションのメンテナンスの手間を従来よりも軽減することができる。
本実施形態では、ある機能がバージョンアップされたら、その機能を有する実行ファイルJFLを再生成する処理を自動的に開始したが、それらの実行ファイルJFLの一覧を担当者に対して提示し、担当者が選択した実行ファイルJFLのみを再生成するようにしてもよい。
図12ないし図14は条件文を含むソースの編集前後の例を示す図である。本実施形態では、図6で説明したように、不要な機能のための構成用ファイルKFLの識別コードおよびその引数などをプロジェクトファイルPFLのソースから削除しただけであったが、その識別コードに関連付けられている他のコードも一緒に削除したほうがよい場合がある。
例えば、図12〜図14において、不要な機能のための構成用ファイルKFLの識別コードが「CCCC(引数)」であったとする。このような場合において、図12(a)のように「#If Y=0 Then〜Endif」のような条件文に関連付けられている場合は、図12(b)のように、この条件文ごと削除する。図13(a)のように入れ子になっている条件文に関連付けられている場合も同様に、その識別コードをその条件文とともに削除する。その結果残った条件文に意味がなくなった場合(つまり、図13(a)において「X=0」であるか否かの判断の必要がなくなった場合は、図13(b)のように、その条件文をも削除する。
Select文およびFor−Next文などの他の条件文の場合も同様である。ただし、図14(a)のように、その条件文が必要な機能のための構成用ファイルKFLにも関連する場合は、図14(b)のように、その条件文は残しておく。
本実施形態では、1つの実行ファイルJFLを生成することによって目的のアプリケーションを生成したが、複数のファイルを生成することによって目的のアプリケーションを生成する場合もある。
本発明は、Visual Basicのほか、C++言語およびサンマイクロシステムズ社のJavaなどの言語にも適用可能である。
その他、アプリケーション生成装置1の全体または各部の構成、処理内容、処理順序、テーブルの内容などは、本発明の趣旨に沿って適宜変更することができる。
上に述べた実施例には、以下に述べるような付記も開示されている。
(付記1)
要求者からの要求に応じて生成されたカスタムメードのアプリケーションのメンテナンスを支援するアプリケーションメンテナンス支援装置であって、
前記アプリケーションごとに、当該アプリケーションによって実現される機能を示す機能構成情報を記憶する、機能構成情報記憶手段と、
いずれかの機能に係るプログラムが更新された場合に、前記各アプリケーションの中から生成し直すべきものを前記各機能構成情報に基づいて判別する、要再生成アプリケーション判別手段と、
を有することを特徴とするアプリケーションメンテナンス支援装置。
(付記2)
要求者からの要求に応じてカスタムメードのアプリケーションを生成するアプリケーション生成装置であって、
所定の機能ごとに、当該所定の機能を実現するためのプログラムを記憶するプログラム記憶手段と、
前記アプリケーションを、当該アプリケーションを要求した要求者にとって必要な前記所定の機能の前記プログラムを使用して生成する、アプリケーション生成手段と、
前記所定の機能の前記プログラムが更新された場合に、当該所定の機能を有する前記アプリケーションを生成し直すべきであると判別する、要再生成アプリケーション判別手段と、
を有することを特徴とするアプリケーション生成装置。
(付記3)
前記アプリケーション生成手段は、生成し直すべきであると判別された前記アプリケーションを、更新された前記プログラムを使用して再生成する、
付記2記載のアプリケーション生成装置。
(付記4)
前記所定の機能がすべて実現可能となるように前記プログラムが実行されるようにコーディングされた、汎用的なアプリケーションである汎用アプリケーションのソースを記憶する、ソース記憶手段、を有し、
前記アプリケーション生成手段は、前記汎用アプリケーションのソースを、前記所定の機能のうちの要求者にとって不要な機能に係る前記プログラムを実行させるためのコードを削除することによって編集し、当該編集したソースをコンパイルすることによって、前記アプリケーションを生成する、
付記2または付記3記載のアプリケーション生成装置。
(付記5)
前記アプリケーション生成手段によって生成された前記アプリケーションを識別する識別子と当該アプリケーションを要求した要求者とを示すアプリケーション属性情報を記憶するアプリケーション属性情報記憶手段と、
要求者のシステムにおいて現在適用されている前記アプリケーションの前記識別子を示す現行アプリケーション情報を取得する現行アプリケーション情報取得手段と、
前記アプリケーション属性情報および前記現行アプリケーション情報に基づいて、特定の要求者のために生成された最新の前記アプリケーションの前記識別子および当該要求者のシステムにおいて現在適用されている前記アプリケーションの前記識別子を知らせるためのアプリケーション状況画面をディスプレイに表示させる処理を行う、アプリケーション状況画面表示処理手段と、を有する、
付記3記載のアプリケーション生成装置。
(付記6)
前記アプリケーションの前記アプリケーション属性情報には、当該アプリケーションをどれくらい緊急に当該アプリケーションの要求者のシステムに適用すべきかを表わす緊急度および当該アプリケーションを当該システムに適用させるべき担当者が示され、
前記アプリケーション状況画面表示処理手段は、前記アプリケーション状況画面として、前記特定の要求者のために生成された最新の前記アプリケーションの前記識別子とともに当該アプリケーションの前記緊急度および前記担当者を知らせるアプリケーション状況画面を表示させる、
付記4記載のアプリケーション生成装置。
(付記7)
要求者からの要求に応じて生成されたカスタムメードのアプリケーションのメンテナンスを支援するアプリケーションメンテナンス支援方法であって、
前記アプリケーションごとに当該アプリケーションによって実現される機能を示す機能構成情報を機能構成情報記憶手段に記憶させておき、
いずれかの機能に係るプログラムが更新された場合に、前記各アプリケーションの中から生成し直すべきものを前記各機能構成情報に基づいて判別する
ことを特徴とするアプリケーションメンテナンス支援方法
(付記8)
要求者からの要求に応じて生成されたカスタムメードのアプリケーションのメンテナンスを支援するコンピュータに用いられるコンピュータプログラムであって、
前記コンピュータに、
いずれかの機能に係るプログラムが更新された場合に、前記アプリケーションごとの、当該アプリケーションによって実現される機能を示す機能構成情報を、機能構成情報記憶手段から呼び出す処理を実行させ、
前記各アプリケーションの中から生成し直すべきものを、呼び出した前記各機能構成情報に基づいて判別する処理を実行させる、
ことを特徴とするコンピュータプログラム。
アプリケーション生成装置の外観の例およびハードウェア構成の例を示す図である。 アプリケーション生成装置の機能的構成の例を示す図である。 対応情報格納部の例を示す図である。 定義情報格納部の例を示す図である。 ソース編集処理の流れの例を説明するフローチャートである。 編集前後のソースの例を示す図である。 アプリケーション格納部の例を示す図である。 アプリケーション提供状況画面の例を示す図である。 機能更新履歴一覧画面の例を示す図である。 カスタムメードのアプリケーションを生成する際のアプリケーション生成装置の処理の流れの例を説明するフローチャートである。 生成済のアプリケーションをバージョンアップする際の処理の流れの例を説明するフローチャートである。 条件文を含むソースの編集前後の例を示す図である。 条件文を含むソースの編集前後の例を示す図である。 条件文を含むソースの編集前後の例を示す図である。
符号の説明
1 アプリケーション生成装置(アプリケーションメンテナンス支援装置)
105 コンパイル処理部(アプリケーション生成手段)
123 類似ファイル判別部(要再生成アプリケーション判別手段)
73 定義情報(機能構成情報)
DB1 モジュールファイル等格納部(プログラム記憶手段)
DB3 定義情報格納部(機能構成情報記憶手段)
JFL 実行ファイル(カスタムメードのアプリケーション)
KFL 構成用ファイル(プログラム)

Claims (5)

  1. 要求者からの要求に応じて生成されたカスタムメードのアプリケーションのメンテナンスを支援するアプリケーションメンテナンス支援装置であって、
    前記アプリケーションごとに、当該アプリケーションによって実現される機能を示す機能構成情報を記憶する、機能構成情報記憶手段と、
    いずれかの機能に係るプログラムが更新された場合に、前記各アプリケーションの中から生成し直すべきアプリケーションを前記各機能構成情報に基づいて判別する、要再生成アプリケーション判別手段と、
    を有することを特徴とするアプリケーションメンテナンス支援装置。
  2. 要求者からの要求に応じてカスタムメードのアプリケーションを生成するアプリケーション生成装置であって、
    所定の機能ごとに、当該所定の機能を実現するためのプログラムを記憶するプログラム記憶手段と、
    前記アプリケーションを、当該アプリケーションを要求した要求者にとって必要な前記所定の機能の前記プログラムを使用して生成する、アプリケーション生成手段と、
    前記所定の機能の前記プログラムが更新された場合に、当該所定の機能を有する前記アプリケーションを生成し直すべきであると判別する、要再生成アプリケーション判別手段と、
    を有することを特徴とするアプリケーション生成装置。
  3. 前記アプリケーション生成手段は、生成し直すべきであると判別された前記アプリケーションを、更新された前記プログラムを使用して再生成する、
    請求項2記載のアプリケーション生成装置。
  4. 要求者からの要求に応じて生成されたカスタムメードのアプリケーションのメンテナンスを支援するアプリケーションメンテナンス支援方法であって、
    前記アプリケーションごとに当該アプリケーションによって実現される機能を示す機能構成情報を機能構成情報記憶手段に記憶させておき、
    いずれかの機能に係るプログラムが更新された場合に、前記各アプリケーションの中から生成し直すべきものを前記各機能構成情報に基づいて判別する
    ことを特徴とするアプリケーションメンテナンス支援方法
  5. 要求者からの要求に応じて生成されたカスタムメードのアプリケーションのメンテナンスを支援するコンピュータに用いられるメンテナンス支援プログラムであって、
    前記コンピュータに、
    いずれかの機能に係るプログラムが更新された場合に、前記アプリケーションごとの、当該アプリケーションによって実現される機能を示す機能構成情報を、機能構成情報記憶手段から呼び出す処理を実行させ、
    前記各アプリケーションの中から生成し直すべきものを、呼び出した前記各機能構成情報に基づいて判別する処理を実行させる、
    ことを特徴とするメンテナンス支援プログラム。

JP2006049320A 2006-02-24 2006-02-24 アプリケーションメンテナンス支援装置、アプリケーション生成装置、アプリケーションメンテナンス支援方法、およびコンピュータプログラム Pending JP2007226685A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006049320A JP2007226685A (ja) 2006-02-24 2006-02-24 アプリケーションメンテナンス支援装置、アプリケーション生成装置、アプリケーションメンテナンス支援方法、およびコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006049320A JP2007226685A (ja) 2006-02-24 2006-02-24 アプリケーションメンテナンス支援装置、アプリケーション生成装置、アプリケーションメンテナンス支援方法、およびコンピュータプログラム

Publications (1)

Publication Number Publication Date
JP2007226685A true JP2007226685A (ja) 2007-09-06

Family

ID=38548423

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006049320A Pending JP2007226685A (ja) 2006-02-24 2006-02-24 アプリケーションメンテナンス支援装置、アプリケーション生成装置、アプリケーションメンテナンス支援方法、およびコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP2007226685A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010231808A (ja) * 2010-06-16 2010-10-14 Autonetworks Technologies Ltd プログラム変更方法及びコンピュータプログラム
JP2010250451A (ja) * 2009-04-14 2010-11-04 Hitachi Systems & Services Ltd ツール管理方法、ツール管理プログラム、および、ツール管理システムに用いられるツール提供センタ
JP2012068831A (ja) * 2010-09-22 2012-04-05 Canon Inc 情報処理装置および該装置におけるプログラム更新方法
US8782672B2 (en) 2008-07-30 2014-07-15 Autonetworks Technologies, Ltd. Control apparatus, control method, and recording medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0342718A (ja) * 1989-07-11 1991-02-22 Nec Corp 機能選択形編集プログラム生成方式
JPH0561660A (ja) * 1991-09-05 1993-03-12 Fujitsu Ltd 部品変更時のプログラム再合成処理装置
JP2003337697A (ja) * 2002-05-20 2003-11-28 Ul Systems Inc ビジネスシステムの開発システムおよびビジネスシステムの開発方法
JP2004304819A (ja) * 2004-04-22 2004-10-28 Matsushita Electric Ind Co Ltd ソフトウェアダウンロード端末

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0342718A (ja) * 1989-07-11 1991-02-22 Nec Corp 機能選択形編集プログラム生成方式
JPH0561660A (ja) * 1991-09-05 1993-03-12 Fujitsu Ltd 部品変更時のプログラム再合成処理装置
JP2003337697A (ja) * 2002-05-20 2003-11-28 Ul Systems Inc ビジネスシステムの開発システムおよびビジネスシステムの開発方法
JP2004304819A (ja) * 2004-04-22 2004-10-28 Matsushita Electric Ind Co Ltd ソフトウェアダウンロード端末

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8782672B2 (en) 2008-07-30 2014-07-15 Autonetworks Technologies, Ltd. Control apparatus, control method, and recording medium
JP2010250451A (ja) * 2009-04-14 2010-11-04 Hitachi Systems & Services Ltd ツール管理方法、ツール管理プログラム、および、ツール管理システムに用いられるツール提供センタ
JP2010231808A (ja) * 2010-06-16 2010-10-14 Autonetworks Technologies Ltd プログラム変更方法及びコンピュータプログラム
JP2012068831A (ja) * 2010-09-22 2012-04-05 Canon Inc 情報処理装置および該装置におけるプログラム更新方法

Similar Documents

Publication Publication Date Title
US6493661B1 (en) Reusable multi-language support facility for software
EP0664027B1 (en) Program modeling system
JP4195479B2 (ja) インクリメンタル生成システム
US5956513A (en) System and method for automated software build control
US5673390A (en) Method and system for displaying error messages
US20160170719A1 (en) Software database system and process of building and operating the same
JP5967603B2 (ja) 複数の変更履歴データのうちからソースコード中の変更内容を探索するための方法、並びに、そのコンピュータ及びコンピュータ・プログラム
CN108762743B (zh) 一种数据表操作代码生成方法及装置
CA2144875A1 (en) Incremental linker system
US20030120707A1 (en) Systems and methods for exporting functionality of a modularized system
US8701086B2 (en) Simplifying analysis of software code used in software systems
JP6845429B2 (ja) コンパイラプログラム、情報処理装置およびコンパイル方法
JP2007226685A (ja) アプリケーションメンテナンス支援装置、アプリケーション生成装置、アプリケーションメンテナンス支援方法、およびコンピュータプログラム
JPH0749776A (ja) ソフトウェア再利用方法
JP2007011507A (ja) プログラムツリーの表示方法、およびプログラム生成システム
CN107902507B (zh) 控制软件现场调试系统以及调试方法
US7512899B1 (en) Method and apparatus for a unified user interface
EP1883011A1 (en) System and methods for generating runtime messages
CN112181483B (zh) 等离子体控制系统软件开发平台及方法
JP2007226358A (ja) アプリケーション生成装置、アプリケーション生成方法、およびアプリケーション生成プログラム
JP4939007B2 (ja) システム設計支援プログラム
JPH10149301A (ja) スクリプト作成装置
US20080022258A1 (en) Custom database system and method of building and operating the same
CN109019217B (zh) 一种电梯控制软件现场调试系统
JP2000207246A (ja) デバッグ支援装置及び方法並びにデバッグ支援用ソフトウェアを記録した記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081020

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110621

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110906

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120104