スキップしてメイン コンテンツに移動

平成26年度 春期 データベーススペシャリスト試験 午後Ⅰ 問1 設問3 (2)

平成26年度 春期 データベーススペシャリスト試験 午後Ⅰ
http://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2014h26_1/2014h26h_db_pm1_qs.pdf

問1

 設問3 表3~7及び〔バグの集計及び分析〕について,(1)~(3)に答えよ。

 (2) 表 7 中の項番④の関係代数演算式は,どのようなバグを検索するために行うものか。
    k に入れる適切な字句を,工程名を含めて20文字以内, l に入れる適切な字句を
   15字以内で,それぞれ具体的に述べよ。


表3 関係”バグ”の具体例(一部属性は省略)

バグID発見日発見
工程ID
同一原因
バグID
バグ種別ID作り込み
工程ID
発見すべき
工程ID
B12013-07-19K5NULLS2K2K5
B22013-07-19K5B1NULLNULLNULL
B32013-08-22K6NULLS3NULLNULL
B42013-08-25K6NULLS4K3K6
B52013-09-02K7NULLS1K1K2


表4 関係”工程”の具体例

工程ID工程名順序番号
K1
基本設計
1
K2
詳細設計
2
K3
プログラム設計
3
K4
実装
4
K5
単体テスト
5
K6
結合テスト
6
K7
総合テスト
7


表5 関係”バグ種別”の具体例

バグ種別IDバグ種別名修正有無
S1
インタフェースの誤り
あり
S2
業務ロジックの誤り
あり
S3
仕様どおり
なし
S4
エラーチェックの誤り
あり
S5
テスト実施手順の誤り
なし
S6
機能の欠如
あり
S7
データの誤り
なし

〔バグの集計及び分析〕

 C君は,バグの集計及び分析を行う際に使用する,関係”バグ”,”工程”,”バグ種別”に対する検索内容と関係代数演算について検討した。 表6は,関係代数演算の表記法を示したものであり,表7は,表3~5の具体例を用いて検討した検索内容及び関係代数演算である。


表6 関係代数演算の表記法

演算備考
射影R[A1, A2, …]A1,A2は関係Rの属性を表す。同じ内容の
タプルは,重複が排除される。
選択R[X  比較演算子  Y]X,Yは関係Rの属性を表す。X,Yのいずれか一方は,
定数でもよい。
結合R[RA 比較演算子 SA]SRAは関係Rの属性,SAは関係Sの属性を表す。
注記 比較演算子は,<,=,>のいずれかである。演算結果を使って入れ子になる演算を行う場合には,演算の過程で生じる中間の関係は,括弧でくくる。例えば,選択演算の結果の関係に対して,結合演算を行う場合は,次のような形式になる。

 (R[X 比較演算子 Y]) [RA 比較演算子 SA]S


表7 検討した検索内容及び関係代数演算

項番検索内容関係代数演算式検索結果
2013年7月19日に発見された
バグについて,
バグIDの値を求める。
(バグ[発見日 = '2013-07-19'])[バグID]B1,B2
バグが発見された工程と,
そのバグを本来発見すべきと
考えられる工程が同一の
バグについて,そのバグIDの
値を求める。
(    e    )[バグID]  ア  
ソフトウェアの品質分析を
行う際に分析対象とする
バグIDを求める。
( f  [  g    g  ]
( h  [  i    j  ]
) ) [バグID]
  イ  
   k   
   l   と考え
られるバグについて,
バグIDの値を求める。
(バグ[作り込み工程ID = 工程ID]
(工程[順序番号 < 順序番号]
(工程[工程ID = 'K3'] ) ) )[バグID]
  ウ  


関係代数演算式によって対象となる値を見て理解する。

対象となる関係は、”バグ”と”工程”


関係”工程”の対象となる値
 工程[工程ID = 'K3']
工程ID工程名順序番号
K1
基本設計
1
K2
詳細設計
2
K3
プログラム設計
3
K4
実装
4
K5
単体テスト
5
K6
結合テスト
6
K7
総合テスト
7


関係”工程”の対象となる値
 工程[順序番号 < 順序番号] (工程[工程ID = 'K3']) … (α)
工程ID工程名順序番号
K1
基本設計
1
K2
詳細設計
2
K3
プログラム設計
3
K4
実装
4
K5
単体テスト
5
K6
結合テスト
6
K7
総合テスト
7
工程ID工程名順序番号
K3プログラム設計 3

関係”バグ”の対象となる値
 バグ[工程ID = 作り込みID](α)
バグID発見日発見
工程ID
同一原因
バグID
バグ種別ID作り込み
工程ID
発見すべき
工程ID
B12013-07-19K5NULLS2K2K5
B22013-07-19K5B1NULLNULLNULL
B32013-08-22K6NULLS3NULLNULL
B42013-08-25K6NULLS4K3K6
B52013-09-02K7NULLS1K1K2

kには、工程名を含めてという条件があるので、それを意識して文章を作る。

「基本設計や詳細設計による開発工程」で、
「バグの原因を作り込んだ」と考えられるバグについて,バグIDの値を求める。

【回答】

k : 基本設計や詳細設計による開発工程 (16文字)
l : バグの原因を作り込んだ (11文字)

コメント

このブログの人気の投稿

平成26年度 春期 データベーススペシャリスト試験 午後Ⅰ 問2 設問1 (1)

平成26年度 春期 データベーススペシャリスト試験 午後Ⅰ http://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2014h26_1/2014h26h_db_pm1_qs.pdf 問2  設問1 会議室予約システムについて,(1)~(4)に答えよ。  (1) 図2中のSQL文の  a  ~  c  に入れる適切な字句を答えよ。 〔会議室予約システムのテーブル〕  会議室予約システムの主要なテーブルのテーブル構造,概要は,図1,表1のとおりである。  社員( 社員番号 ,社員氏名,…)  会議室( 会議室番号 ,収容可能人数,階数,プロジェクタ設置有無,TV会議設備設置有無,…)  会議室予約( 会議室番号 , 予約日 , 予約開始時刻 ,予約終了時刻, 社員番号 ) 図1 主要なテーブルのテーブル構造(一部省略) 表1 主要なテーブルの概要 テーブル名 概要 社員 ・社員の情報を管理する。社員番号で社員を一意に識別する。 会議室 ・会議室の情報を管理する。会議室番号で会議室を一意に識別する。 ・会議室ことに収容可能な人数,階数,設備の設置有無が設定されている。 会議室予約 ・会議室の予約状況を管理する。会議室番号,予約日,予約開始時刻で 会議室予約を一意に識別する。 ・予約開始時刻及び予約終了時刻の分の指定は00分または30分とする。 〔会議室予約システムでの検索〕  会議室予約システムで空き会議室の検索結果一覧を表示する際に必要な情報を得るために実行するSQL文の例を図2に示す。  なお,図2中のホスト変数のhv1は予約希望日,hv2は予約希望開始時刻,hv3は予約希望終了時刻を表す。 SELECT * FROM 会議室 X WHERE  a  (SELECT * FROM 会議室予約 Y WHERE X.会議室番号 = Y.会議室番号 AND Y.予約日 = :hv1 AND Y.予約開始時刻  b  :hv3 AND Y.予約終了時刻  c  :hv2) 図2 検索で実行するSQL文の例 図2のSQLから、判明できることは、 対象となる...

平成26年度 春期 データベーススペシャリスト試験 午後Ⅰ 問3 設問3 (1)

平成26年度 春期 データベーススペシャリスト試験 午後Ⅰ http://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2014h26_1/2014h26h_db_pm1_qs.pdf 問3 テーブルの設計及びSQLの設計に関する次の記述を読んで,設問1~3に答えよ。  設問3 〔注文トランザクションの設計〕について,(1),(2)に答えよ。  (1) 次のTR1~TR4のうち,いずれか二つの組合せのトランザクションを同時に実行したとき,デッドロックが起こるおそれがある。次の表中の  ウ  ~  カ   にデッドロックが起きない組合わせには○を,起きるおそれがある組合わせには×を記入せよ。   TR1:単品商品2個を注文する。   TR2:単品商品1個とセット商品1個を注文する。   TR3:セット商品1個を注文する。   TR4:セット商品2個を注文する。 \ TR1 TR2 TR3 TR4 TR1 ○  ウ   エ  × TR2 \ × × × TR3 \ \  オ   カ  TR4 \ \ \ × 問題の対象となっているのは、以下の内容である。 〔注文トランザクションの設計〕  Fさんは,注文トランザクションについて,次のように設計した。 (1) 注文単位を一つのトランザクションで処理し,最後にCOMMIT文を発行する。 (2) 注文に基づいて,”注文”テーブル及び”注文明細”テーブルに行を挿入する。 (3) 商品については,商品一覧画面に表示された順番に”在庫”テーブルの  引当可能数を調べ,引当可能ならば注文数を減算した値で引当可能数を更新する。 (4) セット商品が在庫不足のとき,”在庫”テーブルの不足セット商品数に不足数を  加算する。”セット商品構成”テーブルから,主キー順に当該セット商品を構成する  単品商品の構成数を調べ,必要数を計算する。単品商品については,”在庫”  テーブルの引当可能数には必要数を減算した値で、不足セット商品用引当済には  必要数を加算した値で更新する。 (5) トランザクションのISOLATIONレベルは,READ COMMITTEDとする。 検討す...

平成26年度 春期 データベーススペシャリスト試験 午後Ⅰ 問3 設問3 (2)

平成26年度 春期 データベーススペシャリスト試験 午後Ⅰ http://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2014h26_1/2014h26h_db_pm1_qs.pdf 問3 テーブルの設計及びSQLの設計に関する次の記述を読んで,設問1~3に答えよ。  設問3 〔注文トランザクションの設計〕について,(1),(2)に答えよ。  (2) (1)で起きるおそれがあるとしたデッドロックを防ぐためには,一つのトランザクションの中で”在庫”テーブルの行をどの列の順番で更新すればよいか。列名を答えよ。  案1の”商品”テーブルの構造を図2に、案2の”単品商品”テーブル及び”セット商品” テーブルの構造を図3に示す。  商品( 商品番号 ,商品名,商品説明,写真,販売単価,表示順,単品区分,     社内原価, 化粧箱番号 ,詰合せ日数) 図2 案1の ”商品”テーブルの構造  単品商品( 商品番号 ,商品名,商品説明,写真,販売単価,表示順,社内原価)  セット商品( 商品番号 ,商品名,商品説明,写真,販売単価,表示順,         化粧箱番号 ,詰合せ日数) 図3 案2の ”単品商品”テーブル及び”セット商品”テーブルの構造  Fさんは,関係”在庫”については,一つの”在庫”テーブルを設計した。”在庫”テーブルと, その他の主なテーブルの構造を,図4に示す。図4のテーブルは,全て案1,2に共通する。 また,主な列の意味を表1に示す。  セット商品構成( セット商品番号 , 単品商品番号 ,構成数)  在庫( 商品番号 ,引当可能数,不足セット商品数,不足セット商品用引当済数)  注文( 注文番号 ,注文日,お届け予定日,住所,顧客名,電話番号,支払情報)  注文明細( 注文番号 , 注文明細番号 , 商品番号 ,販売単価,注文数) 図4 両案に共通の主な テーブルの構造 注文の主キーである商品番号は、商品を示しており、その列には、表示順が存在する。 この順に全てのトランザクションがアクセスするなら、逆順にアクセスすることがなくなり、 デッドロックが発生しない。 ...