JPH07110766A - アプリケーションフレームワークの再利用方法 - Google Patents

アプリケーションフレームワークの再利用方法

Info

Publication number
JPH07110766A
JPH07110766A JP25671293A JP25671293A JPH07110766A JP H07110766 A JPH07110766 A JP H07110766A JP 25671293 A JP25671293 A JP 25671293A JP 25671293 A JP25671293 A JP 25671293A JP H07110766 A JPH07110766 A JP H07110766A
Authority
JP
Japan
Prior art keywords
class
library
information
subclass
application
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
JP25671293A
Other languages
English (en)
Inventor
Miho Yanagimachi
美帆 柳町
Kimito Takadate
公人 高舘
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP25671293A priority Critical patent/JPH07110766A/ja
Publication of JPH07110766A publication Critical patent/JPH07110766A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 本発明はソフトウェア開発者にドメインに共
通となる再利用可能な仕様書、プログラムを提供するこ
とにある。 【構成】 仕様書読み込み処理105は、ライブラリか
ら仕様書102を読み込み、読み込んだ仕様書のデータ
を仕様書表示処理106に渡す。仕様書表示処理は、C
RT109に仕様書を表示する。同時に、追加変更必要
項目読み込み処理108が、ライブラリから追加変更項
目テーブル103を読み込み、追加変更必要項目明示処
理107に追加変更必要項目を渡す。追加変更必要項目
明示処理は、追加変更必要項目をCRT上で明示する。 【効果】 本発明によれば、ドメイン毎にライブラリを
構築し、ライブラリ内の仕様書、プログラムを全て再利
用して、アプリケーションを開発するので、従来のライ
ブラリに比べて部品の検索の手間は不要であり、アプリ
ケーションプログラムの大部分が再利用できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はソフトウェア開発に必要
なライブラリ内の仕様書、プログラムの再利用方法に関
するものである。コンパイラ、図形エディタ、業務支援
システムなど共通の性質を有するアプリケーションの集
合をドメインと考えた時、あるドメインに属する全ての
アプリケーションに共通となるアプリケーションフレー
ムワークの存在が考えられる。本発明は特に、このアプ
リケーションフレームワークの再利用に関するものであ
る。
【0002】
【従来の技術】近年、オブジェクト指向の概念を利用し
てソフトウェアを開発する手法が注目を集めている。本
手法に基づいてソフトウェアを開発すると、ソフトウェ
アはクラスと呼ばれる単位に分割される。クラスとは、
データとそれに対する操作をまとめたモジュールであ
る。データは属性と呼ばれ、操作はメソッドと呼ばれ
る。日付のクラスを例にとって説明する。日付は、年、
月、日、曜日の4つの属性からなる。メソッドとして
は、任意の日付を与えると曜日を返すメソッド、任意の
日付を与えるとその日付が実際に存在する日付か否かチ
ェックするメソッド等が考えられる。
【0003】クラスの間には階層関係を定義する事が可
能であり、階層上で上位のクラスをスーパークラス、下
位のクラスをサブクラスと呼ぶ。サブクラスのメソッド
は、スーパークラスのメソッドを継承する。例えば、ク
ラスAのサブクラスとしてクラスBがあるとする。Aク
ラスで定義したメソッドにa1、a2があり、Bクラス
で定義したメソッドにb1があるとする。この場合、ク
ラスBのメソッドはa1、a2、b1になる。もし、ク
ラスBでクラスAのメソッドと同名のメソッドa2が定
義されていれば、クラスBではメソッドa2はクラスB
で定義されたものが使われる。
【0004】このようなクラスのうち、様々なアプリケ
ーションに汎用的に利用できるクラスをライブラリに蓄
積するクラスライブラリが提案されている。例えば、”
Integrating Information Retrieval and Domain Speci
fic Approaches for Browsing and Retrieval in Objec
t-Oriented Class Libraries” Richard Helm and Yoel
le S. Maarek, IBM Thomas J.Watson Research Center
OOPSLA ′91, pp.47-61 は、ライブラリ内にクラスの仕
様書とプログラムを蓄積するものである。本ライブラリ
は予め、クラスの仕様書の中の用語を抽出し、各用語が
どの程度同じ仕様書に出現するかを検索し、用語間の相
関関係を計算する。用語間の相関関係、用語とクラスの
関係、用語間の相関関係から求めたクラス間の相関関係
をドメイン知識として、ライブラリ内に蓄積する。利用
者が要求するクラスの仕様を自然語で入力すると、要求
仕様の中に出現する用語とドメイン知識を基に、要求仕
様に最も一致するクラスを検索して表示すると共に、検
索されたクラスに相関性の強いクラスを画面上に表示す
る。
【0005】特定なドメインにのみ有効なクラスをライ
ブラリに蓄積する技術としては、特願平4-272665と特願
平5-178792があった。ドメインを限定することで、ドメ
インに特有な機能と機能の間の典型的な関係が存在す
る。例えば、図書館システムのドメインを想定すると、
機能として本の返却機能、貸出機能、検索機能が考えら
れる。検索機能をさらに分類すると、書名による検索、
著者名による検索、貸出人による検索が考えられる。さ
らに、ある機能と別の機能の間に両立しえない関係と、
ある機能を実現したときに必ず別の機能を実現しなけれ
ばならない関係がある。特願平4-272665は、このような
機能の間の関連をライブラリ内に蓄積し、これらの情報
を利用者に表示することで、アプリケーションの機能設
計を誘導するものであった。
【0006】特願平5-178792は、機能と機能を実現する
クラスやメソッドをライブラリ内に対応つけて登録する
ことにより、特願平4-272665で利用者に提示した機能の
関連図上で、利用者が選択した機能を実現するクラスや
メソッドを抽出する。ライブラリ内のクラスは、ドメイ
ンの機能として考えられる全ての機能を実現するため
に、様々なメソッドを有する。利用者が選択した機能に
対応するメソッドのみをクラスから抽出することで、コ
ンパクトなクラスを生成することができる。
【0007】
【発明が解決しようとする課題】IBMのライブラリに
は、Xウィンドウシステム用のクラスや、リストやスタ
ックなどのデータ管理のためのクラス等が主に蓄積され
ていた。これらのクラスは、様々なアプリケーションに
汎用的に利用できる反面、クラスのサイズはたかだか数
百ステップであり、1つのクラスを利用しただけでは、
効果が少ないという問題があった。
【0008】さらに、目的とするクラスを検索する作業
が必要となり、利用者はクラスに関連する用語や要求仕
様を入力しなければならない。検索されたクラスが目的
とするクラスか否かを確認するために、クラスを理解す
る必要がある。目的とするクラスを検索するまでに、こ
の作業を繰り返すため蓄積されているクラスの数が多い
場合には手間が掛かるという問題があった。
【0009】特願平4-272665と特願平5-178792は、汎用
的に利用できるクラスではなく、特定のドメインにのみ
適用できるクラスを蓄積する。これら2つの特許は、ド
メインを限定することによって、利用者に対する設計の
誘導、プログラムの合成について記述してある。ライブ
ラリ内の全てのクラスを再利用するために、効果が大き
い。さらに、特定なクラスを検索する手間もなくなる。
【0010】ドメインに特化したライブラリを利用する
場合にも、新規のアプリケーションで必要となるクラス
が全てライブラリに蓄積されていることは無い。新規の
アプリケーションに特有なクラスを追加する必要があ
る。一部のクラスを修正する必要も発生する。ライブラ
リの構造を理解し、修正個所を突き止め、修正するのは
困難な作業である。ライブラリの開発に携わり、良く理
解した人間でも、修正すべき個所を見落とし、修正洩れ
が発生する。特願平4-272665と特願平5-178792は、これ
らの問題についての考慮がなされていなかった。
【0011】本発明はソフトウェア開発者にドメインに
共通となる再利用可能な仕様書、プログラムを提供する
ことにある。
【0012】
【課題を解決するための手段】上記目的を達成するた
め、本発明ではドメイン)毎に、ドメインに属するアプ
リケーションに共通する仕様書やプログラムを、ドメイ
ンのフレームワークとしてライブラリに蓄積する。新規
のアプリケーションを開発する際に、このドメインのフ
レームワークを再利用することによって、開発効率を大
幅に向上させる。第1の発明は、再利用を容易にするた
めに、ライブラリ内の仕様書やプログラムとは別に、仕
様書やプログラムにおいて、変更や追加が必要となる部
分を示す情報を蓄積する。ライブラリ内の仕様書やプロ
グラムを画面上に表示する際に、変更や追加が必要とな
るクラスを、仕様書やプログラム上で示すことによっ
て、変更個所を明示的に表現できる。特に、新規に開発
するアプリケーションに特有となるクラスをサブクラス
として追加すべきクラスを示すと有効である。
【0013】第2の発明は、第1の発明において、ある
仕様書にサブクラスを追加した場合に、変更や追加が必
要となる仕様書の部分の情報を元に、影響を受ける別の
仕様書を検索し、検索した仕様書に利用者が追加したサ
ブクラスを追加する。これによって、利用者の仕様書、
プログラムの変更を誘導し、関係する仕様書間の整合性
を保つ。第3の発明は、ある仕様書に記述されたクラス
を別なクラスに置換した際、置換後のクラスのメソッド
と置換後のクラスの上位のクラスのメソッドを比較し、
上位クラスのメソッドが置換後のクラスで再定義されて
いる場合、前記仕様書の中でメソッドの再定義によって
影響を受ける部分を変更し、仕様書間の整合性を保つ。
【0014】第4の発明は、あるドメインがより小さな
ドメインを含むような階層構造がある場合、利用者が指
定したドメインに対応する仕様書を画面上に表示する
際、ドメインに特有な部分を明示することによって、ド
メインの間の関係を利用者が知ることができるようにす
る。第5の発明は、ライブラリ内の仕様書、プログラム
中の依存関係のあるクラス間において、一つのクラスが
消去された場合、クラスと依存関係のあるクラスが、仕
様書の中から消去され、仕様書間の整合性を保つ。
【0015】
【作用】第1の発明は、サブクラスを追加すべきクラス
を示す情報を、仕様書やプログラムとは別に、ライブラ
リ内に蓄積し、ライブラリ内の仕様書やプログラムを表
示する際に、情報に基づいて、クラスを明示的に表示す
ることによってなされる。 第2の発明は、クラス間の
階層関係の情報や追加したサブクラスの情報をライブラ
リ内に蓄積することで、ライブラリ内の他の仕様書やプ
ログラムを編集する際、情報に基づいて、追加したサブ
クラスを表示することによってなされる。第3の発明
は、ライブラリ内に蓄積されたメソッドの情報から、上
位クラスと下位クラスの持つメソッドを検索、比較する
ことによって、下位クラスで追加したメソッド、再定義
したメソッドを見つけ出し、メソッドに関して記述した
仕様書、プログラムの内容において、再定義されている
メソッドを下位クラスのメソッドの内容に変更すること
によってなされる。
【0016】第4の発明は、ドメインの間の階層構造を
ライブラリ内に蓄積し、ライブラリ内の仕様書をドメイ
ン毎に蓄積し、各仕様書を上位のドメインの仕様書との
差分情報のみ保持させ、利用者が指定したドメインに対
応する仕様書を表示する際、利用者が指定したドメイン
の全ての上位のドメインに対応する仕様書を読み込ん
で、各ドメインに対応する仕様書の持つ差分を表示する
ことでなされる。第5の発明は、依存関係のあるクラ
ス、クラスの持つメソッドなどの情報に基づいて、ある
クラスを削除したことによって、他のどのクラスからも
メソッドが呼び出されなくなったクラスを検索し、クラ
スを記述してある仕様書、プログラムの中から該クラス
を消去をすることによってなされる。
【0017】
【実施例】以下、本発明の実施例を詳細に説明する。最
初に第1の発明の実施例を説明する。第1の発明は、ラ
イブラリ内の仕様書の中で、変更すべき箇所やサブクラ
スを追加すべき箇所を利用者に提示することによって利
用者の作業を誘導するものである。
【0018】第1の発明を実現するライブラリシステム
の構成図を図1に示す。図2は、本発明を用いたライブ
ラリシステムが、画面上に仕様書を表示する際の、処理
手順を示すフローチャートである。図3は、本発明のハ
ードウェア構成を示す図である。300は本発明のプロ
グラムを実行するCPU、110は利用者からの入力を
受け付けるキーボード、マウス等の入力装置、109は
プログラムの実行結果を画面に表示する表示装置、30
1は、本発明のプログラムとデータを一時的に記憶する
主記憶装置、303は本発明のプログラムとデータを記
憶する外部記憶装置である。
【0019】図1のシステム構成図に基づいて本実施例
を説明する。追加変更必要項目設定/解除処理109
は、ライブラリの構築者が指定した仕様書内の項目に対
し、該仕様書を再利用する際に追加変更が必要であるこ
とを示す情報を設定する。ライブラリの利用者が、ライ
ブラリ内の仕様書を画面に表示する際に、仕様書読み込
み処理105は、ライブラリから仕様書102を読み込
み、読み込んだ仕様書のデータを仕様書表示処理106
に渡す。仕様書表示処理は、CRT109に仕様書を表
示する。同時に、追加変更必要項目読み込み処理108
が、ライブラリから追加変更項目テーブル103を読み
込み、追加変更必要項目明示処理107に追加変更必要
項目を渡す。追加変更必要項目明示処理は、追加変更必
要項目をCRT上で明示する。追加変更項目テーブルの
ファイル名のプレフィックスを仕様書のファイル名のプ
レフィックスと同一にすることにより、対応を取る。
【0020】表示結果の例として図4に、レンタル業務
システムのドメインにおけるフレームワークの1つであ
る、クラス間の関係を定義したオブジェクト図を示す。
レンタル業務システムでは、利用者とレンタルするもの
を示す対象物があり、貸出/返却の記録を貸出簿で管理
する。レンタル業務システムのアプリケーションとして
は、ビデオレンタルシステム、図書館システム等様々な
システムが存在するが、”利用者”401、”対象物”
402、”貸出簿”403の3つのクラスは共通に利用
できる。そこで、この3つのクラスの関係を記述したオ
ブジェクト図がレンタル業務のドメインにおけるフレー
ムワークとなる。
【0021】図4で示したオブジェクト図を元に、アプ
リケーションが開発されるが、アプリケーションによっ
て貸し出す対象物が異なる。ビデオレンタルシステムで
は、対象物がビデオカセットになり、図書館システムで
は本になる。よって、これらのアプリケーションを開発
する際には、図4のオブジェクト図に個々のアプリケー
ションに特化したクラスを追加する必要がある。具体的
には、”対象物”のサブクラスとして、”ビデオ”や”
本”を追加する。本発明では、”対象物”にサブクラス
を追加する必要があることを示すために、”対象物”が
追加必要項目であることを明示する。
【0022】図2は本発明を実現するフローチャートで
ある。ライブラリ内の仕様書を読み込む(201)。仕
様書は、画面に表示するための情報を管理する表示テー
ブルと、仕様書に記述された意味を管理する意味テーブ
ルから構成される。表示テーブルを表1に、意味テーブ
ルを表2に示す。
【0023】
【表1】
【0024】
【表2】
【0025】上記テーブルを基に、仕様書をCRT上に
表示する(202)。次に、変更必要部分をライブラリ
から読み込む(203)。変更必要部分の形式を表3に
示す。
【0026】
【表3】
【0027】上記テーブルをもとに、変更必要部分を仕
様書の表示テーブルから検索する(205)。変更必要
部分検索の詳細フローチャートを図19に示す。変更/
追加項目テーブルから1件データを取得する(20
6)。テーブルの終わりである場合には処理を終了する
(207)。そうでなければ、追加変更必要フラグがO
Nになっているか否かをチェックする(208)。例え
ば、表3では、最初のデータは”利用者”で、追加変更
必要フラグはOFFである。よって、次のデータを取得
する。”対象物”を取得した場合、フラグがONなの
で、表示テーブルから1件データを取得する(20
9)。テーブルの終わりである場合は、処理206に戻
る(210)。そうでない場合は、変更/追加項目テー
ブルから取得したデータのクラス名と表示テーブルのク
ラス名が一致しているか否かをチェックする(21
1)。例えば、表2では、1件目のデータは”利用者”
なので、”対象物”と一致していない。一致していない
場合には、表示テーブルから次のデータを取得する(2
09)。一致した場合は、表示テーブルから取得したデ
ータの種別を調べ、”クラス”であるならば(21
2)、クラス用の明示データを作成し(213)、連合
であるならば(214)、連合用の明示データを作成す
る(215)。”対象物”の場合、種別は”クラス”な
ので、クラス用の明示データを作成する。次に、明示デ
ータを元に変更必要部分を表示する(205)。
【0028】次に、第2の発明の実施例を図5のシステ
ム構成図を用いて説明する。第2の発明は、第1の発明
に従って利用者がサブクラスを追加した際に、別な仕様
書を編集する際に、追加したサブクラスを画面上に表示
し、その中から利用者が選択したサブクラスを、仕様書
内のクラスと置換することで、別な仕様書におけるサブ
クラスの追加変更を誘導するものである。
【0029】図1のシステム構成に加えて、アプリケー
ション仕様書編集処理104が利用者が指定した変更必
要なクラス名を入力装置110から入力する。仕様書読
み込み処理105は各アプリケーションに特化した仕様
書であるアプリケーション仕様書の中から、クラス間の
関係を定義したオブジェクト図101を読み込む。利用
者が指定したクラスのサブクラスはサブクラス検索処理
501が検索する。その検索結果として得られたサブク
ラス名はサブクラス表示処理502に渡され、CRT1
09上に表示される。
【0030】表示結果を図7に示す。この例は、レンタ
ル業務システムのドメインにおけるフレームワークの1
つである、クラス間のメソッドの流れを示すイベントト
レース図を示す。第1の発明によれば、イベントトレー
ス図上変更するクラスが明示されて表示される。ここで
は、”対象物”が明示されて表示されている。”対象
物”を別なクラスに変更する際に、オブジェクト図にお
いて追加したサブクラスが示される。本実施例では”C
D”、”ビデオ”と”本”が示されている。これによっ
て、開発者の作業が容易になる。
【0031】図6に本発明の第2の実施例のフローチャ
ートを示す。図2のフローチャートに加え、利用者が選
択したクラスのクラス名を得る(601)。次に、オブ
ジェクト図を読み込む(602)。オブジェクト図には
クラスのスーパークラス/サブクラスの関係を示すデー
タが入っており、これを表4に示す。
【0032】
【表4】
【0033】この表から利用者が指定したスーパークラ
スを検索(603)し、表3の表示テーブルに従って表
示する(604)。例えば、利用者が選択したクラス
が”対象物”であるとすると、”CD”、”ビデ
オ”、”本”、が検索され、画面上に表示される(70
1)。
【0034】次に、第3の発明の実施例を図8のシステ
ム構成図を用いて説明する。第3の発明は、利用者が仕
様書内のクラスをサブクラスに置換した際、置換前のク
ラスの有するメソッドと置換後のクラスの有するメソッ
ドを比較し、置換後のサブクラスで、置換前のクラスの
メソッドを再定義している場合に、メソッドの再定義に
よって影響を受ける仕様書内の部分を変更することで、
仕様書間の整合性を維持する。
【0035】図1のシステム構成に加え、アプリケーシ
ョン仕様書編集処理104は利用者が指定した変更必要
なクラス名を入力装置110から入力し、仕様書読み込
み処理105に各アプリケーションに特化した仕様書で
あるアプリケーション仕様書101を読み込ませ、利用
者の指定したクラスのサブクラスの持つメソッドをメソ
ッド取得処理801に検索させる。そしてその検索結果
として得られたメソッド名をメソッド解析処理802に
渡し、スーパークラスのメソッドが再定義されている場
合に、再定義されている処理内容をメソッド表示処理8
03に渡し、CRT109上に表示させる。
【0036】本実施例の表示結果を図10に示す。本実
施例は各クラスの持つメソッドが再定義されている場合
に影響箇所を変更する機能である。クラスの持つメソッ
ドがスーパークラスとサブクラスで異なる場合、メソッ
ドを記述する仕様書のなかでサブクラスの候補を選択し
た場合にサブクラス用の仕様書に書き換える処理を行
う。図10の場合では、スーパークラスの持つメソッド
では”貸出通知記入”1002というものがあるのに対
して、サブクラスではそのメソッドの代わりに、”ビデ
オ貸出通知記入”1002、”貸出統計一覧記入”10
04というメソッドがある。仕様書のサブクラスの候補
を付加した際に表示が変わる。
【0037】図9に本発明の第3の実施例のフローチャ
ートを示す。図6のフローチャートにしたがって表示さ
れたサブクラスの中から、利用者が選択したサブクラス
を入力する(901)。選択されたクラスのメソッド仕
様書を読み込む(902)。この仕様書は選択されたク
ラスの持つメソッドとその中で呼ばれているクラスとメ
ソッドが記述されている。この仕様書を表5に示す。
【0038】
【表5】
【0039】編集中の仕様書の中でスーパークラスが入
力クラスになっているメソッドを取得する(903)。
図10に編集中の仕様書の1実施例を示す。図10では
入力クラスとなっているメソッドは”貸出通知”100
1である。表5に示したメソッドが記述されたテーブル
からサブクラスのメソッドを取得する(904)。サブ
クラスのメソッドとスーパークラスのメソッドが同じで
あるか比べる(905)。
【0040】もし、同じ場合は、スーパークラスのメソ
ッドが再定義されているので、スーパークラスのメソッ
ドに対応するメソッドを他のメソッドと区別して点線表
示する(907)。表5より”貸出通知”1001のメ
ソッドの中から呼ばれているメソッドは”ビデオ貸出通
知記入”1002と”貸出統計一覧記入”1004なの
で2つのメソッドを追加し、太線表示する。図10で
は”貸出通知記入”1003がスーパークラスのメソッ
ドなので点線表示する(907)。また、スーパークラ
スとサブクラスのメソッドが異なる場合はサブクラスに
他のメソッドがあるかメソッドテーブルを再度検索する
(909)。
【0041】もし、異なるメソッドがある場合はメソッ
ド名を取得(904)する部分に戻る。異なるメソッド
がない場合はスーパークラスに他のメソッドがないかス
ーパークラスのメソッドテーブルを検索し(908)、
ある場合は処理(903)に戻る。ない場合は処理を終
了する。
【0042】次に、第4の発明の実施例を図11のシス
テム構成図を用いて説明する。第4の発明は、ドメイン
間の階層関係を考慮する。ドメインは、類似するアプリ
ケーションの集合であり、集合の中に部分集合が存在す
るように、ドメインの中にサブドメインが存在する。例
えば、レンタル業務システムのドメインは、CDレンタ
ルシステムのドメインや、図書館システムのドメインが
含まれる。ドメインが小さくなれば、アプリケーション
が特定できるので、サブクラスが追加できる。ドメイン
とドメインに特有なクラスの関係を管理することで、利
用者が選択したドメインに特有なクラスを利用者に表示
することができ、利用者のドメインの理解を助けること
ができる。
【0043】図1のシステム構成図に加え、表示したい
ドメイン名を入力装置110から入力し、ドメイン階層
読み込み処理1102は利用者の指定したドメインをド
メイン階層1101から読み込み、ドメイン階層を仕様
書読み込み処理105に渡す。仕様書読み込み処理10
5は、ドメイン階層の最上位ドメインから利用者が指定
したドメインまで、順にドメインに対応する仕様書を読
み込み、仕様書表示処理106に順に仕様書の情報を渡
す。仕様書表示処理106は順に仕様書をCRT109
上に表示させる。仕様書の情報は上位のドメインに属す
る仕様書の差分情報のみを保持している。図14にドメ
イン階層と仕様書との対応関係を示す。ライブラリ内の
仕様書はドメイン毎にグループ分けされている。例え
ば、レンタル業務ドメイン1401の下位ドメインとし
てCDレンタルドメイン1402と図書館システムドメ
イン1403が存在し、仕様書A1404と仕様書B1
405はレンタル業務ドメインに属している。仕様書毎
に追加変更テーブルが付随している。
【0044】また、利用者が指定したドメインに固有な
部分を他と区別して表示するために、仕様書表示処理は
差分となるクラスをCRT109上に明示する。また、
追加変更必要項目がサブクラスを追加することで変更に
なることがある。仕様書を読み込むと同時に、追加変更
必要項目読み込み処理108が、ライブラリからサブク
ラスの追加変更必要項目を読み込み、追加変更必要項目
明示処理107に追加変更必要項目を渡す。追加変更必
要項目明示処理はスーパークラスの明示状態を追加変更
必要項目設定/解除処理1103に解除させ、サブドメ
インに固有な追加変更必要項目をCRT109上で明示
させる。
【0045】図13に本実施例の表示結果を示す。本実
施例は第1の実施例に加え、利用者が指定したドメイン
に固有のクラスを追加し、ドメイン固有の差分を他と異
なる表示状態にする。本実施例では利用者はレンタル業
務のサブドメインであるCDレンタルのドメインを選択
し、CDレンタル業務に特化したCDクラス1301が
追加され、明示されている。
【0046】図12に本発明の第4の実施例のフローチ
ャートを示す。ドメイン内のドメイン階層図を読み込み
(1201)、ドメイン階層図を画面上に表示する(1
202)。表示されたドメイン階層図において、利用者
が開発しようとしているアプリケーションが属するドメ
インを指定すると、指定されたドメインの名称を読み込
む(1203)。利用者が指定したドメインに対応する
仕様書を表示する。ドメインに対応する仕様書は、上位
のドメインに対応する仕様書との差分情報を保持してい
るので、一番上位のドメインの仕様書から順に表示して
いく必要がある。まず、指定されたドメインの祖先の差
分を記憶しておく(1204)。上位のドメインから表
示するために、表示するドメインを一番上位のドメイン
にする(1205)。表示するドメインの仕様書をライ
ブラリ内の仕様書から読み込む(1206)。表示する
ドメインの仕様書を表示する(202)。次に表示する
ドメインが今、指定したドメインかどうかを判定する
(1207)。指定したドメインの場合は処理を終了す
る。指定したドメインでない場合は、既に表示をしたド
メインの下位のドメインを表示するドメインにする(1
208)。利用者が指定したドメインに固有のクラスを
明示するために、上位のドメインの明示状態を解除し、
下位のドメインの明示を設定する(1209)。このあ
との処理は(1206)に戻る。
【0047】また、上位のドメインに対応する仕様書に
追加変更必要項目が設定されているときは変更する必要
がある。なぜならば、上位のドメインの仕様書から下位
のドメインの仕様書を作成する際に、クラスの追加や変
更が既になされているためである。図11のブロック図
において、仕様書表示処理106が上位のドメインの追
加変更必要項目を解除するために、追加変更必要項目設
定/解除処理1103に解除指令を出し、明示を解除す
る(1202)。
【0048】次に、第5の発明の実施例を図15のシス
テム構成図を用いて説明する。第5の発明は、不要なク
ラスを仕様書から削除したときに、削除したクラスの有
するメソッドの記述を仕様書の中から取り除く。仕様書
の例として、イベントトレース図を用いて説明する。仕
様書読み込み処理105は、ライブラリから仕様書10
2、例えば”レンタル業務のオブジェクト図”を読み込
み、読み込んだ仕様書のデータを仕様書表示処理106
に渡す。仕様書表示処理は、CRT109に仕様書を表
示する。表示中のオブジェクト図にあるクラスを消去す
る場合、消去したいクラス名を入力装置110から入力
し、アプリケーション仕様書編集処理104はオブジェ
クト図からクラスを消去する。さらに消去するクラス名
を影響仕様書検索処理1501に渡し、影響を受けたク
ラスが記述してある別の仕様書を検索させる。影響仕様
書検索処理は検索結果をクラス自動削除処理1502に
渡す。クラス自動削除処理は入力されたクラスをアプリ
ケーション仕様書から削除する。
【0049】図16に本発明の第5の実施例のフローチ
ャートを示し、図17、18の画面例を用いて説明す
る。まず、ライブラリの仕様書の中からオブジェクト
図”レンタル業務”のオブジェクト図を読み込む(16
01)。読み込んだオブジェクト図を画面に表示する
(1602)。そのオブジェクト図上の削除するクラ
ス”有料”を指定する(1603)。削除指定されたク
ラス”有料”を削除する(1604)。削除されたクラ
ス”有料”を含む別の仕様書をライブラリから1つ読み
込む(1605)。本実施例では図17のイベントトレ
ース図を読み込む。読み込んだ仕様書の中にクラス”有
料”が記述されているか検査をする(1606)。図1
6のイベントトレース図の中には、クラス”有料”が記
述されているので、影響を受ける。影響する仕様書の場
合はクラスを自動的に削除する(1607)。図17
で”有料”に×印がついているのは削除されることを示
している。次に、仕様書クラス”有料”が消去されたこ
とで影響を受けるメソッドの検査を、クラス”有料”が
入出力になっているメソッドを表5のようなメソッドテ
ーブルを用いて検索し、まず、出力メソッド”貸出許可
発行”を消去する(1609)。また、入力メソッド”
貸出許可記入”、”リスト登録確認”を消去する(16
10)。これによって、メソッドの入出力の全く無くな
ったクラスが他に無いかを検査する。この場合、”ブラ
ックリスト”クラスがメソッドの入出力がなくなったの
で、”ブラックリスト”クラスを自動的に削除し、仕様
書”イベントトレース図”を変更する(1611)。他
の影響を受ける仕様書が他にあるか判定する(161
2)。ある場合は処理(1605)にもどる。無い場合
は処理を終了する。その結果17図のイベントトレース
図は18図のように変更される。
【0050】
【発明の効果】本発明によれば、ドメイン毎にライブラ
リを構築し、ライブラリ内の仕様書、プログラムを全て
再利用して、アプリケーションを開発するので、従来の
ライブラリに比べて部品の検索の手間は不要であり、ア
プリケーションプログラムの大部分が再利用できる。
【0051】第1の実施例においては、ライブラリ内の
仕様書、プログラムのどの部分を、追加修正すれば、新
規のアプリケーションが開発できるかを、利用者に示す
ので、ライブラリ内の全ての仕様書、プログラムを理解
する必要が無くなり、効率良く開発できる。
【0052】第2の実施例においては、ライブラリ内の
仕様書、プログラムのどの部分を追加修正したかを他の
仕様書の編集中で利用者に示すので、他の仕様書との整
合性が取れるだけでなく、追加修正がしやすいので、効
率良く開発できる。第3の実施例においては、候補とな
るクラスの追加修正を行った際に、クラスの追加修正の
結果、影響を受ける仕様書を自動的に修正するので、仕
様書間の整合性が取れると共に、上位クラスにはどんな
メソッドが定義され、下位では上位のメソッドとどこが
異なるかを理解し、仕様書を修正する手間が省け、利用
者は効率良く開発できる。
【0053】第4の実施例においては、利用者がドメイ
ンを選択することで、ドメイン固有のクラスを明示する
ので、利用者がドメインの階層構造とドメインとクラス
の対応関係を容易に理解できる。第5の実施例において
は、オブジェクト図内で依存関係のあるクラスA,B間
で、クラスAを消去した場合、クラスBもそれに伴い消
去される。また、他の両クラスに関係のある仕様書にお
いても自動的に修正がなさるので、仕様書間の整合性が
取れると共に、効率良く開発できる。
【0054】
【図面の簡単な説明】
【図1】本発明の第1の実施例の処理手順を示すシステ
ム構成図である。
【図2】本発明の第1の実施例の処理手順を示すフロー
チャートである。
【図3】本発明のデータを制御するハードウェア構成図
である。
【図4】第1の実施例の画面例である。
【図5】本発明の第2の実施例の処理手順を示すシステ
ム構成図である。
【図6】本発明の第1の実施例の処理手順を示すフロー
チャートである。
【図7】第2の実施例の画面例である。
【図8】本発明の第3の実施例の処理手順を示すシステ
ム構成図である。
【図9】本発明の第1の実施例の処理手順を示すフロー
チャートである。
【図10】第3の実施例の画面例である。
【図11】本発明の第4の実施例の処理手順を示すシス
テム構成図である。
【図12】本発明の第1の実施例の処理手順を示すフロ
ーチャートである。
【図13】第4の実施例の画面例である。
【図14】第4の実施例のドメイン階層と仕様書の対応
関係を示す図である。
【図15】本発明の第5の実施例の処理手順を示すシス
テム構成図である。
【図16】本発明の第1の実施例の処理手順を示すフロ
ーチャートである。
【図17】第5の実施例の画面例である。
【図18】第5の実施例の画面例である。
【図19】本発明の変更必要部分検索の詳細手順を示す
フローチャートである。
【符号の説明】
101……アプリケーション仕様書、102……仕様
書、109……CRT、103……追加変更項目テーブ
ル、104……アプリケーション仕様書編集処理、10
5……仕様書読み込み処理、106……仕様書表示処
理、107……追加変更項目明示処理、108……追加
変更項目読み込み処理。

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】クラスの仕様書あるいは、プログラムを管
    理するライブラリにおいて、ライブラリ内の仕様書、あ
    るいはプログラムの相互関連を表示する際に、該情報を
    元にサブクラスを追加すべきクラスと、サブクラスに置
    換すべきクラスを他のクラスと区別して表示することを
    特徴とするアプリケーションフレームワークの再利用方
    法。
  2. 【請求項2】クラスの仕様書あるいは、プログラムを管
    理するライブラリにおいて、ライブラリの仕様書に記述
    されたクラス毎に該クラスにサブクラスを追加すべき
    か、あるいはサブクラスに置換すべきかの情報を利用者
    が設定することを特徴とする請求項1記載のアプリケー
    ションフレームワークの再利用方法。
  3. 【請求項3】サブクラスに置換すべきクラスを他のクラ
    スと区別して表示する際、ライブラリ内の仕様書と追加
    変更項目を読み込み、使用することを特徴とする請求項
    2記載のアプリケーションフレームワークの再利用方
    法。
  4. 【請求項4】仕様書の編集中にクラスをサブクラスに置
    換する際、クラス間の関係を定義した別の仕様書から、
    置換すべきサブクラスの候補を抽出し、それを編集者に
    表示することを特徴とするアプリケーションフレームワ
    ークの再利用方法。
  5. 【請求項5】利用者が置換すべきサブクラスの候補の中
    からサブクラスを選択する際、該サブクラスにおいて、
    そのスーパークラスのメソッドを再定義している場合、
    該クラスのメソッドの再定義によって影響のある部分を
    削除し、再定義された内容を追加することを特徴とする
    請求項4記載のアプリケーションフレームワークの再利
    用方法。
  6. 【請求項6】追加変更されたメソッドを仕様書内の他の
    メソッドと区別して記録することを特徴とする請求項5
    記載のアプリケーションフレームワークの再利用方法。
  7. 【請求項7】クラスライブラリ内に、アプリケーション
    集合の包含関係の情報を有し、かつ各アプリケーション
    集合毎に有するクラスに関する情報を、上位のアプリケ
    ーション集合が有するクラスに関する情報との差分情報
    として有し、利用者がアプリケーション集合を選択した
    際に、該包含関係の情報と該差分情報から該選択した集
    合に対応したクラスを画面に表示することを特徴とする
    アプリケーションフレームワークの再利用方法。
  8. 【請求項8】選択した集合に対応したクラスを画面に表
    示する際に、該選択した集合だけが有するクラスを他の
    クラスと区別して表示することを特徴とする請求項7記
    載のアプリケーションフレームワークの再利用方法。
  9. 【請求項9】クラスライブラリ内に、アプリケーション
    集合の包含関係の情報と、各アプリケーション集合毎に
    有するクラスのメソッドの情報を、上位のアプリケーシ
    ョン集合が有するクラスのメソッドの情報との差分情報
    として有し、利用者がアプリケーション集合を選択した
    際に、該包含関係の情報と該差分情報から該選択した集
    合に対応する該クラスの該メソッドの情報を画面に表示
    することを特徴とするアプリケーションフレームワーク
    の再利用方法。
  10. 【請求項10】利用者がアプリケーションの集合を選択
    した際に、該包含関係の情報と該差分情報から選択した
    集合に対応する該クラスの該メソッドの情報を他のメソ
    ッドと区別する形で表示することを特徴とする請求項9
    記載のアプリケーションフレームワークの再利用方法。
  11. 【請求項11】利用者がアプリケーションの集合を複数
    選択した際に、選択した集合に属する全てのクラスが表
    示されることを特徴とする請求項10記載のアプリケー
    ションフレームワークの再利用方法。
  12. 【請求項12】オブジェクト図内のクラス間の依存関係
    を定義し、あるクラスが消去された時に、依存関係のあ
    るクラスも共に消去されることを特徴とするアプリケー
    ションフレームワークの再利用方法。
  13. 【請求項13】あるクラスが消去される際に、該クラス
    に関連のある仕様書の中のメソッドも共に消去されるこ
    とを特徴とする請求項12記載のアプリケーションフレ
    ームワークの再利用方法。
JP25671293A 1993-10-14 1993-10-14 アプリケーションフレームワークの再利用方法 Pending JPH07110766A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25671293A JPH07110766A (ja) 1993-10-14 1993-10-14 アプリケーションフレームワークの再利用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25671293A JPH07110766A (ja) 1993-10-14 1993-10-14 アプリケーションフレームワークの再利用方法

Publications (1)

Publication Number Publication Date
JPH07110766A true JPH07110766A (ja) 1995-04-25

Family

ID=17296420

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25671293A Pending JPH07110766A (ja) 1993-10-14 1993-10-14 アプリケーションフレームワークの再利用方法

Country Status (1)

Country Link
JP (1) JPH07110766A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100326925B1 (ko) * 1998-10-22 2002-06-27 오길록 비주얼 객체지향 프레임워크 브라우징 장치 및 그 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100326925B1 (ko) * 1998-10-22 2002-06-27 오길록 비주얼 객체지향 프레임워크 브라우징 장치 및 그 방법

Similar Documents

Publication Publication Date Title
US7493561B2 (en) Storage and utilization of slide presentation slides
US7069547B2 (en) Method, system, and program for utilizing impact analysis metadata of program statements in a development environment
US7590939B2 (en) Storage and utilization of slide presentation slides
US7945590B2 (en) Programmability for binding data
US7546533B2 (en) Storage and utilization of slide presentation slides
US7770123B1 (en) Method for dynamically generating a “table of contents” view of a HTML-based information system
US20060136433A1 (en) File formats, methods, and computer program products for representing workbooks
US6317749B1 (en) Method and apparatus for providing relationship objects and various features to relationship and other objects
US8572032B2 (en) Method and apparatus for editing a production data store by shadowing content
US20030101043A1 (en) Method for translating slide presentations into different languages
JP3181994B2 (ja) ジョブフロー仕様書自動作成方法
JPH04229364A (ja) 強調特性変更方法及びシステム
KR100337373B1 (ko) 컴퓨터 지원 설계 시스템에서의 설계정보 관리 방법
JPH06342451A (ja) 文書管理装置
JPH07110766A (ja) アプリケーションフレームワークの再利用方法
JP2925042B2 (ja) 情報リンク生成方法
JPH05313969A (ja) ファイル一覧表示方法
US8621418B2 (en) Interlinked change-request computer system and method having role-based tabular interface
JP4056622B2 (ja) データベース管理装置
US20040164989A1 (en) Method and apparatus for disclosing information, and medium for recording information disclosure program
CN116107628B (zh) 一种基于node.js的文档整理方法
JPH0736684A (ja) ドメイン指向部品管理方法
JPH06161726A (ja) ツールデータ再利用装置
JPH05108457A (ja) ハイパーテキスト情報管理装置
JPH06324853A (ja) オブジェクト指向プログラミング言語を対象とした原始プログラム編集装置