日々学習〜人の役に立てるITエンジニアを目指して〜

ITエンジニアが日々学んだ事を書き記します

【システムアーキテクト午前Ⅱ】メソッドの置き換え

f:id:taniyutt:20220303222641p:plain


















Javaサーブレットを用いたWebアプリケーションソフトウェアの開発では、例えば、doGetやdoPostなどのメソッドを、シグネチャ(メソッド名、引数の型と個数)は変えずに、目的とする機能を実現するための処理に置き換える。このメソッドの置き換えを何と呼ぶか。

ア オーバーライド
イ オーバーロード
ウ カプセル化
エ 継承







答:ア
オーバーライドはスーパクラス(親クラス)で定義済みのメソッドを、サブクラス(子クラス)で再定義して置き換える(上書きする)こと。
イのオーバーロード(多重定義)は、同一のメソッド名で、引数のデータ型や個数の異なる複数のメソッドを定義すること。
ウのカプセル化は、オブジェクト内のデータ構造や値を隠蔽して、外部からは直接アクセスさせず、提供されるメソッドのみによって操作できるようにする考え方。
エの継承(インヘリタンス)は、スーパクラスで定義済みのメソッドを、サブクラスで引き継いでそのまま使用すること。

【システムアーキテクト午前Ⅱ】フェールセーフの考えに基づく設計

f:id:taniyutt:20220302232650p:plain

















フェールセーフの考えに基づいて設計したものはどれか。

ア 乾電池のプラスとマイナスを逆にすると、乾電池が装填できないようにする。
イ 交通管制システムが故障したときには、信号機に赤色が点灯するようにする。
ウ ネットワークカードのコントローラを二重化しておき、故障したコントローラの方を切り離しても運用できるようにする。
エ ハードディスクにRAID1を採用して、MTBFで示される信頼性が向上するようにする。







答:イ
フェールセーフは、「故障時に、安全を保つことができるシステムの性質」。
アはフールプルーフ、ウ、エは、フォールトトレランスの考えに基づく設計。

【システムアーキテクト午前Ⅱ】SysMLの特徴

f:id:taniyutt:20220228232814p:plain
















複数のシステムの組合せによって実現するSos(System of Systems)をモデル化するのに適した表記法であるSysMLの特徴はどれか。

ア オブジェクト図のよって、インスタンスの静的なスナップショットが記述できる。
イ 単純な図形と矢印によって、システムのデータの流れが記述できる。
ウ パラメトリック図によって、モデル要素間の制約条件が記述できる。
エ 連接、反復、選択の記述パターンによって、ソフトウェアの構造を分かりやすく視覚化できる。







答:ウ
SysML(Systems Modeling Language)はモデリング言語の一種で、UMLの言語仕様の一部を利用するとともに、新たな仕様を加えて選定された。Sosは、複数のシステムを組み合わせて、全体で一つとして利用者に提供されるシステム。その特徴として、各要素の運用が独立していること、各要素の管理が独立していること、進化的に開発されること、創発的に振る舞うこと、各要素が地理的に分散していることが挙げられる。

【システムアーキテクト午前Ⅱ】BPMN

f:id:taniyutt:20220221214611p:plain















要求分析・設計技法のうち、BPMNの説明はどれか。

ア イベント・アクティビティ・分岐・合流を示すオブジェクトと、フローを示す矢印などで構成された図によって、業務プロセスを表現する。
イ 木構造に基づいた構造化ダイアグラムであり、トップダウンでの機能分割やプログラム構造図、組織図などを表現する。
ウ システムの状態が外部の信号や事情に対してどのように推移していくかを図で表現する。
エ プログラムをモジュールに分割して表現し、モジュールの階層構造と編成、モジュール間のインタフェースを記述する。







答:ア
BPMN(Buisiness Process Modeling Notation)。業務プロセスを表記するための図法。イベント、アクティビティ、分岐と合流、処理のフローなどの他、イベントのタイプ、アクティビティの性質、メッセー時のフロー。ドキュメントなどの要素も表記できる。
イはブレークダウンストラクチャ。
ウは状態遷移図。
エはモジュール構成図。

【システムアーキテクト午前Ⅱ】ソフトウェアの要件定義や分析・設計の技法

f:id:taniyutt:20220218224320p:plain














ソフトウェアの要件定義や分析・設計で用いられる技法に関する記述のうち、適切なものはどれか。

ア 決定表は、条件と処理を組み合わせた表の形式で論理を表現したものであり、条件や処理の組合わせが複雑な要件定義の記述手段として有効である。
イ 構造化チャートは、システムの"状態"の種別とその状態が遷移する"要因"との関係を分かりやすく表現する手段として有効である。
ウ 状態遷移図は、DFDに"コントロール変換とコントロールフロー"を付加したものであり、制御系システムに特有な処理を表現する手段として有効である。
エ 制御フロー図は、データの"源泉、吸収、流れ、処理、格納"を基本要素としており、システム内のデータの流れを表現する手段として有効である。







答:ア
決定表は複雑で多数の条件判定がある場合に、条件の組合せと期待する動作を表形式で整理して表現するもの。漏れのないように要件定義を行い、テストケースを設計するのに有用。
イは状態遷移図の記述。
ウは制御フローの記述。
エはDFDの記述。

【システムアーキテクト午前Ⅱ】CRUDマトリックス

f:id:taniyutt:20220216230255p:plain













CRUDマトリックスの説明はどれか。

ア ある問題に対して起こり得る全ての条件と、それに対する動作の関係を表形式で表現したものである。
イ 各機能が、どのエンティティに対して、そのような操作をするかを一覧化したものであり、操作の種類には生成、参照、更新及び削除がある。
ウ システムやソフトウェアを構成する機能(又はプロセス)と入出力データとの関係を記述したものであり、データの流れを明確にすることができる。
エ データをエンティティ、関連及び属性の三つの構成要素でモデル化したものであり、業務で扱うエンティティの相互関係を示すことができる。







答:イ
CRUDマトリックスは横軸にエンティティ、縦軸に機能をとって、エンティティに対して機能が行いうる処理を一覧表にしたもの。
CURDは、作成(Create)、読み取り(Read)、更新(Update)、削除(Delete)の頭文字。

【システムアーキテクト午前Ⅱ】組込みシステムにおけるコデザイン

f:id:taniyutt:20220214221300p:plain











組込みシステムの開発における、ハードウェアとソフトウェアのコデザインを適用した開発手法の説明として、適切なものはどれか。

ア ハードウェアとソフトウェアの切分けをシミュレーションによって十分に検証し、その後もシミュレーションを活用しながらハードウェアとソフトウェアを並行して開発していく手法
イ ハードウェアの開発とソフトウェアの開発を独立して行い、それぞれの完了後に組み合わせて統合テストを行う手法
ウ ハードウェアの開発をアウトソーシングし、ソフトウェアの開発に注力することによって、短期間に高機能の製品を市場に出す手法
エ ハードウェアをプラットフォーム化し、主にソフトウェアで機能を差別化することによって、短期間に多数の製品ラインアップを構築する手法








答:イ
コデザイン・・・協調設計。ソフトウェアとハードウェアの機能分担を上流工程で明確にして検証してから、設計開発を進める手法。下流工程での手戻り発生のリスクを減らすことができる。