JP2001014154A - Object-oriented software component extraction supporting and retrieval device - Google Patents

Object-oriented software component extraction supporting and retrieval device

Info

Publication number
JP2001014154A
JP2001014154A JP11182913A JP18291399A JP2001014154A JP 2001014154 A JP2001014154 A JP 2001014154A JP 11182913 A JP11182913 A JP 11182913A JP 18291399 A JP18291399 A JP 18291399A JP 2001014154 A JP2001014154 A JP 2001014154A
Authority
JP
Japan
Prior art keywords
class
pattern
component
diagram
oriented software
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
JP11182913A
Other languages
Japanese (ja)
Inventor
Atsushi Jinbo
淳 神保
Toyomitsu Yoneda
豊満 米田
Hirobumi Danno
博文 団野
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 JP11182913A priority Critical patent/JP2001014154A/en
Publication of JP2001014154A publication Critical patent/JP2001014154A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide an object-oriented software component extraction supporting and retrieval device for supporting the efficient extraction and storage of an object-oriented software component from an existing class diagram in an object-oriented software component retrieval device for performing retrieval by an application field and an appearing frequency. SOLUTION: This device is provided with a class structure component extraction condition input means 2 for receiving a relation number in extracting a class structure component as input, a class structure component extraction means 5 for extracting the candidates of the component from the existing class diagram, a pattern classification means 8 for classifying the class structure component as a pattern from the structure of the class diagram, an each pattern class structure component number calculation means 11 for calculating the using frequency of the component for each pattern, an each pattern class structure component number display means 12 for displaying the result, a pattern application field retrieval means 14 for retrieving the application field of the component for each pattern and a pattern application field display means 13 which is the input/output means.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【発明の属する技術分野】この発明は、オブジェクト指
向設計されたクラス図より、クラス構造部品を抽出する
ことを支援するオブジェクト指向ソフトウェア部品抽出
支援装置と、その抽出支援装置と連携するオブジェクト
指向ソフトウェア部品検索装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an object-oriented software component extraction support device for supporting the extraction of a class structure component from an object-oriented class diagram, and an object-oriented software component cooperating with the extraction support device. Related to a search device.

【従来の技術】オブジェクト指向ソフトウェア部品とし
て利用される部品の抽出を行う場合、一般的に、既存の
クラス図などの設計ドキュメントやオブジェクト指向言
語で実装されたプログラムの内、頻繁に利用される類似
したクラス群(本発明ではパターンと呼ぶ)を再利用性
を高めるために洗練したクラス群が部品として使用され
る。したがって、部品抽出に際しては、既存のクラス図
やプログラムでの部品の使用頻度が重要な目安とするこ
とができる。また、オブジェクト指向ソフトウェア部品
の利用に際して、それを特定の適用分野のクラス設計に
用いようとした場合、同種の分野のオブジェクト指向ソ
フトウェア部品を検索することは有用である。数年前か
ら、モジュール構造の明快性と独立性の優れたオブジェ
クト指向ソフトウェア部品を利用する装置としてさまざ
まな装置が発明されてきた。しかし、あらかじめ部品と
して抽出された部品を蓄積しておき、それを検索するも
のであり、既存のクラス図からオブジェクト指向ソフト
ウェア部品を抽出する装置を有し、その結果を検索の対
象とする検索装置とを連携するということは実現できて
いない。このため、部品の使用頻度や適用分野といった
有用な情報を、部品抽出時に部品に付加しておき、検索
時にその情報を利用可能とするということは実現されて
いなかった。
2. Description of the Related Art In general, when extracting a component used as an object-oriented software component, a similar document frequently used among design documents such as existing class diagrams and programs implemented in an object-oriented language is generally used. A refined class group (referred to as a pattern in the present invention) is used as a component in order to enhance reusability. Therefore, in component extraction, the frequency of use of components in existing class diagrams and programs can be an important guide. Also, when using an object-oriented software component, if it is to be used for a class design in a specific application field, it is useful to search for an object-oriented software component in the same field. Several years ago, various devices have been invented as devices using object-oriented software components having excellent clarity and independence in modular structure. However, in order to store the components extracted as components in advance and search them, there is a device that extracts an object-oriented software component from an existing class diagram, and a search device that searches for the results. Linking with has not been realized. For this reason, it has not been realized that useful information such as the frequency of use of the component and the field of application is added to the component at the time of component extraction, and the information is made available at the time of retrieval.

【発明が解決しようとする課題】上記のような従来のオ
ブジェクト指向ソフトウェア部品検索装置では、検索対
象のソフトウェア部品を登録する際に、適用分野や既存
のクラス図での使用頻度といった情報を検索時に得るた
めには、各部品毎に個別に登録する必要があった。ま
た、検索対象となるデータを作成するために、部品のデ
ータを個別に入力する入力手段が必要であった。この発
明が解決しようとする課題は、オブジェクト指向ソフト
ウェア部品の検索装置の部品蓄積に際して、既存のクラ
ス図のデータを装置の入力とするオブジェクト指向ソフ
トウェア部品抽出支援装置を有することによって、オブ
ジェクト指向ソフトウェア部品のデータ登録を装置で行
い、また、部品の使用頻度や適用分野といった有用な情
報を部品に付加する際に、部品毎に個別に付加すること
を必要としないオブジェクトソフトウェア部品抽出支援
および検索装置の実現である。
In the conventional object-oriented software component search apparatus as described above, when registering a software component to be searched, information such as the field of application and the frequency of use in an existing class diagram is used when searching. In order to obtain it, it was necessary to individually register each part. Further, in order to create data to be searched, input means for individually inputting data of parts is required. The object of the present invention is to provide an object-oriented software component extraction support device that uses existing class diagram data as an input to the device when the object-oriented software component search device stores components. When registering useful information such as the frequency of use of parts and application fields to parts, it is not necessary to add each piece individually. It is realization.

【課題を解決するための手段】本発明のオブジェクト指
向ソフトウェア部品抽出支援および検索装置は、以下の
手段を設け上記課題を解決する。クラス構造部品抽出条
件入力手段は、クラス構造部品に属する関係数の上限・
下限を入力として受け取り、その結果を、クラス構造部
品抽出条件として、クラス構造部品抽出手段に渡す。こ
こでいう、クラス構造部品とは、既存のクラス図の一部
を構成するクラスと関係の集合であり、クラス間は関係
により連結されている。このクラス構造部品抽出条件入
力手段は、関係数が非常に多い、または、少ないクラス
構造部品を既存のクラス図から抽出しても、部品のして
の利用価値が少ないと思われる場合に使用できる手段で
ある。クラス構造部品抽出手段は、既存のクラス図の情
報をそのクラス図の適用分野とともにデータとして格納
している入力クラス図DBと、適用分野、クラスの種類、
関係の種類の一覧をデータとして格納しているカテゴリ
DBと、クラス構造部品抽出条件入力手段により渡される
クラス構造部品抽出条件をもとに、クラス構造部品を抽
出し、クラス構造部品DBに格納する。また、ここで抽出
されたクラス構造部品が、どのクラス図より抽出された
かというデータをクラス構造部品DBに格納することによ
り、適用分野との関連がある既存のクラス図の情報をク
ラス構造部品別に検索可能としている。各クラス構造部
品を構成する関係の数は、クラス構造部品抽出条件の関
係数の上限から下限までの間である。また、その関係数
の上限・下限の範囲内でクラス構造部品として成り立つ
全クラス構造部品を抽出する。パターン分類手段は、ク
ラス構造部品DBに格納されているクラス構造部品群のデ
ータをパターンとして分類し、その分類結果をパターン
DBに格納する。また、各クラス構造部品群がどのパター
ンに属するかをクラス構造部品テーブルに格納する。パ
ターン分類手段は、クラス構造部品DBのクラスの内、未
処理の全クラス構造部品を処理する。このパターン分類
手段で、クラス構造部品をパターンに分類する際、クラ
ス構造部品を構成する全クラスの種類の一致・不一致、
クラス構造部品を構成する全関係の種類の一致・不一
致、クラス構造部品を構成する全関係の多重度の一致・
不一致といった特徴をもとに分類する。また、ここでの
パターン分類手段で各クラス構造部品群がどのパターン
に属するかという情報をデータとして保持するようにし
ているため、検索に際して、パターン毎の使用頻度を算
出することが可能となる。パターン別クラス構造部品数
算出手段は、クラス構造部品DBを検索することによっ
て、パターン別のクラス構造部品数を算出し、パターン
別クラス構造部品数表示手段に表示する。ここで算出さ
れたパターン別クラス構造部品数は、つまり、既存のク
ラス図上での、各パターンに属するクラス構造部品の使
用頻度を表す。このため、この装置の結果、クラス構造
部品数の多いパターンは再利用性を高めるため、洗練す
る価値が高いと思われるものが表示される。パターン適
用分野検索手段は、検索対象となるパターンに属するク
ラス構造部品が、どの適用分野のクラス図で使用されて
いるかを、入力クラス図DB、および、クラス構造部品DB
より検索し、結果をパターン適用分野表示手段に出力す
る。クラス構造部品DBには、各クラス構造部品がどのパ
ターンに分類されるかという情報と、どの入力のクラス
図から抽出されたかという情報を保持しており、また、
入力クラス図DBには、各クラス図がどの適用分野に属す
るかという情報を保持しているため、検索が可能となっ
ている。
The object-oriented software component extraction support and retrieval device of the present invention is provided with the following means to solve the above-mentioned problems. The class structure component extraction condition input means includes an upper limit of the number of relations belonging to the class structure component.
The lower limit is received as an input, and the result is passed to the class structure component extraction means as a class structure component extraction condition. Here, the class structural component is a set of classes and relationships that constitute a part of an existing class diagram, and the classes are connected by the relationships. This class structure component extraction condition input means can be used when it is deemed that the use value as a component is small even if a class structure component having a very large or small number of relations is extracted from an existing class diagram. Means. The class structure component extracting means includes an input class diagram DB storing information of an existing class diagram as data together with an application field of the class diagram, an application field, a class type,
Category that stores a list of relationship types as data
Based on the DB and the class structure component extraction condition passed by the class structure component extraction condition input means, a class structure component is extracted and stored in the class structure component DB. In addition, by storing in the class structure parts DB data on which class diagram the extracted class structure parts were extracted from, information on existing class diagrams related to the application field is classified by class structure parts. Searchable. The number of relationships constituting each class structural component is between the upper limit and the lower limit of the number of relationships of the class structural component extraction condition. In addition, all the class structural components that are established as class structural components within the range of the upper limit and the lower limit of the relation number are extracted. The pattern classifying means classifies the data of the class structural component group stored in the class structural component DB as a pattern, and classifies the classification result into a pattern.
Store in DB. Also, the pattern to which each class structural component group belongs is stored in the class structural component table. The pattern classification means processes all unprocessed class structural components among the classes of the class structural component DB. When class structural components are classified into patterns by this pattern classifying means, matching / mismatching of types of all classes constituting the class structural components,
Match / mismatch of the types of all the relationships that make up the class structural component, match / multiplicity of all the relationships that make up the class structural component
Classify based on features such as mismatch. In addition, since the information on which pattern each class structural component group belongs to is held as data by the pattern classification means here, it is possible to calculate the use frequency for each pattern at the time of search. The number-of-class-structures-for-pattern calculating means calculates the number of class-structured parts for each pattern by searching the class-structured parts DB and displays the number of class-structured parts for each pattern on the display means. The number of class-structured components by pattern calculated here indicates the frequency of use of the class-structured components belonging to each pattern on the existing class diagram. For this reason, as a result of this apparatus, a pattern having a large number of class-structured parts is displayed that is considered to be highly valuable for refinement in order to enhance reusability. The pattern application field search means determines which application field uses the class structural component belonging to the pattern to be searched in the input class diagram DB and the class structural component DB.
And outputs the result to the pattern application field display means. The class structural component DB holds information on which pattern each class structural component is classified into, and information on which input class diagram has been extracted.
Since the input class diagram DB holds information indicating to which application field each class diagram belongs, a search can be performed.

【発明の実施の形態】この発明の実施の一形態を示すオ
ブジェクト指向ソフトウェア部品抽出装置は図1のよう
な構成である。カテゴリDB1は、適用分野の一覧、およ
び、クラス構造部品のパターンの分類に使用するクラス
および関係の一覧情報を格納する。例えば、適用分野と
して、金融、産業、公共、流通があり、クラスの種類と
して、ステレオタイプの<<control>>、<<boundary>>、<
<entity>>の3種類があり、関係の種類として、関連、集
約の2種類ある場合は、適用分野のカテゴリを図2、クラ
スの種類を図3、関係の種類を図4のようなテーブルに格
納する。パターンの分類を異なった観点で行いたい場合
や、より詳細な分類を行いたい場合は、クラスの種類、
関係の種類に実施例以外のものも使用することができ
る。実施例では、関係の種類として、関連、集約の2種
類のみの対応となっているが、関係の種類に、汎化-特
化関係を追加し、関係をデータ化したテーブルにスーパ
クラスのクラスIDを追加することで、関係の種類を追加
することができる。クラス構造部品抽出条件入力手段2
を、オペレータからの入力により実現する場合は、図5
のような画面であり、オペレータから、クラス構造部品
を構成する関係数の上限・下限が入力される。このデー
タは、クラス構造部品抽出条件3を通してクラス構造部
品抽出手段5に渡される。実施例では、関係数上限を1と
し、関係数下限を3としている。入力クラス図DB4は、入
力となるクラス図の各クラスの情報を格納する。例え
ば、オブジェクト技術の標準化団体OMG(Object Managem
ent Group)で標準化されている統一モデリング言語UML
(Unified Modeling Language)で記述された図6のような
クラス図であった場合で、かつ、ある金融システム用に
設計されたクラス図であった場合、クラス図のデータを
図7、クラス図を構成するクラスのデータを図8、クラス
図を構成する関係のデータ図9のようなテーブルに格納
する。クラス図のデータをデータとして格納する。金融
の適用分野カテゴリIDは図2でDT1と定義されているた
め、図7の適業分野カテゴリIDにはDT1が使用されてい
る。同様に図8のクラスカテゴリIDは図3で定義されたク
ラスカテゴリIDで、図9の関係カテゴリIDは、図4で定義
されたものを使用している。図7のクラス図IDは、その
クラス図を一意に特定するためのIDである。図8のクラ
ス図IDは、クラス構成するクラス図のIDを格納し、クラ
スIDは、そのクラスを一意に特定するためのIDを格納
し、クラス名はクラス図で使用されているクラス名を格
納している。図9のクラス図IDは、関係が構成するクラ
ス図のIDを格納し、関係IDは、その関係を一意に特定す
るためのIDを格納し、関係名はクラス図上の関係名を格
納し、クラスID1、クラスID2は、その関係の両端のクラ
スのIDであり、クラス1多重度、クラス2多重度は、クラ
スID1、クラスID2それぞれのオブジェクトの多重度をデ
ータとして格納する。集約全体側クラスIDは、関係の種
類が集約である場合、クラス図の情報を損なわないよう
にするために、その全体側のクラスのIDを格納してい
る。クラス構造部品抽出手段5は、クラス構造部品抽出
条件3と、入力クラス図DB4をもとに、クラス構造部品6
を抽出し、クラス構造部品DB7に格納する。この際、ク
ラス構造部品抽出手段5は、図10の手順S501〜S506よう
に、クラス構造部部品抽出条件の受け取りと入力クラス
図DB4に格納されている関係数の総数をカウントし(手
順S501)、各クラス構造部品を構成する関係の数がクラ
ス構造部品抽出条件の関係数上限から下限までの範囲に
あり、かつ、クラス構造部品として成り立つ、クラス経
由で連結している関係の全組合せにより構成されるクラ
ス構造部品について(手順S502、手順S503、手順S50
6)、クラス構造部品を抽出し(手順S504)、クラス構
造部品DB7に格納する(手順S505)。クラス構造部品DB7
は、クラス構造部品抽出手段5により抽出されたクラス
構造部品6を格納する。図6のクラス図の構造部品群は、
クラス図で表現すると図11のような16個のクラス構造部
品群となる。図11のクラス図をデータとして格納するク
ラス構造部品DB7の例を図12、図13、図14のようにな
る。図12はクラス構造部品全体のデータを格納する。ク
ラス構造部品IDは連番である。クラス図IDは、そのクラ
ス構造部品のもととなったクラス図のIDである。パター
ンIDは、後にパターン分類手段8で更新されるカラム
で、そのクラス構造部品が分類されたパターンのIDが入
る。ここに、クラス図IDおよびパターンIDを保持してい
るため、検索の際に、パターン別のクラス構造部品数の
算出や、パターン別の適用分野の検索が可能となってい
る。図13はクラス構造部品を構成するクラスに関するデ
ータが格納されている。クラス構造部品IDは、そのクラ
スがどのクラス構造部品の構成要素であるかを格納して
いる。クラスIDは、そのクラスのIDであり、クラスカテ
ゴリIDは、そのクラスの種類を表すIDである。また、図
14はクラス構造部品を構成する関係に関するデータが格
納されている。クラス構造部品IDは、その関係がどのク
ラス構造部品の構成要素であるかを格納している。関係
IDは、その関係のIDであり、関係カテゴリIDは、その関
係の種類を表すIDである。クラスID1、クラスID2は、そ
の関係の両端のクラスのIDであり、クラス1多重度、ク
ラス2多重度は、クラスID1、クラスID2それぞれのオブ
ジェクトの多重度をデータとして格納する。集約全体側
クラスIDは、関係の種類が集約である場合、その全体側
のクラスのIDを格納している。パターン分類手段8は、
図15の手順で、クラス構造部品クラス構造部品をパター
ンに分類する。クラス構造部品DB7のデータの内、パタ
ーンの分類がされていないデータを対象に処理を実施す
る(手順S801、S802)。クラス構造部品のパターンがク
ラス構造部品DB7に登録されているかどうかの判定を手
順S803、S804で行っており、この時、クラス構造部品お
よびパターンのそれぞれのクラスの種類、関係の種類、
多重度が一致するかどうかで同一パターンかどうかの判
定を行っている。パターンDB10に一致するパターンがな
かった場合は、パターンDBに新規のパターンを登録する
(手順S805)。処理したクラス構造部品について、そのク
ラス構造部品がどのパターンに分類されるかのデータ
を、クラス構造部品DB7を更新することで実現している
(手順S806)。図11、図12、図13、図14のクラス構造部品
DB7をパターン分類手段8で処理した場合の、パターンDB
10の内容をクラス図で示したものを図16に、データとし
て示したものの内、パターン全体に関するデータを図17
に、パターンを構成するクラスに関するデータを図18
に、パターンを構成する関係に関するデータを図19に示
す。また、図12のクラス構造部品DB7がパターン分類手
段8により更新された結果を図20に示す。図16では、パ
ターン分類手段8の結果、図11では16個のクラス構造部
品であったものが、点線で囲んだ部分が同一パターンで
あるために、11種類のパターンに分類される。図17はパ
ターンを一意に特定するためのパターンのIDを格納して
いる。図18のパターンIDは、クラスが構成するパターン
のIDを、パターンクラスはパターンを構成するクラスの
IDを格納している。図19のパターンIDは、関係が構成す
るパターンのIDを、パターン関係IDはパターンを構成す
る関係のIDを、関係カテゴリIDは関係の種類を、パター
ンクラス1ID、パターンクラス2IDは、関係の両端のクラ
スのIDを、パターンクラス1多重度、パターンクラス2多
重度は関係の両端のパターンクラス1ID、パターンクラ
ス2IDそれぞれのクラスのオブジェクトの多重度を格
納している。関係の種類が集約である場合は、その全体
側のクラスのIDを集約全体側クラスIDに格納している。
図20で点線で囲んでいるクラス構造部品のデータは、図
11同様、同一パターンに分類されるレコードを示してい
る。パターン別クラス構造部品数算出手段11は、クラス
構造部品DB7より、パターン別のクラス数を算出し、
その結果をクラス構造部品数で降順にソートし、パター
ン別クラス構造部品数表示手段12に結果を表示する。パ
ターン別クラス構造部品数表示手段12は図21のような画
面である。パターン適用分野表示手段13は、パターン適
用分野検索手段へのユーザ・インタフェースで、図22の
ような画面である。図6のクラス図だけを本装置で処理
した場合は、PT3の適用分野は金融のみであるが、図22
の画面は、図6以外の金融分野以外の複数の適用分野の
クラス図を処理したことを想定して記述しているため、
パターンPT3の適用分野に、金融以外の産業、公共が追
加されている。パターン適用分野検索手段14は、カテゴ
リDB1、入力クラス図DB4、クラス構造部品DB7、パター
ン適用分野表示手段13を入力とし、図23の手順のよう
に、パターン適用分野表示手段より入力されるパターン
IDを取得し(手順S1401)、パターンDB7より手順S1401で
取得したパターンIDを持つクラス構造部品のレコードを
クラス構造部品DB7より検索し、クラス図IDの一覧を取
得する(手順S1402)。つぎに、手順S1402で取得したク
ラス図IDをもつクラス図のレコードを入力クラス図DBよ
り検索し、適用分野カテゴリIDの一覧を取得する(手順
S1403)。手順S1403で取得した適用分野カテゴリIDの一
覧でカテゴリDB1を検索し適用分野名の一覧を取得する
(手順S1404)。手順S1404で取得した適用分野名の一覧
をパターン適用分野13に表示する(手順S1405)。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An object-oriented software component extraction apparatus according to an embodiment of the present invention has a configuration as shown in FIG. The category DB1 stores a list of application fields and list information of classes and relationships used for classifying patterns of class structural components. For example, application fields include finance, industry, public, and distribution, and the types of classes are stereotypes << control >>, << boundary >>, <
If there are three types of <entity >>, and there are two types of relations, association and aggregation, a table as shown in Fig. 2 shows the category of application field, Fig. 3 shows the type of class, and Fig. 4 shows the type of relation To be stored. If you want to classify patterns from a different perspective, or if you want to do a more detailed classification,
Other than the embodiment can be used for the type of relationship. In the embodiment, only two types of relations, association and aggregation, are supported. However, a generalization-specialization relation is added to the relation type, and a superclass class is added to a table in which the relation is converted into data. By adding an ID, the type of relationship can be added. Class structure part extraction condition input means 2
Is realized by input from the operator,
The upper limit and lower limit of the number of relations constituting the class structural component are input by the operator. This data is passed to the class structure component extraction means 5 through the class structure component extraction condition 3. In the embodiment, the relation number upper limit is set to 1 and the relation number lower limit is set to 3. The input class diagram DB4 stores information of each class of the input class diagram. For example, OMG (Object Managem
ent Group) standardized modeling language UML
If the class diagram is a class diagram described in (Unified Modeling Language) as shown in Fig. 6, and if it is a class diagram designed for a certain financial system, the data of the class diagram is The data of the constituting classes is stored in a table as shown in FIG. 8 and the data of the relationships constituting the class diagram as shown in FIG. Store class diagram data as data. Since the financial application category ID is defined as DT1 in FIG. 2, DT1 is used as the employment category ID in FIG. Similarly, the class category ID in FIG. 8 is the class category ID defined in FIG. 3, and the relation category ID in FIG. 9 uses the one defined in FIG. The class diagram ID in FIG. 7 is an ID for uniquely specifying the class diagram. The class diagram ID in FIG. 8 stores the ID of the class diagram constituting the class, the class ID stores an ID for uniquely identifying the class, and the class name indicates the class name used in the class diagram. Stored. The class diagram ID in FIG. 9 stores the ID of the class diagram that constitutes the relationship, the relationship ID stores the ID for uniquely identifying the relationship, and the relationship name stores the relationship name on the class diagram. , Class ID 1 and class ID 2 are the IDs of the classes at both ends of the relationship, and the class 1 multiplicity and class 2 multiplicity store the multiplicity of each object of class ID 1 and class ID 2 as data. When the type of the relation is aggregation, the ID of the class on the overall side is stored in order to prevent the information of the class diagram from being damaged when the type of the relation is aggregation. The class structural component extracting means 5 is configured to class class component 6 based on the class structural component extracting condition 3 and the input class diagram DB4.
Is extracted and stored in the class structure component DB7. At this time, as in steps S501 to S506 in FIG. 10, the class structure component extraction means 5 counts the total number of relations received in the class structure part extraction condition and stored in the input class diagram DB4 (step S501). , The number of relations that make up each class structural part is in the range from the upper limit to the lower limit of the relation number of the class structural part extraction condition, and it is composed of all combinations of relations connected via classes that are established as class structural parts Class structure parts (steps S502, S503, S50
6) The class structural component is extracted (step S504) and stored in the class structural component DB 7 (step S505). Class structural parts DB7
Stores the class structure component 6 extracted by the class structure component extraction means 5. The structural parts group in the class diagram of FIG.
Expressed in a class diagram, it is a group of 16 class structural parts as shown in FIG. FIGS. 12, 13, and 14 show examples of the class structure component DB7 that stores the class diagram of FIG. 11 as data. FIG. 12 stores the data of the entire class structure component. The class structural part ID is a serial number. The class diagram ID is the ID of the class diagram from which the class structural component is based. The pattern ID is a column that is updated later by the pattern classification means 8, and contains the ID of the pattern into which the class structural component is classified. Here, since the class diagram ID and the pattern ID are held, it is possible to calculate the number of class-structured components for each pattern and search for an application field for each pattern. FIG. 13 stores data related to the classes constituting the class structural component. The class structural component ID stores which class structural component the class is a component of. The class ID is the ID of the class, and the class category ID is an ID representing the type of the class. Also figure
Reference numeral 14 stores data related to the relations constituting the class structural parts. The class structural component ID stores which class structural component the relationship is a component of. Relationship
The ID is the ID of the relation, and the relation category ID is an ID representing the type of the relation. The class ID 1 and the class ID 2 are the IDs of the classes at both ends of the relationship, and the class 1 multiplicity and the class 2 multiplicity store the multiplicity of each object of the class ID 1 and the class ID 2 as data. When the type of the relation is aggregation, the ID of the class on the overall side is stored in the aggregation overall class ID. The pattern classification means 8
According to the procedure of FIG. 15, the class structural components are classified into patterns. The processing is performed on the data of which the pattern is not classified among the data of the class structure component DB7 (steps S801 and S802). It is determined in steps S803 and S804 whether or not the pattern of the class structural component is registered in the class structural component DB7. At this time, each class type, relationship type,
It is determined whether the patterns are the same based on whether the multiplicity matches. If there is no pattern that matches pattern DB10, register a new pattern in pattern DB
(Step S805). For the processed class structural component, data on which pattern the class structural component is classified into is realized by updating the class structural component DB7.
(Step S806). Class structure parts of Fig.11, Fig.12, Fig.13, Fig.14
Pattern DB when DB7 is processed by pattern classification means 8
FIG. 16 shows the contents of 10 in a class diagram, and FIG.
Figure 18 shows the data on the classes that make up the pattern.
FIG. 19 shows data relating to the relations constituting the pattern. FIG. 20 shows the result of updating the class structure component DB 7 of FIG. 12 by the pattern classification means 8. In FIG. 16, as a result of the pattern classifying means 8, although the class structural components in FIG. 11 are 16 class components, the portions surrounded by the dotted lines are the same pattern, and are therefore classified into 11 types of patterns. FIG. 17 stores a pattern ID for uniquely specifying a pattern. The pattern ID in FIG. 18 is the ID of the pattern that constitutes the class, and the pattern class is the ID of the class that constitutes the pattern.
Stores ID. In FIG. 19, the pattern ID is the ID of the pattern that forms the relation, the pattern relation ID is the ID of the relation that forms the pattern, the relation category ID is the type of relation, and the pattern class 1 ID and pattern class 2 ID are both ends of the relation. And the class class 1 multiplicity and the pattern class 2 multiplicity store the multiplicity of the object of each class of the pattern class 1 ID and the pattern class 2 ID at both ends of the relationship. When the type of the relationship is aggregation, the ID of the class on the whole side is stored in the aggregation whole-side class ID.
The data of the class structure parts enclosed by the dotted line in FIG.
11 shows records classified into the same pattern. The number-of-class-structures-by-pattern calculating means 11 calculates the number of classes for each pattern from the class structure parts DB 7,
The result is sorted in descending order by the number of class structural parts, and the result is displayed on the class structural part number display means 12 for each pattern. The number-of-class-structures-by-pattern display means 12 has a screen as shown in FIG. The pattern application field display unit 13 is a user interface to the pattern application field search unit, and has a screen as shown in FIG. When only the class diagram of FIG. 6 is processed by this apparatus, the application field of PT3 is only finance, but FIG.
Is described assuming that class diagrams of multiple application fields other than the finance field other than those in Fig. 6 have been processed.
Non-financial industries and public sectors have been added to the application areas of pattern PT3. The pattern application field search means 14 receives the category DB1, the input class diagram DB4, the class structural component DB7, and the pattern application field display means 13 as inputs, and the pattern input from the pattern application field display means as in the procedure of FIG.
The ID is acquired (step S1401), the record of the class structural component having the pattern ID acquired in step S1401 is retrieved from the pattern DB7 from the pattern DB7, and a list of class diagram IDs is acquired (step S1402). Next, a record of the class diagram having the class diagram ID acquired in step S1402 is searched from the input class diagram DB, and a list of application category IDs is acquired (procedure
S1403). The category DB1 is searched from the list of application category IDs acquired in step S1403, and a list of application fields is acquired (step S1404). The list of application field names acquired in step S1404 is displayed in the pattern application field 13 (step S1405).

【発明の効果】オブジェクト指向ソフトウェア部品抽出
支援装置による既存クラス図を入力とし、また、クラス
図単位に適用分野を入力することによって、オブジェク
ト指向ソフトウェア部品の使用頻度の算出、および、適
用分野の検索がパターン別に可能となるため、本装置を
使用すると、部品に関する付加情報を部品単位に行うよ
りは作業が削減される。このため、部品の抽出作業、検
索作業を効率的に行えるという効果がある。
According to the present invention, by inputting an existing class diagram by the object-oriented software component extraction support device and inputting an application field for each class diagram, the use frequency of the object-oriented software component is calculated and the application field is searched. By using the present apparatus, the number of operations can be reduced as compared with the case where additional information on parts is performed for each part. For this reason, there is an effect that the part extraction work and the search work can be performed efficiently.

【図面の簡単な説明】[Brief description of the drawings]

【図1】この発明の実施の一形態を示すオブジェクト指
向ソフトウェア部品抽出支援装置のシステム構成図。
FIG. 1 is a system configuration diagram of an object-oriented software component extraction support device according to an embodiment of the present invention.

【図2】カテゴリDBの適用分野の種類を格納したテーブ
ル例を示す図。
FIG. 2 is a diagram showing an example of a table storing types of application fields of a category DB.

【図3】カテゴリDBのクラスの種類を格納したテーブル
例を示す図。
FIG. 3 is a diagram showing an example of a table storing types of classes of a category DB.

【図4】カテゴリDBの関係の種類を格納したテーブル例
を示す図。
FIG. 4 is a view showing an example of a table storing types of relations of a category DB;

【図5】この発明のクラス構造部品抽出条件入力手段を
オペレータからの入力にする場合の画面例を示す図。
FIG. 5 is a diagram showing an example of a screen when the class structure component extraction condition input means of the present invention is input from an operator.

【図6】入力クラス図DBのデータの基となる、クラス図
のサンプルを示す図。
FIG. 6 is a diagram showing a sample class diagram as a basis for input class diagram DB data;

【図7】図6のサンプルの適用分野が金融である場合の
入力クラス図DBのデータ格納例(クラス図全体のデー
タ)を示す図。
FIG. 7 is a diagram showing an example of data storage (data of the entire class diagram) in the input class diagram DB when the application field of the sample of FIG. 6 is finance;

【図8】図6のサンプルをデータとして格納する入力ク
ラス図DBのデータ格納例(クラス図のクラスのデータ)
を示す図。
8 is a data storage example of an input class diagram DB for storing the sample of FIG. 6 as data (class diagram class data)
FIG.

【図9】図6のサンプルをデータとして格納する入力ク
ラス図DBのデータ格納例(クラス図の関係のデータ)を
示す図。
9 is a diagram showing an example of data storage (data relating to class diagrams) in an input class diagram DB that stores the samples of FIG. 6 as data.

【図10】クラス構造部品抽出手段5におけるクラス構
造部品抽出のフローチャート。
FIG. 10 is a flowchart of class structure component extraction by the class structure component extraction means 5;

【図11】クラス構造部品抽出手段5の出力であるクラ
ス構造部品DB7のデータをクラス図で表現したもの(点
線で囲んでいる部分は、パターン分類手段8で、同一パ
ターンと分類されるクラス構造部品)を示す図。
11 is a diagram showing data of a class structure part DB7 output from the class structure part extraction means 5 in a class diagram (a part enclosed by a dotted line is a class structure classified as the same pattern by the pattern classification means 8). FIG.

【図12】クラス構造部品DBのクラス構造部品テーブル
のデータ例を示す図。
FIG. 12 is a diagram showing a data example of a class structure component table of a class structure component DB.

【図13】クラス構造部品DBのクラス構造部品クラステ
ーブルのデータ例を示す図。
FIG. 13 is a diagram showing a data example of a class structure component class table of a class structure component DB.

【図14】クラス構造部品DBのクラス構造部品関係テー
ブルのデータ例を示す図。
FIG. 14 is a diagram showing an example of data of a class structure parts relation table of a class structure parts DB.

【図15】パターン分類手段8で、クラス構造部品をパ
ターンに分類し、パターンDBおよびクラス構造部品DBを
更新する際の手順を示したフローチャート。
FIG. 15 is a flowchart showing a procedure when the pattern classifying unit 8 classifies the class structural parts into patterns and updates the pattern DB and the class structural parts DB.

【図16】クラス構造部品DB7をパターン分類手段8で処
理した後の、パターンDB10の内容をクラス図で表現した
ものを示す図。
FIG. 16 is a view showing a class diagram representing the contents of a pattern DB10 after the class structural component DB7 has been processed by the pattern classification means 8;

【図17】クラス構造部品DB7をパターン分類手段8で処
理した後の、パターンDB10の内容のデータ例(パターン
全体のデータ)を示す図。
FIG. 17 is a diagram showing a data example (data of the entire pattern) of the contents of a pattern DB10 after the class structural component DB7 has been processed by the pattern classification means 8;

【図18】クラス構造部品DB7をパターン分類手段8で処
理した後の、パターンDB10の内容のデータ例(パターン
を構成するクラスのデータ)を示す図。
FIG. 18 is a view showing a data example (data of a class constituting a pattern) of the contents of a pattern DB after a class structural component DB is processed by a pattern classifying means.

【図19】クラス構造部品DB7をパターン分類手段8で処
理した後の、パターンDB10の内容のデータ例(パターン
を構成する関係のデータ)を示す図。
FIG. 19 is a view showing an example of data (contents of a pattern constituting a pattern) of the content of a pattern DB10 after processing a class structural component DB7 by a pattern classification means 8;

【図20】図12のクラス構造部品DB7がパターン分類手
段8により更新された結果(同一クラスパターンに属す
るレコードは、点線で囲んでいる)を示す図。
FIG. 20 is a diagram showing a result of updating the class structural component DB7 of FIG. 12 by the pattern classifying means 8 (records belonging to the same class pattern are surrounded by dotted lines).

【図21】パターン別クラス構造部品数表示手段12の画
面例を示す図。
FIG. 21 is a diagram showing an example of a screen of a class-by-pattern class component count display means 12;

【図22】パターン適用分野表示手段13の画面例を示す
図。
FIG. 22 is a view showing an example of a screen of a pattern application field display means 13;

【図23】パターン適用分野検索手段14の手順を示した
フローチャート。
FIG. 23 is a flowchart showing the procedure of a pattern application field search unit 14;

【符号の説明】[Explanation of symbols]

1…カテゴリDB、2…クラス構造部品抽出条件入力手段、
3…クラス構造部品抽出条件、4…入力クラス図DB、5…
クラス構造部品抽出手段、6…クラス構造部品、7…クラ
ス構造部品DB、8…パターン分類手段、9…パターン、10
…パターンDB、11…パターン別クラス構造部品数検索手
段、12…パターン別クラス構造部品数表示手段、13…パ
ターン適用分野表示手段、14…パターン適用分野検索手
段。
1… Category DB, 2… Class structure part extraction condition input means,
3… Class structure part extraction condition, 4… Input class diagram DB, 5…
Class structure part extraction means, 6 ... Class structure parts, 7 ... Class structure parts DB, 8 ... Pattern classification means, 9 ... Patterns, 10
... Pattern DB, 11 ... Pattern-by-pattern class structure part number search means, 12 ... Pattern-by-pattern class structure part number display means, 13 ... Pattern application field display means, 14 ... Pattern application field search means.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 団野 博文 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 Fターム(参考) 5B075 ND04 NR03 NR06 NR12 PP03 PP13 QT03 5B076 DB04 DD06 DE04 EC08  ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Hirofumi Tanno 1099 Ozenji Temple, Aso-ku, Kawasaki City, Kanagawa Prefecture F-Term in Hitachi, Ltd. System Development Laboratory 5B075 ND04 NR03 NR06 NR12 PP03 PP13 QT03 5B076 DB04 DD06 DE04 EC08

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】クラス図群を入力とし、あらかじめ設定し
たパターン情報に基づいて、クラス図に含まれるクラス
間の構造を抽出し、部品として補助記憶に格納しておい
て、設計者の要求に応じて、前記パターン毎に前記部品
群を検索し、端末画面に表示するオブジェクト指向ソフ
トウェア部品支援および検索装置であって、前記パター
ン情報に、クラスの種類、関係の種類および多重度の情
報を含むことを特徴とする。
1. A class diagram group is input, a structure between classes included in a class diagram is extracted based on pattern information set in advance, and the extracted structure is stored as a part in an auxiliary storage, and a request is received from a designer. Accordingly, an object-oriented software component support and retrieval device that retrieves the component group for each pattern and displays the component group on a terminal screen, wherein the pattern information includes information on a class type, a relationship type, and a multiplicity. It is characterized by the following.
【請求項2】請求項1のオブジェクト指向ソフトウェア
部品支援および検索装置であって、入力のクラス図に適
用分野情報を付加し、部品の表示において前記適用分野
情報を合わせて表示することを特徴とする。
2. The object-oriented software component support and retrieval apparatus according to claim 1, wherein application field information is added to an input class diagram, and the application field information is displayed together with a component display. I do.
【請求項3】請求項1のオブジェクト指向ソフトウェア
部品支援および検索装置であって、パターン毎にクラス
図群における出現回数を算出し、部品と合わせて表示す
ることを特徴とする。
3. The object-oriented software component support and retrieval device according to claim 1, wherein the number of appearances in a class diagram group is calculated for each pattern and displayed together with the component.
【請求項4】請求項1のオブジェクト指向ソフトウェア
部品支援および検索装置であって、クラス間の構造抽出
において、抽出対象とする構造に含まれるクラス間の関
係数の上限と下限を設定することを特徴とする。
4. The object-oriented software component support and retrieval apparatus according to claim 1, wherein in structure extraction between classes, an upper limit and a lower limit of a relation number between classes included in a structure to be extracted are set. Features.
JP11182913A 1999-06-29 1999-06-29 Object-oriented software component extraction supporting and retrieval device Pending JP2001014154A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11182913A JP2001014154A (en) 1999-06-29 1999-06-29 Object-oriented software component extraction supporting and retrieval device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11182913A JP2001014154A (en) 1999-06-29 1999-06-29 Object-oriented software component extraction supporting and retrieval device

Publications (1)

Publication Number Publication Date
JP2001014154A true JP2001014154A (en) 2001-01-19

Family

ID=16126588

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11182913A Pending JP2001014154A (en) 1999-06-29 1999-06-29 Object-oriented software component extraction supporting and retrieval device

Country Status (1)

Country Link
JP (1) JP2001014154A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009237691A (en) * 2008-03-26 2009-10-15 Fuji Electric Systems Co Ltd Software development-supporting system, program, and block diagram-searching method
US7627855B2 (en) 2002-02-18 2009-12-01 Japan Science And Technology Agency Software component importance evaluation system
US20100319072A1 (en) * 2009-06-11 2010-12-16 Microsoft Corporation Hardware Specific Product License Validation

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7627855B2 (en) 2002-02-18 2009-12-01 Japan Science And Technology Agency Software component importance evaluation system
JP2009237691A (en) * 2008-03-26 2009-10-15 Fuji Electric Systems Co Ltd Software development-supporting system, program, and block diagram-searching method
US20100319072A1 (en) * 2009-06-11 2010-12-16 Microsoft Corporation Hardware Specific Product License Validation
US8676714B2 (en) * 2009-06-11 2014-03-18 Microsoft Corporation Hardware specific product license validation

Similar Documents

Publication Publication Date Title
US11003636B2 (en) Generating and reusing transformations for evolving schema mapping
KR101114189B1 (en) Label system-translation of text and multi-language support at runtime and design
JP3030786B2 (en) User-expandable database system
JP5435568B2 (en) Method and apparatus for reusing data access and presentation elements
US9645979B2 (en) Device, method and program for generating accurate corpus data for presentation target for searching
US20060080361A1 (en) Document information processing apparatus, document information processing method, and document information processing program
CN104750776B (en) Use the information content in metadata access database platform
CN110276236B (en) Computer and template management method
CN110188165A (en) Contract template acquisition methods, device, storage medium and computer equipment
CN109299219A (en) Data query method, apparatus, electronic equipment and computer readable storage medium
JP2002099561A (en) Method and system for data conversion, and storage medium
CN109271428A (en) Data pick-up method and method for exhibiting data based on geography information
Murphy et al. Extracting and structuring subcellular location information from on-line journal articles: The subcellular location image finder
US20090228794A1 (en) Business specification comprehension assistance system and method
JP2001142890A (en) Method and device for retrieving image
CN110489032B (en) Dictionary query method for electronic book and electronic equipment
Herbert et al. BIO-AJAX: an extensible framework for biological data cleaning
JP2001014154A (en) Object-oriented software component extraction supporting and retrieval device
JP2011053881A (en) Document management system
JP3929418B2 (en) Information search program and medium on which information search program is recorded
CN110717025B (en) Question answering method and device, electronic equipment and storage medium
JP6763967B2 (en) Data conversion device and data conversion method
JP2004145626A (en) Documents classification support device and computer program
JPH01304575A (en) Document processing device
Mou et al. Visual orchestration and autonomous execution of distributed and heterogeneous computational biology pipelines