背番号”パウエル”にならないためのシステム設計

背番号”パウエル”、、、
ノンスタイルの漫才のネタにあるセリフの1つです。
(かなり前のネタです)

背番号なのに人の名前であるパウエルとは、どう考えてもあり得ないと思います。
このネタでも「背番号だぞ!"p"と入るのか?」という言う突込みが入ります。

しかし、システム開発では、背番号なのに”パウエル”が入力できてしまうということが起きてしまうことがあります。
ではなぜ起きてしまうのでしょうか。

これは、単純に設計が不十分であったことが考えられます。
なぜなら、システムにおける設計は、想定外を想定内に変え、結果として、想定外の動作を起こさないための作業であるためです。

そして、システムでは、背番号”パウエル”を避けるために、入力を制限する必要があります。
つまり、UIの設計における、入力項目の制御に関する設計が必要になります。

そして、入力項目に関する設計では、以下の内容を検討する必要があります。

  1. 項目への入力が必須または任意
  2. 項目へ入力できる内容が数字のみまたは、文字列や記号を許可するか
  3. 初期値を出力するか、初期値を表示する場合は、初期値を何にするか
  4. 項目へ入力できる文字数はいくつか
  5. 入力してはいけない値の入力をどうするか

特に、背番号”パウエル”を避けるためには、最後の「入力してはいけない値の入力をどうするか」が重要であると考えています。

「入力してはいけない値の入力をどうするか」に対応するためには、例えば入力してはいけない値が入力された場合に、登録ボタン押下のタイミングでエラーとすることが挙げられます。
この場合は"パウエル”の入力自体は可能になります。
しかし、登録ボタン押下のタイミングでエラーとなり、次に進めなくなります。

また、入力エラー以外に、入力項目に入力できる文字を制限する方法もあります。
背番号”パウエル”で言えば、背番号項目は、数字以外入力できなくするという対応となります。

結果として、背番号に”パウエル”の入力ができなくなります。

そして上記のような対応を行うことで、「入力してはいけない値の入力をどうするか」を検討することで、ありえない値が登録されてしまうことを防ぐことができます。

ただし、「入力してはいけない値の入力をどうするか」を検討するためには、正しい値が何かを決めておく必要があります。
そのため、項目ごとに想定される正しい値についても知っておく必要があります。
また、項目ごとに想定される正しい値がわかれば、自然と入力できる文字の種類や文字数についても決まってくると思います。

また、入力項目によっては、別の項目の影響を受ける場合があります。
例えば、郵便番号と住所のように、片方を入力することで、もう一方の項目が自動で決目られる項目です。

これらの項目では、複数の項目で整合性をとる必要があります。

なお、「入力してはいけない値の入力をどうするか」で検討する必要がある内容は、以下の3つになります。

  1. 入力項目の文字の種類(数字、英字等)や、文字数を制限するか
  2. 制限方法はボタン押下時の入力チェックで行うか、または入力項目への入力自体を付加にするか
  3. 複数の項目で整合性をとる必要がある項目はあるか

↓↓せっかくなのでノンスタイルのライブDVDです↓↓

↓↓システム設計について学びたい方はこちら↓↓

システム設計のセオリー --ユーザー要求を正しく実装へつなぐ

システム設計のセオリー --ユーザー要求を正しく実装へつなぐ