「システム」とは、本来は「複数の要素を組み合わせることで目的を実現するもの」 という意味です。なかでもシステム開発の基礎と呼ばれるものが「ウォーターフォール モデル」と呼ばれるもので、システムの開発開始から完成、運用に至るまでのイメージをウォーターフォール(滝)の流れに沿って計画立案し、開発を行います。
ここでは、システム開発のなかでシステムエンジニア(SE)とプログラマー(PG)がどの ように関わっていくのかを順序立てて説明しております。
未経験の方はもとより、経験者の方もぜひ、ご覧になって下さい。
大規模システム構築の場合、開発の前に、顧客はまず「コンサルテーション」を依頼する。
ここでは、コンサルタントが「顧客が何を実現したいか」を分析し、文書化する。
システム受注後、再度顧客のやりたいことをヒアリングし、開発するシステムの目的の明確化と、業務の分析などを行う。
要件定義の詳しい説明
要件定義からシステムの流れ・入出力・データ項目を設計し、データベースやプログラムの仕様を作る。
設計の詳しい説明
仕様書を元に実際のプログラムが組まれる。
プログラミングの詳しい説明
組み上げたプログラムの部品を仕上げる工程。
テストの詳しい説明
顧客に納めて検収もOKが出たシステムを、保守・運用管理する工程。
保守管理の詳しい説明
SEとプログラマーの役割を端的に説明すると、SEとはソフトウェアの開発や設計に重要な概要(仕様書)をまとめる職種をいいます。
そして、その仕様書に基づいて、プログラムを作成する職種がプログラマーになります。
実際にプログラミングを行うのはほとんどがプログラマーであるといえますが、 プログラマーが仕様書をまとめそのままプログラミングを行うなど、プログラマーが SEの仕事を行うことも多々あります。
上記で説明したとおり、SEはシステムの構成を練り、プログラマーが実作業を行うといったそれぞれの役割がありますが、実際にプログラミングするのはプログラマーであっても、基本的なプログラムの構造が理解できていないと、当然、実際のシステムを開発していくことは難しいので、プログラマーを統括する立場にあるSEにとっても、 プログラミング言語の知識は必要不可といえるでしょう。