平成29年度 春期 午前Ⅱ 問23
システム開発技術
CRUDマトリックスに関する問題
CRUDマトリックスを用いてエンティティのライフサイクル分析を行った。このマトリックスから分かることはどれか。
CRUDマトリックス(原典は表。行が機能,列がエンティティ。空欄は操作なし):
| 機能\エンティティ | 顧客 | 製品 | 受注 | 受注明細 |
|---|---|---|---|---|
| 顧客登録・更新 | C R U D | |||
| 顧客検索 | R | |||
| 製品登録・更新 | C R U | |||
| 製品検索 | R | |||
| 受注登録・更新 | R | R | C U | C U |
| 受注検索 | R | R | R | R |
- ア削除する機能が用意されていないエンティティがあるので,誤登録や多重登録したエンティティを削除できないおそれがある。
- イどの機能からも参照されないエンティティがあるので,必要な機能が漏れているおそれがある。
- ウ複数の機能が同一のエンティティを更新するので,デッドロックが発生するおそれがある。
- エ複数の機能から生成されるエンティティがあるので,機能が重複しているおそれがある。
答えと解説を見る
✓ これが正解ア削除する機能が用意されていないエンティティがあるので,誤登録や多重登録したエンティティを削除できないおそれがある。
解説
削除する機能が無いエンティティがあり、誤登録を消せないおそれがあります。
CRUD マトリックスでエンティティのライフサイクルを分析するときは、各エンティティについて、生成(C)、参照(R)、更新(U)、削除(D)が、どこかの機能で一通り用意されているかを列ごとに確かめます。この表で D が付いているのは顧客の列だけで、製品、受注、受注明細の三つには削除する機能がどこにもありません。これらのエンティティは一度作られると消す手段が無いため、誤って登録したものや二重に登録したものを取り除けないおそれがあります。列ごとに C・R・U・D のどれが欠けているかを数える、という読み方を身に付けると、この種の表はすばやく判断できます。
ほかの選択肢はなぜ違うのか
- イどの機能からも参照されないエンティティが…:この表では、どの列にも参照を表す R が付いており、どの機能からも参照されないエンティティはありません。顧客、製品、受注、受注明細のいずれも、検索や登録の機能から参照されています。
- ウ複数の機能が同一のエンティティを更新する…:更新を表す U は、各エンティティについてそれぞれ一つの機能にしか付いていません。複数の機能が同じエンティティを更新するという前提がこの表に当てはまらないうえ、デッドロックは操作の有無の表だけでは判断できません。
- エ複数の機能から生成されるエンティティがあ…:生成を表す C は、どのエンティティについても一つの機能にしか付いていません。顧客は顧客登録・更新、製品は製品登録・更新、受注と受注明細は受注登録・更新でだけ生成されるので、機能の重複は読み取れません。
この問題の用語
- エンティティ情報の世界で管理の対象となる、人やものごとの一つひとつを指します。E-R図では、この対象と対象どうしの関連を組み合わせて表します。
- 分析集めたデータを細かく分けて、何がどう関わっているかを読み取ること。量が増えるほど、扱う道具も考え方も変わります。
出典:平成29年度 春期 システム監査技術者試験 午前Ⅱ 問23
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)