JP2007094453A - Program development support system, program development support method and program - Google Patents
Program development support system, program development support method and program Download PDFInfo
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
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.
テスト項目とは、最終的な成果物であるプログラムをテストするために必要な方法・手順などの情報である。
ソフトウェアの上流設計で得られる各種ドキュメントから、ソースコード、外部ファイルおよびテスト項目を生成する仕組みには図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
図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
図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
しかしながら、上記の仕組みでは次のような問題がある。 However, the above mechanism has the following problems.
1.外部ファイル404の作成には静的設計情報と動的設計情報が必要である。しかし、UMLなどの標準モデリング技法には静的設計情報と動的設計情報を同時に記述できるダイアグラム(図)がないため、外部ファイル404の作成の際には少なくとも2つのダイアグラムから必要な情報を取り出さなければならない。
1. The creation of the
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,
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
ソースコード・外部ファイル・テスト項目生成装置1は、典型的なコンピュータの構成、つまり、中央処理演算部、主メモリ、入力部、出力部などによって構成される。主メモリはソースコード・外部ファイル・テスト項目生成装置1の処理手順(プログラム)などを格納する。中央処理演算部は主メモリに格納された処理手順を実行する。
The source code / external file / test
図2は本実施形態のアプリケーション開発支援システム100におけるソースコード・外部ファイル・テスト項目生成装置1の構成を示すブロック図である。
FIG. 2 is a block diagram showing the configuration of the source code / external file / test
同図において、ソースコード・外部ファイル・テスト項目生成装置1の表示・入力部11は、アプリケーション開発者からの各種の入力、静的設計情報と動的設計情報とを一つにまとめた設計情報の表示などを行うマンマシンインタフェースである。また、この表示・入力部11は、画面に表示させる設計情報を記憶する記憶部を含む。
In the figure, the display /
静的設計情報生成制御部12は、表示・入力部11に表示する静的設計情報の生成に関する制御を行う。
The static design information
動的設計情報生成制御部13は、表示・入力部11に表示する動的設計情報の生成に関する制御を行う。
The dynamic design information
プログラム設計情報保持部14は、動的設計情報生成制御部13からの命令によって静的設計情報(PSM)203および動的設計情報(PIM)204を読み込み保持する。
The program design
クラス依存関係解析部15は、プログラム設計情報保持部14に保持された静的設計情報を読み込み、この静的設計情報のクラス間の依存関係を解析するとともに、この静的設計情報に組み込まれた画面遷移情報特定キーを判定し、この判定した画面遷移情報特定キーに対応する画面遷移に関連する静的設計情報を絞り込む。
The class
画面遷移情報特定キー解析部18は、クラス依存関係解析部15によって判定された静的設計情報の中の画面遷移情報特定キーと同じキーを、プログラム設計情報保持部14に保持された動的設計情報の中から判定する。
The screen transition information specifying
設計情報出力部16は、クラス依存関係解析部15によって絞り込まれた静的設計情報と、画面遷移情報特定キー解析部18によって判定された画面遷移情報特定キーに対応する画面遷移に関連する動的設計情報を表示・入力部11に出力することによって、共通の画面遷移に関連する静的設計情報と動的設計情報とを1つの設計情報としてまとめる。
The design
入力支援部17は、クラス依存関係解析部15によって絞り込まれた静的設計情報に対してアプリケーション開発者からの入力に基づく編集を行う。
The
ソースコード生成制御部19は、表示・入力部11に表示された設計情報に対してソースコード301の生成に関する制御を行う。
The source code
テスト項目生成制御部20は、表示・入力部11に表示された設計情報に対してテスト項目303の生成に関する制御を行う。
The test item
外部ファイル生成制御部21は、表示・入力部11に表示された設計情報に対して外部ファイル302の生成に関する制御を行う。
The external file
プログラム設計情報取得部22は、ソースコード生成制御部19、テスト項目生成制御部20もしくは外部ファイル生成制御部21による制御の下で、表示・入力部11の記憶部から設計情報を取得する。
The program design
プログラム設計情報解析部23は、プログラム設計情報取得部22に保持されている設計情報を、ソースコード301、テスト項目303および外部ファイル302を生成できるように解析する。
The program design
テンプレート保持部24は、ソースコード301および外部ファイル302を生成するためのテンプレートを保持している部分である。
The
テスト項目生成ルール205は、テスト項目を生成するためのルール形式のデータである。
The test
出力部25は、プログラム設計情報解析部23による設計情報の解析結果を受け取り、テンプレート保持部24に保持されているテンプレートおよびテスト項目生成ルール205などを用いて、ソースコード301、外部ファイル302、テスト項目303を生成し出力する。
The
図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
図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.
図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
図6は図5の動的設計情報をXMLで記述したものである。61はリクエストがshowListの遷移情報であり、この中に画面遷移情報特定キーとして”showList”が記述されているとともに、画面遷移条件として”「検索」ボタンを押す”が記述されている。また、62はリクエストがregistUserの遷移情報であり、この中に画面遷移情報特定キーとして”registUser”が記述されているとともに、画面遷移条件として”「検索」ボタンを押す”が記述されている。
FIG. 6 describes the dynamic design information of FIG. 5 in XML. The
次に、本実施形態のアプリケーション開発支援システム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
まず、アプリケーション開発者300画面で静的設計情報の表示命令を入力する(S1)。この静的設計情報の表示命令は、表示・入力部11を通じて静的設計情報生成制御部12に与えられ(S2)、静的設計情報生成制御部12はプログラム設計情報保持部14に静的設計情報の読み込み命令を出す(S3)。プログラム設計情報保持部14は静的設計情報の読み込み命令を受けて静的設計情報(PSM)203を読み込み、保持する(S4,S5)。
First, a static design information display command is input on the
次に、静的設計情報生成制御部12はクラス依存関係解析部15に、読み込んだ静的設計情報のクラス依存関係の解析命令を出す(S6)。クラス依存関係解析部15は、この解析命令を受けると、プログラム設計情報保持部14に対して静的設計情報の取得命令を出し(S7)、静的設計情報を取得し(S8)、この静的設計情報に記述されたクラス依存関係を解析するとともに静的設計情報に組み込まれた画面遷移情報特定キーを判定して、この判定した画面遷移情報特定キーに対応する画面遷移に関連する静的設計情報の絞り込みを行う(S9)。
Next, the static design information
この後、静的設計情報生成制御部12は設計情報出力部16に対して設計情報の出力命令を出す(S10)。設計情報出力部16はこの命令を受けると、クラス依存関係解析部15に対して静的設計情報の絞り込み結果の取得命令を出して(S11)、静的設計情報の絞り込み結果を取得する(S12)。
Thereafter, the static design information
次に、設計情報出力部16は入力支援部17を呼び出し、取得した静的設計情報の絞り込み結果を入力支援部17に渡す(S13)。入力支援部17は、アプリケーション開発者300からの入力の下、静的設計情報の絞り込み結果に対して人的な判断に基づく修正、追加、画面遷移の絞り込みなどの編集を行う(S14)。編集後の静的設計情報は設計情報出力部16へ渡され(S15)、設計情報出力部16から表示・入力部11に表示用のデータとして出力されて(S16)、アプリケーション開発者300に表示される(S17)。
Next, the design
図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
表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 /
図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-
次に、動的設計情報の読み込みについて説明する。 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
次に、動的設計情報生成制御部13は画面遷移情報特定キー解析部18に画面遷移情報特定キーの解析命令を出す(S6)。画面遷移情報特定キー解析部18は、この解析命令を受けると、プログラム設計情報保持部14から動的設計情報を取得し(S7,S8)、続いてクラス依存関係解析部15の解析結果(静的設計情報の絞り込み結果)を取得し(S9,S10)、静的設計情報の画面遷移情報特定キーと同一の画面遷移情報特定キーを動的設計情報の中から判定する(S11)。
Next, the dynamic design information
この後、動的設計情報生成制御部13は設計情報出力部16に対して設計情報の出力命令を出す(S12)。設計情報出力部16はこの命令を受けると、画面遷移情報特定キー解析部18から画面遷移情報特定キーを取得した後(S13,S14)、プログラム設計情報保持部14から動的設計情報を取得し(S15,S16)、この取得した動的設計情報から当該画面遷移情報特定キーに対応する画面遷移に関連する動的設計情報を絞り込み(S17)、その結果を表示・入力部11に出力して(S18)、アプリケーション開発者300に表示する(S19)。
Thereafter, the dynamic design information
図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
次に、表示・入力部11に表示された静的設計情報に基づいてソースコード301を生成する場合の動作を説明する。
Next, an operation when the
図12は、このソースコード301の生成に関するシーケンス図である。
FIG. 12 is a sequence diagram relating to the generation of the
まず、アプリケーション開発者300が表示・入力部11上でソースコード301の生成命令を入力する(S1)。このソースコード301の生成命令はソースコード生成制御部19に与えられ(S2)、ソースコード生成制御部19はプログラム設計情報取得部22に静的設計情報の取得命令を出す(S3)。プログラム設計情報取得部22は、静的設計情報の取得命令を受けると、表示・入力部11の記憶部から静的設計情報を取得し保持する(S4)。
First, the
この後、ソースコード生成制御部19は、プログラム設計情報解析部23に静的設計情報の解析命令を出す(S5)。プログラム設計情報解析部23は、解析命令を受けると、プログラム設計情報取得部22から静的設計情報を取得し(S6,S7)、その静的設計情報の解析を行ってソースコード301の生成に必要な情報を解析結果として取得する(S8)。
Thereafter, the source code
次に、ソースコード生成制御部19は出力部25にソースコード301の出力を指示する(S9)。この出力指示を受けた出力部25は、プログラム設計情報解析部23から解析結果を取得し(S10,S11)、テンプレート保持部24から解析結果に対応するソースコード301のテンプレートを取得する(S12,S13)。そして出力部25は、取得した静的設計情報の解析結果とソースコード301のテンプレートを基に当該静的設計情報のソースコード301を生成し(S14)、出力する(S15)。
Next, the source code
これにより、図13に示すようなソースコード301の雛型が生成される。なお、同図は図11に示した静的設計情報に対して生成されたソースコード301の雛型の例である。
As a result, a template of the
次に、表示・入力部11に表示された静的設計情報および動的設計情報に基づいて外部ファイル302を生成する場合の動作を説明する。
Next, an operation when the
図14は、この外部ファイル302の生成に関するシーケンス図である。
FIG. 14 is a sequence diagram relating to generation of the
まず、アプリケーション開発者300が表示・入力部11上で外部ファイル302の生成命令を入力する(S1)。この外部ファイル302の生成命令は外部ファイル生成制御部21に与えられ(S2)、外部ファイル生成制御部21はプログラム設計情報取得部22に静的・動的設計情報の取得命令を出す(S3)。プログラム設計情報取得部22は、静的・動的設計情報の取得命令を受けると、表示・入力部11の記憶部から静的設計情報および動的設計情報を取得し保持する(S4)。
First, the
次に、外部ファイル生成制御部21は、プログラム設計情報解析部23に静的・動的設計情報解析命令を出す(S5)。プログラム設計情報解析部23は、解析命令を受けると、プログラム設計情報取得部22から静的設計情報および動的設計情報を取得し(S6,S7)、これら静的設計情報および動的設計情報の解析を行って外部ファイル302の生成に必要な情報を解析結果として取得する(S8)。
Next, the external file
この後、外部ファイル生成制御部21は出力部25に外部ファイル302の出力を指示する(S9)。この出力指示を受けた出力部25は、プログラム設計情報解析部23から静的設計情報および動的設計情報の解析結果を取得し(S10,S11)、テンプレート保持部24から解析結果に対応する外部ファイル302のテンプレートを取得する(S12,S13)。そして出力部25は、取得した静的設計情報および動的設計情報の解析結果と外部ファイル302のテンプレートを基に外部ファイル302を生成し(S14)、出力する(S15)。
Thereafter, the external file
これにより、図15に示すような外部ファイル302が生成される。なお、同図は図11に示した静的設計情報および動的設計情報に対して生成された外部ファイル302の例である。
Thereby, an
次に、表示・入力部11に表示された動的設計情報に基づいてテスト項目303を生成する場合の動作を説明する。
Next, an operation when the
図16は、このテスト項目303の生成に関するシーケンス図である。
FIG. 16 is a sequence diagram relating to the generation of the
まず、アプリケーション開発者300が表示・入力部11上でテスト項目303の生成命令を入力する(S1)。このテスト項目303の生成命令はテスト項目生成制御部20に与えられ(S2)、テスト項目生成制御部20はプログラム設計情報取得部22に動的設計情報の取得命令を出す(S3)。プログラム設計情報取得部22は、動的設計情報の取得命令を受けると、表示・入力部11から動的設計情報を取得し保持する(S4)。
First, the
次に、テスト項目生成制御部20は、プログラム設計情報解析部23に動的設計情報解析命令を出す(S5)。プログラム設計情報解析部23は、解析命令を受けると、プログラム設計情報取得部22から動的設計情報を取得し(S6,S7)、この動的設計情報の解析を行ってテスト項目303の生成に必要な情報を解析結果として取得する(S8)。
Next, the test item
この後、テスト項目生成制御部20は出力部25にテスト項目303の出力を指示する(S9)。この出力指示を受けた出力部25は、プログラム設計情報解析部23から動的設計情報の解析結果を取得し(S10,S11)、テスト項目生成ルール205を取得する(S12,S13)。そして出力部25は、取得した動的設計情報の解析結果とテスト項目生成ルール205を基にテスト項目303を生成し(S14)、出力する(S15)。
Thereafter, the test item
これにより、図17に示すようなテスト項目303が生成される。なお、同図は図11に示した動的設計情報(表81)に対して生成されたテスト項目303の例である。
Thereby, a
以上説明したように、本実施形態によれば、共通の画面遷移に関連する静的設計情報と動的設計情報とを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
(他の実施形態)
図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 /
同図に示すように、本例では、静的設計情報の各項目ごとに、クラス依存関係解析部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
なお、本発明は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。 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.
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
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.
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)
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 |
-
2005
- 2005-09-26 JP JP2005278831A patent/JP2007094453A/en active Pending
Cited By (2)
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 |