特集
» 2006年05月16日 08時00分 公開

顧客満足度ナンバーワンSEの条件〜新人編:SEの道は仕様書に始まり仕様書に終わる (1/3)

最近のシステム構築では仕様書をきちんと記述しないで、いきなりツールを使ってプログラムを作成することも多いようだ。否定する気はないが、駆け出しのころはしっかり自分の手で仕様書を書いた方がいい。

[杉山 正二,ITmedia]

本記事の関連コンテンツは、オンライン・ムック「顧客満足度ナンバーワンSEの条件〜新人編」でご覧になれます。


 前回は、SEを目指している皆さんに向けて、仕事に取り組む姿勢の観点からアドバイスを書いた。今回は、SEに求められるより具体的な知識やスキルの向上に役立つ話を書いてみたい。

 SEとして必要な知識やスキルは非常に広範にわたる。経験を積み、上級SEになってくればより経営的な知識が求められるが、最初のころは、システム構築に必要な知識やスキルが特に重要になる。今回は、システム構築における基礎的なスキルの開発方法を紹介しよう。

仕様書を書くこと

 最近のシステム構築では、仕様書をきちんと記述しないで、いきなりツールを使ってプログラムを作成したり、システムを構築したりする手法が取られることも多いようだ。こういった手法をすべて否定する気はないが、まず、SEとして駆け出しのころ(あるいはまだプログラマーと呼ばれるころ)は、自分の手で、仕様書をきちんと書く訓練をすべきである。しかもいきなりツールやワープロを使って仕様書を作成するのではなく、最初に設計のアイデアをまとめる段階は、図やチャートを使って手で紙に書く方がよい。

 仕様書を書く過程では、自らの考えや思考を整理し、間違いや漏れを確認することができる。上級のSEになればなるほど、複雑な事象を整理し、原因と結果を明確にしたり、論理的なソリューションを考えたりする能力が必要になる。仕様書の作成は、そうした能力の開発だけでなく、人に自分の考えを伝えるという、SEに必須のコミュニケーションスキルの向上にも非常に役立つのだ。

IPOを明確にすること

 仕様書を作成するということは、プログラムやシステムの処理ロジックを考え(すなわち設計し)、それを他者に分かるように文書にすることである。設計に当たっては、基本中の基本である「IPO」を明確にしなければならない。

 特に最初にI(Input)とO(Output)を明確に定義する。構築するシステムや開発するプログラムのInput(入力)データは何で、Output(出力)データは何かを定義するのである。複数のInputソースや複数のOutputターゲットがある場合には、IPOを図にして考えるのがよいだろう。図の効用はいろいろなところで語られているのでここでは踏み込まないが、システム設計にもかなりの威力を発揮する。

 それから、P(Process)であるメインの処理(ロジック)を考える。ロジックを考える際にも、ストラクチャー・チャートを使って設計するとよい。最初に、初期処理、メイン処理、終了処理の順に分けて考える。初期処理では、変数の初期化(ゼロクリアや初期値のセット)などの、メイン処理に入る前の大事な準備処理を忘れずに記述する。

 よく起きるシステムトラブルの1つに、メイン処理のロジックは正しいにもかかわらず、変数の初期化を忘れたために変数がオーバーフローして異常終了するといったものがある。同様に終了処理も重要である。変数や領域の開放、あるいは他プログラムへのリターンなど、忘れずに記述する。

 そして、メイン処理をさらにステップに分けて考える。ステップを「順次」「選択」「繰り返し」の3つの基本的な制御で構造化した形で仕様書を記述することによって、頭の中が整理できるとともに、ロジックの「抜け」や間違いを発見しやすくなる。当然、他人が見た際にも理解しやすい設計にすることができる。

 また、ロジックを考える上で特に留意すべきことは、繰り返し(ループ処理)や選択(条件分岐処理)を行う場合に、ある処理を繰り返しや選択の「中」で行うか、「外」で行うかに留意することである。これを間違ってしまうと、処理時間が異常に遅くなったり、最悪の場合にはまったく別のロジックになったりするからである。さらに、繰り返しの際には、繰り返しを抜けるための「繰り返し終了条件」を明確にしておく必要がある。これを忘れると、無限ループに入り込んだり、変数のオーバーフローが起こったりするからだ。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ

マーケット解説

- PR -