JPH10232769A - クラス追加支援方法 - Google Patents

クラス追加支援方法

Info

Publication number
JPH10232769A
JPH10232769A JP3462897A JP3462897A JPH10232769A JP H10232769 A JPH10232769 A JP H10232769A JP 3462897 A JP3462897 A JP 3462897A JP 3462897 A JP3462897 A JP 3462897A JP H10232769 A JPH10232769 A JP H10232769A
Authority
JP
Japan
Prior art keywords
class
information
name
code
section code
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
JP3462897A
Other languages
English (en)
Inventor
Hirobumi Danno
博文 団野
Gunji Tsukuda
軍治 佃
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 JP3462897A priority Critical patent/JPH10232769A/ja
Publication of JPH10232769A publication Critical patent/JPH10232769A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 (修正有) 【課題】オブジェクト指向技術に非習熟な技術者が、業
務をモデル化したクラス群において、業務用語でクラス
設計ができ、新規クラスの追加ができること。 【解決手段】クラス定義情報からクラス一覧表を表示し
(1)、区分コードテーブルから、任意のクラスのクラ
ス名を上位クラス名に持つ区分コード情報の一覧を作成
・表示し(2)、クラスの継承関係で、任意のクラスの
下位にクラスを新規に作成し、該下位クラスの役割を示
す区分コードを、該上位クラスに定義し(3)、区分コ
ードの名称、値と意味および上位クラス名と新規の下位
クラス名を一行とする区分コード情報を区分コードテー
ブルに追加する(4)、あるいはクラス情報を編集でき
るように、上位クラスのメソッドのうち、下位クラスで
実装予定のメソッドを、編集画面の変更可能領域に表示
し、上位クラスの属性、メソッドを変更不可領域に表示
する(5)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ソフトウェアの生
産性向上に係わり、開発対象のシステムをオブジェクト
の集合として捉えるオブジェクト指向のソフトウェア開
発において、オブジェクト指向技術に非習熟であるが、
業務に精通した技術者が、クラスライブラリを容易に拡
張し、所望のシステムを設計する際に必要となるクラス
追加支援方法に関する。
【0002】
【従来の技術】オブジェクト指向のソフトウェア開発で
は、システム中のオブジェクトを抽象化したクラスの定
義と、クラス間の関係を定義することで、ソフトウェア
の構成を設計する(オブジェクト指向方法論OMT,J,ランホ゛
ー他著/羽生田監訳,トッパン)。クラス間の関係には、
上位のクラスの定義内容をそのまま受け継ぐことのでき
る継承関係(継承関係の下位のクラスを下位クラス、上
位のクラスを上位クラスと記述する)、要素となるクラ
スを管理することを目的とした構成関係、その他の関連
を示す利用関係がある。オブジェクト指向を特徴づける
継承関係は、ソフトウェアの再利用性、保守性におい
て、とりわけ重要な関係であり、新たな機能、データ項
目の追加を、既存のクラスの定義を修正することなく、
継承関係によって継承した新規のクラスを作成すること
で容易に拡張することができる。
【0003】しかし、オブジェクト指向を特徴づける継
承、多義性といった概念の習得には、系統的な教育と実
践が必要とされている。クラス間の継承関係、構成関
係、その他の関係、および、クラス定義を図式表示する
方法論(OMT:The object model,J.Rumbaugh,JOOP pp21-
27,Jan.1995)および各種CASEツール(Rational社R
ose他)が製品化されている。
【0004】オブジェクト指向のクラス、クラス間の図
式表示は、方法論の必須項目として当初から提案されて
おり、オブジェクト指向方法論では不可欠のものとなっ
ている。
【0005】
【発明が解決しようとする課題】前記のクラス、クラス
間の図式表示は、クラス間の関係を理解し、分析・設計
において、クラスの詳細化、統合化に有力な技術であ
る。
【0006】しかし、クラスライブラリとして提供され
たクラス群を、所望のシステムの構築のために拡張して
再利用する場合、どこに、どんなクラスを追加すべきか
目安や指針が示されていない。また、クラス名だけで追
加クラスを分類するのに不安がある。特に、オブジェク
ト指向技術に非習熟な技術者にとって、クラスライブラ
リの拡張、特化は困難な作業となり、オブジェクト指向
技術の非習熟は、オブジェクト指向技術の普及の障害に
もなっている(日経コンピュータ1995.8.7 pp89,日経コ
ンピュータ1996.8.5 pp84)。
【0007】本発明の第1の目的は、追加が必要なクラ
スの追加位置の目安や指針を示すことである。 本発明
の第2の目的は、オブジェクト指向の特徴である継承、
多義性に非習熟でも、業務用語でクラス設計ができるこ
と、特に、業務をモデル化したクラス群において、新規
クラスの追加を支援できることである。
【0008】
【課題を解決するための手段】業務をモデル化したクラ
ス群では、下位クラスを他の同レベルのクラスと識別す
るため、クラスの役割を示す区分、状態等を上位クラス
の属性として定義している。上記の区分を示すコードの
値は、それぞれ下位クラスと1対1に対応し、下位クラ
スの識別に利用される。
【0009】第1の目的を達成するために、本発明のク
ラス追加支援方法は、クラス定義情報からクラス一覧表
を表示するステップ1と、区分コードテーブルから、任
意のクラスのクラス名を、上位クラス名に持つ区分コー
ド情報の一覧を作成・表示するステップ2と、クラスの
継承関係で、任意のクラスの下位にクラスを新規に作成
し、該下位クラスの役割を示す区分コードを、該上位ク
ラスに定義するステップ3と、区分コードの名称、値と
意味および上位クラス名と新規の下位クラス名を一行と
する区分コード情報を区分コードテーブルに追加するス
テップ4と、クラス定義を編集できるようにするステッ
プ5を有することを特徴とする。
【0010】また、区分コードテーブルの区分コード情
報で、新規クラスの追加位置を推定できる利用者につい
て、区分コードテーブルに区分コード情報を追加するス
テップ7と、クラス定義情報と異なる下位のクラスのク
ラス定義と継承関係を追加するステップ8を加えたこと
を特徴とする。
【0011】第2の目的を達成するために、前記方法の
ステップ6において、クラス情報の編集のための表示
で、上位クラスのメソッドのうち、下位クラスで実装予
定(実装は、具体的な手続きを記述すること、実装予定
は、複数の下位クラスで同一のメソッド名、引き数を利
用させるためのインタフェースのみ記述すること)のメ
ソッドを、編集画面の変更可能領域に表示し、上位クラ
スの属性、メソッドを変更不可領域に表示することを特
徴とする。
【0012】また、作成したクラス定義情報から、コー
ド生成するステップ9を加えることで、継承関係にある
下位クラスの生成方法について指針を与えるために、区
分コードテーブルを実行時に利用する、あるいは区分コ
ード情報をチェック機能、下位クラス生成機能等に利用
するコードを生成することを特徴とする。
【0013】
【発明の実施の形態】以下、本発明の一実施例を図面に
より説明する。
【0014】図1は本発明の第1の実施例における処理
手順を示す。図2は本実施例のハードウェア環境を示す
図である。本クラス追加支援方法は、CPU201と、
メモリ202と、外部記憶装置203と、入力装置20
4と、出力装置205とを利用する。前記メモリ202
には、クラス定義情報(301,302)、区分コード
テーブル400のメモリ内表現の情報が格納される。
【0015】前記外部記憶装置203には、クラス定義
情報(301,302)、区分コードテーブル400の
外部記憶表現の情報が格納される。
【0016】本実施例のクラス追加支援方法を図1に従
って説明する。
【0017】本実施例では、利用者がクラス間の継承関
係を意識せずに、継承関係の下位にクラスを新規作成す
ることを支援し、既存のクラスライブラリを容易に拡張
できることを示す。
【0018】ステップ101は、外部記憶装置に蓄積し
ているクラス定義情報、区分コードテーブルを入力し
て、クラス毎の定義情報と、クラス間の関連情報、およ
び区分コードテーブルをメモリ内に記憶する。
【0019】図3はメモリ内に記憶するクラス定義情報
の例、図4はメモリ内に記憶する区分コードテーブルの
例を示す。
【0020】図3で示すクラス毎定義情報301は、ク
ラス毎にクラス名、属性定義、メソッド定義の情報から
構成する。また、クラス間関連情報302は、関係毎に
関係の種類と関係しているクラスの名称で構成する。
【0021】例えば、クラス情報303は、クラス名
「得意先」のクラス情報を示している。また、クラス情
報304,305および309は、それぞれクラス名
「主要」「一般」「一時」のクラス情報を示している。
ただし、クラス情報309は、当初、存在せず後のクラ
ス情報の追加で作成される情報である。クラス関係情報
306は、関係の種類が「継承」で、関係クラスで示す
「得意先」クラスを、「主要」クラスが、継承するよう
な継承関係を持つことを示している。同様にクラス関係
情報307,310は、「得意先」クラスを「一般」ク
ラスが継承している、「得意先」クラスを「一時」クラ
スが継承していることを示している。ただし、クラス関
係情報310は、当初、存在せず後のクラス情報の追加
で作成される情報である。事務処理において、業務をモ
デル化したクラス群では、下位クラスを他の同レベルの
クラスと識別するため、クラスの役割を示す区分、状態
等を上位クラスの属性として定義している。前記の区分
を示すコードの値は、それぞれ下位クラスと1対1に対
応し、下位クラスの識別に利用される。区分を示すコー
ドの値と、関係する上位、下位のクラスを示す情報群
が、図4で示す区分コードテーブル400である。区分
コードテーブル400は、区分コード名、区分コード
値、区分コードの意味説明文、関係する上位クラス、下
位クラスで構成する。区分コード名で示す属性は、上位
クラスの属性である。 例えば、区分コード情報401
は、上位クラス「得意先」の属性である区分コード名
「重要度区分」が、値「10」の時、「得意先」クラス
は、「主要」クラスとしての役割を果たし、値「10」
の意味は、「継続的で主要な得意先」であることを示し
ている。「主要」クラスは、「得意先」クラスの情報を
継承する下位クラスである。同様に区分コード情報40
2は、区分コード名「重要度区分」が、値「20」の
時、「得意先」クラスは、「一般」クラスとしての役割
を果たす、区分コード情報403は、区分コード名「重
要度区分」が、値「30」の時、「得意先」クラスは、
「一時」クラスとしての役割を果たすことを示してい
る。ただし、区分コード情報403は、当初、存在せず
後のクラス情報の追加で作成される情報である。
【0022】ステップ1は、任意のクラスを処理対象と
して利用者に選択してもらうために、クラス定義情報に
定義されているクラスのクラス名一覧を作成し、出力装
置に表示する。
【0023】図5は、出力装置に表示したクラス一覧表
の例を示す。クラス定義情報のクラス名のみを集結し、
「選択」「終了」コマンドを発生させるためのコマンド
表示とともに出力装置に表示する。
【0024】例えば、図3で示すクラス毎定義情報30
1のクラス名欄のクラス名を集結し、図5で示すクラス
一覧表500のクラス一覧501に表示する。また、利
用者のコマンドを受けるために、コマンド502、50
3をそれぞれ表示する。ステップ102は、ステップ1
で表示したクラス一覧表から、利用者が指示したコマン
ドにより、処理の手順を変更する。 例えば、図5で指
示されたコマンドが、コマンド503「終了」の場合、
ステップ104で示す終了処理を行い、コマンド502
「選択」の場合、ステップ2の処理を行う。
【0025】ただし、コマンド502「選択」は、クラ
ス一覧501内で、任意のクラス名を選択した上でコマ
ンドの発生が可能となる。ステップ2へは、ここで選択
されたクラス名を「任意のクラスのクラス名」として引
き渡す。
【0026】ステップ2は、「任意のクラスのクラス
名」を、区分コード情報の上位クラス名に持つ区分コー
ド情報群を区分コードテーブルから抽出し、当該クラス
名と当該区分コード名とともに出力装置に表示する。
【0027】図6は、出力装置に表示した区分コード情
報一覧表の例を示す。
【0028】例えば、図5で示すクラス一覧501に表
示するクラス名504「得意先」が選択されている場
合、クラス名504「得意先」を「任意のクラスのクラ
ス名」とし、図4で示す区分コードテーブル400か
ら、上位クラス欄にクラス名「得意先」を持つ区分コー
ド情報を検索する。例では、区分コード情報401,4
02を検出する(区分コード情報403は、後のクラス
情報の追加で作成される情報)。検出した区分コード情
報を元に、図6で示す区分コード情報一覧表600を作
成する。当該クラスを示すクラス名601には、検索キ
ーとしたクラス名「得意先」を表示し、区分コード名6
02には、検出した区分コード情報の区分コード名「重
要度区分」を表示し、区分コード情報一覧603は、検
出した区分コード情報の内、区分コード値、意味説明、
下位クラスのクラス名を、それぞれ区分コード値欄、区
分コードの意味欄、クラス名欄に表示する。検出した区
分コード情報401,402は、区分コード情報60
4,605にそれぞれ表示する。
【0029】また、区分コード情報一覧表600では、
利用者のコマンドを受けるために、コマンド607,6
08,609,610,611をそれぞれ表示する。
【0030】本ステップへの処理の移行の内、後に説明
するステップ103からの「戻り」コマンドによる処理
の移行がある。この場合は、前述の処理の前に、「任意
のクラスのクラス名」を、区分コード情報の下位クラス
名に持つ区分コード情報を区分コードテーブルより検索
し、検出した場合、検出した区分コード情報の上位クラ
ス名を「任意のクラスのクラス名」とするよう置き換え
ることを加える。ステップ103は、ステップ2で表示
した区分コード情報一覧表から、利用者が指示したコマ
ンドにより、処理の手順を変更する。
【0031】コマンド「選択」は、選択した区分コード
情報内のクラス名を「任意のクラスのクラス名」とし
て、ステップ2を実行する。
【0032】例えば、図6の区分コード情報一覧603
内で、任意の区分コード情報604を選択した上でコマ
ンド607「選択」の発生が可能となり、ステップ2の
処理を行う。ステップ2へは、ここで選択された区分コ
ード情報604内のクラス名「主要」を「任意のクラス
のクラス名」として引き渡す。コマンド「戻り」は、当
該クラスのクラス名を「任意のクラスのクラス名」とし
て、ステップ2を実行する。
【0033】例えば、図6のコマンド608「戻り」に
より、ステップ2の処理を行う。ステップ2へは、当該
クラスを示すクラス名601「得意先」を「任意のクラ
スのクラス名」として引き渡す。コマンド「新規」は、
当該クラスのクラス名、区分コード名(新規に利用者が
入力してもよい)、新規に利用者が入力した区分コード
情報を、ステップ3、ステップ4に引き渡し実行する。
【0034】例えば、図6のコマンド609「新規」に
より、ステップ3、ステップ4の処理を行う。ステップ
3、ステップ4へは、当該クラスのクラス名601「得
意先」と、区分コード名602「重要度区分」と、利用
者が入力した新規の区分コード情報606(これにより
コマンド609「新規」の発生が可能となる)を引き渡
す。コマンド「クラス一覧」は、ステップ1を実行す
る。
【0035】例えば、図6のコマンド610「クラス一
覧」により、ステップ1の処理を行う。
【0036】コマンド「当該クラス編集」は、当該クラ
スのクラス名を、ステップ5に引き渡し実行する。
【0037】例えば、図6のコマンド611「当該クラ
ス編集」により、ステップ5の処理を行う。ステップ5
へは、当該クラスのクラス名601「得意先」を引き渡
す。
【0038】ステップ3は、新規に利用者が入力した区
分コード情報内のクラス名から、クラス情報を作成し、
関係の種類を「継承」とし、関係クラスを、当該クラス
のクラス名、および、新規に作成したクラスのクラス名
とするクラス関係情報を作成し、クラス定義情報に追加
する。ただし、本ステップで作成するクラス情報には、
属性定義、メソッド定義を含まない。また、当該クラス
のクラス名を持つクラス情報の属性定義内に、区分コー
ド名がない場合、新規の属性として区分コード名を追加
する。例えば、図6で示す区分コード情報606内のク
ラス名「一時」から、クラス名を「一時」とするクラス
情報を図3のクラス情報309で示すように作成(属性
定義、メソッド定義は、当該クラス編集で作成)し、ク
ラス毎定義情報301に追加する。また、、関係の種類
を「継承」とし、関係クラスを、図6の当該クラスのク
ラス名601「得意先」と、新規に作成したクラスのク
ラス名「一時」とするクラス関係情報を図3のクラス関
係情報310で示すように作成し、クラス間関連情報3
02に追加する。
【0039】また、図6で示す当該クラスのクラス名6
01「得意先」をクラス名に持つクラス情報を図3で示
すクラス毎定義情報301から検索し、検出したクラス
情報303の属性定義内に、図6の区分コード名602
「重要度区分」を含むので、新規に属性として追加しな
い。もし、区分コード名602「重要度区分」を含まな
い場合、新規に属性として追加する。ステップ4は、当
該クラスのクラス名、区分コード名、新規に利用者が入
力した区分コード情報から、新規に区分コード情報を作
成し、区分コードテーブルに追加する。
【0040】例えば、図4で示す区分コード情報403
を、図6で示す当該クラスのクラス名601「得意先」
を上位クラス欄に、区分コード名602「重要度区分」
を区分コード欄に、区分コード情報606の区分コード
値「10」を区分コード値欄に、区分コードの意味「一
時的な得意先」を意味説明欄に、クラス名「一時」を下
位クラス欄に複写することで作成し、区分コードテーブ
ル400に追加する。
【0041】続けて、当該クラスのクラス名を「任意の
クラスのクラス名」として、ステップ2を実行する。ス
テップ5は、区分コード情報一覧表示している当該クラ
スの、属性定義、メソッド定義を利用者が追加・修正で
きるクラス定義編集画面を出力装置に表示し、修正内容
に従ってメモリ内のクラス定義情報を修正する。
【0042】図7は、出力装置に表示したクラス情報の
編集画面の例を示す。
【0043】図7で示すクラス情報編集画面700は、
クラス名701と属性定義702、メソッド定義703
で構成する。ステップ103から引き渡された当該クラ
スのクラス名を、クラス名に持つクラス情報をクラス毎
定義情報から検索し、クラス定義編集画面の変更可能領
域(利用者が入力装置により変更できる画面上の領域)
に表示する。また、当該クラスの全ての上位クラスをク
ラス間関連情報から抽出し、対応する全てのクラス情報
の属性定義、メソッド定義を、クラス定義編集画面の変
更不可領域に表示する。ただし、メソッド定義で下位ク
ラスで実装予定のメソッドについてのみ、変更可能領域
に表示する。利用者が修正した変更可能領域の情報は、
クラス情報に反映する。
【0044】例えば、当該クラスのクラス名「一時」の
場合、クラス名「一時」をクラス名に持つクラス情報を
図3で示すクラス毎定義情報301から検索する。例で
は、クラス情報309が該当し、図7で示すクラス名7
01「一時」、属性定義があれば、変更可能属性定義7
05に、メソッド定義があれば、変更可能メソッド定義
707に表示する。
【0045】また、当該クラスのクラス名「一時」を図
3で示すクラス間関連情報302の継承関係の下位のク
ラスに持つクラス関係情報310を検出し、クラス関係
情報310の上位クラス名を下位クラスに持つクラス関
係情報を順次検索することで、全ての上位クラス名を抽
出する。例では、クラス関係情報310のみ検出し、ク
ラス名「得意先」を下位クラスとするクラス関係情報を
検出しなかった。クラス「一時」の上位クラス「得意
先」のクラス情報をクラス毎定義情報301から検索す
る。例では、クラス情報303が該当し、属性定義、メ
ソッド定義をそれぞれ、クラス名と「::」を付け、ど
の上位クラスか識別可能な形式にし、図7で示す変更不
可属性定義704、変更不可メソッド定義706に表示
する。
【0046】図3で示すメソッド308は、下位クラス
で実装予定のメソッドで、例えば、「%」で始める形式
として、他のメソッドと識別する。メソッド308は、
「得意先」クラスで定義しているが、メソッドの操作手
続きは、下位クラスで定義する。メソッド308は、他
のメソッドと異なり、図7で示すメソッド709のよう
に変更可能メソッド定義の領域に表示する。各メソッド
の操作手続き詳細記述は、メソッド詳細定義708で行
う。
【0047】利用者により、追加した変更可能属性定義
705の「取引回数」、変更可能メソッド定義707の
「add取引回数()」「get取引回数()」は、そ
れぞれ図3で示すクラス情報309の属性定義欄、メソ
ッド定義欄に追加・修正し、格納する。
【0048】本実施例によれば、オブジェクト指向技術
に非習熟であるが、業務に精通した技術者が、クラスラ
イブラリを容易に拡張し、所望のシステムを設計するこ
とができ、ソフトウェアの生産性向上の効果がある。
【0049】図8に本発明の第2の実施例の処理手順を
示す。
【0050】事務処理分野のシステム構築で、必須のコ
ード設計情報が、既に用意されていることが考えられ
る。
【0051】コード設計は、構築システム利用者が意識
するコード、区分コードを決定する。例えば、商品コー
ド、担当者コード等はデータに依存したデータ識別コー
ド、伝票区分、単価区分、請求区分等の種類、役割をコ
ード化した区分コードの決定を行う。
【0052】本実施例は図1の処理手順に示される第1
の実施例に、(1)コード設計情報のうち、区分コード
を区分コードテーブルとして与えられる場合の、クラス
定義情報との不整合を解決するステップ6と、(2)区
分コードテーブルを構築システム実行時に参照、あるい
は、条件分岐に利用するため、ソースコード生成を行う
ステップ7を加えたことに特徴を持つ。
【0053】本実施例の処理手順は第1の実施例とほぼ
同様であるが、ステップ6とステップ7を加えた。他ス
テップは第1の実施例と同様である。ステップ6は、区
分コードテーブルが利用者によりあらかじめ追加・修正
されていることを前提に、クラス定義情報と区分コード
テーブルの不整合を解決する。不整合の解決は、区分コ
ードテーブルに定義され、クラス定義情報に定義されて
いないクラス情報の補足により行う。
【0054】図9はステップ6の処理手順を示す。ステ
ップ901は、区分コードテーブル内の区分コード情報
毎に順次処理し、未処理の区分コード情報がなくなった
場合、ステップ6の内部処理を終了する。未処理の区分
コード情報がある場合、該当する未処理の区分コード情
報について、以下のステップを実行する。ステップ90
2は、該当する未処理の区分コード情報について、下位
クラスのクラス名を持つクラス情報をクラス定義情報を
検索し、検出した場合、ステップ901を実行する。検
出しない場合、ステップ903,903を実行する。
【0055】例えば、図4で示す区分コードテーブル4
00の区分コード情報401について、下位クラス名
「主要」を、クラス名に持つ図3で示すクラス毎定義情
報301内のクラス情報を検索する。例では、クラス情
報304が該当し、検出したので、次にステップ901
を実行する。もし、図3で示すクラス情報309、クラ
ス関係情報310がない場合、図4で示す区分コード情
報403は、下位クラス名「一時」を、クラス名に持つ
クラス情報を検出できず、ステップ903,903を実
行する。ステップ903は、図1で示す処理手順のステ
ップ3と同様であるが、クラスを作成するための情報を
区分コード情報から得ていることが異なる。新規に作成
するクラスのクラス名は、区分コード情報の下位クラス
のクラス名から、関係クラスを、上位クラス名と下位ク
ラス名から抽出する。
【0056】例えば、図4で示す区分コード情報403
の下位クラス名「一時」、および、上位クラス名「得意
先」から、図3で示すクラス情報309、およびクラス
関係情報310を作成し、クラス定義情報に追加する。
ただし、前述のステップ3同様、新規のクラス情報の属
性定義、メソッド定義はない。
【0057】ステップ7はクラス定義情報と区分コード
テーブルに基づいて、ソースコードを生成する。本ステ
ップは、終了処理の一部に位置しているが、メソッド詳
細定義を該当する区分コードテーブルより生成すること
であることから、ステップ103とステップ5の間に位
置しても同様である。
【0058】図10は、コード生成結果の例を示す。区
分コードテーブルを構築システムの実行時に利用する場
合、メソッドの手続きの骨組みに、区分コード名、該当
するクラス名を付加してコードを生成する。
【0059】例えば、図10で示すソースコード100
0は、クラス名「得意先」についてのソースコードであ
り、クラス名1001「得意先」としている。メソッド
1002は、区分コード名「重要度区分」を1004、
1005に設定し、クラス名「得意先」を1006に設
定している。これは、図4で示す区分コード情報40
1,402,403が、「得意先」クラスで、区分コー
ド名「重要度区分」により区分コード情報を区分できる
ことを示している。なお、図10のメソッド1002で
示す関数「findTable」は、区分コードテーブ
ルに実行時に問い合わせるための関数とする。
【0060】また、区分コードテーブルをソースコード
生成時に利用する場合、メソッド手続きの一部を該当す
る区分コード情報群の区分コード値、下位クラス名で置
換することでコードを生成する。例えば、図4で示す区
分コード情報401の区分コード値「10」、下位クラ
ス「主要」により、図10のメソッド1003で、区分
コード値「10」を1007に設定し、下位クラス名
「主要」を1008に設定している。
【0061】本実施例によれば、区分コードテーブルを
拡張する簡便な方法で新規下位クラスを追加でき、ま
た、ソースコードの一部を区分コードテーブルより生成
できることから、事務処理分野のシステム構築で、必須
のコード設計情報を利用することができ、ソフトウェア
の生産性向上の効果がある。
【0062】
【発明の効果】本発明のクラス追加支援方法によれば、
次のような効果が得られる。
【0063】(1)追加位置を下位クラスの区分コード
情報により追加しようとする役割に則して選択でき、ま
た、区分コードテーブルの情報でクラス追加位置を推定
できる利用者に対し、区分コードテーブルを拡張する簡
便な方法で新規下位クラスを追加でき、本発明の第1の
目的を達成することができる。
【0064】(2)区分コード情報の役割を示すクラス
を実施例で示したように順次、選択することで、継承関
係を意識することなく具体なクラスにたどり着き、ま
た、新規クラスの作成の際、上位クラスの情報が見え、
下位クラスで実装予定のメソッドの骨組みにより、継
承、多義性を意識することなくクラスの設計ができ、ま
た、区分コードテーブルを利用したコード生成機能によ
り、下位クラスのオブジェクト生成のコード等を作成で
き、本発明の第2の目的を達成することができる。
【0065】以上に示したように、本発明によれば、オ
ブジェクト指向技術に非習熟であるが、業務に精通した
技術者が、クラスライブラリを容易に拡張し、所望のシ
ステムを設計することができ、ソフトウェアの生産性の
向上を達成できるなど優れた効果を得ることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例を示す処理手順の図。
【図2】本実施例のハードウェア環境を示す図。
【図3】メモリ内のクラス定義情報の例を示す図。
【図4】メモリ内の区分コードテーブルの例を示す図。
【図5】クラス一覧表示の例を示す図。
【図6】当該区分コード情報一覧の例を示す図。
【図7】クラス情報の編集画面の例を示す図。
【図8】本発明の第2の実施例を示す処理手順の図。
【図9】区分コードテーブルの不整合解決の処理手順を
示す図。
【図10】コード生成結果の例を示す図。
【符号の説明】
1・・・クラス一覧表を表示するステップ、2・・・任
意のクラスに該当する区分コード情報の一覧を作成・表
示するステップ、3・・・下位クラスを生成し、役割を
示す区分コードを定義するステップ、4・・・新規の区
分コード情報を区分コードテーブルに追加するステッ
プ、5・・・クラス情報の編集画面に上位クラスの情報
を表示するステップ、201・・・CPU、202・・
・メモリ、203・・・外部記憶装置、204・・・入
力装置、205・・・出力装置、6・・・区分コード情
報とクラス定義情報の不整合をクラス追加で解決するス
テップ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】クラス定義情報からクラス一覧表を表示す
    るステップ1と、区分コードテーブルから、任意のクラ
    スのクラス名を、上位クラス名(継承関係の下位のクラ
    スを下位クラス、上位のクラスを上位クラスと記述す
    る)に持つ区分コード情報の一覧を作成・表示するステ
    ップ2と、クラスの継承関係で、任意のクラスの下位に
    クラスを新規に作成し、該下位クラスの役割を示す属性
    (以下、区分コードと記述)を、該上位クラスに定義す
    るステップ3と、区分コードの名称、値と意味および上
    位クラス名と新規の下位クラス名を一行とする区分コー
    ド情報を区分コードテーブルに追加するステップ4と、
    クラス情報を編集できるようにするステップ5を有する
    ことを特徴とするクラス追加支援方法。
  2. 【請求項2】請求項1記載のクラス追加支援方法のステ
    ップ5において、クラス情報の編集のための表示で、上
    位クラスのメソッドのうち、下位クラスで実装予定のメ
    ソッド(実装は、具体的な手続きを記述すること、実装
    予定は、複数の下位クラスで同一のメソッド名、引き数
    を利用させるためのインタフェースのみ記述すること)
    を、利用者が入力装置により変更できる編集画面上の変
    更可能領域に表示し、上位クラスの属性、メソッドを同
    変更不可領域に表示することを特徴とするクラス追加支
    援方法。
  3. 【請求項3】請求項1、2記載のクラス追加支援方法に
    おいて、あらかじめ利用者が、区分コードテーブルに区
    分コード情報を追加している場合、クラス定義情報と異
    なる下位のクラスのクラス定義と継承関係を追加するス
    テップ6を加えたことを特徴とするクラス追加支援方
    法。
  4. 【請求項4】請求項1、2、3記載のクラス追加支援方
    法において、作成したクラス定義情報から、コード生成
    するステップ7を加え、区分コードテーブルを実行時に
    利用する、あるいは区分コード情報をチェック機能、下
    位クラス生成機能等に利用するコードを生成することを
    特徴とするクラス追加支援方法。
JP3462897A 1997-02-19 1997-02-19 クラス追加支援方法 Pending JPH10232769A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3462897A JPH10232769A (ja) 1997-02-19 1997-02-19 クラス追加支援方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3462897A JPH10232769A (ja) 1997-02-19 1997-02-19 クラス追加支援方法

Publications (1)

Publication Number Publication Date
JPH10232769A true JPH10232769A (ja) 1998-09-02

Family

ID=12419672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3462897A Pending JPH10232769A (ja) 1997-02-19 1997-02-19 クラス追加支援方法

Country Status (1)

Country Link
JP (1) JPH10232769A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100359640B1 (ko) * 1999-12-17 2002-11-04 엘지전자 주식회사 클래스 동적 추가 시스템 및 그 운용 방법
JP2009534766A (ja) * 2006-04-27 2009-09-24 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーション・データ・エディタを生成するための方法及びシステム
CN105007391A (zh) * 2007-08-10 2015-10-28 佳能株式会社 图像处理设备及图像处理方法
US9921858B2 (en) 2014-09-16 2018-03-20 International Business Machines Corporation Apparatus and method for realizing runtime system for programming language

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100359640B1 (ko) * 1999-12-17 2002-11-04 엘지전자 주식회사 클래스 동적 추가 시스템 및 그 운용 방법
JP2009534766A (ja) * 2006-04-27 2009-09-24 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーション・データ・エディタを生成するための方法及びシステム
US8566782B2 (en) 2006-04-27 2013-10-22 International Business Machines Corporation Generating application data editors
CN105007391A (zh) * 2007-08-10 2015-10-28 佳能株式会社 图像处理设备及图像处理方法
US9921858B2 (en) 2014-09-16 2018-03-20 International Business Machines Corporation Apparatus and method for realizing runtime system for programming language
US10331465B2 (en) 2014-09-16 2019-06-25 International Business Machines Corporation Apparatus and method for realizing runtime system for programming language
US10922107B2 (en) 2014-09-16 2021-02-16 International Business Machines Corporation Apparatus and method for realizing runtime system for programming language

Similar Documents

Publication Publication Date Title
US8566782B2 (en) Generating application data editors
US10372423B2 (en) System and method for managing resources using a compositional programming model
US5758160A (en) Method and apparatus for building a software program using dependencies derived from software component interfaces
US7322025B2 (en) Method and apparatus for versioning and configuration management of object models
US8458648B2 (en) Graphical modelization of user interfaces for data intensive applications
US5999911A (en) Method and system for managing workflow
US5325533A (en) Engineering system for modeling computer programs
US7953767B2 (en) Developing applications using configurable patterns
JP3547990B2 (ja) 生産管理システム、生産管理プログラムを記録したコンピュータ読み取り可能な記録媒体
US8689174B2 (en) Extensibility of pattern components
US7644370B2 (en) Method of componentisation of a graphically defined formula
US7962892B2 (en) Designtime services for multiple patterns
US8826227B2 (en) Computer aided visualization of a business object model lifecycle
US8260643B2 (en) Generalized parametric optimization architecture and framework
WO2015196784A1 (zh) 一种基于软件元视图以构造软件视图的可视软件建模方法
US8918756B2 (en) Generating constraints in a class model
JPH0855019A (ja) 視覚的プログラミング方法
US20120060141A1 (en) Integrated environment for software design and implementation
JPH10254689A (ja) クライアント・サーバシステムのアプリケーション構成設計支援方式
US20030135661A1 (en) System and method for packaging and installing management models with specific console interfaces
JP2007265249A (ja) データ検索表示装置、データ検索表示システム、検索表示処理プログラムおよびデータ検索表示方法
JPH10232769A (ja) クラス追加支援方法
CN110244934A (zh) 产品需求文档、测试信息的生成方法及装置
Cesal et al. Establishing interoperability between the EMF and the MSDKVS metamodeling platforms
KR100609240B1 (ko) Mof 메타 모델과 사용자 요구 사항에 기반한 다이어그램 모델링 도구 생성 장치 및 방법