カテゴリ: 8.システム開発

モジュールの結合度が弱く、強度が強いのが良い設計である。
モジュールの結合度とは、文字通り、他のモジュールとの結合の度合いのことです。
モジュールがそれぞれ独立しており、引数をつけて渡すだけなので、様々なプログラムとの連携がしやすい。また、プログラム変更があっても簡単に行えます。
結合度 分類 説明
内部結合 別のモジュールの内部の情報を直接参照するなど、モジュールの結合性が高いもの
共通結合 「共通域に定義したデータを関係するモジュールが参照する(H28春FE午前問47より)」
外部結合 「必要なデータを外部宣言して共有する(H28春FE午前問47より)」
「単一のデータ項目を大域的データで受け渡す。(H28春AP午前問47より)」
制御結合 「制御パラメタを引数として渡し,モジュールの実行順序を制御する(H28春FE午前問47より)」
スタンプ結合 「データ構造を引数で受け渡す(H28春AP午前問47より)」
データ結合 「入出力に必要なデータ項目だけをモジュ―ル間の引数として渡す(H28春FE午前問47より)」
「単一のデータ項目を引数で受け渡す(H28春AP午前問47より)」。
 
応用情報技術者試験を勉強する成子

応用情報のシラバスのキーワードでは、何が記載されていますか?




「データ結合」と「制御結合」の2つだけです。
その2つ(特にデータ結合)だけを覚えておけば、合格ラインである6割を突破するのには十分だと思います。

◆H21応用情報/秋問45
モジュール結合度が最も弱いモジュールはどれか
↓単一データ項目を引数で受け渡すモジュール(正解)
↓データ構造を引数受け渡すモジュール
↓単一データ項目を大域的データで受け渡すモジュール
↓データ構造を大域的データで受け渡すモジュール

※上記の大域的というのは、メールアドレスしか必要ではないのに、「氏名、TEL、メールアドレス」などたくさんの情報を渡すことと考えている。

以下は頭の中の整理用。情報処理試験では、「データ結合」「スタンプ結合」などのキーワードは使われない。
例として、顧客一覧から該当顧客へメール送信という仕組み。

1)データ結合:引数渡し
顧客一覧モジュールからメール送信モジュールへメールアドレスの値
のみを渡す。※顧客一覧モジュールの仕組みが大きく変わっても良い。
2)スタンプ結合:データ構造と引数を渡す。
顧客一覧からは、「氏名、TEL、メールアドレス」などたくさんの情報を渡す仕組みになっているが、データ属性を渡すので、受け側であるメール送信モジュールはデータ属性をみて判断できる。
たとえば、
name,鈴木
tel,03-111-222
mail,suzuki@mail.dom
※データ結合に比べて、受け側のメール送信モジュールでは作りこみがいる。
3)外部結合:DB参照のようなもの
メール送信モジュールから顧客一覧のDBを参照する。
Select mailaddress FROM 顧客一覧。
※顧客一覧のDB構造が変わらなければよいが、DB構造が変わるとメール送信モジュールも変更する必要あり
4)内部結合:メール送信モジュールが直接
顧客一覧の内部を参照する。
たとえば、顧客一覧の内部構造上の表記でメールアドレスを取得したり、顧客一覧画面で入力したメッセージなどを利用する。
※顧客一覧を作り変えたらメール送信モジュールも作り直す必要がある。これは大変

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

過去問

■H23秋SA午後Ⅱ
問5 モジュールの独立性を高めるには,モジュール結合度を弱くする必要がある。モジュール間の情報の受渡し方法のうち,モジュール結合度が最も弱いものはどれか。
ア 共通域に定義したデータを関係するモジュールが参照する。
イ 制御パラメタを引数として渡し,モジュールの実行順序を制御する。
ウ 入出力に必要なデータ項目だけをモジュール間の引数として渡す。
工 必要なデータを外部宣言して共有する。
H20秋SW午前
問45 モジュール結合度に関する記述のうち,適切なものはどれか。
ア あるモジュールがCALL命令を使用せずにJUMP命令でほかのモジュールを呼び出すとき,このモジュール間の関係は,外部結合である。
イ 実行する機能や論理を決定するために引数を受け渡すとき,このモジュール間の関係は,内容結合である。
ウ 大域的な単一のデータ項目を参照するモジュール間の関係は,制御結合である。
エ 大域的なデータを参照するモジュール間の関係は,共通結合である。

問46 UMLユースケース図の説明はどれか。

ア 外部からのトリガに応じて,オブジェクトの状態がどのように遷移するかを表現する。
イ クラスと関連から構成され,システムの静的な構造を表現する。
ウ システムとアクタの相互作用を表現する。
エ データの流れに注目してシステムの機能を表現する。
正解は、ウです。

過去問(H26秋FE午前問49)では、リグレッションテストに関して、「ソフトウェアのテストの種類のうち,ソフトウェア保守のために行った変更によって,影響を受けないはずの箇所に影響を及ぼしていないかどうかを確認する目的で行うもの」と述べられています。

■H26秋AP午前
問48 回帰テストリグレッションテスト)の 説明として,適切なものはどれか。
ア 新規に作成したプログラムの各モジュ ールの誤りを検出するためのテストであ る。
イ プログラムを修正したことによって, 想定外の影響が出ていないかどうかを確 認するためのテストである。
ウ ホワイトボックステストに限定して,単 体モジュールの誤りを検出するためのテストである。
エ 毎回,テストケースとテストデータを, 作り直して行うテストである。

【正解】イ

■H29秋AP
問47 テストで使用されるスタブ又はドライバの説明のうち,適切なものはどれか。
ア スタブは,テスト対象モジュ―ルからの戻り値を表示・印刷する。
イ スタブは,テスト対象モジュールを呼び出すモジュールである。
ウ ドライバは,テスト対象モジュールから呼び出されるモジュールである。
エ ドライバは,引数を渡してテスト対象モジュールを呼び出す。
正解:エ

■H27秋AP午前
問48 二つの独立したテストグループA,    Bが,あるシステムについて一定期間並 行してテストを行い,それぞれNa個及び Nb^固のエラーを検出した。このうち,共 通のエラーはNab個であった。このシステ ムの総エラー数Nを予測する式はどれか 。ここで,   Na>0,Nb>0,Nab>0とする 。また,グループA,  Bの,エラーを検出す る能力及び効率は等しいものとする。
8-1_H27a_48
【正解】エ

■H26秋AP午前
問47 ブラックボックステストのテストデー タの作成方法のうち,最も適切なものは どれか。
ア 稼働中のシステムから実データを無 作為に抽出し,テストデータを作成する。
イ 機能仕様から同値クラスや限界値を 識別し,テストデータを作成する。
ウ 業務で発生するデータの発生頻度を 分析し,テストデータを作成する。
エ プログラムの流れ図から,分岐条件 に基づいたテストデータを作成する。
【正解】イ

■H26春AP午前
問48 プログラムのテストに関する記述 のうち,適切なものはどれか。
ア 静的テストとは,プログラムを実行す ることなくテストする手法であり,コード検査,静的解析などがある。
イ 単体テストでは,スタブから被検査モ ジュールを呼び出し,被検査モジュール から呼び出されるモジュールの代わりにド ライバを使用する。
ウ トップダウンテストは,仮の下位モジュ ールとしてのスタブを結合してテストするので,テストの最終段階になるまで全 体に関係するような欠陥が発見されにく い。
エ ブラックボックステストでは,分岐,反 復などの内部構造を検証するので,全ての経路を通過するように,テストケース を設定する。
【正解】ア

■H25秋AP午前、平成29年春期 午前 問48
問49 流れ図において,分岐網羅を満た し,かつ,条件網羅を満たすテストデータ の組はどれか。
8-1_H25a_49_463
【正解】エ
全てのテストデータを順に入れてみましょう。
分岐に関しては、以下のように、どの値でどの分岐を通るかを確認しましょう。するとエのテストデータが正解であることが分かります。
a 
また、エでは、xとして0と1、yとして1と2の値を取ります。これは、x>=1の条件の真と偽、y=1の条件の真と偽、y>1という条件の真と偽の全てを網羅します。

■H25春AP午前
問47 エラー埋込み法による残存エラー の予測において,テストが十分に進んで いると仮定する。当初の埋込みエラーは48個 である。テスト期間中に発見されたエラー の内訳は,埋込みエラーが36個,真のエラー が42個である。このとき,残存する真のエラーは何個と推定されるか。
ア 6     イ 14     ウ 54     エ 56
【正解】イ

問48 ブラックボックステストのテストデー タの作成方法のうち,最も適切なものはどれか。
ア 稼働中のシステムから実データを無 作為に抽出し,テストデータを作成する。
イ 機能仕様から同値クラスや限界値を 識別し,テストデータを作成する。
ウ 業務で発生するデータの発生頻度を 分析し,テストデータを作成する。
エ プログラムの流れ図から,分岐条件 に基づいたテストデータを作成する。
【正解】イ

(9) システムの画面遷移を図4に,モジュール構造を図5に示す。
H20春FE午後1問5 図4

H20春FE午後1問5 図5

モジュール設計に関して、応用情報技術者試験シラバスでは、以下の記載があります。
(12)モジュールの設計
① 分割手法
分割手法には,データの流れに着目した手法とデータ構造に着目した手法があり,内部処理の形態に応じて複数の分割手法を組み合わせること,分割手法の種類,特徴を理解する。

用語例 STS(Source Transform Sink)分割,TR(Transaction:トランザクション)分割,共通機能分割,論理設計,領域設計,サブルーチン,再帰プログラム

② 分割基準
モジュールの独立性の評価基準として,モジュールの強度,結合度,それらと独立性との関係,分割量の評価基準,部品化と再利用のための評価基準を理解する。

用語例 モジュールの制御領域,モジュールの影響領域,分割量,モジュール再分割,従属モジュール,機能的強度,情報的強度,データ結合,制御結合

③ モジュール仕様の作成
各モジュール仕様の作成の考え方,手順,モジュール仕様の作成に用いられる手法を理解する。

用語例 流れ図,PSD(Program Structure Diagram),DSD(Design Structure Diagram),SPD ( Structured Programming Diagrams ), HCP ( Hierarchical and Compact description)チャート,PAD(Problem Analysis Diagram),決定表(デシジョンテーブル),ワーニエ法,ジャクソン法,NS 図,論理構造図,プログラミングテーブル

過去問(H21春PM午前2問13)では、「システムの分析・設計に用いられる状態遷移図の特徴」として、「システムの現在の状態と発生する事象及び次の状態の関係が簡潔に記述可能」とあります。

H28春FE午後問8に、単純な状態遷移図があるので見てください。
〔プログラムの説明〕
電気ポットの状態遷移を模したプログラムである。この電気ポットは,電源に接続すると休止状態になり,沸騰ボタンが押されると加熱を開始する。沸点に到達すると加熱を終了し,休止状態に戻る。ただし,電気ポットに水がない場合は,沸騰ボタンが押されても加熱を開始せず,警告を表示する。電気ポットの状態遷移図を図1に示す。
状態遷移図

もう一つ見てみましょう。
過去問(H23秋AP午後の問7)に、テレビ本体の電源状態の状態遷移図があります。
状態遷移図

問64 業務要件定義において,業務フローを記述する際に,処理の分岐や並行処理,処理の同期などを表現できる図はどれか。

ア アクティビティ図
イ クラス図
ウ 状態遷移図
エ ユースケース
正解は、アです。

ソフトウェア再利用に関して、応用情報技術者試験シラバスでは以下とあります。
③ ソフトウェア再利用
ソフトウェアの開発生産性や品質向上のためには,部品化や再利用が必要であり,部品化を進める際には,部品は再利用されるという前提に立って設計や作成に取り組む必要があること,ソフトウェアパッケージを活用することによって,開発生産性や品質向上が可能になることなどを理解する。また,ソフトウェア部品の種類,特徴,部品設計のポイントを理解する。

リバースエンジニアリングに関して、応用情報技術者試験シラバスでは次のように述べられています。
リバースエンジニアリング
既存のソフトウェアを分析して,基本的な設計方針を解釈するリバースエンジニアリングがあること,リバースエンジニアリングの結果に基づいて,元のソフトウェアの権利者の許可なくソフトウェアを開発,販売すると,元の製品の知的財産権を侵害する可能性があること,利用許諾契約によっては,リバースエンジニアリングを禁止している場合もあることなどを理解する。

用語例 互換性,コールグラフ


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

■H26春IP
問47 リバースエンジニアリングの説明として,適切なものはどれか。
ア 確認すべき複数の要因をうまく組み合わせることによって,なるべく少ない実験回数で効率的に実験を実施する手法
イ 既存の製品を分解し,解析することによって,その製品の構造を解明して技術を獲得する手法
ウ 事業内容は変えないが,仕事の流れや方法を根本的に見直すことによって,最も望ましい業務の姿に変革する手法
エ 製品の開発から生産に至る作業工程において,同時にできる作業を並行して進めることによって,期間を短縮する手法
【正解】イ

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

1.アジャイルagile)開発

アジャイル開発とは、以下のアジャイルソフトウェア開発宣言に基づく開発のことです。

agilemanifesto.org


この開発を実現する代表的な手法に、XP(エクストリームプログラミング)開発やスクラム開発などがあります。

アジャイルagile)開発に関して、応用情報技術者試験シラバスでは、次のように述べられています。

アジャイル
迅速かつ適応的にソフトウェア開発を行う軽量な開発手法であるアジャイルの特徴を理解する。

用語例 アジャイルソフトウェアの原則,XP(エクストリームプログラミング),テスト駆動開発ペアプログラミングリファクタリング継続的インテグレーション

少し補足します。
agile=俊敏な という意味である。
・「とりあえず作ってしまい、後から直す」
・反復型開発といって機能を分割し、短いサイクルで開発
ウォーターフォールでは開発規模が大きくなりすぎる。
・プロトタイプは模型だが、アジャイルは乱雑であっても作り上げる。
・過去問では、アジャイル開発の特徴として「開発の初期段階の設計よりもコーディングとテストを重視しており、常にフィードバックを行って修正・再設計していく(H18AM問13)」と述べられている。

過去問(H25春AU午後1問1)を見てみましょう。

S社では,これまで自社の開発標準に従って,ウォータフォール型の開発を行ってきた。今後は,介護ビジネスなど,新たな事業分野への進出に柔軟に対応するために,“アジャイル開発”を採用することにし,今回,短期間で営業支援システムを開発することにした。
アジャイル開発を採用した経緯〕
 営業支援システムの開発に当たって,介護ビジネスを推進する営業企画部とシステム部が,開発予算と稼働時期について相談した。システム部は,要件定義から本番稼働までに約1年掛かるという見通しであった。一方,営業企画部は,これから新しいビジネスを立ち上げるので,要件定義で全ての要件を確定するのは難しいと主張した。
 そこで,システム部長は,開発を進めながら要件を柔軟に追加・変更して,ビジネスの変化に対応できるアジャイル開発の採用を提案した。その際,アジャイル開発の特徴について,営業企画部に対して次のように説明した。
(1)開発方法論よりも,関係者間の対話を重視して,開発を進める。
(2)ドキュメントの作成よりも,動作するプログラムの開発を優先する。
(3)計画に従うことよりも,ビジネスの変化への柔軟な対応を重視する。
 システム部長は,営業企画部の了解を取り付けた上で,経営陣の承認を得た。 

 後半にあるアジャイルの開発の特徴に関しては、アジャイルソフトウェア開発宣言(http://agilemanifesto.org/iso/ja/manifesto.html )として4つ掲載されている中の一つです。

過去問(H29春AP午後問8)を見てみましょう。

〔採用するプラクティスの検討〕
アジャイル型開発で用いられるチーム運営や開発プロセス,プログラミングなどの実践手法をプラクティスと呼ぶ。本システム開発における,システム要件や開発体制の特徴は次のとおりである。これに基づいて,採用するプラクティスを検討する。
・スコープの変動が激しい
テレビやコマーシャルなどの影響によって,要求の変更が頻繁に発生する。そのために,本システムの品質に責任をもち,優先順位や仕様を素早く決める役割をもつプロダクトオーナを任命する。そして,本システムの要求全体と優先順位
を管理するために[ a:プロダクトバックログ]を採用し,反復する一つの開発サイクル(以下,イテレーションという)において,開発対象となる要求を管理するために[ b:スプリントバックログ ]を採用する。
・求められる品質が高い
一般消費者向けSNSという性質上,その不具合は利用者離れを引き起こしかねない。一定レベル以上の品質を保つために,継続的インテグレーション(以下,CIという)を採用する。
・チームメンバの半数のスキルが未成熟
アサインされたプロジェクトメンバには,アジャイル型開発のベテラン社員と,スキルが未成熟な若手社員が含まれる。チームの中で業務知識やソースコードについての知識をお互いに共有して,品質や作業効率を向上させるために,[ c:ペアプログラミング ]を採用する。 


アジャイル開発(というか、前半3つはXP)のキーワードとして、過去問ではいくつか登場します。
リファクタリング
・過去問(H29春FE午前問50)では、「ソフトウェア開発の活動のうち,アジャイル開発においても重視されているリファクタリング」の説明として、「ソフトウェアの保守性を高めるために,外部仕様を変更することなく,プログラムの内部構造を変更する」とあります。
 先に動くプログラムを作ってしまい、後から、動作や機能(外部仕様)を変更することなく、内部のコードを整形するのである。過去問(H25春AP午前問49)では、「ソフトウェアのリファクタリングの説明」として、「外部から見た振る舞いを変更せずに 保守性の高いプログラムに書き直す」とあります。
・後からプログラムを書きなおすので、すでに開発が完了した部分を再びテストする「回帰テスト」(リグレッションテスト)を行うことを前提としています。過去問(H29秋AP問48)でも、リファクタリングに関して、「アジャイル開発のプラクティスのうち,回帰テストを行うことを前提とする」という記載があります。

ペアプログラミング
品質の向上や知識の共有を図るために,2人のプログラマがペアとなり,その場で相談したりレビューしたりしながら,一つのプログラムの開発を行う。

テスト駆動開発
 テストをパスするプログラムを作り、あとからリファクタリングすることで、開発スピードを高める。
。過去問(H29春FE午前問50の不正解選択肢)では、「動作するソフトウェアを迅速に開発するために,テストケースを先に設定してから,プログラムをコーディングする」とある。
別の過去問(H28春AP午前問50)では、「エクストリームプログラミング(XP:eχtreme Programming)における“テスト駆動開発”の説明」として、「プログラムを書く前にテストケースを作成すること」とある。

イテレーション
・「iteration」は「反復」という意味です。
イテレーションは、「反復する一つの開発サイクル」のことで、2週間や1ヶ月という短い期間が設定されます。この短い期間で、開発側とユーザ側がプログラムの動作を確認しながら要件を確定していくので、ソフトウェアに存在する顧客の要求との不一致を解消したり,要求の変化に柔軟に対応したりすることができます。
・過去問(H29年春AP午前問49)では、「アジャイル開発で“イテレーション”を行う目的」として、「ソフトウェアに存在する顧客の要求との不一致を解消したり,要求の変化に柔軟に対応したりする」とあります。
・過去問(H29春AP午後問8)では、「反復する一つの開発サイクル(以下,イテレーションという)」とあります。
a



イテレーションに関して、過去問(H25春AU午後Ⅰ)では、以下の記載があります。

2.開発企画書の概要
  開発プロジェクトが作成した開発企画書の概要は,次のとおりである。
 (1)本番稼働環境のインフラと,アプリケーションの開発スコープが決まったら,要件定義工程以降は,ユーザチームが機能を評価するためのプログラムの開発を最優先する。
 (2)要件定義工程以降は,次の①~④のプロセスを繰り返す。繰返しの単位を“イテレーション”という。イテレーションの中で,プログラムの動作を確認しながら要件を確定していく。
  ① 開発チームとユーザチームは,ユーザチームの要求を検討し,今回のイテレーションで開発する機能を検討し,要件を確定する。
  ② 開発チームは,確定した要件について,機能設計,プログラミング,単体テスト及びレビューを行う。
  ③ ユーザチームは,確定した要件が実現されているかどうか確認するためのテストを行う。
  ④ 管理チームとユーザチームは,テスト結果を確認し,成果物と進捗状況を確認する。
 (3)イテレーションは4週間を1単位として,6回実施する。
 (4)イテレーションを実施している途中では,随時変更が発生するような設計ドキユメントは作成しない。
(5)基盤チームは,イテレーションの中で使用する開発ツール及びコミュニケーションツールを準備する。S社では,これまでのウォータフオール型の開発方法論に比べて,アジャイル開発の方法論は厳密に定義されているわけではない。そこで,開発ツールの使用方法及びチーム間のコミュニケーションについては,修正を加えながら開発を進めていくことにする。これらのツールを使用して,進捗管理,品質管理,バージョン管理などを行い,情報を共有することでプロジェクトの状況を可視化することができる。
(6)最後のイテレーションで実装された機能を,最終的に営業支援システムで実現する要件として決定する。 

2.アジャイルagile)開発の過去問を解いてみよう

(1)H26秋AP午前問49

問49 アジャイルソフトウェア開発などで導入されている”ペアプログラミング”の説明はどれか。

ア 開発工程の初期段階に要求仕様を確認するために,プログラマと利用者がペアとなり,試作した画面や帳票を見て,相談しながらプログラムの開発を行う。
イ 効率よく開発するために,2人のプログラマがペアとなり,メインプログラムとサブプログラムを分担して開発を行う。
ウ 短期間で開発するために,2人のプログラマがペアとなり,作業と休憩を交代し ながら長時間にわたって連続でプログラムの開発を行う。
エ 品質の向上や知識の共有を図るために,2人のプログラマがペアとなり,その場 で相談したりレビューしたりしながら,一つのプログラムの開発を行う。






【正解】エ

どこかの大手IT会社でもこの手法でうまくいったとかれていた(思い出し中)。

(2)H29秋AP

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






【正解】エ

(3)H29秋AP

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






【正解】ア

(4)H29春AP午前

問49 アジャイル開発で“イテレーション”を行う目的のうち,適切なものはどれか。
ア ソフトウェアに存在する顧客の要求との不一致を解消したり,要求の変化に柔軟に対応したりする。
イ タスクの実施状況を可視化して,いつでも確認できるようにする。
ウ ペアプログラミングのドライバとナビゲータを固定化させない。
エ 毎日決めた時刻にチームメンバが集まって開発の状況を共有し,問題が拡大したり,状況が悪化したりするのを避ける。






【正解】ア

(5)H26秋AP午前

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






【正解】エ
 ペアプログラミングは、言葉の通り、2人のプログラマがペアになります。イやウのように、プログラムを分担するのではなく、一つのプログラム開発を、相談しながら一緒に作り上げます。

平成29年春期 午前 問18 
問18 ホワイトボックステストにおいて,プログラムの実行された部分の割合を測定するのに使うものはどれか。

ア アサーションチェツカ          イ シミュレータ
ウ 静的コード解析ツール         エ テストカバレージ分析ツール
正解は、エです。

応用情報技術者試験シラバスには、以下の記載があります。
2. 知的財産適用管理
(1)著作権管理
開発するソフトウェアの著作権の帰属の考え方を理解し,プログラムを外注する場合の留意事項を理解する。
用語例 プログラムの著作者,職務著作

(2)特許管理
ソフトウェア開発工程で発生した発明を保護するための手順を理解する。ソフトウェア開発時に他者のもつ特許を利用する必要が生じた場合は,使用許諾を受ける必要があることを理解する。
用語例 特許権,専用実施権,通常実施権

(3)ライセンス管理
ソフトウェア開発時に,自社が権利を所有しないソフトウェアを利用する必要が生じた場合はライセンスを受ける必要があること,獲得したライセンスについては使用実態や使用人数がライセンス契約で託された内容を超えないよう管理する必要があることを理解する。
用語例 ライセンサ,ライセンシ

(4)技術的保護
ソフトウェアやコンテンツなどの知的財産を技術的に保護する手法の特徴,効果,留意事項を理解する。
用語例 コピーガード,DRMアクティベーションCPRMAACS

■H29春AP
問50 日本において特許Aを取得した特許権者から,実施許諾を受けることが必要になるのはどれか。
ア 出願日から25年を超えた特許Aと同じ技術を新たに事業化する場合
イ 特許Aの出願日よりも前から特許Aと同じ技術を独自に開発して,特許Aの出願日に日本国内でその技術を用いた製品を製造し,市場で販売していたことが証明できる場合
ウ 特許Aを家庭内で個人的に利用するだけの場合
エ 日本国内で製造し,米国に輸出する製品に特許Aを利用する場合
【正解】エ

■H28年秋AP
問50 自社開発したソフトウェアの他社へ の使用許諾に関する説明として,適切な ものはどれか。
ア 使用許諾対象が特許で保護された技 術を使っていないソフトウェアであっても, 使用許諾することは可能である。
イ 既に自社の製品に搭載して販売して いると,ソフトウェア単体では使用許諾対 象にできない。
ウ 既にハードウェアと組み合わせて特 許を取得していると,ソフトウェア単体で は使用許諾対象にできない。
エ ソースコードを無償で使用許諾すると ,無条件でオープンソースソフトウェアに なる。
【正解】ア

■H26秋AP
問50 組込み機器用のソフトウェアを開 発委託する契約書に開発成果物の著作権の帰属先が記載されていない場合,委託元であ るソフトウェア発注者に発生するおそれ がある問題はどれか。ここで,ソフトウェアは 委託先が全て自主開発するものとする。
ア 開発成果物を,委託元で開発する別 のソフトウェアに適用できなくなる。
イ ソースコードを公開することが義務付 けられる。
ウ ソフトウェアをバイナリ形式でしか販 売できなくなる。
エ ハードウェアと合わせて,アルゴリズ ムに関する特許を取得できなくなる。
【正解】ア

■H25春AP
問50 特許のサブライセンスの説明として ,適切なものはどれか。
ア 特許の実施権の許諾を受けた者が, 開発した改良特許についての実施権を, 当該特許の実施権を与えた者に許諾するこ と
イ 特許の実施権の許諾を受けた者が, 更に第三者に当該特許の実施権を許諾 すること
ウ 特許の実施権の許諾を受けた者が, 当該特許に関し第三者から訴えられ当該 特許が無効となった場合,特許の実施権を 許諾した者が金銭的な補償をすること
エ 特許の実施権の許諾を受けた者が, 当該特許の実施権を独占的に行使する こと
【正解】イ

■H24秋AP秋
問49 プログラムの著作権侵害に該当す るものはどれか。
ア A社が開発したソフトウェアの公開済 プロトコルに基づいて.  A社が販売してい るソフトウェアと同等の機能をもつソフトウ ェアを独自に開発して販売した。
イ ソフトウェアハウスと使用許諾契約を 締結し,契約上は複製権の許諾は受けて いないが,使用許諾を受けたソフトウェア にはプロテクトがかけられていたので,そ のプロテクトを外し,バックアップのため に複製した。
ウ 他人のソフトウェアを正当な手段で入 手し,逆コンパイルを行った。
エ 複製及び改変する権利が付与された ソース契約の締結によって,許諾された ソフトウェアを改造して製品に組み込み, ソース契約の範囲内で製品を販売した。
【正解】イ
 
 問50 日本において特許Aを取得した特 許権者から,実施許諾を受けることが必 要になり得るのはどれか。
ア 出願日から25年を超えた特許Aと同じ 技術を,新たに事業化する場合
イ 特許Aの出願日より前から,特許Aと 同じ技術を独自に開発して,製品を製造 販売していたことが証明できる場合
ウ 特許Aを家庭内で個人的に利用する だけの場合
エ 日本国内で製造し,米国に輸出する 製品に特許Aを利用する場合
【正解】エ

■H23秋AP
問49 知的財産権戦略として,特許化されていない技術を特許出願せずにノウハウとして秘匿することが適切な例はどれか。
ア 社内の秘密保持体制が構築できない場合
イ セキュリティ分野のソフトウェアで,アルゴリズムを公開したくない場合
ウ 他社に積極的に技術使用許諾して,ライセンス収入を得たい場合
エ リバースエンジニアリングによって技術が容易に明らかになる場合
【正解】イ

■H22秋AP
問49 特許権に関する記述のうち,適切なものはどれか。
ア A社が特許を出願するより前に独自に開発して発売した製品は,A社の特許権の侵害にならない。
イ 組込み機器におけるハードウェアは特許権で保護されるが,ソフトウェアは保護されない。
ウ 審査を受けて特許権を取得した後に,特許権が無効となることはない。
エ 先行特許と同一の技術であっても,独自に開発した技術であれば特許権の侵害にならない。
【正解】ア

Q1.テストデータの作成方法のうち、「プログラムの流れ図から、分岐条件に基づいたテストデータを作成する(H21NW午前Ⅱ問24不正解選択肢)」のは何テストか。

A1.ホワイトボックステスト


Q2.テストデータの作成方法のうち、「「機能仕様から同値クラスや限界値を識別し、テストデータを作成する(H21NW午前Ⅱ問24不正解選択肢)」のは何テストか。


A2.ブラックボックステスト

Q3.「取得者(発注者)と供給者(受注者)の二者間取引を明確化するためのものであり,業務分析,業務設計,ソフトウェアを中心としたシステムの企画,要件定義,開発,運用,保守及びそれらにかかわる諸活動を対象としており,国際規格に適合しているもの(H21NW午前1問17)」


A3.共通フレーム(またはSCLP)


Q4.「品質マネジメントシステムに関する国際規格」は?(H20NW午前問18より)


A4. ISO9000シリーズ

Q5.「システムの調達に際して,調達側から技術的要件やサービスレベル要件を提示し,ベンダに対して,指定した期限内で効果的な実現策の提案を依頼する文書(H21NW午前1問25不正解選択肢より)」

A.RFP

Q6.「ユーザ要件を実現するために,現在の状況において利用可能な技術・製品,ベンダにおける導入実績など実現手段に関する情報提供をベンダに依頼する文書(H21NW午前1問25より)」

A.RFI

Q7.「プログラム実行中の特定の時点で成立する変数間の関係や条件を記述した論理式を埋め込んで,そのプログラムの正当性を検証する手法(H22NW午前1問15より)」は何か?

アサーションチェック

Q8.「ソフトウェアの違法複製を防止するため,法人,団体などを対象として,ソフトウェアを使用するに当たって実行されるべき事項をとりまとめたもの」は何か(H22NW午前1問22不正解選択肢より)

ソフトウェア管理ガイドライン

応用情報技術者試験シラバスでは、マッシュアップに関して次のように述べられています。
マッシュアップ
マッシュアップは,複数の提供元によるAPI を組み合わせることで,新しいサービスを
構築する手法であることを理解する。また,マッシュアップの考え方,生産性,品質面での特徴,留意事項を理解する。
用語例 Web2.0
もともとは音楽用語で、音楽を組み合わせること。
ITの世界でも同様で、APIを利用してシステムやWebサービスを組み合わせること。
過去問では「公開されている複数のサービスを利用して、新たなサービスを提供する」(H22ST午前1問16)と述べられている。
私の過去の開発においては、顧客管理システムにおける住所と地図サービス会社の地図をリンクさせ、地図ボタンを押すと地図が表示する仕組みに関与した。(単に、引数を渡すだけであるが)
マッシュアップすれば、全て開発することに比べて、短時間で開発できる。
ており、複数のSaaSを組み合わせて利用できれば、利便性が向上する。
Youtubeにコメントを付けられるようにしたニコニコ動画は、マッシュアップの一つであろう。
mashup

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

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

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

Webサービスといえば、SOAPWSDL、UDDIである。
外部連携にはXMLを利用し、通信プロトコルSOAPを利用する
Webを利用したサービスということで、難しい言葉では無い。

UDDIに関しては、情報処理技術者試験の過去問にて何度か問われている。
UDDIを以下のように説明している。
Webサービスに関する情報を広く公開し、それらが提供する機能などを検索可能にするための仕組み(情報処理技術者試験H20SW問79より引用)」
「Web サービスなどの情報についてレジストリの仕様であり、利用者が必要とするサービスの一覧を提供している(情報処理技術者試験H16SW午前 問48より)」

しかし、現実的にはそれほど利用されておらず、NTTコムもサービスを停止した。

WSDLは、英語の訳のとおり、HTMLやXMLWebサービス版と思えば良いだろう。


問9 ヤコブ・ニールセンのユーザインタフェースに関する10か条のヒューリスティックスの一つである“システム状態の視認性”に該当するものはどれか。
ア 異なる画面間でも,操作は類似の手順で実行できる。
イ 実行中に処理の進捗度を表示する。
ウ 入力フォームの必須項目に印を付けて目立たせる。
エ 表示する文字の大きさや色が適切で,効果的に画像も使用する。
(H22NW午前1より)

正解はイ

↑このページのトップヘ