システム開発の工程は大きく以下の2つに分けられます。
- 上流工程
- 下流工程
この記事では「上流工程」とは何か、ITエンジニア未経験の方に向けて紹介いたします。
上流工程とは
「上流工程」とは、システム開発において初期の工程を指します。
システム開発はプログラミングから始めるのではありません。システムの仕様を定義し、開発の方針や機能の設計を行う必要があります。
上流工程は開発に入る前の企画や設計に関わる工程であり、以下のような段階で進められます。
- 要件定義
- 外部設計(基本設計)
- 内部設計(詳細設計)
- 製造
- テスト(試験)
要件定義から内部設計までを上流工程と呼ぶことが多いですが、外部設計までのことを指す場合もあります。
このように、滝の流れのように上から順序よく工程に着手する開発手法のことを「ウォーターフォールモデル」と言い、上流工程という言葉の由来になっています。
下流工程との違い
主な違いとしては上流工程は初期段階の工程、下流工程はその後の工程を指すことです。
下流工程は、実際にシステムをプログラミングし、設計通りに動作するかをテストする段階です。
下流工程と比べると、上流工程ではクライアントとのコミュニケーションがより重要となります。上流工程ではクライアントとの密なやり取りを通じて要件をヒアリングし、システム設計に反映させる役割があります。そのため、コミュニケーション能力がより必要とされます。また、上流工程ではプロジェクトの管理やマネジメントスキルも求められます。
さらに、一般的に上流工程を担うエンジニアは下流工程のエンジニアに比べて給与が高くなる傾向があります。これは、上流工程を担うエンジニアは、クライアントとの打ち合わせからシステムの設計までを担当するため、プロジェクト内での責任も大きくなるためです。
未経験から上流工程のエンジニアになるには
上流工程に携わるにはシステム開発における専門的な知識が必要です。プログラミング経験が少なくても、上流工程に関わる機会もありますが、専門スキルを身に着けている方がその後の転職にも有利です。
そのため、ITエンジニア未経験の場合は、まず下流工程のエンジニアとして就職し、実際のプログラミングの経験を積みながら上流工程に進むというのが一般的なキャリアプランです。
上流工程の内容
上流工程の内容は以下の通りです。
- 要件定義
- 外部設計(基本設計)
- 内部設計(詳細設計)
内部設計は上流工程に分類されない場合がありますが、ここでは含まれるものとして解説します。
要件定義
「要件定義」とは、開発するITシステムに組み込みたい機能などを要件として定義する工程です。
クライアントの依頼で開発する場合は、クライアントから提出された「要求定義書」を元に定義する場合もあります。
要件定義では、開発するエンジニア側とクライアント側との認識のすり合わせが重要です。
外部設計(基本設計)
「外部設計」とは、要件定義で定められた要件を機能として具体的に設計する工程です。「基本設計」とも呼ばれます。
この工程では、具体的な画面のレイアウトや出力内容、ユーザーが操作する際のデータ入出力方法など、実際に利用される部分の設計が主な焦点となります。
また、プロジェクトのスケジュールや費用、システムを構成するハードウェア(物理的な機器)などに関する設計も行われます。
内部設計(詳細設計)
「内部設計」とは、外部設計で定めた機能などを、プログラミングで実現するためにより詳細に設計する工程です。「詳細設計」とも呼ばれます。
実際にITエンジニアがプログラミングできるように、ユーザーに見せない部分の仕様まで詳しく設計します。
まとめ
「上流工程」とは次の通りです。
- 「上流工程」とは、開発に入る前の企画や設計に関わる工程。
- 「上流工程」は初期段階の工程、「下流工程」はその後の工程を指す。
- 未経験から上流工程のエンジニアになる場合は、下流工程のエンジニアとして実務経験を積みながら上流工程に進むというのが一般的。
「上流工程」の内容は次の通りです。
- 「要件定義」とは、開発するITシステムに組み込みたい機能などを要件として定義する工程。
- 「外部設計」とは、要件定義で定められた要件を機能として具体的に設計する工程。
- 「内部設計」とは、外部設計で定めた機能などを、プログラミングで実現するためにより詳細に設計する工程。
ITエンジニア未経験からのスタートでもスキルを身に着ければ、下流工程から上流工程へのキャリアアップができます。
未経験からITエンジニアになる方法について詳しく投稿している別の記事がありますので、ぜひご覧ください。
IT業界の成長とともに、未経験からITエンジニアになることは、今や夢ではありません。本記事では、ITエンジニアになるための基礎知識から学習方法、実践的なスキルアップ、就職活動/転職活動についてまで、未経験からでもスタートできる具体的な方法を[…]
東京・福岡の未経験のあなたへ
メディアファイブでは、未経験の方でも当社が運営する無料のプログラミングスクールで学習することができます。そして、卒業生を当社の正社員として採用しています。当社の社員は、業界問わず多様な案件にITエンジニアとして参画しており、高度な技術力を発揮しています。ご興味のある方は未経験採用ページをご覧ください。