"設計書に基づいてコンピュータプログラムを生成するプログラム生成部と、前記設計書と、前記設計書から生成されるコンピュータプログラムとにバージョン番号を付与して対応付けて管理する設計書制御部と、前記バージョン番号と、前記コンピュータプログラムが実行されるターゲット機器とが特定されると、前記バージョン番号に対応する前記コンピュータプログラムを、前記ターゲット機器にインストールするターゲット機器制御部と、を有し、前記設計書制御部は、バージョン番号が指定されると、前記指定されたバージョン番号に対応する設計書をチェックアウトし、前記設計書が修正されてチェックインされると、前記修正された設計書に前記バージョン番号とは異なる新たなバージョン番号を付与するプログラム管理装置。前記設計書制御部は、ターゲット機器が指定されると、前記指定されたターゲット機器にインストールされているコンピュータプログラムのバージョン番号に対応する設計書をチェックアウトすることを特徴とする請求項1記載のプログラム管理装置。前記設計書は、当該設計書の重要度を示す設計書レベルを有し、当該プログラム管理装置にアクセス可能なユーザのアクセスレベルを管理するアクセス制御部を更に備え、前記設計書制御部は、第1のユーザから設計書のチェックアウト又はチェックインの指示を受けると、前記第1のユーザのアクセスレベルと、前記指示された設計書の設計書レベルとを比較し、前記第1のユーザのアクセスレベルが前記設計書レベル以下である場合、前記設計書レベルよりも大きいアクセスレベルを有する第2のユーザへの問い合わせ結果に基づき、前記第1のユーザに対してチェックイン又はチェックアウトを実行することを特徴とする請求項2記載のプログラム管理装置。前記設計書制御部は、前記設計書レベルと前記アクセスレベルとの比較において、前記設計書レベルに重み付けを行うことができ、前記チェックインが指示された設計書の設計書レベルに対する重み付けを、前記チェックアウトが指示された前記設計書の設計レベルに対する重み付けよりも大きくすることを特徴とする請求項3記載のプログラム管理装置。コンピュータプログラムを管理するプログラム管理方法において、設計書に基づいてコンピュータプログラムを生成し、前記設計書と、前記設計書から生成されるコンピュータプログラムとにバージョン番号を付与して対応付けて管理し、前記バージョン番号と、前記コンピュータプログラムが実行されるターゲット機器とが特定されると、前記バージョン番号に対応する前記コンピュータプログラムを、前記ターゲット機器にインストールするプログラム管理方法。コンピュータプログラムを管理するコンピュータプログラムであって、コンピュータに実行されると、設計書に基づいてコンピュータプログラムを生成し、前記設計書と、前記設計書から生成されるコンピュータプログラムとにバージョン番号を付与して対応付けて管理し、前記バージョン番号と、前記コンピュータプログラムが実行されるターゲット機器とが特定されると、前記バージョン番号に対応する前記コンピュータプログラムを、前記ターゲット機器にインストールするコンピュータプログラム。一般的に、同じ機器では同じプログラムが実行される。しかしながら、同じ機器であっても、機器の納入先が異なる場合、又は機器の用途が多少異なる場合、それに対応するために、機器毎にプログラムを修正又はカスタマイズすることがある。このとき、各機器と修正内容を正しく把握していないと、その機器を使用した時に大きな問題が発生してしまう。本発明の目的は、設計書及びプログラムと、そのプログラムが実行される機器との対応関係とを管理するプログラム管理装置を提供することにある。本発明の別の目的は、設計書及びプログラムに施された修正と、そのプログラムが実行される機器との対応関係とを、適切に管理するプログラム管理装置を提供することにある。本発明の一つの実施態様に従うプログラム管理装置は、設計書に基づいてコンピュータプログラムを生成するプログラム生成部と、設計書と、設計書から生成されるコンピュータプログラムとにバージョン番号を付与して対応付けて管理する設計書制御部と、バージョン番号と、コンピュータプログラムが実行されるターゲット機器とが特定されると、バージョン番号に対応する前記コンピュータプログラムを、ターゲット機器にインストールするターゲット機器制御部とを有し、設計書制御部は、バージョン番号が指定されると、指定されたバージョン番号に対応する設計書をチェックアウトし、設計書が修正されてチェックインされると、修正された設計書にバージョン番号とは異なる新たなバージョン番号を付与する。好適な実施形態では、前記設計書制御部は、ターゲット機器が指定されると、指定されたターゲット機器にインストールされているコンピュータプログラムのバージョン番号に対応する設計書をチェックアウトしてもよい。本実施形態では、以下に述べるように、設計書と、プログラムと、そのプログラムが実行される機器との対応関係とを、適切に管理及び提示する。図1は、本発明の一実施形態に係るプログラム管理システムの模式図である。プログラム管理システム1は、ユーザが操作可能な第1ユーザ機器2及び第2ユーザ機器3と、プログラムを管理するプログラム管理装置5と、プログラムが実行されるターゲット機器4とを備える。ユーザ機器2,3と、プログラム管理装置5と、ターゲット機器4は、データを双方向に伝送可能な通信ネットワーク以下ネットワークというで接続されている。例えば、ユーザ機器2,3とプログラム管理装置5は、第1ネットワーク6aで接続されている。ターゲット機器4とプログラム管理装置5は、第2ネットワーク6bで接続されている。ユーザ機器2,3及びターゲット機器4は、1台であっても複数台であってもよい。第1ネットワーク6aと第2ネットワーク6bは、1つのネットワークであってもよい。第1ユーザ機器2は、例えば、プログラムの開発者が、設計書及びプログラム等を作成したり、カスタマイズしたり、デバッグしたりする際に使用する計算機である。第2ユーザ機器3は、例えば、プログラムの開発責任者が、プログラム開発者等から受ける各種要求例えば、後述するチェックイン要求、又はチェックアウト要求に対して、許可又は拒否等の回答を返す際に使用する計算機である。チェックアウトとは、例えば、プログラムの開発者が、修正したい設計書又はプログラム等を、プログラム管理装置5から取得することを意味する。チェックインとは、例えば、プログラムの開発者が、修正又は作成した設計書又はプログラム等を、プログラム管理装置5に登録することを意味する。或るプログラム開発者がチェックアウト中の設計書又はプログラムはロックされ、他のプログラム開発者がチェックアウトできないようにしてもよい。ユーザ機器2,3は、例えば、CPUCentralProcessingUnit、メモリ、記憶装置、及び通信インタフェース以下I/Fという等を備える一般的な計算機から構成される。ターゲット機器4は、開発されたプログラムを実行して、各種機能を実現する。本実施例におけるターゲット機器4は、鉄道用信号機以下信号機というとする。なお、同じ種類のターゲット機器4であっても、必ずしも同じプログラムがインストールされるとは限らない。例えば、同じ信号機であっても、納品する鉄道会社、又は信号機を設置する場所等によって、プログラムが部分的に異なる場合がある。プログラム管理装置5は、設計書とプログラムとターゲット機器4との対応関係を管理する。プログラム管理装置5は、設計書とプログラムに、対応関係を有するバージョン番号を付与して管理する。プログラム管理装置5は、設計書から半自動的にプログラムを生成する。プログラム管理装置5は、その生成したプログラムを、インストール先のターゲット機器4向けにビルドコンパイルする。プログラム管理装置5は、そのビルドしたプログラムをターゲット機器4にインストールする。プログラム管理装置5は、自装置が管理する設計書及びプログラム等にアクセス可能なユーザを管理する。プログラム管理装置5は、設計書又はプログラムのチェックイン又はチェックアウト等を処理する。プログラム管理装置5の詳細については後述する。図2は、プログラム管理装置の物理構成を示すブロック図である。プログラム管理装置5は、例えば、CPU11と、メモリ12と、記憶装置13と、第1通信I/F14と、第2通信I/F15とを備え、各要素11~15は、双方向にデータ通信可能なバス16で接続されている。CPU11は、プログラムに含まれる処理を実行し、後述する各種機能を実現する。CPU11は、記憶装置13からプログラムを読み出して実行する。メモリ12は、CPU11によってプログラムが実行される際に必要なデータを一時的に保持する。メモリ12は、例えばDRAMDynamicRandomAccessMemory等で構成される。記憶装置13は、プログラム、及び、プログラムが実行される際に必要なデータ等を永続的に保持する。記憶装置13は、例えば、HDDHardDiskDrive、又はフラッシュメモリ12等で構成される。第1通信I/F14は、第1ネットワーク6aに接続され、ユーザ機器2,3とのデータの送受信を制御する。第1通信I/F14は、例えば、Ethernet登録商標用NICNetworkInterfaceCard等で構成される。第2通信I/F15は、第2ネットワーク6bに接続され、ターゲット機器4とのデータの送受信を制御する。第2通信I/F15は、例えば、Ethernet登録商標用NIC、又はシリアルバス通信用ボード等で構成される。図3は、プログラム管理装置の機能構成を示すブロック図である。プログラム管理装置5は、例えば、プログラム生成部21と、設計書制御部22と、ターゲット機器制御部23と、アクセス制御部24と、ビルド部25と、設計書管理部26と、ターゲット機器管理部27と、アクセス管理テーブル28とを有する。プログラム生成部21は、開発者によって作成された設計書に基づき、所定のフォーマットに基づいて記述される中間情報を生成する。そして、プログラム生成部21は、その中間情報に基づいて、対応するプログラムを半自動的に生成する。以下、図4~図8を用いて、上記の設計書、中間情報、及びプログラムについて具体的に説明する。図4は、信号機のオブジェクト設計書41の一例である。オブジェクト設計書41は、データ設計書42の項目を定義する。オブジェクト設計書41は、例えば、オブジェクト番号と、オブジェクト名と、設計書レベルと、属性番号と、属性名と、識別キーと、必須キーと、データ型と、データサイズとを有する。オブジェクト番号は、当該オブジェクト設計書41を一意に識別可能な番号である。オブジェクト名は、当該オブジェクト設計書41の名称である。設計書レベルは、当該オブジェクト設計書41の重要度を示す。重要度は、この設計書を変更した場合に、プログラム全体又は社会全体に与える影響の大きさ等に基づいて設定される。本実施例では、この値が大きいほど、この設計書の重要度が大きいとする。属性番号は、当該オブジェクト設計書41に基づいて生成されるデータのとり得る各属性を一意に識別可能な番号である。属性名は、当該オブジェクト設計書41に基づいて生成されるデータのとり得る各属性の名称である。識別キーは、当該オブジェクト設計書41に基づいて生成されるデータにおいて、各データを識別するために用いられる属性を示すキーである。例えば、オブジェクト設計書41において、識別キーの○印は、駅名と設備名なので、各データは駅名と設備名の属性値によって識別される。必須キーは、当該オブジェクト設計書41に基づいて生成されるデータにおいて、必須の属性を示す。例えば、オブジェクト設計書41において、必須キーの○印は、駅名と設備名と表示状態と故障有無なので、各データは全ての属性を必須とする。データ型は、属性値がとり得るデータの型を示す。例えば、オブジェクト設計書41において、駅名及び設備名のデータ型は文字列であるので、駅名及び設備名の属性がとり得る属性値は文字列である。同様に、表示状態の属性がとり得る属性値は選択値であり、故障有無の属性がとり得る属性値は真偽値である。データサイズは、属性値がとり得るデータのサイズを示す。例えば、オブジェクト設計書41において、駅名及び設備名の属性がとり得る属性値のデータサイズは8文字である。図5は、信号機のデータ設計書42の一例である。データ設計書42は、データの項目を定義する。データ設計書42は、オブジェクト設計書41よって定義される。データ設計書42は、例えば、オブジェクト番号と、オブジェクト名と、データ設計書レベルと、データ番号と、駅名と、設備名と、表示状態と、故障有無を有する。オブジェクト番号とオブジェクト名には、当該データ設計書42の項目を定義するオブジェクト設計書41のオブジェクト番号とオブジェクト名と同じ値が設定される。設計書レベルは、当該データ設計書42の重要度を示す。データ番号は、当該データ設計書42に基づいて生成される各データを一意に識別可能な番号である。駅名、設備名、表示状態、及び故障有無は、オブジェクト設計書41の属性名と対応する。駅名は、各データが使用される信号機が設置される駅の名称である。設備名は、当該データが使用される信号機が設置される方向上り方面か下り方面かを示す名称である。表示状態は、当該データが使用される信号機における、或る時点の信号の表示の状態を示す。或る時点の信号の表示はその時々で異なり得るので、表示状態の属性値は可変とする。故障有無は、当該データが使用される信号機において、或る時点の故障の有無の状態を示す。或る時点の故障の有無の状態はその時々で異なり得るので、故障有無の属性値は可変とする。図5のデータ設計書42に基づいて生成されるデータ番号1のデータは、属性名駅名に対する属性値東京、属性名設備名に対する属性値上りを有する。オブジェクト設計書41によって駅名と設備名は識別キーと定義されているので、データ番号1のデータは、東京駅と上りの2つの属性値の組み合わせによって識別される。図6は、動作設計書43の一例である。動作設計書43は、データ設計書42の或る属性における動作条件を定義する。動作設計書43は、アクター番号と、アクター名称と、条件番号と、設計書レベルと、条件名と、条件内容と、実行内容とを有する。アクター番号は、当該動作設計書43を一意に識別可能な番号である。アクター名は、当該動作設計書43の名称である。設計書レベルは、当該動作設計書43の重要度を示す。条件番号は、当該動作設計書43に基づいて生成される各動作条件を一意に識別可能な番号である。条件内容は、各動作条件が有する条件の内容である。実行内容は、各動作条件において、条件内容が満たされた場合に実行される内容である。例えば、条件番号1の動作条件は、条件名が先行列車有であり、保護区間に先行列車が在線しており、且つ、故障有無が無の場合、信号機の表示状態を注意とすることを示す。ここで、保護区間とは、路線において所定の間隔で区切られた区間である。一般的に、保護区間に存在し得る列車の数は予め決められている。列車の追突事故を防止するためである。図7は、各設計書から生成される中間情報の一例である。プログラム生成部21は、オブジェクト設計書41からオブジェクト中間情報51を生成する。プログラム生成部21は、データ設計書42からデータ中間情報52を生成する。プログラム生成部21は、動作設計書43から動作中間情報53を生成する。中間情報は、所定のフォーマットで記載される。所定のフォーマットとは、例えば、XMLeXtensibleMarkupLanguage等である。図8は、中間情報から生成されるプログラムの一例である。プログラム生成部21は、オブジェクト中間情報51、データ中間情報52、及び動作中間情報53に基づいて、プログラムソースコードを半自動的に生成する。プログラムは、例えば、C言語又はJava登録商標言語等のプログラム言語で記述される。図3の説明に戻る。設計書制御部22は、各設計書と、それら設計書から生成されるプログラムとに、対応関係を有するバージョン番号を付与し、設計書管理テーブル26に登録する。設計書制御部22は、設計書が修正された場合、その修正された設計書以下修正設計書というと、その修正設計書から生成されるプログラム以下修正プログラムというとに対して、新たなバージョン番号を付与し、設計書管理テーブル26に登録する。図9は、設計書管理テーブル26の一例である。設計書管理テーブル26は、修正番号と、設計書名と、修正前バージョン番号と、修正後バージョン番号と、修正差分と、修正内容とを有する。修正番号は、設計書の修正を一意に識別可能な番号である。複数の設計書が同じ目的で修正された場合は、同じ修正番号が付与される。例えば、或る1つの不具合を修正するために複数の設計書が修正された場合、同じ修正番号が付与される修正番号1参照。設計書名は、修正された設計書の名称である。修正前バージョン番号は、修正される前の設計書のバージョン番号である。修正後バージョン番号は、修正後の設計書に付与されたバージョン番号である。修正差分は、修正前の設計書と修正後の設計書との差分である。すなわち、設計書において修正された部分を示す。修正目的には、修正の目的が登録される。例えば、設計書管理テーブル26の修正番号2は、保護区間オブジェクト設計書と信号機オブジェクト設計書が修正されたことを示す。そして、信号機オブジェクト設計書のバージョン番号が1.1から1.2に更新されたことを示す。そして、信号機オブジェクト設計書は、属性番号3の内容が変更されたことを示す。図3の説明に戻る。ターゲット機器制御部23は、ターゲット機器管理テーブル27によって、ターゲット機器4を管理する。ターゲット機器制御部23は、指定されたターゲット機器4に、プログラムをインストールする。ターゲット機器制御部23は、指定されたターゲット機器4から、そのターゲット機器4にインストールされているプログラムの情報を取得する。以下、ターゲット機器管理テーブル27について説明する。図10は、ターゲット機器管理テーブル27の一例である。ターゲット機器管理テーブル27は、機器番号と、機器名と、機器アドレスとを有する。機器番号は、ターゲット機器管理テーブル27において、ターゲット機器4を一意に識別可能な番号である。機器名は、ターゲット機器4を識別する名称である。機器アドレスは、ターゲット機器4に設定されたアドレスである。機器アドレスは、例えば、IPアドレス等である。修正番号は、ターゲット機器4にインストールされているプログラムに対して施された修正の修正番号を示す。この修正番号は、バージョン管理テーブルの修正番号に対応する。例えば、ターゲット機器管理テーブル27において、機器番号1のターゲット機器4の名称はA社向けC装置であり、192.168.0.1のIPアドレスが設定されていることを示す。図3の説明に戻る。アクセス制御部24は、アクセス管理テーブル28によって、ユーザのプログラム管理装置5へのアクセス権を管理する。アクセス制御部24は、ユーザがある設計書等のチェックイン又はチェックアウト等を要求してきた場合、そのユーザのアクセスレベルに基づいて、アクセス可否を決定する。その際、アクセス制御部24は、その設計書の設計書レベルを考慮してアクセス可否を決定してもよい。さらに、アクセス制御部24は、その設計書レベルに満たないユーザからアクセス要求があった場合、その設計書の管理者又は開発責任者等にアクセス可否を問い合わせてもよい。図11は、アクセス管理テーブル28の一例である。アクセス管理テーブル28は、ユーザ番号と、ユーザ名と、アクセスレベルと、担当機器番号を有する。ユーザ番号は、アクセス管理テーブル28において、ユーザを一意に識別可能な番号である。ユーザ名は、ユーザの名称である。例えば、ユーザ名を、設計書等にアクセスする際のログイン名としてもよい。アクセスレベルは、当該ユーザがアクセス可能なレベルを示す。本実施例では、アクセスレベルが大きいユーザの方が、上位のアクセス権を有する。アクセスレベルは、設計書レベルと比較される。アクセスレベルが設計書レベル以上のユーザは、その設計書にアクセスチェックイン又はチェックアウトできる。また、アクセスレベルが設計書レベル未満のユーザは、その設計書レベル以上のユーザにアクセス許可を求めることができる。担当機器番号は、当該ユーザが担当しているターゲット機器4の機器番号である。この機器番号は、ターゲット機器管理テーブル27の機器番号に対応する。例えば、ユーザ番号1のAさんはA社向けC装置の開発メンバーであるとする。この場合、Aさんのアクセスレベルは1、機器番号は1すなわちA社向けC装置となる。そして、ユーザ番号2のBさんはA社向けC装置の開発リーダであるとする。この場合、Bさんのアクセスレベルは4、機器番号は1となる。この場合、アクセスレベル1のAさんは、設計書レベル3の設計書をチェックアウトできない。そこで、同じA社向けC装置を担当しており、且つ、設計書レベルより大きいアクセスレベルを有するBさんにチェックアウトの許可を求める。ここで、Bさんが許可した場合、Aさんはその設計書をチェックアウトできる。この処理の詳細については後述する。図12は、第1ユーザ装置に表示されるメニュー画面71の一例である。メニュー画面71は、例えば、第1ユーザ機器2に表示され、ユーザによって操作される。メニュー画面71は、新規作成ボタン、チェックアウトボタン、チェックインボタン、プログラム生成ボタン、ビルドインストールボタン、インストール確認ボタン等を有する。新規作成ボタンが押下されると、設計書の新規作成画面が表示される。チェックアウトボタンが押下されると、チェックアウト可能な設計書が表示される図13参照。チェックインボタンが押下されると、チェックイン可能な設計書が表示される。プログラム生成ボタンが押下されると、設計書に基づいて、プログラムソースコードが生成される。ビルドボタンが押下されると、指定されたターゲット機器4に合わせてプログラムがビルドコンパイルされる。そして、ビルドされたプログラムが、指定されたターゲット機器4にインストールされる。インストール確認ボタンが押下されると、指定されたターゲット機器4にインストールされているプログラムと、それに対応する設計書及び修正履歴等が表示される図15参照。図13は、チェックアウト画面72の一例である。チェックアウト画面72は、メニューからチェックアウトボタンが押下されると表示される。チェックアウト画面72は、例えば、第1ユーザ装置2に表示される。チェックアウト画面72には、選択欄と、設計書と、プログラムと、バージョン番号と、ターゲット機器とが対応付けて表示される。ユーザは、選択欄101にチェックを入れてチェックアウトしたい設計書を選択する。そして、実行ボタン102を押下すると、ユーザは、その選択した設計書を、第1ユーザ機器2に取得チェックアウトできる。ユーザは、例えば、バージョン番号の項目に表示されるバージョン番号選択ボタン103を押下し、バージョン番号を選択できる。この場合、ユーザは、ここで選択したバージョン番号の設計書をチェックアウトできる。変更後のバージョン番号に対応付けられているターゲット機器が変更前とは異なる場合、バージョン番号の変更に伴って、ターゲット機器104も変更される。一方、ユーザは、例えば、ターゲット機器名に表示されるターゲット機器選択ボタン105を押下し、ターゲット機器を選択できる。この場合、ユーザは、ここで選択したターゲット機器にインストールされているバージョン番号の設計書をチェックアウトできる。変更後のターゲット機器に対応付けられているバージョン番号が変更前とは異なる場合、ターゲット機器の変更に伴って、バージョン番号106も変更される。変更後のチェックアウト画面72を図14に示す。図14は、チェックアウト画面72の別の一例である。例えば、バージョン番号変更ボタン103を操作してバージョン番号111を1.2を1.3に変更する。すると、ターゲット機器112もA社向けC装置からB社向けC装置に変更される。例えば、ターゲット機器選択ボタン105を操作してターゲット機器113をA社向けC装置からE社向けC装置に変更する。すると、バージョン番号114も1.4から1.5に変更される。これにより、ユーザは、設計書のバージョン番号とターゲット機器4との対応関係を確認しながら、所望の設計書をチェックアウトできる。よって、ユーザが間違った設計書をチェックアウトするというミスを防止できる。図15は、第1ユーザ装置に表示されるインストール確認画面73の一例である。インストール確認画面73は、メニュー画面71からインストール確認ボタンが押下されると表示される。インストール確認画面73では、各ターゲット機器4にインストールされているプログラムのバージョン番号及び修正履歴等を一覧できる。例えば、インストール確認画面73では、A社向けC装置のプログラムには、修正番号1と3の修正が反映されていることがわかる。そして、それらの修正の内容も一目で確認できる。これにより、ユーザは、各ターゲット機器4に対する修正漏れ又は間違った修正等を容易に確認できる。インストール確認画面73には、各ターゲット機器4に対応するチェックアウトボタン121が表示されている。ユーザは、このチェックアウトボタン121を押下することにより、該当するターゲット機器4のプログラムをチェックアウトできる。これにより、誤ったターゲット機器のプログラムをチェックアウトするというミスを防止できる。図16は、設計書の修正からプログラムのインストールまでの手順を示すフローチャートである。ユーザは、第1ユーザ機器2に表示されたチェックアウト画面72を操作して、チェックアウトしたい設計書を選択し、プログラム管理装置5にチェックアウトを要求するS101。アクセス制御部24は、第1ユーザ機器2からチェックアウトの要求を受けると、その要求元のユーザのアクセス権に基づいて、各設計書のチェックアウトを許可するか否かを判断する。この判断方法については後述する。そして、アクセス制御部24によってチェックアウトが許可された場合、設計書制御部22は、チェックアウトが要求された設計書を第1ユーザ機器2に提供するS102。ユーザは、第1ユーザ機器2を操作して、チェックアウトした設計書を修正する。そして、ユーザは、修正した設計書のチェックインを要求するS103。アクセス制御部24は、第1ユーザ機器2から修正設計書のチェックインの要求を受けると、その要求元のユーザのアクセス権に基づいて、各設計書のチェックインを許可するか否かを判断する。この判断方法については後述する。そして、アクセス制御部24によってチェックインが許可された場合、設計書制御部22は、チェックインが要求された設計書を設計書管理テーブル26に登録する。その際、設計書制御部22は、修正された設計書に新たなバージョン番号を付与するS104。プログラム生成部21は、第1ユーザ機器2からプログラム生成の要求を受けると、まず中間情報を生成する。そして、プログラム生成部21は、その生成した中間情報に基づいて、プログラムソースコードを生成するS105。ユーザは、プログラム及びバージョン番号を選択し、そのバージョン番号のプログラムを実行させたいターゲット機器4を選択し、ビルド及びインストールを要求するS106。ビルド部25は、ステップS106で指定されたバージョン番号のプログラムを、同じくステップS106で指定されたターゲット機器4において動作するようにビルドコンパイルする。そして、ビルド部25は、そのビルドしたプログラムを、同じくステップS106で指定されたターゲット機器4にインストールするS107。ターゲット機器制御部23は、各ターゲット機器4にインストールされているプログラムの修正に関する情報を、第1ユーザ機器2の画面に表示するS108。以上の処理によれば、ユーザは、修正内容とターゲット機器4とバージョン番号との対応関係を確認しながら、設計書又はプログラムをチェックイン又はチェックアウトできる。また、各ターゲット機器4に反映された修正内容も一覧で確認できる。これにより、ユーザが設計書を修正する際に生じやすいミスを防止できる。図17は、設計書の修正からプログラムのインストールまでの手順を示すフローチャートの変形例である。図17に示すフローチャートは、まず修正したいターゲット機器4を選択して、そのターゲット機器4にインストールされているプログラムに対応する設計書をチェックアウトする点において、図16に示すフローチャートと異なる。ユーザは、表示されたインストール確認画面73においてS201、修正したいターゲット機器4を選択しS202、チェックアウトを要求するS203。ステップS204~S207の処理は、図16のステップS102~S105の処理と同じなので説明を省略するS204~S207。そして、ビルド部25は、ステップS207で生成されたプログラムを、ステップS202で指定されたターゲット機器4において動作するようにビルドコンパイルする。そして、ビルド部25は、ステップS202で指定されたターゲット機器4に、そのビルドしたプログラムをインストールするS208。ステップS209の処理は、図16のステップS108の処理と同じなので説明を省略する。以上の処理によれば、図16のフローチャートと比較して、所望のターゲット機器のプログラムをチェックアウト及びチェックインできる。よって、ユーザが設計書を修正する際に発生し得るミスをさらに防止できる。図18は、チェックアウト又はチェックインに係る処理のフローチャートである。当該フローチャートは、図16及び図17のフローチャートのチェックイン又はチェックアウトの際に実行される。アクセス制御部24は、アクセス管理テーブル28から、アクセス要求元のユーザのアクセスレベルを取得するS301。アクセス制御部24は、ユーザからのアクセス要求がチェックアウト又はチェックインのいずれであるかを判定するS302。ユーザからのアクセス要求がチェックアウトの場合S302:チェックアウト、アクセス制御部24は、チェックアウト要求された設計書の設計書レベルはそのままとしてS303、ステップS305の処理に進む。ユーザからのアクセスがチェックインの場合S302:チェックイン、アクセス制御部24は、チェックイン要求された設計書の設計書レベルを調整例えば、元の設計書レベルに2を加算してS304、ステップS305の処理に進む。アクセス制御部24は、ユーザのアクセスレベルが、調整した設計書レベル以下であるか否かを判定するS305。ユーザのアクセスレベルが、調整した設計書レベルよりも大きい場合S305:NO、アクセス制御部24は、ステップS309の処理に進む。ユーザのアクセスレベルが、調整した設計書レベル以下の場合S305:YES、アクセス制御部24は、調整した設計書レベルよりも大きいアクセスレベルを有するユーザに、チェックアウト又はチェックインの許可を求めるS306。許可が得られなかった場合S307:NO、アクセス制御部24は、ユーザからのチェックイン又はチェックアウトを拒否しS308、当該処理を終了するEND許可が得られた場合S307:YES、アクセス制御部24は、ユーザにチェックイン又はチェックアウトを許可しS309、当該処理を終了するEND。以上の処理によれば、設計書の重要度に基づいて、アクセスをコントロールできる。すなわち、修正された場合に影響度の大きい設計書は、アクセスレベルの高いユーザ、若しくはアクセスレベルの高いユーザから許可を得たユーザのみが、チェックイン又はチェックアウトできる。また、チェックアウトよりもチェックインの調整後の設計書レベルを大きくすることによって、チェックアウトはできても、チェックインはアクセスレベルの高いユーザ例えば、開発責任者等の許可を得なければできないようにできる。これにより、重要度の大きい設計書に誤った修正が施され、大きな問題が発生することを防止できる。上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。上述のアクセスレベルの判定を、チェックイン及びチェックアウト時に限られない。例えば、プログラムをビルドする時、又はビルドしたプログラムをターゲット機器にインストールする時等にアクセスレベルの判定を行ってもよい。プログラム管理装置が対応付けて管理する対象は、設計書と、プログラムと、修正内容と、ターゲット機器に限られない。プログラム管理装置は、例えばターゲット機器の開発スケジュール、及びターゲット機器の取扱説明書等とを合わせて対応付けて管理してもよい。"