一生旅行生活してえ

最近は主に資格取得関連のメモとか勉強法とかを整理

SA用語整理

システムアーキテクト試験を受けるにあたり、用語を整理する。自分の学習用である。主に午前2対策。

 

命令実行サイクル

CPUは機械語のプログラムに書かれた命令(インストラクション)を一つずつ順番に実行する。一つの命令の実行は「ステージ」と呼ばれる複数の段階の組み合わせとなっており、実行の開始から集結までの一連の工程の流れをサイクルという。

一般的なサイクルは、プログラムカウンタが指し示すメモリ番地からの命令の読み出し(命令フェッチ)に始まり、命令の解読・解釈(命令デコード)、命令が対象とするデータ(オペランド)の場所を特定するアドレス計算、オペランドの読み出し、演算など具体的な処理内容の実行、実行結果の書き出し、プログラムカウンタ)の加算や書き換え、といったステージで構成される。

説明の仕方によって、アドレス計算とデータ読み出しを一つにまとめたり、処理の実行と結果の書き出しを一つにまとめる場合もある。メインメモリに対する読み出しや書き込みは、制御回路によってキャッシュメモリに対する読み出しや書き込みに自動的にすり替わる場合もある。

パイプラインによる高速化
単純な構成のCPUはこのサイクルを一つずつ順番に実行していくが、各ステージは異なる回路を使用することが多いため、「前の命令がデコードに移ったら次の命令のフェッチを始める」といったようにステージの数だけ命令を並行して実行させることができる。

そのような高速化手法を「パイプライン処理」という。複数のパイプラインを用意して依存関係(前後関係)にない複数の命令を同時に実行する手法もあり「スーパースカラ」方式と呼ばれる。並列処理とは異なり、複数のプログラムを並列に実行するのではなく、プログラムを構成する命令を並列に実行する。

命令サイクル(実行サイクル)とは - 意味をわかりやすく - IT用語辞典 e-Words

割り込み

CPUは周辺機器などから処理要求を受信したり、実行中のプログラムで急を要する処理を行う必要が生じると、現在実行している処理を中断し、用意されたプログラムを実行する。割り込んだ処理が終了すると、再びそれまで実行していた処理を再開する。

このうち、外部の回路や周辺機器などハードウェアが発生させるものを「ハードウェア割り込み」あるいは「外部割り込み」という。割り込みコントローラなどを経由してCPUの専用端子に信号が送られ、実行中の処理を中断して機器の制御に必要な処理などを実行する。

一方、CPUが実行中のプログラム自身が発生させるものを「ソフトウェア割り込み」あるいは「内部割り込み」という。例外的な事象が発生したことをオペレーティングシステム(OS)に伝え、適切な対応を迫る。算術演算でオーバーフロー(桁あふれ)やゼロ除算などが発生したり、書き込み禁止のメモリ領域へ書き込もうとした場合などに起きる。

ハードウェア割り込み

主に入出力装置やタイマーなどが処理を要求するため発生するもので、利用者がキーボードを操作したり、ネットワークを通じて外部からデータを受信したり、外部記憶装置がデータの読み書きを終えたりすると発生する。

装置が割り込みを行いたいときは割り込みコントローラと呼ばれる回路やICチップを呼び出し、CPUに割り込み信号を送信してもらう。CPU側が制御命令により一時的に禁止したり再開したりできるものを「マスカブル割り込み」(maskable interrupt)、抑止できず強制的に割り込まれるものを「ノンマスカブル割り込み」(non-maskable interrupt)という。

ソフトウェア割り込み

実行中のプログラムがゼロ除算を行ったり、書き込みが禁止されたメモリ領域へ書き込もうとするなど、何らかのエラーや例外(exception)が起きると、これを処理するために割り込みが発生する。

また、OSの機能を呼び出す際にCPUの実行モードを切り替えるなどの目的で、プログラム自身が割り込み命令を実行してあえて発生させる場合もあり、「SVC割り込み」(スーパーバイザコール割り込み)などと呼ばれることもある。

割り込み(インタラプト)とは - 意味をわかりやすく - IT用語辞典 e-Words

 

ファイバチャネル

コンピュータ本体とストレージ(外部記憶装置)などを結ぶ光ファイバーを用いた高速な接続規格の一つ。伝送制御にSCSIに由来する仕様を含み、主に企業の情報システムでSAN(ストレージエリアネットワーク)を構成するのに用いられる。

Fibre Channel(ファイバーチャネル / FC)とは - 意味をわかりやすく - IT用語辞典 e-Words

 

シェアードエブリシング

複数の処理系統(ノードという)を同時に稼働させて負荷を分散するアクティブ/アクティブ構成のシステムの分類の一つで、各ノードは独立に処理を行うことができるが、利用するデータは単一のシステムに保管し、全体で共有する。

データが共有されているため、あるノードで障害が発生しても他のノードが同じデータで処理を引き継ぐことができる。反面、データアクセス部分がボトルネックとなりノード数に対して性能が引き上げにくいほか、ここがSPOF(単一障害点)ともなるため停止するとシステム全体も停止してしまう。

シェアードエブリシングとは - 意味をわかりやすく - IT用語辞典 e-Words

 

RPC

あるコンピュータで動作するソフトウェアから、通信回線やコンピュータネットワークを通じて別のコンピュータ上で動作するソフトウェアへ処理を依頼したり、結果を返したりするための規約。

RPC(リモートプロシージャコール / 遠隔手続き呼び出し)とは - 意味をわかりやすく - IT用語辞典 e-Words

 

フォールトトレランス

機器やシステムなどが持つ性質の一つで、構成要素の一部が故障、停止などしても予備の系統に切り替えるなどして機能を保ち、稼動を続行できること。また、そのような仕組みや設計方針。

問題の個所を切り離したり停止するなどして機能や性能を低下させて稼働を継続することは「フェイルソフト」(fail soft)、問題が起きた時になるべく安全な状態に移行するよう制御することは「フェイルセーフ」(fail safe)、誤操作しても危険が生じない、あるいは誤操作できない構造や仕組みに設計することは「フールプルーフ」(foolproof)とそれぞれ呼ばれる。フォールトトレランスをこれらの概念の総称として用いることもある。

フォールトトレランス(フォールトトレラント / 耐障害性)とは - 意味をわかりやすく - IT用語辞典 e-Words

完全関数従属

表の中で、ある属性の値を決定すると別の属性の値も一意に決まる性質を「関数従属性」という。属性Xを決めると属性Yが定まるとき、「X→Y」のように表記し、Xを「決定項」、Yを「従属項」あるいは「被決定項」という。

複数の候補キーの組み合わせて復号主キーを構成しているような表で、ある属性が候補キーの組み合わせにのみ従属している(候補キーすべての値が決まらないと値が定まらない)状態を、完全関数従属であるという。一方、候補キーのいずれか一つに対しても従属している状態は「部分関数従属」という。

例えば、「注文番号, 商品ID, 商品名, 数量」のように候補キー2つ(注文番号・商品ID)で複合主キーを構成するような表で、「数量」は注文番号と商品IDの両方が決まらないと分からないため完全関数従属である。一方、「商品名」は候補キー2つの組み合わせにも従属しているが、商品IDのみから一意に求めることができるため部分関数従属となる。

完全関数従属とは - 意味をわかりやすく - IT用語辞典 e-Words

 

CSMA

CSMA/CD

通信において単一の伝送路を複数の機器が共用する際、中央で監視・制御する機器がなくても伝送路の使用権を調整できる通信方式の一つ。イーサネットEthernet)に採用され広く普及している。

データを送信したい端末は回線を流れる信号の状況を監視し、誰も通信していないことを確認したら送信を開始する。このとき、たまたま他の端末が同時に送信を開始した場合、信号が衝突(コリジョン)してデータが破損するため、これを検知したら両者ともに通信を一旦中止する。

その後、どちらもランダムに決めた短時間(実用上は数ミリ秒程度が多い)だけ待ち、送信を再開する。ランダムに決めた待ち時間がまったく同じである確率は低いため、短い待ち時間に決めた方が先行し、もう一方は通信が終わるまで待ってから送信を再開する。

CSMA/CA

一つの通信回線を複数の機器が共用する際に、中央で監視・制御する機器がなくても回線の使用権を調整できる通信方式の一つ。無線LANWi-Fi)で標準的に用いられている方式。

CSMA/CAでは各端末が共用の無線チャンネル(周波数帯)を継続的に監視し、一定時間以上継続して空いていることが確認できたら信号の送信を開始する。待ち時間は最小限の時間に各端末がランダムな時間(バックオフ)を足し合わせて決められるため、直前の通信が終わって一定時間経過後に一斉に送信が行われることを防いでいる。

実際にデータが正しく送信されたかは受信側からのACK(Acknowledge)信号が到着するかどうかで判定し、ACK信号がなければ通信障害があったとみなしてデータの再送信を行う。

IPアドレスクラス

クラスA (Class A)
クラスAアドレスは 0.0.0.0~127.255.255.255 の範囲にあり、先頭のビットが「0」で始まることで識別される。前半8ビットがネットワーク部、後半24ビットがホスト部で、全体で256のネットワークで構成され、それぞれ16,777,216(224)個のホストアドレスを含む。

クラスB (Class B)
クラスBアドレスは 128.0.0.0~191.255.255.255 の範囲にあり、先頭のビットが「10」で始まることで識別される。前半16ビットがネットワーク部、後半16ビットがホスト部で、全体で65,536のネットワークで構成され、それぞれ65,536(216)個のホストアドレスを含む。

クラスC (Class C)
クラスCアドレスは 192.0.0.0~223.255.255.255 の範囲にあり、先頭のビットが「110」で始まることで識別される。前半24ビットがネットワーク部、後半8ビットがホスト部で、全体で16,777,216のネットワークで構成され、それぞれ256(28)個のホストアドレスを含む。

アドレスクラスとは - 意味をわかりやすく - IT用語辞典 e-Words

 

コモンクライテリア

CC (Common Criteria)とは、情報技術セキュリティの観点から、当該製品が必要とするセキュリティ機能が適切に設計され実装されていることを評価するための国際規格(ISO/IEC 15408)である。

WPA2

旧版のWPAは無線LANのセキュリティについて定めた国際標準であるIEEE 802.11iのドラフト(標準案)を元に策定されたが、WPA2は同規格の完成版を元にしている。暗号化の方式として新たにAES(Advanced Encryption Standard)を用いたCCMP(Counter mode with CBC-MAC Protocol)を採用(WPA2-AES)し、最長256ビットまでの強力な暗号鍵を利用できる。

WPA同様、事前共有鍵(PSK:Pre-Shared Key)を用いる個人・家庭・小規模事業所向けの「WPA2 Personal」(パーソナルモード/WPA2-PSK)と、IEEE 802.1X標準に基づくRADIUS認証サーバにより利用者や端末の認証を行う、大規模事業所向けの「WPA2 Enterprise」(エンタープライズモード)の二つを選択できる。

AES 

2001年にアメリ連邦政府標準の暗号方式として採用された、共通鍵暗号秘密鍵暗号)方式の一つ。

暗号化と復号に同じ暗号鍵を用いる共通鍵暗号秘密鍵暗号)で、平文を一定の長さごとに暗号文に変換するブロック暗号である。ブロック長は128ビットで、鍵長は128ビット(AES128)、192ビット(AES192)、256ビット(AES256)の三種類から選択できる。

サブミッションポート

利用者の電子メールソフトからメール送信サーバにメールを投稿(submission)する際に用いる、専用のTCPポート。サーバの運用者が個別に指定できるが、標準では587番が、SSL/TLS接続の場合は465番が用いられる。

メールソフトなどのクライアントからサーバへのメール送信(発信)やサーバ間の転送にはSMTP(Simple Mail Transfer Protocol)と呼ばれるプロトコル(通信規約)が用いられ、標準ではTCPの25番ポートが接続窓口に使用される。

SMTPサーバは従来、同じ25番ポートで利用者からの送信依頼と外部サーバからの転送・配信依頼を両方受け付けていたが、不正送信の拒否や迷惑メール対策などを行う上で両者が混在するのは不都合が大きくなってきた。

このため、25番はサーバ間の転送にのみ使用し、利用者からの送信の受付には専用のサブミッションポートを使う運用が定着した。一般的にはTCPの587番ポートが用いられ、SMTP認証(SMTP Authentication)によるユーザー認証が行われることが多い。また、SSL/TLSによる伝送路の暗号化を行うSMTPS(SMTP over SSL/TLS)を用いる場合は465番ポートを使用することが多い。

CMMI

能力成熟度モデル統合を意味し、組織のプロジェクトマネジメント力を5段階で評価する指標。この指標の目的は、組織内でノウハウの共有が適切になされることと成果物の品質を安定させることにある。主にソフトウェア開発を行う組織がプロジェクトにおけるプロセスを現状どの程度管理できているのかを評価し、その評価を踏まえて今後どのように改善していけばよいかを示す。

  1. 初期状態(混沌とした、いきあたりばったりで、一部の英雄的なメンバー依存の状態)。成熟したプロセスを導入する際の、出発点のレベル。
  2. 管理された状態(反復できる状態、プロジェクト管理・プロセスの規則の存在)、反復してプロセスを実行できるレベル
  3. 定義された状態(制度化された状態)、プロセスが標準ビジネスプロセスとして明示的に定義され関係者の承認を受けているレベル。
  4. 定量的に管理された状態(制御できる状態)、プロセス管理が実施され、さまざまなタスク領域を定量的に制御しているレベル。
  5. 最適化している状態(プロセスを定量的に改善する状態)、継続的に自らのプロセスを最適化し改善しているレベル。

インセプションデッキ

プロジェクトの目的や価値、問題点といった全体像を記載し、プロジェクトの進むべき方向性を示し、チームで共有するドキュメント。

アジャイル開発で用いられる手法の 1 つで、プロジェクトの全体像をあらかじめ明らかにしておくことで、プロジェクト進行中に発生する問題の抑制を目的としている。

クラス図

「システムの静的な構造・関係性を視覚的に表現するための図」

文字ベースの仕様書に対して、クラス図はシステム間の静的構造・関係性を図で表現したもの。記述ルールも統一されており、汎用性および保守性に優れている。

 

クラス図の書き方とは。初心者にもわかりやすく解説 | Cacooブログ

BPMN(ビジネスプロセスモデリング

ビジネスプロセスモデリング表記法 (BPMN:業務プロセスモデル図) とは、計画された業務プロセスの手順を最初から最後までモデル化するフローチャート手法。あるプロセスの完了に要する一連の事業活動や情報フローを視覚的に詳しく表す図。要は業務フロー。

BPMNとは | 一般社団法人BPMコンソーシアム

SysML 

システムの構造や振る舞いを記述する図表の記法を定めた標準の一つ。ソフトウェア設計に用いられるUML(Unified Modeling Language)を拡張・修正し、ソフトウェア以外の様々なシステムに適用できるようにしたもの。

SysMLが対象とする「システム」とは、個々の要素が相互に影響しあいながら、全体として機能するまとまりや仕組みのことで、情報システムやソフトウェアに限らない。機械や施設、組織、工程、情報など様々な人工物や仕組みの記述に用いることができる。SysMLはシステムの構造や振る舞いを図表を用いて記述し、設計や分析、検証などを行うことができる。

SysMLとは - 意味をわかりやすく - IT用語辞典 e-Words

インプロセスデータベース(組み込みデータベース)

組み込みデータベースとは、携帯電話や産業機器、デジタル家電などに内蔵されるコンピュータシステム(組み込みシステム)での使用を前提として設計されたデータベース制御システム(DBMS)のこと。また、それを用いて実装されたデータベース。

組み込みデータベースはその機器で利用されるデータ(携帯電話であればアドレス帳など)を効率的に管理するために導入され、サーバやパソコンに導入されているものと同じように、SQL言語によるデータの照会・操作やトランザクション処理、ロック(排他制御)、ユーザごとの適切なセキュリティ制御、データの整合性の維持などの機能を提供する。

パソコンやサーバなどで利用される一般のデータベースに比べ、組み込み用途はハードウェアの制約が大きいため、それに適した設計が行われている。限られたメモリ領域で動作するためコードのサイズは最小限(最少で数十kB)に抑えられ、また、メンテナンスを行わなくても継続して動作するような運用設計、高い信頼性などが求められる。産業機器などでは用途によってリアルタイムの応答性が必要となる場合もある。

ソフトウェア品質特性

機能性(Functionality)

目的から求められる必要な機能の実装の度合い
副特性として合目的性,正確性,相互運用性,標準適合性,セキュリティが含まれる。

信頼性(Reliability)

機能が正常動作し続ける度合い,障害の起こりにくさの度合い
副特性として成熟性,障害許容性,回復性が含まれる。

使用性(Usability)

分かりやすさ、使いやすさの度合い
副特性として理解性,習得性,運用性が含まれる。

効率性(Efficiency)

目的達成のために使用する時間や資源の度合い
副特性として時間効率性,資源効率性が含まれる。

保守性(Maintainability)

保守(改訂)作業に必要な労力の度合い
副特性として解析性,変更性,安定性,試験性が含まれる。

移植性(Portability)

移植のしやすさ,別の環境へ移した際そのまま動作する度合い
副特性として環境適用性,設置性,規格適合性,置換性が含まれる。

モジュール分割

共通機能分割

プログラム全体を複数の部品(モジュール)に分割するための設計指針の一つで、プログラム中の様々な箇所で共通して行われる処理をモジュールとして切り出す方式を共通機能分割という。

プログラム中にはエラー処理のように、様々な処理の中で同じか似たような処理を行う箇所が存在する場合があり、これを共通の機能として分離して一つのモジュールにまとめ、必要な時に呼び出すようにするのが共通機能分割である。まず全体を他の手法でモジュール分割し、複数のモジュールに共通する部分を共通機能分割で取り出すといった利用法が多い。

TR分割 (トランザクション分割)

プログラム全体を複数の部品(モジュール)に分割するための設計指針の一つで、データの種類とその処理内容に応じて分割する方式をTR分割(トランザクション分割)という。

対象となるデータの種類と、そのデータに対する関連する一連の処理をトランザクションという単位にまとめ、プログラムをトランザクション単位で分割していく手法で、データの種類などによって処理の流れが複数に分岐する場合によく用いられる。

STS分割

プログラム全体を複数の部品(モジュール)に分割するための設計指針の一つで、データの入力(Source:源泉)、変換(Transformation)、出力(Sink:吸収)の3つに分割する手法をSTS分割という。

プログラム中でのデータの流れに着目し、プログラムへのデータの入力や取得、読み込みなどを行うモジュールと、データの計算や加工、変換などを行うモジュール、データの出力や表示、印刷、書き出しなどを行うモジュールに分割する。

これらのモジュールを直に繋いで流れ作業的に連続して実行する場合もあるが、これらの上位に制御用のモジュールを配置してデータの流れや実行状態の管理を行う場合もある。

ワーニエ法 (Warnier method)

プログラム全体を複数の部品(モジュール)に分割するための設計指針の一つで、入力データの構造を分析してプログラムの構造を決定していく方式をワーニエ法という。1970年代にフランスの情報科学者ジャン・ドミニク・ワーニエ(Jean-Dominique Warnier)氏によって考案された。

ワーニエ法では、データがいつ、どこで、何回使われるかを分析し、これを元に、順次(連結)、選択、繰り返しの3種類の制御構造を組み合わせて制御の流れを決めていく。これを図示したものをワーニエ図という。

ジャクソン法

プログラム全体を複数の部品(モジュール)に分割するための設計指針の一つで、入出力データの構造からプログラムの構造を決定していく方式をジャクソン法という。マイケル・ジャクソン(Michael A. Jackson)氏が1975年に発表した。

プログラムの入力データと出力データの対応関係を把握し、入力から出力が得られるようプログラムの構造を決定していく。その際、データやそれを扱うモジュールを、基本、連接、選択、反復の4つの要素を組み合わせて表現する。

モジュール分割とは - 意味をわかりやすく - IT用語辞典 e-Words

MapReduce

大規模なデータを効率的に分散処理するためのプログラミングモデル。計算過程を “Map” と “Reduce” と呼ばれる二つのステップに分けて構成する。

MapReduceとは - 意味をわかりやすく - IT用語辞典 e-Words

KVS 【Key-Value Store】

データ管理システムの種類の一つで、保存したいデータ(value:値)に対し、対応する一意の標識(key:キー)を設定し、これらをペアで格納する方式。

アサーションチェック

プログラミングにおいて、あるコードが実行される時に満たされるべき条件を記述して実行時にチェックする仕組みをアサーションという。

開発者はプログラム中の任意の位置にアサーションを挿入し、その箇所に差し掛かった際に満たされているべき条件を記述する。言語処理系は実行時にアサーションの記述した条件を評価し、これが満たされていない場合にはエラーや例外を発生させたり、メッセージを表示して処理を中断する。条件評価の詳細や関連する変数の値などの情報を表示する場合もある。

FMEA

Failure Mode and Effects Analysisの略

製品や工程の設計段階で活用する手法で、故障が生じた際にどのような問題に繋がるかを抽出・整理し、その影響を評価する。例えばPCが起動しないなどの故障状態に至る基板の破壊や電源線の断線などを故障モードとよび、故障モードごとに発生した際の影響の大きさ・故障の発見のしやすさ・発生確率の観点で点数付けを行う。

この点数を元に、設計段階でどの故障モードを優先して避けるべきか、どのような処置を行えば重大な事象に至らないかを検討することが可能となる。

バランススコアカード

企業業績を定量的な財務業績のみでなく、四つの視点(財務・顧客・業務プロセス・学習と成長)で業績評価することで、財務的指標中心の業績管理手法の欠点を補うもの。四つの視点をバランスよくマネジメントしようとする経営管理手法としても位置付けられるようになっている。

(1)財務の視点
株主、従業員、債権者及びサプライヤーなどの利害関係者に対して財務的に応えるためにどのように行動すべきかという視点。評価の指標としては、売上高、利益率、利益額、自己資本比率ROE自己資本利益率),EPS(1株当たり純利益)等が考えられる。

(2)顧客の視点
顧客に対してどのように行動すべきかという視点。評価の指標としては、顧客満足度、製品売上げシェア、リピート率等が考えられる。

(3)業務プロセスの視点
財務の視点や顧客の視点からの評価を向上させるため、社内の業務プロセスをどのように効果的に構築・運用すべきかという視点。評価の指標としては、生産のリードタイムや不良品率、注文や質問に対するレスポンス時間など、業務プロセスに関する生産性を向上させ、コストを削減する指標が考えられる。

(4)学習と成長の視点
企業の経営戦略を達成するために必要な従業員のモチベーションや能力をどのように高め生産性を向上させるかについての視点。評価の指標としては、従業員満足度、エンゲージメントサーベイ、社員定着率、資格取得者数などの指標が考えられる。

NRE 【Non-Recurring Engineering】

製品の開発・製造工程のうち、設計や試作など一度だけ行われる工程。また、その費用(NREコスト)。調達や生産など反復される(可能性のある)工程と対比される。

情報システムなどの受託開発や、工業製品のODM企業への設計・開発の委託などのこともNREと呼ばれ、この文脈では特にNRE工程のために発注元から一括して支払われる費用(NRE costs/charges)のことを指してNREということがある。

DFD

情報システムの設計などで作成される図の一つで、要素間のデータの流れを表した図。データがどこで発生し、どこからどこへ運ばれ、どこへ出力・保管されるのかを図示することができる。

DFD(データフロー図 / 機能情報関連図)とは - 意味をわかりやすく - IT用語辞典 e-Words

グラントバック

技術供与を行う場合に、技術供与を受けた側(ライセンシー)が、当該技術の改良によって構築した特許などの知財について、技術供与を与えた側に譲渡させる契約のこと。

ラボ契約

基本的にある 一定期間(半年〜1年)の間、お客様の専用のチームを用意し開発を行うという契約形態のこと。ラボ型開発は、単純に開発を請け負うのではなく開発の修正も含めて行うため、「準委任型開発」とも呼ばれている。

UML

UMLテンプレートとUML図の種類一覧 | Lucidchart ブログ

 

 

先頭へ戻る