要件定義|設計|実装・構築|統合・テスト|導入・受入れ支援|保守・廃棄
システム要件定義・ソフトウェア要件定義
CRUDマトリクスの説明はどれか。
- ある問題に対して起こり得る全ての条件と,各条件に対する動作の関係を表形式で表現したものである。
- 各機能が,どのエンティティに対して,どのような操作をするかを一覧化したものであり,操作の種類には生成,参照,更新及び削除がある。
- システムやソフトウェアを構成する機能(又はプロセス)と入出力データとの関係を記述したものであり,データの流れを明確にすることができる。
- データをエンティティ,関連及び属性の三つの構成要素でモデル化したものであり,業務で扱うエンティティの相互関係を示すことができる。
UMLにおける振る舞い図の説明のうち,アクティビティ図のものはどれか。
- ある振る舞いから次の振る舞いへの制御の流れを表現する。
- オブジェクト間の相互作用を時系列で表現する。
- システムが外部に提供する機能と,それを利用する者や外部システムとの関係を表現する。
- 一つのオブジェクトの状態がイベントの発生や時間の経過とともにどのように変化するかを表現する。
UMLのアクティビティ図の特徴はどれか。
- 多くの並行処理を含むシステムの,オブジェクトの振る舞いが記述できる。
- オブジェクト群がどのようにコラボレーションを行うか記述できる。
- クラスの仕様と,クラスの間の静的な関係が記述できる。
- システムのコンポーネント間の物理的な関係が記述できる。
ソフトウェアの要求分析や設計に利用されるモデルに関する記述のうち,ペトリネットの説明として,適切なものはどれか。
- 外界の事象をデータ構造として表現する,データモデリングのアプローチをとる。その表現は,エンティティ,関連及び属性で構成される。
- システムの機能を入力データから出力データへの変換とみなすとともに,機能を段階的に詳細化して階層的に分割していく。
- 対象となる問題領域に対して,プロセスではなくオブジェクトを用いて解決を図るというアプローチをとる。
- 並行して進行する事象間の同期を表す。その構造はプレースとトランジションという2種類の節点をもつ有向2部グラフで表される。
SysMLの説明として,適切なものはどれか。
- Webページに,画像を使用せずに数式を表示するために用いられる,XMLで定義されたマークアップ言語
- システムの設計及び検証を行うために用いられる,UML仕様の一部を流用して機能拡張したグラフィカルなモデリング言語
- ハードウェアとソフトウェアとの協調設計(コデザイン)に用いられる,C言語又はC++言語を基としたシステムレベル記述言語
- 論理合成してFPGAで動作させるハードウェア論理の記述に用いられる,ハードウェア記述言語
組込み機器のソフトウェア開発にプラットフォーム開発を適用する利点として,適切なものはどれか。
- 機器ごとにソフトウェアを新規に設計するので,最小のコードサイズで最大の性能を実現できる。
- 機器ごとのハードウェアとソフトウェアの結合テストを不要にできる。
- ソフトウェアを複数の異なる機器に共通して利用することが可能になるので,ソフトウェア開発効率を向上できる。
- 複数の機器に共通のバグが発生したとき,ソフトウェアのプラットフォーム部分をバグの原因から除外できる。
設計
仕様書やソースコードといった成果物について,作成者を含めた複数人で,記述されたシステムやソフトウェアの振る舞いを机上でシミュレートして,問題点を発見する手法はどれか。
- ウォークスルー
- サンドイッチテスト
- トップダウンテスト
- 並行シミュレーション
信頼性工学の視点で行うシステム設計において,発生し得る障害の原因を分析する手法であるFTAの説明はどれか。
- システムの構成品目の故障モードに着目して,故障の推定原因を列挙し,システムへの影響を評価することによって,システムの信頼性を定性的に分析する。
- 障害と,その中間的な原因から基本的な原因までの全ての原因とを列挙し,それらをゲート(論理を表す図記号)で関連付けた樹形図で表す。
- 障害に関するデータを収集し,原因について“なぜなぜ分析”を行い,根本原因を明らかにする。
- 多角的で,互いに重ならないように定義したODC属性に従って障害を分類し,どの分類に障害が集中しているかを調べる。
モジュールの独立性の尺度であるモジュール結合度は,低いほど独立性が高くなる。次のうち,モジュールの独立性が最も高い結合はどれか。
- 外部結合
- 共通結合
- スタンプ結合
- データ結合
状態遷移表のとおりに動作し,運転状況に応じて装置の温度が上下するシステムがある。システムの状態が“レディ”のとき,①〜⑥の順にイベントが発生すると,最後の状態はどれになるか。ここで,状態遷移表の空欄は状態が変化しないことを表す。
〔発生するイベント〕
①メッセージ1を受信する。
②メッセージ1を受信する。
③装置の温度が50℃以上になる。
④メッセージ2を受信する。
⑤装置の温度が40℃未満になる。
⑥メッセージ2を受信する。
- レディ
- 高速運転
- 低速運転
- 一時停止
次の流れ図において,
① → ② → ③ → ⑤ → ② → ③ → ④ → ② → ⑥
の順に実行させるために,①においてmとnに与えるべき初期値aとbの関係はどれか。ここで,a,bはともに正の整数とする。
- a = 2b
- 2a = b
- 2a = 3b
- 3a = 2b
JIS X 25010:2013(システム及びソフトウェア製品の品質要求及び評価(SQuaRE)-システム及びソフトウェア品質モデル)で規定されたシステム及びソフトウェア製品の品質特性の一つである“機能適合性”の説明はどれか。
- 同じハードウェア環境又はソフトウェア環境を共有する間,製品,システム又は構成要素が他の製品,システム又は構成要素の情報を交換することができる度合い,及び/又はその要求された機能を実行することができる度合い
- 人間又は他の製品若しくはシステムが,認められた権限の種類及び水準に応じたデータアクセスの度合いをもてるように,製品又はシステムが情報及びデータを保護する度合い
- 明示された時間帯で,明示された条件下に,システム,製品又は構成要素が明示された機能を実行する度合い
- 明示された状況下で使用するとき,明示的ニーズ及び暗黙のニーズを満足させる機能を,製品又はシステムが提供する度合い
作業成果物の作成者以外の参加者がモデレータとして主導する役割を受け持つこと,並びに公式な記録及び分析を行うことが特徴のレビュー技法はどれか。
- インスペクション
- ウォークスルー
- パスアラウンド
- ペアプログラミング
ソフトウェアの分析・設計技法の特徴のうち,データ中心分析・設計技法の特徴として,最も適切なものはどれか。
- 機能を詳細化する過程で,モジュールの独立性が高くなるようにプログラムを分割していく。
- システムの開発後の仕様変更は,データ構造や手続の局所的な変更で対応可能なので,比較的容易に実現できる。
- 対象業務領域のモデル化に当たって,情報資源であるデータの構造に着目する。
- プログラムが最も効率よくアクセスできるようにデータ構造を設計する。
フェールセーフの考えに基づいて設計したものはどれか。
- 乾電池のプラスとマイナスを逆にすると,乾電池が装填できないようにする。
- 交通管制システムが故障したときには,信号機に赤色が点灯するようにする。
- ネットワークカードのコントローラを二重化しておき,片方のコントローラが故障しても運用できるようにする。
- ハードディスクにRAID1を採用して,MTBFで示される信頼性が向上するようにする。
ソフトウェアアーキテクチャパターンのうち,仕様の追加や変更による影響が及ぷ範囲を限定できるようにするために,機能を業務ロジック,画面出力,それらの制御という,三つのコンポーネントに分けるものはどれか。
- Broker
- Layers
- MVC
- Pipes and Filters
安全性や信頼性について,次の方針でプログラム設計を行う場合,その方針を表す用語はどれか。
- フールプルーフ
- フェールセーフ
- フェールソフト
- フォールトトレランス
ソフトウェアライフサイクルプロセスにおいてソフトウェア実装プロセスを構成するプロセスのうち,次のタスクを実施するものはどれか。
- ソフトウェア結合プロセス
- ソフトウェア構築プロセス
- ソフトウェア詳細設計プロセス
- ソフトウェア方式設計プロセス
モジュール設計に関する記述のうち,モジュール強度(結束性)が最も高いものはどれか。
- ある木構造データを扱う機能をデータとともに一つにまとめ,木構造データをモジュールの外から見えないようにした。
- 複数の機能のそれぞれに必要な初期設定の操作が,ある時点で一括して実行できるので,一つのモジュールにまとめた。
- 二つの機能A, Bのコードは重複する部分が多いので,A, Bを一つのモジュールにまとめ,A,Bの機能を使い分けるための引数を設けた。
- 二つの機能A, Bは必ずA, Bの順番に実行され,しかもAで計算した結果をBで使うことがあるので,一つのモジュールにまとめた。
汎化の適切な例はどれか。
実装・構築
流れ図で示したモジュールを表の二つのテストケースを用いてテストしたとき,テストカバレージ指標であるC₀(命令網羅)とC₁(分岐網羅)とによる網羅率の適切な組みはどれか。ここで,変数V〜変数Zの値は,途中の命令で変更されない。
C₀による網羅率 | C₁による網羅率 | |
ア | 100% | 100% |
イ | 100% | 80% |
ウ | 80% | 100% |
エ | 80% | 80% |
次の流れ図において,判定条件網羅(分岐網羅)を満たす最少のテスト小のテストケースの組みはどれか。
- (1)A=0,B=0(2)A=1,B=1
- (1)A=1,B=0(2)A=1,B=1
- (1)A=0,B=0(2)A=1,B=1(3)A=1,B=0
- (1)A=0,B=0(2)A=0,B=1(3)A=1,B=0
あるプログラムについて,流れ図で示される部分に関するテストを,命令網羅で実施する場合,最小のテストケース数は幾つか。ここで,各判定条件は流れ図に示された部分の先行する命令の結果から影響を受けないものとする。
- 3
- 6
- 8
- 18
プログラムの誤りの一つに,繰返し処理の終了条件として A≧a とすべきところを A>a とコーディングしたことに起因するものがある。このような誤りを見つけ出すために有効なテストケース設計技法はどれか。ここで,Aは変数,aは定数とする。
- 限界値分析
- 条件網羅
- 同値分割
- 分岐網羅
組込みシステムの“クロス開発”の説明として,適切なものはどれか。
- 実装担当及びチェック担当の二人一組で役割を交代しながら開発を行うこと
- 設計とプロトタイピングとを繰り返しながら開発を行うこと
- ソフトウェアを実行する機器とはCPUのアーキテクチャが異なる機器で開発を行うこと
- 派生開発を,変更プロセスと追加プロセスとに分けて開発を行うこと
流れ図において,分岐網羅を満たし,かつ,条件網羅を満たすテストデータの組はどれか。
テストデータ | ||
x | y | |
ア | 2 | 2 |
1 | 2 | |
イ | 1 | 2 |
1 | 0 | |
ウ | 1 | 2 |
1 | 1 | |
0 | 1 | |
エ | 1 | 2 |
0 | 1 | |
0 | 2 |
統合・テスト
テストで使用されるドライバ又はスタブの機能のうち,適切なものはどれか。
- スタブは,テスト対象のモジュールからの戻り値を表示・印刷する。
- スタブは,テスト対象モジュールを呼び出すモジュールである。
- ドライバは,テスト対象モジュールから呼び出されるモジュールである。
- ドライバは,引数を渡してテスト対象モジュールを呼び出す。
導入・受入れ支援
保守・廃棄
問題は発生していないが,プログラムの仕様書と現状のソースコードとの不整合を解消するために,リバースエンジニアリングの手法を使って仕様書を作成し直す。これはソフトウェア保守のどの分類に該当するか。
- 完全化保守
- 是正保守
- 適応保守
- 予防保守
ソフトウェア保守で修正依頼を保守のタイプに分けるとき,次のa〜dに該当する保守のタイプの,適切な組合せはどれか。
〔保守のタイプ〕
保守を行う時期 | 修正依頼の分類 | |
訂正 | 改良 | |
潜在的な障害が顕在化する前 | a | b |
問題が発見されたとき | c | ー |
環境の変化に合わせるとき | ー | d |
a | b | c | d | |
ア | 完全化保守 | 予防保守 | 是正保守 | 適応保守 |
イ | 完全化保守 | 予防保守 | 適応保守 | 是正保守 |
ウ | 是正保守 | 完全化保守 | 予防保守 | 適応保守 |
エ | 予防保守 | 完全化保守 | 是正保守 | 適応保守 |
オペレーティングシステムの更新によって,既存のアプリケーションソフトウェアが正常に動作しなくなることが判明したので,正常に動作するように修正した。この保守を何と呼ぶか。
- 完全化保守
- 是正保守
- 適応保守
- 予防保守