文系seの備忘録

Excelの改行でひたすらスペースを打っていた機械音痴の文系seが日々の備忘録を綴る。

【初心者向け】システムエンジニア(SE)ってどんなことするの?


早速ですが、システムエンジニア(SE)がどんなお仕事なのか紹介していきたいと思います。
システムエンジニアは名前のとおり、
「システム(モノの仕組みや構成)」の「エンジニア(技術者)」です。
お客さんが「こういうものがほしい!」と言ったことに対して、それを形にするお仕事です。


なんらかのシステムを構築する、という点でゴールは同じですが、
その過程のどのポジションに配属されるかは異なってきます。
入社する前に分かっている場合と、入社後に配属になる場合とがあるかと思います。



以下でシステム開発の流れを説明します。
基本的に、おおまかな流れはどのシステム開発でも共通していますのでおさえておくとよいでしょう。






超簡単なたとえで、「家をたてる」ことで説明します。



1.要件定義

f:id:ron623:20181126170055p:plain

まず、お客さんにいろいろと聞きます。
ここできくのは

・今回家を建てる目的
・規模、予算
・要望(将来的に増築しやすいように、使う材料、などなど・・)

この時点でお客さんとのズレがあると、あとあと致命的な問題につながります。
なので、、この段階で要望を正しく取り入れ、さらに、よりよい提案を合わせて行っていきます。


実務でも家の例と同様、システムの全体像をこのフェーズで決定します。





2.基本設計(外部設計)


f:id:ron623:20181126170204p:plain


「1.要件定義」で決まった内容を、より具体的にして図や文章にする段階です。


・方針設計
 - 耐震、防火などのテスト方法の決定
 - 建築方針の決定など

・機能設計
 - 全体の間取り図

・その他設計
 - 業務として運用するために必要な事柄
   (費用、納期、大工さんのスケジュール管理とか)


実務でも、どうやってシステムのテストをするかを決めたり、処理の流れ図を書いたり、
費用、納期、チームの体制やスケジュールを決めたりします。





3.詳細設計(内部設計)


f:id:ron623:20181126170230p:plain


「2.基本設計」の内容を、より作る人(=大工さん)向けにしていきます。

リビングにはタイルを何枚、ネジを何本、クギを何本使って、どのような工法で建築していくのかを細かく決めていきます。


実務でも同じように、どのような処理を実装するかを決めていきます。






4.製造(プログラミング)

f:id:ron623:20181126170250p:plain


いよいよ大工さんが「3.詳細設計」で作った設計書をもとに、家を建てはじめます。


実務ではPG(プログラマ)がプログラミング(コーディング)を行います。






5.テスト

f:id:ron623:20181126170307p:plain

作った家がちゃんと建てられたかどうか、確認します。
耐震性、耐火性など、決められた項目にしたがってテストしていきます。


実務でも同じように、PGかSE(システムエンジニア)が、完成したシステムを動かしてみて
データがちゃんと受け渡しできるか、画面の移動が正しくできるかなどを確認します。






6.保守

f:id:ron623:20181126170318p:plain

お客さんにひきわたした家の定期メンテナンスや、トラブル時の対応を行います。
台風で屋根がはがれたからなおしてほしい、壁をはりかえてほしい、などなどですね。
大工さんが行う作業です。


実務でもSEかPGが行うのが基本のようなんですが、ここは会社によって異なり、
保守専門の部署を設けているところもあったりします。







以上がシステム開発の主な流れです。




上記でなんとなくわかったかもしれませんが、SEの仕事は本当に様々です。

「1.要件定義」でお客さんにどんなシステムがいいか要望を聞く人たちは
プログラミングは全然やらず、人と話している時間がほとんどですし、

「4.プログラミング」といっても、いわゆるC言語やJavaなどのプログラムではなくデータベースの構築をしたり、バッチファイルを作ったり、エクセルのマクロを組んだりする人もいます。

「5.テスト」担当者は、単にテスト内容に従ってシステムを操作するだけでなく、テストを作成したり、テスト効率化の工夫を求められたりする場合もあります(自動化など)。


会社によっては1~5まで、ほぼすべてを担当することもありますし、どれかを兼任する場合もあります。
私はすべて担当したことがありますが、「1.要件定義」を主にやっていたときはほとんど外出・出張で、
自宅にも帰らない日々がつづきました。
プログラミングもかなり忘れちゃいましたね・・。





とりあえずSEってなに?ってなったら、お客さんの要望をもとに、システムを構築するお仕事!
もっとかんたんにいえば、
こんなことがしたーい!っていうもやっとしたリクエストを、形にするおしごと
ってかんじで考えておけばよいかと思います!!