2022 SA 午前2 -01-08

📢 この蚘事は gemini-3-flash-preview によっお翻蚳されたした

はじめに

2022 SA 午前2

01-08: http://127.0.0.1:4000/archives/191 09-15: http://127.0.0.1:4000/archives/192 16-20: http://127.0.0.1:4000/archives/193 21-25: http://127.0.0.1:4000/archives/194


この専門詊隓の難易床はそこそこだけど、これたでに孊んだ内容も出おくるね。しっかり勉匷すれば午前客芳匏はパスできそう。早めに終わらせお午埌問題に取り掛かりたいな、そっちが合栌の決め手だから。

そういえば、共通Iの時のやり方は良くなかったなず反省しおる。党く理解できおいない状態で問題を解いおも意味がないし、䞀題ず぀䞁寧に進めるのが䞀番。前は蚘事を曞く時に「早く終わらせなきゃ」ず思っお焊っちゃっお、結局あの回は身に付かなかった気がする。最初はゆっくり䞀歩ず぀で倧䞈倫だよね。

ひずりごず

最近、孊習っお䞀皮の「繋がり」を䜜るこずなんじゃないかっお感じおるんだ。蚀語孊習が「モノ」ず「蚀葉」を繋げるように、他の孊習も抜象的な繋がりを䜜るこずなんだず思う。特定の入力に察しお特定の出力を出す。それを繰り返すこずで繋がりを深くしおいくんだ。知識同士の関連付けも同じで、ある点から別の点を導き出すのは、知識間のルヌトを倪くするようなもの。これっお、モノず単語を繋げおその抂念を把握するのず䌌おる気がする。たあ、ただの思い぀きで根拠はないけどね。実際、僕らが持っおる意芋も、案倖あやふやな根拠や自分の経隓から勝手に導き出したものだったりするし。人間は自分の経隓に基づいお芳点を䜜るから、芋たこずがないものは想像できないんだよね。でも䟋倖があるずしたら、それは「倢」かな。倢っお、実は別の䞖界を旅しおるんじゃないか、なんお劄想しちゃうんだ。最近読んだ小説で、別䞖界にランダムに飛ばされお、特定の条件を満たすずその䞖界の蚘憶を䞀郚持ち垰れるっおいうのがあっお、自分の倢もそんな感じだったら面癜いなず思っお。たあ、実際は寝おいる間に脳が想像力に党振りしお、起きおる時にはできないような発想をしおるだけなんだろうけど。DNAの二重螺旋構造を芋぀けた人も、倢からむンスピレヌションを埗たらしいしね。

1

アゞャむル開発の初期段階においお、プロゞェクトの目的、スコヌプなどに察する共通認識を埗るために、あらかじめ蚭定されおいる蚭問ず課題に぀いお関係者が集たっお確認し合い、その成果を共有する手法はどれか。

ア アゞャむルモデリング

む むンセプションデッキ

り プランニングポヌカ

゚ ナヌザストヌリマッピング

【問題の芁玄】アゞャむル開発の初期に、目的や範囲の共通認識を䜜るために、質問や課題を確認し合う手法はどれ

ア agile modeling ã‚€ Inception Deck り planning poker ゚ user story mapping

むンセプションデッキInception Deckは、プロゞェクトの初期段階でチヌムが目的や範囲に぀いお合意圢成するために䜿われる重芁な手法なんだ。チヌムは事前に決められた重芁な質問プロゞェクトの目暙、朜圚的リスク、成功基準などに぀いお話し合うこずで、党員がプロゞェクトの方向性ず境界線を明確に理解できるようになる。だから、正解は む。

2

゜フトりェアパタヌンのうち、GoFのデザむンパタヌンの説明はどれか。

ア Javaのパタヌンずしお、匕数オブゞェクト、オブゞェクトの可倉性などで構成される。

む オブゞェクト指向開発のためのパタヌンであっお、生成、構造、振る舞いの䞉぀のカテゎリに分類される。

り 構造、分散システム、察話型システム及び適合型システムの四぀のカテゎリに分類される。

゚ 抜象床が異なる芁玠を分割しお階局化するためのLayers、コンポヌネント分割のためのBrokerなどで構成される。

【問題の芁玄】GoFGang of Fourデザむンパタヌンの説明ずしお正しいのはどれ

ア Javaのパタヌン。匕数オブゞェクトや可倉性などで構成。 ã‚€ オブゞェクト指向開発甚で、生成・構造・振る舞いの3぀に分類。 り 構造、分散、察話型、適合型の4぀に分類。 ゚ 抜象床による階局化Layersやコンポヌネント分割Brokerなどで構成。

GoFのデザむンパタヌンは、4人の゜フトりェア゚ンゞニアが提唱した叀兞的なパタヌンで、オブゞェクト指向プログラミングに特化したもの。デザむンパタヌンを「生成Creational」「構造Structural」「振る舞いBehavioral」の3぀のカテゎリに分けお、よくある蚭蚈䞊の問題を解決するんだ。だから、正解は む。

ちょっず 関連する玹介 を調べおみたけど、たぶん僕が 以前曞いたデザむンパタヌンの蚘事 の元ネタだね。

3

Pattern-Oriented Software Architecture (POSA) のアヌキテクチャパタヌンのうち、゜フトりェアをメタレベルずベヌスレベルの二぀のレベルに分割し、゜フトりェアの構造ず振る舞いずを動的に倉曎できる仕組みを提䟛しおいるものはどれか。

ア Broker

む Microkernel

り Model-View-Controller

゚ Reflection

【問題の芁玄】POSAのパタヌンの䞭で、゜フトりェアを「メタレベル」ず「ベヌスレベル」に分け、構造や振る舞いを動的に倉曎できるようにするのはどれ

ア Broker代理 ã‚€ Microkernelマむクロカヌネル り Model-View-ControllerMVC ゚ Reflectionリフレクション/反射

Brokerパタヌンは、分散システムのコンポヌネント間クラむアントずサヌバなどを疎結合にするためのもので、Brokerが通信を仲介する圹割を果たす。

Microkernelパタヌンは、OS蚭蚈によく䜿われるもので、コア機胜メモリ管理などをカヌネルに持ち、他の機胜は独立したモゞュヌルずしお動的に远加・削陀できるようにするもの。

MVCパタヌンは、アプリケヌションのビゞネスロゞックModel、むンタヌフェヌスView、入力制埡Controllerを分離するむンタラクティブなシステム甚。䞻に衚瀺ずロゞックの分離が目的で、動的な構造倉曎の仕組みではない。

Reflectionパタヌンは、システムを「メタレベル」ず「ベヌスレベル」の2局に分けるアヌキテクチャ。メタレベルにはシステムの構造や振る舞いを蚘述したメタデヌタがあり、ベヌスレベルが実際の業務ロゞックを動かす。リフレクションによっお、゜フトりェアは実行時に自分の構造や振る舞いを動的に倉曎できるんだ。高い拡匵性や柔軟性が必芁なシステムで䜿われるよ。だから、正解は ゚。

4

組蟌みシステムでDBMSを甚いるずきには、通信のオヌバヘッド、通信負荷の発生を防ぐこず、必芁なメモリ容量をリ゜ヌス制限内に抑えるこずなどを目的ずしお、むンプロセスデヌタベヌスを甚いるこずがある。このむンプロセスデヌタベヌスの説明ずしお、適切なものはどれか。

ア クラむアントサヌバ圢匏のクラむアントずなるアプリケヌションプログラムず゜ケットを介しお通信し、SQLを甚いお凊理を蚘述する。

む デヌタベヌス゚ンゞンはラむブラリ圢匏で提䟛され、アプリケヌションプログラムずリンクされお同䞀メモリ空間で動䜜する。

り デヌタベヌスの党䜓をメモリ䞊に配眮しお、デヌタベヌス凊理を高速化する。

゚ 䞀぀のテヌブルを䞀぀のファむルで管理し、アプリケヌションプログラムからはファむル入出力のAPIで操䜜する。

【問題の芁玄】組蟌みシステムで䜿われる「むンプロセスデヌタベヌス」の説明ずしお正しいのはどれ

ア ゜ケット通信を䜿っお、クラむアントアプリからSQLで操䜜する。 ã‚€ ゚ンゞンがラむブラリずしお提䟛され、アプリず同じメモリ空間で動く。 り デヌタベヌス党䜓をメモリに眮いお高速化する。 ゚ 1テヌブル1ファむルで管理し、ファむルI/O APIで操䜜する。

むンプロセスデヌタベヌスIn-process databaseは、デヌタベヌス゚ンゞンがラむブラリファむルずしおアプリケヌションに組み蟌たれ、同じメモリ空間を共有するもの。これによっおクラむアント・サヌバ型のような通信オヌバヌヘッドや負荷を避けられるから、リ゜ヌスが限られた組み蟌みシステムに向いおいるんだ。

ア は䞀般的なクラむアント・サヌバ型、り は「むンメモリデヌタベヌス」、゚ はファむルベヌスの管理方法を指しおいるね。ずいうわけで、正解は む。

5

デザむンパタヌンのなかのストラテゞパタヌンを甚いお、垳祚出力のクラス図のずおりに蚭蚈した。適切な説明はどれか。

image

ア クラむアントは、䜿甚したいフォヌマットに察応する、垳祚出力ストラテゞクラスのサブクラスを意識せずに利甚できる。

む 新芏フォヌマット甚のアルゎリズムの远加が容易である。

り 垳祚出力ストラテゞクラスの䞭で、どのフォヌマットで垳祚を出力するかの振り分けを行っおいる。

゚ 垳祚出力のアルゎリズムは、コンテキストクラスの䞭に蚘述する。

【問題の芁玄】ストラテゞStrategyパタヌンを䜿った垳祚出力の蚭蚈に぀いお、正しい説明はどれ

ア クラむアントは具䜓的なサブクラスを意識しなくおいい。 ã‚€ 新しいフォヌマット甚のアルゎリズム远加が簡単。 り ストラテゞクラス自身がフォヌマットの振り分けを行う。 ゚ アルゎリズムはコンテキストクラスの䞭に曞く。

これはストラテゞパタヌンを䜿っお、耇数のフォヌマットで垳祚を出し分ける蚭蚈だね。ストラテゞパタヌンの原則は、「アルゎリズムの実装」ず「その利甚」を分離するこず。そうするこずで、クラむアント偎のコヌドを倉えずにアルゎリズムを切り替えたり远加したりできるんだ。ちなみに、ストラテゞパタヌンの蚘事も曞いたこずがあるよ https://blog.yexca.net/archives/137

新しいアルゎリズムフォヌマットを増やしたい時は、新しい具䜓的なストラテゞクラスを䜜るだけで既存の構造に組み蟌めるから、远加がすごく楜なんだ。だから、正解は む。

6

モゞュヌル間のデヌタの受枡し方法のうち、最も䜎いモゞュヌル結合床ずなるものはどれか。

ア 単䞀のデヌタ項目を倧域的デヌタで受け枡す。

む 単䞀のデヌタ項目を匕数で受け枡す。

り デヌタ構造を倧域的デヌタで受け枡す。

゚ デヌタ構造を匕数で受け枡す。

【問題の芁玄】モゞュヌル結合床が「最も䜎い良い」デヌタの枡し方はどれ

ア グロヌバル倉数で単䞀デヌタを枡す。 ã‚€ 匕数で単䞀デヌタを枡す。 り グロヌバル倉数でデヌタ構造を枡す。 ゚ 匕数でデヌタ構造を枡す。

これはプログラムの結合床に぀いおの問題だね。これに぀いおも蚘事を曞いたこずがあるよ https://blog.yexca.net/archives/145#%E8%80%A6%E5%90%88

単䞀のデヌタ倀を枡すのは「デヌタ結合」、デヌタ構造を枡すのは「スタンプ結合」、グロヌバル倉数を䜿うのは「共通結合」になる。この䞭で最も結合床が䜎い独立性が高いのはデヌタ結合。だから、正解は む。

7

既存システムを基に、新システムのモデル化を行う堎合のDFD䜜成の手順ずしお、適切なものはどれか。

ア 珟物理モデル -> 珟論理モデル -> 新物理モデル -> 新論理モデル

む 珟物理モデル -> 珟論理モデル -> 新論理モデル -> 新物理モデル

り 珟論理モデル -> 珟物理モデル -> 新物理モデル -> 新論理モデル

゚ 珟論理モデル -> 珟物理モデル -> 新論理モデル -> 新物理モデル

【問題の芁玄】既存システムをベヌスに新システムをモデル化する時のDFD䜜成順序は

ア 珟物理 -> 珟論理 -> 新物理 -> 新論理 ã‚€ 珟物理 -> 珟論理 -> 新論理 -> 新物理 り 珟論理 -> 珟物理 -> 新物理 -> 新論理 ゚ 珟論理 -> 珟物理 -> 新論理 -> 新物理

これは感芚的に ã‚€ かな。䞀般的にDFDを䜜るずきは、たず今のシステムの具䜓的な実装珟物理から業務芁件を抜出珟論理しお、それから新しい業務芁件に改善新論理し、最埌にそれをどう実珟するか新物理を決める、ずいう流れになるんだ。

8

ある賌買システムの開発においお、開発者が行った探玢的テストの䟋ずしお、適切なものはどれか。

ア 過去に賌買システムを開発した経隓に基づいお、入力項目間の関連チェックの䞍備を怜出できそうなデヌタパタヌンを掚枬し、テストケヌスを事前に䜜成しおテストした。

む 数量の範囲に応じお適甚する商品䟡栌が正しいかどうかを確認するために、各範囲の数量の䞭倮の倀を甚いたテストケヌスを䜜成しおテストした。

り 組織倉曎の前埌で組織名が正しく印刷されるかどうかを確認するために、新組織の有効開始日ずその前日ずを発泚日ずするテストケヌスを事前に䜜成しおテストした。

゚ 入力倀の組合せが無効なずきは䌝祚を䜜成しないこずを確認するために、幟぀かの代衚的な入力倀の組合せをテストし、その結果に基づいお次のテストケヌスを䜜成しおテストしを繰り返した。

【問題の芁玄】「探玢的テスト」の䟋ずしお正しいのはどれ

ア 経隓に基づいおテストケヌスを事前に䜜っおテストした。 ã‚€ 範囲の䞭倮倀を䜿っおテストケヌスを䜜っおテストした。 り 境界日を䜿っおテストケヌスを事前に䜜っおテストした。 ゚ 代衚的な組み合わせをテストし、その結果を芋ながら次のテストケヌスを繰り返し䜜った。

探玢的テストExploratory Testingは、テストをしながら動的にテストケヌスを蚭蚈・実行する手法のこず。あらかじめ決められたテストケヌスに頌るんじゃなくお、システムの動きを芳察しながらその堎でテストプランを調敎しおいくのが特城なんだ。

ア、む、り はどれも「事前にテストケヌスを䜜成」しおいるから、埓来型の蚭蚈テストだね。結果を芋ながら次のテストを考えお繰り返しおいる ゚ が探玢的テストに該圓する。だから、正解は ゚。

Visits Since 2025-02-28

Hugo で構築されおいたす。 | テヌマ Stack は Jimmy によっお蚭蚈されおいたす。