本文へスキップ

平成22年度 春期 ITパスポート試験 問94

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

問94
頻出度★★★

A社研究所の資料室では,文献の貸出管理業務を行っている。文献の貸出管理業務には,PCのデータベースソフトを活用した文献貸出管理システム(以下,文献システムという)を利用している。 文献システムのデータベース構造は,次のとおりである。 社員表

社員番号社員名メールアドレス

文献表

文献番号文献名

貸出表

文献番号文献名社員番号社員名メールアドレス貸出日返却日

保有する文献と貸出についての条件は,次のとおりである。 〔保有する文献と貸出についての条件〕 (1) 同一文献は複数保有せず,文献ごとに固有な文献番号が採番されている。 (2) 貸出期間は,貸出日を含んで最長2週間である。ここで,返却された文献をその日に違う社員に貸し出すことは可能であるが,同じ社員に対して返却した同一文献をその日のうちに貸し出すことはない。 貸出から返却までの手続は,次のとおりである。 〔貸出から返却までの手続〕 (1) 社員は借りたい文献を書庫から取り出して,資料室の担当者(以下,担当者という)に手渡し,社員番号を提示する。 (2) 担当者は文献システムを使って貸出処理を行い,社員に文献を手渡す。 (3) 文献返却時,社員は担当者に文献を返却し,担当者は文献システムを使って返却処理を行う。 文献システムにおける貸出処理と返却処理の仕様は,次のとおりである。 〔貸出処理〕 (1) 文献番号で文献表を検索し,文献名を取得する。 (2) 社員番号で社員表を検索し,社員名とメールアドレスを取得する。 (3) 貸出表のレコード(以下,貸出レコードという)を用意して,(1),(2)で取得した文献番号,文献名,社員番号,社員名,メールアドレスを設定し,貸出日に当日の日付を,返却日に空白値を設定する。 (4) (3)で設定した貸出レコードを貸出表に追加する。 〔返却処理〕 (1) 文献番号で貸出表を検索し,返却日が空白値である貸出レコードを抽出する。 (2) 抽出した貸出レコードの返却日に当日の日付を設定し,貸出表を更新する。 文献システムの〔貸出処理〕と〔返却処理〕に基づき,次の図に示す DFD を作成した。DFD の a~c に入る適切な字句の組合せはどれか。 〔DFD〕 - 「社員」(データの源泉・吸収)から「a 処理」へ,および「社員」から「c 処理」へデータが流れる。 - 「a 処理」と「b 表」(データストア)の間,および「c 処理」と「b 表」の間でデータが流れる。 - 「b 表」の左右にはそれぞれ網掛けのデータストアがあり,いずれからも「a 処理」へデータが流れる。 注 網掛けの部分は,表示していない。

出典 平成22年度 春期 ITパスポート試験 問94
解説

問 94

  • ア

    正解 正解は ア (a=貸出,b=貸出,c=返却)。決め手は図の矢印の向きである。a 処理へは、社員 (データの源泉・吸収) からの流れに加えて、網掛けで隠された二つのデータストアからもデータが流れ込み、a 処理から出ていくのは b 表への一方向の書込みだけである。これは貸出処理の動きそのもので、文献番号で文献表を検索して文献名を取得し、社員番号で社員表を検索して社員名やメールアドレスを取得し (この二つの参照先が網掛けのデータストア)、それらをまとめた貸出レコードを新規に作って貸出表へ追加する。したがって a=貸出処理、その追加先である b=貸出表となる。一方 c 処理は、社員から文献番号を受け取り、b 表との間に b→c (読取り) と c→b (書込み) の双方向の流れをもつ。これは返却処理が、貸出表から返却日が空白値の貸出レコードを検索・抽出し、その返却日に当日の日付を設定して貸出表を更新する、という読取り+更新の動きに一致する。よって c=返却処理となり、組合せは ア。

  • 不正解イ

    a=貸出,c=返却 の対応は正しいが b が誤り。文献表は貸出処理が文献名を取得するために検索する参照先なので、データフローは 文献表→a 処理 の向きになるはずで、図の a 処理→b 表 という書込み方向と逆になる。文献表は網掛けで隠された二つのデータストアの一方であり、b にはあてはまらない。b は貸出処理が作った貸出レコードを蓄え、返却処理が検索・更新する貸出表である。

  • 不正解ウ

    a=返却,c=貸出 と役割が入れ替わっている。返却処理はまず貸出表を検索して該当レコードを抽出し、それから更新するので、表との間は双方向でなければならず、a 処理→b 表 の一方向だけという図と合わない。また貸出処理を c とすると、貸出処理が必要とする文献表・社員表への参照 (網掛けのデータストアから a 処理への流れ) が説明できなくなる。

  • 不正解エ

    a と c の入替えに加えて b も誤り。b=文献表 とすると、貸出処理が作成した貸出レコードを格納する貸出表が DFD 上のどこにも現れず、返却処理が貸出レコードを抽出して更新することもできなくなる。さらに、この選択肢で a にあたる返却処理が文献表へ一方向に書き込むという流れは、貸出表を検索して更新するという返却処理の仕様と一致しない。

ここがポイント
  • DFD (データフローダイアグラム) は、データの源泉・吸収 (外部実体、四角)、プロセス (処理、丸)、データストア (表やファイル、二重線)、データフロー (矢印) の四つの記号で業務の流れを表す。矢印の向きが、データストアからの読取り (ストア→処理) か書込み (処理→ストア) かを示す点が読み取りの基本。
  • 新規レコードを作って追加する処理はそのデータストアへ一方向に書き込むだけ、既存レコードを検索して更新する処理は同じデータストアと双方向にやり取りする。この非対称性を手掛かりにすれば、貸出処理と返却処理のどちらがどのプロセスかを図だけから一意に決められる。
用語

解答の記録