こんにちは
ソフトブレインのシニアAです
いつもSE道場をお読み頂きありがとうございます
今日はレーザーカードの話で前回の続きです
ではどうぞ・・・
『H課長、ようやく納得できるシステム案がまとまりました
ご都合の良いところで1時間程度のレビューをさせて頂きたいと思います。』
『そうか、できたか
午後3時過ぎなら空いてるぞ。
会議室は後で押さえて連絡する。』
H課長も待ちきれない感じだった。
気に入ってくれるといいが。
『フォルダパス・ファイル名/フォルダ名・日時・データ位置・データ長などの固定長レコードを前方から書き込みます。そしてファイルデータレコードを後方から書き込みます。』
『なるほど、この前後から挟む方式ならレーザーカードの最後の最後まで有効に利用ができそうだ。いける、いけるぞ』
『またスピードアップをするため、固定長レコード情報は最初に読み込んで全てオン・メモリにおきます。
2度目以降のアクセス時間は最小となります』
『うん、うん、良く考えてあるな。』
ここまで2週間かかっていたが、H課長は了承してくれた
仕様はもっと細かく書いていた
フォルダの作成、フォルダ・ファイルの削除・ファイル内容の修正なども可能としている
一番悩んだのは、長いファイルデータを書き換える場合、すべてをもう一度書き込むか、変更点を記録するかだった。
結局H課長がすべてをもう一度書き込むことに決定した
自由にレコード単位のR/Wを行うため、別チームが作成しているレーザーカードライブラリチームには、レコード番号を指定できるように改良してもらうことになった。
私たちはプログラム設計を開始し、コーディングに入っていった
テストが始まるころ、改良が終わったレーザーカードライブラリが手元に届いた。
全体のアクセススピードも上がっていた。
「やるな」
技術者同士は顔は知らなくても競争しているものだ
「こっちも負けてられないな」
それから順調に推移していったが、1点問題が発生した。
大容量ファイルの修正が時間がかかり過ぎている
内容をもう一度全部書いているのが原因だった
対応方法は2通りある
1つは差分情報だけを書き込むやり方、もう1つは変更のあったレコードだけを書き込むやり方。
いろいろ検討した結果、前者に決まった
結果は良好となり、開発も一段落終えた。
とうとうテストが終わり、お披露目の日がやってきた
N部長・H課長は勿論、他の課長たちも集まってきた。
デモも無事に終わり、レーザーカードR/Wファイルシステムは高評価を受けることができた
次の改良版の仕事も受託で発注してくださるとのことだった。Sさんも非常に喜んでいた。
途中で妥協せず、より良いものを追い求めた結果だった
やはり技術者はこうありたいとつくづく思った
後編、終わり・・・
次回のSE道場をお楽しみに・・・
SE道場では、プログラミングの極意や開発の苦労話等、様々な記事を投稿しています
是非ご覧ください
1つ前の開発秘話は...