JPH0969041A - ソフトウェア部品の作成支援方法 - Google Patents

ソフトウェア部品の作成支援方法

Info

Publication number
JPH0969041A
JPH0969041A JP7223268A JP22326895A JPH0969041A JP H0969041 A JPH0969041 A JP H0969041A JP 7223268 A JP7223268 A JP 7223268A JP 22326895 A JP22326895 A JP 22326895A JP H0969041 A JPH0969041 A JP H0969041A
Authority
JP
Japan
Prior art keywords
software component
software
attribute
code
component
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.)
Pending
Application number
JP7223268A
Other languages
English (en)
Inventor
Mitsuyoshi Ejiri
光良 江尻
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.)
Meidensha Corp
Meidensha Electric Manufacturing Co Ltd
Original Assignee
Meidensha Corp
Meidensha Electric Manufacturing Co Ltd
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 Meidensha Corp, Meidensha Electric Manufacturing Co Ltd filed Critical Meidensha Corp
Priority to JP7223268A priority Critical patent/JPH0969041A/ja
Publication of JPH0969041A publication Critical patent/JPH0969041A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 要求仕様を満たすソフトウェア部品を選択し
容易に作成できる。 【解決手段】 ソフトウェア部品事例10としてソフト
ウェア部品11を格納しておき、ソフトウェア部品11
を仕様属性キー12によって部品検索部13で検索し、
キーとルールによってソフトウェア部品11の細部を自
動修正部14で修正し、必要に応じてユーザによるコー
ド生成と手動修正部15でソフトウェア部品11を修正
し、有効なソフトウェア部品11aができたならばこれ
を部品事例として登録して再利用を図るという構成をと
る。その後、所定の属性関連ルール16によりソフトウ
ェア部品11の曖昧検索を行い、所定のコード変更ルー
ル17により要求仕様に応じてソフトウェア部品11の
コード内容を変更・修正する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、ソフトウェアの
生産性や再利用のため、ソフトウェア部品(ある程度の
機能を持ったプログラムをブラックボックス化し、コー
ドの再利用性や可搬性を良くしたもの)を用意してそれ
を組み合わせることにより、アプリケーションを作成す
る際のソフトウェア部品の検索や合成を支援するソフト
ウェア部品の作成支援方法に関するものである。
【0002】
【従来の技術】ソフトウェア部品は上述したようにプロ
グラムをブラックボックス化したものであるからソフト
ウェア部品を作成する際の支援、あるいは合成するため
の技術が必要である。このために、VC++などのプログ
ラミング環境、上流CASEツール、あるいはIntelligent
PadのようなVisual Programmingツールなどがある。こ
こで、VC++などのプログラミング環境においては、グ
ラフィカルユーザインターフェース(Graphical User I
nterface:以下「GUI」という。)を容易に作成できる
もので、多くの有用な関数を利用することができる。ま
た、上流CASEツールでは、OMT法などの要求分析技術を
用いてソフトウェア部品のスケルトン(骨格)を出力し
ている。さらに、Intelligent Padでは、画面上の擬似
ソフトウェア部品を組み合わせてソフトウェア部品を作
成する方法がとられる。
【0003】
【発明が解決しようとする課題】ところで、VC++など
のプログラミング環境では、ユーザは予め用意された関
数を選択して使用しながらプログラミングをしなければ
ならない。このため、関数の選択にユーザの負担がかか
る。また、上流CASEツールでは、定型的なプログラムの
大枠は作成してくれるものの、詳細な部分はユーザが初
めからプログラミングしなければならないという問題が
ある。さらに、Visual Programmingツールの場合でも、
有効なソフトウェア部品の選択やカスタマイズはユーザ
自身が行わなければならなず、このため、ソフトウェア
部品の個数が多い場合にはユーザにかかる負担が大きい
という問題がある。この他、ソフトウェアの生産性を高
めるためには、ソフトウェア部品の選択や修正をある程
度自動的に行う必要がある。このためにソフトウェア部
品の仕様やインタフェースの構造を規定し使用しやすい
形にする必要がある。
【0004】この発明は、上記の事情に鑑みてなされた
もので、要求仕様を満たすソフトウェア部品を選択、修
正することができるとともに、検索を効率良く行うこと
ができるソフトウェア部品の作成支援方法を提供するこ
とを目的とする。
【0005】
【課題を解決するための手段】この発明は、複数のソフ
トウェア部品を組み合わせて構成されるソフトウェア部
品の作成支援方法において、所定の属性関連ルールによ
りソフトウェア部品の曖昧検索を行い、所定のコード変
更ルールにより要求仕様に応じてソフトウェア部品のコ
ード内容を変更・修正することを特徴とするものであ
る。ここで、属性関連ルールは、ソフトウェア部品の分
野や機能を表す属性のキーの類似検索のために属性およ
びその属性値間の関係を表したルールであり、また、コ
ード変換ルールは、属性値によって変更可能な部分のコ
ードを変更するルールである。
【0006】そして、この構成により、CBR(事例ベー
ス推論)の概念をソフトウェア部品合成に適用すること
ができる。つまり、属性関連ルールによって要求仕様を
大枠で満たすようなソフトウェア部品を選択し、またソ
フトウェア部品のコードに変更可能な部分とそれを示す
属性値との対応をとっておき、要求仕様に応じて選択し
たソフトウェア部品のコード内容をコード変更ルールで
自動的に変更修正することができる。
【0007】また、前記ソフトウェア部品が内部に置換
ソフトウェア部品を含み、ソフトウェア部品の変更・修
正が要求仕様にしたがって前記置換ソフトウェア部品を
交換することで行われる構成とすることもできる。この
場合、置換ソフトウェア部品がそれを含むソフトウェア
部品に依存しないように書かれている。
【0008】
【発明の実施の形態】
(実施の形態1)以下に、第1発明に係る実施の形態を
説明する。まず、ソフトウェア部品を効率良く使用する
ためには、ソフトウェア部品の検索、カスタマイズ、あ
るいは再利用を支援するためのツールが有効である。こ
のようなツールとして、CBR(事例ベース推論)の枠組
みを用いてこれを実現することを考える。CBRによるCAS
Eのイメージを図1に示した。
【0009】このCBRを用いた図1において、部品事例
10としてソフトウェア部品11を格納しておき、ソフ
トウェア部品11を仕様属性キー12によって部品検索
部13で検索した後、キーとルールによってソフトウェ
ア部品11の細部を自動修正部14で修正し、必要に応
じてユーザによるコード生成と手動修正部15でソフト
ウェア部品11を修正し、有効なソフトウェア部品11
aができたならばこれを部品事例として登録して再利用
を図るという構成をとる。
【0010】ここで、ソフトウェア部品11は、分野、
機能を表す属性(キー)21と、ソフトウェア部品コー
ド22,23(22は変更可能部分、23は変更部分対
応属性値)で構成される。この属性の取りうる値は、予
め与えられている。また、再利用性のため、インターフ
ェース(引き数、戻り値)の形は予め決めておく。さら
に、コードには変更可能な部分22が設定されており、
それはキー属性(A,B,C)と対応付けられている。
【0011】また、ルールとしては、属性のキーの類似
検索のために属性および属性値間の関係を表した属性関
連ルール16と、属性値によって変更可能な部分のコー
ドを変更するコード変更ルール17がある。属性関連ル
ール16は、関連している(つまり、似ている)属性値
のペアで与えられており、属性値を与えることにより、
それに似た属性値を返すことができるようになってい
る。コード変更ルール17は、どのようなソフトウェア
部品内で有効かを示すキーと、変更内容を示すキーと対
応するコードのペアで与えられている。
【0012】そして、入力として要求仕様を属性値の列
で与えると、直接ソフトウェア部品を検索または属性関
連ルール16によって類似属性を求めてその属性値で検
索する。そのとき、全部の属性値が一致しなくてもある
程度の一致または類似で許すことにする。
【0013】ここで、複数のソフトウェア部品が検索さ
れた場合には、ユーザにより1つが選択される。また、
一部分の属性の一致で検索された複数のソフトウェア部
品で要求仕様属性を満足するような複数のソフトウェア
部品が検索された場合には、ユーザにより選択された1
つのソフトウェア部品に組み立てられるようにする。ま
た、検索されたソフトウェア部品に対して、要求仕様属
性と検索ソフトウェア部品キーを比較し、異なっている
属性値とそれに対応するコード上の変更可能部分を特定
する。そして、ソフトウェア部品キーと異なっている部
分の属性値からコード変更ルール17により、変更部分
のコードを検索する。また、ソフトウェア部品の該当変
更部分コードを、検索された変更部分コードで置き換え
ることにより、修正を行う。
【0014】修正された有効なソフトウェア部品11a
は、再利用のために新たな事例として登録する。また、
必要に応じて、ユーザがソフトウェア部品やルールを作
成して登録する。さらに、一部分属性で検索された複数
ソフトウェア部品は、それぞれのソフトウェア部品を修
正した後、ユーザによりそのソフトウェア部品を使用し
た新たなコードを作成し、使用したソフトウェア部品部
分と対応を取る属性を設定して新たなソフトウェア部品
のキーを作成し登録する。そして、修正において検索キ
ーから外れているルール上で対応がとれなかった属性値
についても同様に、ユーザが新たなコードを作成して登
録する。
【0015】次に、本実施形態の具体例として、VC++
上のライブラリであるMFC(Microsoft Foundation Clas
s)を用いた簡易ソフトウェア部品合成システムを考え
る。仕様属性を与えることにより、MFCを使用した簡単
なコードを合成する。ここで、MFCの関数は関数名が機
能を系統的に表すように付けられているため、簡単のた
めにコード自身ではなく、関数呼出の形をソースとして
扱うことにする。すなわち、単に、呼び出す関数の名前
を生成するという意味ではなく、関数名の形で与えるこ
とができるソースコード体系を仮に考えている。(レベ
ルが一段階上の言語、コンパイルするとC++コードが
出力されるイメージ。) ここで、ソフトウェア部品は次のように表現されてい
る。
【0016】分野.機能キー:属性値、 ソース:引き数を与えた関数呼出形式、 変更可能部分:引き数の値、呼出関数名の部分。
【0017】次に、一例として、GUIソフトウェア部品
を使用した合成過程を示す。まず、下表に、ソフトウェ
ア部品におけるキーとコードの対応を示した。ここで、
キーにおける属性値とコードとの対応は、表において下
線(実線、破線)のようにとられている。
【0018】
【表1】
【0019】また、属性関連ルール(似ている属性値の
組)は、所得〜設定、状態〜チェック状態、ファイル名
〜パス名〜拡張子である。そして、属性値と対応するコ
ード変更ルールを次に示す。
【0020】 取得−Get***,設定−Set*** 状態−***State,チェック状態−***Check 追加−Add*** リストボックス&項目−***String ファイル名−***FileName,パス名−***PathNam
e,拡張子−***FileExt さらに、実行例1〜実行例3を次にそれぞれ示す。
【0021】実行例1 ・仕様キー入力:ボタン、状態、設定 →検索→属性関連ルールにより“設定”を“取得”に置換 ボタン、状態、取得:btn.GetState(); →修正→コード変更ルールにより、“取得”の“Get”を“設定”の“Set”に 変更 ボタン、状態、設定:btn.SetState(); →ユーザー定義→属性関連ルールを追加、部品のキーを変更 ボタン、状態、設定=ボタン操作 ボタン操作:btn.SetState(); →ルール登録、事例登録 実行例2 ・キー:ファイル、ダイアログ、生成、ファイル名、取得 →検索→一部分の属性にマッチした複数の部品 ファイル、ダイアログ、生成 :CFileDialog dlg; ファイル、ダイアログ、ファイル名、取得:dlg.GetFileName(); →ユーザー作成→部品を使って新たな部品を作成 ファイル、ダイアログ、生成、ファイル名、取得=ファイル名、取得 、ダイアログ ファイル名、ダイアログ:{CFileDialog dlg;fname=dlg.GetFile Name();} →ルール登録、事例登録 実行例3 ・キーリストボックス、項目、指定位置、追加 →検索→(検索にかからない属性値あり) リストボックス、項目、追加:lbx.AddString(LPCSTR); →修正→ルール該当なし →ユーザー作成→コード変更ルールを追加 指定位置、追加−Insert,(int) リストボックス、項目、指定位置、追加:lbx.InsertString(int, LPCSTR); →ルール登録、事例登録 上記により新規登録された事例、ルールを示すと次のよ
うになる。
【0022】 ボタン、状態、設定=ボタン操作 ボタン操作 :btn.SetState(); ファイル、ダイアログ、生成、ファイル名、取得=ファイル名、取得、ダイア ログ ファイル名、取得、ダイアログ:{CFileDialog dlg;fname=dlg.GetFileNa me();} リストボックス、項目、指定位置、追加:lbx.InsertString(int,LPCSTR) ; 指定位置&追加−Insert***,(int) 上記実施の形態1においては、ソフトウェア部品に付け
られた検索キーと属性関連ルールにより、要求仕様を大
枠で満たすようなソフトウェア部品を選択することがで
きる。また、ソフトウェア部品のコードに変更可能な部
分とそこを示す属性値との対応をとっておき、コード変
更ルールを用意しておくことにより、要求仕様に応じて
コード内容を自動的に変更修正することができる。
【0023】(実施の形態2)実施の形態1で説明した
通り、ソフトウェア部品を効率良く使用するためには、
ソフトウェア部品の検索、カスタマイズ、再利用を支援
するツールが有効であり、また、CBRの枠組を用いてこ
れを実現することを考える場合、事例としてソフトウェ
ア部品を格納しておき、ソフトウェア部品を仕様キーに
よって検索し、ルールによってソフトウェア部品の細部
を自動修正し、必要に応じてユーザがソフトウェア部品
を修正し、ソフトウェア部品を使用、有効なソフトウェ
ア部品ができたならば、これを事例として登録し、再利
用を図る。
【0024】(ソフトウェア部品の構成)まず、ソフト
ウェア部品は、検索キーである仕様部分とソフトウェア
部品の中身の部品部分(リソース)のペアで与えられ
る。また、ソフトウェア部品リソースは、修正される部
分が設定されており、その部分もソフトウェア部品で表
される。そして、ソフトウェア部品を修正する場合に
は、修正される部分のソフトウェア部品を仕様にしたが
って置換する形となる。なお、この発明においては、リ
ソースとして、特に構造を持たないソースコードそのも
の(C++など)の並びを扱うことにする。
【0025】このリソースは、ソースコードの並びであ
る、適切な機能毎のブロックで切られており、またブロ
ックは修正のための変更可能部分となることができる。
またこの場合、ソースコードは意味がないダミーとな
り、変更仕様や詳細属性で実際のコードが与えられる。
そしてここは、変更仕様や詳細属性と対応がとられてお
り、変更仕様の中の変更場所や詳細属性の中の設定場所
でポインタつけがなされる。
【0026】(ソフトウェア部品の仕様)仕様は、簡単
な構造を持った属性値集合で与えられる。与える仕様
は、大別して機能仕様、変更仕様、詳細属性の3つに分
けられる。そして、詳細仕様とは、ソフトウェア部品の
機能の概要を表すものであり、ユーザが任意に指定した
文字列で与える。ソフトウェア部品を検索する際のキー
となる。
【0027】また、変更仕様は、ソフトウェア部品の機
能の一部を変更するための仕様であり、ソフトウェア部
品の一部分(ソフトウェア部品で表されている)を置換
するソフトウェア部品のソフトウェア部品名となる。変
更場所(ソフトウェア部品のリソースの中での変更部分
のコードへのポインタ)と変更ソフトウェア部品(置換
するソフトウェア部品のポインタ)が与えられている。
【0028】さらに、詳細属性とは、ソフトウェア部品
の属性や細かいリソースを直接設定するための仕様で、
ソフトウェア部品のリソースを直接書き替える置換文字
列を与える。設定場所(ソフトウェア部品のリソースの
中の設定部分のコードへのポインタ)が与えられてい
る。
【0029】(ソフトウェア部品のインターフェース)
変更仕様で与えられる変更可能部分のコードに対応する
置換ソフトウェア部品は、再利用性のため親のソフトウ
ェア部品に依存しないように書かれる必要がある。そし
て、ソフトウェア部品は、インターフェースとして変数
を使用し、リソースの中で入出力に使われている変数の
名前とリソースの中での位置がソフトウェア部品のイン
ターフェース定義として与えられている。ソフトウェア
部品のアクセスは、この変数のみを通して行う。
【0030】次に、ソフトウェア部品内における変更仕
様によって与えられる置換ソフトウェア部品とのインタ
ーフェースについて考える。代入による変数の受け渡し
は、変数の形によっては単純に行えない場合がある。よ
って、変数の名前を変えることにより変数の受け渡しを
行うようにする。
【0031】また、ソフトウェア部品内の変数と置換ソ
フトウェア部品内で使われている変数の対応をとるため
に、変更仕様においてもインターフェース変数を指定す
る。ソフトウェア部品リソースを使う(コードを出力す
るためなど)段階において、リソースを展開する際に置
換ソフトウェア部品内の変数を書き替えてソフトウェア
部品で使用されるようにする。ソフトウェア部品の変更
仕様におけるインターフェース変数とソフトウェア部品
内の置換ソフトウェア部品のインターフェース変数は置
換ソフトウェア部品のカテゴリーによって使う変数の定
義の位置と意味が定められているとして、変数の並び通
りに対応を取り、置換ソフトウェア部品内の変数名をソ
フトウェア部品の変更仕様インターフェース変数の名前
に書き替える。書き替える場所は、置換ソフトウェア部
品内のインターフェース変数定義によって与えられてい
る。
【0032】(ソフトウェア部品の修正)ソフトウェア
部品の修正は、ソフトウェア部品内部の置換ソフトウェ
ア部品を仕様によって置換することで行う。置換ソフト
ウェア部品を検索するための修正知識(ルール)として
類似属性値知識がある。類似属性値知識は、変更仕様の
属性値の関係を表したもので、互いにあるカテゴリーで
似ている属性値が組になっている。これにより、変更仕
様の属性値が関連しているが、異なるものを得ることが
できる。修正内容を得るための知識として、置換ソフト
ウェア部品がある。置換ソフトウェア部品は、変更仕様
属性値とリソースの対応を、粒度の低いソフトウェア部
品の形で再帰的に表されている。
【0033】入力として要求仕様を機能仕様、変更仕
様、詳細属性の属性値を与えると、初めに機能仕様の全
一致によってソフトウェア部品を検索する。さらに、変
更仕様によって検索するのであるが、このときには、変
更仕様の属性値そのものの他に、属性値を類似属性値知
識により似た属性値に変換したものでも検索する。
【0034】検索されたソフトウェア部品に対して要求
変更仕様属性値と検索ソフトウェア部品の変更仕様属性
値とを比較する。そして、異なっているソフトウェア部
品の変更仕様を修正する。そこで、検索されたソフトウ
ェア部品の変更仕様に対する置換ソフトウェア部品とし
て、要求変更仕様属性値を機能仕様に持つソフトウェア
部品を検索し、ソフトウェア部品の変更仕様の変更ソフ
トウェア部品として今回検索された置換ソフトウェア部
品へのポインタを設定する。
【0035】そして、最後に、詳細属性を設定する。検
索されたソフトウェア部品の詳細属性の置換文字列を要
求詳細属性の属性値でそのまま置き換える。
【0036】図2に、実際の表現として、以上の仕組み
を実現するための概念の構成図を示した。これによれ
ば、テキスト上でのソフトウェア部品などの定義を与え
る書式を示す汎用ないし専用のエディタを用いて、書式
にしたがってテキスト形式でソフトウェア部品を定義で
きる。そこで、以下に示す各表における定義文法を次に
示す。定義文法において、イタリック体で示した文字は
ユーザー指定文字列を、アルファベットで示した文字は
予約語を、│…│…│で示した記号は選択を、[…]で
示した記号は省略可を、*[…]で示した記号は繰り返
しをそれぞれ示す。図2において、入力仕様、機能仕様
および変更仕様を表2に示す。
【0037】
【表2】
【0038】また、同図において、詳細属性およびイン
ターフェースを表3に示す。
【0039】
【表3】
【0040】さらに、変更仕様インターフェース、プロ
グラムコード、リソース、ソフトウェア部品および類似
属性値を表4に示す。
【0041】
【表4】
【0042】上記した実施の形態2においては、置換ソ
フトウェア部品を含むソフトウェア部品とソフトウェア
部品に付けられた仕様と類似属性値知識により要求仕様
を満たすようなソフトウェア部品を選択、修正すること
ができる。
【0043】上述した形態2はCBR(事例ベース推論)
の枠組みを用いてソフトウェア部品を検索し、また、ソ
フトウェア部品の内部を更にソフトウェア部品で表し、
内部のソフトウェア部品(置換ソフトウェア部品)を置
換することによりソフトウェア部品を修正するシステム
である。このシステムではソフトウェア部品は機能など
によって分類されていないため、置換ソフトウェア部品
の検索の際、全てのソフトウェア部品集合を対象に検索
を行うことができなかった。そこで、ソフトウェア部品
を効率よく検索するためにカテゴリ分けした実施の形態
3について述べる。
【0044】(実施の形態3)実施の形態3において、
カテゴリとは概念の意味を表すもので、機能仕様、変更
仕様、詳細属性はカテゴリで分類されており、あるソフ
トウェア部品の同じ可換部分に置換できるソフトウェア
部品は同じカテゴリに属するものとする。同じカテゴリ
に属することで置換ソフトウェア部品の検索の際の選択
の幅を狭める効果がある。
【0045】図3はカテゴリの構造を示す説明図で、カ
テゴリは概念を階層構造で表したもので、上は抽象的な
名前から下はソフトウェア部品自身の名前までが分類さ
れている。そして、機能仕様、変更仕様はカテゴリの名
前で与えられる。あるカテゴリから派生した新しいカテ
ゴリは元のカテゴリの子カテゴリとなる。複数のカテゴ
リを合わせて1つの新しいカテゴリを作った場合、新し
いカテゴリには複数の親カテゴリがあることになる。図
3において、スクロールバーは「バー」と「ボタン」で
作られ、また、スクロールバーは変更仕様として数値の
種類、「実数」を持つ。
【0046】ここで、ソフトウェア部品の機能仕様はあ
るカテゴリに属するようにカテゴリとポインタ(ソフト
ウェア部品ポインタ)で結ばれている。図4はこのポイ
ンタ構造を示すこの発明の概念構成説明図で、あるソフ
トウェア部品に置換ソフトウェア部品を組み合わせて新
しいソフトウェア部品を作成したとき、そのソフトウェ
ア部品の機能仕様は元のソフトウェア部品の機能仕様の
下位カテゴリになる。また、組み合わせられた置換ソフ
トウェア部品の機能仕様を変更仕様として持ち、機能仕
様のカテゴリと変更仕様のカテゴリがポインタ(置換カ
テゴリポインタ)で結ばれている。
【0047】図4において、ある要求仕様が与えられた
ときに、仕様が類似するソフトウェア部品を検索する場
合、始めに要求仕様を持つソフトウェア部品を検索し、
その機能仕様のカテゴリのリンクの近いものを辿ること
により類似した仕様を持つソフトウェア部品を検索する
ことができる。また、ソフトウェア部品の変更仕様に対
応する置換ソフトウェア部品の置換候補(類似ソフトウ
ェア部品)を求めるときに、ソフトウェア部品の機能仕
様のカテゴリから置換ソフトウェア部品ポインタを辿
り、変更仕様のカテゴリを得て、そのカテゴリの親カテ
ゴリに属する子カテゴリの部品だけを検索する必要がな
い。
【0048】また、カテゴリによってソフトウェア部品
のインターフェースの形を決めるようにする。カテゴリ
にインターフェースのテンプレート(変数や関数の個
数、意味、型などの組みの集合)を用意しておき、ソフ
トウェア部品を新たに作ったときはインターフェースを
カテゴリのインターフェーステンプレートに従って作成
する。カテゴリを新たに作成したときは、親カテゴリの
インターフェーステンプレートを基に新たにインターフ
ェーステンプレートを作成する。このように同じカテゴ
リに属するソフトウェア部品はインターフェースの形や
表す意味を同じにする。あるソフトウェア部品の変更仕
様に対応する置換ソフトウェア部品を置き換えようとす
るとき、もとの置換ソフトウェア部品と同じカテゴリに
属するソフトウェア部品ならばインターフェースをあま
り気にせずに置換することができ、置換ソフトウェア部
品の可換性を保証できる。
【0049】上記の実施の形態3において、カテゴリと
その構造によってソフトウェア部品が分類され、置換ソ
フトウェア部品などの検索の際の検索空間を小さくする
ことができるため、検索を効率よく行うことができる。
また、カテゴリによってソフトウェア部品のインターフ
ェースの形を決めることにより、置換ソフトウェア部の
可換性を保証することができる。
【0050】
【発明の効果】以上述べたように、この発明によれば、
要求仕様を満たすソフトウェア部品を選択することがで
きるとともに容易に作成することができる。また、この
発明によれば、要求仕様を満たすようなソフトウェア部
品を選択、修正することができる。さらに、この発明に
よれば、カテゴリとその構造によってソフトウェア部品
が分類され、置換ソフトウェア部品の検索の際の検索空
間を小さくすることができるため、検索効率を向上させ
ることができるとともに、カテゴリによってソフトウェ
ア部品のインターフェースの形を決めることにより、置
換ソフトウェア部品の可換性を保証することができる。
【図面の簡単な説明】
【図1】実施の形態1におけるCBRによるCASEのイメー
ジの説明図である。
【図2】実施の形態2における概念構成の説明図であ
る。
【図3】実施の形態3におけるカテゴリの例を示す説明
図である。
【図4】実施の形態3における概念構成の説明図であ
る。
【符号の説明】
10…部品事例 11…ソフトウェア部品 11a…有効なソフトウェア部品 12…仕様属性キー 13…部品検索部 14…自動修正部 15…手動修正部 16…属性関連ルール 17…コード変更ルール 21…分野、機能を表す属性キー 22…ソフトウェア部品コード

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 複数のソフトウェア部品を組み合わせて
    構成されるソフトウェア部品の作成支援方法において、 前記ソフトウェア部品は分野、機能を表す属性キーとソ
    フトウェアコードから構成され、属性の取り得る値を予
    め与えて置くとともにソフトウェアコードには変更可能
    部分が設定され、かつその部分は属性キーと対応付けら
    れ、 前記属性キーの類似検索のための属性および属性値間の
    関係を表した属性関連ルールと、属性値によって前記変
    更可能部分のコードを変更するコード変更ルールとを設
    け、 前記属性関連ルールによりソフトウェア部品の曖昧検索
    を行うとともに、コード変更ルールにより要求仕様に応
    じてソフトウェア部品のコード内容を変更・修正した
    後、有効な新たなソフトウェア部品ができたなら再利用
    のために新たなソフトウェア部品を登録するようにした
    ことを特徴とするソフトウェア部品の作成支援方法。
  2. 【請求項2】 前記ソフトウェアコードが関数呼び出し
    形式をソースとしたことを特徴とする請求項1記載のソ
    フトウェア部品の作成支援方法。
  3. 【請求項3】 前記ソフトウェア部品は検索のキーのた
    めの仕様部分とソフトウェア部品本体であるリソースお
    よびインターフェースからなり、リソースは修正される
    部分が設定されるとともに、その設定部分もソフトウェ
    ア部品で表され、ソフトウェア部品を修正する際には、
    修正される部分のソフトウェア部品を仕様に従って置換
    ソフトウェア部品としたことを特徴とする請求項1また
    は2記載のソフトウェア部品の作成支援方法。
  4. 【請求項4】 前記仕様部分はソフトウェア部品の機能
    の概要を表す機能仕様と、ソフトウェア部品の機能の一
    部を変更するための変更仕様およびソフトウェア部品の
    属性や細かいリソースを直接設定するための詳細属性仕
    様からなることを特徴とする請求項3記載のソフトウェ
    ア部品の作成支援方法。
  5. 【請求項5】 前記置換ソフトウェア部品は再利用にた
    めに、置換前のソフトウェア部品に依存しないよう書か
    れていることを特徴とする請求項3記載のソフトウェア
    部品の作成支援方法。
  6. 【請求項6】 前記ソフトウェア部品の修正には、まず
    機能仕様の全一致によってソフトウェア部品を検索した
    後、変更仕様によって検索し、このとき、変更仕様の属
    性値そのもの他に、属性値を類似属性値知識で似た属性
    値に変換したものでも検索し、検索されたソフトウェア
    部品に対して要求変更仕様属性値と検索ソフトウェア部
    品の変更仕様属性値とを比較し、異なっているソフトウ
    ェア部品の変更仕様を修正することを特徴とする請求項
    3記載のソフトウェア部品の作成支援方法。
  7. 【請求項7】 前記ソフトウェア部品は概念を階層構造
    で表したカテゴリーで表現したことを特徴とする請求項
    3記載のソフトウェア部品の作成支援方法。
  8. 【請求項8】 前記ソフトウェア部品を効率良く検索す
    るために前記仕様部分をカテゴリー分けしたことを特徴
    とする請求項4記載のソフトウェア部品の作成支援方
    法。
JP7223268A 1995-08-31 1995-08-31 ソフトウェア部品の作成支援方法 Pending JPH0969041A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7223268A JPH0969041A (ja) 1995-08-31 1995-08-31 ソフトウェア部品の作成支援方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7223268A JPH0969041A (ja) 1995-08-31 1995-08-31 ソフトウェア部品の作成支援方法

Publications (1)

Publication Number Publication Date
JPH0969041A true JPH0969041A (ja) 1997-03-11

Family

ID=16795460

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7223268A Pending JPH0969041A (ja) 1995-08-31 1995-08-31 ソフトウェア部品の作成支援方法

Country Status (1)

Country Link
JP (1) JPH0969041A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001325094A (ja) * 2000-05-17 2001-11-22 Sharp Corp スクリプト開発装置および、コンピュータを、スクリプト開発装置として動作させるためのプログラムを記録したコンピュータ読取可能な記録媒体
JP2010134616A (ja) * 2008-12-03 2010-06-17 Mitsubishi Electric Corp 計算機機能切替システム
JP2021039570A (ja) * 2019-09-04 2021-03-11 オムロン株式会社 プログラム開発装置、プロジェクト作成方法およびプログラム開発装置を実現するためのプログラム
WO2024090463A1 (ja) * 2022-10-28 2024-05-02 株式会社日立製作所 ソフトウェア構成管理データ構造、ソフトウェア構成管理データ作成支援装置、ソフトウェア構成管理データ作成支援方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001325094A (ja) * 2000-05-17 2001-11-22 Sharp Corp スクリプト開発装置および、コンピュータを、スクリプト開発装置として動作させるためのプログラムを記録したコンピュータ読取可能な記録媒体
JP2010134616A (ja) * 2008-12-03 2010-06-17 Mitsubishi Electric Corp 計算機機能切替システム
JP2021039570A (ja) * 2019-09-04 2021-03-11 オムロン株式会社 プログラム開発装置、プロジェクト作成方法およびプログラム開発装置を実現するためのプログラム
WO2021044650A1 (ja) * 2019-09-04 2021-03-11 オムロン株式会社 プログラム開発装置、プロジェクト作成方法およびプログラム開発装置を実現するためのプログラム
US11704113B2 (en) 2019-09-04 2023-07-18 Omron Corporation Program development device, project creation method, and storage medium
WO2024090463A1 (ja) * 2022-10-28 2024-05-02 株式会社日立製作所 ソフトウェア構成管理データ構造、ソフトウェア構成管理データ作成支援装置、ソフトウェア構成管理データ作成支援方法

Similar Documents

Publication Publication Date Title
Alderson Meta-CASE technology
JP4448881B2 (ja) コンピュータプログラムを発生する方法及びシステム
JPH08202545A (ja) ターゲット言語コードを生成するためのオブジェクト指向システム及びその方法
US10379817B2 (en) Computer-applied method for displaying software-type applications based on design specifications
JPH05324713A (ja) 自然語処理方法および自然語処理システム
JP3871832B2 (ja) データ処理プログラム自動生成システム及びその方法並びにコンピュータ可読記録媒体
JPH0969041A (ja) ソフトウェア部品の作成支援方法
JP3294691B2 (ja) オブジェクト指向システム構築方法
JP3759630B2 (ja) スパイラル型オブジェクト指向ソフトウェアの開発支援システム
JPH06214768A (ja) プログラム部品作成方法及びプログラム自動生成方法
JPH0744343A (ja) 操作支援情報自動生成装置
WO2024116688A1 (ja) 発想支援システム及び方法
JP2003186670A (ja) データベースアクセスコンポーネントの自動生成装置,自動生成方法及び自動生成プログラム
JPH06214776A (ja) ソフトウェア自動生成システム
JP2001134423A (ja) 対話型既存システムを利用する新システムの画面情報出力方法
CN117632997A (zh) 一种跨数据库平台的命令行界面及读写操作方法
JP3019874B2 (ja) プログラム生成/合成装置および方法
Halim et al. Form Application Generation with Case-based Reasoning Approach
JP2724241B2 (ja) ブロック図部品処理機能付きプログラム自動生成装置
KR19990032183A (ko) 웹 데이터베이스를 위한 하이퍼텍스트의 시각적 설계 방법
JPH06266545A (ja) Gui部品ライブラリ開発支援装置
JPH05341972A (ja) ソフトウエア開発装置
JPH10254686A (ja) オブジェクト指向プログラミング支援装置
JPH06161723A (ja) プログラム開発言語編集装置
JPH05289857A (ja) プログラム生成方法