HOME > ソフテックだより > 第26号(2006年9月20日発行) 現場の声編「20年以上働き続けるシステムのデータベース変更」

「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。

ソフテックだより(発行日順)のページへ
ソフテックだより 技術レポート(技術分野別)のページへ
ソフテックだより 現場の声(シーン別)のページへ


ソフテックだより 第26号(2006年9月20日発行)
現場の声編

「20年以上働き続けるシステムのデータベース変更」

1.はじめに

最近は、ITといえば最先端であり、ソフトウェア開発も同じように最先端のイメージがあります。実際、ソフテックでもいろいろと新しい技術を用いて開発を行っています。しかし、それとは対照的にソフテックで開発した古いシステムの変更作業を行うことがあります。
現在の部長が開発のメインとして携わったもので、20年以上も前に開発した古いシステムがあるのですが、いまでもデータベース変更の依頼をいただきます。
今回はその作業について書いていきたいと思います。

2.システムの概要

本システムをおおまかに説明しますと、建物の各所に設置したたくさんの端末を監視します。端末で異常を検出したときに中央のシステムが処理し、他の各端末を制御させるというものです。他にも外部の機器および設備とも通信を行えます。パソコン上で動作するのではなく、マイコンモジュールで動作します。
既に基本開発で基本となるソフトウェアが完成しており、データベースを設定することによりお客様のニーズに合った構成に対応できるようになっています。

図 1. システム構成図
図 1. システム構成図

このシステムは、現在のパソコンのように高性能なCPUや大容量のHDDなどは使用していません。CPUは開発当時(約20年前)のCPUを使用し、データの保存はHDDではなく64MBitや128MBit(ByteではなくBit)のEP−ROM(※1)を数個使用しています。CPUもEP−ROMもムカデのような形状をしています。EP−ROMはROMライターという機器を使い、複数のEP−ROMにプログラムとデータベースのデータを焼き入れて動作させます。
しかも、使用しているEP−ROMが古いため現在では製造中止になってしまっています。そのため、変更をする際には以前使用していたEP−ROMを回収するようにしています。

※1
データ読出し専用記憶装置の一種。データ書込みは電圧を加えることによってできる。電源を切っても書き込んだデータは消えない。

3.作業内容

(1) 仕様確認

お客様から変更仕様をいただいた後、変更内容の確認を行います。
社内で保存している該当物件のデータと比較して問題があれば相談しています。何度か変更しているためか、お客様からいただいた仕様が前回変更以前の仕様をベースにしていたりして、ソフテックにあるデータとお客様からくるデータが違っていることがたまにあります。これの調整のために時間を使ってしまうことがあります。
変更点を明確にしてから変更作業を開始します。

(2) データベース変更

基本的にはプログラムの変更作業はなく、データベースの変更のみの作業です。作業人数は1人です。
もしプログラム変更を行うことになったら少し困ったことになります。本システムでは、プログラムに使用している言語がソフテックではもう使われていないPL/Mであり、ソフテックで使える社員は社長か部長しかいません。そのため、部長が対応するか、PL/Mの知識を持っていない社員が一から勉強して対応することになります。
データベース変更は、プログラムソース上のデータ領域のデータを変更することにより行います。プログラムソースですので、ファイルの形式は、テキスト形式です。そのため、古いパソコンを使う必要がなく最近のパソコンでテキストエディタを使って変更することができます。

(3) コンパイル/リンク

プログラムおよびデータベースをコンパイル/リンクする際、コンパイラ/リンカのソフトウェアはPC−98パソコン(NEC製)でしか動作しないため、会社の倉庫からコンパイル/リンク環境を引っ張りだしてこなければなりません。もちろん20年前の開発ですので、OSはWindowsのような高性能なものではなく、MS−DOSです。グラフィカルな表示はせず、黒い画面に文字のみを表示するコンソールでポチポチとコマンドを入力してコンパイラ/リンカを起動させます。古いパソコンですのでコンパイルとリンクのそれぞれに10分以上かかります。もし、ソース変更に失敗してエラー等がでたらもう一度10分待つことになります。
リンク後、ROMに焼くファイルが複数出力されます。そのファイルを、ROMライターを使い複数のROMに焼き入れます。

(4) 動作確認

次は実機を使った確認となります。実際に実機を使用して確認するには非常に多くの端末を接続させる必要があるのですが、残念ながら社内にはそれだけの機材を置けるような広いスペースがありません。
ではどのように動作確認するかということですが、シミュレータ装置(※2)を使います。中心となるシステム本体は実際の機器を使い、それにシミュレータ装置とプリンタを接続します。その後、シミュレータを操作すると、操作の結果がプリンタに印字します。これにより、データベース変更した箇所を動作させて結果を印字させます。こうした機器を使用して動作の確認を行っています。

図 2. シミュレータ装置接続時のシステム構成図
図 2. シミュレータ装置接続時のシステム構成図

シミュレータ装置ですがこれは古い特注のハードウェアであり故障してしまったら修理が大変なことになるので特に慎重に使っています。いつも故障してしまわないか冷や冷やしています。それとプリンタですがこれはお店でよく見るようなカット紙に印刷するレーザープリンタやインクジェットプリンタではなく、今ではあまり使われないドットインパクトプリンタで連続紙に印刷しています。ドットインパクトプリンタの動作音が大きく、社内でこの音が聞こえたら誰かがデータベース変更の作業しているのだなとわかります。
印刷したプリント結果を見てデータベース変更した箇所が問題なく設定されるかを確認します。
その後、部長に承認をもらい、動作確認を行ったROMを配送します。そして、お客様に報告を行い作業は完了となります。

※2
システムを擬似的に再現して、あたかも実際のシステムのように動作する装置のこと。

4.最後に

本作業は、基本的に1人の担当者が主に専門で作業しています。しかし、長年のノウハウの蓄積の結果、社内グループウェアに作業のマニュアルができています。そのおかげで、もし専門の担当者が作業できなくてもなんとか他の社員が担当できるような体制になっています。このようなことを書いている私も、実は専門で担当する社員ではありません。代わりに担当することがありますが、なんとか作業できています。
作業がマニュアル化されており単純作業になりがちですが、間違えがないように心掛けて作業しています。

ソフテックでは新しい試みをする反面で、今では古いと表現される(でも現在も現役)システムの対応も行っています。
二十数年も前に開発したシステムが、現在でも働き続けておりとても誇りに思います。今後も何十年も使われ続けるシステムを作り続けられるようがんばっていきたいです。

(T.O.)


関連ページへのリンク

関連するソフテックだより

ページTOPへ