どうも、カネスズです。
IT業界は、業界用語を用いた会話が良く行われます。
その用語というのは、主に英語の頭文字をとったものが多く、
新人さんは会話の中で意味が分からず、苦労する方も多いのではないのでしょうか。
(新人に用語を使うなって話ですが)
という訳で、今回はシステム開発の大まかな流れと、そこで使われる用語について
解説していきたいと思います。
IT業界に勤めようと思っている方、既にこの業界で働いているけど
用語について曖昧だ、という方のお役に立てればと思います。
※注意、解説といっても用語は会社や人によって意味が異なってくる場合があるので、参考程度に捉えてください。
目次
システム開発の流れ
システム開発は主に次の流れで行われます。
- 要件定義
- 外部設計・基本設計
- 内部設計・詳細設計
- プログラム設計
- プログラミング
- 単体テスト
- 結合テスト
- 統合テスト
それでは上から順番に見ていきましょう。
解説をわかりやすくするために
カネスズ商事の商品受注システム(仮)
の開発をすることを前提に、各工程見解説していきます。
要件定義(RD・SA)
要件定義:RD(Requirements Definition)・SA(System Architectura design)
RDとSAは同じ要件定義という意味でつかわれることが多いです。
工程としては
お客さんが求めているシステムの機能や性能を明確にする作業です。
カネスズ商事の商品受注システム(仮)を例で考えると
- 商品を発注するのにメールを使用しているが、これを効率化したい
- 発注した商品の管理にExcelを使用しているが、帳票として印刷したい
- 一日の仕入れと売上を自動で計算したい
などが要件で、それを定義(まとめる)したものが要件定義書です。
この要件定義から開発が始まる訳ですね。
外部設計(ED)・基本設計(UI)
外部設計:ED(External Design)
基本設計:UI(User Interface)
この外部設計と基本設計は同じ意味でつかわれることが多いですが、
私の経験ですと、外部設計の方がよくつかわれている気がします。
工程としては
作るシステムの概要(要件定義)をまとめる作業です。
カネスズ商事の商品受注システム(仮)を例で考えると
- 商品を発注するための画面レイアウトを設計する
- 発注した商品の情報を印刷する帳票のレイアウトを設計する
- 仕入と売上の計算をいつ行うか、どこに保存するかを設計する
などが挙げられます。
この作るシステム化の概要をまとめたものを
外部設計書・基本設計書と呼びます。
様は、お客さんからの要望をどうシステム化するかを設計することですね。
内部設計(ID)・詳細設計(SD)
内部設計:ID(Internal design)
詳細設計:SD(Structure Design)
この内部設計と詳細設計は同じ意味でつかわれることが多いですが、
私の経験だと内部設計の方がよくつかわれている気がします。
工程としては
外部設計の内容を具体的にする作業です。
カネスズ商事の商品受注システム(仮)を例で考えると
- 商品を発注するための具体的な処理を設計する。
- 発注商品のデータをどこから取り出して、帳票にするか設計する。
- 仕入と売上の計算をどのように行うか設計する
などが挙げられます。
この設計したものを
内部設計書・詳細設計書と呼びます。
様は、システム化する内容を実際に開発できるレベルまで落とし込み、設計することですね。
プログラム設計(PD)
プログラム設計:PD(Program Design)
工程としては、
内部設計の内容をさらにプログラミン単位まで詳しく設計する作業です。
このプログラム設計ですが、ほぼ内部設計と同義で使われることが多いようです。
そこまで設計を分割するのであれば、もうプログラミングしてしまった方が早い気もします。
ですが、大規模な開発を行う際はこのプログラム設計が必要になるみたいですね。
プログラミング(PG)
プログラミング:PG(Programmer・Programming)
PGは
人を表す場合はプログラマ
作業を表す場合はプログラミング
という意味で使われます。
このプログラミングは製造という意味でも使われます。
なので
「PGさん、PG工程に入ったからPGやって」
なんて会話も…ないですが、意味としては通るわけですね。
この工程では、内部設計書を見ながら実際の開発を行います。
今まで行ってきた、要件定義、外部設計、内部設計はプログラミングを行うための
準備になるわけですね。
単体テスト(PT・UT)
単体テスト:PT(Program Test )・UT(Unit Tst)
工程としては
プログラミングで作ったシステムを、処理単位でテストする作業です。
カネスズ商事の商品受注システム(仮)を例で考えると
- 商品を発注するための処理が行われるかテストする。
- 帳票で発注した商品の情報が正しく印刷されるかテストする。
- 仕入、売上の計算が正しく行われるかテストする。
などが挙げられます。
結合テスト(IT)
結合テスト:IT(Information Test )
工程としては
それぞれの処理を結合して動かしたときに、正しく動作するかをテストする作業です。
カネスズ商事の商品受注システム(仮)を例で考えると
商品を発注するための処理を行う
↓
その商品のデータが正しく印刷される
↓
その商品の発注金額が正しく計算される
という一連の流れのテストをするわけですね。
統合テスト(ST)
統合テスト:ST(SystemTest )
工程としては
お客さんが使う環境と同じ環境でテストする作業です。
この工程を終了することで、ようやくお客さんへの引き渡しができる訳ですね。
まとめ
ここまでシステム開発の流れと、その用語に関して解説してきましたが
いかがでしたでしょうか?
英単語の用語が多くて、嫌になりますよね。
ですが、その頭文字の意味を理解することで、覚える手助けになるのではないでしょうか?
私の経験上、英単語の用語を使われることが多い気がします。
例えば
「○○さん。UI設計書の△△見といて」
「○○さん。SDどのくらいで終わりそう?」
みたいな感じです。
入社したての頃は、分からずプチパニックに陥っていましたが
今では大体覚えました。
この記事が、IT業界に興味を持っている方、新入社員の方の
お役に立てばと思います。
最後に繰り返しになりますが、
ここで開設した内容は、会社・人によって異なる可能性があります。
可能性というか絶対あります。
なので参考程度にしてください。
それではこの辺で。
ではでは。