応用情報処理技術者試験の対策サイトです。 応用情報処理技術者試験の午前問題を中心とした基礎用語の解説を中心に掲載します。書き始めたばかりなので、内容はまだまだ不十分です。
カテゴリ:

8.システム開発

単体テストには、ホワイトボックステストとブラックボックステストがあります。

ブラックボックステスト
 ユーザの立場でのテストで、内部構造が真っ黒(ブラック)で見えない状態でのテストです。
 シンプルな例で説明します。たとえば、「新規パスワード入力画面」があります。パスワードの仕様は、「英字8文字以上」と決められており、それ以外であれば、エラーになります。このとき、ブラックボックステストでは、7文字の英字、8文字の英字、8文字の数字などを入力してテストすることで、仕様が適切かを確認します。

ホワイトボックステスト
 ブラックボックステストの逆で、開発者の立場でのテストです。分岐条件などの内部構造を理解した上でのテストです。先ほどの例ですと、内部構造として、「全角文字」が入力された場合は「半角で入力してください」というエラー処理が行われるとします。システム開発者は、テストデータとして「全角文字」をわざと入力し、適切なエラー処理およびメッセージが表示されるかを確認します。

11

基本情報技術者試験に比べて、応用情報技術者試験は、やや上流工程を意識しているため、それほど出題はされません。概要だけ理解しておけばいいでしょう。

ホワイトボックステスト
・プログラム構造に基づいてテストする。⇔ブラックボックステスト
・ホワイトボックステストに関して過去問では、「プログラムの品質を検証するために,プログラム内部のプログラム構造を分析し,テストケースを設定するテスト手法(H24秋IP問46)」、「内部構造に基づいてテストデータを作成する(H23春FE午前問49)」と述べられています。
・過去問を参考にすると、ホワイトボックステストのテストデータの作成方法として、「プログラムの流れ図から、分岐条件に基づいたテストデータを作成する(H21NW午前玉24不正解選択肢)」となります。

テスト技法としては、〔仁疚嵳紂↓判定条件網羅(分岐網羅)、条件網羅、な数条件網羅、があります。この順番も覚えておきましょう。
では、
過去問(H27春FE午前問50 )を見てみましょう。
問50 図の構造をもつプログラムに対して,ホワイトボックステストのテストケースを設計するとき,少なくとも実施しなければならないテストケース数が最大になるテスト技法はどれか。
ad
ア 条件網羅     イ 判定条件網羅
ウ 複数条件網羅  エ 命令網羅
ここで、「条件」というのは、左上の「A>0かつB=1」です。「命令」というのは、「X←X+1」です。
〔仁疚嵳
命令を網羅します。命令を1回でも実行すればいいので、「A>0かつB=1」を満たす、たとえば「A=1、B=1」のテストを行います。 【テストケース数:1回】
判定条件網羅(分岐網羅)
左上の条件「真」「偽」をそれぞれを通るようにします。たとえば、「A=1、B=1(結果:真)」、「A=0、B=1(結果:偽)」です。【テストケース数:2回】
条件網羅
今度は、分岐ではなく、条件を網羅します。今回は、「A>0」「B=1」という2つの条件があります。なので、2つの条件で、それぞれ真の場合と偽の場合をテストします。い諒数条件網羅のように、AとBの全てのパターンを実施する必要はありません。
つまり、以下の4パターンではなく、たとえば、1と4を実施すれば、AとBのそれぞれの真偽をテストしたことになります。【テストケース数:2回】
A B
真(A=1) 真(B=1)
真(A=1) 偽(B=0)
偽(A=0) 真(B=1)
偽(A=0) 偽(B=0)

な数条件網羅
上記の条件の、全てのパターンを網羅する方法です。当然ながら、テストケース数が最大になります。【テストケース数:4回】

ブラックボックステスト
・プログラム構造はブラックボックス化されている前提でのテスト。ユーザの立場でのテストと同様になる。つまり、値の入力でテストする。
・H21応用情報/秋問47のように「プログラム仕様書を基に〜」とあれば、ブラックボックステストである。
・ブラックボックステストのテストデータの作成方法として、「機能仕様から同値クラスや限界値を識別し、テストデータを作成する(H21SA午前-問7)」と述べられている。また、H21SA午前-問7の不正解の選択肢として「業務で発生するデータの発生頻度を分析し、テストデータを作成する」「稼働中のシステムから実データを無作為に抽出し、テストデータを作成する」がある。
博士大 2
この問題のポイントは、ブラックボックステストは「ブラックボックス」だから中身が見えない。だからといって無作為にテストデータをするわけではない。同値分割や限界値分割を利用し、意図的なデータでテストすること。


同値分割:同じ値になるデータをクラス分けする。
 同値分割のテストケース設計法の説明として、「読み込んだデータが正しくないときにエラーメッセージを出力するかどうかをテストしたい。プログラム仕様書を基に、正しくないデータのクラスを識別し、その中から任意のデータを代表として選びテストケースとする。(H21応用情報/秋問47)
限界値分析:H23春ES午前玉24では、限界値分析の例が記載されています。
「プログラムの誤りの一つに,繰返し処理の判定条件としてA≧aとすべきところをA>aとコーディングすることがある。このような誤りを見つけ出すために有効なテストケース設計技法はどれか。ここで, Aは変数、aは定数とする。」
このように、値の限界のところでテストをします。
原因一結果グラフ:「入力と出力の関係からテストデータを作成する。(H23春FE午前問49)」と述べられています。

◆テストの実施
テストの実施にあたっては、デバッガ、ドライバ、スタブなどを活用する。

◆過去問
過去問(H22秋AP午前問46)をみてみましょう。
問46 ホワイトボックステストのテストケースを設計する際に使用するものはどれか。
ア 原因一結果グラフ  イ 限界値分析
ウ 条件網羅      エ 同値分割 
ホワイトボックステストでは、ウの条件網羅を使用します。
ブラックボックステストでは、内部構造が分からないのですが、原因一結果グラフ、限界値分析、同値分割を利用します。

過去問(H26秋AP午後)をみてみましょう。
設問1 単体テストの方法について,ホワイトボックステスト,ブラックボックステストのテスト項目の作成方法に該当するものを,解答群の中からそれぞれ全て選び,記号で答えよ。

解答群
ア ユニット内の条件判定の組合せ全てを少なくとも1回は実行する。
イ ユニットの全ての分岐を少なくとも1回は実行する。
ウ ユニットの全ての命令を少なくとも1回は実行する。
エ ユニットへの入力データの値の範囲を分割し,各代表値で実行する。
オ ユニットへの入力と出力の因果関係を網羅するよう実行する。
正解ですが、以下です。全ての命令を実行するなど、内部構造を理解したテストがホワイトボックステストで、それ以外がブラックボックステストと考えればいいでしょう。
ホワイトボックステスト:ア、イ、ウ
ブラックボックステスト:エ、オ

■レビューの対象
レビューとは、プロジェクトの活動や作成した成果物をチェックすることです。設計工程における設計書のレビューがデザインレビュー(デザインとは「設計」という意味です)で、プログラミング工程でのソースプログラムのレビューがコードレビューです。
a

参考ですが、応用情報のシラバスには、「プロジェクト活動の状況や成果物を適宜評価するためのレビューの目的を理解する。」とあります。

デザインレビューの目的ですが、プログラム工程よりも前の設計工程でレビューをすることで、成果物の問題点の早期発見を行うことができます。

■レビューの種類
.ぅ鵐好撻ション
インスペクション(inspection)とは「調査」という意味です。組織における公式なレビューです。

「作業成果物の作成者以外の参加者がモデレータとして主導すること,及び公式な記録,分析を行うことが特徴のレビュー技法(H24春AP午前問47)」
「あらかじめ参加者の役割を決めておくとともに,進行役の議長を固定し,レビューの焦点を絞って迅速にレビュー対象を評価する。(H19SW午前問44)」

▲Εークスルー
ウォークスルーは、システムやソフトウェアのレビューの方法です。ウォーク(歩いて)スルー(通り過ぎる)という言葉からイメージされるように、気軽に行う非公式のレビューです。※正確な語源は違うので、イメージとして捉えてください。

「レビュー対象物の作成者が説明者になり,入力データの値を仮定して,手続をステップごとに机上でシミュレーションしながらレビューを行う。(H19SW午前問44)」
「設計上の誤りを早期に発見することを目的として,作成者と複数の関係者が設計書をレビューする方法はどれか(H25秋AP午前問46)」

単体テストが終わったら、次は複数のモジュールを組み合わせて、モジュール間の連携部分を含めた確認をする結合テストを行います。結合テストには、トップダウンテストと、ボトムアップテストとの2つがあります。

トップダウンテスト
 モジュールの上位からテストを実施するのがトップダウンテストです。最近では開発の方式が多様化しているので一概には言えませんが、階層構造の上位モジュールから開発する場合が分かりやすい例です。上位モジュールから開発していますから、単体テストおよび結合テストも、それに応じて上位から行われます。下位モジュールはまだ完成していないと、十分なテストが行えない場合があります。そこで、スタブと呼ばれる下位モジュールの代替となるテスト用モジュールを準備して補います。
b
ボトムアップテスト
 モジュールの下位からテストを実施します。上位のモジュールの代替えとなるのがドライバです。
a
 
では、スタブやドライバは具体的にはどんな役割をするのでしょうか。具体例で説明します。以下は、検索画面で、たとえば「network」という文字を入力して「検索」ボタンを押すと、該当するデータを表示する機能とします。

a

モジュール構造ですが、上位モジュールとして、「文字入力」(入力値のチェックなどを行います)と、下位モジュールとして「検索処理」(入力された文字をもとに、DBから検索します)があります。

このとき、上位モジュールから下位モジュールに、入力された値である「network」という文字を、引数として渡します。ですから、ドライバは,引数を渡してテスト対象モジュールを呼び出す機能だけを実装したテスト用モジュールです。

H24春AP午前
問47 作業成果物の作成者以外の参加者がモデレータとして主導すること,及び公式な記録,分析を行うことが特徴のレビュー技法はどれか。
ア インスペクション
ウ パスアラウンド
イ ウォークスルー
エ ペアプログラミング

正解 ア


H19SW午前
問44 a~cの説明とレビューとの対応について,適切な組合せはどれか。
a 参加者全員が持ち回りでレビュー責任者を務めながらレビューを行うので,参加者全員の参画意欲が高まる。
b レビュー対象物の作成者が説明者になり,入力データの値を仮定して,手続をステップごとに机上でシミュレーションしながらレビューを行う。
c あらかじめ参加者の役割を決めておくとともに,進行役の議長を固定し,レビューの焦点を絞って迅速にレビュー対象を評価する。
 a b C
ア インスペクシヨン ウォークスルー ラウンドロビン
イ ウォークスルー インスペクション ラウンドロビン
ウ ラウンドロビン インスペクシヨン ウォークスルー
工 ラウンドロビン ウォークスルー インスベクション

H25秋AP午前
問46 設計上の誤りを早期に発見することを目的として,作成者と複数の関係者が設計書をレビューする方法はどれか。
ア ウォークスルー
ウ トップダウンテスト
イ 机上デバッグ
エ 並行シミュレーション

正解:ア

H21春AP午前
問45 デザインレビューの目的はどれか。
ア 成果物の問題点の早期発見を行う。
イ 設計プロセスとマネジメントプロセスに関する問題点の早期発見と是正を行う。
ウ 第三者機関による成果物のサンプリング検査で品質上の問題点の早期発見と是正を行う。
エ 第三者機関による全成果物の合否判定を行う。

正解:ア

H23秋AP午前
問44 内部設計書のデザインレビューを実施する目的として,最も適切なものはどれか。
アイウ工
外部設計書との一貫性の検証と要件定義の内容を満たしていることの確認設計記述規約の遵守性の評価と設計記述に関する標準化の見直し
要件定義の内容に関する妥当性の評価と外部設計指針の見直し
論理データ設計で洗い出されたデータ項目の確認と物理データ構造の決定

正解:ア

H25秋AP午前
問48 表は,現行プロジェクトにおけるソフトウェア誤りの発生・除去の実績,及び次期
  プロジェクトにおける誤り除去の目標を記述したものである。誤りは,設計とコーデ
  インクの作業で埋め込まれ,デザインレビュー,コードレビュー及びテストで全て除
  去されるものとする。次期プロジェクトにおいても,ソフトウェアの規模と誤りの発
  生状況は変わらないと仮定したときに,テストで除去すべきソフトウェア誤りの比率
  は全体の何%となるか。
a

ア 17.5  イ 25  ウ 30  エ 32.5


H25春FE午後より
(2)プログラミングエ程では,ソースプログラムのコードレビューを行う。コードレビューには,セルフレビュー及びペアレビューがある。プログラミング担当者が単独で行うのがセルフレビューであり,プログラミング担当者ともう1名でペアを組んで行うのがペアレビューである。セルフレビューの終了後にペアレビューを行う。

■UML(Unified Modeling Language)とは
・UMLは、Unified Modeling Languageという言葉のとおり「統一モデリング言語」である
・Unified(統一された)という言葉のとおり、メーカや製品に依存しません。
・Modeling(モデリング)は模型(モデル)を作ることを意味します。データベースの世界ではモデリングとしてE-R図を描く。
・Language(言語)というと、JAVAなどのプログラム言語を思い浮かべるかもしれないが、そうではない。言語よりは図のほうが近いだろう。
・OMGという分散オブジェクト指向技術の標準化団体が定める。OMGはObject Management Groupの略であるがOh My Godと覚えると覚えやすいかもしれない。
・UMLは「統一言語」なのに、オブジェクト指向との関連が強い。OMGというオブジェクト指向の団体が作成したことも理由であるが、オブジェクト指向のプログラム開発に利用される。
・以下が分かりやすい
http://www.objectclub.jp/technicaldoc/uml/umlintro2#usecase

■UMLの必要性
・ネットワークの世界でいうと、ルータのConfigを読むのは難しいが、ネットワーク構成図があると全体像がわかりやすい。
プログラムの世界でも同じことが言えて、イメージ図があるとわかりやすい。その書き方が人によってまちまちであったら、大変。そこで、UMLで世界標準のモデリング方法が作成された。
・ただ、種類が多いことから逆に使いにくいとの評判もある。すべてのケースでUMLを使うのではなく、必要に応じて使う企業が多いと思う。

■UMLの13のダイヤグラム(図)
(1)ユースケース図
http://sm.seeeko.com/archives/65920682.html

(2)アクティビティ図
http://sm.seeeko.com/archives/65793281.html

(3)クラス図
http://sm.seeeko.com/archives/65793283.html

(4)シーケンス図
http://sm.seeeko.com/archives/65793282.html

(5)オブジェクト図
http://sm.seeeko.com/archives/65910838.html

(6)ステートマシン図
シーケンス図やコミュニケーションズでは、オブジェクト間の関係を表記していた。一方、ステートマシン図はあるオブジェクト内の状態を表す。

例えば、お店が「営業中」⇔「準備中」

(7)コンポーネント図
ソフトウェアの構成を表す。
右上にLANのモジュールのような記号がついているのがトレードマーク

(8)配置図
システム構成図的なものである。
サーバ、クライアントなどのハードウェア環境とともに、ファイルの状態も表す。
ファイルの右上にはファイルのアイコンがついている。

(9)コミュニケーションズ
オブジェクト間の関係を表記


■資格は2種類
・OMG認定UML技術者(OCUP)
・UMLモデリング技能検定・・日本独自 15750円  ・・・こっちが人気ありそう。

■UMLを記述するツール
PPTで書くのも良いだろうが、便利なツールがたくさんある。
MicrosoftのVisioはUMLを書くのに便利なツールのひとつだ。
また、プログラムからUMLを自動で書くツールなどもある様子。(私は使ったことが無いので不明だが)

・ユースケース(Use Case)とは、利用者(アクターと言います)がどんな場面(case)で使う(use)のかという「利用シーン」と考えてください。
・要件定義にて利用され、システムを理解するのに便利な図です。

過去問(H18春AD午前)を見てみましょう。
問31 次のユースケース図の説明はどれか。
usecase1
ア 在庫管理システムは人ではないので,アクターは注文担当者だけである。
イ システム化の対象には,注文管理システムと在庫管理システムが含まれる。
ウ 注文管理システムはシステム境界の中にあり,注文担当者と在庫管理システムはシステム境界の外にある。
エ ユースケースは四つあり,各ユースケース名は,注文管理システム,注文処理,注文変更処理,注文取消処理である。
ア:アクターは、注文担当者と在庫管理システムです。
イ:システム化の対象は,注文管理システムです。
ウ:正解選択肢です。
エ:ユースケースは3つあり,注文処理,注文変更処理,注文取消処理です。

正解はウ

過去問(H23秋AP午後問8)で、ユースケースの事例があります。

usecase
作成途中だが、以下がそのユースケース図
usecase2
usecase3
応用情報技術者試験を勉強する成子

運転手というアクターが、「運賃を確定させる」というユースケースに関連づけられているのはなぜですか?
この点は、問題文に、「整理券箱にICバスカードをかざさず、かつ、IC整理券を取り忘れた場合は、始発バス亭からの運賃が適用され、運転手が運賃箱にその金額を運賃として設定する」とあります。
つまり、整理券を取り忘れた場合などに、運転手が運賃箱に金額を設定する場合があるからです。

ユースケース図に関する出題は、H20秋SW午後2でも出題されています。

◆過去問(H27秋AP午前)
問64 要件定義において,利用者や外部システムと,業務の機能を分離して表現することで,利用者を含めた業務全体の範囲を明らかにするために使用される図はどれか。

ア アクティビティ図  イ オブジェクト図
ウ クラス図   エ ユースケース図

正解はエのユースケース図

■H29秋AP
問48 アジャイル開発のプラクティスのうち,回帰テストを行うことを前提とするものはどれか。
ア 日次ミーティング
イ ふりかえり
ウ ペアプログラミング
エ リフアクタリング
【正解】エ

問49 CMMIの説明はどれか。
ア ソフトウェア開発組織及びプロジェクトのプロセスの成熟度を評価するためのモデルである。
イ ソフトウェア開発のプロセスモデルの一種である。
ウ ソフトウェアを中心としたシステム開発及び取引のための共通フレームのことである。
エ プロジェクトの成熟度に応じてソフトウェア開発の手順を定義したモデルである。
【正解】ア

問50 アジャイル開発におけるプラクティスの一つであるバーンダウンチャートはどれか。ここで,図中の破線は予定又は予想を,実線は実績を表す。
残作業量ア

累積バグ数
発生不具合数イ
時間
時間
24

要員数
−−
f/
時間
時間

【正解】ア

問51 ソフトウェア開発プロジェクトで行う構成管理の対象項目はどれか。
ア 開発作業の進捗状況
ウ プログラムのバージョン
イ 成果物に対するレビューの実施結果
エ プロジェクト組織の編成
【正解】ウ

シラバスにおける、「4. 構成管理・変更管理」には以下があります。
------------
リリース管理及び出荷
構成品目の完全性が保証された後は,ソフトウェアや関連文書の新しい版の出荷などの
手続を行うこと,ソフトウェアのコードや文書はソフトウェアの寿命のある間保守するこ
とを理解する。

用語例 バージョン管理,保管期間
------------

■H28秋AP午前
問49 ソフトウェアを保守するときなどに 利用される技術であるリバースエンジニ アリングに該当するものはどれか。
ア ソースプログラムを解析してプログラム仕 様書を作る。
イ ソースプログラムを探索して修正箇所や 影響度を調べる。
ウ ソースプログラムを見直して構造化され たプログラムに変換する。
エ ソースプログラ ムを分かりやすい表現に書き換える。
【正解】ア

■H28春AP午前
問50 エクストリームプログラミング(XP:eχtreme Programming)における“テスト駆動開発”の説明はどれか。
ア 最初のテストでバグを抽出すること
イ テストケースを順次改善すること
ウ テストでのカバレージを優先すること
エ プログラムを書く前にテストケースを作成すること
【正解】エ

■H27秋AP午前
問49 エクストリームプログラミング(XP) におけるリファクタリングの説明はどれか 。
ア 外部から見た動作を変えずにプログラム をより良く作り直すこと
イ コーチがチームメ ンバの意識を高めること
ウ プログラミングとテストを繰り返し行うこと
エ プログラムを作成するよりも先にテストケ ースを考えること
【正解】ア

■H27春AP午前
問49 CMMIの説明はどれか。
ア ソフトウェア開発組織及びプロジェクト のプロセスの成熟度を評価するためのモ
 デルである。
イ ソフトウェア開発のプロセスモデルの 一種である。
ウ ソフトウェアを中心としたシステム開 発及び取引のための共通フレームのこと で
 ある。
エ プロジェクトの成熟度に応じてソフトウ ェア開発の手順を定義したモデルである 。
【正解】ア

問50 エクストリームプログラミング(XP) のプラクティスとして,適切なものはどれ か。
ア 1週間の労働時間は,チームで相談 して自由に決める。
イ ソースコードの再利用は,作成者だけ が行う。
ウ 単体テストを終えたプログラムは,す ぐに結合して,結合テストを行う。
エ プログラミングは1人で行う。
【正解】ウ

■H26秋AP午前
問49 アジャイルソフトウェア開発などで 導入されている“ペアプログラミングの説明はどれか。
ア 開発工程の初期段階に要求仕様を 確認するために,プログラマと利用者が ペアとなり,試作した画面や帳票を見て,相談 しながらプログラムの開発を行う。
イ 効率よく開発するために,2人のプロ グラマがペアとなり,メインプログラムとサブプログラムを分担して開発を行う。
ウ 短期間で開発するために,2人のプ ログラマがペアとなり,作業と休憩を交代 しながら長時間にわたって連続でプログ ラムの開発を行う。
エ 品質の向上や知識の共有を図るため に,2人のプログラマがペアとなり,その場で相談したりレビューしたりしながら,一 つのプログラムの開発を行う。
【正解】エ

■H26春AP午前
問49 エクストリームプログラミング(XP)におけるリファクタリングの説明はどれか 。
ア 外部から見た動作を変えずにプログラムをより良く作り直すこと
イ コーチがチームメンバの意識を高め ること
ウ プログラミングとテストを繰り返し行う こと
エ プログラムを作成するよりも先にテス トケースを考えること
【正解】ア

問50 マッシュアップに該当するものはど れか。
ア 既存のプログラムから,そのプログラ ムの仕様を導き出す。
イ 既存のプログラムを部品化し,それら の部品を組み合わせて,新規プログラムを開発する。
ウ クラスライブラリを利用して,新規プロ グラムを開発する。
エ 公開されている複数のサービスを利 川して,新たなサービスを提供する。
【正解】エ

■H25秋AP午前
問50 マッシュアップを利用してWebコンテンツを表示している例として,最も適切なものはどれか。
ア Webブラウザにプラグインを組み込み,動画やアニメーションを表示する。
イ 地図上のカーソル移動に伴い,ページを切り替えずにスクロール表示する。
ウ 電車経路の探索結果上に,各路線会社のWebページへのリンクを表示する。
エ 店舗案内のページ上に,他のサイトが提供する地図情報を表示する。
【正解】エ

■H25春AP午前
問49 ソフトウェアのリファクタリングの説明はどれか。
ア 外部から見た振る舞いを変更せずに保守性の高いプログラムに書き直す。
イ ソースコードから設計書を作成する。
ウ ソフトウェア部品を組み合わせてシステムを開発する。
エ プログラムの修正が他の部分に影響 していないかどうかをテストする。
【正解】ア

■H24秋AP午前
問47 CMMIを説明したものはどれか。
ア ソフトウェア開発組織及びプロジェクトのプロセスの成熟度を評価するためのモ デルである。
イ ソフトウェア開発のプロセスモデルの一種である。
ウ ソフトウェアを中心としたシステム開発及び取引のための共通フレームのことである。
エ プロジェクトの成熟度に応じてソフトウェア開発の手順を定義したモデルである 。
【正解】ア

■H24春AP午前
問48 プログラムに“事実"と"規則"を記述 し,プログラム言語の処理系がもつ導出原理によって結論を得るプログラミングパラダイムであって,エキスパートシステムの開発に適しているものはどれか。
ア オブジェクト指向プログラミング
イ 関数 型プログラミング
ウ 手続型プログラミング
エ 論理型プログラミング
【正解】エ

問49 マッシュアップを利用してWebコンテンツを表示している例として,最も適切なも のはどれか。
ア 検索キーワードの候補を,サーバから取得 した過去の検索履歴を使って表示する。
イ 地図上のカーソル移動に伴い,ページを切 り替えずにスクロール表示する。
ウ 電車経路の探索結果上に,各路線会社のWebページへのリンクを表示する。
エ 店舗案内のページ上に,他のサイトが提供する地図情報を表示する。
【正解】エ

問50 リバースエンジニアリングの説明は どれか
ア 既存のプログラムからそのプログラムの仕様を導き出すこと
イ 既存のプログラムから導き出された仕様を修正してプログラムを開発すること
ウ  クラスライブラリ内の既存のクラスを利用してプログラムを開発すること
エ 部品として開発されたプログラムを組み合わせてプログラムを開発すること
【正解】ア

■H28秋AP午前
問46 UMLのユースケース図の説明はど れか。
ア 外部からのトリガに応じて,オブジェク トの状態がどのように遷移するかを表現 する。
イ クラスと関連から構成され,システム の静的な構造を表現する。
ウ システムとアクタの相互作用を表現す る。
エ データの流れに注目してシステムの 機能を表現する。
【正解】ウ

問47 オブジェクト指向言語のクラスに関する記述のうち,適切なものはどれか。
ア インスタンス変数には共有データが保 存されているので,クラス全体で使用でき る。
イ オブジェクトに共通する性質を定義し たものがクラスであり,クラスを集めたも のがクラスライブラリである。
ウ オブジェクトはクラスによって定義され ,クラスにはメソッドと呼ばれる共有デー タが保存されている。
エ スーパクラスはサブクラスから独立し て定義し,サブクラスの性質を継承する。
【正解】イ

問48 Jis X 0160 におけるソフトウェア実 装プロセスの下位レベルのプロセスのう ち,次のタスクを実施するものはどれか。
〔タスク〕
・ソフトウェア品目の外部インタフェース, 及びソフトウェアコンポーネント間のインタ フェースについて最上位レベルの設計を 行う。
・データベースについて最上位レベルの 設計を行う。
・ソフトウェア結合のために暫定的なテス ト要求事項及びスケジュールを定義する 。
ア ソフトウェア結合プロセス     イ ソフトウェア構築プロセス
ウ ソフトウェア詳細設計プロセス     エ ソフトウェア方式設計プロセス
【正解】エ

■H28春AP午前
問46 ソフトウェアの品質特性のうちの保守性に影響するものはどれか。
ア ソフトウェアが,特定の作業に特定の利用条件でどのように利用できるかを利用者が理解しやすいかどうか。
イ ソフトウェアにある欠陥の診断又は故障原因の追究,及びソフトウェアの修正箇所を識別しやすいかどうか。
ウ ソフトウェアに潜在する障害の結果として生じる故障が発生しやすいかどうか。
エ ソフトウェアの機能を実行する際に,資源の量及び資源の種類を適切に使用するかどうか。
【正解】イ

問47 モジュールの結合度が最も低い,データの受渡し方法はどれか。
ア 単一のデータ項目を大域的データで受け渡す。
イ 単一のデータ項目を引数で受け渡す。
ウ データ構造を大域的データで受け渡す。
エ データ構造を引数で受け渡す。
【正解】イ

問48 プロセス制御などの事象駆動(イベントドリブン)による処理の仕様を表現する方法として,適切なものはどれか。
ア DFD     イ E-R図
ウ クラス図     エ 状態遷移図
【正解】エ

問49 作業成果物の作成者以外の参加者がモデレータとして主導すること,並びに公式な記録及び分析を行うことが特徴のレビュー技法はどれか。
ア インスペクション     イ ウォークスルー
ウ パスアラウンド     エ ペアプログラミング
【正解】ア

■H27秋AP午前
問46 DFDにおけるデータストアの性質と して,適切なものはどれか。
ア 最終的には,開発されたシステムの 物理ファイルとなる。
イ データストア自体が,データを作成し たり変更したりすることがある。
ウ データストアに入ったデータが出て行 くときは,データフロー以外のものを通る ことがある。
エ 他のデータストアと直接にデータフD  ーで結ばれることはなく,処理が介在する 。
【正解】エ

問47 ソフトウェア開発に利用されるピア レビューの説明として,適切なものはどれ か。
ア 同じ職場内の様々なスキルや知識を もつレビューアによって,成果物を検証す る。
イ 成果物の内容を審査して,次の開発 工程に進むための関門(審査・承認)とし て実施する。
ウ 早期に成果物から欠陥を取り除くこと が目的なので,管理職のメンバの参加が 必要である。
エ プロトタイピングで試作したソフトウェ アの動作を,発注元の会社と検証する。
【正解】ア

問50 共通フレームをプロジェクトに適用 する場合の考え方のうち,適切なものは どれか。
ア Jis規格に基づいているので,個々の プロジェクトの都合でアクティビティやタス クを変えずに,そのまま適用する。
イ 共通フレームで規定しているプロセス の実施順序に合わせて,作業手順を決 めて適用する。
ウ 共通フレームで推奨している開発モ デル,技法やツールを取捨選択して適用 する。
エ プロジェクトの特性や開発モデルに合 わせて,アクティビティやタスクを取捨選 択して適用する。
【正解】エ

■H27春AP午前
問47 次の図の作成に用いられている表 記法はどれか。
8-1_H27h_47
ア DFD     イ 状態遷移図
ウ 流れ図     エ ペトリネット
【正解】ア

問48 JlS X 25010:2013 で規定されたシ ステム及びソフトウェア製品の品質副特 性の説明のうち,信頼性に分類されるものはどれ か。
ア 製品又はシステムが,それらを運用 操作しやすく,制御しやすくする属性をもっている度合い
イ 製品若しくはシステムの一つ以上の 部分への意図した変更が製品若しくはシ ステムに与える影響を総合評価すること, 欠陥若しくは故障の原因を診断すること, 又は修正しなければならない部分を識別 することが可能であることについての有 効性及び効率性の度合い
ウ 中断時又は故障時に,製品又はシス テムが直接的に影響を受けたデータを回 復し,システムを希望する状態に復元するこ とができる度合い
エ ニつ以上のシステム,製品又は構成 要素が情報を交換し,既に交換された情 報を使用することができる度合い
【正解】ウ

■H26秋AP午前
問46 UMLのユースケース図の説明は どれか。
ア 外部からのトリガに応じて,オブジェク トの状態がどのように遷移するかを表現している。
イ クラスと関連から構成され,システム の静的な構造を表現している。
ウ システムとアクタの相互作用を表現し ている。
エ データの流れに注目してシステムの 機能を表現している。
【正解】ウ

■H26春AP午前
問46 モジュール分割の良否を,モジュー ル結合度の視点から評価する場合,最も 適切な記述はどれか。
ア 共通データ領域は,全てのモジュール からアクセスできるようになっていることが望ましい。
イ ソフトウェア全体のモジュール分割の 良否は,モジュール間の結合度のうちで 最も強いものがどのように分布しているか で判断するのが望ましい。
ウ 直接の呼出し関係になっていないモ ジュール間で情報を交換するには,共通データ領域を用いるのが最も望ましい。
エ 呼び出す側と呼び出される側のモジ ュール間のデータの受渡しは,引数として データ項目を列挙するのが最も望ましい。
【正解】エ

問47 ソフトウェアの使用性を向上させる 施策として,適切なものはどれか。
ア オンラインヘルツを充実させ,利用方 法を理解しやすくする。
イ 外部インタフェースを見直し,連携で きる他システムを増やす。
ウ 機能を追加し,業務においてシステム が利用できる範囲を拡大する。
エ ファイルを分散して配置し,障害によ るシステム停止のリスクを減らす。
【正解】ア

■H25秋AP午前
問45 E-R図の解釈として,適切なものは どれか。ここで,* *は多対多の関連 を表し,
  自己参照は除くものとする。
8-1_H25a_48
ア ある組織の親組織の数が,子組織の数 より多い可能性がある。
イ 全ての組織は必ず子組織をもつ。
ウ 組織は2段階の階層構造である。
エ 組織はネットワーク構造になっていない。
【正解】ア

問46 設計上の誤りを早期に発見するこ とを目的として,作成者と複数の関係者 が設計書
  をレビューする方法はどれか。
ア ウォークスルー     イ 机上デバッグ
ウ トップダウンテスト     エ 並行シミュレーション
【正解】ア

問47 オブジェクト指向言語のクラスに関 する記述のうち,適切なものはどれか。
ア インスタンス変数には共有データが保 存されているので,クラス全体で使用でき
 る。
イ オブジェクトに共通する性質を定義し たものがクラスであり,クラスを集めたも
 のがクラスライブラリである。
ウ オブジェクトはクラスによって定義され ,クラスにはメソッドと呼ばれる共有デ
 ータが保存されている。
エ スーパクラスはサブクラスから独立し て定義し,サブクラスの性質を継承する。
【正解】イ

問48 表は,現行プロジェクトにおけるソ フトウェア誤りの発生・除去の実績,及び 次期
  プロジェクトにおける誤り除去の目標 を記述したものである。誤りは,設計とコ ーデ
  インクの作業で埋め込まれ,デザイン レビュー,コードレビュー及びテストで全て 除
  去されるものとする。次期プロジェクト においても,ソフトウェアの規模と誤りの 発
  生状況は変わらないと仮定したときに ,テストで除去すべきソフトウェア誤りの 比率
  は全体の何%となるか。
8-1_H25a_48
ア 17.5     イ 25     ウ 30     エ 32.5
【正解】エ


■H25春AP午前
問45 図ぱ顧客が商品を注文する”を表 現したUMLのクラス図である。“顧客が 複数の商品をまとめて注文する”を表現した クラス図はどれか。ここで,“注文明細”は 一つの注文に含まれる1種類の商品に対 応し,“注文”は複数の“注文明細”を束 ねた一つの注文に対応する。
8-1_H25h_45
【正解】ア

問46 ソフトウェアの使用性を評価する指 標の目標設定の例として,適切なものは どれか。
ア ソフトウェアに障害が発生してから1 時間以内に,利用者が使用できること
イ 利用者が使用したい機能の改善を, 1週間以内に実装できること
ウ 利用者が使用したい機能を, 100%提 供できていること
エ 利用者が,使用したいソフトウェアの 使用方法を1時間以内に習得できること
【正解】エ

■H24秋AP午前
問44 UMLで用いる図のうち,オブジェク ト間で送受信するメッセージによる相互作 用が表せるものはどれか。
ア コンポーネント図     イ シーケンス図
ウ ステートチャート図     エ ユースケース図
【正解】イ

問45 ソフトウェアの要件定義や分析・設 計で用いられる技法に関する記述のうち ,適切なものはどれか。
ア 決定表は,条件と処理を対比させた 表形式で論理を表現したものであり,複 雑な条件判定を伴う要件定義の記述手 段として有効である。
イ 構造化チャートは,システムの“状態” の種別とその状態が遷移するための“要 因”との関係を分かりやすく表現する手段 として有効である。
ウ 状態遷移図は,  DFDに“コントロール 変換とコントロールフロー”を付加したも のであり,制御系システムに特有な処理 を表現する手段として有効である。
エ 制御フロー図は,データの“源泉,吸 収,流れ,処理,格納”を基本要素として おり,システム内のデータの流れを表現 する手段として有効である。
【正解】ア

問46 ソフトウェアの再利用の説明のうち ,適切なものはどれか。
ア 再利用可能な部品の開発は,同一規 模の通常のソフトウェアを開発する場合 よりも工数がかかる。
イ 同一機能のソフトウェアを開発すると き,一つの大きい部品を再利用するより も,複数の小さい部品を再利用する方が ,開発工数の削減効果は大きい。
ウ 部品の再利用を促進するための表彰 制度などによるインセンティブの効果は, 初期においては低いが,時間の経過とと もに高くなる。
エ 部品を再利用したときに削減できる 工数の比率は,部品の大きさに反比例す る。
【正解】ア

問48 SOA (Service Oriented  Architecture)の説明はどれか。
ア Webサービスを利用するためのインタ フェースやプロトコルを規定したものであ る。
イ XMLを利用して,インターネット上に存 在するWebサービスを検索できる仕組み である。
ウ 業務機能を提供するサービスを組み 合わせることによって,システムを構築す る考え方である。
エ サービス提供者と委託者との間でサ ービスの内容,範囲及び品質に対する要 求水準を明確にして,あらかじめ合意を 得ておくことである。
【正解】ウ

■H24春AP午前
問45 オブジェクト指向における抽象クラ スで,できないことはどれか。
ア インスタンスを生成すること
イ サブクラスを もつこと
ウ スーパクラスをもつこと
エ 属性をもつこと
【正解】ア

問46 安全性や信輸既について,次の方針 でプログラム設計を行う場合,その方針を 表す用語はどれか。
“不特定多数の人が使用するプログラム には,自分だけが使用するプログラムに比 べて,より多くのデータチェックの機能を組 み込む。プログラムが処理できるデータ の前提条件を文書に書いておくだけでな く,その前提を満たしていないデータが実 際に入力されたときは,エラーメッセージを 表示して再入力を促すようにプログラム を作る。"
ア フールプルーフ     イ フェールセーフ
ウ フェールソフト     エ フォールトトレラント
【正解】ア

問47 作業成果物の作成者以外の参加 者がモデレータとして主導すること,及び公 式な記録,分析を行うことが特徴のレビュ ー技法はどれか。
ア インスペクション     イ ウォークスルー
ウ パスアラウンド     エ ペアプログラミング
【正解】ア

日本工業規格(JlS)では、ソフトウェアの品質特徴を、機能適合性,性能効率性,互換性,使用性,信頼性,セキュリティ,保守性、移植性の8つに分類しています。さらに、各特性は関連する副特性があります。たとえば、「信頼性」の副特性として、故障発生時に回復できる度合いを示す「回復性」や、システムをどれだけ利用できるかという「可用性」などがあります。
これらを全て覚える必要はありません。代表的なものとして、以下の3つを覚えておきましょう。

品質特性

概要

評価指標の例

/頼性

故障が発生しないことやバグが少ないなど、システムがどれだけ信頼できるか

運用期間中の停止時間

∧歇蘋

ソフトウェアの修正のしやすさ、効率性

修正1件あたりにかかる時間

使用性

利用者にとっての使いやすさの度合い

機能の使い方を学ぶのに必要となる時間


シラバスでは以下の記載があります。
(9)ソフトウェア品質
JIS X 25010(ISO/IEC 25010)で規定されているシステム及びソフトウェア製品の品質特性を理解し,要件定義や設計の際には品質特性を考慮することを理解する。
用語例 JIS X 25010(ISO/IEC 25010),ISO 9000

利用時の品質モデル
システムとの対話による成果に関係する五つの特性である,利用時の品質モデルを理解する。
用語例 有効性,効率性,満足性,リスク回避性,利用状況網羅性

製品品質モデル
システム及び/又はソフトウェア製品の品質特徴(品質に関係する測定可能な特徴とそれに伴う品質測定量)を八つに分類した製品品質モデルを理解する。また,各特性は関連する副特性の集合から構成されていることを理解する。

用語例 機能適合性,性能効率性,互換性,使用性(習得性,運用操作性,アクセシビリティほか),信頼性(可用性,回復性ほか),セキュリティ,保守性(解析性,試験性ほか),移植性

過去問を見てみましょう。
◆H25春AP
問46 ソフトウェアの使用性を評価する指標の目標設定の例として,適切なものはどれか。
ア ソフトウェアに障害が発生してから1時間以内に,利用者が使用できること
イ 利用者が使用したい機能の改善を,1週間以内に実装できること
ウ 利用者が使用したい機能を, 100%提供できていること
エ 利用者が,使用したいソフトウェアの使用方法を1時間以内に習得できること

◆H23秋AP ★図を直す
問46 表は,あるソフトウェアにおける品質特性の測定方法と受入れ可能な基準値を示している。a~cに入る品質特性の組合せはどれか。
a
品質特性 測定方法 受入れ可能な基準値
機能性 必須な要求仕様のうち,ソフトウェアで実現できた仕様の割合 100%
a 特定の機能の使い方を学ぶのに必要となる時間 10分未満
b 識別された類似の変更に対して変更が必要となるモジュール数 1モジュール
C システムに処理を要求してから,応答が返ってくるまでの時間 5秒未満
信頼性 特定の運用期間中の停止時間 年間8時間以内
移管吐 他のOS上で動作させるために再コンパイルが必要なモジュール数 6モジュール未満
 a b C
ア 効率性 使用性 保守性
イ 効率院 保守性 使用性
ウ 使用性 効率性 保守性
工 使用性 保守性 効率性

正解:エ

このページのトップヘ