基本情報技術者試験 勉強会
基本情報技術者試験 概要
テクノロジ系 50問
マネジメント系 10問
ストラテジ系 20問
独学で学習できるか
テクノロジ系
1 基本理論
1 基本理論 少し難しい
2 アルゴリズムとプログラミング 難しい
2 コンピュータシステム
3 コンピュータ構成要素 難しい
4 システム構成要素 少し難しい
5 ソフトウェア 少し難しい
6 ハードウェア 難しい
3 技術要素
7 ヒューマンインタフェース できる
8 マルチメディア できる
9 データベース 難しい
10 ネットワーク 難しい
11 セキュリティ 少し難しい
4 開発技術
12 システム開発技術 できる
13 ソフトウェア開発管理技術 できる
独学で学習できるか
マネジメント系
5 プロジェクトマネジメント 14 プロジェクトマネジメント できる
6 サービスマネジメント
15 サービスマネジメント できる
16 システム監査 できる
ストラテジ系
7 システム戦略
17 システム戦略 できる
18 システム企画 できる
8 経営戦略
19 経営戦略マネジメント できる
20 技術戦略マネジメント できる
21 ビジネスインダストリ できる
9 企業と法務
22 企業活動 できる
23 法務 できる
趣旨
勉強のための勉強
分かりにくそうな部分の概要を説明
プログラム(予定)
内容 時間
基本理論 25分
データベース 30分
ネットワーク 30分
セキュリティ 15分
アルゴリズムとプログラミング 10分
システム構成要素 10分
ハードウェア 10分
ソフトウェア 15分
1 基本理論
数学っぽい内容
1.1 2進数→10進数
 10進数 … 0~9 を使用 (人間が使う)
 2進数 … 0~1 を使用 (PCが使う)
10進数
0, 1, 2, 3, 4, 5, 6 ,7, 8, 9, 10,11, … 19, 20, … ,98, 99, 100, 101, …
2進数
0, 1, 10, 11, 100, 101, 110, 111, 1000, …
1.1 2進数→10進数
※数字の後のカッコは何進数かをあらわす
10進数
◦ 2014 = 2 × 10^3 + 0 × 10^2 + 1 × 10^1 + 4 × 1
2進数
◦ 1011(2) = 1 × 2^3 + 0 × 2^2 + 1 × 2^1 + 1 × 1 = 11
10が2に変わっただけ!!
1.1 2進数→10進数
練習
◦ 10(2) = 1 × 2^1 + 0 × 1 = 2
◦ 111(2) = 1 × 2^2 + 1 × 2^1 + 1 × 1 = 7
1.2 10進数→2進数
10 進数の1の位を求めるには?
→10で割った余り
10 進数の10の位を求めるには?
→10で割った商 の10で割った余り
253 ÷10 = 25 … 3 ← 1の位
25 ÷ 10 = 2 … 5 ←10の位
1.2 10進数→2進数
2 進数の1の位を求めるには?
→2で割った余り
2 進数の10の位を求めるには?
→2で割った商 の2で割った余り
7 ÷2 = 3 … 1 ← 1の位
3 ÷2 = 1 … 1 ←10の位
7 = 111(2)
10が2に変わった
だけ!!
1.2 2の補数
PC内では,0, 1のみで負の数を表現する必要がある
1の補数
0と1を入れ替える
(e. g.) 6 = 0110(2) → -6 = 1001(2)
2の補数
0と1を入れ替える + 1 (そのまま足し算可能)
(e. g.) 6 = 0110(2) → -6 = 1001 + 1 (2) = 1010
0110 + 1010 = 0000
9 データベース
9.1 データモデル
関係データベース(リレーショナルデータベース)が
一般的
エクセルの表みたいなイメージ(Microsoft Access)
受注番号 受注日 顧客番号 顧客名 商品番号 商品名 数量
0001 11/10 100 Aさん S20 消しゴム 10
T10 コピー用紙 50
0002 11/15 200 Bさん S20 消しゴム 30
9.2 正規化
主キー … 行を一意に識別する列
(その場所の値が同じものは一つしか存在しない)
複数列の組み合わせが主キーとなることもある
外部キー … ほかの表の主キーを参照する列
学籍番号 名前 性別 クラス
011 Aさん 男 1C
012 Bさん 女 1B
013 Cさん 男 1C
クラス 名前 人数
1A Xさん 30人
1B Yさん 32人
1C Zさん 34人
主キー: 学籍番号
外部キー:クラス
9.2 正規化
第1正規化
繰り返し項目をなくす
受注
番号
受注
日
顧客
番号
顧客名 商品
番号
商品名 数量
0001 11/10 100 Aさん S20 消しゴム 10
T10 コピー用紙 50
0002 11/15 200 Bさん S20 消しゴム 30
繰り返し
受注番号 受注日 顧客番号 顧客名 商品番号 商品名 数量
0001 11/10 100 Aさん S20 消しゴム 10
0001 11/10 100 Aさん T10 コピー用紙 50
0002 11/15 200 Bさん S20 消しゴム 30
9.2 正規化
第2正規化
主キーの一部だけによって
きまる値を別の表に分割
受注
番号
受注
日
顧客
番号
顧客
名
商品番
号
商品名 数
量
0001 11/10 100 Aさん S20 消しゴム 10
0001 11/10 100 Aさん T10 コピー用紙 50
0002 11/15 200 Bさん S20 消しゴム 30
受注番号 商品番号 数量
0001 S20 10
0001 T10 50
0002 S20 30
受注番号 受注日 顧客番号 顧客名
0001 11/10 100 Aさん
0002 11/15 200 Bさん
商品番号 商品名
S20 消しゴム
T10 コピー用紙
9.2 正規化
第3正規化
非キー(主キーにならないキー)
だけによってきまる値を別の表に
分割
受注
番号
商品
番号
数量
0001 S20 10
0001 T10 50
0002 S20 30
受注番号 受注日 顧客番号 顧客名
0001 11/10 100 Aさん
0002 11/15 200 Bさん
商品番号 商品名
S20 消しゴム
T10 コピー用紙
受注番号 受注日 顧客番号
0001 11/10 100
0002 11/15 200
顧客番号 顧客名
100 Aさん
200 Bさん
11 セキュリティ
目的
他人に情報を知られたくない
ユーザの認証をしたい
11.1 暗号化
他人に情報を知られたくない
ネットワークを流れる情報は読み取られる
元の文章を第三者に読み取られないように変更する
暗号化
簡単な例: ひらがなを3字ずらす
「こんにちは」→「すうのとへ」
11.1 暗号化
逆に,元の文章に戻すことを復号という.
簡単な例: ひらがなを3字もどす
「すうのとへ」→「こんにちは」
暗号や復号に必要な情報を鍵という.
簡単な例: 鍵は3
11.1 暗号化
共通鍵暗号
暗号化と復号に使用する鍵が同じ
鍵が盗まれると第三者に読み取られる
メリット … 速い
デメリット … 危険
11.1 暗号化
公開鍵暗号
2つの鍵がペア
一方の鍵で暗号化するともう一方の鍵でのみ復号で
きる
自分の秘密鍵
自分相手
自分の公開鍵
データ データ
11.1 暗号化
公開鍵暗号
メリット … 安全
デメリット … 遅い
自分の秘密鍵
自分相手
自分の公開鍵
データ データ
11.2 認証
公開鍵,秘密鍵を利用
自分の秘密鍵で暗号化したデータを相手に渡す
相手は公開鍵で復号する
ちゃんと復号できたならば,通信相手は正しい
自分の秘密鍵
自分相手
自分の公開鍵
データ データ
2 アルゴリズムとプログラミング
午後の問題にも出てくる
自分でプログラミングを書いてみるのが一番いい
→ Java がおすすめ (研修でやる)
2.1 配列とリスト
複数のデータをまとめて扱いたい場合,配列やリストが使われる.
クラスのテストの点数(Aさんの点数,Bさんの点数,Cさんの点数…)
毎日の気温(1日の気温,2日の気温,3日の気温,...)
1 432配列
リスト 1 101 2 38 3 62
2.1 配列とリスト
回覧板が3番目に回ってくる家にお菓子を届けたい!
回覧板の順序 Aさん -> B さん -> C さん -> Dさん
Aさん Bさん Cさん
左から3番目に行けばいい(簡単)
配列 リスト
Aさん BさんCさんDさん
順番にたどる必要がある(大変)
2.1 配列とリスト(挿入)
回覧板の順序を Aさん -> B さん -> Z さん->C さん -> Dさん に変更したい
Aさん Bさん Cさん
配列 リスト
Aさん BさんCさんDさん
Bさんが渡す相手を変えるだけ(簡単)
Dさん
Aさん Bさん Zさん Cさん Dさん
Cさん,Dさんは引っ越し(大変)
Aさん BさんCさんDさん Zさん
2.2 スタックとキュー
処理したいデータがたくさんあるときに,順番に処理するために使う
スタック
後に入れたものが先にとり出される.
ものを積むイメージ
キュー
先に入れたものが先にとり出される.ところてん
2.2 スタックとキュー
使用例
スタック
Todoリスト … 一番最新のTodoから処理していく
キュー
待合室 … 早く来た人から順番に受け付ける
4 システム構成要素
4.1 稼働率
◦システムが稼働している時間の割合(稼働している確率)
◦ 90時間動くと故障し,修理に10時間かかる場合,
稼働率 = 90 / (90 + 10 ) = 0.9
4.1 稼働率
直列 (両方動いていないとだめ)
r1 r2
R = r1 × r2
4.1 稼働率
並列 (片方でも動いていればOK)
r1
r2
両方壊れている確率…(1-r1) ×(1-r2)
R = 1 – (1-r1) × ( 1-r2)
4.1 稼働率
組み合わせ
r1
r2
R1 = 1 – (1-r1) × ( 1-r2)
r3
R1
組み合わせ
4.1 稼働率
R1 = 1 – (1-r1) × ( 1-r2)
R = R1 ×r3
r3R1
3 コンピュータ構成要素(6 ハードウェア)
CPU
計算などの処理を行う
メモリ
(主記憶装置)
補助記憶装置
プログラムやデータなど
作業中のデータを
保存しておく
データを保存する.
HDD, SSD などがある
頭 机 引き出し
3 コンピュータ構成要素(6 ハードウェア)
CPU メモリ
(主記憶装置)
キャッシュ計算するところ
キャッシュ メモリ
速度 速い 遅い
容量 小さい 大きい
5 ソフトウェア
5.1 実記憶管理
プログラム実行時にプログラム全体を主記憶装置
(メモリ)にロードする
主記憶装置
プログラムA
補助記憶装置
プログラムB
プログラムB
5.2 仮想記憶管理
補助記憶装置を利用して,実際の主記憶装置より大
きな記憶空間を提供する仕組み
ページング方式
プログラム,実記憶領域をページという固定長の大きさに分割
主記憶装置
ページ2
補助記憶装置
ページ0
ページ6
ページ0
ページ2
ページ6

基本情報技術者試験 勉強会