ITエンジニアってどんな仕事なの?

※アフィリエイト広告を利用しています

ITエンジニアの仕事について

ITエンジニアの仕事について紹介してきます。基本的に、どのIT業界でも仕事の流れは同じなので、ここでは、システムエンジニア、プログラマー、インフラエンジニアについて消化します。システムエンジニア(≒ITコンサルタント、Webディレクター)、プログラマー≒Webデザイナーと置き換えて見てください。

 

ウォーターフォールモデル

システムを開発する手法は様々ありますがここでは、代表的なウォーターフォールモデルで開発の流れを説明します。

ウォーターフォールモデルではシステム開発の工程を4つ分けて開発作業を進めていきます。

  • 要件定義
  • 外部設計
  • 内部設定
  • 製造

ウォーターフォール V字モデル

要件定義

要件定義とは、顧客のニーズをヒアリングして、どのようなシステムを作成するのかを決めてきます。基本は、○○作業をシステム化したいというニーズをヒアリングして、どのようなシステムを作り上げていくのかを決めていくのですが、ITコンサルタントの場合は、そこに付加価値を付けていきます。

例)○○システムを追加するよりも、△△業務をシステム化したほうが、企業の成長が見込めるので、△△システムを提案する。

この段階でどうのようなシステムを作成するのか? を決めて顧客と合意がとれたら、外部設計に入ります。

またこの段階で、顧客のニーズでシステム化できるものとできないものも決めていきます。

ソフトウェア面、ハードウェア面でシステム化が可能かどうかを検討するため、システムエンジニアと、インフラエンジニアが担当します。

外部設計

作成するシステムが決まったので、外部設計では、システムの構成と機能を決めていきます。またハードウェア面では使用するオペレーティングシステム、開発言語、データベース、サーバー、CPU、メモリ、ディスクサイズなどハードウェア構成も決めてきます。

システム、ハードウェア構成を決めたら次は、システムで開発する機能を決めていきます。

例)ニーズ:ツイッター風SNSシステムを作成したい。

ここで必要な機能を洗い出す

  • ユーザー登録機能
  • ログイン、ログアウト機能
  • ツイート機能
  • リツイート機能(引用リツイート機能)
  • ツイート削除機能
  • 退会機能

etc

といった感じで、システムで必要な機能を洗い出します。

機能の洗い出しが決まったら、機能の深堀りをしていきます。

例)ユーザー登録機能では、何を登録するのか?

  • 姓名
  • 電話番号
  • メールアドレス
  • ニックネーム
  • パスワード登録
  • パスワード変更

のほかに、住所は必要なのか?、生年月日は必要ないのか?など、要件定義で決めたニーズを基に、細かい部分まで決めていきます。

深堀りが完了したら、顧客と機能にモレがないか合意を取ります。

この段階も、システムエンジニアが担当します。ハードウェア面では、使用するユーザー数、同時にシステムにアクセスできるユーザー数を想定して、サーバーのスペックを決めていきます。

内部設計

 

外部設計の段階で、作成するシステムは決まっているので、内部設計ではプログラミングで必要な設計を行います。

ここは、システム経験者でないと説明が難しいのですが、パスワード登録、パスワード変更は機能としては、別なのですが、パスワードの文字数チェック等は同じなので、プログラムでは文字数チェックは一つ製造して、使いまわすなど、プログラミングで何を作っていくのかを設計していきます。

この段階も、システムエンジニアが担当します。インフラエンジニアは、次の段階でプログラマーがプログラムを製造できるように、開発環境のためのサーバー等の開発環境を構築していきます。

製造

内部設計で作成した設計書を基に、プログラムを作成していきます。

ここでは、プログラマーがプログラムを作成していきます。システムエンジニアはプログラマーからの質問に対応したり、人の手が足りない場合は、プログラムも作ります。

インフラエンジニアは、開発環境でトラブルがないかを監視しながら、本番環境の構築作業に入っていきます。

 

プログラム製造

テスト

プログラムが完成したら、テストを行い正しく動作するかチェックをします。

単体テスト

プログラム一つ一つの動作確認を行います。

例)ユーザー登録機能で、ユーザーが登録できるのか

プログラマーが担当します。

結合テスト

プログラムを繋げて確認していきます

例)ユーザー登録

登録したユーザーでログインできるのか?

ツイートができるのか…

と一連の流れで、プログラムが動作するかを確認します。

システムエンジニア、プログラマー、インフラエンジニアすべてが担当し、バグがあれば、対応します。

システムテスト

結合テストと似ていますが、より本番に近い状態で動作を確認してきます。

例)本番では、同時に100人がログインすることが想定されるので、

100人同時に、ログインしてツイートする

正しくツイートできているのか、サーバーはダウンしないのか

などを確認していきます。

システムエンジニア、プログラマー、インフラエンジニアすべてが担当し、バグがあれば、対応します。

ユーザーテスト

このテストが最終段階になりますが、顧客に動作確認をしてもらい、ニーズに合っているのかを確認してもらいます。

システムエンジニア、プログラマー、インフラエンジニアすべてが担当し、バグがあれば、対応します。

ここでOKがでたら、リリースして終了となります。

まとめ

いかがだったでしょうか?システム開発の仕事内容がイメージできたでしょうか?実際の現場では、プログラマーは一日でもシステムエンジニアになるために、システムエンジニアの作業を見習いとして手伝ったります。早い人では3年くらいで設計を任されたりします。

次は、未経験、文系がITエンジニアになれるのかについて解説していきます。

タイトルとURLをコピーしました