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




このページは

ソフ開

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

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

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



問61 関係データベースとオブジェクト指向データベースモデルを比較したとき、オブジェクト指向データベースの特徴として、適切なものはどれか。
実世界の情報をモデル化したクラス階層を表現でき、このクラス階層を使うことによって、データと操作を分離して扱うことができる。
データと手続がカプセル化され一体として扱われるので、構造的に複雑で、動作を含む対象を扱うことができる。
データの操作とリレーションが数学的に定義されており、プログラム言語とデータ操作言語との独立性を保つことができる。
リレーションが論理的なデータ構造として定義されており、非手続的な操作言語でデータ操作を行うことができる。
解答
解説 オブジェクト指向データベースとは、データとして格納されるものがオブジェクトであるようなデータベースをいいます。関係データベースのように2次元の表で表すことができない複雑なものを対象にすることができます。オブジェクト指向データベースのデータベース管理システムをODBMS(Object DataBase Management System)といいます。

選択肢ア、ウ、エはいずれも関係データベースの説明です。

問62 次のような繰返し構造をもったレコードからなるデータを、第3正規形に正規化したものはどれか。ここで、下線部分は主キーを表す。また、単位と単価は商品コードごとに決まるものとする。

画像(問62)を表示できません
画像(問62ans)を表示できません
解答
解説 リレーションデータベースの正規化にはいくつかの段階があります。通常は第3正規形までですが、ボイス・コッドや第4、第5正規形というのもあります。

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

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

これにあわせて、正規化をしていくと下のようになります。

第1正規化(繰り返し部分の独立)
伝票番号 日付 顧客コード 顧客名 住所
伝票番号 商品コード 単位 数量 単価

第2正規化(部分関数従属の除去)
伝票番号 日付 顧客コード 顧客名 住所
伝票番号 商品コード 数量
商品コード 単位 単価

第3正規化(推移関数従属の除去)
伝票番号 日付 顧客コード
顧客コード 顧客名 住所
伝票番号 商品コード 数量
商品コード 単位 単価

問63 E−R図に関する記述として、適切なものはどれか。
関係データベースへの実装を前提に作成する。
業務上の各プロセスとデータの関係を明らかにする。結果として導かれる実体間の関連は、業務上の各プロセスを表現する。
業務を扱う情報を抽象化し、実体及び実体間の関連を表現する。
データの生成から消滅に至るプロセスを表現する。
解答
解説 E−R図とは、以下のような図で実体(エンティティ)と実体間(リレーションシップ)の関連や多重度を表すのに適しています。関係データベースの設計によく用いられます。

E−R図を表示できません

問64 概念レベルのデータモデル中のエンティティ“会計取引”に対する制約の意味について、適切な説明はどれか。ここで、モデルの表記にはUMLのクラス図を用いる。

画像(問64)を表示できません
一度記録した仕訳記入の金額が変更されないことを保証する。
会計取引を記録するごとに勘定の残高が計算されることを保証する。
勘定間を移動する金額が、その会計取引において不変であることを保証する。
同一の勘定同士で会計取引が行われないことを保証する。
解答
解説 図の制約条件から、『インスタンス(オブジェクトから生成された実体)のリンク先の勘定インスタンスは互いに異なることと』あるので、同一勘定同士で会計取引が行われることはありません。

問65 更新可能なレビューを作成するSQL文はどれか。ここで、SQL文中に現れる表はすべて更新可能とする。
画像(問65ans)を表示できません
解答
解説 ビューとは、実表ではない、利用者の視点の一時的で仮想的な表のことです。ビューは元のデータと対応づいていなければなりません、よって、集計データであるGROUPBY句でまとめられている場合や関数・演算を使っている場合、DISTINCTで重複を排除している場合は、更新ができません。

問66 四つの表“注文”、“顧客”、“商品”、“注文明細”がある。これらの表から、次のビュー“注文一覧”を作成するSQL文はどれか。ここで、下線の項目は主キーを表す。

画像(問66)を表示できません
画像(問66ans)を表示できません
解答
解説 まず、SELECTで抽出する列を指定しています。ビューには『注文番号、注文表、顧客名、商品名、数量、単価』の6つが表示されています。選択肢アでは『*』ですべてを指定している場合は、顧客番号や商品番号なども表示されてしまいます。選択肢エでは、顧客名が足りません。

そして、選択肢ウのように結合条件をORでつないでいるので、すべての表を正しく結合できません。よって選択肢イが正解となります。


問67 “社員”表に対して次のSQL文を実行した結果として、正しいものはどれか。
(原題に誤りがあるため、修正して出題します。)

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


画像(問67_2)を表示できません
画像(問67ans)を表示できません
解答
解説 社員 AS S1、社員 AS S2は、社員表をS1、S2という別名の表に指定するという意味です。これにより1つの表を複数の表に見せかけることができます。自分の生年以下の生年が3つ以下であるような生年を出力しています。

まず、このような演算を直積演算といい、すべての組合せが現れます。つまり、以下のような100件の表になります。

社員番号0001と社員番号0001
社員番号0001と社員番号0002
社員番号0001と社員番号0003
  ・
  ・
  ・
社員番号0001と社員番号0010
社員番号0002と社員番号0001
社員番号0002と社員番号0002
  ・
  ・
  ・
社員番号0002と社員番号0010
社員番号0003と社員番号0001
社員番号0003と社員番号0002
  ・
  ・
  ・
社員番号0010と社員番号0008
社員番号0010と社員番号0009
社員番号0010と社員番号0010


つぎに、S1.生年>=S2.生年によって、以下の55件が抽出されます。
社員番号0001(生年1943)について、1件
社員番号0002(生年1968)について、7件
社員番号0003(生年1970)について、9件
社員番号0004(生年1969)について、8件
社員番号0005(生年1953)について、2件
社員番号0006(生年1954)について、3件
社員番号0007(生年1962)について、6件
社員番号0008(生年1975)について、10件
社員番号0009(生年1961)について、5件
社員番号0010(生年1957)について、4件

この中で、COUNT(*)<=3のものを探すと、1943、1953、1954の3つとなります。

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

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

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

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

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

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

問69 オンライントランザクションの原子性(atomicity)の説明として、適切なものはどれか。
データの物理的な格納場所やアプリケーションプログラムの実行場所を意識することなくトランザクション処理が行える。
トランザクションが完了したときの状態は、処理済みか未処理のどちらかしかない。
トランザクション処理においてデータベースの一貫性が保てる。
複数のトランザクションを同時に処理した場合でも、個々の処理結果は正しい。
解答
解説 原子性を含めた、トランザクションのACID特性について以下にまとめます。

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

選択肢アは、分散システムの位置透過性の説明です。
選択肢ウは、ACID特性の一貫性の説明です。
選択肢エは、ACID特性の独立性の説明です。

問70 事業本部制をとっているA社で、社員の所属を管理するデータベースを作成することになった。データベースは表a,b,cで構成されている。新しいデータを追加するときに、ほかの表でキーになっている列の値が、その表に存在しないとエラーとなる。このデータベースに、各表ごとにデータを入れる場合の順序として、適切なものはどれか。ここで、下線は各表のキーを示す。

画像(問70)を表示できません
表a → 表b → 表c
表a → 表c → 表b
表b → 表a → 表c
表b → 表c → 表a
解答
解説 問題のように別の表に実体があることを制約することを参照制約といいます。

データを入力した時点で、外部参照(参照制約)がある場合には、参照先の表に実体がなければならないので、参照を行っていない表から順にデータを入力します。
今回の場合は、表aは表b、表cに外部参照をしています。表cは表bに外部参照しています。よって、何も参照をしていない表bから表c、表aの順にデータを入力するのが正しいといえます。
逆に、データを削除する場合には、表a、表c、表bの順に行います。

問71 公開鍵暗号方式に関する記述のうち、適切なものはどれか。
AESはNISTが公募し、1997年に決定した公開鍵暗号方式の一種である。
RSAは、素因数分解の計算の困難さを利用した、公開鍵暗号方式の一種である。
公開鍵暗号方式の難点は、鍵の管理が煩雑になることである。
通信文の内容の秘匿に公開鍵暗号方式を使用する場合は、受信者の復号鍵を公開する。
解答
解説 まず、暗号技術は下図のように、暗号鍵と復号鍵を利用します。この暗号鍵と復号鍵が同じものを利用する形式を共通鍵暗号方式、異なるものを利用する形式を公開鍵暗号方式といいます。

暗号を表示できません

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

選択肢ア:AESの説明です。
選択肢ウ:共通鍵暗号方式のほうが鍵の数が多いため管理が大変になります。
選択肢エ:公開鍵暗号方式では、受信者の暗号鍵を公開します。

問72 ディジタル署名を利用する目的はどれか。
受信者が署名用の鍵を使って暗号文を元の平文に戻すことができるようにする。
送信者が署名用の鍵を使って作成した署名を平文に付加することによって、受信者が送信者を確認できるようにする。
送信者が署名用の鍵を使って平文を暗号化し、平文の内容を関係者以外に分からないようにする。
送信者が定数を付加した平文を署名用の鍵を使って暗号化し、受信者が復号した定数を確認することによって、メッセージの改ざん部位を特定できるようにする。
解答
解説 まず、公開鍵暗号を応用したディジタル署名について以下に図示します。

ディジタル署名

これにより、@で本人確認、Aで改ざんの検出が可能となります。メッセージそのものは暗号化しません。

問73 IDS(Intrusion Detection System)の特徴のうち、適切なものはどれか。
ネットワーク型IDSでは、SSLを利用したアプリケーションを介して行われる攻撃を検知できる。
ネットワーク型IDSでは、通信内容の解析によって、ファイルの改ざんを検知できる。
ホスト型IDSでは、シグネチャとのパターンマッチングを失敗させるためのパケットが挿入された攻撃でも検知できる。
ホスト型IDSでは、到着する不正パケットの解析によって、ネットワークセグメント上の不正パケットを検知できる。
解答
解説 IDS(Intrusion Detection System:侵入検知システム)には2つのタイプがあり、特定のホスト上で監視をするホスト型とネットワーク上をすべてを監視するネットワーク型があります。この目的は不正侵入の検出です。

主に、管理下のサイトへの不正侵入の試みやネットワーク上の異常なパターンを記録し、管理者に通知するのがネットワークIDS。
サイト上のファイルやシステム上の資源への不正アクセスであるかどうかを判定するのがホストIDSです

問74 送信者がメッセージブロック暗号(方式)を用いて作成したメッセージ認証符号(MAC:message authentication cade)をメッセージとともに送り、受信者が受け取ったメッセージからMACを生成して、送られてきたMACと一致することを確認するメッセージ認証で使用される鍵の組合せはどれか。
画像(問74ans)を表示できません
解答
解説 まず、送信側で共通鍵と認証すべき任意長のメッセージからMACを生成します。受信者も同様に共通鍵とメッセージからMACを生成し、同じでなければ改ざんされたことを検出することができます。また、同じ共通鍵で生成されたことも保障されます。

問75 情報システムへの脅威とセキュリティ対策の組合せのうち、適切なものはどれか。
画像(問75ans)を表示できません
解答
解説 選択肢の対策の一例を以下にまとめます。

選択肢ア:遠隔地へのバックアップ
選択肢イ:入室管理やセキュリティワイヤ
選択肢ウ:データの暗号化
選択肢エ:ディジタル署名

問76 情報セキュリティ基本方針文書の取扱いについて、ISMS認証基準に定められているものはどれか。
一度決めた内容を変更せず、セキュリティ事故発生時に見直す。
機密情報であるので関連する管理者にだけ内容を教育する。
経営陣によって承認され、全従業員に公表し通知する。
作成したメンバ自身で実施状況を点検する。
解答
解説 情報セキュリティ基本方針とは、企業が情報セキュリティに対する基本的な考え方を文章にしたものです。作成の際は、その会社の特性を十分に考慮して作成します。そして、社員全員に周知徹底し、必要に応じて改正をする必要があります。特定のシステムについてのみに限定をするものでもありません。目的としては、社員のセキュリティに対する意識向上や、社外への信頼性のイメージアップなどがあります。

選択肢ア:セキュリティ事故がなくても、問題がある場合には柔軟に変更するべきです。
選択肢イ:基本文書は全社員に周知徹底するべきです。
選択肢エ:第三者による客観的な点検をするべきです。

問77 コンピュータ犯罪の手口の一つであるサラミ法はどれか。
回線の一部に秘密にアクセスして他人のパスワードやIDを盗み出してデータを盗用する方法である。
ネットワークを介して送受信されている音声やデータを不正に傍受する方法である。
不正行為が表面化しない程度に、多数の資産から少しずつ詐取する方法である。
プログラム実行後のコンピュータ内部又はその周囲に残っている情報をひそかに探索して、必要情報を入手する方法である。
解答
解説 サラミ手法とは、気づかないように少しずつお金や情報を盗み取る行為をいいます。サラミソーセージを小さく切って盗むところから名づけられました。

選択肢アは、不正アクセスの説明です。
選択肢イは、盗聴の説明です。
選択肢エは、ゴミ箱あさり(スキャベンジング)の説明です。

問78 JISQ 9001(ISO 9001)に規定されているものはどれか。
外部から購入したソフトウェア製品を最終製品に組み込む場合は、動作検査を実施した後に行う。
設計の妥当性確認は、ソフトウェア開発者自身が行うテスト及びデバッグによって実現される設計検証の一つとして実施する。
トレーサビリティが要求される製品は、製品番号などによって固有の識別を管理し記録する。
納入製品に組み込むために提供された顧客の所有物には、顧客の知的所有権は含まれない。
解答
解説 ISO9000シリーズは品質マネジメントに関して定められています。

JISQ9001:品質マネジメントの始めの部分に当たる部分で、『要求事項』に関することが記述されています。
JISQ9004:品質マネジメントの『品質マネジメントシステムに関するパフォーマンス改善指針』に関することが記述されています。

選択肢ア:製品に組み込んだ後に動作確認をするべきです。
選択肢イ:第三者や品質保障部門が実施するべきです。
選択肢エ:知的所有権も含まれます。

問79 国際標準化の動向に関する記述うち、適切なものはどれか。
“情報技術−情報セキュリティマネジメントの実線のための規範”を規定しているISO/IEC 17799は、JISX 5080の基になっている。
“品質及び/又は環境マネジメントシステム監査のための指針”を規定しているISO 19011は、システム監査基準の基になっている。
“品質システム−設計・開発・製造における品質保証モデル”を規定しているISO 9001は、共通フレーム98(SLCP−JCF98)の基になっている。
“プロジェクトマネジメントにおける品質の指針”を規定しているISO10006は、PMBOKの基になっている。
解答
解説 それぞれの規格に関してまとめます。

選択肢ア:BS7799−1を基に国際標準化されたものがISO/IEC17799で,この日本版がJIS X 5080。
選択肢イ:ISO19011は,品質及び/または環境マネジメントシステムの監査のための指針で、システム監査基準の基ではない。
選択肢ウ:ISO/IEC 12207を基にしたのが、SLCP−JCF98。ISO9001は品質マネジメント。
選択肢エ:PMBOK(Project Management Body of Knowledge)がISO10006の基になっている。

問80 コンピュータで使われている文字符合の説明のうち、適切なものはどれか。
ASCII符号はアルファベット、数字、特殊文字及び制御文字からなり、漢字に関する規定はない。
EUCは文字符号の世界標準を作成しようとして考案された16ビット以上の符号体系であり、漢字に関する規定はない。
Unicodeは文字の1バイト目で漢字かどうかが分かるようにする目的で制定され、漢字とASCII符号を混在可能にした符号体系である。
シフトJIS符号はUNIXにおける多言語対応の一環として制定され、ISOとして標準化されている。
解答
解説 以下に文字コードに関する内容をまとめます。

ASCIIコード:ANSI(米国標準規格協会)で定めた、7ビットの文字コード。漢字の規定はない。
JISコード:JIS(日本工業規格)で定めた文字コード体系であり、英数字とカタカナを扱う8ビットのコードと、全角文字を扱う16ビットのコードがある。
EUCコード:拡張UNIXコードとも呼ばれ、全角文字と半角カタカナ文字を2バイト又は3バイトで表現する。
Unicode:多国籍文字を扱うために、日本語や中国語などの形の似た文字を同一コードに割り当てて2バイトの文字コードで表現する。