しっかり理解されていますか?システムエンジニアのお仕事!

システムエンジニア

SEとは何ですか?

SEとはシステムエンジニアのことを言います。

システムエンジニアとは、何をしている人なのですか?

いったい、システムエンジニアとは何をしている人なのでしょうね。

ソフトウエア開発のお仕事以外の人からは、あまり理解されていないようにも見えるのは、
一応、各作業フェーズごとに仕事内容が定義づけられていますが、現実は、システム開発者同士でなれ合いになっているところでしょうか。
周囲からみていると混乱してしまいますよね...(笑)

ソフトウェア開発以外の人に理解してもらうために、具体的にシステムエンジニアについてまとめました。
「システムエンジニアとは何をする人なのか?」をテーマにしています。

よろしくお願いします!

システムエンジニアはSIer企業で働く人こと

SIerは、システムインテグレーターと読みます。
システムインテグレーターとは、IT技術をもって企業や公共団体などに情報処理技術のシステムを構築し提供することを狙いとし、社会に貢献する企業のことです。

システムエンジニアの仕事はユーザーとの打合せから始まる

システムエンジニアは、お客様ありきのお仕事です。
システムエンジニアはまず初めに行うことは、お客様(以後ユーザー)との打合せです。

どんな業種においても、ユーザーの要望を把握しないとなりません。
そういった業種の専門知識を身に付けなけらばなりません。

1つの業種で長く務める方もいれば、単発で次々と業種を変える方もいます。
どちらもシステムエンジニアからすれば、新入社員のようなものです。

ターゲットとなる業種の専門知識を習得しておかないと、ユーザーの要望が把握できません。
システムエンジニアがユーザーの要望が理解できなければ、後の作業が行き詰ります。

システムエンジニアがまず初めにすることは、ユーザーの業務を把握するための知識の習得。
それから、ユーザーとの打ち合わせです。
臨機応変に対応する能力を持たなければなりません。

システムエンジニアとプログラマーとの違い

システムエンジニアとは、システム構築の計画からシステム設計書作成を行います。
プログラマーとは、システムエンジニアからプログラム詳細設計書を受け取り、それに基づいてプログラムをコーディングします。

会社に入れば1年の間は、システムエンジニアが書いたプログラム詳細設計書に従ってひたすらコーディングをします。
2年目あたらりから、システムエンジニアの手伝いで詳細設計書をメンテナンスしたり、新規作成をしたりします。

3年目になると、もうシステムエンジニアとなりますが、プログラミングもします。
だいたいこのあたりで、システムエンジニアとプログラマーとの切り分けがしにくくなり、同じかなと思ったりもしてきます。

それで周りの人から見ると、何をやっているのだろうかなとなるのでしょうね?
でもやっぱり、システムエンジニアとプログラマーは、知識や仕事の担当フェーズで差があります。

業務上で幅広く知識を持つのがシステムエンジニア、業務知識よりかはむしろプログラミングにこだわるのがプログラマーです。

システム構築計画~運用までのスケジュール作成

システムエンジニアは、ユーザーとの打ち合わせにより作成するシステムの規模などが把握されます。
それにより、必要な人員を確保し、作成スケジュールを組まなければなりません。

システム構築の計画からユーザーが運用するまでのスケジュールです。
もちろんこの間の製造の進捗管理も重要です。

やはりこれには、知識と経験が必要です。

あんまりアバウトになりすぎると、後で作業にもたつきが出てきて、リスケをするはめになります。
システム構築をするうえで、最も重要な段階になるのではないでしょうか。

システムエンジニアの基本的な作業内容

大まかに見えてきましたが、
詳細がまだ見えません。

システムエンジニアの仕事は、ユーザーから見えにくいようなので
各作業フェーズごとに解説します。
よく似た作業のようですが、それぞれ違う意味の作業なのですよ。

概要設計書の作成

これから制作するシステムの全体図を描きます。
ユーザーとの打ち合わせにより、これからシステム化する業務や現行のシステムの変更部分などの概要図を作成します。

このときに、大まかにプログラム数や帳票数などを洗い出しておきます。
システム構築代金の見積もりの対象となります。

システム会社内で検討されたのち、ユーザーへ見積書が提示されます。

要件定義書の作成

システムを構築するために、ユーザーの要件を整理していきます。
何回もユーザーと打ち合わせを行い、重要項目をまとめていきます。

ユーザーとシステムエンジニアで狙い通りのシステムになるかをチェックします。
狙い通りの要件であれば、ユーザーから設計作業開始の許可が出たことになります。

ユーザーの検証後のサインをいただいて、完了です。

基本設計書の作成

処理フェーズごとに入出力関係のフローを作成します。

インプットとなるデータは何であるか、画面入力なのか転送されてきたファイルなのかを記載し、どのプログラムが実行されるのか、アウトプットは何なのかをフローチャートの図を使って記載していきます。

この作業で重要なことは、システムの全体流れを把握することです。

詳細設計書の作成

全体のフローができれば次は、各プログラムの設計書を作成します。
これを詳細設計書または、プログラム設計書と呼びます。

プログラムの処理概要から、詳細な処理やロジックまでを記載されたものです。

ここまでは、まだプログラム言語は使用しません。
設計書は主に日本語で記載します。

ここで詳細設計書にミスがあると、プログラミングの際に戸惑ってしまいます。
プログラムの詳細設計書ですから、プログラムのロジックまでを予想して記載しなければなりません。

システム構築において、ブレのないように各詳細設計書を作成しないとシステム全体がおかしなものになってします。

そうなればユーザーだけでなく、プログラマーからも不信感を抱かれます。
絶対に注意しなければいけないところです。

プログラマーへ作業指示

プログラマーにプログラム作成の依頼をします。
先ほど作成した詳細設計書に基づいて、プログラム作成をしてもらうようにプログラムの目的や作業内容の説明などをします。

プログラマーへの作業指示だけではなく、プログラマーが詳細設計書を読んだときに、疑問点があればシステムエンジニアにフィードバックされます。
それについての回答もしなければなりません。

ようするに、狙い通りの動作をするプログラムになるようにプログラマーとコミュニケーションをするわけです。

ここでも曖昧な言葉でプログラマーに指示を出しては、プログラマーに「何だコイツは?」と思われるかもしれません。

そのようなことが無いようにシステムエンジニアは、プログラマーにしっかりとした指示を出します。
注意しないといけないところです。

プログラム検証

プログラマーが作成したプログラムがプログラマーが作成したテストケースをきちんと消化されているかとか、動作をチェックします。

プログラムがシステムエンジニアが作成した詳細設計書に沿っていないといけません。
そのためにシステムエンジニアは、プログラムのチェックを行います。

おかしなところがあれば、プログラマーに指摘して修正をさせます。
バグもなく、詳細設計書に沿ったプログラムになっていればOKです。

詳細設計書にに検証済みのサインや押印をして完了です。

ここまでは単体テスト(UTと呼ばれるもの)であって、この後、結合テスト(IT)、システム全体のシステムテスト(ST)へ進んでいき、最終は運用テスト(OT)で完結します。

システムエンジニアは運用テストまでのスケジュール作成やシナリオ作成と検証を担います。
もちろん、プログラマーを使い、スケジュール調整をしながら作業が円滑になるように考えます。

システムが完成するまでの全作業の責任がシステムエンジニアにあるのです。

システムエンジニアのまとめ

標準的なケースではありますが、システムエンジニアの作業フェーズの解説をさせていただきました。

作業場所によっては言い回し等が違うところがありますが、実際の作業になると、ターゲットとなる業務内容以外はそれほど違いはありません。
システム設計から詳細設計、そして開発への順序でシステムが構築されていくのです。

とても重要なお仕事なのですね!

今後は、古くなったシステムからWEB系へ移行していくので、両者のデータの整合性を調査するなどの作業も入ります。
ますます複雑化していきますので、システムエンジニアも気が抜けません。

これから、ますます高度になっていくのですね。

日進月歩、技術が進化する中で、システムエンジニアは大変な任務を持っていると言えます。

ありがとうございました。

コメント

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