著者:角谷 一成[かどたに・かずなり] システムエンジニア。コンピュータ専門学校講師。
編著者:イエローテールコンピュータ
カバーデザイン:小島 トシノブ[こじま・としのぶ][NONDesign]
カバーイラスト:土田 菜摘[つちだ・なつみ]
本文デザイン:渡辺 ひろし[わたなべ・ひろし]
NDC:007.6079 データ処理・情報処理
備考:CD-ROMが一枚添付。
・〈平成28年度版〉
平成28年度【春期】【秋期】基本情報技術者 合格教本:書籍案内|技術評論社
【簡易目次】
第1章 基礎理論 013
基礎理論
アルゴリズムとプログラミング
第2章 コンピュータシステム
コンピュータ構成要素
システム構成要素
ソフトウェア
システム
第3章 技術要素
ヒューマンインタフェース
マルチメディア
データベース
ネットワーク
セキュリティ
第4章 開発技術
システム開発技術
ソフトウェア開発管理技術
第5章 プロジェクトマネジメント
プロジェクトマネジメント
第6章 サービスマネジメント
サービスマネジメント
システム監査
第7章 システム戦略
システム戦略
システム企画
第8章 経営戦略
経営戦略マネジメント/技術戦略マネジメント
ビジネスインダストリ
第9章 企業と法務
企業活動
法務
【メモ】
出版社の誤植訂正には載っていない誤植。
p.40
①調歩同期方式(非同期歩後機)
……この「歩後機」という用語は詳細が見つからなかったので誤記だと思われる。念の為に「Asynchronous」・「hokouki」でも調べたが、誤記以前の著者の意図はわからなかった。単なる「houshiki」のミスタイプと校閲漏れならそれでよい。
【目次】
はじめに [002-003]
目次 [004-009]
受験ガイダンス [010-012]
第1章 基礎理論 013
この章の構成と攻略法
[基礎理論]
01 コンピュータで扱う「数」の工夫 018
コンピュータは「工夫」で動かす 018
0と1だけで数を扱うコンピュータ 018
1と2だけで表す2進数
位取りのもとになる「基数[radix]」
コンピュータ→人…2進数からの変換 020
10進数とはどんな数?
2進数→10進数への基数変換
小数点以下の2進数の基数変換
人→コンピュータ…2進数への変換 022
10進数→2進数への変換
機械的に変換する方法
①整数部
②小数部
2進数から8進数・16進数への変換 023
02 2進数によるさまざまな数値の表現 024
単位の基本はビットとバイト 024
2進整数を表す固定小数点数[fixed-point number]形式 024
負の数を表現する補数表現 025
補数[complement]を使うメリット
補数の求め方
実数を表現する浮動小数点数[floating-point number]形式 026
浮動小数点数形式とは
浮動小数点数形式への格納
誤差を知れば演算精度が上がる 027
仮数部で発生する誤差
①丸め誤差
②桁落ち
③情報落ち
④打ち切り誤差
指数部で発生する誤差
①オーバフロー
②アンダフロー
03 シフト演算 028
2進数の乗算・除算を行うシフト演算 028
算術シフトと論理シフト 028
算術シフト[Arithmetic shift]
①算術左シフト
②算術右シフト
論理シフト[Logical shift]
①論理左シフト
②論理右シフト
04 集合と論理演算 030
命題どうしの演算を行う論理演算[Logical connective] 030
基本論理演算の種類 030
基本論理演算の組合せ 031
05 確率と統計 032
事象が起こる可能性を示す確率 032
順列と組合せの求め方 032
順列の求め方
組合せの求め方
標準偏差で形が変わる正規分布 033
標準正規分布
データの傾向がわかる統計 034
平均、メジアン、モード
①算術平均
②メジアン
③モード
分散度
①レンジ
②分散、標準偏差
③偏差値
度数分布表、ヒストグラム
相関図と相関係数
06 情報に関する理論 036
文字はコード化して扱う 036
さまざまな文字コード体系
①ASCIIコード
②EUCコード(拡張UNIXコード)
③JISコード
④シフトJISコード
⑤Unicode
文字としての数字を表現する 037
10進数を表すコード体系
①ゾーン10進数(アンパック10進数)
②パック10進数
自然言語[natural language]を定義する形式言語[formal language] 038
時間変化の様子を表現する状態遷移 038
数式を表す逆ポーランド記法[Reverse Polish Notation] 039
07 通信に関する理論 040
高速通信回線を支える多重化方式 040
①周波数分割多重化方式
②時分割多重化方式
③符号分割多重化方式
送受信のタイミングを合わせる同期方式 040
①調歩同期方式(非同期歩後機)……低速回線用
②SYN同期方式(キャラクタ同期方式)……中速回線用
③フレーム同期方式(フラグ同期方式)……高速回線用
08 計測・制御に関する理論 042
信号処理 042
①標本化
②量子化・符号化
制御に関する基本的な理論 043
①組込みシステム(Embedded System)
②センサとアクセチュエータ[actuator]
③制御の方式
[アルゴリズムとプログラミング]
09 データ構造 044
最も基本となる配列[array](表) 044
先に入れたものを後から出すスタック[stack] 044
先に入れたものを先に出すキュー[queue] 045
要素どうしをつなげたリスト[list] 045
①線形リスト
②環状リスト
・単方向リスト
・双方向リスト
データを探しやすい木構造[tree structure] 046
①2分木
・2分探索木
・2分木の走査
②多分木
10 アルゴリズムと流れ図 048
3つの制御構造がアルゴリズムの基本 048
①順次構造
②選択構造
③繰返し構造
基本制御構造による流れ図の例
2次元配列を扱う多重の繰返し制御 049
11 探索のアルゴリズム 050
線形探索[sequential search]のアルゴリズム 050
2分探索[binary search]のアルゴリズム 051
ハッシュ表探索 052
探索アルゴリズムの計算量 052
12 整列のアルゴリズム 053
選択ソート(基本選択法)のアルゴリズム 053
バブルソート(基本交換法)のアルゴリズム 054
クイックソートのアルゴリズム 054
整列アルゴリズムの計算量 055
13 再帰とプログラム構造 056
再帰[Recursion]とは自分自身を呼び出すこと 056
再帰を使って、nの階乗を求める
実行の性質を決めるプログラム構造 057
再使用可能(リユーザブル)
①再入可能(リエントラント)
②逐次再使用可能(シリアリリユーザブル)
再配置可能(リロケータブル)
14 プログラミング 058
プログラミングの標準化で改変を容易に 058
①プログラムの構成と順序
②構造化プログラミング、コーディング基準
③名前付け
④モジュール規則、コーディング規則
メインルーチンとサブルーチン 058
①引数(ひきすう)
②データの受け渡し
・参照渡し
・値渡し
Webプログラミングの特徴 059
①クライアント側プログラミング
・リッチクライアント
②サーバ側プログラミング
15 プログラム言語 060
プログラミング言語の種類 060
手順を記述していく手続型言語 060
データへの操作を中心に考えるオブジェクト指向言語 060
①Java(ジャバ)
②C++(シープラスプラス)
即時に実行できるスクリプト言語 061
16 マークアップ言語 062
Webページを記述するHTML 062
①HTMLの記述方法
②HTMLの標準化
③DHTML
データ交換に利用するXML 063
①電子商取引での利用
②文書データの再利用
オブジェクト指向開発で用いるUML 064
①クラス図
②ユースケース図
③シーケンス図
章末まとめ問題 065
第2章 コンピュータシステム 071
この章の構成と攻略法 072
[コンピュータ構成要素]
01 コンピュータの構成と動作 076
コンピュータの「中身」って? 076
①プログラム内蔵方式(stored program)
②逐次制御方式(sequential control)
CPUにも種類がある 077
①CISC(Complex Instruction Set Computer)
②RISC(Reduced Instruction Set Computer)
CPUの構成と動作の仕組み 078
主なレジスタとその役割
①制御用レジスタ
・プログラムレジスタ
・命令レジスタ
②演算用レジスタ
・アキュームレータ
・インデックスレジスタ
③汎用レジスタ
プログラム動作の仕組み
①命令サイクル
②実行サイクル
命令とアドレッシング 080
アドレス指定の種類と動作
①即値アドレス指定
②直接アドレス指定
③間接アドレス指定
④指標アドレス指定
論理回路の仕組み 082
加算回路
①半加算器(Harf Adder)
②全加算器(Full Adder)
順序回路
フリップフロップ回線
02 プロセッサの性能と高速化技術 083
動作速度を決めるクロック周波数 083
クロック周波数の単位
①CPI(Cycles Per Instruction)
②MIPS(Million Instructions Per Second)
その他の性能評価指標
①FLOPS(FLoating-Point Operations Per Second)
②命令ミックス
CPUを高速化する技術 084
パイプライン処理
①スーパーパイプライン
②スーパースカラ
③VLIW(Very Long Instruction Word)
④マルチコアプロセッサ
03 メモリの種類と特徴 086
データが消えるメモリと消えないメモリ 086
RAMの種類と特徴 086
①DRAM(Dynamic RAM)
②SRAM(Static RAM)
ROMの種類と特徴 087
①マスクROM
②PROM(Programmable ROM)
③フラッシュメモリ
メモリの誤り検出・訂正機能 088
①パリティチェック(parity check)
②ECC(Error Correcting Code)
04 メモリシステムと記憶階層 089
速いけど小さい+遅いけど大きい 組み合わせて作るメモリの記憶階層 089
速度差をカバーするキャッシュメモリ 090
キャッシュのヒット率
主記憶装置への書き込み
①ライトスルー方式
②ライトバック方式
連続で読み出すメモリインタリーブ[memory-interleave] 091
05 バスと入出力インタフェース 092
共同で使う伝送路「バス」 093
①システムバス
②入出力バス(I/Oバス)
入出力インターフェースの規格 094
①USB(Universal Serial Bus)
②ATA(SATA)
③IEEE1394(FireWire、iLINK )
④HDMI(High-Definition Multimedia Interface)
⑤IrDA
⑥Bluetooth
入出力装置の接続形態 095
①USB(スター接続、ツリー接続)
②シリアルATA(ポイントツリーポイント接続)
③IEEE1394(デイジーチェーン接続、チェーン接続)
④SCSI(デイジーチェーン接続)
06 入出力装置 095
コンピュータに情報を渡す――入力装置 095
①キーボード
②ポインティングデバイス
・マウス
・トラックボール
・タッチパネル
・タブレット(ディジタイザ)
③図形・画像入力装置
・スキャナ
・OCR(光学式文字読取装置)/OMR(光学式マーク読取装置)
④その他の入力装置
・ICカード読取装置
コンピュータから情報をもらう――出力装置 096
①ディスプレイ装置
・液晶ディスプレイ(LCD:Liquid Crystal Display)
・有機EL(Electro Luminescence)ディスプレイ
・プラズマディスプレイ
・CRT(Cathode Ray Tube)ディスプレイ
②プリンタ/プロッタ
画像データの容量計算
07 補助記憶装置 098
レーザで読み書き――光ディスク 098
磁気で読み書き――磁気ディスク装置 099
磁気ディスクを題材とした計算問題 099
容量を求める計算
アクセス時間を求める計算
①平均位置決め時間(シーク時間)
②平均回転待ち時間(サーチ時間)
③データ転送時間
④平均待ち時間
⑤アクセス時間
[システム構成要素]
08 システムの処理形態 101
中央集約型の集約処理システム 101
①バッチ処理システム
②オンライントランザクション処理システム
③リアルタイム制御処理システム
分散処理システムは役割分担型 101
クライアントサーバの応用形態 102
①3層アーキテクチャ
②ストアドプロシージャ
09 システム構成 103
目的で変わるシステム構成 103
①デュアルシステム
②デュプレックス
③マルチプロセッサシステム
・密結合マルチプロセッサ
・疎結合マルチプロセッサ
④クラスタコンピューティング
待機系の運用形態 104
①ホットスタンバイ
②ウォームスタンバイ
③コールドスタンバイ
速さ? 信頼度? レベルで違うRAIDの目的 105
①RAID-0 ストライピング(striping:分散格納)
②RAID-1 ミラーリング(mirroring:二重化)
③RAID-2〜4
④RAID-5
⑤RAID-6
「安全」を生み出す信頼性設計 106
①フェールセーフ[fail safe]
②フェールソフト[fail soft]
③フールプルーフ[fool-proof]
10 システムの性能指標 107
システムの性能を計る目安とは? 107
①レスポンスタイム
②ターンアラウンドタイム
③スループット
④ベンチマークテスト
⑤モニタリング
キャパシティプランニング 108
①最適な機種の選定と設備の決定
②経済性と拡張性への配慮
③利用者へのサービスの向上
システムの経済性 108
11 システムの信頼性指標 109
信頼性を表す5つの言葉「RASIS」 109
稼働率計算に使うMTBFとMTTR 109
①MTBF(Mean Time Between Failures:平均故障間隔)
②MTTR(Mean Time To Repair:平均修理時間)
③稼働率
複合システムの稼働率の計算 110
①直列システムの稼働率
②並列システムの稼働率
③直並列システムの稼働率
④2 out of 3システム
保守管理の目安になる「バスタブ」? 112
[ソフトウェア]
12 オペレーティングシステムの種類と特徴 113
このソフトなしては動かない! 「オペレーティングシステム」 113
コンピュータによって異なるOSの種類 113
①汎用機用のOS
②ワークステーションのOS
③パソコンのOS
制御機能を司るシステムソフトウェア 114
中間に位置するから「ミドルウェア」 115
①API[Application Program Interface]
②シェル
13 OSの役割と機能①――ジョブ管理とタスク管理 116
仕事を割り振るジョブ管理 116
スプール
タスク(プロセス)管理でジョブを分割 117
タスクのスケジューリング 118
プリエンプティブ方式
①優先度順方式
②イベントドリブンプリエンプション方式
③ラウンドロビン方式
ノンプリエンプティブ方式
14 多重プログラミングと割込み 119
タスク管理に欠かせない多重プログラミング 119
優先処理される「割込み」とは? 120
発生原因でわける割込みの種類 120
15 OSの役割と機能②――記憶管理 121
格納場所を管理する実記憶管理 121
区画方式
オーバーレイ方式
スワッピング方式
仮想空間を管理する仮想記憶管理 123
ページ置換えアルゴリズム
16 OSの役割と機能③――データの管理とファイルシステム 125
データの扱いを勘弁にするデータ管理 125
データの読み書きを助ける入出力管理 125
論理レコードと物理レコード
ファイル編成とアクセス手法 126
ファイル編成の種類と特徴
①順編成ファイル
②直接編成ファイル
③索引順編成ファイル
④区分編成ファイル
⑤VSAM[Virtual Storage Access Method]編成ファイル
ファイルのアクセス方式
パソコンでの管理方法――ディレクトリ管理 128
ディレクトリの構造
パスの指定方法
①絶対パス指定
②相対パス指定
バックアップとリカバリ 129
フルバックアップ
差分バックアップ
増分バックアップ
17 開発支援ツール 132
ソフトウェア作成ツール 132
①プログラムテスト支援ツール
②テスト実施支援ツール
③デバッグツール
設計〜テストを支援するCASEツール 133
①上流CASEツール(upper CASE)
②下流CASEツール(lower CASE)
18 言語処理ツール 134
ソフトウェア作成ツール――言語プロセッサ 134
①アセンブラ(assember)
②コンパイラ(compiler)
③インタプリタ(interpreter)
④ジェネレータ(generator)
コンパイラによる実行工程 135
①コンパイラによる翻訳作業
②リンカによる結合編集作業
インタプリタによる実行工程 136
19 オープンソースソフトウェア 137
オープンソースソフトウェア(OSS)とは? 137
ライセンスの種類と特徴 137
①GPL
②BSDL
③MPL
OSSの利用・活用と考慮点
オープンソースソフトの種類 138
①LAMP/LAPP
②UNIX系OS
章末まとめ問題 139
第3章 技術要素 145
この章の構成と攻略法 146
[ヒューマンインタフェース]
01 ヒューマンインタフェース 150
人とコンピュータを結ぶ接点 150
GUI[Graphical User Interface]は「見ればわかる」インターフェース 150
画面設計と入力チェック 151
画面設計・帳票設計の考慮点
入力チェック
・チェックディジットチェック
[マルチメディア]
02 マルチメディア技術 152
マルチメディアで使うデータ形式 152
データ圧縮でコンパクトサイズに 153
圧縮の標準形式
①LZH形式
②ZIP形式
画像の圧縮形態
①可逆圧縮
②非可逆圧縮
動画に使う圧縮形式 153
[データベース]
03 データベース方式 154
データの特徴で異なるデータベース 154
データベースのモデル 154
①概念スキーマ(スキーマ)
②外部スキーマ(副スキーマ)
③内部スキーマ(記憶スキーマ)
表形式のデータを扱う関係モデル 155
関係モデルの構造
①表(relation:関係)
②列(attribute:属性)
③行(tuple:組)
④定義域(domain:ドメイン)
データベース管理システム 156
①データベースの定義機能
②データベースの操作機能
③データベースの管理機能
04 データベース設計 157
関係を示すE-Rモデル[Entity-Relationship diagram]を使った設計 157
・エンティティ(Entity;実体)
・リレーションシップ(Relationship;関係)
・アトリビュート(Attribute;属性)
《カーディナリティの表現》
データベースの論理設計 158
主キーと外部キーの設定と役割
データの重なりをなくす正規化 159
①非正規形
②第1正規化
③第2正規化
④第3正規化
05 データベースの操作 161
データを取り出すときの操作方法 161
集合演算
関係演算
データベースを作り、操作する言語 162
①独立言語方式(問合せ方式)
②親言語方式
関係データベース用の言語―― SQL 162
①スキーマの定義
②テーブルの定義
SQLによるデータベース操作 164
①追加(INSERT)
②更新(UPDATE)
③削除(DELETE)
④問合せ(SELECT)
条件に合うデータを見つける「問合せ」 165
仮の表「ビュー表」の定義 165
問合せ結果をグループ化する方法 166
問合せを組み合わせる「副問合せ」 167
1行ずつ問い合わせる「相関副問合せ」 167
06 トランザクション処理 168
データベースの仕事単位はトランザクション 168
①Atomicity
②Consistency
③Isolation
④Durability
重複するアクセスを防ぐ排他制御 168
ロック方式
①共有ロックと専有ロック
②デッドロック(deadlock)
コミットメント制御
①1相コミットメント
②2相コミットメント
障害からの回復のための方策 170
①バックアップの取得
②ログの取得
③ロールバック処理
④ロールフォワード処理
07 データベースの応用 172
データウェアハウスは情報の宝庫 172
①データマート(date mart)
②データマイニング(dare mining)
複数のサーバで分担――分散データベース 172
①レプリケーション
②分散記憶
「辞書」を使ったデータ資源の管理 173
章末まとめ問題 その① ヒューマンインタフェース/マルチメディア/データベース 174
[ネットワーク]
08 ネットワーク方式 180
大きなネットワークと小さなネットワーク 180
①LAN(Local Area Network)
②WAN(Wide Area Network)
LANを形作る構成要素 180
LANに用いるケーブルとその接続形態 181
LANの伝送媒体
ネットワークトポロジ
情報の交通整理――アクセス制御方式 181
①CSMA/CD(Carrier Sense Multiple Access with Collision Detection)方式
②CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)方式
③トークンパッシング(token passing)方式
④TDMA(Time Division Multiple Access)方式
ルール化されているLANの規格 183
普及度はNo.1! イーサネット 184
自由な場所でネットに接続――無線LAN 185
①LANの識別
②接続形態
③セキュリティ機能
データ転送に関する計算問題 186
データ転送時間の公式
計算の例
09 ネットワークアーキテクチャ 187
ネットワークアーキテクチャとは? 187
機能を7階層で示すOSI基本参照モデル 187
①第1層:物理層
②第2層:データリンク層
③第3層:ネットワーク層
④第4層:トランスポート層
⑤第5層:セション層
⑥第6層:プレゼンテーション層
⑦第7層:アプリケーション層
LAN同士を結ぶLAN間接続装置 189
①リピータ
②ブリッジ
③ルータ
④ゲートウェイ
10 通信プロトコル 191
インターネットの約束事――通信プロトコル 191
ネットワークインターフェース層のプロトコル 192
・PPPoE[PPP over Ethernet]
インターネット層のプロトコル 192
①IP[Internet Protocol]
②ARP[Address Resolution Protocol]
トランスポート層のプロトコル 192
①TCP[Transmission Control Protocol]
②UDP[User Datagram Protocol]
アプリケーション層のプロトコル 193
11 IPアドレスの役割と機能 194
IPアドレスの役割 194
①IPアドレスの構成
②ネットワークアドレスとブロードキャストアドレス
ユーザの規模で分類するアドレスクラス 194
アドレスの無駄を防ぐサブネットマスク 195
プライベートIPアドレス 196
①NAT[Network Address Translation]
②NAPT[Network Address Port Translation]
リレー方式で届けるIPルーティング 196
IPルーティングの例
12 電子メールとインターネットサービス 198
電子メールの仕組み 198
DNS[Domain Name System]による名前解決の仕組み
電子メールが届く仕組み
電子メールのエラーメッセージ
文字も動画も閲覧できるWebシステム 200
①WebブラウザとuRL
②ハイパリンク
インターネット上のサービス 201
①ファイル転送サービス
②イントラネット(Intranet)
インターネット接続サービス 201
①ADSL[Asymmetric Digital Subscriber Line]
②CATVインターネット
③FTTH[Fiber To The Home]
④IP電話
⑤モバイルインターネット
・公衆無線LAN
・パケット通信
データ伝送に用いる通信サービス 203
章末まとめ問題 その② ネットワーク 204
[セキュリティ]
13 情報セキュリティ 210
情報セキュリティの概念 210
情報に対する脅威と不正行為 210
①人的脅威
②物理的脅威
ネットワーク上の不正行為
①盗聴
②なりすまし
③改竄
マルウェアによる脅威
①コンピュータウイルス
②ワーム
③ボット
④スパイウェア
セキュリティ上の弱点となる「穴」 212
さまざまな攻撃手法 212
①バックドア
②キーロガー
③クロスサイトスクリプティング
④ゼロデイ攻撃
⑤フィッシング
⑥SQLインジェクション
⑦DoS攻撃
⑧DDoS攻撃
14 暗号化技術 214
共通鍵暗号方式と公開鍵暗号方式 214
①共通鍵暗号方式
・AES
②公開鍵暗号方式
・RSA
改竄を見破るメッセージ認証 215
本人確認のためのディジタル署名 216
PKI[Public Key Infrastructure]はセキュリティ確保の基盤 217
CA[Certificate Authority]とその役割
アプリケーションからのPKI利用
①S/MIME(Secure MIME)
②SSL(Secure Socket Layer)
15 利用者認証 219
正規利用者を証明する利用者認証 219
パスワードの作成と更新 219
ID、パスワード設定上の注意点
パスワードによる利用者認証の手順
使い捨ての「ワンタイムパスワード」 221
①チャレンジレスポンス方式
②S/Key方式(RFC1760)
アクセス権の設定と運用 222
①アクセス権の設定方法
②アクセスログの取得
身体の特徴を利用する生体認証技術 223
①身体的な特徴を抽出して認証する方法
②行動的な特徴を抽出して認証する方法
16 情報セキュリティ管理 224
リスク分析と評価 224
リスク対策 224
リスクコントロール
①リスク最適化
②リスク回避
③リスク分散
④リスク集中
リスクファイナンス
①リスク転移
②リスク保有
情報セキュリティポリシ 226
①情報セキュリティ基本方針
②情報セキュリティ対策基準
情報セキュリティ実施手順
情報セキュリティ早期警戒パートナーシップガイドライン
情報セキュリティマネジメント 226
セキュリティの3大要素
ISMS[Information Security Management System]認証と実施手順
17 情報セキュリティ対策 228
人的セキュリティ対策 228
コンピュータウイルス対策 228
①ウイルスの予防対策
・ウイルス対策ソフトの導入
・OSやソフトウェアの更新
②ウイルス感染時の対処
・ネットワークから切り離す
・システム管理者に連絡する
物理的セキュリティ対策 229
18 ネットワークセキュリティ対策 230
ファイアウォールとは 230
パケットフィルタリング
アプリケーションゲートウェイ
①コンテンツフィルタリング
②Webアクセスの高速化
リモートアクセス 232
RADIUS[Remote Authentication Dial In User Service]サーバ
仮想の専用回線―― VPN[Virtual Private Network] 233
無線LANの暗号化 233
①WEP(Wired Equivalent Privacy)
②WPA(Wi-Fi Protected Access)
検疫ネットワーク 234
セキュアプロトコル 235
①IPsec
②SSL(Secure Socket Layer)/TLS/(Transport Layer Security)
認証プロトコル 235
①SPF(Sender Policy Framework)
②DKIM(DomainKeys Identified Mail)
章末まとめ問題 その③ セキュリティ 236
第4章 開発技術 241
この章の構成と攻略法 242
[システム開発技術]
01 システム開発プロセスの手順 244
ユーザニーズを実現するシステム開発 244
〔工程1〕システム要件定義 245
〔工程2〕システム方式設計 245
〔工程3〕ソフトウェア要件定義 246
〔工程4〕ソフトウェア方式設計 246
〔工程5〕ソフトウェア詳細設計 247
〔工程6〕ソフトウェア構築 247
〔工程7・8〕テストおよび移行 247
02 システム開発に用いる図式手法 248
設計で用いる図式手法 248
さまざまな図でモデル化するUML【United Modeling Language】 248
①アクティビティ図
②ユースケース図
③クラス図
④オブジェクト図
⑤シーケンス図
データの流れを見せるDFD[Date Flow Diagram] 250
DFDの読み方
「関連」を表すE-R図[Entity-Relationship Diagram]
条件に対する行動を示す決定表 252
移り変わりを示す状態遷移図 252
03 構造化設計に用いる図式手法 254
構造化設計の手法 254
処理手順を示すNS図[Nassi-Shneiderman diagram] 254
入力 vs. 出力の関係を示すジャクソン法[Jackson structured programing] 254
入力データの構造から表すワーニエ法[Warnier design method] 255
機能を表現するHIPO[Hierarchy plus Input Process Output] 255
・図式目次(VTOC[Visual Table Of Contents])
・総括ダイアグラム(総括IPO図)
・詳細ダイアグラム(詳細IPO図)
04 オブジェクト指向設計 256
オブジェクト指向の考え方 256
カプセル化
情報隠蔽
メッセージパッシング
オブジェクト指向の決まり事 257
クラス[class]とインスタンス[instance]
インヘリタンス[inheritance]
ポリモーフィズム[polymorphism]
オブジェクト間の関係 258
is-a関係(継承)
part-of関係(集約)
関連と依存関係
05 モジュール分割 260
開発しやすい大きさに分割 260
モジュール分割の工程と目安 260
①ソフトウェア方式設計での分割
②ソフトウェア詳細設計での分割
モジュールの分割技法 261
データの流れに着目した技法
①STS分割
②トランザクション分割
③共通機能分割
データ構造に着目した技法
モジュール分割の評価 262
モジュール強度
モジュール結合度
06 コーディングとモジュールテスト 264
プログラムの作成(コーディング) 264
基本制御構造
コーティング基準
プログラムのデバッグ[debug] 265
①コードレビュー
②アサーションチェック
③デバッガ
テストケースの設計 266
ホワイトボックステスト
①命令網羅
②条件網羅
③判定条件網羅(分岐網羅)
④条件/判定網羅
⑤複数条件網羅
ブラックボックステスト
①同値分割
・有効同値クラス
・無効同値クラス
②限界値分析
③原因-結果グラフ法
④エラー埋込法
07 結合テストと適格性確認テスト 269
設計工程とテスト工程の関わり 269
①モジュールテスト
②ソフトウェア結合テスト
③ソフトウェア適格性確認テスト
④システム結合テスト
⑤システム適格性確認テスト
ソフトウェア結合テストの方法 271
増加テスト
①トップダウンテスト
②ボトムアップテスト
③折衷(サンドイッチ)テスト
非増加テスト
適格性確認テストの方法 272
①機能テスト
②性能テスト
③操作性テスト
④負荷テスト
⑤例外処理テスト
⑥障害回復テスト
⑦セキュリティテスト
テスト結果の評価 273
回帰テスト[regression test](退行テスト)
08 システムの導入と受入れ・保守 274
システムの導入計画 274
導入の手順
導入計画の作成と移項の実施
システム導入の方法 275
システムの受入れ支援 276
システムの保守 276
保守の作業内容
保守のタイミング 277
予防保守
事後保守
保守の外部委託
システムの廃棄 278
[ソフトウェア開発管理技術]
09 ソフトウェアの開発手法 279
ソフトウェアの開発モデル 279
ウォーターフォールモデル
プロトタイピングモデル
スパイラルモデル
インクリメンタルモデル(段階的モデル)
ソフトウェアの再利用 282
部品による再利用
ソフトウェアパッケージ
リエンジニアリング 282
リバースエンジニアリング
フォワードエンジニアリング
マッシュアップ 283
10 システム開発に伴うさまざまな管理 284
ソフトウェアの著作権管理 284
①自社で開発したソフトウェア
②外部(請負業者)へ委託して開発したソフトウェア
③パッケージソフトの改変
ライセンス管理 285
構成管理・変更管理 285
①構成管理
②変更管理
③リリース管理
章末まとめ問題 286
第5章 プロジェクトマネジメント 297
この章の構成と攻略法 298
[プロジェクトマネジメント]
01 プロジェクトマネジメントの全体像 300
「プロジェクト」とは? 300
プロジェクトのPDCAサイクル
お手本となるPMBOK[Project Management Body Of Knowledge]ガイド 301
プロジェクトマネジメントの10項目 302
プロジェクト統合マネジメント 303
仕様変更時の対応
02 プロジェクトスコープマネジメント 304
「スコープ」とは? 304
分割して作業を洗い出すWBS[Work Breakdown Structure] 304
03 プロジェクトタイムマネジメント 306
日程管理のためのマネジメント 306
日程計画の作成手法 306
進捗状況の管理手法 309
コストから進捗管理を行うEVM[Earned Value Management] 309
04 プロジェクトコストマネジメント 310
コストマネジメントの活動内容 310
コストの見積手法 310
FP法の計算問題 312
05 プロジェクト品質マネジメント 314
品質向上を目指すマネジメント活動 314
品質に関する規格 314
品質管理と品質保証の規格(ISO9000eシリーズ)
ISO/IEC 25010の品質特性
品質管理上、重要視される活動 315
レビュー
テスト
品質を評価するための手法 316
ベンチマーク
信頼度成長曲線
プログラムの品質管理に用いる図法 317
管理図
特性要因図
パレート図
散布図
06 多角的に管理する知識エリア 320
プロジェクトステークホルダマネジメント 320
ステークホルダとは?
ステークホルダマネジメントの活動
プロジェクト人的資源マネジメント 321
プロジェクトリスクマネジメント 322
リスクへの対応戦略
プロジェクト調達マネジメント 323
プロジェクトコミュニケーションマネジメント 324
コミュニケーション手段
各知識エリアの作業一覧 325
章末まとめ問題 326
第6章 サービスマネジメント 333
この章の構成と攻略法 334
[サービスマネジメント]
01 サービスマネジメント 336
ITサービスを効率的に運営する仕組み 336
ITサービスの実践方法を示すITIL[Information Technology Infrastructure Library] 336
提供するサービスを明確にするSLA[Service Level Agreement] 337
サービスマネジメントプロセス 337
サービスマネジメントにおける運用の各プロセス
①SLM(サービスレベルアップ管理)
②サービスの報告
③サービスの継続および可用性管理
④サービスの予算業務および会計業務
⑤キャパシティ管理
⑥情報セキュリティ管理
⑦事業関係管理
⑧供給者管理
⑨インシデントおよびサービス要求管理
⑩問題管理
⑪構成管理
⑫変更管理
⑬リリースおよび展開管理
サービスの運用 339
運用オペレーション
①スケジュール設計
②障害時運用設計
③システムの導入
④システムの移行
⑤運用支援ツール
・監視ツール
・診断ツール
サービスデスク(ヘルプデスク)
ファシリティマネジメント 341
無停電電源装置[Uninterruptible Power Supply]
自家発電設備
[システム監査]
02 システム監査と内部統制 342
システム監査の役割と目的 342
システム監査人の要件
システム監査の対象業務と実施手順 342
システム監査の手順
①システム監査計画
②システム監査の実施(予備調査→本調査→評価・結論)
・ヒアリング
・監査証拠
・監査の例(システム運用)
③システム監査の報告と改善指導
システム監査基準
情報システムに関するその他の監査 345
情報セキュリティ監査
個人情報保護監査
健全な組織運営を司る内部統制 345
内部統制実現のための重要項目
J-SOX法による内部統制
ITガバナンス
法令遵守状況の評価・改善
章末まとめ問題 348
第7章 システム戦略 355
この章の構成と攻略法 356
[システム戦略]
01 情報システム戦略 358
業務モデルから立てる情報システム戦略 358
情報システム戦略の策定手順
システム化計画はシステムの予想図 358
全体システム化計画
①全体化最適化方針
②全体最適化計画
情報化投資計画
システム化計画
業務システムの種類 360
基幹業務システム
営業管理業務システム
生産管理業務システム
物流管理業務システム
目標となるモデルを作るEA[Enterprise Architecture] 362
システム開発のお手本「フレームワーク」 363
共通フレーム(SLCP-JCF 2013)
①企画プロセス
②要件定義プロセス
③システム開発プロセス
④ソフトウェア実装プロセス
⑤ハードウェア実装プロセス
⑥保守プロセス
情報システムに関わるその他のフレームワーク
①COBIT(Cont Objectives for Information and Technology)
②KGI(Key Goal Indicator)とKPI(Key Performance Indicator)
業務プロセスの改善と再構築 365
①QC(Quality Control)
②BPR(Business Process Re-engineering)
02 ソリューションサービスの利用 366
ソリューションビジネス 366
①システムインテグレーション
②アウトソーシング
ソリューションサービスの形態 366
業務プロセスのアウトソーシング
クラウドコンピューティング
コンピュータ利用環境の提供
システム開発や運用に関するソリューション
①SOA(Service-Oriented Architecture)
②MSP(Management Services Provider)
サーバの貸出しと運営
①ホスティングサービス
②ハウジングサービス
システム活用促進と評価 369
①情報リテラシ
②情報システム利用実態の評価・検証
[システム企画]
03 システム企画 370
システム化の範囲を決めるシステム企画 370
①システム化構想の立案
②システム化計画の立案
要件定義 371
①要求分析
②要件定義
調達計画・実施 371
調達計画
調達の実施
①システム要求事項策定
②調達先選定基準、提案評価基準の作成
③調達先候補の選定
④RFP(Request For Proposal:提案依頼書)の作成と配布・説明
⑤提案書作成
⑥提案書の評価
⑦調達先の選定
⑧契約締結
章末まとめ問題 374
第8章 経営戦略 381
この章の構成と攻略法 382
[経営戦略マネジメント/技術戦略マネジメント]
01 経営戦略 384
経営方針を定める経営戦略手法 384
経営戦略マネジメント
①ベンチマーキング
②ベストプラクティス分析
会社戦略
優位な位置取りを狙う競争戦略 385
競争戦略の種類
①コストリーダーシップ戦略
②差別化戦略
③集中戦略
企業のポジション
①リーダ企業
②チャレンジャ企業
③フォロワ企業
④ニッチャ企業
協調戦略と合併・買収
・TOB[Take-Over Bid]とMBO[Management BuyOut]
02 経営分析の手法 387
経営分析の手法 387
ポートフォリオ分析
①事業ポートフォリオマネジメント
②PPM[Product Portfolio Management]
SWOT分析
バリューチェーン分析
・バリューエンジニアリング[Value Engneering]
03 マーケティング 390
市場原理をつかむマーケティング戦略 390
4Pとマーケティングミックス
①マーチャンダイジング[merchandising]
②CS[Customer Satisfaction](顧客満足度)
市場原理に勝つマーケティング戦略 391
製品ライフサイクル[Product Life Cycle]
マーケティング手法
①クロスセリング
②プル戦略
③プッシュ戦略
④ワントゥワンマーケティング
⑤デルファイ法(Delphi法)
04 ビジネス戦略と技術開発戦略 394
経営戦略を具現化するビジネス戦略 394
BSC(バランススコアカード)
CSF(重要成功要因)
経営資源を活かす経営管理システム 395
経営管理の方法とそのシステム
①KM(Knowledge Management;ナレッジマネジメント)
②ERP(Enterprise Resource Planning;経営資源管理)
③SFA(Sales Force Automation;営業支援)
④CRM(Customer Relationship Management;顧客関係管理)
⑤SCM(Supply Chain Management;供給連鎖管理)
開発競争に負けない技術開発戦略 396
技術開発戦略の考え方
技術開発計画で有効活用する開発投資 397
開発工程の効率化
技術開発の未来像を提示
[ビジネスインダストリ]
05 ビジネスシステムとエンジニアリングシステム 398
業務を支えるビジネスシステム 398
社内業務支援システム
基幹業務支援システム
・POS(Point Of Sales;販売時点情報管理)システム
行政システム、公共情報システム
・住民基本台帳ネットワークシステム
製造を支えるエンジニアリングシステム 399
コンピュータ支援システム
①CIM[Computer Integrated Manufacturing](コンピュータ統合生産)
②MIS[Management Information System](経営情報システム)
③CAE[Computer Aided Engineering](コンピュータ支援エンジニアリング)
④CAD[Computer Aided Design](コンピュータ支援設計)
⑤CAM[Computer Aided Manufacturing](コンピュータ支援生産)
生産システム
①FA[Factory Automaton](ファクトリーオートメーション)
②CAP[Computer Aided Planning](コンピュータ支援計画)
③CAPP[Computer Aided Process Planning](コンピュータ支援工程計画)
④MRP[Material Requirements Planning](資材所要量計画)
生産の自動制御 402
①ライン生産方式とセル生産方式
②ロット生産方式と個別生産方式
③JIT[Just In Time]生産方式
06 e-ビジネス 403
ネット上で取引を行うEC 403
電子受発注システム(EOS[Electronic Ordering System])
①電子調達システム
②電子入札
③オンラインショッピング
電子決済システム
①インターネットバンキング
②ICカード、RFID応用システム
e-ビジネスの進め方 404
e-ビジネスの分類
e-ビジネスの形態
①e-マーケットプレイス
②ネットショップ
③レコメンデーションシステム
④アフィリエイト(成功報酬型広告)
定型書類の取引を標準化するEDI[Electronic Date Interchange] 406
①XML-EDI
②XBRL[eXtensive Business Reporting Language]
③STEP[STandard for the Exchange of Product model date]
個人ベースで発信するCGM[Consum Generated Media] 407
07 民生機器と産業機器 408
組み込みシステムと民生機器 408
製造業や流通業を支える産業機器 408
章末まとめ問題 409
第9章 企業と法務 415
この章の構成と攻略法 416
[企業活動]
01 企業活動と組織 418
「企業」とは何だろう? 418
企業のトップ陣が負うべき役割 418
企業組織の一般的な構成 419
職能別組織と部門の役割
①ライン部門(直接部門)
②スタッフ部門(間接部門)
その他の組織形態
①事業部制組織
②マトリックス組織
③プロジェクト組織
ヒューマンリソースマネジメント 421
02 OR・IEと業務分析 422
定量分析に用いるORの手法 422
配分問題を解く線形計画法 423
適正な在庫量を保つ在庫管理 424
在庫総費用とEQQ(経済的発注量)
相手の行動を読むゲーム理論 426
マクシミン戦略の例
生産の効率化を図るIE[Industrial Engineering]分析手法 426
①作業時間分析法
②PTS法(Predetermined Times Standa)
③ワークサンプリング法
業務分析の手法 427
①ブレーンストーミング
②データマイニング
③KJ法
03 品質管理とQC七つ道具 428
QC[Quality Control]七つ道具とは 428
QC七つ道具の種類と特徴 428
①特性要因図
②パレート図
③ヒストグラム
④散布図(相関図)
⑤チェックシート
⑥層別
⑦管理図
文字で表現される情報を扱う新QC七つ道具 431
04 企業会計と財務 432
企業活動における売上と利益の関係 432
①固定費
②変動費
損益分岐点
企業会計の必要性 433
財務諸表の種類 434
①貸借対照表(Balance Sheet)
②損益計算書(Profit and Loss statement)
③キャッシュフロー計算書(Cash Flow statement)
④株主資本等変動計算書
決算書によってわかること 434
①資産
②負債
③純資産
④収益
⑤費用
計算によって求める損益項目 436
①売上総利益
②営業利益
③経常利益
④税金等調整前当期純利益
⑤当期純利益
経営判断に用いる管理会計 436
安全性指標
①流動比率
②固定比率
③自己資本比率
収益性指標
①自己資本利益率
②総資産利益率
現金の流れが見えるキャッシュフロー会計 438
キャッシュフロー計算書の項目
①営業活動によるキャッシュフロー
②投資活動によるキャッシュフロー
③財務活動によるキャッシュフロー
保有資産の評価と管理を行う資産管理 439
減価償却費
①定額法による計算方法
②定率法による計算方法
リース契約とレンタル契約 440
①リース契約
②レンタル契約
棚卸資産の評価 440
[法務]
05 企業が関わる法務 441
知的財産権とは 441
作者の権利を守る著作権法 441
情報システムにおける著作権
健全な産業発展を促す産業財産権法 442
特許権
営業秘密を守る不正競争防止法 443
セキュリティ関連法規 443
不正アクセス禁止法
個人情報保護法
プロバイダ責任制限法
情報セキュリティに関する基準
労働関連・取引関連法規 446
労働者派遣法
ソフトウェア開発業務の契約形態
取引に関する法規と契約
①下請法(下請代金支払遅延防止法)
②外部委託契約と守秘契約
③ソフトウェア使用許諾契約
06 ガイドラインと標準化 448
企業の責任と法制度 448
コーポレートガバナンス(Corporate Governance:企業統治)
仕様の統一を図る標準化 448
標準化団体と規格
開発と取引の標準
①共通フレーム(SLCP-JCF)
②品質管理および品質保証の規格(ISO 9000シリーズ)
③環境管理の規格(ISO 14000シリーズ)
情報セキュリティの標準
①セキュリティマネジメントシステム(JIS Q 27002)
②セキュリティ評価基準(ISO/IEC 15408)
データの標準化とコード 451
JANコード
QRコード
章末まとめ問題 452
SQLの文法攻略 457
SQL[Structured Query Language]の文法攻略 458
1. SELECT文の基本
2. 取り出した列を操作する
3. ORDER BY句でデータを並べ替える
4. WHERE句を使って行を検索する
5. 同じ値を持つ行をグループ化する
6. 複数の表から新しい表を作る:
7. 複問合わせ:SELECT文の入れ子
論理演算・換算表・JISコード表 465
計算問題の実践攻略 467
01 n進数→ 10進数の基数変換……468
02 10進数→ n進数の基数変換…… 470
03 シフト演算……472
04 論理演算…… 474
05 CPUの性能計算.…… 476
06 実効アクセス時間.…… 478
07 画像データの情報量.....480
08 マルチプログラミングの実行時間……482
09 消費電力と電気代の計算……484
10 データ伝送時間と回線利用率……486
11 損益分岐点売上高の計算……488
12 最大利益の計算……490
索引 [492-505]
付属CD-ROMの使い方と注意事項 [506-511]
【メモランダム】
・資格試験対策のテキスト。毎年改定されている。こういうテキストは分類と命名が過剰になりやすいようだ。
・「午後試験用」や「過去問」や個別分野用(「表計算」など)もある。
・複数の出版社から同様の対策テキストが刊行されているが、本書(by角谷一成 & 技術評論社)が、もっとも情報量が多く・紙面が見づらく・オーバースペック気味なため、もっとも目次を作る意義がありそうだった。
・なお、同制作グループによる「ITパスポート」「基本情報技術者」「応用情報技術者」の3つのテキストも簡単に比較したが、その三段階のうち、「基本」が最も内容と紙面が詰まっていた。これは、「応用情報技術者」と「基本情報技術者」の難易度の落差より、「ITパスポート」と「基本情報技術者」の落差の方が大きいこととも符合する。
・関連(?)書籍
資格試験の準備のさい、不慣れな分野を補うために私が参考としてなんとなく選んで使った書籍。
プロの講師に頼れば、もうすこし正確なアドバイスが貰えると思う。
情報科学
『情報処理システム入門[第3版]』(浦昭二, 市川照久サイエンス社 2006)
『入門コンピュータ科学―― ITを支える技術と理論の基礎知識』(J. Glenn Brookshear 神林靖,長尾高弘 KADOKAWA 2014)
経営学、マネジメント、マーケティング
『ITリスクの考え方』(佐々木良一 岩波新書 2008)
『ゼミナール マーケティング入門 〈第2版〉』(石井淳蔵,嶋口充輝,栗木契,余田拓郎 日本経済新聞出版 2013//2004)
【抜き書き】
※下線、黒字強調は原文に従った。
本書の説明の一例(p.264)
基本制御構造
分かりやすく、信頼性、保守性に優れたプログラムを書くには、3つの基本制御構造「順次」「選択」「繰り返し」だけでその論理を記述するとよいと言われており、この定理は「構造化(ストラクチャード)定理」と呼ばれます。プログラム言語は 構造化定理に基づいた アルゴリズムで記述できるように命令が用意されています。
このほか拡張制御構造として、処理を行った後で条件式を判定する後判定繰り返し(repeat until)と多岐選択(case)の2つが認められています。
読み方の難しさについて。
この文章の直後には「図表06-1 3つの基本制御構造」が置かれている。図では、「順次(sequence)・選択(if-then-else)・繰り返し(do while)」の文字列と、それぞれの簡単な流れ図が示されている。
この抜粋では、ある項目の説明が本文だけでは完結しておらず、読者が図表の文言も合わせて読みながら、行間を埋める必要がある。
もちろん、そもそも疑似言語もなしにこれを1ページ以内で説明するのが難しい、と言われればそのとおりではある。
またこのテキストのうち、アルゴリズムについて詳しく説明している箇所(pp.48-55)を読者がしっかり読んでいれば、この箇所(p.264)も理解できるとも言えなくはない。
内容について。
“分かりやすく、信頼性、保守性に優れたプログラムを書くには、3つの基本制御構造「順次」「選択」「繰り返し」だけでその論理を記述するとよいと言われており、この定理は「構造化定理」と呼ばれます”という記述がある。
別の書籍やウェブサイトを調べると、次の3つの知識が得られる。
① 「3つの基本制御構造だけで、すべてのアルゴリズムが書けること」を構造化定理と呼ぶ。
② 「3つの制御構造によって処理の流れを記述すると、プログラムが明瞭になること」「ひいては現場ではそれが推奨される(とされている)こと」をひっくるめて構造化プログラミングと呼ぶ。
③ そういう認識(②)が流布しているが、それ(②)は神話かもしれない。