納品物、それでいいのか?

随分、前記事からの投稿が遅れてしまいました。
自分はデジタル回路の設計屋なので、ソフト的な言語も使いますし
テスト環境はほぼ青変わらず苦手なオブジェクト指向言語を使って書かれています。

という訳で自分はバード屋という宣言をしておいて、街中で気になった電子機器を1つ。公共バス内の料金の電光掲示板。今やLEDも見かけなくなり液晶ディスプレイです。

レイアウトは、乗降バス停番号と料金の表が9割がたの面積を占め、現金とICカードの場合の料金を交互に表示しています。
一番下の帯状部分に、注意喚起、キャンペーン、などの文字情報がわざとドッド字で右から現れ左に抜けていく感じです。最近は知りませんが、東海道、東北新幹線の前後ドア上のLED表示板のイメージです。

本題、バス内の一番下の流れる文字情報に注目。上部の料金表が切り替わる瞬間、その流れが一瞬止まります。

実用上、問題ないのですがエンジニアとしては気になります。
バス会社がどこかに液晶のハードごとどこかのIT企業に発注したと思います。
要求機能仕様に、「下部文字の流れる速度は常に一定であること」
なんて書いてなかったと思います。

おそらく納品、検品時に、バス会社側は、料金表が切り替わる瞬間、文字情報の流れが一瞬止まるのは何とかならないのか?と聞いたと思います。自分が発注側だったら聞きますし、開発途中時にそれの現象があったら、追加か、当初予算内で改善を要求しますね。

納品側の会社は、良く耳にする「これは仕様です」と答えるでしょう。
前述の「文字の流れは常に一定であること」なんて要求仕様に無いですし仕様書通りに作って文句あるのか?って感じでしょうね。修正が必要なら追加料金でソフトウェアを修正しますが。ってやり取りが目に見えます。
そこに居合わせた技術部門の上役も、1個のCPUで制御してるので、料金表を一旦クリアして再書き換えると画像メモリの9割分の更新に時間がかかり、文字部分の流れに「どうしても」待ち時間ができてしまうのです。とか

パンピーの技術者からすればこればバグです。しかもかなり低級のすぐに直すべき現象で、作っている側の会社の上位技術者であれば出荷前テストでバグとして急きょ修正を求めるはずです。少なくとも私なら要求仕様になくても納品に待ったをかけます。

対して乗客も気にならないでしょう。バス会社側も納得し、そのまま各車両に取り付けられていく…

ハード屋からすると、CPUの表示板制御プログラムを愚直に作ればそのようになります。じゃあ自分だったらどうしたのかな?と思います。制御部分の組込み制御のところのスペックが分かりませんし、そもそもOSが乗っていたらちょっと分かりません。逆にOSが乗る位のハイスペックであれば容易に修正できるはずです。

文字の流れ処理の部分にタイマー割込みなどを使って1ミリ秒程度の待ち時間をあらかじめ挿入して通常は通常はなにもしません。料金表の切り換え処理になったら、その時間を使って、メモリの書き換えをします。
もちろん一括では無理なので、料金画面の1割ずつを10回に分けてという感じ。
そうすると、今度は、料金画面の切替りが黒板を消して再度板書するような切り換え場面が人間のには感じてしまうかもしれません。こちらの方が致命的ですよね。
あとは、それがお互い気にならなくなるようなタイマー時間、待ち時間の調整で、人間の目には、料金表が変わっても文字は流れ続けるように見せるのが一般的技術水準と思います。
開発中に料金表の切り換え処理に100%CPUを使ってしまうのを先に作ってしまったというのも容易に想像できますね。

他にも解解決法がいくらでもあると思いますが、そのバスに乗るときいつも考えてしまいます。

この記事が気に入ったらサポートをしてみませんか?