JP5800657B2 - Software reuse support apparatus, software reuse support method, and program - Google Patents
Software reuse support apparatus, software reuse support method, and program Download PDFInfo
- Publication number
- JP5800657B2 JP5800657B2 JP2011219637A JP2011219637A JP5800657B2 JP 5800657 B2 JP5800657 B2 JP 5800657B2 JP 2011219637 A JP2011219637 A JP 2011219637A JP 2011219637 A JP2011219637 A JP 2011219637A JP 5800657 B2 JP5800657 B2 JP 5800657B2
- Authority
- JP
- Japan
- Prior art keywords
- mapping
- processing
- source code
- software
- source
- 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.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、ソフトウェア部品の再利用を支援するソフトウェア再利用支援装置、ソフトウェア再利用支援方法、及び、プログラムに関する。 The present invention relates to a software reuse support apparatus, a software reuse support method, and a program that support software component reuse.
ソフトウェアの生産性を向上させるために、既存のソフトウェアを再利用して新規のソフトウェアを開発する手法が知られている。 In order to improve the productivity of software, a technique for developing new software by reusing existing software is known.
例えば、特許文献1には、ソフトウェアを部品化してライブラリに登録し、ソースコードを再利用する際に、ライブラリから必要なソフトウェア部品を検出して使用することを特徴とするソフトウェア開発支援方法について記載されている。
For example,
特許文献1に記載のソフトウェア開発支援方法では、ソフトウェアのソースコードを再利用するために、所定のルールに基づいた特別なコーディングをする必要がある。そのため、プログラム開発者は自由にコーディングすることができず、コーディングに手間がかかる。また、特別なコーディングがされていないソースコードの場合、ライブラリに登録できないため、再利用することができなかった。
In the software development support method described in
本発明は、上記実情に鑑みてなされたものであり、特別なコーディングがされていないソースコードの再利用を支援するソフトウェア再利用支援装置、ソフトウェア再利用支援方法、及び、プログラムを提供することを目的とする。 The present invention has been made in view of the above circumstances, and provides a software reuse support apparatus, a software reuse support method, and a program that support the reuse of source code that is not specially coded. Objective.
上記目的を達成するため、本発明のソフトウェア再利用支援装置は、
ソフトウェアを部品化したソフトウェア部品の機能を実現するための典型的な処理の内容を示す処理内容情報と見出語とが対応付けられたテンプレートデータを記憶するテンプレート記憶手段と、
前記ソフトウェア部品に対応するソースコード内から前記見出語を検出し、検出した見出語を含む部分と前記テンプレートデータ内で該見出語に対応付けられている処理内容情報とをマッピングし、マッピングした結果を保持するマッピングテーブルを作成する処理・ソースマッピング手段と、
前記マッピングテーブルを参照して、前記ソースコードの所定部分と該所定部分に対応する処理内容情報とを、両者の対応関係がわかるように表示する処理・ソースマッピング結果表示手段と、
を備えることを特徴とする。
In order to achieve the above object, the software reuse support apparatus of the present invention provides:
Template storage means for storing template data in which processing content information indicating the content of typical processing for realizing the function of a software component obtained by converting software into a component and a headword are associated;
Detecting the headword from the source code corresponding to the software component, mapping a portion including the detected headword and processing content information associated with the headword in the template data; Processing / source mapping means to create a mapping table to hold the mapped results;
Processing / source mapping result display means for referring to the mapping table and displaying the predetermined part of the source code and the processing content information corresponding to the predetermined part so that the correspondence between them can be understood;
It is characterized by providing.
本発明によれば、特別なコーディングがされていないソースコードの再利用を支援することが可能となる。 According to the present invention, it is possible to support the reuse of source code that has not been specially coded.
以下、本発明の各実施形態について、図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付す。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals.
<<第1の実施形態>>
本発明の第1の実施形態に係るソフトウェア再利用支援装置100について説明する。このソフトウェア再利用支援装置100は、既存のソフトウェア部品(ソフトウェアモジュール)を再利用できるように、ソフトウェア部品に対応するソースコードの所定部分と、この部分に対応する処理の内容を示す処理内容情報とを対応付ける。さらに、ソフトウェア再利用支援装置100は、ソフトウェア部品の適用対象となるデバイスのデータシートの各項目(セクション)と、ソフトウェア部品に対応するソースコードの部分とを対応付ける。
<< first embodiment >>
The software reuse
ソフトウェア再利用支援装置100は、物理的には、図1に示すように、通信部11と、入力部12と、出力部13と、記憶部14と、入出力I/F部15と、制御部16と、を備える。各部はバス17を介して互いに接続されている。
As shown in FIG. 1, the software
通信部11は、通信ネットワーク2を介して、ネットワーク2上の図示せぬ情報処理装置等と通信を行うものであり、通信インタフェース等を備える。例えば、通信部11は、再利用の対象とするソフトウェア部品に対応するソースコード、ソフトウェア部品の適用対象であるデバイスのデータシート、及び、ソースコードの仕様書等を、これらネットワーク2上の情報処理装置から受信する。
The
操作部12は、ソフトウェア再利用支援装置100に様々な情報を入力するために使用するものであり、ボタン、キー等の入力装置を備える。
The
表示部13は、様々な情報を出力するものであり、ディスプレイ等の表示装置を備える。
The
記憶部14は、様々な情報やプログラム等を記憶するものであり、ハードディスク等の補助記憶装置を備える。
The
入出力I/F部15は、入出力機器3を接続するためのインタフェースである。例えば、処理の対象となるソースコードを、通信部11ではなく、入出力I/F部15を介して、CD−ROMドライブ等の入出力機器3から取り込むこともできる。
The input / output I /
制御部16は、データの演算処理を行うと共に、バス17を介して通信部11、操作部12、出力部13、記憶部14、入出力I/F部15を制御するものであり、CPU(Central Processing Unit)16a、ROM(Read Only Memory)16b、RAM(Random Access Memory)16c等を備える。制御部16における演算処理及び制御処理は、具体的には、CPU16aが、RAM16cを作業領域として使用して各種データを一時的に記憶させながら、ROM16bに記憶されている制御プログラムを実行することにより行われる。
The
ソフトウェア再利用支援装置100は、機能的には、図2に示すように、テンプレート格納部101と、辞書DB(データベース)102と、処理・ソースマッピング部103と、処理・ソースマッピング結果表示部104と、データシート・ソースマッピング部105と、データシート・ソースマッピング結果表示部106と、を備える。なお、これらの各構成要素は、図1に示した制御部16が、同じく図1に示した通信部11、操作部12、出力部13、記憶部14、又は入出力I/F部15を制御することにより実現される。
Functionally, the software
テンプレート格納部101には、タイマやLANドライバやシリアルドライバ等の機能を有するソフトウェア部品の種類毎に、ソフトウェア部品の機能を実現するための典型的な実装方法(処理や手順の内容や順番)が記述されたテンプレートデータ107が格納される。
The
テンプレートデータ107の構成例を図3に示す。テンプレートデータ107は、条件部1071とデータ部1072とから構成される。
条件部1071は、このテンプレートデータ107が適用されるソフトウェア部品(ソースコード)の実装の条件を示すデータである。具体的には、条件部1071は、H/W(ハードウェア)型番、機能、方式等のソフトウェア部品の属性を示す項目とその値とから構成される。
データ部1072は、条件部1071が示す条件に合致するソフトウェア部品の典型的な実装方法が記載されたデータである。具体的には、データ部1072は、処理(ソースコード内の関数に相当)の内容がテキスト形式で記載された処理データと、処理毎の手順がテキスト形式で記載された手順データとを含んで構成される。なお、処理データの先頭のアルファベット(a)〜(e)は、処理の順番を示したものであり、この順番で、処理データに対応する処理(関数)がソースコード内に記載されることを示す。また、手順データの先頭の番号(1)〜(3)は、処理(関数)内で実施される手順の順番を示したものであり、この順番で、手順データに対応する手順がソースコードの処理(関数)内に記載されることを示す。
さらに、処理データと手順データとには、辞書DB102を参照して関連語を検出するためのキーワードとなる見出語が設定されている。
A configuration example of the
The
The
Further, in the processing data and the procedure data, a headword that is a keyword for detecting a related word with reference to the
図2に戻り、辞書DB102には、テンプレートデータ107で定義されている見出語とその見出語に関連する関連語とが対応付けられて格納される。辞書DB102に登録されるデータの例を図4に示す。例えば、図4の先頭のエントリから、見出語「LAN」の関連語は、「lan」、「ether」」、「ethernet」、「net」等であることがわかる。
Returning to FIG. 2, the
図2に戻り、処理・ソースマッピング部103は、テンプレート格納部101に格納されているテンプレートデータ107と辞書DB102とを参照して、ソフトウェア部品に対応するソースコード内の所定部分とこの部分に対応した処理の内容を示す情報(処理データ、手順データ)とをマッピングし(対応付け)、マッピングした結果をマッピングテーブル108として出力する。
Returning to FIG. 2, the processing /
処理・ソースマッピング結果表示部104は、マッピングテーブル108等を参照して、ソースコードの所定部分と、この所定部分に対応する処理内容情報との対応関係がユーザにわかり、且つ、ユーザがその対応関係を編集(修正)することができるような対応付編集画面を作成して表示する。
The processing / source mapping
データシート・ソースマッピング部105は、マッピングテーブル108と辞書DB102とを参照して、ソースコードの所定部分と、この所定部分に対応するデータシートの部分(セクション)とをマッピングする(対応付ける)。
The data sheet /
なお、ここでいうデータシートとは、ソフトウェア部品が適用されるデバイスの特徴や仕様等が記載されている電子化されているドキュメントデータを示す。データシートには、番号と見出しが付されたセクション毎に、デバイスに関する情報が記載されている。なお、データシートはXML(Extensible Markup Language)等のマークアップ言語で記載されており、ソフトウェア開発支援装置100は、データシート内のセクションの構成を認識することができる。例えば、ソフトウェア開発支援装置100は、データシート内の特定のセクション部分のみを取得して表示することが可能である。
Note that the data sheet here refers to electronic document data in which the characteristics and specifications of the device to which the software component is applied are described. The data sheet contains information about the device for each section with a number and a heading. The data sheet is described in a markup language such as XML (Extensible Markup Language), and the software
データシート・ソースマッピング結果表示部106は、データシート・ソースマッピング部105がマッピングしたソースコードの所定部分とデータシートの所定部分(セクション)との対応関係をユーザが参照可能に表示する。
The data sheet / source mapping
続いて、ソフトウェア再利用支援装置100の動作について説明する。
Next, the operation of the software
(処理・ソースマッピング処理)
始めに、ソフトウェアーモジュールのソースコードの所定部分と、この部分に対応する処理の内容を示す情報(処理データおよび手順データ)とをマッピングし、その結果をユーザが編集可能に表示する処理・ソースマッピング処理について、図5のフローチャートを参照して説明する。
(Processing / source mapping processing)
First, a process / source that maps a predetermined part of the source code of the software module and information (processing data and procedure data) indicating the contents of the process corresponding to this part and displays the result in an editable manner by the user The mapping process will be described with reference to the flowchart of FIG.
ユーザは、操作部12を操作して、処理・ソースマッピング処理開始用の所定の画面を表示部1312に表示させる。そして、ユーザは、操作部12を操作して、この画面上から、処理の対象とするソースコードの指定と、テンプレートデータ107を検索するための条件とを入力する。ここでは、指定したソースコードに対応したソフトウェア部品のテンプレートデータ107を検出するための検出条件を入力するのが望ましい。例えば、UART(Universal Asynchronous Receiver Transmitter)方式のマイコンのシリアル通信機能に関するソフトウェア部品に対応するソースコードを処理対象として指定する場合、テンプレートデータ107の検索条件として、H/W型番「マイコンA」、機能「シリアル通信」、方式「UART」等と入力すればよい。処理・ソースマッピング部103は、この入力操作に応答して、テンプレート格納部101に記憶されているテンプレートデータ107の条件部1071を検索し、入力された検索条件に合致するテンプレートデータ107を検出する(ステップS11)。
The user operates the
続いて、処理・ソースマッピング部103は、検出したテンプレートデータ107の記載を参照して、指定したソースコードの各部分と、各部分に対応した処理データ、手順データとを対応付ける対応付処理を行う(ステップS12)。
Subsequently, the processing /
ここで、対応付処理(ステップS12)の詳細について、図6に示すソースコードを処理対象とした場合を例に、図7のフローチャートを用いて説明する。図6に示すソースコードは、C言語で記述されており、「sio_init()」、「port_open()」、「sio_putchar()」、「sio_getchar()」、「sio_getchar_err()」、「sio_send_frame()」の6つの関数から構成されている。なお、ソースコードの各行の左側の数字は行番号であり、以下の説明を容易にするために便宜的に付したものである。また、このソースコードに対するテンプレートデータ107として、図3に示すテンプレートデータ107が検出されているものとする。また、辞書DB102には、図4に示す情報が格納されているものとする。
Here, the details of the association processing (step S12) will be described with reference to the flowchart of FIG. 7, taking as an example the case where the source code shown in FIG. The source code shown in FIG. 6 is written in C language, and “sio_init ()”, “port_open ()”, “sio_putchar ()”, “sio_getchar ()”, “sio_getchar_err ()”, “sio_send_frame ()” "Is composed of six functions. Note that the numbers on the left side of each line of the source code are line numbers, and are attached for convenience in order to facilitate the following description. Further, it is assumed that the
まず、処理・ソースマッピング部103は、検出したテンプレートデータ107と辞書DB102とを参照して、指定したソースコードに含まれる関数と、該関数の処理内容を示す処理データとを対応付ける(ステップS121)。
First, the processing /
具体的には、まず、処理・ソースマッピング部103は、ソースコード内の関数の関数名やコメントから関連語を検出する。そして、処理・ソースマッピング部103は、辞書DB102を参照して、検出した関連語の見出語を検出する。そして、処理・ソースマッピング部103は、検出した見出語と一致する見出語を有する処理データをテンプレートデータ107から検出し、この関数と対応付ければよい。または、関数間の呼出関係を考慮して、呼出元の関数と同じ処理データを呼出先の関数に対応付けてもよい。また、ソースコード内での関数の出現する順番と、テンプレートデータ107に記載されている処理の順番とに基づいて、関数名を対応付けてもよい。
Specifically, first, the processing /
例えば、図3に示すテンプレートデータ107のデータ部1072に記載されている処理データ「初期化」には、見出語「初期化」が設定されている。そして、図4に示す辞書DB102には、見出語「初期化」の関連語として、「初期化」、「init」、「 initialization」、「 set」、「 設定」が定義されている。従って、処理・ソースマッピング部103は、図6に示すソースコードに記載されている関数のうちで、関数名にこれらの関連語のうちの「init」を含む関数「sio_init()」に、処理データ「初期化」を対応付ける。なお、関数「sio_init()」がソースコード内で最初に記載されている関数であることを理由に、テンプレートデータ107の記載内での最初の処理データである「初期化」を対応付けてもよい。また、この関数「sio_init()」は、9行目で関数「port_open()」を呼び出している。従って、処理・ソースマッピング部103は、関数「port_open()」にも、呼出元の関数と同じ処理データ「初期化」を対応付ける。
For example, the headword “initialization” is set in the processing data “initialization” described in the
また、図3に示すテンプレートデータ107に記載されている処理データ「1バイト送信」には、見出語「送信」、「バイト」が設定されている。また、図4に示す辞書DB102には、見出語「送信」の関連語として、「送信」、「 sd」、「 snd」、「 send」、「 out」、「 put」が定義されている。また、見出語「バイト」の関連語として、「バイト」、「 byte」、「 char」が定義されている。従って、処理・ソースマッピング部103は、これらの各関連語「put」と「char」とを関数名に含む図6に示すソースコード内の関数「sio_putchar()」に、処理データ「1バイト送信」を対応付ける。
Further, the headwords “transmission” and “byte” are set in the processing data “1-byte transmission” described in the
以下同様に、処理・ソースマッピング部103は、関数「sio_getchar()」に処理データ「1バイト受信」を、関数「sio_getchar_err()」に処理データ「1バイト受信エラー」を、関数「sio_send_frame()」に処理データ「1フレーム送信」を、それぞれ対応付ける。
Similarly, the processing /
図7に戻り、ステップS121の処理が終了すると、処理・ソースマッピング部103は、検出したテンプレートデータ107と辞書DB102とを参照して、各関数内の手順と、該手順の内容を示す手順データとを対応付ける(ステップS122)。具体的には、処理・ソースマッピング部103は、関数内の手順の記載や付されているコメントに含まれる関連語に対応する見出語が、テンプレートデータ107の見出語と一致する手順データを、この手順と対応付ければよい。または、手順間の呼出関係を考慮して、呼出元の手順と同じ手順データを呼出先の手順に対応付けてもよい。また、関数内での手順の順番と、テンプレートデータ107に記載されている手順の順番とに基づいて、手順データを対応付けてもよい。
Returning to FIG. 7, when the process of step S <b> 121 ends, the processing /
例えば、図3に示すテンプレートデータ107から、処理データ「初期化」には、手順データ「割込禁止設定」、「レジスタ設定」、「割込許可設定」が順番に対応付けられていることがわかる。また、これらの手順データのうち手順データ「割込禁止設定」には、見出語「割込」が設定されている。そして、図4に示す辞書DB102には、辞書見出「割込」の関連語の1つとして「intr」が設定されている。従って、処理・ソースマッピング部103は、処理データ「初期化」が対応付けられている図6に示すソースコードに含まれる関数「sio_init()」内の手順のうち、この関連語「init」を含む3行目の手順「set_intr_off();」に、手順データ「割込禁止設定」を対応付ける。なお、手順データ「割込許可設定」の見出語も「割込」であるが、「set_intr_off();」は関数内での最初の手順であるため、テンプレートデータ107内での記載順が最初の手順データ「割込禁止設定」が割り当てられる。
For example, from the
また、図3に示すテンプレートデータ107から、手順データ「レジスタ設定」には、見出語「レジスタ」が設定されていることごわかる。また、図4に示す辞書DB102には、見出語「レジスタ」の関連語として「レジスタ」が設定されている。従って、処理データ「初期化」が対応付けられている図6に示すソースコードに含まれる関数「sio_init()」内で、この関連語「レジスタ」をコメントに含む5〜7行目にかけての3つの手順「SCR = INIT_SIR_INIT;」「SMR = 0x00;」「BRR = BRR_115200;」それぞれに、手順データ「レジスタ設定」が対応付けられる。
Further, it can be seen from the
同様に、見出語「割込」の関連語「intr」を含み、関数「sio_init()」内での処理が最後である11行目の手順「set_intr_on();」には、図3に示すテンプレートデータ107を参照して、手順データ「割込許可設定」が対応付けられる。
Similarly, the procedure “set_intr_on ();” on the 11th line including the related word “intr” of the headword “interrupt” and the last processing in the function “sio_init ()” is shown in FIG. The procedure data “interrupt permission setting” is associated with reference to the
なお、関数「sio_init()」内の9行目の手順「port_open();」には、コメント部分も含めて辞書DB102に登録されている関連語は含まれていないものの、前後の手順に対応付けられた手順データの順番と、テンプレートデータ107に記憶されている手順データの順番とに基づいて、「レジスタ設定」か「割込許可設定」の何れかの手順データが対応付けられる。ここでは、手順「port_open();」に手順データ「割込許可設定」が対応付けられたものとする。
Note that the procedure “port_open ();” on the ninth line in the function “sio_init ()” does not include the related words registered in the
以下、図6に示すソースコードの他の関数についても、同様に、関数内の手順と、テンプレートデータ107に記載されている手順データとを対応付ける処理が行われる。
Hereinafter, for other functions of the source code shown in FIG. 6, similarly, a process of associating the procedure in the function with the procedure data described in the
図7に戻り、ステップS122の処理が終了すると、処理・ソースマッピング部103は、ステップS121とステップS122との処理で、ソースコードの部分と処理内容を示す処理内容情報(処理データ、手順データ)とを対応付けた結果を保持するマッピングテーブル108を作成して、対応するソフトウェア部品(ソースコード)と関連付けて記憶部14に保存する(ステップS123)。
Returning to FIG. 7, when the processing of step S122 is completed, the processing /
図8は、図6に示すソースコードの処理(関数)のうち、処理データ「初期化」に対応付けられている関数部分のマッピングテーブル108の例を示す図である。図8では、XMLの形式でマッピングテーブル108が作成されている。具体的には、「mapping_item」タグで指定した処理データ「初期化」と、「func_name」タグで指定した関数「sio_init」、「port_open」とが対応付けられている。また、「proc_name」タグで指定した手順データ「割込禁止設定」、「レジスタ設定」、「割込許可設定」と、直後の「source_code_line」タグで指定したソースコードの部分(行数)とが、「proc_item」タグにより対応付けられている。以上で対応付処理は終了する。 FIG. 8 is a diagram illustrating an example of the mapping table 108 of the function portion associated with the processing data “initialization” in the processing (function) of the source code illustrated in FIG. 6. In FIG. 8, the mapping table 108 is created in the XML format. Specifically, the processing data “initialization” specified by the “mapping_item” tag is associated with the functions “sio_init” and “port_open” specified by the “func_name” tag. Also, the procedure data “interrupt disable setting”, “register setting”, “interrupt enable setting” specified by the “proc_name” tag and the source code part (number of lines) specified by the “source_code_line” tag immediately after , “Proc_item” tag. Thus, the association process ends.
図5に戻り、対応付処理が終了すると、処理・ソースマッピング結果表示部104は、作成されたマッピングテーブル108と、このマッピングテーブル108に対応するソースコードとを合成した対応付編集画面を作成し、表示部13に表示する(ステップS13)。
Returning to FIG. 5, when the association processing is completed, the processing / source mapping
ユーザは、対応付編集画面からソースコードの所定部分と、この部分に対応する処理内容情報との対応関係を把握するとともに、対応関係に誤りがある場合に操作部12を操作してこの対応関係を修正するための操作を行う。処理・ソースマッピング結果表示部104は、この操作に応答して、修正された内容に基づいてマッピングテーブル108を更新する(ステップS14)。
The user grasps the correspondence between the predetermined part of the source code and the processing content information corresponding to this part from the editing screen for correspondence, and operates the
図9に、図8に示すマッピングテーブル108と、それに対応する図7に示すソースコードの一部とを合成して作成された対応付編集画面の例を示す。ソースコード内の関数の右側には、マッピングテーブル108によって対応付けられている処理データが表示される。また、関数内の各処理の右側には、マッピングテーブル108によって対応付けられている手順データが表示される。また、処理データ、及び、手順データの表示の右側の三角形をクリックすることにより、プルダウンメニューでテンプレートデータ107に記述されている他の処理データや手順データを選択することができ、処理・ソースマッピング結果表示部104は、選択した内容に応じて、マッピングテーブル108を修正する。
FIG. 9 shows an example of a correspondence editing screen created by synthesizing the mapping table 108 shown in FIG. 8 and the corresponding part of the source code shown in FIG. The processing data associated with the mapping table 108 is displayed on the right side of the function in the source code. In addition, procedure data associated with the mapping table 108 is displayed on the right side of each process in the function. Also, by clicking the triangle on the right side of the display of processing data and procedure data, other processing data and procedure data described in the
例えば、ユーザは、図9に示す対応付編集画面の9行目の手順「port_open();」の右側の表示「割込許可設定」の右側の三角形をクリックして、手順データを「割込許可設定」から「レジスタ設定」に更新する操作を行う。この操作に応答して、処理・ソースマッピング結果表示部104は、手順「port_open();」に対応付けられる手順データが「割込許可設定」から「レジスタ設定」になるようにマッピングテーブル108を更新する。さらに、処理・ソースマッピング結果表示部104は、関数「port_open();」から呼ばれる17行目と18行目の手順に対応付けられる手順データも「割込許可設定」から「レジスタ設定」に更新する。これらの更新操作によって修正されたマッピングテーブル108の一部を図10に示す。
For example, the user clicks the triangle on the right side of the display “interrupt permission setting” on the right side of the procedure “port_open ();” on the 9th line of the correspondence editing screen shown in FIG. An operation to update from “permission setting” to “register setting” is performed. In response to this operation, the processing / source mapping
このように、処理・ソースマッピング処理により、ソースコード内の各部分と、対応する処理の内容を示す処理内容情報(処理データ、手順データ)とがマッピングされる。以上で処理・ソースマッピング処理は終了する。 In this way, each part in the source code and the process content information (process data, procedure data) indicating the content of the corresponding process are mapped by the process / source mapping process. Thus, the processing / source mapping processing ends.
(データシート・ソースマッピング処理)
続いて、ソフトウェア部品に対応するソースコードと、該ソフトウェア部品の適用対象であるデバイスのデータシートの記載とをマッピングするデータシート・ソースマッピング処理について、図11のフローチャートを参照して説明する。なお、事前に処理・ソースマッピング処理が実行されて、マッピングテーブル108が作成されているものとする。
(Datasheet / source mapping process)
Next, a data sheet / source mapping process for mapping the source code corresponding to the software component and the description of the data sheet of the device to which the software component is applied will be described with reference to the flowchart of FIG. It is assumed that the mapping table 108 has been created by executing processing / source mapping processing in advance.
ユーザは、操作部12を操作して、データシート・ソースマッピング処理開始用の所定の画面を表示部13に表示させる。ユーザは、操作部12を操作して、この画面上から、対応付けの対象とするソースコードとデータシートとを指定する。データシート・ソースマッピング部105は、この入力操作に応答して、指定されたソースコードに対応するマッピングテーブル108と、指定されたデータシートとを取得する(ステップS21)。なお、H/W(ハードウェア)型番、機能、方式等といったソフトウェア部品の属性値の条件を指定して、その条件に合致するソフトウェア部品に対応するソースコードを取得してもよい。
The user operates the
続いて、データシート・ソースマッピング部105は、取得したマッピングテーブル108等を参照して、指定したソースコード内の各手順と、取得したデータシート内の各セクションとを対応付ける(ステップS22)。
Subsequently, the data sheet /
具体的には、データシート・ソースマッピング部105は、取得したマッピングテーブル108を参照して、ソースコード内の所定の手順に対応付けられている手順データを検出する。続いて、データシート・ソースマッピング部105は、テンプレートデータ107を参照して検出した手順データの見出語を検出するとともに、辞書DB102を参照してその関連語を検出する。そして、データシート・ソースマッピング部105は、取得したデータシート内で、検出した関連語が所定数以上記載されているセクション(章、節、項、目等)の識別子である番号を、この所定の手順が記載されているソースコード内での位置(行数)と対応付ければよい。なお、データシート・ソースマッピング部105は、検出した関連語のセクション内での密度(セクション全体の単語数に対する関連語の割合)が所定値以上あるセクションの番号や、検出した関連語を見出しに含むセクションの番号を、この所定の手順が記載されているソースコード内での位置(行数)と対応付けてもよい。
Specifically, the data sheet /
続いて、データシート・ソースマッピング結果表示部106は、ソースコード内の各手順から対応するデータシートのセクション部分を参照可能な図12に示すようなデータシート参照画面を作成して、表示部13に表示させる(ステップS23)。
Subsequently, the data sheet / source mapping
図12に示すデータシート参照画面上からソースコード内の各手順の右側の参照ボタンをクリックする操作に応答して、データシート・ソースマッピング結果表示部106は、この手順に対応するデータシートのセクション部分をポップアップ表示する。例えば、図12に示すように、3行目の手順「set_intr_off();」の右側の参照ボタンをクリックすると、割込設定について記載されているデータシートのセクション部分がポップアップ表示される。以上で、データシート・ソースマッピング処理は終了する。
In response to the operation of clicking the reference button on the right side of each procedure in the source code on the data sheet reference screen shown in FIG. 12, the data sheet / source mapping
このように、本実施形態では、テンプレートデータ107に記載されたソフトウェア部品の実装の方法(パターン)に合うようにソースコードを解析して、ソースコード内の処理と、該処理に対応する処理内容情報(処理データ、手順データ)とをマッピングし、その結果を表示する。従って、ユーザは、特別なコーディングがされていないソースコードであっても、ソースコードと処理内容との関係を容易に把握することができ、ソースコードの保守性を高めて、ソースコードの再利用を支援することが可能となる。
特に、ハードウェアを制御するドライバの機能のように、典型的な実装パターンを持つソフトウェア部品に対応するソースコードは、テンプレートデータ107に沿った形でコーディングされている可能性が高いため、本発明をより好適に適用可能である。
As described above, in the present embodiment, the source code is analyzed so as to match the method (pattern) for mounting the software component described in the
In particular, since the source code corresponding to the software component having a typical mounting pattern, such as the function of the driver that controls the hardware, is likely to be coded along the
また、本実施形態では、ソースコードと処理とをマッピングした結果を、ユーザが修正可能に表示する。従って、表示された対応関係に誤りがある場合、ユーザは即座に修正を行うことができる。これにより、例えば、処理とソースコードとをマッピングした結果をソースコードの移植や改修の作業等に利用する場合に、参照データとしての正確さを向上させることが可能になる。 In this embodiment, the result of mapping the source code and the process is displayed so that the user can correct it. Therefore, if there is an error in the displayed correspondence relationship, the user can make corrections immediately. As a result, for example, when the result of mapping processing and source code is used for source code transplantation or modification work, the accuracy as reference data can be improved.
また、本実施形態では、辞書DB102を参照して検出した関連語を用いてソースコードと処理とのマッピングを行う。従って、表記の揺れや、関数の命名の慣用的な複数のパターンに対応した、より正確な処理とソースコードとの対応付けが可能になる。
In the present embodiment, the source code and the process are mapped using the related words detected with reference to the
さらに、本実施形態では、マッピングデータ107には、処理内用情報(処理データ、手順データ)が実行される順番を示す情報も併せて記憶されており、処理内容情報の実行順とソースコード内での対応部分の出現順とがなるべく一致するようにマッピングが実施される。従って、マッピングの精度をより向上させることが可能になる。
Furthermore, in this embodiment, the
また、本実施形態では、ソフトウェア部品に対応するソースコードの部分と、このソフトウェアを適用対象とするデバイスのデータシートの部分(セクション)とを対応付けて参照可能に表示する。これにより、既存のソフトウェア部品(ソースコード)を新規のデバイスに移植する際等に、ユーザは、この新規のデバイスのデータシートと既存のソースコードとの対応関係を即時に把握することができるため、効率よく移植作業を行うことが可能になる。 In the present embodiment, the source code portion corresponding to the software component and the data sheet portion (section) of the device to which the software is applied are displayed in association with each other. As a result, when the existing software component (source code) is ported to a new device, the user can immediately grasp the correspondence between the data sheet of the new device and the existing source code. It becomes possible to perform the transplantation work efficiently.
<<第2の実施形態>>
第1の実施形態に係るソフトウェア開発支援装置200では、ソフトウェア部品を使用するデバイスのデータシートの部分(セクション)と、ソフトウェア部品に対応するソースコードの部分とを対応付けた。これに対し、第2の実施形態に係るソフトウェア開発支援装置200は、ソースコードと仕様書との間で、対応する部分同士を対応付けることを特徴とする。さらに、第2の実施形態に係るソフトウェア開発支援装置200は、この対応付けした結果を利用して、ソースコードが変更された際に、仕様書の変更作業を支援する処理を行う。
<< Second Embodiment >>
In the software
なお、ここでいう仕様書とは、ソフトウェア開発者等によって作成、参照される、ソースコードの処理や機能の仕様が記載されている電子化されているドキュメントデータを示す。仕様書には、番号と見出しが付されたセクション毎に、見出しに対応した内容のソースコードの仕様が記載されている。なお、仕様書はXML(Extensible Markup Language)等のマークアップ言語で記載されており、ソフトウェア開発支援装置200は、仕様書内のセクションの構成を認識することができる。例えば、ソフトウェア開発支援装置100は、仕様書内の特定のセクション部分のみを取得して表示することが可能である。
Note that the specification here refers to digitized document data in which specifications of source code processing and functions are created and referenced by a software developer or the like. In the specification, for each section with a number and a heading, the specification of the source code having contents corresponding to the heading is described. The specifications are described in a markup language such as XML (Extensible Markup Language), and the software
第2の実施形態に係るソフトウェア開発支援装置200の機能構成図を図13に示す。なお、第1の実施形態に係るソフトウェア開発支援装置100と同じ構成については、同じ参照符号を付し、その部分の説明は省略する。第2の実施形態に係るソフトウェア開発支援装置200は、第1の実施形態に係るソフトウェア開発支援装置100と比べて、データシート・ソースマッピング部105とデータシート・ソースマッピング結果表示部106とが無く、仕様書・ソースマッピング部109と仕様書変更候補表示部110とを備える。
FIG. 13 shows a functional configuration diagram of the software
仕様書・ソースマッピング部109は、マッピングテーブル108と辞書DB102とを参照して、ソースコードの所定部分と、この所定部分に対応する仕様書の部分(セクション)とをマッピングし、マッピングした結果を仕様書マッピングテーブル111として出力する。
The specification /
仕様書変更候補表示部110は、ソースコードが変更された際に、仕様書マッピングテーブル111等を参照して、ソースコードの変更された部分に対応する仕様書のセクション部分を、修正を要する候補として表示する。
The specification change
続いて、ソフトウェア再利用支援装置200の動作について説明する。
なお、処理・ソースマッピング処理については、第1の実施形態と同様な処理が行われるため説明を省略する。
Next, the operation of the software
Note that the processing and source mapping processing are the same as those in the first embodiment, and thus description thereof is omitted.
(仕様書・ソースマッピング処理)
続いて、ソースコードと、該ソースコードの仕様書とをマッピングする仕様書・ソースマッピング処理について、図14のフローチャートを参照して説明する。なお、事前に処理・ソースマッピング処理が実行されて、マッピングテーブル108が作成されているものとする。
(Specification / source mapping process)
Next, a specification / source mapping process for mapping the source code and the specification of the source code will be described with reference to the flowchart of FIG. It is assumed that the mapping table 108 has been created by executing processing / source mapping processing in advance.
ユーザは、操作部12を操作して、仕様書・ソースマッピング処理開始用の所定の画面を表示部13に表示させる。ユーザは、操作部12を操作して、この画面上から、対応付けの対象とするソースコードとその仕様書とを指定する。仕様書・ソースマッピング部109は、この入力操作に応答して、指定されたソースコードに対応するマッピングテーブル108と、指定された仕様書とを取得する(ステップS31)。なお、H/W(ハードウェア)型番、機能、方式等といったソフトウェア部品の属性値の条件を指定して、その条件に合致するソフトウェア部品に対応するソースコードを取得してもよい。
The user operates the
続いて、仕様書・ソースマッピング部109は、取得したマッピングテーブル108を参照して、指定したソースコード内の各手順と、取得した仕様書内の各セクションとを対応付ける(ステップS32)。
Subsequently, the specification /
具体的には、仕様書・ソースマッピング部109は、取得したマッピングテーブル108を参照して、ソースコード内の所定の手順に対応付けられている手順データを検出する。続いて、仕様書・ソースマッピング部109は、テンプレートデータ107を参照して検出した手順データの見出語を検出するとともに、辞書DB102を参照してその関連語を検出する。そして、仕様書・ソースマッピング部109は、取得した仕様書内で、検出した関連語が所定数以上記載されているセクション(章、節、項、目等)の識別子である番号を、この所定の手順が記載されているソースコード内での位置(行数)と対応付ければよい。なお、仕様書・ソースマッピング部109は、検出した関連語のセクション内での密度(セクション全体の単語数に対する関連語の割合)が所定値以上あるセクションの番号や、検出した関連語を見出しに含むセクションの番号を、この所定の手順が記載されているソースコード内での位置(行数)と対応付けてもよい。
Specifically, the specification /
続いて、仕様書・ソースマッピング部109は、ステップS32で対応付けた結果を保持する仕様書マッピングテーブル111を作成して、記憶部14に保存する(ステップS33)。
Subsequently, the specification /
図15は、図6に示すソースコードの処理(関数)のうち、処理データ「初期化」に対応する関数部分の仕様書マッピングテーブル111の例を示す図である。図15では、XMLの形式で仕様書マッピングテーブル111が作成されている。具体的には、「proc_name」タグで指定した手順データと、「source_code_line」タグで指定したソースコードの部分(行数)と、「spec_section」タグで指定した仕様書内のセクション番号とが、「proc_item」タグにより対応付けられている。 FIG. 15 is a diagram showing an example of the specification mapping table 111 of the function portion corresponding to the processing data “initialization” in the processing (function) of the source code shown in FIG. In FIG. 15, a specification mapping table 111 is created in the XML format. Specifically, the procedure data specified by the “proc_name” tag, the source code part (number of lines) specified by the “source_code_line” tag, and the section number in the specification specified by the “spec_section” tag are “ Corresponding by “proc_item” tag.
図14に戻り、仕様書・ソースマッピング部109は、作成された仕様書マッピングテーブル111と、このマッピングテーブル108に対応するソースコードとを合成した、ソースコード上から対応する仕様書のセクション部分を参照可能な画面を作成して、表示部13に表示する(ステップS34)。以上で仕様書・ソースマッピング処理は終了する。
Returning to FIG. 14, the specification /
(仕様書更新支援処理)
続いて、ソースコードが更新された際に、このソースコードの仕様書の更新作業を支援する仕様書更新支援処理について、図16のフローチャートを参照して説明する。なお、事前に仕様書・ソースマッピング処理がなされており、更新支援対象の仕様書に関する仕様書マッピングテーブル111が作成されているものとする。
(Specification update support processing)
Next, the specification update support process for supporting the update operation of the specification of the source code when the source code is updated will be described with reference to the flowchart of FIG. It is assumed that the specification / source mapping processing has been performed in advance, and the specification mapping table 111 relating to the update support target specification has been created.
ソフトウェア再利用支援装置200が起動した場合、又は、操作部12を介して仕様書更新支援処理を開始することを示すユーザからの指示入力を受信した場合、仕様書変更候補表示部110は、定期的にソースコードを解析して、ソースコードが更新されたか否かを判別する(ステップS41)。
When the software
ソースコードが更新されていない場合(ステップS41;No)、仕様書変更候補表示部110は、ソースコードが更新されるまで、定期的にソースコードの更新を判別するステップS41の処理を繰り返す。ソースコードが更新されたと判別した場合(ステップS41;Yes)、仕様書変更候補表示部110は、このソースコードの仕様書マッピングテーブル111を参照して、ソースコード内の更新された部分に対応付けられている仕様書のセクションを特定する(ステップS42)。
If the source code has not been updated (step S41; No), the specification change
例えば、仕様書マッピングテーブル111が図15に示すように記載されている場合、更新されたソースコードの行を指定する「source_code_line」タグと同じ「proc_item」タグ中の「spec_section」タグで指定されている仕様書のセクション番号を特定すればよい。 For example, when the specification mapping table 111 is described as shown in FIG. 15, it is specified by the “spec_section” tag in the “proc_item” tag that is the same as the “source_code_line” tag that specifies the updated source code line. The section number of the specified specification should be specified.
続いて、仕様書変更候補表示部110は、ソースコードの更新部分と、特定した仕様書のセクション部分とを関連付けて表示する図17に示すような仕様書参照画面を作成して表示部13に表示する(ステップS43)。この仕様書参照画面では、変更されたソースコードの7行目部分が点線で囲まれて強調されるとともに、この部分に対応する仕様書の43.2節の部分が変更部分と関連付けられて表示される。ユーザは仕様書参照画面を確認することで、プログラムソース内で変更があった部分に対応する仕様書の部分を即時に知ることができ、ソースコード変更に伴う仕様書の変更処理を迅速に行うことが可能となる。以上で仕様書更新支援処理は終了する。
Subsequently, the specification change
このように、本実施形態では、ソースコードと仕様書の対応する部分同士を対応付けて、相互参照可能に表示する。これにより、ユーザは、ソースコードと仕様書との対応関係を直感的に把握することができるため、ソフトウェアの再利用性や保守性を高めることができる。 Thus, in the present embodiment, corresponding portions of the source code and the specification are associated with each other and displayed so as to be cross-referenced. Thereby, since the user can intuitively grasp the correspondence between the source code and the specification, the reusability and maintainability of the software can be improved.
また、本実施形態では、ソースコードが変更された際に、変更された箇所に対応する仕様書のセクションが表示される。従って、ユーザは、ソフトウェアのバージョンアップなどに伴ってソースコードが変更された際に、仕様書の変更作業を効率良く行うことが可能となる。 In the present embodiment, when the source code is changed, a specification section corresponding to the changed portion is displayed. Therefore, the user can efficiently change the specification when the source code is changed due to software upgrade or the like.
なお、本発明は、上記各実施形態に限定されず、本発明の要旨を逸脱しない部分での種々の変更は勿論可能である。 The present invention is not limited to the above-described embodiments, and various changes can be made without departing from the spirit of the present invention.
例えば、上記各実施形態では、辞書DB102を参照して、テンプレートデータ107の所定の見出語の関連語を特定し、特定した関連語を含むソースコードの部分を、この所定の見出語を有する処理内容情報(処理データ、手順データ)とマッピングした。しかしながら、辞書DB102を参照しないで、見出語で直接ソースコードを検索することにより、マッピングを行ってもよい。即ち、テンプレートデータ107の所定の見出語を含むソースコードの部分を、この所定の見出語を有する処理内容情報(処理データ、手順データ)と対応付けてもよい。
For example, in each of the above embodiments, the
例えば、上記各実施形態では、ソースコード内の処理(関数)に処理データ、手順に手順データを対応付けたが、処理データのみ、若しくは、手順データのみをソースコード内の部分と対応付けるようにしてもよい。 For example, in each of the above embodiments, process data and procedure data are associated with a process (function) in the source code, but only process data or only procedure data is associated with a part in the source code. Also good.
例えば、SGML(Standard Generalized Markup Language)やXHTML(Extensible HyperText Markup Language)等といったXML以外の他のマークアップ言語でマッピングテーブル108や仕様書マッピングテーブル111を記載してもよい。または、マッピングテーブル108や仕様書マッピングテーブル111を表形式のデータとしてもよく、データ形式は任意のものが採用可能である。 For example, the mapping table 108 and the specification mapping table 111 may be described in a markup language other than XML, such as SGML (Standard Generalized Markup Language) or XHTML (Extensible HyperText Markup Language). Alternatively, the mapping table 108 and the specification mapping table 111 may be tabular data, and any data format can be adopted.
また、上記各実施形態では、C言語で記載されているソースコードを例にして主に説明したが、JAVA(登録商標)やBASIC等の他のプログラム言語で記載されているソースコードにも本願発明が適用できるのは勿論である。 In each of the above embodiments, the source code written in C language has been mainly described as an example. However, the present application also applies to source code written in other program languages such as JAVA (registered trademark) and BASIC. Of course, the invention can be applied.
また、例えば、本発明に係るソフトウェア再利用支援装置100,200の動作を規定する動作プログラムを既存のパーソナルコンピュータや情報端末機器等に適用することで、当該パーソナルコンピュータ等を本発明に係るソフトウェア再利用支援装置100,200として機能させることも可能である。
Further, for example, by applying an operation program that defines the operation of the software
また、このようなプログラムの配布方法は任意であり、例えば、CD−ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto Optical Disk)、メモリカードなどのコンピュータ読み取り可能な記録媒体に格納して配布してもよいし、インターネットなどの通信ネットワークを介して配布してもよい。 Further, the distribution method of such a program is arbitrary. For example, the program can be read by a computer such as a CD-ROM (Compact Disk Read-Only Memory), a DVD (Digital Versatile Disk), an MO (Magneto Optical Disk), or a memory card. It may be distributed by storing in a recording medium, or distributed via a communication network such as the Internet.
例えば、組み込みシステムのデバイスドライバの開発支援装置に本発明を適用可能である。 For example, the present invention can be applied to a device driver development support apparatus for an embedded system.
100,200 ソフトウェア再利用支援装置
101 テンプレート格納部
102 辞書DB
103 処理・ソースマッピング部
104 処理・ソースマッピング結果表示部
105 データシート・ソースマッピング部
106 データシート・ソースマッピング結果表示部
107 テンプレートデータ
108 マッピングテーブル
109 仕様書・ソースマッピング部
110 仕様書変更候補表示部
111 仕様書マッピングテーブル
100, 200 Software
103 processing /
Claims (9)
前記ソフトウェア部品に対応するソースコード内から前記見出語を検出し、検出した見出語を含む部分と前記テンプレートデータ内で該見出語に対応付けられている処理内容情報とをマッピングし、マッピングした結果を保持するマッピングテーブルを作成する処理・ソースマッピング手段と、
前記マッピングテーブルを参照して、前記ソースコードの所定部分と該所定部分に対応する処理内容情報とを、両者の対応関係がわかるように表示する処理・ソースマッピング結果表示手段と、
を備えることを特徴とするソフトウェア再利用支援装置。 Template storage means for storing template data in which processing content information indicating the content of typical processing for realizing the function of a software component obtained by converting software into a component and a headword are associated;
Detecting the headword from the source code corresponding to the software component, mapping a portion including the detected headword and processing content information associated with the headword in the template data; Processing / source mapping means to create a mapping table to hold the mapped results;
Processing / source mapping result display means for referring to the mapping table and displaying the predetermined part of the source code and the processing content information corresponding to the predetermined part so that the correspondence between them can be understood;
A software reuse support apparatus comprising:
ことを特徴とする請求項1に記載のソフトウェア再利用支援装置。 The processing / source mapping result display means displays a correspondence relationship between a predetermined portion of the source code and processing content information corresponding to the predetermined portion so that the user can edit, and based on the content edited by the user, the mapping Update the table,
The software reuse support apparatus according to claim 1.
前記処理・ソースマッピング手段は、
前記辞書手段を参照して前記テンプレートデータに格納されている見出語の関連語を検出し、
前記ソフトウェア部品に対応するソースコード内で検出した関連語を含む部分と、前記テンプレートデータ内で検出した関連語に対応する前記見出語に対応付けられている処理内容情報と、をマッピングする、
ことを特徴とする請求項1又は2に記載のソフトウェア再利用支援装置。 A dictionary means for storing a headword and a related word related to the headword in association with each other;
The processing / source mapping means includes:
Referring to the dictionary means to detect a related word of the headword stored in the template data,
Mapping a portion including a related word detected in the source code corresponding to the software component and processing content information associated with the headword corresponding to the related word detected in the template data;
The software reuse support apparatus according to claim 1, wherein the software reuse support apparatus is a software reuse support apparatus.
前記処理・ソースマッピング手段は、前記テンプレートデータが示す処理の順番と、前記ソースコード内での処理の順番とに基づいて、前記ソースコードの所定部分と該所定部分に対応する処理内容情報とをマッピングする、
ことを特徴とする請求項1乃至3の何れか1項に記載のソフトウェア再利用支援装置。 The template data further describes information indicating the order in which the typical processing is executed,
The processing / source mapping means obtains a predetermined portion of the source code and processing content information corresponding to the predetermined portion based on the processing order indicated by the template data and the processing order in the source code. Mapping,
The software reuse support apparatus according to any one of claims 1 to 3.
ことを特徴とする請求項1乃至4の何れか1項に記載のソフトウェア再利用支援装置。 Data sheet / source mapping means for mapping the predetermined part of the source code and the part of the data sheet of the device to which the software component corresponding to the predetermined part is applied with reference to the mapping table ,
The software reuse support apparatus according to claim 1, wherein the software reuse support apparatus is a software reuse support apparatus.
ことを特徴とする請求項1乃至5の何れか1項に記載のソフトウェア再利用支援装置。 A specification / source mapping means for mapping a predetermined part of the source code and a part in the specification of the source code with reference to the mapping table;
The software reuse support apparatus according to claim 1, wherein the software reuse support apparatus is a software reuse support apparatus.
ことを特徴とする請求項6に記載のソフトウェア再利用支援装置。 Specification change candidate for displaying the part of the specification corresponding to the changed part of the source code with reference to the correspondence relationship associated with the specification / source mapping means when the source code is changed A display means,
The software reuse support apparatus according to claim 6.
前記ソフトウェア部品に対応するソースコード内から前記見出語を検出し、検出した見出語を含む部分と前記テンプレートデータ内で該見出語に対応付けられている処理内容情報とをマッピングし、マッピングした結果を保持するマッピングテーブルを作成し、
前記マッピングテーブルを参照して、前記ソースコードの所定部分と該所定部分に対応する処理内容情報とを、両者の対応関係がわかるように表示する、
ことを特徴とするソフトウェア再利用支援方法。 Get an exemplary process template data in which the processing content information and entry word indicating the contents associated in order to implement the functions of the software component that part of the software,
Detecting the headword from the source code corresponding to the software component, mapping a portion including the detected headword and processing content information associated with the headword in the template data; Create a mapping table to hold the mapped results,
With reference to the mapping table, the predetermined part of the source code and the processing content information corresponding to the predetermined part are displayed so that the correspondence between them can be understood.
A software reuse support method characterized by the above.
ソフトウェアを部品化したソフトウェア部品の機能を実現するための典型的な処理の内容を示す処理内容情報と見出語とが対応付けられたテンプレートデータを記憶するテンプレート記憶手段、
前記ソフトウェア部品に対応するソースコード内から前記見出語を検出し、検出した見出語を含む部分と前記テンプレートデータ内で該見出語に対応付けられている処理内容情報とをマッピングし、マッピングした結果を保持するマッピングテーブルを作成する処理・ソースマッピング手段、
前記マッピングテーブルを参照して、前記ソースコードの所定部分と該所定部分に対応する処理内容情報とを、両者の対応関係がわかるように表示する処理・ソースマッピング結果表示手段、
として機能させることを特徴とするプログラム。 Computer
Template storage means for storing template data in which processing content information indicating the content of typical processing for realizing the function of a software component obtained by converting software into a component and a headword are associated;
Detecting the headword from the source code corresponding to the software component, mapping a portion including the detected headword and processing content information associated with the headword in the template data; Processing / source mapping means to create a mapping table to hold the mapped results,
Processing / source mapping result display means for referring to the mapping table and displaying the predetermined part of the source code and the processing content information corresponding to the predetermined part so that the correspondence between them can be understood;
A program characterized by functioning as
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011219637A JP5800657B2 (en) | 2011-10-03 | 2011-10-03 | Software reuse support apparatus, software reuse support method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011219637A JP5800657B2 (en) | 2011-10-03 | 2011-10-03 | Software reuse support apparatus, software reuse support method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013080355A JP2013080355A (en) | 2013-05-02 |
JP5800657B2 true JP5800657B2 (en) | 2015-10-28 |
Family
ID=48526679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011219637A Active JP5800657B2 (en) | 2011-10-03 | 2011-10-03 | Software reuse support apparatus, software reuse support method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5800657B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6185148B2 (en) * | 2014-03-25 | 2017-08-23 | 株式会社日立製作所 | Dependency verification device between software specifications and dependency verification method between software specifications |
JP2016206962A (en) * | 2015-04-23 | 2016-12-08 | 株式会社明電舎 | Software development support system and software development support method |
KR102030544B1 (en) * | 2018-04-24 | 2019-10-10 | 주식회사 한글과컴퓨터 | Program analyzing apparatus capable of generating function call information on features supported by a program and operating method thereof |
CN110308902B (en) * | 2019-06-28 | 2023-10-03 | 百度在线网络技术(北京)有限公司 | File generation method, device, equipment and storage medium |
CN110286910B (en) * | 2019-06-28 | 2023-08-01 | 百度在线网络技术(北京)有限公司 | File migration method, device, equipment and storage medium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01286020A (en) * | 1988-05-13 | 1989-11-17 | Hitachi Ltd | Program retrieving system |
JPH05307472A (en) * | 1992-04-28 | 1993-11-19 | Shimadzu Corp | Program parts information reusing device |
JPH07239860A (en) * | 1994-02-28 | 1995-09-12 | Fuji Xerox Co Ltd | Data managing device |
US9164742B2 (en) * | 2010-02-18 | 2015-10-20 | Johan Kraft | Method and a system for searching for parts of a computer program which affects a given symbol |
-
2011
- 2011-10-03 JP JP2011219637A patent/JP5800657B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013080355A (en) | 2013-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101099196B1 (en) | adaptive machine translation | |
JP5800657B2 (en) | Software reuse support apparatus, software reuse support method, and program | |
US7660803B2 (en) | Policy-based management method and system for printing of extensible markup language (XML) documents | |
US20090006957A1 (en) | Providing Assistance for Editing Markup Document Based on Inferred Grammar | |
WO2015165412A1 (en) | Method for modifying webpage and apparatus for modifying webpage | |
JP5209016B2 (en) | WebAPI creation support apparatus and WebAPI creation support method | |
US6941520B1 (en) | Method, system, and program for using a user interface program to generate a user interface for an application program | |
JP2009545077A (en) | Reuse of available source data and localization | |
US20080034288A1 (en) | Text-Driven Macros Integrated with a Help System of a Computer Program | |
WO2019240926A1 (en) | Sql query formatting by examples | |
WO2014028330A2 (en) | Application development tool | |
JP4830637B2 (en) | Electronic document update notification device and electronic document update notification method | |
US7328234B1 (en) | Agent architecture for triggering remotely initiated data processing operations | |
US7478370B2 (en) | Relationship management for data modeling in an integrated development environment | |
US11423218B2 (en) | Abstraction of formulas into reusable functions | |
US20130080892A1 (en) | Information processing device, gui manipulation assistance method, and computer-readable recording medium | |
KR101802051B1 (en) | Method and system for constructing schema on natural language processing and knowledge database thereof | |
JP5758311B2 (en) | Test code generation device, test code generation method, test code generation program | |
JP5846853B2 (en) | Support system, support method, and support program | |
JP4809739B2 (en) | User interface changing device and recording medium | |
US9176937B2 (en) | Ensuring user interface specification accurately describes user interface after updates to user interface | |
CN108766059A (en) | A kind of cloud service English teaching equipment and teaching method | |
JP6437899B2 (en) | Document proofreading support apparatus, document proofreading support method, and document proofreading support program | |
JP2005352861A (en) | Electronic data processing method, apparatus and program | |
CN117931143A (en) | Intelligent approval method, device, equipment and medium based on meta model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140904 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150527 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150602 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150619 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150728 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150825 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5800657 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |