家計簿ソフトの設計で浮上してきた話ではないのですが、アルバイト先でちょっとモメた出来事を思い出したので、メモっておこうと思います。
ある文字列型の項目について、設計段階では「全角20文字まで」という仕様で進んでいた項目があります。顧客の苗字だとか名前だとか、そんな感じの項目です。
製造もある程度進んだ頃になって、元請さんから「やっぱり半角もアリにして」との要望があり、じゃあ全半角混在20文字ねという事で設計書も書き直し、テストも単体・結合まで終わった頃、マニュアルを書いた段階になったある日。
元請さん、「ここって半角なら40入るんですよね」と言ってこられました。
VB6とAccessで作っていて、なおかつ設計書にも「文字数」と「バイト数」は明確に区別して書いている。
にもかかわらず、です。
これだけ明確に「何バイト」ではなく「何文字」と表記してるでしょ、と言っても聞く耳を持ってくれませんでした。
そのひと曰く、「全角20文字は40バイトなんだから半角なら40文字は常識でしょ?」との事。
しかも言ってくるタイミングが、もう結合テストまで終わって納品物を纏める段階です。
色々とモメましたが、自社のメイン担当者さんが何とか交渉して、「今の時期から変更を加えるのは危険すぎる」という理由付けで、結局その変更自体は中止されました。
その時の先方の物言いが、いかにもこちらの落ち度だというスタンスだったので、相当に頭に来ていました。
エンドユーザーの要望でそういう仕様にする、というのならまだ話は分かるのですが、よくよく話を聞いてみるとエンドユーザーには何のヒアリングもしていないらしく、その元請さんがそういう風に思っているだけでした。
そして「バイト数で数えるように変更してください」という「改善要望」を出してきたわけです。
設計段階で意識合わせが出来ていなかった事については両成敗なのですが、どうしても聞き捨てならなかったのが、「バイト数で数えるのが常識」というフレーズ。
相手がシステム屋ならともかく、そういう業界を経験したことの無いユーザーに「バイト数」を意識させる事が本当に常識なのか、という疑問を、私はどうしても払拭できませんでした。
エディタでもテキストボックスでも構わないのですが、ぱっと見て数えられない桁数を数えるのに、たいていの人はカーソルを1個ずつ動かしながら数えます。
「半角文字は1とすると、全角文字は2です。」
それはシステム側の都合だと思うのです。
確かに、
等幅フォントなら「半角2文字分=全角1文字分」は成り立ちます。
Shift-JISなら「半角1文字=1バイト」で「全角1文字=2バイト」だと思います。
フォントの都合で、という事はそれほど心配する必要も無いでしょうが、何かの事情で文字コード体系が変わるとなると大問題に発展しかねないわけです。
画面上で入力する文字の数え方が文字コード体系によって違います、などという事、素人さん向けのUIでは「あってはならない」話だと、個人的には思うわけです。
(もちろん、それは私の考えであって、意見の分かれる所かとは思いますが)
バイト数カウントへの変更は中止になったものの、元請さんからは「何処と何処をいじれば変更できますか」という質問を受けました。
テストのやり直しという意味では影響範囲が大きかったものの、プログラムの変更箇所自体は、実はそれほど多くありません。
こちらが納品した後に元請さんの方で変更をするのだろうと思いつつ、一応は対象箇所が一通り分かるようなメールを送りました。補足として自分が「文字数で数える」という選択をした理由も書き添えましたが、果たしてどうなったのか…。
このテーマに関しては、自論が正しかったという確信は正直ありません。
無いが故に、いつかまた同じテーマにぶつかる事を考えて、ここに書き残しておこうと思いました。
テーマ:データベース - ジャンル:コンピュータ
- 2008/10/13(月) 18:25:41|
- データ設計
-
| トラックバック:0
-
| コメント:3
M.N.さんの仰るとおり、それを常識だと思っておられる方も、実際ある程度(というか、わりと高い割合で?)いらっしゃいますね。
過去の業務経験だとか、会社ごとの文化みたいな物もあって何となく一定のイメージが定着している感があります。
「半角も…」という話があった時点で、詰めておかなかったのは失敗だったと思います。
当時先方から言われた理由は、顧客に外国人の方もいらっしゃるし、ダイレクトメールの宛名を印字するのに、全角文字だとかっこ悪いから、という事でした。
当初から姓20文字、名20文字だったので、外国人の姓名は考慮した上での数字だと思っていました。
ですが、もっと長い名前を想定されていたのかも知れません。
今となっては真相は藪の中ですが、次回そういう問題が起こりそうになったら、今回よりはマシな対応が出来るかな、と思います。
- 2008/10/16(木) 18:14:09 |
- URL |
- マダム・シュミグラマー #KoQX45nQ
- [ 編集]
観点がずれているかもしれませんが、「やっぱり半角もアリにして」と言う人は、
そうしておけば全角20文字でダメな場合でも半角にすれば入力できる、みたいなことを考えているから言ってくるような気がします。もちろん半角をただ入力したい場合もあるかもしれませんが。結果論ですが、「半角だけで40文字は無理ですよ」ぐらいの確認が必要だったんじゃないでしょうか。
個人的には常識ではないと思いますが、これを常識だと思っている人がある程度いるのは確かで、この種のトラブルもよくあると思います。
- 2008/10/16(木) 14:06:23 |
- URL |
- M.N. #-
- [ 編集]
『Vista以降はUnicodeになって全角一文字4バイトになったのだからその常識は間違ってます』と言ってしまいそうだ、私なら。
この『常識』って言葉ほど仕様策定のところで疑ってかかるべきものはないですな、いつになっても…。
- 2008/10/14(火) 23:22:11 |
- URL |
- SAKU☆彡 #-
- [ 編集]