2. パッケージソフトウェア

コンピュータソフトウェアの開発環境においてその生産性を上げる手段として、今やパッケージソフトは必須のツールとなっている。その有効活用の前提となるのが標準化であり、オープン化である。

2.1 パッケージソフトウエアの歴史
今はパソコンがFAシステムの中核をなし、低価格化、高機能化と共に国際標準化が進みDOS/V機、MS−Windowsが主流をなしている。しかし、ここへ来るまでは紆余曲折の動きがありそれらも含め歴史、今後の動向等について説明する。

(1)コンピュータ・ライトサイジング
日本におけるコンピュータ・ソフトウェアは長く続いたメインフレーム時代の終焉とともに新展開を見せている。マイクロプロセッサが登場してから20余年を過ぎたがこれが真の意味でその威力を発揮してきたのはここ10年のことである。それまでは様々な角度からその利用法について提案がなされ、特に単体機器の機能アップ、利便性の向上に貢献してきた。コンピュータの世界でも組み込み型OSやデスクトップコンピュータ用OSの発展とともに応用の範囲を広げてきた。その過程ではマルチプロセッサシステムなどにより、機能拡張の提案がなされたが、8ビットから16ビット、32ビットやがて64ビットとバス形態の拡充があり、クロック速度のアップと相まって今やメインフレームを脅かす迄に至った。これまで営々として築き上げてきたソフトウェア資産はその価値を失い、多くのソフトウェア技術者が不要となる事態になった。「ソフトウェア・クライシス」が叫ばれ、21世紀の初めには数十万人のソフトウェア技術者が不足するという通産省の分析が発表されたのはそれ程前の話ではない。現状では「企業の合理化に貢献してきた情報システム部門が、今や最大の合理化の対象となっている」と言う人がいる始末である。
メインフレームやミニコンからワークステーション、そしてパソコンへとダウンサイジングされてきたハードウェアの歴史は、スモールコンピュータの機能向上というよりもソフトウェアやネットワーク機能の充実によるものであり、もともとそれぞれのコンピュータは棲み分けされるべくして登場してきた。パソコンは文字通りパーソナル利用の目的であったが、個人で利用できる安価性の他にメモリ大容量化によるデータベース機能搭載、マルチタスク・ネットワークOS搭載によるクライアント・サーバシステムの端末利用が可能となってワークステーション機能をも備えてきた。従来は大型機でしか走れなかった大規模ソフトウェアが、パソコンに搭載できるようになった。RISCプロセッサ主体の在来ワークステーションはCADや科学技術計算、ネットワーク・サーバ等特に高速処理を必要とするジャンルで存在価値がある。このようにコンピュータの機能向上とソフトウェア・ネットワークの合体がトータル価格のダウンで利用対象を広げ需要を拡大する相乗効果をもたらしており、これをまさにライトサイジングと言うべきであろう。

(2)パッケージソフトの生い立ち
コンピュータ・ソフトウェアはOS(Operating System)と呼ばれる各種の入出力や装置とのやりとりを司るソフトウェアを根幹として、その周辺に人や装置やセンサ、アクチュエータ、通信ネットワークとのやりとりを行うソフトウェアを配している。さらに目的とする機能を実現するために対象ごとにプログラミングするアプリケーションソフトウェアを組み込むことによって出来上がる。図にFAシステム用ソフトウェアの構成を示す。

図 FA用途のコンピュータ/コントローラのソフトウェア構成

これは何もかも詰め込んでいるが、実際にはこれらの機能を分散していることが多い。OSとしてDOS(Disk Operating System)を例にとると16ビットのMS-DOS、32ビットのWindowsと発展してきた。WindowsはDOSの領分を越えているが、一方でUNIXが長い歴史を有している。組み込み用OSとなるとOS−9000、Vx Worksなど各種ある。OSの発展とともに、その周辺のソフトウェアが充実してきたことが、パッケージソフト化を可能とした。図の中の一つひとつの四角の部分がモジュール化され、共通利用されてくると、それらを統合したパッケージソフトが現れる。画面作りが大変となると作画支援ツールが現れる。帳票作りが大変なので表計算ソフトが現れる。もちろん業務の根幹を成すデータベースソフトも然りである。パッケージソフトという表現は極めてあいまいであるが、名の如く機能をひとくくりにしたものである。従って単機能のツールソフトがまずはパッケージソフトとして世に現れた。これをインストールするとすぐ機能する、ソフトウェア版“P1ug and P1ay”がパッケージソフトの基本要件である。次にアプリケーションソフト作成工数を低減するための支援ソフトが現れた。更に業務ごとのパッケージになるとアプリケーションソフトが不要で要件を記入することで機能を実現できる。

(3)オープンシステム時代のパッケージソト
先に述べた「ソフトウェア・クライシス」とは今になってみると要員の不足ではなくパッケージソフトの不足であったと言える。今でこそオブジェクト指向プログラミングの時代となったが、1970年代には1980年代なかばにもオブジェクト指向全盛となるであろうと予測されていた。その意味ではソフトウェア・アーキテクチャーの先見性に現実が追いつかなかった例である。Apple社が一時代を画したのはこの面で先行したためだが、オブジェクト指向のパッケージというのは大変な開発工数を要するだけに資本が壁となっいたことと、メモリ容量の不足、速度の不足が障害であった。しかし、いずれはこれらの壁を乗り越えてパッケージソフトの時代が到来すると予測されていたにもかかわらず、メーカーは独自アーキテクチャの製品を出し、自社製品どうしでなければ作動しないソフトウェアを提供し、ユーザは業務の拡張の度ごとに新たなアプリケーションを次々と開発したり、変更に次ぐ変更で屋上屋を架すようなシステムを作っていた。その結果ソフトウェア要員は不足し、未熟な技術者の大量投入によってソフトウェアの生産性向上が真剣に討議された。能力と成果がリンクしない大きな矛盾の中で、バブル崩壊でやっと目が覚めたときにソフト要員のリストラが始まったのであり、パッケージソフトへの対応不足こそが本来のソフトウェア・クライシスだったと言える。嵐の後で生き残ったソフトハウスは真に実力を備えていたところが多いのであろうが、幾多の辛酸の事例を聞いている。

今パッケージソフトに求められている要件はオープンシステム対応、GUI(グラフィカル・ユーザ・インタフェース)をはじめとするマルチメディア対応、ダウンサイジング対応、インターネット対応である。目的によってこれらの全部を包含する必要は無いが、ポイントはここにある。そして命題としてはグローバリゼーション、マスカストマイゼーションがある。開発費や維持コストがかかるにもかかわらず、安くなければ売れない時代には、数多くのユーザをつかむ必要がある。日本語で開発されたソフトならばこれまでとは逆に「英語化」する必要がある。特定ユーザを対象とせず、このアプリケーションにはこのソフトウェアが最適だ!と自信をもって多くのユーザーを対象とするソフトウェアが求められる。従来はエンドユーザの要求に合わせる形態であったが、先進的な業務形態を持つ理想的な生産システム、FA現場で実績を積み重ねた優秀な人材をもって開発したパッケージソフトをユーザに提案し、トップダウンでその導入を図ることがこれからのパッケージソフトビジネスである。



2.2 ソフトウェアコンポーネント
多機能なパッケージソフトウェアは膨大な量のプログラムコードにより構築されている。しかし、いかに多くの機能をもつパッケージソフトウェアでもすべてのユーザの要求を100%満足する事はできない。カスタマイズ機能は既に常識的なものになっているが、それはさらにソフトウェアを肥大化させる危険性を持つものである。
パーソナルコンピュータの活用が盛んなOA分野ではVisual BasicをはじめとするRAD(Rapid Application Development)ツールの登場と共に「使う人(ユーザ)が自分で作る」というソリューションが誕生した。この流れはダウンサイジングやクライアント・サーバーシステムの流れとともに、業務形態に合わせたシステムの更新を可能とする柔軟性を生み出した。
RADツールはその名が示すようにすばやいソフト開発を実現するためのツールである。RADツールの土台を支えているのは部品化されたソフトウェア、すなわちソフトウェアコンポーネントである。表計算機能やグラフ作成機能、データベースアクセス、マルチメディアデバイス制御など、さまざまな機能が部品として販売されている。新しい機能が必要ならそのための部品を購入して組み込めば良いのである。
パーソナルコンピュータのハード、OSの高性能化に従いFA・LA分野への応用が始まっている今日、計測制御機能もソフトウェア部品として供給され効率的なシステム構築が可能となるだろう。
すでに市場には膨大な量のソフトウェアコンポーネントが流通している。ソフトウェアビジネスに参加するために大勢の開発部隊が必要な時代は終わろうとしている。得意な分野での確実なビジネス展開が可能となったのである。



2.3 品目分類
FAシステム用のパッケージソフトウェアは用途別に下記6種類に分類できる。

(1)研究・開発用パッケージソフトウェア
FAシステム等の開発手順は通常、システム分析、システム設計、ソフトウェア設計、プログラミング、システムテスト、運用保守の6つのフェーズに分かれる。このパッケージソフトウェアは、アプリケーション・プログラムを効率よく開発するための支援プログラムであり、特に、システム分析、システム設計のためにプラントをシミュレーションしたり、モデリングしたするプログラムが中心となる。

(2)設計管理用パッケージソフトウェア
このパッケージソフトウェアは、ソフトウェア・エンジニアリングの6つフェーズのなかで運用保守の段階を支援するものであり、設計の進捗管理、ソフトウェアの不良発生予測による品質チェックなどを支援するプログラムである。システム・エンジニアにとって研究・開発用パッケージと共に有力な味方といえる。

(3)製造支援用パッケージソフトウェア
このパッケージソフトウェアは、製造活動に直接関連するソフトウェアであり、FAシステムに固有のサポート・プログラムと用途別、要求機能別のアプリケーション・プログラムに分けることができる。サポート・プログラムとしては、シーケンサ入出力サポート、NC伝送サポート、バーコードリーダ・サポートなどのFAシステムに必要なFA用入出力機器に係わるプログラムである。アプリケーション・プログラムとしては、機械加工システム、自動倉庫システム、プロセス制御システムなどの用途に応じたプログラムである。

(4)生産工程管理用パッケージソフトウェア
このパッケージソフトウェアは、用途別のアプリケーション・プログラムとして標準のパッケージが商品化され広く流通している。パッケージとしては、日程管理、進捗管理、生産指示、品質管理、出荷管理、実績管理、工数管理などがある。

(5)保守・サービス用パッケージソフトウェア
このパッケージソフトウェアは、設備の故障対策、製品の品質向上などのため、工具寿命管理、稼働率、設備故障統計、品質管理統計などFAシステムの状態をモニタリングするためのプログラムである。このソフトウェアは、FAシステムを構築する上で、ISO9000、PL規制、環境監査など今後ますます重要となってくると思われる。
(6)その他のパッケージソフトウェア
FAシステムは、分散化と共に、OAシステム(オフィス・オートメーション)、PAシステム(プロセス・オートメーション)、LAシステム(ラボラトリ・オートメーション)などとの統合が図られ、総合的な管理・制御システムへと発展してきている。そのため、これらを容易に実現するためオープン化が進められており、このためのパッケージソフトウェアも商品化されている。



2.5 各ソフトウェア説明
本技術解説で取り上げるFA用パッケージソフトウェアについては、その要件を下記のように定義づけた。
(1)FA用途に用いられる計測・制御・監視・管理パッケージソフトを対象とする。PA用が含まれてもよい。
(2)定義は厳密にはしない。「ソフト単独で売れるもの」とか「マルチベンダのコンポーネントに対応できるもの」とかの制限はつけない。カスタマイズソフトウェアとの違いは、これを使うことによってエンジニアリング工数が下がるとか、使いたいときにすぐ使えるなどといった利便性を有したものと言える。
(3)FA用の特定用途に向けて標準化されたものの他、LANを介してCIM構築するときに使われるソフトウェアも対象とする。 ・CADソフト、汎用MMIソフト、要素パッケージ(表計算、統計、グラフ作成など)の単品でFA用に限らず使用されるものは対象外とする(例:micro CADAM、一太郎、InTouch、Excel等)。これらソフトウェアを組み込んでFA用にまとめたものは対象とする。
(4)グラフィックターミナル用のソフトウエアは特定用途向けに標準化されていれば対象とし、画面作りに用いるエディタソフトは含めない。