本文へスキップ

平成24年度 春期 ITパスポート試験 問89

この問題の解説と、これまでの解答の記録です。

問89
頻出度★★★

企業向け研修サービス会社のA社では、次の研修サービスの概要を要件とした研修申込受付システム(以下、研修システムという)の開発をソフトウェア開発業者に委託した。A社の事務担当Bさんは、研修システムの受入れテストを担当することになった。受入れテストには研修サービスの概要のとおり、表1に示す研修コースをテストデータとして使用する。 〔研修サービスの概要〕 (1) 研修の申込みは、顧客企業の申込責任者が取りまとめて行う。顧客企業には、会員企業(以下、会員という)と、非会員である一般企業(以下、一般という)がある。 (2) 研修代金は研修コースによって異なり、受講料とは別に、テキスト代を請求するコースとテキスト代を請求しないコースがある。 (3) 開講日の翌月第1営業日に申込責任者ごとに前月の受講料とテキスト代を記載した請求明細書を作成し、研修代金として顧客企業に請求する。 (4) 開講日の3営業日前(開講日を含まない)までに申込みの取消しをせずに、開講日当日に欠席をした申込者は欠席扱いとし、テキスト代は請求せず受講料を請求する。開講日の3営業日前までに取り消した申込者は取消扱いとし、受講料及びテキスト代は請求しない。 (5) 受講料には割引制度がある。その適用条件として、次の①〜③が設定されている。テキスト代については割引の適用はない。受講料の割引処理は、請求明細書の作成時に行われる。 ① 会員の申込者は、受講料を10%割り引く。 ② 同じ申込者に対して、同一月に開講された複数のコースの請求がある場合、それぞれのコースの受講料を10%割り引く。 ③ ①と②の両方に該当するときは、それぞれのコースの受講料を20%割り引く。 表1 研修コース表

研修コース名開講日受講料(円)テキスト代(円)
コースP9月4日10,0002,000
コースQ9月17日8,0002,000
コースR9月25日20,000請求なし
コースS10月2日15,0001,500

Bさんは、割引適用の機能に関するテストデータを準備するために、表2に示す割引適用表を作成して整理することにした。割引適用表の a に入れる適切な記述はどれか。ここで、割引適用表の上の2行は割引適用の条件であり、真のとき“Y”、偽のとき“N”と記述する。同じ列にある二つの条件の真偽の組合せとなった場合の受講料の割引率を同じ列の3行目に記述する。 表2 割引適用表

会員であるYYNN
同じ月で複数コースの請求があるYNYN
受講料の割引率(%)a
出典 平成24年度 春期 ITパスポート試験 問89
解説

問 89

※ この問題は、解説作成時の検算で公表解答を確認しきれませんでした。判定は IPA 公表の解答どおりです。

  • 不正解ア

    「0,10,10,0」。第2列・第3列・第4列の値は正しいが、第1列を 0 としている点が誤り。第1列は「会員である」も「同じ月で複数コースの請求がある」もともに Y、すなわち二つの適用条件をどちらも満たす組合せであり、前文 (5) ③ によって割引率は 20 でなければならない。片方の条件だけでも①または②で10%割り引かれるのだから、両方を満たしたときに割引が 0 になることはあり得ない。

  • 不正解イ

    「0,10,10,20」。第1列を 0、第4列を 20 としており、条件の真偽と割引率の対応が左右で入れ替わっている。第4列は「会員である」=N かつ「同じ月で複数コースの請求がある」=N で、①②③のどの適用条件にも当てはまらない組合せなので、割引率は 0 でなければならない。逆に両方 Y の第1列が③に該当して 20 になる。値の並びとしては正しい4つの数字を含むが、対応付ける列を取り違えている。

  • 不正解ウ

    「10,10,10,0」。第4列の 0 は正しいが、第1列を 10 としている点が誤り。前文 (5) ③ は「①と②の両方に該当するときは、それぞれのコースの受講料を20%割り引く」と、重複該当時の割引率を単独該当時とは別に定めている。したがって両方 Y の第1列は、①だけ該当の第2列・②だけ該当の第3列 (いずれも 10) と区別して 20 としなければならない。すべての該当列を一律 10 にすると③という規定を設けた意味がなくなり、テストデータとしても③の分岐を検証できなくなる。

  • エ

    正解 正解はエ「20,10,10,0」。表2 は決定表 (デシジョンテーブル) であり、上の2行がテストで区別すべき条件、3行目がその列に対応する結果 (受講料の割引率) を表す。a は4列すべてにまたがる結合セルなので、左の列から順に4つの割引率を並べたものを答えることになる。中問B の前文 (5) にある割引制度は、① 会員の申込者は受講料を10%割り引く、② 同じ申込者に対して同一月に開講された複数のコースの請求がある場合は各コースの受講料を10%割り引く、③ ①と②の両方に該当するときは各コースの受講料を20%割り引く、の三つである。これを表2 の各列に当てはめる。第1列は「会員である」=Y かつ「同じ月で複数コースの請求がある」=Y なので③に該当し 20。第2列は Y と N で①だけに該当し 10。第3列は N と Y で②だけに該当し 10。第4列は N と N で①②③のいずれにも該当せず、割引なしなので 0。したがって左から 20,10,10,0 となり、エ が適切である。なお割引が適用されるのは受講料だけで、テキスト代は前文 (5) に「テキスト代については割引の適用はない」と明記されているとおり対象外である点にも注意したい。同じ中問の問90 で、非会員 (一般) の応用次郎さんが9月開講のコースQとコースRの2コースを受講したときコースRの受講料が 20,000 円から 18,000 円になる (②の10%引き) ことも、第3列が 10 であることの裏づけになっている。

ここがポイント
  • 決定表 (デシジョンテーブル) の読み方: 上部の条件行に並ぶ Y / N の組合せが1列で1つのテストケースを表し、下部の行にその組合せのときの結果を書く。条件が2つなら 2×2=4 通りの組合せをすべて列として並べることで、テストケースの漏れと重複を防げる。
  • 適用条件が複数ある業務ルールの整理: 単独該当 (会員のみ10%、同一月複数コースのみ10%)、重複該当 (両方で20%)、非該当 (0%) を場合分けして考える。また、割引は受講料にだけ適用されテキスト代は対象外という前提条件も見落とさないこと。
用語

解答の記録