JP2007094453A - Program development support system, program development support method and program - Google Patents

Program development support system, program development support method and program Download PDF

Info

Publication number
JP2007094453A
JP2007094453A JP2005278831A JP2005278831A JP2007094453A JP 2007094453 A JP2007094453 A JP 2007094453A JP 2005278831 A JP2005278831 A JP 2005278831A JP 2005278831 A JP2005278831 A JP 2005278831A JP 2007094453 A JP2007094453 A JP 2007094453A
Authority
JP
Japan
Prior art keywords
design information
screen transition
unit
key
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005278831A
Other languages
Japanese (ja)
Inventor
Makiko Tsukada
真紀子 塚田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2005278831A priority Critical patent/JP2007094453A/en
Publication of JP2007094453A publication Critical patent/JP2007094453A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a program development support system for automatically generating a form of source code from one piece of design information obtained by collecting dynamic design information and static design information, an external file, and a test item. <P>SOLUTION: A class dependency relation analysis part 15 analyzes the dependency relation between classes of static design information, specifies a screen transition information specification key, and narrows static design information related to screen transition corresponding to the screen transition information specification key. A screen transition information specification key analysis part 18 determines the same key as the screen transition information specification key in the static design information from dynamic design information. The static design information narrowed by the analysis part 15 and the dynamic design information related to the screen transition corresponding to the screen transition information specification key determined by the analysis part 18 are collected as one piece of design information, and the form of source code, the external file and the test item are generated from the one piece of design information. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、プログラムの静的設計情報および動的設計情報からソースコードの雛型、外部ファイル、テスト項目を生成するプログラム開発支援システム、プログラム開発支援方法およびプログラムに関する。   The present invention relates to a program development support system, a program development support method, and a program for generating a source code template, an external file, and test items from program static design information and dynamic design information.

ソフトウェアの上流設計段階において、UML(Unified Modeling Language)などのモデルからソースコードを自動生成する技術がある(たとえば特許文献1)。かかる公知技術によると、静的設計情報を含むクラス図などから静的部分のプログラム・ソースコードを生成する一方、動的設計情報を含むステートチャート図などから動的部分のプログラム・ソースコードを生成し、これらのプログラム・ソースコードを結合して最終的な成果物としてのプログラム・ソースコードを自動生成できるとしている。   There is a technique for automatically generating source code from a model such as UML (Unified Modeling Language) in the upstream design stage of software (for example, Patent Document 1). According to such a known technique, a program / source code of a static part is generated from a class diagram including static design information, while a program / source code of a dynamic part is generated from a state chart including dynamic design information. These program source codes can be combined to automatically generate a program source code as a final product.

静的設計情報とは、オブジェクトとその間の静的な関係(構造)を記述した設計情報である。代表的なものとしてはクラス図、オブジェクト図などがある。クラス図は、システムを構成するクラス間の関係を記述したもの、オブジェクト図は、システムのある時点でのオブジェクトの関係を記述したものである。動的設計情報とは、オブジェクトの動的な関係を記述した設計情報であり、たとえば、シーケンス図、ステートチャート図などがある。シーケンス図は、オブジェクト間のメッセージの送受信関係を時系列で記述したもの、ステートチャート図は、オブジェクトの状態遷移を記述したものである。   Static design information is design information that describes objects and static relationships (structures) between them. Typical examples include class diagrams and object diagrams. The class diagram describes the relationship between classes constituting the system, and the object diagram describes the relationship of objects at a certain point in the system. The dynamic design information is design information describing a dynamic relationship between objects, and includes, for example, a sequence diagram and a state chart diagram. The sequence diagram describes the message transmission / reception relationship between objects in time series, and the state chart diagram describes the state transitions of objects.

しかし、この公知技術では、ソースコードの自動生成に特化されており、後述する外部ファイルやテスト項目の生成に関しては何ら検討がなされていない。   However, this known technique is specialized in automatic generation of source code, and no consideration is given to generation of external files and test items described later.

ここで、外部ファイルとは、最終的な成果物であるプログラムの動作を補うために必要な設定情報であり、たとえば画面の遷移に関する情報などである。画面の遷移に関する情報としては、画面遷移で利用するクラス名(ロジック名)、画面名(画面プログラム名)との組み合わせなどがある。これは、ソフトウェアの上流設計の段階では、静的設計情報および動的設定情報を実際のプラットフォームでの呼び出し関係までを意識した構造で記述しようとすると莫大な作業量になってしまうことに起因する。よって、目的のプラットフォーム上で動作するプログラムを開発するためには、静的設計情報および動的設定情報から生成されたソースコードの他に上記のような外部ファイルが必要となる。   Here, the external file is setting information necessary for supplementing the operation of the program that is the final product, such as information relating to screen transitions. Information related to screen transition includes a combination of a class name (logic name) and a screen name (screen program name) used for screen transition. This is because in the upstream design stage of software, it would be an enormous amount of work if an attempt was made to describe static design information and dynamic setting information in a structure that takes into account the call relationship on the actual platform. . Therefore, in order to develop a program that operates on the target platform, an external file as described above is required in addition to the source code generated from the static design information and the dynamic setting information.

テスト項目とは、最終的な成果物であるプログラムをテストするために必要な方法・手順などの情報である。
特開2002−116911号公報
The test item is information such as a method / procedure necessary for testing the program that is the final product.
JP 2002-116911 A

ソフトウェアの上流設計で得られる各種ドキュメントから、ソースコード、外部ファイルおよびテスト項目を生成する仕組みには図19に示すようなものがある。   FIG. 19 shows a mechanism for generating source code, external files, and test items from various documents obtained by upstream design of software.

ここで、静的設計情報401および動的設計情報402はそれぞれプラットフォームに依存する形式の設計情報(PSM)である。ソースコード403は静的設計情報から自動生成されるソースコードの雛型である。以降、単に「ソースコード」と記述されたものについても同義である。外部ファイル404は、アプリケーション開発者による静的設計情報の入力の下で外部ファイル自動生成装置405によって自動生成される。テスト項目406は、アプリケーション開発者による動的設計情報の入力と、アプリケーション開発者による選択形式でのテスト項目生成ルール407の入力の下で、テスト項目自動生成装置408によって自動生成される。テスト項目生成ルール407とは、テスト項目を生成するためのルール形式のデータである。図20に、上記の仕組みによる、ソースコード403、外部ファイル404およびテスト項目406の生成に関するシーケンスを示す。   Here, the static design information 401 and the dynamic design information 402 are design information (PSM) in a format depending on each platform. The source code 403 is a template of source code automatically generated from static design information. Hereinafter, what is simply described as “source code” is also synonymous. The external file 404 is automatically generated by the external file automatic generation device 405 under the input of static design information by the application developer. The test item 406 is automatically generated by the test item automatic generation device 408 under the input of the dynamic design information by the application developer and the input of the test item generation rule 407 in the selection format by the application developer. The test item generation rule 407 is rule format data for generating a test item. FIG. 20 shows a sequence related to generation of the source code 403, the external file 404, and the test item 406 by the above mechanism.

図21は、上記の仕組みを、近年プログラムの開発手法として注目されているMDA(Model Driven Architecture)に対応させた場合の構成を示す図である。   FIG. 21 is a diagram showing a configuration when the above-described mechanism is made compatible with MDA (Model Driven Architecture) that has been attracting attention as a program development technique in recent years.

MDAは、プラットフォーム(特定のプログラミング環境)に依存せず、UMLなどの標準モデリング技法を使ってアプリケーションの機能をモデル化し、さらにそのモデル情報を基にコードを自動生成する開発手法である。MDAでは、まず実装技術から独立する形でビジネスプロセスを分析し、プラットフォームに依存しないモデルであるPIM(Platform Independent Model)を作成し、続いてPIMをベースに個別プラットフォームに特化したモデルであるPSM(Platform Specific Model)を生成する。さらにPIMもしくはPSMの情報から、ツールを使って実際のソースコード301に変換して実装作業を進めていく。   MDA is a development method that does not depend on a platform (a specific programming environment), models an application function using a standard modeling technique such as UML, and further automatically generates code based on the model information. In MDA, business processes are analyzed in a manner independent of mounting technology, a platform independent model (PIM) is created, and then PSM is a model specialized for individual platforms based on PIM. (Platform Specific Model) is generated. Further, the PIM or PSM information is converted into actual source code 301 using a tool, and the mounting work proceeds.

図21の仕組みでは、プラットフォームに依存しない静的設計情報(PIM)411を静的設計情報用モデルコンパイラ412によって個別プラットフォームに特化した静的設計情報(PSM)401に変換し、この静的設計情報(PSM)401をベースにソースコード403を生成する。一方、プラットフォームに依存しない動的設計情報(PIM)413を、動的設計情報用モデルコンパイラ414によって個別プラットフォームに特化した動的設計情報(PSM)402に変換し、この動的設計情報(PSM)402と先の静的設計情報(PSM)401から外部ファイル404を生成する。また、動的設計情報(PSM)402と図示しないテスト項目生成ルールからテスト項目406を生成する。   In the mechanism of FIG. 21, static design information (PIM) 411 that does not depend on the platform is converted into static design information (PSM) 401 specialized for an individual platform by a model compiler 412 for static design information. Source code 403 is generated based on information (PSM) 401. On the other hand, the platform-independent dynamic design information (PIM) 413 is converted into dynamic design information (PSM) 402 specialized for an individual platform by the dynamic design information model compiler 414, and the dynamic design information (PSM) ) 402 and an external file 404 are generated from the previous static design information (PSM) 401. Also, a test item 406 is generated from the dynamic design information (PSM) 402 and a test item generation rule (not shown).

しかしながら、上記の仕組みでは次のような問題がある。   However, the above mechanism has the following problems.

1.外部ファイル404の作成には静的設計情報と動的設計情報が必要である。しかし、UMLなどの標準モデリング技法には静的設計情報と動的設計情報を同時に記述できるダイアグラム(図)がないため、外部ファイル404の作成の際には少なくとも2つのダイアグラムから必要な情報を取り出さなければならない。   1. The creation of the external file 404 requires static design information and dynamic design information. However, since standard modeling techniques such as UML do not have diagrams (diagrams) that can describe static design information and dynamic design information at the same time, the necessary information is extracted from at least two diagrams when the external file 404 is created. There must be.

2.図22に示すように、プラットフォームに依存しない動的設計情報(PIM)413には、画面遷移中に用いられるクラス名や画面遷移条件などの情報を記述できない。ところが、個別プラットフォームに特化した動的設計情報(PSM)402の場合には、画面遷移中に用いられるクラス名や、”「検索」ボタンを押す”といったような画面遷移条件などの情報が必要となる。したがって、プラットフォームに依存しない動的設計情報(PIM)413から個別プラットフォームに特化した動的設計情報(PSM)402を自動生成することは現実的に困難である。また、テスト項目406の作成についても、プラットフォームに依存しない動的設計情報(PIM)413だけでは不十分であり、画面遷移中に用いられるクラス名や画面遷移条件などの情報が必要である。   2. As shown in FIG. 22, the platform-independent dynamic design information (PIM) 413 cannot describe information such as class names and screen transition conditions used during screen transition. However, in the case of dynamic design information (PSM) 402 specialized for an individual platform, information such as the class name used during screen transition and screen transition conditions such as “Press the“ Search ”button” is required. Therefore, it is practically difficult to automatically generate dynamic design information (PSM) 402 specialized for each platform from platform-independent dynamic design information (PIM) 413. In addition, test item 406 is difficult. In addition, the dynamic design information (PIM) 413 that does not depend on the platform is not sufficient, and information such as a class name and a screen transition condition used during screen transition is necessary.

3.上記2.の問題に関し、アプリケーション開発者が手入力でクラス名や画面遷移条件などの情報を追加して解決を図ることは可能である。しかし、最終的に静的設計情報と動的設計情報の2つのダイアグラムを管理することとなり、管理が煩雑になる。   3. 2. It is possible for application developers to solve the problem by manually adding information such as class names and screen transition conditions. However, the two diagrams of static design information and dynamic design information are finally managed, and management becomes complicated.

本発明は、かかる事情を鑑み、静的設計情報と動的設計情報とを1つにまとめた設計情報を得て、この設計情報に基づいてソースコードの雛型、外部ファイル、テスト項目を自動生成することのできるプログラム開発支援システム、プログラム開発支援方法およびプログラムを提供しようとするものである。   In view of such circumstances, the present invention obtains design information obtained by combining static design information and dynamic design information into one, and automatically generates a source code template, an external file, and test items based on the design information. An object of the present invention is to provide a program development support system, a program development support method, and a program that can be generated.

上記の課題を解決するために、本発明のプログラム開発支援システムは、プログラムの画面の遷移に関する画面遷移情報およびこの画面遷移情報を特定するキーを含む動的設計情報と、前記プログラムを構成するクラス間の関係を示す情報および前記キーを含む静的設計情報とを保持するプログラム設計情報保持部と、前記プログラム設計情報保持部に保持された静的設計情報のクラス間の依存関係を解析するとともに前記キーを判定し、前記判定したキーに対応する画面遷移に関連する静的設計情報を絞り込むクラス依存関係解析部と、前記プログラム設計情報保持部に保持された動的設計情報に含まれるキーを判定する画面遷移情報特定キー解析部と、前記クラス依存関係解析部によって絞り込まれた静的設計情報と、前記画面遷移情報特定キー解析部によって判定された前記キーに対応する画面遷移に関連する動的設計情報とを1つの設計情報として出力する設計情報出力部と、前記設計情報出力部によって出力された設計情報に基づいて、ソースコードの雛型、外部ファイル、テスト項目のうち少なくとも一つを生成する生成部とを具備することを特徴とする。   In order to solve the above problems, a program development support system according to the present invention includes screen transition information related to screen transition of a program, dynamic design information including a key for specifying the screen transition information, and classes constituting the program A program design information holding unit for holding information indicating a relationship between the keys and static design information including the key, and analyzing a dependency relationship between classes of the static design information held in the program design information holding unit A class dependency analysis unit that determines the key and narrows down static design information related to the screen transition corresponding to the determined key; and a key included in the dynamic design information held in the program design information holding unit. Screen transition information specifying key analysis unit to be determined, static design information narrowed down by the class dependency analysis unit, and the screen transition information Based on the design information output unit that outputs the dynamic design information related to the screen transition corresponding to the key determined by the constant key analysis unit as one design information, and the design information output by the design information output unit And a generation unit that generates at least one of a source code template, an external file, and a test item.

本発明によれば、共通の画面遷移に関連する動的設計情報と静的設計情報とをまとめた1つの設計情報が得られるので、この1つの設計情報からソースコードの雛型、外部ファイル、テスト項目を自動生成することができる。   According to the present invention, since one design information in which dynamic design information and static design information related to a common screen transition are collected is obtained, a source code template, an external file, Test items can be automatically generated.

また、テスト項目の生成において”「検索」ボタンを押す”といったような画面遷移の条件などの情報も必要とする場合には、この画面遷移の条件を動的設計情報にあらかじめ組み込んでおき、画面遷移情報特定キー解析部が必要な動的設計情報を絞り込む際に、画面遷移条件を絞り込み結果に含めるようにすればよい。さらに、動的設計情報と静的設計情報が1つの設計情報として管理できることで管理に負担が軽減されるという効果も得られる。   In addition, if you need information such as screen transition conditions such as “Press the“ Search ”button” when generating test items, you can incorporate the screen transition conditions in the dynamic design information in advance. When the transition information identification key analysis unit narrows down the necessary dynamic design information, the screen transition condition may be included in the narrowed down result, and the dynamic design information and the static design information are managed as one design information. This can also reduce the burden on management.

さらに、本発明は、設計情報出力部によって出力された設計情報を表示する表示部と、表示部に表示された設計情報に対してアプリケーション開発者からの入力に基づく編集を行う入力支援部とを付加した構成を有するものであってもよい。   Furthermore, the present invention includes a display unit that displays design information output by the design information output unit, and an input support unit that performs editing based on an input from an application developer for the design information displayed on the display unit. It may have an added configuration.

本発明によれば、静的設計情報とこれに関連する動的設計情報とを1つにまとめた設計情報を得ることができ、この設計情報に基づいてソースコードの雛型、外部ファイル、テスト項目を自動生成することができる。   According to the present invention, it is possible to obtain design information in which static design information and related dynamic design information are combined into one, and based on this design information, a source code template, an external file, a test Items can be automatically generated.

以下、本発明の実施の形態を図面に基づき説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1は本発明の一実施形態にかかるアプリケーション開発支援システム100とその周辺部の構成を示す図である。   FIG. 1 is a diagram showing a configuration of an application development support system 100 and its peripheral part according to an embodiment of the present invention.

同図において、本実施形態のアプリケーション開発支援システム100は点線によって囲まれた部分である。本実施形態のアプリケーション開発支援システム100はソースコード・外部ファイル・テスト項目生成装置1を有する。このソースコード・外部ファイル・テスト項目生成装置1は、プラットフォームに依存しない静的設計情報(PIM)201から静的設計情報用モデルコンパイラ202によって変換された、個別プラットフォームに特化した静的設計情報(PSM)203と、プラットフォームに依存しない動的設計情報(PIM)204と、テストの観点および判断基準に関するノウハウをルール形式で表現したデータであるテスト項目生成ルール205を入力とし、ソースコード301、外部ファイル302、テスト項目303を自動生成する装置である。   In the figure, the application development support system 100 of the present embodiment is a portion surrounded by a dotted line. The application development support system 100 according to the present embodiment includes a source code / external file / test item generation apparatus 1. This source code / external file / test item generation apparatus 1 is a static design information specialized for an individual platform, converted from a platform-independent static design information (PIM) 201 by a model compiler 202 for static design information. (PSM) 203, platform-independent dynamic design information (PIM) 204, and test item generation rules 205, which are data expressing know-how regarding test viewpoints and judgment criteria in a rule format, are input, and source code 301, It is a device that automatically generates an external file 302 and test items 303.

ソースコード・外部ファイル・テスト項目生成装置1は、典型的なコンピュータの構成、つまり、中央処理演算部、主メモリ、入力部、出力部などによって構成される。主メモリはソースコード・外部ファイル・テスト項目生成装置1の処理手順(プログラム)などを格納する。中央処理演算部は主メモリに格納された処理手順を実行する。   The source code / external file / test item generation apparatus 1 is configured by a typical computer configuration, that is, a central processing unit, a main memory, an input unit, an output unit, and the like. The main memory stores a source code, an external file, a processing procedure (program) of the test item generating apparatus 1, and the like. The central processing unit executes the processing procedure stored in the main memory.

図2は本実施形態のアプリケーション開発支援システム100におけるソースコード・外部ファイル・テスト項目生成装置1の構成を示すブロック図である。   FIG. 2 is a block diagram showing the configuration of the source code / external file / test item generation apparatus 1 in the application development support system 100 of this embodiment.

同図において、ソースコード・外部ファイル・テスト項目生成装置1の表示・入力部11は、アプリケーション開発者からの各種の入力、静的設計情報と動的設計情報とを一つにまとめた設計情報の表示などを行うマンマシンインタフェースである。また、この表示・入力部11は、画面に表示させる設計情報を記憶する記憶部を含む。   In the figure, the display / input unit 11 of the source code / external file / test item generating device 1 is a design information that combines various inputs from the application developer, static design information and dynamic design information. It is a man-machine interface that displays and the like. The display / input unit 11 includes a storage unit that stores design information to be displayed on the screen.

静的設計情報生成制御部12は、表示・入力部11に表示する静的設計情報の生成に関する制御を行う。   The static design information generation control unit 12 performs control related to generation of static design information displayed on the display / input unit 11.

動的設計情報生成制御部13は、表示・入力部11に表示する動的設計情報の生成に関する制御を行う。   The dynamic design information generation control unit 13 performs control related to generation of dynamic design information displayed on the display / input unit 11.

プログラム設計情報保持部14は、動的設計情報生成制御部13からの命令によって静的設計情報(PSM)203および動的設計情報(PIM)204を読み込み保持する。   The program design information holding unit 14 reads and holds static design information (PSM) 203 and dynamic design information (PIM) 204 in accordance with an instruction from the dynamic design information generation control unit 13.

クラス依存関係解析部15は、プログラム設計情報保持部14に保持された静的設計情報を読み込み、この静的設計情報のクラス間の依存関係を解析するとともに、この静的設計情報に組み込まれた画面遷移情報特定キーを判定し、この判定した画面遷移情報特定キーに対応する画面遷移に関連する静的設計情報を絞り込む。   The class dependency analysis unit 15 reads the static design information held in the program design information holding unit 14, analyzes the dependency between the classes of the static design information, and incorporates the static design information into the static design information. The screen transition information identification key is determined, and the static design information related to the screen transition corresponding to the determined screen transition information identification key is narrowed down.

画面遷移情報特定キー解析部18は、クラス依存関係解析部15によって判定された静的設計情報の中の画面遷移情報特定キーと同じキーを、プログラム設計情報保持部14に保持された動的設計情報の中から判定する。   The screen transition information specifying key analyzing unit 18 uses the same key as the screen transition information specifying key in the static design information determined by the class dependency relationship analyzing unit 15, in the dynamic design held in the program design information holding unit 14. Judge from information.

設計情報出力部16は、クラス依存関係解析部15によって絞り込まれた静的設計情報と、画面遷移情報特定キー解析部18によって判定された画面遷移情報特定キーに対応する画面遷移に関連する動的設計情報を表示・入力部11に出力することによって、共通の画面遷移に関連する静的設計情報と動的設計情報とを1つの設計情報としてまとめる。   The design information output unit 16 includes dynamic design related to the static design information narrowed down by the class dependency analysis unit 15 and the screen transition corresponding to the screen transition information identification key determined by the screen transition information identification key analysis unit 18. By outputting the design information to the display / input unit 11, the static design information and the dynamic design information related to the common screen transition are combined as one design information.

入力支援部17は、クラス依存関係解析部15によって絞り込まれた静的設計情報に対してアプリケーション開発者からの入力に基づく編集を行う。   The input support unit 17 edits the static design information narrowed down by the class dependency relationship analysis unit 15 based on the input from the application developer.

ソースコード生成制御部19は、表示・入力部11に表示された設計情報に対してソースコード301の生成に関する制御を行う。   The source code generation control unit 19 controls the generation of the source code 301 for the design information displayed on the display / input unit 11.

テスト項目生成制御部20は、表示・入力部11に表示された設計情報に対してテスト項目303の生成に関する制御を行う。   The test item generation control unit 20 controls the generation of the test item 303 for the design information displayed on the display / input unit 11.

外部ファイル生成制御部21は、表示・入力部11に表示された設計情報に対して外部ファイル302の生成に関する制御を行う。   The external file generation control unit 21 controls the generation of the external file 302 with respect to the design information displayed on the display / input unit 11.

プログラム設計情報取得部22は、ソースコード生成制御部19、テスト項目生成制御部20もしくは外部ファイル生成制御部21による制御の下で、表示・入力部11の記憶部から設計情報を取得する。   The program design information acquisition unit 22 acquires design information from the storage unit of the display / input unit 11 under the control of the source code generation control unit 19, the test item generation control unit 20, or the external file generation control unit 21.

プログラム設計情報解析部23は、プログラム設計情報取得部22に保持されている設計情報を、ソースコード301、テスト項目303および外部ファイル302を生成できるように解析する。   The program design information analysis unit 23 analyzes the design information held in the program design information acquisition unit 22 so that the source code 301, the test item 303, and the external file 302 can be generated.

テンプレート保持部24は、ソースコード301および外部ファイル302を生成するためのテンプレートを保持している部分である。   The template holding unit 24 is a part that holds a template for generating the source code 301 and the external file 302.

テスト項目生成ルール205は、テスト項目を生成するためのルール形式のデータである。   The test item generation rule 205 is rule format data for generating a test item.

出力部25は、プログラム設計情報解析部23による設計情報の解析結果を受け取り、テンプレート保持部24に保持されているテンプレートおよびテスト項目生成ルール205などを用いて、ソースコード301、外部ファイル302、テスト項目303を生成し出力する。   The output unit 25 receives the analysis result of the design information by the program design information analysis unit 23, and uses the template and the test item generation rule 205 held in the template holding unit 24 to use the source code 301, the external file 302, the test An item 303 is generated and output.

図3は静的設計情報であるクラス図の例である。   FIG. 3 is an example of a class diagram which is static design information.

クラス図はシステムを構成するクラス間の関係を記述したものである。ここで、クラスの役割を示すステレオタイプが<<process>>のクラスであるsampleProcessActionクラス31にはタグ情報32が付加されており、このタグ情報32の中には画面遷移情報を特定するキー33(以下「画面遷移情報特定キー」と記述)が設定されている。   The class diagram describes the relationship between the classes that make up the system. Here, tag information 32 is added to the sampleProcessAction class 31 which is a class whose process stereotype is << process >>, and a key 33 for specifying screen transition information is included in the tag information 32. (Hereinafter referred to as “screen transition information identification key”) is set.

図4は図3の静的設計情報をXMLで記述したものである。41はクラス名(クラスID)の記述部である。42はクラス間の依存関係の記述部であり、clientは依存元のクラスID、supplierは依存先のクラスIDである。43はクラスのタグ情報の記述部であり、上記の画面遷移情報特定キー33として”registUser”と”showList”が設定されている。   FIG. 4 describes the static design information of FIG. 3 in XML. Reference numeral 41 denotes a description part of a class name (class ID). 42 is a description part of the dependency relationship between classes, client is a class ID of a dependency source, and supplier is a class ID of a dependency destination. 43 is a description part of the tag information of the class, and “registUser” and “showList” are set as the screen transition information specifying key 33 described above.

図5は動的設計情報であるステートチャート図の例である。   FIG. 5 is an example of a state chart that is dynamic design information.

同図に示すように、ステートチャート図は、画面の状態遷移を記述したものである。一つ一つの画面の遷移には、画面遷移条件51および画面遷移情報特定キー52が記述されている。画面遷移情報特定キー52は図3及び図4に示したクラス図に記述された画面遷移情報特定キー33に対応するものである。本例のステートチャート図は、index.jspの画面53で「登録」ボタンを押すことによって、registUserForm.jspの画面54に遷移することと、index.jspの画面53で「検索」ボタンを押すことによって、showList.jspの画面55に遷移することが表現されている。ここで、”「登録」ボタンを押す”、”「検索」ボタンを押す”が画面遷移条件51となる。画面遷移情報特定キー52はそれぞれの画面遷移条件51に対応して付加される。なお、動的設計情報への画面遷移情報特定キー52の組み込みは、表示された候補からアプリケーション開発者が選択する形式で行うようにしてもよい。   As shown in the figure, the state chart diagram describes the state transition of the screen. In each screen transition, a screen transition condition 51 and a screen transition information specifying key 52 are described. The screen transition information identification key 52 corresponds to the screen transition information identification key 33 described in the class diagrams shown in FIGS. In the state chart diagram of this example, when the “Register” button is pressed on the index.jsp screen 53, the screen transitions to the registUserForm.jsp screen 54 and the “Search” button is pressed on the index.jsp screen 53. This represents that transition to the screen 55 of showList.jsp is performed. Here, “press the“ register ”button” and “press the“ search ”button” are the screen transition conditions 51. The screen transition information specifying key 52 is added corresponding to each screen transition condition 51. The incorporation of the screen transition information identification key 52 into the dynamic design information may be performed in a format selected by the application developer from the displayed candidates.

図6は図5の動的設計情報をXMLで記述したものである。61はリクエストがshowListの遷移情報であり、この中に画面遷移情報特定キーとして”showList”が記述されているとともに、画面遷移条件として”「検索」ボタンを押す”が記述されている。また、62はリクエストがregistUserの遷移情報であり、この中に画面遷移情報特定キーとして”registUser”が記述されているとともに、画面遷移条件として”「検索」ボタンを押す”が記述されている。   FIG. 6 describes the dynamic design information of FIG. 5 in XML. The request 61 is transition information of the showList, in which “showList” is described as the screen transition information specifying key, and “push“ search ”button” is described as the screen transition condition. 62 is the transition information of the request registUser, in which “registUser” is described as the screen transition information specifying key, and “Press the“ Search ”button” is described as the screen transition condition.

次に、本実施形態のアプリケーション開発支援システム100の動作を説明する。   Next, the operation of the application development support system 100 of this embodiment will be described.

図7は本実施形態のアプリケーション開発支援システム100のソースコード・外部ファイル・テスト項目生成装置1による静的設計情報の読み込みに関するシーケンス図である。   FIG. 7 is a sequence diagram relating to reading of static design information by the source code / external file / test item generation apparatus 1 of the application development support system 100 of this embodiment.

まず、アプリケーション開発者300画面で静的設計情報の表示命令を入力する(S1)。この静的設計情報の表示命令は、表示・入力部11を通じて静的設計情報生成制御部12に与えられ(S2)、静的設計情報生成制御部12はプログラム設計情報保持部14に静的設計情報の読み込み命令を出す(S3)。プログラム設計情報保持部14は静的設計情報の読み込み命令を受けて静的設計情報(PSM)203を読み込み、保持する(S4,S5)。   First, a static design information display command is input on the application developer 300 screen (S1). The static design information display command is given to the static design information generation control unit 12 through the display / input unit 11 (S2), and the static design information generation control unit 12 sends a static design information to the program design information holding unit 14. An information read command is issued (S3). The program design information holding unit 14 receives and holds the static design information (PSM) 203 in response to a static design information read command (S4, S5).

次に、静的設計情報生成制御部12はクラス依存関係解析部15に、読み込んだ静的設計情報のクラス依存関係の解析命令を出す(S6)。クラス依存関係解析部15は、この解析命令を受けると、プログラム設計情報保持部14に対して静的設計情報の取得命令を出し(S7)、静的設計情報を取得し(S8)、この静的設計情報に記述されたクラス依存関係を解析するとともに静的設計情報に組み込まれた画面遷移情報特定キーを判定して、この判定した画面遷移情報特定キーに対応する画面遷移に関連する静的設計情報の絞り込みを行う(S9)。   Next, the static design information generation control unit 12 issues a class dependency relationship analysis command of the read static design information to the class dependency relationship analysis unit 15 (S6). Upon receiving this analysis instruction, the class dependency relationship analysis unit 15 issues a static design information acquisition instruction to the program design information holding unit 14 (S7), acquires static design information (S8), and Static analysis related to the screen transition corresponding to the determined screen transition information specific key by analyzing the class dependency described in the static design information and determining the screen transition information specific key embedded in the static design information The design information is narrowed down (S9).

この後、静的設計情報生成制御部12は設計情報出力部16に対して設計情報の出力命令を出す(S10)。設計情報出力部16はこの命令を受けると、クラス依存関係解析部15に対して静的設計情報の絞り込み結果の取得命令を出して(S11)、静的設計情報の絞り込み結果を取得する(S12)。   Thereafter, the static design information generation control unit 12 issues a design information output command to the design information output unit 16 (S10). Upon receiving this instruction, the design information output unit 16 issues a static design information narrowing result acquisition command to the class dependency relationship analyzing unit 15 (S11), and acquires the static design information narrowing result (S12). ).

次に、設計情報出力部16は入力支援部17を呼び出し、取得した静的設計情報の絞り込み結果を入力支援部17に渡す(S13)。入力支援部17は、アプリケーション開発者300からの入力の下、静的設計情報の絞り込み結果に対して人的な判断に基づく修正、追加、画面遷移の絞り込みなどの編集を行う(S14)。編集後の静的設計情報は設計情報出力部16へ渡され(S15)、設計情報出力部16から表示・入力部11に表示用のデータとして出力されて(S16)、アプリケーション開発者300に表示される(S17)。   Next, the design information output unit 16 calls the input support unit 17, and passes the obtained static design information narrowing result to the input support unit 17 (S13). Under the input from the application developer 300, the input support unit 17 edits the static design information narrowing result, such as correction based on human judgment, addition, and screen transition narrowing (S14). The edited static design information is transferred to the design information output unit 16 (S15), output from the design information output unit 16 to the display / input unit 11 as display data (S16), and displayed to the application developer 300. (S17).

図8は静的設計情報の絞り込みに関する例である。   FIG. 8 shows an example of narrowing down the static design information.

静的設計情報の絞り込み結果は表81にマッピングされる。この表81の中のレコードは、画面遷移ごと、つまりステレオタイプが<<process>>であるクラス31のタグ情報32中の画面遷移情報特定キー33ごとに作成される。したがって、図8の例では”registUser”と”showList”の画面遷移情報特定キー33にそれぞれ対応するレコードが作成される。   The results of narrowing down the static design information are mapped in Table 81. The record in this table 81 is created for each screen transition, that is, for each screen transition information specifying key 33 in the tag information 32 of the class 31 whose stereotype is << process >>. Therefore, in the example of FIG. 8, records corresponding to the screen transition information specifying keys 33 of “registUser” and “showList” are created.

表81のレコードは静的設計情報と動的設計情報の絞り込み結果が入る複数の項目で構成される。静的設計情報の絞り込み結果が入る項目には、ステレオタイプが<<process>>であるクラスのクラス名がセットされるアクション、ステレオタイプが<<dataSet>>であるクラスのクラス名がセットされるアクションフォーム、ステレオタイプが<<servicePackage>>であるクラスのクラス名がセットされるWeb層サービス、そのWeb層サービスの操作がセットされる操作、ステレオタイプが<<DAO>>であるクラスのクラス名がセットされるエンティティ、ステレオタイプが<<valueObject>>であるクラスのクラス名がセットされる処理結果データセットなどがある。動的設計情報の絞り込み結果が入る項目には、リクエスト発生画面、画面遷移条件が入るリクエスト、画面遷移情報特定キーが入るリクエストパス、遷移先画面などの項目がある。   The record in Table 81 is composed of a plurality of items in which the results of narrowing down static design information and dynamic design information are entered. In the item that contains the static design information refinement result, the class name of the class whose stereotype is << process >> is set, and the class name of the class whose stereotype is << dataSet >> is set. Action form, class name of the class whose stereotype is << servicePackage >> is set, the class whose operation is set to the operation of the web layer service, class whose stereotype is << DAO >> There are an entity in which a class name is set, a processing result data set in which a class name of a class whose stereotype is << valueObject >> is set, and the like. Items containing the dynamic design information narrowing result include items such as a request generation screen, a request containing a screen transition condition, a request path containing a screen transition information identification key, and a transition destination screen.

なお、クラス依存関係解析部15によって絞り込まれた静的設計情報の中から表示・入力部11に表示させる静的設計情報をアプリケーション開発者自身が絞り込むために次のようなインタフェースが用意されている。   The following interface is prepared for the application developer to narrow down the static design information to be displayed on the display / input unit 11 from the static design information narrowed down by the class dependency analysis unit 15. .

図9はこのインタフェースの例を示す図である。表81の各項目には、この項目に対応するクラスの情報がプルダウンメニュー形式で表示可能とされている。このプルダウンメニュー91の中から所望のクラスの情報をたとえばマウスクリック操作などによって選択することによって、その選択されたクラスの情報が項目の情報として確定され、この項目の情報の確定に応じて、その選択されたクラスの情報を含む、1つの画面遷移に対応する他の項目の情報が自動的にセットされる。これにより、表示・入力部11に表示させる静的設計情報をアプリケーション開発者による判断の下で容易に選択して絞り込むことができる。   FIG. 9 is a diagram showing an example of this interface. In each item of Table 81, class information corresponding to this item can be displayed in a pull-down menu format. By selecting desired class information from the pull-down menu 91 by, for example, a mouse click operation, the selected class information is determined as item information. The information of the other items corresponding to one screen transition including the information of the selected class is automatically set. Thereby, the static design information to be displayed on the display / input unit 11 can be easily selected and narrowed down under the judgment of the application developer.

次に、動的設計情報の読み込みについて説明する。   Next, reading of dynamic design information will be described.

図10は動的設計情報の読み込みに関するシーケンス図である。   FIG. 10 is a sequence diagram relating to reading of dynamic design information.

まず、アプリケーション開発者300が表示・入力部11上で動的設計情報の表示命令を入力する(S1)。この動的設計情報の表示命令は、表示・入力部11を通じて動的設計情報生成制御部13に与えられ(S2)、動的設計情報生成制御部13はプログラム設計情報保持部14に動的設計情報の読み込み命令を出す(S3)。プログラム設計情報保持部14は動的設計情報の読み込み命令を受けて動的設計情報(PIM)204を読み込み、保持する(S4,S5)。   First, the application developer 300 inputs a dynamic design information display command on the display / input unit 11 (S1). This dynamic design information display command is given to the dynamic design information generation control unit 13 through the display / input unit 11 (S2), and the dynamic design information generation control unit 13 sends the dynamic design information generation control unit 13 to the dynamic design information generation unit 14 for dynamic design. An information read command is issued (S3). The program design information holding unit 14 receives and holds dynamic design information (PIM) 204 in response to a dynamic design information read command (S4, S5).

次に、動的設計情報生成制御部13は画面遷移情報特定キー解析部18に画面遷移情報特定キーの解析命令を出す(S6)。画面遷移情報特定キー解析部18は、この解析命令を受けると、プログラム設計情報保持部14から動的設計情報を取得し(S7,S8)、続いてクラス依存関係解析部15の解析結果(静的設計情報の絞り込み結果)を取得し(S9,S10)、静的設計情報の画面遷移情報特定キーと同一の画面遷移情報特定キーを動的設計情報の中から判定する(S11)。   Next, the dynamic design information generation control unit 13 issues a screen transition information identification key analysis command to the screen transition information identification key analysis unit 18 (S6). When the screen transition information specifying key analysis unit 18 receives this analysis instruction, it acquires dynamic design information from the program design information holding unit 14 (S7, S8), and subsequently the analysis result (static) of the class dependency relationship analysis unit 15 is obtained. (S9, S10), and the screen transition information specifying key that is the same as the screen transition information specifying key of the static design information is determined from the dynamic design information (S11).

この後、動的設計情報生成制御部13は設計情報出力部16に対して設計情報の出力命令を出す(S12)。設計情報出力部16はこの命令を受けると、画面遷移情報特定キー解析部18から画面遷移情報特定キーを取得した後(S13,S14)、プログラム設計情報保持部14から動的設計情報を取得し(S15,S16)、この取得した動的設計情報から当該画面遷移情報特定キーに対応する画面遷移に関連する動的設計情報を絞り込み(S17)、その結果を表示・入力部11に出力して(S18)、アプリケーション開発者300に表示する(S19)。   Thereafter, the dynamic design information generation control unit 13 issues a design information output command to the design information output unit 16 (S12). When the design information output unit 16 receives this instruction, it acquires the screen transition information specifying key from the screen transition information specifying key analysis unit 18 (S13, S14), and then acquires the dynamic design information from the program design information holding unit 14. (S15, S16), the dynamic design information related to the screen transition corresponding to the screen transition information specifying key is narrowed down from the acquired dynamic design information (S17), and the result is output to the display / input unit 11 (S18), displayed to the application developer 300 (S19).

図11は動的設計情報の絞り込みに関する例である。   FIG. 11 shows an example of narrowing down dynamic design information.

同図に示すように、動的設計情報の絞り込み結果は、既に静的設計情報の絞り込み結果がセットされた表81の、画面遷移ごとの各レコードのリクエスト、リクエスト発生画面、リクエストパス、遷移先画面の各項目に記録される。この際、既に静的設計情報のクラス依存関係の解析によって個々の画面遷移情報特定キー33に対応する画面遷移ごとのレコードが表81に作成されているので、設計情報出力部16は、動的設計情報において当該画面遷移情報特定キー33と同じ画面遷移情報特定キー52に対応して記述されている画面遷移条件51を検出し、画面遷移情報特定キー52を対応するレコードのリクエストパス項目に、画面遷移条件51を対応するレコードのリクエスト項目にそれぞれセットする。   As shown in the figure, the dynamic design information narrowing result is the request of each record for each screen transition, the request generation screen, the request path, and the transition destination in the table 81 in which the static design information narrowing result is already set. Recorded in each item on the screen. At this time, since the record for each screen transition corresponding to each screen transition information specifying key 33 has already been created in the table 81 by analyzing the class dependency relationship of the static design information, the design information output unit 16 In the design information, the screen transition condition 51 described corresponding to the same screen transition information specifying key 52 as the screen transition information specifying key 33 is detected, and the screen transition information specifying key 52 is set in the request path item of the corresponding record. The screen transition condition 51 is set in each request item of the corresponding record.

次に、表示・入力部11に表示された静的設計情報に基づいてソースコード301を生成する場合の動作を説明する。   Next, an operation when the source code 301 is generated based on the static design information displayed on the display / input unit 11 will be described.

図12は、このソースコード301の生成に関するシーケンス図である。   FIG. 12 is a sequence diagram relating to the generation of the source code 301.

まず、アプリケーション開発者300が表示・入力部11上でソースコード301の生成命令を入力する(S1)。このソースコード301の生成命令はソースコード生成制御部19に与えられ(S2)、ソースコード生成制御部19はプログラム設計情報取得部22に静的設計情報の取得命令を出す(S3)。プログラム設計情報取得部22は、静的設計情報の取得命令を受けると、表示・入力部11の記憶部から静的設計情報を取得し保持する(S4)。   First, the application developer 300 inputs a generation instruction of the source code 301 on the display / input unit 11 (S1). The generation instruction of the source code 301 is given to the source code generation control unit 19 (S2), and the source code generation control unit 19 issues an acquisition instruction of static design information to the program design information acquisition unit 22 (S3). When receiving the static design information acquisition command, the program design information acquisition unit 22 acquires and holds the static design information from the storage unit of the display / input unit 11 (S4).

この後、ソースコード生成制御部19は、プログラム設計情報解析部23に静的設計情報の解析命令を出す(S5)。プログラム設計情報解析部23は、解析命令を受けると、プログラム設計情報取得部22から静的設計情報を取得し(S6,S7)、その静的設計情報の解析を行ってソースコード301の生成に必要な情報を解析結果として取得する(S8)。   Thereafter, the source code generation control unit 19 issues a static design information analysis command to the program design information analysis unit 23 (S5). When receiving the analysis instruction, the program design information analysis unit 23 acquires static design information from the program design information acquisition unit 22 (S6, S7), analyzes the static design information, and generates the source code 301. Necessary information is acquired as an analysis result (S8).

次に、ソースコード生成制御部19は出力部25にソースコード301の出力を指示する(S9)。この出力指示を受けた出力部25は、プログラム設計情報解析部23から解析結果を取得し(S10,S11)、テンプレート保持部24から解析結果に対応するソースコード301のテンプレートを取得する(S12,S13)。そして出力部25は、取得した静的設計情報の解析結果とソースコード301のテンプレートを基に当該静的設計情報のソースコード301を生成し(S14)、出力する(S15)。   Next, the source code generation control unit 19 instructs the output unit 25 to output the source code 301 (S9). Upon receiving this output instruction, the output unit 25 acquires the analysis result from the program design information analysis unit 23 (S10, S11), and acquires the template of the source code 301 corresponding to the analysis result from the template holding unit 24 (S12, S11). S13). Then, the output unit 25 generates the source code 301 of the static design information based on the obtained analysis result of the static design information and the template of the source code 301 (S14), and outputs it (S15).

これにより、図13に示すようなソースコード301の雛型が生成される。なお、同図は図11に示した静的設計情報に対して生成されたソースコード301の雛型の例である。   As a result, a template of the source code 301 as shown in FIG. 13 is generated. This figure is an example of a template of the source code 301 generated for the static design information shown in FIG.

次に、表示・入力部11に表示された静的設計情報および動的設計情報に基づいて外部ファイル302を生成する場合の動作を説明する。   Next, an operation when the external file 302 is generated based on the static design information and the dynamic design information displayed on the display / input unit 11 will be described.

図14は、この外部ファイル302の生成に関するシーケンス図である。   FIG. 14 is a sequence diagram relating to generation of the external file 302.

まず、アプリケーション開発者300が表示・入力部11上で外部ファイル302の生成命令を入力する(S1)。この外部ファイル302の生成命令は外部ファイル生成制御部21に与えられ(S2)、外部ファイル生成制御部21はプログラム設計情報取得部22に静的・動的設計情報の取得命令を出す(S3)。プログラム設計情報取得部22は、静的・動的設計情報の取得命令を受けると、表示・入力部11の記憶部から静的設計情報および動的設計情報を取得し保持する(S4)。   First, the application developer 300 inputs a generation command for the external file 302 on the display / input unit 11 (S1). This external file 302 generation command is given to the external file generation control unit 21 (S2), and the external file generation control unit 21 issues a static / dynamic design information acquisition command to the program design information acquisition unit 22 (S3). . When receiving the static / dynamic design information acquisition command, the program design information acquisition unit 22 acquires and holds the static design information and dynamic design information from the storage unit of the display / input unit 11 (S4).

次に、外部ファイル生成制御部21は、プログラム設計情報解析部23に静的・動的設計情報解析命令を出す(S5)。プログラム設計情報解析部23は、解析命令を受けると、プログラム設計情報取得部22から静的設計情報および動的設計情報を取得し(S6,S7)、これら静的設計情報および動的設計情報の解析を行って外部ファイル302の生成に必要な情報を解析結果として取得する(S8)。   Next, the external file generation control unit 21 issues a static / dynamic design information analysis command to the program design information analysis unit 23 (S5). When receiving the analysis instruction, the program design information analysis unit 23 acquires the static design information and the dynamic design information from the program design information acquisition unit 22 (S6, S7). Analysis is performed to obtain information necessary for generating the external file 302 as an analysis result (S8).

この後、外部ファイル生成制御部21は出力部25に外部ファイル302の出力を指示する(S9)。この出力指示を受けた出力部25は、プログラム設計情報解析部23から静的設計情報および動的設計情報の解析結果を取得し(S10,S11)、テンプレート保持部24から解析結果に対応する外部ファイル302のテンプレートを取得する(S12,S13)。そして出力部25は、取得した静的設計情報および動的設計情報の解析結果と外部ファイル302のテンプレートを基に外部ファイル302を生成し(S14)、出力する(S15)。   Thereafter, the external file generation control unit 21 instructs the output unit 25 to output the external file 302 (S9). Upon receiving this output instruction, the output unit 25 acquires the analysis result of the static design information and the dynamic design information from the program design information analysis unit 23 (S10, S11), and the external corresponding to the analysis result from the template holding unit 24. The template of the file 302 is acquired (S12, S13). Then, the output unit 25 generates the external file 302 based on the obtained static design information and dynamic design information analysis results and the template of the external file 302 (S14), and outputs it (S15).

これにより、図15に示すような外部ファイル302が生成される。なお、同図は図11に示した静的設計情報および動的設計情報に対して生成された外部ファイル302の例である。   Thereby, an external file 302 as shown in FIG. 15 is generated. This figure is an example of the external file 302 generated for the static design information and the dynamic design information shown in FIG.

次に、表示・入力部11に表示された動的設計情報に基づいてテスト項目303を生成する場合の動作を説明する。   Next, an operation when the test item 303 is generated based on the dynamic design information displayed on the display / input unit 11 will be described.

図16は、このテスト項目303の生成に関するシーケンス図である。   FIG. 16 is a sequence diagram relating to the generation of the test item 303.

まず、アプリケーション開発者300が表示・入力部11上でテスト項目303の生成命令を入力する(S1)。このテスト項目303の生成命令はテスト項目生成制御部20に与えられ(S2)、テスト項目生成制御部20はプログラム設計情報取得部22に動的設計情報の取得命令を出す(S3)。プログラム設計情報取得部22は、動的設計情報の取得命令を受けると、表示・入力部11から動的設計情報を取得し保持する(S4)。   First, the application developer 300 inputs a generation command for the test item 303 on the display / input unit 11 (S1). The test item 303 generation command is given to the test item generation control unit 20 (S2), and the test item generation control unit 20 issues a dynamic design information acquisition command to the program design information acquisition unit 22 (S3). When receiving the dynamic design information acquisition command, the program design information acquisition unit 22 acquires and holds the dynamic design information from the display / input unit 11 (S4).

次に、テスト項目生成制御部20は、プログラム設計情報解析部23に動的設計情報解析命令を出す(S5)。プログラム設計情報解析部23は、解析命令を受けると、プログラム設計情報取得部22から動的設計情報を取得し(S6,S7)、この動的設計情報の解析を行ってテスト項目303の生成に必要な情報を解析結果として取得する(S8)。   Next, the test item generation control unit 20 issues a dynamic design information analysis command to the program design information analysis unit 23 (S5). Upon receiving the analysis instruction, the program design information analysis unit 23 acquires dynamic design information from the program design information acquisition unit 22 (S6, S7), analyzes the dynamic design information, and generates a test item 303. Necessary information is acquired as an analysis result (S8).

この後、テスト項目生成制御部20は出力部25にテスト項目303の出力を指示する(S9)。この出力指示を受けた出力部25は、プログラム設計情報解析部23から動的設計情報の解析結果を取得し(S10,S11)、テスト項目生成ルール205を取得する(S12,S13)。そして出力部25は、取得した動的設計情報の解析結果とテスト項目生成ルール205を基にテスト項目303を生成し(S14)、出力する(S15)。   Thereafter, the test item generation control unit 20 instructs the output unit 25 to output the test item 303 (S9). Upon receiving this output instruction, the output unit 25 acquires the analysis result of the dynamic design information from the program design information analysis unit 23 (S10, S11), and acquires the test item generation rule 205 (S12, S13). And the output part 25 produces | generates the test item 303 based on the analysis result of the acquired dynamic design information, and the test item production | generation rule 205 (S14), and outputs it (S15).

これにより、図17に示すようなテスト項目303が生成される。なお、同図は図11に示した動的設計情報(表81)に対して生成されたテスト項目303の例である。   Thereby, a test item 303 as shown in FIG. 17 is generated. This figure is an example of the test item 303 generated for the dynamic design information (Table 81) shown in FIG.

以上説明したように、本実施形態によれば、共通の画面遷移に関連する静的設計情報と動的設計情報とを1つにまとめた設計情報を得ることができ、この設計情報に基づいてソースコード301の雛型、外部ファイル302、テスト項目303を自動生成することができる。また、画面遷移条件を動的設計情報にあらかじめ組み込んでおくことで、画面遷移条件を含むテスト項目303を生成することが可能になる。さらに、動的設計情報と静的設計情報が1つの設計情報として管理できることで管理に負担が軽減されるという効果も得られる。   As described above, according to the present embodiment, it is possible to obtain design information in which static design information and dynamic design information related to a common screen transition are combined into one, and based on this design information. The template of the source code 301, the external file 302, and the test item 303 can be automatically generated. In addition, by incorporating the screen transition condition in the dynamic design information in advance, it becomes possible to generate the test item 303 including the screen transition condition. Furthermore, since dynamic design information and static design information can be managed as a single piece of design information, an effect of reducing the burden on management can be obtained.

(他の実施形態)
図18はクラス依存関係解析部15によって絞り込まれた静的設計情報の中から表示・入力部11に表示させる静的設計情報をアプリケーション開発者自身が絞り込むためのインタフェースの他の実施形態を示す図である。
(Other embodiments)
FIG. 18 is a diagram showing another embodiment of an interface for the application developer to narrow down the static design information to be displayed on the display / input unit 11 from the static design information narrowed down by the class dependency analysis unit 15. It is.

同図に示すように、本例では、静的設計情報の各項目ごとに、クラス依存関係解析部15によって静的設計情報から取り出されたクラスの情報の一覧を一覧表示ボックス181に表示させ、その中からアプリケーション開発者300がマウスクリック操作などによって選択されたクラスの情報を入力ボックス182に表示させ、これを当該項目のクラスの情報として確定するようにしたものである。この項目の情報が確定に応じて、その選択されたクラスの情報を含む、1つの画面遷移に対応する他の項目の情報が自動的に他の項目の入力ボックス182にもセットされる。なお、入力ボックス182には、アプリケーション開発者300が直接クラスの情報を入力することも可能である。これにより、それぞれの項目を比較しながら1つの画面遷移に対応する静的設計情報をまとめて入力することができ、入力効率をあげることができる。各項目の入力ボックスは全てを埋まっている必要はなく、設計段階で未定のクラスがあれば空欄のままでもよい。   As shown in the figure, in this example, for each item of the static design information, a list of class information extracted from the static design information by the class dependency analysis unit 15 is displayed in the list display box 181; Information on the class selected by the application developer 300 by a mouse click operation or the like is displayed in the input box 182 and determined as class information on the item. When the information of this item is confirmed, the information of the other item corresponding to one screen transition including the information of the selected class is automatically set in the input box 182 of the other item. Note that it is also possible for the application developer 300 to directly input class information in the input box 182. Thereby, static design information corresponding to one screen transition can be collectively input while comparing each item, and input efficiency can be increased. The input boxes for each item do not have to be filled in, and may be left blank if there are undecided classes at the design stage.

なお、本発明は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。   It should be noted that the present invention is not limited to the illustrated examples described above, and it is needless to say that various modifications can be made without departing from the scope of the present invention.

本発明の一実施形態にかかるアプリケーション開発支援システム100とその周辺部の構成を示す図である。It is a figure which shows the structure of the application development assistance system 100 concerning one Embodiment of this invention, and its periphery part. 図1のアプリケーション開発支援システム100におけるソースコード・外部ファイル・テスト項目生成装置1の構成を示すブロック図である。FIG. 2 is a block diagram illustrating a configuration of a source code / external file / test item generation apparatus 1 in the application development support system 100 of FIG. 1. 静的設計情報であるクラス図の例である。It is an example of a class diagram which is static design information. 図3の静的設計情報をXMLで記述した図である。FIG. 4 is a diagram describing the static design information of FIG. 3 in XML. 動的設計情報であるステートチャート図の例である。It is an example of the state chart figure which is dynamic design information. 図5の動的設計情報をXMLで記述した図である。FIG. 6 is a diagram describing the dynamic design information of FIG. 5 in XML. 本実施形態のアプリケーション開発支援システムのソースコード・外部ファイル・テスト項目生成装置による静的設計情報の読み込みに関するシーケンス図である。It is a sequence diagram regarding reading of static design information by the source code / external file / test item generation device of the application development support system of the present embodiment. 静的設計情報の絞り込みに関する例を示す図である。It is a figure which shows the example regarding narrowing-down of static design information. クラス依存関係解析部によって絞り込まれた静的設計情報の中から表示・入力部に表示させる静的設計情報をアプリケーション開発者自身が絞り込むためのインタフェースを示す図である。It is a figure which shows the interface for an application developer itself to narrow down the static design information displayed on a display and input part from the static design information narrowed down by the class dependence analysis part. 動的設計情報の読み込みに関するシーケンス図である。It is a sequence diagram regarding reading of dynamic design information. 動的設計情報の絞り込みに関する例を示す図である。It is a figure which shows the example regarding narrowing-down of dynamic design information. ソースコードの生成に関するシーケンス図である。It is a sequence diagram regarding generation of source code. 生成されたソースコードの雛型の例を示す図である。It is a figure which shows the example of the template of the produced | generated source code. 外部ファイルの生成に関するシーケンス図である。It is a sequence diagram regarding generation of an external file. 生成された外部ファイルの例を示す図である。It is a figure which shows the example of the produced | generated external file. テスト項目の生成に関するシーケンス図である。It is a sequence diagram regarding the production | generation of a test item. 生成されたテスト項目の例を示す図である。It is a figure which shows the example of the produced | generated test item. クラス依存関係解析部によって絞り込まれた静的設計情報の中から表示・入力部に表示させる静的設計情報をアプリケーション開発者自身が絞り込むためのインタフェースの他の実施形態を示す図である。It is a figure which shows other embodiment of the interface for an application developer itself to narrow down the static design information displayed on a display and input part from the static design information narrowed down by the class dependence analysis part. ソフトウェアの上流設計で得られる各種ドキュメントから、ソースコード、外部ファイルおよびテスト項目を生成する仕組みを示す図である。It is a figure which shows the structure which produces | generates a source code, an external file, and a test item from the various documents obtained by the upstream design of software. 図19の仕組みによる、ソースコード、外部ファイルおよびテスト項目の生成に関するシーケンス図である。FIG. 20 is a sequence diagram relating to generation of a source code, an external file, and a test item according to the mechanism of FIG. 図19の仕組みをMDAに対応させた場合の構成を示す図である。It is a figure which shows the structure at the time of making the structure of FIG. 19 respond | correspond to MDA. 図22の課題を説明するための図である。It is a figure for demonstrating the subject of FIG.

符号の説明Explanation of symbols

1…ソースコード・外部ファイル・テスト項目生成装置、100…表示・入力部、12…静的設計情報生成制御部、13…動的設計情報生成制御部、14…プログラム設計情報保持部、15…クラス依存関係解析部、16…設計情報出力部、17…入力支援部、18…画面遷移情報特定キー解析部、19…ソースコード生成制御部、20…テスト項目生成制御部、21…外部ファイル生成制御部、22…プログラム設計情報取得部、23…プログラム設計情報解析部、24…テンプレート保持部、25…出力部、33,52…画面遷移情報特定キー、51…画面遷移条件、100…アプリケーション開発支援システム、203…静的設計情報(PSM)、204…動的設計情報(PIM)、205…テスト項目生成ルール、301…ソースコード、302…外部ファイル、303…テスト項目。   DESCRIPTION OF SYMBOLS 1 ... Source code / external file / test item generation device, 100 ... Display / input unit, 12 ... Static design information generation control unit, 13 ... Dynamic design information generation control unit, 14 ... Program design information holding unit, 15 ... Class dependency analysis unit, 16 ... design information output unit, 17 ... input support unit, 18 ... screen transition information identification key analysis unit, 19 ... source code generation control unit, 20 ... test item generation control unit, 21 ... external file generation Control unit, 22 ... Program design information acquisition unit, 23 ... Program design information analysis unit, 24 ... Template holding unit, 25 ... Output unit, 33, 52 ... Screen transition information identification key, 51 ... Screen transition condition, 100 ... Application development Support system 203 ... Static design information (PSM) 204 ... Dynamic design information (PIM) 205 ... Test item generation rule 301 ... Source code De, 302 ... external file, 303 ... test items.

Claims (7)

プログラムの画面の遷移に関する画面遷移情報およびこの画面遷移情報を特定するキーを含む動的設計情報と、前記プログラムを構成するクラス間の関係を示す情報および前記キーを含む静的設計情報とをそれぞれ保持するプログラム設計情報保持部と、
前記プログラム設計情報保持部に保持された静的設計情報のクラス間の依存関係を解析するとともに前記キーを判定し、この判定したキーに対応する画面遷移に関連する静的設計情報を絞り込むクラス依存関係解析部と、
前記プログラム設計情報保持部に保持された動的設計情報に含まれるキーを判定する画面遷移情報特定キー解析部と、
前記クラス依存関係解析部によって絞り込まれた静的設計情報と、前記画面遷移情報特定キー解析部によって判定された前記キーに対応する画面遷移に関連する動的設計情報とを1つの設計情報として出力する設計情報出力部と、
前記設計情報出力部によって出力された設計情報に基づいて、ソースコードの雛型、外部ファイル、テスト項目のうち少なくとも一つを生成する生成部と
を具備することを特徴とするプログラム開発支援システム。
Screen transition information relating to program screen transition and dynamic design information including a key for specifying the screen transition information, information indicating a relationship between classes constituting the program, and static design information including the key, respectively A program design information holding unit to hold;
Class dependence that narrows down static design information related to screen transition corresponding to the determined key by analyzing the dependency relationship between classes of static design information held in the program design information holding unit and determining the key A relationship analysis unit;
A screen transition information specifying key analyzing unit for determining a key included in the dynamic design information held in the program design information holding unit;
The static design information narrowed down by the class dependency analysis unit and the dynamic design information related to the screen transition corresponding to the key determined by the screen transition information specifying key analysis unit are output as one design information A design information output unit,
A program development support system comprising: a generation unit that generates at least one of a source code template, an external file, and a test item based on the design information output by the design information output unit.
前記設計情報出力部によって出力された設計情報を表示する表示部と、
前記表示部に表示された設計情報に対してアプリケーション開発者からの入力に基づく編集を行う入力支援部と
をさらに具備することを特徴とする請求項1記載のプログラム開発支援システム。
A display unit for displaying the design information output by the design information output unit;
The program development support system according to claim 1, further comprising: an input support unit that edits the design information displayed on the display unit based on an input from an application developer.
前記動的設計情報が、画面の遷移を発生させるための条件を含み、
前記画面遷移情報特定キー解析部によって絞り込まれた動的設計情報が、前記条件を少なくとも含んでいることを特徴とする請求項1記載のプログラム開発支援システム。
The dynamic design information includes a condition for causing a screen transition,
2. The program development support system according to claim 1, wherein the dynamic design information narrowed down by the screen transition information specifying key analysis unit includes at least the condition.
プログラム設計情報保持部により、プログラムの画面の遷移に関する画面遷移情報およびこの画面遷移情報を特定するキーを含む動的設計情報と、前記プログラムを構成するクラス間の関係を示す情報および前記キーを含む静的設計情報とを保持するステップと、
クラス依存関係解析部により、前記プログラム設計情報保持部に保持された静的設計情報のクラス間の依存関係を解析するとともに前記キーを判定し、この判定されたキーに対応する画面遷移に関連する静的設計情報を絞り込むステップと、
画面遷移情報特定キー解析部により、前記プログラム設計情報保持部に保持された動的設計情報に含まれる前記キーを判定するステップと、
設計情報出力部によって、前記クラス依存関係解析部によって絞り込まれた静的設計情報と、前記画面遷移情報特定キー解析部によって判定された前記キーに対応する画面遷移に関連する動的設計情報とを1つの設計情報として出力するステップと、
生成部によって、前記設計情報出力部によって出力された設計情報に基づいて、ソースコードの雛型、外部ファイル、テスト項目のうち少なくとも一つを生成するステップと
を具備することを特徴とするプログラム開発支援方法。
The program design information holding unit includes screen transition information related to program screen transition and dynamic design information including a key for specifying the screen transition information, information indicating a relationship between classes constituting the program, and the key. Holding static design information; and
The class dependency analysis unit analyzes the dependency relationship between the classes of the static design information held in the program design information holding unit, determines the key, and relates to the screen transition corresponding to the determined key. A step to narrow down static design information,
Determining the key included in the dynamic design information held in the program design information holding unit by the screen transition information specifying key analysis unit;
Static design information narrowed down by the class dependency analysis unit by the design information output unit, and dynamic design information related to the screen transition corresponding to the key determined by the screen transition information specifying key analysis unit Outputting as one piece of design information;
Generating a program based on the design information output by the design information output unit by the generation unit, at least one of a template of a source code, an external file, and a test item. Support method.
表示部により、前記設計情報出力部によって出力された設計情報を表示するステップと、
入力支援部にて、前記表示部に表示された設計情報に対してアプリケーション開発者からの入力に基づく編集を行うステップと
をさらに具備することを特徴とする請求項5に記載のプログラム開発支援方法。
Displaying the design information output by the design information output unit by a display unit;
6. The program development support method according to claim 5, further comprising: a step of editing the design information displayed on the display unit based on an input from an application developer in the input support unit. .
前記動的設計情報が、画面の遷移を発生させるための条件を含み、
前記画面遷移情報特定キー解析部によって絞り込まれた動的設計情報が、前記条件を少なくとも含んでいることを特徴とする請求項5記載のプログラム開発支援方法。
The dynamic design information includes a condition for causing a screen transition,
6. The program development support method according to claim 5, wherein the dynamic design information narrowed down by the screen transition information identification key analysis unit includes at least the condition.
コンピュータを、
プログラムの画面の遷移に関する画面遷移情報およびこの画面遷移情報を特定するキーを含む動的設計情報と、前記プログラムを構成するクラス間の関係を示す情報および前記キーを含む静的設計情報とを保持するプログラム設計情報保持部と、
前記プログラム設計情報保持部に保持された静的設計情報のクラス間の依存関係を解析するとともに前記キーを判定し、前記判定したキーに対応する画面遷移に関連する静的設計情報を絞り込むクラス依存関係解析部と、
前記プログラム設計情報保持部に保持された動的設計情報に含まれるキーを判定する画面遷移情報特定キー解析部と、
前記クラス依存関係解析部によって絞り込まれた静的設計情報と、前記画面遷移情報特定キー解析部によって判定された前記キーに対応する画面遷移に関連する動的設計情報とを1つの設計情報として出力する設計情報出力部と、
前記設計情報出力部によって出力された設計情報に基づいて、ソースコードの雛型、外部ファイル、テスト項目のうち少なくとも一つを生成する生成部
として機能させることを特徴とするプログラム。
Computer
Holds screen transition information related to program screen transitions, dynamic design information including a key for specifying the screen transition information, information indicating a relationship between classes constituting the program, and static design information including the key A program design information holding unit for
Class dependence that narrows down static design information related to screen transition corresponding to the determined key by analyzing the dependency relationship between classes of static design information held in the program design information holding unit and determining the key A relationship analysis unit;
A screen transition information specifying key analyzing unit for determining a key included in the dynamic design information held in the program design information holding unit;
The static design information narrowed down by the class dependency analysis unit and the dynamic design information related to the screen transition corresponding to the key determined by the screen transition information specifying key analysis unit are output as one design information A design information output unit,
A program that functions as a generation unit that generates at least one of a source code template, an external file, and a test item based on design information output by the design information output unit.
JP2005278831A 2005-09-26 2005-09-26 Program development support system, program development support method and program Pending JP2007094453A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005278831A JP2007094453A (en) 2005-09-26 2005-09-26 Program development support system, program development support method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005278831A JP2007094453A (en) 2005-09-26 2005-09-26 Program development support system, program development support method and program

Publications (1)

Publication Number Publication Date
JP2007094453A true JP2007094453A (en) 2007-04-12

Family

ID=37980154

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005278831A Pending JP2007094453A (en) 2005-09-26 2005-09-26 Program development support system, program development support method and program

Country Status (1)

Country Link
JP (1) JP2007094453A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8752026B2 (en) 2009-06-01 2014-06-10 International Business Machines Corporation Efficient code instrumentation
JP2014241072A (en) * 2013-06-12 2014-12-25 日本電気通信システム株式会社 Instruction generation device, instruction generation method, and instruction generation program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8752026B2 (en) 2009-06-01 2014-06-10 International Business Machines Corporation Efficient code instrumentation
JP2014241072A (en) * 2013-06-12 2014-12-25 日本電気通信システム株式会社 Instruction generation device, instruction generation method, and instruction generation program

Similar Documents

Publication Publication Date Title
JP5049280B2 (en) Extensible XML format and object model for localization data
KR100661393B1 (en) Web site management system and method applying web programming environment
US20060168557A1 (en) Methods and apparatus for implementing model-based software solution development and integrated change management
CN108762743B (en) Data table operation code generation method and device
US8589877B2 (en) Modeling and linking documents for packaged software application configuration
US20180300125A1 (en) Analyzing components related to a software application in a software development environment
US20220043663A1 (en) Method of defining and performing dynamic user-computer interaction, computer guided navigation, and application integration for any procedure, instructions, instructional manual, or fillable form
TW200816047A (en) A method and system for generating application data editors
US7305629B2 (en) Consolidation of computer documentation
US7519947B2 (en) Orchestration designer
JP2013518321A (en) Pattern-based user interface
US20080040677A1 (en) HMI Development Support Apparatus, HMI Development Support Method and HMI Development Support Program
Gómez et al. An approach to the co-creation of models and metamodels in Enterprise Architecture Projects.
CA2686367A1 (en) Dynamic native editor code view facade
JP3577400B2 (en) System design equipment and data warehouse design system
JP2004094487A (en) Support system for preparing document
JP2007094453A (en) Program development support system, program development support method and program
JP4686117B2 (en) Source code conversion apparatus, source code conversion method, and program
CN112631585B (en) XML-based rapid parameter interface configuration method
JP2002014845A (en) Method for automatically generating test script part and device for the same
KR100902193B1 (en) A System For Composing Report, A Method ? A System For Providing A Made-To-Order Report, And A Storage Medium
US20200159805A1 (en) System and method for producing transferable, modular web pages
JP2007115155A (en) Program structure management device and program structure management program
JP2001273125A (en) Method and system for automatically generating source program, and program recording medium therefor
EP4261678A1 (en) Generation of a technical instruction

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081028

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090303