応用情報技術者過去問題 平成21年春期 午後問8

⇄問題文と設問を画面2分割で開く⇱問題PDF⇱解答用紙PDF

問8 情報システム開発

通信販売用Webサイトの設計に関する次の記述を読んで,設問1〜3に答えよ。

 P社では,新たな事業展開として,インターネットを用いた通信販売を開始することにした。通信販売のための販売用Webサイトは,新規に開発する。販売用Webサイト及び販売用Webサイト内で用いるショッピングカートに関する説明を次に示す。

〔販売用Webサイト〕
  • インターネットに公開し一般の顧客が買物に利用する。
  • 顧客は,P社から付与される顧客IDでログインしてから買物をする。
  • 顧客は,商品カタログを画面に表示し,ショッピングカートに商品を追加したり,ショッピングカートから商品を削除したりして,購入する商品を選ぶ。
  • 顧客は,商品を選ぴ終わったら,ショッピングカート内の商品の購入手続を行う。
  • 商品には,通常商品と予約販売商品の2種類がある。
  • 通常商品を購入した場合の配送手続では,即座に商品の配送処理が行われる。
  • 予約販売商品を購入した場合の配送手続では,配送のための情報がデータベースに保存され,実際の配送処理は商品の発売開始日以降に行われる。
  • 商品の配送処理は,既存の配送処理システムと連携することによって行う。販売用Webサイトは,購入された商品の情報を配送処理システムに通知する。配送処理システムは,通知された商品の情報をとりまとめて,配送業者に集配依頼の情報を送る。
〔ショッピングカート〕
  • 顧客がショッピングカートに商品を追加すると,追加された商品の在庫数を,追加された数量分だけ減らす。ただし,商品の在庫数が不足している場合は,ショッピングカートに商品を追加せず,在庫数も減らさない。
  • 顧客がショッピングカートから商品を削除すると,削除された商品の在庫数を,削除された数量分だけ増やす。

 販売用Webサイトの開発を行うに当たり,データベース及びショッピングカートの設計を次のように行った。

〔データベースの設計〕
 販売用Webサイトで使用するデータベースには,商品在庫情報テーブル,ショッピングカート情報テーブル及び販売明細テーブルを用意する。
 商品在庫情報テーブルには,商品名や単価などの商品に関する情報と,その在庫数を格納する。商品は,商品IDで一意に識別する。
 ショッピングカート情報テーブルには,ショッピングカートに入っている商品の商品IDと数量を格納する。ショッピングカートは,顧客IDで一意に識別する。
 販売明細テーブルには,顧客が購入した商品の情報を格納する。販売明細は,注文IDと商品IDの複合キーで一意に識別する。注文IDは,購入手続を行ったときに発行されるIDである。
 なお,販売用Webサイトに用いるデータベースでは,トランザクション内でテーブルに対する更新アクセスが発生するとテーブル単位のロックがかかり,トランザクション終了時に,すべてのロックが解除される仕組みになっている。

〔ショッピングカートの設計〕
 ショッピングカートに関連する部分のクラス図を図1に示す。また,顧客がショッピングカートに商品を追加してから,商品を購入するまでの流れを表したアクティビティ図を図2に示す。
 商品クラスと商品在庫管理クラスは,aクラスとして定義する。それをbするcクラスとして,通常商品用と予約販売商品用のクラスを定義する。
 このような設計にすることによって,ショッピングカートクラスでは,商品の種類を意識することなく,すべての商品の情報をdクラスで取り扱うことができる。
 例えば,予約販売商品をショッピングカートに追加する場合は,予約販売商品の商品IDと数量を指定してショッピングカートクラスの商品追加メソッドを実行する。
 商品追加メソッドでは,追加される商品が予約販売商品であることを判定し,予約販売商品在庫管理クラスのインスタンスを作成して在庫取得メソッドを呼び出す。在庫取得メソッドの中では,在庫数についてデータベースの書換えを行った後,eクラスのインスタンスを作成し,dクラスの型で返す。ショッピングカートは,返されたオブジェクトを属性に追加登録する。
 商品の購入手続を行うとき,通常商品と予約販売商品では,処理の大まかな流れは同一だが,配送手続に関する処理が異なる。
 ショッピングカートクラスの購入手続メソッドでは,最初に注文IDを発行する。次に,発行された注文IDを用いて,ショッピングカート内の商品の購入手続メソッドを個々に呼び出す。商品の購入手続メソッドの内部では,販売明細更新メソッドと,配送手続メソッドが順に呼び出される。このとき,販売明細更新メソッドはdクラスに実装されたメソッドが呼び出される。配送手続メソッドは,dクラスでは純粋f関数(a関数)として定義されているので,b先のクラスで実装されたメソッドが呼び出される。
pm08_1.gif/image-size:472×415
pm08_2.gif/image-size:479×368

設問1

本文中のafに入れる適切な字句を答えよ。ただし,ac及びfについては解答群の中から選び,記号で答えよ。
 deについては,図1中にあるクラス名から選び答えよ。
a,b,c,f に関する解答群
  • 依存
  • インタフェース
  • 仮想
  • 具象
  • 継承
  • 再帰
  • 集約
  • スタイルシート

-解答入力欄-

  • a:
  • b:
  • c:
  • d:
  • e:
  • f:

-解答例・解答の要点-

  • a:
  • b:
  • c:
  • d:商品
  • e:予約販売商品
  • f:

-解説-

この設問の解説はまだありません。

設問2

図2中のghに入れる適切な字句を答えよ。

-解答入力欄-

  • g:
  • h:

-解答例・解答の要点-

  • g:ショッピングカート内の商品の購入手続きを行う
  • h:ショッピングカートから商品を削除する

-解説-

この設問の解説はまだありません。

設問3

設計レビューを実施したところ,図2のアクティビティ図のとおりにプログラムを書くと,複数人が同時にアクセスしたときに,処理のタイミングによっては問題が発生する可能性があるという指摘が出た。どのような場合に,どのような問題が発生する可能性があるか。45字以内で答えよ。

-解答入力欄-


-解答例・解答の要点-

  • 商品の追加と削除が同時に行われると,デッドロックが発生することがある。 (35文字)

-解説-

この設問の解説はまだありません。
問8成績

平成21年春期 午後問題一覧

問1 問2 問3 問4 問5 問6 問7 問8 問9 問10 問11 問12 採点講評
© 2010-2021 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop