2009/06/28
示現塾 高度に出る午前問題を解こう! (2009-06-28)
*-----------------------------------------------------------------------* ■■ 示現塾 ■■ 高度に出る午前共通問題を解こう! ITストラテジスト,ネットワークスペシャリストのセミナー開催・受付中! 午後問題や解答用紙のダウンロード http://zigen.cosmoconsulting.co.jp 秋の情報処理技術者試験日まで、あと113日 2009年06月28日(日) 本格版 1750号 ** =================================================================== ** これは,2009年秋の情報処理技術者試験のうち、応用情報技術者試験 午前問題 及び高度試験 午前共通問題 に対応したものです。 本日の問題テーマは,次の6つです。 第1問−アルゴリズムとプログ ラミング ・・・スタックが図の状態のときに行われる演算 第2問−システム構成要素 ・・・3層クライアントサーバシステムの特徴 第3問−データベース ・・・注文表の行を削除すると注文明細表の行 を自動削除 第4問−ネットワーク ・・・ホストの識別方法とIPアドレスの決め方 第5問−セキュリティ ・・・セキュリティを脅かすおそれのあるアク セス権付与 第6問−システム開発技術 ・・・複数条件網羅に変更したときに加えるべ きテストデータ ** ------------------ やる気が出る(?)名言集 ----------------------- ** バカと天才がこの世に存在することは、稀である。 すべてが、我々凡人の世界である。 その中で、半歩前に踏み出すことのできる勇気を持つことが 大切である。 (中内 功) ** =================================================================== ** 第1問 アルゴリズムとプログラミング 分野−2-1 技術レベル−3 出題頻度−中 出典:SW18-A-08 逆ポーランド表記法で表された式を評価する場合,途中の結果を格納するための スタックを用意し,式の項や演算子を左から右に順に入力し処理する。スタック が図の状態のとき,入力が演算子となった。このときに行われる演算はどれか。 ここで,演算は中置表記法で記述するものとする。 ───┐ ┌──→ ↓ │ ├──────┤ │ D │ ├──────┤ │ C │ ├──────┤ │ B │ ├──────┤ │ A │ └──────┘ ア A 演算子 B イ B 演算子 A ウ C 演算子 D エ D 演算子 C *-----------------------------------------------------------------------* 解説::逆ポーランド法は、木構造を数式で表した方法の一つで、後置記法とも 呼ばれている。ある数式 A+(B×(C+D))を逆ポーランド法で表記すれば、 YABCD+×+ になる。 これをスタックに入れる場合、変数ならばスタックに積み、演算子ならば、 スタックから変数を取り出す操作をする。 問題の図は、ABCDのところまで処理が進んだ時点を示している。 次は、+なので演算子であり、2つの変数DCを取り出して、C + D とする。 したがって、ウが正解になる。 正解:ウ ** =================================================================== ** 第2問 システム構成要素 分野−4-1 技術レベル−3 出題頻度−高 出典:SW19-S-29 3層クライアントサーバシステムの特徴として,適切なものはどれか。 ア GUIツールの利用によって比較的簡単にプログラムを作成でき,プロトタイピ ング開発やエンドユーザコンピューティングに適する。 イ 各層間の相互依存度が比較的少ないので,開発作業を層ごとに並行して行う ことができる。 ウ 業務処理とデータベース処理の分離ができないので,クライアント側のアプ リケーションの拡張の仕方によってはデータベースアクセス要求が増加し, レスポンスが遅くなる。 エ 業務ロジックに変更が生じた場合,すべてのクライアントにインストールさ れたプログラムを入れ替える必要がある。 *-----------------------------------------------------------------------* 解説:ア 当選択肢に該当する特別な名前は付いていない。 イ 3層クライアントサーバシステムは、実現すべき機能全体を、プレゼンテーシ ョン層、ファンクション層、データベースアクセス層の3つに分けて、その層 ごとに開発作業を進める。この3つの層は、相互依存度が比較的少ないので、 開発作業を層ごとに並行して行える。 ウ 業務処理は主にファンクション層に、データベース処理はデータベースアクセ ス層に分離できる。 エ 業務ロジックは、主にファンクション層に実装される。したがって、業務ロジ ックに変更が生じた場合、ファンクション層を担当するアプリケーションサー バにインストールされたプログラムを入れ替えることが多い。プレゼンテーシ ョン層のプログラムに、業務ロジックの一部が実装されているケースもあり、 その場合は、すべてのクライアントにインストールされたプログラムを入れ替 える必要がある。消去法により×になる。 正解:イ ** =================================================================== ** 第3問 データベース 分野−9-3 技術レベル−4 出題頻度−中 出典:DB16-43 関係データベースの“注文”表と“注文明細”表が,次のように定義されている。 “注文”表の行を削除すると,対応する“注文明細”表の行が,自動的に削除さ れるようにしたい。この場合,SQL文に指定する語句として,適切なものはどれか。 ここで,表定義中の====は主キーを,<<<<< は外部キーを,@@@@@@ は両方を表す。 注文 ┌────┬────┬────┐ │注文番号│ 注文日 │顧客番号│ └========┴────┴<<<<<<<<┘ 注文明細 ┌────┬────┬────┐ │注文番号│商品番号│ 数量 │ └@@@@@@@@┴@@@@@@@@┴────┘ ア CASCADE イ INTERSECT ウ RESTRICT エ SET NULL *-----------------------------------------------------------------------* 解説:ア “注文”表の行を削除すると、対応する“注文明細”表の行が自動的 に削除されるようにするためには、“注文”表と“注文明細”表に参照制約 がなければならない。参照制約は、表間の外部キーと主キーによる参照関係 の制約である。 本問の参照制約は、“注文”表の主キーである注文番号と“注文明細”表 の外部キーである注文番号に設定しなければならない。 参照制約がある主キー側の行を削除すると、外部キー側の行も自動的に削 除されるためには、SQL 文のCREATE コマンドに、CASCADE オプションをつけ なければならない。例えば、次のような感じになる(指定した桁数や型は、 適当に筆者が指定した)。 CREATE TABLE 注文明細 ( 注文番号 DECIMAL(8) NOT NULL , 商品番号 CHAR(10) NOT NULL , 数量 DECIMAL(14) , PRIMARY KEY (注文番号 , 商品番号) , FOREIGN KEY (注文番号) REFERENCES 注文 ON DELETE CASCADE , FOREIGN KEY (商品番号) REFERENCES 商品 ) 上記のON DELETE CASCADE で、自動的な削除がなされることになる。 イ INTERSECT は、共通集合演算で用いられる。共通集合演算は、二つの表に共 通する行を取り出す演算である。例えば、テーブルA,Bに共通する行を取り 出すには、次のように指定する。 SELECT * FROM テーブルA INTERSECT SELECT * FROM テーブルB ウ RESTRICTは、テーブル変更・削除時の外部キーに関する参照動作を指定する。 RESTRICT が指定された場合は、指定した表がビューや整合制約により参照さ れたものである場合は変更・削除が行われない。 エ 選択肢アの解説にあるSQL文例のON DELETE CASCADEの代わりに、ON DELETE SET NULL と指定されることがある。これは、“注文”表の行が削除された場 合、自動的に“注文明細”表の外部キーである注文番号にNULLをセットする。 しかし、本問の場合は、“注文明細”表の注文番号は、主キーであり、NOT NULL 制約があるので、指定できない。 正解:ア ** =================================================================== ** 第4問 ネットワーク 分野−10-3 技術レベル−3 出題頻度−中 出典:SV18-12 ある企業が専用線を使ってインターネットに接続するとき,インターネットでの ホストの識別方法とその企業のIPアドレスの決め方に関する記述のうち,適切な ものはどれか。 ア 相手との通信はIPアドレスとMACアドレスの双方を用いて行われる。MACアド レスはインターネットサービスプロバイダ(ISP)から取得し,IPアドレスは 企業内のアドレスとして任意に決定できる。 イ 相手との通信はIPアドレスを用いて行われるので,一意に付番する必要があ る。したがって,ISPに申請して,IPアドレスを事前に取得する必要がある。 ウ 相手との通信はIPアドレスを用いて行われるので,一意に付番する必要があ る。したがって,まず自社内で一意になるようにIPアドレスを決定してから, ISPに申請し,それが世界中で重複がないかどうかを調査してもらう必要が ある。 エ 相手との通信はMACアドレスだけで行われるので,IPアドレスが重複しても 構わない。IPアドレスは,MACアドレスを分かりやすい名称に読み替える ために使用されるだけなので,任意に決定できる。 *-----------------------------------------------------------------------* 解説:ア インターネットでのホストの識別方法は、IPアドレスだけである。 インターネット内のルータは、IPアドレスにしたがってルーティングする。 また、MACアドレスは、NIC(ネットワークインターフェースカード)やマザ ーボードに付属しているROMに書き込まれている。インターネットサービス プロバイダ(ISP)から取得したりはしない。 イ 相手との通信はIPアドレスを用いて行われるので、一意に付番する必要があ る。この一意に付番されたIPアドレスをグローバルIPアドレスと言う。グロ ーバルIPアドレスは、ISPに申請して、事前に取得しなければならない。 ウ インターネット側のIPアドレスは、一意に付番する必要がある。しかし、自 社内は、自社内でIPアドレスが重複していなければ問題ない。自社内でのみ 使用するIPアドレスをプライベートIPアドレスという。 エ インターネットでのホストの識別方法は、IPアドレスだけである。MACアドレ スは、LAN内の通信で利用される。 正解:イ ** =================================================================== ** 第5問 セキュリティ 分野−11-2 技術レベル−4 出題頻度−中 出典:SV19-45 表に示すテーブルX,Yへのアクセス要件に関して,JIS Q 27001:2006(ISO/IEC 27001:2005)が示す“完全性”の観点からセキュリティを脅かすおそれのある テーブルへのアクセス権付与はどれか。 ┌───────────┬──────────────────────┐ │ テーブル │ アクセス要件 │ ├───────────┼──────────────────────┤ │X(注文テーブル) │(1) 調達課のユーザAが注文データを入力したり │ │ │ 内容を確認したりするためにアクセスする。│ │ │(2) 管理課のユーザBはアクセスしない。 │ ├───────────┼──────────────────────┤ │Y(仕入先 │(3) 調達課のユーザAが仕入先データを照会する │ │ マスタテーブル) │ 目的だけでアクセスする。 │ │ │(4) 管理課のユーザBが仕入先データのマスタメ │ │ │ ンテナンス作業を行うためにアクセスする。│ └───────────┴──────────────────────┘ ア GRANT INSERT ON Y TO A イ GRANT INSERT ON Y TO B ウ GRANT SELECT ON X TO A エ GRANT SELECT ON X TO B *-----------------------------------------------------------------------* 解説:ア GRANT INSERT ON Y TO A は、Yへの挿入権限をAに与えるSQL文で ある。しかし、表の(3)より、Yについて“調達課のユーザAが仕入先データ を照会する目的だけでアクセスする。”とあり、挿入権限は不要なことが わかる。 イ 表の(4)より、必要である。 ウ 表の(1)より、必要である。しかし、Aはデータ入力もするので、これでは 権限が不足している。GRANT SELECT, INSERT ON X TO A としなければ ならない。 エ 表の(2)より、不要である。しかし、SELECT(参照)権限を与えているので、 完全性の観点からは問題ない。 正解:ア ** =================================================================== ** 第6問 システム開発技術 分野−12-5 技術レベル−3 出題頻度−中 出典:SW18-S-46 あるプログラムについて,流れ図で示される部分に関するテストデータを,判定 条件網羅(分岐網羅)によって設定した。このテストデータを,複数条件網羅に よる設定に変更したとき,加えるべきテストデータとして,適切なものはどれか。 ここで,( )で囲んだ部分は,一組のテストデータを表すものとする。 ┌──┴──┐ │ 処理1 │ └──┬──┘ │ /\ /A>6\ No < or >──┐ \B=0/ │ \/ │ │Yes │ ・判定条件網羅(分岐網羅)による ┌──┴──┐ │ テストデータ │ 処理2 │ │ └──┬──┘ │ (A=4,B=1) ,(A=5,B=0) │←───┘ ・加えるべきテストデータ ア (A=3,B=0),(A=7,B=2) イ (A=3,B=2),(A=8,B=0) ウ (A=4,B=0),(A=8,B=0) エ (A=7,B=0),(A=8,B=2) *-----------------------------------------------------------------------* 解説:判定条件網羅は、ホワイトボックステストの一種であり、テスト対象プロ グラムの条件判定文における真偽の分岐を、いずれも少なくとも1回は実行 するように、テストケースを設計する方法である。分岐網羅とも言う。 図の右に示されている2組の例は、次のとおり、判定条件網羅になっている。 (A=4,B=1)…Noのケース ---- (a) (A=5,B=0)…Yesのケース ---- (b) 次に、問題文は、これを複数条件網羅に変更したことを想定している。 複数条件網羅とは、条件が取りえるすべての組合せを網羅するようにテストケ ースを設計する技法である。ここで言う条件は、and,or で複数の条件が設 定されていることを前提としている。 本問の場合は、次の4つのテストケースになる。 ┌──────┬─────┬─────┬────┐ │テストケース│ A>6 │ B=0 │ │ ├──────┼─────┼─────┼────┤ │ 1 │ ○ │ ○ │ (c) │ ├──────┼─────┼─────┼────┤ │ 2 │ ○ │ × │ (d) │ ├──────┼─────┼─────┼────┤ │ 3 │ × │ ○ │ (b) │ ├──────┼─────┼─────┼────┤ │ 4 │ × │ × │ (a) │ └──────┴─────┴─────┴────┘ テストケース3は上記の(b)、テストケース4は上記の(a)に対応している。 足らないのは、テストケース1,2なので、これを探すと、 (A=7,B=0) ---- (c) (A=8,B=2) ---- (d) となり、選択肢エが正解になる。 正解:エ ** ========================= 与謝蕪村の俳句 ======================== ** 山に添ふて 小舟漕ゆく 若ば哉 *///////////////////////////////////////////////////////////////////////* 以下のワークショップ(セミナー)の受講者募集中! ITストラテジスト試験対策 第1回 平成21年 7月12日(日)論述式試験の攻め方・IT人材育成 第2回 平成21年 7月26日(日)記述式試験の攻め方・業務改善 第3回 平成21年 8月 9日(日)経営戦略・情報戦略・IT投資 第4回 平成21年 8月23日(日)システム全般構想の立案 第5回 平成21年 9月13日(日)個別システム化計画 第6回 平成21年10月 4日(日)システム分析・業務改革 ネットワークスペシャリスト試験対策 第1回 平成21年 7月19日(日)TCP/IP・ルーティング 第2回 平成21年 8月 2日(日)LAN・スイッチ・VLAN 第3回 平成21年 8月16日(日)ARP・DNS・DHCP 第4回 平成21年 9月20日(日)ADSL・PPPoE・携帯電話 詳しくは、http://zigen.cosmoconsulting.co.jp をアクセスしてください。 *///////////////////////////////////////////////////////////////////////* ■■ 示現塾 ■■ 高度に出る午前共通問題を解こう! 発行・編集責任者 金子 則彦 このメールマガジンを解除するには、 http://zigen.cosmoconsulting.co.jp/mailmag/mailmag_index.htm にてお手続きください。



