「上流工程」と「下流工程」の違い
予備知識
| 用語 | 意味 |
|---|---|
| ウォーターフォール型 | システム開発のやり方のひとつで、工程を1つずつ順番に終わらせていく やり方 |
ウォーターフォール型は、システム開発のやり方のひとつで「工程を1つずつ順番に終わらせていく やり方」です。
水が高いところから低いところに流れ落ちるように、最初の工程から最後の工程に向かって1つずつ順番に終わらせていきます。

ウォーターフォール型の開発では、全体の作業がいくつかの工程に分けられます。
一般的なのは
1.要件定義
2.基本設計
3.詳細設計
4.プログラム設計
5.プログラミング
6.単体試験
7.結合試験
8.総合試験
のような分け方でしょうか。

※各工程の中身が分からない人は、それぞれの用語の解説を ご覧ください。また、お仕事現場によっては一部の工程がなかったり工程の呼び名が違ったりします。そこら辺は、ゆるく捉えてください。
それぞれの用語の意味
| 用語 | 意味 |
|---|---|
| 上流工程 | システム開発において前半でやることになる作業 |
| 下流工程 | システム開発において後半でやることになる作業 |
似ているところ
どちらもウォーターフォール型のシステム開発における工程の分類です。
違うところ
それぞれ
上流工程:開発の前半でやる作業
下流工程:開発の後半でやる作業
です。
また、大雑把に分類すると
上流工程:考える作業
下流工程:実際に作る作業
です。

上でも書きましたが、ウォーターフォール型の開発では、全体の作業がいくつかの工程に分けられます。
一般的なのは
1.要件定義
2.基本設計
3.詳細設計
4.プログラム設計
5.プログラミング
6.単体試験
7.結合試験
8.総合試験
のような分け方でしょうか。

※各工程の中身が分からない人は、それぞれの用語の解説を ご覧ください。また、お仕事現場によっては一部の工程がなかったり工程の呼び名が違ったりします。そこら辺は、ゆるく捉えてください。
実は、これらの工程は大きく2つに分けられます。
それは
1.要件定義
2.基本設計
3.詳細設計
4.プログラム設計
と
5.プログラミング
6.単体試験
7.結合試験
8.総合試験
です。

開発の前半にやる
1.要件定義
2.基本設計
3.詳細設計
4.プログラム設計
は「考える作業」です。
頭をウンウン悩ませて「何を作る?」や「どう作る?」といった内容を決めます。

開発の後半にやる
5.プログラミング
6.単体試験
7.結合試験
8.総合試験
は「実際に作る作業」です。
「考える作業」で決まった内容をもとにして、プログラムを作ったり、作った物がおかしくないかテストします。

この2つに分類した工程のうち、前半の
1.要件定義
2.基本設計
3.詳細設計
4.プログラム設計
が上流工程です。
システム開発の作業工程を川の流れに見立てると、上流の方でやる作業ですよね。

後半の
5.プログラミング
6.単体試験
7.結合試験
8.総合試験
が下流工程です。
システム開発の作業工程を川の流れに見立てると、下流の方でやる作業ですよね。

お仕事現場によっては、区切り方が違う場合もありますけどね。
基本的には、そんな感じです。






