システムエンジニアに必要な「設計力」とは

システムエンジニアに求められる能力の一つに、「設計力」があります。

設計力は、主に「モデリングスキル」と「実装スキル」の二つで構成されます。

まず、モデリングスキルとは、ユーザーの要望をモデル化するスキルのことです。

これを行うには、「モデルの表記方法」「アプリケーションの技術」などだけでなく、業務そのものへの理解も不可欠です。

次に、実装スキルとは、モデル化された物をシステムに当てはめて実現するというスキルのことです。

これを行うためには、「システムを構造化する技術」のみならず、「フレームワークの技術面での制限」「システムに使われている機器の構成や設定」「デプロイメント」など、広範な知識と技術が必要になります。

そして、こうした設計力を会得するには、「プログラミングスキル」も備えておいたほうがよいでしょう。

「処理の構造化」など、プログラミングの過程で行われる作業は、設計そのものといえるからで、それはプログラミングの経験によって会得される物だからです。

システムエンジニアの仕事の一つ「内部設計」とは

システムエンジニアが行う仕事の一つに、「内部設計」があります。

内部設計は、基礎的な部分を設計する「外部設計」の後に行われる作業であり、「詳細設計」とも呼ばれます。

内部設計は、以下の3段階に分けられます。

まず、「機能分割」。

プログラミングなどを容易にするために、機能をモジュール別に分け、それぞれの機能をはっきりさせて行きます。

また、「データフロー(機能相互でのデータ処理の流れ)」も設計します。

これにより、バグを発見することができます。

次は、「物理データ設計」。

ユーザーからは見ることができない、システム内部で用いるファイルやデータのやり取りなどに関わる部分を設計して行きます。

そして、「入出力の詳細設計」。

この段階では、外部設計で作ったインターフェースをどうやって実装して行くか、またどうやって表現するかということを決めて行きます。

具体的にいうと、「エラー処理」「初期値やデフォルト値の定義」などが挙げられます。

システムエンジニアの仕事の一つ「外部設計」とは

システムエンジニアの仕事の一つに、「外部設計」があります。

これは、システムエンジニアが行う仕事のうち、「システムの仕様を決める作業」のことです。

これは、以下の3段階に分けられます。

まず、「方式設計」。

「システムの実装方針」「プラットフォームの方針」などを決めて行きます。

アプリケーション全体の構造もこの段階で決めるので、「アーキテクチャ設計」ともいいます。

次は、「機能設計」。

「システムのモジュール単位での分割」「それぞれのモジュールに用いるデータベースの設計」を行います。

具体的にいうと、「データの入力および出力」「データベース相互のデータ交換」などの他、「画面のレイアウト」といったユーザーインターフェースに関わる作業も行うことになります。

そして、上記二つに該当しない「その他の設計」。

「クライアントが要望する機能」「運用規定」「開発費用」などの、実際に運用するにあたって必要な物を設計したり、決めたりして行きます。

ソフトウェア開発における設計の種類と内容について

まず、ソフトウェアなどのシステム開発においてシステムエンジニアはプログラマーとは異なり、プログラミングを含めて大半の開発工程に関わります。

この開発工程のうち、設計にあたる仕事の範囲としては、最初に顧客の要件を洗い出した情報を整理して、実際にプログラミング言語を用いてコーディングできるまで条件や指示内容を纏めるところまでを指すことが多いです。

そして、この場合の設計の種類としては主に基本設計と詳細設計に分かれることがあります。基本設計はソフトウェアを扱う画面を作ったり、ボタンを押したときに行われる処理や画面の変化方法を決めたりするなど、主に操作部分の仕様を決める作業に対し、詳細設計は、基本設計で決まった内容を実際にコーディングして実装する指示内容を決める作業になります。

つまり、SEの仕事で設計の作業は要件定義で決まった内容を実際にコーディングによって形にする設計図を描く作業であると考えたほうがわかりやすいのではないかと思います。

情報処理技術者試験の内容から設計の知識を学べる

まず、設計の仕事範囲は幅広く、ユーザーからの条件を具体的なものにした上で、プログラミングを記述する仕様を仕上げるところまでが該当することが多いです。

このため、ソフトウェアなどのシステム開発において設計の技術を学ぶのに最適な方法の1つとして応用情報技術者試験などの情報処理技術者試験の試験勉強を通じて知識を習得してみることを挙げたいと思います。

初めて、設計関係の知識を得る場合は、標準レベルとされている基本情報技術者試験の内容から始めることをお勧めします。なぜなら、この試験範囲には開発工程全体の流れの中で必要とされている用語や手法が簡潔に含まれており、試験対策本では視覚的に書かれているものもあるからです。例えばUMLに用いられるユースケース図やシーケンス図やオブジェクト指向のインヘリタンスの方法などがあります。

企業の中には、このような情報処理技術者試験に合格すると一時金などの報酬が得られるところもあるうえ、この試験で得た知識が業務に活かしたり、活かしながら学んだりしやすいタイプであるため是非ともお勧めする方法です。

設計で必要なのはコーディングを行うメンバー間のコミュニケーションである

そもそも、ソフトウェアなどのシステムを開発する仕事は1人だけで関わることなく多くのメンバーや外部の人と関わりながら行うものなので、どの工程を担当してもコミュニケーション能力が不足すると納期遅れなどで迷惑をかけるなどの影響が出る可能性が高まります。

開発工程のうち設計部分で必要となるコミュニケーション能力としては、前工程にあたる要件定義において具体的に決めた内容を後工程にあたるコーディングを行うメンバーに的確に伝えたり、メンバーごとの進捗状況を把握したりする力であると思います。なぜなら、コーディング作業は大抵、複数人のメンバーにプログラミングする範囲を決めて割り振って行われることが多く、担当範囲をミーティングなどの際に伝えるだけでなく、全体的な進捗状況を把握したうえで、遅れているパートのメンバーに指示を出すなどチーム全体を管理する必要があるからです。このために、開発を行う他のメンバーとの連携をしっかり取れるように普段からチーム内で気づかいをするなど良い関係を保つなどしたほうが良いと思います。

社内ITシステム担当

社内のITシステムに関してはどうしても導入後も外部にその都度の対応を依頼するよりも社内のIT部隊でフォローするほうがコスト的にも非常にメリットがあります。

もちろん、運用に関しては多少の作業であっても、細かい請求を行うことなう、基本的なメニューであればそのまま年間費用の中に盛り込めるので非常に楽なところかと思います。

しかしながら、こうした社内のITシステム担当の仕事しか担当していないとどうしてもいざ、社外のシステムの依頼を受けた際、または異動になって担当した際になかなか付いていけなくなる可能性があります。実質、社内の部署のほうがどうしても当たりそのものはきつくなりがちですが、スキルとは又別物の話です。社外のITシステムに常に触れてスキルを磨いていくのとそのまま社内のシステムでうもれてしまうよりはかなりスキルに違いが出てきます。後は残念ながら人間関係において問題がないかどうかといったポイントだけです。

IT運用系の仕事のコスト

IT企業の仕事についてはどうしても開発費、企画費用などいくつかの分野がありますがなんといっても基本になるのは人件費になります。

そして、見積もり時にどのような難易度の仕事かによって、その短歌も変わってくるのです。しかし、運用系の仕事に関してはもちろん、人件費はさることながら、それ以外の保守対応費用なども含めて費用が決まってきます。実際のところ、人件費のレートは運用系は安くおさえたいというクライアントも多いのが実情です。ですから、どうしても当てられる人材のレートは低いということになりかねません。そこに別途っかってくる保守費用があるわけですから。

これからもこの傾向は大きく変わることはないと思います。しかし、どんどん様々なシステムが収められていく中、間違いなく運用系にかかってくるコストは上がってくることは間違いありません。適した人材確保、効率化を考えていかないとIT企業もそのうちたちゆかなくなってきます。

IT運用系の仕事の特徴

IT運用系の仕事になるとどうしても捕手、メンテナンスといったところがメインになってきます。いわば、花形である提案であったり、新たなシステムを駆使した提案をクライアントに行うといったことも好くなくなり、比較的地味な仕事になってしまう可能性が出てくるのです。

これはITスキルが高い低いというよりも個人の適性を見て、どちらの仕事のほうがむいているのかどうか見極めていかねばばりません。

しかしながら、わかりやすいところとして何といっても毎日同じような、ようするにルーティンが決まっている仕事であっても飽きることなく、とにかくまじめにこなしていける、そしてそんなマンネリズムの中でも改善を加えていくことができる人材だと思います。これができてこそのプロフェッショナルになるわけです。

運用系の仕事はITといってもAV系の仕事があったり、WEBシステムの仕事があったり、イントラ管理があったりと現状は多岐にわたります。

運用系のIT業務について

運用系のIT業務について解説したいと思います。運用系の業務というのは、基本的に保守対応が中心です。何か起こった時のために待機していたり、トラブル発生時にはその対応をしたります。一人で解決できない事象の場合は担当者に取り次ぐという仕事もします。
運用系の業務で辛いポイントは、やはり待機を強いられる事でしょう。常に誰か一人はトラブル対応要員としてシステムに張り付いていないといけないため、深夜に待機をすることもあります。交代制であっても昼夜逆転生活になるため、身体的な負担は大きいと思われます。
また、ただ待機をしていれば良い簡単な仕事だと考えることもできますが、システムにトラブルが発生した場合は真っ先にお客様からクレームとして連絡が入るため、精神的な負担もあります。また、技術的な部分に関わらず、保守作業だけをおこなっている場合は、技術的な進歩がないということも自覚する必要があります。長くその仕事を続けても進歩がないのであれば、将来の自分の首を締めることになります。