データの流れはビジネスそのもの顧客満足度ナンバーワンSEの条件〜新人編(2/2 ページ)

» 2006年05月25日 08時00分 公開
[杉山正二,ITmedia]
前のページへ 1|2       

内部設計と外部設計の違いを理解する

 詳細な説明は参考書に譲るが、システムを設計・構築していくプロセスは、大きくいって、要件定義(モデル化を含む)、外部設計、内部設計、構築、そして、各設計に対応するテスト(単体及び統合テスト、システムテスト、ユーザーテスト)の各段階に分けられる。

 SEとしては最初に、外部設計と内部設計の違いと、両者の関係を正しく理解する必要がある。

 外部設計は、ユーザーから見て、システムがどのように動作するかを定義したものである。一方、内部設計は、その定義された動作をシステム内部でどのように実現するかを定義したものである。したがって、それぞれに対応するテストも、システムの内部動作をテストするか、外部から見た動作をテストするか、テスト内容が大きく異なる。

 SEとして仕事を始めた当初は、システムをどのように動作させるか、すなわち、プログラムをどのように作成するかに重点を置くことになる。そして、徐々にシステムの外部、すなわち、システムがユーザーから見てどのように動作するかを考えて、システムを構築するようになるだろう。

 わたしは、これを「How」から「What」への転換と考えている。すなわち、SEは、システムをどのように(How)構築するかを考えることから、どんな(What)システムを構築するかを中心に考えるように、変化(成長)していかなければならないのである。さらにその先には、なぜシステムが必要かという「Why」を問われるようになる。Whyの質問に適切な答ができるようになれば、もう立派な上級SEといえる。

 前回、IPO(Input Process Output)を明確にすることの重要性を強調し、その中で、システムの内部処理にあたるProcessの設計方法を説明した。では、InputとOutputの設計の鍵はどこにあるだろうか?

 ここでも、焦点をデータに置くことで、設計がずっと楽になり、また、的確な設計を行う際の確度も格段に向上する。外部設計を行うときに、ユーザーであるお客様に「どんな業務をどのように行っていますか?」と質問することで、システムが必要とする機能を明確にしていくことがある。

 その際に「その業務を行うときにどんなデータを使用しますか? どんなデータが必要ですか?」と尋ねることによって、必要なデータも同時に見えてくる。その後は、そのデータを使って業務を行うのか(この場合は、Inputの可能性が大)、あるいは、業務の結果が出てくるものなのか(この場合は、Outputであろう)を明らかにしていく。

 さらに、そのデータが単独で使用されるものなのか、あるいは組み合わせたり、計算したりして使用するものなのかを明らかにする。つまり、SEとしてユーザーに認められるためには、外部設計ができることが必須なのである。ユーザーが行う業務のInputとOutputを設計でき、業務に必要なシステム機能が明確に定義できるようになって初めて、ユーザーはあなたをSEとして認めるだろう。最初のころは、前回書いたアドバイスを基に、内部設計をきちんとできるように努力し、その後は、きちんと外部設計ができる知識とスキルを身につけてほしい。

 3回にわたって書いてきたことは、わたしのこれまでの経験からまとめたものであり、SEを目指す方全員に当てはまるものではないかもしれない。しかしながら、これまでさまざまな仕事をしてきた経験から、物事を難しく考えず、なるべくシンプルに考えて本質をとらえることが、良い仕事をする上での鍵ではないかと考えるようになった。そういった視点から、SEを目指す皆さんに、ポイントとなりそうな知識・スキルとその開発方法について説明してきた。この内容が自己開発の一助になれば幸いである。

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ