ObjectSquare

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

ココが変だよ? 情報処理試験 -午前-

Prev
Prev.

(テクニカルエンジニア(エンベデッドシステム):午前・問40)
(ソフトウェア開発技術者:午前・問58)

オブジェクト指向において、図のような階層のクラスを構成する場合、クラス間の関係として、適切なものはどれか。

図 : クラス階層(自動車)
ア. "バス"、"トラック"などのクラスが"自動車"のデータを引き継ぐことを、インスタンスという。
イ. "バス"、"トラック"などのクラスの共通部分を抽出して、"自動車"のクラスとして定義することを、汎化という。
ウ. "バス"、"トラック"などのクラスは、"自動車"のクラスに対して、スーパクラスという。
エ. "バス"、"トラック"などのそれぞれのクラスの違いを"自動車"のクラスとして定義することを、特化という。

(解答)

(コメント)

あんまり車について詳しくないんですが、セダンクラスとバンクラスって、どこが違うんでしょうね。 (くま)

“ア”は継承、“ウ”はサブクラス、“エ”は「違い」ではなく「共通部分」 (trompette)

“エ”は、特化の説明なら『"自動車"クラスとの違いを"バス"、"トラック"などのそれぞれのクラスに定義することを、特化という。』となるのではないでしょうか。汎化(抽象化:自動車)<-->特化(具象化:バス、トラック)ですよね?

ちなみに、「セダン」とか「バン」というのは車種の違いで、セダンは『四〜六人乗りで、座席は前向きに二列。乗用車の中で最も一般的なもの。箱型自動車。』、バンは『箱形の有蓋トラック。』のことらしいですよ by 三省堂提供「大辞林 第二版」。
ま、そんな細かいことは分からなくとも、「バス」と「トラック」が分かれば「自動車」との関係は分かるので問題を解くのには困らないかと。要は「汎化」「特化」などの用語の意味を理解していれば大丈夫ですよね。 
そんなことより「スーパクラス」の方が気になります。JISに、そんなカタカナ表記の規約があったかもなぁ…そう言えば、という感じで (たけ)

“ア”は「インヘリタンス」との引っかけでしょうかね? (よ)


(テクニカルエンジニア(データベース):午前・問28)

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

図 : 会計取引
ア. 会計取引に対応する仕分記入の金額が今後も変化しないことを保障する。
イ. 勘定間を移動する金額が、その会計取引において一致することを保障する。
ウ. 勘定の残高が、その会計取引を記録するごとに計算されることを保障する。
エ. 同一の勘定同士で会計取引が行われないことを保障する。

(解答)

(コメント)

考えてしまいますね。勘定と仕訳記入との関係がポイントか?答えが気になります。エですか? (くま)

単純に「貸借一致の原則」を理解していれば解ける問題ですね。
簡易版の仕訳帳形式で表現すると、

取引日 借方 金額 貸方 金額 備考
2004/04/01 現金 \10,500 売上 \31,500 「くま」一匹売却
  売掛金 \21,000      
2004/04/10 現金 \21,000 売掛金 \21,000 売掛金回収
2004/04/20 売上 \31,500 現金 \31,500 「くま」不良品のためリコール
正解は“イ”だと思われます。 (trompette)

“イ”ですね。
会計取引に対する制約って、コメントに書いてある内容ですよね?それと“エ”は関係ないですから。なんか微妙な問題ですね。 (たけ)

“イ”だとは思うけど...
「移動する金額が...一致する」って日本語として変では?
「増減が一致する」とか「貸借が一致する」ならわかりますが。 (よ)

 

(テクニカルエンジニア(エンベデッドシステム):午前・問39)
(ソフトウェア開発技術者:午前・問57)

オブジェクト指向において、クラスをカプセル化する利点はどれか。

ア. インスタンス変数名を変えても、クラスの利用者に影響しない。
イ. クラスのインタフェースを変えても、クラスの利用者に影響しない。
ウ. クラス名を変えてもフィールド名とメソッド名を変えなければ、クラスの利用者に影響しない。
エ. メソッド名を変えても、クラスの利用者に影響しない。

(解答)

(コメント)

なんか、あんまりありがたみのなさそうな回答例ですね。(辛口のくま)

クラスとカプセル化の概念について問うているようですが、
選択肢を読むと、情報隠蔽と混同しているように思えます。
それに、選択肢と問題の関連が良くわかりません。
故にあまり良い問題とは思えません。(trompette)

“ア”はなぜ「インスタンス」変数と限定しているんでしょうね?
パブリックなインスタンス変数名は変えてもいいの?
プライベートなクラス変数名は変えてはいけないの?
あまり正解としたくない解ですね。
“ウ”、“エ”も内容が間違いだと言いたいのか、
カプセル化の利点ではないと言いたいのか...?(よ)


(テクニカルエンジニア(データベース):午前・問19)
(テクニカルエンジニア(エンベデッドシステム):午前・問38)
(テクニカルエンジニア(システム管理):午前・問18)
(ソフトウェア開発技術者:午前・問55)

システム分析・設計に用いられる状態遷移図の特徴として、適切なものはどれか。

ア. システムで扱う状態遷移の発生順序と、それに対応する機能の処理に要する時間を対比して分析する場合に有効である。
イ. システムの取り得る状態が有限個で、"次の状態は、現在の状態と発生する事象だけで決定される"場合の動作を表すのに有効である。
ウ. 発生した事象の時間的関係から状態を導く場合に有効である。
エ. モジュールの制御構造と、受渡しパラメタ、受渡しデータを記述する場合に有効である。

(解答)

(コメント)

“イ”だと思います。
“イ”以外が何の説明なのかはよく分かりません。

それにしても随分色々な試験で出されていますね、この問題。(キウイ)

システム分析・設計に用いられる状態遷移図、と言えばオブジェクト指向に限った話ではなく開発一般の話でもあるからでしょうか。勿論、UMLのステートチャート図がどういうものか、というのを知っているだけでも解ける問題だとは思います。

ちなみに、やけに「時間」が持ち出されているのは、一般に「遷移」という言葉から「時間」という言葉を連想するからなのでしょうか…?(たけ)


(ソフトウェア開発技術者:午前・問50)

ソフトウェア開発のプロセスモデルの一つであるスパイラルモデルに関する記述として、適切なものはどれか。

ア. 基本的に後戻りが許されないので、要求仕様の変更に対応するには大きな工数を要する。
イ. システムの部分単位に要求定義・設計・プログラミング・テストを繰り返しながら開発するので、未経験分野のシステム開発に有効である。
ウ. 全体の作業を幾つかのフェーズに分けて管理するので、最初から要求仕様が明白な場合に、最も効率的な方法である。
エ. 要求仕様の変更のたびに機能分割と段階的な機能追加を繰り返すので、大規模システム開発に有効である。

(解答)

(コメント)

部分単位ではないのでは?(よ)


(テクニカルエンジニア(システム管理):午前・問19)
(ソフトウェア開発技術者:午前・問56)

事象駆動(イベントドリブン)プログラムの開発に際して行う分析(事象応答分析)の説明として、適切なものはどれか。

ア. 外界の事象に応じて、時間の流れとともにシステムが応答するという一連の動作を分析するための方法である。
イ. システムの改善案を検討する場合などに、ある事象について思いつく様々な着想を視覚的なイメージ図にまとめ、参加者がこの図
を基に別の視点に立った新しい発想を生み出すことを支援するための方法である。
ウ. システムの機能を入力データ及び出力データの両面から分析するための技法であり、四つの要素(データ、情報、機能及び条件)
の相互関係を定義する。
エ. システムの対象をモデル化する際に、実体と関連によって、その構造を分析するための方法である。

(解答)

(コメント)

消去法でいくと、“ア”ですか?(soda)

“ア”ですね。
これまたオブジェクト指向に限った話ではないし、微妙な問題ですね。(たけ)


(テクニカルエンジニア(エンベデッドシステム):午前・問33)
(ソフトウェア開発技術者:午前・問45)

Javaの特徴に関する説明として、適切なものはどれか。

ア. オブジェクト指向言語であり、スーパクラスを複数指定できる多重継承が使える。
イ. 整数や文字などの基本データ型をクラスとして扱うことができる。
ウ. ポインタ型があるので、メモリ上のアドレスを直接参照できる。
エ. メモリ管理は自動的に行われ、メモリのガーベジコレクションの機能が働く。

(解答)

(コメント)

“ア”は C++ に関する特徴、“イ”は Smalltalk など、“ウ”は C、Delphi などの特徴。というのが一般的な発想だと思います。(trompette)

Java 言語では言語仕様としてガーベジコレクションの機能が使えるのが当然なんですが、
Lego Mindstorms 上で動作する leJOS 2.1.0 (Java 言語をサポートする OS) ではガーベジコレクションがないんですね。
メソッド内でローカル変数として String クラスの文字列を使おうとしたら、実行時にブッブ〜となって OutOfMemoryError が発生します。
メソッドが呼ばれる度に、String クラスのインスタンスが生成され、それがガーベジコレクションされないもんだからメモリを食い尽くしてしまうんですね。。。 (ぴよ)


(ソフトウェア開発技術者:午前・問47)

J2EE(Java 2 Platform, Enterprise Edition)の構成要素の一つはどれか。

ア. CGI
イ. HTML
ウ. JavaScript
エ. Servlet

(解答)

(コメント)

(trompette)


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

Web サービスなどの情報についてレジストリの仕様であり、利用者が必要とするサービスの一覧を提供しているものはどれか。

ア. SOAP
イ. UDDI
ウ. WSCI
エ. WSDL

(解答)

(コメント)

(trompette)


(テクニカルエンジニア(データベース):午前・問49)

分散システム環境で、異なったオブジェクト間でも、メッセージ交換を可能にした共通仕様はどれか。

ア. CORBA
イ. EDIFACT
ウ. JPEG
エ. SET

(解答)

(コメント)

”ア”なんでしょうけど、異なったオブジェクト間…ひっかけ?(くま)

“ア”ですね。オブジェクトだけに。(たけ)


© 2004 OGIS-RI Co., Ltd.
Prev
Prev.