JP2015084146A - Program development support apparatus and method - Google Patents
Program development support apparatus and method Download PDFInfo
- Publication number
- JP2015084146A JP2015084146A JP2013222094A JP2013222094A JP2015084146A JP 2015084146 A JP2015084146 A JP 2015084146A JP 2013222094 A JP2013222094 A JP 2013222094A JP 2013222094 A JP2013222094 A JP 2013222094A JP 2015084146 A JP2015084146 A JP 2015084146A
- Authority
- JP
- Japan
- Prior art keywords
- program
- common
- programs
- common item
- input
- 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.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明は、プログラム開発をサポートする技術に関する。 The present invention relates to a technique for supporting program development.
人間にとって理解し易い仕様記述から、そこに記述されたユーザの要求を満足するプログラムを自動的に生成するプログラム自動生成技術の研究が行われており、プログラム自動生成ツールが開発されている(例えば特許文献1)。 Research on automatic program generation technology that automatically generates a program that satisfies the user's requirements described in a specification description that is easy for humans to understand has been conducted, and an automatic program generation tool has been developed (for example, Patent Document 1).
プログラムは、生成された後に、往々にして、変更を要求される場合がある。また、プログラムの変更時には、通常、変更の危険度を測定する所謂インパクト分析が行われている(例えば特許文献2)。 Programs are often required to change after they are generated. Further, when changing a program, a so-called impact analysis is usually performed to measure the risk of change (for example, Patent Document 2).
プログラムの自動生成技術があるものの、プログラム変更時のインパクト分析は、ソースコード全件の目視確認、もしくはテキストエディタによるキーワード検索等の手作業で行われている現状である。システム規模が小さい場合には、手作業でも大きな問題が無いが、システムが大規模になるほど、ソースコードが増え、インパクト分析の工数、難易度が増大し、調査漏れ等のリスクも高まる。特に、既に運用フェーズに入ってからプログラムを変更するケースも多いため、少しのミスが大問題になるケースも多く、本番稼働後のプログラム変更、特にインパクト分析は開発者が最も神経を使う部分であり、一番頭を悩ませる問題である。 Although there is automatic program generation technology, the impact analysis at the time of program change is currently being performed manually, such as visual confirmation of all source code or keyword search using a text editor. When the system scale is small, there is no major problem even by manual work, but as the system becomes larger, the source code increases, the man-hours and difficulty of impact analysis increase, and the risk of missing surveys increases. In particular, since there are many cases where the program is changed after entering the operation phase, there are many cases where a few mistakes become a big problem, and the program change after the actual operation, especially the impact analysis, is the part where the developer uses the most nerve. Yes, it is the most annoying problem.
この問題は、バッチ処理システムの場合においてさらに顕著である。
バッチ処理システムは、複数の処理を夫々担う複数のプログラムが所定の順序で実行されるシステムである。以下、これらのプログラムを「バッチプログラム」という。1つのバッチ処理システムにおいて、複数のバッチプログラム間の共通のレコード(以下「共通項目」という)も、異なるバッチプログラムにおいては、異なる定義文で定義されている場合がある。
This problem is even more pronounced in the case of batch processing systems.
A batch processing system is a system in which a plurality of programs each carrying a plurality of processes are executed in a predetermined order. Hereinafter, these programs are referred to as “batch programs”. In one batch processing system, a common record (hereinafter referred to as “common item”) between a plurality of batch programs may be defined by different definition sentences in different batch programs.
共通項目なのに、バッチプログラム間で定義文が異なるのでは、プログラムの変更や変更時のインパクト分析の効率が悪く、ミスも生じやすい。 If the definition statements are different between batch programs even though they are common items, the efficiency of the program change and impact analysis at the time of change is low, and mistakes are likely to occur.
特許文献3に開示されたデータ項目定義標準化装置は、各バッチプログラムのソースコードを解析し、夫々のバッチプログラムから、上述した共通項目の定義文を抽出する。次いで、共通項目毎に、該共通項目に対して抽出した複数の定義文から1つの定義文を選択して標準コピーとして保持しておく。そして、各バッチプログラムに対して、該共通項目については、標準コピーを参照するようにソースコードを書き換える。 The data item definition standardization apparatus disclosed in Patent Document 3 analyzes the source code of each batch program, and extracts the above-described common item definition sentence from each batch program. Next, for each common item, one definition sentence is selected from a plurality of definition sentences extracted for the common item and held as a standard copy. For each batch program, the source code is rewritten to refer to the standard copy for the common items.
特許文献3の手法によれば、プログラムの変更時やインパクト分析時において、共通項目については、標準コピーを変更/調査すればよいため、効率が良いと共に、ミスも軽減することができる。 According to the method of Patent Document 3, since it is sufficient to change / inspect a standard copy for a common item when a program is changed or an impact analysis is performed, efficiency is improved and mistakes can be reduced.
しかしながら、複数のプログラムのソースコードを解析して共通項目を抽出するのは容易なことではない。共通項目の抽出が失敗して、互いに異なるものが共通項目として抽出されたなどの場合には、システムに大きなダメージを与え、システムの保守性を反って悪化させてしまう恐れがある。 However, it is not easy to extract common items by analyzing source codes of a plurality of programs. If the extraction of common items fails and different items are extracted as common items, the system may be seriously damaged and the maintainability of the system may be deteriorated.
本発明は、上記事情に鑑みてなされたものであり、プログラムの開発に対して、システムの保守性を確実に高めることができるサポート技術を提供する。 The present invention has been made in view of the above circumstances, and provides a support technology that can reliably improve the maintainability of a system for the development of a program.
本発明の1つの態様は、プログラム開発サポート装置である。該装置は、予め作成され、複数のプログラムにより参照される共通項目を記憶する共通項目記憶部と、夫々の前記プログラムについて、前記共通項目の参照履歴を記録する利用履歴管理部とを備える。 One aspect of the present invention is a program development support apparatus. The apparatus includes a common item storage unit that stores a common item that is created in advance and is referred to by a plurality of programs, and a usage history management unit that records a reference history of the common item for each of the programs.
前記共通項目は、前記プログラムのコーディング時に他のコードの入力操作とは異なる特定操作で前記共通科目記憶部から入力するように規定されている。 The common item is defined to be input from the common subject storage unit by a specific operation different from an input operation of another code when the program is coded.
前記利用履歴管理部は、前記プログラムのコーディング時における前記特定操作の履歴から該プログラムの前記参照履歴を得る。 The usage history management unit obtains the reference history of the program from the history of the specific operation at the time of coding the program.
なお、上記態様のサポート装置をシステムや方法に置き換えて表現したもの、コンピュータを該サポート装置として動作させるプログラム、該プログラムを記録した記録媒体、該サポート装置を含むプログラム開発システム等も、本発明の態様としては有効である。 Note that a representation of the support device in the above aspect replaced with a system or method, a program that causes a computer to operate as the support device, a recording medium that records the program, a program development system that includes the support device, and the like are also included in the present invention. It is effective as an embodiment.
本発明にかかる技術によれば、プログラムの開発をサポートし、システムの保守性を確実に高めることができる。 According to the technology of the present invention, program development can be supported and system maintainability can be reliably improved.
以下、図面を参照して本発明の実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェアとソフトウェア(プログラム)の組合せによっていろいろな形で実現できることは当業者には理解されるところであり、ハードウェアとソフトウェアのいずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。 Embodiments of the present invention will be described below with reference to the drawings. For clarity of explanation, the following description and drawings are omitted and simplified as appropriate. It should be understood by those skilled in the art that each element described in the drawings as functional blocks for performing various processes can be realized in various forms by a combination of hardware and software (program). It is not limited to any of the above. Note that, in each drawing, the same element is denoted by the same reference numeral, and redundant description is omitted as necessary.
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non−transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。 Further, the above-described program can be stored using various types of non-transitory computer readable media and supplied to a computer. Non-transitory computer readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (for example, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (for example, magneto-optical disks), CD-ROM (Read Only Memory) CD-R, CD -R / W, semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (Random Access Memory)). The program may also be supplied to the computer by various types of transitory computer readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves. The temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
<第1の実施の形態>
図1は、第1の実施の形態にかかるプログラム開発システム1を示す。プログラム開発システム1は、例えばバッチ処理システムを構成する複数のバッチプログラムを開発するためのコンピュータであり、ユーザ・インタフェース(User Interface:UI)10、プログラム開発サポート装置20を備える。なお、図1において、本発明の技術を説明する上で必要な機能ブロックのみを示し、この種のシステムに通常備えられる他の構成要素については、省略する。
<First Embodiment>
FIG. 1 shows a
UI10は、プログラムの開発者がソースコードの入力用のユーザ・インタフェースであり、キーボード、マウスなどの入力手段や、モニタなどの表示手段を含む。
The
プログラム開発サポート装置20は、バッチプログラムのコーディング時に、複数のバッチプログラム間の共通項目の入力の効率化と、開発したバッチ処理システムの保守性を高めるためのものであり、共通項目記憶部22と利用履歴記憶部24を備える。
The program
本実施の形態において、バッチプログラムのコーディングについて、該バッチプログラムを含む複数のバッチプログラム間の共通項目は、他のソースコードの入力操作とは異なる特定操作で共通項目記憶部22から入力するように規定されている。
In the present embodiment, for the coding of a batch program, common items between a plurality of batch programs including the batch program are input from the common
例えば、他のソースコードについては、通常のコーディングと同様に、ユーザがUI10に含まれるキーボードで直接入力するようになっているが、共通項目記憶部22に格納された共通項目については、ドラッグ&ドロップ操作で共通項目記憶部22から読み出して入力するようになっている。
For example, for other source codes, the user directly inputs with a keyboard included in the
なお、ドラッグ&ドロップ操作で共通項目記憶部22から当該共通項目を読み出して入力するためには、例えば、共通項目記憶部22に記憶された共通項目の一覧をUI10の表示画面に展開し、ドラッグ&ドロップ操作でコーディング中のバッチプログラムのカースル位置に入力できるようにすればよい。
In order to read and input the common item from the common
共通項目記憶部22は、上述したような、複数のバッチプログラムにより参照される共通項目を記憶している。これらの共通項目は、予め作成され、共通項目記憶部22に格納される。
The common
バッチ処理システムにおいて、システム全体に大きな影響を与える共通項目としては、テーブルの入出力項目、ファイルの入出力項目、共通関数、クラス継承時の親クラス、共通定数、環境変数などがある。 In a batch processing system, common items that greatly affect the entire system include table input / output items, file input / output items, common functions, parent classes when inheriting classes, common constants, environment variables, and the like.
共通項目の作成については、例えば、バッチ処理システムの設計者が予めプログラムコードの形で作成して共通項目記憶部22に格納するようにしてもよい。または、特許文献1に開示されたようなプログラム自動生成ツールを利用する場合には、バッチ処理システムの設計者が作成した仕様記述に基づいて、プログラム自動生成ツールが、個々のバッチプログラムのコーディングの前に作成して共通項目記憶部22に格納するようにしてもよい。
As for the creation of the common item, for example, the designer of the batch processing system may create it in advance in the form of a program code and store it in the common
利用履歴記憶部24は、バッチプログラム毎に、それのコーディング時における共通項目の参照履歴を記録する。例えば、バッチプログラムAのコーディング時に、特定の操作(本実施の形態ではドラッグ&ドロップ操作)により共通項目記憶部22に記憶された共通項目A1の入力が3回行われた場合に、利用履歴記憶部24は、バッチプログラムAについて、利用履歴として、例えば「共通項目A1、3回」旨の内容を記録する。
The usage
このように、本実施の形態にかかるプログラム開発システム1では、プログラム開発サポート装置20は、予め作成された共通項目を記憶しておき、バッチプログラム毎に、該バッチプログラムのコーディング時における特定の操作(ドラッグ&ドロップ操作)の履歴に応じて、夫々の共通項目の参照履歴を得て記録する。
As described above, in the
まず、複数のプログラムで参照される共通項目をソースコードと独立させて一元管理し、画面上に表示させて、手入力なしに特定の操作で入力させることで、ユーザの入力ミスを排除することができる。また、プログラム毎に共通項目の扱いにバラつきが生じないようになるため、全ソースコードが統一感の取れたものになり、ソースコードの保守性が増す。 First, common items referenced by multiple programs are managed centrally independently of the source code, displayed on the screen, and input by specific operations without manual input, eliminating user input errors Can do. In addition, since there is no variation in the handling of common items for each program, all the source codes are unified and the maintainability of the source codes is increased.
また、バッチプログラム毎に、共通項目記憶部22に記憶された共通項目の参照履歴が記録されているため、プログラムの変更時やインパクト分析時には、利用履歴記憶部24に記憶された参照履歴を参照することにより、複数のバッチプログラム間での共通項目の共通項目の利用状況をプログラム毎に細かく把握できるようになるため、インパクト分析工数と修正漏れ・考慮漏れ等のユーザミスを軽減できる。システムが大規模になればなるほど有効性が増す。
Moreover, since the reference history of the common items stored in the common
さらに、予め作成された共通項目を記憶しておき、共通項目の入力に用いると規定された特定の操作の履歴から、共通項目の各バッチプログラムにおける分布状況に該当する参照履歴を得ているため、バッチプログラムのソースコードを解析することにより共通項目を取得して置き換える特許文献2の手法より簡単かつ確実である。 Furthermore, since the common items created in advance are stored, the reference history corresponding to the distribution status of the common items in each batch program is obtained from the history of specific operations specified to be used for inputting the common items. It is simpler and more reliable than the method of Patent Document 2 that acquires and replaces common items by analyzing the source code of the batch program.
<第2の実施の形態>
図2は、第2の実施の形態にかかるプログラム設計管理システム50を示す。プログラム設計管理システム50は、第1の実施の形態にかかるプログラム開発システム1をより具現化したものであり、バッチプログラムの開発及び保守をより強力にサポートするものである。以下において、バッチプログラムを単に「プログラム」ともいう。
<Second Embodiment>
FIG. 2 shows a program
プログラム設計管理システム50は、ユーザが作成した仕様記述(後述の設計情報)に基づいてほぼ自動的にプログラムのソースコードを生成できるものであり、この機能については、例えば特許文献1に記載されたものを用いる。また、プログラム設計管理システム50は、共通項目についても、ユーザが作成した仕様書や定義書などに基づいて自動的に生成可能である。
The program
図2に示すように、プログラム設計管理システム50は、インパクト分析画面103、設計リポジトリ入出力部105、共通項目アクセス表示出力部106、プログラム開発画面104、設計リポジトリ入出力部105、ソース・設計書出力部119、共通項目定義生成112、整合コントローラ部117を備える。これらの機能ブロックのうちに、共通項目定義116、設計リポジトリ入出力部105、設計リポジトリ118は、プログラム開発サポート装置として機能する。
As shown in FIG. 2, the program
インパクト分析画面103は、インパクト分析時においてプログラム変更箇所100を入力するための画面である。
The
設計リポジトリ入出力部105は、インパクト分析画面103から入力されたプログラム変更箇所100に関連するプログラムとプログラム中の該当処理を設計リポジトリ118から抽出する。
The design repository input /
共通項目アクセス表示出力部106は、設計リポジトリ入出力部105で抽出した結果を基に共通リソースアクセス表107もしくはファイルアクセス表108もしくはテーブルアクセス表109を出力する。
The common item access
プログラム開発画面104は、プログラムコーディング時において、設計情報101とコーディング情報102と共通項目定義116が入力される。
In the
設計リポジトリ入出力部105は、プログラム開発画面104から入力された設計情報101とコーディング情報102と共通項目定義を各処理単位に関連づけて設計リポジトリ118へ記録する。
The design repository input /
ソース・設計書出力部119は、設計リポジトリ118から設計リポジトリ入出力部105によって抽出された設計情報とコーディング情報を基にソースコード110と各種設計書111を生成する。
The source / design
共通項目定義生成112は、データベーススキーマ情報113とファイル仕様書114とその他共通リソース定義書115を基に共通項目定義116を生成する。
The common
整合コントローラ部117は、共通項目定義116に変更が生じた場合に設計リポジトリ118へ変更データを反映する。
The matching
本実施の形態にかかるプログラム設計管理システム50は、特許文献1に記載されたプログラム自動生成システムに対して、主に下記の4つの機能を追加している。
The program
<第1の機能:共通項目の入力>
プログラム開発画面104に共通項目定義116から共通項目を入力させる機能。
<First function: Input common items>
A function for inputting common items from the
<第2の機能:共通項目の紐付け>
プログラム開発画面104上で入力した設計情報101とコーディング情報102を設計リポジトリ入出力部105によって、関連付けを行って設計リポジトリ118に記録する機能。
<Second function: linking common items>
A function of associating the
<第3の機能:インパクト分析サポート>
インパクト分析画面103上で入力したプログラム変更箇所100を基に設計リポジトリ入出力部105によって設計リポジトリ118から関連する部分を抽出して、共通項目アクセス表出力部106にて、共通リソースアクセス表107、ファイルアクセス表108、テーブルアクセス表109を作成する機能。
<Third function: Impact analysis support>
Based on the program change part 100 input on the
<第4の機能:データ整合機能>
共通項目に変更が生じた場合にデータ整合コントローラ部117によって、変更箇所を一括して設計リポジトリ118に反映する機能。
<Fourth function: data matching function>
A function of collectively reflecting the changed portions in the design repository 118 by the data matching
以下において、この4つの機能に重点をおいて説明する。
<共通項目の入力>
「共通項目の入力」に関しては、まず、複数のプログラムで参照される共通項目(テーブルの入出力項目、ファイルの入出力項目、共通関数、クラス継承時の親クラス、共通定数、環境変数)を、他のロジックと独立して一元管理できるよう定義ファイル化し、特定の操作(ドラッグ&ドロップ)でプログラム開発画面104から入力することで、共通リソースを他のロジックとは区別して管理する。
In the following, description will be given with emphasis on these four functions.
<Input common items>
Regarding "input common items", first, common items (table input / output items, file input / output items, common functions, parent classes when inheriting classes, common constants, environment variables) referenced by multiple programs are selected. By creating a definition file so that it can be centrally managed independently of other logic and inputting from the
定義ファイルに関しては図2に示す共通項目定義生成112にてデータベーススキーマ情報113とファイル仕様書114とその他共通リソース定義書115からある一定の書式で共通項目定義116として記録する。
The definition file is recorded as a
プログラム開発画面104では、共通項目定義116から共通リソース情報を抽出し、プログラム開発画面上のメモリに展開する。図3は、画面イメージを示す。
In the
図3に示すように、プログラム開発画面104は、画面左側のプログラム構造を定義するプログラムフロー図エリア300と、画面右側の共通項目を表示する共通項目一覧エリア301を備える。共通項目一覧エリア301上部のプルダウンリスト302で対象の共通リソースを選択すると、メモリ上に退避された共通項目定義情報の中から対象項目を抽出してリスト上に展開する。
As shown in FIG. 3, the
プログラムのコーディングを行う際には、まず、図3のプログラムフロー図エリア300でプログラムを処理単位(ノード)に分割し、ノード304を用いてツリー形式でプログラム構造を組み立てる。1つのノードが1つの処理を担う。
When coding a program, first, the program is divided into processing units (nodes) in the program
本実施の形態において、ノードは、入力処理ノード、出力処理ノード、フリー記述ノードの3タイプに分かれ、プログラム構造設計をする際には、これらのうちのどれかを利用して設計する。フリー記述ノードは、入力処理ノードと出力処理ノード以外のすべてのノードを吸収する。 In the present embodiment, the nodes are divided into three types: input processing nodes, output processing nodes, and free description nodes. When designing a program structure, one of these is used for designing. The free description node absorbs all nodes other than the input processing node and the output processing node.
各ノードの中身のコーディングについては、各ノードタイプ別に入力画面を用意する。図4は、それらのイメージを示す画面400〜402を示す。これらの画面は図3のプログラムフロー図エリア300上の各ノードをクリックすると新規ウィンドウとして起動する。
For the coding of the contents of each node, an input screen is prepared for each node type. FIG. 4 shows
プログラムのコーディング情報は必ずこれら3つの画面からしか入力できず、更に、共通項目に関しては、図3の共通項目一覧エリア301上のリストアップされている項目の中から対象項目をドラッグ&ドロップ操作で図4の400〜402のウィンドウ上のコーディングエリアに展開し、手入力しないルールとする。
The coding information of the program can only be input from these three screens. Furthermore, with respect to common items, the target item can be dragged and dropped from the items listed on the common
ノードタイプ毎のドラッグ&ドロップ操作イメージは図5〜図7通りである。このような操作をすることで、画面から入力された情報の中でどの部分が共通項目領域なのかを区別させ、内部で独立させて管理できるようにしている。 The drag and drop operation image for each node type is as shown in FIGS. By performing such an operation, it is possible to distinguish which part of the information input from the screen is a common item area and to manage it independently independently.
<共通項目の紐付け>
図4の400、401、402の画面から入力されたコーディング情報はノード単位に設計リポジトリに記録する。
<Linking common items>
Coding information input from the
本実施の形態では、共通項目がどのよに利用されたのかを記録する専用のエリア(図8の800、図9の900、図10の1000)が設けられており、共通項目を入力した箇所が特定できる情報を付加した形で設計リポジトリへ記録するようになっている。 In this embodiment, a dedicated area (800 in FIG. 8, 900 in FIG. 9, 1000 in FIG. 10) for recording how the common item is used is provided, and the location where the common item is input Is recorded in the design repository with information that can be specified.
例えば、フリー記述ノードであれば、図8のようにまず、共通項目であることを識別するために共通項目の先頭に$マークを付与し、他の変数と区別させ、共通項目利用履歴エリアに記録する。その際には共通項目IDの後ろにノード名を付与する。こうすることで、この共通項目がプログラムの中のどの処理で呼び出されているかピンポイントで特定することが可能となる。 For example, in the case of a free description node, as shown in FIG. 8, first, in order to identify a common item, a $ mark is added to the head of the common item to distinguish it from other variables, and the common item usage history area is displayed. Record. In that case, a node name is given after the common item ID. In this way, it is possible to pinpoint to which process in the program this common item is called.
次に入力処理ノードでは、フリー記述ノードと同様、共通項目の後ろにノード名を付与するが、更に入力処理ノードでは図9の通り、入力時の条件となる属性(結合条件、抽出条件、ソートキー)もあわせて付与する。 Next, in the input processing node, as in the free description node, a node name is given after the common item, but in the input processing node, as shown in FIG. ).
次に出力処理ノードも入力処理ノードと同様、出力の条件となる情報や、転記の際の入力元と出力先の識別もできるような情報も図10のように付加して記録する。従来からCRUD表を出力するシステムはあったが、CRUD表はプログラムでアクセスしているテーブルに対するCREATE、READ、UPDATE、DELETEのいずれかの操作があるかないかの識別しかできなかった。本発明では、CRUDの識別は当然ながら、更に踏み込んで、テーブルへのSQL操作の中でどの条件(結合条件、抽出条件、ソートキー条件等)で利用されているのかより詳細な個所の特定が可能となるため、より精密なインパクト分析が可能となる。 Next, as in the case of the input processing node, the output processing node also adds and records information as an output condition and information that can identify the input source and output destination at the time of transcription as shown in FIG. Conventionally, there has been a system that outputs a CRUD table, but the CRUD table can only identify whether there is any operation of CREATE, READ, UPDATE, or DELETE on a table accessed by a program. In the present invention, the CRUD identification is naturally further advanced, and it is possible to specify in more detail the conditions (joining conditions, extraction conditions, sort key conditions, etc.) used in the SQL operation to the table. Therefore, more accurate impact analysis becomes possible.
<インパクト分析サポート>
インパクト分析サポート機能は、図2のインパクト分析画面103から影響範囲を特定したい共通項目を選択させ、画面上の検索ボタンを押下するとプログラム毎の設計リポジトリの共通項目利用履歴エリア(図11の1100が示す範囲)をサーチし、選択した共通項目IDと一致したものを抽出して結果を一覧形式で画面に表示する。
<Impact analysis support>
The impact analysis support function allows the user to select a common item whose impact range is to be specified from the
テーブルの入出力項目が選択された場合には、図12に示す情報(図2のテーブルアクセス表109)を出力し、ファイルの入出力項目を選択した場合は、図13に示す情報(図2のファイルアクセス表108)を出力する。また、共通関数と共通定数、環境変数が選択された場合は、図14のような情報(図2の共通リソースアクセス表107)を出力し、親クラスが選択された場合は、図15のような情報(図2の共通リソースアクセス表107)を出力する。
このようにして、ピンポイントで共通項目の影響範囲を正確に瞬時に特定することができる。
When the input / output item of the table is selected, the information shown in FIG. 12 (table access table 109 of FIG. 2) is output. When the input / output item of the file is selected, the information shown in FIG. 13 (FIG. 2) is output. File access table 108) is output. When a common function, common constant, and environment variable are selected, information as shown in FIG. 14 (common resource access table 107 in FIG. 2) is output, and when a parent class is selected, as shown in FIG. Information (common resource access table 107 in FIG. 2) is output.
In this way, the influence range of the common item can be pinpointed accurately and instantaneously.
<データ整合>
共通項目に対して、変更が生じた場合は、図2のデータベーススキーマ情報113もしくは、ファイル仕様書114もしくは、その他共通リソース定義書115の変更箇所を修正し、共通項目定義生成112によって、共通項目定義116を再生成後にデータ整合コントローラ部117によって、設計リポジトリの該当箇所の変更を一括して行う。
<Data alignment>
When a change occurs in the common item, the changed part of the
ただし、この機能は共通項目の変更時に限り、追加・削除時はロジックの見直しが必要となるため、インパクト分析画面にて影響範囲を特定してから手作業による修正が必要となる。 However, this function is required only when the common items are changed. When adding or deleting, it is necessary to review the logic. Therefore, it is necessary to manually modify the impact area after specifying the affected area on the impact analysis screen.
本実施の形態にかかるプログラム設計管理システム50は、プログラム開発システム1をより具現化/高機能化したものであり、プログラム開発システム1により得られる全ての効果を発揮することができる。
The program
さらに、本実施の形態にかかるプログラム設計管理システム50は、夫々のプログラムについて、ノード毎に共通項目への参照履歴を記録して管理するため、インパクト分析時において、共通項目の分布状況や影響範囲をより精確に把握することができる。
Furthermore, since the program
また、複数のプログラムで参照される共通項目をソースコードと独立させて一元管理しているため、共通項目の変更時には共通項目のデータを整合させる機能によって、設計リポジトリへ一括反映させることで、プログラム修正工数と修正漏れを軽減できる。 In addition, since common items referenced by multiple programs are managed centrally independently of the source code, the program can be reflected in the design repository in a batch by using the function to align common item data when changing common items. Correction man-hours and omissions can be reduced.
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述した各実施の形態に対してさまざまな変更、増減、組合せを行ってもよい。これらの変更、増減、組合せが行われた変形例も本発明の範囲にあることは、当業者に理解されるところである。 The present invention has been described above based on the embodiment. The embodiment is an exemplification, and various modifications, increases / decreases, and combinations may be made to the above-described embodiments without departing from the gist of the present invention. It will be understood by those skilled in the art that modifications in which these changes, increases / decreases, and combinations are also within the scope of the present invention.
例えば、ソースコードに限らず、設計情報についても、作成時において、複数のプログラムに夫々対応する設計情報を入力する際にも、これらの設計情報の共通項目を予め作成して記憶しておき、他の項目の入力操作とは異なる特定の操作(例えばドラッグ&ドロップ操作)で入力させるようにすれば、同様の方式で設計リポジトリに設計情報における共通項目の利用履歴を記録することができると共に、設計情報に対するインパクト分析にも有利な効果を得ることができる。 For example, not only source code but also design information, when creating design information corresponding to each of a plurality of programs at the time of creation, common items of these design information are created and stored in advance, If input is performed by a specific operation (for example, drag and drop operation) different from the input operation of other items, the usage history of common items in the design information can be recorded in the design repository in the same manner, An advantageous effect can also be obtained for impact analysis on design information.
本発明にかかる技術は、業種を問わず、データベースやファイルシステムを利用したいかなるバッチ処理システムの開発時にも用いることができ、バッチプログラムの本数が多く大規模なシステムになればなるほど効果が顕著である。 The technology according to the present invention can be used when developing any batch processing system using a database or a file system regardless of the type of business, and the effect becomes more remarkable as the number of batch programs becomes larger and the system becomes larger. is there.
1 プログラム開発システム
10 UI(ユーザ・インタフェース)
20 プログラム開発サポート装置
22 共通項目記憶部
24 利用履歴記憶部
50 プログラム設計管理システム
100 プログラム変更箇所
101 設計情報
102 コーディング情報
103 インパクト分析画面
104 プログラム開発画面
105 設計リポジトリ入出力部
106 共通項目アクセス表示出力部
107 共通リソースアクセス表
108 ファイルアクセス表
109 テーブルアクセス表
110 ソースコード
111 設計書
112 共通項目定義生成
113 データベーススキーマ情報
114 ファイル仕様書
115 その他共通リソース定義書
116 共通項目定義
117 整合コントローラ部
118 設計リポジトリ
119 ソース・設計書出力部
300 プログラムフロー図エリア
301 共通項目一覧エリア
302 プルダウンリスト
400 フリー記述ノードの入力画面
401 入力処理ノードの入力画面
402 出力処理ノードの入力画面
800 参照履歴用エリア
900 参照履歴用用エリア
1000 参照履歴用エリア
1100 検索対象
1
20 Program
Claims (7)
夫々の前記プログラムについて、前記共通項目の参照履歴を記録する利用履歴管理部とを備え、
前記共通項目は、前記プログラムのコーディング時に他のコードの入力操作とは異なる特定操作で前記共通科目記憶部から入力するように規定されており、
前記利用履歴管理部は、前記プログラムのコーディング時における前記特定操作の履歴から該プログラムの前記参照履歴を得る、
プログラム開発サポート装置。 A common item storage unit for storing common items created in advance and referenced by a plurality of programs;
For each of the programs, a usage history management unit that records a reference history of the common item,
The common item is defined to be input from the common subject storage unit by a specific operation different from an input operation of another code when coding the program,
The usage history management unit obtains the reference history of the program from the history of the specific operation at the time of coding the program.
Program development support device.
前記利用履歴管理部は、夫々の前記プログラムについて、該プログラムを構成するノード毎に前記参照履歴を記録する、
請求項1に記載のプログラム開発サポート装置。 Each of the programs is divided and coded for each node of the processing unit,
The usage history management unit records, for each of the programs, the reference history for each node constituting the program.
The program development support apparatus according to claim 1.
請求項1または2に記載のプログラム開発サポート装置。 When any one of the common items is specified during impact analysis, the program further includes an impact analysis support unit that displays the reference history corresponding to the common item for each program.
The program development support apparatus according to claim 1 or 2.
夫々の前記プログラムについて、前記共通項目の参照履歴を記録して管理するステップを有し、
前記共通項目は、前記プログラムのコーディング時に他のコードの入力操作とは異なる特定操作で前記記憶装置から入力するように規定されており、
夫々の前記プログラムの前記参照履歴は、該プログラムのコーディング時における前記特定操作の履歴から得られる、
プログラム開発サポート方法。 A common device that is created in advance and is referenced by a plurality of programs is stored,
For each of the programs, the step of recording and managing the reference history of the common item,
The common item is defined to be input from the storage device by a specific operation different from an input operation of another code at the time of coding the program,
The reference history of each of the programs is obtained from the history of the specific operation at the time of coding the program.
Program development support method.
夫々之前記プログラムについて、前記参照履歴は、該プログラムを構成するノード毎に記録される、
請求項4に記載のプログラム開発サポート方法。 Each of the programs is divided and coded for each node of the processing unit,
For each of the programs, the reference history is recorded for each node constituting the program.
The program development support method according to claim 4.
請求項4または5に記載のプログラム開発サポート方法。 When any of the common items is specified during impact analysis, the reference history corresponding to the common item is displayed for each program.
6. The program development support method according to claim 4 or 5.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013222094A JP6281239B2 (en) | 2013-10-25 | 2013-10-25 | Program development support apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013222094A JP6281239B2 (en) | 2013-10-25 | 2013-10-25 | Program development support apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015084146A true JP2015084146A (en) | 2015-04-30 |
JP6281239B2 JP6281239B2 (en) | 2018-02-21 |
Family
ID=53047723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013222094A Active JP6281239B2 (en) | 2013-10-25 | 2013-10-25 | Program development support apparatus and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6281239B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017120643A (en) * | 2015-12-28 | 2017-07-06 | キヤノンマーケティングジャパン株式会社 | Server, information processing device, information processing method and program |
CN114115855A (en) * | 2021-03-26 | 2022-03-01 | 北京京东拓先科技有限公司 | Code multiplexing method and device, computer readable storage medium and electronic equipment |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03116228A (en) * | 1989-03-31 | 1991-05-17 | Hitachi Ltd | Design back-up method |
JPH0561663A (en) * | 1991-09-02 | 1993-03-12 | Hitachi Ltd | Method for editing section history |
JPH10254691A (en) * | 1997-03-07 | 1998-09-25 | Hitachi Software Eng Co Ltd | Support method for developing program and storage medium having program for implementing the same |
-
2013
- 2013-10-25 JP JP2013222094A patent/JP6281239B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03116228A (en) * | 1989-03-31 | 1991-05-17 | Hitachi Ltd | Design back-up method |
JPH0561663A (en) * | 1991-09-02 | 1993-03-12 | Hitachi Ltd | Method for editing section history |
JPH10254691A (en) * | 1997-03-07 | 1998-09-25 | Hitachi Software Eng Co Ltd | Support method for developing program and storage medium having program for implementing the same |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017120643A (en) * | 2015-12-28 | 2017-07-06 | キヤノンマーケティングジャパン株式会社 | Server, information processing device, information processing method and program |
CN114115855A (en) * | 2021-03-26 | 2022-03-01 | 北京京东拓先科技有限公司 | Code multiplexing method and device, computer readable storage medium and electronic equipment |
Also Published As
Publication number | Publication date |
---|---|
JP6281239B2 (en) | 2018-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230135819A1 (en) | Systems and methods for diagnosing problems from error logs using natural language processing | |
US11392485B2 (en) | Auto test generator | |
US12001821B2 (en) | Generation and/or recommendation of tools for automating aspects of computer programming | |
CN108763091B (en) | Method, device and system for regression testing | |
KR101554424B1 (en) | Method and apparatus for auto generation of test case | |
JP4911438B2 (en) | Operation monitoring device | |
CN104657402A (en) | Language Tag Management On International Data Storage | |
US11651607B2 (en) | Information processing apparatus and non-transitory computer readable medium storing program | |
US11630647B2 (en) | Method and system for configuring processes of software applications using activity fragments | |
JP2017041171A (en) | Test scenario generation support device and test scenario generation support method | |
US11922230B2 (en) | Natural language processing of API specifications for automatic artifact generation | |
US20240070580A1 (en) | Systems and Methods for Decommissioning Business Intelligence Artifacts | |
CN104937540B (en) | Get the identity of the application lifecycle management entity associated with the similar code | |
JP2021530073A (en) | Automatic control of distributed computing devices | |
CN105446952A (en) | Method and system for processing semantic fragments | |
US20210174013A1 (en) | Information processing apparatus and non-transitory computer readable medium storing program | |
JP6281239B2 (en) | Program development support apparatus and method | |
JP6120607B2 (en) | Requirement detection apparatus and requirement detection program | |
JP7456136B2 (en) | Information processing device and program | |
JPWO2015145556A1 (en) | Dependency verification device between software specifications and dependency verification method between software specifications | |
US20150019600A1 (en) | Computer product, file identifying apparatus, and file evaluation method | |
US11829230B2 (en) | Globally unique error codes for knowledge document indexing in software systems | |
US20230059946A1 (en) | Artificial intelligence-based process documentation from disparate system documents | |
JP2020101898A (en) | Design drawing creation support method, design drawing creation support device, and design drawing creation support program | |
US20150095378A1 (en) | Method for automated documentation of structured query language including workflow and data dependencies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160905 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170616 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170620 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170816 |
|
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: 20171226 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180108 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6281239 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |