平成26年度 春期 データベーススペシャリスト試験 午後Ⅰ
http://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2014h26_1/2014h26h_db_pm1_qs.pdf
問1
設問2 図1,図2及び〔D部長の指摘事項〕について,(1)~(4)に答えよ。
(2) 指摘事項①について,図2中の a ~ d に入れる属性名を答えよ。
工程 (工程ID,工程名,順序番号)
バグ種別 (バグ種別ID,バグ種別名,修正有無)
優先度 (緊急度コード,スケジュール影響度,重大度コード,ソフトウェア影響度,
優先度コード,リソース投入度)
チーム (チームID,チーム名,リーダメンバID)
メンバ (メンバID,氏名,主担当チームID,兼任担当チームID)
バグ (バグID,発見日,発見工程ID,発見メンバID,発見内容,緊急度コード,
重大度コード,同一原因バグID,バグ種別ID,作り込み工程ID,
発見すべき工程ID, a , b )
対応 (バグID,対応連番, c , d ,開始日時,終了日時)
調査 (バグID,対応連番,調査内容,確認方法)
修正 (バグID,対応連番,修正内容)
確認 (バグID,対応連番,確認結果)
図2 C君が設計した関係スキーマ(未完成)
未完成の属性となっているのは、バグと対応である。
問題を深堀して、ここに存在しない属性候補を検討する。
確認漏れを防ぐため、バグの属性、対応の属性に対して、問題用紙にIDをつけて、
問題のどこがどの項目を示したものかを印をつけて、後戻りや再検討などに時間を
取られないようにする。
バグの属性 bXX
b01 バグID,b02 発見日,b03 発見工程ID,b04 発見メンバID,b05 発見内容,
b06 緊急度コード,b07 重大度コード,b08 同一原因バグID,b09 バグ種別ID,
b10 作り込み工程ID,b11 発見すべき工程ID
対応の属性 tXX
t01 バグID,t02 対応連番,t03 開始日時,t04 終了日時
調査、修正、確認の属性 aXX
a01 調査内容,a02 確認方法,a03 修正内容,a04 確認結果
表1 バグ解決プロセスより
バグの登録
- バグを発見しメンバは,バグの発見日(b01),発見した工程(b03),発見したメンバ(b04),発見内容(b05)を登録する。登録時のバグのステータスは’未着手’である。
ステータス バグの属性が1つ見つかった。登録時に設定すべきものである。
バグの発見内容の確認
- リーダは,ステータスが’未着手’のバグを対象に,バグの発見内容(b05)を確認し、スケジュール影響度(b06)及びソフトウェア影響度(b07)を決定し,ステータスを’調査中’に変更する。
すべての属性は、定義済み
バグへの対応
- バグの原因調査,バグの修正,バグの修正内容の確認の各作業を総称して対応と呼び,その対応がどの作業であるかを,対応区分として記録する。
- 対応ごとにメンバを1人割り当てて登録する。
- 各対応を開始したら開始日時(t03)を,終了したら終了日時(t04)を,それぞれ更新する。
対応区分 対象の属性を1つ見つけた。
対応ごとにメンバを1人割り当てる となれば、 属性として メンバID が必要ということ。
バグへの対応/バグの原因調査
- バグの原因調査担当に割り当てられたメンバは,バグの原因調査を行い,調査内容(a01),再現方法(a02)を記録する。
- 既知のバグと同一原因のバグの場合は,その既知のバグ(b08)を記録し,ステータスを’解決済’に更新する。
- 既知のバグと同一原因でなかった場合は,バグ種別(b09)を記録し,成果物の修正が必要なバグ種別の場合,ステータスを’修正中’に,不要な場合,ステータスを’解決済’に更新する。
すべての属性は、定義済み
バグへの対応/バグの修正
- バグの修正担当に割り当てられたメンバは,バグの原因調査の結果に基づいて,一つまたは複数の成果物の修正を行う。
- 修正後に,修正内容(a03)と修正した成果物を記録し,ステータスを’確認中’に更新する。
修正した成果物を記録する為には、成果物ID が必要ということ。
成果物IDは、〔Bプロジェクトの概要〕の(5)に示されている。
(5) 各開発工程では,設計書,ソースコードなどのさまざまな成果物が作成される。成果物は成果物IDで一意に識別される。成果物には,成果物名,成果物の作成工程,作成担当チームが記される。
4つの属性を発見したので、試験ならば、時間が惜しいので、属性候補検討を中断するが、今は勉強なので最後まで進める。
バグへの対応/バグの修正内容の確認
- バグの修正内容の確認担当に割り当てられたメンバは,バグが解決したかどうかの確認テストを実施し,確認結果(a04)を記録する。
- 確認テストの結果,バグが解決していた場合は,ステータスを’解決済’に更新する。
- 確認テストの結果,バグが解決していない場合は,ステータスを’調査中’に更新し、バグの原因調査(a01)を新たな対応として実施する。
新たな属性候補は、発見できず。
バグのクローズ
- リーダは,ステータスが’解決済’のバグを対象に,成果物の修正が必要なバグ種別(b09)のバグの対応内容(a03)を確認し,バグの原因を作り込んだと考えられる工程(b10),バグを発見すべきと考えられる工程(b11)を記録する。
- ステータスが’解決済’のバグについて完了日を記録し、ステータスを’クローズ済’に更新し、一連のバグ解決プロセスを完了する。
しまった!5つめの属性が見つかった。しかも、これこそバグの属性の本命だ。
試験でも、同様に早合点せず、最後まで検討しないと、見落として誤りの結果をこじつけして
しまうことになりそうである。
5つの属性の検討
バグの属性
ステータス と 完了日
対応の属性
対応区分 と 対応担当メンバID(○○担当に割り当てられたメンバとあり、より適切)
成果物IDは、勘違い
成果物IDについての再検討
対応と成果物は、対応からみると1対多の関係になる。
成果物からみると、1対多の関係になる。
つまり、対応エンティティと成果物エンティティを結びつけるエンティティを間に持つ
リレーションシップとなるため、対応側にも、成果物側にもPKとなる属性は持たない。
【回答】
(a) ステータス
(b) 完了日
(c) 対応区分
(d) 対応担当メンバID
コメント
コメントを投稿