戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

基本情報技術者 2009年 秋期 午後 問05


航空券発券システムに関する次の記述を読んで、設問1〜3に答えよ。

 オブジェクト指向分析/設計を用いて、航空券発券システムの設計を行う。  航空券発券業務の分析から、図1の分析クラス図を作成した。   〔航空券発券業務の内容〕 (1) 航空会社の航空券販売担当者(以下、販売担当者という)は、顧客が窓口で申し込んだ内容を基に、航空券発券システムで空席確認及び発券を行う。 (2) 顧客が窓口で申し込む内容は、出発日時、出発地及び到着地となる空港名、便名、グレード(ファースト、エコノミー)、人数、席種(窓側、中間、通路側)である。すべての便は直行便である。 (3) 販売担当者は(2)で受け付けた申込み内容を確認し、その情報をシステムに入力する。システムはその便の空席状態を確認する。空席があれば(4)に進み、なければ、顧客は申込み内容を変更して再度申込みをする。 (4) 販売担当者は顧客が希望しているグレードと席種の座席を確保し、顧客情報を登録して航空券を発券する。
基本情報技術者試験(平成21年 午後 問5 図1) ↩設問1 ↩設問2

設問1:

問題文を見る
 図1中のに入れる適切なクラス名を、解答群の中から選べ。   解答群  ア:空港  イ:航空会社  ウ:航空機  エ:航空券  オ:航空券発券システム  カ:便

模範解答

a:ア、b:エ、c:カ

解説

解答の導き方

図1の空欄は、クラスの属性と、ほかのクラスとのつながり方から判断します。クラスは、顧客や航空券のような「種類」を表すものです。
まず、aには「名称」と「所在地」があります。また、cとの関係には「出発空港」「到着空港」という役割名が付いています。つまり、aは便の出発地や到着地になるものです。したがって、aは空港です。
次に、cには「便名」「出発日時」「到着日時」があります。さらに、aと出発空港・到着空港としてつながり、座席とも関係しています。これらの情報は、航空機そのものではなく、運航される便の情報です。したがって、cは便です。
最後に、bには「発券日時」があります。また、顧客や社員、便、座席と関係しています。業務の説明では、座席を確保した後に顧客情報を登録し、航空券を発券します。この流れから、bは発券された航空券を表すと分かります。
多重度も、この判断を裏付けます。多重度は、あるクラスの1個のものに対して、反対側のクラスのものが何個関係するかを示します。図1では、1枚の航空券は1人の顧客、1人の社員、1つの便、1つの座席と関係する形になっています。航空券が顧客・社員・便・座席とつながっていることも、bが航空券である理由です。

誤りやすいポイント

  • aの属性に「名称」があるため、航空会社と考えてしまうことがあります。しかし、図1ではcとの関係に「出発空港」「到着空港」とあるため、空港と判断できます。
  • cを航空機と考えてしまうことがあります。しかし、「便名」「出発日時」「到着日時」があり、出発空港と到着空港の両方に関係しているため、便を表します。
  • bを顧客や社員と取り違えないようにしましょう。「発券日時」があり、顧客・社員・便・座席をつなぐクラスなので、航空券と判断できます。
  • 多重度の数字を、そのクラス自身が何個あるかだと誤解しないようにしましょう。多重度は、反対側のクラスの1個に対して、いくつ関係するかを表します。

FAQ

Q: bが顧客ではなく航空券だと分かる決め手は何ですか?
A: bに「発券日時」があり、顧客や社員だけでなく、便や座席とも関係している点です。顧客は図1ですでに独立したクラスとして表されています。
Q: 航空機にも座席があるのに、なぜcは航空機ではないのですか?
A: cの属性は「便名」「出発日時」「到着日時」で、さらに出発空港と到着空港に関係しています。これは、航空機の情報ではなく便の情報です。
Q: 多重度はどのように読みますか?
A: 多重度が書かれている側のクラスについて、反対側のクラス1個に対して何個関係するかを読みます。たとえば、航空券側の多重度が便の関係で「0..*」なら、1つの便に航空券が0個以上関係します。

関連キーワード: 分析クラス図、クラス、関連、多重度、オブジェクト指向分析/設計

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

 図2中のに入れる正しい答えを、解答群の中から選べ。ただし、図2中のcには設問1の正しい答えが入っているものとする。
 図1の分析クラス図に、実装を考慮して次の二つのクラスを追加した後、操作を洗い出すために、図2の販売担当者とシステムのオブジェクトとの関係のシーケンス図を作成した。   〔追加したクラス〕  ① 航空券発券画面:データを入力する画面クラス  ② 航空券発券管理:航空券を発券するための管理クラス
基本情報技術者試験(平成21年 午後 問5 図2)
d, eに関する解答群  ア:空席を確認する  イ:航空券を発券する  ウ:顧客情報を登録する  エ:出発日時を問い合わせる  オ:出発日時を登録する  カ:発券可否を確認する

模範解答

d:カ、e:ア

解説

解答の導き方

図2は、販売担当者やシステム内のオブジェクトが、どの順番で処理を依頼し、結果を返すかを表すシーケンス図です。矢印に書かれた処理と、処理を受け取る相手に注目します。
まず、販売担当者は画面に「出発日時、出発地及び到着地となる空港名、便名、グレード、人数、席種」を入力し、発券できるかを確認します。その後、航空券発券画面から航空券発券管理へ、dの処理が依頼されます。
この段階で画面が管理に依頼しているのは、入力された申込み内容を基に「発券できるか」を確かめることです。したがって、dには「発券可否を確認する」が入ります。図3でも、dは航空券発券管理クラス側に示されています。
次に、航空券発券管理からcへeが依頼され、その戻り値として「空席状態」が返ります。この「空席状態」を得るためにcへ依頼する処理は、空席を調べることです。よって、eには「空席を確認する」が入ります。
つまり、dは画面から管理への「発券できるかの確認依頼」、eは管理からcへの「空席確認の依頼」です。後の手順には「座席を確保する」処理もありますが、空席を調べることと座席を確保することは別の処理です。

誤りやすいポイント

  • dとeを、どちらも「空席を確認する」と考えてしまうことがあります。dは管理に発券可否を確認する依頼で、eは管理がcに空席状態を問い合わせる依頼です。
  • eを「発券可否を確認する」と考えるのも誤りです。図2では、eの依頼先であるcから「空席状態」が返されています。発券可否を判断するための情報を得る段階です。
  • 「空席を確認する」と「座席を確保する」を混同しないようにします。空席を確認した後、発券に進む場合には、別の処理として座席を確保します。

FAQ

Q: 発券可否を確認するのに、なぜcへ空席を確認するのですか?
A: 発券できるかを判断するには、まず希望する便に空席があるかを調べる必要があるためです。航空券発券管理がcに空席を確認し、その結果を基に発券可否を画面へ返します。
Q: 空席を確認できれば、座席も確保されたことになりますか?
A: いいえ。空席の確認は状態を調べる処理で、座席の確保は別の処理です。図2でも、空席確認の後に「座席を確保する」処理が示されています。
Q: 航空券発券画面と航空券発券管理は、何を分担していますか?
A: 画面は販売担当者から情報を受け取り、操作結果を表示します。管理は、受け取った依頼に応じて空席を確認したり、顧客情報の登録や発券を進めたりします。

関連キーワード: シーケンス図、クラス、オブジェクト、メッセージ、責務分担

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

 航空券発券画面クラスと航空券発券管理クラスを図3に示す。図3の操作中のに入れる正しい答えを、解答群の中から選べ。ただし、図3中のdには設問2の正しい答えが入っているものとする。
基本情報技術者試験(平成21年 午後 問5 図3)
f, gに関する解答群  ア:空席を確認する  イ:顧客情報を登録する  ウ:出発日時を登録する  エ:発券可否を確認する  オ:発券可否を表示する  カ:便の座席数を確認する

模範解答

f:イ、g:オ(順不同)

解説

解答の導き方

図3で問われているのは、航空券発券画面クラスにある操作(そのクラスが行う処理)の空欄です。クラスとは、同じ役割をもつデータや処理をまとめる設計上の型です。
画面クラスと管理クラスは役割が異なります。画面クラスは販売担当者から入力を受け取り、処理結果を表示します。管理クラスは、画面から依頼を受けて必要な処理を進めます。
まず、発券可否を確認する場面を図2で追います。販売担当者は画面に申込み内容を入力し、発券可否を確認します。画面から管理クラスへ依頼が送られ、管理クラスは「空席状態」を問い合わせます。その結果を受け取った管理クラスは「可否」を画面へ返し、画面は販売担当者に発券可否を表示します。
つまり、空席状態を調べる処理と、確認結果を画面に示す処理は別です。画面クラスの操作に当てはまるのは、確認結果を販売担当者に見せる「発券可否を表示する」です。したがって、gには「発券可否を表示する」が入ります。
次に、顧客情報を登録する場面を見ます。図2では、販売担当者から画面へ「顧客情報を登録する」という依頼があり、画面から管理クラスへ同じ依頼が送られています。その後、管理クラスが顧客を登録しています。
このように、画面クラスは販売担当者から登録の依頼を受け付け、管理クラスはその依頼を受けて登録処理を進めます。そのため、画面クラスにも「顧客情報を登録する」という操作があります。したがって、fには「顧客情報を登録する」が入ります。

誤りやすいポイント

  • 「空席を確認する」と「発券可否を表示する」を混同しないようにしましょう。空席の確認は管理クラスが問い合わせ、画面クラスは返ってきた結果を表示します。
  • 「顧客情報を登録する」は管理クラスにも画面クラスにもあります。同じ名前の操作でも、画面では依頼を受け付け、管理側では登録処理を進めるという役割の違いがあります。
  • 「発券可否を確認する」と「発券可否を表示する」も区別が必要です。確認の依頼や処理と、その結果を画面に示す処理は別です。

FAQ

Q: 画面クラスと管理クラスの両方に「顧客情報を登録する」があるのはなぜですか?
A: 画面クラスは販売担当者から登録の依頼を受け付けて管理クラスへ渡します。管理クラスはその依頼を受けて、顧客情報の登録を進めます。同じ操作名でも、担当する役割が異なります。
Q: なぜ「空席を確認する」ではなく「発券可否を表示する」なのですか?
A: 図2では、空席状態を問い合わせて結果を返す処理は管理クラス側で行われています。画面クラスが行うのは、管理クラスから返された可否を販売担当者に表示することです。
Q: 「発券可否を確認する」と「発券可否を表示する」はどう違いますか?
A: 「確認する」は発券できるかどうかを調べるための依頼や処理を指します。「表示する」は、調べた結果を画面に示す処理を指します。

関連キーワード: クラス、操作、シーケンス図、画面クラス、管理クラス

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

戦国ITクイズ機能

\ せっかくなら /

基本情報技術者を
クイズ形式で学習しませんか?

クイズ画面へ遷移する→

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について