JP2001043079A - ソフトウェアの開発支援装置、ソフトウェア部品生成装置およびその方法、記録媒体 - Google Patents

ソフトウェアの開発支援装置、ソフトウェア部品生成装置およびその方法、記録媒体

Info

Publication number
JP2001043079A
JP2001043079A JP11212472A JP21247299A JP2001043079A JP 2001043079 A JP2001043079 A JP 2001043079A JP 11212472 A JP11212472 A JP 11212472A JP 21247299 A JP21247299 A JP 21247299A JP 2001043079 A JP2001043079 A JP 2001043079A
Authority
JP
Japan
Prior art keywords
common function
common
software component
software
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP11212472A
Other languages
English (en)
Inventor
Kenichi Uraki
賢一 浦木
Kazuo Hamada
和郎 濱田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Steel Corp
Original Assignee
Nippon Steel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Steel Corp filed Critical Nippon Steel Corp
Priority to JP11212472A priority Critical patent/JP2001043079A/ja
Publication of JP2001043079A publication Critical patent/JP2001043079A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 ソフトウェア開発者の負担を軽減し、ソフト
ウェア開発をより効率的に行うことができるようにす
る。 【解決手段】 ソフトウェア部品を、各ソフトウェア部
品に共通な機能を持つフレーム部2〜4と、各ソフトウ
ェア部品に特有な機能を持つロジック部6とに分けて構
成することにより、上記フレーム部2〜4についてはあ
らかじめ作成して保存しておくことで、所望のソフトウ
ェア部品を作りたいときは、そのソフトウェア部品に特
有なロジック部6だけを作れば良いようにする。また、
ソフトウェア部品を、データ入力用、データ入出力用、
データ出力用の3つのカテゴリに分けることにより、最
小機能単位毎にソフトウェア部品を生成できるようにし
て、生成したソフトウェア部品を再利用しやすくする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はソフトウェアの開発
支援装置、ソフトウェア部品生成装置およびその方法、
記録媒体に関し、特に、GUI(Graphical User Inter
face)ベースのソフトウェア部品を画面上で貼り付ける
とともに、貼り付けた部品同士をつなぎ合わせることに
よってソフトウェア開発を行うようになされた装置に用
いて好適なものである。
【0002】
【従来の技術】近年、コンピュータシステムが世の中の
至る所において多種多様な用途で使用されており、その
利用範囲はますます広がりつつある。そして、このコン
ピュータシステムに使用されるCPUはその性能が飛躍
的に向上し、さらに、ビットマップディスプレイなどの
高精度なディスプレイも普及してきている。
【0003】このような背景のもと、ソフトウェアの開
発は、キャラクタベースのユーザインタフェースから、
より使いやすいユーザインタフェースの構築といったも
のに対して重点が置かれるようになってきている。その
ため、GUIを利用した種々のソフトウェア部品を組み
合わせて目的のソフトウェア(プログラム)を作成する
ことができるようにしたツールも種々提案されてきてい
る。
【0004】ここでソフトウェア部品とは、一般的に
は、再利用を目的として用意された機能単位のプログラ
ムを言う。すなわち、多くのプログラムで共通に使われ
ている機能をソフトウェア部品として作成しておくこと
で、同じ機能のプログラムを何度も作り直さなくても済
むようにするためのものである。このソフトウェア部品
の再利用により、ソフトウェアの生産性を向上させるこ
とが可能となる。
【0005】この種のツールを用いてアプリケーション
開発を行う際は、まず作成しようとするアプリケーショ
ンの要求定義を行い、その要求を満たすように、例えば
オブジェクト指向による分析・設計を行う。そして、そ
の分析・設計の結果に基づいて種々のソフトウェア部品
を作成し、作成したソフトウェア部品を任意に組み合わ
せて使用することにより、アプリケーションを完成させ
る。このとき、既に作られているソフトウェア部品で利
用可能なものがあれば、それを使用することも可能であ
る。
【0006】
【発明が解決しようとする課題】しかしながら、上記従
来の技術では、既に作成されたソフトウェア部品の再利
用によりアプリケーション開発の効率を向上させること
はできるが、ソフトウェア部品自体を作成する際には、
その部品に持たせるべき機能を実現するためのプログラ
ムコードを最初から全て記述していかなければならなか
った。そのため、ソフトウェア部品の作成には多大な労
力を要するという問題があった。
【0007】また、ソフトウェア部品を作成する際に
は、各種のソフトウェア部品を実際に機能させるための
実行環境(フレームワーク)を理解し、そのフレームワ
ークの仕組みに合うようにプログラムをコーディングす
る必要があった。そのため、フレームワークの仕組みを
知らない開発者にとって、ソフトウェア部品を作成する
ことは困難であった。よって、利用したいソフトウェア
部品が登録されていない場合には、フレームワークを理
解している開発者に頼んで所望のソフトウェア部品を作
成してもらわざるを得ず、開発効率を低下させる要因と
なっていた。
【0008】さらに、従来のソフトウェア部品は、それ
の持つ機能単位が部品毎にまちまちであり、1つのソフ
トウェア部品で複数の機能を持つものも多くあった。こ
の場合、そのように大きな機能単位のソフトウェア部品
をそのまま利用できればソフトウェア開発の生産性はか
なり向上するが、その中の一部の機能を変えて使用した
いような場合も少なからず存在する。ところが、この場
合には、そのソフトウェア部品をそのまま利用すること
はできないため、要求に合うようなソフトウェア部品を
始めから作る必要があり、開発者の負担を大きなものと
していた。
【0009】本発明は、このような問題を解決するため
に成されたものであり、ソフトウェア開発者の負担を軽
減し、ソフトウェア開発をより効率的に行うことができ
るようにすることを目的とする。
【0010】
【課題を解決するための手段】本発明によるソフトウェ
アの開発支援装置は、ソフトウェア部品を組み合わせて
所望のソフトウェアを開発するように成されたソフトウ
ェアの開発支援装置において、上記ソフトウェア部品
を、データの入力を扱う第1のソフトウェア部品と、デ
ータの入出力を扱う第2のソフトウェア部品と、データ
の出力を扱う第3のソフトウェア部品との3つのカテゴ
リに分けるとともに、上記3つのカテゴリに属するソフ
トウェア部品のそれぞれを、各ソフトウェア部品に共通
な共通機能部分と、各ソフトウェア部品に特有な非共通
機能部分とに分けて構成したことを特徴とする。
【0011】また、本発明によるソフトウェア部品生成
装置は、所定機能単位のソフトウェア部品を生成するソ
フトウェア部品生成装置であって、データの入力を扱う
第1のカテゴリに属する各ソフトウェア部品に共通な共
通機能部分、データの入出力を扱う第2のカテゴリに属
する各ソフトウェア部品に共通な共通機能部分、および
データの出力を扱う第3のカテゴリに属する各ソフトウ
ェア部品に共通な共通機能部分のモジュールをそれぞれ
保存する共通機能保存手段と、それぞれのソフトウェア
部品に特有な非共通機能部分のモジュールを生成する非
共通機能生成手段と、上記非共通機能生成手段により生
成された上記非共通機能部分のモジュールと上記共通機
能保存手段に保存されている何れかのカテゴリに属する
上記共通機能部分のモジュールとを選択的に組み合わせ
ることによりソフトウェア部品を生成する部品生成手段
とを備えたことを特徴とする。
【0012】また、本発明によるソフトウェア部品生成
方法は、所定機能単位のソフトウェア部品を生成するソ
フトウェア部品生成方法であって、データの入力を扱う
第1のカテゴリに属する各ソフトウェア部品に共通な共
通機能部分、データの入出力を扱う第2のカテゴリに属
する各ソフトウェア部品に共通な共通機能部分、および
データの出力を扱う第3のカテゴリに属する各ソフトウ
ェア部品に共通な共通機能部分のモジュールをそれぞれ
あらかじめ作成して保存しておき、それぞれのソフトウ
ェア部品に特有な非共通機能部分のモジュールを生成
し、当該生成した上記非共通機能部分のモジュールと、
上記保存されている何れかのカテゴリに属する上記共通
機能部分のモジュールとを選択的に組み合わせることに
より、所望のソフトウェア部品を生成するようにしたこ
とを特徴とする。
【0013】また、本発明によるコンピュータ読み取り
可能な記録媒体は、データの入力を扱う第1のカテゴリ
に属する各ソフトウェア部品に共通な共通機能部分、デ
ータの入出力を扱う第2のカテゴリに属する各ソフトウ
ェア部品に共通な共通機能部分、およびデータの出力を
扱う第3のカテゴリに属する各ソフトウェア部品に共通
な共通機能部分のモジュールをそれぞれ保存する共通機
能保存手段と、それぞれのソフトウェア部品に特有な非
共通機能部分のモジュールを生成する非共通機能生成手
段と、上記非共通機能生成手段により生成された上記非
共通機能部分のモジュールと上記共通機能保存手段に保
存されている何れかのカテゴリに属する上記共通機能部
分のモジュールとを選択的に組み合わせることによりソ
フトウェア部品を生成する部品生成手段としてコンピュ
ータを機能させるためのプログラムを記録したことを特
徴とする。
【0014】本発明は上記技術手段より成るので、所望
のソフトウェア部品を作りたいときは、あらかじめ保存
されている共通機能部分を利用して、そのソフトウェア
部品に特有な非共通機能部分だけを作れば良くなる。ま
た、ソフトウェア部品を組み合わせて所望のアプリケー
ションを生成するときには、データ入力、データ入出
力、データ出力の細かい機能単位毎に生成されたソフト
ウェア部品を有効に利用することが可能となる。
【0015】
【発明の実施の形態】以下、本発明の一実施形態を図面
に基づいて説明する。図1は、本実施形態によるソフト
ウェアの開発支援装置の主要な機能構成例を示すブロッ
ク図である。この図1に示すソフトウェアの開発支援装
置は、本実施形態によるソフトウェア部品生成装置の構
成を含んでいる。
【0016】図1において、1は共通機能保存部であ
り、複数のソフトウェア部品に共通な機能を実現するた
めのモジュール(プログラム)を、以下に述べる3つの
カテゴリごとにそれぞれ保存する。
【0017】第1のカテゴリは、データの入力を扱うソ
フトウェア部品が属するカテゴリである。このカテゴリ
に属する入力用ソフトウェア部品は、例えば、データを
ファイルから読み込んだり、URL(Uniform Resouce
Locator )等をもとにネットワーク上からデータを取り
込んだり、データベースからデータを取り込んだりする
など、アプリケーション上にデータを生み出す元となる
機能に特化してプログラム化したソフトウェア部品であ
る。
【0018】また、第2のカテゴリは、データの入出力
を扱うソフトウェア部品が属するカテゴリである。この
カテゴリに属する入出力用ソフトウェア部品は、例え
ば、外部より入力したデータを変換して出力するなど、
入力したデータを処理して出力する機能に特化してプロ
グラム化したソフトウェア部品である。なお、この入出
力用ソフトウェア部品は、入力したデータを変換せずに
そのまま出力する機能(例えば遅延等)をプログラム化
したものであっても良い。
【0019】また、第3のカテゴリは、データの出力を
扱うソフトウェア部品が属するカテゴリである。このカ
テゴリに属する出力用ソフトウェア部品は、例えば、デ
ータをファイルに格納したり、表示装置に表示したり、
印刷装置によって印刷したりするなど、データを排出す
る機能に特化してプログラム化したソフトウェア部品で
ある。
【0020】このように、本実施形態では、各種のソフ
トウェア部品を、データの入力を扱う入力用ソフトウェ
ア部品と、データの入出力を扱う入出力用ソフトウェア
部品と、データの出力を扱う出力用ソフトウェア部品と
の3つのカテゴリに分けて管理するようにしている。さ
らに、上記3つのカテゴリに属するソフトウェア部品の
それぞれを、各ソフトウェア部品に共通な機能部分と各
ソフトウェア部品に特有な機能部分とに分け、それぞれ
のカテゴリ毎に、共通な機能部分のプログラムのみを共
通機能保存部1に保存しておくようにしている。
【0021】つまり、共通機能保存部1は、データの入
力を扱う第1のカテゴリに属する各ソフトウェア部品に
共通な共通機能モジュール2と、データの入出力を扱う
第2のカテゴリに属する各ソフトウェア部品に共通な共
通機能モジュール3と、データの出力を扱う第3のカテ
ゴリに属する各ソフトウェア部品に共通な共通機能モジ
ュール4とをそれぞれ保存している。
【0022】5は非共通機能生成部であり、ソフトウェ
ア部品を構成する機能のうち、それぞれのソフトウェア
部品に特有な非共通機能モジュール6a,6b,6c,
…を生成するものである。また、7は部品生成部であ
り、上記非共通機能生成部5により生成された非共通機
能モジュール6a,6b,6c,…と、上記共通機能保
存部1に保存されている何れかのカテゴリに属する共通
機能モジュール2〜4とを選択的に組み合わせることに
より、ソフトウェア部品を生成する。どのカテゴリに属
する共通機能モジュール2〜4を使用するかは、機能選
択部8を用いて選択する。
【0023】9は部品登録部であり、上記部品生成部7
により生成されたソフトウェア部品を部品保存部10に
登録する。11は部品選択部であり、上記部品保存部1
0に保存された幾つかのソフトウェア部品の中から、作
成しようとするアプリケーションに利用可能な所望のソ
フトウェア部品を選択するためのものである。12はア
プリケーション生成部であり、ユーザにより選択された
ソフトウェア部品を用いてアプリケーションの生成を行
う。
【0024】アプリケーションを生成する際に、まずユ
ーザは、部品選択部11を用いて選択したソフトウェア
部品のGUIを幾つか表示画面上に貼り付け、貼り付け
たソフトウェア部品同士を配線によってつなぎ合わせる
ことにより、関連付けを行う。そして、ソフトウェア部
品の配置と配線が終わった時点で、ソフトウェアの生成
機能の実行を指示することにより、アプリケーション生
成部12は、その配置や配線状態に応じてプログラムコ
ードを生成する。また、ことのき、アプリケーション生
成部12がコンパイルまで自動的に行うようにしても良
い。
【0025】次に、各ソフトウェア部品に共通な機能を
持つ共通機能モジュール2〜4、および各ソフトウェア
部品に特有な機能を持つ非共通機能モジュール6a,6
b,6c,…の詳細な構成を、図2に基づいて説明す
る。
【0026】図2に示すように、入力用ソフトウェア部
品は、データ入力用の共通機能モジュール2と非共通機
能モジュール6aとが組み合わされて構成される。ま
た、入出力用ソフトウェア部品は、データ入出力用の共
通機能モジュール3と非共通機能モジュール6bとが組
み合わされて構成される。また、出力用ソフトウェア部
品は、データ出力用の共通機能モジュール4と非共通機
能モジュール6cとが組み合わされて構成される。
【0027】1つのソフトウェア部品は、フレームクラ
ス、ロジックオブジェクト生成クラス、ロジック実装ク
ラスの3つのクラスに関するオブジェクト(モジュー
ル)の集まりから構成される。このうち、フレームクラ
スとロジックオブジェクト生成クラスは共通機能モジュ
ール2〜4を構成し、ロジック実装クラスは非共通機能
モジュール6a〜6cを構成する。
【0028】なお、図2の例では、代表としてデータ入
力用に実装された共通機能モジュール2と非共通機能モ
ジュール6aのクラス構成を示している。以下では、ソ
フトウェア部品の共通機能モジュール2〜4を「フレー
ム部」と称し、非共通機能モジュール6a〜6cを「ロ
ジック部」と称する。
【0029】上記フレームクラスは、本発明の第1のモ
ジュールに相当するものであり、ロジックオブジェクト
の生成の定義部21、ロジックオブジェクトの参照先の
設定部22、ユニット入出力処理部23に関する記述を
含む。ここで、ロジックオブジェクトの生成の定義部2
1には、ロジック実装クラスに属するロジック25を内
部メモリに展開するための関数の名前が記述される。ま
た、ロジックオブジェクトの参照先の設定部22には、
上記ロジック25にて実際に処理を行った結果の戻し先
が記述される。
【0030】また、ユニット入出力処理部23には、他
のソフトウェア部品との間で行うデータ入出力に関する
処理が記述される。例えば、データ入力用の共通機能モ
ジュール2に関するフレームクラスでは、上記戻し先に
返されたロジック25での処理結果を他のソフトウェア
部品に出力する処理が記述される。また、データ入出力
用の共通機能モジュール3に関するフレームクラスで
は、他のソフトウェア部品からのデータを入力する処理
と、上記戻し先に返されたロジック25での処理結果を
他のソフトウェア部品に出力する処理とが記述される。
【0031】上記ロジックオブジェクト生成クラスは、
ロジックオブジェクトの生成部24に関する記述を含
む。このロジックオブジェクトの生成部24には、特定
されたロジック25のプログラムをコンピュータの内部
メモリに展開するための処理が記述される。このロジッ
クオブジェクト生成クラスは、本発明の第2のモジュー
ルに相当する。
【0032】また、上記ロジック実装クラスは、ロジッ
ク25に関する記述を含む。このロジック25には、そ
のソフトウェア部品で行う特有の処理が記述される。例
えば、入力用ソフトウェア部品を作りたい場合には、デ
ータ入力のロジックが記述され、入出力用ソフトウェア
部品を作りたい場合には、データ変換等のロジックが記
述され、出力用ソフトウェア部品を作りたい場合には、
データ出力のロジックが記述される。
【0033】上記のように3つのクラスにより構成され
るソフトウェア部品の動作は、以下の通りである。例え
ば、入力用ソフトウェア部品の場合は、まず、ロジック
オブジェクトの生成の定義部21にて特定された関数の
プログラムに従って、ロジックオブジェクトの生成部2
4に記述されたロジック25をロードし、内部メモリ上
に展開する。内部メモリに展開されたロジック25は、
そこに書かれているプログラムの内容を実行する。
【0034】このとき、このロジック25にデータをフ
ァイルから読み込むためのプログラムが書かれていれ
ば、指定されたファイルからデータを読み込む処理を行
う。また、ネットワーク、データベース、GUI等から
データを取り込むためのプログラムが書かれていれば、
そのプログラムに従ってデータを取り込む処理を行う。
このようにして入力されたデータは、ロジックオブジェ
クトの参照先の設定部22にて設定された戻し先に返さ
れる。そして、ユニット入出力処理部23は、上記戻し
先に返されたデータを外部に出力する。
【0035】図3〜図6は、上記フレームクラス、ロジ
ックオブジェクト生成クラス、ロジック実装クラスのそ
れぞれに対応するプログラムの例を示す図である。本プ
ログラムは、米サン・マイクロシステムズが開発したオ
ブジェクト指向プログラミング言語であるJava言語
を用いて記述した例である。これらのプログラム内にお
いて、/*から*/の間および//が付された行はコメ
ントである。なお、この図3〜図6では、データ入力用
(ソース型)のソフトウェア部品に関するプログラムの
例を示している。
【0036】図3は、上記フレームクラスのプログラム
例(Source.java )を示す。図3のプログラムにおい
て、18行目〜21行目および26行目〜37行目は、
ロジックオブジェクトの参照先の設定部22に相当する
部分であり、ここではロジック実装クラスに対して、ロ
ジック25での処理結果の戻し先として自分を設定して
いる。また、23行目は、ロジックオブジェクトの生成
の定義部21に相当する部分であり、ここではロジック
実装クラスのロジック25を内部メモリ上に展開する関
数の名前を定義している。また、39行目以降は、ユニ
ット入出力処理部23に相当する部分であり、ここに入
力用ソフトウェア部品の基本機能を実現する関数群等を
記述する。
【0037】図4は、上記ロジックオブジェクト生成ク
ラスのプログラム例(XSource.java)を示す。図4のプ
ログラムでは、16行目〜20行目において、上記フレ
ームクラスでは名前しか定義されていなかった、ロジッ
ク25を内部メモリ上に展開する関数の内容が実装され
ている。
【0038】図5は、ロジック実装クラスのプログラム
例(XGenerator.java )を示す。図5のプログラムで
は、26行目、30行目、33行目において、次の図6
に示すSoucableクラスで定義された関数が実装されると
ともに、37行目以降において、ロジック25を処理す
るための関数が実装されている。
【0039】図6は、上記ロジック実装クラスが持つべ
き関数の名前を定義したクラスのプログラム例(Soucab
le.java )を示す。ロジック実装クラスは、このSoucab
leクラスで定義された関数を必ず実装しなければならな
い。
【0040】図7は、上記図3〜図6に示した各クラス
の関係を示すクラス構成図である。図7において、フレ
ームクラス(Source)31とロジックオブジェクト生成
クラス(XSource )32との間の関係は、フレームクラ
ス(Source)31が元になるクラスで、ロジックオブジ
ェクト生成クラス(XSource )32がそれを拡張したク
ラスであることを示している。
【0041】また、ロジックオブジェクト生成クラス
(XSource )32とロジック実装クラス(XGenerator)
33との間の関係は、ロジックオブジェクト生成クラス
(XSource )32が生成する側のクラスで、ロジック実
装クラス(XGenerator)33が生成される側のクラスで
あることを示している。
【0042】また、フレームクラス(Source)31とロ
ジック実装クラス(XGenerator)33との間の関係は、
フレームクラス(Source)31が呼び出す側のクラス
で、ロジック実装クラス(XGenerator)33が呼び出さ
れる側のクラスであることを示している。この呼び出し
の際には、その呼び出しに使う関数を定義したクラス
(Soucable)34が使用される。
【0043】以上のように構成した本実施形態によるソ
フトウェアの開発支援装置では、各種ソフトウェア部品
の機能として共通に使用可能なフレーム部(図2のフレ
ームクラスおよびロジックオブジェクト生成クラス)に
ついてはあらかじめ作成して共通機能保存部1に保存し
ておくことにより、所望のソフトウェア部品を作りたい
ときは、そのソフトウェア部品に特有な機能を有するロ
ジック部(図2のロジック実装クラス)だけを作れば良
い。
【0044】なお、フレーム部についても多少手を加え
る必要があるが、それは、メモリ上に展開するロジック
の名前の記述を変えるだけで良い。すなわち、図4に示
すXSource プログラムにおいて、使用するロジックの名
前を表すXGenerator()という記述を、使用するロジック
の名前に合わせて変えるだけで良い。フレーム部の実体
機能を記述した入出力処理等の記述については何ら手を
加えなくても良い。
【0045】したがって、ソフトウェア部品の開発者
は、自分が希望するロジック部のプログラムだけをコー
ディングすれば良くなり、ソフトウェア部品の全体を最
初からコーディングしていた従来に比べて、記述すべき
プログラムの範囲を少なくすることができる。よって、
開発者の負担を格段に減らすことができ、ソフトウェア
部品開発の作業効率を飛躍的に向上させることができ
る。
【0046】また、フレーム部についてはほとんど手を
加えなくても良いので、開発者は、そのフレーム部の仕
組みや、生成したソフトウェア部品を実際に機能させる
ための実行環境(フレームワーク)の仕組み等を正確に
理解する必要もない。したがって、これらの仕組みを知
らない開発者にとっても、ロジック部を作成する能力さ
えあればソフトウェア部品を簡単に作成することができ
る。
【0047】また、本実施形態では、上記フレーム部を
更に入力用、入出力用、出力用の3つのカテゴリに分け
ているので、作成したソフトウェア部品を再利用しやす
くすることができるというメリットも有する。すなわ
ち、従来は、1つのソフトウェア部品にデータ入力、デ
ータ出力、データ変換などの機能を複数持たせることが
多くあった。ところが、例えばデータ変換の機能はその
ままにデータ入力の機能だけを変えたいような場合に、
そのようにデータ入力の機能だけが異なる都合の良いソ
フトウェア部品が他にない場合には、そのような要求に
合うソフトウェア部品を最初から作る必要があった。
【0048】これに対して、本実施形態によれば、ソフ
トウェア部品のフレーム部を最小機能単位で分割してい
るので、上述の例のように、データ変換の機能はそのま
まにデータ入力の機能だけを変えたいような場合でも、
データ変換用のソフトウェア部品だけを差し替えれば良
く、データ入力用のソフトウェア部品についてはそのま
ま再利用することができる。このとき、適当なデータ変
換用のソフトウェア部品がなくても、それを作ること自
体は上述したように非常に簡単である。したがって、ソ
フトウェア部品開発の作業効率を大幅に向上させること
ができる。
【0049】さらに、ソフトウェア部品を入力用、入出
力用、出力用の3つの最小機能単位に分けることで、そ
れぞれに特有の役割を明確にすることができる。すなわ
ち、例えば入力用ソフトウェア部品については、データ
入力の起動のタイミングを外部から受け取る仕組みを持
たせることができる。例えば、ユーザがGUIの起動用
ボタンを押したときに、そのアクション開始イベントを
トリガとしてデータの読み込みを開始するようにするこ
とができる。
【0050】また、例えば入出力用のソフトウェア部品
については、データ変換処理を強制終了させる仕組みを
持たせることができる。例えば、データ変換処理の途中
で何らかのトラブルが発生し、処理が暴走してしまった
ような場合に、そのイベントをトリガとしてデータ変換
処理を停止させるようにすることができる。また、この
入出力用ソフトウェア部品では、外部から何らかのデー
タが入力されたことをトリガとしてデータ変換処理を開
始させることもできる。
【0051】また、例えば出力用ソフトウェア部品につ
いては、外部から何らかのデータが入力されたことをト
リガとしてデータ出力処理を開始させる仕組みを持たせ
ることができる。例えば、入出力用ソフトウェア部品か
ら入力されるイベントをトリガとして、当該入出力用ソ
フトウェア部品におけるデータ変換処理の結果をファイ
ルやチャートに出力するなどの処理を行うようにするこ
とができる。
【0052】以上のようにして入力用、入出力用、出力
用のそれぞれの機能ごとに生成されたソフトウェア部品
を画面上で貼り付けるとともに、貼り付けたソフトウェ
ア部品同士をつなぎ合わせることによって、所望のアプ
リケーションソフトを作成することができるようにな
る。図8は、複数のソフトウェア部品を用いて、データ
をファイルから読み込み、ニューロ演算を行い、その演
算結果をファイルおよびチャートに出力するアプリケー
ションの作成例を示す図である。
【0053】図8において、41は起動用信号を発生さ
せるための部品であり、例えばGUIのスタートボタン
等がこれに相当する。42はファイル読み込み部品であ
り、本実施形態の入力用ソフトウェア部品により構成さ
れる。43はニューロ演算部品であり、本実施形態の入
出力用ソフトウェア部品により構成される。44は分配
部品であり、入力された1つのデータを2つに分配する
機能を持つ。
【0054】また、45はファイル書き込み部品、46
は演算結果表示部品であり、双方とも本実施形態の出力
用ソフトウェア部品により構成される。なお、上記起動
部品41および分配部品44は、従来のソフトウェア開
発支援ツールでも標準的に用意されているものであり、
本実施形態でもこれをそのまま利用することが可能であ
る。
【0055】図8に示すように、これら複数のソフトウ
ェア部品41〜46を画面上の適当な位置に貼り付ける
とともに、貼り付けたソフトウェア部品同士を線でつな
ぎ合わせると、それらソフトウェア部品41〜46の機
能と配線の仕方に応じたアプリケーションソフトが自動
的に生成される。
【0056】このとき、個々のソフトウェア部品に対す
るデータの入力元や出力先の関係等については、引かれ
た配線等に基づいて開発支援装置の実行環境(フレーム
ワーク)が自動的に判断して、その部分のプログラムを
自動生成する。この機能は、従来からあるソフトウェア
開発支援ツールの機能を利用したものである。
【0057】なお、以上に説明した本実施形態によるソ
フトウェアの開発支援装置は、コンピュータのCPUあ
るいはMPU、RAM、ROMなどで構成されるもので
あり、RAMやROMに記憶されたプログラムが動作す
ることによって実現できる。したがって、コンピュータ
が上記機能を果たすように動作させるプログラムを、例
えばCD−ROMのような記録媒体に記録し、コンピュ
ータに読み込ませることによって実現できるものであ
る。上記プログラムを記録する記録媒体としては、CD
−ROM以外に、フロッピーディスク、ハードディス
ク、磁気テープ、光磁気ディスク、不揮発性メモリカー
ド等を用いることができる。
【0058】また、コンピュータが供給されたプログラ
ムを実行することにより上述の実施形態の機能が実現さ
れるだけでなく、そのプログラムがコンピュータにおい
て稼働しているOS(オペレーティングシステム)ある
いは他のアプリケーションソフト等と共同して上述の実
施形態の機能が実現される場合や、供給されたプログラ
ムの処理の全てあるいは一部がコンピュータの機能拡張
ボードや機能拡張ユニットにより行われて上述の実施形
態の機能が実現される場合も、かかるプログラムは本発
明の実施形態に含まれる。
【0059】なお、上記に説明した実施形態は、何れも
本発明を実施するにあたっての具体化の一例を示したも
のに過ぎず、これらによって本発明の技術的範囲が限定
的に解釈されてはならないものである。すなわち、本発
明はその精神、またはその主要な特徴から逸脱すること
なく、様々な形で実施することができる。
【0060】
【発明の効果】本発明は上述したように、ソフトウェア
部品を、各ソフトウェア部品に共通な共通機能部分と、
各ソフトウェア部品に特有な非共通機能部分とに分けて
構成したので、上記共通機能部分についてはあらかじめ
作成して保存しておくことにより、所望のソフトウェア
部品を作りたいときは、そのソフトウェア部品に特有な
非共通機能部分だけを作れば良くなり、ソフトウェア開
発の作業効率を大幅に向上させることができる。しか
も、共通機能部分についてはほとんど手を加えなくても
良いので、その仕組み自体を開発者が正確に理解しなく
ても良く、仕組みを知らない開発者でもソフトウェア部
品を簡単に作成することができる。さらに、本発明で
は、ソフトウェア部品を、データの入力を扱うソフトウ
ェア部品と、データの入出力を扱うソフトウェア部品
と、データの出力を扱うソフトウェア部品との3つの最
小機能単位に分けて構成しているので、作成したソフト
ウェア部品を再利用しやすくすることもできる。したが
って、本発明によれば、ソフトウェア開発者の負担を大
幅に軽減し、ソフトウェア開発をより効率的に行うこと
ができるようになる。
【図面の簡単な説明】
【図1】本発明の一実施形態であるソフトウェアの開発
支援装置の構成例を示す機能ブロック図である。
【図2】各ソフトウェア部品に共通な機能を持つフレー
ム部、および各ソフトウェア部品に特有な機能を持つロ
ジック部の詳細な構成を示す図である。
【図3】フレームクラスのプログラムの一例を示す図で
ある。
【図4】ロジックオブジェクト生成クラスのプログラム
の一例を示す図である。
【図5】ロジック実装クラスのプログラムの一例を示す
図である。
【図6】ロジック実装クラスが持つべき関数の名前を定
義したクラスのプログラムの一例を示す図である。
【図7】図3〜図6に示した各クラスの関係を示すクラ
ス構成図である。
【図8】複数のソフトウェア部品を用いてアプリケーシ
ョンを生成する画面例を示す図である。
【符号の説明】
1 共通機能保存部 2 入力用ソフトウェア部品の共通機能モジュール 3 入出力用ソフトウェア部品の共通機能モジュール 4 出力用ソフトウェア部品の共通機能モジュール 5 非共通機能生成部 6a 入力用ソフトウェア部品の非共通機能モジュール 6b 入出力用ソフトウェア部品の非共通機能モジュー
ル 6c 出力用ソフトウェア部品の非共通機能モジュール 7 部品生成部 8 機能選択部 9 部品登録部 10 部品保存部 11 部品選択部 12 アプリケーション生成部 21 ロジックオブジェクトの生成の定義部 22 ロジックオブジェクトの参照先の設定部 23 ユニット入出力処理部 24 ロジックオブジェクトの生成部 25 ロジック

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 ソフトウェア部品を組み合わせて所望の
    ソフトウェアを開発するように成されたソフトウェアの
    開発支援装置において、 上記ソフトウェア部品を、データの入力を扱う第1のソ
    フトウェア部品と、データの入出力を扱う第2のソフト
    ウェア部品と、データの出力を扱う第3のソフトウェア
    部品との3つのカテゴリに分けるとともに、 上記3つのカテゴリに属するソフトウェア部品のそれぞ
    れを、各ソフトウェア部品に共通な共通機能部分と、各
    ソフトウェア部品に特有な非共通機能部分とに分けて構
    成したことを特徴とするソフトウェアの開発支援装置。
  2. 【請求項2】 上記ソフトウェア部品の共通機能部分
    は、当該共通機能部分と共に使用する上記非共通機能部
    分のモジュールをメモリ上に展開するための定義部を含
    む第1のモジュールと、特定された上記非共通機能部分
    のモジュールをメモリ上に展開する第2のモジュールと
    を備えることを特徴とする請求項1に記載のソフトウェ
    アの開発支援装置。
  3. 【請求項3】 上記第1のモジュールは、上記定義部の
    他に、上記非共通機能部分のモジュールの参照先を設定
    するための設定部と、データの入力および出力の少なく
    とも一方の機能を実行する入出力部とを含むことを特徴
    とする請求項2に記載のソフトウェアの開発支援装置。
  4. 【請求項4】 所定機能単位のソフトウェア部品を生成
    するソフトウェア部品生成装置であって、 データの入力を扱う第1のカテゴリに属する各ソフトウ
    ェア部品に共通な共通機能部分、データの入出力を扱う
    第2のカテゴリに属する各ソフトウェア部品に共通な共
    通機能部分、およびデータの出力を扱う第3のカテゴリ
    に属する各ソフトウェア部品に共通な共通機能部分のモ
    ジュールをそれぞれ保存する共通機能保存手段と、 それぞれのソフトウェア部品に特有な非共通機能部分の
    モジュールを生成する非共通機能生成手段と、 上記非共通機能生成手段により生成された上記非共通機
    能部分のモジュールと上記共通機能保存手段に保存され
    ている何れかのカテゴリに属する上記共通機能部分のモ
    ジュールとを選択的に組み合わせることによりソフトウ
    ェア部品を生成する部品生成手段とを備えたことを特徴
    とするソフトウェア部品生成装置。
  5. 【請求項5】 所定機能単位のソフトウェア部品を生成
    するソフトウェア部品生成方法であって、 データの入力を扱う第1のカテゴリに属する各ソフトウ
    ェア部品に共通な共通機能部分、データの入出力を扱う
    第2のカテゴリに属する各ソフトウェア部品に共通な共
    通機能部分、およびデータの出力を扱う第3のカテゴリ
    に属する各ソフトウェア部品に共通な共通機能部分のモ
    ジュールをそれぞれあらかじめ作成して保存しておき、 それぞれのソフトウェア部品に特有な非共通機能部分の
    モジュールを生成し、当該生成した上記非共通機能部分
    のモジュールと、上記保存されている何れかのカテゴリ
    に属する上記共通機能部分のモジュールとを選択的に組
    み合わせることにより、所望のソフトウェア部品を生成
    するようにしたことを特徴とするソフトウェア部品生成
    方法。
  6. 【請求項6】 データの入力を扱う第1のカテゴリに属
    する各ソフトウェア部品に共通な共通機能部分、データ
    の入出力を扱う第2のカテゴリに属する各ソフトウェア
    部品に共通な共通機能部分、およびデータの出力を扱う
    第3のカテゴリに属する各ソフトウェア部品に共通な共
    通機能部分のモジュールをそれぞれ保存する共通機能保
    存手段と、 それぞれのソフトウェア部品に特有な非共通機能部分の
    モジュールを生成する非共通機能生成手段と、 上記非共通機能生成手段により生成された上記非共通機
    能部分のモジュールと上記共通機能保存手段に保存され
    ている何れかのカテゴリに属する上記共通機能部分のモ
    ジュールとを選択的に組み合わせることによりソフトウ
    ェア部品を生成する部品生成手段としてコンピュータを
    機能させるためのプログラムを記録したことを特徴とす
    るコンピュータ読み取り可能な記録媒体。
JP11212472A 1999-07-27 1999-07-27 ソフトウェアの開発支援装置、ソフトウェア部品生成装置およびその方法、記録媒体 Withdrawn JP2001043079A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11212472A JP2001043079A (ja) 1999-07-27 1999-07-27 ソフトウェアの開発支援装置、ソフトウェア部品生成装置およびその方法、記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11212472A JP2001043079A (ja) 1999-07-27 1999-07-27 ソフトウェアの開発支援装置、ソフトウェア部品生成装置およびその方法、記録媒体

Publications (1)

Publication Number Publication Date
JP2001043079A true JP2001043079A (ja) 2001-02-16

Family

ID=16623220

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11212472A Withdrawn JP2001043079A (ja) 1999-07-27 1999-07-27 ソフトウェアの開発支援装置、ソフトウェア部品生成装置およびその方法、記録媒体

Country Status (1)

Country Link
JP (1) JP2001043079A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003228567A (ja) * 2002-02-05 2003-08-15 Dainippon Printing Co Ltd 電子カタログ用閲覧プログラムの作成装置
JP2008041038A (ja) * 2006-08-10 2008-02-21 Mitsubishi Electric Corp ソフトウエア作成方法
JP2014219988A (ja) * 2013-05-10 2014-11-20 富士通株式会社 フィードバック付き機能モジュール組み合わせ方法及び装置並びにデータ処理方法及び設備

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003228567A (ja) * 2002-02-05 2003-08-15 Dainippon Printing Co Ltd 電子カタログ用閲覧プログラムの作成装置
JP2008041038A (ja) * 2006-08-10 2008-02-21 Mitsubishi Electric Corp ソフトウエア作成方法
JP2014219988A (ja) * 2013-05-10 2014-11-20 富士通株式会社 フィードバック付き機能モジュール組み合わせ方法及び装置並びにデータ処理方法及び設備

Similar Documents

Publication Publication Date Title
CN112528619A (zh) 页面模板文件生成方法、装置、电子设备和存储介质
JP2005301985A (ja) 情報処理装置、オブジェクト生成方法、オブジェクト変換方法、オブジェクト生成プログラム、オブジェクト変換プログラム及び記録媒体
EP2110741A1 (en) A method and a system for transforming an object model
JP2001043079A (ja) ソフトウェアの開発支援装置、ソフトウェア部品生成装置およびその方法、記録媒体
JP2005108082A (ja) デバイスドライバのインターフェース方法
JP3930255B2 (ja) システム仕様情報処理装置、システム仕様情報処理方法及びプログラム
JPH10240510A (ja) オブジェクト指向設計支援装置
JPH1011271A (ja) バージョンダウン入力方式
JPH11272524A (ja) データ変換装置および記憶媒体
JPH03282935A (ja) コンパイル処理装置及びコンパイル処理方式
JP2720768B2 (ja) プログラムカストマイズ装置
JP3197685B2 (ja) 高位合成装置
JPH05150970A (ja) プログラム作成支援装置
TWI236626B (en) System and method for integrating programs of targeted system to save computer system resources
JP2532132B2 (ja) 拡張テンプレ―トテ―ブルの展開処理方式
JPH09305366A (ja) 画面表示最適化方法
JP2002288149A (ja) 並列計算機のチェックポイントリスタートにおけるノード座標変換方法
JPH05303484A (ja) データリンク方式
JPH02236732A (ja) ソースプログラム作成方式
WO2006025472A1 (ja) Lyee方法論に基づく処理経路図作成方法、作成装置、ソフトウェア生成方法、生成装置、ソフトウェア並びにソフトウェア開発支援用ソフトウェア
JP2001101028A (ja) 並列プログラム開発支援装置および並列プログラム開発支援方法ならびに該方法を記録した記録媒体
JPH05282134A (ja) 分割ロードモジュール作成方式
JPH04107650A (ja) データベース参照構造移行方式
JP2000235485A (ja) シナリオ作成方法及び装置及びシナリオ作成プログラムを格納した記憶媒体
JPH0628159A (ja) リロケータブルオブジェクト統合方法、及びリンケージエディタ

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20061003