IT業界のステップアップ、スキルアップ、知っておきたい事などを
わかりやすく噛み砕いて説明されたマンガです。
仁くん:「僕は、プログラマ(以下PG)2年目の仁(ジン)です。初心者用ITコミックに出演の新(シン)の兄なんです。僕は今、システムエンジニア(以下SE)という職業に興味があるんです。今日は、先生にSEについて質問しようと思います。」
仁くん:「先生!僕、早くシステムエンジニアになりたいんです。どうしたら、なれますか?」
先生:「新くんのお兄ちゃんの仁くんか!久しぶり。SEになるにはかぁ。そうだなぁ。まだ、仁くんはPG2年目になったばかりだったよね?」
仁くん:「そうですが。。。SEにはなれないのですか?」
先生:「SEになるには、PGの下積み期間は大切だよ!プログラミングの経験があることによって、良いシステムの良い設計ができる。現在のSEのほとんどが、PGから昇格したエンジニアが多いだろう。だから、SEになるためにもPGを2〜3年経験するのも勉強になるんじゃないかな。」
仁くん:「そうなんですかぁ。僕、一人前のPGになったら、SE目指します!でも…、PGとSEは、どう違うのですか?」
先生:「良い質問だ。PGは、システム言語を用いてシステムのうちの部品であるプログラムを作成することが主な役割であるのに対し、SEはシステム全体を把握し、最適な構築方法(環境、言語、セキュリティ)を決め設計することが主な役割なんだ。つまり、SEはPGがプログラミングできるように設計・下準備をし、PGはその準備された設計通りにプログラミングをする。」
仁くん:「なるほど!SEは、PGのレベルUPした仕事ですね!カッコいい〜!」
先生:「だから、設計をするためにはSEはプログラムという観点だけではなく、システム全体に視野を広げて観点をおき、そのシステムの1つ1つのプログラムも理解していることが必要だよ!」
先生:「さらにSEの中には、上級〜中級〜初級があるんだよ!」
仁くん:「上級〜中級〜初級???」
先生:「上級SEは、開発工程の中で「要求分析・要件定義」を主に行うのが役割だよ。要求分析では、 1.ユーザーが「何を求めているのか」を明確にし定義する2.どんな機能が必要であるか概要を設計する 上級SEは、ユーザーに対して要求を聞くだけではなく、分析や提案することも必要なんだよ。」
先生:「中級SEは、開発工程の中で「外部設計」を主に行うのが役割だよ。外部設計とは、システムを使う人の目に映る部分(表示画面など)、コンピュータから見ると外側部分の設計を行う工程のことだよ。上級SEの要件定義を元に、 1.システムがどんな機能を持てばよいか明確にする 2.どのようなシステムにするかの概要を設計する 3.画面レイアウトや帳票レイアウトの決定する つまり、システムの外部を設計することで、基本設計とよばれることもあるんだよ。」
先生:初級SEは、開発工程の中で「内部設計」を主に行うのが役割だよ。内部設計とは、中級SEの基本設計を元に、 1.システムに必要となる機能をプログラムを分割(サブシステム化) 2.各サブシステムの働きを決定し、各サブシステム・機能間の処理の流れを明確化 3.PGがプログラムを作成できるように詳細を設計する つまりシステムの詳細を設計するとことから、詳細設計とよばれることもあるんだよ。」
仁くん:「初心者用ITコミックの『プロジェクトの流れ』で読んだ工程の流れだなぁ!」
先生:「今回は、計算システムで例えてみよう!」
先生:「計算システムを作るプロジェクトを除かせてもらおう!」
ユーザー:「うちの商品や人材を管理する『計算システム』を作りたいんだ。」
上級SE:「では、その中には『+−×÷』の機能が必要ですね。それに、この予算なら『消費税計算』『勤怠計算』機能もあったほうが便利ですね!」
ユーザー:「確かに必要じゃな。その機能も追加でお願いする!」
先生:「このように、ユーザーからの要求に対し、SEが必要な機能を提案する。この折衝を繰り返すことで、ユーザーの要求が具体的になり、上級SEはユーザーの最終決定を定義する。そして、外部設計へと引き継ぐのじゃ。」
中級SE:「プログラム言語は○○言語で、管理システムごとの入り口に作り、出力と印刷できるもの決めよう。それと、商品管理は、消費税価格と利益計算も必要だなぁ。」
先生:「このように中級SEは、使うユーザーの目に見える部分やおおまかに必要な機能を設計する。そして、外部設計が終わると内部設計と引き継ぐのじゃよ!」
初級SE:「PGのみんながわかるように、アルゴリズムも考えよう。『+−×÷』機能の他にも税込み計算プログラムと利益の計算プログラム…と。」
先生:「そうそう。このように機能を明確に理解して、プログラミングするPGのことを考えて詳細設計をしていくんだよ!そして、PGに引き継いで、プログラミングを始める。」
SE:「わからなくて悩んでたら質問してね!」
先生:「SEが設計したものをPGがプログラミングする。つまり、PGが詳細設計を見て開発するとなると、SEは、PGにわかりやすい設計をするためにプログラムを理解していることは大切だよ!今は、PG経験なくSEになれたりもするが、PGから段階を踏んで勉強するほうが、今後の成長に役立ってくるぞ!」
仁くん:「僕、一生懸命学んで早くSEになれるように頑張ります。」