平成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)に答えよ。
(1) 表 7 中の項番②,③の検索を行うためには,どのような関係代数演算を行えばよいか。
表 7 中の項番①の例に倣って, e ~ j に入れる適切な字句を答えよ。
なお,関係代数演算の表記法は,表6に従うこと。
注記 比較演算子は,<,=,>のいずれかである。演算結果を使って入れ子になる演算を行う場合には,演算の過程で生じる中間の関係は,括弧でくくる。例えば,選択演算の結果の関係に対して,結合演算を行う場合は,次のような形式になる。
②の検討
バグが発見された工程と,そのバグを本来発見すべきと考えられる工程が同一のバグ
関係”バグ”の対象となる値
対象となる関係は、”バグ”
条件は「選択」で、発見工程ID = 発見すべき工程ID
これを表6の関係代数演算にあてはめる
【回答】
e : バグ[発見工程ID = 発見すべき工程ID]
③の検討
ソフトウェアの品質分析を行う際に分析対象とするバグIDを求める。
上の下線のことを説明している個所を調べる必要がある。
〔バグ管理の概要〕
(4)ソフトウェアの品質管理を行うメンバは,登録されたバグの集計及び分析を行う。品質分析の対象とするバグは,成果物の修正が必要なバグ種別が設定されたバグである。
上の下線の部分がそれに該当するものと思われる。
対象となる関係は、”バグ”と”バグ種別”
関係”バグ”の対象となる値
関係”バグ種別”の対象となる値
まず、成果物の修正が必要なバグ種別について
条件は「選択」で、修正有無 = 'あり'
これを表6の関係代数演算にあてはめる
バグ種別[修正有無 = 'あり'] [バグ種別ID] … (α)
http://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2014h26_1/2014h26h_db_pm1_qs.pdf
問1
設問3 表3~7及び〔バグの集計及び分析〕について,(1)~(3)に答えよ。
(1) 表 7 中の項番②,③の検索を行うためには,どのような関係代数演算を行えばよいか。
表 7 中の項番①の例に倣って, e ~ j に入れる適切な字句を答えよ。
なお,関係代数演算の表記法は,表6に従うこと。
表3 関係”バグ”の具体例(一部属性は省略)
バグID | 発見日 | 発見 工程ID | 同一原因 バグID | バグ種別ID | 作り込み 工程ID | 発見すべき 工程ID | … |
---|---|---|---|---|---|---|---|
B1 | 2013-07-19 | K5 | NULL | S2 | K2 | K5 | … |
B2 | 2013-07-19 | K5 | B1 | NULL | NULL | NULL | … |
B3 | 2013-08-22 | K6 | NULL | S3 | NULL | NULL | … |
B4 | 2013-08-25 | K6 | NULL | S4 | K3 | K6 | … |
B5 | 2013-09-02 | K7 | NULL | S1 | K1 | K2 | … |
表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]S
| RAは関係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 | 発見日 | 発見 工程ID | 同一原因 バグID | バグ種別ID | 作り込み 工程ID | 発見すべき 工程ID | … |
---|---|---|---|---|---|---|---|
B1 | 2013-07-19 | K5 | NULL | S2 | K2 | K5 | … |
B2 | 2013-07-19 | K5 | B1 | NULL | NULL | NULL | … |
B3 | 2013-08-22 | K6 | NULL | S3 | NULL | NULL | … |
B4 | 2013-08-25 | K6 | NULL | S4 | K3 | K6 | … |
B5 | 2013-09-02 | K7 | NULL | S1 | K1 | K2 | … |
対象となる関係は、”バグ”
条件は「選択」で、発見工程ID = 発見すべき工程ID
これを表6の関係代数演算にあてはめる
【回答】
e : バグ[発見工程ID = 発見すべき工程ID]
③の検討
ソフトウェアの品質分析を行う際に分析対象とするバグIDを求める。
上の下線のことを説明している個所を調べる必要がある。
〔バグ管理の概要〕
(4)ソフトウェアの品質管理を行うメンバは,登録されたバグの集計及び分析を行う。品質分析の対象とするバグは,成果物の修正が必要なバグ種別が設定されたバグである。
上の下線の部分がそれに該当するものと思われる。
対象となる関係は、”バグ”と”バグ種別”
関係”バグ”の対象となる値
バグID | 発見日 | 発見 工程ID | 同一原因 バグID | バグ種別ID | 作り込み 工程ID | 発見すべき 工程ID | … |
---|---|---|---|---|---|---|---|
B1 | 2013-07-19 | K5 | NULL | S2 | K2 | K5 | … |
B2 | 2013-07-19 | K5 | B1 | NULL | NULL | NULL | … |
B3 | 2013-08-22 | K6 | NULL | S3 | NULL | NULL | … |
B4 | 2013-08-25 | K6 | NULL | S4 | K3 | K6 | … |
B5 | 2013-09-02 | K7 | NULL | S1 | K1 | K2 | … |
関係”バグ種別”の対象となる値
バグ種別ID | バグ種別名 | 修正有無 |
---|---|---|
S1 |
インタフェースの誤り
| あり |
S2 |
業務ロジックの誤り
| あり |
S3 |
仕様どおり
| なし |
S4 |
エラーチェックの誤り
| あり |
S5 |
テスト実施手順の誤り
| なし |
S6 |
機能の欠如
| あり |
S7 |
データの誤り
| なし |
まず、成果物の修正が必要なバグ種別について
条件は「選択」で、修正有無 = 'あり'
これを表6の関係代数演算にあてはめる
バグ種別[修正有無 = 'あり'] [バグ種別ID] … (α)
次に2つの関係の結合について
1つ目の関係は「バグ」、条件となる項目は、「バグ種別ID」
2つ目の関係は「(α)」、条件となる項目は、「バグ種別ID」
全体を表6の関係代数演算にあてはめる
(バグ[バグ種別ID = バグ種別ID]
(バグ種別[修正有無 = 'あり'] [バグ種別ID]
) ) [バグID]
【回答】
f : バグ
g : バグ種別ID
h : バグ種別
i : 修正有無
j : 'あり'
2つ目の関係は「(α)」、条件となる項目は、「バグ種別ID」
全体を表6の関係代数演算にあてはめる
(バグ[バグ種別ID = バグ種別ID]
(バグ種別[修正有無 = 'あり'] [バグ種別ID]
) ) [バグID]
【回答】
f : バグ
g : バグ種別ID
h : バグ種別
i : 修正有無
j : 'あり'
コメント
コメントを投稿