平成22年春期試験午後問題 問5
問5 ソフトウェア設計
配達サービス管理システムに関する次の記述を読んで,設問1~3に答えよ。
家具を販売する小売業のF社では,顧客が購入した家具を,顧客が希望した日に配達するサービスを実施している。F社では,この配達サービスについて,家具の配達を受け付けてから配達が完了するまでの状況を管理する,配達サービス管理システム(以下,管理システムという)を構築することになった。
〔配達サービスの仕組み〕
家具を販売する小売業のF社では,顧客が購入した家具を,顧客が希望した日に配達するサービスを実施している。F社では,この配達サービスについて,家具の配達を受け付けてから配達が完了するまでの状況を管理する,配達サービス管理システム(以下,管理システムという)を構築することになった。
〔配達サービスの仕組み〕
- 配達サービスとは,F社で家具を購入した顧客に対するサービスであり,購入した家具を,指定した配達先に,希望した日に配達する。
- F社では家具それぞれに固有の家具番号を付与している。
- 配達サービスは,F社の配達窓口で受付登録をすることによって開始される。配達サービスを受けたい顧客は,F社の配達窓口担当者(以下,担当者という)に配達を依頼する。
- 担当者は,受付登録時に,配達先の郵便番号,住所,氏名及び家具番号を,依頼受付画面から管理システムに登録する。1回の受付登録では,配達先は1か所に限られ,家具は10個まで登録できる。受付登録後,画面には,その配達先住所に配達可能な配達業者(以下,業者という)の社名と受付登録した日(以下,受付日という)の翌々日以降で配達可能な日付(以下,配達可能日という)の組合せが表示される。
- 担当者は,配達可能日を顧客に伝える。顧客は,その中から配達を希望する日付(以下,配達予定日という)を指定する。
- 担当者は指定された配達予定日を,依頼受付画面から管理システムに登録する。登録が完了すると,依頼受付画面に予約番号が表示される。担当者は,予約番号を顧客に伝え,受付が完了する。
- 担当者は,配達予定日の前日に,配達先情報や配達家具の情報を記載した配達依頼リストを,管理システムから出力する。
- 業者は,配達予定日の前日に,配達すべき家具と配達依頼リストを担当者から受け取る。配達予定日に配達先住所に家具を届け,配達完了を担当者に連絡する。
- 配達完了の連絡を受けた担当者は,配達完了日を管理システムに登録する。
- 管理システムは,端末とサーバで構成される。端末には担当者が用いる画面インタフェースを構築し,サーバでは,配達に関連する情報を,受付ファイル,業者ファイル,郵便番号別業者ファイル及び予約ファイルとして保持する。
- 受付ファイルには,顧客から配達の依頼があったときに付与される一意の受付番号とともに,住所など配達に必要な顧客の情報を登録する。受付ファイルのレコード様式を,図2に示す。
- 業者ファイルには,業者コード,業者名及び業者連絡先が登録されている。業者ファイルのレコード様式を,図3に示す。
- 郵便番号別業者ファイルには,ある配達可能日にその郵便番号が示す地域に家具を配達可能な業者と,その業者がその日に配達可能な件数の上限値を登録する。郵便番号別業者ファイルのレコード様式を,図4に示す。ここで,一つの業者は一つの地域だけを対象とする。
- 予約ファイルには,配達予定日が確定したときに付与される一意の予約番号とともに,業者コード,配達予定日及び受付番号を登録する。配達完了日には,配達完了までは空白が格納されており,配達が完了するとその日付が格納される。予約ファイルのレコード様式を,図5に示す。
- 配達依頼リストは,業者が家具を配達する際に用いるリストであり,業者名,顧客への配達予定日,その業者の配達先件数,配達先情報,予約番号,家具の個数及び家具番号が記載されている。顧客への配達予定日の前日に,業者コード順に管理システムから出力される。配達依頼リストの例を,図6に示す。
広告
設問1
次の記述中の に入れる正しい答えを,解答群の中から選べ。
依頼を受けた配達先住所に対して,その配達先住所へ配達可能な業者と配達可能日の組合せを表示する機能を考える。まず,郵便番号別業者ファイルから,受付時に入力した配達先郵便番号と一致し,かつ,配達可能日がaレコードを取り出す。
次に,郵便番号別業者ファイルから取り出したレコード1件ごとに予約ファイルを検索する。検索の条件は,業者コードが等しく,かつ,予約ファイルの配達予定日がbことである。この検索によって,その業者で,配達予定日が確定している配達先の件数が判明する。この確定している配達先の件数が,配達先件数の上限値に達していなければ,その業者とその日付は配達可能と判定でき,表示の対象とする。
依頼を受けた配達先住所に対して,その配達先住所へ配達可能な業者と配達可能日の組合せを表示する機能を考える。まず,郵便番号別業者ファイルから,受付時に入力した配達先郵便番号と一致し,かつ,配達可能日がaレコードを取り出す。
次に,郵便番号別業者ファイルから取り出したレコード1件ごとに予約ファイルを検索する。検索の条件は,業者コードが等しく,かつ,予約ファイルの配達予定日がbことである。この検索によって,その業者で,配達予定日が確定している配達先の件数が判明する。この確定している配達先の件数が,配達先件数の上限値に達していなければ,その業者とその日付は配達可能と判定でき,表示の対象とする。
a,b に関する解答群
- 受付日の翌々日以降となる
- 受付日以降となる
- 受付日と同じ
- 受付日以前となる
- 配達可能日以降となる
- 配達可能日と同じ
- 配達可能日と同じでない
- 配達可能日以前となる
- 配達予定日と同じ
- 配達予定日と同じでない
解答選択欄
- a:
- b:
- a=ア
- b=カ
解説
〔aについて〕郵便番号別業者ファイルには,「郵便番号・配達可能日・業者・配達先件数」の上限のデータが登録されています。
〔配達サービスの仕組み〕(4)に,「受付登録後,画面には,その配達先住所に配達可能な配達業者(以下,業者という)の社名と受付登録した日(以下,受付日という)の翌々日以降で配達可能な日付(以下,配達可能日という)の組合せが表示される」という記述があります。したがって郵便番号別業者ファイルの中で,配達先郵便番号と一致し,かつ配達可能日が受付日の翌々日以降のレコードを抽出することになります。
なぜ配達可能日が受付日及び受付日の翌日であるレコードが除外されるかというと,管理システムから出力される配達依頼リストを配達日の前日に業者に渡さなくてはならないためです。受付日翌日の配達を可能とするためには,受付日当日に配達可能リストを出力しなくてならなくなるので,F社では受付日翌日の配達を除外していると考えられます。
∴a=ア:受付日の翌々日以降となる
〔bについて〕
予約ファイルには,配達が決定している依頼とその詳細が件数分登録されています。
郵便番号別業者ファイルから,配達先住所が一致し配達可能日が受付日の翌々日以降となるレコードをした後,予約ファイルから業者コードと配達可能日が一致するレコードを抽出し,抽出されたレコード件数から現在その業者に何件/日の配達が予約されているかを確認します。
この処理は,郵便番号別業者ファイルの"配達先件数の上限値"を超える予約を登録しないために行われます。抽出されたレコード件数が"配達先件数の上限値"未満であれば,その業者と郵便番号の組合せは配達可能と判定されます。
∴b=カ:配達可能日と同じ
広告
設問2
図7は,配達依頼リストを作成する処理の流れである。図7の処理Fで作成する集計結果ファイルのレコード様式を,図8に示す。次の記述中の に入れる正しい答えを,解答群の中から選べ。
- 処理B:
- ファイルAから,配達予定日が翌日のデータを取り出す。
- 処理C:
- 処理Bの処理結果を,dで並べ替える。
- 処理D:
- 処理Cの処理結果とcの内容を,dをキーとして突き合わせる。一致したcのレコード内容と合わせて出力する。
- 処理E:
- 処理Dの処理結果を,業者コードで並べ替え,中間ファイルを作成する。
- 処理F:
- 処理Eの処理結果である中間ファイルの,業者コードごとのeを数え,その値を配達先件数に入れ,集計結果ファイルを作成する。
- 処理G:
- 中間ファイル,集計結果ファイル及び業者ファイルから,配達依頼リストを作成する。
c に関する解答群
- 受付ファイル
- 郵便番号別業者ファイル
- 予約ファイル
d に関する解答群
- 受付番号
- 受付日
- 配達可能日
- 配達予定日
- 郵便番号
- 予約番号
e に関する解答群
- 家具の個数
- 配達先件数の上限値
- レコード件数
解答選択欄
- c:
- d:
- e:
- c=ア
- d=ア
- e=ウ
解説
〔cについて〕設問では「処理B:ファイルAから,配達予定日が翌日のデータを取り出す」と説明されています。受付ファイル、業者ファイル、郵便番号別業者ファイル、予約ファイルのうち、"配達予定日"の属性を持つファイルは予約ファイルだけです。このことからファイルAは予約ファイルであると判断できます。
最終的に出力する配達依頼リストには、予約情報や業者情報のほかに顧客の住所や氏名が含まれています。予約情報はファイルAから、業者情報は業者ファイルから取得しますが、図7中には届け先情報が格納されている受付ファイルを参照している箇所がありません。したがって、cには「受付ファイル」が当てはまります。
また処理Dでは、処理Cの処理結果と、cを"受付番号"をキーとして突合せを行うことになっています(後述の解説参照)。すなわち、cは"受付番号"を属性としてもつファイルになります。4つのファイルの中で"受付番号"を持つファイルは、受付ファイルと予約ファイルの2つであり、ファイルA=予約ファイルとわかっているのでcは受付ファイルという流れでも答えを導けます。
∴c=ア:受付ファイル
〔dについて〕
処理Cでは、処理Bで予約ファイル(=ファイルA)から抽出したデータを並べ替えます。dは、この並替えに使うキーです。また、処理Cの結果と受付ファイルの突合せに使うキーでもあります。
突合せ処理とは、あるキーの値で整列された複数のファイルやデータを、先頭から順に比較していく処理なので、処理Cの結果と受付ファイルには同じキーが含まれていなければなりません。処理Cでは他のファイルを参照していないので、突合せに使うキーは、処理Cの元である予約ファイルおよび受付ファイルに共通する属性となります。したがって、dには2つのファイルで唯一共通している「受付番号」が当てはまります。
∴d=ア:受付番号
〔eについて〕
処理D及び処理Eの結果として、予約ファイル及び受付ファイルの中で配達予定日が翌日であるレコードが抽出され、業者コードごとに整列済の中間ファイルが作成されています。
処理Fでは、中間ファイルの中で、「業者ごとのeを数え、その値を"配達先件数"に入れる」ことになっています。(図8「集計結果ファイルのレコード様式」は、"業者コード"及び"配達先件数"で構成されていて業者ごとに、その日の配達先件数を記録するファイルです。)
- "配達先件数"が知りたいので、家具の個数を数えることはありません。配達依頼リストに出力される配達先ごとの家具の詳細は、処理Dで中間ファイルに出力された受付ファイルの内容を参照します。
- 配達依頼リストを作成する処理では、郵便番号別業者ファイルを参照しないので"配達先件数の上限"の属性は関係ありません。上限数以上の件数は予約時点で登録できないようになっています。
- 正しい。中間ファイルには、配達予定日が翌日である受付番号を持つレコードが抽出されていますので、業者コードごとの「レコード件数」を数えることで、翌日のその業者の配達先件数がわかります。
広告
設問3
担当者は,業者から配達完了の連絡を受けて配達完了日を登録する。配達完了の登録に必要な"配達完了日"以外の項目として正しい答えを,解答群の中から選べ。
解答群
- 受付日,郵便番号
- 業者コード,郵便番号
- 業者コード,郵便番号, 配達可能日
- 配達予定日
- 予約番号
解答選択欄
- オ
解説
予約ファイルのレコード形式を見ると"配達完了日"は予約ごとに登録されるとわかります。予約ファイルには、予約ごとに一意である"予約番号"が付与されているため、"予約番号"さえわかれば予約ファイル内のレコードを一意に特定できます。配達依頼リストには"予約番号"が記載されているので、業者から受けた連絡をもとに予約ファイルを"予約番号"で検索し、該当するレコードの"配達完了日"を登録することになります。∴オ:予約番号
広告
広告