平成20年度 春期 ソフトウェア開発技術者試験 問61−80 解答編




このページは

ソフ開

(ソフトウェア開発技術者試験)

解答と解説のページです。

問題だけで勉強したい方は目次へ戻ってください



問61 導出表を説明したものはどれか。
実表に依存していない表のことである。
実表の一部をコピーして別に保存した表である。
何らかの問合せによって得られた表である。
二つ以上の実表の関連である。
解答
解説 導出表とは、データベースにおいて元の表に何らかの処理を行い導出した表のことをいいます。具体的にはビューなどがこれの一種に相当します。

問62 データベースの論理モデルに関する記述のうち、適切なものはどれか。
階層モデルは、多対多のレコード関係を表現するのに適している。
関係モデルでは、子レコードはただ一つの親レコードに属する。
ネットワークモデルは、行と列からなる表で表現される。
ボイス・コッド正規形は、関係モデルで使用される形式である。
解答
解説 論理モデルとは、データベースを構築する際のデータ構造などを抽象できなモデルで表現したものです。代表的なものに、階層モデル、ネットワークモデル、関係モデル、オブジェクトモデルなどがあります。それぞれの選択肢をみていきます。

選択肢ア:階層モデルは木構造のような形になり、1対多の関係を表します。
選択肢イ:表のような形でデータを表現します。子レコードは複数の親レコードに所属することもあります。
選択肢ウ:一般的なネットワークをあらわすのに利用されるもので、多対多の関係を表すのに適しています。
選択肢エ:関係モデルの正規系の種類の1つで、全ての関数従属性の決定項が候補キーである場合の形態をいいます。

問63 属性xの値によって属性yの値が一意に定まることを、||→||で表す。図に示される関係を、第3正規形の表として正しく定義されているものはどれか。ここで、||の四角内に複数の属性が入っているものは、それら複数の属性すべての値によって、属性yの値が一意に定まることを示す。

画像(問63)を表示できません

表1{a}
表2{b,c,d,e}
表3{f,g,h}

表1{a,b,c,d,e}
表2{a,c}
表3{b,e,f,g,h}

表1{a,b,c,d,e}
表2{b,c,f,g,h}
表3{b,c,h}

表1{a,b,c,d,e}
表2{b,f,g}
表3{b,c,h}
解答
解説 まずは、日本語で図の内容をまとめておきます。

aが決まると、b、c、d、eが一意に決まる。
bが決まると、f、gが一意にきまる。
b、cが決まると、hが一意に決まる。

これをまとめると
{a、b、c、d、e}(主キーはa)
{b、f、g}(主キーはb)
{b、c、h}(複数キーは、bとc)


最後に、リレーショナルデータベースについてまとめて起きます。通常は第3正規形までですが、ボイス・コッドや第4、第5正規形というのもあります。

第1正規形:繰り返しや、反復している部分を独立させる。
第2正規形:第1正規形であり、部分関数従属を除去する(完全関数従属にする)
第3正規形:第2正規形であり、主キー以外に従属するものを除去する(推移従属を除去する)

用語についても少し解説しておきます。
関数従属:BがAに関数従属するとは、A(例:社員番号)を決めるとB(社員名)が一意に決定するというもの。Aを決定項、Bを従属項といいA→Bであらわす。
完全関数従属:決定項に余分なものがないときにいう。社員番号→社員名など。
部分関数従属:決定項に余分なものがあるときにいう。{社員番号、部署番号}→社員名など(部署番号がなくても社員名を特定できる)
推移関数従属:主キー以外に従属するものをいう。{社員番号}→{部署番号、部署名、社員名}のとき部署名は、部署番号にも従属しているので推移従属となる。

問64 関係代数における直積に関する記述として、適切なものはどれか。
ある属性の値に条件を付加し、その条件を満たすすべてのタプルの集合である。
ある一つの関係の指定された属性だけを残して、ほかの属性を取り去って得られる属性の集合である。
二つの関係における、あらかじめ指定されている二つの属性の2項演算を満たすすべてのタプルの組合せの集合である。
二つの関係における、すべてのタプルの組合せの集合である。
解答
解説 それぞれの用語をまとめると以下のようになります。

選択肢ア:選択
選択肢イ:射影
選択肢ウ:結合
選択肢エ:直積

問65 “注文”表と“製品”表に対して、次のSQL文を実行したときに得られる結果はどれか。

画像(問65)を表示できません
画像(問65ans)を表示できません
解答
解説 二つの表を製品コードを用いて結合しています。よって二つの表で製品コードが同じになっているものが結合されて表示されます。注文表を上から順にたどっていくと、P2、P1、P4、P1、P3となります。これに対応する製品名と数量が表示されるので

テレビ 120
PC 100
冷蔵庫 50
PC 100
掃除機 70

となります。重複している除去したり、値を演算する処理がないためこのようになります。

問66 三つのトランザクションT1、T2、T3、が@〜Jの順序でデータa、bに対する処理を行った場合、デッドロックとなるのはどの時点か。ここで、DBMSはREADの直前に共有ロック、UPDATEの直前に占有ロックをかけ、ROLLBACK又はCOMMITですべてのロックを解除する。

画像(問66)を表示できません
E
F
G
H
解答
解説 デッドロックとは、互いに資源を保有し、それを解放しないで、別の他者が保有する資源を要求するということが互いに起きることで、お互いに処理が進まなくなる現象です。また、共有ロックはほかの共有ロックを許しますが、占有ロックはほかのいかなるロックもできません。デッドロックのイメージを以下に示します。

デッドロックを表示できません

それでは、順番にトレースしていきます。

1.T1がaを共有ロックします。
2.T2がbを占有ロックします。
3.T2がbのロックを解除します。
4.T1がbを共有ロックします。
5.T3がbを共有ロックします。
6.T3がaを占有ロックしようとします。(T1が確保しているので、共有ロックが解かれるまで待たされます。)
7.T1がbを占有ロックしようとします。(T3が確保しているので、共有ロックが解かれるまでまたされます。)
いつまでたっても、処理が進まなくなるので、デッドロックとなります。

問67 DBMSをシステム障害発生後に再立上げするとき、前進復帰(ロールフォワード)すべきトランザクションと後退復帰(ロールバック)すべきトランザクションの組合せとして、適切なものはどれか。ここで、トランザクションの中で実行される処理内容は次のとおりとする。

画像(問67)を表示できません
画像(問67ans)を表示できません
解答
解説 まず、DBの代表的な復旧方法である、ロールバックとロールフォワードを下に図示します。

ロールバックとロールフォワードを表示できません

システムの論理的な障害の場合は、ロールバックをしますが、コミットに失敗したトランザクションだけを処理すればよいので、チェックポイント以前の回復作業は不要です。(物理的な障害の場合は必要です。)

まず、T3,T4,T6はコミットをする前に障害が発生しましたので、後退復帰(ロールバック)の対象となります。
つぎに、T2,T5はチェックポイント後にコミットをしましたが、次のチェックポイントの前に障害が発生したので、前進復帰(ロールフォワード)の対象となります。
最後に、Readしか行っていないT3,T4はデータベースへの書き込みを行っていないため、復旧の対象外となります。

なので、T2,T5は前進復帰、T6が後退復帰となります。

問68 クライアントサーバシステムにおいて、データベースにアクセスするときに、利用頻度の高い命令群をあらかじめサーバに用意しておくことによって、ネットワーク負荷を軽減できる機能はどれか。
2相コミットメント機能
グループコミットメント機能
サーバプロセスのマルチスレッド機能
ストアドプロシージャ機能
解答
解説 ストアドプロシージャ(Stored Procedure)機能とは、データベースサーバにおいて、あらかじめ使用頻度の高い命令群をサーバ側に用意しておくことで、わずかな引数のやり取りだけでSQL文などを実行する機能のことです。インデックスの見直しや再編成では、検索速度は上がりますが、セキュリティの向上やネットワークの通信回数などは変化しません。

2相コミットメントは、分散データベースにおいて整合性を保つためのコミット手法です。
グループコミットメントは、複数のコミットをまとめて行う手法です。
サーバプロセスのマルチスレッドは、複数のクライアントに対応するための手法です。

問69 トランザクションのACID特性のうち、原子性(atomicity)の記述として、適切なものはどれか。
データベースの内容が矛盾のない状態であること
トランザクションが正常終了すると、障害が発生しても更新結果はデータベースから消失しないこと
トランザクションの処理がすべて実行されるか、全く実行されないかのいずれかで終了すること
複数のトランザクションが同時に実行した場合と、順番に実行した場合の処理結果が一致すること
解答
解説 原子性を含めた、トランザクションのACID特性について以下にまとめます。

原子性(Atomicity):完全に実行されるか、全く処理をしない
一貫性(Consistency):データの整合性が保たれ、矛盾がない
独立性(Isolation):処理過程は他者から隠蔽され、影響されない
永続性(Durability):完了した操作は、失われない

選択肢アは、一貫性の説明です。
選択肢イは、永続性の説明です。
選択肢エは、独立性の説明です。

問70 SQLインジェクション対策として行う特殊文字の無効化操作はどれか。
クロスサイトスクリプティング
サニタイジング
パケットフィルタリング
フィッシング
解答
解説 SQLインジェクションとは、Webアプリケーションの入力データとしてデータベースへの命令文を構成するデータを入力し、想定外のSQL文を実行することです。これにより、管理者が表示させたくない情報が流出してしまう可能性があります。そのために、SQLの特殊な文字を解釈されないようにサニタイジングと呼ばれる無効化処理をする必要があります。

クロスサイトスクリプティングとは、利用者が入力したデータをそのままブラウザに表示する機能がWebページにあるとき、その機能の脆弱性を突いて悪意のあるスクリプトを埋め込み、そのページにアクセスした他の利用者の情報を不正に取得するような行為をいいます。SQLインジェクションと同様にサニタイジングが有効です。
パケットフィルタリングとは、ファイアウォールなどで用いられている技術で、パケットのヘッダと方向を見てパケット(アクセス)を通過するか遮断するかを決める機能です。
フィッシングとは、偽者のWebページに誘い出し個人情報を入力させ盗む行為です。

問71 A社のWebサーバは、認証局で作成したWebサーバ用のディジタル証明書を使ってSSL通信を行っている。A社のWebサーバにアクセスしたPCが、ディジタル証明書を入手した後に認証局の公開鍵を利用する処理はどれか。
暗号化通信に利用する共通鍵を生成し、認証局の公開鍵で暗号化する。
認証局の公開鍵を使って、暗号化通信に利用する共通鍵を復号する。
認証局の公開鍵を使って、ディジタル証明書の正当性を検証する。
秘匿データを認証局の公開鍵で暗号化する。
解答
解説 認証局は、公開鍵とディジタル証明書をセットで保管し、中立な立場でディジタル証明書の内容を保証します。具体的には事前に会社から公開鍵と会社の存在を証明する内容を受け取り登録します。そしてディジタル証明書を発行します。会社は利用者にこの証明書を送信し、利用者はこの証明書の正当性を認証局に問い合わせます。

このとき、このディジタル証明書は認証局の秘密鍵で暗号化されているので、認証局の公開鍵を使って内容を復号し正当性を確認する必要があります。認証局の公開鍵はあらかじめブラウザにインストールされている場合が多いです。

問72 暗号解読のための攻撃のうち、ブルートフォース攻撃はどれか。
与えられた1組の平文と暗号文の鍵の候補を総当りで解読を試みる。
暗号化関数の統計的な偏りを線形関数によって近似して解読を試みる。
暗号化装置のソフトウェアやハードウェアの解析を行って解読を試みる。
異なる二つの平文とそれぞれの暗号文の差分を観測して解読を試みる。
解答
解説 ブルートフォースとは総当り攻撃とも呼ばれ、あらゆる文字の組合せを試していく方法です。極めて時間がかかりますが確実にパスワードをクラックできる手法といえます。ログインが連続で何度か失敗したら、しばらくアクセスを禁止するなどの方法で対策を講じることができます。


問73 暗号方式に関する記述のうち、適切なものはどれか。
AESは公開鍵暗号方式、RSAは共通鍵暗号方式の一種である。
共通鍵暗号方式では、暗号化鍵と復号鍵が同一である。
公開鍵暗号方式を通信内容の秘匿に使用する場合は、暗号化鍵を秘密にして、復号鍵を公開する。
ディジタル署名に公開鍵暗号方式が使用されることはなく、共通鍵暗号方式が使用される。
解答
解説 まず、暗号技術はいかのように、暗号鍵と復号鍵を利用します。この暗号鍵と復号鍵が同じものを利用する形式を共通鍵暗号方式、異なるものを利用する形式を公開鍵暗号方式といいます。

暗号を表示できません

共通鍵暗号方式は、暗号強度が弱く、鍵の管理が大変ですが、処理が高速という特徴があります。代表的なものにDES、AES(Rijndael)があります。
公開鍵暗号方式は、暗号強度が強く、鍵の管理が容易ですが、処理に時間がかかるという特徴があります。代表的なものに、RSA、ElGamal暗号があります。

ディジタル署名は公開鍵暗号方式で利用されます。

問74 完全一致によるパターンマッチング方式のウイルス対策ソフトは、ウイルス単体の特徴あるコード列を照合に用いる。そのコード列の長さと検出の関係はどれか。
コード列が長いほど、ウイルスの亜種を検出する可能性も高くなる。
コード列が長いほど、未知のウイルスを検出する可能性が高い。
コード列が短いほど、ウイルス名を正しく特定する可能性が高い。
コード列が短いほど、正常なプログラムを語検出する可能性が高くなる。
解答
解説 コードが長いほど、ウィルスを検出することができますが亜種などの見逃しも多くなります。逆に、コードが短いほど見逃しが少なくなくなりますが、ウィルス以外を誤検出することが多くなります。

なお、一般的に未知のウィルスはパターンマッチングで検出することは難しく、挙動などをしらべて検出するのが一般的です。

問75 パケットフィルタリング型ファイアウォールがルール一覧に示したアクションに基づいてパケットを制御する場合、パケットAに対する処理はどれか。ここで、ファイアウォールでの処理は、ルール一覧に示す番号の1から順に行い、一つのルールが適用された場合には残りのルールは適用されない。

画像(問75)を表示できません
番号1によって、通過が禁止される。
番号2によって、通過が許可される。
番号3によって、通過が許可される。
番号4によって、通過が禁止される。
解答
解説 上から順にみていくと、
1.10.1.2.3からの通信を禁止する
2.10.2.3.*へのTCPによる25番への通信のみ許可する
3.10.1.*へのTCPによる25番への通信のみ許可する
4.それ以外の通信はすべて禁止とする。

今回は10.1.2.3からの通信なので、1番に引っかかりそれ以外は無効となります。

問76 完全性を脅かす攻撃はどれか。
Webページの改ざん
システム内に保管されているデータの不正コピー
システムの過負荷状態をねらうDoS攻撃
通信内容の盗聴
解答
解説 情報セキュリティの3要素に、機密性、完全性、可用性、その頭文字をとってCIAと呼ばれます。3つは以下のような特性です。

機密性(Confidentiality):正しいユーザしかアクセスができない性質
完全性(Integrity):データが間違っていたり、破壊されておらず正確である性質
可用性(Availability):ユーザがいつでも利用できる性質

各選択肢をCIAで分類すると以下のようになります。
選択肢アは、完全性を脅かす攻撃です。(正解)
選択肢イは、機密性を脅かす攻撃です。
選択肢ウは、可用性を脅かす攻撃です。
選択肢エは、機密性を脅かす攻撃です。

問77 金融庁の“財務報告に係る内部統制の評価及び監査の基準”では、内部統制の基本的要素の一つとして“ITへの対応”を示している。“ITへの対応”に関する記述のうち、適切なものはどれか。
COSOの“内部統制の統合的枠組み”にも、構成要素の一つとして示されている。
IT環境への対応とITの利用及び統制から成る。
ITを利用していない手作業での統制活動では内部統制の目的は達成できない。
ほかの内部統制の基本的要素と独立に存在する。
解答
解説 ITへの対応は、「IT環境への対応」と「ITの利用及び統制」から構成されます。IT環境への対応とは「組織が活動するうえで必然的に関わる内外のITの利用状況」とされており、ITの利用及び統制は「組織内において、内部統制の他の基本的要素の有効性を確保するためにITを有効かつ効率的に利用すること、並びに組織内において業務に体系的に組み込まれてさまざまな形で利用されているITに対して、組織目標を達成するために、予め適切な方針及び手続を定め、内部統制の他の基本的要素をより有効に機能させること」とされています。

選択肢ア:COSO(Committee of Sponsoring Organizations of Treadway Commission:トレッドウェイ委員会組織委員会)は、粉飾決算や経営破綻への対策として立ち上げられた委員会で、内部統制フレームワークの事実上の世界標準となっています。ITへの対応については言及されていません。
選択肢ウ:ITと手作業ではメリット・デメリットや効率が異なりますが、必ずITを使用しないと内部統制を達成できないとはいえません。
選択肢エ:ITへの対応は、ほかの内部統制と密接に関係しています。

問78 JIS Q 9000:2006で規定されている妥当性確認はどれか。
客観的証拠を提示することによって、規定要求事項が満たされていることを確認すること
客観的証拠を提示することによって、特定の意図された用途又は適用に関する要求事項が満たされていることを確認すること
手順に従って特性を明確にすること
必要に応じて測定、試験又はゲージ合わせを伴う、観察及び判定による適合性を評価すること
解答
解説 JIS Q 9000:2006では、品質マネジメントシステムの基本及び用語について策定されています。それぞれの選択肢は以下のような用語で定義されています。

選択肢ア:検証(verification)についての定義です(3.8.4節)
選択肢イ:妥当性確認(validation)についての定義です(3.8.5節)
選択肢ウ:試験(test)についての定義です(3.8.2節)
選択肢エ:検査(inspection)についての定義です(3.8.2節)

なお、客観的証拠(objective evidence)とは、あるものの存在又は真実を裏付けるデータと定義されています。(3.8.1節)
また、要求事項(requirement)とは、明示されている、通常暗黙のうちに了解されている、若しくは義務として要求されているニーズ又は期待と定義されています。(3.1.2節)

問79 セキュリティ対策に関連する標準又は規格に関する記述のうち、適切なものはどれか。
JIS Q 27002は、製品やシステムのセキュリティ機能及び実装のレベルを技術面から評価する基準である。
JIS X 5070は、セキュリティ組織から設備管理に及ぶ運用管理全体の規約を定めた実践規範であり、アクセス制御も評価対象とする。
JIS X 5731−8(ITU−T X.509)は、XML文章の暗号化とディジタル署名関連の規格であり、Web関連技術におけるHTTPやHTMLの標準化を行う任意団体W3Cが任意団体IETFと協力して定めたものである。
インターネットの各種技術の標準化を進めている任意団体IETFは技術仕様をRFCとして発行しており、セキュリティ分野にはRADIUSやLDAPの仕様がある。
解答
解説 それぞれの選択肢を順に見ていきます。

選択肢ア:JIS Q 27002は、「情報セキュリティマネジメントの実践のための規範」が規定されています。
選択肢イ:JIS X 5070は、「セキュリティ技術 情報技術セキュリティの評価基準」が策定されています。
選択肢ウ:JIS X 5731−8は、PKI、ディジタル署名に関する規定がされています。
選択肢エ:RADIUSは認証に行われるプロトコルで、LDAPはディレクトリサービスを行うプロトコルです。(正解)

問80 日本工業標準調査会を説明したものはどれか。
経済産業省に設置されている審議会で、工業標準化法に基づいて工業標準化に関する調査・審議を行っており、JISの制定、改正などに関する審議を行っている。
電気機械器具・材料などの標準化に関する事項を調査審議し、JEC規格の制定及び普及の事業を行っている。
電気・電子技術に関する非営利の団体であり、主な活動内容としては、書籍の発行、IEEEで始まる規格の標準化を行っている。
電子情報技術産業の総合的な発展に資することを目的とした団体であり、JEITAで始まる標準規格の制定及び普及の事業を行っている。
解答
解説 それぞれの選択肢の団体を以下にまとめます。

選択肢ア:JISC(Japanese Industrial Standards Committee:日本工業標準調査会)の説明です。
選択肢イ:JEC(Japanese Electrotechnical Committee:電気規格調査会)の説明です。
選択肢ウ:IEEE(The Institute of Electrical and Electronics Engineers:電気電子学会)の説明です。
選択肢エ:JEITA(Japan Electronics and Information Technology Industries Association:電子情報技術産業協会)の説明です。