(57)【要約】【課題】ソフトウェア群の編集作業を効率的に行い、ソフトウェアの開発効率の向上を促すことができるソフトウェア運用システム、ソフトウェア運用方法および本システムにより運用されるソフトウェア部品を提供する。【解決手段】自己のソフトウェア部品２６内で発生するイベントによって、自己のソフトウェア部品２６および他のソフトウェア部品２６の内部手続３９として設定される実行手続を発火させるイベント伝達手段４１と、自己のソフトウェア部品２６で設定したデータを各ソフトウェア部品間で共有するデータ共有手段４２と、自己のソフトウェア部品２６の動作をソフトウェアの処理内容に合わせて調整する処理内容調整手段４３とを備え、イベント伝達手段４１、データ共有手段４２および処理内容調整手段４３を互いに公開および参照することにより、各ソフトウェア部品同士の通信を可能にソフトウェア部品２６を構成した。【選択図】  図１
2005309615.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアの部分的な処理を実現する複数の処理ステップに従って処理ステップ単位毎に分割して作成されたソフトウェア部品であって、
自己のソフトウェア部品内で発生するイベントによって、自己のソフトウェア部品および他のソフトウェア部品の内部手続として設定される実行手続を発火させるイベント伝達手段と、
自己のソフトウェア部品で設定したデータを各ソフトウェア部品間で共有するデータ共有手段と、
自己のソフトウェア部品の動作をソフトウェアの処理内容に合わせて調整する処理内容調整手段とを備え、
前記イベント伝達手段、データ共有手段および処理内容調整手段を互いに公開および参照することにより、各ソフトウェア部品同士の通信を可能に構成したことを特徴とするソフトウェア部品。
【請求項２】
前記内部手続は、設定された処理ステップ単位の処理機能を実現する少なくとも１以上の実行手続を有し、前記イベント伝達手段が実行手続を発火させることにより、設定された処理ステップ単位の処理機能を実行する実行手段として機能することを特徴とする請求項１記載のソフトウェア部品。
【請求項３】
表示要求のあった内容を表示する表示手段と、
入力要求を受け付ける入力手段と、
ソフトウェアの部分的な処理を実現する複数の処理ステップに従って処理ステップ単位毎に分割して作成されたソフトウェア部品であって、自己のソフトウェア部品内で発生するイベントによって、自己のソフトウェア部品および他のソフトウェア部品の内部手続として設定される実行手続を発火させるイベント伝達手段と、自己のソフトウェア部品で設定したデータを各ソフトウェア部品間で共有するデータ共有手段と、自己のソフトウェア部品の動作をソフトウェアの処理内容に合わせて調整する処理内容調整手段とを備えた複数のソフトウェア部品を保持し、かつ電子データの読み出し、書き込みが可能な記録手段と、
前記イベント伝達手段、データ共有手段および処理内容調整手段を互いに公開および参照することにより各ソフトウェア部品同士の通信を実施可能に構成された、ソフトウェア部品の構築およびこのソフトウェア部品を用いたソフトウェアの構築を行うソフトウェア構築手段とを具備し、
前記ソフトウェア構築手段は、前記記録手段に保存される構築後の前記ソフトウェア部品の一覧を前記表示手段に表示させるソフトウェア部品一覧表示部と、
前記ソフトウェア部品の一覧から必要とするソフトウェア部品を選択して配置するソフトウェア部品配置部と、
前記記録手段に保存される複数のソフトウェア部品の各々が公開しているイベント伝達手段およびデータ共有手段内の情報を相互に結合しソフトウェア部品間の接続を定義づけたソフトウェア構築手続を作成し保存するソフトウェア構築手続作成部とを備えることを特徴とするソフトウェア運用システム。
【請求項４】
前記ソフトウェア構築手続を読み込み、前記ソフトウェア部品同士を動作状態とし、各ソフトウェア部品のイベント伝達手段およびデータ共有手段の接続情報からソフトウェア部品同士の通信経路を確立させ、各ソフトウェア部品の処理内容調整手段を読み込んでソフトウェア部品同士を結合させることによりソフトウェアとしての動作を実現させるソフトウェア実行手段を備えることを特徴とする請求項３記載のソフトウェア運用システム。
【請求項５】
前記ソフトウェア構築手続を読み込み、その内部に記述されるソフトウェア部品、イベント伝達手段、処理内容調整手段およびデータ共有手段の接続情報を用いて、ソフトウェアの構築状況の再現並びにソフトウェア部品同士の接続情報の変更、ソフトウェア部品の追加、削除、入れ替え、複製および配置位置の移動を含む編集作業を行うソフトウェア保守手段を具備することを特徴とする請求項３記載のソフトウェア運用システム。
【請求項６】
構築中または保守中であるソフトウェアに含まれる前記ソフトウェア部品を選択し、選択したソフトウェア部品の前記処理内容調整手段が処理内容を変更した後、変更内容をソフトウェア構築手続に保存するソフトウェア部品調整手段を備えることを特徴とする請求項３記載のソフトウェア運用システム。
【請求項７】
前記ソフトウェア構築手続を読み込み、前記ソフトウェア部品同士を動作状態とし、各ソフトウェア部品のイベント伝達手段およびデータ共有手段の接続情報からソフトウェア部品同士の通信経路を確立させ、各ソフトウェア部品の処理内容調整手段を読み込んでソフトウェア部品同士を結合させることによりソフトウェアとしての動作を実現させるソフトウェア実行行程を行うソフトウェア実行手段と、
前記ソフトウェア構築手続を読み込み、その内部に記述されるソフトウェア部品、イベント伝達手段、処理内容調整手段およびデータ共有手段の接続情報を用いて、ソフトウェアの構築状況の再現並びにソフトウェア部品同士の接続情報の変更、ソフトウェア部品の追加、削除、入れ替え、複製を含む編集作業であるソフトウェア保守行程を行うソフトウェア保守手段と、
構築中または保守中であるソフトウェアに含まれる前記ソフトウェア部品を選択し、選択したソフトウェア部品の前記処理内容調整手段が処理内容を変更した後、変更内容をソフトウェア構築手続に保存するソフトウェア部品調整行程を行うソフトウェア部品調整手段とを備え、
前記ソフトウェア保守手段が行うソフトウェア保守行程およびソフトウェア部品調整手段が行うソフトウェア部品調整行程と前記ソフトウェア実行手段が行うソフトウェア実行行程とをそれぞれ任意に移行することができるように構成したことを特徴とする請求項３記載のソフトウェア運用システム。
【請求項８】
前記記録手段に保存される複数個のソフトウェア部品の中から少なくとも二以上のソフトウェア部品をソフトウェア部品群としてグルーピングし、前記ソフトウェア部品群を他のソフトウェアに対して書き出すエクスポート手段と、他のソフトウェアで作成されたソフトウェア部品群を読み込み配置するインポート手段との少なくともいずれかを備えることを特徴とする請求項３記載のソフトウェア運用システム。
【請求項９】
電子データを読み出し、書き込みおよび保存可能な記録手段と、
表示要求のあった内容を表示する表示手段と、
入力要求を受け付ける入力手段と、
ソフトウェアの部分的な処理を実現する複数の処理ステップに従って処理ステップ単位毎に分割して作成されたソフトウェア部品について、自己のソフトウェア部品内で発生するイベントによって、自己のソフトウェア部品および他のソフトウェア部品の内部手続として設定される実行手続を発火させるイベント伝達手段と、自己のソフトウェア部品で設定したデータを各ソフトウェア部品間で共有するデータ共有手段と、自己のソフトウェア部品の動作をソフトウェアの処理内容に合わせて調整する処理内容調整手段とを備え、前記イベント伝達手段、データ共有手段および処理内容調整手段を互いに公開および参照することにより、各ソフトウェア部品同士の通信を実施可能に構成されたソフトウェア部品の構築およびこのソフトウェア部品を用いたソフトウェアの構築を行うソフトウェア構築手段と、前記ソフトウェア構築手続を読み込み、前記ソフトウェア部品同士を動作状態とし、各ソフトウェア部品のイベント伝達手段およびデータ共有手段の接続情報からソフトウェア部品同士の通信経路を確立させ、各ソフトウェア部品の処理内容調整手段を読み込んでソフトウェア部品同士を結合させることによりソフトウェアとしての動作を実現させるソフトウェア実行手段と、前記ソフトウェア構築手続を読み込み、その内部に記述されるソフトウェア部品、イベント伝達手段、処理内容調整手段およびデータ共有手段の接続情報を用いて、ソフトウェアの構築状況の再現並びにソフトウェア部品同士の接続情報の変更、ソフトウェア部品の追加、削除、入れ替え、複製を含む編集作業を行うソフトウェア保守手段と、構築中または保守中であるソフトウェアに含まれる前記ソフトウェア部品を選択し、選択したソフトウェア部品の前記処理内容調整手段が処理内容を変更した後、変更内容をソフトウェア構築手続に保存するソフトウェア部品調整手段と、前記記録手段に保存される複数個のソフトウェア部品の中から少なくとも二以上のソフトウェア部品をソフトウェア部品群としてグルーピングし、前記ソフトウェア部品群を他のソフトウェアに対して書き出すエクスポート手段と、他のソフトウェアで作成されたソフトウェア部品群を読み込み配置するインポート手段との少なくともいずれかを備えるソフトウェア運用手段とを具備し、
このソフトウェア運用手段は、前記ソフトウェア部品の内部手続が有する実行手続を空白としたソフトウェア部品ひな型を生成可能に構成したことを特徴とするソフトウェア運用システム。
【請求項１０】
ソフトウェアの部分的な処理を実現する複数の処理ステップに従って処理ステップ単位毎に分割して作成されたソフトウェア部品について、自己のソフトウェア部品内で発生するイベントによって、自己のソフトウェア部品および他のソフトウェア部品の内部手続として設定される実行手続を発火させるイベント伝達手段と、自己のソフトウェア部品で設定したデータを各ソフトウェア部品間で共有するデータ共有手段と、自己のソフトウェア部品の動作をソフトウェアの処理内容に合わせて調整する処理内容調整手段とを備え、前記イベント伝達手段、データ共有手段および処理内容調整手段を互いに公開および参照することにより、各ソフトウェア部品同士の通信を実施可能に構成されたソフトウェア部品の内部手続が有する実行手続を空白としたソフトウェア部品ひな型を生成するソフトウェア部品ひな型生成行程と、
このソフトウェア部品ひな型生成行程で作成されたソフトウェア部品ひな型の内部手続が有する実行手続を作成し保存する実行手続情報作成行程とを備えるソフトウェア部品構築手順を具備することを特徴とするソフトウェア運用方法。
【請求項１１】
ソフトウェアの部分的な処理を実現する複数の処理ステップに従って処理ステップ単位毎に分割して作成されたソフトウェア部品について、自己のソフトウェア部品内で発生するイベントによって、自己のソフトウェア部品および他のソフトウェア部品の内部手続として設定される実行手続を発火させるイベント伝達手段と、自己のソフトウェア部品で設定したデータを各ソフトウェア部品間で共有するデータ共有手段と、自己のソフトウェア部品の動作をソフトウェアの処理内容に合わせて調整する処理内容調整手段とを備え、前記イベント伝達手段、データ共有手段および処理内容調整手段を互いに公開および参照することにより、各ソフトウェア部品同士の通信を実施可能に構成されたソフトウェア部品を複数個用いて、必要とするソフトウェア部品を選択して配置するソフトウェア部品配置ステップと、各々のソフトウェア部品が公開しているイベント伝達手段およびデータ共有手段内の情報を相互に結合しソフトウェア部品間の接続を定義づけたソフトウェア構築手続を作成し保存するソフトウェア構築手続作成ステップとを有するソフトウェア構築行程と、
前記ソフトウェア構築手続を読み込み、前記ソフトウェア部品同士を動作状態とし、各ソフトウェア部品のイベント伝達手段およびデータ共有手段の接続情報からソフトウェア部品同士の通信経路を確立させ、各ソフトウェア部品の処理内容調整手段を読み込んでソフトウェア部品同士を結合させることによりソフトウェアとしての動作を実現させるソフトウェア実行行程と、
前記ソフトウェア構築手続を読み込み、その内部に記述されるソフトウェア部品、イベント伝達手段、処理内容調整手段およびデータ共有手段の接続情報を用いて、ソフトウェアの構築状況の再現並びにソフトウェア部品同士の接続情報の変更、ソフトウェア部品の追加、削除、入れ替え、複製および配置位置の移動を含む編集作業を行うソフトウェア保守行程と、
構築中または保守中であるソフトウェアに含まれる前記ソフトウェア部品を選択し、選択したソフトウェア部品の前記処理内容調整手段が処理内容を変更した後、変更内容をソフトウェア構築手続に保存するソフトウェア部品調整行程と、
複数個のソフトウェア部品の中から少なくとも二以上のソフトウェア部品をソフトウェア部品群としてグルーピングし、前記ソフトウェア部品群を他のソフトウェアに対して書き出すエクスポート行程と、
他のソフトウェアで作成されたソフトウェア部品群を読み込み配置するインポート行程との少なくともいずれかの行程を備えるソフトウェア運用手順を具備することを特徴とするソフトウェア運用方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア部品を編集してソフトウェア開発を行うソフトウェア開発システム、開発方法およびそのシステムに用いるプログラムに係り、特に、ソフトウェアの開発効率向上および保守性向上を図ったソフトウェア運用システム、ソフトウェアソフトウェア運用方法および本システムにより運用されるプログラムに関する。
【背景技術】
【０００２】
１つのソフトウェアプログラム（以下、単にソフトウェアとする）を作成する際、最近では、開発者に依存する部分がソフトウェア単位からソフトウェアを細分化して得られる一つのまとまった機能単位（以下、ソフトウェア部品とする）へと移行し、開発したソフトウェア部品を組み合わせて１つのソフトウェアを作成する方法により行うのが主流となっている。
【０００３】
図１５に部品化指向の開発方法を採用した従来のソフトウェア群の構築・生成・実行のシステム（以下、ソフトウェア群構築システムとする）１について説明する説明図を示す。
【０００４】
図１５によれば、ソフトウェア群構築システム１は、クライアント２とサーバ３とが通信ネットワーク４を介して電気的に接続されている。尚、図１５にはサーバ３の詳細な構成が図示されている。図１５に示されるソフトウェア群構築システム１によりソフトウェア群の構築、生成、実行する場合には、まず、クライアント２の利用者がソフトウェア群の構築、生成または実行等の指示をサーバ３に要求する。すると、クライアント２が通信ネットワーク４を介して指示をサーバ３に伝える。
【０００５】
サーバ３では、クライアント２からの指示を送受信部５が受け取り、送受信部５から構築処理部６に伝える。構築処理部６は、構築資源入出力部７を介してデータベース（以下、ＤＢとする）を読み出すことができ、構築処理部６が読み出すＤＢとしては、ソフトウェアひな型である構造体を記憶する構造体群ＤＢ８と、部品となるモジュールを記憶するモジュール群ＤＢ９と、部品となるパーツを記憶するパーツ群ＤＢ１０と、実行時資源群を記憶する実行時資源群ＤＢ１１と、構築資源間の登録連携情報を記憶する登録連携情報ＤＢ１２とがある。
【０００６】
構築処理部６は、クライアント２からの指示を受け取ると、構造体群ＤＢ７からソフトウェアひな型である構造体の情報を読み出す。そして、利用者は所望の目的を実現するソフトウェアを構築するべく必要な部品となるモジュールおよびパーツの追加・修正・削除を行う。利用者が部品となるモジュールおよびパーツを追加・修正・削除すると、構築処理部６は、モジュール群ＤＢ９、パーツ群ＤＢ１０、実行時資源群ＤＢ１１および登録連携情報ＤＢ１２から必要な情報を読み出す。
【０００７】
構築処理部６が、読み出した情報はモジュール生成実行部１３に送られ、モジュール生成実行部１３が実行ファイルの作成を行い、作成した実行ファイルを構築処理部６に渡す。実行ファイルを受け取った構築処理部６は、実行ファイルを送受信部５に渡し、送受信部５が通信ネットワーク４を経由して実行ファイルをクライアント２へ渡す。利用者は、クライアント２が受け取った実行ファイルを実行することによって構築したソフトウェアを実行することができる。
【０００８】
尚、入出力部１４は、ユーザとのインターフェイス（ユーザーインターフェイス：ＵＩ）である。
【０００９】
このようなソフトウェア群の構築・生成・実行のシステムおよび方法については、例えば、特許文献１に記載されている。
【特許文献１】特開２００２−２２９７８６号公報（図２）
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、図１５に示すような部品化指向の開発方法を採用した従来のソフトウェア群の構築・生成・実行を行うソフトウェア群構築システム１では、ソフトウェアを構築する際に、必要な処理を行うソフトウェア部品となるモジュールまたはパーツと、ソフトウェアの土台、いわば、ひな型となる構造体（基礎部品）とが必要であり、ソフトウェアは、構造体を介してソフトウェア部品が接続される構成であるため、新しいソフトウェアを作成したり、既存ソフトウェアに新しいソフトウェア部品を追加するたびに、構造体を作成もしくは変更する必要がある。
【００１１】
つまり、ほとんど差異の無いソフトウェア群を構築する際においても、ソフトウェア部品および構造体の再構築から作業を行っていく必要が生じる場合もあり、ソフトウェア群の編集作業が効率的でないという課題がある。
【００１２】
同様に、ソフトウェア群の編集作業の効率性について鑑みるに、利用者が既存のソフトウェア群の機能を変更するべく、ソフトウェア部品の配置を変更することはできても、構築した既存のソフトウェア部品を結合および変更することはできないので、既存のソフトウェア部品を使用することしかできない。つまり、変更したい機能を実現するソフトウェア部品がない場合には、別途構築する必要があり、ソフトウェア群の編集作業が効率的でないという課題がある。
【００１３】
また、ソフトウェア部品を開発しても、あるソフトウェアを構築する基礎部分を作成する開発者が全ての作成済みソフトウェア部品を把握することは難しく、ソフトウェア部品のライフサイクルを継続的に管理していく手法が確立していない開発環境においては、結果としてソフトウェア部品の再利用率が向上しない。つまり、ソフトウェア部品として作成したメリットが十分に得られておらず、ソフトウェア群の編集作業が効率的でないという課題がある。
【００１４】
そこで、本発明では上述した事情を考慮して、ソフトウェアまたはソフトウェア群の編集作業を効率的に行い、ソフトウェアの開発効率の向上を促すことができるソフトウェア運用システム、ソフトウェア運用方法および本システムにより運用されるソフトウェア部品を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明に係るソフトウェア部品は、上述した課題を解決するため、請求項１に記載したように、ソフトウェアの部分的な処理を実現する複数の処理ステップに従って処理ステップ単位毎に分割して作成されたソフトウェア部品であって、自己のソフトウェア部品内で発生するイベントによって、自己のソフトウェア部品および他のソフトウェア部品の内部手続として設定される実行手続を発火させるイベント伝達手段と、自己のソフトウェア部品で設定したデータを各ソフトウェア部品間で共有するデータ共有手段と、自己のソフトウェア部品の動作をソフトウェアの処理内容に合わせて調整する処理内容調整手段とを備え、前記イベント伝達手段、データ共有手段および処理内容調整手段を互いに公開および参照することにより、各ソフトウェア部品同士の通信を可能に構成したことを特徴とする。
【００１６】
本発明に係るソフトウェア運用システムは、上述した課題を解決するため、請求項３に記載したように、表示要求のあった内容を表示する表示手段と、入力要求を受け付ける入力手段と、ソフトウェアの部分的な処理を実現する複数の処理ステップに従って処理ステップ単位毎に分割して作成されたソフトウェア部品であって、自己のソフトウェア部品内で発生するイベントによって、自己のソフトウェア部品および他のソフトウェア部品の内部手続として設定される実行手続を発火させるイベント伝達手段と、自己のソフトウェア部品で設定したデータを各ソフトウェア部品間で共有するデータ共有手段と、自己のソフトウェア部品の動作をソフトウェアの処理内容に合わせて調整する処理内容調整手段とを備えた複数のソフトウェア部品を保持し、かつ電子データの読み出し、書き込みが可能な記録手段と、前記イベント伝達手段、データ共有手段および処理内容調整手段を互いに公開および参照することにより各ソフトウェア部品同士の通信を実施可能に構成された、ソフトウェア部品の構築およびこのソフトウェア部品を用いたソフトウェアの構築を行うソフトウェア構築手段とを具備し、前記ソフトウェア構築手段は、前記記録手段に保存される構築後の前記ソフトウェア部品の一覧を前記表示手段に表示させるソフトウェア部品一覧表示部と、前記ソフトウェア部品の一覧から必要とするソフトウェア部品を選択して配置するソフトウェア部品配置部と、前記記録手段に保存される複数のソフトウェア部品の各々が公開しているイベント伝達手段およびデータ共有手段内の情報を相互に結合しソフトウェア部品間の接続を定義づけたソフトウェア構築手続を作成し保存するソフトウェア構築手続作成部とを備えることを特徴とする。
【００１７】
上述した課題を解決するため、本発明に係るソフトウェア運用システムは、請求項７に記載したように、前記ソフトウェア構築手続を読み込み、前記ソフトウェア部品同士を動作状態とし、各ソフトウェア部品のイベント伝達手段およびデータ共有手段の接続情報からソフトウェア部品同士の通信経路を確立させ、各ソフトウェア部品の処理内容調整手段を読み込んでソフトウェア部品同士を結合させることによりソフトウェアとしての動作を実現させるソフトウェア実行行程を行うソフトウェア実行手段と、前記ソフトウェア構築手続を読み込み、その内部に記述されるソフトウェア部品、イベント伝達手段、処理内容調整手段およびデータ共有手段の接続情報を用いて、ソフトウェアの構築状況の再現並びにソフトウェア部品同士の接続情報の変更、ソフトウェア部品の追加、削除、入れ替え、複製を含む編集作業であるソフトウェア保守行程を行うソフトウェア保守手段と、構築中または保守中であるソフトウェアに含まれる前記ソフトウェア部品を選択し、選択したソフトウェア部品の前記処理内容調整手段が処理内容を変更した後、変更内容をソフトウェア構築手続に保存するソフトウェア部品調整行程を行うソフトウェア部品調整手段とを備え、前記ソフトウェア保守手段が行うソフトウェア保守行程およびソフトウェア部品調整手段が行うソフトウェア部品調整行程と前記ソフトウェア実行手段が行うソフトウェア実行行程とをそれぞれ任意に移行することができるように構成したことを特徴とする。
【００１８】
本発明に係るソフトウェア運用方法は、上述した課題を解決するため、請求項１０に記載したように、ソフトウェアの部分的な処理を実現する複数の処理ステップに従って処理ステップ単位毎に分割して作成されたソフトウェア部品について、自己のソフトウェア部品内で発生するイベントによって、自己のソフトウェア部品および他のソフトウェア部品の内部手続として設定される実行手続を発火させるイベント伝達手段と、自己のソフトウェア部品で設定したデータを各ソフトウェア部品間で共有するデータ共有手段と、自己のソフトウェア部品の動作をソフトウェアの処理内容に合わせて調整する処理内容調整手段とを備え、前記イベント伝達手段、データ共有手段および処理内容調整手段を互いに公開および参照することにより、各ソフトウェア部品同士の通信を実施可能に構成されたソフトウェア部品の内部手続が有する実行手続を空白としたソフトウェア部品ひな型を生成するソフトウェア部品ひな型生成行程と、このソフトウェア部品ひな型生成行程で作成されたソフトウェア部品ひな型の内部手続が有する実行手続を作成し保存する実行手続情報作成行程とを備えるソフトウェア部品構築手順を具備することを特徴とする。
【００１９】
また、本発明に係るソフトウェア運用方法は、上述した課題を解決するため、請求項１１に記載したように、ソフトウェアの部分的な処理を実現する複数の処理ステップに従って処理ステップ単位毎に分割して作成されたソフトウェア部品について、自己のソフトウェア部品内で発生するイベントによって、自己のソフトウェア部品および他のソフトウェア部品の内部手続として設定される実行手続を発火させるイベント伝達手段と、自己のソフトウェア部品で設定したデータを各ソフトウェア部品間で共有するデータ共有手段と、自己のソフトウェア部品の動作をソフトウェアの処理内容に合わせて調整する処理内容調整手段とを備え、前記イベント伝達手段、データ共有手段および処理内容調整手段を互いに公開および参照することにより、各ソフトウェア部品同士の通信を実施可能に構成されたソフトウェア部品を複数個用いて、必要とするソフトウェア部品を選択して配置するソフトウェア部品配置ステップと、各々のソフトウェア部品が公開しているイベント伝達手段およびデータ共有手段内の情報を相互に結合しソフトウェア部品間の接続を定義づけたソフトウェア構築手続を作成し保存するソフトウェア構築手続作成ステップとを有するソフトウェア構築行程と、前記ソフトウェア構築手続を読み込み、前記ソフトウェア部品同士を動作状態とし、各ソフトウェア部品のイベント伝達手段およびデータ共有手段の接続情報からソフトウェア部品同士の通信経路を確立させ、各ソフトウェア部品の処理内容調整手段を読み込んでソフトウェア部品同士を結合させることによりソフトウェアとしての動作を実現させるソフトウェア実行行程と、前記ソフトウェア構築手続を読み込み、その内部に記述されるソフトウェア部品、イベント伝達手段、処理内容調整手段およびデータ共有手段の接続情報を用いて、ソフトウェアの構築状況の再現並びにソフトウェア部品同士の接続情報の変更、ソフトウェア部品の追加、削除、入れ替え、複製および配置位置の移動を含む編集作業を行うソフトウェア保守行程と、構築中または保守中であるソフトウェアに含まれる前記ソフトウェア部品を選択し、選択したソフトウェア部品の前記処理内容調整手段が処理内容を変更した後、変更内容をソフトウェア構築手続に保存するソフトウェア部品調整行程と、複数個のソフトウェア部品の中から少なくとも二以上のソフトウェア部品をソフトウェア部品群としてグルーピングし、前記ソフトウェア部品群を他のソフトウェアに対して書き出すエクスポート行程と、他のソフトウェアで作成されたソフトウェア部品群を読み込み配置するインポート行程との少なくともいずれかの行程を備えるソフトウェア運用手順を具備することを特徴とする。
【発明の効果】
【００２０】
本発明に係るソフトウェア運用システム、ソフトウェア運用方法および本システムにより運用されるソフトウェア部品によれば、各ソフトウェア部品同士で通信することができるソフトウェア部品を構築することができ、各ソフトウェア部品同士で通信可能なソフトウェア部品を用いてソフトウェアを構築するので、ソフトウェアまたはソフトウェア群の編集作業を効率的に行うことができ、ソフトウェアの開発効率の向上を促すことができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明に係るソフトウェア運用システム、ソフトウェアソフトウェア運用方法および本システムにより運用されるソフトウェア部品の実施の形態について添付の図を参照して説明する。
【００２２】
尚、本明細書で使用する「運用」とは、ソフトウェア部品およびソフトウェアの構築、そして、ソフトウェア構築後においては、構築されたソフトウェアを構成するソフトウェア部品の追加、削除等の編集を行い適宜使用しやすくメンテナンスするソフトウェアの保守、構築済みのソフトウェア部品の処理内容の調整、ソフトウェアの実行、構築済みのソフトウェア部品のインポートまたはエクスポート等の一連の処理行程の全てをいう。
【００２３】
また、ソフトウェア部品とは、一つのまとまった機能を実現し、その機能を相互に利用できる機能単位をいう。つまり、ソフトウェア部品とは、プログラムである。
【００２４】
図１に本発明に係るソフトウェア運用システムの一実施例であるソフトウェア運用システム２０の構成概略を表す構成概略図を示す。
【００２５】
ソフトウェア運用システム２０は、ユーザがソフトウェアを運用するためのシステムであり、本システム２０によって、ソフトウェア部品の構築、処理内容の調整およびインポートまたはエクスポートならびにソフトウェアの構築、保守および実行というソフトウェア部品の構築段階から構築したソフトウェアを実際に使用し、メンテナンスしながら使用を継続する段階までの一連の処理行程を行うことができる。
【００２６】
図１によれば、ソフトウェア運用システム２０は、電子データを読み出し、書き込みおよび保存可能な記録手段２１と、表示要求のあった内容を表示する表示手段２２と、入力要求を受け付ける入力手段２３と、ソフトウェア部品およびソフトウェアを運用するソフトウェア運用手段２４とを具備する。
【００２７】
記録手段２１には、構築されたソフトウェア部品２６を保存し格納するソフトウェア部品データベース（以下、データベースをＤＢと省略する。図においても同様に省略する。）２７と、ソフトウェア部品間の接続を定義づけた電子情報であるソフトウェア構築手続２８とを保存している。
【００２８】
ソフトウェア運用手段２４は、ソフトウェア部品２６およびソフトウェアを構築するソフトウェア構築手段３０と、ソフトウェア部品２６を結合させてソフトウェアとして動作させるソフトウェア実行手段３１と、構築されたソフトウェアを保守するソフトウェア保守手段３２と、ソフトウェア部品２６の処理内容を変更し、変更後の内容をソフトウェア構築手続２８に保存するソフトウェア部品調整手段３３とを備える。
【００２９】
ソフトウェア構築手段３０は、記録手段２１に保存されるソフトウェア部品２６の一覧を表示手段２２に表示するソフトウェア部品一覧表示部３５と、ソフトウェア部品２６の一覧から必要とするソフトウェア部品２６を選択して配置するソフトウェア部品配置部３６と、ソフトウェア構築手続２８を作成し保存するソフトウェア構築手続作成部３７とを備える。また、ソフトウェア構築手段３０は、入力手段２３をユーザが入力操作して処理実行要求が与えられると、ユーザの入力操作内容を認識し、認識した内容の処理を実行する。
【００３０】
図１に示すようにソフトウェア運用システム２０により構築されるソフトウェア部品２６は、ソフトウェア部品２６の内部で発生するイベントによって、自己のソフトウェア部品２６および他のソフトウェア部品２６の内部手続３９として設定される実行手続を発火（英語でいうfireまたはinvokeに相当）させるイベント伝達手段４１と、ソフトウェア部品２６で設定したデータを各ソフトウェア２６で共有するデータ共有手段４２と、ソフトウェア部品２６の動作をソフトウェアの処理内容に合わせて調整する処理内容調整手段４３とを備える。
【００３１】
ソフトウェア部品２６の内部手続３９は、設定された処理ステップ単位の処理機能を実現する少なくとも１以上の実行手続を有し、イベント伝達手段４１が実行手続を発火させることにより、設定された処理ステップ単位の処理機能を実行する実行手段として機能する。従って、内部手続３９は、個々のソフトウェア部品２６によって独自のものとなる。
【００３２】
このように構成されるソフトウェア部品２６は、従来のソフトウェア部品とはその構成を大きく異にする。具体的に説明すれば、ソフトウェア部品２６は、自己の内部手続３９、イベント伝達手段４１、データ共有手段４２および処理内容調整手段４３を公開することができると共に他のソフトウェア部品２６の内部手続３９、イベント伝達手段４１、データ共有手段４２および処理内容調整手段４３については、公開された情報として参照することができる。
【００３３】
つまり、ソフトウェア部品２６が単独で他のソフトウェア部品２６にイベントを伝達したり、データを伝達することができるので、従来のソフトウェア部品においてソフトウェア部品間のイベント伝達およびデータ伝達を行うソフトウェアの土台となる構造体（基礎部品）が不要となる。従って、新しいソフトウェアを作成したり、既存ソフトウェアに新しい機能（ソフトウェア部品）を追加する場合においても、必要な機能を実現するソフトウェア部品２６さえあれば、それらを結合することにより所望のソフトウェアを構築できる。
【００３４】
ソフトウェア部品２６の初期状態（以下、ソフトウェア部品ひな型とする）は、内部手続３９が空白となっている。このソフトウェア部品ひな型は、ユーザからの入力操作を受けてソフトウェア構築手段３０により作成される。ソフトウェア部品２６を構築するには、ソフトウェア部品ひな型の内部手続３９として、処理ステップ単位の処理機能を実現する実行手続を必要数だけ設定する。実行手続の設定が完了すると、ソフトウェア部品２６は１つの部品として完成する。
【００３５】
図２に２つのソフトウェア部品２６ａ，２６ｂを組み合わせて構築されるソフトウェア４６の一例を説明する説明図を示す。
【００３６】
図２によれば、ソフトウェア４６は、第１のソフトウェア部品２６ａと、第２のソフトウェア部品２６ｂとを具備する。第１のソフトウェア部品２６ａは、ユーザーインターフェイス（以下、ＵＩと省略する）としての機能を実現するソフトウェア部品であり、内部手続３９として、ユーザからの入力操作を受けて処理実行を行う処理実行内部手続４７と、処理実行結果を表示する結果表示内部手続４８という２つの実行手続を有する。
【００３７】
これら２つの実行手続４７，４８は、自己のソフトウェア部品（第１のソフトウェア部品）２６ａまたは他のソフトウェア部品（第２のソフトウェア部品）２６ｂからイベントの伝達、すなわち、イベントの発火または受信があると、設定された実行手続を実行する実行手段として機能する。いわば、処理実行内部手続４７は、処理実行イベント発生手段として、結果表示内部手続４８は、結果表示出力手段として機能する。
【００３８】
また、第１のソフトウェア部品２６ａのイベント伝達手段４１は、図２に示すように発火イベント、イベント発火実行手続、受信イベントおよびイベント受信実行手続の４つの設定項目を有している。発火イベントでは発火イベントが何かが設定される。イベント発火実行手続では発火イベントを受けて実行したい実行手続、すなわち、発火イベントの伝達先がどこかが設定される。受信イベントでは受信するイベントが何かが設定される。そして、イベント受信実行手続では受信イベントを受けて実行する自己のソフトウェア部品２６の実行手続が設定される。
【００３９】
第１のソフトウェア部品２６ａのイベント伝達手段４１が有する４つの設定項目については、図２に示すように、４つの設定項目のうち、発火イベントおよびイベント受信実行手続の２つの設定項目については、第１のソフトウェア部品２６ａが構築された段階で既に設定されているが、受信イベントおよびイベント発火実行手続の２つの設定項目については、未設定である。
【００４０】
さらに、第１のソフトウェア部品２６ａのデータ共有手段４２は、参照するデータラベルについて設定する設定項目を有するが、第１のソフトウェア部品２６ａが完成した時点では未設定である。ここで、データラベルとは、ソフトウェア部品２６が格納、公開および参照可能な図１に示す記録手段２１等のデータ記憶領域であり、少なくとも１以上の領域に区切られた１つの分割領域をいう。データラベルに名称を付して、その名称を参照するデータラベルとして設定することによって、データ共有手段４２は、その名称のデータラベル参照することができる。
【００４１】
一方、第２のソフトウェア部品２６ｂは、ある任意の演算を行う演算処理機能を実現するソフトウェア部品であり、内部手続３９として、演算処理内部手続４９を有する。演算処理内部手続４９は、イベントの伝達があると、演算処理を実行し、演算処理終了後に実行完了イベントを出力する演算処理手段として機能する。
【００４２】
第２のソフトウェア部品２６ｂのイベント伝達手段４１についても、第１のソフトウェア部品２６ａと同一の４つの設定項目を有し、この４つの設定項目については、図２に示すように、発火イベントおよびイベント受信実行手続の２つの設定項目については、第２のソフトウェア部品２６ｂが構築された段階で既に設定されているが、受信イベントおよびイベント発火実行手続の２つの設定項目については未設定である。
【００４３】
また、第２のソフトウェア部品２６ｂのデータ共有手段４２は、公開するデータラベル名および公開するデータラベルに格納するデータについて設定する設定項目を有し、第２のソフトウェア部品２６ｂが完成した時点で既に図２に示すように設定される。図２に示される設定状態は、公開データラベル“ＤＡＴＡ”のデータ領域に実行結果を格納することを意味する。
【００４４】
例えば、図２に示す第１のソフトウェア部品２６ａおよび第２のソフトウェア部品２６ｂ等のソフトウェア部品２６は、ソフトウェア構築手段３０がソフトウェア部品構築手順を行うことでなされ、完成後の第１のソフトウェア部品２６ａおよび第２のソフトウェア部品２６ｂは、図１に示すようにソフトウェア部品ＤＢ２７に格納される。
【００４５】
図３にソフトウェア部品構築手順の処理ステップを順番を追って説明する処理フロー図を示す。
【００４６】
図３によれば、ソフトウェア部品構築手順（ステップＳ１〜ステップＳ２）は、ソフトウェア部品ひな型を生成するソフトウェア部品ひな型生成行程（ステップＳ１）と、このソフトウェア部品ひな型生成行程で作成されたソフトウェア部品ひな型の内部手続３９が有する実行手続を作成し保存する実行手続情報作成行程（ステップＳ２）とを備える。
【００４７】
ソフトウェア部品構築手順では、まず、ソフトウェア構築手段３０がソフトウェア部品ひな型を生成したい旨の要求を受け取ると、ソフトウェア構築手段３０は、ステップＳ１のソフトウェア部品ひな型生成行程を実行する。ソフトウェア部品ひな型生成行程では、ソフトウェア構築手段３０がソフトウェア部品ひな型を生成する。ソフトウェア部品ひな型が生成されると、ソフトウェア部品ひな型生成行程は完了する。
【００４８】
ソフトウェア部品ひな型生成行程が完了し、次に、ソフトウェア構築手段３０が実行手続を作成し保存したい旨の要求を受け取ると、ステップＳ２に進み、ステップＳ２で実行手続情報作成行程を実行する。実行手続情報作成行程では、ソフトウェア構築手段３０が実行手続を作成する。
【００４９】
実行手続は、実行する処理内容を定義する情報であり、ソフトウェア部品２６の機能を決定するものである。実行手続が作成され保存されると、実行手続情報作成行程が完了する。そして、実行手続情報作成行程の完了をもってソフトウェア部品構築手順は完了する（ＥＮＤ）。
【００５０】
このようなソフトウェア部品構築手順を経て構築された第１のソフトウェア部品２６ａおよび第２のソフトウェア部品２６ｂを用いてさらにソフトウェア４６を構築するには、ソフトウェア構築手段３０がソフトウェア構築行程を実行することでなされる。
【００５１】
図４にソフトウェア構築行程の処理ステップを順番を追って説明する処理フロー図を示す。
【００５２】
図４によれば、ソフトウェア構築行程（ステップＳ１１〜ステップＳ１３）は、作成されたソフトウェア部品２６を複数個用いて必要とするソフトウェア部品２６を選択して配置するソフトウェア部品配置ステップ（ステップＳ１２）と、各々のソフトウェア部品２６が公開しているイベント伝達手段４１およびデータ共有手段４２内の情報を相互に結合しソフトウェア部品間の接続を定義づけたソフトウェア構築手続２８を作成し保存するソフトウェア構築手続作成ステップ（ステップＳ１３）とを有する。
【００５３】
尚、ソフトウェア構築行程は、任意の処理ステップとして、ソフトウェア部品配置ステップを行うにあたり、ソフトウェア構築手段３０のソフトウェア部品一覧表示部３５が、現在、記録手段２１に保存されるソフトウェア部品２６の一覧を表示手段２２に表示するソフトウェア部品一覧表示ステップ（ステップＳ１１）を有していても構わない。ここで、図４において、ソフトウェア部品一覧表示ステップが点線で示されているのは、任意の処理ステップであることを意味するものである。
【００５４】
ソフトウェア部品一覧表示ステップでは、ソフトウェア構築手段３０のソフトウェア部品一覧表示部３５が、現在、記録手段２１に保存されるソフトウェア部品２６の一覧リスト（以下、ソフトウェア部品一覧リストとする）５１を表示手段２２に表示させて確認したい旨の要求を認識すると、記録手段２１に保存されるソフトウェア部品ＤＢ２７を読み出して、ソフトウェア部品ＤＢ２７に格納される全ソフトウェア部品２６を、例えば、図５に示すような形式で表示手段２２に表示する。
【００５５】
ここで、図５は、ソフトウェア部品一覧表示部３５がソフトウェア部品一覧表示ステップを行うことで、表示手段２２に表示されるソフトウェア部品一覧リスト５１について一例を示す説明図である。
【００５６】
図５によれば、ソフトウェア部品一覧リスト５１は、複数の行５３と、表示手段２２に表示される範囲をスライド移動させるスライダー５４とを有し、スライダー５４をスライドさせることによって、表示手段２２に表示されない行５３までにわたる程にソフトウェア部品が多い場合にも全ソフトウェア部品２６を確認することができる。尚、図５に示す例は、図２に示す例に対応したものであり、第１のソフトウェア部品２６ａと第２のソフトウェア部品２６ｂとが行５３にリスト表示されている。
【００５７】
ソフトウェア部品一覧表示部３５が、現在、記録手段２１に保存されるソフトウェア部品２６の一覧リスト（以下、ソフトウェア部品一覧リストとする）５１を表示手段２２に表示すると、ソフトウェア部品一覧表示ステップは完了する。ソフトウェア部品一覧表示ステップを行うことにより、ユーザは、既に作成されたソフトウェア部品２６を視認し、作成済みのソフトウェア部品２６を全て把握することができるので、ソフトウェアの開発効率の向上を促すことができる。
【００５８】
次に、図４に示すソフトウェア構築行程のソフトウェア部品配置ステップ（ステップＳ１２）について説明する。
【００５９】
ソフトウェア部品配置ステップでは、ソフトウェア構築手段３０のソフトウェア部品配置部３６が、作成済みのソフトウェア部品２６から必要とするソフトウェア部品２６を選択して配置する。ソフトウェア部品２６の選択および配置は、ソフトウェア部品配置部３６が受け取った任意のソフトウェア部品２６の選択要求および配置要求の内容に応じて行われる。
【００６０】
図６にユーザが行うソフトウェア部品の配置作業およびソフトウェア部品配置部３６が行うソフトウェア部品配置ステップを説明する説明図を示す。
【００６１】
尚、図６に示される表示手段２２が表示している画面の状態は、ソフトウェア部品配置ステップ実行後の最終状態であり、本ステップ実行直前の状態（初期状態）とは異なっている。
【００６２】
ソフトウェア部品配置ステップにおける初期状態では、図６に示される構成要素のうち、ベースシート５６と、このベースシート５６上に図５に示すようなソフトウェア部品一覧リスト５１が表示手段２２に表示される。図６に示す初期状態は、ソフトウェア部品配置部３６がユーザからソフトウェア部品２６の選択要求や配置要求を受け付けるべくベースシート５６を生成し、ベースシート５６の上にソフトウェア部品一覧リスト５１を配置することで実現される。
【００６３】
ソフトウェア運用システム２０では、ＵＩとしてグラフィックユーザーインターフェイス（以下、ＧＵＩと省略する）が実現されており、表示手段２２を視認しながらユーザは、様々な要求を行うことができる。ソフトウェア部品配置ステップをソフトウェア部品配置部３６に実行させるにあたっても、ユーザが、表示手段２２を視認し、入力手段２３を入力操作することで、ソフトウェア部品配置部３６に対してソフトウェア部品２６の選択要求や配置要求を行うことができる。
【００６４】
図６に示す初期状態において、ユーザがソフトウェア部品２６の選択要求を行う場合には、例えば、ポインティングディバイス等で実現される入力手段２３から入力操作して、表示手段２２に表示されるカーソル５７をソフトウェア部品一覧リスト５１にある選択したいソフトウェア部品２６を移動させて選択する。
【００６５】
ソフトウェア部品配置部３６は、入力操作内容として選択要求を認識すると、選択要求のあった所定のソフトウェア部品２６を選択する。例えば、図６に示す状態の場合、カーソル５７が第１のソフトウェア部品２６ａを指しており、ソフトウェア部品配置部３６は、第１のソフトウェア部品２６ａを選択する。
【００６６】
また、配置要求は、入力手段２３から入力操作して、選択したソフトウェア部品２６（図６に示す例では、第１のソフトウェア部品２６ａ）を選択したまま、ベースシート５６上に移動させて選択を解除することで行うことができる。ソフトウェア部品配置部３６は、入力操作内容として配置要求を認識すると、ベースシート５６上の選択を解除した位置に、選択されていた第１のソフトウェア部品２６ａを視覚化した窓（ウインドウ）として表示手段２２に表示することで、第１のソフトウェア部品２６ａの配置を行う。
【００６７】
尚、同様にすれば、ユーザは、第２のソフトウェア部品２６ｂについても選択要求および配置要求を行うことができる。ここで、構築したいソフトウェアに必要なソフトウェア部品２６が、第１のソフトウェア部品２６ａおよび第２のソフトウェア部品２６ｂであると仮定する。図６に示す例では、ベースシート５６上に第１のソフトウェア部品２６ａおよび第２のソフトウェア部品２６ｂが配置された状態にあり、構築したいソフトウェアの構築に必要な全てのソフトウェア部品２６が配置されている。
【００６８】
ベースシート５６上に構築したいソフトウェアに必要なソフトウェア部品２６の全てをソフトウェア部品配置部３６が配置すると、ステップＳ１２のソフトウェア部品配置ステップを完了し、続いて、ステップＳ１３でソフトウェア構築手続作成ステップがなされる。
【００６９】
ソフトウェア構築手続作成ステップでは、ユーザが入力手段２３から入力操作することによりユーザの要求をソフトウェア構築手続作成部３７が受け取り、ソフトウェア構築手続作成部３７が各々のソフトウェア部品２６ａ，２６ｂが公開しているイベント伝達手段４１およびデータ共有手段４２内の情報を相互に結合し、ソフトウェア部品間の接続を定義づけたソフトウェア構築手続２８を作成し保存する。
【００７０】
図７に第１のソフトウェア部品２６ａと第２のソフトウェア部品２６ｂとが公開しているイベント伝達手段４１およびデータ共有手段４２内の情報を相互に結合し、両ソフトウェア部品２６ａ，２６ｂ間の接続を定義づけた一例を説明する説明図を示す。
【００７１】
図７によれば、当初は、ベースシート５６の上に第１のソフトウェア部品２６ａおよび第２のソフトウェア部品２６ｂが配置されている状態（初期状態）にある。ソフトウェア構築手続作成ステップにおける初期状態において、ユーザがカーソル５７を動かして第１のソフトウェア部品２６ａを選択すると、第１のソフトウェア部品２６ａの接続情報の設定および編集を行うことができる。
【００７２】
例えば、第１のソフトウェア部品２６ａの接続情報の設定および編集は、ソフトウェア構築手続作成部３７が、第１のソフトウェア部品２６ａの選択を認識すると、第１のソフトウェア部品２６ａと他のソフトウェア部品（ここでは第２のソフトウェア部品２６ｂ）との接続情報（以下、単に接続情報とする）の設定および編集を行う窓（以下、第１の接続情報設定編集窓とする）５９を表示手段２２に表示し、第１の接続情報設定編集窓５９が有する接続情報の設定または編集を受け付けることによって実現される。
【００７３】
また、同様にして、第２のソフトウェア部品２６ｂを選択すると、ソフトウェア構築手続作成部３７が、第２のソフトウェア部品２６ｂの内部手続３９における接続情報の設定および編集を行う窓（以下、第２の接続情報設定編集窓とする）６０を表示手段２２に表示する。
【００７４】
尚、図７において、第１の接続情報設定編集窓５９および第２の接続情報設定編集窓６０は、接続情報の設定が済んでいるか否かを明確に区別するべく、接続情報の設定前の第１の接続情報設定編集窓５９および第２の接続情報設定編集窓６０を、それぞれ、第１の接続情報設定編集窓５９Ａおよび第２の接続情報設定編集窓６０Ａとし、設定後のものは、それぞれ、第１の接続情報設定編集窓５９Ｂおよび第２の接続情報設定編集窓６０Ｂとして示される。また、本文中においては、特に明確に区別する必要がない場合、第１の接続情報設定編集窓５９および第２の接続情報設定編集窓６０として説明する。
【００７５】
第１の接続情報設定編集窓５９は、自己のソフトウェア部品（第１のソフトウェア部品２６ａ）内でイベントが発生した場合に実行するイベントを示す発火イベント欄６２と、外部、すなわち、他のソフトウェア部品（第２のソフトウェア部品２６ｂ）から受信した場合に実行するイベントを示す受信イベント欄６３と、イベントの発火を受けて実行される実行手続の内容を示すイベント発火実行手続欄６４と、イベントの受信を受けて実行される実行手続の内容を示すイベント受信実行手続欄６５と、参照するデータラベルを示す参照データラベル欄６６とを有する。
【００７６】
一方、第２の接続情報設定編集窓６０は、発火イベント欄６２、受信イベント欄６３、イベント発火実行手続欄６４およびイベント受信実行手続欄６５と、自己のソフトウェア部品２６が格納するデータを他のソフトウェア部品２６に公開するべく付されたデータラベルを示す公開データラベル欄６７と、公開するデータラベルに格納するデータを示す格納データ欄６８とを有する。
【００７７】
図７によれば、第１の接続情報設定編集窓５９と第２の接続情報設定編集窓６０とで有する欄が異なっている。この相違は、第１のソフトウェア部品２６ａと第２のソフトウェア部品２６ｂの機能の相違によるものであるが、第１の接続情報設定編集窓５９と第２の接続情報設定編集窓６０とが有する欄は、必ずしも図７に示す形態に限定されることはない。図７に示す形態は、必要最小限の欄を示した一例に過ぎず、図７に示す欄に付加してさらに他の欄を有していても差し支えない。
【００７８】
第１のソフトウェア部品２６ａをソフトウェアの一部として機能させるには、第１のソフトウェア部品２６ａの接続情報の設定を行う必要がある。接続情報が未設定の状態、すなわち、図７に示す第１の接続情報設定編集窓５９Ａの状態では、発火イベント欄６２およびイベント受信実行手続欄６５は設定されているが、受信イベント欄６３およびイベント発火実行手続欄６４は未設定であり、接続情報が未設定のまま、第１のソフトウェア部品２６ａにおいて、発火イベント欄６２の「処理実行イベント」が発火されても、そのイベントにより処理実行される実行手続が未設定では、何も起こらないからである。
【００７９】
第１のソフトウェア部品２６ａのソフトウェア部品接続情報４１の設定を行う際には、ユーザが表示手段２２を視認しながら入力手段２３から入力操作を行い、ソフトウェア構築手続作成部３７を機能させると共に、第１の接続情報設定編集窓５９における空欄箇所、すなわち、受信イベント欄６３、イベント発火実行手続欄６４および参照データラベル欄６６に設定する情報を与える。すると、ソフトウェア構築手続作成部３７は、入力手段２３から入力された内容に基づいて、第１の接続情報設定編集窓５９の受信イベント欄６３、イベント発火実行手続欄６４および参照データラベル欄６６を埋める。
【００８０】
ソフトウェア構築手続作成部３７が、第１の接続情報設定編集窓５９の空欄箇所を埋めることによって、第１のソフトウェア部品２６ａの接続設定は完了する。また、同様にすれば、第２の接続情報設定編集窓６０における空欄箇所、すなわち、受信イベント欄６３、イベント発火実行手続欄６４および公開データラベル欄６７を埋めることができ、ソフトウェア構築手続作成部３７が、第２の接続情報設定編集窓６０の空欄箇所を埋めることによって、第２のソフトウェア部品２６ｂの接続情報の設定は完了する。
【００８１】
第１のソフトウェア部品２６ａにおける接続情報の設定について、より具体的に説明すると、当初空欄だった第１の接続情報設定編集窓５９の受信イベント欄６３には「処理完了イベント」が、イベント発火実行手続欄６４には、第２のソフトウェア部品２６ｂの内部手続３９において実行手続として設定された「演算処理内部手続４９」が、参照データラベル欄６６には参照するデータのラベル名を示す“ＤＡＴＡ”が設定される。
【００８２】
一方、第２の接続情報設定編集窓６０においては、当初空欄だった受信イベント欄６３には「処理実行イベント」が、イベント発火実行手続欄６４には、第１のソフトウェア部品２６ａの内部手続３９において実行手続として設定された「結果表示内部手続４８」が、公開データラベル欄６７には公開するデータラベル名を示す“ＤＡＴＡ”が設定される。つまり、“ＤＡＴＡ”という名称のデータラベルの位置に格納データ欄６８に設定済みの「実行結果」のデータを格納するということを意味する。
【００８３】
尚、図７において、参照データラベル欄６６および公開データラベル欄６７に設定されるラベル名は、必ずしも図７に示すものに限定されない。任意に設定できる。また、図７に示す例では、１つのソフトウェア部品２６に対して１つのソフトウェア部品２６が接続されているが、１対複数、複数対１又は複数対複数で接続されても良い。
【００８４】
ユーザの入力操作によりソフトウェア構築手続作成部３７が、第１の接続情報設定編集窓５９Ａを第１の接続情報設定編集窓５９Ｂとし、第２の接続情報設定編集窓６０Ａを第２の接続情報設定編集窓６０Ｂとして、第１のソフトウェア部品２６ａおよび第２のソフトウェア部品２６ｂの接続情報の設定を完了すると、ソフトウェア構築手続作成部３７は、図８に示すようなソフトウェア構築手続２８を作成する。
【００８５】
ここで、図８は、図６に示す場合において、ソフトウェア構築手続２８として保存される情報を説明する説明図である。ソフトウェア構築手続２８は、表示手段２２に表示される情報、すなわち、選択されたソフトウェア部品２６が何かを示す選択部品情報と、選択されたソフトウェア部品２６の配置位置に関する配置情報と、選択されたソフトウェア部品２６におけるイベント伝達手段４１およびデータ共有手段４２の他のソフトウェア部品２６との接続情報とを保存する。
【００８６】
より具体的に説明すると、選択部品情報は、選択された第１のソフトウェア部品２６ａおよび第２のソフトウェア部品２６ｂについてであり、配置情報は、選択された第１のソフトウェア部品２６ａおよび第２のソフトウェア部品２６ｂについての配置位置である。接続情報は、図７において示す第１の接続情報設定編集窓５９Ｂおよび第２の接続情報設定編集窓６０Ｂに示される内容に加え、必要がある場合には、例えば、処理内容調整手段４３がソフトウェアの処理内容を調整するための情報として有する可変パラメータ情報が付加される。
【００８７】
ソフトウェア構築手続作成部３７が、第１のソフトウェア部品２６ａおよび第２のソフトウェア部品２６ｂが備えるイベント伝達手段４１およびデータ共有手段４２の接続情報と、ソフトウェア部品２６およびソフトウェア部品２６の配置についての情報とをソフトウェア構築手続２８として保存すると、ステップＳ１３のソフトウェア構築手続作成ステップは完了し、ソフトウェア構築手続作成ステップの完了をもってソフトウェア構築行程は完了する（ＥＮＤ）。
【００８８】
図９にソフトウェア構築行程を経て、図７に示すように第１のソフトウェア部品２６ａと第２のソフトウェア部品２６ｂとを接続した両ソフトウェア部品間の接続状態（構築されたソフトウェア４６の処理の流れ）を説明する説明図を示す。
【００８９】
図９によれば、第１のソフトウェア部品２６ａのＧＵＩとして表示手段２２に表示される実行ボタン７１をユーザが入力操作して押す（実行を指定する）と、実行要求があった旨が処理実行内部手続４７に伝わり、処理実行内部手続４７が発火イベント欄６２に発火イベントとして設定された「処理実行イベント」が発火する（図９における（１））。
【００９０】
第１のソフトウェア部品２６ａにおいてイベントが発火した際に行われる実行手続は、イベント発火実行手続欄６４に設定される第２のソフトウェア部品２６ｂの「演算処理内部手続４９」となる。従って、第１のソフトウェア部品２６ａのイベント伝達手段４１は、第１のソフトウェア部品２６ａで発火した処理実行イベントを第２のソフトウェア部品２６ｂのイベント伝達手段４１に伝達する（図９における（２））。
【００９１】
第２のソフトウェア部品２６ｂのイベント伝達手段４１が、第１のソフトウェア部品２６ａで発火した処理実行イベントを第１のソフトウェア部品２６ａのイベント伝達手段４１から受け取ると、第２のソフトウェア部品２６ｂのイベント伝達手段４１は、イベント受信実行手続欄６５に設定される「演算処理内部手続４９」に処理実行イベントを伝達する（図９における（３））。
【００９２】
第２のソフトウェア部品２６ｂの演算処理内部手続４９は、第２のソフトウェア部品２６ｂのイベント伝達手段４１から処理実行イベントを受け取ると、所定の演算処理を実行する。そして、実行された演算処理が完了すると、演算処理内部手続４９は、処理完了イベントを発火する（図９における（４））と共に演算処理の実行結果を第２のソフトウェア部品２６ｂのデータ共有手段４２に渡す（図９における（５））。
【００９３】
第２のソフトウェア部品２６ｂのイベント伝達手段４１は、第２のソフトウェア部品２６ｂでイベントが発火した際に行う実行手続として、イベント発火実行手続欄６４に設定された第１のソフトウェア部品２６ａの「結果表示内部手続４８」を実行するべく、処理完了イベントを第１のソフトウェア部品２６ａのイベント伝達手段４１に伝達する（図９における（６））。一方、第２のソフトウェア部品２６ｂのデータ共有手段４２は、実行結果を受け取ると、公開データラベルの設定されたデータ領域、すなわち、公開データラベル欄６７に設定された「ＤＡＴＡ」の示すデータ領域に実行結果を格納する（図９における（７））。
【００９４】
第１のソフトウェア部品２６ａのイベント伝達手段４１が「処理完了イベント」を受け取ると、結果表示内部手続４８に受け取った処理完了イベントを伝達する（図９における（８））。一方、第１のソフトウェア部品２６ａのデータ共有手段４２は、参照データラベル欄６６に設定された「ＤＡＴＡ」の示す領域を参照して実行結果を取得する（図９における（９））。
【００９５】
結果表示内部手続４８が処理完了イベントを受け取ると、結果表示内部手続４８は、データ共有手段４２が取得した実行結果を受け取る（図９における（１０））。そして、受け取った実行結果を第１のソフトウェア部品２６ａのＧＵＩとして表示手段２２に表示される結果表示欄７２に表示する（図９における（１１））。結果表示欄７２に実行結果が表示されると、ソフトウェア４６の一連の処理ステップ、すなわち、図９に示す（１）〜（１１）までの処理ステップが完了することとなる。
【００９６】
このように、ソフトウェア運用システム２０を用いて、本発明に係るソフトウェア運用方法（ソフトウェア部品構築手順）により構築されたソフトウェア部品２６によれば、構築されたソフトウェア部品２６が、イベント伝達手段４１、データ共有手段４２および処理内容調整手段４３を備えており、ソフトウェア部品２６のイベント伝達手段４１、データ共有手段４２および処理内容調整手段４３を互いに公開および参照することができる。
【００９７】
従って、ソフトウェア部品２６が単独で他のソフトウェア部品２６にイベントを伝達したり、データを伝達することができ、各ソフトウェア部品２６同士で通信することができる。また、各ソフトウェア部品２６同士で通信することができることから、従来のソフトウェア部品においてソフトウェア部品間のイベント伝達およびデータ伝達を行うソフトウェアの土台となる構造体（基礎部品）が不要となる。
【００９８】
また、ＧＵＩを実現しているので、任意のソフトウェア部品同士の接続を行う際にも、ユーザ（開発者またはソフトウェア利用者）が視覚的に行うことができ、構築済みのソフトウェア部品２６の一覧をソフトウェア部品一覧リスト５１として表示手段２２に表示し、構築済みのソフトウェア部品２６を視覚的に選択し配置し接続することができるので、ソフトウェア４６を構築にするにあたって必要となるソフトウェア部品（第１のソフトウェア部品２６ａと第２のソフトウェア部品２６ｂ）を選択し、配置し、ソフトウェア部品同士を接続してソフトウェア４６の動作を容易に決定することができる。
【００９９】
次に、ソフトウェア運用手段２４のソフトウェア実行手段３１およびソフトウェア実行手段３１が行うソフトウェア実行行程について説明する。
【０１００】
図１０にソフトウェア実行手段３１およびソフトウェア実行手段３１が行うソフトウェア実行行程を説明する説明図を示す。
【０１０１】
ソフトウェア実行手段３１およびソフトウェア実行手段３１が行うソフトウェア実行行程を説明するにあたり、図１０に示すソフトウェア部品ＤＢ２７には、第１のソフトウェア部品２６ａおよび第２のソフトウェア部品２６ｂが構築され、格納されており、ソフトウェア構築手段３０が、既に両ソフトウェア部品間の接続を定義づけてソフトウェア構築手続２８を作成し保存しているとする。
【０１０２】
ソフトウェア実行手段３１は、ソフトウェア実行行程として、まず、ソフトウェア構築手段３０がソフトウェア構築行程を行い構築したソフトウェア４６を再現する。そして、ユーザからソフトウェア４６の実行要求があると、ソフトウェア４６を実行する。
【０１０３】
ソフトウェア実行手段３１が行うソフトウェア実行行程について、もう少し具体的に説明すると、ソフトウェア実行手段３１は、まず、ソフトウェア部品２６を配置するベースシート５６を生成する。尚、ソフトウェア実行手段３１が生成するベースシート５６は、ソフトウェア構築手段３０が生成するベースシート５６と共用でも良いし、固有のものでも良い。以下、ベースシート５６に関しては、ソフトウェア保守手段３２等のソフトウェア実行手段３１以外の手段についても同様とする。
【０１０４】
続いて、ソフトウェア実行手段３１は、まず、ソフトウェア構築手続２８を読み出して、ソフトウェア４６を構築するソフトウェア部品２６の選択部品情報、配置情報および接続情報を取得する。そして、ソフトウェア４６を構築するのに必要なソフトウェア部品（ここでは、第１のソフトウェア部品２６ａおよび第２のソフトウェア部品２６ｂ）を認識し、ソフトウェア部品ＤＢ２７から認識したソフトウェア部品２６ａ，２６ｂを読み出す。
【０１０５】
ソフトウェア実行手段３１が認識したソフトウェア部品２６ａ，２６ｂを読み出すと、読み出したソフトウェア部品２６ａ，２６ｂを実行可能な形態で接続し、両ソフトウェア部品２６ａ，２６ｂのイベント伝達手段４１およびデータ共有手段４２同士をソフトウェア構築手続２８の接続情報に基づき対応づけることで接続を行う。
【０１０６】
ソフトウェア実行手段３１が実行可能な形態でソフトウェア部品２６ａ，２６ｂを接続し、両ソフトウェア部品２６ａ，２６ｂのイベント伝達手段４１およびデータ共有手段４２同士が接続された状態は、従来技術でいえば、ソフトウェアの土台となる構造体（基礎部品）にソフトウェア部品を組み込んだ状態に相当する。つまり、本発明では、ソフトウェア実行手段３１の作用によって、全てのソフトウェアに共通の構造体（基礎部品）を有しているに等しい状態を実現している。
【０１０７】
ソフトウェア実行手段３１が実行可能な形態でソフトウェア部品２６ａ，２６ｂを接続し、両ソフトウェア部品２６ａ，２６ｂのイベント伝達手段４１およびデータ共有手段４２同士の接続が完了すると、ソフトウェア実行手段３１は、ソフトウェア構築行程において構築されたソフトウェア４６の最終状態を表示手段２２に表示して、構築したソフトウェア４６の再現を完了する。
【０１０８】
ここで、第１のソフトウェア部品２６ａはＵＩを有しているので、第１のソフトウェア部品２６ａは、ソフトウェア実行手段３１が生成したベースシート５６の上にＵＩとしての実行ボタン７１および結果表示欄７２が表示されるが、第２のソフトウェア部品２６ｂは、ＵＩを有していないので、ベースシート５６上には表示されていない。
【０１０９】
第２のソフトウェア部品２６ｂがベースシート５６上に表示されないのは、ソフトウェアを実行する段階においては、ＵＩを有さないソフトウェア部品を表示していても、ユーザにとって実益がないからである。尚、図６〜図８に示すソフトウェア構築行程の場合と同様に第２のソフトウェア部品２６ｂをベースシート５６の上に表示するようにしても差し支えない。
【０１１０】
ソフトウェア実行手段３１が、ソフトウェア構築行程において構築されたソフトウェア４６の最終状態を表示手段２２に表示すると、その後、ユーザからの実行要求を待機する待機状態となる。待機状態において、ユーザからの実行要求がある（ユーザにより実行ボタン７１が押される）と、ソフトウェア４６としての処理を実行する。ソフトウェア４６の処理フローは、既に説明した図９に示す説明図の（１）〜（１１）に対応する。
【０１１１】
このように、ソフトウェア実行手段３１およびソフトウェア実行手段３１が行うソフトウェア実行行程によれば、ソフトウェア実行手段３１が実行したいソフトウェア４６のソフトウェア部品２６ａ，２６ｂを実行可能な形態で接続し、両ソフトウェア部品２６ａ，２６ｂのイベント伝達手段４１およびデータ共有手段４２同士をソフトウェア構築手続２８の接続情報に基づき対応づけることで接続を行うことができるので、従来技術でいえば、全てのソフトウェアに共通の構造体（基礎部品）を有しているに等しい状態を実現することができる。
【０１１２】
次に、ソフトウェア運用手段２４のソフトウェア保守手段３２と、ソフトウェア保守手段３２が行うソフトウェア保守行程について説明する。
【０１１３】
ソフトウェア実行手段３１およびソフトウェア実行行程により、構築したソフトウェアを実行し、実際に継続的に使用している段階においても、ソフトウェア部品２６を追加したり、削除したり、入れ替えたり、配置位置を変更したり等のソフトウェアの保守作業が必要となる状況は多分に考えられる。
【０１１４】
そこで、ソフトウェア運用システム２０では、入力手段２３からの入力操作を認識し、認識した内容の保守作業を行うソフトウェア保守手段３２をソフトウェア運用手段２４の一手段として備えることにより、ユーザは、入力手段２３を介してソフトウェア保守手段３２にソフトウェア保守行程を実行させることができるので、ソフトウェアの保守作業を行うことができる。
【０１１５】
図１１は、ソフトウェア保守手段３２にソフトウェア保守行程を実行させることにより、ユーザが行うソフトウェア４６の保守作業を説明する説明図である。
【０１１６】
尚、ソフトウェア４６は、第１のソフトウェア部品２６ａと第２のソフトウェア部品２６ｂを組み合わせて構築されたものであり、ソフトウェア保守手段３２がソフトウェア保守行程を実行する初期状態は、第１のソフトウェア部品２６ａおよび第２のソフトウェア部品２６ｂがベースシート５６の上に配置された状態で表示手段２２に表示される状態にある。
【０１１７】
ソフトウェア保守手段３２は、例えば、ソフトウェア部品２６に対して配置位置の移動、削除、複製、貼り付け等の一般的な編集（保守）を実施することができる。まず、ソフトウェア保守手段３２は、ユーザからの入力操作を受け付ける。ユーザからの入力操作は、例えば、ポインティングディバイス等で実現される入力手段２３から行うことができ、表示手段２２に表示されるカーソル５７を移動させて編集対象となるソフトウェア部品２６を選択し、保守メニューリスト７４を表示手段２２に表示させる。保守メニューリスト７４には、ソフトウェア保守手段３２が保守可能なメニューが表示される。
【０１１８】
仮に、ユーザは、第１のソフトウェア部品２６ａを複製したいとする。この場合、ユーザは、表示手段２２に表示されるカーソル５７を移動させて複製対象となる第１のソフトウェア部品２６ａを選択し、保守メニューリスト７４を表示手段２２に表示させるように入力操作する。すると、ソフトウェア保守手段３２が保守メニューリスト７４を表示手段２２に表示する。
【０１１９】
ユーザは、保守メニューリスト７４から実行したい「複製」を選択し、続けて、「貼り付け」を選択する。すると、ソフトウェア保守手段３２は、第１のソフトウェア部品２６ａと同じ機能を持つソフトウェア部品２６ａをベースシート５６の上の所定の位置に複製する。以降、ユーザが「貼り付け」を選択するたびに、ソフトウェア保守手段３２は、第１のソフトウェア部品２６ａと同じ機能をもつソフトウェア部品２６ａの複製を行うことができる。
【０１２０】
尚、図１１に示す例では、保守メニューリスト７４に切り取り、複製、貼り付けが表示されているが、図１１に表示されていない配置位置の移動、他のソフトウェア部品２６の追加、ソフトウェア部品２６の削除等のメニューを保守メニューリスト７４に表示させても良い。また、他の保守メニューについても、複製の場合と同様な入力操作を行うことで実施できる。
【０１２１】
次に、ソフトウェア運用手段２４のソフトウェア部品調整手段３３と、ソフトウェア部品調整手段３３が行うソフトウェア部品調整行程について説明する。
【０１２２】
ソフトウェア実行手段３１およびソフトウェア実行行程により、構築したソフトウェアを実行し、実際に継続的に使用している段階においても、ソフトウェアの保守作業の一環として、ソフトウェア部品２６自身を調整するソフトウェア部品２６の調整作業が必要となる状況は多分に考えられる。
【０１２３】
そこで、ソフトウェア運用システム２０では、入力手段２３からの入力操作を認識し、認識した内容のソフトウェア部品調整作業を行うソフトウェア部品調整手段３３をソフトウェア運用手段２４の一手段として備えることにより、ユーザは、入力手段２３を介してソフトウェア部品調整手段３３にソフトウェア部品調整行程を実行させることができるので、ソフトウェア部品２６の調整作業を行うことができる。ここで、ソフトウェア部品２６の調整作業とは、ソフトウェア部品２６の動作をソフトウェアの処理内容に合わせて調整する作業をいう。
【０１２４】
図１２は、ソフトウェア部品調整手段３３にソフトウェア部品調整行程を実行させることにより、ユーザが行うソフトウェア部品２６の調整作業を説明する説明図である。
【０１２５】
尚、図１２に示すソフトウェア部品２６は、上述した第１のソフトウェア部品２６ａとし、ソフトウェア保守手段３２がソフトウェア保守行程を実行する初期状態は、第１のソフトウェア部品２６ａがベースシート５６の上に配置された状態で表示手段２２に表示される状態にあるものとする。
【０１２６】
また、第１のソフトウェア部品２６ａは、ＵＩとして表示手段２２に表示する結果表示欄７２の表示段数を可変にでき、この表示段数の設定値によって結果表示欄７２の高さ（段数）を変えられるような内部手続３９を包含しているものとする。
【０１２７】
ソフトウェア部品２６は、各部品ごとに処理内容調整手段４３を備えており、この処理内容調整手段４３を調整することによりソフトウェア部品２６の動作をソフトウェアの処理内容に合わせて調整することができる。ソフトウェア部品２６の処理内容調整手段４３は、複数の可変パラメータ７６で構成されており、可変パラメータ７６の値をソフトウェア部品調整手段３３が変更することによって、ソフトウェア部品調整行程はなされる。尚、可変パラメータ７６は、他のソフトウェア部品２６に対して公開することができる。
【０１２８】
ユーザが、ソフトウェア部品２６の調整作業を行うにあたっては、まず、調整作業を行いたいソフトウェア部品２６を選択し、入力手段２３からソフトウェア部品２６の調整作業の実行要求を入力する。ここでは、第１のソフトウェア部品２６ａを選択したものとする。
【０１２９】
ソフトウェア部品２６の調整作業の実行要求をソフトウェア部品調整手段３３が受け取ると、ソフトウェア部品調整手段３３は、ソフトウェア部品調整行程を実行し、可変パラメータ一覧を表す可変パラメータ表示窓７８を表示手段２２に表示する。
【０１３０】
図１２に示すように可変パラメータ表示窓７８は、結果表示欄７２の表示段数等の可変パラメータ７６により設定される具体的な項目を表す設定項目欄７９と、設定項目欄７９に該当する項目について設定された値を表す設定値欄８０と、設定実行を要求する設定ボタン８１とを有する。
【０１３１】
ユーザは、入力手段２３を介して、設定項目欄７９に該当する項目について、設定値欄８０を任意の値に設定することで、設定値を変更することができる。例えば、設定項目欄７９として表示される「結果表示欄の表示段数」を１から２に変更し、変更後、設定ボタン８１を選択する（押す）と、ソフトウェア部品調整手段３３は、ソフトウェア部品調整行程を実行し、第１のソフトウェア部品２６ａの処理内容調整手段４３（ここでは、結果表示欄７２の表示段数に関する可変パラメータ７６）を変更設定する。
【０１３２】
ユーザからの入力を受け、ソフトウェア部品調整手段３３が第１のソフトウェア部品２６ａの結果表示欄７２の表示段数に関する可変パラメータ７６を１から２に変更設定すると、第１のソフトウェア部品２６ａは、結果表示欄７２の表示段数に関する可変パラメータ７６が変更設定されたことを受けて、結果表示欄７２の高さを元の１段から２段に変更する。
【０１３３】
また、可変パラメータ７６を変更設定した内容は、ソフトウェア構築手続２８に保存することができる。従って、次回以降は、第１のソフトウェア部品２６ａについて何ら調整作業を行うことなく、設定変更後の表示段数で表示手段２２に表示させることができる。
【０１３４】
ソフトウェア部品調整手段３３およびソフトウェア部品調整手段３３が実行するソフトウェア部品調整行程によれば、個々のソフトウェア部品２６が提供している可変パラメータ７６を視覚的に認識できるとともに、設定することができる。また、可変パラメータ７６の変更設定内容は、ソフトウェア構築手続２８に保存されるので、次回以降は、設定変更後の処理内容を実行させることができる。
【０１３５】
図１３に、ソフトウェア実行手段３１、ソフトウェア保守手段３２およびソフトウェア部品調整手段３３間で行うことができる状態の遷移について説明する説明図を示す。
【０１３６】
ソフトウェア運用手段２４のソフトウェア実行手段３１、ソフトウェア保守手段３２およびソフトウェア部品調整手段３３間において、ソフトウェア実行手段３１が実行するソフトウェア実行行程からソフトウェア保守手段３２が実行するソフトウェア保守行程へ相互に移行できる。また同様にして、ソフトウェア実行手段３１が実行するソフトウェア実行行程からソフトウェア部品調整手段３３が実行するソフトウェア部品調整行程へ相互に移行することができる。
【０１３７】
ソフトウェア実行行程からソフトウェア保守行程への相互移行およびソフトウェア実行行程からソフトウェア部品調整行程への相互移行は、ソフトウェア実行手段３１、ソフトウェア保守手段３２およびソフトウェア部品調整手段３３に入力手段２３を介して要求を入力することで行う。
【０１３８】
図１３によれば、ソフトウェア実行手段３１が要求を受け取り、ソフトウェア実行行程からソフトウェア保守行程へ移行する際には、各ソフトウェア部品２６が動作してソフトウェアを構成している状態にあるので、ソフトウェア実行手段３１は、この状態を一時休止した後、ソフトウェア保守手段３２が実行するソフトウェア保守行程へ移行する。
【０１３９】
また、ソフトウェア保守行程を実行後、ソフトウェア実行手段３１が復帰要求を受け取り、ソフトウェア実行行程へ復帰する際には、ソフトウェア実行手段３１は、一時休止を解除する。解除後は、ソフトウェア保守手段３２が行ったソフトウェア保守行程の保守結果を反映してソフトウェアの実行を再開することができる。
【０１４０】
一方、ソフトウェア実行行程からソフトウェア部品調整行程へ移行する際には、各ソフトウェア部品２６が動作してソフトウェアを構成している状態にあるので、ソフトウェア実行手段３１は、この状態を一時休止した後、ソフトウェア部品調整手段３３が実行するソフトウェア部品調整行程へ移行する。
【０１４１】
また、ソフトウェア部品調整行程を実行後、ソフトウェア実行手段３１が復帰要求を受け取り、ソフトウェア実行行程へ復帰する際には、ソフトウェア実行手段３１は、一時休止を解除する。解除後は、ソフトウェア部品調整手段３３が行ったソフトウェア部品調整行程におけるソフトウェア部品２６の調整結果を反映してソフトウェアの実行を再開することができる。
【０１４２】
つまり、ソフトウェア運用システム２０では、ソフトウェア実行手段３１が、ソフトウェアが半稼動状態のままで、ユーザがソフトウェアの保守作業およびソフトウェア部品２６の調整作業を実施することができる。そして、ソフトウェアの保守作業およびソフトウェア部品２６の調整作業の内容を反映する際に、実行ファイルを再生成することなく、ソフトウェアの実行を再開することができる。
【０１４３】
次に、ソフトウェアの構築および保守を行う際の拡張手段であるエクスポート手段８４ならびにインポート手段８５について説明する。
【０１４４】
図１に示すように、ソフトウェア運用手段２４には、上述したソフトウェア構築手段３０、ソフトウェア実行手段３１、ソフトウェア保守手段３２およびソフトウェア部品調整手段３３以外にも、二以上のソフトウェア部品２６をソフトウェア部品群としてグルーピングし、グルーピングしたソフトウェア部品群を他のソフトウェアに対して書き出すエクスポート手段８４と、他のソフトウェアで作成されたソフトウェア部品群を読み込み配置するインポート手段８５とをさらに備える。
【０１４５】
また、記録手段２１には、どのソフトウェア部品２６を用いてエクスポートしたかを記録するエクスポート情報ファイル８７が作成された後、保存される。エクスポートした複数のソフトウェア部品２６は、１つのソフトウェア部品群（以下、エクスポート部品とする）８８として定義されるので、エクスポート情報ファイル８７には、エクスポート部品８８の名称とともに、そのエクスポート部品８８がどのソフトウェア部品２６をエクスポートしたものかについて記録される。
【０１４６】
図１４に、ユーザが行うソフトウェア部品２６のエクスポート作業およびインポート作業を説明する説明図を示す。
【０１４７】
ユーザが行うソフトウェア部品２６のエクスポート作業は、ユーザが入力操作を行い、エクスポート手段８４にエクスポート行程を実行させることにより行う。ユーザからの入力操作は、例えば、ポインティングディバイス等で実現される入力手段２３から行うことができる。以下、図１４に示されるように、既に作成されソフトウェア部品ＤＢ２７に格納される第３のソフトウェア部品２６ｃと第４のソフトウェア部品２６ｄとをエクスポートする場合を例に説明する。
【０１４８】
まず、ユーザが入力操作を行い、エクスポート手段８４にエクスポート行程を実行させる。例えば、ユーザが行う入力操作としては、表示手段２２に表示されるベースシート５６の上にエクスポートしたいソフトウェア部品、すなわち、第３のソフトウェア部品２６ｃと第４のソフトウェア部品２６ｄとを配置し選択する。そして、選択した第３のソフトウェア部品２６ｃと第４のソフトウェア部品２６ｄとに対してエクスポートの実行を選択する。
【０１４９】
エクスポートの実行選択は、例えば、図１１に表示される保守メニューリスト７４から複製を選択する場合と同様に、メニューリストの一操作としてエクスポートを含めておくことで、ユーザは容易にエクスポートの実行選択を行うことができる。
【０１５０】
ユーザが入力手段２３からエクスポート手段８４にエクスポート行程を実行させる入力操作を行うと、エクスポート手段８４は、エクスポート行程を実行し、選択された第３のソフトウェア部品２６ｃと第４のソフトウェア部品２６ｄとをグルーピングするエクスポート情報を記録したエクスポート情報ファイル８７を作成する。エクスポート手段８４がエクスポート情報ファイル８７を作成すると、エクスポート行程は完了する。
【０１５１】
ソフトウェア運用手段２４のソフトウェア構築手段３０およびソフトウェア保守手段３２は作成されたエクスポート情報ファイル８７を読み出すことができる。ソフトウェア構築手段３０およびソフトウェア保守手段３２は、エクスポート情報ファイル８７を参照することで、エクスポート行程でエクスポートされた第３のソフトウェア部品２６ｃおよび第４のソフトウェア部品２６ｄを１つのエクスポート部品８８として取り扱うことができる。従って、ソフトウェア構築手段３０は、ソフトウェア構築行程を実行する際においてエクスポート部品８８を用いることができ、ソフトウェア保守手段３２は、ソフトウェア保守行程を実行する際においてエクスポート部品８８を用いることができる。
【０１５２】
ユーザは、エクスポート作業を行っておけば、ソフトウェアの構築作業、保守作業を行う際に、エクスポート部品８８を用いてそれぞれの作業を行うことができる。エクスポート作業を行う効果は、ソフトウェア部品２６が２、３個程度の場合には、ソフトウェアの構築作業、保守作業において、さほど大きくないが、その数が多くなるほど、ソフトウェアの構築作業、保守作業を省力化する効果が大きくなる。
【０１５３】
同様にして、ソフトウェア部品２６のインポート作業は、ユーザがインポート手段８５にインポート行程を実行させることにより行う。インポート作業を行う前提としては、既にあるソフトウェア部品２６をエクスポートして作成されるエクスポート部品８８が存在することが必要となる。以下、第３のソフトウェア部品２６ｃおよび第４のソフトウェア部品２６ｄをエクスポートして作成されるエクスポート部品８８をインポートする場合を例に説明する。
【０１５４】
まず、ユーザが入力操作を行い、インポート手段８５にインポート行程を実行させる。インポート手段８５にインポート行程を実行させる際には、インポートの対象となるエクスポート部品８８を選択する必要があるが、図１４に示すように、エクスポート部品８８は、ソフトウェア部品一覧リスト５１にソフトウェア部品２６とともに示されるので、例えば、ソフトウェア部品２６を配置する要領でインポートしたいエクスポート部品８８をベースシート５６の上に配置する入力操作をユーザが行うことで、インポートしたいエクスポート部品８８を選択することができる。
【０１５５】
ユーザが、インポート作業としてインポートしたいエクスポート部品８８を選択すると、インポート手段８５はインポート行程として、エクスポート情報ファイル８７を参照し、エクスポート部品８８を構成する個々のソフトウェア部品、すなわち、第３のソフトウェア部品２６ｃおよび第４のソフトウェア部品２６ｄをそれぞれベースシート５６の上に配置する。インポート手段８５がエクスポート部品８８を構成するソフトウェア部品２６のそれぞれをベースシート５６の上に配置すると、インポート行程は完了する。
【０１５６】
インポート手段８５がインポート行程を実行することで、ユーザが行うソフトウェアの構築作業および保守作業において、事前にエクスポートしておいたエクスポート部品８８を容易かつ有効に利用することができる。従って、エクスポート作業を行う効果と同様にエクスポート部品８８を構成するソフトウェア部品２６の数が多くなる場合やエクスポート部品８８が多い場合ほど、ソフトウェアの構築作業および保守作業を省力化する効果が大きくなる。
【０１５７】
また、ソフトウェア運用手段２４に、エクスポート手段８４およびインポート手段８５をさらに備え、エクスポート手段８４がエクスポート行程を、インポート手段８５がインポート行程を実行することで、ソフトウェア部品２６の粒度、すなわち、処理機能単位の大きさを任意に調整することができる。従って、ソフトウェアの構築作業および保守作業におけるソフトウェア部品２６の再利用性および保守性の向上に貢献でき、結果として作業の効率化および省力化に貢献することができる。
【０１５８】
本発明に係るソフトウェア運用システムにより運用されるソフトウェア部品２６によれば、イベント伝達手段４１と、データ共有手段４２と、処理内容調整手段４３とを備えており、特に、イベント伝達手段４１を設定された処理ステップ単位の処理機能を実行する実行手段として、データ共有手段４２を自己のソフトウェア部品２６において設定されたデータを他のソフトウェア部品２６に書き出したり、その逆に他のソフトウェア部品２６において設定されたデータを読み出すことができるように構成してソフトウェア部品間でデータを共有することができるように構成することで、各々のソフトウェア部品２６同士でそれぞれ通信を実現することができる。
【０１５９】
各々のソフトウェア部品２６がソフトウェア部品同士でそれぞれ通信を行うことができることにより、ソフトウェア部品２６が単独で他のソフトウェア部品２６にイベントを伝達したり、データを伝達することができ、従来のソフトウェア部品においてソフトウェア部品間のイベント伝達およびデータ伝達を行うソフトウェアの土台となる構造体（基礎部品）が不要となる。
【０１６０】
また、ソフトウェア部品２６は、複数の可変パラメータ７６で構成される処理内容調整手段４３を備え、この可変パラメータ７６を変更することで処理内容を変更することができるので、ソフトウェア全体の保守性、拡張性を向上させることができる。
【０１６１】
一方、本発明に係るソフトウェア運用システムの一実施例であるソフトウェア運用システム２０によれば、ソフトウェア運用システム２０が具備するソフトウェア運用手段２４が、各々のソフトウェア部品同士でそれぞれ通信可能なソフトウェア部品２６を構築したり、構築されたソフトウェア部品２６を複数用いてソフトウェアを構築するソフトウェア構築手段３０を備えるので、従来よりソフトウェア部品２６の再利用性を高めることができ、ソフトウェアの構築作業の省力化にもつながる。
【０１６２】
また、ソフトウェア運用システム２０は、ＧＵＩを実現しているので、任意のソフトウェア部品同士の接続を行い、ソフトウェアとしてのソフトウェア部品同士の動作を決定する際にも、ユーザ（開発者またはソフトウェア利用者）が視覚的に行うことができる。すなわち、ソフトウェア部品化指向の開発手法を熟知していない開発者であってもソフトウェアの開発が可能となり、人的資源を有効に利用することができる。
【０１６３】
従って、開発者に依存する開発量の減少につながり、ソフトウェアの開発効率は向上することになる。そして、ソフトウェア構築作業等のユーザが行う作業は、ＧＵＩにより画一的に行うことができるので、ソフトウェア品質も均一化することができる。また、ユーザは作成済みのソフトウェア部品２６を表示手段２２に一覧表示させることができるので、ソフトウェア部品２６の再利用性を高めることができる。
【０１６４】
さらに、ソフトウェア運用手段２４にソフトウェア実行手段３１を備えるので、実行したいソフトウェアを構成するソフトウェア部品２６を実行可能な形態で接続し、接続された各々のソフトウェア部品２６におけるイベント伝達手段４１およびデータ共有手段４２をソフトウェア構築手続２８の接続情報に基づき対応づけた接続を行うことができる。従って、従来技術でいえば、全てのソフトウェアに共通の構造体（基礎部品）を有しているに等しい状態を実現することができ、ソフトウェア全体の保守性、拡張性を向上させることができる。
【０１６５】
一方、ソフトウェア運用手段２４にソフトウェア保守手段３２を備えるので、新しいソフトウェアを作成したり、既存ソフトウェアに新しい機能（ソフトウェア部品）を追加する場合においても、ソフトウェア部品２６同士が通信可能なので、必要な機能を実現するソフトウェア部品２６さえあれば、それらを接続することにより所望のソフトウェアを構築できる。従って、ソフトウェア部品２６の再利用性を高めることができ、ソフトウェアの保守作業の省力化にもつながる。
【０１６６】
また、ソフトウェア運用手段２４にソフトウェア部品調整手段３３を備え、ソフトウェア部品調整手段３３が、処理内容調整手段４３、ここでは、少なくとも１以上の可変パラメータ７６を変更することができることにより、ソフトウェア部品２６の内部処理に関する知識のないユーザにおいても、ソフトウェア部品２６の処理内容を変更（カスタマイズを実施）することができる。
【０１６７】
さらに、ソフトウェア部品２６の処理内容を変更した内容については、ソフトウェア構築手続２８に保存できるので、変更後の処理内容でソフトウェア部品２６の処理を再現でき、ソフトウェア部品２６の再利用性を高めるとともに、より自由度の高いソフトウェアの保守作業を実現する。
【０１６８】
尚、ソフトウェア実行手段３１は、ソフトウェアが半稼動状態のままで、ユーザがソフトウェアの保守作業およびソフトウェア部品２６の調整作業を実施することができ、ソフトウェアの保守作業およびソフトウェア部品２６の調整作業の内容を反映する際には、実行ファイルを再生成することなく、ソフトウェアの実行を再開することができる。つまり、ソフトウェアそのものの再コンパイル、再結合といった一般的なソフトウェアの再構築作業を実施することなく、保守作業を実施することができるので、ソフトウェアの拡張性を高めるとともにソフトウェアの保守作業の省力化を実現することができる。
【０１６９】
さらにまた、ソフトウェア運用手段２４にエクスポート手段８４およびインポート手段８５を備え、エクスポート手段８４がエクスポート行程を、インポート手段８５がインポート行程を実行するので、ソフトウェア部品２６の粒度、すなわち、処理機能単位の大きさを任意に調整することができる。
【０１７０】
従って、ソフトウェアの構築作業および保守作業におけるソフトウェア部品２６の再利用性および保守性が向上し、結果としてソフトウェアの構築作業および保守作業の効率化および省力化につながる。
【０１７１】
他方、本発明に係るソフトウェア運用方法によれば、ソフトウェア部品ひな型生成行程と、実行手続情報作成行程とを備えるソフトウェア部品構築手順を具備する。このソフトウェア部品構築手順は、いわば、イベント伝達手段４１と、データ共有手段４２と、処理内容調整手段４３の可変パラメータ７６とを外部に公開するためのインターフェイス部分を含むソフトウェア部品ひな型を生成し、ソフトウェア部品ひな型に加えて各ソフトウェア部品固有の内部手続３９を作成する開発形態をフレームワーク化したものである。
【０１７２】
従って、ソフトウェア部品２６をソフトウェア部品２６として扱うための各手段との接続部分の作成を開発者より隠蔽し、開発者はソフトウェア部品固有の論理的な手続きの作成に専念することができる。また、ソフトウェアに必要な各機能を実現するソフトウェア部品を用意し、これらの接続先を設定すれば、所望の機能を実現するソフトウェアを作成することができるため、開発のための手順が一意に定まり、ソフトウェア作成における開発効率の向上、品質の均一化を実現することができる。さらに、部品化指向の開発手法を会得していない開発者であっても、ソフトウェア部品２６の実行手続と他のソフトウェア部品２６の実行手続とを接続してソフトウェアを構築できるため、有効な人的資源の活用を図ることができる。
【０１７３】
[その他の実施形態]
図１によれば、ソフトウェア運用システム２０は、ソフトウェア運用手段２４として、ソフトウェア構築手段３０、ソフトウェア実行手段３１、ソフトウェア保守手段３２、ソフトウェア部品調整手段３３、エクスポート手段８４およびインポート手段８５を備えているが、ソフトウェア構築手段３０、ソフトウェア実行手段３１、ソフトウェア保守手段３２、ソフトウェア部品調整手段３３、エクスポート手段８４およびインポート手段８５の全てを必ずしも備えている必要はない。
【０１７４】
ソフトウェア運用システム２０は、ソフトウェア運用手段２４に、ソフトウェア構築手段３０、ソフトウェア実行手段３１、ソフトウェア保守手段３２、ソフトウェア部品調整手段３３、エクスポート手段８４およびインポート手段８５の少なくとも１以上の手段を備える形態も包含するものとする。
【０１７５】
例えば、ソフトウェアの構築に特化したシステムで良いのであれば、ソフトウェア運用システム２０のソフトウェア運用手段２４は、ソフトウェア構築手段３０を備える構成で良いし、ソフトウェアの構築および実施ができれば差し支えなく、ソフトウェアの保守までは不要であるのであれば、ソフトウェア運用システム２０のソフトウェア運用手段２４は、ソフトウェア構築手段３０およびソフトウェア実行手段３１を備える構成で良い。
【図面の簡単な説明】
【０１７６】
【図１】本発明に係るソフトウェア運用システムの一実施例の構成概略を表す構成概略図。
【図２】本発明に係るソフトウェア運用システムにおいて運用（構築）された複数のソフトウェア部品を組み合わせて構築されるソフトウェアの一例を説明する説明図。
【図３】本発明に係るソフトウェア運用方法におけるソフトウェア部品構築手順の処理ステップを順番を追って説明する処理フロー図。
【図４】本発明に係るソフトウェア運用方法におけるソフトウェア構築行程の処理ステップを順番を追って説明する処理フロー図。
【図５】本発明に係るソフトウェア運用システムの表示手段に表示されるソフトウェア部品一覧リストについて一例を示す説明図。
【図６】本発明に係るソフトウェア運用システムを用いてユーザが行うソフトウェア部品の配置作業およびソフトウェア構築行程におけるソフトウェア部品配置ステップを説明する説明図。
【図７】本発明に係るソフトウェア部品である第１のソフトウェア部品と第２のソフトウェア部品とが公開しているイベント伝達手段およびデータ共有手段内の情報を相互に結合し、両ソフトウェア部品間の接続を定義づけた一例を説明する説明図。
【図８】本発明に係るソフトウェア運用システムのソフトウェア構築手続として保存される情報を説明する説明図。
【図９】本発明に係るソフトウェア部品である第１のソフトウェア部品と第２のソフトウェア部品とを接続した両ソフトウェア部品間の接続状態（構築されたソフトウェアの処理の流れ）を説明する説明図。
【図１０】本発明に係るソフトウェア運用システムのソフトウェア実行手段およびソフトウェア実行手段が行うソフトウェア実行行程を説明する説明図。
【図１１】本発明に係るソフトウェア運用システムのソフトウェア保守手段にソフトウェア保守行程を実行させることによりユーザが行うソフトウェアの保守作業を説明する説明図。
【図１２】本発明に係るソフトウェア運用システムのソフトウェア部品調整手段にソフトウェア部品調整行程を実行させることにより、ユーザが行うソフトウェア部品の調整作業を説明する説明図。
【図１３】本発明に係るソフトウェア運用システムのソフトウェア実行手段、ソフトウェア保守手段およびソフトウェア部品調整手段間で行うことができる状態の遷移について説明する説明図。
【図１４】本発明に係るソフトウェア運用システムを使用してユーザが行うソフトウェア部品のエクスポート作業およびインポート作業を説明する説明図。
【図１５】部品化指向の開発方法を採用した従来のソフトウェア群の構築・生成・実行のシステムおよび方法について説明する説明図。
【符号の説明】
【０１７７】
２０…ソフトウェア運用システム、２１…記録手段、２２…表示手段、２３…入力手段、２４…ソフトウェア運用手段、２６…ソフトウェア部品、２６ａ…第１のソフトウェア部品、２６ｂ…第２のソフトウェア部品、２６ｃ…第３のソフトウェア部品、２６ｄ…第４のソフトウェア部品、２７…ソフトウェア部品ＤＢ、２８…ソフトウェア構築手続、３０…ソフトウェア構築手段、３１…ソフトウェア保守手段、３２…ソフトウェア部品調整手段、３３…ソフトウェア実行手段、３５…ソフトウェア部品一覧表示部、３６…ソフトウェア部品配置部、３７…ソフトウェア構築手続作成部、３９…内部手続、４１…イベント伝達手段、４２…データ共有手段、４３…処理内容調整手段、４６…（第１のソフトウェア部品と第２のソフトウェア部品とを組み合わせて構築される）ソフトウェア、４７…処理実行内部手続、４８…結果表示内部手続、４９…演算処理内部手続、５１…ソフトウェア部品一覧リスト、５３…行、５４…スライダー、５６…ベースシート、５７…カーソル、５９…第１の接続情報設定編集窓、５９Ａ…接続情報設定前の第１の接続情報設定編集窓、接続情報設定後の第１の接続情報設定編集窓、６０…第２の接続情報設定編集窓、６０Ａ…接続情報設定前の第２の接続情報設定編集窓、６０Ｂ…接続情報設定後の第２の接続情報設定編集窓、６２…発火イベント欄、６３…受信イベント欄、６４…イベント発火実行手続欄、６５…イベント受信実行手続欄、６６…参照データラベル欄、６７…公開データラベル欄、６８…格納データ欄、７１…実行ボタン、７２…結果表示欄、７４…保守メニューリスト、７６…可変パラメータ、７９…設定項目欄、８０…設定値欄、８１…設定ボタン、８４…エクスポート手段、８５…インポート手段、８７…エクスポート情報ファイル、８８…エクスポート部品。
【図１】
2005309615.tif 000003
【図２】
2005309615.tif 000004
【図３】
2005309615.tif 000005
【図４】
2005309615.tif 000006
【図５】
2005309615.tif 000007
【図６】
2005309615.tif 000008
【図７】
2005309615.tif 000009
【図８】
2005309615.tif 000010
【図９】
2005309615.tif 000011
【図１０】
2005309615.tif 000012
【図１１】
2005309615.tif 000013
【図１２】
2005309615.tif 000014
【図１３】
2005309615.tif 000015
【図１４】
2005309615.tif 000016
【図１５】
2005309615.tif 000017