JP4939007B2 - System design support program - Google Patents

System design support program Download PDF

Info

Publication number
JP4939007B2
JP4939007B2 JP2005223162A JP2005223162A JP4939007B2 JP 4939007 B2 JP4939007 B2 JP 4939007B2 JP 2005223162 A JP2005223162 A JP 2005223162A JP 2005223162 A JP2005223162 A JP 2005223162A JP 4939007 B2 JP4939007 B2 JP 4939007B2
Authority
JP
Japan
Prior art keywords
function
source code
data
system design
support program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005223162A
Other languages
Japanese (ja)
Other versions
JP2007041707A (en
Inventor
堅志郎 和田
Original Assignee
ケン・システムコンサルティング株式会社
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 ケン・システムコンサルティング株式会社 filed Critical ケン・システムコンサルティング株式会社
Priority to JP2005223162A priority Critical patent/JP4939007B2/en
Publication of JP2007041707A publication Critical patent/JP2007041707A/en
Application granted granted Critical
Publication of JP4939007B2 publication Critical patent/JP4939007B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、業務向けシステムのシステム設計に用いられるシステム設計支援プログラムに関し、いわゆるCASE(Computer Aided System Engineering)ツールに用いられるプログラムに関する。   The present invention relates to a system design support program used for system design of a business-oriented system, and relates to a program used for a so-called CASE (Computer Aided System Engineering) tool.

従来から、業務向け等のシステムの開発において、該システムの設計を支援するCASEツールが利用されている。CASEツールの1つに、ケン・システム開発(株)が開発した「XupperII(クロスアッパー・ツー)」(登録商標)がある。   Conventionally, a CASE tool that supports design of a system has been used in development of a system for business use. One of the CASE tools is “Xupper II (Cross Upper Two)” (registered trademark) developed by Ken System Development Co., Ltd.

変化が激しい昨今においてシステム開発を成功させるには、設計の上流工程でユーザニーズを正確に把握する必要がある。「XupperII」は、上流分析設計を支援するためのソフトウェアツールであり、エンドユーザにも分かりやすいビジネスフロー図とビジネスルールを基に、データ中心アプローチ(DOA:Data Oriented Approach)を実現している。
特許第3527658号公報
In order to succeed in system development in today's drastic changes, it is necessary to accurately grasp user needs in the upstream process of design. “Xupper II” is a software tool for supporting upstream analysis design, and realizes a data-oriented approach (DOA) based on business flow diagrams and business rules that are easy to understand for end users.
Japanese Patent No. 3527658

一般に、ソフトウェアの開発工程には、クライアントの業務を分析する業務分析工程、クライアントの業務における要求仕様を定義する要求定義工程、要求定義を満たすソフトウェアの基本構成を設計する基本設計工程及びその詳細を設計する詳細設計工程を含む上流工程と、ソフトウェアを構成する各プログラムを作成するプログラム開発工程及び作成されたプログラムの動作を検証するテスト工程を含む下流工程とに分かれる。   In general, the software development process includes a business analysis process for analyzing the client's business, a requirement definition process for defining the requirements for the client's business, a basic design process for designing the basic configuration of software that satisfies the requirements definition, and the details. The process is divided into an upstream process including a detailed design process to be designed, a program development process for creating each program constituting the software, and a downstream process including a test process for verifying the operation of the created program.

しかしながら、前記従来のシステム設計支援ツールである「XupperII」は、上流設計用ツールであるため、下流工程であるプログラム開発工程を行なうにあたって、得られた設計データを他の下流設計用ツールにブリッジ又は手作業を介して渡す必要がある。   However, since the conventional system design support tool “Xupper II” is an upstream design tool, when the program development process, which is a downstream process, is performed, the obtained design data is bridged to other downstream design tools. It must be handed over.

このような場合には、せっかく作成した設計データのすべてを利用できない場合があり、時間的且つ費用的に大きな無駄が生じるという問題がある。   In such a case, all of the created design data may not be used, and there is a problem that a great waste of time and cost occurs.

本発明は、前記従来の問題を解決し、上流設計用ツールである「XupperII」を用いて、下流工程であるプログラム開発をブリッジ及び人手を介することなく自動的に行なえるようにすることを目的とする。   It is an object of the present invention to solve the above-described conventional problems and to automatically perform program development as a downstream process without using a bridge and a manpower by using “Xupper II” as an upstream design tool. And

前記の目的を達成するため、本発明は、「XupperII」を、該「XupperII」が持つリポジトリ(システム専用のデータベース)に対してソースコードの生成に必要なデータを付加することにより、上流工程から下流工程までをブリッジ及び人手を介することなく自動的に行なう構成とする。   In order to achieve the above object, the present invention adds “XupperII” from the upstream process by adding data necessary for generating source code to the repository (system-dedicated database) possessed by “XupperII”. The downstream process is automatically performed without using a bridge and manpower.

具体的に、本発明に係るシステム設計支援プログラムは、データ中心アプローチ手法を用いたシステム設計支援プログラムを対象とし、コンピュータに、入力された業務フローを複数のプロセスに階層化する機能Aと、各プロセスに用いる複数のエンティティと、該エンティティ同士の互いの関連を表わすエンティティ関連図を作成する機能Bと、各プロセスに必要な入出力データ及び各エンティティのフィールドデータを保持するディクショナリを作成する機能Cと、エンティティ関連図及びディクショナリを参照して、グラフィカルユーザインタフェース設計を行なう機能Dと、各プロセスにおける階層化データ、各
エンティティの属性データ、ディクショナリ及びグラフィカルユーザインタフェース設計に関するデータをそれぞれ登録してリポジトリを作成する機能Eと、各プロセス、各エンティティ、ディクショナリに保持されたデータ及びグラフィカルユーザインタフェース設計に関するデータのうちの少なくとも1つを参照し、且つ、外部から各プロセスを実行可能とするロジック定義を入力することにより、ソースコードを自動生成して出力する機能Fとを実現させ、前記機能Fは、ロジック定義を入力する際にSQL構文を用いており、ロジック定義を入力する際に、入力されたロジック定義がSQL構文に定義されている場合はウィザードによる対話形式を用いる一方、入力されたロジック定義がSQL構文に定義されていない場合は、定義されていないロジック定義を直接に入力してリポジトリに登録する機能を含むことが好ましい。
Specifically, a system design support program according to the present invention is directed to a system design support program using a data-centric approach, and includes a function A for hierarchizing an input business flow into a plurality of processes, A function B for creating a plurality of entities used in a process, an entity relation diagram representing the relationship between the entities, and a function C for creating a dictionary holding input / output data necessary for each process and field data of each entity Referring to entity relationship diagrams and dictionaries, register function D for graphical user interface design, layered data for each process, attribute data for each entity, dictionary and data for graphical user interface design. A function E for creating a repository and logic for referring to at least one of each process, each entity, data held in a dictionary and data related to a graphical user interface design, and enabling each process to be executed from the outside By inputting the definition, the function F for automatically generating and outputting the source code is realized. The function F uses the SQL syntax when inputting the logic definition, and when inputting the logic definition, When the input logic definition is defined in the SQL syntax, the interactive form by the wizard is used. On the other hand, when the input logic definition is not defined in the SQL syntax, the undefined logic definition is directly input. It is preferable to include a function for registering in the repository.

本発明のシステム設計支援プログラムによると、「XupperII」の機能に相当する機能A、B、C、D及びEを有しているため、各プロセス、各エンティティ、ディクショナリに保持されたデータ及びグラフィカルユーザインタフェース設計に関するデータのうちの少なくとも1つを参照し、且つ外部から各プロセスを実行可能とするロジック定義を入力することにより、ソースコードを自動生成して出力することができる。   According to the system design support program of the present invention, since it has the functions A, B, C, D and E corresponding to the functions of “Xupper II”, the data held in each process, each entity, dictionary, and the graphical user By referring to at least one of the data related to the interface design and inputting a logic definition that allows each process to be executed from the outside, the source code can be automatically generated and output.

本発明のシステム設計支援プログラムにおいて、ソースコードには、Java言語(登録商標)、高速機関Procedure言語又はBizCRS言語を用いることができる。   In the system design support program of the present invention, the Java language (registered trademark), the high-speed engine Procedure language, or the BizCRS language can be used as the source code.

本発明のシステム設計支援プログラムにおいて、機能Fにおけるソースコードは、各プロセスごとに該プロセスを実行するファンクションを有し、機能Fは、ファンクションにおいて、ロジック定義を展開するロジック文の構成要素を、それぞれがソースコードの骨組みである複数のスケルトンにより構成する機能と、複数のスケルトンを、スケルトンロジック部と、置換文字列別生成ロジック部と、ユーザポイント別生成ロジック部とに分解する機能と、分解された置換文字列別生成ロジック部を、リポジトリに登録されたデータのうち置換文字列別生成ロジック部と対応するデータと置換する機能と、分解されたユーザポイント別生成ロジック部を、入力されたロジック定義と置換する機能とを含むことが好ましい。   In the system design support program of the present invention, the source code in the function F has a function for executing the process for each process, and the function F includes the components of the logic statement for expanding the logic definition in the function, respectively. Is composed of a plurality of skeletons that are the source code framework, a function that decomposes a plurality of skeletons into a skeleton logic part, a generation logic part for each replacement character string, and a generation logic part for each user point. The function that replaces the generation logic part for each replacement character string with the data corresponding to the generation logic part for each replacement character string in the data registered in the repository, and the input logic for the generated generation logic part for each user point that has been disassembled It preferably includes a definition and a function to replace.

この場合に、機能Fは、外部からスケルトンロジック部を書き換え可能とする機能を含むことが好ましい。   In this case, the function F preferably includes a function that enables the skeleton logic unit to be rewritten from the outside.

本発明のシステム設計支援プログラムは、自動生成されないソースコードをあらかじめマクロファンクションとしてリポジトリに登録する機能Gをさらに備え、機能Fは、ソースコードを自動生成する際に、リポジトリに登録されたマクロファンションをソースコードに展開する機能を含むことが好ましい。 System design support program of the present invention further includes a function G to register repository source code that is not automatically generated in advance as a macro function, function F, when automatically generating a source code, the macro fan click registered in the repository It is preferable to include a function of expanding the application into source code.

本発明のシステム設計支援プログラムにおいて、機能Cは、各エンティティのフィールドデータにおけるデータ型を、ディクショナリにソースコードの言語種別に応じて第1のマスタファイルとして保持することが好ましい。   In the system design support program of the present invention, the function C preferably stores the data type of the field data of each entity in the dictionary as the first master file according to the language type of the source code.

この場合に、機能Cは、各エンティティのフィールドデータ同士の間で実行されるデータの代入、演算、比較及び呼び出しパラメータの照合のうちの少なくとも1つの処理を行なう際に、行なう処理ごとの妥当性を判定するコードをディクショナリに第2のマスタファイルとして保持する機能を含むことが好ましい。   In this case, when the function C performs at least one of data substitution, calculation, comparison, and call parameter matching executed between field data of each entity, the validity of each process to be performed It is preferable to include a function of holding a code for determining the second master file in the dictionary.

また、データ型を第1のマスタファイル化する場合に、機能Cは、各エンティティのフィールドデータ同士の間で実行されるデータの代入、比較及び呼び出しパラメータの照合のうちの少なくとも1つの処理を行なう際に、行なった処理の結果の出力条件ごとの妥当性を判定するコードをディクショナリに第3のマスタファイルとして保持する機能を含むことが好ましい。   Further, when the data type is converted to the first master file, the function C performs at least one of data assignment, comparison, and call parameter matching performed between field data of each entity. At this time, it is preferable to include a function of holding, as a third master file, a code for determining the validity of each output condition as a result of the processing performed.

また、データ型を第1のマスタファイル化する場合に、機能Cは、各エンティティのフィールドデータ同士の間で実行されるデータの代入文、条件文、演算文及びパラメータの照合のうちの少なくとも1つの処理を行なう際に、行なう処理と対応するソースコードごとの生成ルールをディクショナリに第4のマスタファイルとして保持する機能を含むことが好ましい。   Further, when the data type is converted to the first master file, the function C is at least one of the data assignment statement, the conditional statement, the operation statement, and the parameter matching executed between the field data of each entity. When performing one process, it is preferable to include a function of holding a generation rule for each source code corresponding to the process to be performed as a fourth master file in the dictionary.

本発明のシステム設計支援プログラムにおいて、機能Eは、グラフィカルユーザインタフェース設計に用いるコントロールコマンドにおけるプロパティ、メソッド及びイベントをソースコードに依存しない設計用コントロールコマンドとしてリポジトリに登録する機能を含み、機能Fは、プロパティ、メソッド及びイベントを、設計用コントロールコマンドと、各エンティティのフィールドデータのデータ型と、ソースコードの種別とに基づいて、ソースコードと対応したグラフィカルユーザインタフェースを生成する機能を含むことが好ましい。 In the system design support program of the present invention, the function E includes a function for registering properties, methods, and events in a control command used for graphical user interface design in the repository as a design control command independent of the source code. Preferably, the function, method, and event include a function for generating a graphical user interface corresponding to the source code based on the design control command, the data type of the field data of each entity, and the type of the source code.

本発明のシステム設計支援プログラムにおいて、機能Eは、グラフィカルユーザインタフェース設計に用いるコントロールコマンドの戻り値をパネル変数としてリポジトリに登録する機能を含み、機能Fは、パネル変数をソースコードに依存しない論理メソッドを発行して取得し、取得したパネル変数をソースコードに展開する機能を含むことが好ましい。 In the system design support program of the present invention, the function E includes a function for registering the return value of the control command used for the graphical user interface design in the repository as a panel variable, and the function F is a logical method that does not depend on the source code. It is preferable to include a function for acquiring and issuing panel variables and expanding the acquired panel variables into source code.

本発明のシステム設計支援プログラムにおいて、機能Eは、グラフィカルユーザインタフェース設計に用い、種別が同一で複数のコントロールコマンドに参照される各パネル変数をグループ化してリポジトリに登録する機能を含み、機能Fは、複数のコントロールコマンドを、グループ化されたパネル変数ごとに一のコマンドを発行する一括コマンドに変換する機能と、一括コマンドを発行することにより、対応するパネル変数を取得し、取得したパネル変数をその括られた個数だけソースコードに展開する機能を含むことが好ましい。 In the system design support program of the present invention, the function E is used for designing a graphical user interface, and includes a function for grouping and registering each panel variable of the same type and referred to by a plurality of control commands in the repository. , The function to convert multiple control commands into a batch command that issues one command for each grouped panel variable, and by issuing a batch command, the corresponding panel variable is acquired, and the acquired panel variable It is preferable to include a function of developing the source code as many as the bundled number.

本発明のシステム設計支援プログラムにおいて、機能Eは、各プロセスに固有の定義情報を共通化した共通マクロ命令をリポジトリに登録する機能を含み、機能Fは、ソースコードを生成する際に、ロジック定義が共通マクロ命令を参照する機能を含むことが好ましい。 In the system design support program of the present invention, the function E includes a function of registering a common macro instruction in which common definition information unique to each process is registered in the repository , and the function F is a logic definition when generating source code. Preferably include a function for referring to the common macro instruction.

本発明に係るシステム設計支援プログラムによると、上流設計用ツールである「XupperII」を用いて、下流工程であるプログラム開発をブリッジ及び人手を介することなく自動的に行なえるようになる。   According to the system design support program of the present invention, the upstream design tool “Xupper II” can be used to automatically perform the program development, which is a downstream process, without using a bridge and a manpower.

(第1の実施形態)
本発明の第1の実施形態について図面を参照しながら説明する。
(First embodiment)
A first embodiment of the present invention will be described with reference to the drawings.

図1は本発明の第1の実施形態に係るシステム設計支援プログラムのブロック構成を示している。ここでは、システム設計支援プログラムは、それが実行されるコンピュータ(ハードウェア)には依存しないため、ハードウェア構成は省略する。   FIG. 1 shows a block configuration of a system design support program according to the first embodiment of the present invention. Here, since the system design support program does not depend on the computer (hardware) on which it is executed, the hardware configuration is omitted.

図1に示すように、第1の実施形態に係るシステム設計支援プログラムは、上流設計用ツールであってデータ中心アプローチ(DOA)手法を用いる「XupperII」10と、該「XupperII」10が生成、更新及び参照を行なう第1のリポジトリ11と、該第1のリポジトリ11及びその拡張部である第2のリポジトリ21に対して生成、更新及び参照を行ない、開発対象であるプログラムのソースコードを自動生成する下流設計用ツールである「MDFrame/X(エムディーフレーム・エックス)」20とから構成されている。以下、第1のリポジトリ11及び第2のリポジトリ21を統合リポジトリ30と呼ぶ。   As shown in FIG. 1, the system design support program according to the first embodiment generates an “XupperII” 10 that is an upstream design tool and uses a data-centered approach (DOA) method, and the “XupperII” 10 Generate, update, and refer to the first repository 11 that performs update and reference, and the second repository 21 that is an extension of the first repository 11 and automatically source code of the program to be developed “MDFrame / X” 20 which is a downstream design tool to be generated. Hereinafter, the first repository 11 and the second repository 21 are referred to as an integrated repository 30.

第2のリポジトリ21にはソースコードの生成に必要なデータが格納されており、「MDFrame/X」20は、統合リポジトリ30を1つのモデルとして捕らえる。   Data necessary for generating source code is stored in the second repository 21, and “MDFrame / X” 20 captures the integrated repository 30 as one model.

すべての情報(データ)はこのモデルに対して設定され、稼働環境はこのモデルから生成されたソースコードによって実装(インプリメント)される。その結果、「MDFrame/X」20を用いることにより、モデルと実装環境との乖離がなくなるため、いわゆるモデルドリブンの開発環境を得ることができる。   All information (data) is set for this model, and the operating environment is implemented (implemented) by the source code generated from this model. As a result, the use of “MDFrame / X” 20 eliminates the difference between the model and the mounting environment, so that a so-called model-driven development environment can be obtained.

「MDFrame/X」20は、第1のリポジトリ11に格納されているデータのうち、以下の各情報をブリッジ等を介することなく直接に参照する。   The “MDFrame / X” 20 refers directly to the following information among the data stored in the first repository 11 without using a bridge or the like.

1)プロセスの階層及び最下層プロセス等を含むプロセス情報
2)識別子、属性項目及びエンティティ同士の関連情報等を含むエンティティ情報
3)ドメインフィールド、コンディション及びフィールド等を含むディクショナリ情報
4)グラフィカルユーザインタフェース(GUI:Graphical User Interface)の画面レイアウト等を含むGUIデバイスの設計情報
さらに、「MDFrame/X」20は、第1のリポジトリ11に含まれるディクショナリに対して、追加編集を直接に行なうことができる。
1) Process information including process hierarchy and lowest layer process 2) Entity information including identifiers, attribute items and related information between entities 3) Dictionary information including domain fields, conditions and fields 4) Graphical user interface ( GUI Device Design Information Including GUI (Graphical User Interface) Screen Layout Further, “MDFrame / X” 20 can directly perform additional editing on the dictionary included in the first repository 11.

第1の実施形態に係るシステム設計支援プログラムは、コンピュータに、入力された業務フローを複数のプロセスに階層化する機能と、記各プロセスに用いる複数のエンティティと、該エンティティ同士の関連を表わすエンティティ関連図を作成する機能と、各プロセスに必要な入出力データ及び各エンティティのフィールドデータを保持するディクショナリを作成する機能と、エンティティ関連図及びディクショナリを参照して、GUI設計を行なう機能と、各プロセスにおける階層化データ、各エンティティの属性データ、ディクショナリ及びGUI設計に関するデータをそれぞれ登録して第1のリポジトリを作成する機能と、各プロセス、各エンティティ、ディクショナリに保持されたデータ及びGUI設計に関するデータを参照し、且つ、外部から各プロセスを実行可能とするロジック定義を入力することにより、ソースコードを自動生成して出力する機能とを実現させる。   The system design support program according to the first embodiment includes a function for hierarchizing an input business flow into a plurality of processes on a computer, a plurality of entities used for each process, and an entity representing a relationship between the entities. A function for creating a relation diagram, a function for creating a dictionary that holds input / output data necessary for each process and field data of each entity, a function for performing GUI design with reference to the entity relation diagram and the dictionary, Layered data in the process, attribute data of each entity, dictionary and GUI design data are registered to create a first repository, and each process, each entity, data held in the dictionary and GUI design data Refer to One, by inputting the logic definitions that can execute the respective processes from the outside, to realize a function to output the automatically generated source code.

図2は第1の実施形態に係るシステム設計支援プログラムにおける「MDFrame/X」20が生成可能なソースコードの一例を示す。図2に示すように、少なくとも、BizCRSファイル31、Javaソース32及び高速機関Procedureソース33のいずれか1つのソースコードを生成可能である。なお、周知のように、BizCRSファイル31は、スクリプト言語であるため、コンパイルは不要である。   FIG. 2 shows an example of source code that can be generated by the “MDFrame / X” 20 in the system design support program according to the first embodiment. As shown in FIG. 2, at least one source code of the BizCRS file 31, the Java source 32, and the high-speed engine procedure source 33 can be generated. As is well known, since the BizCRS file 31 is a script language, no compilation is necessary.

以下、「MDFrame/X」におけるソースコードの自動生成の具体例について図面を参照しながら説明する。   Hereinafter, a specific example of automatic source code generation in “MDFrame / X” will be described with reference to the drawings.

「MDFrame/X」は、所定のファンクション(プログラム関数)を生成する場合に、ソースコードの骨組みである「スケルトン」、「ユーザーポイントロジック単位の生成ソース」及び「置き換え文字列単位の生成ソース」を合成することによって、完全なソースコードの自動生成を実現する。   When “MDFrame / X” generates a predetermined function (program function), “skeleton”, “user point logic unit generation source” and “replacement string unit generation source” which are the framework of the source code are By synthesizing, automatic generation of complete source code is realized.

図3にスケルトンの具体例を示す。スケルトンとは、ファンクションパターンごとに対応して設定されたスケルトン文字列をいう。また、スケルトンは、ファンクションに依存しない固定された生成内容と、生成内容が変動する部分を示す置き換え文字列とから構成される。   FIG. 3 shows a specific example of the skeleton. A skeleton is a skeleton character string set corresponding to each function pattern. The skeleton is composed of a fixed generation content that does not depend on a function and a replacement character string that indicates a portion where the generation content varies.

置き換え文字列は、後述する「ユーザーポイントロジック」を埋め込む場合と、「置き換え文字列単位の生成ロジック」を埋め込む場合との2種類がある。   There are two types of replacement character strings: a case where “user point logic” described later is embedded and a case where “generation logic for each replacement character string” is embedded.

ユーザーポイントロジック用の置き換え文字列には、例えば、図3の下から3行目に記述された<%# USER_POINT CD:U60_Main #%>が相当する。   The replacement character string for user point logic corresponds to, for example, <% # USER_POINT CD: U60_Main #%> described in the third line from the bottom in FIG.

置き換え文字列単位の生成ロジック用の置き換え文字列には、例えば、図3の1行目に記述された<%# Java_PackageName #%>及び8行目の<%# Java_ImportPackageList #%>等が相当する。このImportPackageListを含むスケルトンは、該当ファンクションが呼び出しているファンクション等のインポート文を生成することを指定する。   For example, <% # Java_PackageName #%> described in the first line of FIG. 3 and <% # Java_ImportPackageList #%> described in the eighth line correspond to the replacement character string for the generation logic of the replacement character string unit. . The skeleton including this ImportPackageList specifies that an import statement such as a function called by the corresponding function is generated.

ユーザーポイントロジックは、実際のファンクションにおいては、ファンクションパターンに設定されているユーザーポイントに対するアクションダイアグラム記述による論理コーディングが行なわれ、コーディングされた内容をソースコードに変換した文字列を意味する。また、置き換え文字列単位の生成ロジックは、実際のファンクションにおいては、ロジックコーディングを行なうことなく、パラメータ等が設定された統合リポジトリの情報を参照することによって生成された文字列を意味する。   In an actual function, the user point logic means a character string obtained by performing logical coding by action diagram description for a user point set in a function pattern and converting the coded contents into a source code. The replacement character string generation logic means a character string generated by referring to information of the integrated repository in which parameters and the like are set without performing logic coding in an actual function.

図4に図3に示したスケルトンのソースコードの生成結果を示す。図4において、例えば、図3の1行目に記述された<%# Java_PackageName #%>はdemo.tranに置き換えられ、図3の下から3行目に記述された<%# USER_POINT CD:U60_Main #%>は、下から4行目に記述された、my_jyutyuuUpdate_i=new jyutyuuUpdate_i()等に置き換えられていることが分かる。   FIG. 4 shows the generation result of the skeleton source code shown in FIG. In FIG. 4, for example, <% # Java_PackageName #%> described in the first line of FIG. 3 is replaced with demo.tran, and <% # USER_POINT CD: U60_Main described in the third line from the bottom of FIG. It can be seen that #%> is replaced with my_juyuyuUpdate_i = new juyuyuUpdate_i () described in the fourth line from the bottom.

図5は、図3から図4の処理を実行する際のデータ構造を表わしたエンティティ関連図(ERD:Entity Relation Diagram)である。図5において、図3に示したスケルトンは、図1に示した第2のリポジトリ21の「XE_スケルトン.FUNスケルトン」に格納されている。ファンクションは「XE_ファンクション」ごとに作成されるため、対応するスケルトンがソースコードの生成時に参照されることが分かる。   FIG. 5 is an entity relation diagram (ERD) showing a data structure when the processes of FIGS. 3 to 4 are executed. 5, the skeleton shown in FIG. 3 is stored in “XE_skeleton.FUN skeleton” of the second repository 21 shown in FIG. Since the function is created for each “XE_function”, it can be seen that the corresponding skeleton is referred to when generating the source code.

このように、第1の実施形態によると、スケルトンに直接に記述されている内容については、人手によるメンテナンス作業は不要であり、第1の実施形態に係るソース生成機能を修正する必要はない。   Thus, according to the first embodiment, manual maintenance work is not necessary for the contents directly described in the skeleton, and there is no need to modify the source generation function according to the first embodiment.

(第1の実施形態の一変形例)
以下、第1の実施形態の一変形例を説明する。
(One modification of the first embodiment)
Hereinafter, a modification of the first embodiment will be described.

ファンクションのソースコードを自動生成する際には、ユーザの稼働環境又はプロジェクトに依存するコード(記述)が必要となる。例えば、図3の7行目に記述したデータベース接続情報の取得方法及びその12行目に記述したログファイルの書き出し方法等がそれに相当する。   When function source code is automatically generated, code (description) that depends on the user's operating environment or project is required. For example, the database connection information acquisition method described in the seventh line in FIG. 3 and the log file writing method described in the twelfth line correspond thereto.

このようなユーザの稼動環境等に依存する記述は、CASEツール自体の機能に取り込むか又は該CASEツールをカスタマイズすることによって対応する必要があるが、これらの方法を用いても、すべての要求に対応することは困難である。   Such a description depending on the operating environment of the user needs to be taken into the function of the CASE tool itself or customized by customizing the CASE tool. It is difficult to respond.

そこで、自動生成されるソースコードにユーザが指定した内容を容易に反映する機構が必要となる。   Therefore, a mechanism that easily reflects the contents specified by the user in the automatically generated source code is required.

本変形例においては、図3に示したスケルトンにおける、例えば2、3、6及び7行目のようなファンクションに依存しない固定された部分について、稼動環境等に依存する要素に対するユーザカスタマイズを行なえるようにしている。このように、管理者によるメンテナンス作業を可能とすることにより、「MDFrame/X」によるソース生成機能を何ら変更するこことなく、ユーザに依存したコードを動的に反映させることが可能となる。   In the present modification, user customization can be performed on elements that depend on the operating environment, etc., for the fixed part that does not depend on the function, such as the second, third, sixth, and seventh lines in the skeleton shown in FIG. I am doing so. As described above, by enabling the maintenance work by the administrator, it is possible to dynamically reflect the user-dependent code without changing the source generation function by “MDFrame / X”.

(第2の実施形態)
以下、本発明の第2の実施形態に係るシステム設計支援プログラムについて図面を参照しながら説明する。
(Second Embodiment)
The system design support program according to the second embodiment of the present invention will be described below with reference to the drawings.

リレーショナルデータベースを対象としたデータベース照会言語であるSQLを用いる場合に、該SQL定義は、直接に文字入力されたコードをプログラムのソースコード中に埋め込む方法が一般的である。   When SQL, which is a database query language for a relational database, is used, the SQL definition is generally a method of embedding directly entered character code in a program source code.

本発明に係る「MDFrame/X」は、SQL定義自体を独立したオブジェクトとして管理している。また、構文エラーを回避したり、SQL定義を変更した場合にプログラムの他の部分におよぶ影響の分析を容易にしたりするために、ウィザード形式で登録した結果を第2のリポジトリに格納している。   “MDFrame / X” according to the present invention manages the SQL definition itself as an independent object. In addition, in order to avoid syntax errors and to make it easier to analyze the impact on other parts of the program when the SQL definition is changed, the results registered in the wizard format are stored in the second repository. .

図6にSQL定義に関するテーブル(ERD)の一例を示す。図6において、左上に位置する「XE_DLCP」がSQL定義の一単位に相当する。   FIG. 6 shows an example of a table (ERD) relating to the SQL definition. In FIG. 6, “XE_DLCP” located in the upper left corresponds to one unit of SQL definition.

ところが、「MDFrame/X」は、SQL92/99のすべての構文に対してウィザードとリポジトリとを対応させているわけではない。SQL92/99が対象とする構文は多種多様であり、これらすべてにウィザードを対応させることは実質的に不可能であると共に非効率でもあるため、一般に使用頻度が高いSQL構文のみをウィザードの対象としている。   However, “MDFrame / X” does not correspond wizards and repositories to all the syntax of SQL92 / 99. There are a wide variety of syntaxes that SQL92 / 99 targets, and it is virtually impossible and inefficient to make wizards compatible with all of them. Therefore, only frequently used SQL syntaxes are generally targeted for wizards. Yes.

しかしながら、使用頻度は低いにもかかわらず、SQLの実行効率に大きく影響する構文も存在する。このため、使用頻度が低く且つ重要なSQL定義を一律に管理対象外とすることは、システム開発作業における生産性という観点からも好ましくない。   However, there is also a syntax that greatly affects the execution efficiency of SQL despite its low frequency of use. For this reason, it is not preferable from the viewpoint of productivity in system development work to uniformly exclude important SQL definitions that are used infrequently and are not subject to management.

そこで、第2の実施形態においては、ウィザードの対象としていない構文については、直接に入力したSQL文をあらかじめ第2のリポジトリに登録しておき、ソースコードの生成時に参照することにより対応可能としている。   Therefore, in the second embodiment, the syntax that is not the object of the wizard can be handled by registering the directly input SQL sentence in the second repository in advance and referring to it when generating the source code. .

「MDFrame/X」は、SQLを基本的に「所定の値を受け取って、SQLを発行し、所定の値を返す」ための一部品としている。このため、受け取る情報と返す情報とに関して、通常のSQLと同様にウィザードを用いて定義を行なう必要はあるものの、発行するSQLについては、ウィザードの制限に縛られることなく任意の構文を使用することが可能となる。   “MDFrame / X” basically uses SQL as one component for “receiving a predetermined value, issuing an SQL, and returning a predetermined value”. For this reason, it is necessary to define the information to be received and the information to be returned by using a wizard as in normal SQL, but for the SQL to be issued, use any syntax without being bound by the limitations of the wizard. Is possible.

また、SQL定義を直接に入力する場合にも、SQL定義文のすべてを直接に入力する場合と、その一部分を直接に入力する場合との2段階に分けることによって、直接入力する対象範囲を最小限に留めている。   In addition, when the SQL definition is directly input, the target range to be directly input can be minimized by dividing the SQL definition sentence into two stages: directly inputting all of the SQL definition sentences and directly inputting a part thereof. It is limited.

図7に直接に入力したSQL定義に関する情報を格納したテーブル(ERD)の一例を示す。図7に示すように、「XE_生成部分SQL」以外のエンティティについては、通常のウィザードによる場合と同様の設定が行なわれることが分かる。すなわち、SQL定義を直接に入力した場合は、その結果が「XE_生成部分SQL」に保持され、一方、ウィザードによって入力した場合は、その結果をSQLにより生成された内容が格納される。   FIG. 7 shows an example of a table (ERD) that stores information relating to the SQL definition that is directly input. As shown in FIG. 7, it can be seen that the same setting as in the case of the normal wizard is performed for entities other than “XE_generated part SQL”. In other words, when the SQL definition is directly input, the result is held in the “XE_generation part SQL”, whereas when it is input by the wizard, the content generated by the SQL is stored.

ここで、「XE_生成部分SQL」の各項目を説明する。   Here, each item of “XE_generation part SQL” will be described.

「DLCPSGT」は、SQLを一意に識別する管理番号を示す。   “DLCPSGT” indicates a management number for uniquely identifying SQL.

「論理/物理種別ST」は、格納される情報が論理SQLか物理SQLかを識別する符号(ST:ステータス)である。例えば、論理SQLを1とし、物理SQLを2とする。なお、論理SQLはSQL定義の確認を行なうためのSQLであって、実際のソースを生成する対象ではない。   “Logical / physical type ST” is a code (ST: status) for identifying whether stored information is logical SQL or physical SQL. For example, the logical SQL is 1 and the physical SQL is 2. The logical SQL is SQL for confirming the SQL definition, and is not a target for generating an actual source.

「SQL部分種別ST」は、格納される情報がSQLのどの部分に相当するのかを識別する符号である。例えば、SQL全体を0とし、Select句を1とし、From句を2とし、Where句を3とし、OrderBy句を4とし、GroupBy句を5とし、Hving句を6とし、Set句を7とし、InsertInto句を8とし、Values句を9とする。   “SQL part type ST” is a code for identifying which part of SQL the stored information corresponds to. For example, the entire SQL is 0, the Select phrase is 1, the From phrase is 2, the Where phrase is 3, the OrderBy phrase is 4, the GroupBy phrase is 5, the Hving phrase is 6, the Set phrase is 7, The InsertInto phrase is set to 8, and the Values phrase is set to 9.

「生成部分SQL」は、直接に入力されたSQL文又は第2のリポジトリに格納された情報から自動生成されたSQL文が格納される。   In the “generated part SQL”, an SQL sentence that is directly input or an SQL sentence that is automatically generated from information stored in the second repository is stored.

「SQL直接入力識別ST」は、「生成部分SQL」(図示せず)に格納された値が、直接に入力されたコードか、ウィザードを介してSQL定義から自動生成されたコードかを識別する符号である。   “SQL Direct Input Identification ST” identifies whether the value stored in “Generated Part SQL” (not shown) is a directly input code or a code automatically generated from an SQL definition via a wizard. Sign.

[表1]及び[表2]に、テーブルに格納される一例を示す。   [Table 1] and [Table 2] show examples stored in the table.

ここでは、1つの「DLCPSGT」により識別されるSQLで且つ物理SQLがどのように格納されるかを検索型のSQL定義を用いて説明する。   Here, how the physical SQL is stored in the SQL identified by one “DLCPSGT” will be described using a search-type SQL definition.

検索型の場合、パートには「SQL全体」、「Select句」、「From句」、「Where句」、「OrderBy句」、「GroupBy句」及び「Having句」の7種類がある。   In the case of the search type, there are seven types of parts: “entire SQL”, “Select phrase”, “From phrase”, “Where phrase”, “OrderBy phrase”, “GroupBy phrase”, and “Having phrase”.

(1)「SQL全体」を直接に入力した場合   (1) When “SQL total” is entered directly

この場合、「SQL全体」に対して入力された内容がそのままプログラムの生成時にソースコードに埋め込まれる。   In this case, the content input for “entire SQL” is embedded in the source code as it is when the program is generated.

(2)「Where句」及び「OrderBy句」を直接に入力した場合   (2) When “Where clause” and “OrderBy clause” are directly input

この場合、プログラムの生成時には、各パートの値がソースコードに埋め込まれる。また、各パートの値は、生成されたソースプログラムのロジックによって合成された後で発行される。   In this case, the value of each part is embedded in the source code when the program is generated. The values of each part are issued after being synthesized by the logic of the generated source program.

(第3の実施形態)
以下、本発明の第3の実施形態に係るシステム設計支援プログラムについて図面を参照しながら説明する。
(Third embodiment)
The system design support program according to the third embodiment of the present invention will be described below with reference to the drawings.

前述したように、「MDFrame/X」は、各ファンクションに対して設定するロジックを、論理的なアクションダイアグラムとしてウィザード形式で入力させることによって属人性を排し、理解が容易で且つ入力ミスを防止したロジックの構築が可能となる。   As mentioned above, “MDFrame / X” eliminates personality by allowing the logic set for each function to be entered as a logical action diagram in the form of a wizard, which makes it easy to understand and prevents input errors. Can be constructed.

しかしながら、ソースコードを生成するプログラム言語のすべての命令セットを網羅することは困難である。   However, it is difficult to cover all the instruction sets of the programming language that generates the source code.

例えば、アプリケーションプログラムインタフェース(API:Application Program Interface)を呼び出すロジック等の記述を行なう場合には、ソースコードの自動生成を行なった後で、生成されたソースコードを手作業で修正する必要が生じる場合がある。但し、この場合に再度ソースコードの生成を実行すると、手作業で行なった修正内容は上書きされて消失してしまう。これでは、統合リポジトリに登録されたデータと稼動しているプログラムとの間に乖離が生じてしまう。   For example, when logic such as an application program interface (API) is described, it is necessary to manually modify the generated source code after automatically generating the source code. There is. However, if the source code is generated again in this case, the manual correction contents are overwritten and lost. This causes a discrepancy between the data registered in the integrated repository and the running program.

そこで、第3の実施形態においては、生成対象であるプログラム言語による必要なソースコード(Nativeコード)を記述してマクロファンクションとして第2のリポジトリに登録し、登録されたマクロファンクションを部品として扱えるようにする。   Therefore, in the third embodiment, necessary source code (Native code) in the programming language to be generated is described and registered as a macro function in the second repository so that the registered macro function can be handled as a component. To.

例えば、ソースコードを自動生成した後に、手作業で修正が必要な事項をあらかじめマクロファンクションとして部品化し、第2のリポジトリに登録しておく。ソースコードの生成時には、部品化されたマクロファンクションを参照してソースコードを生成することにより、アクションダイアグラムが対応していない命令(コマンド)を生成後のソースに展開する。   For example, after the source code is automatically generated, items that require manual correction are converted into parts as macro functions in advance and registered in the second repository. At the time of generating the source code, the source code is generated with reference to the componentized macro function, so that an instruction (command) that does not correspond to the action diagram is expanded to the generated source.

図8に第2のリポジトリに格納されたマクロファンクションのERDの一例を示す。図8はファンクション定義のうちのマクロファンクションに関係する部分の抜粋である。図8において、「XE_DLCP」、「XE_BPTBL」及び「XE_ファンクション」はそれぞれ1対1の関係にあり、ファンクションの一単位となる。   FIG. 8 shows an example of the ERD of the macro function stored in the second repository. FIG. 8 is an excerpt of a portion related to a macro function in the function definition. In FIG. 8, “XE_DLCP”, “XE_BPTBL”, and “XE_function” have a one-to-one relationship, and are a unit of function.

ファンクションに対して、「XE_ファンクション内変数」は該ファンクションが持つ変数を示す。この変数は入力、出力及びローカルの3種類が存在し、第3の実施形態に係るマクロファンクションはこのうちの入力と出力とを対象とする。   For a function, “XE_function variable” indicates a variable of the function. There are three types of variables, input, output, and local, and the macro function according to the third embodiment targets inputs and outputs.

「XE_ロジック行」は、ファンクションに設定したアクションダイアグラムの1行ごとの情報に相当する。この「XE_ロジック行」に対して各命令を登録することにより、ファンクションのロジックが完成する。   The “XE_logic line” corresponds to information for each line of the action diagram set in the function. By registering each instruction in the “XE_logic line”, the logic of the function is completed.

マクロファンクションはそれ自体で生成されることはなく、あくまでマクロファンクションを呼び出す他のファンクションの一部のソースコードとして取り込まれることによって所定のソースコードに展開される。   The macro function is not generated by itself, but is expanded into a predetermined source code by being taken in as a part of the source code of another function that calls the macro function.

図9は、あるファンクションにロジックを入力した様子を示している。図9に示すように、ロジック定義はアクションダイアグラム表記として入力され、各行が「XE_ロジック行」に対応する。例えば、図9の12行目の「CALL B_MACRO:C001_配列要素数取得(文字列)」が本実施形態のマクロファンクションを呼び出す記述である。この場合、図8に示したERD中の「XE_ロジック行」に対して、「XE_呼出」のデータが作成され、呼び出し先のマクロファンクションが特定される。その後、呼出先のマクロファンクションにおける「XE_ファンクション内変数」と、自身のファンクションにおける「XE_ファンクション内変数」との間で、マッピング(対照)定義を行なった結果が「XE_パラメータマッピング」に格納される。   FIG. 9 shows a state in which logic is input to a certain function. As shown in FIG. 9, the logic definition is input as an action diagram notation, and each line corresponds to an “XE_logic line”. For example, “CALL B_MACRO: C001_array element number acquisition (character string)” on line 12 in FIG. 9 is a description for calling the macro function of this embodiment. In this case, “XE_call” data is created for the “XE_logic line” in the ERD shown in FIG. 8, and the callee macrofunction is specified. After that, the result of mapping (contrast) definition between “XE_function variable” in the called macro function and “XE_function variable” in its own function is stored in “XE_parameter mapping”. .

図10に図9の12行目に記述されたマクロファンクションを呼び出す行と対応したウィザードを示す。図10においては、「XE_呼出」を作成するために、呼出先ファンクションを特定している。   FIG. 10 shows a wizard corresponding to the line for calling the macro function described in the twelfth line of FIG. In FIG. 10, a call destination function is specified to create “XE_call”.

図11に図10のウィザードにおいて「次へ(F9)」のボタンが押下された後に表示されるウイザードを示す。図11に示すように、呼出先のマクロファンクションの「XE_ファンクション内変数」をパラメータとして表示し、これに対して自身のファンクションの変数をマッピングすることによって、「XE_パラメータマッピング」を作成する。   FIG. 11 shows a wizard displayed after the “Next (F9)” button is pressed in the wizard of FIG. As shown in FIG. 11, “XE_parameter mapping” is created by displaying “XE_function variable” of the macro function of the callee as a parameter and mapping the variable of its own function to this.

次に、呼び出される側のマクロファンクションに関する定義について説明する。呼び出されるマクロファンクションもファンクションとしては「XEDLCP」、「XE_BP」及び「XE_ファンクション」を一単位として作成される。また、図11に示した呼出のパラメータマッピングのイメージからも分かるように、この例では入力パラメータとして「MD_配列項目」を持ち、出力パラメータとして「MD_配列要素数」を持つ。   Next, the definition related to the called macro function will be described. Macro functions to be called are also created with “XEDLCP”, “XE_BP”, and “XE_function” as a unit. Further, as can be seen from the image of the parameter mapping of the call shown in FIG. 11, this example has “MD_array item” as an input parameter and “MD_array element number” as an output parameter.

次に、図12にマクロの実体を記述するためのNative文を受け付けるウイザードを示す。これは、図12の左上のアクションダイアグラムにおける3行目の「Native MD_配列要素数取得(Java)」と対応する画面イメージである。このウイザードから入力されたデータは、図8のERDに示すように、「XE_ロジック行」を介して「XE_Native&コメント」及び「XE_Nativeインポート文(JAVA)」にそれぞれ格納されます。但し、ここではインポート文を使用していないため、「XE_Nativeインポート文(JAVA)」にはデータは格納されることはない。   Next, FIG. 12 shows a wizard for accepting a Native statement for describing a macro entity. This is a screen image corresponding to “Native MD_array element number acquisition (Java)” on the third line in the action diagram in the upper left of FIG. The data input from this wizard is stored in “XE_Native & Comment” and “XE_Native Import Statement (JAVA)” via “XE_Logic Line” as shown in ERD of FIG. However, since no import statement is used here, no data is stored in the “XE_Native import statement (JAVA)”.

この定義により、以下に示すソースコードを得ることができ、このソースコードがマクロファンクションの呼出元に組み込まれる。   With this definition, the following source code can be obtained, and this source code is incorporated into the caller of the macro function.

l_HairetuYousoSuu=I_SyouhinCD_arr.size();
また、同様に、インポート文として入力した場合には、入力された内容は、呼出元のファンクションにおけるImport文の記述箇所に組み込まれる。
l_HairetsuYousoSuu = I_SyohinCD_arr. size ();
Similarly, when an input statement is input, the input content is incorporated in the description portion of the Import statement in the caller function.

このように、「MDFrame/X」が対応していないJavaの命令コードをマクロファンクションとして取り込むことによって、生成後のソースコードを修正する必要がなくなる。その上、Javaのソースコードが、該Javaに対するスキルが低い開発者にも共有部品として使用することができる。   In this way, it is not necessary to modify the generated source code by incorporating Java instruction codes that are not supported by “MDFrame / X” as macro functions. In addition, the Java source code can be used as a shared component even for developers with low skills for the Java.

(第4の実施形態)
以下、本発明の第4の実施形態に係るシステム設計支援プログラムについて図面を参照しながら説明する。
(Fourth embodiment)
The system design support program according to the fourth embodiment of the present invention will be described below with reference to the drawings.

図13は本発明に係る「XupperII」がアクセスするディクショナリに格納されたデータのフィールドに関するERDを示している。図13に示すように、左下の「フィールド」は、右上の「ドメイン」及び右下の「フィールドタイプ」に従属し、且つ、「ドメイン」は「フィールドタイプ」に従属する。   FIG. 13 shows an ERD for a field of data stored in a dictionary accessed by “Xupper II” according to the present invention. As shown in FIG. 13, the “field” in the lower left is subordinate to the “domain” in the upper right and the “field type” in the lower right, and the “domain” is subordinate to the “field type”.

例えば、「フィールド:得意先CD」は「ドメイン:取引先CD」に従属するため、データタイプ、内部長及び小数点桁数等は「ドメイン:取引先CD」と同一の値が設定される。同時に、「ドメイン:取引先CD」は「フィールドタイプ:コード」に従属するため、データタイプ等は「フィールドタイプ:コード」と同一の値が設定される。ところが、例えば「フィールド:受注入力画面用備考」は「ドメイン」には従属しておらず、「フィールドタイプ:漢字項目」に従属している。   For example, since “Field: Customer CD” is subordinate to “Domain: Customer CD”, the same values as “Domain: Customer CD” are set for the data type, internal length, and the number of decimal places. At the same time, since “domain: supplier CD” is subordinate to “field type: code”, the same value as “field type: code” is set for the data type and the like. However, for example, “Field: Remarks for order entry screen” is not subordinate to “Domain” but subordinate to “Field type: Kanji item”.

このように、「XupperII」においては、「フィールド」に対するデータ型(タイプ)の概念の最上位に「フィールドタイプ」が位置する構成を採る。さらに、「フィールドタイプ」は、ユーザが新たな定義を追加することができる。   Thus, “Xupper II” employs a configuration in which “field type” is positioned at the top of the concept of the data type (type) for “field”. Further, the “field type” allows the user to add a new definition.

ところで、各種ソースコードを生成するときに、生成対象のプログラム言語は種々のデータ型を持っている。従って、「XupperII」のディクショナリに格納された「フィールドタイプ」を各プログラム言語のデータ型に関連付ける必要がある。   By the way, when generating various source codes, the program language to be generated has various data types. Therefore, it is necessary to associate the “field type” stored in the “Xupper II” dictionary with the data type of each programming language.

そこで、第4の実施形態においては、生成対象となるプログラム言語のデータ型をマスタファイル(基本ファイル)化することによって、変数定義部分のソースコード生成機能から固定ロジックを排除して、変数定義部分におけるソースコード生成機能を柔軟に行なえるようにする。ここで、マスタファイル(基本ファイル)とは、登録されたデータに対する追加、変更及び削除を禁止されたデータファイルをいう。   Therefore, in the fourth embodiment, the fixed language is eliminated from the source code generation function of the variable definition part by converting the data type of the programming language to be generated into a master file (basic file), and the variable definition part The source code generation function in can be flexibly performed. Here, a master file (basic file) refers to a data file that is prohibited from being added, changed, or deleted with respect to registered data.

具体的には、図14のERDに示すように、「XupperII」における「フィールドタイプとは独立に、「MDFrame/X」に「XE_言語別データタイプ」を定義し、さらに「MDFrame/X」に「XE_フィールドタイプ拡張」を定義することにより「XupperII」における「フィールドタイプ」と「MDFrame/X」における「XE_言語別データタイプ」とを互いに関連付けることによって、各項目が複数のプログラム言語のうちの生成対象である言語のデータ型を設定可能とする。   Specifically, as shown in the ERD of FIG. 14, “XE_language-specific data type” is defined in “MDFrame / X” independently of “field type” in “XupperII”, and “MDFrame / X” is further defined in “MDFrame / X”. By defining “XE_field type extension”, “field type” in “XupperII” and “XE_language-specific data type” in “MDFrame / X” are associated with each other so that each item can be one of a plurality of programming languages. The data type of the language to be generated can be set.

例えば、「XE_言語別データタイプ」には、[表3]に示す内容が設定される。   For example, the contents shown in [Table 3] are set in the “XE_language-specific data type”.

また、「XE_フィールドタイプ拡張」に[表4]に示す内容を設定することにより、各プログラム言語のデータ型間の関連が定義される。   Further, by setting the contents shown in [Table 4] in “XE_field type extension”, the relationship between the data types of each programming language is defined.

[表4]に示す関係を設定することによって、例えば、「NBR」タイプの項目がプログラム言語「BizCRS」として生成される場合には「Number」となり、プログラム言語「Java」として生成される場合には「double」となるようなロジックを、生成対象のロジック定義から抽出することが可能となる。   By setting the relationship shown in [Table 4], for example, when an item of the “NBR” type is generated as the program language “BizCRS”, it becomes “Number”, and when it is generated as the program language “Java” Makes it possible to extract logic that becomes “double” from the logic definition to be generated.

このように、ユーザが各プログラム言語のデータ型をマスタファイル化するだけで、生成ロジックに対する変更を行なうことなく、変数定義部分の生成結果を動的に変更することができるようになる。これにより、「XupperII」における「フィールドタイプ」に対しても任意に追加することが可能となる。   As described above, the user can dynamically change the generation result of the variable definition portion without changing the generation logic only by making the data type of each programming language into a master file. Thereby, it is possible to arbitrarily add to the “field type” in “XupperII”.

以下、ローカル変数として受注数量を定義した場合の変数定義における生成例を示す。   A generation example in the variable definition when order quantity is defined as a local variable is shown below.

(1)「BizCRS」の場合
Number l_受注数量 = 0;
(2)「Java」の場合
private double l_JyutyuuSuuryou;
(3)「高速機関Procedure」の場合
l_受注数量 IN DECIMAL(7,0);
上記の「Number」、「double」及び「DECIMAL」は、図14に示した「XE_言語別データタイプ.言語別データタイプ生成名」をそれぞれ参照することによって、動的に変更可能となる。
(1) In the case of “BizCRS” Number l_order quantity = 0;
(2) In the case of “Java” private double 1_Jyutsuu Suruyou;
(3) In the case of “High-speed engine Procedure” l_Order quantity IN DECIMAL (7, 0);
The “Number”, “double”, and “DECIMAL” can be dynamically changed by referring to “XE_language-specific data type.language-specific data type generation name” shown in FIG.

(第5の実施形態)
以下、本発明の第5の実施形態に係るシステム設計支援プログラムについて図面を参照しながら説明する。
(Fifth embodiment)
The system design support program according to the fifth embodiment of the present invention will be described below with reference to the drawings.

図15はアクションダイアグラムに対して「代入」処理を入力する際のウィザードの一例を示している。   FIG. 15 shows an example of a wizard for inputting “assignment” processing to the action diagram.

「MDFrame/X」は、種々のプログラム言語のソースコードの生成を可能とするため、変数同士の値を代入する場合に、「代入」処理が生成対象のプログラム言語にとって妥当か否かを判定する必要がある。   Since “MDFrame / X” enables generation of source codes in various programming languages, it is determined whether or not “assignment” processing is appropriate for the programming language to be generated when the values of variables are substituted. There is a need.

例えば、一般に、数値項目のフィールドに対して数値の代入は可能ではあるが、日付項目のフィールドに対する数値の代入は不可能である。このような判定機能を組み込むには、各ウィザードにおいて「フィールドタイプ」同士の判定処理を行なう必要がある。但し、生成対象の言語によっては、「フィールドタイプ」が異なってはいてもデータ型が同一であるという場合があり、このような場合は「代入」処理を許可する必要がある。従って、「フィールドタイプ」のみを判定するという判定ルールは採用できない。   For example, generally, a numerical value can be assigned to a numerical item field, but a numerical value cannot be assigned to a date item field. In order to incorporate such a determination function, it is necessary to perform determination processing between “field types” in each wizard. However, depending on the language to be generated, the data type may be the same even if the “field type” is different. In such a case, it is necessary to permit the “assignment” process. Therefore, the determination rule of determining only “field type” cannot be adopted.

そこで、第5の実施形態においては、生成対象となるプログラム言語のデータ型間の関連ルールをマスタファイル化する。これにより、画面入力機能における「代入」、「演算」、「比較」及び「呼出パラメータマッピング」の各処理に関して、判定ルールを固定的に記述する必要がなくなる。   Therefore, in the fifth embodiment, the association rules between the data types of the programming language to be generated are converted into a master file. Thereby, it is not necessary to describe the determination rule in a fixed manner with respect to the “assignment”, “calculation”, “comparison”, and “call parameter mapping” processes in the screen input function.

具体的には、第4の実施形態で説明した言語別データタイプに各データタイプの関連性を定義する新たなマスタファイルを追加する。各種入力機能用のウィザードがこのマスタファイルを参照することにより、ウィザードの判定ロジックを動的に変更できるようにする。   Specifically, a new master file that defines the relevance of each data type is added to the language-specific data type described in the fourth embodiment. The wizard for various input functions can dynamically change the judgment logic of the wizard by referring to the master file.

図16は「XE_言語別データタイプ」と「XE_言語別データタイプ関連」とのERDを示している。図16において、「XE_言語別データタイプ」は第4の実施形態と同一である。   FIG. 16 shows ERDs of “XE_language-specific data types” and “XE_language-specific data types”. In FIG. 16, “XE_language-specific data type” is the same as that in the fourth embodiment.

「XE_言語別データタイプ関連」は2つの「言語別データタイプCD」の間で「代入」処理、「演算」処理又は「比較」処理がそれぞれ実行可能か否かを設定する。これにより、「代入」、「演算」、「比較」及び「呼出パラメータマッピング」の各ウィザードでは、処理対象項目から「言語別データタイプCD」を取得した後に、上記のマスタファイル化された「XE_言語別データタイプ#関連」を参照することにより、判定内容を動的に変更することが可能となる。   “XE_language-specific data type related” sets whether or not “substitution” processing, “calculation” processing, or “comparison” processing can be executed between two “language-specific data types CD”. As a result, the “assignment”, “calculation”, “comparison”, and “call parameter mapping” wizards obtain the “language-specific data type CD” from the processing target item, and then the “XE_ By referring to “Language-specific data type #”, the determination contents can be dynamically changed.

例えば、「代入」処理の場合には、左辺と右辺との言語別データタイプの間で、「代入可否ST」が「可」であれば代入可能であり、「代入可否ST」が「否」であれば代入不能であるとウィザード(プログラム)が判定する。   For example, in the case of “assignment” processing, assignment is possible if the “assignment availability ST” is “allowed” between the data types of the left and right data types, and “assignment availability ST” is “not”. If so, the wizard (program) determines that substitution is impossible.

(第6の実施形態)
以下、本発明の第6の実施形態に係るシステム設計支援プログラムについて図面を参照しながら説明する。
(Sixth embodiment)
The system design support program according to the sixth embodiment of the present invention will be described below with reference to the drawings.

図17はアクションダイアグラムに対して「代入」処理を入力する際のウィザードの他の例を示している。図17は、代入文における「出力.MD_リターンコード」にコンディション値を設定する際の、代入すべきコンディション値を選択するウィザードを表示している。ここで、コンディション値とはある項目の値に対して意味を持たせるための値である。ここでは、「MD_リターンコード」に対して有効なコンディション値として「*BLANK」、「*NULL」、「ERROR」、「NORMAL」、「SQL_ERROR」、「SQL_EXIST」及び「SQL_NOT_FOUND」の7つのコンディション値が代入可能であることを意味している。このうち「*BLANK」及び「*NULL」以外のコンディション値は、「XupperII」に既に登録されている。   FIG. 17 shows another example of the wizard when inputting the “assignment” process to the action diagram. FIG. 17 shows a wizard for selecting a condition value to be assigned when setting a condition value in “output.MD_return code” in the assignment statement. Here, the condition value is a value for giving meaning to the value of a certain item. Here, seven condition values “* BLANK”, “* NULL”, “ERROR”, “NORMAL”, “SQL_ERROR”, “SQL_EXIST”, and “SQL_NOT_FOUND” are valid condition values for “MD_return code”. Means that can be substituted. Of these, condition values other than “* BLANK” and “* NULL” are already registered in “Xupper II”.

「XupperII」は、論理仕様に関する定義を行なうツールであるため、「*BLANK」及び「*NULL」以外のコンディション値は登録する必要があるものの、「*BLANK」及び「*NULL」等に関しては、一般に論理的な意味を持たないため、あえて登録する必要がない。   Since “Xupper II” is a tool for defining logical specifications, condition values other than “* BLANK” and “* NULL” need to be registered, but “* BLANK”, “* NULL”, etc. In general, there is no logical meaning, so there is no need to register.

しかしながら、「MDFrame/X」は、開発の下流工程においてプログラミングを行なうため、これら「*BLANK」及び「*NULL」等のコンディション値も必要となる。   However, since “MDFrame / X” is programmed in the downstream process of development, condition values such as “* BLANK” and “* NULL” are also required.

このような下流工程に必要なコンディション値には、「*BLANK」及び「*NULL」以外にも、「*ZERO」と「*ONE」とがある。しかしながら、これら4種類の新たなコンディション値に関しては、「XupperII」においてはコンディション登録をしなくても済むようにする必要がある。   Condition values required for such downstream processes include “* ZERO” and “* ONE” in addition to “* BLANK” and “* NULL”. However, with regard to these four kinds of new condition values, it is necessary not to register the condition in “Xupper II”.

その上、これら4種類のコンディション値を使用できるか否かに関しては、プログラム言語の各データ型によっても異なる。例えば、文字列型には「*ZERO」及び「*ONE」を用いることはない。従って、所望のソースコードを生成した後に、該ソースコードにコンパイルエラーが生じるようなロジック定義を入力時点でエラーとするためにも、判定機能を組み込む必要がある。   In addition, whether or not these four types of condition values can be used differs depending on the data type of the programming language. For example, “* ZERO” and “* ONE” are not used for the character string type. Therefore, after generating a desired source code, it is necessary to incorporate a determination function in order to make a logic definition that causes a compile error in the source code an error at the time of input.

そこで、第6の実施形態においては、生成対象となるプログラム言語のデータ型に対して設定可能なコンディション値をマスタファイル化する。これにより、「代入」、「比較」及び「呼出パラメータマッピング」の各処理に関する画面入力機能のなかから、コンディション値の妥当性の判定ルールを固定的に記述する必要がなくなる。   Therefore, in the sixth embodiment, the condition values that can be set for the data type of the programming language to be generated are converted into a master file. As a result, it is not necessary to describe the determination rule for the validity of the condition value in a fixed manner from the screen input functions related to the processes of “substitution”, “comparison”, and “call parameter mapping”.

具体的には、第4の実施形態で説明した言語別データタイプに、前述の4つのコンディション値、すなわち「*BLANK」、「*NULL」、「*ZERO」及び「*ONE」のうち、有効なコンディション値を定義する新たなマスタファイルを追加する。各種入力機能用のウィザードがこのマスタファイルを参照することにより、ウィザードの判定ロジックを動的に変更できるようにする。   Specifically, the language-specific data type described in the fourth embodiment is valid among the four condition values described above, that is, “* BLANK”, “* NULL”, “* ZERO”, and “* ONE”. Add a new master file that defines the condition values. The wizard for various input functions can dynamically change the judgment logic of the wizard by referring to the master file.

図18は「XE_言語別データタイプ」と「XE_言語別データタイプ許容CND」とのERDを示している。図18において、「XE_言語別データタイプ」は第4の実施形態と同一である。ここでは、「XE_言語別データタイプ許容CND」にデータが設定されていれば、使用可能なコンディション値であること意味する。   FIG. 18 shows ERDs of “XE_language-specific data type” and “XE_language-specific data type allowable CND”. In FIG. 18, “XE_language-specific data type” is the same as that in the fourth embodiment. Here, if data is set in “XE_language-specific data type allowable CND”, it means that it is a usable condition value.

例えば、「許容ITEM種別ST」には、「*BLANK」、「*NULL」、「*ZERO」及び「*ONE」のうちのいずれか1つのコンディション値が設定される。その結果、「代入」、「比較」及び「呼出パラメータマッピング」の各処理に関する画面入力機能のなかから、コンディション値の妥当性の判定ルールを固定的に記述することなく、動的に変更することが可能となる。   For example, one condition value of “* BLANK”, “* NULL”, “* ZERO”, and “* ONE” is set in “allowable ITEM type ST”. As a result, from the screen input functions related to the processing of “assignment”, “comparison”, and “call parameter mapping”, the judgment rules for the validity of condition values must be changed dynamically without being described in a fixed manner. Is possible.

(第7の実施形態)
以下、本発明の第7の実施形態に係るシステム設計支援プログラムについて図面を参照しながら説明する。
(Seventh embodiment)
The system design support program according to the seventh embodiment of the present invention will be described below with reference to the drawings.

アクションダイアグラム記述によってロジック定義を行なったデータから、例えばJavaのソースコードを生成する際に、データ型によってソースコードの生成方式が異なる場合がある。一例を挙げると、double型の代入文とBigDecimal型の代入文とでは、以下のように異なる。   For example, when generating Java source code from data for which logic definition has been performed by action diagram description, the source code generation method may differ depending on the data type. For example, a double type assignment statement and a Big Decimal type assignment statement are different as follows.

double型は、
LeftField=RightField;
BigDecimal型は、
LeftField
=new BigDecimal(RightField.toString());
又は
LeftField
=(null==RightField)?null:new BigDecimal(RightField.toString());
このような生成ルールをソースコードの生成ロジックとして組み込んだ場合には、組み込まれた生成ロジックが想定していないデータ型のロジック生成を行なうことは不可能である。
The double type is
LeftField = RightField;
The BigDecimal type is
LeftField
= New BigDecimal (RightField.toString ());
Or LeftField
= (Null == RightField)? null: new BigDecimal (RightField.toString ());
When such a generation rule is incorporated as source code generation logic, it is impossible to generate logic of a data type that is not assumed by the incorporated generation logic.

そこで、第7の実施形態においては、生成対象となるプログラム言語における「代入文」、「条件文」、「演算文」及び「パラメータマッピング」に関する生成ルールをマスタファイル化する。これにより、ソースコード生成機能として、固定ロジックを記述する必要がなくなるため、動的なロジック生成が可能となる。   Therefore, in the seventh embodiment, generation rules relating to “assignment statement”, “condition statement”, “calculation statement”, and “parameter mapping” in the programming language to be generated are converted into a master file. This eliminates the need for describing fixed logic as a source code generation function, thus enabling dynamic logic generation.

具体的には、第4の実施形態で説明した言語別データタイプに、「代入文」、「条件文」、及び「演算文」等のコード生成を行なう場合の生成ルールをマスタファイル化して、第2のリポジトリに登録する。生成ロジックは、ソースコードの生成時にこのマスタファイルを参照して、生成ロジックの動的な変更を可能とする。   Specifically, in the language-specific data type described in the fourth embodiment, the generation rules for code generation such as “assignment statement”, “condition statement”, and “calculation statement” are converted into a master file, Register in the second repository. The generation logic refers to the master file when generating the source code, and enables dynamic change of the generation logic.

第7の実施形態に係るコード生成処理は、対応する部分スケルトンと変数生成名の合成とによって行なう。   The code generation processing according to the seventh embodiment is performed by combining the corresponding partial skeleton and variable generation name.

図19に第7の実施形態に係る部分スケルトンに関するERDを示す。以下、部分スケルトンのうち、「代入文」、「配列表現」、「条件文」、「演算文」、「MapSet」及び「MapGet」の順に説明する。   FIG. 19 shows an ERD relating to the partial skeleton according to the seventh embodiment. Hereinafter, the “assignment statement”, “array expression”, “condition statement”, “operation statement”, “MapSet”, and “MapGet” in the partial skeleton will be described in this order.

(1)XE_生成スケルトンの「代入文」処理
代入文として登録されるバリエーションごとにデータが存在し、代入文を生成するための部分スケルトンが代入文スケルトンとして第2のリポジトリにマスタファイル化されて登録される。「代入文」のバリエーションは、左辺と右辺と2つの言語別データタイプの間に、許容されない場合を含め15個だけ存在する。[表5]及び[表6]は「代入文」のバリエーションとスケルトンの例をそれぞれ示している。
a)double型同士の代入文の場合
(1) XE_Generation Skeleton “Assignment Statement” Processing Data exists for each variation registered as an assignment statement, and a partial skeleton for generating an assignment statement is mastered in the second repository as an assignment statement skeleton. be registered. There are only 15 variations of the “assignment statement” between the left side, the right side, and the two language-specific data types, including cases where it is not allowed. [Table 5] and [Table 6] show variations of “assignment statements” and examples of skeletons, respectively.
a) In case of assignment statement between double types

b)BigDecimal型同士の代入文の場合 b) In case of assignment statement between BigDecimal types

[表5]及び[表6]において、各代入スケルトンに埋め込まれる置き換え文字列には以下がある。   In [Table 5] and [Table 6], there are the following replacement character strings embedded in each substitution skeleton.

<%# L_Fld #%>:左辺に対する変数の生成名で置き換えられる。   <% # L_Fld #%>: Replaced with a variable generation name for the left side.

<%# R_Fld #%>:右辺に対する変数の生成名で置き換えられる。   <% # R_Fld #%>: Replaced with a variable generation name for the right side.

<%# L_aFld #%>:左辺の配列に対する変数の生成名で置き換えられる。   <% # L_aFld #%>: Replaced with a variable generation name for the array on the left side.

<%# R_aFld #%>:右辺の配列に対する変数の生成名で置き換えられる。   <% # R_aFld #%>: Replaced with a variable generation name for the array on the right side.

<%# L_aIdx #%>:左辺の配列指標に対する変数の生成名で置き換えられる。   <% # L_aIdx #%>: Replaced with a variable generation name for the array index on the left side.

<%# R_aIdx #%>:右辺の配列指標に対する変数の生成名で置き換えられる。   <% # R_aIdx #%>: Replaced with a variable generation name for the array index on the right side.

<%# Cnd #%>:右辺のコンディションに対する内部値で置き換えられる。   <% # Cnd #%>: Replaced with the internal value for the condition on the right side.

(2)XE_生成スケルトンの「配列表現」処理
例えば条件判定を行なう際に、ある項目を参照し、参照した項目が配列要素の場合には、該配列要素を参照するように記述(ロジック)を変更する必要がある。この場合には、スケルトンを用いて配列要素をあらかじめ参照するように変換した後に、条件等の変換を行なう。
[表7]は「配列要素表現」のデータ型(タイプ)とスケルトンの例をそれぞれ示している。
(2) “Array representation” processing of XE_generated skeleton For example, when performing a condition determination, a certain item is referred to, and if the referenced item is an array element, a description (logic) is described to refer to the array element. Need to change. In this case, after converting the array elements so as to be referred to in advance using a skeleton, the conditions and the like are converted.
[Table 7] shows an example of the data type (type) and skeleton of the “array element representation”.

[表7]において、配列表現スケルトンに埋め込まれる置き換え文字列には以下がある。   In [Table 7], the replacement character strings embedded in the array representation skeleton are as follows.

<%# aFld #%>:配列に対する変数の生成名で置き換えられる。   <% # AFld #%>: Replaced with the variable generation name for the sequence.

<%# aIdx #%>:配列指標に対する変数の生成名で置き換えられる。   <% # AIdx #%>: Replaced with the variable generation name for the sequence index.

(3)XE_生成スケルトンの「条件文」処理
代入文として登録されるバリエーションごとにデータが存在し、条件文を生成するための部分スケルトンが条件文スケルトンとして第2のリポジトリにマスタファイル化される。「条件文」のバリエーションは、「条件オペレータ」と「右辺条件項目」の間に、許容されない場合を含め36個だけ存在する。
(3) “Conditional Statement” Processing of XE_Generated Skeleton Data exists for each variation registered as an assignment statement, and a partial skeleton for generating a conditional statement is converted into a master file in the second repository as a conditional statement skeleton. . There are only 36 variations of the “condition sentence” between the “condition operator” and the “right-side condition item”, including cases where it is not allowed.

[表8]は「条件文」のバリエーションとスケルトンの例をそれぞれ示している。
a)double型同士の代入の場合
Table 8 shows variations of “conditional statements” and examples of skeletons.
a) In case of assignment between double types

[表8]において、各条件スケルトンに埋め込まれる置き換え文字列は、前述の「代入文」と同一である。   In [Table 8], the replacement character string embedded in each condition skeleton is the same as the “assignment statement” described above.

(4)XE_生成スケルトンの「演算文」処理
演算文として登録されるバリエーションごとにデータが存在し、演算文を生成するための部分スケルトンが演算文スケルトンとして第2のリポジトリにマスタファイル化される。「演算文」のバリエーションは、左辺と右辺と2つの言語別データタイプ及び演算オペレータの間に18個だけ存在する。ここで、演算オペレータには、「+(加算)」、「−(減算)」、「*(乗算)」、「/(除算)」、「++(インクリメント)」及び「−−(デクリメント)」の6つがある。
[表9]は「演算文」のバリエーションとスケルトンの例をそれぞれ示している。
a)BigDecimal型の演算文の場合
(4) XE_Generation Skeleton “Calculation Statement” Processing Data exists for each variation registered as an operation statement, and a partial skeleton for generating the operation statement is converted into a master file in the second repository as an operation statement skeleton. . There are only 18 variations of the “computation statement” between the left and right sides, the two language-specific data types, and the computation operator. Here, the calculation operators include “+ (addition)”, “− (subtraction)”, “* (multiplication)”, “/ (division)”, “++ (increment)”, and “−− (decrement)”. There are six.
[Table 9] shows variations of “operational statements” and examples of skeletons.
a) In the case of a BigDecimal type operation statement

[表9]において、各演算スケルトンに埋め込まれる置き換え文字列のうち、<%# O_Fld #%>は、演算結果のフィールドに対する変数の生成名で置き換えられる。これ以外の置き換え文字列は、前述の「代入文」と同一である。   In [Table 9], <% # O_Fld #%> in the replacement character string embedded in each operation skeleton is replaced with a variable generation name for the operation result field. Other replacement character strings are the same as the above-mentioned “assignment statement”.

(5)XE_生成スケルトンの「MapSet」処理
一のファンクションが他のファンクションを呼び出す際に、呼び出し先に引き渡すパラメータは、呼び出し先のSetterメソッドに対するパラメータ引き渡しによって実行される。「MapSet」においては、Setterメソッドを呼び出す部分を生成するための部分スケルトンが第2のリポジトリにマスタファイルとして登録される。パラメータマッピングを行なうバリエーションごとにデータが存在し、「MapSet」のバリエーションは、受け側と渡し側との2つの言語別データタイプごとに渡す項目の種類によって、許容されない場合を含め8個だけ存在する。[表10]は「MapSet」のバリエーションとスケルトンの例をそれぞれ示している。
a)BigDecimal型同士の引き渡しの場合
(5) “MapSet” Processing of XE_Generation Skeleton When one function calls another function, a parameter to be passed to the callee is executed by passing parameters to the caller's Setter method. In “MapSet”, a partial skeleton for generating a part for calling a Setter method is registered as a master file in the second repository. There is data for each variation that performs parameter mapping, and there are only 8 variations of “MapSet” depending on the type of items to be passed for each data type by language on the receiving side and the passing side, including cases where it is not allowed. . [Table 10] shows a variation of “MapSet” and an example of a skeleton, respectively.
a) In the case of delivery between Big Decimal types

[表10]において、各MapSetスケルトンに埋め込まれる置き換え文字列には以下がある。   In [Table 10], replacement character strings embedded in each MapSet skeleton include the following.

<%# CallFun #%>:呼出先ファンクションの生成名で置き換えられる。   <% # Call Fun #%>: Replaced with the generation name of the called function.

<%# T_Fld #%>:呼出先ファンクションのパラメータとして設定されている項目の物理名で置き換えられる。   <% # T_Fld #%>: Replaced with the physical name of the item set as a parameter of the callee function.

<%# T_aFld #%>:呼出先ファンクションのパラメータとして設定されている配列項目の生成名で置き換えられる。   <% # T_aFld #%>: Replaced with the generation name of the array item set as a parameter of the callee function.

<%# M_Fld #%>:引き渡す項目の生成名で置き換えられる。   <% # M_Fld #%>: Replaced with the generation name of the item to be delivered.

<%# M_aFld #%>:引き渡す配列の生成名で置き換えられる。   <% # M_aFld #%>: Replaced with the generation name of the array to be delivered.

<%# M_aIdx #%>:引き渡す配列要素を示す指標変数の生成名で置き換えられる。   <% # M_aIdx #%>: Replaced with the generation name of the index variable indicating the array element to be delivered.

<%# Cnd #%>:引き渡す配列要素を示す指標変数の生成名で置き換えられる。   <% # Cnd #%>: Replaced with the generation name of the index variable indicating the array element to be delivered.

(6)XE_生成スケルトンの「MapGet」処理
一のファンクションが他のファンクションを呼び出す際に、呼び出し先から受け取るパラメータは、呼び出し先のGetterメソッドに対するパラメータ引き渡しによって実行される。「MapGet」においては、Getterメソッドを呼び出す部分を生成するための部分スケルトンが第2のリポジトリにマスタファイルとして登録される。パラメータマッピングを行なうバリエーションごとにデータが存在し、「MapGet」のバリエーションは、受け側と渡し側との2つの言語別データタイプごとに渡す項目の種類によって3個だけ存在する。[表11]は「MapGet」のバリエーションとスケルトンの例をそれぞれ示している。
a)BigDecimal型同士の引き渡しの場合
(6) “MapGet” Processing of XE_Generation Skeleton When one function calls another function, a parameter received from the call destination is executed by parameter passing to the Getter method of the call destination. In “MapGet”, a partial skeleton for generating a part for calling a Getter method is registered as a master file in the second repository. Data exists for each variation for which parameter mapping is performed, and there are only three variations of “MapGet” depending on the types of items to be transferred for each of two data types by language on the receiving side and the passing side. Table 11 shows variations of “MapGet” and examples of skeletons.
a) In the case of delivery between Big Decimal types

[表11]において、各MapGetスケルトンに埋め込まれる置き換え文字列は「MapSet」(但し、<%# Cnd #%>を除く。)と同一である。   In [Table 11], the replacement character string embedded in each MapGet skeleton is the same as “MapSet” (excluding <% # Cnd #%>).

(第8の実施形態)
以下、本発明の第8の実施形態に係るシステム設計支援プログラムについて図面を参照しながら説明する。
(Eighth embodiment)
The system design support program according to the eighth embodiment of the present invention will be described below with reference to the drawings.

前述したように、「MDFrame/X」は、上流設計部分を「XupperII」に特化した下流工程用CASEツールである。従って、基本的なユーザインタフェース(UI)は「XupperII」におけるGUI設計を対象としている。   As described above, “MDFrame / X” is a downstream process CASE tool specialized in “Xupper II” in the upstream design portion. Therefore, the basic user interface (UI) is intended for GUI design in “Xupper II”.

ところで、本発明に係る「MDFrame/X」は、複数種類のプログラム言語(ソースコード)の生成が可能である。例えば、BizBrowser用のスクリプト言語は開発を完了しており、Microsoft.netのC#言語及びVisualBasic等も生成対象とすることが可能である。これらのプログラム言語はそれぞれの言語がサポートするGUIコントロール(コントロールコマンド)を有しており、該GUIコントロールが言語ごとに異なることを前提とする必要がある。また、各言語ごとのGUIコントロールは、メソッド名等もそれぞれに異なる。   By the way, “MDFrame / X” according to the present invention can generate a plurality of types of program languages (source codes). For example, the script language for BizBrowser has been developed, and Microsoft. The net C # language, VisualBasic, and the like can also be generated. These programming languages have GUI controls (control commands) supported by the respective languages, and it is necessary to assume that the GUI controls are different for each language. Also, the GUI control for each language has a different method name and the like.

しかしながら、GUIコントロールは、言語によってイベントの名称が異なっていたり、プロパティの種類が異なっていたりすることはあるものの、プロパティ、メソッド及びイベントの3要素により構成されていることは、いずれの言語においても共通である。   However, although the GUI control has different event names and property types depending on the language, it is composed of three elements: properties, methods, and events. It is common.

そこで、第8の実施形態に係る「MDFrame/X」は、特定の言語に依存しない「設計用GUIコントロール」を導入する。具体的には、GUI画面上の各種コントロールのプロパティ、メソッド及びイベントをマスタファイル化して第2のリポジトリに登録して管理することにより、GUI画面ロジック入力機能からこれらの要素を独立させる。   Therefore, “MDFrame / X” according to the eighth embodiment introduces “design GUI control” that does not depend on a specific language. Specifically, the properties, methods, and events of various controls on the GUI screen are converted into a master file, registered and managed in the second repository, and these elements are made independent from the GUI screen logic input function.

図20は「XupperII」が扱うGUIコントロールと、第8の実施形態に係る「MDFrame/X」が扱う「設計用GUIコントロール」と、生成対象となるGUIコントロールとの関係を表わしている。   FIG. 20 shows the relationship between the GUI control handled by “Xupper II”, the “design GUI control” handled by “MDFrame / X” according to the eighth embodiment, and the GUI control to be generated.

「XupperII」が扱うGUIコントロールと、「MDFrame/X」が扱う「設計用GUIコントロール」とは、図21のERDに示す「XE_言語別省略時GUIコントロール割当」によって対応が決定される。すなわち、「MDFrame/X」は、「XupperII」が扱うGUIコントロールにおける、「フィールドタイプ」、生成対象となる「言語種別ST」及び「コントロールタイプ」によって、設計用GUIコントロール種別を決定する。   The correspondence between the GUI control handled by “Xupper II” and the “design GUI control” handled by “MDFrame / X” is determined by “XE_Language Default GUI Control Assignment by Language” shown in the ERD of FIG. That is, “MDFrame / X” determines the design GUI control type according to “field type”, “language type ST” and “control type” to be generated in the GUI control handled by “XupperII”.

これによって、例えば以下のような判断がなされる。   Thereby, for example, the following determination is made.

「XupperII」のCDEタイプのフィールドにおいて、「コントロールタイプ」が「EDITタイプ」で配置されているGUI画面をBizBrowser用の画面として使用する場合に、対応するコントロールの設計用GUIコントロールは「EditBox」となる。   When a GUI screen in which the “control type” is set to “EDIT type” in the “Xupper II” CDE type field is used as the screen for the BizBrowser, the corresponding GUI GUI for designing the control is “EditBox”. Become.

「MDFrame/X」は、設計用GUIコントロールに対してプロパティの設定及びイベントロジックの記述を行なう。図22は設計用GUIコントロールに関するERDを表わしている。図22から、設計用GUIコントロールは、それぞれプロパティ(上段2列目)、メソッド(中段2列目)及びイベント(中段1列目)の3要素を含むことが分かる。ソースコードの生成が行なわれる際には、設計用GUIコントロールにおける「プロパティ」、「メソッド」及び「イベント」はそれぞれの生成対象である言語用のGUIコントロールに変換される。   “MDFrame / X” sets properties and describes event logic for the design GUI control. FIG. 22 shows the ERD related to the design GUI control. From FIG. 22, it can be seen that the design GUI control includes three elements: property (upper second column), method (middle second column), and event (middle first column). When the source code is generated, the “property”, “method”, and “event” in the design GUI control are converted into the GUI controls for the language to be generated.

図23は図22に示したプロパティ、メソッド及びイベントの3要素に対して、それぞれの生成名に関する情報を格納するエンティティが追加されたERDを示している。図23から分かるように、「XE_設計用GUICTLプロパティー生成名」、「XE_設計用GUICTLメソッド生成名」、「XE_設計用GUICTLイベント生成名」及び「XE_設計用GUICTL種別生成名」の4種類のエンティティが追加される。   FIG. 23 shows an ERD in which an entity for storing information related to each generated name is added to the three elements of the property, method, and event shown in FIG. As can be seen from FIG. 23, four types of “XE_design GUIICT property generation name”, “XE_design GUIICT method generation name”, “XE_design GUIICT event generation name”, and “XE_design GUIICT type generation name”. An entity is added.

このように、プロパティ、メソッド、イベント及びこれらに関する生成名に関する情報をマスタファイル化することにより、GUI画面ロジック入力機能からこれらの各要素に対する個別のロジックを排除することができる。従って、処理機能を簡単化できると共に、マスタファイル化することによって、新たなGUIコントロールコマンドにも対応することが可能となる。   In this way, by creating information on properties, methods, events, and generation names related to them as master files, individual logic for each of these elements can be eliminated from the GUI screen logic input function. Therefore, the processing function can be simplified, and a new GUI control command can be handled by creating a master file.

ところで、「XupperII」のGUIコントロール画面に表示されるボタンは、「MDFrame/X」においても、設計用GUIコントロールのボタンとして処理される。   By the way, the button displayed on the GUI control screen of “Xupper II” is processed as the button for the design GUI control in “MDFrame / X”.

「MDFrame/X」においては、図23に示した「XE_設計用GUICTLイベント」により、「OnClick」という論理イベントの存在が認識されるため、このイベントに対するロジック入力機能が使用可能となる。   In “MDFrame / X”, the presence of the logical event “OnClick” is recognized by the “XE_design GUIICT event” shown in FIG. 23, and the logic input function for this event can be used.

例えば、「OnClick」に入力されたロジックが「BizBrowser」のスクリプト言語として生成される場合は、「XE_設計用GUICTLイベント生成名」を参照することにより「BizBrowser」の「OnTouch()イベント」として生成される。これに対し、「Microsoft.Net」のソースコードとして生成される場合は、「XE_設計用GUICTLイベント生成名」を参照することにより、「Clickイベント」として生成される。   For example, when the logic input to “OnClick” is generated as a script language of “BizBrowser”, it is generated as “OnTouch () event” of “BizBrowser” by referring to “XE_design GUIICT event generation name”. Is done. On the other hand, when it is generated as a source code of “Microsoft.Net”, it is generated as a “Click event” by referring to “XE_design GUIICT event generation name”.

(第9の実施形態)
以下、本発明の第9の実施形態に係るシステム設計支援プログラムについて図面を参照しながら説明する。
(Ninth embodiment)
Hereinafter, a system design support program according to a ninth embodiment of the present invention will be described with reference to the drawings.

GUIコントロールは、その実装方法によって種々の値(戻り値)の格納方法が存在する。従って、プログラマは戻り値の格納方法の相違を意識しながら、各種のコーディングを行なう必要がある。   The GUI control has various values (return values) storage methods depending on the implementation method. Therefore, the programmer needs to perform various types of coding while paying attention to the difference in the return value storage method.

図24に「BizBrowser」におけるGUIコントロールの実装例を示す。図24は、論理的に同一の項目が、テキストボックスとして存在する場合とコンボボックス(combo box)として存在する場合の各定義部分を抽出して示している。   FIG. 24 shows an implementation example of GUI control in “BizBrowser”. FIG. 24 shows the extracted definition parts when the logically identical items exist as text boxes and as combo boxes.

図25はテキストボックスの場合とコンボボックスの場合との各項目の戻り値がいずれも「SQL_EXIST」であるか否かを判定する際に用いるロジックを示す。例えば、コンボボックスの場合の比較対象としている数字の”2”という戻り値はデータ自体の意味はなく、単にコンボボックスが有する要素のうちの2番目に位置することを示しているに過ぎない。このように、「SQL_EXIST」のように同一の意味を持つ値であっても、コントロールコマンドの種類によっては戻り値の参照方法が異なるため、「代入」及び「演算」等のソースコードを自動生成する際の生成ロジックが複雑になってしまう。   FIG. 25 shows logic used to determine whether the return value of each item in the text box and the combo box is “SQL_EXIST”. For example, the return value “2” as a comparison target in the case of the combo box has no meaning of the data itself, and merely indicates that it is positioned at the second of the elements of the combo box. In this way, even if the value has the same meaning, such as “SQL_EXIST”, the method of referring to the return value differs depending on the type of control command, so source codes such as “assignment” and “calculation” are automatically generated. The generation logic when doing so becomes complicated.

そこで、第9の実施形態においては、GUI画面上の要素に対してパネル変数を導入して第2のリポジトリに登録し、GUIコントロールのコマンドタイプに依存しない戻り値の参照方法を採用する。   Therefore, in the ninth embodiment, a panel variable is introduced into an element on the GUI screen and registered in the second repository, and a return value reference method that does not depend on the command type of the GUI control is employed.

図26に第9の実施形態に係るパネル変数の定義を示す。図26に示すように、GUIコントロールの定義部分に関しては、図25に示したソースと同等である。すべての画面上の戻り値は、コントロールコマンドを直接に参照するのではなく、このパネル変数を介して参照及び更新を行なう。この場合、パネル変数に取り込むロジックを記述する必要はあるものの、「MDFrame/X」においては、生成後のプログラム言語には存在しない論理メソッドを定義する。   FIG. 26 shows the definition of the panel variable according to the ninth embodiment. As shown in FIG. 26, the definition part of the GUI control is equivalent to the source shown in FIG. All return values on the screen are referenced and updated via this panel variable rather than referencing the control command directly. In this case, although it is necessary to describe the logic to be captured in the panel variable, “MDFrame / X” defines a logical method that does not exist in the generated program language.

この仕組みを図27に示す。図27に示すように、「画面上のコントロール」は、第9の実施形態に係る論理メソッド「GetAndValidate」を「パネル変数」に対して発行することによって、該コントロールコマンドの妥当性の検査を伴って「パネル変数」に読み込まれる。メソッドを読み込んだ「パネル変数」は、「Put」メソッドを「画面上のコントロール」に発行することによって、「画面上のコントロール」は「パネル変数」からの戻り値に対応してその状態が変更される。   This mechanism is shown in FIG. As shown in FIG. 27, “control on the screen” involves checking the validity of the control command by issuing the logical method “GetAndValidate” according to the ninth embodiment to “panel variable”. Is read into the “Panel Variable”. The "panel variable" that has read the method issues the "Put" method to the "control on the screen", and the "control on the screen" changes its state in response to the return value from the "panel variable" Is done.

図28及び図29に第9の実施形態に係る「GetAndValidate」メソッド及び「Put」メソッドの各生成例を示す。図29に示すように、代入及び演算等のロジックは、画面コントロールに影響されることなく、単なるワークフィールドに対するロジックであるかのように展開されるため、簡単な構成となり、可読性が向上する。これにより、パネル上の項目の戻り値に関する判定ロジックは図30に示すようになり、コントロールコマンドの種類によらず、同一の判定条件が展開されていることが分かる。   FIG. 28 and FIG. 29 show respective generation examples of the “GetAndValidate” method and the “Put” method according to the ninth embodiment. As shown in FIG. 29, logic such as substitution and calculation is expanded as if it were a simple logic for a work field without being affected by screen control, so that the configuration becomes simple and the readability is improved. Thereby, the determination logic regarding the return value of the item on the panel is as shown in FIG. 30, and it can be seen that the same determination condition is developed regardless of the type of the control command.

(第10の実施形態)
以下、本発明の第10の実施形態に係るシステム設計支援プログラムについて図面を参照しながら説明する。
(Tenth embodiment)
Hereinafter, a system design support program according to a tenth embodiment of the present invention will be described with reference to the drawings.

一般に、GUIの画面は用途が同一である複数の表示項目の集合体により構成される。図31に伝票入力形式の画面イメージの一例を示す。図31において、それぞれ破線でグループ化された「伝票ヘッダー部」「明細行編集エリア」及び「明細行一覧表示エリア」には、それぞれに複数の表示項目が存在しており、各グループ内で同一の処理を行なう必要がある。例えば、判定結果がエラーとなった場合に、表示画面の背景色が変更されている表示項目について、その背景色を元に戻すという初期化処理を行なう場合がある。この場合、各表示項目ごとに同一の命令を所定数分だけ繰り返して記述するのが一般的である。   Generally, a GUI screen is composed of a collection of a plurality of display items having the same use. FIG. 31 shows an example of a screen image in a slip input format. In FIG. 31, there are a plurality of display items in each of the “slip header part”, “detail line edit area”, and “detail line list display area” grouped by broken lines, and the same within each group. It is necessary to perform the process. For example, when the determination result is an error, an initialization process may be performed to restore the background color of a display item whose background color of the display screen has been changed. In this case, the same command is generally repeated for a predetermined number of times for each display item.

図32に「BizBrowser」を生成対象言語とする場合の「伝票ヘッダー部」における各表示項目の背景色の初期化処理を示す。図32に示すように、表示項目ごとに同一ロジックを繰り返し記述する必要がある。ロジック自体は単純ではあるが、このような繰り返し作業を一括に記述することを自動生成処理の対象にすることにより、プログラム開発における生産性を大きく向上させることができる。   FIG. 32 shows the initialization process of the background color of each display item in the “slip header portion” when “BizBrowser” is the generation target language. As shown in FIG. 32, it is necessary to repeatedly describe the same logic for each display item. Although the logic itself is simple, productivity in program development can be greatly improved by making automatic generation processing a target of describing such repeated operations collectively.

第10の実施形態においては、前述したパネル変数をグループ化することにより、グループ化された複数の表示項目に対して一括命令を発行する構成を採用する。ここでは、パネル変数をグループ化したものを「変数グループ」と呼ぶ。   In the tenth embodiment, a configuration is adopted in which batch commands are issued to a plurality of grouped display items by grouping the aforementioned panel variables. Here, a group of panel variables is called a “variable group”.

以下、変数グループの各項目に対して一括に発行する命令セットを示す。   The instruction set issued collectively for each item of the variable group is shown below.

(1)「GetAndValidate」:画面の表示項目に対する妥当性の検査を行なった後、コントロールコマンドをパネル変数に取り込む。   (1) “GetAndValidate”: After checking the validity of the display items on the screen, the control command is taken into the panel variable.

(2)「CheckRequired」:入力されたコマンドに対して必須入力チェックを実行する。   (2) “Check Required”: A mandatory input check is performed on the input command.

(3)「SetOriginalState」:表示項目の背景色を初期値に戻す。   (3) “SetOriginalState”: The background color of the display item is returned to the initial value.

(4)「Put」:パネル変数の値を画面の表示項目に書き出す。   (4) “Put”: Writes the value of the panel variable to the display item on the screen.

これら(1)〜(4)の各命令をアクションダイアグラム上で変数グループに対していずれも1行分記述するだけで、ソースコードの生成時には、変数グループに含まれる表示項目に対して所定数分が繰り返して生成される。   Each instruction of (1) to (4) is described for one line for each variable group on the action diagram. When generating the source code, a predetermined number of display items included in the variable group are described. Is generated repeatedly.

これにより、単純な繰り返しのコーディング作業をなくすことができるため、プログラム開発における生産性の向上が図れる。   As a result, since it is possible to eliminate a simple repetitive coding operation, productivity in program development can be improved.

図33に第10の実施形態に係るGUI画面の表示項目に関するERDを示す。図33において、1つのGUI画面ごとに、「GUIフォーム」エンティティのデータが作成される。また、1つのGUI画面の表示項目ごとに「GUIコントロール」エンティティのデータが作成される。   FIG. 33 shows an ERD related to display items on the GUI screen according to the tenth embodiment. In FIG. 33, data of a “GUI form” entity is created for each GUI screen. In addition, data of a “GUI control” entity is created for each display item on one GUI screen.

「GUIフォーム」、「XE_GUIフォーム拡張」、「XE_DLCP」、「XE_BPTBL」及び「XE_ファンクション」はそれぞれ1対1で作成されて第2のリポジトリに登録される。例えば、図31に示した画面イメージにおける「伝票ヘッダー部」、「明細行編集エリア」及び「明細行一覧表示エリア」の単位で、「XE_ファンクション内変数グループ」が作成される。この「XE_ファンクション内変数グループ」に対して、前述した「GetAndValidate」コマンド等の一括命令を発行することにより、ソースコードの生成ロジックは、「XE_ファンクション内変数グループ」に従属する「XE_ファンクション内変数」の各表示項目に対してそれぞれ所定の処理が実行されて、複数のコントロールコマンドがソースコードに展開される。   “GUI form”, “XE_GUI form extension”, “XE_DLCP”, “XE_BPTBL”, and “XE_function” are created one-on-one and registered in the second repository. For example, “XE_function variable group” is created in units of “slip header part”, “detail line edit area”, and “detail line list display area” in the screen image shown in FIG. By issuing a batch instruction such as the above-mentioned “GetAndValidate” command to this “XE_function variable group”, the source code generation logic is subordinate to the “XE_function variable group”. A predetermined process is executed for each of the display items, and a plurality of control commands are expanded into the source code.

図34、図35、図36及び図37に、「GetAndValidate」コマンド、「Put」コマンド、「SetOriginalState」コマンド及び「CheckRequired」コマンドの各生成例を示す。   FIG. 34, FIG. 35, FIG. 36, and FIG. 37 show respective generation examples of the “GetAndValidate” command, the “Put” command, the “SetOriginalState” command, and the “CheckRequired” command.

なお、ロジックはサブルーチン化された状態で生成されるため、複数の箇所から発行された場合の冗長性が回避される。   Since the logic is generated in a subroutine state, redundancy when issued from a plurality of locations is avoided.

(第11の実施形態)
以下、本発明の第11の実施形態に係るシステム設計支援プログラムについて図面を参照しながら説明する。
(Eleventh embodiment)
Hereinafter, a system design support program according to an eleventh embodiment of the present invention will be described with reference to the drawings.

システムが使用する複数の項目のなかには、業務を区分する区分値を管理する項目が存在する。これらの項目には、一般に、意味を示す外部値と実際に格納される値である内部値とがある。例えば[表12]に示すように、得意先に対して「現金売り」と「掛売り」とを識別するための「入金方式区分」を持つような場合である。   Among a plurality of items used by the system, there is an item for managing a division value for dividing a business. These items generally include an external value indicating meaning and an internal value that is an actually stored value. For example, as shown in [Table 12], there is a case of having “payment method classification” for identifying “cash sale” and “payment sale” to the customer.

プログラム中の処理では内部値を使用するが、該当する項目を画面に表示する場合には、その内部値の意味を人が分かるように、内部値を外部値に変換して表示するのが一般的である。これを実現するために、通常は変換ロジックを個々に記述する必要がある。   Internal values are used in the processing in the program, but when displaying the corresponding item on the screen, it is common to convert the internal value to an external value and display it so that people can understand the meaning of the internal value. Is. To achieve this, it is usually necessary to describe the conversion logic individually.

この内部値の外部値への変換ロジックは単純ではあるものの、このような単純作業こそ自動生成処理の対象とすることにより、単純作業によるミスの防止とプログラム開発における生産性とを確実に向上することができる。   Although the conversion logic of this internal value to an external value is simple, such simple work is the target of automatic generation processing, so that mistakes caused by simple work and productivity in program development are reliably improved. be able to.

そこで、第11の実施形態に係る「MDFrame/X」は、実際のデータではなく、例えば第1のリポジトリに格納されている定義情報を参照する場合に、参照した定義情報を共通マクロ命令として展開させる方法を採る。   Therefore, “MDFrame / X” according to the eleventh embodiment expands the referenced definition information as a common macro instruction when referring to definition information stored in the first repository, for example, instead of actual data. Take a way.

図38に第11の実施形態に係る共通マクロに関するERDを示す。図38の「XE_ロジック行」に対して、アクションダイアグラムの1行分の情報が格納される。このとき、[表12]の外部値の変換処理を行なう場合に、ロジック行には「命令種別ST:コンディション名取得」の値が設定される。また、命令種別に対応する「XE_組込関数パラメータ」には、コンディション名を取得したい項目と、コンディション名を返したい項目とが登録されている。   FIG. 38 shows an ERD related to the common macro according to the eleventh embodiment. 38. Information for one line of the action diagram is stored in “XE_logic line” in FIG. At this time, when the external value conversion process of [Table 12] is performed, a value of “instruction type ST: condition name acquisition” is set in the logic line. In the “XE_built-in function parameter” corresponding to the instruction type, an item for which the condition name is to be acquired and an item for which the condition name is to be returned are registered.

また、ロジック行と対応する「XE_組込関数パラメータマッピング」に対して、「XE_組込関数パラメータ」と対応する項目をマッピング(対応付け)した情報が格納される。   In addition, information that maps (associates) items corresponding to “XE_built-in function parameters” to “XE_built-in function parameter mapping” corresponding to the logic row is stored.

図39は実際のアクションダイアグラムにより、共通マクロ命令に対するパラメータマッピングを行なう画面イメージを表わしている。図39において、「入力.MD_プグラムモード」の値を外部値に変換したものが「ローカル.U_モード#表示」に格納される。   FIG. 39 shows a screen image for performing parameter mapping for a common macro instruction by an actual action diagram. In FIG. 39, a value obtained by converting the value of “input.MD_program mode” into an external value is stored in “local.U_mode # display”.

図40に図39に示したアクションダイアグラムに入力された1行分のマクロ命令から4通りのソースコードとして生成される様子を示す。具体的には、第1のリポジトリの内容を参照して、「検索」、「削除」、「追加」及び「変更」のうちのいずれか1つの外部値を設定するか否かを判定するロジックが展開される。   FIG. 40 shows how four types of source code are generated from one line of macro instructions input to the action diagram shown in FIG. Specifically, referring to the contents of the first repository, logic for determining whether or not to set one of the external values of “search”, “delete”, “add”, and “change” Is expanded.

このように、ソースコードの生成時に、第1のリポジトリを参照することにより、定型的なロジックを自動生成することができるため、プログラムの開発効率を高めることができる。   As described above, when the source code is generated, the fixed logic can be automatically generated by referring to the first repository, so that the development efficiency of the program can be improved.

本発明に係るシステム設計支援プログラムは、上流設計用ツールである「XupperII」を用いて、下流工程であるプログラム開発をブリッジ及び人手を介することなく自動的に行なえるようになり、業務向けシステムのシステム設計に用いられるシステム設計支援プログラム(CASEツール)に用いるプログラム等として有用である。   The system design support program according to the present invention can automatically perform program development as a downstream process without using a bridge and a manpower by using “Xupper II” as an upstream design tool. It is useful as a program used for a system design support program (CASE tool) used for system design.

本発明の第1の実施形態に係るシステム設計支援プログラムを示す概略ブロック図である。It is a schematic block diagram which shows the system design support program which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るシステム設計支援プログラムにおける「MDFrame/X」が複数のソースコードを生成する様子を示すブロック図である。It is a block diagram which shows a mode that "MDFrame / X" in the system design support program which concerns on the 1st Embodiment of this invention produces | generates a some source code. 本発明の第1の実施形態に係るシステム設計支援プログラムにおけるスケルトンの一例を示すコード図である。It is a code diagram which shows an example of the skeleton in the system design support program which concerns on the 1st Embodiment of this invention. 図3に示すスケルトンによるソースコードの生成結果の一例を示すコード図である。FIG. 4 is a code diagram showing an example of a source code generation result by the skeleton shown in FIG. 3. 図3から図4の処理を実施する際のデータ構造を表わすエンティティ関連図(ERD)である。FIG. 5 is an entity relation diagram (ERD) showing a data structure when the processes of FIGS. 3 to 4 are performed. 本発明の第2の実施形態に係るシステム設計支援プログラムにおけるSQL定義に関するテーブル(ERD)の一例を示す図である。It is a figure which shows an example of the table (ERD) regarding SQL definition in the system design assistance program which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施形態に係るシステム設計支援プログラムにおける直接入力したSQL定義に関する情報を格納したテーブル(ERD)の一例を示す図である。It is a figure which shows an example of the table (ERD) which stored the information regarding the SQL definition directly input in the system design assistance program which concerns on the 2nd Embodiment of this invention. 本発明の第3の実施形態に係るシステム設計支援プログラムにおける第2のリポジトリに格納されたマクロファンクションのERDの一例を示す図である。It is a figure which shows an example of ERD of the macrofunction stored in the 2nd repository in the system design support program which concerns on the 3rd Embodiment of this invention. 本発明の第3の実施形態に係るシステム設計支援プログラムにおいて、あるファンクションにロジック(マクロファンクション)を入力した図である。It is the figure which input the logic (macro function) to a certain function in the system design support program which concerns on the 3rd Embodiment of this invention. 図9に示したマクロファンクションを呼び出す行と対応したウィザードを示す図である。It is a figure which shows the wizard corresponding to the line which calls the macro function shown in FIG. 図10に示したウィザードにおいて「次へ(F9)」のボタンが押下された後に表示されるウイザードを示す図である。FIG. 11 is a diagram showing a wizard displayed after a “Next (F9)” button is pressed in the wizard shown in FIG. 10. 本発明の第3の実施形態に係るシステム設計支援プログラムにおいて、マクロの実体を記述するためのNative文を受け付けるウイザードを示す図である。It is a figure which shows the wizard which receives the Native sentence for describing the substance of a macro in the system design support program which concerns on the 3rd Embodiment of this invention. 本発明の第4の実施形態に係る「XupperII」がアクセスするディクショナリに格納されたデータのフィールドに関するエンティティを示すERDの一例を示す図である。It is a figure which shows an example of ERD which shows the entity regarding the field of the data stored in the dictionary which "XupperII" which concerns on the 4th Embodiment of this invention accesses. 本発明の第4の実施形態に係るシステム設計支援プログラムにおいて、「XupperII」における「フィールドタイプ」と「MDFrame/X」における「XE_言語別データタイプ」とを互いに関連付けるERDの一例を示す図である。In the system design support program which concerns on the 4th Embodiment of this invention, it is a figure which shows an example of ERD which mutually associates "Field type" in "XupperII" and "Data type according to XE_language" in "MDFrame / X" . 本発明の第5の実施形態に係るシステム設計支援プログラムにおいて、アクションダイアグラムに対して「代入」処理を入力する際のウィザードの一例を示す図である。It is a figure which shows an example of the wizard at the time of inputting "assignment" processing with respect to an action diagram in the system design support program which concerns on the 5th Embodiment of this invention. 本発明の第5の実施形態に係るシステム設計支援プログラムにおいて、「XE_言語別データタイプ」と「XE_言語別データタイプ関連」とのERDの一例を示す図である。In the system design support program concerning a 5th embodiment of the present invention, it is a figure showing an example of ERD of "XE_language data type" and "XE_language data type relation". 本発明の第6の実施形態に係るシステム設計支援プログラムにおいて、アクションダイアグラムに対して「代入」処理を入力する際のウィザードの一例を示す図である。It is a figure which shows an example of the wizard at the time of inputting "assignment" processing with respect to an action diagram in the system design support program which concerns on the 6th Embodiment of this invention. 本発明の第6の実施形態に係るシステム設計支援プログラムにおいて、「XE_言語別データタイプ」と「XE_言語別データタイプ許容CND」とのERDの一例を示ス図である。In the system design support program concerning a 6th embodiment of the present invention, it is an example of ERD of "XE_language data type" and "XE_language data type permissible CND". 本発明の第7の実施形態に係るシステム設計支援プログラムにおける部分スケルトンに関するERDの一例を示す図である。It is a figure which shows an example of ERD regarding the partial skeleton in the system design assistance program which concerns on the 7th Embodiment of this invention. 本発明の第8の実施形態に係るシステム設計支援プログラムにおける「XupperII」が扱うGUIコントロールと、「MDFrame/X」が扱う「設計用GUIコントロール」と、生成対象となるGUIコントロールとの関係を表わすブロック図である。The relationship between the GUI control handled by “Xupper II”, the “design GUI control” handled by “MDFrame / X”, and the GUI control to be generated in the system design support program according to the eighth embodiment of the present invention is shown. It is a block diagram. 本発明の第8の実施形態に係るシステム設計支援プログラムにおける「XE_言語別省略時GUIコントロール割当」に関するERDの一例を示す図である。It is a figure which shows an example of ERD regarding "XE_language omission default GUI control allocation" in the system design support program which concerns on the 8th Embodiment of this invention. 本発明の第8の実施形態に係るシステム設計支援プログラムにおける設計用GUIコントロールに関するERDの一例を示す図である。It is a figure which shows an example of ERD regarding the design GUI control in the system design support program which concerns on the 8th Embodiment of this invention. 図22に示したプロパティ、メソッド及びイベントの3要素に対して各生成名に関する情報を格納するエンティティが追加されたERDの一例を示す図である。It is a figure which shows an example of ERD to which the entity which stores the information regarding each generation name was added with respect to three elements of a property, a method, and an event shown in FIG. 本発明の第9の実施形態に係るシステム設計支援プログラムにおける「BizBrowser」を生成対象言語とする場合のGUIコントロールの実装例を示すコード図である。It is a code figure which shows the implementation example of GUI control in the case of making "BizBrowser" into a production | generation object language in the system design support program which concerns on the 9th Embodiment of this invention. 本発明の第9の実施形態に係るシステム設計支援プログラムにおけるテキストボックスの場合とコンボボックスの場合との各項目の戻り値がいずれも「SQL_EXIST」であるか否かを判定する際に用いるロジックを示す図である。Logic used for determining whether or not the return value of each item in the case of the text box and the case of the combo box in the system design support program according to the ninth embodiment of the present invention is “SQL_EXIST”. FIG. 本発明の第9の実施形態に係るシステム設計支援プログラムにおけるパネル変数の定義を示す図である。It is a figure which shows the definition of the panel variable in the system design assistance program which concerns on the 9th Embodiment of this invention. 本発明の第9の実施形態に係るシステム設計支援プログラムにおけるパネル変数のアクセスの方法を示すブロック図である。It is a block diagram which shows the method of accessing the panel variable in the system design assistance program which concerns on the 9th Embodiment of this invention. 本発明の第9の実施形態に係るシステム設計支援プログラムにおける「GetAndValidate」メソッドの一生成例を示すコード図である。It is a code figure showing an example of 1 generation of a “GetAndValidate” method in a system design support program concerning a 9th embodiment of the present invention. 本発明の第9の実施形態に係るシステム設計支援プログラムにおける「Put」メソッドの一生成例を示すコード図である。It is a code figure showing an example of 1 generation of the "Put" method in the system design support program concerning a 9th embodiment of the present invention. 本発明の第9の実施形態に係るシステム設計支援プログラムにおけるパネル上の項目の戻り値に関する判定ロジックの一例を示すコード図である。It is a code figure which shows an example of the determination logic regarding the return value of the item on the panel in the system design support program which concerns on the 9th Embodiment of this invention. 本発明の第10の実施形態に係るシステム設計支援プログラムにおける伝票入力形式の画面イメージの一例を示す図である。It is a figure which shows an example of the screen image of the slip input format in the system design support program which concerns on the 10th Embodiment of this invention. 本発明の第10の実施形態に係るシステム設計支援プログラムにおいて、「BizBrowser」を生成対象言語とする場合の「伝票ヘッダー部」における各表示項目の背景色の初期化処理を示コード図である。In the system design support program which concerns on the 10th Embodiment of this invention, it is a code figure which shows the initialization process of the background color of each display item in the "slip header part" when making "BizBrowser" into a production | generation object language. 本発明の第10の実施形態に係るシステム設計支援プログラムにおけるGUI画面の表示項目に関するERDの一例を示す図である。It is a figure which shows an example of ERD regarding the display item of the GUI screen in the system design support program which concerns on the 10th Embodiment of this invention. 本発明の第10の実施形態に係るシステム設計支援プログラムにおける「GetAndValidate」メソッドの一生成例を示すコード図である。It is a code figure showing an example of 1 generation of a “GetAndValidate” method in a system design support program concerning a 10th embodiment of the present invention. 本発明の第10の実施形態に係るシステム設計支援プログラムにおける「Put」メソッドの一生成例を示すコード図である。It is a code figure showing an example of 1 generation of the "Put" method in the system design support program concerning a 10th embodiment of the present invention. 本発明の第10の実施形態に係るシステム設計支援プログラムにおける「SetOriginalState」メソッドの一生成例を示すコード図である。It is a code figure showing an example of 1 generation of a “SetOriginalState” method in a system design support program concerning a 10th embodiment of the present invention. 本発明の第10の実施形態に係るシステム設計支援プログラムにおける「CheckRequired」メソッドの一生成例を示すコード図である。It is a code diagram showing an example of generation of a “Check Required” method in the system design support program according to the tenth embodiment of the present invention. 本発明の第11の実施形態に係るシステム設計支援プログラムにおける共通マクロに関するERDの一例を示す図である。It is a figure which shows an example of ERD regarding the common macro in the system design support program which concerns on the 11th Embodiment of this invention. 本発明の第11の実施形態に係るシステム設計支援プログラムにおける実際のアクションダイアグラムにより、共通マクロ命令に対するパラメータマッピングを行なう画面イメージを表わす図である。It is a figure showing the screen image which performs parameter mapping with respect to a common macro instruction by the actual action diagram in the system design support program which concerns on the 11th Embodiment of this invention. 図39に示したアクションダイアグラムに入力された1行分のマクロ命令から4通りのソースコードとして生成されたコード図である。FIG. 40 is a code diagram generated as four types of source code from one line of macro instructions input to the action diagram shown in FIG. 39.

符号の説明Explanation of symbols

10 XupperII
11 第1のリポジトリ
20 MDFrame/X
21 第2のリポジトリ
30 統合リポジトリ
31 BizCRSファイル
32 Javaソース
33 Procedureソース
10 Xupper II
11 First repository 20 MDFrame / X
21 Second repository 30 Integrated repository 31 BizCRS file 32 Java source 33 Procedure source

Claims (13)

データ中心アプローチ手法を用いたシステム設計支援プログラムであって、
コンピュータに、
入力された業務フローを複数のプロセスに階層化する機能Aと、
前記各プロセスに用いる複数のエンティティと、該エンティティ同士の互いの関連を表わすエンティティ関連図を作成する機能Bと、
前記各プロセスに必要な入出力データ及び前記各エンティティのフィールドデータを保持するディクショナリを作成する機能Cと、
前記エンティティ関連図及び前記ディクショナリを参照して、グラフィカルユーザインタフェース設計を行なう機能Dと、
前記各プロセスにおける階層化データ、前記各エンティティの属性データ、前記ディクショナリ及び前記グラフィカルユーザインタフェース設計に関するデータをそれぞれ登録してリポジトリを作成する機能Eと、
前記各プロセス、前記各エンティティ、前記ディクショナリに保持されたデータ及び前記グラフィカルユーザインタフェース設計に関するデータのうちの少なくとも1つを参照し、且つ、外部から前記各プロセスを実行可能とするロジック定義を入力することにより、ソースコードを自動生成して出力する機能Fとを実現させ
前記機能Fは、前記ロジック定義を入力する際にSQL構文を用いており、前記ロジック定義を入力する際に、入力されたロジック定義が前記SQL構文に定義されている場合はウィザードによる対話形式を用いる一方、入力されたロジック定義が前記SQL構文に定義されていない場合は、定義されていないロジック定義を直接に入力して前記リポジトリに登録する機能を含むことを特徴とするシステム設計支援プログラム。
A system design support program using a data-centric approach,
On the computer,
Function A that stratifies the input business flow into multiple processes,
A plurality of entities used for each of the processes, and a function B for creating an entity relation diagram representing a relation between the entities;
A function C for creating a dictionary holding input / output data necessary for each process and field data of each entity;
A function D for designing a graphical user interface with reference to the entity relation diagram and the dictionary;
A function E for creating a repository by registering hierarchical data in each process, attribute data of each entity, data related to the dictionary and the graphical user interface design, respectively;
Reference is made to at least one of each process, each entity, data held in the dictionary, and data related to the graphical user interface design, and a logic definition that enables the processes to be executed from the outside is input. By realizing the function F that automatically generates and outputs the source code ,
The function F uses the SQL syntax when inputting the logic definition, and when the logic definition is input, if the input logic definition is defined in the SQL syntax, an interactive form by the wizard is used. On the other hand, when the input logic definition is not defined in the SQL syntax, the system design support program includes a function of directly inputting an undefined logic definition and registering it in the repository.
前記ソースコードは、Java言語、高速機関Procedure言語又はBizCRS言語であることを特徴とする請求項1に記載のシステム設計支援プログラム。   The system design support program according to claim 1, wherein the source code is a Java language, a high-speed engine Procedure language, or a BizCRS language. 前記機能Fにおける前記ソースコードは、前記各プロセスごとに該プロセスを実行するファンクションを有し、
前記機能Fは、前記ファンクションにおいて、前記ロジック定義を展開するロジック文の構成要素を、それぞれがソースコードの骨組みである複数のスケルトンにより構成する機能と、前記複数のスケルトンを、スケルトンロジック部と、置換文字列別生成ロジック部と、ユーザポイント別生成ロジック部とに分解する機能と、分解された前記置換文字列別生成ロジック部を、前記リポジトリに登録されたデータのうち前記置換文字列別生成ロジック部と対応するデータと置換する機能と、分解された前記ユーザポイント別生成ロジック部を、入力された前記ロジック定義と置換する機能とを含むことを特徴とする請求項1又は2に記載のシステム設計支援プログラム。
The source code in the function F has a function for executing the process for each process,
In the function, the function F is a function that configures a component of a logic statement that expands the logic definition by a plurality of skeletons, each of which is a framework of source code, and a plurality of skeletons, a skeleton logic unit, A function for decomposing into a generation logic unit for each replacement character string and a generation logic unit for each user point, and generating the decomposed generation logic unit for each replacement character string into the replacement character string among the data registered in the repository 3. The function according to claim 1, further comprising a function of replacing data corresponding to a logic part and a function of replacing the decomposed generation logic part by user point with the input logic definition. System design support program.
前記機能Fは、外部から前記スケルトンロジック部を書き換え可能とする機能を含むことを特徴とする請求項3に記載のシステム設計支援プログラム。   The system design support program according to claim 3, wherein the function F includes a function that allows the skeleton logic unit to be rewritten from the outside. 自動生成されないソースコードをあらかじめマクロファンクションとして前記リポジトリに登録する機能Gをさらに備え、
前記機能Fは、前記ソースコードを自動生成する際に、前記リポジトリに登録された前記マクロファンクションを前記ソースコードに展開する機能を含むことを特徴とする請求項1〜4のいずれか1項に記載のシステム設計支援プログラム。
A function G for registering source code not automatically generated in the repository as a macro function in advance;
The function F includes a function of expanding the macro function registered in the repository into the source code when the source code is automatically generated. The described system design support program.
前記機能Cは、前記各エンティティのフィールドデータにおけるデータ型を、前記ディクショナリに前記ソースコードの言語種別に応じて第1のマスタファイルとして保持することを特徴とする請求項1〜5のいずれか1項に記載のシステム設計支援プログラム。 6. The function C according to claim 1, wherein the data type of field data of each entity is stored in the dictionary as a first master file according to a language type of the source code. The system design support program described in the section. 前記機能Cは、前記各エンティティのフィールドデータ同士の間で実行されるデータの代入、演算、比較及び呼び出しパラメータの照合のうちの少なくとも1つの処理を行なう際に、行なう処理ごとの妥当性を判定するコードを前記ディクショナリに第2のマスタファイルとして保持する機能を含むことを特徴とする請求項6に記載のシステム設計支援プログラム。 The function C determines the validity of each process to be performed when performing at least one of data assignment, calculation, comparison, and call parameter matching performed between field data of each entity. The system design support program according to claim 6, further comprising a function of storing a code to be stored in the dictionary as a second master file . 前記機能Cは、前記各エンティティのフィールドデータ同士の間で実行されるデータの代入、比較及び呼び出しパラメータの照合のうちの少なくとも1つの処理を行なう際に、行なった処理の結果の出力条件ごとの妥当性を判定するコードを前記ディクショナリに第3のマスタファイルとして保持する機能を含むことを特徴とする請求項6又は7に記載のシステム設計支援プログラム。 When the function C performs at least one of data substitution, comparison, and call parameter matching executed between the field data of the entities, the function C is output for each output condition as a result of the processing performed. The system design support program according to claim 6 or 7, further comprising a function of holding a code for determining validity as a third master file in the dictionary . 前記機能Cは、前記各エンティティのフィールドデータ同士の間で実行されるデータの代入文、条件文、演算文及びパラメータの照合のうちの少なくとも1つの処理を行なう際に、行なう処理と対応するソースコードごとの生成ルールを前記ディクショナリに第4のマスタファイルとして保持する機能を含むことを特徴とする請求項6〜のいずれか1項に記載のシステム設計支援プログラム。 The function C is a source corresponding to a process to be performed when performing at least one of a data assignment statement, a conditional statement, an operation statement, and parameter matching executed between field data of the entities. The system design support program according to any one of claims 6 to 8 , further comprising a function of holding a generation rule for each code as a fourth master file in the dictionary . 前記機能Eは、前記グラフィカルユーザインタフェース設計に用いるコントロールコマンドにおけるプロパティ、メソッド及びイベントを前記ソースコードに依存しない設計用コントロールコマンドとして前記リポジトリに登録する機能を含み、
前記機能Fは、前記プロパティ、メソッド及びイベントを、前記設計用コントロールコマンドと、前記各エンティティのフィールドデータのデータ型と、前記ソースコードの種別とに基づいて、前記ソースコードと対応したグラフィカルユーザインタフェースを生成する機能を含むことを特徴とする請求項のいずれか1項に記載のシステム設計支援プログラム。
The function E includes a function of registering properties, methods, and events in a control command used for the graphical user interface design in the repository as a design control command independent of the source code,
The function F includes a graphical user interface corresponding to the source code based on the property, method, and event, the design control command, the field data type of each entity, and the type of the source code. system design support program according to any one of claims 1 to 9, characterized in that it comprises a function of generating.
前記機能Eは、前記グラフィカルユーザインタフェース設計に用いるコントロールコマンドの戻り値をパネル変数として前記リポジトリに登録する機能を含み、
前記機能Fは、前記パネル変数を前記ソースコードに依存しない論理メソッドを発行して取得し、取得したパネル変数を前記ソースコードに展開する機能を含むことを特徴とする請求項1〜10のいずれか1項に記載のシステム設計支援プログラム。
The function E includes a function of registering a return value of a control command used for the graphical user interface design in the repository as a panel variable,
11. The function F includes a function of acquiring the panel variable by issuing a logical method independent of the source code, and expanding the acquired panel variable into the source code. The system design support program according to claim 1.
前記機能Eは、前記グラフィカルユーザインタフェース設計に用い、種別が同一で複数のコントロールコマンドに参照される各パネル変数をグループ化して前記リポジトリに登録する機能を含み、
前記機能Fは、前記複数のコントロールコマンドを、前記グループ化されたパネル変数ごとに一のコマンドを発行する一括コマンドに変換する機能と、
前記一括コマンドを発行することにより、対応する前記パネル変数を取得し、取得したパネル変数をその括られた個数だけ前記ソースコードに展開する機能を含むことを特徴とする請求項1〜11のいずれか1項に記載のシステム設計支援プログラム。
The function E includes the function of grouping each panel variable that is used for the graphical user interface design and that is referred to by a plurality of control commands and registered in the repository.
The function F is a function of converting the plurality of control commands into a batch command for issuing one command for each of the grouped panel variables;
12. The function according to claim 1 , further comprising a function of acquiring the corresponding panel variable by issuing the batch command, and expanding the acquired panel variable into the source code by the number of the panel variables. The system design support program according to claim 1.
前記機能Eは、前記各プロセスに固有の定義情報を共通化した共通マクロ命令を前記リポジトリに登録する機能を含み、
前記機能Fは、前記ソースコードを生成する際に、前記ロジック定義が前記共通マクロ命令を参照する機能を含むことを特徴とする請求項1〜12のいずれか1項に記載のシステム設計支援プログラム。
The function E includes a function of registering, in the repository, a common macro instruction in which definition information unique to each process is shared.
The system design support program according to claim 1, wherein the function F includes a function in which the logic definition refers to the common macro instruction when generating the source code. .
JP2005223162A 2005-08-01 2005-08-01 System design support program Active JP4939007B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005223162A JP4939007B2 (en) 2005-08-01 2005-08-01 System design support program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005223162A JP4939007B2 (en) 2005-08-01 2005-08-01 System design support program

Publications (2)

Publication Number Publication Date
JP2007041707A JP2007041707A (en) 2007-02-15
JP4939007B2 true JP4939007B2 (en) 2012-05-23

Family

ID=37799648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005223162A Active JP4939007B2 (en) 2005-08-01 2005-08-01 System design support program

Country Status (1)

Country Link
JP (1) JP4939007B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018097361A1 (en) * 2016-11-23 2018-05-31 (주) 더존비즈온 Method for creating user-defined erp functions and computing system for executing same

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5190241B2 (en) * 2007-09-28 2013-04-24 新日鉄住金ソリューションズ株式会社 Information processing apparatus, information processing method, and program
JP2020027597A (en) * 2018-12-21 2020-02-20 如如研創股▲分▼有限公司 Software system generating system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0588863A (en) * 1991-09-27 1993-04-09 Kyoraku Co Ltd Program development supporting system
JPH10240514A (en) * 1997-02-27 1998-09-11 Tec Corp Automatic software generator

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018097361A1 (en) * 2016-11-23 2018-05-31 (주) 더존비즈온 Method for creating user-defined erp functions and computing system for executing same

Also Published As

Publication number Publication date
JP2007041707A (en) 2007-02-15

Similar Documents

Publication Publication Date Title
US7941463B2 (en) Methods of transforming application layer structure as objects
US7542980B2 (en) Methods of comparing and merging business process configurations
US7720879B2 (en) Methods of using an integrated development environment to configure business applications
US7958486B2 (en) Methods and systems for data-focused debugging and tracing capabilities
US8539003B2 (en) Systems and methods for identifying problems of a business application in a customer support system
US7702638B2 (en) Systems and methods for off-line modeling a business application
US20060241961A1 (en) Methods of optimizing legacy application layer control structure using refactoring
US20060242176A1 (en) Methods of exposing business configuration dependencies
US20060241999A1 (en) Methods of exposing a sequence of instructions into an object-oriented programming language
US20060242172A1 (en) Systems and methods for transforming logic entities of a business application into an object-oriented model
US20060293940A1 (en) Methods and systems for applying intelligent filters and identifying life cycle events for data elements during business application debugging
US20060293934A1 (en) Methods and systems for providing an integrated business application configuration environment
US20060242196A1 (en) Methods of exposing application layer integrity as object oriented programming language elements
US20060282458A1 (en) Methods and systems for merging business process configurations
US20060293935A1 (en) Methods and systems for incrementally exposing business application errors using an integrated display
US20060242174A1 (en) Systems and methods for using object-oriented tools to debug business applications
US20060242188A1 (en) Methods of exposing a missing collection of application elements as deprecated
US20160170719A1 (en) Software database system and process of building and operating the same
US20060242171A1 (en) Methods of using code-based case tools to verify application layer configurations
US20070271553A1 (en) Method and system for translating assembler code to a target language
US20060242177A1 (en) Methods of exposing business application runtime exceptions at design time
JPH08512152A (en) Incremental generation system
US20060242194A1 (en) Systems and methods for modeling and manipulating a table-driven business application in an object-oriented environment
JPH10254689A (en) Application constitution design supporting system for client/server system
JP4939007B2 (en) System design support program

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20070809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070809

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080731

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111226

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: 20120214

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120224

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150302

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4939007

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250