がると申します。
SEについてわかりやすくということで…難題に挑戦してみましょう(笑
なにせ、業界人ですら定義が分かれるものなので。
まず「SE == システムエンジニア」とさせていただきます。
何でかっていうと、SEという略称で「セールスエンジニア」とか「サービスエンジニア」とか色々と亜種があるので、そのあたりまで入れると本気でわけがわからなくなってしまうので。
SE(システムエンジニア)は、一言で片付けると「システムを作る人」です。
ここでいうシステムというのは…そうですねぇ。高校生さんとのことで、身近にコンビニを例題にしてみましょう。
コンビニ(に限らないと思いますが)で、レジで商品を買うときに。バーコードに「ピ」ってするだけで、金額から商品名からすぐに出てきますよね? で、それらが足し算されて、合計金額とか出てきますよね?
あれも立派に一つの「システム」です。
また、あの売り上げデータは全国で集計されて、何が売れ行きがよい、何が売れ行きがいまいち、などの統計を取っています。これもまた一つのシステムです。
さて。「もし」このシステムがなかったらどうなるでしょう?
まずお店では「値段対応表」とかを人間が見て商品に一つ一つ値札をつけて、レジでは頑張って計算をして、お客様が何を買ったのかを一つ一つメモをして。…とんでもなく面倒です。
システムとは「人間がやると面倒なものをコンピュータに肩代わりにしてもらうことによって人間が楽をする(効率を上げる)ためのもの」です。
では、そんな「便利グッズ」のようなシステムを作るにはどんなことが必要でしょうか?
まず初めに「今困ってるのはどんなことか」を探り出す必要があります。困ってる会社の人に話を聞いて、どこがどんな風に困っているかを聞き出すんですね。
これを「ヒアリング」とか「事前調査」とか「インタビュー」とか、そんな風に呼びます。
次に、やっぱり予算の関係というものがあるので。ヒアリングの結果から「どんなシステムを作ったら、一番安く上がってしかも困ってる会社の人たちが楽になるのか」を話し合います。
これを「要件定義」とか「要求定義」とかって呼びます。
場合によっては、SEのほうから「こんなことをするともっと業務がよくなるよ」というアドバイスをかける場合もあり、これを「コンサルティング」とかって呼びます。
厳密にはこのあたりで「お値段の決定」があるのですが、ほとんどの場合は営業さんがやるのでSEさんにはあまり馴染みがない…かもしれません。
要件定義が片付くと、次は「どんな性能のコンピュータで」「どんなプログラムを 作る/使う とよいか」といった技術的な設計に入ります。
このあたりを「設計」と呼びます。一般に外部設計、内部設計、詳細設計などの言葉がありますが、案外意味合いがばらばらなので、まとめて「設計」っておぼえちゃってよいと思います。
設計が片付いたら、実際に物を作成する「プログラミング / コーディング(意味はまったく一緒です)」と、作ったものを試験する「テスト」を行っていきます。
場合によっては作成中に困ってる会社の人たちに実際に使ってもらったりして、設計の内容の一部を変更し、作り直しをすることもあります。この作り直しのことを「仕様調整」とか「仕様変更」とかって呼びます。
いざモノが出来上がって、困ってる会社の人が「うんこれならこれから楽が出来るからOK」ってOKを出してくれたら、そのシステムを実際に使い始めます。
これを「納品」とか「運用開始」とかって呼びます。
でも使っていく間に「あれ? なんかバグがある」とか「やっぱりこの辺はこう変えて欲しい」とか「あとこんな機能があるといいのになぁ」とかっていう風に思いが広がっていきます。システムによっては日々のお世話をしてあげる必要があるものもあります。
それぞれ、「障害対応」「仕様変更」「仕様追加 / 機能追加」「保守 / メンテナンス」と呼びます。
SEは、上記を「大体全部」カバーする職業です。…ええ幅広いです(苦笑
狭~~いところだとSEの作業範疇は「設計」部分だけになるんですが。大抵は一通りやることを期待されます。
かなりの長文になってしまいましたが、どうでしょうか?