プロジェクトを遂行するためのスケジュール表。
WBS(Work Breakdown Structure )とも言われる。
横軸に日付、縦軸に作業項目と担当者名が記入されている。
PM、PLはこの線表をもとにメンバーの進捗管理を行なっている。線表
進捗(作業の進み具合)が線表にて予定されたスケジュールよりも進んでいること。
急な仕様変更等、不測の事態に備えてなるべく自分の担当作業は〇〇で進めることを心がけたい。前倒し
進捗(作業の進み具合)が線表にて予定されたスケジュールどおり進んでいること。
とりあえずは順調と言えるが、できれば前倒しを目指したい。オンスケ
進捗(作業の進み具合)が線表にて予定されたスケジュールよりも遅れていること。
大幅な仕様変更等のやむを得ない事情がない限り基本的に〇〇は許されないので、
あらゆる策を講じてリカバリする必要がある。遅延
進捗が遅延した際に、本来の進捗(オンスケ)に戻すこと。
主に以下の方法によって生産性を上げて〇〇する
・稼動を上げる(残業、休日出勤等で作業時間を増やす)
・メンバーを増員する
・スケジュール調整する
(後工程のスケジュールを短くする代わりに今の作業の期限を延ばす)
どの方法にしても苦肉の策であり、プロジェクトとしてはあまり好ましくないため、
極力遅延が発生しないように各個人が日々の進捗、スケジュールを意識する必要がある。リカバリ
遅延が発生した場合のリカバリあるいは作業項目が増えた際にスケジュールプランを見直すこと。リスケ
一定期間で出来上がった成果の大きさ(量)。各個人は自身の〇〇を上げるためにスキルを身につけ、PLはプロジェクト全体の〇〇を上げるために効率よくメン
バーを指揮する。生産性
主に予算管理(売上、原価管理)、工数見積もり、要員計画、対外調整(お客様との折衝)を行なう。
プロジェクト全体の責任者。PM
主にメンバーの指揮、進捗管理、対外調整、メンバーの作業内容チェック(レビュー)等を行う。PL
プロジェクトに誰をどの期間参画させるかといった計画を立てること。要員計画
ある開発を完了するために必要な作業量。
・1人で行うと10ヶ月かかる作業は【10人月】(2人で5ヶ月かかる場合も同じ。2人×5ヶ月=【10人月】)
・1人で行うと15日かかる作業を【15人日】(3人で5日かかる場合も同じ。3人×5日=【15人日】)
一括請負の場合は、この工数を基準に1人月につきxx万円というように開発費の見積もりをし、お客様に提示する。工数
開発したシステムがサービスイン(後述)を迎え、無事本番稼動すること。尚、「本番稼動=プロジェクト終了」という
意味合いから、DITでは別の意味として「あるメンバーは現在参画しているプロジェクトから抜けること」も「誰々が○○
プロジェクトを〇〇する」と表現している。カットオーバー
SES契約の際に決められる各人の1ヶ月あたりの作業代金。
160~180h/月でxx万円等の取り決めを行い、稼働時間がその範囲を超えた場合は時間単位に代金を加算して請求する。単金
客先(主に大手システム開発会社)に常駐して作業を行い、その作業時間に応じて代金を請求する契約形態。「単金xx万
円」という時間清算契約のためメンバーの稼動が増えることによって大幅な赤字となる可能性が低いが、一括請負が成功
した場合に比べて利益は少ない。SES
SESが作業時間単位に代金が支払われるのに対して、〇〇の場合は請け負った開発作業全体に対して工数を見積もり、代金を請求する契約形態。
予定よりも稼働時間が多くなった場合は赤字となるリスクがあるが、生産性を上げて少ない稼働時間で完成できれば大幅
な利益を得ることができる。一括請負
構成管理ツール ITシステムを統合的に管理するためのツール。例えば、ファイルのリビジョン管理を通じて、過去のファイルバージョン
との差分を確認し、過去の状態に復元できる。構成管理ツール
プログラム言語が記述されたファイル(Javaの場合、拡張子は「~.java」)。
コンピュータは〇〇を理解、実行することができないため、コンパイルすることによってクラスファイルを作成してから実行する必要がある。ソースファイル
コンピュータが理解し、実行できる形式のファイル。
Javaの場合は、拡張子が「~.class」でクラスファイルと呼ばれる。
(そのため研修中は、「クラスファイル」と呼ぶ機会が多くなる)実行ファイル
ソースファイル(人間が目で見て理解できるプログラム言語で記述されたファイル)を元に、コンピュータが理解できる
実行ファイル(Javaにおけるクラスファイル)を生成させること。コンパイル
プログラムの誤りによって発生した不具合。
システムが異常終了してしまうような障害だけでなく、1 + 1 = 3 のように期待通りの動作をしない場合も〇〇である。バグ
プログラムや環境の不具合により、プログラムが途中で強制終了されてしまうこと。
例:指定したファイルが存在しない、num[-1]のように不適切な要素番号を指定した、0で割り算した、メモリ不足
反対に、PG処理を最後まで完了して終わることを「正常終了」と言う。異常終了
バグの原因を解析し、正しい動作を行なうようにソースファイルを修正すること。
テスト工程以降は、バグが発生するたびにこの作業を行なう必要がある。
また、当然ながら修正後は正しく動作することを確認しなければならない。デバッグ
①ソースファイル作成(コーディング)
②コンパイル(実行ファイルが作成される)
③実行ファイルを動かし動作確認
④もしバグがあれば、デバッグし、②に戻る(②~④を、バグが0件になるまで繰り返す)プログラムの開発手順
ある箇所のバグを修正することによって、今度は「今まで正しく動作していた箇所」が正しく動かなくなってしまうこと。デバッグする際によく発生することなので、ある箇所を修正したら今まで正しく動作していた箇所も一通り確認する必要がある。デグーレード
Javaの様々なクラス(String、Integer等)の概要やメソッドの使用方法が記述された辞書のようなもの(HTMLで作成されているのでWebブラウザで表示する)。Javadoc
各自が作成した設計書、プログラム(ソースファイル)に不備がないか、改善点は無いかをPLを含む数人のメンバーで議論を行い、品質の向上を図ること(ソース〇〇、設計書〇〇、という言い方をする)。
要所要所で〇〇を行い、有識者のチェックや指摘を受けることにより、後工程での大幅な手戻りを防ぐことができる。レビュー
プログラムを作成する上での細かい動作内容。
「このPGは入力内容が0~100の範囲であることをチェックする〇〇となっている」
「このPGは、〇〇どおりに作成されていないので、修正しなくてはいけない」
というような言葉の使い方をする。仕様
プログラムの「仕様」が記述された設計書。
詳細設計の工程で作成する成果物。
プログラマはこの〇〇に基づいて製造(コーディング)を行い、不明点があった場合は独断で作業を進めずに、必ず設計書を作成した人に確認する必要がある。プログラム仕様書
仕様(プログラムの動作内容)が、外部設計/詳細設計等によって一度確定した後で変更されること。
これによって、設計書の修正、プログラムの修正、テストのやり直し等の手戻りが発生してしまうが、殆どのプロジェクトで通常一度や二度は発生する。
お客様都合による〇〇の場合は、PM、PLがお客様とスケジュールや追加料金について交渉することがある。仕様変更
テスト項目書に基づいてテストをした結果、正しく動作したことを「証拠」として残した資料。
Webブラウザに表示された画面やデータベースの内容を印刷し、後々、誰が見ても(実際にテストを実施した者以外でも)
正しく動作したことを確認できるように資料に残し、PGや設計書、テスト項目書と共にお客様に納品する。エビデンス
各工程で作成されるドキュメント(資料)やプログラム(ソースファイル、実行ファイル)等。
これらの成果物をお客様に納品することになる。成果物
プログラムの規模を表す指標であり、ソースファイル1行=1STEPとカウントする。
コメント行や空行はカウントせず、プログラムを記述した部分の行数をカウントする。
Javaの開発ではあまり使われないが、「1KStep/1ヶ月」というように生産性を表現することがある。
(1KStep = 1000Step。「1KStep/1ヶ月」とは、1000Step(1000行)のPGを1ヶ月で作成する生産性を表す)ステップ数
Javaのソースファイルをコンパイルしたり、生成されたクラスファイルを実行するためのソフトウェア。
Javaの開発をするためには、まずこれをインストールする必要がある。
フリーソフト(Oracleのホームページでダウンロードできる)。JDK
Javaのクラスファイルを実行するための環境。
クラスファイルを実行すると、まず〇〇が起動し、その上でクラスファイルが実行される。
クラスファイルの実行が終了すると、〇〇も終了する。
※Wordの文書「test.doc」を実行すると、まず「Microsoft Word」のソフトが立ち上がってから、
その上で「test.doc」が開かれるのと似ているJavaVM
Javaのプログラミングを行なうためのソフトウェア(フリーソフト)。
〇〇にはプログラミングやデバッグを容易に行なうための様々な機能が提供され、開発生産性が格段に上がる。Eclipse
データベースソフトウェア。
他にもDB2、MySQL等いろいろなデータベース製品があるが、その中でも〇〇は有名で、いろいろなプロジェクトで使われることが多い。(但し、データベースが変わっても使用するSQL言語は殆ど変わらないので、Oracleを覚えればDB2やMySQLも問題なく使用することができる)Oracle
各項目がカンマ「,」で区切られたデータファイル。CSVファイル
Javaのプログラム開発を複数のメンバーで行なう際に、「誰が」「いつ」「どのプログラムを」「どのように」修正したかを管理するためのシステム。CVS
プログラム、ソフトウェアのこと。プログラム開発を〇〇開発と表現することが多い。アプリケーション
ハードウェア(サーバなど)、ネットワーク、データベース等のプログラムを実行するための環境、基盤。
大抵のプロジェクトでは、インフラチーム、アプリチームと分けて、インフラチームが基盤の作成、アプリチームがプロ
グラム開発をすることが多い。インフラ
何らかの事象(物)が、ある状態から別の状態へ変化すること。
現場では、画面が別の画面へ変化することを「画面〇〇」と言う。
内部の状態が変化することについては「状態〇〇」と言う。遷移
骨組みや枠を意味する。
アプリ開発などで必要となる基本機能のことを指す。フレームワーク
接点、境界面、接触面、接合面、仲立ち、橋渡しなどの意味を持つ英単語。IT関連では、二つのものが接続・接触する箇所や、両者の間で情報や信号などをやりとりするための手順や規約を定めたものを意味する。
I/Fと書くことが多い。インターフェース
割り当てる、指名する、配属する、あてがう、帰する、代入する、などの意味を持つ英単語。ITの分野で
は、ある特定の資源や機能、処理、役割などを、記号や番号、操作などに対応付けることを意味することが多い。アサイン
修理(する)、修正(する)、調整(する)、調節(する)、固定する、取り付ける、決定する、確定する、解決する、などの意味を持つ英単語。日本語の外来語としては主に修正、確定、固定の三つの意味で用いられる。フィックス
英単語としての意味は「関係すること。参加すること。かかわり合うこと」であるが、ITの場合だと「変更の確定」といった意味で使用されることが多い。コミット
変更の取り消しのことを指す。
変更を確定したけれど、問題が見つかった場合などに使用前の状態の復元を行う。ロールバック
データを一時的に保持するための記憶領域であり、データの蓄積と転送を調整する役割を果たす。
なお、開発プロジェクトの現場では、工程やスケジュールに余裕を持つことで、予期しない問題に対処する余地を残すこ
とを指すことが多い。バッファ
文章やソースコードの読みやすさの指標。可視性や外見だけでなく、一読した際の理解のしやすさや誤解のなさにも重点を置いて評価される。可読性
アプリケーション同士を接続し、相互作用させるためのインターフェースである。ユーザーが直接操作できない処理やデータ交換などは、アプリケーション同士がリクエストとレスポンスの形式で通信する手段として使用される。リクエストは〇〇の利用者側から発行され、レスポンスは〇〇の提供者側から返される。〇〇は異なるアプリケーションやサービス間でデータ共有や機能の利用を可能にし、ソフトウェアの統合や拡張性を提供するAPI
プログラム開発に必要な手順を一括で管理できるツールや開発環境を指す。
・プロジェクト管理(パッケージやソースコードのバージョン管理)
・コーディング環境(コード記述用のテキストエディタや入力補完機能)
・デバッグ環境(ブレークポイントの設定や変数の表示などのデバッグツール)
・GUI開発支援
・プラグインシステム(豊富な機能拡張が提供されている)統合開発ツール
インターネットを経由して、コンピュータ資源やアプリケーションをサービスとして提供する形態。従来のサーバールーム構築に代わり、インターネットとセキュリティの進歩により、ネットに接続したPCが開発や運用に必要な資源を提供でクラウドコンピューティング
Amazonが提供しているクラウドコンピューティングサービス。
豊富なサービスと安全なセキュリティ面などの利点から、2022年時点で世界で最も利用されている。AWS
ユーザーとコンピュータの間で情報のやり取りを行う、入出力装置を指す。
入力装置の例を挙げると、マウスやキーボード、マイクなど、出力装置はディスプレイやサウンド、プリンターなど。
新たなサービスやにおいては、タッチパネルやカードリーダーなどより広い意味での入出力装置を含む。UI
入出力を全てキーボードと文字のみが表示される画面操作で利用する。
例として、WindowsのコマンドプロンプトやLINUXコマンドによるOS操作などが挙げられるCUI
入出力をキーボードを含む、画面上のアイコンやボタンなど、直感的に分かりやすくコンピュータに指令を出すことので
きるインターフェースを指す。
これに加え、タッチパネルやポインティングデバイスなど視覚的に操作できるものも指す。GUI
デジタル化の進化や高度なネットワーク、小型・低コストなセンサー、スマートフォンなどによって生成される、膨大なデータ量を指す。ビッグデータを特徴づけるために、通常、以下の5つのVが使用される。
・Volume(膨大なデータ量)
・Variety(データの種類・多様性・形式)
・Velocity(データの生成する速度あるいは頻度)
・Veracity(データの信頼性・精度)
・Value(データを活用して得られる情報や結果の価値)ビッグデータ
エンドユーザ(最終的にシステムを使用するお客様)より現状の問題点やシステム開発における様々な要望をヒアリングし、最適な実現方式を提案する。要件定義
システムを構築するにあたって必要な機能の洗い出しを行なう。
また、ネットワーク構成、データベース定義、画面構成等、プログラム開発を行なう前段階の設計を行なう。
尚、外部設計までの工程ではエンドユーザと頻繁に打ち合わせをしながら進めていくことが多いため、技術スキルだけで
はなくコミュニケーションスキルも必要である。外部設計
プログラムを製造するための詳細な動作内容を記述したプログラム仕様書を作成する。
画面に表示するメッセージの種類、データベースに設定する値や条件等の細かい部分まで設計する。内部設計
プログラム仕様書に基づき、コーディング(プログラムの作成)を行なう。
このあたりから忙しくなり、メンバーが増員されることが多い。製造
製造に着手してから外部設計、内部設計の誤りに気付いた場合、修正した設計書に合わせてプログラムも一部作り直すことになる。こうした〇〇が発生すると進捗に大きく影響を及ぼすため、慎重に設計を行なう必要がある。
また、仕様変更によって〇〇が発生することも多々ある。手戻り
各々が作成したプログラムを、1つ1つ個別に動作確認を行なう。
まず「〇〇項目書」を作成し、そのチェック項目に基づいて一項目ずつテストを行う。万一、期待通りの動きをしなかった(バグが発生した)場合はデバッグを行い、最終的には全てのテスト項目が期待通りの動きをすることを確認しなければならない。
また、テスト結果が全てOKである証拠として、画面やデータベースの内容を印刷し資料(エビデンス)としてお客様に提
出することもある。単体テスト
各々が作成したプログラムを結合して、全体的な動作確認を行なう。
この工程でバグが発生した場合、誰が作った(どの)プログラムが原因で、どこを直せば解消するかを調査するのに手間取り、単体テストでのデバッグよりも大幅な時間を費やしてしまう。よって、単体テストで各自十分に動作確認を行ない、〇〇では殆どバグを出さないように心がける必要がある。結合テスト
結合テストまでは開発チーム主体で進めるが、〇〇ではそのシステムを使用するエンドユーザが主体となり、実際の運用を想定してシステムのオペレーションを行なう。また、結合テストまではテスト環境を用いることが多いが、〇〇では本番環境またはそれとほぼ同等の環境でテストを行うことが多く、サービスイン直前の最後の詰めのテストと言える。システムテスト
今まで開発したプログラムを本番環境に登録し、エンドユーザが実運用で使えるようにする。また、必要に応じてネットワークの設定変更やデータベースへの初期データ登録等も行なう。サービスイン後にシステム障害(バグ)が発生するとお客様に多大な迷惑がかかってしまうため、各テスト工程で念入りにテストを行う必要がある。サービスイン
サービスイン後に、エンドユーザに変わってシステム運用のオペレーションを代行することがある。
また、今後追加案件が発生した際にプログラム〇〇するために引き続きプロジェクトに残ることがある。運用, 保守
建物内(企業内、家庭内等)のパソコン同士をつなぐ比較的小規模なネットワーク。LAN
LANが建物内の比較的小規模なネットワークなのに対して、プロバイダ接続へのダイヤルアップ接続等の広範囲でつなげられたネットワーク。Wide Area Network の略。
LANが建物内の比較的小規模なネットワークなのに対して、プロバイダ接続へのダイヤルアップ接続等の広範囲でつなげられたネットワーク。WAN
パソコンをネットワークにつなぐためのケーブル。LANケーブル
複数のパソコンをネットワークにつなぐための装置。
〇〇には複数のLANケーブル差し込み口があり、ここに複数のLANケーブルをつなげ、各々のLANケーブルを各パソコンにつなげることにより、複数のパソコンでの通信が可能となる。HUB
HUBの機能をグレードアップしたもの。
異なるネットワーク間の接続や通信経路の制御(ルーティング)も可能。ルータ
ネットワークに接続した1台のパソコンを特定するためのアドレス。
xxx.xxx.xxx.xxx (xxxは0~255)というアドレス体系。
同じネットワークに繋がっているパソコンは、〇〇が重複してはならない。IPアドレス
PCのIPアドレスを調べるためのコマンドipconfig
各種パソコン、ネットワーク機器が互いに通信するための「通信規約」。プロトコル
IPアドレスを自分で設定せずに、自動的に取得するためのプロトコル。DHCP
ネットワーク上の他のマシン(UNIX、Linux系)を使用するためのプロトコル。TELNET
WebブラウザからWebサーバにアクセスし、ホームページを表示するためのプロトコル。HTTP
HTTPは通信内容を暗号化しないで送受信されるが、HTTPSは暗号化して通信するため、セキュリティ面で安全。HTTPS
ネットワークに接続されたWindowsパソコンを識別するための名前。
「スタートメニュー」-「コンピュータ」-「プロパティ」で任意の名前に設定できる。コンピュータ名
例えば、http://ditgroup.jp/ といったURLや、kensyu@ditgroup.jp といったメールアドレスにおける、「ditgroup.jp」の部分がドメイン名。
〇〇はある機関によって一元管理されており、世界中で重複した名前を使用することができない。ドメイン名
ドメイン名「ditgroup.jp」をそのマシンのIPアドレスに変換するためのサーバマシン。
ドメイン名とIPアドレスを対応付けた住所録のようなもの。DNSサーバ
メールを送受信するためのサーバマシン。メールサーバ
外部ネットワークからの不正なアクセスを防止するための機器。FireWall
プロジェクトを遂行するためのスケジュール表。
WBS(Work Breakdown Structure )とも言われる。
横軸に日付、縦軸に作業項目と担当者名が記入されている。
PM、PLはこの線表をもとにメンバーの進捗管理を行なっている。線表
進捗(作業の進み具合)が線表にて予定されたスケジュールよりも進んでいること。
急な仕様変更等、不測の事態に備えてなるべく自分の担当作業は〇〇で進めることを心がけたい。前倒し
進捗(作業の進み具合)が線表にて予定されたスケジュールどおり進んでいること。
とりあえずは順調と言えるが、できれば前倒しを目指したい。オンスケ
進捗(作業の進み具合)が線表にて予定されたスケジュールよりも遅れていること。
大幅な仕様変更等のやむを得ない事情がない限り基本的に〇〇は許されないので、
あらゆる策を講じてリカバリする必要がある。遅延
進捗が遅延した際に、本来の進捗(オンスケ)に戻すこと。
主に以下の方法によって生産性を上げて〇〇する
・稼動を上げる(残業、休日出勤等で作業時間を増やす)
・メンバーを増員する
・スケジュール調整する
(後工程のスケジュールを短くする代わりに今の作業の期限を延ばす)
どの方法にしても苦肉の策であり、プロジェクトとしてはあまり好ましくないため、
極力遅延が発生しないように各個人が日々の進捗、スケジュールを意識する必要がある。リカバリ
遅延が発生した場合のリカバリあるいは作業項目が増えた際にスケジュールプランを見直すこと。リスケ
一定期間で出来上がった成果の大きさ(量)。各個人は自身の〇〇を上げるためにスキルを身につけ、PLはプロジェクト全体の〇〇を上げるために効率よくメン
バーを指揮する。生産性
主に予算管理(売上、原価管理)、工数見積もり、要員計画、対外調整(お客様との折衝)を行なう。
プロジェクト全体の責任者。PM
主にメンバーの指揮、進捗管理、対外調整、メンバーの作業内容チェック(レビュー)等を行う。PL
プロジェクトに誰をどの期間参画させるかといった計画を立てること。要員計画
ある開発を完了するために必要な作業量。
・1人で行うと10ヶ月かかる作業は【10人月】(2人で5ヶ月かかる場合も同じ。2人×5ヶ月=【10人月】)
・1人で行うと15日かかる作業を【15人日】(3人で5日かかる場合も同じ。3人×5日=【15人日】)
一括請負の場合は、この工数を基準に1人月につきxx万円というように開発費の見積もりをし、お客様に提示する。工数
開発したシステムがサービスイン(後述)を迎え、無事本番稼動すること。尚、「本番稼動=プロジェクト終了」という
意味合いから、DITでは別の意味として「あるメンバーは現在参画しているプロジェクトから抜けること」も「誰々が○○
プロジェクトを〇〇する」と表現している。カットオーバー
SES契約の際に決められる各人の1ヶ月あたりの作業代金。
160~180h/月でxx万円等の取り決めを行い、稼働時間がその範囲を超えた場合は時間単位に代金を加算して請求する。単金
客先(主に大手システム開発会社)に常駐して作業を行い、その作業時間に応じて代金を請求する契約形態。「単金xx万
円」という時間清算契約のためメンバーの稼動が増えることによって大幅な赤字となる可能性が低いが、一括請負が成功
した場合に比べて利益は少ない。SES
SESが作業時間単位に代金が支払われるのに対して、〇〇の場合は請け負った開発作業全体に対して工数を見積もり、代金を請求する契約形態。
予定よりも稼働時間が多くなった場合は赤字となるリスクがあるが、生産性を上げて少ない稼働時間で完成できれば大幅
な利益を得ることができる。一括請負
構成管理ツール ITシステムを統合的に管理するためのツール。例えば、ファイルのリビジョン管理を通じて、過去のファイルバージョン
との差分を確認し、過去の状態に復元できる。構成管理ツール
プログラム言語が記述されたファイル(Javaの場合、拡張子は「~.java」)。
コンピュータは〇〇を理解、実行することができないため、コンパイルすることによってクラスファイルを作成してから実行する必要がある。ソースファイル
コンピュータが理解し、実行できる形式のファイル。
Javaの場合は、拡張子が「~.class」でクラスファイルと呼ばれる。
(そのため研修中は、「クラスファイル」と呼ぶ機会が多くなる)実行ファイル
ソースファイル(人間が目で見て理解できるプログラム言語で記述されたファイル)を元に、コンピュータが理解できる
実行ファイル(Javaにおけるクラスファイル)を生成させること。コンパイル
プログラムの誤りによって発生した不具合。
システムが異常終了してしまうような障害だけでなく、1 + 1 = 3 のように期待通りの動作をしない場合も〇〇である。バグ
プログラムや環境の不具合により、プログラムが途中で強制終了されてしまうこと。
例:指定したファイルが存在しない、num[-1]のように不適切な要素番号を指定した、0で割り算した、メモリ不足
反対に、PG処理を最後まで完了して終わることを「正常終了」と言う。異常終了
バグの原因を解析し、正しい動作を行なうようにソースファイルを修正すること。
テスト工程以降は、バグが発生するたびにこの作業を行なう必要がある。
また、当然ながら修正後は正しく動作することを確認しなければならない。デバッグ
①ソースファイル作成(コーディング)
②コンパイル(実行ファイルが作成される)
③実行ファイルを動かし動作確認
④もしバグがあれば、デバッグし、②に戻る(②~④を、バグが0件になるまで繰り返す)プログラムの開発手順
ある箇所のバグを修正することによって、今度は「今まで正しく動作していた箇所」が正しく動かなくなってしまうこと。デバッグする際によく発生することなので、ある箇所を修正したら今まで正しく動作していた箇所も一通り確認する必要がある。デグーレード
Javaの様々なクラス(String、Integer等)の概要やメソッドの使用方法が記述された辞書のようなもの(HTMLで作成されているのでWebブラウザで表示する)。Javadoc
各自が作成した設計書、プログラム(ソースファイル)に不備がないか、改善点は無いかをPLを含む数人のメンバーで議論を行い、品質の向上を図ること(ソース〇〇、設計書〇〇、という言い方をする)。
要所要所で〇〇を行い、有識者のチェックや指摘を受けることにより、後工程での大幅な手戻りを防ぐことができる。レビュー
プログラムを作成する上での細かい動作内容。
「このPGは入力内容が0~100の範囲であることをチェックする〇〇となっている」
「このPGは、〇〇どおりに作成されていないので、修正しなくてはいけない」
というような言葉の使い方をする。仕様
プログラムの「仕様」が記述された設計書。
詳細設計の工程で作成する成果物。
プログラマはこの〇〇に基づいて製造(コーディング)を行い、不明点があった場合は独断で作業を進めずに、必ず設計書を作成した人に確認する必要がある。プログラム仕様書
仕様(プログラムの動作内容)が、外部設計/詳細設計等によって一度確定した後で変更されること。
これによって、設計書の修正、プログラムの修正、テストのやり直し等の手戻りが発生してしまうが、殆どのプロジェクトで通常一度や二度は発生する。
お客様都合による〇〇の場合は、PM、PLがお客様とスケジュールや追加料金について交渉することがある。仕様変更
テスト項目書に基づいてテストをした結果、正しく動作したことを「証拠」として残した資料。
Webブラウザに表示された画面やデータベースの内容を印刷し、後々、誰が見ても(実際にテストを実施した者以外でも)
正しく動作したことを確認できるように資料に残し、PGや設計書、テスト項目書と共にお客様に納品する。エビデンス
各工程で作成されるドキュメント(資料)やプログラム(ソースファイル、実行ファイル)等。
これらの成果物をお客様に納品することになる。成果物
プログラムの規模を表す指標であり、ソースファイル1行=1STEPとカウントする。
コメント行や空行はカウントせず、プログラムを記述した部分の行数をカウントする。
Javaの開発ではあまり使われないが、「1KStep/1ヶ月」というように生産性を表現することがある。
(1KStep = 1000Step。「1KStep/1ヶ月」とは、1000Step(1000行)のPGを1ヶ月で作成する生産性を表す)ステップ数
Javaのソースファイルをコンパイルしたり、生成されたクラスファイルを実行するためのソフトウェア。
Javaの開発をするためには、まずこれをインストールする必要がある。
フリーソフト(Oracleのホームページでダウンロードできる)。JDK
Javaのクラスファイルを実行するための環境。
クラスファイルを実行すると、まず〇〇が起動し、その上でクラスファイルが実行される。
クラスファイルの実行が終了すると、〇〇も終了する。
※Wordの文書「test.doc」を実行すると、まず「Microsoft Word」のソフトが立ち上がってから、
その上で「test.doc」が開かれるのと似ているJavaVM
Javaのプログラミングを行なうためのソフトウェア(フリーソフト)。
〇〇にはプログラミングやデバッグを容易に行なうための様々な機能が提供され、開発生産性が格段に上がる。Eclipse
データベースソフトウェア。
他にもDB2、MySQL等いろいろなデータベース製品があるが、その中でも〇〇は有名で、いろいろなプロジェクトで使われることが多い。(但し、データベースが変わっても使用するSQL言語は殆ど変わらないので、Oracleを覚えればDB2やMySQLも問題なく使用することができる)Oracle
各項目がカンマ「,」で区切られたデータファイル。CSVファイル
Javaのプログラム開発を複数のメンバーで行なう際に、「誰が」「いつ」「どのプログラムを」「どのように」修正したかを管理するためのシステム。CVS
プログラム、ソフトウェアのこと。プログラム開発を〇〇開発と表現することが多い。アプリケーション
ハードウェア(サーバなど)、ネットワーク、データベース等のプログラムを実行するための環境、基盤。
大抵のプロジェクトでは、インフラチーム、アプリチームと分けて、インフラチームが基盤の作成、アプリチームがプロ
グラム開発をすることが多い。インフラ
何らかの事象(物)が、ある状態から別の状態へ変化すること。
現場では、画面が別の画面へ変化することを「画面〇〇」と言う。
内部の状態が変化することについては「状態〇〇」と言う。遷移
骨組みや枠を意味する。
アプリ開発などで必要となる基本機能のことを指す。フレームワーク
接点、境界面、接触面、接合面、仲立ち、橋渡しなどの意味を持つ英単語。IT関連では、二つのものが接続・接触する箇所や、両者の間で情報や信号などをやりとりするための手順や規約を定めたものを意味する。
I/Fと書くことが多い。インターフェース
割り当てる、指名する、配属する、あてがう、帰する、代入する、などの意味を持つ英単語。ITの分野で
は、ある特定の資源や機能、処理、役割などを、記号や番号、操作などに対応付けることを意味することが多い。アサイン
修理(する)、修正(する)、調整(する)、調節(する)、固定する、取り付ける、決定する、確定する、解決する、などの意味を持つ英単語。日本語の外来語としては主に修正、確定、固定の三つの意味で用いられる。フィックス
英単語としての意味は「関係すること。参加すること。かかわり合うこと」であるが、ITの場合だと「変更の確定」といった意味で使用されることが多い。コミット
変更の取り消しのことを指す。
変更を確定したけれど、問題が見つかった場合などに使用前の状態の復元を行う。ロールバック
データを一時的に保持するための記憶領域であり、データの蓄積と転送を調整する役割を果たす。
なお、開発プロジェクトの現場では、工程やスケジュールに余裕を持つことで、予期しない問題に対処する余地を残すこ
とを指すことが多い。バッファ
文章やソースコードの読みやすさの指標。可視性や外見だけでなく、一読した際の理解のしやすさや誤解のなさにも重点を置いて評価される。可読性
アプリケーション同士を接続し、相互作用させるためのインターフェースである。ユーザーが直接操作できない処理やデータ交換などは、アプリケーション同士がリクエストとレスポンスの形式で通信する手段として使用される。リクエストは〇〇の利用者側から発行され、レスポンスは〇〇の提供者側から返される。〇〇は異なるアプリケーションやサービス間でデータ共有や機能の利用を可能にし、ソフトウェアの統合や拡張性を提供するAPI
プログラム開発に必要な手順を一括で管理できるツールや開発環境を指す。
・プロジェクト管理(パッケージやソースコードのバージョン管理)
・コーディング環境(コード記述用のテキストエディタや入力補完機能)
・デバッグ環境(ブレークポイントの設定や変数の表示などのデバッグツール)
・GUI開発支援
・プラグインシステム(豊富な機能拡張が提供されている)統合開発ツール
インターネットを経由して、コンピュータ資源やアプリケーションをサービスとして提供する形態。従来のサーバールーム構築に代わり、インターネットとセキュリティの進歩により、ネットに接続したPCが開発や運用に必要な資源を提供でクラウドコンピューティング
Amazonが提供しているクラウドコンピューティングサービス。
豊富なサービスと安全なセキュリティ面などの利点から、2022年時点で世界で最も利用されている。AWS
ユーザーとコンピュータの間で情報のやり取りを行う、入出力装置を指す。
入力装置の例を挙げると、マウスやキーボード、マイクなど、出力装置はディスプレイやサウンド、プリンターなど。
新たなサービスやにおいては、タッチパネルやカードリーダーなどより広い意味での入出力装置を含む。UI
入出力を全てキーボードと文字のみが表示される画面操作で利用する。
例として、WindowsのコマンドプロンプトやLINUXコマンドによるOS操作などが挙げられるCUI
入出力をキーボードを含む、画面上のアイコンやボタンなど、直感的に分かりやすくコンピュータに指令を出すことので
きるインターフェースを指す。
これに加え、タッチパネルやポインティングデバイスなど視覚的に操作できるものも指す。GUI
デジタル化の進化や高度なネットワーク、小型・低コストなセンサー、スマートフォンなどによって生成される、膨大なデータ量を指す。ビッグデータを特徴づけるために、通常、以下の5つのVが使用される。
・Volume(膨大なデータ量)
・Variety(データの種類・多様性・形式)
・Velocity(データの生成する速度あるいは頻度)
・Veracity(データの信頼性・精度)
・Value(データを活用して得られる情報や結果の価値)ビッグデータ
エンドユーザ(最終的にシステムを使用するお客様)より現状の問題点やシステム開発における様々な要望をヒアリングし、最適な実現方式を提案する。要件定義
システムを構築するにあたって必要な機能の洗い出しを行なう。
また、ネットワーク構成、データベース定義、画面構成等、プログラム開発を行なう前段階の設計を行なう。
尚、外部設計までの工程ではエンドユーザと頻繁に打ち合わせをしながら進めていくことが多いため、技術スキルだけで
はなくコミュニケーションスキルも必要である。外部設計
プログラムを製造するための詳細な動作内容を記述したプログラム仕様書を作成する。
画面に表示するメッセージの種類、データベースに設定する値や条件等の細かい部分まで設計する。内部設計
プログラム仕様書に基づき、コーディング(プログラムの作成)を行なう。
このあたりから忙しくなり、メンバーが増員されることが多い。製造
製造に着手してから外部設計、内部設計の誤りに気付いた場合、修正した設計書に合わせてプログラムも一部作り直すことになる。こうした〇〇が発生すると進捗に大きく影響を及ぼすため、慎重に設計を行なう必要がある。
また、仕様変更によって〇〇が発生することも多々ある。手戻り
各々が作成したプログラムを、1つ1つ個別に動作確認を行なう。
まず「〇〇項目書」を作成し、そのチェック項目に基づいて一項目ずつテストを行う。万一、期待通りの動きをしなかった(バグが発生した)場合はデバッグを行い、最終的には全てのテスト項目が期待通りの動きをすることを確認しなければならない。
また、テスト結果が全てOKである証拠として、画面やデータベースの内容を印刷し資料(エビデンス)としてお客様に提
出することもある。単体テスト
各々が作成したプログラムを結合して、全体的な動作確認を行なう。
この工程でバグが発生した場合、誰が作った(どの)プログラムが原因で、どこを直せば解消するかを調査するのに手間取り、単体テストでのデバッグよりも大幅な時間を費やしてしまう。よって、単体テストで各自十分に動作確認を行ない、〇〇では殆どバグを出さないように心がける必要がある。結合テスト
結合テストまでは開発チーム主体で進めるが、〇〇ではそのシステムを使用するエンドユーザが主体となり、実際の運用を想定してシステムのオペレーションを行なう。また、結合テストまではテスト環境を用いることが多いが、〇〇では本番環境またはそれとほぼ同等の環境でテストを行うことが多く、サービスイン直前の最後の詰めのテストと言える。システムテスト
今まで開発したプログラムを本番環境に登録し、エンドユーザが実運用で使えるようにする。また、必要に応じてネットワークの設定変更やデータベースへの初期データ登録等も行なう。サービスイン後にシステム障害(バグ)が発生するとお客様に多大な迷惑がかかってしまうため、各テスト工程で念入りにテストを行う必要がある。サービスイン
サービスイン後に、エンドユーザに変わってシステム運用のオペレーションを代行することがある。
また、今後追加案件が発生した際にプログラム〇〇するために引き続きプロジェクトに残ることがある。運用, 保守
建物内(企業内、家庭内等)のパソコン同士をつなぐ比較的小規模なネットワーク。LAN
LANが建物内の比較的小規模なネットワークなのに対して、プロバイダ接続へのダイヤルアップ接続等の広範囲でつなげられたネットワーク。Wide Area Network の略。
LANが建物内の比較的小規模なネットワークなのに対して、プロバイダ接続へのダイヤルアップ接続等の広範囲でつなげられたネットワーク。WAN
パソコンをネットワークにつなぐためのケーブル。LANケーブル
複数のパソコンをネットワークにつなぐための装置。
〇〇には複数のLANケーブル差し込み口があり、ここに複数のLANケーブルをつなげ、各々のLANケーブルを各パソコンにつなげることにより、複数のパソコンでの通信が可能となる。HUB
HUBの機能をグレードアップしたもの。
異なるネットワーク間の接続や通信経路の制御(ルーティング)も可能。ルータ
ネットワークに接続した1台のパソコンを特定するためのアドレス。
xxx.xxx.xxx.xxx (xxxは0~255)というアドレス体系。
同じネットワークに繋がっているパソコンは、〇〇が重複してはならない。IPアドレス
PCのIPアドレスを調べるためのコマンドipconfig
各種パソコン、ネットワーク機器が互いに通信するための「通信規約」。プロトコル
IPアドレスを自分で設定せずに、自動的に取得するためのプロトコル。DHCP
ネットワーク上の他のマシン(UNIX、Linux系)を使用するためのプロトコル。TELNET
WebブラウザからWebサーバにアクセスし、ホームページを表示するためのプロトコル。HTTP
HTTPは通信内容を暗号化しないで送受信されるが、HTTPSは暗号化して通信するため、セキュリティ面で安全。HTTPS
ネットワークに接続されたWindowsパソコンを識別するための名前。
「スタートメニュー」-「コンピュータ」-「プロパティ」で任意の名前に設定できる。コンピュータ名
例えば、http://ditgroup.jp/ といったURLや、kensyu@ditgroup.jp といったメールアドレスにおける、「ditgroup.jp」の部分がドメイン名。
〇〇はある機関によって一元管理されており、世界中で重複した名前を使用することができない。ドメイン名
ドメイン名「ditgroup.jp」をそのマシンのIPアドレスに変換するためのサーバマシン。
ドメイン名とIPアドレスを対応付けた住所録のようなもの。DNSサーバ
メールを送受信するためのサーバマシン。メールサーバ
外部ネットワークからの不正なアクセスを防止するための機器。FireWall