平成29年度 秋期 システム監査技術者試験 午前II 問23
【問題23】
CRUD マトリックスを用いてエンティティのライフサイクル分析を行った。このマトリックスから分かることはどれか。
削除する機能が用意されていないエンティティがあるので,誤登録や多重登録したエンティティを削除できないおそれがある。
どの機能からも参照されないエンティティがあるので,必要な機能が漏れているおそれがある。
複数の機能が同一のエンティティを更新するので,デッドロックが発生するおそれがある。
複数の機能から生成されるエンティティがあるので,機能が重複しているおそれがある。
【解説】
CRUD マトリックスは、各エンティティに対して Create(作成), Read(参照), Update(更新), Delete(削除) のどの操作が実行されるかを示すものです。これを分析することで、以下のような問題点を検出できます。
ア: 削除する機能が用意されていないエンティティがあるので,誤登録や多重登録したエンティティを削除できないおそれがある。
正しい。CRUD マトリックスを見ると、エンティティ「製品」「受注」「受注明細」には「D(削除)」の操作がありません。これにより、誤登録や不要になったデータが削除できず、データの整合性が損なわれる可能性があります。
イ: どの機能からも参照されないエンティティがあるので,必要な機能が漏れているおそれがある。
誤り。マトリックスを見ると、すべてのエンティティが「R(参照)」されているため、どの機能からも参照されないエンティティはありません。
ウ: 複数の機能が同一のエンティティを更新するので,デッドロックが発生するおそれがある。
誤り。複数の機能が同じエンティティを更新すること自体は一般的な設計ですが、デッドロックが発生するかどうかはトランザクション管理やロックの実装次第です。マトリックスの情報だけではデッドロックの危険性は判断できません。
エ: 複数の機能から生成されるエンティティがあるので,機能が重複しているおそれがある。
誤り。エンティティが複数の機能から作成されることは、システムの設計上許容される場合があり、それだけで機能の重複が発生しているとは言えません。
【答え】
ア: 削除する機能が用意されていないエンティティがあるので,誤登録や多重登録したエンティティを削除できないおそれがある。
出典:平成29年度 春期 システム監査技術者試験 午前II 問23