目次
- システムの性能指標(スループット、ターンアラウンドタイム、レスポンスタイム)
- システムの信頼性指標-RASIS
- ソースコードとオブジェクトコード
- リンカとロードモジュール
- OSS
- コピーレフト
- ハードウェア関連の用語(チャタリング、7セグメントLED)
- フォント
- 音声
- 静止画
- 動画
NoSQLとは?- DBのトランザクション管理におけるACID特性
- UML(Indefined Modeling Language)
- MIME(Multipurpose Internet Mail Extensions)
- S/MIME(Secure/Multipurpose Internet Mail Extensions)
- EA(エンタープライズアーキテクチャ)
- BI(Business Intelligence)
- ITポートフォリオ
- プライバシーバイデザイン
概要
基本情報技術者試験を勉強している中で、あまり記憶として定着していない、かつ、今後も覚えておいて損しないと感じた内容を分野関係なくまとめました。
システムの性能指標
| 指標 | 説明 |
|---|---|
| スループット | 単位時間あたりに仕事を何件できるか |
| ターンアラウンドタイム | 入力開始〜出力終了に何秒かかるか |
| レスポンスタイム | 処理開始〜処理終了にかかる時間(入出力にかかる時間は含めない) |
-
ベンチマークテスト:システムの性能を比較するテスト
- スループット、ターンアラウンドタイム、レスポンスタイムなどの数値を他のシステムと比較する
- 標準的なプログラムやデータで性能を測る
-
キャパシティプランニング:システムの稼働状況を継続的に評価し、システムに求められる処理能力を計画すること
- スケールアウト:サーバの台数を増やし、システム全体の処理能力を向上
- スケールアップ:個々のサーバの処理能力を向上させて、システム全体の処理能力を向上
システムの信頼性指標
RASIS(レイシス)
| 指標 | 意味 | 説明 |
|---|---|---|
| Reliability | 信頼性 | 障害の起こりにくさなど |
| Availability | 可用性 | 必要なときにサービスが利用できるか |
| Serviceability | 保守性 | 修正のしやすさ |
| Integrity | 完全性 | データが壊れたり、改竄されたりしていないこと |
| Security | 安全性 | 許可された人だけがアクセスできること |
ソースコードとオブジェクトコード
- ソースコード:プログラミング言語で書かれたプログラム
-
オブジェクトコード:0と1の数字の羅列に変換されたプログラム
- 0と1の機械語に変換するツールをコンパイラ
【コンパイラの処理手順】
- 字句解析:ソースコードを細かい要素に分けて、間違いがないかチェックする
- 構文解析:プログラムの文法が間違っていないかチェックする
- 意味解析:プログラムの手続きに矛盾がないかチェックする
- 最適化:計算の順序などを改善して、効率的なプログラムに変換する
- コード生成:オブジェクトコードのプログラムを作る
- 最適化コンパイラ:上記手順のように最適化の手順を含むコンパイラ
リンカとロードモジュール
コンパイラが生成したオブジェクトコードは機械語になっているが、このままではまだ実行できない
↑ このオブジェクトコードを実行する上で必要となる別のオブジェクトコードやライブラリなどが1つにまとめられていないから
→ リンカというツールを使って、複数のオブジェクトコードとライブラリを1つにまとめて、実行できるプログラム(ロードモジュール)を生成する
- リンカ(linker):コンパイラが翻訳した複数のオブジェクトコードに、ライブラリなどを加えて、コンピュータが実行できる1つのプログラムを作るツール
-
ロードモジュール(実行可能プログラム):コンピュータが実行できるプログラム。ローダというツールによって主記憶に格納(ロード)され、CPUによって実行される
- 目的モジュールや目的プログラムと言われることもある
- ソースコードを原始プログラムということもある
OSS(オープンソースソフトウェア)
- ソースコードが一般に公開されている
- 誰でも自由にソースコードを改変可能
- 誰でも自由に再配布できる
【OSSの例】 -
Eclipse:OSSのIDE(統合開発環境)
- Javaによるシステム開発でよく使われる
【その他のソフトウェア】
-
商用ソフトウェア:企業が有料で販売するソフトウェア
- ソースコードを公開すると、簡単にソフトウェアのコピーが作れてしまうので、ソースコードは公開しない
- パブリックドメインソフトウェア:著作権が放棄されたソフトウェア。ソースコードを入手できれば、自由に改変可能
コピーレフト
- プログラムの著作権は作者が保持
- 誰もがプログラムの改変・複製・再配布ができる
- 2次著作物にもオリジナルと同じ配布条件を求める
ハードウェア関連の用語
-
チャタリング:機械式スイッチのオン/オフが切り替わる短い間に、意図しないオン/オフが繰り返される現象
- ワンクリックしかしていないのに、ダブルクリックと認識されたりするような現象
- 7セグメントLED:8個のLEDを組み合わせて数字を表現するディスプレイ。
フォント
ビットマップフォント:文字の形を正方形のドットの集合で表す
アウトラインフォント:文字の形をなめからな曲線のデータとして持っている(座標値や方程式)

拡大してもギザギザが目立つこともないため、任意の倍率に拡大することに適している
-
ラスタライズ:ビットマップに変換する処理(アウトラインフォントも実際に画面に出力する際にはラスタライズする必要がある)
- ビットマップフォントはラスタライズする必要がないから、表示が速い
音声
- PCM(Pulse Code Modulation):アナログ信号(音声など)をデジタル信号に変換する方式
【PCMのステップ】
- アナログ信号に対し、標本化(アナログ信号を一定の間隔で区切ること、=サンプリング)
- 標本化により区切られた信号ごとに量子化(区切られたアナログ信号に値をつける)
- 量子化により付与された値に対し、符号化(値をビット列に変換、コンピュータが扱えるデータ形式になる)
$PCM変換後のデータ量=標本化周波数×量子化ビット数×秒数$
| 60分の音声信号を標本化周波数44.1kHz、量子化ビット数16ビットのPCM方式でデジタル化した場合、データ量はおよそ何Mバイトか。 |
|---|
$44.1\text{kHz}×16\text{ビット}×3600\text{s}=2540160\text{k}ビット$
$=317520\text{k}バイト=318\text{M}バイト$
静止画
動画
-
H.264/MPEG-4 AVC
- H.264/Moving Picture Experts Group Phase 4 Advanced Video Coding
- 動画の中で変化があった部分だけを保存することで動画のファイルサイズを小さくする
- 従来のMPEG-2のおよそ2倍の圧縮率
- ワンセグ放送(携帯端末向けの地上デジタル放送)、Blue-ray Disc、YouTubeなどに使われる
NoSQLとは?
関係データベースを管理するシステム → RDBMS
RDBMS以外のDBMS → NoSQL(Not Only SQL)
DBのトランザクション管理におけるACID特性
| 性質 | 説明 |
|---|---|
| 原子性(Atomicity) | トランザクション内の処理がすべて実行されるか、すべてが取り消されるかのどちらかの結果になること |
| 一貫性(Consistency) | トランザクション前後でDBに矛盾がないこと |
| 独立性(Isolation) | 1つのトランザクションの処理結果が、他のトランザクション処理の影響を受けないこと |
| 耐久性(Durability) | トランザクション完了後にハードウェア障害が発生しても、更新されたDBの内容が保証されること |
UML(Undefined Modeling Language)
オブジェクト指向のソフトウェア開発において、ソフトウェアの設計を図示するための表記法
| 主な図 | 説明 |
|---|---|
| クラス図 | クラス間の関係。長方形の枠の中にクラス名、データ、メソッドを記入する |
| オブジェクト図 | オブジェクト間の関係 |
| アクティビティ図 | ある振る舞いから次の振る舞いへの制御の流れ |
| シーケンス図 | オブジェクト間の相互作用を時系列に表す |
MIME(Multipurpose Internet Mail Extensions)
- 電子メールで文字以外の画像・音声・動画などの様々な形式のデータを転送するための規格
- 電子メールはアメリカで生まれたため、半角英数字のテキストしか送れないため、日本語の電子メールを送るために、日本語を英語の文字コードに変換して送信している
- このときに使われる規格がMIME
S/MIME(Secure/Multipurpose Internet Mail Extensions)
- MIMEを拡張した規格
-
電子メールを暗号化する
- 公開鍵暗号方式で暗号化し、デジタル署名を付加して送信する
EA(エンタープライズアーキテクチャ)
1. 定義
比較的大きな組織(大企業や政府など)のシステムを全体最適化するための手法
2. 4つの分類
| 分類 | 説明 |
|---|---|
| ビジネスアーキテクチャ | 業務のこと。ビジネス戦略に必要な業務プロセスや情報の流れを体系的に示したもの |
| データアーキテクチャ | 上記業務を行う際に必要となるデータ。データの内容・データ間の関連や構造などを体系的に示したもの |
| アプリケーションアーキテクチャ | 上記データを処理するための機能。業務プロセスを支援するシステムの機能や構成などを体系的に示したもの |
| テクノロジーアーキテクチャ | 上記の機能を実現するための技術。情報システムの構築・運用に必要な技術的構成要素を体系的に示したもの |
| つまり、EAは部分最適化してしまった個々のシステムを全体最適化する手法 |
|---|
BI(Business Intelligence)
社内外のデータを分析して、経営の意思決定に役立てようとする手法や技術
- BIツール:アナリスト以外の人でも簡単にデータ分析が行えるツール
-
データウェアハウス:意思決定に役立てるためのDB
- ERP(Enterprise Resource Planning)やCRM(Customer Relationship Management)などのシステム内にあるデータを取り出して、データウェアハウスに蓄積する
- データウェアハウスのデータは更新したり、削除したりしない
- つまり、あらゆるデータが時系列で格納されている
- 構造化データを格納する
-
データレイク:あらゆるデータをそのままの形式で格納するDB
- 非構造化データを含めあらゆるデータを格納する
- データマイニング:データレイクなどのデータから有益な情報を取り出すための手法
ITポートフォリオ
- 企業が情報化投資をする際に、投資対象をリスクと投資価値を用いて分類し、投資額の配分を最適化する手法
- 投資価値はROIで表す
- 情報化投資:システムを作り、維持・改善するのに必要な費用
プライバシーバイデザイン
- システムに予防的に個人情報漏洩対策を組み込んでおくこと
- 企画プロセスの段階から、個人情報漏洩対策を組み込んだシステムを設計すること



