跳到正文

平成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 是判定表(决策表),上面两行是测试中需要区分的条件,第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两门课程时,课程R的课程费用由 20,000 日元变为 18,000 日元(②的10%折扣),这也佐证了第3列为 10。

ここがポイント
  • 判定表(决策表)的读法:上部条件行中排列的 Y/N 组合,一列表示一个测试用例,下部的行写出该组合下的结果。如果条件有两个,就把 2×2=4 种组合全部作为列排出来,从而防止测试用例的遗漏和重复。
  • 整理有多个适用条件的业务规则:分情况考虑单独符合(仅为会员10%、仅同一月份多门课程10%)、重复符合(两者都符合为20%)、不符合(0%)。此外,折扣只适用于课程费用、教材费不在适用范围内这一前提条件也不能漏看。
用語
解答問89エ
练这一题

作答记录