電源を切っても記録している内容を保持するメモリで読み出し専用のものはどれか?

UPS(Uninterruptible Power Systems)

無停電電源装置
コンピューターと電源の間に接続し、停電時に内臓のバッテリからコンピュータへの給電ができる装置

記憶装置(メモリ)

主記憶装置(メインメモリ)
・半導体素子を利用して電気的に記憶を行うため、動作は高速
・単位あたりの価格は高く、大容量で使用するにはコストが非常に高くなる
・電気的に記憶するため、電源を切るとデータは全て失われてしまう

外部記憶装置(補助記憶装置)
・ハードディスク等を使用しデータを保存する方法
・演算装置とのやりとりをしないため、高速性よりは大容量性が重要
・電源の供給がなくても記憶内容が失われない

主記憶装置

RAM(揮発性)
電源を切るとデータが消失する
(1)SRAM(Static Random Access Memory)
・リフレッシュ動作※:不要
・高速なデータ転送が可能
・DRAMと比較して高価
※リフレッシュ・・・データの保持のための再書き込み動作

小容量でも高速なメモリが要求される汎用コンピュータの主記憶装置や、キャッシュメモリなどで使用。

(2)DRAM(Dynamic Random Access Memory)
・リフレッシュ動作:必要
・消費電力:大
・データ転送速度:低い
・安価
コンピュータの主記憶装置(メインメモリ)に広く使われている。

(3)VRAM(Video RAM)
ディスプレイに表示する内容を保存しておくメモリ。
従来ディスプレイの表示内容は、メインメモリに保存するのが一般的であったが、近年画像処理の高解像度化、高精細化に伴い、 VRAMに保存するコンピュータが増えている。

ROM,半導体メモリ(半導体記憶素子)
・不揮発性
⇛電源を切ってもデータが消えないが、読み出しのみ

(1)マスクROM
製造時にデータやプログラムが書き込まれている ROM 。
後から記憶内容を書き換えることはできない。
通常、 ROM といえばこのマスク ROM のことを指す。

(2)PROM(Programmable Read Only Memory)
後から一度だけデータやプログラムを書き込むことができるROM。
一度書き込みを行うとその後はマスク ROM と同じになる。

(3)EPROM(Erasable Programmable Read Only Memory)
何度でもデータやプログラムを書き込むことができるROM 。
記憶の消去方法により、 UV-EPROMとEEPROMの2種類に大別される。

(a)UV-EPROM(Ultra-Violet Erasable Programmable Read Only Memory)
記憶の消去に紫外線を用いる方法

(b)EEPROM(Electrically Erasable and Programmable Read Only Memory)
電気的に内容の書き換えを行う方法。
部分的に変更するということができないため、書き換えが必要な場合は一旦全部消去する。

記憶階層

・ピラミッド型となっており、アクセス速度が早ければ早いほど価格が高くなる傾向
・上部に位置する演算装置やレジスタなどは、補助記憶装置などと比較すると格段に記憶容量は少ない

主記憶装置の高速化

(1)キャッシュメモリへの保存
キャッシュメモリは、 CPU の内部にあり非常に高速なメモリ。キャッシュメモリに保存することで、低速のメインメモリとのデータのやり取りを少なくでき、処理の高速化が実現する。

(2)主記憶書き込み方式の違いによる速度
(ⅰ)ライトスルー方式
CPUからキャッシュメモリにデータを書き込む際、メインメモリにも同じ情報を書き込む方式
キャッシュメモリとメインメモリ間の情報に整合が取れるが、速度向上は図りづらい

(ⅱ)ライトバック方式
CPUからメモリにデータを書き込む際に、速度の速いキャッシュメモリのみに書き込む方式
速いが整合性がとれない

(3)メモリインターリーブ
メモリのデータ転送速度を高速化する技術のこと
主記憶装置をバンクと呼ばれる単位に分割し、バンク単位で命令やデータの読み出しを行う。
⇛主記憶装置で同時並列的にアクセスを行い、処理を高速化させる。

(4)デュアルチャネルモ-ド(インターリーブモード)
メモリとメモリコントローラを2本のバスを使ってデータ転送を2倍に引き上げる方式

プロセッサ

コンピュータ内で、データ処理、プログラム制御、システム状態管理などを行う装置。一般的にCPUのことを指す。

CPUの高速化
①マルチプロセッサ
1台のコンピュータに複数のマイクロプロセッサ(MPU:CPUと同義)を搭載し、処理を分散させることで、総体としての処理の高速化を図るもの

(1)密結合
・複数のプロセスが主記憶装置や補助記憶装置を共用
・一つのOSで制御
システム内のタスクはCPUが並列で処理するため負荷が軽減される

(2)疎結合
・複数のプロセスがそれぞれ主記憶装置や補助記憶装置を持つ
・それぞれ独立したOSで制御する
各CPUはジョブ単位で負荷を分散することができ、処理能力が向上

②デュアルコア
一つのパッケージに2つのプロセッサコアを搭載して処理速度の高速化を図るもの

③パイプライン
各処理が終わる前に次の処理を行うといった、同時並行的な作業を行うことで処理速度の向上を図るもの
パイプラインが複数あるものを特にスーパースカラという

インターフェース

コンピュータとそれら入出力装置間のデータ伝送を行うもの

①シリアルインターフェース
データを1 bitずつ直列で送信する。最近主流。
(1)USB(Universal Serial Bus)
・接続可能な機器の数は最大で127台
・バスパワー(電源を供給する機能)
・ホットプラグ(PCの電源が入ったまま抜き差し可能)
・プラグアンドプレイ(PCにつなぐだけで自動接続)

(2)RS232C(Recommended Standard 232C)
・コンピュータ本体とプリンタやモデムなどとの接続に使われてきた。
・でかいからUSBに変わってきた。

(3)IEEE1394
・デジカメや家電製品をパソコンと接続する高速シリアルインターフェース
・接続可能な機器の数は、最大で63台
・プラグアンドプレイやホットプラグに対応

(4)シリアルATA
・パソコンと記憶装置を接続する ATA 規格の拡張仕様
・当初 ATA 仕様で採用されていたパラレル転送方式を、シリアル転送方式に変更したもの

(5)DVI(Digital Visual Interface)
・にコンピュータと液晶ディスプレイを接続するインターフェース規格
・うちの部署だとプロジェクタの接続端子?

(6)HDMI(High-Difinition Multimedia Interface)
・DVIを基に音声情報などを伝送可能に改良したインターフェース規格

(7)PCI Express(Peripheral Component Interconnect Express)
・主にグラフィックボードをマザーボードに取り付けるためのインターフェース規格

②パラレルインターフェース
(1)SCSI
・コンピュータ本体とハードディスクなどの高速な周辺装置の接続に多く用いられるパラレル双方向型の規格

(2)IDE(パラレルATA)
・パソコンとハードディスクを接続する規格
・SCSI などに比べて低コスト
・接続台数が2台まで
・ハードディスク以外は接続できない⇛EIDE規格やUltra ATA 規格が普及

3)セントロニクス
・パソコンとプリンタ接続の専用インターフェース

(4)PCMCIA
IC カードの標準化を推進するために設立された米国の業界団体

③無線接続のインターフェース
(1)IrDA(Infrared Data Association)
・赤外線を利用した近距離の無線データ通信を行う規格。
・1対1のみで接続できる。

(2)ブルートゥース(Bluetooth)
・無線により数 m 離れた機器間を接続する技術。
・IrDAと異なり、障害物があっても10m 程度であれば通信可能
・1対多での使用も可能
・ノートパソコンや携帯電話だけでなく、プリンタなどの周辺機器もメーカーが対応を表明。

メモリへのアクセス時間

CPU がキャッシュメモリなどの記憶装置にデータ転送の要求を行い、転送を開始するまでの時間
キャッシュメモリにデータあり⇛アクセス時間早い

・ヒット率
利用したいデータがキャッシュメモリに存在する確率

・平均アクセス時間
ヒット率を考慮したアクセス時間
平均アクセス時間=Tc × Ph + Tm (1- Ph)
Tc:アクセス時間
Ph:ヒット率
Tm:主記憶装置のアクセス時間

ソフトウェアの種類

・オペレーティングシステム(OS)
ハードウェアを制御してコンピュータシステム全体を管理しながら、アプリケーションソフトウェアが効率的に動く環境を実現

・アプリケーションソフトウェア(応用ソフトウェア)
⇛BIOS(Basic Input Output System)
ハードウェアの基本的な制御を行うために機器に組み込まれたソフトウェア
⇛デバイスドライバ
周辺機器などのデバイスを動作させるためのソフトウェア

・ミドルウェア
基本ソフトウェアとアプリケーションソフトウェアの中間に位置するソフトウェア
どのアプリケーションソフトウェアにも共通の基本的な機能はOSが提供しているが、ある特定の分野において必ず必要とされるような機能については、ミドルウェアで提供

ファイルシステム

記憶装置にディレクトリ(フォルダ)を作成したり、ファイルの管理方法を指定する
⇛ファイル関係を扱う所!

タスク

コンピュータから見た仕事の単位
ジョブ(人間の仕事単位)⇛タスクに分解

記憶管理

主記憶を有効に活用すること。
①単一連続割当て方式
記憶領域を分割せずに、一つのプログラムが利用可能な記憶領域全てを使用する方式
⇛一つの記憶領域に一つのプログラム

②固定区画方式
主記憶装置の記憶領域を、予めいくつかの固定された区画に分割し各プログラムを割り当てていく方式
⇛記憶領域を予め分けて、そこにプログラムを入れていく

③可変区画方式
各プログラムが必要とする記憶領域を、ロードする時に探し出して割り当てていく方式
⇛どんどん記憶容量が空いたところにプログラムを入れていく

◇メモリコンパクション(コンパクション)
空き領域の断片化を解消し、連続した広い空き領域に再編する処理

◇ガーベージコレクション
プログラムが使い終わったメモリ領域を自動的に解放する機能、あるいは断片化しているメモリ領域などを集めて、連続した利用可能なメモリ領域を確保する機能
メモリコンパクションと合わせてガーベージコレクションということもある

④オーバーレイ方式
プログラムを予め同時に実行しない排他的なまとまり(セグメント)に分割しておき、必要なセグメントごとに主記憶装置にロードして実行する方式
⇛共通なところはいつも使って、共通じゃないプログラムを適宜入れ替えて使う方法

⑤スワッピング
実行中のプログラムが待ち状態に入った時に、一時的に補助記憶装置に退避(スワップアウト)させ、別のプログラムをロード(スワップイン)してマルチプログラミングを実現する方式
⇛主記憶装置と補助記憶装置からプログラミングの出し入れをする

仮想記憶管理

補助記憶装置を主記憶装置のように使えるようにする仕組み

①ページング方式
プログラムとアドレスをそれぞれ一定の単位(ページ)に分割し、管理する方式
ページ枠:主記憶装置上の分割単位アドレス
スロット:補助記憶装置上の分割単位アドレス

プログラムが記憶装置にロードされる手順は次の通り。
1. プログラムをページ単位に分割する。

2. プログラムをページ順に仮想記憶装置上のスロットにロードする。

3. 仮想記憶装置上のプログラムを、さらに主記憶装置上の空いているページにロードする(ページイン)。

4. 主記憶装置上に空きページがなくなると、実行に必要ないページを補助記憶に退避する(ページアウト)。

5.順次、ページイン・ページアウトを繰り返しながら、プログラムを実行する。

ページアウトするページの決定方式

(1)FIFO(First-In First-out)方式
一番古いページをページアウトする方式。

(2)LIFO(Last-In First-out)方式
一番新しいページをページアウトする方式。

(3)LRU(Least Recently Used)方式
未使用時間が最も長いページをページアウトする方式。

(4)LFU(Least Frequency Used)方式
参照回数の最も少ないページをページアウトする方式。

②セグメント方式
プログラムを論理的なかたまり(セグメント)に分割してロード・実行する方法。
ページング方式のページが一定の大きさであるのに対し、セグメントは個別に大きさが異なるため、実記憶装置上のロード管理は複雑になる。

③セグメントページング方式
複数のページを1つのセグメントとしてロード・実行する方式。

スプーリング機能

処理スピードの遅い入出力データを一時的に補助記憶装置や入出力装置側に蓄積し、少しずつ処理を進めることで、CPUを入出力制御から解放する技術

フラグメンテーション

ハードディスクのファイルの変更や追加、削除を繰り返すうちに、ファイルがバラバラに保存された状態(ファイルの断片化)になり、ファイルの読込みや書込み速度が低下するなどの現象が発生すること
⇛ファイルの並びを再配置し、連続した空き領域を増やす、という処理により回復⇛「デフラグメンテーション(デフラグ)」、もしくは「最適化」

◇デフラグとメモリコンパクション
ハードディスク⇛デフラグ
主記憶装置(メインメモリ)⇛メモリコンパクション

プログラム言語の分類

①低水準言語
特定のハードウェア仕様に強く依存し、人間には分かりにくい言語で
機械語とアセンブラ言語

②高水準言語
特定のハードウェアに依存することなく、日常語に近い表現を用いて容易に記述できるよう設計された言語。
第3世代言語とも呼ばれる。

(1)手続き型言語
処理手順を、その通りの順番に実行するように記述する言語。
FORTRAN、COBOL、Cなど

(2)非手続き型言語
処理手順ではなく、「何を」行いたいか、あるいは「何が」欲しいかという事柄を中心に記述する言語。
RPGなど

(3)スクリプト言語
機械語への変換を省略して簡単に実行できる言語。
PerlやJavaScriptなど

(4)マークアップ言語
テキストファイルの中に、文章構造や修飾情報などを盛り込んで記述する言語。HTMLやXMLなど

CoBRA法

経験豊富なプロジェクト・マネージャ等の見積り熟練者の経験・知識を抽出し、 それを変動要因として定義・定量化することで、透明性と説明性が高い見積り(コストマネジメント)を実現する方法
⇛過去プロジェクトの開発規模および開発工数の実績データを10件程度用意すれば、構築が可能

工数の尺度:開発規模
変動要因の値の散らばり方の近似法:三角分布

言語プロセッサ

コンピュータが理解し実行できる言語は機械語のみ
⇛機械語以外で記述されるプログラムを機械語に翻訳するもの

①アセンブラ
アセンブラ言語で記述された原始プログラムを機械語に翻訳する言語プロセッサ
アセンブラ言語を目的プログラムに翻訳することをアセンブルという

②コンパイラ
COBOL、FORTRAN、C言語などの主に手続き型プログラム言語で記述された原始プログラムを機械語に翻訳する言語プロセッサ。
非手続き型言語を目的プログラムに翻訳することをコンパイルという。

③インタプリタ
BASICなどの高水準言語で記述された原始プログラムを、1命令文ずつ翻訳しながら実行する言語プロセッサ。
⇛他の言語プロセッサと大きく異なるのは、目的プログラムを作らない点
⇛原始プログラムの命令を1文ごとに翻訳・実行する
⇛プログラム作成途中のいつでも翻訳・実行が可能なため、エラーを修正するデバック作業が容易にできる反面、処理速度は一般的に遅くなる。

コンパイラの処理手順

①コンパイルする
1. 字句解析
最小単位の文字列(トークン)が正しいか解析。
2. 構文解析
トークンの列が文法的に正しいか解析。
3. 意味解析
トークンの列が意味的に正しいか解析。
4. 最適化
実行速度を高めるために、不要処理の除去や、より効率的な内容への置き換えを実施。
5. コード生成
機械語のコードを生成。

②リンクする
リンカ(リンケージエディタ:連携編集プログラム)が、オブジェクトファイル(目的プログラム)を他の関数やプログラムと連携させて、実行可能なロードモジュールを作成する。

③ロードする
ローダが、ロードモジュールを主記憶装置上に配置し、プログラムを実行する。

プログラム⇛(コンパイルして)オブジェクトファイルをつくり⇛(リンカで結合したりして)ロードモジュールを作り⇛ロードしてロードモジュールを主記憶装置に配列、プログラムの実行

コーホート(cohort)

特定の年あるいは期間に生まれた人の集団のこと

パネル(panel)

同一標本に対し継続的に繰り返し調査を行う場合、調査対象となった集団のこと

WEB系のシステムでよく使用されているプログラム言語

Java
大規模システムで使用される。

PHP
小規模システムで使用される。

JavaScript
入力チェックや画像のスライドショーなどで使用される。クライアント側のブラウザのみで動作する。

HTML
画面の表示部分で使用される。クライアント側のブラウザで変換

CSS
HTMLで記述するWEBページのレイアウトやデザイン部分を切り出しにしたもの
CSSを使うと、文字フォント・色・大きさ、背景や配置などを定義でき、複数ページに渡って統一的な表現を実現できる

XML
データや定義などの格納機能として使用。

WEB系言語の応用

・XHTML(eXtensible HyperText Markup Language)
従来のHTMLをXMLに適合するように定義し直したマークアップ言語。XMLとの交換性がよくなる。

・DHTML(Dynamic HyperText Markup Language)
HTMLだけではできない画像・文字の自由な位置調整や移動など、動的なWEBページを作成していく技術のこと
HTMLを主体として、CSSやJavaScriptなどを活用する。

Ajax(エイジャックス:Asynchronous JavaScript + XML)
DHTMLの具体的な技術で、サーバとの非同期通信を行うことによって、Web画面の総書き換えを伴わないWebアプリケーションを実現する。
Web画面の再表示を行わずに画面の一部を再描画することができる。
(例)Googleの地図機能。

DWH(データウェアハウス)

時系列に蓄積されたデータを意思決定支援のために用いる、全社規模のデータベース

フリーソフトウェアとシェアソフトウェア

・フリーソフトウェア
※著作権は開発者に帰属する場合が多い。
(1)無料で利用できるソフトウェア
・ソースコードは公開せず、利用者が改変できない

(2)自由に利用できるソフトウェア⇛オープンソフトウェア
・開発者がソースコードを公開し、利用者が改変や再配布を自由に行えるよう認めたられている
LINUXが有名

・シェアウェア
一定の試用期間を過ぎると、決められた使用料を払うことで継続して使用できるソフトウェア

ERP(Enterprise Resource Planning)

企業内の財務・会計、物流、在庫、人事、生産、販売などの経営情報を一元的、かつリアルタイムに管理する考え方であり、既存の情報システムを総合したもの。
システムを統合することにより、各業務システムの部分最適ではなく、全体最適化を目指す。
※基本的には一から構築せず、「ERP パッケージ」を使用
⇛業務をERPに合わせて変える必要があるのでトップのリーダーシップが必要

導入の手順
① 基本方針を決定する。
② ERP パッケージの候補を選定する。
③ ERP パッケージの業務プロセスと自社の業務プロセスを比較分析する。
④ カスタマイズすべき項目を決定する。
⑤ システム開発予算を見積もる。
⑥ ERP パッケージ及び発注先の決定
⑦ 現行システムとの整合性も考え、必要に応じて段階的な導入を図る。

データ構造

データが格納されている配置・形式のこと
・配列型
同じ種類のデータが複数個連続して列を構成しているデータ構造
表みたいな感じ

・リスト構造
一つ一つのデータが順序を意識することなく並べられたデータ構造
表の一部がバラバラにある(番地がある)感じ

・スタック
最後に格納したデータが先に出力されるという特徴を持つデータ構造
⇛後入れ先出し法(LIFO)
プッシュ(push):データを格納すること
ポップ(pop):データを取り出すこと

・キュー
最初に格納したデータが先に出力されるという特徴を持つデータ構造
⇛先入れ先出し法(FIFO)
エンキュー(enqueue):データを格納すること
デキュー(dequeue):データを取り出すこと

探索アルゴリズム

1.線形探索法
・データを先頭から順番に、探索したい値を探していく方法
・必ずしもデータが昇順(小さい順)や降順(大きい順)に並んでいる必要はない

2. 2分探索法
・探索したい値が中央のデータより前にあるか後ろにあるかの判定を、範囲を狭めながら繰り返し行う方法
・あらかじめデータを昇順(小さい順)または降順(大きい順)に並べておく必要
がある

3.ハッシュ法
・探索する値をハッシュ値という整数などに置き換えて比較することで探索する方法
・ハッシュ値の衝突時の処理を考慮する必要がある

NFS

UNIXで利用される分散ファイルシステムおよびそのプロトコル

メインフレーム

企業の基幹業務などに利用される大規模なコンピュータ

オーサリングツール

文字や画像、音声、動画などの要素を組み合わせて一つのソフトウェアやコンテンツ作品を作成するためのソフトウェア
例)ホームページビルダーやAdobe Dreamweaver

CMS(Content Management System)

データ管理システム
データベースと利用者の間に介在し、データベースに蓄積されたデータを利用者が利用しやすいようにするソフトウェア

LAMP

webアプリケーションを開発するのに利用されるオープンソフトウェアの組み合わせ
OS:Linux
webサーバ:Apache
データベース:MySQL
プログラミング:PHP, Perl, Python

データベースの特徴

・独立性
データの物理的な格納構造を変更してもアプリケーションプログラムに影響がない
⇛3層スキーマ

・冗長性の排除
データを論理的な関係に基づいて設計・管理することで重複データがなくなりデータの重複による矛盾が発生しない
⇛正規化

・同時処理の制御
同じデータを複数のプログラムから同時にアクセスしてもデータを保存し整合性を持つ
⇛排他制御

3層スキーマ

・外部スキーマ
個々のプログラムやユーザ、アプリケーションからみたデータを定義する

・概念スキーマ
実世界のデータを抽象化してデータの論理的な構造を定義する。データとデータの関係(リレーションシップ)を表現する論理データモデルに相当

・内部スキーマ
データを外部記憶装置上にどのような形式や編成で記憶するかといった物理的な構造を指定する

VPN

通信内容の暗号化などを利用して、インターネットを仮想的な専用ネットワークとして利用する方法。第三者の侵入や妨害を受けにくくなる。

ハンディターミナル

FA用で使用する片手で持てるデータ端末装置の総称。業務用として利用される

MDM(Mobile Device Management)

モバイルデバイス管理のこと
企業等で従業員に支給する情報端末の設定等を統一的に管理する。利用できる機能の制限や紛失時の遠隔ロック、セキュリティ設定などを行う

DevOps

Development(開発担当者)tとOperations(運用担当者)を組み合
わせた造語であり、開発担当者と運用担当者がお互いに協力してシステムの開発・リリースを的確に行おうという考え方

ブロードキャストストーム

ネットワークが終端を持たず循環するような構造だと、ブロードキャストで配信されたデータが同じネットワークを同じ経路で回り続け、ブロードキャストのデータで通信域が占領されてしまい、通信ができなくなってしまうこと。

C2C

インターネットオークション等の一般消費者同士の取引

M2M

機械と機会が通信ネットワークを介して情報をやり取りし、自律的に高度な制御や動作を行うシステム

非構造化データ

ソーシャルネットワークへのフリーテキストで投稿された書き込みなど、データ同士の関係が不明瞭なデータ

SaaS

Software as a Service
クラウドサービスの一種
業務アプリケーションなどソフトウェアを提供

PaaS

Platform as a Servis
クラウドサービスの一種
仮想マシン等のプラットフォームを提供

HaaS

Hardware as a Service
クラウドサービスの一種
仮想ディスクのハードウェア・リソースを提供

IaaS

Infrastructure as a Service
クラウドサービスの一種
HaaSと同じような意味で用いられ、ハードウェアに加え、ネットワーク等のインフラストラクチャも提供

DaaS

Desktop as a Service
クラウドサービスの一種
仮想デスクトップ環境を提供

IT経営ロードマップ

「見える化」「共有化」「柔軟化」の3段階で整理したもの

要件定義

システムやソフトウェアの開発において、ユーザの現状の業務について調査分析を行い、実装すべき機能や満たすべき性能などを明確にしていく作業のこと

BRP

Business Process Re-engineering
顧客満足の視点から業務のプロセスを再設計し情報技術を十分活用して企業の体質や構造を抜本的に変革すること
また、これを継続して改善して改善していく管理手法をBPM(Business Process Management)という。

ホワイトボックステスト

作ったプログラム(モジュール)の内部構造に着目してテストする方法。条件分岐や繰り返しといった論理経路を通るように試験を行う。
テスト対象が小さいときに効果が高い。

ブラックボックステスト

・テストするプログラム(モジュール)がどのように作成されているかなど内部の構造を考慮しないでテストする方法
・プログラム設計において作成したプログラム仕様書1個1個のプログラムがちゃんと動くかをもとに記述されている機能が動作するかをテストする。
・テスト対象が大きい場合における組み合わせ部分のバグの摘出のときに効果が高い。

※デシジョンテーブルテスト・・・テスト対象の仕様をデシジョンテーブル(※)で整理し、テストケースとして利用する技法
※デシジョンテーブル・・・複数の判断条件の正否の組み合わせを列挙し、それぞれの場合についてどのような判断を下すかを一覧にまとめた表。

グレーボックステスト

ホワイトボックスのように内部構造を知った上でブラックボックステストのように、機能しようから見た動作をテストする方法。

外字コード

もともとコンピュータの登録されていない文字を、利用者が独自に字形を設定して追加した文字のこと

IT投資の三段階

1.構想・企画時
2.実行計画承認時
3.開発完了時

IT投資の3つのタイプ

1.インフラ型
2.業務効率型
3.戦略型

IT投資のコスト配賦

・各システムの電源使用量
・事業規模(売上高?営業利益?)
・使用人数(システム数?データ入力数?)
・取扱データ数(コールセンターの記録?データ更新回数?データ入力数?)

バッチ処理

処理に必要な情報を集めて、都合が良い時に一括に処理を行う方法がバッチ処理
⇛給与計算等(一気に情報を集めて処理みたいな感じ)

センターバッチ:必要なデータを直接コンピュータへ持参し実行する方式

リモートバッチ:リモートの回線を使ってデータを計算センターに送る方式

リアルタイム処理

その都度その都度データのやり取りをする感じ
⇛銀行の ATM や、新幹線・航空機などの座席予約システムなど(タイムリーな情報が必要)

①オンライン処理
ネットワークを通じて端末機から送られてくるデータをホストコンピュータで処理し、結果を端末に返送する方式
⇛照会更新処理
⇛システム制御処理
⇛メッセージ交換処理
※バッチ処理と比較して開発コストやシステム規模が大きく、故障などの被害が甚大

②リアルタイム処理システム
ネットワークを通じて端末機から送られてくるデータをホストコンピュータが要求された時間内に処理して返送する方式
例)飛行機の座席予約や銀行口座からのお金の入出金

分散処理

処理を分散させてコンピュータへの負荷の軽減と故障した場合のリスクの軽減を図る。

(1)水平機能分散システム
企業の管理区分に従って処理するコンピュータを分割して、負荷軽減を図るシステム
⇛水平に分散しているが、自部門だけのプログラムを管理すれば良い

(2)水平負荷分散システム
同じアプリケーションを複数のコンピュータで実行可能として、処理要求がどのコンピュータでも処理できるようにする構成。
⇛みんなでシェアみたいな感じ。各コンピュータの負荷が少なく、障害に対する対応力にも優れている。

(3)垂直機能分散システム
階層ごとに管理するシステム
※クライアント・サーバシステムは垂直機能分散システム

補足
☆グリッドコンピューティング
ネットワーク上で多数の小型コンピュータをつなぎ、それを仮想的な1台の高性能コンピュータと見なすシステムの方式。
分散処理の形態の一種。

☆シンクライアント
クライアントに最低限の機能しか持たせず、サーバが集中的にアプリケーションやデータなどの資源を管理する方式。
集中処理の一種。

クライアント・サーバシステム

クライアント:利用者が直接利用してデータ要求や処理を行うコンピュータ

サーバ:データやプログラムの補完やサービスを提供するもの

ファイルサーバ⇛ファイルを共有して利用
プリンタサーバ⇛プリンタを共有してネットワークから使えるようにする
データベースサーバ:データベースを管理する
Web サーバ:WEB 用の仕組みを構築する
など

2層クライアント・サーバシステム

クライアントとサーバの2層に分かれたシステム

サーバ:データのみ存在
クライアント側の PC:アプリケーションの実行を含め、 様々な処理を行う必要あり。高度な性能が要求される。

サーバやアプリケーションの変更がる場合
⇛全てのクライアント PCを修正する必要があり、運用が大変

3層クライアント・サーバシステム

層を
「データ層」:サーバ(データベース)
「アプリケーション層」:サーバ(Webサーバ)
「プレゼンテーション層」:クライアントPC
の3つに分割。

・データ加工など、負荷のかかる作業をサーバ側で実施
⇛サーバ・クライアント間の通信量を削減することができる。

・それぞれの層が独立した構成をとっている
⇛一方の変更が他方へ波及することも少なくなり、保守性も良い。

Webアプリケーションの開発言語

①HTML
・WEB ページを記述するためのマークアップ言語。
・文字情報だけでなく(文字を太くとか、赤くとか)、画像や音声、動画などを含んだ文章を扱う。他の文章へのリンクなどもできる。

②HTTP
・クライアント( WEB ブラウザ)と WEB サーバ間の通信手段として用いられる

③XML
・HTML と同様、文書やデータ構造などを記述するマークアップ言語
⇛独自の「タグ」を指定できることが HTML と異なる
※「タグ」
WEB ページ特有の記述方法で、元の文章を「<」と「>」で囲むことにより書式や文字飾りなどを定義するもの。
・XML を使用することにより企業間データ交換や WEB サービスなど、インターネットを介したデータ交換が容易になる。
※DTD ( Document Type Definition)、定義言語
⇛多数の人とデータ交換する場合の共通のルール。

・妥当なXML文書:DTDに対して完全に適合したXML文書

・整形式のXML文書:DTDが与えられていないか、DTDに適合しないが基本的な構文がXMLの仕様に適
合するXML文書

④ebXML(electronic business XML)
・電子商取引( EDI )の国際標準規格。

⑤XBRL(eXtensible Business Reporting Language)
・企業の財務諸表等を記述するためのXMLベースの言語。

⑥CGI(Common Gateway Interface)
・WEB サーバが、 WEB ブラウザからの要求に応じてプログラムを起動するための仕組み
・プログラムの処理結果に基づいて動的に文章を作成し、送出することができるようになった。
利用例
訪問者のカウントを行っている、アクセスカウンタなど
Perlがよく使われている。

⑦Java
・Webの開発でよく使われる言語
・特定のハードウェア(CPUなど)やOSに依存せずに動作するという特徴を持つ。
・JavaプログラムをJVM(Java Virtual Machine)と呼ばれるソフトウェアで機械語に変換することによって実行する。
⇛JVMが環境の違いを吸収するため、特定のハードウェア(CPUなど)やOSに依存せずに動作することが可能。

⑧クッキー
・Web サイトにアクセスした時の情報を利用者のコンピュータに保存し、次の利用の時そのクッキーを利用。
※Webサーバがクライアントに渡すメモみたいなもの(また来る時これ渡してねーみたいな)

⑨Perl
・CGI の開発によく使用されるプログラム言語
・テキスト検索や抽出、レポート作成などに適している
・インタプリタ型の⇛コンパイルなどの処理が不要。

⑩JavaScript
・Web2.0に代表される新しいWebアプリケーション開発に必要不可欠な言語
・Web ブラウザ上で動作するクライアント側のスクリプト(簡単なプログラム)に使用される。

⑪LAMP
・データベース連動型のWebアプリケーションを開発するのに利用されるオープンソースソフトウェアの組み合わせ

OS:Linux
Webサーバ:Apache
データベース:MySQL
プログラミング:PHP、Perl、Python

⑫オーサリングツール
・文字や画像、音声、動画などの要素を組み合わせて、一つのソフトウェアやコンテンツ作品を作成するためのソフトウェア
・HTMLとは異なり、マウス操作など直感的な方法で、視覚的に作業を進めることができる
(例)
・ホームページビルダーやAdobe Dreamweaver

Webサービス

Web サーバが提供するソフトウェア機能をネットワーク経由で他の Web サーバなどから利用できるようにするインターネット技術のこと

Webサービスを利用するのに必要な要素
①Web サービスを探索する。⇛UDDI
②Web サービスの利用する方法を知る。⇛WSDL
③Web サービスを利用する。⇛SOAP

①UDDI(Universal Description, Discovery, and Integration)
・XML を応用したインターネット上に存在する Web サービスの検索・照会システム

②WSDL(Web Services Description Language)
・ウェブサービスを呼び出すためのインターフェースを記述する XML ベースの言語
・Web サービスがどのような機能を持つのか、それを利用するためにはどのような要求をすればよいのか、などを記述する方法が定義されている

③SOAP(Simple Object Access Protocol)
・他のサーバが提供するサービスの呼び出しや、サーバ間での XML データの交換を実現するための、 XML をベースとしたプロトコル(通信規約)
・これでサービスを利用できる

Web 2.0

これまでの WWW とは異なる新しい発想に基づく Web 関連技術や、 Web サービスなどの総称
Web を OS のようにプラットホームとして振る舞うようになり、その上にある情報や機能が自由に加工できるようになり、コンテンツやサービスが利用者により作成できるようになったもの
⇛Wiki
⇛ブログ
⇛SNS
⇛RSS

ファイルの編成

①順編成
書き込んだ順番にレコード(データ)を記録するファイル編成
格納効率は良くなるが、先頭のレコードから順に読み込んでいく必要があり、特定のレコードへ直接アクセスすることができない

②索引編成
順編成ファイルに目的のレコードにアクセスできるための索引を付けたファイル編成
(名前を付けている!)

③直接編成
レコードが記録されている場所を指定して、特定のレコードを直接アクセスすることができるファイル編成
特定のレコードへ直接アクセスすることはできますが、順番にアクセスすることができない。(番地しかない感じ。順番などない)

④区分編成
レコードのキーとなる項目によって索引を作り、キー項目を指定することで特定のレコードへのアクセスが可能となるファイル編成。
レコードを順番にアクセスすることも可能。
(ある規則?グループ?で整列させている感じ)

⑤VSAM編成
仮想記憶方式の OS 上で利用されるファイル編成
順編成ファイル、直接編成ファイル、索引
編成ファイルの3つのファイル編成法を統合して効率的なアクセスを実現したファイル編成

圧縮技術

・ランレングス圧縮
連続して現れるデータを、繰り返しの回数で置き換えることによりデータ量を削減する圧縮方式
(例)
「AAAAAABBBBBCCCCCCCC」⇛「A6B5C8」

・非可逆圧縮
画像や音声、映像などの圧縮の分野におけるデータにある程度の損失が出ることを許容する圧縮方法

ストリーミング

データを受け取りながら再生をする方法
⇛ダウンロードコピーを防ぐことが可能

※インターネット上で著作権を厳密に保護するためには、ストリーミング技術に加え、 DRM などの技術が必要

MP3

現在最も利用されている高圧縮音声形式で、MPEG1の音声圧縮規格の1つ。
音楽CD 並みの音質を保ちながら、12分の1程度の容量に圧縮できる。

AR(Augmented Reality:拡張現実)

カメラを通してディスプレイに映し出される「現実」のビジュアルをディスプレイ上でタッチするだけで、
そのビジュアルにテキストや画像、3Dオブジェクトなど、さまざまな情報を重ね合わせて表示したり、逆にユーザーがその場所の情報を登録し他のユーザーと共有したり、メッセージを交換できる技術のこと

UI / UX

UI(User Interface)
ユーザとサービスとの接触面のこと。
ホームページの場合、画面デザインやフォントなど、ユーザの視覚に触れるすべての情報が該当する。
UX(User Experience)
ユーザが、サービスを通じて得られる体験のこと。
ホームページの場合、「画面デザインが美しい」「フォントが読みやすい」といった、ユーザの経験がUX。

データベース

・データベースの3層スキーマ構造
※スキーマ・・・データの性質、型式、他のデータとの関連などのデータ定義の集合
⇛外部スキーマ
念スキーマで定義された論理データから必要なデータを取り出したもの
VIEW
(ユーザーから見たデータベース)

⇛概念スキーマ
DB上の論理データ。
DBに保持するデータの要素およびデータ同士の関係を定義
TABLE
(開発者からみたデータベース)

⇛内部スキーマ
概念スキーマで定義された論理データを具体的にどのようにDBMS(データベース管理システム)内部に格納するかを定義
(DBMSから見たデータベース)

・データベースの種類
①階層型
データを親子関係として表現するツリー構造で表現
親は複数の子を持つことができるが、子は一つの親しか持つことができない

②ネットワーク型
階層型と類似したモデルであるが、子が親を複数持てるという点に違いがある。

③リレーショナル型
データの集まりを行と列からなる表形式で表現。
階層型やネットワーク型と異なり、親子関係はないためシンプルな構造となる。

データベース管理システム(DBMS:DataBase Management System)

データベースと利用者の間に介在し、データベースに蓄積されたデータを利用者が利用しやすいようにするためのソフトウェア

データベース管理システムの機能
①データベースの管理機能

(1)データベースの定義や操作を管理する機能。
(2)トランザクションを管理する機能。

※トランザクション・・・途関連する複数の処理を1つの処理単位としてまとめたもの
以下のような4つの特性(ACID特性)がある。
・原子性(Atomicity):処理の終了は、「全てが処理されるか」、「全く処理されないか」のどちらか
・一貫性(Consistency):処理する前と処理した後の状態でデータベースの内容の整合性が取れる。
・隔離性・独立性(Isolation):複数のトランザクションを同時に処理しても他のトランザクションから影響を受けない。
耐久性(Durability):処理が完了すれば、障害が起きたとしても、その状態に変化が無い

②同時実行制御機能(排他制御機能)
同時に同じデータを更新しないように、データをロックし、他の利用者からデータを更新できないようにすること
⇛複数の利用者、プログラムから利用されるため同じデータを更新する場合、二重更新という問題が発生する可能性があるため。(矛盾が発生する)

③障害回復機能
障害が起きた場合にデータを復旧するようにすること
⇛定期的にバックアップファイルとジャーナルファイル(ログファイル)を保存・更新する必要がある。
バックアップファイル:データベースの内容をコピーしたもの。
ジャーナルファイル:データベースの更新内容や更新データを時系列で保存したファイル

バックアップ

(1)ロールバック処理
更新前のデータに戻すために、ジャーナルファイル(ログファイル)を用いて、障害発生時点の処理を取り消し、障害発生時点の処理を行う前の状態に復旧させる処理

(2)ロールフォワード処理
障害直前のデータを再現するために、バックアップファイルでバックアップ時点の状態に復旧し、ログファイルを用いてバックアップ後の処理を再現しデータを更新する処理

(3)バックアップ処理
バックアップのとり方。以下の3つ
(ⅰ)フルバックアップ
データ全体をコピーするバックアップ。
バックアップ媒体容量:大

(ⅱ)増分バックアップ
直前のバックアップから増えた分のみバックアップ。
障害が発生した時には、フルバックアップファイルデータを復元した後、増分バックアップファイルで更新し、最新の状態に戻す。

(ⅲ)差分バックアップ
フルバックアップとの差分をバックアップ。
障害が発生した時には、フルバックアップファイルデータを復元した後、最新の差分バックアップファイルで更新し、最新の状態に戻す。

リレーショナルデータベース

表形式でデータを考える
候補キー:表の中から行(レコード)を特定するための属性

主キー:候補キーの中で設計者が任意に選択した一つの候補キーのこと

外部キー:一方の表では主キーであるが他方の表では属性としてはたらくキー

ER図

エンティティ( Entity:実体)とエンティティ間のリレーションシップ(Relationship:関係)を図示したもの

①エンティティ
現実世界の人や物、場所といった人間が認識できる事象を表した実体のこと。
②リレーションシップ
エンティティ間の関係。関係には1対1、1体多、多対多などがある。

正規化

データの重複や矛盾が発生しないようにすること
以下の手順にて行う
1. 第1正規化
繰り返しが発生している項目を排除する→第1正規形

2. 第2正規化
主キーの一部に従属する項目を別表に分離する→第2正規形

3. 第3正規化
主キーに従属していない項目を別表に分離する→第3正規形

※非正規形
まだ正規化を行っていない状態のこと

第1正規化

繰り返しが発生している項目を排除し、主キーの特定をおこなう。

第2正規化

主キーが複数の項目の組み合わせとなっている表に注目し、主キーに対し部分従属(※)になっている項目を別表に分離

※部分従属:主キーとなっている複数の項目のうち、一部の主キーにのみ従属している

第3正規化

それぞれの表で主キーでない項目に注目し、新たに主キーとなるべきものがないか探し、新たな主キーに従属する項目を別表に分離する。

NoSQL

「Not only SQL」という意味
リレーショナルデータベース(RDB)でデータ検索に用いる言語であるSQLを用いないデータベースのこと
RDBは表形式でデータを管理する⇛スキーマを厳密に定義する必要、煩雑でデータが膨大になり処理が遅くなる
⇛ビッグデータに不向き!

SQLにあえて頼らないデータの検索方法により、大規模データや複雑なデータに対して柔軟な対応を取れるようにする。

SQL

リレーショナルデータベースで利用されるデータベース言語
以下のような種類がある。

・ DDL(Data Definition Language:データ定義言語)
・ DML(Data Manipulation Language:データ操作言語)
・ DCL(Data Control Language:データ制御言語)

p.95参照

EA(Enterprise Architecture)

大企業や政府機関などの巨大な組織(Enterprise)の業務手順や情報システムの標準化、組織の最適化を進め、効率よい組織の運営を図るための方法論

BI(ビジネスインテリジェンス)

業務システムに蓄積されたデータを分析・加工して、各種の意思決定に有用な知識を生み出すという概念や仕組み

DSS
データウェアハウス(DWH)
OLAP
データマイニング
が挙げられる

データウェアハウス(DWH:Data Warehouse)

時系列に蓄積されたデータを意思決定支援のために用いる、全社規模の統合データベース
warehouse:倉庫
データを大量に蓄え、整理し、迅速に、
欲しいデータを取り出すことでビジネス上の意思決定に利用することが目的
※以前は欲しいデータのみ保存。DWHはすべて保存。
以下の特徴を持つ
(1)サブジェクト指向(テーマに沿った見方ができる)
(2)統合型(全社データ)
(3)恒常的(いつでも見ることができる)
(4)時系列(発生順に見ることができる)
(5)非更新性(データは、更新されることなく蓄積されたままの状態である)

OLAP(Online Analytical Processing:多次元分析)

データウェアハウスなどの多次元データベースを解析し、解析結果を視覚化するシステム
エンドユーザが直接操作して解析する点に特徴を持つ

以下の基本操作を繰り返し多次元分析を行う。

・ダイジング
ダイス(サイコロ)を転がすように多次元データベースの軸を入れ替えて、軸の異なる様々な2次元の表を作成する操作。

・スライシング
多次元データベースの項目のうち二つを指定して二次元の表を作成し、データを参照すること。
例えば、 「期間」「地域」「製品」という項目があるデータベースで、「製品」と「地域」を指定して「製品別地域別売上比較表」を作成する操作。

・ドリリング
多次元データベースの階層を変えてデータを参照すること。
例えば、「期間」の項目で、年から月、週と詳細なデータを参照する操作をドリルダウン、逆の操作をドリルアップという。

データマイニング

マイニング(mining):発掘する
企業に大量に蓄積される膨大な量の生データの解析を通じて、経営やマーケティングにとって必要な傾向・動向、相関関係、パターンなどを導きだすための技術や手法のこと

①データマイニング手法
(1)知識発見
データマイニングはデータベースに蓄積された大量のデータの中から、新たな「知識」を発見することを目的としている。
「知識」:将来の予測値、データ間の相関関係なども含まれる。

(2)統計解析
統計解析手法には以下のようなものがある。
(a)相関分析
データベースに蓄積された大量のデータから、相関の強いデータの組み合わせを発見する。
例えば、過去の購買履歴から「ビールを購入する顧客は紙おむつも一緒に購入する傾向が強い」という関係を発見する。

(b)回帰分析
過去の実績値から将来の予測値を求める。
例えば、過去の販売実績から、回帰分析により将来の需要を予測する。

※OLAPとデータマイニングの違い
OLAPは仮説検証型の分析手法であるのに対して、データマイニングは発見型の分析手法である点が異なる。

(1)OLAPを利用する例
作成した戦略代替案について、設定した仮説が正しいかどうかを検証し、経営戦略の絞り込みをする。
⇛こう戦略策定した。結果は?

(2)データマイニングを利用する例
データベースから新たな知識を発見し、これを基に新しい経営戦略やビジネスモデルを策定する。
⇛データが有る。これから良くするため(新しいものを起こすため)には?

参考
☆IT-VDM(Value Domain Model)/VOM(Value Oriented Management)
価値指向マネージメン トを実現するためのフレームワーク。
(独)情報処理推進機構 ソフトウェア・エンジニアリング・センター( IPA/SEC)が2008年度にまとめたもの。

IT-VDM:情報システムやソフトウェアに関する活動のあらゆる局面での価値に関する普遍的な考え方をモデル化する
IT-VOM:実際にモデルを適用するための管理手法

OSI基本参照モデル

ISOが異機種間接続を円滑にするために策定したプロトコルであり世界標準のもの

通信プロトコル

端末機器同士が通信するために、予め取り決められた約束事のことで、「通信規約」とも約される。
通信を会話に例えた場合、プロトコルを言語、音声や文字をデータ形式と表現することがある。

通信体系:TCP/IP
プロトコル:IP、ICMP、TCP、UDP、HTTP、TELNET、SNMP、SMTP

通信体系:NetWare
プロトコル:IPX、SPX、NPC

通信体系:AppleTalk
プロトコル:DDP、RTMP、AEP、ATP、ZIP

TCP/IP

インターネットなどのネットワークで用いられる各種プロトコル群(国際基準ではなくデファクトスタンダード)
ネットワークにはTCP/IPとOSI参照モデルがあるが実装が容易なのでTCP/IPが用いられる。

TCP:通信順序、応答確認、データ再送信などを制御。
IP:ネットワーク上の伝送経路選択、パケットサイズ変換などを行っている。

アプリケーション層
何のサービスを使うか?

トランスポート層
配達証明+ポート番号

ネットワーク層
IPアドレス探索

データリンク層
MACアドレス探索

物理層
電源が流れているかの確認

MAC(Media Access Control)アドレス

・ネットワークに接続されている端末機器を識別するための情報。6バイト(48ビット)で表記される。

・先頭の24ビットが製造メーカー番号、あとの24ビットが製品固有の番号

・各MACアドレスは世界で一意の番号(一つだけの番号)となっており、データリンク層において、通信を行う際の送信元や宛先指定のためなどに利用される。

IPアドレス

インターネットでデータを送受信するための送り先を特定する情報のことで住所のようなもの。
サブネットマスクとのセットで用いられる。
同一ネットワーク内の通信端末に対して重複するアドレスを付与する事はできない⇛通信を行う際の送信元や宛先指定のためなどに利用

※サブネットマスク
IP アドレスをネットワーク部とホスト部(端末)に分別するために用いられる。また、CIDR表記では、ネットワーク部に割り当てられるビット数を「/」の後に表記する(例:211.11.0.1/16)。

参考
IPアドレス枯渇問題(IPv4とIPv6)
現在のIPアドレスのシステムはIPv4であり、その組み合わせは43億通り
⇛IPv6への移行が進む。2の128乗個のアドレスが利用可能となり枯渇の心配がなくなった

CIDR方式

IPアドレスの後ろに/を付けて、/の後ろにネットワーク部のビット数(ネットワーク部の長さ、プリフィックス長)を表記する

電子証明書

○利用者証明用電子証明書
インターネットサイトやコンビニ等のキオスク端末等にログインするときに利用。
⇛ログインした人物が、利用者本人であることを証明する

○署名用電子証明書
インターネット等で電子文書を作成、送信する時に利用
⇛作成、送信した電子文書が、利用者が作成した真性なものであり、利用者が送信したものであることを証明する。
・基本4情報(氏名、住所、生年月日、性別)が含まれる。

TCP/IPのプロトコル

・ARP
IPアドレスとMACアドレスを対応づけるプロトコル。相手のIPアドレスは分かっているが、MACアドレスが未知の場合、そのMACアドレスを取得するのに使用される

・MINE
電子メールで送受信できるデータ形式として、テキストだけでなく画像、音声なども扱うことができるプロトコル。電子メールの拡張規格。

フレーム/パケット

フレーム:パケットに MACヘッダとトレイラを付加し、入れ子構造

ポート番号

トランスポート層において、通信を利用しているアプリケーションの識別を行うために用いられる番号
トランスポート層のプロトコルである、TCP や UDP のヘッダとしてポート番号を付加し、その番号により利用しているアプリケーションを識別する。

・ウェルノウンポート番号
HTTPやFTPなどのTCP/IPネットワーク上で利用頻度が高いプロトコルは、あらかじめポート番号が決められている。これをウェルノウンポート番号(Well-Known Port Number)と呼び、0~1023までの番号が割り当てられている。

LAN(ローカルエリアネットワーク)

部門内や建物内等の狭い範囲でデータ共有等を行うネットワーク
※WAN・・・異なる建物間等の遠隔地間で、データ送受信や情報共有を行う通信網

伝送形態
①より対線ケーブル
※ツイストペアケーブル(Twist Pair Cable)とも呼ばれる
絶縁した複数の銅線を内部でねじり合わせて作られている
・STP(Shielded Twisted Pair Cable)
ケーブルの外被の下にシールドあり。
ノイズに強いが加工が困難で高価格
・UTP(Unshielded Twisted Pair Cable)
ケーブルの外被の下にシールドなし

②同軸ケーブル
心線に銅線を用い、その周辺を絶縁体、金属メッシュ、塩化ビニールなどの保護材の順番で囲んだ、ノイズに強い構造のケーブル

③光ケーブル
光ファイバにより作られたケーブル
高速伝送や長距離伝送を行う際に用いられる

ネットワークトポロジー

LAN の接続形態
①バス型
バスと呼ばれるケーブルに、全ての機器を接続する形態
⇛バスに異常があるとネットワークの通信ができなくなる

②リング型
リング状にケーブルをつないで機器を接続する形態。データの流れは一方向。
⇛リングの一部に以上があると通信ができなくなる。

③スター型
全ての機器がサーバあるいはハブを中心に放射状に接続されている。
会社などで一般的に利用されている形式。
⇛中心にあるサーバあるいはハブが故障するとネットワークの通信ができなくなる。

無線LAN

規格
IEEE(Institute of Electrical and Electronic Engineers:米国電気電子学会)によって、
IEEE802.11シリーズとして決められている。

通信モード
以下の2つがある。
(1)アドホックモード
無線LANクライアント同士がアクセスポイントを介さずに直接通信を行う方式。
(2)インフラストラクチャーモード
無線LANクライアントが、アクセスポイントを介して通信を行う方式。

接続サービス
(1)Wi-Fi(Wireless Fidelity)
Wi-Fi アライアンスという米国の団体が定めた、無線LAN規格のIEEE802.11による通信規格。

(2)WiMAX(Worldwide Interoperability for Microwave Access)
広帯域無線アクセス技術の一つで、人口希薄地域や、移動通信を想定した無線通信の規格。
最大半径50kmの広範囲において最大約75Mbpsの通信が可能。
モバイル機器(スマートフォンやゲーム機など)を想定した規格を、モバイルWiMAXという。

インターネット

①WWW(World Wide Web)
インターネット上で情報を共有する仕組み
Webブラウザを用いて
URL:文書や画像などの保存場所を示す
HTTP:データをやり取りする際の規約
HTML:ホームページなどの文章を記述する
MINE:データの形式を指定する
で構成

②DNS(ドメインネームシステム)
URLが本来であれば IP アドレスで指定すべきインターネット上のリソースの住所を、意味のある文字列で表現することができるようになる。
(例)
IPアドレス:211.192.15.××
⇛URL:http://www.○○○.co.jp

③FTP
インターネットなどのTCP/IPネットワークでファイルを転送するのに使われるプロトコル
Web サーバへ蓄積しておく情報をアップロードやダウンロードする場合に利用する。

④NFS
ファイルサーバ上のディスク領域にアクセスし、ネットワークを通したファイル共有を可能にするためのプロトコル

⑤電子メール
送信用プロトコル( SMTP )と受信用プロトコル( POP3、IMAP4等)を用いて、メールサーバを介して送受信を行う。

グローバルIPアドレスとローカルIPアドレス

グローバル IP アドレス
インターネットに接続しているホストの IP アドレス

ローカルIPアドレス
社内、組織内で一意なもの

企業内 LAN にあるコンピュータがインターネットに接続する際
コンピュータが持つローカル IP アドレス
⇛LAN が持つ一つのグローバル IP アドレスに変換してインターネットに接続。

変換機能
・NAT( Network Address Translation)
ローカル IP アドレスとグローバル IP アドレスを1対1で変換

・IP マスカレード or NAPT
複数台のコンピュータのローカル IP アドレスを同時に変換(1対多数)

イントラネット

インターネット技術を用いた企業内システム。intra(内部の)インターネットという造語
⇛クライアントはwebブラウザさえ持っていれば文書の共有や電子掲示板、ワークフローシステムを低コストで利用できるメリット。

☆エクストラネット
インターネット技術を用いて、異なる企業間のイントラネット同士を接続し、情報交換や取引に利用するネットワークシステム

☆VPN
インターネット上に構築する仮想LAN システム
ネットワークに特定のプロトコルや暗号化技術を利用することで、組織外のユーザがネットワーク上を流れるデータにはアクセスできないようにしている。
IPsecやL2TP:プロトコルを端末側で設定することでVPNを構築する方法

IP-VPN:通信業者が提供するVPN

ネットワーク管理のプロトコル

・DHCP(Dynamic Host Configuration Protocol)
ネットワークに接続されるコンピュータに、 IP アドレスなどの必要な情報を自動的に割り当てる役割を果たすためのプロトコルまたは仕組みのこと

☆・SNMP(Simple Network Management Protocol)
代表的なネットワーク管理用のプロトコル
ネットワークに接続された通信端末の構成管理、障害管理、性能管理を行う。
管理対象となる通信端末では、MIB(Management Information Base)と呼ばれる情報を保有する。

システムの信頼性の指標(RASIS)

①信頼性(Reliability)
コンピュータシステムの故障しにくさを表す指標。
を示すMTBF(Mean Time Between Failures:平均故障間隔、故障から次の故障までの平均時間)を指標とする。

MTBF= システムの稼働時間の合計/故障回数

②可用性(Availavility)
コンピュータシステムを利用できる可能性を表す指標。
稼働率(システムが利用できる確率)を指標とする。

稼働率 = MTBF / (MTBF + MTTR)
= 稼働時間 / 評価対象時間の合計

また、システムが直列か並列かでその値が異なる。
以下の例では3つのシステム(A,B,C)があるとする。
直列の場合:どれか一つでも故障すればダメになる

全体の稼働率 = 稼働率A ✕ 稼働率B ✕ 稼働率C

並列の場合:どれか一つでも残っていればいい

全体の稼働率 = (1 - 稼働率A) ✕ (1 - 稼働率B) ✕ (1- 稼働率C)

③保守性(Serviceability)
保守のしやすさを表す指標。
MTTR(Mean Time To Repair:平均修理時間、コンピュータシステムが故障してから利用できるまでの平均時間)を指標とする。

MTTR = システムの修理時間の合計 / 故障回数

↑これらでSASとも呼ばれる

④整合性(Integrity)
コンピュータシステムの整合性をどの程度保つことができるかを表す指標。
一部の機器故障やデータの紛失が生じても、正常動作している機能まで侵害しないことや、データを矛盾なく復旧させることができるようにすることが、整合性の高さに影響する。

⑤安全性(Security)
データが簡単に流出しないようになっているかを表す指標。

フォールトトレランス

信頼性を高めるための方法

1.フェールソフト
ある装置にトラブルが発生した時に、そのトラブルが原因でシステム全体がダウンしないように、トラブルの影響範囲を最小限にするという考え方
デュアルシステム(システムの二重化)
デュプレックスシステム(待機システムの用意)
マルチプロセッサ(CPUの多重化)
(例)
飛行機のエンジン:一つが止まっても片側全部が止まらなければ墜ちることはない

2. フェールセーフ
装置にトラブルが発生した時に、安全な状態でシステムを停止させること
(例)
原子力発電所にて地震が発生したときに安全に停止させる

3. フォールトアボイダンス
故障や障害が生じないようにする考え方

レプリケーション

データベースを別のデータベースに複製して同期する、データベース管理ソフトウェア(DBMS)の一機能のこと

デュアルシステム

システムの冗長化による障害対策

・業務を完全に遂行できるひとかたまりのシステムを二重に装備する。
・処理や処理の相互チェックを常時並行して行う。
・並列システムとも呼ばれる。
・障害が発生した際には、障害を起こした系統を瞬時に切り離して正常なシステムのみで運転を継続することができる。
・2つのシステムを常備可動しているため、単一のシステムに比べると2倍以上の費用が必要となる。
・高い信頼性を要求されるオンラインシステムに用いられる。

デュプレックスシステム

システムの冗長化による障害対策

・複数のCPUや記憶装置を保有し、状況に応じて切り換えて使用するシステム構成のこと。

・主系:主に稼働させる CPUや記憶装置
・従系:主系に障害が発生した場合などに切り替える CPUや記憶装置

(1)コールドスタンバイ
通常時は、従系のシステムは電源が切られて待機しているか、または別のシステムの CPUとして稼働している状態のこと。
主系のCPUや記憶装置に何らかの障害が発生してから電源を立ち上げるなどの処理準備を始めるため、切り換えに時間がかかる。

(2)ウォームスタンバイ
通常時は、従系のシステムは OS は起動しているがアプリケーションは起動しない状態で待機していること。
主系のCPUや記憶装置に何らかの障害が発生した時は、アプリケーションを起動するだけで済むため、コールドスタンバイよりも迅速に切り替えることが可能。

(3)ホットスタンバイ
通常時から、従系のシステムはいつでも切り換え可能な状態で待機している。
主系に何らかの障害が発生した場合は、自動的に従系に切り替わるようになっている。
メリット:切り換えの時間がほとんどかからない
デメリット:経済性が低い

ロードシェアリングシステム

システムの冗長化による障害対策

・システムへの負荷(ロード)を分散(シェア)するための仕掛けを持ったシステム。
・業務の特性により、処理量が特定の時間外に集中し、1台のコンピュータでは処理能力が不足する場合に、処理能力に余裕のある他のコンピュータに割り振る仕組み。オペレーティングシステムがその判断をしたり、専用のハードウェアによって実現される。

RAID

複数のハードディスクを組み合わせて1台の仮想的なハードディスクとすることで、書き込み/読み出しの速度向上と信頼性の向上を実現させる技術。

①RAID 0(ストライピング)
データを分散して格納
ディスク1⇛データ1を保存
⇛ディスク2⇛データ2を保存
⇛ディスク1⇛データ3を保存・・・・
メリット:読み込み/読み出し速度が速い
デメリット:1台でも壊れるとデータの読み出しが不可

②RAID 1(ミラリング)
同一データを別々のディスクに保存
ディスク1⇛データ1を保存
⇛ディスク2⇛データ1を保存
メリット:信頼性が高い
デメリット:ディスクの使用効率が悪い

③RAID 5(ストライピング+パリティ分散)
パリティ(データの誤り検出・訂正を行うための符号)を分散して格納
メリット:読み込み速度が高速、ディスクが1台故障しても残りのディスクで復元可能
デメリット:書き込み速度が遅い

④RAID 10(ストライピング+ミラーリング)
RAID1(ミラリング)を並列にもつ
メリット:読み込み/読み出し速度が速い、信頼性が高い
デメリット:コストがかかる

経営情報システムの変遷

1.1960年以前
○EDPS(Electronic Data Processing System:データ処理支援システム)
・これまで手作業で行っていた業務をコンピュータに置き換え、事務作業の効率化を目的とした情報システム。
対象者:一般社員

2.1960年代
○MIS(Management Information System:経営情報システム)
・業務機能に応じた複数のサブシステムを統合し、データ処理を行うとともに、経営者が必要とする経営情報を必要な時に必要な形態で提供しようという目的。(下から上へデータが流れていく感じ)

対象者:一般社員、管理職、経営者

※本来の目的であった経営情報の提供という点では実用レベルに達することができず、別名 MISS(失敗)とも呼ばれた。

3.1970年代
○DSS(Decision Support System:意思決定支援システム)
・MIS の反省に立ち、経営者が直接コンピュータを操作し、経営に必要な情報を得ることを目的とした対話型の情報システム。

対象者:管理職、経営者

4.1980年代
①EUC(End User Computing:エンドユーザ・コンピューティング)
・EUCは、情報処理の専門家でない部門におけるエンドユーザたちが、自分たちの情報ニーズを自分たちの責任において満たすもの。
パソコンの低価格化、ネットワーク技術の進展、グループウェアや電子メールなどの普及により、エンドユーザの情報処理能力が高まり、非定型的な意思決定の迅速化や情報の共有化に大きく貢献している。

対象者:一般社員

②SIS(Strategic Information System:戦略的情報システム)
・企業における情報システムの位置付けを大きく変えた。
・ 経営戦略と情報システムは密に関係するものであり、情報システムそのものを経営戦略として捉え、情報システムを経営戦略に活かすことが重要であるという考え。

対象者:一般社員の一部、管理職、経営者

5.1990年代
①BPR(Business Process Reengineering:ビジネスプロセス・リエンジニアリング)
・顧客満足の視点から、業務内容や仕事の流れ(ビジネス・プロセス)を抜本的に革新するという考え方。
・1990年代にマサチューセッツ大学のマイケル・ハマーらにより提唱。
・「コスト、品質、サービス、スピードのような、重大で現代的なパフォーマンス基準を劇的に改善するために、ビジネス・プロセスを根本的に考え直し、抜本的にそれをデザインし直すこと」。
⇛ これに基づき、ERP、CRM、SCMなどのシステムが開発された。

(1)ERP(Enterprise Resource Planning)
・企業全体の経営資源(人、モノ、金、情報)を有効かつ総合的に計画して管理し、経営の効率向上を図る手法。
・ERPに用いられるソフトウェアパッケージをERPパッケージという。

(2)CRM(Customer Relationship Management)
・ITを利用して顧客に関する情報を収集、分析し、長期的視点から顧客と良好な関係を築いて自社の顧客として囲い込み、収益の拡大を図る手法。

(3)SCM1(サプライチェーンマネジメント)
部品の調達から製造、流通、販売に至る一連のプロセス(サプライチェーン)に参加する部門と企業間で情報を共有・管理することで、業務プロセスの全体最適化を目指す手法。

(4)SFA(営業支援システム, Sales Force Automation)
・営業活動にITを活用して営業効率と品質管理を高め、売上・利益の大幅な増加や、顧客満足度の向上を目指す方法です。
・基本機能の1つであるコンタクト管理は、顧客訪問日、営業結果などの履歴を管理し、見込み客や既存客に対して効率的な営業活動を支援する。

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

・インターネットに接続された「雲」の向こう側のハードウェア、ソフトウェア、あるいはデータそのものといったIT リソース(資源)を必要な時に、必要な分だけ利用するもの。
・自分でコンピュータを保有するのではなく、インターネットにて利用するといったようなもの

サービス内容
①SaaS(Software as a Service)
業務アプリケーションなどソフトウェアを提供。

②PaaS(Platform as a Service)
仮想マシン等のプラットフォーム(システムの基盤となるハードウェア・ミドルウェア・OS)を提供。

③HaaS(Hardware as a Service)
仮想ディスク等のハードウェア・リソースを提供。

④IaaS(Infrastructure as a Service)
HaaSと同様の意味で用いられる。ハードウェアに加えて、ネットワーク等のインフラストラクチャーを提供。

⑤DaaS(Desktop as a Service)
仮想デスクトップ環境を提供。

参考
☆パブリッククラウド
広く一般の利用者に提供されるクラウドサービス。

☆プライベートクラウド
同一企業内または企業群に提供されるクラウドサービス。

☆グリッドコンピューティング
ネットワーク上で多数の小型コンピュータをつなぎ、それを仮想的な1台の高性能コンピュータと見なすシステムの方式。分散処理の形態の一種。

☆ユーティリティコンピューティング
コンピュータの利用量に応じ、必要なときに必要なだけ購入して、従量制で利用料金を支払う形態。

ASP ( Application Service Provider )

・ネットワークを活用したアウトソーシングの1つ。
・ERPなどの業務アプリケーションソフトを利用料を取る形で提供する。
⇛従来のアウトソーシングでは、ユーザごとにアプリケーションの運用を代行してきたが、 ASPは複数のユーザ企業が同一のアプリケーションを共同利用することで利用
価格を低く設定することが出来る。(みんなでシェア?)

①メリット
(1)システム構築の初期投資が不要。
(2)情報システムにかかる費用を変動費化できる。(従量制)
(3)利用者側でシステム構築する必要が無いので、アプリケーションを迅速に導入できる。
(4)利用料金が従量制であるため、利用するアプリケーションの変更、利用中止がしやすい。

②デメリット
(1)提供されるソフトウェアに自社の欲しい機能が備わっていない可能性がある。
(2)アプリケーションの所有権は ASP 事業者が保有するため、簡単に他社に乗り換えることができない。

IDC(Internet Data Center)

・情報システムを、高度なセキュリティや災害耐性を備えたデータセンター内で運用するサービスのこと。
・ホスティングサービスとハウジングサービスがある。

①ホスティングサービス
・IDCの建物内に設置した(IDCの)サーバや通信機器を貸し出すサービス。
・複数の企業で設備を共有することが多く、コストを削減できる。

②ハウジングサービス
・利用者の通信機器やサーバをIDCの建物内に設置し運用するサービス。
・ホスティングサービスに比べて、サーバなどの設備を利用者で用意するため、自由に構成することができる。

ITの戦略的導入のための行動指針

経済産業省が体系化したIT経営の実践に向けて企業経営者が取り組むべき事項

①経営戦略とIT戦略の融合
・CIO(最高情報責任者)の役割に関する内容。

②現状の可視化による業務改革の推進とITの活用による新ビジネスモデルの創出、ビジネス領域の拡大
・ITの活用によって業務の最適化実現の可能性を検討し、支援する。また、ビジネス上の課題や制約を克服し、新たなビジネスモデルの創出や、ビジネス領域の拡大(地理的な拡大・業際的な拡大)につながる可能性を検討する。

③標準化された安定的なIT基盤の構築
・まず、IT導入・活用における設計思想・構築ポリシーを定義し、ビジネスの環境変化に柔軟に対応できるような標準化された安定的なIT基盤を構築する。

④ITマネジメント体制の確立
・全社横断的な委員会やプロジェクトチームを組織し、IT化を進め、ITガバナンスを確立する。

⑤IT投資評価の仕組みと実践
・IT投資の効果は、直接効果だけではなく、間接的な波及効果も重視すること。
・IT投資の評価は事前・事後で実施し、PDCAサイクルを機能させて目標を達成する。
⑥IT活用に関する人材の育成
ITスキル標準などのガイドラインを活用し、IT活用に関する人材を育成する。

⑦ITに起因するリスクへの対応
ITに関連・起因するリスクを十分認識した上で、セキュリティ対策を実施する。

☆ITスキル標準(ITSS:IT Skill Standard)
経済産業省が定めている個人のIT関連能力参考を職種や専門分野ごとに明確化・体系化した指標のこと。
各種IT関連サービスの提供に必要とされる能力を明確化・体系化し、産学におけるITサービス・プロフェッショナルの教育・訓練などに有用な「ものさし」として提供する。

ITスキル標準では、ITサービスを11職種35専門分野に分類し、専門分野について最高7段階でスキル・レベルを設定している。

情報システム戦略立案の手順

① 経営戦略との整合性の確認
② 情報化範囲と方法論の確定
③ 情報化動向の調査と評価
④ 戦略課題と代替案の立案、分析
⑤ 情報戦略計画(書)の作成

IT経営を実現するために、「見える化」⇒「共有化」⇒「柔軟化」の順序で取り組むべきとしている。
・見える化
経営から得られる視点に基づき、現場の課題抽出と解決検討の材料につながるように、業務や情報を客観的に把握できるようにすること。
・共有化
現場で積み上げられた業務や情報の客観的把握の成果を、経営戦略上必要と思われる社内外の関係者間において、いつでも効率的に使えるような環境を作り上げること。
・柔軟化
「将来予測される外部環境の変化に対して、必要に応じていつでも自社の業務を柔軟に組み替えられるようにすること」
および「社内外の必要な情報を組み合わせて新たなイノベーションを迅速に創出できるようにすること」

ウォータフォール型開発モデル

・別名「V字型モデル」
・前半部分:「品質を埋め込む段階」
・後半部分:「品質を確認・検証する段階」
・滝の流れのように上流から下流へ、後戻りすることなく開発を進めていく開発モデル
・大型のシステム開発やユーザの要件が明確になっているシステムで利用される
デメリット:ユーザーの意見が反映されにくい

↓開発の流れ
①要求分析(要求定義)
どのような機能を実現するかを決める。
⇛ユーザの現状の業務について調査分析を行う
⇛新システムを策定してシステム化計画書、プロジェクト実行計画をまとめ、システムに対する要求をユーザから聞いて、要求仕様書にまとめる。

②外部設計
・基本計画でまとめた要求仕様を検討して要求内容を明確にしてシステムの機能を確定していき、外部設計書にまとめていく。
・要求仕様を検討し、新しく開発するシステムをいくつかのサブシステムに分割する。

③内部設計
・プログラムの処理を考える。
⇛画面構成と画面に表示された内容を印刷する帳票のレイアウト等を設計。

④プログラム設計・プログラミング
・内部設計に基づいてプログラムの開発を行う。

⑤単体テスト
・プログラムの動作確認。
作成したプログラムがシステムとして要求仕様通りに動作するか段階的にテストを行う。

⑥結合テスト
・複数のプログラムを結合させてサブシステム単位の機能でテストを行う。
・内部設計の内容が実現出来ているかを検証する。

⑦総合テスト(システムテスト)
・システム全体で機能や性能に問題が無いかを検証する。
・外部設計の内容を満たしていることを検証する。

⑧運用テスト・受入テスト
・顧客や第三者による受け入れ検証、実際の環境での検証、要求定義の内容を満たしているかを検証。
・要求定義に表現されていないと、システムとして実装されない。
⇛どのようなシステムにするかは開発初期の要求定義の質にかかっている。

結合テスト(モジュール集積テスト)

・単体テストが終了したプログラム(モジュール)を複数結合して動作の検証を行うテスト。
・モジュールの結合順序(上位モジュールから結合、または下位モジュールから結合)によりいくつかの方法がある。
増加テスト・・・トップダウンテストとボトムアップテスト
非増加テスト・・・ビックバンテストと一斉テスト
(1)ビックバンテスト
・開発すべき全モジュールの単体テスト完了後に全てのモジュールを結合して一気にモジュール集積テストを行う方法。
・小規模なシステム開発で用いられる。
・効率的だが、不具合が発生した場合にその箇所を見つけることが難しい

(2)一斉テスト
・単体テストを省略し、全てのモジュールを結合して動作を検証するテスト方法。
・小規模なシステム開発で用いられる。
・時間を短縮できるが、不具合発生時にモジュールそのものに不具合があるのか、モジュール間の結合に不具合があるのかなど原因を特定しにくい。

増加テストのほうが重要?

トップダウンテスト

・最上位のモジュールから、順次上位モジュールを結合しながらテストしていく方法。
※未完成の下位モジュールがあるために結合テスト(モジュール集積テスト)が実施出来ない場合・・・スタブと呼ばれるテスト用モジュールを使用。

図では上位モジュールAをテストする時、モジュールCが未完成⇛モジュールCのところでスタブを使用

ボトムアップテスト

・最下位のモジュールから、順次上位モジュールを結合しながらテストしていく方法。
※未完成の下位モジュールがあるために結合テスト(モジュール集積テスト)が実施出来ない場合・・・ドライバと呼ばれるテスト用モジュールを使用。

図では下位モジュールBとCをテストをする時、上位モジュールAが未完成⇛モジュールAの代わりにドライバを用意

総合テスト(システムテスト)

・全ての結合テスト(モジュール集積テスト)が完了後、システムが要件を満たしているか確認するためのテスト。
・総合テストは様々な角度からテストを行い、システム要件を満たしているかを検証する。

運用テスト(導入テスト)・承認テスト(受入テスト)・レグレッションテスト(退行テスト、回帰テスト)

①運用テスト(導入テスト)
・実際に運用する時と同じ条件・環境でテストを行い、システムが要求仕様を満たしているかどうかを検証する。
・ユーザ(社内の利用部門や納品先の顧客)が主体となりテストを行う。

②承認テスト(受入テスト)
・システム開発完了後にユーザ(社内の利用部門や納品先の顧客)へシステムを引き渡すときに行われるテスト。
・ユーザが主体となり、実際に業務を使用するデータや操作方法により、納品されたシステムが要求通りの機能や性能を備えていることを検証する。

③レグレッションテスト(退行テスト、回帰テスト)
・システム稼動後の保守などによるシステムの修正が、他の正常な部分に影響を及ぼさないかどうかを検証するためのテスト。

プロトタイプ型開発モデル

・システムの試作(プロトタイプ)をユーザに試用してもらい、要求や仕様を確認していく開発手法。
※主にウォータフォール型の「完成したら要望と違った」といった欠点を解決するために考案された手法。

試作品(プロトタイプ)を手早く開発して、開発の初期段階で要求や仕様などを確認して実用的なレベルにまで発展させていく。(顧客とのすり合わせ)

スパイラル型開発モデル

・ウォータフォール型とプロトタイプ型を組み合わせた開発モデルであり、システムの部分ごとに設計・プログラミング・テストの工程を繰り返していく開発手法
・大規模開発に向いている。

・開発するシステムを独立性の高いサブシステムに分割し、「設計」、「実装(作成)」、「テスト」、「評価」という一連のサイクルを渦巻き状(スパイラル)に繰り返しながら開発範囲を徐々に拡大していく。
⇛開発したサブシステムは、システムの利用者に評価(試用)してもらい、利用者の意見は次のサブシステム開発時に反映させる。

インクリメンタルモデル

・システムを独立性の高いいくつかのサブシステムに分割し、サブシステムごとに開発・リリースをする開発モデルです。
※サブシステムごとにウォータフォール型で開発を進めるというイメージ。

・システムの特徴
独立性が高いサブシステムに分割しているため、サブシステムを平行開発することができる。

・スパイラル型との違い
インクリメンタルモデルで開発したサブシステムはプロトタイプではなく、本稼動用のソフトウェア。(ウォーターフォール型の部分)

成長モデル

・最初に核になる小さなソフトウェアを開発し本番環境にて稼動させ、利用者からの変更要求や機能追加要求が来るたびに開発を繰り返すことによって、徐々にソフトウェアを成長させていく開発モデル。

メリット:利用者からの要求に対応しやすい
デメリット:開発管理が難しい

RAD(Rapid Application Development)

・要求仕様の分析、設計、開発、テストなどの全工程を利用部門の代表者を含めた少数精鋭のチームで担当することにより、開発期間を短縮する手法。
・プロトタイプ型、スパイラル型、 CASE ツールの利用など、様々な開発モデルや技法を使って開発の短縮化を図る。
・利用部門が納得するまで開発を無制限に繰り返してしまうことを防ぐためにタイムボックスと呼ばれる一定の期間を設定し、その期間内でスパイラル型の開発プロセスを繰り返す。

⇛開発を早期に完了させるためには、利用部門が積極的に開発に協力して仕様確定などをしなくてはならないため、他の開発モデルと比べて利用部門にかかる負荷が高い。

ラウンドトリップ

・オブジェクト指向開発プロセスにおけるスパイラル型開発モデル。
・オブジェクト指向の場合、カプセル化の技法によりプログラムの作成や修正が他のプログラムへ影響を与える割合が小さくなるため、ウォータフォール型開発モデルのような段階的な開発ではなく、「分析」、「設計」、「実践(プログラミング)」という3つの過程を何度か往来しながら、少しずつプログラムを完成させることが可能となっている。

アジャイルソフトウェア開発

アジャイル(agile):「俊敏な/迅速な」
・無駄を省いて短期間でシステム開発することを目的としたソフトウェア開発プロセスの総称。
・開発期間の短縮、低コスト化、柔軟なシステム変更に対応するための考え方として注目されている。
2001年にまとめられた「アジャイルソフトウェア開発宣言(※)」という文書で、アジャイルソフトウェア開発手法について4つの価値を提示している。
①プロセスやツールより人と人同士の相互作用を重視する。
②包括的なドキュメントより動作するソフトウェアを重視する。
③契約上の交渉よりも顧客との協調を重視する
④計画に従うことよりも、変化に対応することを重視する。

※アジャイルソフトウェア開発宣言:当時、名声があった17人のエンジニアがそれぞれ提唱していた開発手法の重要な部分をまとめた文書

・以下の方式がある
①エクストリーム・プログラミング(eXtreme Programming:XP)
・アジャイルソフトウェア手法での最も代表的なもの
・開発チームが最も大切にすべき4つの価値を「コミュニケーション」、「シンプルさ」、「フィードバック」、「勇気」としている
○特徴
・ペア・プログラミング
全てのコード(プログラム)は、2人のプログラマーが1台のマシン上で作成する。1人がプログラムのコードを書き、もう1人はヨコでそれをチェックする。この役割は随時交代する。これにより、常にプログラムのレビューができるため、品質向上につながる。

・リファクタリング
完成済みのプログラムであっても、いつ、誰が変更してもよい。変更する際は、外部から見た動作は変更せず、内部構造がより優れたものになるようにする。

・シンプルな設計
余計な複雑さを排除したシンプルな設計にする。将来を見据えて前倒しで機能を増やすなど、設計を複雑化させることは避ける。

・テスト駆動開発
プログラムを作成する前にテスト設計を行う。

③スクラム
・チームとしての仕事の進め方」に特化したフレームワーク。
・技術的な要素は取り除かれ、プロジェクトの管理・運営を主に取り上げる。
・顧客の要求や技術の変化が多い場合にも、変化に対応できるようにプロジェクト運営を実現する手法として注目されている。

④フィーチャ駆動開発
・フィーチャ(利用者の目に見える小さいが有用な結果)を短期間で繰り返し作っていく開発。

⑤かんばん
・ジャストインタイムの手法を応用し、プロジェクト内でかんばんと呼ばれる情報伝達ツールを用いて在庫を管理する手法。
ユーザと開発者との間の情報伝達に使うツールではなく、開発者同士での情報伝達に使われる。

コンカレント開発

・コンカレントエンジニアリングとも呼ばれる。
・ハードウェアとソフトウェアの設計、作成、テスト、販売といった工程を並行して進めるシステム開発方法。
⇛システム開発期間を短縮して魅力ある
製品をタイミングよく市場へ投入するため
○コンカレント開発で使用される用語

①コデザイン
開発の早期にハードウェアとソフトウェアの双方を考慮しながら最適なシステムを設計する協調設計のこと

②コベリフィケーション
シュミレータなどを用いて仮想的に動作させてハードウェアとソフトウェアを統合的に検証すること。
ハードウェアまたはソフトウェアのどちらかがなくても検証作業ができるため、開発の初期段階で仕様どおり協調して動作することを確認することができる。

システム開発費用の見積もり技法

1.ファンクションポイント法
・開発する情報システムの外部仕様で扱う機能を5つの要素(ファンクションタイプ)に分類し、その機能数に要素ごとの「複雑度」による重み付けを施して算出される数値によって、開発規模の見積もりを行うもの
⇛見積もりの曖昧さを極力排する。
・開発する情報システムの機能(ファンクション)の多い方が費用が高くとなるという明快な結果が出るため、ユーザーの理解を得やすい方式といえる。
・システムの機能面から見積もりを行うので、プログラム言語や作業する人に依存しない見積もりができる。

以下の手順にて見積もりを行う

①開発する機能を5つの要素(外部入力、外部出力、外部参照、内部論理ファイル、外部インターフェース)に分類、複雑度ごとに重み付けを行う。
重み付けは、開発主体の経験や実績により妥当な値を設定する。

②開発する機能数を要素と複雑度ごとにカウント。

③機能数と重みを集計して合計ポイント(ファンクション数)を算出。

④合計ポイントの開発の難易度やシステム特性などを考慮した補正係数を乗じてファンクションポイント数を算出。
ファンクションポイント数が開発規模となる。
補正係数⇛開発主体の経験や実績により妥当な値を設定。

2.標準値法
・標準タスク法やボトムアップ見積もり法とも呼ばれる。
・開発の各工程における作業時間や
コストを積み上げて開発工数を見積もる方法。
・各作業時間の見積もりは、経験や実績に基づき算出。

3.類似法
過去に開発した類似システムの実績に基づいて開発規模や工数を見積もる方法。

DFD(データフローダイアグラム)

・データが業務中でどう流れていくかを図式化する手法。
・複雑な現実世界を抽象化したシンボルを用いて単純化することで、コンピュータの知識のない者でも理解しやすいという長所がある。
・プロセス、外部エンティティ、データフロー、データストア、の4つの記号のみで表現され、作成が比較的容易。

構造化分析

構造化仕様書を作成するために、下記の順でシステムのモデル化を図る。

①現行業務の調査・分析
現在行われている業務について調査(資料、アンケート、インタビュー)を行い、現状を把握。

②現行物理 DFDの作成
現状調査の結果から、現行システムのデータの流れや機能を記載したDFDを作成する。
組織名、人名、装置名、媒体、処理サイクルといった物理的な仕組みも現状のままDFDに記載する。
⇛現行システムの全てを表す。

③現行論理DFDの作成
現行物理DFDから物理的な情報を取り除き、データとプロセスのみを表した現行システムの論理DFDを作成する。
これにより、必要業務機能とデータを明らかにする。

④新論理DFDの作成
現行論理 DFDに新システムのシステム要件を加える。

⑤新物理 DFDの作成
新論理DFDに新システムの物理的要件を加える。
物理的要件⇛組織名、人名、装置名、媒体、処理サイクルなど。

構造化技法

○POA(プロセス指向アプローチ)
・業務上の処理の内容や流れを中心にシステムを分析・設計・開発する手法。
・業務内容を中心に設計されるためシステムが業務内容に強く依存しているため、業務内容が変更になった時にはシステムの大幅な変更が必要となるという問題がある。
⇛業務毎にプログラムが作られ、各プログラムに独立してデータがくっついているイメージ

○DOA(データ指向アプローチ)
・データが最も安定した情報資源であり、かつ共有資源であることに着目してシステムを分析・設計・開発する手法のこと
・POAより設計変更に強い
・データを業務プロセスとは切り離して先にERモデルを用いて分析・設計する。
⇛業務毎にプログラムが作られ、データは共有のイメージ

○OOA(オブジェクト指向アプローチ)
・DOAの概念をさらに進めたアプローチで、オブジェクトに着目してシステムを分析・設計・開発する。
※オブジェクト・・・関連するデータと、それを操作するための手続き(メソッド)の集合体。オブジェクトをあるメソッドで操作すると、ある決まった振る舞い方をする。
・共通の振る舞いをするものを同一のオブジェクトとして管理し、その組み合わせによって情報システムを構築する。
◇カプセル化・・・・オブジェクト指向の代表的な概念
◇UML(Unified Modeling Language)・・・オブジェクト指向のソフトウェア開発における統一表記法。

SOA(サービス指向アプローチ)
ビジネスプロセスの構成要素やひとまとまりの機能を「サービス」と捉え、システム全体をこのサービスのまとまりとして構築する手法。
※サービス・・・外部から標準化された手順によって呼び出すことができるソフトウェアの集合。
・サービスを組み合わせることでシステムをコストや手間をかけずに柔軟に構築・変更可能。
・必要となる技術基盤⇛Webサービス
・個々のアプリケーションの開発言語や動作環境は異なっても構わず、共通のメッセージ交換仕様に対応していればサービスを連携することができる。
・メッセージ交換を行うための代表的なプロトコル⇛SOAP 。
※SOAP・・・通信内容の記述に XML を用いるため、ハードウェアや OS に依存せず動作する。また、データ構造についてのみ規定されており、データ転送用プロトコルとしては HTTP や SMTPなど既存の任意の通信プロトコルを使用するため汎用性が高い。

カプセル化(隠蔽化, オブジェクト指向)

・データとそれを操作する手続き(メソッド)を一体化してオブジェクトにすること。
・これにより、オブジェクト内部のデータやオブジェクトの振る舞い(手続き)を隠蔽することができ、他のオブジェクトは公開された手続きのみ利用可能となる。

・カプセル化が進む⇛個々のオブジェクトの独立性が高まり、オブジェクト内部の仕様変更が外部に影響しなくなる。⇛ソフトウェアの保守性が高まり、またプログラムの部分的な再利用が容易になり開発効率も高くなる。

インヘリタンス(継承, オブジェクト指向)

クラス:いくつかの類似オブジェクトの共通する性質を抽出し、属性と手続きを一般化(抽象化)したもの。更に抽象化して上位クラスを作成することも可能

・上位クラスの属性や手続きを下位クラスに継承させること。
・新たな下位クラスを定義する際に上位クラスと同じ属性や手続きを定義する必要がなくなる。

ポリモルフィズム(多様性、多相性, オブジェクト指向)

オブジェクト指向では、オブジェクトに対して操作を行う際に手続き(メソッド)に対してメッセージを送る。

・同一メッセージを複数の異なるオブジェクトに送信した場合、それを受け取ったオブジェクトごとに振る舞いが異なること。
・ポリモルフィズムが実現すれば、メッセージを送信する側のオブジェクトは、受け取る側のオブジェクトに関係なく同じメッセージを送るだけで、各オブジェクトが適切な動作を行うため、オブジェクト間インターフェースを単純化することができる。

UML(Unified Modeling Language)

・オブジェクト指向のソフトウェア開発における統一表記法
・図(ダイアグラム)を使ってモデル化を行う。
・静的な状態を表す「構造図」と動的な振舞いを表す「振舞い図」に分類できる

レビュー

システム開発の過程において、複数の関係者を集めて、設計書やソースコード(プログラム)のレベルに至るまでを評価・検討し、曖昧な点や問題点を洗い出して、改善点を提案し、次のフェーズに進みうる状態にあることを確認するために行われる討議や評論
⇛不具合や設計ミスを早期に検出することが目的

①ウォークスルー
・作成者と複数の開発関係者が集まって設計書やプログラムなどの成果物を評価・検討するレビュー法。
・最も一般的。

②インスぺクション
・ウォークスルーを組織的にしたレビュー法。
・レビューの開催責任者(モデレータ)がおり、会議の司会進行やレビューによって指摘されたエラーの修正・確認が確実に行われたかどうかを追随して監査する点がウォークスルーと異なる点。

③ラウンドロビン
・参加者が持ち回りでレビュー責任者を務め、参加者の作業を均一にしながらレビューを進めるレビュー法。
・参加者の参画意識が高まるという長所があるが、参加者全員にレビューのスキルが必要となる。

PMBOK(Project Management Body of Knowledge)

・米国プロジェクトマネジメント協会(PMI)が提唱する、プロジェクト管理の知識体系。
・10個の知識エリアと5つのプロセス群(立ち上げ、計画、実行、コントロール、終結)が定義されている。

☆BABOK(Business Analysis Body of Knowledge)
カナダの非営利団体 IIBA が提唱する、業務分析の知識体系。要求定義工程にて利用される。

WBS(Work Breakdown Structure:作業分解図)

・作業計画管理技法の一つ。プロジェクトの計画をする際に使われる。
・プロジェクト目標を達成するために、プロジェクトに含まれる全ての作業を抽出し、トップダウンで階層化したもの。
・WBSの最上位は、要件定義、基本設計、詳細設計などのフェーズレベル
⇛最下層がマネジメントしやすい作業単位(最大2週間程度)になるまで分解(ブレイクダウン)する。
・WBSの各項目には必ず一つ以上の成果物が存在し、抜けやダブりが内容に作成することがポイント。
・WBSで分解された作業は、スケジュール作成やコスト見積もりの基礎となる。

ガントチャート

・日程計画管理技法の一つ。横軸に月、週、日数などの時間をとり、縦軸に作業項目をとったもの。
・計画に対する実績の進捗度を管理する目的で使われる。
○メリット
・各作業の実施期間がわかる。
・ある時点で実施される作業が明確になる。
・全体のスケジュール感が捉えやすい。
○デメリット
・複雑なプロジェクトの相互関係を表現するのが難しい。
・ある作業の遅れがプロジェクト全体に及ぼす影響を把握しにくい

PERT(Program Evaluation Review Technique)

・日程計画管理技法の一つ。複数の作業で構成されるプロジェクトを効率よく実行するためのスケジューリング手法。
・アローダイヤグラムと呼ばれる図表を使って、プロジェクトの完了予定時間を守るために必要な、それぞれの作業の遂行日程を明らかにする。

※アローダイヤグラム
・プロジェクトを構成している各作業を矢印で表し、作業間の先行関係に従い、結合し、プロジェクトの開始と完了を表すノードを追加したネットワーク図。

※クリティカルパス
・プロジェクトを完了させるために最も作業余裕のない作業をつないだ線のこと。
・クリティカルパス上の作業は余裕がないため、これらの作業が遅れると、プロジェクト全体のスケジュ-ルが遅れてしまう。
⇛クリティカルパスを明らかにし、重点的に管理する。

○アローダイアグラムの作成手順
1.プロジェクトを構成する各作業の先行関係と所要時間をまとめた表を作成。
2.ネットワーク図を作成。
3.各アクティビティに所要時間を入れる。
4.最早結合点時刻(※1)を記入。
5.最遅結合点時刻(※2)を記入。
6.クリティカルパスを確認。

※1 最早結合点時刻:各ノードにおいて、これからの作業を最も早く開始できる時刻。最早着手日とも呼ばれる。

※2 最遅結合点時刻:各ノードにおいて、前のすべての作業が完了していなければならない時刻。最遅着手日とも呼ばれる。

画像の例ではA⇒D⇒Eの経路がクリティカルパス

非機能要求グレード

・情報システムの開発において、業務機能に関する要求以外のいわゆる「非機能要求」について、発注者と受注者との認識の行き違いや、互いの意図とは異なる理解をしたことに気づかないまま開発が進んでし
まうことを防ぐために独立行政法人情報処理推進機構(IPA)が発表が発表したツール。
・重要な項目から段階的に詳細化しながら非機能要求の確認を行う
・非機能要求グレードにおいて用意されているモデルシステムは、
「社会的影響がほとんどないシステム」
「社会的影響が限定されるシステム」
「社会的影響が極めて大きいシステム」
の3つ。

・非機能要求を
①可用性
②性能・拡張性
③運用・保守性
④移行性
⑤セキュリティ
⑥システム環境・エコロジー
の6つに分類。

EVMS

...

ITアウトソーシング

・情報漏えいに注意をすること
⇛機密保持契約の締結などで予防

①ASP(Aopplication service provider)
インターネットを通じて、ERPなどのアプリケーション機能を提供するサービス会社のこと。
ASP のサービスは課金制であり、顧客はサービスを利用した分だけ利用料を支払う点が一般的なアウトソーシングと異なる。

②IDC(Internet data center)
高度なセキュリティや災害耐性を備えたデータセンター内で情報システムを運用するサービスのこと。
IDC のサービス形態には、
ホスティング:IDC が所有するサーバを用いる
ハウジング:顧客のサーバを IDC が預かり、運用する
の2通りがある。

SLA(サービスレベルアグリーメント:Service level agreement)

・サービスの品質に関する利用者と提供者間の合意。
・利用者と情報システム部門が取り交わす契約事項であり、課金項目、問い合わせ受付時間やオンラインシステム障害時の復旧時間などの項目が盛り込まれる。
・顧客のニーズと費用を考慮して、サービスレベルを設定する。
・SLAの目的は、
①ITサービスの範囲と品質を明確にすること。
②両者間の合意事項が達成できるように、PDCAサイクルを実施し、ITサービスの維持・向上を図る

1. 情報システムに係る政府調達へのSLAガイドライン
一般的なSLAについての説明だけでなく、政府調達される情報システムへのSLAの考慮点やSLA導入のステップについてまとめたもの。

2. SaaS向けSLAガイドライン
新しいサービス形態であるSaaSにおいて、より効果的にSaaSを利用できるように、以下の事項について経済産業省がまとめたもの。

・利用者とSaaS提供者間で認識すべきサービスレベル項目
・契約に基づいてセキュリティ等のサービスレベルを確保するための指針
・サービス及びサービス事業者の選定に関する参考情報

共通鍵暗号方式

・送信者と受信者でそれぞれ同じ鍵を保有している必要がある。
⇛送信者から受信者に対しての鍵の受け渡し方法をどうするか、1人ずつに別の鍵を発行する必要があるので鍵の数が膨大になるという問題がある。
・DES、AESという方式が有名。

公開鍵暗号方式

・送信者が暗号化する鍵と受信者が復号化する鍵を別のものを利用するのが特徴。
⇛暗号化する鍵(受信者の公開鍵)と、復号化する鍵(受信者の秘密鍵)の組み合わせで利用する。
・受信者はホームページなどに公開鍵をアップしておくことで、送信者はこの鍵を利用して受信者に対して受信者の公開鍵を使って暗号化して情報を送信することができる。
※公開鍵だけでは復号化できないので、秘密鍵を知っている受信者本人しか復号ができない。
・RSA、楕円曲線暗号という方式が有名。

WEP(Wired Equivalent Privacy)

・無線LANの暗号化の一つ。
IEEE802.11b(無線 LAN の規格)で規定された暗号化方式であり、 WEPキーという共通鍵を用いてコンピュータと無線 LAN のアクセスポイント間の送信データを暗号化する。
○デメリット(セキュリティ上の脆弱性)
・暗号化方法に弱点がある。
・WEPキーはアクセスポイントごとに設定されるためコンピュータごとに変更できない
⇛ IEEE802.1x認証の導入によりセキュリティの向上が図られた。

WPA(Wi-Fi Protected Access)

・無線LANの暗号化の一つであり、WEPの暗号化機能をより強固にした方式
・WEPキーやユーザ認証の仕組みである SSID(※1) に加え、TKIP(※2) によりキーを一定時間ごとに自動的に更新することでセキュリティの向上を図っている。
・WPA のセキュリティをさらに強化したWPA2も提供されている。

※1. SSID:アクセスポイントを識別するためのIDのことであり、アクセスポイントに設定されたSSIDを持つ無線LAN端末からのみ通信が許可される。

※2. TKIP:暗号化鍵を一定時間ごとに自動的に更新する暗号化プロトコル

参考
WPS(Wi-Fi Protected Setup)
WPA を初心者にも簡単に設定できるようにした規格

SSL(Secure Socket Layer)

・共通鍵暗号方式や公開鍵暗号方式を組み合わせた暗号化や、デジタル証明書を利用したデータの改ざん検出などを利用した、セキュリティを要求される通信のためのプロトコル。
・SSLはトランスポート層で実現しているプロトコルであるため、より上位層のプロトコル( HTTPやFTPなど)では、 SSL の存在を意識することなく SSL のセキュリティ機能を利用することができる。
※SSL を利用したホームページを表示する際の URLは、「http://」ではなく、「https://」となる。

SSLの基本的な利用手順は以下の通り。
①Webサーバの管理者は、 Webサーバの公開鍵の正当性を証明してもらうために認証局( CA:Certification Authority)に対して登録申請を行う。

②認証局は Webサーバの管理者に対してデジタル証明書(サーバ証明書)を発行する。デジタル証明書には認証局のデジタル証明が付加される。

③Webサーバ管理者は認証局が発行したデジタル証明書を受け取り、 Webサーバに設定する。

④一般ユーザが Web クライアントから Webサーバに対してアクセスすると、 Webサーバはデジタル署名を返信する。

⑤Web クライアントは認証局のデジタル署名の確認を行い、デジタル証明書が本物であることを確認する。

⑥Web クライアントはデジタル証明書が本物であることを確認後、暗号化鍵の基となる乱数を発生し、それを Webサーバの公開鍵で暗号化して Webサーバへ送信する。

⑦Webサーバは、自身の秘密鍵で受信した乱数を復号する。

⑧Webサーバと Web クライアントの双方でマスターシークレット(MS)と呼ばれる鍵を生成する。このマスターシークレットを基に生成した共通鍵を用いて暗号化通信を行う。

また、近年では、SSLより厳格な審査でデジタル証明書を発行する、EV SSLが普及しつつある。

チャレンジレスポンス認証

・毎回異なるランダムな「チャレンジコード」と呼ばれる値と、ハッシュ関数を使用してユーザ認証する。
・パスワードがネットワーク上に流れないため、盗聴を防ぐことができる。
手順は以下の通り。
(1)クライアントは、ユーザ ID をサーバに送信する。

(2)サーバはチャレンジコードをクライアントに送信する。

(3)クライアントは、チャレンジコードとパスワードに基づきハッシュ関数で生成したハッシュ値をサーバに返信する。

(4)サーバは、サーバ自身が計算したハッシュ値とクライアントから返信されたハッシュ値を比較し、一致することを確認する。

リモートアクセス認証

・遠隔地にある LANやコンピュータに対して電話回線などを通じて接続し、コンピュータを操作する技術
①PAP(Password Authentication Protocol)
PPPで利用される最も基本的な認証プロトコルであり、暗号化されていない平文で認証データを送信するため、盗聴される危険がある。
PPP(Point to Point Protocol):リモートアクセスで使用され、電話回線を用いて2点間の通信を行うプロトコル。

②CHAP(Challenge Handshake Authentication Protocol)
・PAPの盗聴に対する脆弱性を補完するために作られた認証プロトコル。
・チャレンジレスポンス認証を利用して暗号化された認証データを送信する。
・2点間でPPPのリンク確立後に一定の周期でサーバがチャレンジコードをクライアントに対して送信し、クライアントが返信したハッシュ値がサーバ側で計算したハッシュ値と一致することを確認して認証を行う。
※PPPでの認証プロトコルはセキュリティの観点から CHAP を使うのが一般的。

③RADIUS(Remote Authentication Dial-in User Service)
・リモートアクセスサーバをアクセスサーバ(RADIUS クライアント)と認証サーバ(RADIUS サーバ)に分離することで不正アクセス発生時の被害を小さくする方法
※一般的に、リモートアクセスサーバには認証されたユーザIDやパスワードが大量に蓄積されており、不正アクセスにより情報漏えいが発生した場合は大量のユーザID とパスワードが流出するため被害が大きくなるため。

④シングルサインオン
・一度のログインで複数のサービスを利用できる技術。
⇛一組のユーザ ID とパスワードで、複数のサーバにおける個別のログインを一括して安全に実現でき、サービス提供者も、利用者もユーザ ID やパスワードの管理がしやすくなる。
シングルサインオンの実施方法には以下のようなものがある。
・Cookie型
・リバースプロキシ型(リバースプロキシサーバを利用)
・SAML型(XMLを利用)

電子署名(ディジタル署名)

・改ざん、なりすましに対しての対策(パスワードでは防げない領域)
送信者:インターネットで送付する書類に電子署名を一緒に添付して送付
受信者:受け取ったデータについている電子署名を復号し、電子署名の内容と合っているかを確認。

・電子署名の内容を確認⇛公開鍵暗号方式を利用
・電子署名の内容は、メッセージダイジェストという一定の長さのデータに変換して送信されており、メッセージダイジェストの内容を確認することで電子署名が正しいことが確認できる。

公開鍵の保証は?
⇛。認証局( CA , 電子署名や公開鍵を保証してくれる機関)で電子証明書を発行、正当性を保証。
この仕組みを PKI という。

不正アクセスの手法

①ポートスキャン
ネットワークを通じてコンピュータに連続アクセスし、セキュリティホール(※)を探す行為。
TCP/IPで通信する際、通常はポートと呼ばれる接続窓口を複数用意して他のコンピュータからの接続を行う。
⇛攻撃するコンピュータの全てのポートに順番にパケットを送信し、稼働しているアプリケーションソフトや OS の種類を調べ、進入口となる脆弱なポートが無いか調べる。
※セキュリティホール:ソフトウェアの設計ミスなどによって生じたセキュリティ上の弱点。

②パスワードクラッキング
コンピュータのデフォルト設定やメールアドレスからユーザ IDを推測しそのユーザID のパスワードを探る手法

③セキュリティホール攻撃
公開されているセキュリティホールを利用してコンピュータを攻撃する行為。

④IPスプーフィング
攻撃元を隠蔽するために IP アドレスを偽装してパケットを送信する行為

⑤DoS攻撃
大量のデータや不正パケットを送りつけることにより攻撃対象のコンピュータに負荷をかけ、処理速度の低下やシステムダウンをさせることを目的とした攻撃。

⑥DDoS(Distributed Denial of Service)攻撃
分散型の DoS 攻撃。分散する大量のコンピュータが一斉に特定のサーバへ DoS 攻撃を行う。

⑦フィッシング
クレジットカード会社や Web ショッピングの本物の Web サイトのページと同じものを作成し、クレジットカードの情報などを盗み出すこと。

⑧ガンプラー
「Webサイト改ざん」と「Web感染型ウイルス」を組み合わせた攻撃。
攻撃者が、Webサイトの管理者から詐取したIDとパスワードを使って、信用のあるWebサイトを改ざんする。改ざんされたWebサイトに一般利用者がアクセスすると、悪意のあるWebサイトに誘導し、クライアントPCをウイルスに感染させようとする。

⑨クロスサイトスクリプティング
ソフトウェアのセキュリティホールの1つであり、Webサイトの訪問者の入力をそのまま画面に表示する掲示板などの脆弱性を利用した攻撃。
攻撃者は、入力チェックなど適切なセキュリティー対策がされていないWebページ上に、不正なスクリプト(命令)を埋め込み、アクセスした利用者のクライアントPCに任意のスクリプト(命令)を実行させる。
スクリプト(命令)が実行されると、クッキー(Cookie)の詐取や秘密情報の漏えいなどが発生する可能性がある。

⑩SQLインジェクション
WEBアプリケーションの入力データとしてデータベースへの命令文を構成するデータを入力し、想定外のSQL文を実行する行為。

⑪バッファオーバーフロー
プログラムが確保したメモリ領域(バッファ)に対して許容量を超えるデータを送り付けてシステムを機能停止にしたり、プログラムが持っているアクセス権を奪う攻撃のこと

⑫中間者攻撃(man-in-the-middleattack)
暗号通信の盗聴や改ざんする攻撃手法の一つ。
通信を行う二者の間に割り込み、両者が交換する公開情報(公開鍵)を自分のものとすりかえることにより、気付かれることなく盗聴したり、通信内容に介入したりする。

※ソーシャルエンジニアリング
電子的でない方法で秘密情報を不正に入手する方法。
ATMのパスワードののぞき見なども当てはまる。

ファイアウォール

外部から内部ネットワークへ侵入されるのを防ぐシステム。
外部との境界を流れるデータを監視し、不正なアクセスを検出・遮断する。
多くの場合はソフトウェアの形態で提供され、コンピュータに組み込んで使用するが、高い性能が要求されるため、専用のハードウエアを用いることもある。

ファイアウォールにの種類
「パケットフィルタリング方式」
通過するパケットの送信元や宛先などをチェックして振り分けする

「アプリケーションゲートウェイ方式」
アプリケーションレベルでより厳格な制御を行う

DMZ(DeMilitarized Zone:非武装地帯)

ファイアウォールを利用して設けた、外部ネットワークからも内部ネットワークからも、隔離された区域。
ここに、外部に公開するサーバをおいておけば、ファイアウォールによって外部からの不正なアクセスを排除でき、万が一公開サーバが乗っ取られた場合でも、内部ネットワークにまで被害が及ぶことを避けられる

IDS(Intrusion Detection System)

ネットワークを流れるパケットを監視して、不正アクセスと思われるパケットを発見した時にアラームを表示するとともに、ログ(通信記録)の収集・保存を行う仕組み。

ハニーポット

ハッカーやクラッカーに対する「おとり」として使われるサーバやネットワーク機器の総称。
あたかも本物のシステムであるかのように見せかけ、不正アクセス者のアクセスログを収集し、犯人の特定や今後の対策に利用する。

Proxy(プロキシ)サーバ

自分のパソコンに代わってWebサイトにアクセスしてくれるサーバ。
プロキシ:「代理」

キャッシュ機能があり、1回アクセスしたサイトがプロキシサーバにキャッシュとして残ると、再びアクセスしたときに速く表示することができる。
アクセスして画面に表示させるスピードを速くすることができるため、プロバイダなどではプロキシサーバを設置して、キャッシュ機能を高めている。

電子帳簿保存法

一定要件を満たした撮影型のマイクロフィルムを除き、それまで紙に限定されて
いた法人税、所得税などの国税における帳簿書類といったような、企業の法人税などの国税関係の帳簿書類を電子化保存、またはCOM(撮影型でなく、コンピュータから直接出力したマイクロフィルム)により保存することを認めた法律

電子データまたは COMによる保存を行うための税務署長への申請に当たっては、いくつかの要件を満足させる必要があり、①真実性の確保、②可視性の確保、③十分な証拠力の3条件が不可欠であり、所轄
税務署長の承認を受けることが義務付けられている。

COBIT

企業等の組織的な ITガバナンスの指針として、米国の情報システムコントロール協会が策定した ITガバナンスのフレームワーク

内部統制のフレームワークである COSOフレームワークをベースに作られており、 ITに関わる活動のほぼ全てについてコントロール目標を提示している。

EVMS(Earned Value Management System)

進捗管理法の一つであり、プロジェクトに必要な期間とコストを物差しにして、計画値と実績値の差をもってプロジェクトの進捗状況を測定する手法のこと。
・「作業は大体半分くらい終了しています。コストは少し計画を上回っていますが、終了までには何とかなると思います。」などという感覚的な進捗報告ではなく、期間、人数、スキルといった要素を全て金額価値に
換算し、スケジュールとコストの両面から進捗状況を数値やグラフで明確化する。
・これにより、「作業が遅れているだけでなくコストも膨れている。」等の状況を一目で確認でき、「期間内に終了させるにはこれだけの追加工数が必要だ。」といった対策もシミュレーションできるのが特徴。

シングル・サインオン

一度のログインで複数のサービスを利用できる技術
一組のIDとパスワードで複数のサーバにおける個別のログインを一括して利用できる。

SEO(Search Engine Optimization)

・検索エンジン最適化
・自社のWEBサイトが検索サイトの検索結果の上位に表示されるように対策をとること
⇛宣伝効果の期待

SERP(Search Engine Result Page)

検索サイトで検索した結果を表示するページ

KGI(Key Goal Indicator)

経営目標達成指標
⇛最終的に達成すべき数値目標

SEM(Search Engine Marketing)

検索エンジンからの訪問者数を最大化するためのマーケティング活動

コンピュータの電源を切ってもデータが消えない記憶装置はどれか?

パソコンなどの主記憶装置は、通常はRAM となっています。 RAM(Random Access Memory)は、データを自由に読み書きできますが、電源を消した場合には内容が消えるタイプのメモリです。 ROM(Read Only Memory)は、電源を消しても内容が消えないタイプのメモリです。

記憶装置において、電源の供給がなくても内容が消去されない性質のことを何というか?

ASCII.jpデジタル用語辞典「揮発性メモリー」の解説 電源を切ると、記憶した内容が消えしまうメモリーのこと。 コンピューターのメインメモリーのほとんどは、このタイプのメモリーが使われいる。 代表的なものに、DRAM、SRAMなどがある。 この逆に、電源を切ってもデータが消えないメモリーを不揮発性メモリーという

記憶メモリの種類は?

記憶装置の種類記憶装置のメモリには大きく分けて2種類あり、不揮発性メモリと揮発性メモリがあります。 読み込み専用のROM(ロム)が前者に該当し読み書き用のRAM(ラム)は後者に該当します。

記憶されたデータの読み出しのみができ、電源を切っても記憶内容が消えないメモリをなんというか。?

Read Only Memoryの略。 読み出しだけのメモリー読み出し専用のメモリーです。 電源を切っても もともと書き込まれいるデータ消えることはありません。