平成19年度春期 基本情報 問41−60 解答編





このページは

基本情報

(基本情報技術者試験)

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

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


問41 ソフトウェア開発のプロセスモデルのうち、開発サイクルごとにリスクを最小にしながら、開発サイクルを繰り返すことによって、システムの完成度を高めていくプロセスモデルはどれか。
ウォータフォールモデル
スパイラルモデル
成長モデル
プロトタイピングモデル
解答
解説 各選択肢の開発モデルの長所と短所をを下にまとめます。

スパイラルモデル:プロトタイプの作成と設計を少しずつ行う。比較的時間が掛かる。
ウォータフォールモデル:進捗状態を把握するのが簡単であるが、後工程で問題が発生すると被害が大きい。
プロトタイプモデル:試作品をクライアントと協議しながら開発するので、互いの意思疎通ができる。
成長モデル:定義は一度に行うが、独立性の高い部分から順に作成していく。

問42 オブジェクト指向におけるカプセル化を説明したものはどれか。
同じ性質をもつ複数のオブジェクトを抽象化して、整理すること
基底クラスの性質を派生クラスに受け継がせること
クラス間に共通する性質を抽出し、基底クラスを作ること
データとそれを操作する手続を一つにして、オブジェクトの内部を隠ぺいすること
解答
解説 オブジェクト指向の概念について下にまとめます。

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

選択肢ア、ウは、汎化の説明です。
選択肢イは、継承の説明です。

問43 モジュール強度が最も高いものはどれか。
あるデータを対象として逐次的に複数の機能を実行するモジュール
異なる入力媒体からのデータを処理するモジュール
単一の機能を実行するモジュール
特定の時点で必要とされている作業のすべてを含んでいるモジュール
解答
解説 モジュール強度とモジュール間結合度をまとめると下のようになります。

画像(問43kai)を表示できません

問44 階層構造のモジュール群からなるソフトウェアの結合テストを、上位のモジュールから行う。この場合に使用する。下位モジュールの代替となるテスト用のモジュールはどれか。
エミュレータ
シュミレータ
スタブ
ドライバ
解答
解説 テスト手法と使用する仮のモジュールをまとめます

スタブ:トップダウンテスト(上位から下位へテスト)では、下位モジュールの代わりに仮のモジュールであるスタブが用いられます。
ドライバ:ボトムアップテスト(下位から上位へテスト)では、上位モジュールの代わりに仮のモジュールであるドライバが用いられます。

エミュレータは、別のハードウェアをソフトウェア上で再現するソフトウェアをいいます。
シュミレータは、実際のテスト環境を模倣し、コンピュータ上で再現するためのソフトウェアをいいます。

問45 ソフトウェアの再利用に関する記述のうち、最も適切なものはどれか。
大きい部品を再利用するよりも、小さい部品を再利用するほうが、単位規模当たりの開発工程の削減効果は大きい。
再利用可能な部品の開発は、同一規模の通常のソフトウェアを開発する場合よりも工数がかかる
部品の再利用を促進するための表彰制度などのインセンティブの効果は、初期においては低いが、時間の経過とともに高くなる。
部品を再利用したときに削減できる工数の比率は、部品の大きさに反比例する。
解答
解説 ソフトウェアの再利用とは、一度作ったプログラムを別のプログラムの一部として利用するというものです。(例えば、階乗のプログラムを、順列や組み合わせを計算するプログラムで再利用するようなものです)

もちろん、大きな部品を再利用する方が削減効果は大きいといえます。つまり、部品の大きさに比例して効果が大きくなるといえます。一般的には、汎用的にするため多少の手間がかかります。

問46 ファンクションポイント法で、システムの開発規模を見積もるときに使用するものはどれか。
開発者数
画面数
プログラムステップ数
利用者数
解答
解説 ファンクションポイントはその名(ファンクション=関数、ポイント=点数)のとおり、ファイルの入出力数や関数の複雑さなどから重み付けと計算を行い、プログラム規模を見積もる手法です。

問47 与えられたデータから一定の規則に従って数値を算出し、この数値から検査文字を定めて与えられたデータに付加する。これを用いて入力データの検査を行う。

次の規則を用いた場合に、4けたの数値データ“2131”に付加する検査文字として、正しいものはどれか。



[規則]
(1) 与えられたデータの各けたに、先頭から係数4、3、2、1を割り当てる。
(2) 各けたの数値と割り当てた係数とのそれぞれの積の和を求める。
(3) (2)で求めた和を11で割って余りを求める。
(4) (3)で求めた余りの数字を検査文字とする。ただし、余りが10のときは、“X”を検査文字とする。
解答
解説 チェックデッジットの問題です。丁寧に計算していけば解けると思います。

2×4+1×3+3×2+1×1 = 8+3+6+1=18
18%11=7となります。

問48 運用テストの説明のうち、適切なものはどれか。
運用中に発生した問題に対する修正後のテストであり、原則としてユーザ部門の責任で行う。
開発したプログラムが正しく動作するかどうかを確認するテストであり、開発を担当した部門の責任で行う。
完成プログラムを本稼働環境下で試作するテストであり、原則としてユーザ部門の責任で行う。
本稼働環境への移行を確認するテストであり、開発を担当した部門の責任で行う。
解答
解説 運用テストとは、システムテスト終了後に行われるテストで、ユーザ側が実際に運転に使用できるかどうかをチェックするテストです。開発部門が立ち会うことはあっても、基本的にはユーザ側の責任で行います。

問49 電源の瞬断に対処したり、停電時にシステムを終了させるのに必要な時間だけ電力を供給することを目的とした装置はどれか。
AVR
CVCF
UPS
自家発電装置
解答
解説 瞬断とは、数ミリ秒間電気が途絶えてしまう現象です。コンピュータは精密電子機器なので、たった数ミリ秒電気が供給されないだけで、メモリの内容が消えてしまったり予期せぬ動作をしてしまったりします。これを防ぐためにUPS(Uniterruptible Power Supply:無停電電源装置)を重要なサーバなどには準備しておきます。

もっと長い一般的な停電などには、自家発電装置で対応します。
CVCF(Constant-Voltage Constant-Frequency:定電圧低周波数装置)は、安定した電圧・周波数を提供する電源装置です。
AVR(Automatic Voltage Regulator:自動電圧調整期)は、電源電圧を自動的に適切な電圧に調整する電源装置です。

問50 ソフトウェアの保守に当たり、修正や変更がほかの正常箇所に影響していないことを確認するテストはどれか。
性能テスト
耐久テスト
退行テスト
例外処理テスト
解答
解説 バグを修正したことで、いままで正常だった部分が正しく動作しなくなることがあります。これを調べるテストを退行テスト(レグレッションテスト)といいます。

問51 HDLC手順に関する記述のうち、適切なものはどれか。
OSI基本参照モデルのネットワーク層のプロトコルとして用いられる。
パリティチェックによる誤り検出を用いて、誤りがある場合は再送要求をする。
非同期型の手順なので、送信するフレームの順序は上位のレイヤで制御する。
文字符号だけでなく、任意のビットパターンも伝送可能である。
解答
解説 HDCL(Highlevel Data Link Controlprocedure)は、データリンク層で動作するデータ転送制御手順のひとつです。CRCによる誤り検出機能ももっています。なお、同期式通信手順です。

問52 TCP/IPにおけるARPの説明として、適切なものはどれか。
IPアドレスからMACアドレスを得るプロトコルである。
IPネットワークにおける誤り制御のためのプロトコルである。
ゲートウェイ間のホップ数によって経路を制御するプロトコルである。
端末に対して動的にIPアドレスを割り当てるためのプロトコルである。
解答
解説 それぞれの選択肢のプロトコルを下にまとめます。

選択肢ア、ARP(逆はRARPが行います。)
選択肢イ、TCP等
選択肢ウ、RIP(Routing Infomation Protocol)
選択肢エ、DHCP

問53 IPアドレス192.168.10.10のアドレスクラスはどれか。
クラスA
クラスB
クラスC
クラスD
解答
解説 ラスは、先頭からのビットの並びで分かれています。

クラスA:0XXXXXXX:使えるホスト数=224
クラスB:10XXXXXX:使えるホスト数=216
クラスC:110XXXXX:使えるホスト数=28
クラスD:1110XXXX:マルチキャスト用で、ホストアドレス部分はなし。
クラスE:1111XXXX:実験用の環境で一般的には利用されない。

先頭の138を2進数に変換すると、11000000となり、クラスCであることがわかります。

問54 インターネットにおける電子メールの規約で、メッセージヘッダの拡張を行い、テキストだけでなく、音声、画像なども取り扱えるようにしたものはどれか。
HTML
MHS
MIME
SMTP
解答
解説 MIME(Multipurpose Internet Mail Extensions):本来アスキーコードしか電子メールで様々なフォーマットを取り扱えるようにしたものです。また、これにセキュリティ機能を追加したS/MIMEという規格もあります。

HTMLは、標準的なマークアップ言語です。
MHSは、ITUがX.400シリーズ勧告した電子メールシステムの標準規格
SMTPは、メールを送信する一般的なプロトコルです。

問55 ビット誤り率が1/600,000の回線を利用し、2,400ビット/秒の伝送速度でデータを送信すると、平均で何秒に1回のビット誤りが発生するか。
250
2,400
20,000
600,000
解答
解説 まず、1秒間に転送するデータを誤り率で割ると、24,000/600,000=24/600=0.04。1秒間に0.04の確率で誤りが発生します。つまり、1個の誤りは1/0.04=250秒に1回程度発生すると予想できます。

問56 ATM交換方式の説明として、適切なものはどれか。
LAN間接続において、経路の設定やプロトコル別のフィルタリングを行う方式である。
あらゆる種類のデータを、セルと呼ばれる固定長のブロックに分割して伝送する方式である。
高速伝送を実現するために、ヘッダ情報について誤り制御を行わない方式である。
マルチメディア用データを可変長のパケットを用いて効率よく伝送するための方式である。
解答
解説 ATM(Asynchronous Transfer Mode)交換方式はセルと呼ばれる、48バイトのデータ(ペイロード)と5バイトのヘッダで構成された、53バイトの固定長のブロックを伝送する方式です。

なお、選択肢アはルーティングの説明です。

問57 ルータの機能として、適切なものはどれか。
OSI基本参照モデルの第4〜7層のプロトコルが異なるLAN同士を接続する。
ネットワークに接続されている機器数の把握や稼働状況の集中管理をする。
複数のLANをOSI基本参照モデルの第2層(データリンク層)で接続し、MACアドレスによるパケットのフィルタリングを行う。
複数のLANをOSI基本参照モデルの第3層(ネットワーク層)で接続し、パケットを中継する。
解答
解説 各選択肢のネットワーク機器を下にまとめます。

選択肢ア:ゲートウェイ
選択肢イ:SNMPなどを用いたネットワークモニタリングの説明です。
選択肢ウ:ブリッジ
選択肢エ:ルータ

問58 関係データベース管理システムにおけるスキーマの説明として、適切なものはどれか。
実表ではない、利用者の視点による仮想的な表である。
データの性質、形式、ほかのデータとの関係などのデータ定義の集合である。
データの挿入、更新、削除、探索などのデータベース操作の総称である。
データベースの一貫性を保持するための各種制約条件の総称である。
解答
解説 スキーマとは、以下のように3つから構成されるデータ定義の集合です。

画像(問58kai)を表示できません

選択肢アは、ビューの説明です。
選択肢ウは、データ操作の説明です。データ操作を行う言語をDMLといいます。
選択肢エは、整合性制約の説明です。

問59 関係データベースにおいて、表の中から特定の列だけを取り出す操作はどれか。
結合(join)
射影(projection)
選択(selection)
和(union)
解答
解説 関係データベースの操作に関する用語をまとめます。

結合:2つ以上の表を元に、1つの表として作り出すこと
射影は、条件にあった列を取り出すこと
選択は、条件にあった行を取り出すこと
挿入は、条件にあった行を表に入れること
削除は、条件にあった行を表から除くこと

和という演算は関係データベースにはありません。(和集合や積集合という概念はあります)

問60 更新不可能なビューはどれか。
ビュー定義にGROUPBY句が含まれているビュー
ビュー定義にWHERE句が含まれるビュー
ビューに対するビュー
元の表の主キーを含まないビュー
解答
解説 ビューとは、ほかの表やビューから導出された仮想的な表をいいます。更新する際は、元のデータと対応づいていなければなりません、よって、集計データであるGROUPBY句でまとめられている場合やグループ関数を使っている場合は、更新ができません。