2のべき乗ごとに1桁繰り上げることにより数を表現する方法を 2進数 といいます。
LSB (Least Significiant Bit) とは、数値を2進数で表現したときの最下位ビットを表わします。
MSB (Most Significiant Bit) とは、数値を2進数で表現したときの最上位ビットを表わします。
2進数 | 8進数 | 10進数 | 16進数 |
---|---|---|---|
1 | 1 | 1 | 1 |
10 | 2 | 2 | 2 |
11 | 3 | 3 | 3 |
100 | 4 | 4 | 4 |
101 | 5 | 5 | 5 |
110 | 6 | 6 | 6 |
111 | 7 | 7 | 7 |
1000 | 10 | 8 | 8 |
1001 | 11 | 9 | 9 |
1010 | 12 | 10 | A |
1011 | 13 | 11 | B |
1100 | 14 | 12 | C |
1101 | 15 | 13 | D |
1110 | 16 | 14 | E |
1111 | 17 | 15 | F |
10000 | 20 | 16 | 10 |
IBMのメインフレームで使われている浮動少数点数の表現形式。単精度実数では符号部1ビット、指数部7ビット、仮数部24ビット、基数16で表現されている。
待ち行列モデルを表すのにケンドール記法を用いる。ケンドール記法では、待ち行列モデルを次のように表す。
たとえば、M/M/1(∞) は、到着間隔、サービス時間ともに指数分布(ランダムな状態)で、サービス窓口がひとつのときの、待ち行列の長さに制限が無い待ち行列モデルを表している。分布のMは指数分布を意味する。
BNF(バッカス・ナウアー・フォーム)記法は、主に構文を表すために使われる記法の一種です。反復や選択、省略可能などを表すことができます。次にBNF記法の例を示します。
<bnf-sample> ::= "DROP" <target> <target> ::= <column> | <columnlist> <column> ::= "COLUMN" <列名> | <列名> <columnlist> ::= "(" <namelist> ")" <namelist> ::= <列名> | <列名> "," <namelist>
これは、あるSQLステートメント構文の一部を表したものです。構文ダイアグラムで表すと、次のようになります。
上記のBNF記法から、このSQLステートメントは次のように記述できることが分かります。
DROP COLUMN column1
DROP column1
DROP ( column1 )
DROP ( column1 , columm2 )
DROP ( column1 , columm2 , column3 )
インタフェース | 説明 |
---|---|
IDE (Integrated Drive Electronics) | コンピュータにハードディスクを接続するためのインタフェース |
SATA (Serial ATA) | コンピュータにハードディスクや光学ドライブ、SSDを接続するためのインタフェース |
PCI (Peripheral Component Interconnect) | コンピュータに拡張カードを接続するためのインタフェース |
PCIe (PCI Express) | PCIをより高速にデータ転送できるように拡張したもの |
AHCI(Advanced Host Controller Interface) | SATAホストバスアダプタのインタフェース |
NVMe (Non-Volatile Memory Express) | 不揮発性ストレージメディアを接続するためのソフトウェア・インタフェース |
M.2はコンピュータに拡張カードを接続するためのインタフェースである。プロトコルとして、AHCIまたはNVMeを使用する。
プロトコル(命令セット) | AHCI | NVMe |
バス | PCIe | |
物理的な接続端子 | M.2 |
USBはUniversal Serial Busの略で、コンピュータと周辺機器を繋ぐ汎用シリアルインタフェースである。ハードディスクや外付けメモリ、マウスなどさまざまなデバイスを接続するのに使われている。最大で127台を繋ぐことができる。
Version | 最大伝送速度 |
---|---|
USB 1.1 | 12Mbps |
USB 2.0 | 480Mbps |
USB 3.0 | 5Gbps |
Software | Description |
---|---|
Oracle VM VirtualBox | Oracle社が開発する仮想化ソフトウェア |
VMware | VMWare社が開発・販売する仮想化ソフトウェア |
Network Attached Storage (NAS) は、ネットワークに直性接続して使用するファイルサーバ専用機である。通常のファイルサーバと比べて単機能に特化しているため、管理などが容易である。このような専用機をアプライアンスと呼ぶ。NASはファイルサービスのアプライアンスである。
UUID (Universal Unique Identifier)
ミドルウェアとは、コンピュータの基本的な制御を行うオペレーティングシステム(OS)と、個々の業務処理を行うアプリケーションアソフトウェアとの中間に入るソフトウェアである。
ミドルウェア | 説明 |
---|---|
Apache HTTP Server | Apacheソフトウェア財団が開発しているWebサーバ |
Apache Tomcat | Apacheソフトウェア財団が開発しているアプリケーションサーバ |
IIS | Microsoft Windowsに付属しているWebサーバ |
Resin | Caucho Technology社が開発しているJavaアプリケーションサーバ |
開発ツール | 説明 |
---|---|
Atom | GitHubが開発しているオープンソースのテキストエディタ |
Eclipse | Eclipse Foundationが開発しているオープンソースの統合開発環境 |
Git | オープンソースの分散型バージョン管理システム |
Google Chromeデベロッパーツール | Googleが開発しているWebブラウザ |
Jenkins | オープンソースの継続的インテグレーションツール |
JMeter | 性能測定や不可テストを行うJavaアプリケーション |
JUnit | Javaプログラムの単体テストを自動化するためのフレームワーク |
Selenium | Webアプリケーションのテスト自動化ツール |
Subversion (SVN) | Apache Software Foundationが開発している集中型バージョン管理システム |
vi | Unixで古くから使われているテキストエディタ |
ソフトウェア要件定義の際に使われる図表の一覧を示す。
決定表(decision table)とは、条件と処理を退避させた表形式で論理を表現したものであり、複雑な条件判定を伴う要求仕様の記述手段として有効です。
決定表は「JIS X 0125」として規格化されている。
決定表の例を示す。
条件の欄に「Y」が記載されている場合、条件を満たしていることを表す。条件の欄に「N」が記載されている場合、条件を満たしていないことを表す。
処理の欄に「X」が記載されている場合、処理を行うことを表す。処理の欄に「−」が記載されている場合、処理を行わないことを表す。
TR分割(トランザクション分割)では、システムにおけるデータ処理をデータの流れに着目し、トランザクション単位に分けて、トランザクション処理がひとつのモジュールとなるように設計する。
各プログラムに共通の機能があれば、共通のモジュールとして分割する。
ジャクソン法(JSP: Jackson structured programming)とは、Michael A. Jacksonが提唱した構造化プログラミングの手法であり、入力データの構造と出力データの構造からプログラムの構造を決定する。
ジャクソン法ではプログラム構造を決めるために、入力データと出力データを元にジャクソン構造図(Jackson structured diagram)を作成する。
データの構造に着目して分割する。
JIS X 0129-1 「ソフトウェア製品の品質 - 第1部:品質モデル」とは、ソフトウェア製品の品質特性を規定したものである。
特性 | 副特性 | 説明 |
---|---|---|
機能性 | 合目的性
正確性 相互運用性 セキュリティ 機能性標準適合性 |
指定された条件の下で利用されるときに、必要性に合致する機能を提供するソフトウェア製品の能力 |
信頼性 | 成熟性
障害許容性 回復性 信頼性標準適合性 |
指定された条件下で利用するとき、指定された達成水準を維持するソフトウェア製品の能力 |
使用性 | 理解性
習得性 運用性 魅力性 使用性標準適合性 |
指定された条件の下で利用するとき、理解、習得、利用でき、利用者にとって魅力的であるソフトウェア製品の能力 |
効率性 | 時間効率性
資源効率性 効率性標準適合性 |
明示的な条件の下で、使用する資源の量に対比して適切な性能を提供するソフトウェア製品の能力 |
保守性 | 解析性
変更性 安定性 試験性 保守標準適合性 |
修正のしやすさに関するソフトウェア製品の能力 |
移植性 | 環境適応性
設置性 共存性 置換性 移植性標準適合性 |
ある環境から他の環境に移すためのソフトウェア製品の能力 |
ドキュメントの最初から順を追って内容のチェックをしていく方法をウォークスルーと言う。ドキュメントの順を追って確認し、仕様の理解と欠陥の発見を行う。制御やデータの流れのチェックに向いている。
全部を満遍なく見るのではなく、ある一部を取り上げて徹底的に見ていく方法をインスペクションと言う。訓練を受けたモデレータが進行役を務めるのが特徴である。欠陥の発見を目的とした会議形式のレビューである。検討対象を限定して、短期間に集中して行う。
参加者が持ち回りで責任者を務めながら進めていく方法をラウンドロビンと言う。レビュー対象のドキュメントを参加者に均等に割り振り、順番に説明していく方法である。メンバーの参画意識を高め、教育的な効果もある。
RAD (Rapid Application Development) とは、プロトタイプを何度も制作、評価して、次第に完成品に近づけていく手法である。ライフサイクルの無制限な繰り返しを防ぐため、タイムボックスと呼ばれる一定の開発期間を設定する。
要求分析に対するエンドユーザの参画をJRP (Joint Requirements Plannning) と言い、外部設計に対するエンドユーザの参画をJAD (Joint Application Design) と言う。