連載
» 2005年07月27日 00時00分 公開

基本情報技術者試験講座(3):システム開発とLANの基礎を押さえる

エンジニアなら避けては通れない、情報処理技術者試験。すべての試験の基礎となるのは、基本情報技術者試験だ。そのうちの午前試験に必要な知識を本連載でマスターし、秋期試験合格を目指そう!

[有限会社 G.F.インフィニティ,Project - ∞]

 前回「コンピュータの内部を探る」では、「2.コンピュータシステム」について解説しました。今回は、「3.システムの開発と運用」および「4.ネットワーク技術」を取り上げます。

1. コンピュータ科学基礎
2. コンピュータシステム
3. システムの開発と運用
4. ネットワーク技術
5. データベース技術
6. セキュリティと標準化
7. 情報化と経営
8. 監査

システムの開発と運用


確認しておく内容

  • システム開発の流れ
  • ウォーターフォールモデル(外部設計・内部設計)
  • オブジェクト指向

システム開発の流れ

 システムを開発する際、最も一般的に用いられている手法が「ウォーターフォールモデル」です。

 ウォーターフォールモデルとは、システム開発に必要な作業をいくつかの工程に分割し、順番に開発を進めていくモデルのことです(図1)。ウォーターフォールには「滝」という意味があり、水の流れのように上から下へと一方向に開発を進め、後戻り作業が発生しないように開発を進めることが大切です。

 前の工程で作成したものを基に次の工程の開発を行うため、後戻りするとシステムの開発効率が著しく低下します。

図1 ウォーターフォールモデル 図1 ウォーターフォールモデル

 実際に問題を解いてみましょう。

 ■問題1

システム開発の手法の1つであるウォーターフォールモデルの特徴を正しく説明しているものを、次の中から選択してください。

a.基本設計からプログラミングまでの開発工程で設計書をレビューしながら進めるため、エラーの早期発見が行えるという長所がある
b.大規模なシステムをサブシステムに分割し、サブシステムごとに設計、プログラミング、テストという開発工程を繰り返すことで徐々にその開発範囲を広げていくため、同時に開発する規模を縮小できるという長所がある
c.基本計画、外部設計、内部設計、プログラム設計、プログラミング、テストの順に開発を進めるため、早い段階でシステムの全体を見通すことができ、大規模なシステム開発にも向いているという長所がある
d.システム開発の初期段階で試作品を作成するため、開発当初にユーザーの要望を取り込みやすいという長所がある

正解:c

 ■解説

 システム開発に必要な開発工程を、基本計画、外部設計、内部設計、プログラム設計、プログラミング、テストに分割して順番に開発を進めていく手法がウォーターフォールモデルです。早い段階でシステム全体を明確にすることができ、スケジュールの決定や資源配分なども容易に行えます。ウォーターフォールモデルを正しく説明している選択肢はcです。

 ウォーターフォールモデルについての問題は頻出していますので、しっかり押さえておきましょう。また、そのほかの手法についての問題も出題されています。下記を参考にしてください。

  • スパイラルモデル(選択肢b)

 システムをサブシステムに分割し、そのサブシステムごとに開発工程を繰り返し進めながら、全体のシステムを開発していく手法です。同時に開発する規模を縮小できるという長所がありますが、サブシステム化が困難なシステムには用いることができないという短所もあります。

  • プロトタイプモデル(選択肢d)

 開発の初期段階でプロトタイプ(試作品)を作成し、ユーザーの要望があれば取り入れて再度プロトタイプを作成するという作業を繰り返しながら開発を進めていく手法です。開発の初期段階でユーザーの要望を取り込みやすいという長所がありますが、ユーザーへの確認や調整に時間がかかり、コストが増大するという短所もあります。

ウォーターフォールモデル(外部設計・内部設計)

 外部設計および内部設計は、ウォーターフォールモデルにおける上流工程です。ここでは、この工程で行う作業を取り上げます。

 システムを使用するユーザーの視点での設計が外部設計であり、システムを作成する開発者の視点での設計が内部設計です。この中では特に、設計を行う際に用いられる図式化手法のDFD(Data Flow Diagram)やER図(ERD:Entity Relation Diagram)についての問題が頻出しています。

  • DFD(Data Flow Diagram)

 DFDは、データの流れと処理の関係を図式化する手法です。データの発生源やデータが蓄積される場所(データベース、ファイルなど)も明確に表します。データの流れが明確になることにより、効率化しやすい部分を発見できるなどの利点があります。

 以下にDFDで使用する記号を示します。

表1 DFDで使用する記号 表1 DFDで使用する記号
  • ER図(ERD:Entity Relation Diagram)

 ER図は、エンティティ(実体)間のリレーションシップ(関係)に基づき、業務で用いるデータを図式化する手法です。業務で用いるデータ項目を管理対象ごとにエンティティにまとめ、関連のあるエンティティ同士をリレーションシップでつなぎます。

 すべての情報をエンティティとリレーションシップで表すことで、データを分かりやすく整理して関係性を把握することができます。

 以下にER図で使用する記号を示します。

表2 ER図で使用する記号 表2 ER図で使用する記号
図2 ER図の例 図2 ER図の例

 ■問題2

下記の図は、売り上げ管理システムを表すDFDです。DFD中のAに該当する項目として適切なものを選択してください。

a.出荷処理
b.売り上げファイル
c.売り上げ計算
d.入金ファイル

正解:b

 ■解説

 DFDは、システムのデータの流れに着目し、データの流れと処理の関係を図式化する表記法です。DFDでは4つの記号を用います。□印がデータの発生源・保管先(源泉・吸収)、→印がデータの流れ(データフロー)、○印が処理内容(プロセス)、=印がファイル(データストア)を表します。

 この問題では、営業部の売上伝票を基に売り上げ処理を行い、その結果である売り上げ情報をファイル(売り上げファイル)に出力します。正解はbです。

 ■問題3

ER図に関する説明として適切なものを次の中から選択してください。

a.1つのエンティティは1つのインスタンスを持つ
b.リレーショナルデータベースへの実装を前提として作成する
c.データの流れと処理の関係が明確に表現できる
d.業務で用いるデータを抽象化し、エンティティ間の関係性を表現する

正解:d

 ■解説

 ER図は、システム化したい情報を抽象化し、それぞれのエンティティ同士の関係を図式化します。従って、正解はdです。

 ER図はデータベースシステムを作成する際によく利用されますが、必ずしもデータベースへの実装が前提というわけではありませんので、選択肢bは不正解です。選択肢aのインスタンスはオブジェクト指向での概念であり、選択肢cはDFDに関する説明であるため、どちらもER図とは関係がありません。

オブジェクト指向

 オブジェクト指向はプログラム設計の考え方の1つであり、処理ではなくデータを中心に構造化を行います。

 科学技術計算用のFortranや事務処理用のCOBOLなどのプログラミング言語は、処理命令を書き、処理手順を指示するもので「手続き型言語」と呼ばれます。それに対し、C++やJavaは「オブジェクト指向言語」と呼ばれ、処理手順を指示するのではなく、何をしたいのかという機能やデータを中心に考えます。

 オブジェクト指向言語では、処理手順およびデータを一体化したオブジェクトと呼ばれるものを用いてプログラミングを行います。

 オブジェクト指向に関する問題は頻出していますので、下記の関連用語をしっかり覚えておきましょう。

オブジェクト データとメソッドをカプセル化したもの
メソッド 手続き(処理手順)
カプセル化 データとメソッドを一体化し、外部から隠ぺいすること
クラス オブジェクトを定義したひな型
メッセージ クラスへの命令
インスタンス クラスから生成される実体

 ■問題4

オブジェクト指向プログラミングにおいて、データと処理手順(メソッド)をオブジェクトとしてひとまとめに扱うことで、外部からデータや処理内容を隠すことを何と呼びますか。次の中から選択してください。

a.メソッド化
b.クラスタ化
c.モジュール化
d.カプセル化

正解:d

 ■解説

 データとその処理手順をオブジェクトとして一体化し、その外部にはオブジェクトに対する操作だけを示し、データやその処理手順を隠ぺいすることをカプセル化と呼びます。正解はdです。

 ■問題5

オブジェクト指向言語の特徴を適切に説明しているものを次の中から選択してください。

a.データは外部から隠ぺいされ、そのデータを扱うメソッドによって間接的に操作される。プログラムはデータとメソッドをひとまとまりにしたものの集まりである
b.プログラミングでは、データの流れを中心に、処理命令および処理手順を記述する
c.計算の制御は命令から命令へ順次渡していく。命令間でのデータの受け渡しは変数を介して行い、命令とデータの定義は分離されている
d.プログラムは関連する操作によってモジュール化し、複数のサブプログラムをネストすることで構成する

正解:a

■解説

 オブジェクト指向言語の特徴の1つがカプセル化です。プログラム中で使用するデータとその処理手順(メソッド)を1つにまとめることをカプセル化と呼び、カプセル化されたものをオブジェクトと呼びます。

 オブジェクト内のデータはメソッドによって処理され、オブジェクトの外部からはその状態が見えないように隠ぺいされます。オブジェクト指向言語は、このオブジェクトで構成されます。正解はaです。

ネットワーク技術


確認しておく内容

  • LANの接続形態とアクセス制御方式
  • ネットワークアーキテクチャ

LANの接続形態とアクセス制御方式

 PCなどの端末の接続形態をトポロジと呼びます。LANのトポロジには、下記の3種類があります。

バス型 バスと呼ばれる1本のケーブルに、端末を複数接続する形態
スター型 ハブなどの中継機器を中心に、端末を放射状に接続する形態
リング型 端末をリング状に接続する形態

 これらのトポロジにより、LANには複数のPCが接続されます。LAN上にある1台のPCがデータを送信している間は、そのLANのケーブルを占有することになります。1つの伝送路を同時に複数のPCで使用することはできません。

 そこで、どのPCがいつデータを送受信するかを決める必要があります。そのためのアクセス制御方式として、CSMA/CD方式やトークンパッシング方式などが用いられています。

 CSMA/CD方式、トークンパッシング方式に関する問題は頻出しています。以下にそれぞれの特徴をまとめますので、しっかり押さえてください。

CSMA/CD(Carrier Sense Multiple Access/Collision Detection)方式 データを送信したいPCがケーブルの通信状況を監視し、ケーブルが空いていればデータを送信する。複数のPCが同時に送信を開始した場合には、データの衝突(Collision)が発生し、送信は中止される。衝突を検出(Detection)すると、ランダムな時間が経過してから再度送信を行う。1本のケーブルを複数のPCが共有できる
トークンパッシング方式 トークンと呼ばれる送信権を表す信号が常にLANを流れている。データを送信したいPCはこのトークンを受け取り、代わりに自分が送信したいデータを流す。送信が終了したら再びLAN上にトークンを返す。1度に1台のPCがケーブルを使用することになる

 ■問題6

LANのアクセス制御方式のうち、データの衝突が起こる可能性はあるものの、複数のPCが同時にデータの送信を行うことができる方式を選択してください。

a.CSMA/CD
b.WAN
c.トークンパッシング
d.TDMA

正解:a

 ■解説

 LAN上で発生するデータの衝突をコリジョン(Collision)と呼びます。これを検出する機能を持ったアクセス制御方式はCSMA/CD方式です。衝突を検出した場合、ランダムな時間を置いてから再度送信を行います。

 ■問題7

LANに関する記述のうち、適切なものを次の中から選択してください。

a.LANのアクセス制御方式は、CSMA/CDかトークンパッシングである
b.LANのトポロジには、バス型、スター型、リング型の3種類がある
c.CSMA/CD方式は、主にリング型のLANで利用される
d.スター型のLANでは、基本的にトークンパッシング方式が用いられる

正解:b

 ■解説

 LANのトポロジ(接続形態)は、バス型、スター型、リング型の3つに分類されています。よって、選択肢bは正しい内容です。

 そのほかの選択肢の不正解の理由は下記のとおりです。

a:LANのアクセス制御方式は、CSMA/CD、トークンパッシングだけではありません。

c:CSMA/CD方式はバス型のLANで多く用いられます

d:スター型のLANでは主にTDMA方式が用いられます。

 TDMA(Time Division Multiple Access)方式とはアクセス制御方式の1つで、時分割多重化装置(TDM:Time Division Multiplex)を用い、回線を時間的に分割しながら複数のデータを送受信する多重化方式です。

 上記のような問題が出題されることも予想されるので、LANのトポロジとアクセス制御方式を関連付けて覚えておく必要もあります。以下に主なものを示します。

表3 一般的なアクセス制御方式とトポロジの組み合わせ
アクセス制御方式 トポロジ
TDMA方式 スター型
CSMA/CD方式 バス型/スター型
トークンバス方式 バス型
トークンリング方式 リング型
※トークンパッシング方式には、バス型用のトークンバス方式とリング型用のトークンリング方式があります 

ネットワークアーキテクチャ

 データ通信に必要となる機能やプロトコル(規約)を体系化したものを、ネットワークアーキテクチャと呼びます。代表的なネットワークアーキテクチャに、ISO(国際標準化機構)で規格化されているOSI参照モデルがあります。

図3 OSI参照モデル 図3 OSI参照モデル

 ■問題8

トランスポート層以上のアーキテクチャが異なるLANシステム間でプロトコル変換を行うことが可能な装置を次の中から選択してください。

a.リピータ
b.ブリッジ
c.ルータ
d.ゲートウェイ

正解:d

 ■解説

 トランスポート層以上のアーキテクチャやプロトコルが異なるLANシステム間でプロトコル変換を行い、接続を可能にするにはゲートウェイを使用します。正解はdです。

 ゲートウェイは、プロトコルを変換する機能を持ち、プロトコルの異なるLANを接続するために利用される装置です。

 ■問題9

OSI基本参照モデルのネットワーク層で複数のLANを相互に接続するために使用する装置を次の中から選択してください。。

a.リピータ
b.ブリッジ
c.ルータ
d.ゲートウェイ

正解:c

 ■解説

 複数のLANをネットワーク層で相互に接続するにはルータを使用します。ルータはLANとLAN、あるいはLANとWANの接続に利用されます。正解はcです。

 このように、OSI参照モデルのどの層で接続する装置か分かれば解ける問題も出題されます。図3を覚えておきましょう。

まとめ

下記の内容をチェックしておきましょう。

システムの開発と運用

  • システム開発の流れ(ウォーターフォールモデル、スパイラルモデル、プロトタイプモデル)
  • DFD(Data Flow Diagram)、ER図(ERD:Entity Relation Diagram)
  • オブジェクト指向言語の用語(オブジェクト、メソッド、カプセル化、メッセージ、クラス、インスタンス))

ネットワーク技術

  • LANの接続形態(トポロジ)の種類(バス型、スター型、リング型など)
  • LANのアクセス制御方式(CSMA/CD方式、トークンパッシング方式)
  • ネットワークアーキテクチャ(OSI基本参照モデル)とLANの接続機器(リピータ、ブリッジ、ルータ、ゲートウェイ)

次回は、「5.データベース技術」を取り上げます。

IT資格試験の模擬問題をWebベースで学習できる@IT自分戦略研究所の新サービス「@IT資格攻略」では、基本情報技術者試験(午前)をテーマとして取り上げています。「無料お試し版」もありますので、記事と併せてご覧ください。



Copyright © ITmedia, Inc. All Rights Reserved.

編集部からのお知らせ

8月8日10時30分〜16時30分の間、システムメンテナンスのため記事の一部表示や資料のダウンロードができなくなります。ご理解のほどよろしくお願いいたします。

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。