システム設計

 システム設計とは、実現したい業務が、コンピュータシステムとして整合性をもった全体構造になるよう設計していく作業をいいます。

 システム設計の定義や守備範囲にはさまざまな考え方があります。システム開発の際にはまず、ユーザーのシステムに対する要望を明らかにする要求仕様、要件定義が行われます。

 その後、開発者同士で外部設計(インターフェースの設計)や内部設計(機能を実現させるための仕組み)などの取り決めが行われる場合が多いです。この外部設計や内部設計の段階が「システム設計」に該当します。

 それではシステム設計の仕事について説明します。 

ITアーキテクトの仕事

 情報システムの構造を設計する仕事

 情報システムのアーキテクチャの記述方法に関する標準「IEEE1471」によれば、アーキテクチャとは「システムの基本的な構造(fundamental organization)」です。

 そのため、ITアーキテクトの仕事の仕事は(1)システムを構成する要素(components)、(2)各要素同士の関係、および各要素と環境との関係、(3)要素と関係を設計したり、その設計を進化させたりする際の原則(principles)。この三つを全体最適の視点で設計することです。

必要なスキル
・ 要求工学のスキル
ソフトウエア工学、システム工学、品質工学も欠かせないが、それらと同等、あるいはそれ以上に要求工学のスキルが重要。

・コミュニケーションスキル
ステークホルダーから引き出した要求や意思決定の結果に関する説明を文書化することが重要。 対立軸による思考法 関心事を分離するために、論理的と物理的、動的と静的など、物事を対立軸でとらえることが必要。

SE(システムエンジニア)の仕事

 開発プロジェクトの中核を担う仕事

 SE(システムエンジニア)とは、企業情報システムの要求定義や設計といった「上流工程」を手がけるエンジニアです。利用者へのヒアリングを通じてシステムへの要求をまとめ、利用者に確認をとりながらソフトウエアやシステムの設計書を作ります。

 SE(システムエンジニア)とは、企業情報システムの要求定義や設計といった「上流工程」を手がけるエンジニアです。利用者へのヒアリングを通じてシステムへの要求をまとめ、利用者に確認をとりながらソフトウエアやシステムの設計書を作ります。

 企業情報システムの要求定義や設計には、その企業の業務や所属業界に関する知識が必須となります。このため、「製造SE」「流通SE」「金融SE」というように、担当する業界が決まっていることもあります。

 広義には、企業情報システムの構築・運用にかかわる各種業務(要求定義、設計、プログラミング、プロジェクトマネジメント、稼働準備、稼働後の修正、運用管理など)に従事するエンジニアをSEと呼ぶこともあります。

必要なスキル

・プロジェクトマネジメントのスキル
プロジェクトマネジャーでなくても、上流工程を担当するSEには、全体を見渡す力が必要だ。経験を積むだけでなく、プロジェクトマネジメントのスキルを身に付けることで、進捗管理を確実に行えるようになり、トラブルの時でも、プロジェクトの状況を冷静に見渡して、判断を下す力がつく。

・コミュニケーションスキル
顧客の言うことを正しく理解するために、コミュニケーションスキルは必須。これができないと、要求定義もシステム設計も、的外れなものになってしまう。 柔軟性 ヒアリングや普段のユーザーとのやりとりでは、いろんな立場の人がいろんな意見を言ってくる。時には正反対の要求をしてくることもあり、そのまま受け止めるだけでは破綻する。余り堅く考えず、臨機応変に対処することも時には必要。

ネットワークエンジニアの仕事

 システム要件に合わせてLANやWANを設計・構築 する仕事

 ネットワークエンジニアは、情報システムの要件に合わせて、ネットワークの構造(トポロジ)や通信サービス、ネットワーク機器の選定に当たるのが主な業務です。システムインテグレータや企業内の情報システム部門の一員として、オフィスのLANやオフィス同士を結ぶWANの構築に当たります。本稼働を見届けた後は、ネットワーク運用エンジニアにバトンを渡すのが一般的です。

 ネットワークエンジニアのキャリアは、標準技術(例えばTCP/IP)の勉強とベンダー資格の取得から始まります。米Cisco Systemsや米Juniper Networksといったネットワーク機器ベンダーは、自社製品の設定や構築のスキルを認定する資格制度を用意しています。こうした資格のうち、少なくともエントリーレベルのものは取得しておかないと、キャリアアップは難しいといわれています。

 これまではSEにネットワークを提供するまでが主な業務だったものが、流れるデータが変わるにつれてその内容も変化しています。例えばネットワークを流れるデータの内容や流れ方を理解していないと、効率的なネットワーク設計ができなくなってきています。

必要なスキル
・ネットワーク設計の知識と関連するIT知識
TCP/IPやHTTPなど、主流のネットワーク技術の理論・実装の理解は必須。

・ベンダー資格
シスコ技術者認定(CCNAなど)が登竜門。担当業務に合わせてジュニパーネットワークス技術資格認定プログラム(JNTCP)などを随時取得するべき。

・ネットワークスペシャリスト
情報処理技術者試験の一つ。企業によってはキャリアアップの条件になるケースも。個別の機器設定ではなく、通信事業者、ネットワーク機器ベンダー、電設業者などを総合的にマネジメントする立場になるにつれて必要性が高まる。

・基本情報技術者などのIT資格
ネットワークの上で動くアプリケーション、ネットワーク機器の理解・設定などで基本的なIT知識が必要。そのためにIT資格の取得は有効。

データベースエンジニアの仕事

 データベースを設計・保守する仕事

 データベースエンジニアとは、データベースを設計・保守する職種です。データベースとしては、データを表形式で管理する「リレーショナルデータベース」と呼ぶ種類のものが主流です。表と表を関連付けて管理するので、綿密な設計が必要です。データを表に落とし込む作業、データベースソフトに展開する作業、アプリケーションプログラムからの呼び出し方(クエリー)を記述する作業が主な仕事となります。

 データベースの設計、サーバーへの展開、SQLに代表される各種問い合わせ言語によるプログラミングと、必要なスキルセットの幅は比較的広いです。データベースソフトの導入段階(物理設計)では製品に応じて必要な知識が大きく変わります。このためベンダーの製品に特化してキャリアを積むのが一般的です。  

 力量が試されるのは、稼働後のデータベースがボトルネックとなったときのトラブルシューティングです。データの取り出し方や機能のチューニングで、どこまでトラブルを解決できるかが腕の見せ所となります。論理的な構造、プログラムの挙動、さらにはストレージ内の格納状況など、下位構造まで踏み込む場面も少なくありません。ハードウエアの増強で対処できる場面もあるが、原因を突き止めたうえでの選択肢でなければ一流のデータベースエンジニアとは言えません。

必要なスキル
・ データベースの基礎理論
リレーショナルデータベースは、概念設計・論理設計・物理設計の大きく3段階で設計する手法が確立しているため、それらの理解が最低レベル。 データベース製品の知識 業務で携わるデータベース製品のマニュアルは必読。設計はもちろん、トラブル時の問題切り分けに威力を発揮する。

・ベンダー資格
データベースは製品によって設計が異なるので、特定ベンダーのソフトのスペシャリストとして道を歩むのが一般的。そのためにベンダー資格の取得は有効。

・データベースのプログラミング技術
SQLという言語によるプログラミング技術も必須。

セキュリティエンジニアの仕事

 セキュリティ専門家

 セキュリティベンダーに所属して複数の企業にセキュリティのノウハウをアドバイスする人もいれば、企業に所属しながら現場で機器などを操作してシステムを安全に構築・運用するよしている人もいます。

 情報漏洩などセキュリティ関連の事件が報道されるにつれ、セキュリティに対する問題意識が高まり、セキュリティエンジニアも重要視されるようになりました。従来はSEが兼任していることが多かったすが独立した職種として注目を集めています。

必要なスキル
・技術に対する知識
セキュリティの弱点となる部分を推測する必要がある。そのためには、コンピュータやネットワークなどの知識を押さえておくことが最低条件。

・語学力
セキュリティの問題は、原典を調べるのが大原則。原典は英文などの形で海外のサイトで公開されていることが多い。

・分析力
セキュリティの問題を調べる際に、セキュリティ機器のレポートを分析することは必須となる。このための分析能力が必要。

ITエンジニアのための【論理思考】がわかる本
こんなSEになりたくて!―落ちこぼれも、ドロップアウトもないシステムエンジニアの条件 (これからのITエンジニア入門シリーズ)
はじめての上流工程をやり抜くための本 (エンジニア道場)
絶対わかる!ネットワークエンジニア超入門 (日経BPムック―ネットワーク基礎シリーズ)
図解入門 よくわかる最新情報セキュリティの基本と仕組み―基礎から学ぶセキュリティリテラシー (How‐nual Visual Guide Book)
ホーム|トレンド研究|業界を知る|仕事を知る|入門書籍|資格に挑戦