【 IT用語 】「これ言えないと会話で詰むよ」を書き出した 【part3】

## 肩書

| 用語                           | 読み方・名称                     | 解説                                                                                                                                     | 	特徴 / 使用サービス                                                                                                                                          | 
| ------------------------------ | -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | 
| PM<br>                         | プロジェクトマネージャー         | 情報システムや組み込みシステムなど、システム開発プロジェクトにおける責任者                                                               | プロジェクトの計画から運営管理、スタッフのアサインやマネジメントまで、プロジェクトの全工程に関わる。                                                          | 
| PL                             | プロジェクトリーダー             | プロジェクトを進める責任者の一人で、PMの補佐的な立ち位置。                                                                               | 開発現場でのタスクを把握し、プロジェクトメンバーへ細かな業務指導・作業指導を行うこと、タスクを消化させることが主な業務。                                      | 
| PG（PE）                       | プログラマ                       | プログラムを実装する人。SEの作った仕様書に沿って、実際にコンピュータのプログラミングを行う職種。                                         | コーダーがHTMLやCSSを使用するのに対し、PGはプログラミング言語を使用したシステム制作を行う。ーディングしたシステムが予定通りに動くかどうかのテスト作業も行う。 | 
| SE                             | システムエンジニア(実は和製英語) | 要件定義、仕様書の作成、コーディング、テスト作業といった、システム開発案件全体に関わる人                                                 | プログラミング言語スキル以外にも、コミュニケーションスキル、マネジメントスキルなどが求められる。                                                              | 
| デザイナー                     |                                  | 企業や個人などのクライアントから依頼されたWebサイトのデザインを担当するひと                                                              | デザイナーにも種類があり、IT業界においては 「UI/UXデザイナー」、「Webデザイナー」、「グラフィックデザイナー」、「ゲームデザイナー」などがある。               | 
| フロントエンド・エンジニア<br> | フロントエンド                   | WebサイトやWebアプリケーションのうち、ユーザーが直接目に触れる部分を作成する職種                                                         | ユーザーにとって使いやすく、魅力のあるサービスにする機能の実装が主で、JavaScriptやマークアップ言語の知識が必要                                                | 
| サーバーサイド・エンジニア     | サーバーサイド                   | 入力フォームから入力されたデータをデータベースに保存、読み込みや、抽出、計算など、サーバーサイド側の処理をする部分の実装をする職種。<br> | バックエンドエンジニアとの違いは、基幹系企業のエンジニアを呼ぶことが多い。                                                                                    | 
| バックエンド・エンジニア       | バックエンド                     | 入力フォームから入力されたデータをデータベースに保存、読み込みや、抽出、計算など、サーバーサイド側の処理をする部分の実装をする職種。<br> | サーバーサイドエンジニアとの違いは、WEB系企業のエンジニアを呼ぶことが多い。                                                                                   |


## 環境
| 用語                   | 読み方・名称                                     | 解説                                                                                                                     | 	特徴 / 使用サービス                                                                                                                                                                                     | 
| ---------------------- | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | 
| 開発環境               | ローカル・ローカル環境                           | 自分のパソコンの中に構築する仮想環境のこと。<br>共同開発時に安心してプログラムの修正をするための仕組み                   | localhost8080で建てたサーバーなど、自分のPC内だけで動作するサーバーをローカルサーバーと言ったりする。 また、自分のパソコン内でバージョン管理するために作成したリポジトリをローカルリポジトリといいます。 | 
| 検証環境・ステージング | ステージング環境                                 | 疑似本番環境。開発し終わった、リリース予定の機能をテストするための環境。<br>本番とほぼ同一の状態を擬似的に再現する環境。 | 「Virtual Box 」や「Vagrant」などの仮想環境や、Dockerを利用した高度な総合環境の複製が可能。                                                                                                              | 
| 本番環境               | 本番・production environment・プロダクション環境 | 利用者に公開されているサービスや、システムが製品として実際に稼動している環境のこと。                                     | サーバの形態を取るものを「本番サーバ」、Webサイトの形態を取るものを「本番サイト」といったように呼ぶこともある                                                                                            | 

## 設計書

| 用語       | 読み方・名称 | 解説                                                                         | 	特徴 / 使用サービス                                                                                                                     | 
| ---------- | ------------ | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | 
| 基本設計書 |              | ソフトウェアの動きを外から見た際にどういう動きをするのか？(What)を決めたもの | 以下のような項目を設計する。<br>業務フロー / 機能一覧表 / ネットワーク構成図 / テーブル定義 / ER図 / 画面レイアウト / 帳票レイアウト     | 
| 詳細設計書 |              | 基本設計で決められた動きをどうやって実現するか？(How)を決めたもの            | 詳細設計ではクライアントを意識せずに社内開発者が、開発向けに作った設計書の場合が多い。<br>機能設計書、データベースの物理設計書の作成など | 


## テスト

| 用語                     | 読み方・名称                                            | 解説                                                                                                                                                         | 	特徴 / 使用サービス                                                                                                                                                                                                                      | 
| ------------------------ | ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | 
| 単体テスト（UT）         | ユニットテスト                                          | プログラムを構成する比較的小さな単位（ユニット）が個々の機能を正しく果たしているかどうかを検証するテスト                                                     | 単体テストは自動化することでより高い効果を期待できます。単体テストの自動実行を可能にするテストフレームワークと呼ばれるものがあります。よく知られているのは、Java言語用のJUnitですが、他のさまざまな言語用にもフレームワークが存在します。 | 
| 結合テスト（CT／IT）<br> | インターフェーステスト, Integration Test, Combined Test | モジュール間のインターフェースの構造自体に問題がないか、モジュールを結合した状態でデータのやり取りや動作が適切に行われるかなどについて確認するテストのこと。 | 結合テストの実施方式には、トップダウンとボトムアップの2つのアプローチがあります。両者の違いは、上位モジュールからテストを行うのか、それとも下位モジュールから行うのかという点。                                                           | 
| 総合テスト（ST）         | システムテスト                                          | システム開発におけるプログラムの検証作業の中でも、構築したシステムが全体として予定通りの機能を満たしているかどうかを確認するテストのこと。                   | 一般的にシステムテストの流れは以下のような流れです。<br>１．計画<br>２．テスト環境構築<br>３．テスト項目作成<br>４．テストデータ準備<br>５．テスト手順準備<br>６．テスト実行<br>７．評価                                                  |