adios ★ egatti

egatti(エガッティ)は今日も元気に生きています。

【システムアーキテクト】平成27年度 午前II 問1〜問5

 どうもです。egatti です。

 

試験勉強を本格的に始める所存であります。

お試しで、ここに過去問メモ。

 

  • メモ書きは私でもわかるレベル
  • 落書きは続けたいわ
  • 深掘りしすぎに気をつけつつ頻度はあげたい

 

 

というわけで。

kanauka.com

こちらの過去問題と解説を参考にさせていただきます。

直近のがないけど。まぁいいや。

 

 

過去問の前に、ちょっと聞いてくださいよ。

 

昨日ね、近所のスーパーに買い物に行ったのね。普段だったら歩いて行くんだけど、珍しく自転車で行ったのね。で、買い物済ませて、帰ったらね、、じ、自転車がないぃっ!自転車なくなってるぅっ!と、盗難!?

 

・・・いやいやいやいやいや。買い物、自転車で行ったじゃーん。スーパーまで、自転車こいで行ったんじゃーん。そのまま置いて、歩いて帰ってきてちゃってるじゃーん。

 

蒸し暑い夏の日の夕暮、再び、歩いてスーパーへ自転車を取りに行きましたとさ。

 

ごめん、それだけ。

  

f:id:miztandgch:20180816221816p:plain

 

では、過去問をどうぞ。

 

平成27年度 秋 午前Ⅱ 

第1問

ソフトウェアライフサイクルプロセスのシステム方式設計で行うものはどれか。

ソフトウェア構成品目の明確化
ソフトウェアコンポーネントの構成の明確化
ソフトウェアのインタフェース仕様の決定
ソフトウェアのユニットごとのテスト要求事項の定義

 

解答メモ:システム方式設計「システムをどんな方式でつくる?どんなハードウェアを使って実現しようか?ココとココをシステム化して、ここは手作業が残るね」みたいなことを設計。システム要件定義で、どんなシステムを作りたいかという要件を明確にした後で設計します。

ソフトウェア構成品目は、システム方式設計で、どんな構成のシステムにするか設計
ソフトウェアコンポーネントの構成は、もっと後のソフトウェア方式設計
ソフトウェアのインタフェース仕様は、もっと後のシステム詳細設計
ソフトウェアのユニットごとのテスト要求事項も、もっと後のシステム詳細設計

 解答:ア

 

 問2

UMLを使って図のクラスPを定義した。 このクラスの操作のうち、公開可視性(public)を持つものはどれか。

全ての操作
操作A
操作B
操作C

 

解答メモ:クラス図の書き方。まぁ、知らなくても public でオープンな感じだから、なんか「+」っぽいよね。(雑)

+ public すべてのクラスからアクセスできる
- private 同じクラスからアクセスできる
# protected 同じクラスとサブクラス、同じパッケージからアクセスできる

解答:イ

 

問3

オブジェクト指向分析における分析モデルによって、ユースケース内のオブジェクトを分類するとき、境界オブジェクトに該当するものはどれか。

オブジェクト間の相互作用を制御するためのオブジェクト
画面操作や画面表示などのGUIオブジェクト
システムの中核となるデータとその操作のオブジェクト
データモデルにおけるエンティティに相当するオブジェクト

 

解答メモ:ユースケース図は、アクター(システムを使う人)とシステムの振る舞いの関連を図で表現します。システムの部分は枠で括ります。それが、アクターとシステムとの境界を示すものになります。サブジェクトとも呼ぶらしい。選択肢は、アクターとシステムの境界にあたるものを選べばOK。

解答:イ

 

問4

オブジェクト指向設計における設計原則のうち、開放・閉鎖原則はどれか。

クラスに持たせる役割は一つだけにするべきであり、複数の役割が存在する場合にはクラスを分割する。
クラスを利用するクライアントごとに異なるメソッドが必要な場合は、インタフェースを分ける。
上位モジュールは、下位モジュールに依存してはならない。
モジュールの機能には、追加や変更が可能であり、その影響が他のモジュールに及ばないようにする。

 

解答メモ:内容は知ってても、原則の名前とか意識しないですよねー。

  • 機能の追加や変更ができる → 解放(open)
  • 機能の修正は他に影響しない → 閉鎖(close)

ということらしいです。

クラスの役割は一つ → 単一責任
インタフェースは分ける → インタフェース分離
上位モジュールは下位モジュールに依存しない → 依存関係逆転
拡張できて、他に影響しない → 解放・閉鎖

 解答:エ

 

問5

デザインパターンの中のストラテジパターンを用いて、帳票出力のクラスを図のとおりに設計した。 この帳票出力ストラテジクラスの説明として、適切なものはどれか。

クライアントは、使用したいフォーマットに対応する、帳票出力ストラテジクラスのサブクラスを意識せずに利用できる。
新規フォーマット用のアルゴリズムの追加が容易である。
帳票ストラテジクラスの中で、どのフォーマットで帳票を出力するかの振分けを行っている。
帳票出力のアルゴリズムは、コンテキストクラスの中に記述する。

 

 解答メモ:デザインパターンとかストラテジパターンとかの言葉に惑わされず、シンプルにクラス図を見る、と良いと思いました。

クライアントはPDFやHTMLなどの欲しいフォーマットを意識するので、サブクラスを意識することになる。
フォーマット毎にサブクラスが用意されているので、新規フォーマット用のクラス追加が容易。
よくわからんけど、まず、帳票ストラテジクラスってないよね?どのフォーマットで帳票を出力するかの振分けは帳票出力ストラテジクラスではないのかしら。
フォーマット別に帳票出力のアルゴリズムがあるので、各サブクラスに記述。

解答:イ

 

わーっ!

お試しで5問載せてみたけど、

コレ、全部やるつもり?

いや、時間がたっぷりあるならいいよ、

あと66日しかないよ?

仕事も家事もあるよ?

午前Ⅱだけで何問あるよ?

あと午後Ⅰと午後Ⅱがあるよ?

 

ふー。

 

ひとまず、今日は、ここまで。

では、また。