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




このページは

ソフ開

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

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

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



問61 次の表はどこまで正規化されたものか。

画像(問61)を表示できません
第2正規系
第3正規系
第4正規系
非正規系
解答
解説 データベースの正規化は、重複や矛盾を排除して、データベースの一貫した内容を保障します。リレーションデータベースの正規化にはいくつかの段階があります。通常は第3正規形までですが、ボイス・コッドや第4、第5正規形というのもあります。

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

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

今回は、職位、職位手当が部分関数従属となっているので、第2正規形といえます。

問62 SQLのSELECT句に関する記述として、適切なものはどれか。
FROM句で指定した表の列以外のものを指定できない。
重複を排除した検索結果を作ることはできない。
同一の列を重複して指定できる。
表のすべての列を得るには、すべての列をコンマで区切って指定しなければならない。
解答
解説 選択肢の間違いを指摘していきます。

選択肢ア:SUM、COUNTなどの関数も指定できます。
選択肢イ:DISTINCTを指定することで、重複を取り除くことができます。
選択肢エ:*などのワイルドカードを用いることができます。

問63 ビデオ貸出業務の概念データモデルにおける多重度の解釈として、適切なものはどれか。ここで、長方形はエンティティセットを表し、その中に名称を記す。長方形間の線は関連を表す。関連の多重度を関連先の近傍に付す。多重度の下限値及び上限値を特に指定する場合は、“下限..上限”の形式とし、“*”は0以上を表す。

画像(問63)を表示できません
タイトルのないビデオも存在する。
ビデオが存在しなくても予約ができる。
予約したビデオは必ず貸し出される。
予約をしなくてもビデオは借りられる。
解答
解説 間違いの選択肢を指摘していきます。

選択肢ア:タイトルとビデオが1対多の関係なので、タイトルは必ず存在します。
選択肢ウ:予約と貸出しが1対0..1の関係なので、0の場合は貸し出されないことになります。
選択肢エ:予約と貸出しが1対0..1の関係なので、予約側は必ず1なので、予約は必須であるといえます。

問64 関係データベースのトリガ(trigger)に関する記述として、適切なものはどれか。
参照命令発行時に動作する。
データの変更操作時に動作する。
ほかのトリガから起動されることはない。
ロールバック処理実行時に動作する。
解答
解説 データベーストリガとは、表に対して特定の処理・イベントが発生した時に自動的に行われる処理を言います。おもに、操作の記録や監視を行うために用いられます。


問65 “注文”表と“商品”表の二つに対して、四つのビューを定義した。このうち、更新可能なビューはどれか。

画像(問65)を表示できません
CREATE VIEW 顧客V(顧客番号、顧客名) AS SELECT DISTINCT 顧客番号、顧客名 FROM 注文
CREATE VIEW 商品V(商品番号、商品名) AS SELECT 商品番号、商品名 FROM 商品
CREATE VIEW 注文V(注文番号、注文日、顧客番号、合計金額) AS SELECT 注文番号、注文日、顧客番号、SUM(金額) FROM 注文
GROUP BY 注文番号、注文日、顧客番号
CREATE VIEW 注文明細V(注文番号、商品番号、数量、単価、金額) AS SELECT 注文番号、注文.商品番号、数量、単価、金額 FROM 注文、商品
WHERE 注文.商品番号 = 商品.商品番号
解答
解説 ビューとは、実表ではない、利用者の視点における仮想的な表です。ビューの定義は、CREATE VIEWとAS SELECTを使って行われます。また、更新する際は、元のデータと対応づいていなければなりません。よって、集計データであるGROUPBY句でまとめられている場合、複数の表から作られている場合、グループ関数・DISTINCT(重複を削除)を使っている場合は、更新ができません。

問66 “社員表”と“部門”表に対し、次のSQL文を実行したときの結果はどれか。

画像(問66)を表示できません
解答
解説 SQL文の意味は、社員表に部門があるものの中で、フロアが2である部門の総数を調べています。よって、経理・情報システム・情報システムの3つとなります。


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

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

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

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

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

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

問68 チェックポイントを取得するDBMSにおいて、図のような時間経過でシステム障害が発生した。前進復帰(ロールフォワード)によって障害回復できるすべてのトランザクションはどれか。

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

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

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

それでは、各トランザクションを見ていきます。
T1:すでにチェックポイントの前にコミットが完了しているので、復旧は不要です。
T2,T3:処理の途中で障害が発生したので、ロールバックで復旧をします。
T3,T4:チェックポイントのデータとジャーナルを利用して、ロールフォワードで復旧します。

問69 分散トランザクション処理で利用される2相コミットプロトコルでは、コミット処理を開始する調停者(coordinator)と、調停者からの指示を受信してから必要なアクションを開始する参加者(participant)がいる。この2相コミットプロトコルに関する記述のうち、適切なものはどれか。
参加者は、フェーズ1で調停者にコミット了解の応答を返してしまえば、フェーズ2のコミット要求を受信していなくても、ローカルにコミット処理を進められる。
調停者に障害が発生するタイミングによっては、その回復処理が終わらない限り、参加者全員がコミットもロールバックも行えない事態が起こる。
一つの分散トランザクションに複数の調停者及び参加者が存在し得る。例えば、5個のシステム(プログラム)が関与している場合、調停者の数が2、参加者の数が3となり得る。
フェーズ1で返答のない参加者が存在しても、調停者は強制的にそのトランザクションをコミットすることができる。
解答
解説 2相コミットは、1つの調停者が複数の参加者の間に入り同期をとることで、分散しているトランザクションの一貫性をとるアルゴリズムです。フェーズ1では、コミットができるかの要求をおこない、すべてが可能であるという返答が帰ってきた場合のみ、コミット要求を、それ以外はロールバック要求を各参加者に要求します。例を下に図示します。しかし、フェーズ1終了時に調停者に障害が発生すると、永久的に参加者は処理ができない状態が発生してしまいます。

2相コミットを表示できません

問70 Xさんは、Yさんにインターネットを使って電子メールを送ろうとしている。電子メールの内容は秘密にする必要があるので、公開かぎ暗号方式を使って暗号化して送信したい。電子メールの内容を暗号化するのに使用するかぎはどれか。
Xさんの公開かぎ
Xさんの秘密かぎ
Yさんの公開かぎ
Yさんの秘密かぎ
解答
解説 公開鍵暗号方式は、暗号化鍵と復号化鍵が別々の暗号方式です。代表的なものに巨大数の素因数分解の困難性を利用したRSAや楕円曲線暗号などがあります。公開鍵暗号方式は、受信者の公開鍵で暗号化し、受信者の秘密かぎで復号化することで実現します。つまり、Yさんの公開鍵で暗号化しYさんの秘密鍵で復号します。

また、本人確認もできるディジタル署名は、これの逆で送信者の秘密かぎで暗号化し、送信者の公開かぎで復号化します。

問71 ハッシュ関数を利用したメッセージ認証に関する記述のうち、適切なものはどれか。
受信者は、送信者の公開かぎとハッシュ関数を用いてハッシュ値からメッセージを復号する。
受信者は、ハッシュ関数を用いてメッセージからハッシュ値を生成し、送信者の公開かぎで復号したハッシュ値と比較する。
送信者は、自分の公開かぎとハッシュ関数を用いてメッセージからハッシュ値を生成し、メッセージとともに送信する。
送信者は、ハッシュ関数を用いて送信者の秘密かぎのハッシュ値を生成し、メッセージとともに送信する。
解答
解説 ディジタル署名(メッセージ認証)は、メッセージダイジェストを利用することで本人確認と改ざん検出をすることができます。下に例を示します。

メッセージダイジェストを表示できません

通常の公開鍵暗号方式は、受信者の公開鍵で暗号化し、受信者の秘密鍵で復号化します。一方ディジタル署名は、送信者の秘密鍵で暗号化し、送信者の公開鍵で復号化します。

問72 スパイウェアによって引き起こされた情報の漏えいに該当するものはどれか。
暗号化せずに電子メールを送信したところ、ネットワーク上で内容が読み取られてしまった。
インターネットに接続したところ、パソコン内の利用者情報が知らないうちに送信されてしまった。
パスワードを忘れてしまったという電話に対して、システム管理者が教えたので、パスワードが他人に知られてしまった。
パソコンをそのまま廃棄したところ、磁気媒体上に残存していたデータが読み取られてしまった。
解答
解説 スパイウェアとは、個人情報を収集し、作成者に送るプログラムのことです。コンピュータウィルスのようにデータを破壊などをするわけではありませんが、問題視されています。

問73 情報システムにおけるデータのオーナに担当する部門として、適切なものはどれか。
システム及びデータの維持管理を行っているシステム運用部門
システム部門に開発、運用及び保守を委託している業務の主管部門
データのインテグリティを保証し、必要に応じてデータ内容の訂正を行う保守部門
データを取り扱う画面や帳票のレイアウトを決定する利用部門
解答
解説 オーナー=所有者というのは、そのシステムの使用・権限・責任を担うものという意味です。つまり、主管(仕事を管理する)部門がオーナーになるべきです。利用部門や維持・保守部門には、全体の管理権限や責任はありません。

問74 ファイアウォールの方式に関する記述のうち、適切なものはどれか。
アプリケーションゲートウェイ方式では、アプリケーションのプロトコルごとにゲートウェイ機能の設定が必要である。
サーキットゲートウェイ方式では、コマンドの通過可否を制御する。
トランスポートゲートウェイ方式では、アプリケーションのプロトコルに依存するゲートウェイ機能を提供する。
パケットフィルタリング方式では、電子メールの中に含まれる単語によるフィルタリングが可能である。
解答
解説 ファイアウォールは、内部と外部のネットワークの間に置かれ、セキュリティを確保するために用いられるものです。代表的な方式を以下にまとめます。

パケットフィルタリング方式:ネットワーク層で動作し、IPやポート番号をもとに制御をします。
トランスポートゲートウェイ方式:トランスポート層で動作し、コネクションをもとに制御します。
サーキットゲートウェイ方式:トランスポート層で動作し、TCPのバーチャル・サーキットをもとに制御します。 アプリケーションゲートウェイ方式:アプリケーション層で動作し、HTTPなどのプロトコルごとに制御します。

問75 電子的な方法を用いないで、緊急事態を装って組織内部の人間からパスワードや機密情報のありかを不正に聞き出して入手する行為は、どれに分類されるか。
ソーシャルエンジニアリング
トロイの木馬
パスワードクラック
踏み台攻撃
解答
解説 それぞれの選択肢を以下にまとめます。

ソーシャルエンジニアリングはコンピュータを使わず、人をだまして重要情報を聞き出したり、物理的にゴミ箱から書類を盗んだりする手口をいいます。
トロイの木馬は無害(有益)なプログラムを装い、バックグラウンドでデータを盗んだり破壊するプログラムをいいます。
パスワードクラックは、パスワードを解析して突破する方法をいいます。
踏み台攻撃は、セキュリティ不足ののシステムを経由してほかのシステムに不正な行為を行うために利用されること。

問76 財団法人日本情報処理開発協会のプライバシーマーク制度について説明したものはどれか。
OECDのプライバシーガイドラインに準拠している公的機関及び民事事業者を認定する制度
個人情報を売買する事業者が一定の基準を満たしていることを認定する制度
個人情報を保有している事業者に個人情報保護措置の概要を登録させる制度
事業者が個人情報の取扱いを適切に行うための体制などを整備していることを認定する制度
解答
解説 プライバシーマーク制度は、日本情報処理開発協会(JIPDEC)が主体となって行っている制度で、日本工業規格「JIS Q 15001個人情報保護マネジメントシステム―要求事項」と比較して、個人情報を適切に取り扱っている事業者を認定する制度です。

問77 米国で運用されたTCSECや欧州政府調達用のITSECを統合して、標準化が進められたCC(Common Criteria)の内容はどれか。
情報技術に関するセキュリティの評価基準
情報セキュリティ基礎技術の標準
セキュリティ管理のプロトコルの基準
通信サービスに関するセキュリティ機能の標準
解答
解説 CC(Common Criteria:コモンクライテリア)は、コンピュータセキュリティのための国際規格であり、ISO/IEC15408でもあります。情報技術セキュリティの評価基準、情報技術セキュリティ評価基準、ITセキュリティ評価基準などと呼ばれます。

問78 ISMS適合性評価制度における詳細管理策の基となった国際規格はどれか。
ISO9001
ISO14001
ISO/IEC15408
ISO/IEC17799
解答
解説 ISMS適合性評価制度は、企業の情報セキュリティマネジメントシステムが、国際標準規格である「ISO/IEC 17799」に準拠していることを認定する、日本情報処理開発協会の評価制度です。

ISO9001は品質マネジメント、ISO14001は環境マネジメントに関するものです。
ISO/IEC15408は、セキュリティ製品およびシステムの開発や製造、運用などに関する国際標準です。
ISO/IEC17799は、企業などの組織における情報セキュリティマネジメントシステムの仕様を定めた規格です。

問79 SAML(Security Assertion Markup Language)の説明はどれか。
Webサービスに関する情報を広く公開し、それが提供する機能などを検索可能にするための仕組みを定めたもの
権限のない利用者による傍受、読取り、改ざんから電子メールを保護して送信するためのプロトコルを定めたもの
ディジタル署名に使われるかぎ情報を効率よく管理するためのWebサービスプロトコルを定めたもの
認証情報に加え、属性情報とアクセス制御情報を異なるドメインに伝達するためのWebサービスプロトコルを定めたもの
解答
解説 SAML(Security Assertion Markup Language)は、OASISという標準化団体により策定された、XML仕様で、異なるサーバ間でも安全にIDやパスワードをやり取りできるようにしたものです。これによりシングルサインオンなどを実現できます。

問80 圧縮された情報を伸張しても、完全には元の情報を復元できない場合がある圧縮方法はどれか。
GIF
JPEG
ZIP
ランレングス法
解答
解説 圧縮された情報を完全に元に戻せる圧縮を可逆圧縮、圧縮された情報を完全に元に戻せない圧縮を非可逆圧縮といいます。可逆圧縮の代表例はGIFで、非可逆圧縮の代表はJPEGです。非可逆圧縮は元に戻せない分、圧縮率が高くなる傾向があります。

ZIPは、圧縮ファイルのフォーマットです。
ランレングス法は、『AAAAABBB』を『A5B3』のように文字とその連続回数を使って圧縮をする方法です。(もちろん可逆圧縮です。)