入力画面の設計と入力データのチェック・コード設計
入力画面の設計方針、入力データチェックの種類(論理チェック・チェックディジットなど)、コード設計で最初にやる作業を区別して、選択肢から正解を選べるようになる。
業務システムに入ったデータは、最初に間違えるとあとで直すのが大変です。そのため「入口で間違いを防ぐ設計」と「入口で間違いを見つけるチェック」が繰り返し出題されます。入力チェックは本試験でも出ていて、このレッスンでいちばん出る知識です。
このレッスンで稽古する(用語チェック・過去問)結論:入力画面は「速く・迷わず」が正解
入力画面の設計で正解になるのは、関連する項目を隣どうしに並べることです。たとえば住所の「郵便番号・都道府県・市区町村」がバラバラの場所にあると、視線もカーソルもあちこちに飛んでしまいます。
不正解になりやすい選択肢は次のとおりです。
| 選択肢によく出る案 | なぜダメか |
|---|---|
| 初心者向けにコマンド入力方式 | コマンドを覚える必要があり、初心者にはむしろ難しい(コマンド入力は熟練者向け) |
| エラーメッセージを「入力が誤っています」に統一 | どこがどう間違っているか分からず、直せない |
| 画面に詳細な使用方法を常に表示 | 画面がごちゃつく。説明はヘルプなどに分けるもの |
見分け方は、「利用者がその場で迷わず、すばやく正しく入力できるか」を自分に問うことです。
窓口業務は「項目を絞って専用端末」
条件が「専任の担当者が操作し、窓口の対応時間を短くしたい」のときは、入力項目を絞り込み、専用の端末で入力するのが正解です。毎日同じ操作をする慣れた担当者には、手取り足取りのガイドは要りません。
ガイドに従って1項目ずつ進むGUI、画面の階層を深くする方法、タッチパネルでのかな漢字入力は、どれも操作の手数が増えて遅くなります。これらは初心者向けの工夫です。
入力データチェックの種類(最重要)
入力データチェックとは、入力された値が正しいかをコンピュータが自動で調べる仕組みです。試験では「この状況を見るチェックはどれか」と名前を選ばせます。
| チェック名 | 何を見るか | 例 |
|---|---|---|
| ニューメリック(数値)チェック | 数値項目に数字以外が混じっていないか | 数量に「1O」(英字のO)が入っている |
| フォーマットチェック | 決められた形式・桁数になっているか | 日付が「YYYYMMDD」の8桁か |
| 範囲(リミット)チェック | 値が上限・下限の範囲内か | 月が1〜12に収まっているか |
| 論理チェック | 項目どうし・業務上の意味として矛盾がないか | 注文日が入力日より後になっていないか |
| シーケンスチェック | データが決められた順番に並んでいるか | 伝票番号が昇順に並んでいるか |
| 重複チェック | 同じキーが二重に登録されていないか | 同じ伝票番号が2件ある |
| 照合(存在)チェック | マスタ(基準となる台帳)に登録された値か | 顧客コードが顧客マスタにあるか |
| バランスチェック | 合計どうしが一致するか | 借方合計=貸方合計 |
| チェックディジット | コードの値に打ち間違いがないか | 社員番号の1桁を打ち間違えた |
論理チェックは、形式は正しくても意味がおかしいものを捕まえます。「2024年2月30日」は8桁で形式は合っていても、実際には存在しない日付です。
チェックディジットの仕組み
チェックディジット(検査数字)は、コードの末尾に付ける検査用の1桁です。ほかの桁から決まった計算式で求めておき、入力されたときにもう一度計算して末尾の値と一致するかを確かめます。
たとえるなら、荷物の個数を書いた伝票に「合計」欄を付けておくようなものです。中身を1か所書き間違えると、合計が合わなくなって気づけます。重みを掛けて足し、割った余りから求める方式(モジュラス方式)がよく使われます。
検出できるのはコードの値の誤り(打ち間違いや、隣り合う数字の入れ替え)です。桁数の誤りや範囲外の値、英字の混入を見つけるのは別のチェックの役目です。
コード設計は「何をコード化するか」から
コード設計とは、商品や顧客などに付ける番号(コード)の付け方を決める作業です。最初にやるのはコード化対象の選定、つまり「何に番号を付けるか」を決めることです。
flowchart LR
A["コード化対象の選定"] --> B["使用期間・データ量の予測"]
B --> C["コード体系の決定"]
C --> D["コード化作業・コード表作成"]
D --> E["コードファイルの作成"]
対象が決まらなければ、何件あるか(データ量)も、何桁あれば足りるかも決められません。
どのチェックかを判定する手順
| 伝票番号(文字) | 注文日(文字) | 商品コード(文字) | 数量(数値) | 顧客コード(文字) |
|---|
ア シーケンスチェック
イ 重複チェック
ウ フォーマットチェック
エ 論理チェック
解き方と答えを見る
- 何を確かめたいかを1行にまとめる:「注文日が入力日以前の営業日か」
- 形式(桁数・文字種)の話かを確認する → 違う。日付として正しい形式でも起こりうる問題なのでフォーマットチェックではない
- 並び順・重複の話かを確認する → 違う。1件のデータの中の話なので、シーケンスチェックでも重複チェックでもない
- 「注文日」と「入力日」という2つの日付の関係、さらに「営業日か」という業務上の意味を見ている → 項目間・業務の整合性を見るのは論理チェック
答え:エ:論理チェック
コード設計の作業順を並べる
ア コード化作業とコード表作成
イ コード化対象の選定
ウ コードファイルの作成
エ 使用期間とデータ量の予測
出典:基本情報技術者試験 科目A免除 修了試験 200906 実施分 問27
解き方と答えを見る
- 各作業が「前に何が決まっていないとできないか」を考える
- コードファイルの作成 → コード表ができていないと作れない
- コード化作業とコード表作成 → コード体系(桁数や付け方)が決まっていないとできない
- 使用期間とデータ量の予測 → 何をコード化するかが決まっていないと予測できない
- コード化対象の選定 → 前提が何も要らないので、これが最初
答え:イ:コード化対象の選定
要点(試験直前に読む)
- 入力画面は「関連する項目を隣どうしに置く」が正解。コマンド入力の採用・エラーメッセージの統一・詳細な説明の常時表示はダメ
- 専任の担当者が窓口で使う画面は「項目を絞り込み、専用端末で入力」が最速。ガイドや階層を増やす方法は遅くなる
- 論理チェックは、項目どうし・業務の意味の矛盾を見る(注文日が入力日より後になっていないか など)
- チェックディジットは、コードの「値」の誤りを見つける。桁数・範囲・文字種は別のチェックの担当
- コード設計の最初は「コード化対象の選定」。予測 → 体系の決定 → コード表 → ファイルはそれより後
ひっかけ
- 「日付が正しいか」を見る問題でフォーマットチェックを選ばせる → 2つの項目の関係や業務ルールが絡むなら論理チェック
- チェックディジットの目的に「桁数の誤り」「範囲外」「英字の混入」を並べる → どれも別のチェックの役目。正解は「コードの値の誤り」
- 「初心者でも容易に」という前置きでコマンド入力方式を正解に見せる → コマンド入力は熟練者向け
- 窓口の時短なのに「GUIのガイドに従って入力」「階層を増やして1画面の項目を減らす」を選ばせる → 手数が増えて遅くなる
- コード設計の最初に「データ量の予測」を選ばせる → 対象が決まらないと予測できない
用語(12)
項目どうしの関係や業務上の意味として、矛盾がないかを確かめるチェック。
⚠ フォーマットチェックは形式(桁数・文字種)だけを見る。形式は正しくても意味がおかしいものを捕まえるのが論理チェック。
データが決められた形式・桁数・文字種になっているかを確かめるチェック。
⚠ 論理チェックとの区別に注意。「2月30日」は形式としては合っている(意味の誤りは論理チェックが捕まえる)。
数値項目に数字以外の文字が混じっていないかを確かめるチェック。
⚠ 英字や記号の混入を見つけるのはこちらで、チェックディジットではない。
値があらかじめ決めた上限・下限の範囲に収まっているかを確かめるチェック。
⚠ 範囲外の値はチェックディジットでは検出しない。
データが決められた順番(昇順など)に並んでいるかを確かめるチェック。
⚠ 重複チェックは同じキーが2件あるかを見る。順番を見るのがシーケンスチェック。
同じキー(伝票番号など)のデータが二重に登録されていないかを確かめるチェック。
⚠ シーケンスチェックとの違いは、並び順ではなく重なりを見る点。
入力されたコードがマスタファイルに登録されているかを照らし合わせるチェック。
⚠ チェックディジットは計算で誤りを見つけ、照合チェックはマスタと突き合わせて見つける。
関連する合計値どうし(借方と貸方など)が一致するかを確かめるチェック。
コードのほかの桁から計算して末尾に付け、入力時に計算し直してコードの値の誤りを見つけるための数字。
⚠ 桁数の誤りはフォーマットチェック、範囲外は範囲チェック、英字の混入はニューメリックチェック。チェックディジットが見るのは「コードの値」の誤り。
商品・顧客などに付ける番号の対象・桁数・体系を決める作業。
何に対してコードを付けるかを決める、コード設計の最初の作業。
⚠ データ量の予測やコード表作成は、対象が決まった後の作業。
命令を文字で打ち込んで操作する方式で、慣れた熟練者には速いが初心者には難しい。
⚠ 初心者向けなのはGUIやメニュー選択の方式。「初心者向けにコマンド入力」はひっかけ。
このレッスンの過去問
- 入力画面設計の方針(関連項目の隣接配置)基本情報技術者試験 科目A免除 修了試験 20240128 実施分 問17
- 窓口業務向け入力画面設計(項目絞り込み・専用端末)基本情報技術者試験 科目A免除 修了試験 200906 実施分 問26
- 入力データチェックの種類(論理チェック等)平成30年度 春期 基本情報技術者試験 午前 問24
- コード設計の作業手順(コード化対象の選定が最初)基本情報技術者試験 科目A免除 修了試験 200906 実施分 問27