JP2007115155A - Program structure management device and program structure management program - Google Patents

Program structure management device and program structure management program Download PDF

Info

Publication number
JP2007115155A
JP2007115155A JP2005308081A JP2005308081A JP2007115155A JP 2007115155 A JP2007115155 A JP 2007115155A JP 2005308081 A JP2005308081 A JP 2005308081A JP 2005308081 A JP2005308081 A JP 2005308081A JP 2007115155 A JP2007115155 A JP 2007115155A
Authority
JP
Japan
Prior art keywords
program
file
program structure
template
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
JP2005308081A
Other languages
Japanese (ja)
Inventor
Yoshiaki Kurihara
義彰 栗原
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 Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2005308081A priority Critical patent/JP2007115155A/en
Publication of JP2007115155A publication Critical patent/JP2007115155A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a program structure management device for facilitating the generation of program structural drawing clarifying common parts and the reusing of the common parts in a program structure by analyzing a common structure in a program. <P>SOLUTION: The program structure management device 100 is provided with a program structure analyzing means 101, a program structural drawing generating means 102, a template file list generating means 103 and a template program generating means 104. The program structure analyzing means 101 analyzes a program file, extracts information about a processing sequence and stores the information. The program structural drawing generating means 102, the template file lit generating means 103 and the template program generating means 104 extract common parts of the processing sequence about a plurality of programs on the basis of program structure information and generate a program structural drawing, a template file list and a template program, respectively. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、プログラム開発時において、実装済みプログラムの構造を解析し、プログラムの構造を可視化するとともに、再利用可能な共通部分を示すことにより、プログラムの品質保証及びプログラム構造の再利用の支援を行うための構成に関する。   The present invention, during program development, analyzes the structure of an installed program, visualizes the structure of the program, and shows a common part that can be reused, thereby supporting program quality assurance and program structure reuse. Concerning the configuration to do.

近年のシステム開発において、開発サイクルはますます短くなっている。特に業務系システムや、業務サービスシステムを公開する場合、その開発サイクルを短縮し、利用できるように開発・整備するまでの時間を短縮することは顧客ニーズとして強い要求事項である。また、一度、開発し、完成した業務系システム、業務サービスシステムに対して、保守・機能変更に必要とする期間の短縮も、流行が急速に変化するB2Cシステムなどでは必要になってきている。
開発期間、保守・機能変更期間を短縮するためには、プログラムの共通化・再利用化が必要だといわれている。プログラムの共通化・再利用化を可能にするプログラム言語として、近年、「Java」(「Java」は米国サンマイクロシステムズ社の登録商標である。)や「Visual C#」「.NET Visual Basic」を始めとする「.NET」などのオブジェクト指向言語が頻繁に開発で利用されるようになってきた。
しかし、現時点においてはこれらオブジェクト指向を理解している開発者が少ないため、今でもオブジェクト指向言語を利用して手続き型の手法で開発するプロジェクト、開発者が多い。つまり、プロジェクトの共通化・再利用化ができず、開発期間、保守・機能変更期間を短縮できてないのが現状である。
また、機能変更期間の短縮を行う中で、プログラム機能変更期間を短縮することは重要である。しかし、プログラム構造を理解し、プログラム機能を十分理解したプログラム開発者でなければ、プログラム機能変更期間の短縮は望めない。
また、現在のソフトウェア開発では、プログラム開発者がプログラムを自らの経験と勘で作成することが多く、複数のプログラム開発者からなるプロジェクトでは、1つのアプリケーションでもソフトウェア構造がバラバラになってしまっていることがよく発生する。このようなアプリケーションの機能変更は初期開発でプログラム開発を行った本人でも容易に行えることではなく、当初の初期開発でプログラム開発に参加しなかった、他のプログラム開発者ではプログラム機能変更を行うことは容易ではなく、ましてや期間の短縮は望めない。
それどころか、プログラム機能変更期間が長期になってしまい、開発納期に間に合わない問題がでてしまう。
ここで起きえる問題として、開発に要求される期間が短期間しか与えられず、結果としてプログラム構造を決める時間がないというのも理由となる。
しかし、このプログラム構造を決定せずにプログラム開発を行うとプログラム不良が増えてしまい、品質悪化の原因になる恐れもある。
In recent system development, the development cycle is becoming shorter and shorter. In particular, when a business system or business service system is disclosed, it is a strong requirement as a customer need to shorten the development cycle and shorten the time required for development and maintenance so that it can be used. In addition, shortening the period required for maintenance and function change for once-developed and completed business systems and business service systems is also becoming necessary in B2C systems and the like in which the fashion changes rapidly.
It is said that programs must be shared and reused in order to shorten the development period and maintenance / function change period. In recent years, “Java” (“Java” is a registered trademark of Sun Microsystems, Inc.), “Visual C #”, “.NET Visual Basic” as a programming language that enables commonization and reuse of programs. Object-oriented languages such as “.NET” such as “.NET” have been frequently used in development.
However, since there are few developers who understand these object orientations at present, there are still many projects and developers who develop using a procedural method using an object oriented language. In other words, the current situation is that the project cannot be shared and reused, and the development period and maintenance / function change period cannot be shortened.
Moreover, it is important to shorten the program function change period while shortening the function change period. However, unless the program developer understands the program structure and sufficiently understands the program function, the program function change period cannot be shortened.
Also, in current software development, program developers often create programs with their own experience and intuition, and in a project consisting of multiple program developers, the software structure of even one application has become different. It often happens. It is not easy for the person who developed the program in the initial development to change the function of such an application. Other program developers who did not participate in the program development in the initial initial development should change the program function. It's not easy, and I can't expect a shorter period.
On the contrary, the program function change period becomes long, and problems that are not in time for the development delivery date arise.
The problem that can occur here is that the period required for development is given only for a short period, and as a result, there is no time for determining the program structure.
However, if the program is developed without determining the program structure, the number of defective programs increases, which may cause quality deterioration.

これらの問題を解決するためには、1つのプログラムでプログラム構造を共通化する部分をできるだけ多くし、複数の部分で同じ機能のプログラムを作成するようにする必要がある。
そのために最近、アプリケーションフレームワークが注目されているが、アプリケーションフレームワークを理解するためにも時間及び工数がかかる。
開発を行うプログラム開発者が一度経験したプログラム構造を再利用すれば、アプリケーションフレームワークの理解する工数を削減することができる。
また、これらのアプリケーションフレームワークは個々の開発でカスタマイズできなければならない。つまり、100個の開発があれば、100通りのアプリケーションフレームワークがあるはずである。
In order to solve these problems, it is necessary to increase the number of portions where the program structure is shared by one program as much as possible, and to create a program having the same function in a plurality of portions.
Therefore, application frameworks have recently attracted attention, but it takes time and man-hours to understand application frameworks.
By reusing the program structure once experienced by the developing program developer, the man-hours understood by the application framework can be reduced.
These application frameworks must also be customizable for individual development. In other words, if there are 100 developments, there should be 100 different application frameworks.

以上のような問題点に関して、開発されたプログラムの構造の理解を容易なものとするための開発支援装置として、従来、オブジェクト指向言語で開発されたプログラムを解析し、解析結果に基づき、クラス図等の設計ドキュメントを生成する手段を備えた構成が公知となっている(例えば、特許文献1参照。)。
特開2000−112742号公報
As a development support device that makes it easy to understand the structure of the developed program with regard to the problems described above, a program developed in an object-oriented language is analyzed, and the class diagram is based on the analysis result. The structure provided with the means to generate | occur | produce design documents, such as these is well-known (for example, refer patent document 1).
JP 2000-112742 A

しかし、前記特許文献1に記載の構成は、プログラム構造自体の理解を目的とした設計ドキュメントを作成するものであるため、プログラム構造の共通化や、共通部分の再利用化に適したものでは無かった。   However, since the configuration described in Patent Document 1 creates a design document for the purpose of understanding the program structure itself, it is not suitable for sharing the program structure or reusing the common part. It was.

本発明は前記課題を解決するためのものであり、プログラム中における共通構造を解析することにより、共通部分を明示したプログラム構造図の生成や、プログラム構造における共通部分の再利用化を容易なものとするプログラム構造管理装置を提供することを目的とする。   The present invention is for solving the above-mentioned problems, and by analyzing the common structure in the program, it is easy to generate a program structure diagram clearly showing the common part and to reuse the common part in the program structure. An object of the present invention is to provide a program structure management apparatus.

前記課題を解決するため本発明は、ソフトウエアを構成する複数のプログラムファイルのプログラム構造を解析して管理するプログラム構造管理装置であって、前記各プログラムファイルにおけるプログラム構造を解析し、当該プログラムファイルに含まれる各処理の順序に関する情報を抽出して、前記ソフトウエアにおけるプログラム構造情報に含めて格納する手段を備えることを特徴とする。
また、前記プログラム構造情報を取得し、前記ソフトウエアを構成する複数のプログラムファイルについて前記プログラム構造情報に含まれる処理順序の共通部分を抽出し、当該共通部分を共通構造として示したプログラム構造図を生成する手段をさらに備えることを特徴とする。
また、前記プログラム構造情報を取得し、前記ソフトウエアを構成する複数のプログラムファイルについて前記プログラム構造情報に含まれる処理順序の共通部分を抽出し、当該共通部分を有する複数のプログラムファイルをテンプレート化対象ファイルとして表示する手段を備えることを特徴とする。
また、前記ソフトウエアを構成する複数のプログラムファイルの内、前記テンプレート化対象ファイルとして表示したプログラムファイルに対する任意の選択に応じて、選択されたプログラムファイルと当該プログラムファイルに対応するプログラム構造情報とに基づき、前記プログラムファイル中の前記共通部分で構成したテンプレートファイルを生成し、生成したテンプレートファイルの組合せによりテンプレートプログラムを生成する手段をさらに備えることを特徴とする。
また、本発明のプログラム構造管理プログラムは、ソフトウエアを構成する複数のプログラムファイルのプログラム構造を解析して管理する処理をコンピュータに実行させるプログラム構造管理プログラムであって、前記各プログラムファイルにおけるプログラム構造を解析する処理と、当該プログラムファイルに含まれる各処理の順序に関する情報を抽出して、前記ソフトウエアにおけるプログラム構造情報に含めて格納する処理とをコンピュータに実行させることを特徴とする。
また、前記プログラム構造情報を取得し、前記ソフトウエアを構成する複数のプログラムファイルについて前記プログラム構造情報に含まれる処理順序の共通部分を抽出し、当該共通部分を共通構造として示したプログラム構造図を生成する処理をさらにコンピュータに実行させることを特徴とする。
また、前記プログラム構造情報を取得し、前記ソフトウエアを構成する複数のプログラムファイルについて前記プログラム構造情報に含まれる処理順序の共通部分を抽出し、当該共通部分を有する複数のプログラムファイルをテンプレート化対象ファイルとして表示する処理をさらにコンピュータに実行させることを特徴とする。
また、前記ソフトウエアを構成する複数のプログラムファイルの内、前記テンプレート化対象ファイルとして表示したプログラムファイルに対する任意の選択に応じて、選択されたプログラムファイルと当該プログラムファイルに対応するプログラム構造情報とに基づき、前記プログラムファイル中の前記共通部分で構成したテンプレートファイルを生成し、生成したテンプレートファイルの組合せによりテンプレートプログラムを生成する処理をさらにコンピュータに実行させることを特徴とする。
In order to solve the above-mentioned problem, the present invention is a program structure management device for analyzing and managing the program structure of a plurality of program files constituting software, the program structure in each program file being analyzed, Means for extracting information on the order of each process included in the program and storing it in the program structure information in the software.
In addition, a program structure diagram that acquires the program structure information, extracts a common part of the processing order included in the program structure information for a plurality of program files constituting the software, and shows the common part as a common structure. It further has a means for generating.
Further, the program structure information is acquired, a common part of the processing order included in the program structure information is extracted for a plurality of program files constituting the software, and a plurality of program files having the common part are to be templated A means for displaying as a file is provided.
Further, according to an arbitrary selection of the program file displayed as the template file among the plurality of program files constituting the software, the selected program file and program structure information corresponding to the program file And a means for generating a template file composed of the common portions in the program file and generating a template program by combining the generated template files.
The program structure management program of the present invention is a program structure management program for causing a computer to execute processing for analyzing and managing the program structure of a plurality of program files constituting software, wherein the program structure in each program file is And a process for extracting information relating to the order of each process included in the program file and storing it in the program structure information in the software.
In addition, a program structure diagram that acquires the program structure information, extracts a common part of the processing order included in the program structure information for a plurality of program files constituting the software, and shows the common part as a common structure. It is characterized by further causing a computer to execute a process to be generated.
Further, the program structure information is acquired, a common part of the processing order included in the program structure information is extracted for a plurality of program files constituting the software, and a plurality of program files having the common part are to be templated The computer is further caused to execute processing for displaying as a file.
Further, according to an arbitrary selection of the program file displayed as the template file among the plurality of program files constituting the software, the selected program file and program structure information corresponding to the program file Based on the above, a template file composed of the common parts in the program file is generated, and the computer is further caused to generate a template program by combining the generated template files.

以上の構成により、本発明では、プログラム構造を解析し、各プログラムファイルにおける処理の順序に関する情報をプログラム構造情報に含めて格納することとしたので、プログラム構造情報を参照することにより、複数のプログラムファイルにおける共通部分の確認を容易なものとすることができる。
また、前記プログラム構造情報に基づき、処理順序の共通する部分を示したプログラム構造図を生成して表示することにより、ソフトウエア管理者や開発者等に対し、プログラム構造の共通部分を容易に把握させることが可能となる。従って、ソフトウエアにおける最適なプログラム構造を選択させることが可能となる。
また、前記プログラム構造情報に基づき、処理順序の共通する部分を有するプログラムファイルをテンプレート化対象ファイルとして表示することにより、再利用するプログラムファイルの選択を容易なものとすることができる。
また、選択されたテンプレート化対象ファイルに対応する前記プログラム構造情報に基づき、テンプレートファイルを生成することにより、共通部分を有するプログラムファイルの再利用を容易に行うことが可能となる。
With the above configuration, in the present invention, the program structure is analyzed, and information related to the order of processing in each program file is included in the program structure information, so that a plurality of programs can be obtained by referring to the program structure information. The common part in the file can be easily confirmed.
In addition, based on the program structure information, a program structure diagram showing the common parts of the processing order is generated and displayed so that software managers and developers can easily understand the common parts of the program structure. It becomes possible to make it. Therefore, it is possible to select an optimal program structure in software.
Further, by displaying a program file having a part in common processing order as a template file based on the program structure information, it is possible to easily select a program file to be reused.
Further, by generating a template file based on the program structure information corresponding to the selected template file, it is possible to easily reuse a program file having a common part.

以下、本発明の一実施の形態に係るプログラム構造管理装置について、図面に基づき説明する。
図1は、本発明の一実施の形態に係るプログラム構造管理装置の概略構成を示すブロック図である。
本実施の形態に係るプログラム構造管理装置100は、プログラム構造解析手段101,プログラム構造図生成手段102,テンプレート化ファイルリスト生成手段103,テンプレートプログラム生成手段104の各処理手段と、ファイルリポジトリ105及びプログラム構造情報格納部106の各情報格納手段とを備える。
各処理手段の構成及び各処理手段の行う処理について、以下に説明する。
Hereinafter, a program structure management apparatus according to an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing a schematic configuration of a program structure management apparatus according to an embodiment of the present invention.
The program structure management apparatus 100 according to the present embodiment includes a program structure analysis unit 101, a program structure diagram generation unit 102, a templated file list generation unit 103, a template program generation unit 104, a file repository 105, and a program Each information storage means of the structure information storage unit 106 is provided.
The configuration of each processing unit and the processing performed by each processing unit will be described below.

まず、プログラム構造の解析及びプログラム構造図の生成,表示処理に関連して、プログラム構造解析手段101と、プログラム構造図生成手段102の構成及び処理について説明する。
図2は、プログラム構造解析手段101の概略構成を示すブロック図である。
プログラム構造解析手段101は、ファイル種別判定処理部201と、プログラム構造解析部202とを備える。ファイル種別判定処理部201は、処理対象ファイル200の判定処理及びファイルリポジトリ105への格納処理を行う。プログラム構造解析部202は、プログラムファイルについてのプログラム構造解析処理及びプログラム構造情報格納部106への格納処理を行う。
First, the configuration and processing of the program structure analysis unit 101 and the program structure diagram generation unit 102 will be described in relation to the program structure analysis and the program structure diagram generation and display processing.
FIG. 2 is a block diagram showing a schematic configuration of the program structure analyzing means 101.
The program structure analysis unit 101 includes a file type determination processing unit 201 and a program structure analysis unit 202. The file type determination processing unit 201 performs determination processing of the processing target file 200 and storage processing in the file repository 105. The program structure analysis unit 202 performs a program structure analysis process for the program file and a storage process in the program structure information storage unit 106.

図3、はプログラム構造解析手段101の行う処理を示すフローチャートである。
プログラム構造解析手段101は、プログラム開発者又はプロジェクト管理者により開発完了又は開発途中のプログラムファイルや、設計書等の文書ファイルの入力を受付けると(ステップ301)、ファイル種別判定処理部201が、入力ファイルについてファイル種別の判定処理を行うとともに(ステップ302)、入力ファイルをファイルリポジトリ105に格納する(ステップ303)。この場合のファイル種別の判定処理では、プログラムファイルの拡張子を判定することにより行う。また、プログラムファイルをコンパイルして、コンパイルが通るか否かにより判定することとしてもよい。ファイルリポジトリ105では、全ての入力ファイルに対し、それぞれのプロジェクト毎,アプリケーション毎に領域を割り当てて格納する。
ステップ303において、ファイル種別がプログラムファイルの場合、プログラム構造解析部202が、プログラム構造を解析し、解析結果をプログラム構造情報格納部106に格納する。本実施の形態では、複数のプログラムファイルに含まれる各処理の順序(一つのイベントトランザクションに対するメソッドの呼び出しや、プログラムの一行一行に関する繰り返し)に関する処理を抽出してプログラム構造情報に含めて格納する。
FIG. 3 is a flowchart showing processing performed by the program structure analysis unit 101.
When the program developer or project manager accepts input of a program file that has been completed or is being developed, or a document file such as a design document (step 301), the program structure analysis unit 101 inputs the file type determination processing unit 201. The file type is determined for the file (step 302), and the input file is stored in the file repository 105 (step 303). The file type determination process in this case is performed by determining the extension of the program file. Alternatively, the program file may be compiled and the determination may be made based on whether the compilation passes. In the file repository 105, all input files are allocated and stored for each project and each application.
In step 303, when the file type is a program file, the program structure analysis unit 202 analyzes the program structure and stores the analysis result in the program structure information storage unit 106. In the present embodiment, processing relating to the order of each process included in a plurality of program files (method call for one event transaction and repetition for each line of the program) is extracted and stored in the program structure information.

図4は、プログラム構造図生成手段102の概略構成を示すブロック図である。
プログラム構造図生成手段102は、プログラム詳細表示部401と、プログラム構造図生成部402と、プログラム構造図表示部403とを備える。
プログラム情報表示部401は、プログラム構造情報格納部106に格納されたプログラム構造情報を取得して一覧表示する。
プログラム構造図生成部402は、プログラム構造情報格納部106に格納されたプログラム構造情報に基づき、プログラム構造図を生成する。
プログラム構造図表示部403は、プログラム構造図生成部402が生成してプログラム構造図を表示する。
FIG. 4 is a block diagram showing a schematic configuration of the program structure diagram generation means 102.
The program structure diagram generation unit 102 includes a program detail display unit 401, a program structure diagram generation unit 402, and a program structure diagram display unit 403.
The program information display unit 401 acquires the program structure information stored in the program structure information storage unit 106 and displays the list.
The program structure diagram generation unit 402 generates a program structure diagram based on the program structure information stored in the program structure information storage unit 106.
The program structure diagram display unit 403 is generated by the program structure diagram generation unit 402 and displays the program structure diagram.

図5は、プログラム構造図生成手段102の行う処理を示すフローチャートである。
プログラム構造図生成手段102は、プロジェクト管理者等によるプログラム構造図の表示要求を受付けると(ステップ501)、プログラム情報表示部401がプログラム構造情報格納部106に構造情報が格納されているプロジェクト(ソフトウェア)の識別情報を取得して(ステップ502)、取得した識別情報に基づき、プロジェクト管理者等の操作端末にプロジェクトの一覧を表示する(ステップ503)。
一覧表示したプロジェクトの中から、任意の選択を受付けると(ステップ504)、プログラム構造図生成部402は、選択されたプロジェクトに対応するプログラム構造情報をプログラム構造情報格納部106から取得して(ステップ505)、プログラム構造図を生成して(ステップ506)、プログラム構造図表示部403に渡す。プログラム構造図の生成では、プログラム構造情報を参照し、複数のプログラムファイルに共通する処理順序の共通部分を抽出し、当該共通部分を共通構造として示したプログラム構造図を生成する。
プログラム構造図表示部403は、取得したプログラム構造図をプロジェクト管理者等の操作端末に表示する(ステップ507)。
以上の処理により、例えば、プログラム開発中のプロジェクト管理者がプロジェクトに参加している多数のプログラム開発者により実装されたプログラムの構造をプログラム構造図で一度に参照することが可能となる。従って、構造上の相違を検出して修正指示を出すことが容易となり、最終的には工数削減及びプログラムの品質向上に繋がることとなる。また、プログラムの再利用、構造の再利用を行うときに、事前にプログラムの構造を参照して、修正を最小限に抑えることが出来る等、カスタマイズに適したプログラム構造を容易に選び出すことが可能になる。
FIG. 5 is a flowchart showing processing performed by the program structure diagram generation unit 102.
When the program structure diagram generation unit 102 receives a program structure diagram display request from a project manager or the like (step 501), the program information display unit 401 creates a project (software) whose structure information is stored in the program structure information storage unit 106. ) (Step 502), and based on the acquired identification information, a list of projects is displayed on an operation terminal such as a project manager (step 503).
When an arbitrary selection is accepted from the listed projects (step 504), the program structure diagram generation unit 402 acquires program structure information corresponding to the selected project from the program structure information storage unit 106 (step 504). 505), a program structure diagram is generated (step 506) and transferred to the program structure diagram display unit 403. In the generation of the program structure diagram, the program structure information is referred to, a common part of a processing order common to a plurality of program files is extracted, and a program structure diagram showing the common part as a common structure is generated.
The program structure diagram display unit 403 displays the acquired program structure diagram on an operation terminal such as a project manager (step 507).
By the above processing, for example, a project manager who is developing a program can refer to the structure of a program implemented by a large number of program developers participating in the project at once in the program structure diagram. Therefore, it becomes easy to detect a structural difference and issue a correction instruction, which ultimately leads to reduction in man-hours and improvement in program quality. In addition, when reusing a program or reusing a structure, it is possible to easily select a program structure suitable for customization, such as referring to the program structure in advance and minimizing modifications. become.

次に、プログラム構造の再利用に関連して、テンプレート化ファイルリスト生成手段103とテンプレートプログラム生成手段104との行う処理について説明する。
まず、テンプレートプログラムの生成の前提として、テンプレート化ファイルリスト生成手段103が行うテンプレート化ファイルリスト生成処理について説明する。
図6は、テンプレート化ファイルリスト生成手段103の概略構成を示すブロック図である。
テンプレート化ファイルリスト生成手段103は、テンプレート化ファイル判定部601と、テンプレート化ファイルリスト出力部602とを備える。
テンプレート化ファイル判定部601は、プログラム構造情報格納部106に格納されたプログラム構造情報に基づき、テンプレート化対象ファイルか否かを判定する。ここで、テンプレート化対象ファイルとは、プログラム構造情報に基づき、複数のプログラムファイルに共通する処理順序の共通部分を有するプログラムファイルを示す。
テンプレート化ファイルリスト出力部602は、テンプレート化ファイル判定部601の判定結果に応じて、テンプレート化ファイルリストを生成して一覧表示する。
Next, processing performed by the templated file list generation unit 103 and the template program generation unit 104 will be described in relation to the reuse of the program structure.
First, a templated file list generation process performed by the templated file list generating unit 103 will be described as a premise for generating a template program.
FIG. 6 is a block diagram showing a schematic configuration of the templated file list generation unit 103.
The templated file list generation unit 103 includes a templated file determination unit 601 and a templated file list output unit 602.
The templated file determination unit 601 determines whether the file is a templated target file based on the program structure information stored in the program structure information storage unit 106. Here, the template target file refers to a program file having a common part of processing order common to a plurality of program files based on the program structure information.
The templated file list output unit 602 generates a templated file list according to the determination result of the templated file determination unit 601 and displays the list.

図7は、テンプレート化ファイルリスト生成手段103の行う処理を示すフローチャートである。
プログラム構造図生成手段102は、プロジェクト管理者等によるプログラム構造図の表示要求を受付けると(ステップ701)、プログラム情報表示部401がプログラム構造情報格納部106に構造情報が格納されているプロジェクト(ソフトウェア)の識別情報を取得して(ステップ702)、取得した識別情報に基づき、プロジェクト管理者等の操作端末にプロジェクトの一覧を表示する(ステップ703)。
一覧表示したプロジェクトの中から、任意の選択を受付けるとともに、テンプレート化ファイルリストの出力要求を受付けると(ステップ704)、テンプレート化ファイル判定部601は、選択されたプロジェクトに対応するプログラム構造情報をプログラム構造情報格納部106から取得して(ステップ705)、選択されたプロジェクトのプログラム構造情報を参照し、テンプレート化対象ファイルを判定する(ステップ706)。ここで、テンプレート化対象ファイルとは、複数のプログラムファイル中に処理順序の共通部分(共通構造)が含まれているファイルを示す。
テンプレート化ファイルリスト出力部602は、テンプレート化ファイル判定部601の判定結果に基づき、テンプレート化対象ファイルのリストをプロジェクト管理者等の操作端末に一覧表示する(ステップ707)。
FIG. 7 is a flowchart showing processing performed by the templated file list generation unit 103.
When the program structure diagram generation unit 102 receives a program structure diagram display request from a project manager or the like (step 701), the program information display unit 401 creates a project (software) whose structure information is stored in the program structure information storage unit 106. ) (Step 702), and based on the acquired identification information, a list of projects is displayed on an operation terminal such as a project manager (step 703).
When an arbitrary selection is accepted from the displayed projects and a request to output a templated file list is received (step 704), the templated file determination unit 601 stores program structure information corresponding to the selected project as a program. Obtained from the structure information storage unit 106 (step 705), the program structure information of the selected project is referred to, and a template file to be determined is determined (step 706). Here, the template file is a file in which a plurality of program files include a common part (common structure) in the processing order.
The templated file list output unit 602 displays a list of templates to be templated on an operation terminal such as a project manager based on the determination result of the templated file determination unit 601 (step 707).

次に、一覧表示したテンプレート化対象ファイルに対して、テンプレートプログラム生成手段104が行う処理について説明する。
図8は、テンプレートプログラム生成手段104の概略構成を示すブロック図である。
テンプレートプログラム生成手段104は、テンプレートプログラム名入力部801と、テンプレートプログラム生成部802と、テンプレートプログラム出力部803とを備える。
テンプレートプログラム名入力部801は、一覧表示したテンプレート化すべきファイルの内、テンプレートプログラムを構成するファイルの指定及びファイル名の入力を受付ける。テンプレートプログラム生成部802は、指定されたファイルのファイル構造に関する情報をプログラム構造情報格納部106から取得して、テンプレート化ファイルを生成する。
テンプレートプログラム出力部803は、生成されたテンプレート化ファイルと、ファイルリポジトリに格納されたファイルのコピーとを出力する。
Next, the processing performed by the template program generation unit 104 for the templated files displayed as a list will be described.
FIG. 8 is a block diagram showing a schematic configuration of the template program generating means 104.
The template program generation unit 104 includes a template program name input unit 801, a template program generation unit 802, and a template program output unit 803.
The template program name input unit 801 accepts designation of files constituting a template program and input of file names among the files to be templated displayed in a list. The template program generation unit 802 acquires information on the file structure of the designated file from the program structure information storage unit 106, and generates a templated file.
The template program output unit 803 outputs the generated templating file and a copy of the file stored in the file repository.

図9は、テンプレートプログラム生成手段104の行う処理を示すフローチャートである。
テンプレートプログラム生成手段104のテンプレートプログラム名入力部801は、一覧表示したテンプレート化対象ファイルの中の任意のファイルの選択及びファイル名の入力を受付け(ステップ901)、テンプレートプログラム生成部802に渡す。
テンプレートプログラム生成部802は、選択されたプログラムファイルに対応するプログラム構造情報をプログラム構造情報格納部106から取得し(ステップ902)、当該プログラム構造情報に基づきテンプレートファイルを生成して(ステップ903)、テンプレートプログラム出力部803に渡す。ここでテンプレートファイルとは、複数のプログラムファイルに含まれる処理順序の共通部分(共通構造)で構成したプログラムファイルを示す。
テンプレートプログラム出力部803は、テンプレートファイルに対応する実行形式ファイルについて、ファイルリポジトリ105からコピーを取得し(ステップ904)、テンプレートファイルとともに、テンプレートプログラムとして、プロジェクト管理者等の操作端末に表示する(ステップ905)。テンプレートプログラムは、任意に選択された複数のテンプレート化対象ファイルに基づき生成した複数のテンプレートファイルで構成される。
以上の処理により、既存の完成したプログラム構造を図形式で容易に参照させることができ、開発するプログラムに一番近いプログラム構造、又は過去に経験したプログラム構造を再利用して、テンプレートプログラムを作成させることが可能となる。即ち、既存のプロジェクトを構成するテンプレート化対象ファイルの組合せを利用してテンプレートプログラムを構成することにより、プログラム構造を共通化することができ、プログラムの保守性・拡張性・品質を良くするとともに、工数を削減することが可能になる。
FIG. 9 is a flowchart showing processing performed by the template program generation unit 104.
The template program name input unit 801 of the template program generation unit 104 accepts the selection of an arbitrary file from the list-displayed files to be templated and the input of the file name (step 901), and passes them to the template program generation unit 802.
The template program generation unit 802 acquires program structure information corresponding to the selected program file from the program structure information storage unit 106 (step 902), generates a template file based on the program structure information (step 903), Passed to the template program output unit 803. Here, the template file refers to a program file composed of a common part (common structure) of processing order included in a plurality of program files.
The template program output unit 803 obtains a copy of the executable file corresponding to the template file from the file repository 105 (step 904), and displays it on the operation terminal such as a project manager together with the template file (step 904). 905). The template program is composed of a plurality of template files generated based on a plurality of arbitrarily selected templates.
With the above processing, the existing completed program structure can be easily referred to in a diagram format, and a template program can be created by reusing the program structure closest to the program to be developed or the program structure experienced in the past. It becomes possible to make it. In other words, by configuring a template program using a combination of files to be templated that make up an existing project, the program structure can be shared, improving the maintainability, expandability, and quality of the program, Man-hours can be reduced.

以上の各処理について、具体例を用いて説明する。
図10は、本実施の形態に係るプログラム構造管理装置の処理対象となるWebアプリケーションとしての従業員情報検索システムの画面遷移図である。本例では、Microsoft社のASP.NET技術を用いたWebアプリケーションプログラムを示している。
本例に示すWebアプリケーションとしての従業員情報検索システムは、検索入力画面1010と、検索結果画面1020と、詳細表示画面1030の全3画面から構成されている。
Webアプリケーションプログラム1000では、検索入力画面1010のテキストボックス1011内に検索したい従業員の氏名を入力させて検索ボタン1012をクリックに応じて、検索結果画面1020に遷移する。なお、テキストボックス1011内が空欄の状態で検索ボタン1012がクリックされた場合には、エラーメッセージを表示する。
検索結果画面1020では、従業員氏名ハイパーリンク1021のクリックにより、詳細表示画面1030に遷移する。
Each of the above processes will be described using specific examples.
FIG. 10 is a screen transition diagram of the employee information search system as a Web application to be processed by the program structure management apparatus according to the present embodiment. In this example, Microsoft ASP. 2 shows a Web application program using the NET technology.
The employee information search system as a Web application shown in this example is composed of a search input screen 1010, a search result screen 1020, and a detailed display screen 1030 in all three screens.
In the Web application program 1000, the name of the employee who wants to search is input in the text box 1011 of the search input screen 1010, and the search result screen 1020 is transitioned to when the search button 1012 is clicked. If the search button 1012 is clicked while the text box 1011 is blank, an error message is displayed.
On the search result screen 1020, when the employee name hyperlink 1021 is clicked, a transition is made to the detail display screen 1030.

図11は図10に示す従業員情報検索システムのプロジェクト構成及びプロジェクトを構成するファイルの概要を示している。ここでいうプロジェクトというのは、「.NETアプリケーション」を開発するときに頻繁に利用される「Visual Studio .NET」という開発環境の中で、1つのアプリケーションを構成しようとするプログラムを1つに束ねる管理ファイルである。
図11に示すように、本例では、whoisというプロジェクトファイル1101があり、それにDbというフォルダ1102があり、それ以下にデータベースアクセスを行う5つのC#ファイル1103が含まれている。また、同一階層に、Scenarioというフォルダ1104があり、それ以下に各フォーム画面の動作シナリオを実装する3つのC#ファイル1105が含まれている。
その他、コンパイル時にアプリケーションに埋め込むメタ情報を含んだAssemblyInfo.csファイル1106、アプリケーションの開始・終了時,セッションの開始・終了時に行う処理を実装しておくGlobal.asaxファイル1107、アプリケーションの構成情報を含んだWeb.configファイル1108、検索入力画面のWebフォームファイルSearch.aspx1109、検索結果画面のResult.aspx1110、詳細表示画面1111、アプリケーションを実行するときに画面遷移やセッション制御をつかさどるアプリケーションフレームワークであるコンパイル済み実行形式ファイル1112、アプリケーションフレームワークから利用される画面遷移,セッション制御が定義されている定義ファイル1113から成る。
FIG. 11 shows an outline of the project configuration of the employee information retrieval system shown in FIG. 10 and the files constituting the project. The project here refers to the development environment called "Visual Studio .NET" that is frequently used when developing ".NET applications". It is a management file.
As shown in FIG. 11, in this example, there is a project file 1101 called whois, a folder 1102 called Db, and five C # files 1103 for database access are included below the folder 1102. Further, in the same hierarchy, there is a folder 1104 called Scenario, and three C # files 1105 for implementing an operation scenario of each form screen are included below that.
In addition, AssemblyInfo.cs file 1106 containing meta information to be embedded in the application at compile time, Global.asax file 1107 for implementing processing to be performed at the start / end of the application and at the start / end of the session, and the configuration information of the application Web.config file 1108, search input screen Web form file Search.aspx1109, search result screen Result.aspx1110, detailed display screen 1111, compilation, which is an application framework that controls screen transitions and session control when executing applications A defined execution file 1112 and a definition file 1113 in which screen transitions and session control used by the application framework are defined.

図12は、検索入力画面1010上におけるコントロール配置を示した図である。
本例に示す検索入力画面1010上に配置されたコントロールとしては、例えば、検索する従業員氏名又は従業員氏名の仮名を入力する従業員名テキストボックス1201と、従業員名テキストボックス1201の必須入力チェックを行う従業員テキストボックスチェック1202と、検索を行うときにクリックする検索ボタン1203と、入力した従業員名をリセットするためのリセットボタン1204とがある。
FIG. 12 is a diagram showing a control arrangement on the search input screen 1010.
Controls arranged on the search input screen 1010 shown in this example include, for example, an employee name text box 1201 for inputting an employee name or a pseudonym of the employee name to be searched, and an essential input for the employee name text box 1201 There are an employee text box check 1202 to be checked, a search button 1203 to be clicked when performing a search, and a reset button 1204 to reset the entered employee name.

図13は、図12に示す検索入力画面1010を構成しているASPXファイルの一例を示す図である。
ASPXファイル1300では、検索入力画面1010上のコントロール1201〜1204に対応して、コントロール1301〜1304が実装されている。
FIG. 13 is a diagram showing an example of the ASPX file constituting the search input screen 1010 shown in FIG.
In the ASPX file 1300, controls 1301 to 1304 are implemented corresponding to the controls 1201 to 1204 on the search input screen 1010.

図14は、検索結果画面1020上におけるコントロール配置を示した図である。
本例に示す検索結果画面1020上に配置されたコントロールとしては、例えば、検索結果情報を表示する検索結果データグリッド1401と、従業員詳細情報を表示させるための従業員名ハイパーリンク1402と、検索を再度行うために検索入力画面に遷移するための入力画面へボタン1403とがある。
FIG. 14 is a diagram showing a control arrangement on the search result screen 1020.
The controls arranged on the search result screen 1020 shown in this example include, for example, a search result data grid 1401 for displaying search result information, an employee name hyperlink 1402 for displaying employee detailed information, and a search There is a button 1403 to an input screen for making a transition to the search input screen for performing again.

図15は、図14に示す検索結果画面1020を構成しているASPXファイルの一例を示す図である。
ASPXファイル1500では、検索結果画面1020上のコントロール1401〜1403に対応して、コントロール1501〜1503が実装されている。
FIG. 15 is a diagram showing an example of the ASPX file constituting the search result screen 1020 shown in FIG.
In the ASPX file 1500, controls 1501 to 1503 are mounted in correspondence with the controls 1401 to 1403 on the search result screen 1020.

図16は、詳細表示画面1030上におけるコントロール配置を示した図である。
本例に示す詳細表示画面1030上に配置されたコントロールとしては、例えば、従業員番号ラベル1601と、氏名ラベル1602と、仮名ラベル1603と、所属部署ラベル1604と、部ラベル1605と、課ラベル1606と、係ラベル1607と、電話番号ラベル1608と、Eメールラベル1609と、検索入力画面へ遷移するための検索入力画面へボタン1610とがある。
FIG. 16 is a diagram showing a control arrangement on the detail display screen 1030.
The controls arranged on the detailed display screen 1030 shown in this example include, for example, an employee number label 1601, a name label 1602, a kana label 1603, a department label 1604, a department label 1605, and a section label 1606. , Label 1607, telephone number label 1608, email label 1609, and search input screen button 1610 for transitioning to the search input screen.

図17は、図16に示す詳細表示画面1030を構成しているASPXファイルの一例を示す図である。
ASPXファイル1700では、詳細表示画面1030上のコントロール1601〜1610に対応して、コントロール1701〜1710が実装されている。なお、図17に示すASPXファイル1700では、コントロール1701〜1710の実装部分のみを示し、他の部分は省略している。
FIG. 17 is a diagram showing an example of the ASPX file constituting the detail display screen 1030 shown in FIG.
In the ASPX file 1700, controls 1701 to 1710 are mounted in correspondence with the controls 1601 to 1610 on the detail display screen 1030. In the ASPX file 1700 shown in FIG. 17, only the mounting parts of the controls 1701 to 1710 are shown, and the other parts are omitted.

図18〜図20は、それぞれ、検索入力画面10101、検索結果画面1020、詳細表示画面1030のWebフォームに動的に文字列、画像などを表示させるためのコードビハインドクラスの一例を示す図である。コードビハインドクラスとは、業務クラスやデータベースアクセスクラスなどを呼び出し、処理を行うことによって、業務結果を作り出して、Webフォームに動的に文字列、画像などを表示させるためのクラスファイルである。
図18に示すように、検索入力画面1010のコードビハインドクラス1800は、コンポーネントのインポートを定義するコンポーネント定義部1801と、名前空間定義部1802と、Searchクラス定義部1803と、メンバ変数定義部1804と、Page_Loadメソッド定義部1805と、OnInitメソッド定義部1806と、InitializeComponentメソッド定義部1807と、イベントハンド1808,1809とを有する。
コンポーネント定義部1801には、11ステップの名前空間をインポートし、「.NET Framework」で提供されているコンポーネントや、従業員情報検索システムでコードビハインドとは別の名前空間で定義されているコンポーネントをインポートし利用すると定義されている。本ファイルには、「.NET Framework」が提供する標準のコードビハインドクラス(System.Web.UI.Pageクラス)を継承していろいろな処理を隠蔽したEmployeeInfo.Framework.BasePageクラスを継承した1つのコードビハインドクラスが定義されている。
Searchクラス定義部1803のメンバ変数定義部1804には、3つのメンバ変数が定義されている。この3つの変数は、コードビハインドクラスであるSearchクラスが、動的な文字列や画像を表示させる担当であるWebフォームに定義されているWebサーバコントロールを示す。具体的には、txtSerchKeyがSearch.aspx上に定義されたテキストボックスWebサーバコントロールに、rdValSearchKeyがバリデータWebサーバコントロールに、btnSearchがボタンWebサーバコントロールに相当する。
Page_Loadメソッド定義部1805には、本検索入力画面1010に要求があったときに、一番初めに処理されるメソッドが定義される。
OnInitメソッド定義部1806には、従業員情報検索システムがWebサーバに配置されてから一番最初に本システムに要求があったときに、1回だけ実行されるメソッドで、WebフォームをコンパイルしWebサーバコントロールを形成する役割があるメソッドが定義される。
InitializeComponentメソッド定義部1807には、Webフォームに配置されたWebサーバコントロールでイベントが発生したときに、コードビハインドクラス上のあるメソッドに処理を割り当てるための、イベントハンドラを実行するためのメソッドが定義される。
イベントハンドラ1808は、検索ボタンにおいてクリックイベントが発生したときにbtnToSearch_Clickメソッドへの処理の割り当てを示す。
イベントハンドラ1809は、検索入力画面に配置されている検索ボタン(コードビハインドクラス内のメンバ変数btnSearchにあたる)がクリックされたときのイベントハンドラを示す。
18 to 20 are diagrams showing examples of code-behind classes for dynamically displaying character strings, images, and the like on the Web forms of the search input screen 10101, the search result screen 1020, and the detailed display screen 1030, respectively. . The code-behind class is a class file for creating a business result by calling and processing a business class, a database access class, etc., and dynamically displaying a character string, an image, etc. on a Web form.
As shown in FIG. 18, the code-behind class 1800 of the search input screen 1010 includes a component definition unit 1801 that defines component import, a namespace definition unit 1802, a Search class definition unit 1803, and a member variable definition unit 1804. , A Page_Load method definition unit 1805, an OnInit method definition unit 1806, an InitializeComponent method definition unit 1807, and event hands 1808 and 1809.
The component definition unit 1801 imports an 11-step namespace and includes components provided in the “.NET Framework” and components defined in a namespace different from code-behind in the employee information search system. It is defined to be imported and used. This file contains one code that inherits the EmployeeInfo.Framework.BasePage class that hides various processes by inheriting the standard code-behind class (System.Web.UI.Page class) provided by ".NET Framework" A behind-class is defined.
Three member variables are defined in the member variable definition unit 1804 of the Search class definition unit 1803. These three variables indicate Web server controls that are defined in the Web form that the Search class, which is a code-behind class, is responsible for displaying dynamic character strings and images. Specifically, txtSerchKey corresponds to a text box Web server control defined on Search.aspx, rdValSearchKey corresponds to a validator Web server control, and btnSearch corresponds to a button Web server control.
The Page_Load method definition unit 1805 defines a method that is processed first when a request is made on the search input screen 1010.
The OnInit method definition unit 1806 compiles a Web form with a method that is executed only once when the system is requested for the first time after the employee information retrieval system is placed on the Web server. Methods are defined that are responsible for forming server controls.
The InitializeComponent method definition unit 1807 defines a method for executing an event handler to assign a process to a certain method on the code-behind class when an event occurs in the Web server control arranged in the Web form. The
An event handler 1808 indicates assignment of processing to the btnToSearch_Click method when a click event occurs in the search button.
An event handler 1809 indicates an event handler when a search button (corresponding to a member variable btnSearch in the code behind class) arranged on the search input screen is clicked.

図19に示す検索結果画面1020のコードビハインドクラス1900,図20に示す詳細表示画面1030のコードビハインドクラス2000も同様に、コンポーネントのインポートを定義するコンポーネント定義部1901,2001と、名前空間定義部1902,2002と、Searchクラス定義部1903,2003と、メンバ変数定義部1904,2004と、Page_Loadメソッド定義部1905,2005と、OnInitメソッド定義部1906,2006と、InitializeComponentメソッド定義部1907,2007と、イベントハンド1908,1909,2008とを有する。   Similarly, the code-behind class 1900 of the search result screen 1020 shown in FIG. 19 and the code-behind class 2000 of the detail display screen 1030 shown in FIG. , 2002, Search class definition unit 1903, 2003, member variable definition unit 1904, 2004, Page_Load method definition unit 1905, 2005, OnInit method definition unit 1906, 2006, InitializeComponent method definition unit 1907, 2007, event Hands 1908, 1909, 2008.

図21〜23は、それぞれ、検索入力画面1010,検索結果画面1020,詳細表示画面1030上で発生したイベントに対応して、業務処理を呼ぶ順序を定義したクラス(以下、「シナリオクラス」とする。)の一例を示す図である。
図21に示すように、検索入力画面1010のシナリオクラス2100は、コンポーネントのインポートを定義するコンポーネント定義部2101と、名前空間定義部2102と、シナリオクラス定義部2103と、Playメソッド定義部2104と、業務処理定義部2105とを有する。
コンポーネント定義部2101には、6ステップの名前空間をインポートし、「.NET Framework」で提供されているコンポーネントや、従業員情報検索システムで本シナリオクラスとは別の名前空間で定義されているコンポーネントをインポートし、利用すると定義されている。本ファイルには、従業員情報検索システム専用に用意したシナリオ親クラスを用意し、それを継承していろいろな処理を隠蔽したEmployeeInfo.Framework.BaseScenarioクラスを継承した1つのシナリオクラスとしてのResultScenarioクラスが定義されている。
シナリオクラス定義部2103は、EventIDという文字列型の引数を1つ持ったPlayメソッドを定義したPlayメソッド定義部2104と、業務処理を定義した業務処理定義部2105を有する。
21 to 23 are classes (hereinafter referred to as “scenario classes”) that define the order in which business processes are called in response to events occurring on the search input screen 1010, search result screen 1020, and detail display screen 1030, respectively. .) Is a diagram illustrating an example.
As shown in FIG. 21, the scenario class 2100 of the search input screen 1010 includes a component definition unit 2101 that defines component import, a namespace definition unit 2102, a scenario class definition unit 2103, a Play method definition unit 2104, And a business process definition unit 2105.
The component definition part 2101 imports a 6-step name space, and is provided in the “.NET Framework” component or a component defined in a name space different from this scenario class in the employee information search system. Is defined to be imported and used. In this file, a scenario parent class prepared exclusively for the employee information retrieval system is prepared, and the ResultScenario class as one scenario class that inherits the EmployeeInfo.Framework.BaseScenario class that inherits it and hides various processes. Is defined.
The scenario class definition unit 2103 includes a Play method definition unit 2104 that defines a Play method having one string-type argument called EventID, and a business process definition unit 2105 that defines a business process.

図22に示す検索結果画面1020のシナリオクラス2200,図23に示す詳細表示画面1030のシナリオクラス2300も同様に、コンポーネントのインポートを定義するコンポーネント定義部2201,2301と、名前空間定義部2202,2302と、シナリオクラス定義部2203,2303と、Playメソッド定義部2204,2304と業務処理定義部2205,2305とを有する。また、シナリオクラス2200,2300は、業務処理結果を戻す定義部2206,2306を有する。   Similarly, the scenario class 2200 on the search result screen 1020 shown in FIG. 22 and the scenario class 2300 on the detail display screen 1030 shown in FIG. A scenario class definition unit 2203, 2303, a Play method definition unit 2204, 2304, and a business process definition unit 2205, 2305. The scenario classes 2200 and 2300 also have definition units 2206 and 2306 that return business process results.

本実施の形態に係るプログラム構造管理装置100は、以上のように構成された従業員情報検索システムのプロジェクト(プログラムファイル等)の入力に応じて、プログラム構造解析処理手段101により、ファイルリポジトリ105にプログラムファイル及びプログラムファイル以外のファイルを格納するとともに、プログラムファイルのコピーを生成して解析し、解析結果をプログラム構造情報格納部106に格納する。ファイルリポジトリ105には、それぞれのアプリケーションシステム単位の領域を用意する。
図24は、プログラム構造情報格納部106を構成する各テーブルの関係の一例を示す図である。
本実施の形態では、プログラム構造情報格納部106を、ソフトウエアテーブル2401,プロジェクトテーブル2402,参照コンポーネントテーブル2403,ファイルテーブル2404,インポートテーブル2405,クラステーブル2406,クラス内メンバ呼び出し順テーブル2407,クラス内メンバテーブル2408,メソッド内呼び出し順テーブル2409,メンバ引数テーブル2410とから構成している。本実施の形態では、クラス内メンバ呼び出し順テーブル2407,メソッド内呼び出し順テーブル2409,メンバ引数テーブル2410のそれぞれにおいて、各プログラムファイルに含まれる処理順序を示す情報を格納している。
ソフトウエアテーブル2401は、プロジェクトテーブル2402と関連付けられている。
プロジェクトテーブル2402は、参照コンポーネントテーブル2403及びファイルテーブル2404と関連付けられている。
ファイルテーブル2404は、インポートテーブル2405及びクラステーブル2406と関連付けられている。
クラステーブル2406は、クラス内メンバ呼び出し順テーブル2407及びクラス内メンバテーブル2408と関連付けられている。
クラス内メンバテーブル2408は、メソッド内呼び出し順テーブル2409及びメンバ引数テーブル2410と関連付けられている。
The program structure management apparatus 100 according to the present embodiment stores the file structure 105 in the file repository 105 by the program structure analysis processing means 101 in response to the input of the project (program file, etc.) of the employee information search system configured as described above. A program file and a file other than the program file are stored, a copy of the program file is generated and analyzed, and the analysis result is stored in the program structure information storage unit 106. An area for each application system is prepared in the file repository 105.
FIG. 24 is a diagram illustrating an example of the relationship between the tables constituting the program structure information storage unit 106.
In the present embodiment, the program structure information storage unit 106 includes a software table 2401, a project table 2402, a reference component table 2403, a file table 2404, an import table 2405, a class table 2406, an in-class member call order table 2407, an in-class The table includes a member table 2408, an in-method call order table 2409, and a member argument table 2410. In this embodiment, information indicating the processing order included in each program file is stored in each of the in-class member call order table 2407, the in-method call order table 2409, and the member argument table 2410.
The software table 2401 is associated with the project table 2402.
The project table 2402 is associated with the reference component table 2403 and the file table 2404.
The file table 2404 is associated with the import table 2405 and the class table 2406.
The class table 2406 is associated with the in-class member call order table 2407 and the in-class member table 2408.
The in-class member table 2408 is associated with the in-method call order table 2409 and the member argument table 2410.

図25は、ソフトウエアテーブル2401のデータ構造の一例を示す図である。
ソフトウエアテーブル2401は、例えば、ソフトウェアID,ソフトウェア名の各データ項目を有する。
なお、各図に示すテーブルにおいて、属性中の「PK」は主キーを示し、「FK」は外部キーを示す。
FIG. 25 is a diagram illustrating an example of the data structure of the software table 2401.
The software table 2401 has data items of software ID and software name, for example.
In the table shown in each figure, “PK” in the attribute indicates a primary key, and “FK” indicates a foreign key.

図26は、プロジェクトテーブル2402のデータ構造の一例を示す図である。
プロジェクトテーブル2402は、例えば、ソフトウェアID,プロジェクトID,プロジェクト名,プロジェクト種別の各データ項目を有する。ソフトウエアテーブル2401に対しては、ソフトウェアIDで関連付けられている。
FIG. 26 is a diagram illustrating an example of the data structure of the project table 2402.
The project table 2402 includes, for example, data items of software ID, project ID, project name, and project type. The software table 2401 is associated with a software ID.

図27は、参照コンポーネントテーブル2403のデータ構造の一例を示す図である。
参照コンポーネントテーブル2403は、例えば、ソフトウェアID,プロジェクトID,参照コンポーネントID,参照コンポーネント名の各データ項目を有する。プロジェクトテーブル2402に対しては、ソフトウェアID及びプロジェクトIDで関連付けられている。
FIG. 27 is a diagram illustrating an example of the data structure of the reference component table 2403.
The reference component table 2403 includes, for example, data items of software ID, project ID, reference component ID, and reference component name. The project table 2402 is associated with a software ID and a project ID.

図28は、ファイルテーブル2404のデータ構造の一例を示す図である。
ファイルテーブル2404は、例えば、ソフトウェアID,ファイルID,ファイル名,ライブラリIDの各データ項目を有する。プロジェクトテーブル2402に対しては、ソフトウェアIDで関連付けられている。
FIG. 28 is a diagram illustrating an example of the data structure of the file table 2404.
The file table 2404 has data items of software ID, file ID, file name, and library ID, for example. The project table 2402 is associated with a software ID.

図29は、インポートテーブル2405のデータ構造の一例を示す図である。
インポートテーブル2405は、例えば、ソフトウェアID,ファイルID,インポートID,インポート名,参照コンポーネントIDの各データ項目を有する。ファイルテーブル2404に対しては、ソフトウェアID及びファイルIDで関連付けられている。
FIG. 29 is a diagram illustrating an example of the data structure of the import table 2405.
The import table 2405 includes, for example, data items of software ID, file ID, import ID, import name, and reference component ID. The file table 2404 is associated with a software ID and a file ID.

図30は、クラステーブル2406のデータ構造の一例を示す図である。
クラステーブル2406は、例えば、ソフトウェアID,ファイルID,クラスID,クラス名,基底クラスIDの各データ項目を有する。基底クラスIDは、各クラスに対する基底クラスを識別するためのものである。ファイルテーブル2404に対しては、ソフトウェアID及びファイルトIDで関連付けられている。
FIG. 30 is a diagram illustrating an example of the data structure of the class table 2406.
The class table 2406 has data items of software ID, file ID, class ID, class name, and base class ID, for example. The base class ID is for identifying the base class for each class. The file table 2404 is associated with a software ID and a file ID.

図31は、クラス内メンバ呼び出し順テーブル2407のデータ構造の一例を示す図である。
クラス内メンバ呼び出し順テーブル2407は、例えば、ソフトウェアID,ファイルID,クラスID,メソッドID,呼び出し順番の各データ項目を有する。呼び出し順番は、クラス内のプログラムの呼び出し順(行番号)を示す。クラステーブル2406に対しては、ソフトウェアID,ファイルID及びクラスIDで関連付けられている。
FIG. 31 is a diagram showing an example of the data structure of the in-class member call order table 2407.
The in-class member call order table 2407 has, for example, data items of software ID, file ID, class ID, method ID, and call order. The calling order indicates the calling order (line number) of the programs in the class. The class table 2406 is associated with a software ID, a file ID, and a class ID.

図32は、クラス内メンバテーブル2408のデータ構造の一例を示す図である。
クラス内メンバテーブル2408は、例えば、ソフトウェアID,ファイルID,クラスID,クラスメンバID,クラスメンバ種別の各データ項目を有する。クラステーブル2406に対しては、ソフトウェアID,ファイルID及びクラスIDで関連付けられている。
FIG. 32 is a diagram showing an example of the data structure of the in-class member table 2408.
The in-class member table 2408 includes, for example, data items of software ID, file ID, class ID, class member ID, and class member type. The class table 2406 is associated with a software ID, a file ID, and a class ID.

図33は、メソッド内呼び出し順テーブル2409のデータ構造の一例を示す図である。
メソッド内呼び出し順テーブル2409は、例えば、ソフトウェアID,ファイルID,クラスID,クラスメンバID,処理詳細,メンバ呼び出し順番の各データ項目を有する。ここで、処理詳細はメソッド内のプログラムを示し、メンバ呼び出し順番はメソッド内のプログラムの呼び出し順(行番号)を示す。メソッド内メンバ呼び出し処理順テーブル2409は、クラス内メンバテーブル2408に対しては、ソフトウェアID,ファイルID,クラスID及びクラスメンバIDで関連付けられている。
FIG. 33 is a diagram illustrating an example of the data structure of the in-method call order table 2409.
The in-method call order table 2409 includes, for example, data items of software ID, file ID, class ID, class member ID, processing details, and member call order. Here, the processing details indicate the programs in the method, and the member calling order indicates the calling order (line number) of the programs in the method. The in-method member call processing order table 2409 is associated with the in-class member table 2408 by software ID, file ID, class ID, and class member ID.

図34は、メンバ引数テーブル2410のデータ構造の一例を示す図である。
メンバ引数テーブル2410は、例えば、ソフトウェアID,ファイルID,クラスID,クラスメンバID,引数名,引数型,引数呼び出順番の各データ項目を有する。引数呼び出し順番は、各引数の呼び出し順(行番号)を示す。クラス内メンバテーブル2408に対しては、ソフトウェアID,ファイルID及びクラスIDで関連付けられている。
FIG. 34 is a diagram showing an example of the data structure of the member argument table 2410. As shown in FIG.
The member argument table 2410 has, for example, data items of software ID, file ID, class ID, class member ID, argument name, argument type, and argument call order. The argument call order indicates the call order (line number) of each argument. The in-class member table 2408 is associated with the software ID, file ID, and class ID.

以上の各テーブル2401〜2410のデータ構造に応じて、入力されたプログラムファイルを解析してプログラム構造情報格納部106に格納するとともに、プロジェクト開発者等により任意に選択されたプログラムについて、各テーブル2401〜2410に格納されたプログラム構造情報に基づき、プログラム構造図を生成して表示する。プログラム構造図の生成では、それぞれのイベントで発生する処理の処理順序をトレースし、トレースの結果、呼び出されるメソッド名や、メソッド内で行われている処理の共通部分を抽出する。抽出した共通部分に基づき生成したプログラム構造図を表示する。
図35,36は、プログラム構造図生成手段の生成したプログラム構造図の一例を示す図である。本例では、プログラム構造図としてUMLのクラス図を生成した例を示している。この場合のプログラム構造図の生成では、クラステーブル2406の基底クラスIDを参照して、各クラスの親子関係をチェックした後、各クラスについてクラス内メンバテーブル2408を参照して、クラス内のメンバ変数,メソッドを抽出することにより、各図に示すクラス図を生成する。また、クラス内メンバテーブル2408からイベントハンドラメソッドを抽出し、各イベントハンドラメソッドから処理されるクラスステップを、メソッド内呼び出し順テーブル2409から一行ずつ呼び出して、呼び出し順序で共通する行を抽出して共通部分とする。
図35に示すプログラム構造図3500は、検索入力画面1010,検索結果画面1020,詳細表示画面1030のそれぞれについて、図18〜20に示すコードビハインドクラス1800,1900,2000に対応したクラス図を示す。
また、図36に示すプログラム構造図3600は、検索入力画面1010,検索結果画面1020,詳細表示画面1030のそれぞれについて、図21〜23に示すシナリオクラス2100,2200,2300に対応したクラス図を示す。
なお、各プログラム構造図では、共通部分を色分け表示等で強調表示する。また、共通部分についてのみ表示するプログラム構造図を生成することとしてもよい。
In accordance with the data structure of each of the above tables 2401 to 2410, the input program file is analyzed and stored in the program structure information storage unit 106, and the program arbitrarily selected by the project developer or the like is stored in each table 2401. Based on the program structure information stored in ˜2410, a program structure diagram is generated and displayed. In the generation of the program structure diagram, the processing order of the processing that occurs at each event is traced, and as a result of tracing, the name of the method to be called and the common part of the processing performed in the method are extracted. A program structure diagram generated based on the extracted common part is displayed.
35 and 36 are diagrams showing an example of the program structure diagram generated by the program structure diagram generating means. In this example, a UML class diagram is generated as a program structure diagram. In the generation of the program structure diagram in this case, the base class ID of the class table 2406 is referred to to check the parent-child relationship of each class, and then the member variable in the class is referred to by referring to the in-class member table 2408 for each class. The class diagram shown in each figure is generated by extracting the methods. Also, event handler methods are extracted from the in-class member table 2408, class steps processed from each event handler method are called line by line from the in-method call order table 2409, and common lines in the call order are extracted and shared. Part.
A program structure diagram 3500 shown in FIG. 35 shows class diagrams corresponding to the code-behind classes 1800, 1900, and 2000 shown in FIGS. 18 to 20 for the search input screen 1010, the search result screen 1020, and the detailed display screen 1030, respectively.
A program structure diagram 3600 shown in FIG. 36 shows class diagrams corresponding to the scenario classes 2100, 2200, and 2300 shown in FIGS. 21 to 23 for the search input screen 1010, the search result screen 1020, and the detailed display screen 1030, respectively. .
In each program structure diagram, the common part is highlighted by color-coded display or the like. It is also possible to generate a program structure diagram that displays only the common part.

以上のプログラム構造図を参照したプロジェクト管理者又はプログラム開発者等がプログラム構造の再利用を希望する場合には、プログラム構造管理装置100に対して、テンプレートプログラム生成要求をさせる。
プログラム構造管理装置100は、テンプレートプログラム生成要求に対し、プログラム構造情報格納部106に格納したプログラム構造情報を取得し、各ファイルについてテンプレート化対象ファイル(共通構造を有するファイル)か否かを判定する。例えば、従業員情報検索システムにおいて、テンプレート化対象ファイルとしては、コードビハインドファイルとシナリオクラスファイルのようなファイルが挙げられる。一方、データベースから従業員情報を取得するDbフォルダ以下のC#ファイルは共通した構造になっていないとするとテンプレート化すべきでないファイルということになる。以上の判定後、テンプレート化対象ファイルとそれ以外のファイルとを明示したテンプレート化ファイルリストを表示する。
プログラム管理装置100は、プログラム構造の再利用を希望するプロジェクト管理者又はプログラム開発者等に、テンプレート化対象ファイルの内、必要とするファイルを選択させるとともに、各ファイルについてのファイル名を入力させて、テンプレートプログラムを生成する。
When a project manager, a program developer, or the like referring to the above program structure diagram desires to reuse the program structure, the program structure management apparatus 100 is requested to generate a template program.
In response to the template program generation request, the program structure management apparatus 100 acquires the program structure information stored in the program structure information storage unit 106, and determines whether each file is a file to be templated (a file having a common structure). . For example, in the employee information search system, examples of the file to be templated include files such as a code-behind file and a scenario class file. On the other hand, if the C # file under the Db folder for acquiring employee information from the database does not have a common structure, it should be a file that should not be templated. After the above determination, a templated file list in which the templated file and other files are clearly displayed is displayed.
The program management apparatus 100 allows a project manager or program developer who wants to reuse the program structure to select a required file from among the files to be templated, and inputs a file name for each file. Generate a template program.

以下、従業員情報検索システムのプログラム構造を利用した生成したテンプレートプログラムの一部を構成するテンプレートファイルの例を、図37〜39を用いて説明する。
図37は、従業員情報検索システムのプログラム構造を利用した計算システムについて、テンプレート出力したプロジェクト構成の一例を示す図である。
本例では、計算式入力画面と計算結果出力画面という画面で構成した計算システムを示しており、コードビハインドファイルをCalcInput.aspx,CalcOutput.aspxとし、シナリオクラスファイルをCalcInputScenario.cs,CalcOutputScenario.csとしている。この場合には、テンプレート化ファイルにするべき部分に共通的でないメソッド,変数を指定して、ファイル名を入力したファイルに対して共通に実装するようにする。
図38は計算式入力画面のコードビハインドのテンプレート化ファイルの一例を示す図であり、図39は計算式入力画面のシナリオクラスのテンプレート化ファイルの一例を示す図である。
各図に示すテンプレート化ファイルは、従業員情報検索システムの検索入力画面についてのコードビハインド及びシナリオクラスのそれぞれのファイルの共通構造部分を利用したものである。
Hereinafter, an example of a template file constituting a part of a template program generated using the program structure of the employee information search system will be described with reference to FIGS.
FIG. 37 is a diagram showing an example of a project configuration output as a template for a calculation system using the program structure of the employee information search system.
This example shows a calculation system consisting of a calculation formula input screen and a calculation result output screen. The code-behind files are CalcInput.aspx and CalcOutput.aspx, and the scenario class files are CalcInputScenario.cs and CalcOutputScenario.cs. Yes. In this case, methods and variables that are not common to the part to be made into a template file are specified, and the common implementation is performed for the file in which the file name is input.
FIG. 38 is a diagram showing an example of a code-behind template file on the calculation formula input screen, and FIG. 39 is a diagram showing an example of a scenario class template file on the calculation formula input screen.
The templated file shown in each figure uses the common structure part of the code behind and scenario class files for the search input screen of the employee information search system.

以上のように、本実施の形態に係るプログラム構造管理装置では、既存の完成したプログラム構造を図形式で容易に参照することにより、開発するプログラムに一番近いプログラム構造、又は過去に経験したプログラム構造を再利用して、テンプレートプログラムを作成することができ、プログラム構造を共通化することにより、プログラムの保守性・拡張性・品質を良くし工数を削減することが可能になる。   As described above, in the program structure management device according to the present embodiment, the program structure closest to the program to be developed or the program experienced in the past can be easily referred to the existing completed program structure in a diagram format. It is possible to create a template program by reusing the structure, and by making the program structure common, it becomes possible to improve the maintainability, expandability and quality of the program and reduce the man-hours.

なお、本発明は、オブジェクト指向言語のみに対応するものではなく、プログラムファイルの解析により、各プログラムファイルにおける処理順序の共通部分を抽出可能なものであれば、他の言語のプログラムファイルについても適用可能である。
また、プログラム構造図としては、クラス図に限らず、例えば、フローダイアグラムで構成してもよい。この場合にも、クラス図の生成の場合と同様の処理により、フローダイアグラムを生成するとともに、共通する処理を強調表示する。
Note that the present invention is not only applicable to object-oriented languages, but can be applied to program files in other languages as long as the common part of the processing order in each program file can be extracted by analyzing the program file. Is possible.
Further, the program structure diagram is not limited to a class diagram, and may be constituted by a flow diagram, for example. Also in this case, a flow diagram is generated by the same processing as that for generating a class diagram, and common processing is highlighted.

本発明の一実施の形態に係るプログラム構造管理装置の概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the program structure management apparatus which concerns on one embodiment of this invention. 本発明の一実施の形態に係るプログラム構造管理装置を構成するプログラム構造解析手段の概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the program structure analysis means which comprises the program structure management apparatus which concerns on one embodiment of this invention. プログラム構造解析手段の行う処理を示すフローチャートである。It is a flowchart which shows the process which a program structure analysis means performs. 本発明の一実施の形態に係るプログラム構造管理装置を構成するプログラム構造図生成手段の概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the program structure figure production | generation means which comprises the program structure management apparatus which concerns on one embodiment of this invention. プログラム構造図生成手段の行う処理を示すフローチャートである。It is a flowchart which shows the process which a program structure diagram production | generation means performs. 本発明の一実施の形態に係るプログラム構造管理装置を構成するテンプレート化ファイルリスト生成手段の概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the templated file list production | generation means which comprises the program structure management apparatus which concerns on one embodiment of this invention. テンプレート化ファイルリスト生成手段の行う処理を示すフローチャートである。It is a flowchart which shows the process which a templated file list production | generation means performs. 本発明の一実施の形態に係るプログラム構造管理装置を構成するテンプレートプログラム生成手段の概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the template program production | generation means which comprises the program structure management apparatus which concerns on one embodiment of this invention. テンプレートプログラム生成手段の行う処理を示すフローチャートである。It is a flowchart which shows the process which a template program production | generation means performs. 本発明の処理対象となるアプリケーションを構成する画面の一例を示す図である。It is a figure which shows an example of the screen which comprises the application used as the process target of this invention. 図10に示すアプリケーションのプロジェクト構成及びプロジェクトを構成するファイルの概要を示す図である。It is a figure which shows the outline | summary of the project structure of the application shown in FIG. 10, and the file which comprises a project. 図10に示す検索入力画面上のコントロール配置を示す図である。It is a figure which shows the control arrangement | positioning on the search input screen shown in FIG. 図12に示す検索入力画面を構成するASPXファイルの一例を示す図である。It is a figure which shows an example of the ASPX file which comprises the search input screen shown in FIG. 図10に示す検索結果画面上のコントロール配置を示す図である。It is a figure which shows the control arrangement | positioning on the search result screen shown in FIG. 図14に示す検索結果画面を構成するASPXファイルの一例を示す図である。It is a figure which shows an example of the ASPX file which comprises the search result screen shown in FIG. 図10に示す詳細情報画面上のコントロール配置を示す図である。It is a figure which shows the control arrangement | positioning on the detailed information screen shown in FIG. 図16に示す詳細情報画面を構成するASPXファイルの一例を示す図である。It is a figure which shows an example of the ASPX file which comprises the detailed information screen shown in FIG. 図10に示す検索入力画面のコードビハインドクラスの一例を示す図である。It is a figure which shows an example of the code behind class of the search input screen shown in FIG. 図10に示す検索結果画面のコードビハインドクラスの一例を示す図である。It is a figure which shows an example of the code behind class of the search result screen shown in FIG. 図10に示す詳細情報画面のコードビハインドクラスの一例を示す図である。It is a figure which shows an example of the code behind class of the detailed information screen shown in FIG. 図10に示す検索入力画面のシナリオドクラスの一例を示す図である。It is a figure which shows an example of the scenariod class of the search input screen shown in FIG. 図10に示す検索結果画面のシナリオクラスの一例を示す図である。It is a figure which shows an example of the scenario class of the search result screen shown in FIG. 図10に示す詳細情報画面のシナリオクラスの一例を示す図である。It is a figure which shows an example of the scenario class of the detailed information screen shown in FIG. プログラム構造情報格納部のテーブル構成の概要を示す図である。It is a figure which shows the outline | summary of the table structure of a program structure information storage part. プログラム構造情報格納部を構成するソフトウエアテーブルのデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of the software table which comprises a program structure information storage part. プログラム構造情報格納部を構成するプロジェクトテーブルのデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of the project table which comprises a program structure information storage part. プログラム構造情報格納部を構成する参照コンポーネントテーブルのデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of the reference component table which comprises a program structure information storage part. プログラム構造情報格納部を構成するファイルテーブルのデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of the file table which comprises a program structure information storage part. プログラム構造情報格納部を構成するインポートテーブルのデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of the import table which comprises a program structure information storage part. プログラム構造情報格納部を構成するクラステーブルのデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of the class table which comprises a program structure information storage part. プログラム構造情報格納部を構成するクラス内メンバ呼び出し順テーブルのデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of the member call order table in a class which comprises a program structure information storage part. プログラム構造情報格納部を構成するクラス内メンバテーブルのデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of the in-class member table which comprises a program structure information storage part. プログラム構造情報格納部を構成するメソッド内メンバ呼び出し順テーブルのデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of the member call order table in a method which comprises a program structure information storage part. プログラム構造情報格納部を構成するメンバ引数テーブルのデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of the member argument table which comprises a program structure information storage part. 図18〜20に示すコードビハインドクラスの解析結果に基づき生成したプログラム構造図の一例を示す図である。It is a figure which shows an example of the program structure figure produced | generated based on the analysis result of the code behind class shown in FIGS. 図21〜23に示すシナリオクラスの解析結果に基づき生成したプログラム構造図の一例を示す図である。It is a figure which shows an example of the program structure figure produced | generated based on the analysis result of the scenario class shown in FIGS. 従業員情報検索システムのプログラム構造を利用した計算システムについて、テンプレート出力したプロジェクト構成の一例を示す図である。It is a figure which shows an example of the project structure which carried out the template output about the calculation system using the program structure of the employee information search system. 計算式入力画面のコードビハインドのテンプレート化ファイルの一例を示す図である。It is a figure which shows an example of the code-behind template-ized file of a calculation formula input screen. 計算式入力画面のシナリオクラスのテンプレート化ファイルの一例を示す図である。It is a figure which shows an example of the template file of the scenario class of a calculation formula input screen.

符号の説明Explanation of symbols

100 プログラム構造管理装置、101 プログラム構造解析手段、102 プログラム構造図生成手段、103 テンプレート化ファイルリスト生成手段、104 テンプレートプログラム生成手段、105 ファイルリポジトリ、106 プログラム構造情報格納部、201 ファイル種別判定処理部、202 プログラム構造解析部、401 プログラム詳細表示部、402 プログラム構造図生成部、403 プログラム構造図表示部、601 テンプレート化ファイル判定部、602 テンプレート化ファイルリスト出力部、801 テンプレートプログラム名入力部、802 テンプレートプログラム生成部、803 テンプレートプログラム出力部、   DESCRIPTION OF SYMBOLS 100 Program structure management apparatus, 101 Program structure analysis means, 102 Program structure diagram generation means, 103 Template file list generation means, 104 Template program generation means, 105 File repository, 106 Program structure information storage part, 201 File type determination processing part 202 Program structure analysis unit 401 Program detail display unit 402 Program structure diagram generation unit 403 Program structure diagram display unit 601 Templated file determination unit 602 Templated file list output unit 801 Template program name input unit 802 Template program generation unit, 803 template program output unit,

Claims (8)

ソフトウエアを構成する複数のプログラムファイルのプログラム構造を解析して管理するプログラム構造管理装置であって、
前記各プログラムファイルにおけるプログラム構造を解析し、当該プログラムファイルに含まれる各処理の順序に関する情報を抽出して、前記ソフトウエアにおけるプログラム構造情報に含めて格納する手段を備えることを特徴とするプログラム構造管理装置。
A program structure management device for analyzing and managing the program structure of a plurality of program files constituting software,
A program structure comprising: means for analyzing a program structure in each program file, extracting information related to an order of each process included in the program file, and storing it in the program structure information in the software Management device.
前記プログラム構造情報を取得し、前記ソフトウエアを構成する複数のプログラムファイルについて前記プログラム構造情報に含まれる処理順序の共通部分を抽出し、当該共通部分を共通構造として示したプログラム構造図を生成する手段をさらに備えることを特徴とする請求項1に記載のプログラム構造管理装置。   Obtaining the program structure information, extracting a common part of the processing order included in the program structure information for a plurality of program files constituting the software, and generating a program structure diagram showing the common part as a common structure The program structure management apparatus according to claim 1, further comprising means. 前記プログラム構造情報を取得し、前記ソフトウエアを構成する複数のプログラムファイルについて前記プログラム構造情報に含まれる処理順序の共通部分を抽出し、当該共通部分を有する複数のプログラムファイルをテンプレート化対象ファイルとして表示する手段を備えることを特徴とする請求項1又は2のいずれかに記載のプログラム構造管理装置。   The program structure information is acquired, a common part of the processing order included in the program structure information is extracted for a plurality of program files constituting the software, and a plurality of program files having the common part are used as a template target file. The program structure management apparatus according to claim 1, further comprising a display unit. 前記ソフトウエアを構成する複数のプログラムファイルの内、前記テンプレート化対象ファイルとして表示したプログラムファイルに対する任意の選択に応じて、選択されたプログラムファイルと当該プログラムファイルに対応するプログラム構造情報とに基づき、前記プログラムファイル中の前記共通部分で構成したテンプレートファイルを生成し、生成したテンプレートファイルの組合せによりテンプレートプログラムを生成する手段をさらに備えることを特徴とする請求項3に記載のプログラム管理装置。   Based on the selected program file and the program structure information corresponding to the program file, according to an arbitrary selection of the program file displayed as the template file among the plurality of program files constituting the software, 4. The program management apparatus according to claim 3, further comprising means for generating a template file composed of the common part in the program file and generating a template program by a combination of the generated template files. ソフトウエアを構成する複数のプログラムファイルのプログラム構造を解析して管理する処理をコンピュータに実行させるプログラム構造管理プログラムであって、
前記各プログラムファイルにおけるプログラム構造を解析する処理と、
当該プログラムファイルに含まれる各処理の順序に関する情報を抽出して、前記ソフトウエアにおけるプログラム構造情報に含めて格納する処理と
をコンピュータに実行させることを特徴とするプログラム構造管理プログラム。
A program structure management program for causing a computer to execute processing for analyzing and managing a program structure of a plurality of program files constituting software,
Processing for analyzing the program structure in each of the program files;
A program structure management program for causing a computer to execute processing for extracting information relating to the order of each process included in the program file and storing it in the program structure information in the software.
前記プログラム構造情報を取得し、前記ソフトウエアを構成する複数のプログラムファイルについて前記プログラム構造情報に含まれる処理順序の共通部分を抽出し、当該共通部分を共通構造として示したプログラム構造図を生成する処理をさらにコンピュータに実行させることを特徴とする請求項5に記載のプログラム構造管理プログラム。   Obtaining the program structure information, extracting a common part of the processing order included in the program structure information for a plurality of program files constituting the software, and generating a program structure diagram showing the common part as a common structure 6. The program structure management program according to claim 5, further causing the computer to execute processing. 前記プログラム構造情報を取得し、前記ソフトウエアを構成する複数のプログラムファイルについて前記プログラム構造情報に含まれる処理順序の共通部分を抽出し、当該共通部分を有する複数のプログラムファイルをテンプレート化対象ファイルとして表示する処理をさらにコンピュータに実行させることを特徴とする請求項5又は6のいずれかに記載のプログラム構造管理プログラム。   The program structure information is acquired, a common part of the processing order included in the program structure information is extracted for a plurality of program files constituting the software, and a plurality of program files having the common part are used as a template target file. 7. The program structure management program according to claim 5, further causing the computer to execute a display process. 前記ソフトウエアを構成する複数のプログラムファイルの内、前記テンプレート化対象ファイルとして表示したプログラムファイルに対する任意の選択に応じて、選択されたプログラムファイルと当該プログラムファイルに対応するプログラム構造情報とに基づき、前記プログラムファイル中の前記共通部分で構成したテンプレートファイルを生成し、生成したテンプレートファイルの組合せによりテンプレートプログラムを生成する処理をさらにコンピュータに実行させることを特徴とする請求項7に記載のプログラム構造管理プログラム。
Based on the selected program file and the program structure information corresponding to the program file, according to an arbitrary selection of the program file displayed as the template file among the plurality of program files constituting the software, 8. The program structure management according to claim 7, further comprising: generating a template file composed of the common parts in the program file, and causing the computer to further execute a process of generating a template program by combining the generated template files. program.
JP2005308081A 2005-10-24 2005-10-24 Program structure management device and program structure management program Pending JP2007115155A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005308081A JP2007115155A (en) 2005-10-24 2005-10-24 Program structure management device and program structure management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005308081A JP2007115155A (en) 2005-10-24 2005-10-24 Program structure management device and program structure management program

Publications (1)

Publication Number Publication Date
JP2007115155A true JP2007115155A (en) 2007-05-10

Family

ID=38097243

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005308081A Pending JP2007115155A (en) 2005-10-24 2005-10-24 Program structure management device and program structure management program

Country Status (1)

Country Link
JP (1) JP2007115155A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010033249A (en) * 2008-07-28 2010-02-12 Mitsubishi Electric Corp Method for analyzing program and method for creating program
JP2018173699A (en) * 2017-03-31 2018-11-08 株式会社日立社会情報サービス Template generation device, template generation method and program
JP2021062449A (en) * 2019-10-15 2021-04-22 ファナック株式会社 Programming assistance device and program creation method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010033249A (en) * 2008-07-28 2010-02-12 Mitsubishi Electric Corp Method for analyzing program and method for creating program
JP2018173699A (en) * 2017-03-31 2018-11-08 株式会社日立社会情報サービス Template generation device, template generation method and program
JP2021062449A (en) * 2019-10-15 2021-04-22 ファナック株式会社 Programming assistance device and program creation method
JP7488036B2 (en) 2019-10-15 2024-05-21 ファナック株式会社 PROGRAMMING ASSISTANT DEVICE AND PROGRAM CREATION METHOD

Similar Documents

Publication Publication Date Title
CN102681835A (en) Code clone notification and architectural change visualization
CN111104103B (en) Visualization method and system for software editing micro-service
US20080244562A1 (en) Method of Identifying and Checking Software Installation Requirements
Paiva et al. From requirements to automated acceptance tests with the RSL language
US20090282065A1 (en) Metadata to technical design review document process
JPH10254689A (en) Application constitution design supporting system for client/server system
Gómez et al. An approach to the co-creation of models and metamodels in Enterprise Architecture Projects.
Jongeling et al. Towards consistency checking between a system model and its implementation
JP2007115155A (en) Program structure management device and program structure management program
US20110023010A1 (en) Reserved component container-based software development method and apparatus
JP2009122754A (en) Software development support device
US10621552B1 (en) Dynamically controlling case model structure using case fragments
Buchgeher et al. Making the case for centralized software architecture management
Fatolahi et al. Towards a Semi-Automated Model-Driven Method for the Generation of Web-based Applications from Use Cases.
JP4678770B2 (en) Sequence diagram creation method and apparatus
JP2008123254A (en) INFLUENCE ANALYSIS TOOL FOR LARGE-SCALE BUSINESS SYSTEM USING Java (R) LANGUAGE PROGRAM
Maras et al. Towards specifying pragmatic software reuse
Cook Towards computer-supported collaborative software engineering
Garcês et al. Open source workflow management systems: a concise survey
CN112363700A (en) Cooperative creation method and device of intelligent contract, computer equipment and storage medium
JP2009053767A (en) Program analysis device and program analysis method
JP7502216B2 (en) PROGRAM GENERATION SUPPORT DEVICE, PROGRAM GENERATION SUPPORT METHOD, AND PROGRAM GENERATION SUPPORT PROGRAM
JP2015148925A (en) Program generation device and method
JP2001318796A (en) Program execution control method using internal and external event driven system, recording medium and program preparation support system
KR100456631B1 (en) Apparatus and method for adaptation of design models in the object-oriented programming system and recording medium providing program therein