社員技術ブログ

SE (システムエンジニア) の仕事とは?仕事内容とシステム開発ライフサイクルをわかりやすく解説

 

登場人物

 

 

名前: スーさん。(SUさん)

仕事: 神戸のソフトウェア会社W社でSEをやっている

趣味: 漫画を読むこと。最近、東京喰種トーキョーグールにはまっている。

 

 

 

 

名前: ター坊

仕事: 無職。仕事を探している。

趣味: 散歩。最近、住宅展示場周りにはまっている。

 

 

 

ある日のこと。。。。

 

 

ター坊
ねぇねぇ。スーさん。

 

スーさん
なになに?ター坊

 

ター坊
スーさんの仕事は何なの?

 

スーさん
あー、僕?

SEだよ。

 

ター坊
せ?

背?

瀬?

何それ?

 

スーさん
「セ」じゃないよ、「エス・イー」って読むんだよ。

システムズエンジニア、あるいは、システムエンジニアのことだよ。

 

ター坊
。。。それで、そのエスイーって何をするの?

 

スーさん
エスイーはね、お客様のIT要件をヒアリングしてニーズとして引き出し、要件定義としてまとめて、セールスレップとともに最適な適用業務、ソリューションをプロポーザルして提案するんだ。
そして、システムの受注後は、お客様と最適なリレーションを保って、要件定義、基本設計、詳細設計、システム開発、単体テスト、統合テスト、システムのカットオーバーまでシステムの開発ライフサイクル、デリバリー、クォリティーに対して責任を持って作業するのが主な仕事だよ。
そして、カットオーバー後も定期的なメンテナンス、フォローアップして、新たなニーズや案件を探すのも仕事だよ。

 

ター坊
。。。
あのう。日本語でしゃべってもらえませんか?

 

スーさん
。。。

 

 

システムズエンジニアが語るSEの仕事。

さて、SEってどんな仕事をするんでしょうか。

 

ここでは、SEという仕事に少しでも興味を持った人を対象にSEの仕事を解説します。

 

 

 

 

 

それでは、ター坊にもわかるようにSEの仕事の概要を説明しましょう。

 

システムズエンジニア (SE) の仕事とは?システム開発ライフサイクル (ウォーターフォールモデル)

 

 

 

システムズエンジニアは、別名ITエンジニアとも呼ばれます。

 

SEはお客様のITシステム全般に対して、最適なハードウェア、ソフトウェアを使ってソフトウェアシステムを開発します。

身近な例では、銀行のオンラインシステムや飛行機や鉄道の予約システムなんかでしょうか。

これらのシステムは、最適なホストコンピューター(サーバー)、OS(オペレーティングシステム)、ミドルウェア、ネットワーク、データベース、そして、さまざまなプログラムが相互に組み合わさってシステムとして成り立っています。

 

 

これらのシステムのように、お客様のニーズから引き出し(要件定義)、システムをデザインし(基本設計、詳細設計)、実装し(システム開発)、テストを行い(単体テスト、統合テスト)、実際に稼動する(納品)までの一連の開発サイクルすべてに責任を持つのがSEの仕事です。

 

これらを図にまとめたものが以下の図です。

 

 

このシステム開発のサイクルをシステム開発ライフサイクル (System Development Life Cycle、SDLC) と呼ぶことがあります。

今日のソフトウェア開発、SI開発で最も代表的なシステム開発ライフサイクルが、ウォーターフォールモデルです。

 

ウォーターフォールモデルにおいて、各工程は、局面とも呼ばれ、基本的に手戻りなく、滝のように開発が流れます。

SEは、これらすべてのシステム開発ライフサイクルに責任を持ちます。

 

 

ところで、よく聞かれるプログラマとSEの違いなんですが、プログラマがプログラムを専門に仕事をするのに対して、SEは、お客様のIT要件、ニーズ全般に対して仕事を行います。

また、SEは仕事の性格上、営業やプログラマーと一緒になって活動します。

 

多くの場合、プログラマーから仕事を始めて、SEへとステップアップするようなキャリアパスを見かけますが、SEの仕事はプログラマーの仕事も包括するケースが多いようです。

SEは、プログラムを書くこともありますが、多くの場合、システムのデザインや、お客様とのコミュニケーション、各工程の管理に仕事の重きをおきます。

プログラマ出身のSEの利点は、システムをプログラムの観点から考えることができる点にありますが、一方、まったくプログラムを書かないSEもいます。

 

 

プログラムを行う作業を下流工程、システムのデザインや設計を行う作業を上流工程と呼ぶこともあります。

一般的には上流工程の方がより難しいと考えてよいでしょう。

また、上流工程を専門的に行う人をコンサルタントと呼ぶこともあります。

 

 

ター坊

なんか色々な工程があるんだね。

コンサルタントとかかっこいいな。

 

スーさん
。。。

 

 

 

それでは、システム開発ライフサイクルの中で要件定義を見てみましょう。

要件定義とは何なんでしょうか?

 

要件定義 (ヒアリング)

 

 

 

要件定義とは、お客様に要件をヒアリングして、システム要件としてまとめることを言います。

 

多くの場合、お客様は、ITテクノロジーについて知識が深くありません。

そこで、SEの出番となります。

SEがお客様のIT要件についてヒアリングを行い、短期間でお客様の要件を深く理解して、まとめます。

 

お客様は、自身の業務には詳しいですが、ITについて詳しいことはまれであるため、SEは、要件定義局面で、お客様のニーズをまとめ、IT要件として文書に書き出し、要件定義書としてまとめます。

 

要件定義での成果物は要件定義書です。

 

 

ター坊

ヒアリングとか、かっこつけんでもいいやん。

要は聞き取りやろ。

 

スーさん
。。。

 

 

 

次に、基本設計局面です。

 

基本設計

 

基本設計では、要件定義により決まったシステム仕様をより具体的な仕様に落としていきます。

要件定義と詳細設計の中継ぎ的な位置づけで行う設計です。

システム開発において、お客様の「こんなものが欲しいんだよね~」を受けて「それじゃあ、こんなシステムを作りましょう」というような全体像や概要をざっくりと考える工程です。

 

基本設計では、ExcelやPowerPointなどで、具体的な画面の遷移を書き出します。

このことから、基本設計は画面設計とも呼ばれることがあります。

 

また、基本設計では、外部システムとの仕様調整を行います。

このため、外部設計とも呼ばれることがあります。

 

データベースの論理設計も基本設計フェーズで行うことが多いようです。

基本設計での成果物は、基本設計書、あるいは画面仕様書です。

 

 

 

次に、詳細設計を見てみましょう。

 

詳細設計

 

詳細設計は、基本設計と実際のプログラミングの中継ぎ的な位置づけで行う設計です。

システム開発において、基本設計でざっくり考えた概要を元にして、実際のプログラムが作れるまで細かく落とし込む工程と言えるでしょう。

 

詳細設計では、基本設計で設計したシステムの各機能をより詳細化し、実際にどのような処理を行ってプログラムを動作させるかを決めていきます。

プログラマは詳細設計書を元にプログラムを実装していくため、プログラマに分かりやすい表記で設計していくことが求められます。

具体的には、データベースの物理設計などを行います。

 

詳細設計での成果物は、詳細設計書です。

 

ター坊

段々わからへんようになってきたぞ。

 

スーさん
。。。

 

 

 

それでは、システム開発ライスサイクルの要、システム開発です。

 

システム開発

 

 

システム開発工程では、詳細設計書に基づいてコードを書きます。

よく言われるプログラマーがプログラミングを行う工程です。

大規模なシステム開発では自社内だけではなくて、外注の会社に委託されることもあります。

 

システム開発は、プログラミング、コーディング、実装とも呼ばれることがあります。

プログラミング言語は、C言語、C++、C#、Java、PHP、JavaScript など、さまざまな言語がありますが、システム要件やシステムに応じて、最適なプログラミング言語が選択されます。

 

ター坊

プログラマーか。

Youtuber とあまり変わらない職業と思っていた。

 

スーさん
。。。

 

 

 

次にテストです。

 

単体テスト、統合テスト

 

単体テスト、統合テストは、システム開発における成果物が正しく動作することを検証します。

テストは、機能の品質が保障されていることを証明するために行う検査とも言えます。

 

機能の大きさに応じて、単体テスト、結合テストに大きく分類されます。

テストでは、テスト仕様書に基づいて、プログラムが仕様通りに正常に動作するかを確かめ、不具合がないか探し出しバグを見つけ出します。

 

バグ (Bug) とは、IT用語で製品、コンピュータプログラムの不具合のことです。

テストを行うテスターはバグを見つけるとプログラマーに報告し、プログラマーは直ちに原因を追求し、プログラムを修正します。

 

ター坊

バグって虫のことだね。

虫は嫌いだ。

 

スーさん
。。。

 

 

 

統合テストを経て、合格すれば、いよいよ納品となります。

 

納品、運用保守

 

統合テストが終わると、お客様の検収を経て納品となります。

システム開発ライフサイクルにおいて、納品物は契約書どおりにお客様に提出し、納期を守らないといけません。

 

納品後は、運用フェーズに移ります。

システムが正常にカットオーバーして、お客様に満足してもらえることが、SEの仕事の醍醐味と言えるでしょう。

運用が始まると、次バージョンの要件定義に移ることもあります。

 

ター坊

やっと終わりか。

ここまでどのぐらいの期間かかるの?

 

スーさん

システムの規模によるけれど、短いものでは数ヶ月ぐらい。

長いものだと2年~それ以上のプロジェクトも。

 

ター坊

2年もやっていると飽きてくるな。

 

スーさん
。。。

 

 

 

まとめ

 

いかがでしょうか?

 

かなりざっくりしていますが、SE、システムズエンジニアの仕事の概要を理解してもらえましたか?

 

スーさん

どう?ター坊。

SEの仕事って理解できた?

 

ター坊

何度聞いても、宇宙人同士の会話に聞こえる。

SEに転職しようと思ったけど、文系の僕には無理だよね?

 

スーさん

そんなことないよ。

文系のSEもたくさんいるよ。

あと、学生時代にプログラムに縁遠いけど、立派に活躍しているSEは沢山いる。

大事なのは、お客様の要望に応える思考であり、論理的に考える思考力だね。

 

ター坊

うーん。

今、就職活動していて、ハウジングアドバイザーになろうか、SEになろうか悩み始めている。

 

スーさん

そりゃ、幅広い選択肢だね。

 

 

 

ター坊にはやっぱり、難しいかもしれませんね。

ただ、文系をはじめ、学生時代にITに携わったことがないSEは山ほどいます。

 

多くの人は、会社に入社して一生懸命勉強して、立派なSEになっていますよ。

 

さぁ、SEの仕事に興味がある皆さん、SEの仕事はとてもやりがいがあり、今後もなくならない大切な仕事なんです。

あなたも、少しでも興味が持てたら、チャレンジしてみてはいかがでしょうか。

 

 

 

↓ ワイドソフトデザインの求人情報はコチラ

求人情報

関連記事

TOP