システムエンジニアの仕事は、大きくいうとシステム開発をすることです。システム開発にはウォーターフォール型開発やアジャイル開発、スパイラル型開発など様々な開発手法があります。
今回はその中でも、歴史があり説明もしやすいウォーターフォール型開発を前提に、システムエンジニアの仕事内容を紹介しましょう。ウォーターフォール型開発とは、要件定義から設計、プログラミング、テストまで、水の流れのように一直線に工程を進める開発手法です。
まず要件定義では、ヒアリングによりクライアントが求める機能や性能を明らかにしていきます。この時、よくクライアントの要望を聞き出しておかなければ、完成後に変更を言い渡されて最初から作り直さなければいけない可能性が出てくるため、一番重要な工程だといえるでしょう。
続いて設計ですが、設計には基本設計と詳細設計があります。基本設計では、クライアントの要望を叶えるためにどのような機能が必要かなど、基本的なことを設計していきます。対して詳細設計では、基本設計をもとに開発者に向けてより具体的な設計を行います。
そしてこれらの設計をもとに、プログラムを組み立てていく工程がプログラミングです。プログラミング言語を用いて、ソースコードを書いていきます。プログラムが完成したら、次に行うのはテストです。プログラムを連携し、システム全体が正常に動作するか確認します。
このような流れでシステムは開発されますが、システムエンジニアが担当するのはこの中の要件定義、設計、テストです。ただし、このあたりの線引は会社やプロジェクトにより異なり、プログラミングも担当したり、テストは担当しなかったりすることがあります。そのため、転職をする際には、その企業ではどの工程を担当するのか確認しておくことが大切です。
今回はその中でも、歴史があり説明もしやすいウォーターフォール型開発を前提に、システムエンジニアの仕事内容を紹介しましょう。ウォーターフォール型開発とは、要件定義から設計、プログラミング、テストまで、水の流れのように一直線に工程を進める開発手法です。
まず要件定義では、ヒアリングによりクライアントが求める機能や性能を明らかにしていきます。この時、よくクライアントの要望を聞き出しておかなければ、完成後に変更を言い渡されて最初から作り直さなければいけない可能性が出てくるため、一番重要な工程だといえるでしょう。
続いて設計ですが、設計には基本設計と詳細設計があります。基本設計では、クライアントの要望を叶えるためにどのような機能が必要かなど、基本的なことを設計していきます。対して詳細設計では、基本設計をもとに開発者に向けてより具体的な設計を行います。
そしてこれらの設計をもとに、プログラムを組み立てていく工程がプログラミングです。プログラミング言語を用いて、ソースコードを書いていきます。プログラムが完成したら、次に行うのはテストです。プログラムを連携し、システム全体が正常に動作するか確認します。
このような流れでシステムは開発されますが、システムエンジニアが担当するのはこの中の要件定義、設計、テストです。ただし、このあたりの線引は会社やプロジェクトにより異なり、プログラミングも担当したり、テストは担当しなかったりすることがあります。そのため、転職をする際には、その企業ではどの工程を担当するのか確認しておくことが大切です。