資格部

資格・検定の試験情報、対策方法、問題解説などをご紹介

AP 午後 情報システム開発[R3秋]

データ中心設計に関する次の記述を読んで,設問1〜4に答えよ。

 X社は,30店舗をもつスーパーマーケットチェーンである。X社の店舗は,地域の顧客ニーズに合わせた商品選定,販売戦略によって,売上げを伸ばしている。
 X社では,Webサイトで購入した商品を自宅に配送するサービス(以下,ネットスーパーという)を3年前から開始している。近年,他社も同様のサービスを開始し,競争が加熱している。
 X社のネットスーパーを支える情報システム(以下,現行システムという)は,システム機能の追加や変更(以下,機能変更という)が多く,ソフトウェアが肥大化,複雑化している。そこで,X社では,顧客や店舗スタッフからの機能変更の要求に迅速に対応することを目的に,新しいネットスーパーシステム(以下,新システムという)を構築することにした。新システムの開発は,システム部門のY君が担当することになった。

システム設計方法の調査

 Y君は,機能変更を繰り返しても,ソフトウェアの構造が複雑になりにくく,変更容易性の高いシステムが構築可能なデータ中心設計について調査した。
 X社がこれまで採用してきた  a  中心設計は,データの設計に先行して機能を設計し,機能に合わせて必要なデータを設計する手法である。この手法を用いると,業務要件が変わると機能もデータも変更が必要となる。
 一方で,データ中心設計は,データの構造は機能と比較して変わりにくいという点に注目し,機能の設計に先行してデータの設計を行う手法である。データを中心に設計することで,機能変更時にもデータの変更を少なくできる。

現行システム機能の調査

 Y君は,現行システムの三つの機能と機能変更の頻度について調査した。

(1)顧客管理機能
 顧客情報を登録,更新するための機能。顧客には,顧客種別として,個人顧客と法人顧客があり,個人顧客には一般個人顧客とX社電子マネーをもつ会員個人顧客がある。この機能は,過去3年間に顧客種別の追加に関する機能変更が1回だけあった。

(2)商品表示機能
 顧客へ商品を表示する機能。商品には,商品種別として,通常商品のほか,通常商品を束ねたセット商品,特売商品,タイムセール商品,事前に予約することによって通常商品を割引価格で購入できる事前予約商品,及び顧客の購入履歴から算出したお勧め商品がある。商品種別ごとに画面の表示方法が異なる。この機能は,顧客にX社のネットスーパーを選択してもらうための重要な機能であり,商品種別の追加に関する機能変更が多い。

(3)購入機能
 顧客が商品を購入し,料金を支払う機能。料金支払には,X社電子マネー,クレジットカード,銀行振込,3種類の他社の電子マネーが利用できる。この機能への機能変更は多くない。

概念データモデルの設計

 Y君は,現行システム機能の調査及び現行システムの関係者に対するヒアリングを行い,新システムが管理するデータの概念データモデルを設計した。図1にY君が設計した概念データモデル(抜粋)を示す。

f:id:trhnmr:20211011205124p:plain
図1 Y君が設計した概念データモデル(抜粋)

この概念データモデルのうち,通常商品と事前予約商品は  c  関係,通常商品とお勧め商品は  d  関係である。

顧客管理機能の設計

 Y君は,顧客管理機能については,システム性能に重点を置きつつ,顧客管理機能への変更が他機能に与える影響を小さくする設計とした。図2にY君が設計した顧客管理機能の論理テーブルとソフトウェアのクラス図(抜粋)を示す。

f:id:trhnmr:20211011205147p:plain
図2 Y君が設計した顧客管理機能の論理テーブルとソフトウェアのクラス図(抜粋)

 Y君は,顧客管理機能の論理テーブルとして,①顧客種別,顧客,個人顧客,法人顧客の四つのテーブルを設計した。また,ソフトウェアの設計として,②ソフトウェアの肥大化を防止するために顧客クラスを定義し,顧客クラスを継承するクラスとして一般個人顧客,会員個人顧客,法人顧客の三つのクラスを設計した。

商品表示機能の設計

 Y君は,商品表示機能は機能変更の頻度が高いことを考慮し,システム性能よりも変更容易性に重点をおいた設計とした。図3にY君が設計した商品表示機能の論理テーブルとソフトウェアのクラス図(抜粋)を示す。

f:id:trhnmr:20211011205219p:plain
図3 Y君が設計した商品表示機能の論理テーブルとソフトウェアのクラス図(抜粋)

 Y君は,商品表示機能の論理テーブルとして,③特売商品テーブル,セット商品テーブルなど商品種別ごとに多数のテーブルを作成するのではなく,商品種別と商品の二つのテーブルを作成し,運用環境へのリリース時の作業量を低減する設計とした。また,ソフトウェア設計としては商品クラスを定義するとともに,④商品種別ごとに個別のクラスを設計した。
 その後Y君は,新システムの設計及び構築を完了させ,X社は新システムを用いたネットスーパーのサービスを開始した。

出典:令和3年度秋期 問8

設問1 本文中の  a  に入れる,データ中心設計と対比される適切な字句を答えよ。

 

解答・解説
解答例

 プロセス

解説
準備中

 

 

設問2 〔概念データモデルの設計〕について,(1)〜(3)に答えよ。

 

(1)図1中の  b  に入れる適切な字句を〔現行システム機能の調査〕内の字句を使って答えよ。

 

解答・解説
解答例

 購入

解説
準備中

 

 

(2)図1中の通常商品を始点とし通常商品を終点とする1対多の関連は何を意味するか〔現行システム機能の調査〕内の字句を使って答えよ。

 

解答・解説
解答例

 セット商品

解説
準備中

 

 

(3)本文中の  c    d  に入れる適切な字句を,解答群の中から選び,記号で答えよ。

 解答群

  1. 共存
  2. 排他
  3. 包含
解答・解説
解答例

 c:ウ d:ア

解説
準備中

 

 

設問3 〔顧客管理機能の設計〕について,(1),(2)に答えよ。

 

(1)本文中の下線①について,一般個人顧客と会員個人顧客を二つのテーブルに分けるのではなく個人顧客というテーブルとした理由としてふさわしくないものを解答群の中から選び,記号で答えよ。

 解答群

  1. 一般個人顧客と会員個人顧客で属性に大きな差がないから
  2. 顧客種別には,多くの変更が入らないことが予想されるから
  3. テーブルへの列追加時に顧客管理機能のソフトウェアの影響調査の範囲が小さくなるから
  4. 販売実績の集計などを行う場合に,二つのテーブルではテーブル結合が多くなり,データベースサーバの負荷が大きいから
解答・解説
解答例

 ウ

解説
準備中

 

 

(2)本文中の下線②について,顧客クラスを定義することでソフトウェアの肥大化が防止できるのはなぜか,30字以内で述べよ。

 

解答・解説
解答例

 顧客種別によらない共通な処理を一か所で定義できるから

解説
準備中

 

 

設問4 〔商品表示機能の設計〕について,(1),(2)に答えよ。

 

(1)本文中の下線③の設計とすることで,商品種別を追加した際に,運用環境へのリリース時にどのような作業を低減できるか,20字以内で述べよ。

 

解答・解説
解答例

 データベースへのテーブル追加作業

解説
準備中

 

 

(2)本文中の下線④について,Y君が商品種別ごとにクラスを定義した理由を,商品表示機能の特徴の観点から20字以内で述べよ。

 

解答・解説
解答例

 画面の表示方法が異なるから

解説
準備中

 

 

IPA公開情報

出題趣旨

 昨今,デジタルトランスフォーメーションによって,企業と顧客との接点において情報システムが担う役割 が拡大している。自社の Web サイトで商品を魅力的に伝え,操作性が良く商品を選択・購入できるようにする ためには,システムの機能変更を繰り返す必要がある。
 本問では,スーパーマーケットのネットスーパー機能を題材に,システムへの機能追加・変更容易性を向上させるためのデータ中心設計について,基本的な理解とその設計能力を問う。

採点講評

 問 8 では,スーパーマーケットのネットスーパー機能を題材に,データ中心設計について出題した。全体と して正答率は平均的であった。
 設問 3(1)は,正答率が低かった。システム機能の設計において,システム性能と変更容易性はトレードオフの関係になる場合が多く,システムへのアクセス数や機能変更の頻度などを考慮した設計を行う必要がある。 ここでは,システム性能に重点を置くことを考慮して正答を導いてほしい。
 設問 4(1)は,正答率が低かった。機能変更に伴うテーブル追加作業のリスクについて問うた。ソースコードの変更はテスト環境で十分なテストができるが,テーブル追加作業はリリース時の限られた時間内で作業及びテストを行う必要があり,リスクが高い。システム設計においては,システム性能や変更容易性への考慮にとどまらず,リリース作業におけるリスクについても是非考慮してほしい。