平成17年度 秋期 ソフトウェア開発技術者試験 問1−20 解答編




このページは

ソフ開

(ソフトウェア開発技術者試験)

解答と解説のページです。

問題だけで勉強したい方は目次へ戻ってください



問41 UMLで使われる図のうち、システムの構成要素とそれらの静的な相互関係を表現するものはどれか。
クラス図
シーケンス図
ステートチャート図
ユースケース図
解答
解説 UML(Unified Modeling Language)は統一モデリング言語とよばれ、オブジェクトモデルを表すのに用いられるものです。代表的なものを以下にまとめます。

オブジェクト図:クラス間の継承関係などを記述するもの。
クラス図:クラス間の静的な構造図を表すのに使われ、クラス名、変数、メソッドを記述するもの。
コンポーネント図:コンポーネント(構成要素)の内容とその間のインタフェースを記述するもの。
パッケージ図:クラス図の一種で、パッケージという単位での構造関係を記述するもの。
シーケンス図:オブジェクト間のデータのやり取りを記述するもの。
ステートチャート図:オブジェクトが生成された、動作し、消滅するまでを記述するもの。
ユースケース図:アクタ(利用者)とアクタの操作(ユースケース)を記述するもの。

問42 オブジェクト指向の特徴はどれか。
オブジェクト指向モデルでは、抽象化の対象となるオブジェクトの操作をあらかじめ指定しなければならない。
カプセル化によって、オブジェクト間の相互依存性を高めることができる。
クラスの変更を行う場合には、そのクラスの上位にあるすべてのクラスの変更が必要となる。
継承という概念によって、モデルの拡張や変更の際に変更部分を局所化できる。
解答
解説 オブジェクト指向の概念について下にまとめます。

クラス:データとメソッドを1つにまとめたもの
メソッド:オブジェクトがもっている手続のこと
メッセージ:オブジェクト間でやり取りされる情報のこと
カプセル化:データにメソッドを通じてのみアクセスできること
インスタンス:型であるクラスに実際の値を入れて、具現化すること
抽象化:共通の性質をまとめて定義したもの、一般的にスーパークラスとして定義される。
継承:スーパークラスを取り込むこと。(例:人間クラスを継承して学生クラスを作る)
多相性(多態性):同じメッセージに対して別の振る舞いをすること(例『鳴く』というメッセージに対して、『ワンワン・ニャーニャー』など別の振る舞いをする)

オブジェクト指向の代表的な言語にJavaやRubyC#などが挙げられます。

問43 論理データモデル作成におけるトップダウンアプローチ、ボトムアップアプローチに関する記述として、適切なものはどれか。
トップダウンアプローチでは、新規システムのユーザ要求だけに基づいて論理データモデルを作成するので、現状業務の分析を行ってはならない。
トップダウンアプローチでもボトムアップアプローチでも、最終的な論理データモデルは、正規化され、かつすべての属性を備えていなければならない。
トップダウンアプローチでもボトムアップアプローチでも、ユーザが使用する現状の画面や帳票を素材として分析を行うのは同じである。
ボトムアップアプローチは現状業務の分析に用いるものであり、新規システムの設計ではトップダウンアプローチを使用する。
解答
解説 トップダウンアプローチは、上位(全体)から下位(詳細)にむかって作業を行う手法で、ボトムアップは逆に下位から上位に向かって作業を行う手法です。ただし、どちらの手法を用いたとしても最終的に出来上がる成果物は完成しなければなりません。


問44 あるプログラム言語の解説書の中に次の記述がある。この記述中の“良いプログラム”がもっている特徴はどれか。

このプログラム言語では、関数を呼び出すときに引数を保持するためにスタックが使用される。引数で受け渡すデータを、どの関数からでも参照できる共通域に移せば、スタックの使用量を減らすことができるが、“良いプログラム”からは外れることもある。

実行するときのメモリの使用量が、一定以下に必ず収まる。
実行速度について、最適化が行われている。
プログラムの一部を変更しても、残りの部分への影響が少ない。
プログラムのステップ数が少なく、分かりやすい。
解答
解説 スタック領域は、関数呼び出しや再帰的なプログラムを記述する際に利用されるメモリ領域です。これはプロセスが比較的占有して利用することができるので、他のプログラムからの干渉が少ない部分です。それを共通領域に移すと、他のプログラムがその部分を書き換えることができてしまうので、変更に対する影響が大きくなるといえます。

問45 トップダウン方式で結合テストを行うとき、特に必要となるものはどれか。
スタブ
ダイナミックテスタ
デバッガ
ドライバ
解答
解説 トップダウンテストは上位のモジュールから下位のモジュールに向かってテストを行うもので、仮想的な下位のモジュールをスタブと言います。ボトムアップテストは下位のモジュールから上位のモジュールに向かってテストを行うもので、仮想的な上位のモジュールをドライバと言います。

問46 あるプログラムについて、互いに独立したテストA,Bを実行したところ、それぞれ30個及び40個のバグが検出された。また、そのうち20個は共通のバグだった。プログラムに含まれる総バグ数は幾つか。
50
60
70
80
解答
解説 まず、バグの関係を図で表すと以下のようになります。

46kaiを表示できません

つぎに、今回の問題は検出できたバグの数はいくらかという問題ではなく、総バグ数はいくらであると予想されるかという問題です。総バグ数を求めると50になってしまうので注意してください。

総バグ数をaとすると
20/a=(30/a * 40/a)=1200/a2 → 1=60/a ゆえに、a=60となります。比率と共通集合を利用してバグの総数を推定しています。

問47 システム開発における工数の見積りに関する記述のうち、適切なものはどれか。
COCOMOの使用には、自社における十分な生産性・実績データの収集が必要である。
開発要員の技量は異なるので工数は参考にならないが、過去に開発したプログラムの規模の見積りの参考になる。
工数の見積りは、作業の進捗管理に有効であるが、ソフトウェアの品質管理には関係しない。
ファンクションポイント法による見積りでは、プログラムステップ数を把握する必要がある。
解答
解説 COCOMOは、予想コード数や能力係数などを用いて、開発に必要な工数や要員を算出するものです。よって、自社における生産性のデータ収集が不可欠でとなります。

ファンクションポイントはその名(ファンクション=関数、ポイント=点数)のとおり、ファイルの入出力数や関数の複雑さなどから重み付けと計算を行い、プログラム規模を見積もる手法です。具体的には、入出力数やインターフェースの数で計算します。つまり、プログラムの行数(≒ステップ数)などでは計算しません。

問48 ソフトウェア開発組織の活動状態のうち、プロセス成熟度モデルにおけるプロセス成熟度が最も高いものはどれか。
実績が定量的に把握されており、プロセスが組織内に管理されている。
スケジュールと予算は、統計的に容認できる範囲内に収まっている。
プロセスが明文化されて、組織内のすべての人がそれを利用している。
プロセスそれ自体を改善していくための仕組みが規定されている。
解答
解説 組織がプロセスを適切に管理できるように、守るべき指針を体系化したものにCMMI(Capability Maturity Model Integration)は能力成熟度モデル統合というものがあり、以下のような段階に分かれています。

LV1:初期段階:何もルールがない
LV2:管理段階:システム開発の計画・コスト見積りの経験則ができている。
LV3:定義段階:システム開発の経験が組織として共有され、標準プロセスが確立している。
LV4:管理段階:プロセスからの定量的なフィードバックによって、継続的に改善されている。
LV5:最適化段階:プロセスの測定基準が定められ、組織的に分析が進められている。

問49 データバックアップに関する記述のうち、適切なものはどれか。
バックアップからの復旧時間を最小にするためには、差分バックアップ方式を採用するとよい。
バックアップからの復旧処理でランダムアクセスを可能にするためには、磁気テープにバックアップするとよい。
バックアップ処理時間を最小にするためには、同一記憶媒体内にバックアップするとよい。
バックアップ処理を正常に終わらせるためには、バックアップ処理と業務処理が重ならないようにスケジューリングするとよい。
解答
解説 フルバックアップ、差分バックアップ、増分バックアップを下にまとめます。

フルバックアップとは、現在記録されているデータを完全にバックアップする手法で、比較的時間がかかります。
差分バックアップとは、定期的にフルバックアップされていることを仮定して、フルバックアップからの差分だけをバックアップします。
増分バックアップとは、前回のフル/増分バックアップからの増えた分だけをバックアップします。

バックアップには、依存関係やロックなどが生じにくい時間帯や業務時間をスケジューリングするとよいといえます。

問50 システム障害への対策に関する記述のうち、適切なものはどれか。
システム障害時に、プログラムやデータのエラーの原因がすぐに分かれば、オペレータ自身が自ら修正して早期回復に当たるのが望ましい。
システム障害時には、まず回復処理を優先し、その後情報システム部門へ報告するという順序で行うのが望ましい。
システム障害によってトランザクション処理が中断した場合、再試行をしてシステムを早期に回復させる。
システム障害から効率よく回復するために、日常からオペレーション実施記録を残して異常が起きていない期間を明らかにしておく。
解答
解説 システムの障害時には、一般的には、「障害の認知、関係部署への連絡、応急処置、原因の究明、原因の解消」のように対策します。オペレータ自身がプログラムを修正するべきではありません。また、回復処理よりも報告を先に行うべきです。再試行によりうまくいく場合もありますが、すべてのケースで通用するわけではありません。

まずは、関係部署へ連絡し、ログを残しながら回復処置をするべきです。

問51 TCP/IPで使われるアドレスやポート番号のうち、TCPのコネクションを識別するために必要なものの組合せはどれか。
あて先IPアドレス、あて先TCPポート番号
あて先IPアドレス、あて先TCPポート番号、送信元IPアドレス、送信元TCPポート番号
あて先IPアドレス、送信元IPアドレス
あて先MACアドレス、あて先IPアドレス、あて先TCPポート番号、送信元MACアドレス、送信元IPアドレス、送信元TCPポート番号
解答
解説 TCPはトランスポート層で動作するインターネットで主流で使われているプロトコルです。TCPはUDPと異なり、エラー処理や損失時の再送を行う機能があります。TCPのコネクションには、IPとTCPが必要になり、送信元・送信先の両方が必要となります

問52 クラスCのIPアドレスを分割して、10個のサブネットを使用したい。ホスト数が最も多くなるように分割した場合のサブネットマスクはどれか。
255.255.255.192
255.255.255.224
255.255.255.240
255.255.255.248
解答
解説 まず、IPアドレスはネットワーク部とホスト部に分かれます。そして、クラスCは、ネットワーク部24ビット(先頭は110)、ホスト部8ビットとなっています。サブネット化とは、ホスト部をさらにサブネット部とホスト部に分けて利用するものです。

つまりまとめると、ネットワーク部(24ビット)+サブネット部(10個確保)+ホスト部(できるだけ多く)となります。

サブネット部は2進数で表記するので8個<10個<16個=4ビットとなるので、サブネット部は4ビットとなり、ホスト部も4ビットとなります。

サブネットマスクはネットワーク部とサブネット部は1に対応し、ホスト部が0に対応するので、「11・・110000」となります。

よって、10進数で表すと255.255.255.240となります。

問53 コネクションレス型通信の特徴として、適切なものはどれか。
順序エラー検出やフロー制御を行うので信頼性が高い。
送信するすべてのパケットに、あて先を示す情報を付加する。
常にPVCと呼ばれる接続形態が採られ、あらかじめ通信相手との通信パスを設定しておき、接続動作なしで通信を行う。
伝送される各データ単位は、すべて同じ経路を通る。
解答
解説 コネクション型とコネクションレス型の通信の違いを以下にまとめます。

コネクション型:通信相手との通信路を確立した上で通信を開始する。信頼性が高いが低速。電話のようなもの。代表的なプロトコルはTCP
コネクションレス型:通信相手との通信路を確立することなく通信を開始する。信頼性は低いが高速。郵便のようなもの。代表的なプロトコルはUDP

コネクションレスでは、経路が確立されていないので、すべてのパケットにあて先情報が必要となります。また、経路や順番が同じにならないことがあります。

問54 OSI基本参照モデルにおいて、アプリケーションプロセス間での会話を構築し、同期をとり、また、データ交換を管理するために必要な手段を提供する層はどれか。
アプリケーション層
セション層
トランスポート層
プレゼンテーション層
解答
解説 OSI基本参照モデルを以下にまとめます。

OSIを表示できません

問55 アナログの音声信号をディジタル符号に変換する方法として、パルス符号変調(PCM)がある。サンプリングの周波数は、音声信号の上限周波数の2倍が必要とされている。4kHzまでの音声信号を8ビットで符号化するとき、ディジタル化された音声信号を圧縮せずに伝送するために最小限必要な回線速度は何kビット/秒か。
16
32
64
128
解答
解説 PCM(Pulse Code Modulation:パルス符号変調)とは音声などのアナログ信号をディジタル信号に変換する手法の一つです。まず、アナログデータ(時間も振幅も連続)をディジタルデータに変換するためには、標本化→量子化→符号化という作業を行います。各作業を簡単に以下にまとめます。

標本化:時間を離散化する。(一般的には最大周波数の2倍で行います)
量子化:振幅を離散化する。
符号化:量子化したデータを特定の符号に対応付けする。

問題文の条件で計算すると、2×4k×8ビット=64kビット/秒となります。

問56 ATMとパケット交換方式と比較した場合、ATMの特徴として適切なものはどれか。
画像(問56ans)を表示できません
解答
解説 2つの方式を以下にまとめます。

ATM(Asynchronous Transfer Mode):セルと呼ばれる、48バイトのデータ(ペイロード)と5バイトのヘッダで構成された、53バイトの固定長のブロックを伝送する方式
パケット交換方式:データを幾つかのブロックに分割し、各ブロックに制御情報を付加して送信する方式

データを固定長にし、ハードウェアで処理することで高速化しています。一方でパケット交換は誤り制御などに比較的時間がかかります。

問57 テキストデータ伝送とバイナリデータ伝送に関する記述のうち、適切なものはどれか。ここで、テキストデータは図形文字だけで構成されるものとする。
対象データをテキストデータの文字列に変換することによって、テキストデータ伝送用の手順を使用してバイナリデータを送ることができる。
テキストデータ伝送では7ビットの文字データに1ビットのパリティを付加して伝送し、バイナリデータ伝送では8ビットのデータに分割してそのまま伝送する。
テキストデータ伝送では無手順を使用し、バイナリデータ伝送ではベーシック制御手順を使用する。
バイナリデータ伝送では、HDLC手順以外の伝送制御手順を使用することはできない。
解答
解説 まず、テキストデータとは文字としての意味があるもので、バイナリデータとは、「1・0」の2進数の集まりとしてのデータを言います。伝送方式とデータは一般的に無関係ですが、テキストデータとバイナリデータを対応付けをすることで、お互いの伝送方式を利用することができます。

問58 トークンリング方式のLANの特徴として、適切なものはどれか。
CSMA/CD方式のLANと比較すると、高負荷時の伝送遅延が大きい。
LAN上でデータの衝突が生じた場合には、送信ノードは一定時間経過した後に再送する。
データを送信するノードは、まず送信権を獲得しなければならない。
伝送遅延を一定時間以内に抑えるために、ノード間のケーブル長は500m以下である。
解答
解説 トークンリング方式とは、送信権(トークン)をLAN上に流し、これを確保したノードに送信権を与えるという制御方式です。

一方、CSMA/CD(Carrier Sense Multiple Access with Collision Detection)は搬送波感知多重アクセス/衝突検出方式とよばれ、まず、ネットワーク上にデータが流れていないかを確認し、データを送信します。もし、データが衝突したらランダムな時間待機し、再度確認からやり直します。よって、衝突が増えると、スループットが下がります。


問59 CSMA/CD方式のLANで用いられるブロードキャストによるデータ伝送に関する記述のうち、適切なものはどれか。
すべてのノードに対して、伝送元から順番にデータを伝送する。
同一セグメント内のすべてのノードに対して、一度の送信でデータを伝送する。
複数の選択されたノードに対して、一度の送信でデータを伝送する。
複数の選択されたノードに対して、送信元から順番にデータを伝送する。
解答
解説 CSMA/CD(Carrier Sense Multiple Access with Collision Detection)は搬送波感知多重アクセス/衝突検出方式とよばれ、まず、ネットワーク上にデータが流れていないかを確認し、データを送信します。もし、データが衝突したらランダムな時間待機し、再度確認からやり直します。よって、衝突が増えると、スループットが下がります。

ブロードキャストとは、すべてのノードに同一のデータを一度に送信することをいいます。

問60 CSMA/CD方式のLANで使用されるスイッチングハブ(レイヤ2スイッチ)は、フレームの蓄積機能、速度変換機能や交換機能をもっている。このようなスイッチングハブと同等の機能をもち、同じプロトコル階層で動作する装置はどれか。
ゲートウェイ
ブリッジ
リピータ
ルータ
解答
解説 OSI基本参照モデルと対応機器を以下にまとめます。

OSIを表示できません

レイヤnというのは下からn番目の階層を表します。つまり、レイヤ2とはデータリンク層を表します。