ObjectSquare

[オブジェクト指向と情報処理試験 -2002年 春-]


  すっかりお馴染み。オブジェクトの広場恒例となりました、「オブジェクト指向と情報処理試験」。4月21日に行われた情報処理技術者試験の中から、今回もオブジェクト指向関連の問題をあつめてみました。

  資格別出題数は、

  という結果でした。

  全体的に前回と比べると、オブジェクト指向関連の問題採用数はちょっと多くなり、 それぞれの試験で大体2〜3問の出題となりました。
個人的には、自身の得点力アップのため、もうちょっと採用してもらえるとうれしいですが、問題数50問というのを考えると、このくらいがちょうどバランスがよいのでしょうか。

  なお、コンテンツは今回もオージス社内の Wiki を用いて作成しました。スレッドが完結しきっていないものもありますが、続きは広場MLでどうぞ。

解答についてご意見・ご質問のある方は、オブジェクトの広場編集部oosquare-editor@tyo.otc.ogis-ri.co.jpまでお寄せください。




(ソフトウェア開発:午前・問45)

ソフトウェアの開発手法に関する記述のうち、最も適切なものはどれか。

ア. RADは、ソフトウェア開発の工程を何段階かに分割し、前工程のアウトプットを次工程のインプットとしながら開発を進めていく手法である。
イ. スパイラルモデルは、既存のシステムに繰り返し修正を加え、ソフトウェアを改良していく開発手法である。
ウ. プロトタイピングは、"早く、安く、高品質"のシステム開発を目的とした短期システム開発手法であり、CASEツールの活用などを取り入れている。
エ. ラウンドトリップは、オブジェクト指向開発において、分析と設計、プログラミングを何度か行き来しながらトライアンドエラーで完成させていく手法である。

(解答)

(コメント)

ラウンドトリップ(round trip)とは、往復旅行とか、周遊旅行という意味ですね。
また、野球用語では「ホームラン」という意味になるそうです。(なべ)

「ア」はウォーターフォールですね。
ちなみに RAD は (Rapid Application Development) の略で、GUIツール等を使用してソフトウェア開発を支援し、容易ならしめる仕組みのことです。(trompette)




(ソフトウェア開発:午前・問48)

オブジェクト指向における委譲に関する説明として、適切なものはどれか。

ア. あるオブジェクトが複数のオブジェクトから構成される仕組み
イ. あるオブジェクトに操作を適用したとき、関連するオブジェクトに対してもその操作が自動的に適用される仕組み
ウ. あるオブジェクトに対する操作を、その内部でほかのオブジェクトに依頼する仕組み
エ. 下位のクラスが上位のクラスの属性や操作を引き継ぐ仕組み

(解答)

(コメント)

「ア」は集約、「エ」は継承ですね。
「イ」は何を意図してるんでしょう?(よ)

「イ」はイベントを連想してしまいました(自動的にというあたりで)。 (と)




(システム監査技術者、テクニカルエンジニア-データベース共通:午前)

オブジェクト指向におけるクラスの集約(aggregation)に当てはまる事例はどれか。
ここで、矢印(→)は左の各クラスを右のクラスへ集約することを示す。

ア. A 氏所有のスポーツカー, B 氏所有のセダン, C 氏所有のワゴン -> 乗用車
イ. X 社のバス, Y 社のバス, Z 社のバス -> 企業の所有する自動車
ウ. 駆動装置, 車体, 車輪 -> 自動車
エ. 乗用車, バス, トラック -> 自動車

(解答)

(コメント)

いくら問題文でUML表記が使えないからといって、この表現方法(矢印→)ってのはどうなんでしょうね。(坂坂屋.comの兄イ)

いや、たまには違う記法を使ってみるのも悪くないと思いますよ。
ちなみに、「エ」は汎化ですが、「ア」「イ」に該当する用語はあるのでしょうか?
クラス化?逆はインスタンス化?(よ)




(テクニカルエンジニア-システム管理:午前・問16)

オブジェクト指向の基本概念の組合せとして、適切なものはどれか。

ア. (仮想化、構造化、投影、クラス)
イ. (具体化、構造化、連続、クラス)
ウ. (正規化、カプセル化、分割、クラス)
エ. (抽象化、カプセル化、継承、クラス)

(解答)

(コメント)

キーワードで言えば何よりもまず継承、なのでしたっけ。
他のキーワードについてはカプセル化>構造化、抽象化>正規化、で絞り込めます?(み)




(テクニカルエンジニア-システム管理:午前・問39)

汎化に関する記述として、適切なものはどれか。

ア. "会社"と、"営業所"や"工場"との間の関連である。
イ. "会社"と、"社員"や"役員"との間の関連である。
ウ. "自動車"と、"タイヤ"や"エンジン"との間の関連である。
エ. "自動車"と、"バス"や"トラック"との間の関連である。

(解答)

(コメント)

「汎化」がUMLの「汎化」であるなら、解なしです。
ア、イ、ウ、エでは「関連」と書かれています。
UMLの「汎化」≠「関連」です。(流動性の罠)

む、関連=Association ならば仰せのとおりですが、関連=Relationship なら問題ないのでは?(まだ花粉症)

そうですね。「関連」がだいたいUMLなのかどうか不明だし、「関連」がUMLだとして、Associationの訳かRelationshipの訳かも不明です。(流動性の罠)




(テクニカルエンジニア-エンベデット:午前・問34)

スパイラルモデルに関する記述として、適切なものはどれか。

ア. システムの開発を幾つかの工程に分割し、各工程の終了を逐次確認しながら進める。
イ. システムのすべての機能を一度に開発することが前提となっている。
ウ. 短期間のうちにシステム機能を見直し、プロジェクト失敗の原因となり得る不確実な点を次のサイクルで解決する。
エ. 前工程で混入したエラーを修復するので、手戻りが発生する。

(解答)

(コメント)

「ウ」以外は全てウォーターフォールモデルでしょうか?(なべ)




(テクニカルエンジニア-エンベデット:午前・問35)

次のE-R図の解釈として、適切なものはどれか。ここで、多重度の*印は0以上を表すものとする。
なお、自己参照を除くものとする。

ア. 子組織の数より親組織の数が多い可能性がある。
イ. 組織は2段階の階層構造である。
ウ. 組織は必ず子組織をもつ。
エ. 組織はネットワーク構造になっていない。

(解答)

(コメント)

エンベデッドの出題者もアナパタを勉強していた!?
驚きのパーティーパターン登場!!。E-R図といったのは、受験者を考慮してのことか、はたまた、出題者のはじらいか??(坂坂屋.comの兄イ)

UMLでER図を描いているんですね。
そのような前提の記述がないと意味不明の問題です、これは。(流動性の罠)

正式にはER図で多重度ってどう表すんでしょう?
情報処理試験では <<---->> のように表されていることが多かったように思いますが。(よ)




(システム監査技術者、テクニカルエンジニア-データベース、システム管理、エンベデット共通:午前)

分散オブジェクト環境に関連するCORBAの説明として、適切なものはどれか。

ア. Webベースの環境で、実行時にサーバからダウンロードし、クライアント上の仮想マシンで動作するので、特定の機種に依存しない。
イ. オブジェクト指向型プログラム言語で、ネットワーク上のクライアントの仮想マシンで動作するので、特定の機種に依存しない。
ウ. ネットワーク上に分散配置された様々なコンピュータのアプリケーションを互いに連携させ、処理を行わせるための標準仕様である。
エ. 分散コンポーネントオブジェクトモデルであり、これをサポートしている分散環境では、OS間でオブジェクトの相互作用が可能である。

(解答)

(コメント)

ア. Webベースの環境で、実行時にサーバからダウンロードし、クライアント上の仮想マシンで動作するので、特定の機種に依存しない。

JavaScriptのこと?(坂坂屋.comの兄イ)

JavaApplet のことじゃないでしょうか?(よ)

私も JavaApplet だと思います。
JavaScript は JavaのようでJavaじゃないので、仮想マシンで動くかどうかは謎です。
# 単に知らないだけですが。
しかも、回答が JavaScript だとすると、JScript や VBScript の立場は・・・?(trompette)


イ. オブジェクト指向型プログラム言語で、ネットワーク上のクライアントの仮想マシンで動作するので、特定の機種に依存しない。

Javaのことでしょう。(坂坂屋.comの兄イ)

C# と JScript も FreeBSDで稼動します。仲間に入れてあげてください。
# まだ、Beta ですが。(trompette)


エ. 分散コンポーネントオブジェクトモデルであり、これをサポートしている分散環境では、OS間でオブジェクトの相互作用が可能である。

一見正解風だが、「OS間で」が間違い。正しくは「アプリケーション間で」。
思わず間違えそうな、ひっかけ問題ですね。(坂坂屋.comの兄イ)

「OS間で」がなくても、CORBA というよりどちらかというと CCM(CORBA Component Model) や EJB (Enterprise Java Beans) のことじゃないでしょうか。
Microsoft の場合は何が該当するのかな?
https://www.ogis-ri.co.jp/otc/hiroba/technical/CCM/step1/index.html(よ)

Microsoftだと、やっぱり DCOM でしょうか。
ほら、だって Distributed-Component Object Model でしょ。
日本では Windows プラットフォームしか対応していないような、あらぬ誤解を受けておりますが、独Software AG 社により、HP-UX, Solaris, AIX にも DCOM は移植されております。
ちゃんと、Windows NT ⇔ Solaris 間でも、仲良く通信してるようです。
.NET だと、Remoting サービスになるんでしょうか?そのへんは、私の守備範囲ではないので確かなことはいえません。あしからず。(trompette)

私の予想では、DCOM ではないかと思っているのですが・・・。
DCOM は分散コンポーネントオブジェクトモデルといわれていますし。
また、「これをサポートとしている分散環境では」というのは、Windows を指していように思います。
だから、「OS 間」のオブジェクトの相互作用が可能であるとなっているのではないかと。(ナガタ)




(初級システムアドミニストレータ:午前・問21)

Java言語で作成されたプログラムは、異なるハードウェアや異なる基本ソフトウェア上で実行可能である。
この特徴に関連する語句として、適切なものはどれか。

ア. JIT(Just in Time)コンパイラ
イ. 仮想マシン
ウ. クロスコンパイラ
エ. リバースエンジニアリング

(解答)

(コメント)

Javaということで、取り上げてみました。
「ア」の JIT は、実行時、一気に機械語に翻訳するタイプのコンパイラ。
Javaのようなインタプリタ言語の実行速度の遅さを補えるものですね。
また、「エ」のクロスコンパイラは、
開発プラットホームと実行プラットホームが違う場合によく使われる、実行プラットホームの機械語を生成するソフトウェア
のことですね。
テレビゲームの開発は、"これ"を使っていると聞いたことがあります。(なべ)



© 2002 OGIS-RI Co., Ltd.
Prev Index Next
Prev. Index Next