平成29年度 秋期 システムアーキテクト試験 午前Ⅱ 問題の解答と解説

2022年10月29日作成,2023年4月8日更新

試験時間は 10:50 ~ 11:30(40 分)である。

問1 INVEST

アジャイル開発プロセスにおいて,Bill Wake が提案した "INVEST" と呼ばれる六つの観点を用いて行うことはどれか。

問1 の解答と解説を表示

問1 の解答と解説

【答え】

ユーザ要求の固まった機能から開発し,迅速にシステムとして供給していく手法がアジャイル開発である。アジャイル開発プロセスにおいて,ユーザの視点でまとめられた断片的な機能要件(ユーザストーリ)を評価する際に用いる六つの観点を,それぞれの頭文字をとって "INVEST" と呼ぶ。

Independent
一つひとつのユーザストーリが互いに独立していること
Negotiable
ユーザストーリの詳細について開発者とユーザの間で交渉できること
Valuable
ユーザストーリの機能がユーザにとって価値があること
Estimable
実装工数の見積りができる程度にユーザストーリが明確であること
Small
ユーザストーリの実装にかかる工数が適切な小ささであること
Testable
ユーザストーリが正しく機能するかテストできること

問2 機能要件を満たすために行う設計

機能要件と非機能要件のうちの,機能要件を満たすために行う設計はどれか。

問2 の解答と解説を表示

問2 の解答と解説

【答え】

業務プロセスの機能要件とは,業務システムで扱うデータの入力,処理,出力,制御などのプロセスに求められる要件のことである。業務を構成する要素間のデータの流れは,要素ごとのデータの入力,処理,出力,制御によって定まるので,それらを明確化することは,業務システムの機能要件を満たすための設計に該当する。一方,業務システムの非機能要件とは,業務機能以外の,システムの性能や安全性,信頼性,使いやすさなどに関する要件であり,システムが適切で安定的に稼働するための目標値となるものである。

アはシステム開発上,イはシステム運用上,エはシステム稼働上の非機能要件に関する設計である。

問3 UML のクラス図

図は "顧客が商品を注文する" を表現した UML のクラス図である。"顧客が複数の注文をまとめて注文する" を表現したクラス図はどれか。ここで,注文明細は注文に含まれる一つの商品に対応し,注文は一つ以上の注文明細を束ねたもので,一つの注文に対応する。

UML のクラス図
問3 の解答と解説を表示

問3 の解答と解説

【答え】

顧客と注文との関係

顧客は必ず 1 で,注文は 0 以上である。

注文と注文明細との関係

注文は必ず 1 で,注文明細は 1 以上である。

注文明細と商品との関係

注文明細は 0 以上で,商品は必ず 1 である。

問4 SysML の特徴

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

問4 の解答と解説を表示

問4 の解答と解説

【答え】

SysML (Systems Modeling Language) は,システムの設計や分析を行うためのモデリング言語で,UML の仕様の一部を流用し,機能を拡張したものである。

問5 GoF のデザインパターン

ソフトウェアパターンのうち,GoF のデザインパターンの説明はどれか。

問5 の解答と解説を表示

問5 の解答と解説

【答え】

デザインパターンとは,典型的な課題に対する効果的な設計パターンのことで,代表的なデザインパターンに,GoF (Gang of Four) がある。四人の男性が持ち寄ったデザインパターンを体系化したことから,こう呼ばれる。23 種類のデザインパターンからなり,それらは,オブジェクトの生成に関するパターン,オブジェクトの構造に関するパターン,オブジェクトの振る舞いに関するパターンの三つに分類される。

問6 ハードウェアとソフトウェアのコデザイン

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

問6 の解答と解説を表示

問6 の解答と解説

【答え】

組込みシステムの開発において,ハードウェアとソフトウェアを別々に開発して,両方が揃った時点で組み合わせて統合テストを行う手法をコンカレント開発という。この手法では,ハードウェアとソフトウェアの機能分担に問題があった場合など,開発の手戻りが大きくなるおそれがある。

コデザインは,上流工程(設計の初期段階)でハードウェアとソフトウェアの機能分担を十分に検証しておく手法であり,以後の開発を円滑に進められる利点がある。

イはコンカレント開発,ウは一般的な「選択と集中」戦略,エは SPL(ソフトウェアプロダクトライン)開発の一手法である。

問7 イベント処理のタイミング設計

イベント駆動型のアプリケーションにおけるイベント処理のタイミングを設計するのに有用なものはどれか。

問7 の解答と解説を表示

問7 の解答と解説

【答え】

シーケンス図は,オブジェクト間のメッセージのやりとりを時系列に表すことで,処理がどのように実現されるかを表した,UML ダイアグラムの一つである。

オブジェクトから他のオブジェクトにメッセージを送出して,必要な処理を実行するという考え方で,イベント駆動型アプリケーションにおけるイベント処理のタイミングを設計できる。

その他の選択肢は,以下のとおり。

DFD
データの流れに着目して処理機能を設計するのに有用な図
E-R 図
エンティティ(実体)間のリレーションシップ(関連)で業務を表現するのに有用な図
ペトリネット
並列に生起する事象や同期を記述するのに優れた図式表現

問8 フェールセーフ

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

問8 の解答と解説を表示

問8 の解答と解説

【答え】

フェールセーフ (fail safe) とは,機器やシステムの設計などについての考え方の一つで,部品の故障や破損,操作ミス,誤作動などが発生した際に,なるべく安全な状態に移行するような仕組みにしておくこと。

問9 エラー埋込み法

ソフトウェアの潜在エラー数を推定する方法の一つにエラー埋込み法がある。100 個のエラーを意図的に埋め込んだプログラムを,そのエラーの存在を知らない検査グループがテストして 30 個のエラーを発見した。そのうち 20 個は意図的に埋め込んでおいたものであった。この時点で,このプログラムの埋込みエラーを除く残存エラー数は幾つと推定できるか。

問9 の解答と解説を表示

問9 の解答と解説

【答え】

故意に埋め込んだ 100 個の埋込みエラーのうち,20 個が発見されているので,未発見の埋込みエラーは,80 個である。また,検査グループが発見したエラー 30 個のうち,20 個が埋込みエラーなので,ソフトウェアに潜在していたエラート埋込みエラーの比は,1 : 2 である。同じ比率でエラーが残存していると考えると,未発見の埋込みエラーが 80 個なので,埋込みエラーを除くエラーの残存数を $x$ とすると,$x$ : 80 = 1: 2 となり,$x=40$ である。よって,埋込みエラーを除く残存エラー数は 40 と推定できる。

問10 ペアプログラミング

ハードウェアの経験が豊富なプログラマ A と,経験の少ないプログラマ B がペアプログラミングの手法を利用して組込みシステムの開発を進める。ペアプログラミングによる開発の進め方として,適切なものはどれか。

問10 の解答と解説を表示

問10 の解答と解説

【答え】

ペアプログラミングは,二人一組で一つのプログラムを開発する手法である。二人のプログラマが相談したりレビューしたりしながらプログラムを開発することで,プログラムが属人的・独善的になることを防止し,作業効率や成果物の品質の向上を目指すものである。二人一組で一つのプログラムを開発していても,作業を分担して別々に開発している場合や役割が個々に与えられている場合などは,ペアプログラミングによる開発とはいえない。

ハードウェアの経験が豊富なプログラマ A と経験の少ないプログラマ B が「エディタの画面を共有し,B が記述したコードに対して A が助言する」という開発体制はペアプログラミングに該当する。

エはコデザイン(協調設計)による開発の進め方である。

問11 探索的テスト技法

探索的テスト技法の説明はどれか。

問11 の解答と解説を表示

問11 の解答と解説

【答え】

探索的テスト(Exploratory Testing)とは,テスト担当者がテスト対象のプロダクト及び欠陥の学習・テストの計画・テストの内容の設計実行を並行して行う,ソフトウェアテストの 1 つのスタイルである。

事前にテストケースを設計せず,テスト実行の過程や結果を通じてテストの目標や内容を動的に調整し,積極的に質の高い新しいテストケースを設計していくという特徴がある。

問12 FMEA

故障の予防を目的とした解析手法である FMEA の説明はどれか。

問12 の解答と解説を表示

問12 の解答と解説

【答え】

FMEA (Failure Mode and Effects Analysis) とは,製品や工程の信頼性を高め不具合を減らすための解析手法の一つで,構成要素に起こりうるトラブルの様式(故障モード)を列挙し,発生頻度や影響の範囲,大きさなどを評価して致命的なものを未然に対策すること。

問13 ドメインエンジニアリング

銀行の勘定系システムなどのような特定の分野のシステムに対して,業務知識,再利用部品,ツールなどを体系的に整備し,再利用を促進することによって,ソフトウェア開発の効率向上を図る活動や手法はどれか。

問13 の解答と解説を表示

問13 の解答と解説

【答え】

特定の分野のシステムに対して,業務知識,再利用部品,ツールなどを体系的に整備し,再利用を促進することによって,ソフトウェア開発の効率向上を図る活動や手法を,ドメインエンジニアリングという。制御系,金融,流通,医療といった特定分野(ドメイン)では,システムの要件も類似するため,ドメインエンジニアリングの充実は生産性,信頼性の向上に役立つ。

コンカレントエンジニアリング
システム開発の各工程のうち,並行可能な工程を同時に行うことによって,開発期間を短期化する開発手法
フォワードエンジニアリング
リバースエンジニアリングによって既存のシステムから解析された設計書をもとに,再構築のシステムを開発すること
リバースエンジニアリング
既存のシステムを解析して,プログラム設計書や機能設計書を作成すること

問14 戦略的投資に対する KPI

IT 投資を,投資目的によって表のように分類した。IT 投資評価の KPI のうち,戦略的投資に対する KPI の例はどれか。

分類 投資目的
業務効率投資 業務の効率向上,業務の生産性向上など
情報活用投資 ナレッジの共有,管理制度の向上など
戦略的投資 競争優位の確立,ビジネスの創出など
IT 基盤投資 IT コスト削減,システム性能向上など
問14 の解答と解説を表示

問14 の解答と解説

【答え】

アは IT 基盤投資,イは戦略的投資,ウは情報活用投資,エは業務効率投資に対する KPI である。

問15 グランドバック

グランドバックの説明はどれか。

問15 の解答と解説を表示

問15 の解答と解説

【答え】

ライセンスを受けた者が,ライセンスを与えた者に対して,特許技術を改良して新たに取得した特許の実施を許諾することを,グランドバックという。ライセンスを受けた者からライセンスを与えた者が,改良技術の恩恵を受けることを意味する。

アはクロスライセンス,イはライセンスフリー,ウはアサインバックの説明である。

問16 実費償還型契約

システム開発における発注者とベンダとの契約方法のうち,実費償還型契約はどれか。

問16 の解答と解説を表示

問16 の解答と解説

【答え】

実費償還型契約では,完了した作業にかかったすべての正当な実コストに,納入者の利益相当分を加えた金額を納入者に支払う。

実費償還型契約の種類には,以下のようなものがある。

  • コスト・プラス定額フィー契約(CPFF)
  • コスト・プラス・インセンティブ・フィー契約(CPIF)
  • コスト・プラス・アワード・フィー契約(CRAF)

問17 データサイエンティストに求められるスキルセット

ビッグデータを有効活用し,事業価値を生み出す役割を担う専門人材であるデータサイエンティストに求められるスキルセットを表の三つの領域と定義した。データサイエンス力に該当する具体的なスキルはどれか。

データサイエンティストに求められるスキルセット
ビジネス力 課題の背景を理解した上で,ビジネス課題を整理・分析し,解決する力
データサイエンス力 人工知能や統計学などの情報科学に関する知識を用いて,予測,検定,関係性の把握及びデータ加工・可視化する力
データエンジニアリング力 データ分析によって作成したモデルを使えるように,分析システムを実装,運用する力
問17 の解答と解説を表示

問17 の解答と解説

【答え】

アとウはデータエンジニアリング力,イはビジネス力,エはデータサイエンス力に該当する。

問18 プロセッサ

表の CPI と構成比率で,3 種類の演算命令が合計 1,000,000 命令実行されるプログラムを,クロック周波数が 1 GHz のプロセッサで実行するのに必要な時間は何ミリ秒か。

演算命令 CPI (Cycles Per Instruction) 構成比率 (%)
浮動小数点加算 3 20
浮動小数点乗算 5 20
整数演算 2 60
問18 の解答と解説を表示

問18 の解答と解説

【答え】

3 種類の演算命令の CPI の合計は,次式で求められる。

1,000,000 [命令] × ( 3 [CPI] × 0.20 + 5 [CPI] × 0.20 + 2 [CPI] × 0.60) = 2,800,000 [CPI]

クロック周波数が 1 GHz のプロセッサで実行するのに必要な時間は,次式で求められる。

2,800,000 [CPI] ÷ 109 × 1,000 = 2.8 [ms]

問19 ネットワーク対戦型のゲーム

Web ブラウザや HTTP を用いず,独自の GUI とデータ転送機構を用いた,ネットワーク対戦型のゲームを作成する。仕様の 2. の実現に用いることができる仕組みはどれか。

[仕様]
  1. ゲームは囲碁や将棋のように 2 人のプレーヤの間で行われ,ゲームの状態はサーバで管理する。プレーヤはそれぞれクライアントプログラムを操作してゲームに参加する。
  2. プレーヤが新たな手を打ったとき,クライアントプログラムはサーバにある関数を呼び出す。サーバにある関数は,その手がルールに従っているかどうかを調べて,ルールに従った手であればゲームの状態を変化させ,そうでなければその手が無効であることをクライアントプログラムに知らせる。
  3. ゲームの状態に変化があれば,サーバは各クライアントプログラムにその旨を知らせることによって GUI に反映させる。
問19 の解答と解説を表示

問19 の解答と解説

【答え】

RPC (Remote Procedure Call) とは,あるコンピュータで動作するソフトウェアから,通信回線やコンピュータネットワークを通じて別のコンピュータ上で動作するソフトウェアへ処理を依頼したり,結果を返したりするための規約。

問20 マルチプロセッサによる並列処理で得られる高速化率

マルチプロセッサによる並列処理で得られる高速化率(単一プロセッサのときと比べた倍率)$E$ を,次の式によって評価する。$r=0.9$ のアプリケーションの高速化率が $r=0.3$ のものの 3 倍となるのは,プロセッサが何台のときか。

\[ E=\frac{1}{1-r+\frac{r}{n}} \]

ここで,

  • $n$ : プロセッサの台数($1 \le n$)
  • $r$ : 対象とする処理のうち,並列化が可能な部分の割合($0 \le r \le 1$)

とし,並列化に伴うオーバヘッドは考慮しないものとする。

問20 の解答と解説を表示

問20 の解答と解説

【答え】

与えられた条件より,次式が成り立つ。

\[ 3 \times \frac{1}{1-0.3+\frac{0.3}{n}} = \frac{1}{1-0.9+\frac{0.9}{n}} \] \[ 3\times(0.1 n + 0.9) = 0.7n + 0.3 \] \[ n=6 \]

$r=0.9$ のアプリケーションの高速化率が $r=0.3$ のものの 3 倍となるのは,プロセッサが 6 台のときである。

問21 データモデルを基にして設計したテーブル

UML を用いて表した図のデータモデルを基にして設計したテーブルのうち,適切なものはどれか。ここで,"担当委員会 ID" と "所属委員会 ID" は "委員会 ID" を参照する外部キーである。"役員 ID" と "委員 ID" は "生徒 ID" を参照する外部キーである。実線の下線は主キー,破線の下線は外部キーを表す。

UML を用いて表したデータモデル
問21 の解答と解説を表示

問21 の解答と解説

【答え】

問22 IP ネットワークに統合する場合の接続構成

図は,既存の電話機と PBX を使用した企業内の内線網を,IP ネットワークに統合する場合の接続構成を示している。図中の a ~ c に該当する装置の適切な組合せはどれか。

既存の電話機と PBX を使用した企業内の内線網を,IP ネットワークに統合する場合の接続構成
a b c
PBX VoIP ゲートウェイ ルータ
PBX ルータ VoIP ゲートウェイ
VoIP ゲートウェイ PBX ルータ
VoIP ゲートウェイ ルータ PBX
問22 の解答と解説を表示

問22 の解答と解説

【答え】

既存の電話機を使用した企業内 PBX の内線網を,IP ネットワークに統合して,IP 電話として使用する場合の接続構成である。

まず,電話機に接続する a は PBX となる。次に,PBX の音声データを IP パケットに変換して IP ネットワークに送出したり,受信した IP パケットを連続した音声データに復元したりする機能をもつ VoIP ゲートウェイが b に該当する。さらに,IP ネットワークとのインタフェースに位置して,IP パケットの IP アドレスを識別してルーティングを行うルータが c に該当する。

既存の電話機と PBX を使用した企業内の内線網を,IP ネットワークに統合する場合の接続構成は,下図で表される。

既存の電話機と PBX を使用した企業内の内線網を,IP ネットワークに統合する場合の接続構成
図 既存の電話機と PBX を使用した企業内の内線網を,IP ネットワークに統合する場合の接続構成

問23 コードサイニング証明書

署名されたソフトウェアを導入する前に,そのソフトウェアの開発元又は発行元を確認するために使用する証明書はどれか。

問23 の解答と解説を表示

問23 の解答と解説

【答え】

コードサイニング証明書は,ソフトウェアにディジタル署名を行う電子署名用の証明書である。ソフトウェアの配布元を認証し,なりすましや内容の改ざんなどがされていないことを保証する。ユーザはこれによって,ソフトウェアの開発元または発行元を確認することができる。

EV SSL 証明書
SSL の証明書で,証明書申請法人情報と,サイトの所有者・運営者情報を提供する。
クライアント証明書
デバイスにユーザ(クライアント)の証明書をインストールし,そのユーザが正規の利用者であることを証明する。
サーバ証明書
通信元の Web サーバの所有者を証明する。

問24 AES

米国 NIST が制定した,AES における鍵長の条件はどれか。

問24 の解答と解説を表示

問24 の解答と解説

【答え】

AES(Advanced Encryption Standard)は,アメリカ合衆国の標準暗号規格として制定された共通鍵暗号方式である。暗号化と復号に同じ鍵を使用する。

アメリカの旧国家暗号規格であった DES(Data Encryption Standard)の鍵長が 56 ビットであったのに対して最大 256 ビットの鍵長を利用することが可能で強度が高くなっている(128 ビット,192 ビット,256 ビットから選択する)。日本でも「電子政府推奨暗号リスト」に掲載されているほか,無線 LAN の暗号化規格 WPA2 の暗号化方式としても採用されている。

問25 スパムメール対策

スパムメール対策として,サブミッションポート(ポート番号 587)を導入する目的はどれか。

問25 の解答と解説を表示

問25 の解答と解説

【答え】

サブミッションポート (submission port) とは,利用者の電子メールソフトからメール送信サーバにメールを投稿 (submission) する際に用いる,専用の TCP ポート。サーバの運用者が個別に指定できるが,標準では 587 番が,SSL/TLS 接続の場合は 465 番が用いられる。

一般的には TCP の 587 番ポートが用いられ,SMTP 認証 (SMTP Authentication) によるユーザ認証が行われることが多い。

inserted by FC2 system