オルタナティブ・ブログ > Software Development >

ソフトウェア製品開発現場の視点

ディジタル的発想からアナログ的発想へ

»

ディジタルのデータ量をどんどん上げていくと、最後にはディジタル的性質よりもアナログ的性質のほうが強くなってくる。微分の考え方はそもそも、アナログ情報をディジタル情報として近似して考えるところからきているので、最終的にはディジタルとアナログは区別できないところにまで行き着くということは理論上は正しい。

日経ビジネスに、アメリカの TI (Texas Instruments) がアナログデバイスへ注力することで、業績を上げたという記事が出ていた。ディジタル技術がここまで向上してくると、アナログ処理能力で差別化をする必要があるという考え方でアナログデバイスへの投資を進めたということだ。

たとえば、CD に入っている音であっても、最終的に人の耳に入るのはアナログの空気振動なので、オーディオにこだわりのある人は以前からアナログを重視していたと聞くし、TI がそちらの分野を重視するという考え方は理解できる。

一方、PCやサーバー上で動作するビジネスアプリケーションは、ユーザインタフェースの一部を除けばすべてディジタル処理であるのでアナログとは無縁と認識されている。しかし、実際はソフトウェアのサイズが非常に大きくなってきている現在、ディジタル的発想では対応できない部分が出てきている。

たとえばソフトウェアのテストは、もうディジタル的発想で対応できない状況になってきている。ソフトウェアの製品の使用中に不具合が発見されたときの結論の多くは「テストが十分でない」ということになっている。もちろん、テストの段階でその組み合わせでテストしたかを聞かれたら答えは "NO" であるし、そのテストをしなかったことが単純なテスト漏れというケースも多くある。ディジタル的発想では、すべての組み合わせをテストすれば問題はあらかじめ発見できるので、その組み合わせのテストを怠ったのは問題であるということにある。しかし、現在のソフトウェアのサイズと論理の複雑性の中では、すべての組み合わせをテストすることは不可能である。

一方、アナログ的製品のひとつとして自動車を考えてみる。自動車も製品出荷前には、膨大な量のテストをしているに違いないが、全ての使用状況で考えられるテストをすべての組み合わせで行ってはいないし、すべての場合のテストをするのは不可能であることは、想像できる。このため、実際にはいろいろな組み合わせを考えて、重大度の高い組み合わせや、発生頻度の組み合わせでテストを考えて、重要度を決めている(に違いない)。

ソフトウェアのテストにおいても、ディジタル的発想であるしらみつぶし系のテストを理想とするのではなく、アナログ製品のテストと同様な、テストプランニングとそれにしたがったテストの実施が重要になってきている。このためには、実験データ分析などの従来からの工学的基礎知識の重要度が高くなってきていると思う。

Comment(0)