基本情報技術者試験 ~暗記物「情報処理システム」~

情報処理システムの形態

  • 非対話型処理システム: 利用者は処理に介入できない
  • 対話型処理システム: Windowsのような画面を使用して動かすシステム
名前 別名 説明
一括処理システム バッチ処理システム コンピュータでひとまとまりのデータを一括して処理する方式。
即時処理システム リアルタイム処理システム 処理の要求を受けたら即動くシステム(リクエストを受けて動くシステムを含む)

集中処理、分散処理システム

  • 集中処理システム:1か所に集中して処理を行うシステム
  • 分散処理システム:分散して処理を行うシステム

分散処理システムの種類

名前 英語 説明
 ピアツーピア Peer to Peer 対等な立場にあるコンピュータを並列につなぐ水平分散型。複数の機器やシステムで処理を分担する
クライアントサーバー Client Server 垂直分散型、サーバーとクライアントのように、各処理を担当するシステム、機能を分散しそれぞれの処理をコンピュータごとに行わせる
ファイルサーバー File Server ファイル管理用サーバー
データベースサーバー Data Base Server DB、DBを起動するサーバー
プロキシサーバー Proxy Server インターネットなどの外部ネットワークへの接続を行う、外部への接続ポイントをまとめるのでセキュリティ強化のために使用する
3層クライアントサーバーシステム プレゼンテーション層(クライアント)、アプリケーション層(APサーバー)、データ層(DBサーバー)の3つに分けて実装する
ストアドプロシージャ Stored procedure DBのInsert(Create), Select(Read), Update, Delete -> 「CRUD(クラッド)」処理をスクリプトで実行する
シンクライアントシステム Thin Client リモートデスクトップ専用のコンピュータ、PC本体はほとんど機能を持っていくてもよい(ネットワーク接続ができる必要はある)
ウェブシステム Web System ウェブブラウザから処理を依頼するシステム、ECサイトなどがそれにあたる

クラウドコンピューティング

概要
インターネットなどのネットワークを経由して、外部組織が保有する情報システムから各種の情報処理サービスを受ける方法

下のような形でのサービスを提供する
特徴

  • ユーザーインターフェースは主にウェブアプリケーションの形式で提供される。
  • ユーザー側に必要なものは最低限の接続環境とパーソナルコンピュータや携帯情報端末などのクライアント、そしてサービス利用料金のみ

クラウドサービス

  • SaaS (Software as a Service) - インターネット経由のソフトウェアパッケージの提供。電子メール、グループウェア、CRMなど。GoogleのGoogle Apps、マイクロソフトのMicrosoft Online Services、SAPのS/4HANA Cloud、SAP Business ByDesignやSAP SuccessFactors、SAP Ariba、セールスフォース・ドットコムのSalesforce CRM、オラクルの Oracle Cloudがある。オープンソースのSaaS構築フレームワークとしてはLiferayがある。

  • PaaS (Platform as a Service) - インターネット経由のアプリケーション実行用のプラットフォームの提供。仮想化されたアプリケーションサーバやデータベースなど。ユーザーが自分のアプリケーションを配置して運用できる。GoogleのGoogle App Engine、AppScale、マイクロソフトのMicrosoft Azure、SAPのSAP Cloud PlatformやSAP HANA Enterprise Cloud、Amazon Web ServicesのAmazon S3やAmazon DynamoDBやAmazon SimpleDB、IBMのSoftLayer、セールスフォース・ドットコムのForce.comプラットフォームなど。

  • HaaSまたはIaaS (Hardware / Infrastructure as a Service) - インターネット経由のハードウェアやインフラの提供。サーバー仮想化やデスクトップ仮想化や共有ディスクなど。ユーザーが自分でオペレーティングシステム (OS) などを含めてシステム導入・構築できる。Amazon Web ServicesのAmazon EC2・VMware Cloud on AWS、IBMのSoftLayerなど。

  • XaaS - 上記の総称。

並列処理システム

並列処理システムは、分散処理を並列して行う。これにより、処理時間の削減と大規模システムを実現する。

種類

名前 説明
マルチプロセッサシステム 複数のコンピュータを組み合わせたシステムの総称。「マルチプロセッサ」というときは一台のコンピュータに複数のプロセッサ(プロセッサコア)が入っていることを示す
クラスタシステム 複数のコンピュータを連携させて、全体を1台の高性能コンピュータであるかのように利用するシステム。
負荷分散クラスタ構成:ロードバランサにより負荷分散を行う。HA(High Availability)クラスタ構成:メイン機と、待機するサブ機を使用してサーバーダウンしないような形を実現する構成
グリッドコンピューティング 広域に分散する多数のコンピュータをネットワークで結び並列処理することで仮想的に高性能なコンピュータとして使用するシステム(仕組み)。
大規模並列処理とも呼ばれヒトゲノムを解析するプロジェクトなどで使用している

高信頼化システムの構成

名前 説明
シンプレックスシステム オンライントランザクション処理における基本的な構成
情報システムの信頼性や構成法に関する用語で、冗長化などを行わず単一の系統だけでシステムを動作させること。 最も単純な構成で、どこかに障害が発生するとシステム全体が停止してしまう。
タンデムシステム 複数の処理装置やコンピュータを直列につなぎ、それぞれが特定の処理に注力して役割分担する構成のシステム  
デュプレックスシステム 1つの処理に対して2組のシステムを用意しておき、一方は障害が発生した際の予備機として待機させておく構成。よくあるサーバー構成。

A.直列システム

デュプレックスシステム

サーバー運用などでメインサーバー(主系)とサブサーバー(従系)を用意しておき、主系がダウンしたときに従系が起動する方式。
下のように3種類の状態がある。こちらのサイトを参考にしました。

  1. ホットスタンバイ:主系が起動しているときに従系も同様に起動、同期している状態で運用するので、ダウンしたときはすぐに従系が起動できる

  2. コールドスタンバイ:切り替えに時間がかかる。従系は電源を切った状態で待機、ダウンしたときに従系を起動して切り替えるので時間がかかる

  3. ウォームスタンバイ:従系には、別のアプリケーションを起動させている状態。ダウンしたときに従系に切り替えるのに時間がかかる

デュアルシステム

システムを2以上起動して、正常性を確認品がら処理を行う(クロスチェック)。医療系などの絶対にシステムを停止できないようなシステムに使用される。

フォールトトレラントシステム

その構成部品の一部が故障しても正常に処理を続行するシステムである。
フォールトトレラントシステムにおける障害復旧はロールフォワード(roll-forward)とロールバック(roll-back)に分けられる。

マルチプロセッサ

一台のコンピュータシステムに複数のマイクロプロセッサ(CPU/MPU)を搭載すること。複数のプロセッサで異なるデータや命令を並列に処理することでシステム全体の処理能力を向上させることができる。

RAID(レイド)

名前 説明
RAID 0 複数のディスクにデータを分割して書き込みアクセス速度を向上したもの
RAID 1 片方のディスクと同じディスクを作成する(ミラーリング)ようにして、片方のディスクをバックアップ用にする
RAID 2 データ保存用ディスクを複数台、データ修復用(ハミング符号)を用意してアクセス速度と信頼性を向上する
RAID 3 データ保存用ディスクを複数台、データ修復用(パリティ符号)を用意してアクセス速度と信頼性を向上する
RAID 4 RAID 3 では、ビット単位で行っていたこと(データアクセス)をセクタ単位で行うようにしたもの
RAID 5 RAID 4 において、データ修復用のパリティディスクにあるデータ(パリティデータ)をデータ保存用のディスクに分散したもの
RAID 6 RAID 5 においてデータ修復用のパリティ符号を2つ生成する方式

RAIDはネットワークストレージにも使用される

NAS: Network Attached Storage
SAN: Strage Area Network

情報処理システムの評価

評価ポイント

  1. 処理能力の評価
  2. システムの稼働率と故障率
  3. 経済性の評価

1.処理能力の評価

  • 処理能力の評価
  • 信頼性の評価

処理能力の評価

システム全体の評価:以下の評価指標を使用する。

  1. 処理時間
  2. 仕事量
  3. CPU
処理時間の評価
  • ターンアラウンドタイム:処理を依頼してから、完全な出力結果を得られるまでの時間
    = CPU処理時間 + 入出力時間 + 処理待ち時間など

  • レスポンスタイム:システムに処理依頼が届いてから、結果の出力までの時間
    = CPU処理時間 + 処理待ち時間など

処理時間のイメージ

仕事量の評価
名前 説明
スループット 1トランザクションにかかる時間
TPS (transactions per second: トランザクション数/秒)
または TPM (transactions per minute: トランザクション数/分) で測定されるのが普通です。
キャパシティプランニング 情報システムの設計段階で現状の最大負荷だけでなく、将来予測される最大負荷時にもサービスの水準を維持できるような設計を検討することです。 ステップ1: パフォーマンス目標の決定
ステップ2: パフォーマンス・メトリックの測定
ステップ3: システムのボトルネックの特定
ステップ4: キャパシティ管理計画の実施
CPUの評価
名前 説明
クロック周波数 高いほど性能が良い
MIPS(Million Instructions Per Second) 100万単位での、1秒で実行できる命令数 = MIPS は、「 百万命令 / 秒」=> 「1MIPS = 100万命令/秒」
GIPS(Million Instructions Per Second) 1秒で実行できる命令数 = MIPS は、「 百万命令 / 秒」
FLOPS(FLoating-point Operation Per Second) 1秒で実行できる浮動小数点数演算数 = FLOPS は、「 百万命令 / 秒」=> 「1FLOPS = 10億命令/秒」
性能測定技法

ベンチマークテスト
評価用標準プログラム使用して計測

名前 ベンチマークの種類
TCPベンチマーク nuttcp, GoogleCodeのNDT, J2EE ベンチマークなど
SPECベンチマーク SPEC(標準性能評価法人)、CPUの性能指標と評価方法(日本OSS推進フォーラム)

評価指標とベンチマーク

信頼性の評価

故障に関する考え方

名前 説明
フォールトトレラント(耐故障技術) システム設計の手法であり、システムの一部に問題が生じても全体が機能停止するということなく(たとえ機能を縮小しても)動作し続けるようなシステムを設計するものである。
フェールソフト 故障箇所を切り離すなど被害を最小限に抑え、機能低下を許しても、システムを完全には停止させずに機能を維持した状態で処理を続行(縮退運転)する設計のこと
フォールトアボイダンス(故障排除技術) システムや装置の信頼性についての考え方の一つで、なるべく故障や障害が生じないようにすること。 個々の構成要素の品質を高めたり、十分なテストを行ったりして、故障や障害の原因となる要素を極力排除することで信頼性を高めるという考え方。

安全に対する考え方

名前 説明
フェールセーフ 誤操作・誤動作による障害が発生した場合、常に安全に制御すること。 またはそうなるような設計手法で信頼性設計のひとつ。 これは装置やシステムが『必ず故障する』ということを前提にしたものである。
フールプルーフ 機器の設計などについての考え方の一つで、利用者が操作や取り扱い方を誤っても危険が生じない、あるいは、そもそも誤った操作や危険な使い方ができないような構造や仕掛けを設計段階で組み込むこと
信頼性の指標
RASIS, RASという指標がある 指標 意味
Reliability(信頼性) システムが正しく動いているか?
Availability(可用性) 使いたいときにシステムが稼働状態になっているか?
Service ability(保守性) 障害が発生したときに対処(回復)しやすいか?
Integrity(完全性) データの正当性が保証されているか?
Security(安全性) システムやデータに対する機密保護が行われているか?
名前 説明
MTBF(Mean Time Between Failures(平均故障動作時間) システムが修復されてから次に故障するまでの時間
MTTR(Mean Time To Repair(平均修理時間)) システムが修復されてから復旧するまでの時間
稼働率 MTBF / (MTBF + MTTR)
非稼働率 1 - 稼働率
故障率 「1 / MTBF」 もしくは、 「Σ装置単体の故障率」※Σは総和を示す

経済性の評価

名前 説明
初期コスト(Initial const) ハードウェア、ソフトウェア、開発の合計費
運用コスト(Running const) ハードウェアのリース(レンタル)、オペレータ、設備維持の費用

インターフェース設計

画面設計

シュナイダーマンの8原則

  1. 一貫性を持たせる
  2. 頻繁に使うユーザーには近道を用意する
  3. 有益なフィードバックを提供する
  4. 段階的な達成感を与える対話を実現
  5. エラー処理を簡単にさせる
  6. 逆操作を許す
  7. 主体的な制御権を与える
  8. 短期記憶領域の負担を少なくする

フールプルーフ
機器の設計などについての考え方の一つで、利用者が操作や取り扱い方を誤っても危険が生じない、あるいは、そもそも誤った操作や危険な使い方ができないような構造や仕掛けを設計段階で組み込むこと

チェック内容一覧

名前 説明
ニューメトリックチェック 数字検査
リミットチェック 限度検査
フォーマットチェック 書式チェック
重複チェック
照合チェック 取得したデータと取得元のデータを照合する
バランスチェック 別々に集計した合計が一致しているか
論理チェック データが論理的に正しいか
シーケンスチェック 番号が順番に並んでいるか
組み合わせチェック 入力された複数の関連項目の組み合わせに矛盾がないかチェック
チェックデジットチェック 検査文字(チェックキャラクタ)を使用してチェックする
帳票設計

システムから出力される、報告書、伝票などの項目やレイアウトを設計する
手順

  1. 総合的な検討:出力目的、出力周期、タイミング、配布先、出力量など
  2. 出力方式、媒体の検討:紙、CD、PDFなど
  3. 出力項目、帳票レイアウトの作成:プリンターやプリンターサーバーに保存しておき、原稿と重ね合わせて印刷する機能。フォームオーバーレイの使用も検討する。

フォームオーバーレイ
プリンターやプリンターサーバーに保存しておき、原稿と重ね合わせて印刷する機能。

コード設計

データを分類するためのコードを定義する、都道府県コードや、大学コードのこと。コードに要求される4つの機能

  1. 識別機能:データを区別する
  2. 分類機能:データを分類する
  3. 配列機能:データの順序を決定する
  4. チェック機能:データが正しいことをチェックする

コードは以下のような種類がある

名前 説明
順番コード 順番に割り当てる 都道府県コード
区分コード 各ブロック内で連番で割り当てる 大学コード
Ex 0: 国立{001: 東京大学, 一橋大学 ...} 1: 公立{都立大, 横浜市大 ...} 2: 私立{明治大, 慶応大 ...}
桁別番号 各行に意味を持たせる(1桁目: 種別, 2桁目: コース, 3~6桁目: 登録番号) 前日コースの法人会員コード
表意コード コード化するデータや名称や略称を使用 JP20CTV=日本製20インチカラーテレビ
合成コード コードを組み合わせる