JP3940922B2 - Software code generation device, software code generation method, recording medium, and program - Google Patents
Software code generation device, software code generation method, recording medium, and program Download PDFInfo
- Publication number
- JP3940922B2 JP3940922B2 JP2003014818A JP2003014818A JP3940922B2 JP 3940922 B2 JP3940922 B2 JP 3940922B2 JP 2003014818 A JP2003014818 A JP 2003014818A JP 2003014818 A JP2003014818 A JP 2003014818A JP 3940922 B2 JP3940922 B2 JP 3940922B2
- Authority
- JP
- Japan
- Prior art keywords
- conversion
- software code
- conversion rule
- intermediate format
- specifications
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 56
- 238000006243 chemical reaction Methods 0.000 claims description 381
- 238000013461 design Methods 0.000 claims description 93
- 230000008859 change Effects 0.000 description 35
- 238000011161 development Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 4
- 238000000926 separation method Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000007430 reference method Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、開発者や利用者等が作成した仕様に応じたソフトウェアコードを自動生成するソフトウェアコード生成装置およびソフトウェアコード生成方法に関する。
【0002】
特には、論理モジュール構成(システム構成)や実装方式(実装言語やオペレーションシステム等)等の仕様変更があっても、その仕様変更に容易に対応可能なソフトウェアコード生成装置およびソフトウェアコード生成方法に関する。
【0003】
【従来の技術】
従来、開発者や利用者が作成した仕様に応じたソフトウェアコードを自動生成するソフトウェアコード生成装置がある。
【0004】
例えば、特許文献1(特開2002−73336号公報)には、以下のようなソフトウェア生成装置が記載されている。
【0005】
開発者等により明確化された要求仕様が種々の方法で分析されることにより、システム分析モデルが作成され、構成部品の登録を行い、構成部品の関連と機能を設定後、その内容をシステム分析モデルと対応づけたデータに変換して記憶する。その後、ソフトウェアコード生成指示にしたがって、ソフトウェアコードの生成を行う構成となっている。
【0006】
また、特許文献2(特表2002−526858号公報)には、開発する対象をモデルとして、実装技術等に依存する部分と非依存の部分に分離してリポジトリに格納するとともに、それらの間の関連を保持するような構成が記載されている。
【0007】
【特許文献1】
特開2002−73336号公報
【特許文献2】
特表2002−526858号公報
【0008】
【発明が解決しようとする課題】
しかしながら、特許文献1や特許文献2に記載の技術では、以下のような問題があった。
【0009】
第1の問題点は、実装技術の変化に容易に対応できないということである。以下、この第1の問題点の理由を説明する。
【0010】
例えば、業務仕様や論理モジュール構成仕様に変更がなく、実装仕様すなわち実装言語やOS(オペレーティングシステム)等だけが変更となる場合がある。
【0011】
上記のような変更が生じた場合、特許文献1に記載の技術では、変更となった実装仕様とともに、変更のなかった業務仕様や論理モジュール構成仕様を記載した仕様を新たな仕様として作成し、この新たな仕様に基づき改めてソフトウェアコードを生成しなければならなかった。
【0012】
特許文献2に記載の技術では、モデルとして実装技術に依存する部分と実装技術に非依存の部分に分離されているものの、ツールやコード生成機構としての分離が行われていない。
【0013】
したがって、上記のような変更が生じた場合、モデルとしては実装技術に依存する部分だけ変更すればよいが、ツールやコード生成機構としては分離が行われていないので、実際にソフトウェアコードを生成する際には、特許文献1の場合と同様の処理をしなければならなかった。
【0014】
第2の問題点は、業務機能(業務仕様)の変化に容易に対応できないということである。以下、この第2の問題点の理由を説明する。
【0015】
例えば、論理モジュール構成仕様や実装仕様に変更がなく、業務機能だけが途中で変更となる場合がある。
【0016】
上記の場合、特許文献1に記載の技術では、変更となった業務機能(業務仕様)とともに変更のなかった論理モジュール構成仕様や実装仕様を記載した仕様を新たな仕様として作成し、この新たな仕様に基づき改めてソフトウェアコードを生成しなければならなかった。
【0017】
特許文献2に記載の技術では、モデルとして実装技術に依存する部分と実装技術に非依存の部分に分離されているものの、ツールやコード生成機構としての分離が行われていないので、上記のような変更が生じた場合、モデルとしては実装技術に非依存な部分だけ変更すればよいが、ツールやコード生成機構としては分離が行われていないので、実際にソフトウェアコードを生成する際には、特許文献1の場合と同様の処理をしなければならなかった。
【0018】
第3の問題点は、ソフトウェアコード生成の開発に高いスキルを必要とする人材が必要となることである。
【0019】
上記の理由は、特許文献1および特許文献2に記載の技術では、変換処理を行う部分が分離されていないため、適切な開発分担が行えないとともに、開発者が業務知識と実装技術の知識とを両方持つ必要があるためである。
【0020】
本発明の目的は、実装技術仕様等の仕様の変更に容易に対応可能なソフトウェアコードの生成装置およびソフトウェアコードの生成方法を提供することである。
【0021】
【課題を解決するための手段】
上記目的を達成するため、本願の請求項1に係る発明のソフトウェアコードの生成装置は、論理モジュール構成仕様と実装仕様とを含む設計判断情報と業務仕様とを備えた要求仕様に応じたソフトウェアコードを生成するソフトウェアコード生成装置であって、前記業務仕様が編集される業務仕様編集手段と、前記設計判断情報が編集される設計判断情報編集手段と、前記設計判断情報編集手段で編集された論理モジュール構成仕様に応じた第1の変換規定に基づき、前記業務仕様編集手段で編集された業務仕様を中間形式に変換する第1の変換手段と、前記中間形式を格納する格納手段と、前記設計判断情報編集手段で編集された実装仕様に応じた第2の変換規定に基づき、前記格納手段に格納された中間形式をソフトウェアコードに変換する第2の変換手段とを含むことを特徴とする。
【0028】
上記の発明によれば、実装仕様の変化に容易に対応可能となる。
【0029】
すなわち、上記の発明は、例えば当初の要求仕様に対して実装仕様のみに変化が発生した場合、既に第1の変換手段によって生成され、格納手段に格納されている中間形式を変更することなく、設計判断情報編集手段により、変更後の実装仕様を指定することにより、新たな実装仕様に対応するソフトウェアコードを生成可能なため、実装仕様の変化に容易に対応可能となる。
【0030】
換言すると、変更のない業務仕様や論理モジュール構成仕様について再度同じような変換動作を行うことを避けることが可能となる。
【0031】
また、仮に希望する実装仕様に対応した第2の変換規定を第2の変換手段が備えていない場合でも、その実装仕様に対応する変換規定のみを追加開発すればよいことになり、中間形式や第1の変換規定の変更は不要なため、実装仕様の変化への対応が容易となる。
【0032】
また、設計判断情報編集手段による種々の実装仕様の指定により、1つの中間形式を種々の実装仕様に反映可能となるので、中間形式の汎用性が向上する。
【0033】
また、上記の発明によれば、業務仕様の追加または論理モジュール構成仕様の変更に対して容易に対応可能となる。その理由は、業務仕様が追加された際、または論理モジュール構成仕様が変更された際には、これらに対応する第1の変換規定のみ追加や変更すればよいことになり、第2の変換規定の変更は不要なため、業務仕様の追加や論理モジュール構成仕様の変更に対して容易に対応可能となる。
【0034】
また、上記の発明によれば、ソフトウェアコード生成装置の開発において、開発者のスキルに応じた開発分担が容易に行え、開発効率が向上する。その理由は、業務仕様すなわち業務知識を必要とする第1の変換規定と実装知識を必要とする第2の変換規定とが独立しているので、どちらかの知識だけで該当部分の開発が可能となっているためである。
【0035】
本願の請求項2に係る発明のソフトウェアコード生成装置は、請求項1に記載のソフトウェアコード生成装置において、前記第1の変換手段は、前記業務仕様を、互いに異なる論理モジュール構成仕様に対応する複数種類の中間形式にそれぞれ変換する複数種類の第1の変換ルールを格納した第1の変換ルール格納手段と、前記第1の変換ルール格納手段に格納された複数種類の第1の変換ルールの中から、前記設計判断情報編集手段で編集された論理モジュール構成仕様に応じた第1の変換ルールを、前記第1の変換規定として選択し、選択した第1の変換規定に基づき前記業務仕様を前記中間形式に変換する業務仕様変換手段とを含み、前記第2の変換手段は、前記中間形式を互いに異なる実装仕様に対応する複数種類のソフトウェアコードにそれぞれ変換する複数種類の第2の変換ルールを格納した第2の変換ルール格納手段と、前記第2の変換ルール格納手段に格納された複数種類の第2の変換ルールの中から、前記設計判断情報編集手段で編集された実装仕様に応じた第2の変換ルールを、前記第2の変換規定として選択し、選択した第2の変換規定により前記中間形式を前記ソフトウェアコードに変換する中間形式変換手段とを含むことを特徴とする。
【0036】
上記の発明によれば、上記と同様の効果を奏するとともに、異なる論理モジュール構成仕様および異なる実装仕様に対応可能となり、ソフトウェアコード生成装置の汎用性が向上する。
【0039】
本願の請求項3に係る発明のソフトウェアコード生成装置は、請求項1に記載のソフトウェアコード生成装置において、前記実装仕様は、オペレーティングシステム仕様と実装言語仕様とを含み、前記第2の変換手段は、前記設計判断情報編集手段で編集されたオペレーティングシステム仕様に応じた第3の変換規定に基づき、前記格納手段に格納された中間形式を第2の中間形式に変換する第3の変換手段と、前記第2の中間形式を格納する第2の格納手段と、前記設計判断情報編集手段で編集された実装言語仕様に応じた第4の変換規定に基づき、前記第2の格納手段に格納された第2の中間形式をソフトウェアコードに変換する第4の変換手段とを含むことを特徴とする。
【0040】
上記の発明によれば、上記と同様の効果を奏するとともに、第3および第4の変換手段を含むので、オペレーティングシステム仕様または実装言語仕様のみが当初の要求仕様から変更になった場合でも、変更のない他の仕様に応じた変換動作を行うことなく、オペレーティングシステム仕様または実装言語仕様の変更に対して容易に対応可能となる。
【0041】
本願の請求項4に係る発明のソフトウェアコード生成装置は、請求項3に記載のソフトウェアコード生成装置において、前記第1の変換手段は、前記業務仕様を、互いに異なる論理モジュール構成仕様に対応する複数種類の中間形式にそれぞれ変換する複数種類の第1の変換ルールを格納した第1の変換ルール格納手段と、前記第1の変換ルール格納手段に格納された複数種類の第1の変換ルールの中から、前記設計判断情報編集手段で編集された論理モジュール構成仕様に応じた第1の変換ルールを、前記第1の変換規定として選択し、選択した第1の変換規定に基づき前記業務仕様を前記中間形式に変換する業務仕様変換手段とを含み、前記第3の変換手段は、前記中間形式を互いに異なるオペレーティングシステム仕様に対応する複数種類の前記第2の中間形式にそれぞれ変換する複数種類の第3の変換ルールを格納した第3の変換ルール格納手段と、前記第3の変換ルール格納手段に格納された複数種類の第3の変換ルールの中から、前記設計判断情報編集手段で編集されたオペレーティングシステム仕様に応じた前記第3の変換ルールを、前記第3の変換規定として選択し、選択した第3の変換規定により前記中間形式を前記第2の中間形式に変換する第2の中間形式変換手段とを含み、前記第4の変換手段は、前記第2の中間形式を互いに異なる実装言語仕様に対応する複数種類の前記ソフトウェアコードにそれぞれ変換する複数種類の第4の変換ルールを格納した第4の変換ルール格納手段と、前記第4の変換ルール格納手段に格納された複数種類の第4の変換ルールの中から、前記設計判断情報編集手段で編集された実装言語仕様に応じた前記第4の変換ルールを、前記第4の変換規定として選択し、選択した第4の変換規定により前記第2の中間形式を前記ソフトウェアコードに変換する第3の中間形式変換手段とを含むことを特徴とする。
【0042】
上記の発明によれば、上記と同様の効果を奏するとともに、異なるオペレーティングシステム仕様および実装言語仕様に容易に対応可能となり、ソフトウェアコード生成装置の汎用性が向上する。
【0043】
本願の請求項5に係る発明のソフトウェアコード生成装置は、請求項4に記載のソフトウェアコード生成装置において、前記第1と第3と第4の変換ルール格納手段に格納されている第1と第3と第4の変換ルールを表示する表示部をさらに含むことを特徴とする。
【0044】
上記の発明によれば、上記と同様の効果を奏するとともに、第1と第3と第4の変換ルール格納手段に格納されている第1と第3と第4の変換ルールを表示するので、使用者がこの表示内容を見ることにより、要求仕様に対応する第1や第3、第4の変換ルールが存在しているか否か、すなわち要求仕様に応じたソフトウェアコードが生成可能か否かを判断可能となる。
【0049】
本願の請求項6に係る発明のソフトウェアコード生成方法は、論理モジュール構成仕様と実装仕様とを含む実現仕様と業務仕様とを備えた要求仕様に応じたソフトウェアコードを生成し、また、前記業務仕様が編集される業務仕様編集手段と、前記実現仕様が編集される設計判断情報編集手段と、を含む、ソフトウェアコード生成装置が行う、ソフトウェアコード生成方法であって、前記ソフトウェアコード生成装置が、前記設計判断情報編集手段で編集された論理モジュール構成仕様に応じた第1の変換規定に基づき、前記業務仕様編集手段で編集された業務仕様を中間形式に変換する第1の変換ステップと、前記ソフトウェアコード生成装置が、前記中間形式を格納する格納ステップと、前記ソフトウェアコード生成装置が、前記設計判断情報編集手段で編集された実装仕様に応じた第2の変換規定に基づき、前記格納ステップで格納した中間形式をソフトウェアコードに変換する第2の変換ステップとを含むことを特徴とする。
【0050】
上記の発明によれば、実現仕様編集ステップによる種々の実装仕様の指定により、中間形式を種々の実装仕様に反映可能となるので、中間形式の汎用性が向上する。
【0051】
また、実現仕様編集ステップによる種々の論理モジュール構成仕様の指定により、1つの業務仕様を種々の論理モジュール構成仕様に反映可能となるので、業務仕様の汎用性が向上する。
【0052】
また、ソフトウェアコード生成装置の開発において、開発者のスキルに応じた開発分担が容易に行え、開発効率が向上する。その理由は、業務仕様すなわち業務知識を必要とする第1の変換規定と実装知識を必要とする第2の変換規定とが独立しているので、どちらかの知識だけで該当部分の開発が可能となっているためである。本願の請求項7に係る発明のソフトウェアコード生成方法は、請求項6に記載のソフトウェアコード生成方法において、前記第1の変換ステップは、前記ソフトウェアコード生成装置が、前記業務仕様を互いに異なる論理モジュール構成仕様に対応する複数種類の前記中間形式にそれぞれ変換する複数種類の第1の変換ルールの中から、前記設計判断情報編集手段で編集された論理モジュール構成仕様に応じた前記第1の変換ルールを前記第1の変換規定として選択し、選択した第1の変換規定に基づき前記業務仕様を前記中間形式に変換するステップであり、前記第2の変換ステップは、前記ソフトウェアコード生成装置が、前記中間形式を互いに異なる実装仕様に対応する複数種類の前記ソフトウェアコードにそれぞれ変換する複数種類の第2の変換ルールの中から、前記設計判断情報編集手段で編集された実装仕様に応じた前記第2の変換ルールを、前記第2の変換規定として選択し、選択した第2の変換規定により前記中間形式を前記ソフトウェアコードに変換するステップであることを特徴とする。
【0053】
上記の発明によれば、上記と同様の効果を奏するとともに、異なる論理モジュール構成仕様および異なる実装仕様に対応可能となり、ソフトウェアコード生成の汎用性が向上する。
【0054】
本願の請求項8に係る発明のソフトウェアコード生成方法は、請求項6に記載のソフトウェアコード生成方法において、前記実装仕様は、オペレーティングシステム仕様と実装言語仕様とを含み、前記第2の変換ステップは、前記ソフトウェアコード生成装置が、前記設計判断情報編集手段で編集されたオペレーティングシステム仕様に応じた第3の変換規定に基づき、前記格納ステップで格納した中間形式を第2の中間形式に変換する第3の変換ステップと、前記ソフトウェアコード生成装置が、前記第2の中間形式を格納する第2の格納ステップと、前記ソフトウェアコード生成装置が、前記設計判断情報編集手段で編集された実装言語仕様に応じた第4の変換規定に基づき、前記第2の格納ステップで格納した第2の中間形式をソフトウェアコードに変換する第4の変換ステップとを含むことを特徴とする。
【0055】
上記の発明によれば、上記と同様の効果を奏するとともに、第3および第4の変換ステップを含むので、オペレーティングシステム仕様または実装言語仕様のみが当初の要求仕様から変更になった場合でも、変更のない他の仕様に応じた変換動作を行うことなく、オペレーティングシステム仕様または実装言語仕様の変更に対して容易に対応可能となる。本願の請求項9に係る発明のソフトウェアコード生成方法は、請求項8に記載のソフトウェアコード生成方法において、前記第1の変換ステップは、前記ソフトウェアコード生成装置が、前記業務仕様を互いに異なる論理モジュール構成仕様に対応する複数種類の前記中間形式にそれぞれ変換する複数種類の第1の変換ルールの中から、前記設計判断情報編集手段で編集された論理モジュール構成仕様に応じた前記第1の変換ルールを前記第1の変換規定として選択し、選択した第1の変換規定に基づき前記業務仕様を前記中間形式に変換するステップであり、前記第3の変換ステップは、前記ソフトウェアコード生成装置が、前記中間形式を互いに異なるオペレーティングシステム仕様に対応する複数種類の前記第2の中間形式にそれぞれ変換する複数種類の第3の変換ルールの中から、前記設計判断情報編集手段で編集されたオペレーティングシステム仕様に応じた前記第3の変換ルールを、前記第3の変換規定として選択し、選択した第3の変換規定により前記中間形式を前記第2の中間形式に変換するステップであり、前記第4の変換ステップは、前記ソフトウェアコード生成装置が、前記第2の中間形式を互いに異なる実装言語仕様に対応する複数種類の前記ソフトウェアコードにそれぞれ変換する複数種類の第4の変換ルールの中から、前記設計判断情報編集手段で編集された実装言語仕様に応じた前記第4の変換ルールを、前記第4の変換規定として選択し、選択した第4の変換規定により前記第2の中間形式を前記ソフトウェアコードに変換するステップであることを特徴とする。
【0056】
上記の発明によれば、上記と同様の効果を奏するとともに、異なるオペレーティングシステム仕様および実装言語仕様に容易に対応可能となり、ソフトウェアコード生成の汎用性が向上する。
【0057】
本願の請求項10に係る発明のプログラムは、請求項6ないし9のいずれか1つに記載されたソフトウェアコード生成方法をコンピュータに実行させることを特徴とする。
【0058】
上記の発明によれば、上記プログラムをコンピュータに実行させることによって、上記の装置や方法を容易に実現することが可能になる。
【0059】
本願の請求項11に係る発明のコンピュータ読み取り可能な記録媒体は、請求項6ないし9のいずれか1つに記載されたソフトウェアコード生成方法をコンピュータに実行させるプログラムを記録してあることを特徴とする。
【0060】
上記の発明によれば、その記録内容であるプログラムをコンピュータに読み取らせることによって、上記の装置や方法を容易に実現することが可能になる。
【0061】
【発明の実施の形態】
以下、本発明の実施の形態を図面に示す一実施例に基づき説明する。
【0062】
(実施例1)
まず、本実施例の概要を説明する。
【0063】
本実施例は、ソフトウェアコードの生成を、業務仕様から、言語やOS等の実装仕様に非依存な論理モジュール構成記述(以下「中間形式」という。)へ変換する第1の変換と、論理モジュール構成記述すなわち中間形式からソフトウェアコードへ変換する第2の変換とに多段階に分けて生成する。
【0064】
さらに、どのような論理モジュール構成、およびどのような実装方式を取るかの判断に基づき、第1および第2の変換として、予め用意したジェネレータ部品等の変換ルールの中から所望の変換ルールを選択することにより、プロジェクトにより論理モジュール構成や実装方式に変更があっても、その変更に対応したソフトウェアコードを容易に生成できるものである。
【0065】
具体的には、設計判断情報編集手段により、どのような実現方法、すなわち実現仕様(論理モジュール構成仕様と実装仕様)を取るかを設計判断情報として指定し、指定された設計判断情報に応じた第1および第2の変換を段階的に適用することによりソフトウェアコードの生成を行う。
【0066】
指定された設計判断情報に応じた第1の変換は、実装非依存でかつ論理モジュール構成仕様に応じた中間形式を業務仕様から生成する。
【0067】
指定された設計判断情報に応じた第2の変換は、生成された中間形式を実装仕様に基づいて変換することにより、ソフトウェアコードを生成する。
【0068】
上記のようにすることで、論理モジュール構成や実装方法などの仕様変更に対する影響範囲を小さくすることが可能となる。
【0069】
以下、図1を参照して本実施例を具体的に説明する。
【0070】
図1は、本実施例のソフトウェアコード生成システム、つまりソフトウェアコード生成装置を示したブロック図である。
【0071】
同図において、業務仕様編集手段1は、利用者の操作により、本システムの要求仕様に含まれる業務仕様が入力・修正される。業務仕様格納手段2は、業務仕様編集手段1で作成された業務仕様を格納する。
【0072】
第1の変換ルール格納手段としての上位変換ルール格納手段3は、業務仕様を、言語やOS等と独立な論理アーキテクチャ等を記述した中間形式に変換する複数種類の第1の変換ルールを格納する。複数種類の第1の変換ルールのそれぞれは、業務仕様を互いに異なる論理モジュール構成仕様に対応する複数種類の中間形式のいずれかにそれぞれ変換する。
【0073】
第2の変換ルール格納手段としての下位変換ルール格納手段4は、上記中間形式をソフトウェアコードに変換する複数種類の第2の変換ルールを格納する。複数種類の第2の変換ルールのそれぞれは、中間形式を互いに異なる実装仕様に対応する複数種類のソフトウェアコードのいずれかにそれぞれ変換する。
【0074】
設計判断情報編集手段5は、上位変換ルール格納手段3に格納されている複数種類の第1の変換ルールと下位変換ルール格納手段4に格納されている複数種類の第2の変換ルールを表示部5aにより参照可能である。
【0075】
また、設計判断情報編集手段5は、使用者の操作により、業務システムをどのように実現するかという実現方式としての設計判断情報が入力や修正され、その結果を設計判断情報格納手段6に格納する。つまり、設計判断情報編集手段5から本システムの要求仕様に含まれる設計判断情報が入力または修正される。
【0076】
設計判断情報としては、例えば、GUI(Graphical User Interface)画面を利用した業務システムの場合、クライアントサーバ型のシステムにするか、スタンドアローン型のシステムにするか、Webを利用した多層システムにするかなど、業務システムの論理的なモジュール構成(システム構成)仕様すなわち論理モジュール構成仕様と、各論理的モジュールやそれらの間の通信手段をどのような言語、OS、ミドルウェアを利用して実現するかなどの実装手段に関する実装仕様などの情報が含まれる。
【0077】
さらに、実装仕様としては、オペレーティングシステム仕様と実装言語仕様などの情報が含まれる。
【0078】
業務仕様変換手段7は、上位変換ルール格納手段3に格納されている複数種類の第1の変換ルールと、設計判断情報格納手段6に格納されている設計判断情報、具体的には論理モジュール構成仕様とを参照して、さらに言えば設計判断情報と業務仕様に基づき、複数種類の第1の変換ルールの中から適切な変換ルールを選択し、業務仕様格納手段7に格納された業務仕様、すなわち業務仕様編集手段1で編集された業務仕様を中間形式に変換して中間形式格納手段8に格納する。
【0079】
なお、業務仕様変換手段7と上位変換ルール格納手段3とで第1の変換手段を構成する。
【0080】
中間形式変換手段9は、下位変換ルール格納手段4に格納されている複数種類の第2の変換ルールと、設計判断情報格納手段6に格納されている設計判断情報、具体的には実装仕様とを参照して、複数種類の第2の変換ルールの中から適切な変換ルールを選択し、中間形式格納手段8に格納された中間形式、すなわち業務仕様変換手段7が生成した中間形式をソフトウェアコードに変換してコード格納手段10に格納する。
【0081】
なお、中間形式変換手段9と下位変換ルール格納手段4とで第2の変換手段を構成する。
【0082】
次に、図1を参照して、本実施例の動作について詳細に説明する。
【0083】
利用者や開発者は、業務仕様編集手段1を操作することにより、開発対象である業務システムの業務仕様を作成したり修正したりする。
【0084】
ここで業務仕様とは、例えば、GUI画面を利用した業務システムの場合には、画面の種類と画面間の遷移および各画面での表示情報やユーザ入力情報等を記述したもので、おもにユーザからのシステム要件(要求仕様)について、実現方式すなわち実現仕様に依存しない形式で記述したものである。
【0085】
図2は業務仕様の具体例を示したもので、業務仕様は図2に示したようにXML(eXtensible Markup Language)形式等で記述することができる。
【0086】
業務仕様編集手段1を用いて作成された業務仕様は、業務仕様編集手段1によって業務仕様格納手段2に格納される。
【0087】
また、利用者は、設計判断情報編集手段5を操作することにより、開発対象である業務システムをどのように実現するかの実現方式、すなわち実現仕様を決定し、決定した実現仕様を設計判断情報とする。設計判断情報の具体例としては、上述した論理モジュール構成仕様と実装仕様などの情報が含まれる。なお、実装仕様としては、オペレーティングシステム仕様と実装言語仕様の情報を含む。
【0088】
図3は設計判断情報の具体例を示したもので、設計判断情報は図3のようにXML形式等で記述することができる。
【0089】
なお、図3では、論理モジュール構成仕様を論理アーキテクチャ要素で示し、実装仕様を実装方法要素で示してある。さらに詳述すると、実装仕様としては、論理モジュール(モジュールname)ごとにオペレーティングシステム仕様と実装言語仕様という2つの仕様を、それぞれ実装OS要素と実装言語要素とで示してある。
【0090】
なお、上述したように、利用者や開発者は、設計判断情報編集手段5を操作する際に、上位変換ルール格納手段3と下位変換ルール格納手段4に格納されている変換ルールの種類を表示部5aの表示により参照可能である。
【0091】
よって、設計の選択肢、すなわち業務仕様と実現仕様とを含む要求仕様に対応する変換ルールが、上位変換ルール格納手段3や下位変換ルール格納手段4に存在しているかどうか、すなわち、業務仕様からコード生成が可能であるかどうかを判断可能となる。
【0092】
参照の仕方としては、上位変換ルール格納手段3および下位変換ルール格納手段4に格納されている変換ルールのすべての種類を表示部5aに表示するようにしてもよいし、設計判断情報編集手段5で指定した変更ルールが存在しているか否かという情報を表示部5aに表示するようにしてもよい。
【0093】
設計判断情報編集手段5を用いて作成された設計判断情報は、設計判断情報編集手段5によって設計判断情報格納手段6に格納される。
【0094】
業務仕様格納手段2に格納された業務仕様は、業務仕様変換手段7によって、中間形式に変換される。
【0095】
業務仕様変換手段7による変換は、設計判断情報に基づき、さらに言えば設計判断情報と業務仕様に基づき、上位変換ルール格納手段3に格納されている複数種類の第1の変換ルールの中から選択された第1の変換ルール用いて、業務仕様を中間形式に変換するものである。
【0096】
第1の変換ルールは、例えば、業務仕様や中間形式をXML形式とするのであれば、XSLT(eXtensible Stylesheet Language Transformation)のようにテンプレートとして記述したり、もしくは変換ロジックを記述したJava(登録商標)クラスとして実現することができる。
【0097】
業務仕様変換手段7が、上位変換ルール格納手段3に格納されている複数種類の第1の変換ルールの中からどの変換ルールを選択するかは、設計判断情報に記述された論理アーキテクチャの仕様すなわち論理モジュール構成仕様を参照して行う。さらに言えば、業務仕様変換手段7による選択は、上記論理モジュール構成仕様と業務仕様編集手段で編集された業務仕様とに基づいて行う。
【0098】
例えば、論理モジュール構成がクライアントサーバ型の構成では、大きく分けてクライアント側のシステムモジュールとサーバ側のシステムモジュールがあり、業務仕様をそれぞれのモジュールに分割し、マッピングするための変換ルールを選択する必要がある。
【0099】
つまり、業務仕様変換手段7は、論理モジュール構成仕様に応じた変換ルールを上位変換ルール格納手段3に格納されている複数種類の第1の変換ルールの中から選択する。さらに言えば、業務仕様変換手段7は、論理モジュール構成仕様と業務仕様に応じた変換ルールを上位変換ルール格納手段3に格納されている複数種類の第1の変換ルールの中から選択する。
【0100】
業務仕様変換手段7は、選択した変換ルールを実行して中間形式を生成し、生成した中間形式を中間形式格納手段8に格納する。
【0101】
ここで中間形式について改めて説明すると、実装言語やOSあるいはミドルウェア等の実装仕様から独立な形式で、どのような論理モジュール構成があり、それぞれの論理モジュールがどのような属性や処理を担当しているかを記述したものである。
【0102】
図4は中間形式の具体例を示したもので、中間形式は図4に示すようにXML形式等で記述することができる。
【0103】
中間形式格納手段8に格納された中間形式は、中間形式変換手段9によって、ターゲットとなるソフトウェアコードに変換され、コード格納手段10に格納される。
【0104】
中間形式変換手段9による変換は、下位変換ルール格納手段4に格納されている複数種類の第2の変換ルールの中から、設計判断情報に基づき選択された第2の変換ルールを実行する変換である。なお、第2の変換ルールは、第1の変換ルールと同様にして実現可能である。
【0105】
中間形式変換手段9が、下位変換ルール格納手段4に格納されている複数種類の第2の変換ルールの中からどの変換ルールを選択するかは、設計判断情報に記述された実装方法すなわち実装仕様の指定を参照して行う。
【0106】
例えば、クライアント側を第1のOS(例えば、Windows(登録商標))上で第1の言語(例えば、Visual Basic(登録商標))を利用し、サーバ側を第1のOSと異なる第2のOS(例えば、Linux)上で第1の言語と異なる第2の言語(例えば、Java(登録商標))を利用してそれぞれ実現する場合には、それぞれの実装方法にあったソフトウェアコードを生成するための変換ルールを選択する必要がある。
【0107】
本実施例は、上述したようにソフトウェアコードの自動生成を複数の変換手段による多段階の変換処理で行い、それぞれの変換処理の変換ルールが、実装仕様に非依存の第1の変換ルール(第1の変換規定)と実装仕様に依存する第2の変換ルール(第2の変換規定)とに分離されている。
【0108】
よって、設計判断情報編集手段5による種々の実装仕様の指定により、第1の変換ルールにより生成され中間形式格納手段8に格納されている中間形式を、種々の実装仕様に反映可能となり、中間形式の汎用性が向上する。
【0109】
また、複数の変換手段のそれぞれが、対応する仕様に応じた変換を行うので、仕様の変更に容易に対応可能となる。また、変更された仕様に対する変換ができない場合は、変更された仕様に対応する変換のみ開発すればよいので、仕様の変更に容易に対応可能となる。
【0110】
また、設計判断情報編集手段5による種々の論理モジュール構成仕様の指定により、業務仕様を種々の論理モジュール構成仕様が反映された中間形式に変換可能となるので、業務仕様の汎用性が向上する。
【0111】
また、当初の要求仕様に対して実装仕様のみが変化した際には、すでに第1の変換ルールに基づき開発した中間形式を変更することなく、設計判断情報編集手段5により、変更後の実装仕様を新たに指定することにより、新たな実装仕様に応じたソフトウェアコードを生成することが可能となる。
【0112】
つまり、変更のない仕様に対して再度変換処理を行うことなく、変換処理の簡略化が図れ、実装技術の変化に容易に対応可能となる。
【0113】
また、希望する実装仕様に対応した第2の変換規定を第2の変換手段が備えていない場合でも、その実装仕様に対応する変換規定のみを追加開発すればよいので、中間形式や第1の変換規定の変更が不要となり、実装仕様の変化への対応が容易となる。
【0114】
また、業務仕様の追加または論理モジュール構成仕様の変更に対して容易に対応可能となる。その理由は、業務仕様が追加された際、または論理モジュール構成仕様が変更された際には、これらに対応する最初の変換規定のみ追加や変更すればよいことになり、以降の変換規定の変更が不要となり、業務仕様の追加や論理モジュール構成仕様の変更に対して容易に対応可能となる。
【0115】
また、ソフトウェアコード生成技術の開発において、開発者のスキルに応じた開発分担が容易に行えるので、開発効率が向上する。その理由は、業務仕様すなわち業務知識を必要とする第1の変換規定と実装知識を必要とする第2の変換規定とが独立しているので、どちらかの知識だけで該当部分の開発が可能となっているためである。
【0116】
また、上位変換ルール格納手段3が複数種類の第1の変換ルールを格納しているので、異なる論理モジュール構成仕様に対応可能となり、ソフトウェアコード生成の汎用性が向上する。
【0117】
また、下位変換ルール格納手段4が複数種類の第2の変換ルールを格納しているので、異なる実装仕様に対応可能となり、ソフトウェアコード生成の汎用性が向上する。
【0118】
(実施例2)
次に、本発明の実施形態の他の実施例(実施例2)について、図面を参照して詳細に説明する。
【0119】
図5は、実施例2のソフトウェアコード生成システム、つまりソフトウェアコード生成装置を示したブロック図である。なお、図5において、図1と同一構成または同一機能のものには、同一符号を附してある。
【0120】
図5において、第1の下位変換ルール格納手段41は、中間形式格納手段8に格納されている中間形式を、OSで提供されている機能に対応づけた第2の中間形式に変換する複数種類の第3の変換ルールを格納する。複数種類の第3の変換ルールのそれぞれは、中間形式を互いに異なるOS仕様に対応する複数種類の第2の中間形式のいずれかにそれぞれ変換する。
【0121】
中間形式変換手段91は、設計判断情報のうち、OSのみの情報すなわちオペレーティングシステム仕様を取り出し、取り出したオペレーティングシステム仕様に対応する第3の変換ルールを、第1の下位変換ルール格納手段41に格納されている複数種類の第3の変換ルールの中から第3の変換規定として選択する。
【0122】
第3の変換規定を選択すると、中間形式変換手段91は、この第3の変換規定に基づき、中間形式を、取り出したオペレーティングシステム仕様に記載されているOSで提供されている機能に対応づけた第2の中間形式に変換し、第2の中間形式を中間形式格納手段81に格納する。
【0123】
第2の下位変換ルール格納手段42は、中間形式格納手段81に格納されている第2の中間形式をソフトウェアコードに変換する複数種類の第4の変換ルールを格納する。複数種類の第4の変換ルールのそれぞれは、第2の中間形式を互いに異なる実装言語に対応する複数種類のソフトウェアコードのいずれかにそれぞれ変換する。
【0124】
中間形式変換手段92は、設計判断情報のうち実装言語の情報すなわち実装言語仕様を取り出し、取り出した実装言語仕様に対応する第4の変換ルールを、第2の下位変換ルール格納手段42に格納されている複数種類の第4の変換ルールの中から第4の変換規定として選択する。
【0125】
第4の変換規定を選択すると、中間形式変換手段92は、この第4の変換規定に基づき、第2の中間形式をターゲットとなるソフトウェアコードに変換し、コード格納手段10に格納する。
【0126】
つまり、図5に示した実施例2では、中間形式格納手段および中間形式変換手段および下位変換ルール格納手段がそれぞれ2つ設けてあり、全体として3段階の変換処理を行うことによりソフトウェアコード生成を行っている。
【0127】
よって、実施例2によれば、OSは不変で、実装言語のみ変更になった場合、例えば、第1のOSを継続して利用するが、言語が第1の言語から第1の言語と異なる第2の言語に変更となった場合に、中間形式格納手段8や中間形式格納手段81に格納され、すでに開発済みの中間形式および第2の中間形式を変更することなく、変更となった実装言語に対応する部分のみの変換ルールを変更するだけで対応可能となり、仕様変更に伴う変換ルールの変更の影響範囲を小さくすることができる。
【0128】
なお、表示部5aは、上位変換ルール格納手段3に格納されている第1の変換ルールと第1の下位変換ルール格納手段41に格納されている第3の変換ルールと第2の下位変換ルール格納手段42に格納されている第4の変換ルールを表示する。
【0129】
よって、利用者は、表示部5aの表示によって、要求仕様に対応する第1、第3および第4の変換ルールが存在しているか否か、すなわち要求仕様に応じたソフトウェアコードが生成可能か否かを判断可能となる。
【0130】
本実施例(実施例2)は、第3および第4の変換手段を含むので、オペレーティングシステム仕様または実装言語仕様のいずれか一方のみが当初の要求仕様から変更になった場合でも、変更のない他の仕様に応じた変換動作を行う必要がなくなり、オペレーティングシステム仕様または実装言語仕様の変更に対して容易に対応可能となる。
【0131】
また、中間形式を互いに異なるオペレーティングシステム仕様に対応する複数種類の第2の中間形式にそれぞれ変換する複数の第3の変換ルールの中から、設計判断情報編集手段で編集されたオペレーティングシステム仕様に応じた第3の変換ルールを第3の変換規定として選択し、選択した第3の変換規定により中間形式を第2の中間形式に変換するので、異なるオペレーティングシステム仕様に対応可能となり、ソフトウェアコード生成装置の汎用性が向上する。
【0132】
また、第2の中間形式を互いに異なる実装言語仕様に対応する複数種類のソフトウェアコードにそれぞれ変換する複数の第4の変換ルールの中から、設計判断情報編集手段で編集された実装言語仕様に応じた第4の変換ルールを第4の変換規定として選択し、選択した第4の変換規定により第2の中間形式をソフトウェアコードに変換するので、異なる実装言語仕様に対応可能となり、ソフトウェアコード生成装置の汎用性が向上する。
【0133】
なお、上記では、変換処理を2段や3段に分けた実施例を示したが、例えば、設計判断情報編集手段を用いて入力または変更される実現仕様に含まれる仕様の種類が3種類以上ある場合には、変換ルールを格納した下位変換ルール格納手段と中間形式変換手段および中間形式格納手段を、上記仕様の種類の数に応じた数だけ設けることで、各中間形式変換手段が各仕様に応じた変換処理を受け持つことが可能となり、より多段階の変換処理を有する構成を実現できる。
【0134】
上記のように、各変換手段が各仕様に応じた変換処理を受け持つことにより、実装仕様の変更に容易に対応可能となる。つまり、変更のあった仕様に対応する変換処理を選択し、選択した変換処理を実行することにより、仕様の変更への対応が容易になる。
【0135】
以上説明した各実施例において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。
【0136】
また、本発明の目的は、上記実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、コンピュータを備えたシステムや装置に供給し、そのコンピュータが記録媒体に格納されたプログラムコードを読み出し、実行することによっても、達成されることは言うまでもない。
【0137】
上記の場合、プログラムコード自体が上記実施形態の機能を実現することになり、そのプログラムおよびそのプログラムコードを記録した記録媒体が本発明を構成することになる。
【0138】
【発明の効果】
本発明によれば、実装仕様の変化に容易に対応可能となる。すなわち、例えば当初の要求仕様に対して実装仕様のみに変化が発生した場合、既に第1の変換手段によって生成され、格納手段に格納されている中間形式を変更することなく、設計判断情報編集手段により、変更後の実装仕様を指定することにより、新たな実装仕様に対応するソフトウェアコードを生成可能なため、実装仕様の変化に容易に対応可能となる。
【0139】
換言すると、変更のない業務仕様や論理モジュール構成仕様について再度同じような変換動作を行うことを避けることが可能となる。
【0140】
また、仮に希望する実装仕様に対応した第2の変換規定を第2の変換手段が備えていない場合でも、その実装仕様に対応する変換規定のみを追加開発すればよいことになり、中間形式や第1の変換規定の変更は不要なため、実装仕様の変化への対応が容易となる。
【0141】
また、設計判断情報編集手段による種々の実装仕様の指定により、1つの中間形式を種々の実装仕様に反映可能となるので、中間形式の汎用性が向上する。
【0142】
また、上記の発明によれば、業務仕様の追加または論理モジュール構成仕様の変更に対して容易に対応可能となる。その理由は、業務仕様が追加された際、または論理モジュール構成仕様が変更された際には、これらに対応する第1の変換規定のみ追加や変更すればよいことになり、第2の変換規定の変更は不要なため、業務仕様の追加や論理モジュール構成仕様の変更に対して容易に対応可能となる。
【0143】
また、上記の発明によれば、ソフトウェアコード生成装置の開発において、開発者のスキルに応じた開発分担が容易に行え、開発効率が向上する。その理由は、業務仕様すなわち業務知識を必要とする第1の変換規定と実装知識を必要とする第2の変換規定とが独立しているので、どちらかの知識だけで該当部分の開発が可能となっているためである。
【0144】
また、複数の変換手段のそれぞれが、対応する仕様に応じた変換を行うので、仕様の変更に容易に対応可能となる。また、変更された仕様に対する変換ができない場合は、変更仕様に対応する変換のみ開発すればよいので、仕様の変更に容易に対応可能となる。
【図面の簡単な説明】
【図1】本発明の一実施例を示したブロック回路図。
【図2】図1の業務仕様編集手段1により編集される業務仕様の具体例を示した図。
【図3】図1の設計判断情報編集手段5により編集される設計判断情報の具体例を示した図。
【図4】図1の中間形式格納手段8に格納される中間形式の具体例を示した図。
【図5】本発明の他の実施例を示したブロック回路図。
【符号の説明】
1 業務仕様編集手段
2 業務仕様格納手段
3 上位変換ルール格納手段
4 下位変換ルール格納手段
41 第1の下位変換ルール格納手段
42 第2の下位変換ルール格納手段
5 設計判断情報編集手段
5a 表示部
6 設計判断情報格納手段
7 業務仕様変換手段
8 中間形式格納手段
81 中間形式格納手段
9 中間形式変換手段
91 中間形式変換手段
92 中間形式変換手段
10 コード格納手段[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a software code generation apparatus and a software code generation method for automatically generating software code according to specifications created by a developer, a user, or the like.
[0002]
In particular, the present invention relates to a software code generation device and a software code generation method that can easily cope with a change in specifications such as a logic module configuration (system configuration) and a mounting method (mounting language, operation system, etc.).
[0003]
[Prior art]
2. Description of the Related Art Conventionally, there is a software code generation device that automatically generates software code according to specifications created by a developer or user.
[0004]
For example, Patent Document 1 (Japanese Patent Application Laid-Open No. 2002-73336) describes the following software generation device.
[0005]
System analysis models are created by analyzing required specifications clarified by developers, etc., registering component parts, setting the relations and functions of component parts, and then analyzing the contents of the system analysis model It is converted into data associated with the model and stored. Thereafter, the software code is generated in accordance with the software code generation instruction.
[0006]
In Patent Document 2 (Japanese Translation of PCT International Publication No. 2002-526858), an object to be developed is separated into a part dependent on mounting technology and an independent part and stored in a repository. A configuration that maintains the association is described.
[0007]
[Patent Document 1]
JP 2002-733336 A
[Patent Document 2]
Japanese translation of PCT publication No. 2002-526858
[0008]
[Problems to be solved by the invention]
However, the techniques described in Patent Document 1 and Patent Document 2 have the following problems.
[0009]
The first problem is that it cannot easily cope with changes in mounting technology. Hereinafter, the reason for this first problem will be described.
[0010]
For example, there is a case where there is no change in the business specification and the logical module configuration specification, and only the mounting specification, that is, the mounting language, the OS (operating system), etc. are changed.
[0011]
When the above changes occur, the technology described in Patent Document 1 creates a specification that describes the changed operation specifications and the business specifications and logic module configuration specifications that have not been changed, The software code had to be generated anew based on this new specification.
[0012]
In the technique described in Patent Document 2, although a model is separated into a part that depends on the mounting technique and a part that does not depend on the mounting technique, separation as a tool or a code generation mechanism is not performed.
[0013]
Therefore, when the above changes occur, only the part that depends on the mounting technology needs to be changed as a model, but since no separation is performed as a tool or code generation mechanism, software code is actually generated At that time, the same processing as in Patent Document 1 had to be performed.
[0014]
The second problem is that it cannot easily cope with changes in business functions (business specifications). Hereinafter, the reason for this second problem will be described.
[0015]
For example, there is a case where there is no change in the logical module configuration specification and the mounting specification, and only the business function is changed in the middle.
[0016]
In the above case, the technique described in Patent Document 1 creates a new specification that includes the changed business functions (business specifications) and the logical module configuration specifications and mounting specifications that have not been changed. The software code had to be generated anew based on the specification.
[0017]
Although the technique described in Patent Document 2 is separated as a model into a part that depends on the mounting technique and a part that does not depend on the mounting technique, it is not separated as a tool or code generation mechanism. If there is a major change, it is only necessary to change the part that does not depend on the mounting technology as a model, but since no separation is performed as a tool or code generation mechanism, when actually generating software code, The same processing as in Patent Document 1 had to be performed.
[0018]
The third problem is that human resources who need high skills are required for development of software code generation.
[0019]
The reason for the above is that, in the techniques described in Patent Document 1 and Patent Document 2, since the part for performing the conversion process is not separated, appropriate development sharing cannot be performed, and the developer has knowledge of business and implementation technology. This is because it is necessary to have both.
[0020]
An object of the present invention is to provide a software code generation apparatus and a software code generation method that can easily cope with changes in specifications such as mounting technology specifications.
[0021]
[Means for Solving the Problems]
In order to achieve the above object, an apparatus for generating software code according to claim 1 of the present application provides: A software code generation device for generating a software code according to a required specification having design judgment information including a logical module configuration specification and an implementation specification and a business specification, and a business specification editing means for editing the business specification; The design judgment information editing means for editing the design judgment information, and the business specification editing means based on the first conversion rule corresponding to the logic module configuration specification edited by the design judgment information editing means. Based on the first conversion means for converting the business specification into an intermediate format, the storage means for storing the intermediate format, and the second conversion rule according to the mounting specification edited by the design judgment information editing means, the storage Second conversion means for converting the intermediate format stored in the means into software code It is characterized by that.
[0028]
According to the above invention, it is possible to easily cope with changes in mounting specifications.
[0029]
That is, in the above invention, for example, when a change occurs only in the implementation specification with respect to the original requirement specification, without changing the intermediate format already generated by the first conversion unit and stored in the storage unit, By designating the changed mounting specification by the design decision information editing means, it is possible to generate software code corresponding to the new mounting specification, so that it is possible to easily cope with changes in the mounting specification.
[0030]
In other words, it is possible to avoid performing the same conversion operation again for the business specifications and logic module configuration specifications that are not changed.
[0031]
Even if the second conversion means does not have the second conversion rule corresponding to the desired mounting specification, only the conversion rule corresponding to the mounting specification needs to be additionally developed. Since it is not necessary to change the first conversion rule, it is easy to cope with changes in the mounting specifications.
[0032]
In addition, by specifying various mounting specifications by the design judgment information editing means, one intermediate format can be reflected in various mounting specifications, so that the versatility of the intermediate format is improved.
[0033]
Further, according to the above invention, it is possible to easily cope with addition of business specifications or change of logic module configuration specifications. The reason is that when a business specification is added or when a logical module configuration specification is changed, only the first conversion rule corresponding to these needs to be added or changed. Therefore, it is possible to easily cope with the addition of business specifications and the change of logical module configuration specifications.
[0034]
Further, according to the above-described invention, in the development of the software code generation device, the development assignment according to the skill of the developer can be easily performed, and the development efficiency is improved. The reason for this is that the first conversion rule that requires business specifications, that is, business knowledge, and the second conversion rule that requires implementation knowledge are independent. This is because.
[0035]
Claims of the present application 2 The software code generation device of the invention according to claim 1 In the software code generation device according to claim 1, the first conversion unit stores a plurality of types of first conversion rules for converting the business specifications into a plurality of types of intermediate formats corresponding to different logical module configuration specifications. The first conversion rule storage means and the plurality of types of first conversion rules stored in the first conversion rule storage means according to the logic module configuration specifications edited by the design decision information editing means. And a business specification conversion means for selecting the first conversion rule as the first conversion rule and converting the business specification into the intermediate format based on the selected first conversion rule, and the second conversion rule. Means for storing a plurality of types of second conversion rules for converting the intermediate format into a plurality of types of software codes corresponding to different implementation specifications, respectively; A second conversion rule corresponding to the mounting specification edited by the design judgment information editing means from among a plurality of types of second conversion rules stored in the second conversion rule storage means; And an intermediate format conversion means for converting the intermediate format into the software code according to the selected second conversion rule.
[0036]
According to the above invention, the same effects as described above can be obtained, and different logic module configuration specifications and different mounting specifications can be supported, and the versatility of the software code generation device is improved.
[0039]
Claims of the present application 3 The software code generation device of the invention according to claim 1 In the software code generation device described in (1), the implementation specification includes an operating system specification and an implementation language specification, and the second conversion unit is a first unit corresponding to the operating system specification edited by the design determination information editing unit. 3 conversion means for converting the intermediate format stored in the storage means to a second intermediate format, a second storage means for storing the second intermediate format, and the design A fourth conversion means for converting the second intermediate format stored in the second storage means into software code based on a fourth conversion rule corresponding to the implementation language specification edited by the determination information editing means; It is characterized by including.
[0040]
According to the above invention, the same effect as described above is obtained, and the third and fourth conversion means are included. Therefore, even when only the operating system specification or the implementation language specification is changed from the original requirement specification, the change is made. It is possible to easily cope with a change in the operating system specification or the implementation language specification without performing a conversion operation in accordance with other specifications that are not present.
[0041]
Claims of the present application 4 The software code generation device of the invention according to claim 3 In the software code generation device according to claim 1, the first conversion unit stores a plurality of types of first conversion rules for converting the business specifications into a plurality of types of intermediate formats corresponding to different logical module configuration specifications. The first conversion rule storage means and the plurality of types of first conversion rules stored in the first conversion rule storage means according to the logic module configuration specifications edited by the design decision information editing means. And a business specification conversion means for selecting the first conversion rule as the first conversion rule and converting the business specification into the intermediate format based on the selected first conversion rule, and the third conversion Means for converting the intermediate format into a plurality of types of second conversion formats respectively corresponding to a plurality of types of the second intermediate formats corresponding to different operating system specifications; Operating system specifications edited by the design decision information editing means from among a plurality of types of third conversion rules stored in the third conversion rule storage means stored in the third conversion rule storage means Second intermediate format conversion means for selecting the third conversion rule according to the third conversion rule as the third conversion rule, and converting the intermediate format into the second intermediate format according to the selected third conversion rule; And the fourth conversion means stores a plurality of types of fourth conversion rules for converting the second intermediate format into a plurality of types of the software codes corresponding to different implementation language specifications, respectively. A conversion rule storage unit and a plurality of types of fourth conversion rules stored in the fourth conversion rule storage unit according to the implementation language specification edited by the design decision information editing unit. And a third intermediate format conversion means for selecting the fourth conversion rule as the fourth conversion rule and converting the second intermediate format into the software code according to the selected fourth conversion rule. It is characterized by that.
[0042]
According to the above invention, the same effects as described above can be obtained, and different operating system specifications and implementation language specifications can be easily handled, so that the versatility of the software code generation apparatus is improved.
[0043]
Claims of the present application 5 The software code generation device of the invention according to claim 4 The software code generation device according to claim 1, further comprising a display unit for displaying the first, third, and fourth conversion rules stored in the first, third, and fourth conversion rule storage means. And
[0044]
According to the above invention, the first, third, and fourth conversion rules stored in the first, third, and fourth conversion rule storage means are displayed as well as the same effect as described above. When the user sees this display content, it is determined whether the first, third, and fourth conversion rules corresponding to the required specifications exist, that is, whether the software code corresponding to the required specifications can be generated. Judgment is possible.
[0049]
The software code generation method of the invention according to claim 6 of the present application generates a software code corresponding to a required specification including a realization specification and a business specification including a logical module configuration specification and an implementation specification. And a software code generation device including a business specification editing unit for editing the business specification, and a design determination information editing unit for editing the realization specification. A software code generation method, The software code generation device has been edited by the design decision information editing means Based on the first conversion rule according to the logic module configuration specification, Edited by the business specification editing means A first conversion step for converting the business specification into an intermediate format; The software code generation device comprises: A storing step for storing the intermediate format; The software code generation device has been edited by the design decision information editing means And a second conversion step of converting the intermediate format stored in the storage step into a software code based on a second conversion rule according to the mounting specification.
[0050]
According to the above invention, since the intermediate format can be reflected in various mounting specifications by specifying various mounting specifications in the realization specification editing step, the versatility of the intermediate format is improved.
[0051]
In addition, by specifying various logical module configuration specifications in the realization specification editing step, one business specification can be reflected in various logical module configuration specifications, so the versatility of the business specifications is improved.
[0052]
Further, in the development of the software code generation device, the development sharing according to the developer's skill can be easily performed, and the development efficiency is improved. The reason for this is that the first conversion rule that requires business specifications, that is, business knowledge, and the second conversion rule that requires implementation knowledge are independent. This is because. The software code generation method according to claim 7 of the present application is the software code generation method according to claim 6, wherein the first conversion step includes: The software code generation device comprises: Among a plurality of types of first conversion rules for converting the business specifications into a plurality of types of the intermediate formats corresponding to different logical module configuration specifications, Edited by the design decision information editing means Selecting the first conversion rule according to a logic module configuration specification as the first conversion rule, and converting the business specification into the intermediate format based on the selected first conversion rule; The conversion step is The software code generation device comprises: Among a plurality of types of second conversion rules that respectively convert the intermediate format into a plurality of types of the software codes corresponding to different implementation specifications, Edited by the design decision information editing means The second conversion rule according to the mounting specification is selected as the second conversion rule, and the intermediate format is converted into the software code according to the selected second conversion rule.
[0053]
According to the above invention, the same effects as described above can be obtained, and different logic module configuration specifications and different mounting specifications can be supported, and the versatility of software code generation is improved.
[0054]
The software code generation method according to claim 8 of the present application is the software code generation method according to claim 6, wherein the implementation specification includes an operating system specification and an implementation language specification, and the second conversion step includes , The software code generation device has been edited by the design decision information editing means A third conversion step of converting the intermediate format stored in the storage step into a second intermediate format based on a third conversion rule according to the operating system specification; The software code generation device comprises: A second storing step for storing the second intermediate format; The software code generation device has been edited by the design decision information editing means And a fourth conversion step of converting the second intermediate format stored in the second storage step into a software code based on a fourth conversion rule according to the implementation language specification.
[0055]
According to the above invention, the same effect as described above is obtained, and the third and fourth conversion steps are included. Therefore, even when only the operating system specification or the implementation language specification is changed from the original requirement specification, the change is made. It is possible to easily cope with a change in the operating system specification or the implementation language specification without performing a conversion operation in accordance with other specifications that are not present. The software code generation method according to claim 9 of the present application is the software code generation method according to claim 8, wherein the first conversion step includes: The software code generation device comprises: Among a plurality of types of first conversion rules for converting the business specifications into a plurality of types of the intermediate formats corresponding to different logical module configuration specifications, Edited by the design decision information editing means Selecting the first conversion rule corresponding to a logical module configuration specification as the first conversion rule, and converting the business specification into the intermediate format based on the selected first conversion rule; The conversion step is The software code generation device comprises: Among a plurality of types of third conversion rules that respectively convert the intermediate format into a plurality of types of the second intermediate format corresponding to different operating system specifications, Edited by the design decision information editing means Selecting the third conversion rule according to an operating system specification as the third conversion rule, and converting the intermediate format into the second intermediate format according to the selected third conversion rule, The fourth conversion step is The software code generation device comprises: Among a plurality of types of fourth conversion rules that respectively convert the second intermediate format into a plurality of types of software codes corresponding to different implementation language specifications, Edited by the design decision information editing means Selecting the fourth conversion rule according to an implementation language specification as the fourth conversion rule, and converting the second intermediate format into the software code according to the selected fourth conversion rule. Features.
[0056]
According to the above invention, the same effects as described above can be obtained, and different operating system specifications and implementation language specifications can be easily handled, thereby improving the versatility of software code generation.
[0057]
Claims of the
[0058]
According to the above invention, the above apparatus and method can be easily realized by causing a computer to execute the above program.
[0059]
Claims of the present application 11 The computer-readable recording medium of the invention according to claim 6 Or 9 A program for causing a computer to execute the software code generation method described in any one of the above is recorded.
[0060]
According to the above invention, it is possible to easily realize the above-described apparatus and method by causing a computer to read the program that is the recorded content.
[0061]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the present invention will be described based on an example shown in the drawings.
[0062]
Example 1
First, an outline of the present embodiment will be described.
[0063]
In this embodiment, the first conversion for converting the software code generation from the business specification to the logical module configuration description (hereinafter referred to as “intermediate format”) independent of the implementation specifications such as language and OS, and the logical module A structure description, that is, a second conversion for converting from an intermediate format to software code is generated in multiple stages.
[0064]
In addition, based on the determination of what logic module configuration and what mounting method is used, a desired conversion rule is selected from conversion rules such as generator parts prepared in advance as the first and second conversions. By doing so, even if there is a change in the logical module configuration or mounting method depending on the project, software code corresponding to the change can be easily generated.
[0065]
Specifically, the design decision information editing means designates what kind of realization method, that is, the realization specification (logical module configuration specification and implementation specification) is taken as design decision information, and corresponds to the designated design decision information. The software code is generated by applying the first and second transformations step by step.
[0066]
The first conversion according to the designated design judgment information generates an intermediate format from the business specification that is implementation-independent and that corresponds to the logical module configuration specification.
[0067]
In the second conversion corresponding to the designated design determination information, a software code is generated by converting the generated intermediate format based on the mounting specification.
[0068]
By doing so, it is possible to reduce the range of influence on specification changes such as the logic module configuration and mounting method.
[0069]
Hereinafter, the present embodiment will be specifically described with reference to FIG.
[0070]
FIG. 1 is a block diagram showing a software code generation system of this embodiment, that is, a software code generation device.
[0071]
In the figure, the business specification editing means 1 inputs and corrects the business specifications included in the required specifications of this system by the user's operation. The business specification storage unit 2 stores the business specification created by the business specification editing unit 1.
[0072]
The upper conversion rule storage means 3 as the first conversion rule storage means stores a plurality of types of first conversion rules for converting the business specifications into an intermediate format describing a logical architecture or the like independent of a language, an OS, or the like. . Each of the plurality of types of first conversion rules converts the business specification into any of a plurality of types of intermediate formats corresponding to different logical module configuration specifications.
[0073]
The low-order conversion rule storage means 4 as the second conversion rule storage means stores a plurality of types of second conversion rules for converting the intermediate format into software codes. Each of the plurality of types of second conversion rules converts the intermediate format into one of a plurality of types of software codes corresponding to different implementation specifications.
[0074]
The design judgment information editing unit 5 displays a plurality of types of first conversion rules stored in the upper conversion rule storage unit 3 and a plurality of types of second conversion rules stored in the lower conversion rule storage unit 4. Reference can be made by 5a.
[0075]
Further, the design judgment information editing means 5 inputs or corrects design judgment information as a method of realizing the business system by the user's operation, and stores the result in the design judgment information storage means 6. To do. That is, the design judgment information included in the required specifications of this system is input or corrected from the design judgment information editing means 5.
[0076]
As design decision information, for example, in the case of a business system using a GUI (Graphical User Interface) screen, whether it is a client server type, a stand-alone type system, or a multi-layer system using the Web The logical module configuration (system configuration) specification of the business system, that is, the logical module configuration specification, and what language, OS, middleware is used to realize each logical module and the communication means between them, etc. This includes information such as implementation specifications related to the implementation method.
[0077]
Further, the implementation specifications include information such as operating system specifications and implementation language specifications.
[0078]
The business specification conversion means 7 includes a plurality of types of first conversion rules stored in the higher-order conversion rule storage means 3, design determination information stored in the design determination information storage means 6, specifically a logic module configuration With reference to the specification, more specifically, based on the design decision information and the business specification, an appropriate conversion rule is selected from the plurality of types of first conversion rules, and the business specification stored in the business specification storage means 7 That is, the business specification edited by the business specification editing unit 1 is converted into an intermediate format and stored in the intermediate format storage unit 8.
[0079]
The business specification conversion means 7 and the upper conversion rule storage means 3 constitute a first conversion means.
[0080]
The intermediate format conversion unit 9 includes a plurality of types of second conversion rules stored in the lower conversion rule storage unit 4, design determination information stored in the design determination information storage unit 6, specifically, an implementation specification, , An appropriate conversion rule is selected from a plurality of types of second conversion rules, and the intermediate format stored in the intermediate format storage means 8, that is, the intermediate format generated by the business specification conversion means 7 is converted into software code. And stored in the code storage means 10.
[0081]
The intermediate format conversion means 9 and the lower conversion rule storage means 4 constitute a second conversion means.
[0082]
Next, the operation of the present embodiment will be described in detail with reference to FIG.
[0083]
A user or a developer creates or modifies a business specification of a business system to be developed by operating the business specification editing unit 1.
[0084]
Here, for example, in the case of a business system using a GUI screen, the business specification describes the type of screen, transition between screens, display information on each screen, user input information, and the like. The system requirements (required specifications) are described in a form independent of the realization method, ie, the realization specification.
[0085]
FIG. 2 shows a specific example of the business specification. The business specification can be described in an XML (extensible Markup Language) format or the like as shown in FIG.
[0086]
The business specification created using the business specification editing unit 1 is stored in the business specification storage unit 2 by the business specification editing unit 1.
[0087]
Further, the user operates the design decision information editing means 5 to determine the realization method of how to realize the business system to be developed, that is, the realization specification, and the decided realization specification is determined as the design decision information. And Specific examples of the design determination information include information such as the above-described logic module configuration specifications and mounting specifications. The implementation specifications include information on operating system specifications and implementation language specifications.
[0088]
FIG. 3 shows a specific example of the design decision information. The design decision information can be described in the XML format or the like as shown in FIG.
[0089]
In FIG. 3, the logical module configuration specification is indicated by a logical architecture element, and the implementation specification is indicated by an implementation method element. More specifically, as the mounting specifications, two specifications of an operating system specification and a mounting language specification for each logical module (module name) are indicated by a mounting OS element and a mounting language element, respectively.
[0090]
As described above, when the user or developer operates the design decision information editing unit 5, the type of conversion rule stored in the upper conversion rule storage unit 3 and the lower conversion rule storage unit 4 is displayed. It can be referred to by the display of the part 5a.
[0091]
Therefore, whether or not the conversion rule corresponding to the required specification including the design option, that is, the business specification and the realization specification exists in the upper conversion rule storage unit 3 and the lower conversion rule storage unit 4, that is, the code from the business specification It is possible to determine whether the generation is possible.
[0092]
As a reference method, all types of conversion rules stored in the upper conversion rule storage unit 3 and the lower conversion rule storage unit 4 may be displayed on the display unit 5a, or the design judgment information editing unit 5 Information indicating whether or not the change rule specified in (1) exists may be displayed on the display unit 5a.
[0093]
The design judgment information created using the design judgment information editing means 5 is stored in the design judgment information storage means 6 by the design judgment information editing means 5.
[0094]
The business specification stored in the business specification storage unit 2 is converted into an intermediate format by the business specification conversion unit 7.
[0095]
The conversion by the business specification conversion means 7 is selected from a plurality of types of first conversion rules stored in the upper conversion rule storage means 3 based on the design determination information, more specifically, based on the design determination information and the business specifications. The business specification is converted into an intermediate format using the first conversion rule.
[0096]
For example, if the business specification or the intermediate format is an XML format, the first conversion rule is described as a template, such as XSLT (extensible stylesheet transformation), or Java (registered trademark) in which conversion logic is described. Can be realized as a class.
[0097]
Which conversion rule the business specification conversion means 7 selects from among a plurality of types of first conversion rules stored in the higher-order conversion rule storage means 3 is the specification of the logical architecture described in the design decision information, that is, Refer to the logic module configuration specification. Furthermore, the selection by the business specification conversion means 7 is performed based on the logical module configuration specification and the business specifications edited by the business specification editing means.
[0098]
For example, when the logical module configuration is a client-server configuration, there are roughly divided system modules on the client side and system modules on the server side, and it is necessary to divide the business specifications into each module and select a conversion rule for mapping There is.
[0099]
That is, the business specification conversion unit 7 selects a conversion rule corresponding to the logical module configuration specification from a plurality of types of first conversion rules stored in the upper conversion rule storage unit 3. Furthermore, the business specification conversion unit 7 selects a conversion rule corresponding to the logical module configuration specification and the business specification from among a plurality of types of first conversion rules stored in the upper conversion rule storage unit 3.
[0100]
The business specification conversion unit 7 executes the selected conversion rule to generate an intermediate format, and stores the generated intermediate format in the intermediate format storage unit 8.
[0101]
Here, the intermediate format will be explained again. What is the logical module configuration in a format that is independent of the implementation specifications of the implementation language, OS, middleware, etc., and what attributes and processing each logical module is responsible for? Is described.
[0102]
FIG. 4 shows a specific example of the intermediate format. The intermediate format can be described in the XML format or the like as shown in FIG.
[0103]
The intermediate format stored in the intermediate format storage unit 8 is converted into a target software code by the intermediate format conversion unit 9 and stored in the
[0104]
The conversion by the intermediate format conversion means 9 is a conversion that executes the second conversion rule selected from the plurality of types of second conversion rules stored in the lower conversion rule storage means 4 based on the design judgment information. is there. The second conversion rule can be realized in the same manner as the first conversion rule.
[0105]
Which conversion rule the intermediate format conversion means 9 selects from among a plurality of types of second conversion rules stored in the lower conversion rule storage means 4 depends on the mounting method described in the design decision information, that is, the mounting specification. Refer to the specification.
[0106]
For example, the client side uses a first language (for example, Visual Basic (registered trademark)) on a first OS (for example, Windows (registered trademark)), and the server side is different from the first OS. When realizing each using a second language (for example, Java (registered trademark)) different from the first language on the OS (for example, Linux), software code suitable for each mounting method is generated. It is necessary to select a conversion rule for.
[0107]
In this embodiment, as described above, automatic generation of software code is performed by multi-stage conversion processing by a plurality of conversion means, and the conversion rule of each conversion processing is the first conversion rule (first 1 conversion rule) and a second conversion rule (second conversion rule) depending on the mounting specification.
[0108]
Therefore, the intermediate format generated by the first conversion rule and stored in the intermediate format storage unit 8 can be reflected in various implementation specifications by designating various implementation specifications by the design judgment information editing unit 5. Improves versatility.
[0109]
In addition, since each of the plurality of conversion means performs conversion according to the corresponding specification, it is possible to easily cope with a change in the specification. In addition, when the changed specification cannot be converted, only the conversion corresponding to the changed specification needs to be developed, so that the change of the specification can be easily handled.
[0110]
In addition, by designating various logic module configuration specifications by the design judgment information editing means 5, the business specifications can be converted into an intermediate format reflecting various logic module configuration specifications, so the versatility of the business specifications is improved.
[0111]
Further, when only the implementation specification changes with respect to the original requirement specification, the design specification information editing means 5 does not change the intermediate format already developed based on the first conversion rule, but the changed implementation specification. By newly designating, it becomes possible to generate software code according to a new implementation specification.
[0112]
That is, it is possible to simplify the conversion process without performing the conversion process again on the specification without change, and it is possible to easily cope with a change in mounting technology.
[0113]
Even if the second conversion means does not have the second conversion rule corresponding to the desired mounting specification, only the conversion rule corresponding to the mounting specification needs to be additionally developed. Conversion rules need not be changed, and it becomes easier to respond to changes in mounting specifications.
[0114]
Further, it becomes possible to easily cope with addition of business specifications or change of logical module configuration specifications. The reason is that when a business specification is added or when a logical module configuration specification is changed, only the first conversion rule corresponding to these needs to be added or changed. Therefore, it is possible to easily cope with the addition of business specifications and the change of logical module configuration specifications.
[0115]
In addition, in the development of software code generation technology, development efficiency can be improved because the development sharing according to the skill of the developer can be easily performed. The reason for this is that the first conversion rule that requires business specifications, that is, business knowledge, and the second conversion rule that requires implementation knowledge are independent. This is because.
[0116]
Further, since the upper conversion rule storage means 3 stores a plurality of types of first conversion rules, it is possible to cope with different logic module configuration specifications, and the versatility of software code generation is improved.
[0117]
Further, since the lower conversion rule storage means 4 stores a plurality of types of second conversion rules, it is possible to cope with different mounting specifications, and the versatility of software code generation is improved.
[0118]
(Example 2)
Next, another example (Example 2) of the embodiment of the present invention will be described in detail with reference to the drawings.
[0119]
FIG. 5 is a block diagram illustrating a software code generation system, that is, a software code generation apparatus according to the second embodiment. In FIG. 5, the same components or functions as those in FIG.
[0120]
In FIG. 5, the first lower-order conversion rule storage unit 41 converts a plurality of types of intermediate formats stored in the intermediate format storage unit 8 into second intermediate formats associated with functions provided by the OS. The third conversion rule is stored. Each of the plurality of types of third conversion rules converts the intermediate format into one of a plurality of types of second intermediate formats corresponding to different OS specifications.
[0121]
The intermediate
[0122]
When the third conversion rule is selected, the intermediate
[0123]
The second lower conversion rule storage means 42 stores a plurality of types of fourth conversion rules for converting the second intermediate format stored in the intermediate format storage means 81 into software code. Each of the plurality of types of fourth conversion rules converts the second intermediate format into one of a plurality of types of software codes corresponding to different implementation languages.
[0124]
The intermediate
[0125]
When the fourth conversion rule is selected, the intermediate
[0126]
That is, in the second embodiment shown in FIG. 5, there are two intermediate format storage means, intermediate format conversion means, and lower-order conversion rule storage means, respectively, and software code generation is performed by performing three stages of conversion processing as a whole. Is going.
[0127]
Therefore, according to the second embodiment, when the OS is unchanged and only the implementation language is changed, for example, the first OS is continuously used, but the language is different from the first language to the first language. When the change is made to the second language, the changed implementation is stored in the intermediate format storage means 8 or the intermediate format storage means 81 without changing the already developed intermediate format and the second intermediate format. It is possible to cope by changing only the conversion rule corresponding to the language, and the influence range of the conversion rule change accompanying the specification change can be reduced.
[0128]
The display unit 5a includes the first conversion rule stored in the upper conversion rule storage means 3, the third conversion rule stored in the first lower conversion rule storage means 41, and the second lower conversion rule. The fourth conversion rule stored in the storage means 42 is displayed.
[0129]
Therefore, the user can determine whether or not the first, third and fourth conversion rules corresponding to the required specifications exist, that is, whether or not the software code corresponding to the required specifications can be generated by the display on the display unit 5a. Can be determined.
[0130]
Since this embodiment (embodiment 2) includes the third and fourth conversion means, even when only one of the operating system specification and the implementation language specification is changed from the original requirement specification, there is no change. It is not necessary to perform a conversion operation according to other specifications, and it becomes possible to easily cope with changes in operating system specifications or implementation language specifications.
[0131]
Further, according to the operating system specification edited by the design decision information editing means from among a plurality of third conversion rules for converting the intermediate format into a plurality of types of second intermediate formats corresponding to different operating system specifications. The third conversion rule is selected as the third conversion rule, and the intermediate format is converted into the second intermediate format according to the selected third conversion rule, so that it is possible to cope with different operating system specifications, and the software code generation device Improves versatility.
[0132]
Further, according to the implementation language specification edited by the design judgment information editing means from among a plurality of fourth conversion rules for converting the second intermediate format into a plurality of types of software codes corresponding to different implementation language specifications. The fourth conversion rule is selected as the fourth conversion rule, and the second intermediate format is converted into the software code according to the selected fourth conversion rule. Improves versatility.
[0133]
In the above, an example in which the conversion process is divided into two stages or three stages has been described. However, for example, there are three or more types of specifications included in the implementation specifications that are input or changed using the design decision information editing unit. In some cases, each intermediate format conversion means has each specification by providing as many lower conversion rule storage means, intermediate format conversion means, and intermediate format storage means that store conversion rules as the number of types of the above specifications. It is possible to take charge of the conversion process according to the above, and a configuration having a multi-stage conversion process can be realized.
[0134]
As described above, since each conversion unit is responsible for the conversion process corresponding to each specification, it is possible to easily cope with a change in mounting specifications. That is, by selecting a conversion process corresponding to the changed specification and executing the selected conversion process, it becomes easy to cope with the change of the specification.
[0135]
In each of the embodiments described above, the illustrated configuration is merely an example, and the present invention is not limited to the configuration.
[0136]
Another object of the present invention is to supply a recording medium in which a program code of software that realizes the functions of the above-described embodiments is recorded to a system or apparatus including a computer, and the computer stores the program code stored in the recording medium. Needless to say, this can also be achieved by reading and executing.
[0137]
In the above case, the program code itself realizes the function of the above-described embodiment, and the program and the recording medium on which the program code is recorded constitute the present invention.
[0138]
【The invention's effect】
According to the present invention, it is possible to easily cope with changes in mounting specifications. That is, for example, when a change occurs only in the implementation specification with respect to the initial requirement specification, the design decision information editing means is generated without changing the intermediate format already generated by the first conversion means and stored in the storage means. Thus, since the software code corresponding to the new mounting specification can be generated by designating the changed mounting specification, it is possible to easily cope with a change in the mounting specification.
[0139]
In other words, it is possible to avoid performing the same conversion operation again for the business specifications and logic module configuration specifications that are not changed.
[0140]
Even if the second conversion means does not have the second conversion rule corresponding to the desired mounting specification, only the conversion rule corresponding to the mounting specification needs to be additionally developed. Since it is not necessary to change the first conversion rule, it is easy to cope with changes in the mounting specifications.
[0141]
In addition, by specifying various mounting specifications by the design judgment information editing means, one intermediate format can be reflected in various mounting specifications, so that the versatility of the intermediate format is improved.
[0142]
Further, according to the above invention, it is possible to easily cope with addition of business specifications or change of logic module configuration specifications. The reason is that when a business specification is added or when a logical module configuration specification is changed, only the first conversion rule corresponding to these needs to be added or changed. Therefore, it is possible to easily cope with the addition of business specifications and the change of logical module configuration specifications.
[0143]
Further, according to the above-described invention, in the development of the software code generation device, the development assignment according to the skill of the developer can be easily performed, and the development efficiency is improved. The reason for this is that the first conversion rule that requires business specifications, that is, business knowledge, and the second conversion rule that requires implementation knowledge are independent. This is because.
[0144]
In addition, since each of the plurality of conversion means performs conversion according to the corresponding specification, it is possible to easily cope with a change in the specification. In addition, when the changed specification cannot be converted, only the conversion corresponding to the changed specification needs to be developed, so that the specification can be easily changed.
[Brief description of the drawings]
FIG. 1 is a block circuit diagram showing an embodiment of the present invention.
FIG. 2 is a diagram showing a specific example of a business specification edited by the business specification editing unit 1 in FIG.
3 is a diagram showing a specific example of design judgment information edited by design judgment information editing means 5 in FIG.
4 is a diagram showing a specific example of an intermediate format stored in intermediate format storage means 8 of FIG.
FIG. 5 is a block circuit diagram showing another embodiment of the present invention.
[Explanation of symbols]
1 business specification editing means
2 Business specification storage means
3 Upper conversion rule storage means
4 Lower conversion rule storage means
41 First subordinate conversion rule storage means
42 Second sub-conversion rule storage means
5 Design decision information editing means
5a Display section
6 Design judgment information storage means
7 Business specification conversion means
8 Intermediate format storage means
81 Intermediate format storage means
9 Intermediate format conversion means
91 Intermediate format conversion means
92 Intermediate format conversion means
10 Code storage means
Claims (11)
前記業務仕様が編集される業務仕様編集手段と、
前記設計判断情報が編集される設計判断情報編集手段と、
前記設計判断情報編集手段で編集された論理モジュール構成仕様に応じた第1の変換規定に基づき、前記業務仕様編集手段で編集された業務仕様を中間形式に変換する第1の変換手段と、
前記中間形式を格納する格納手段と、
前記設計判断情報編集手段で編集された実装仕様に応じた第2の変換規定に基づき、前記格納手段に格納された中間形式をソフトウェアコードに変換する第2の変換手段と
を含むことを特徴とするソフトウェアコード生成装置。A software code generation device that generates a software code according to a required specification including design judgment information and a business specification including a logical module configuration specification and an implementation specification,
A business specification editing means for editing the business specification;
Design decision information editing means for editing the design decision information;
First conversion means for converting the business specification edited by the business specification editing means into an intermediate format based on a first conversion rule corresponding to the logical module configuration specification edited by the design judgment information editing means;
Storage means for storing the intermediate format;
And second conversion means for converting the intermediate format stored in the storage means into software code based on a second conversion rule corresponding to the mounting specification edited by the design judgment information editing means. Software code generation device.
前記第1の変換手段は、
前記業務仕様を、互いに異なる論理モジュール構成仕様に対応する複数種類の中間形式にそれぞれ変換する複数種類の第1の変換ルールを格納した第1の変換ルール格納手段と、
前記第1の変換ルール格納手段に格納された複数種類の第1の変換ルールの中から、前記設計判断情報編集手段で編集された論理モジュール構成仕様に応じた第1の変換ルールを、前記第1の変換規定として選択し、選択した第1の変換規定に基づき前記業務仕様を前記中間形式に変換する業務仕様変換手段とを含み、
前記第2の変換手段は、
前記中間形式を互いに異なる実装仕様に対応する複数種類のソフトウェアコードにそれぞれ変換する複数種類の第2の変換ルールを格納した第2の変換ルール格納手段と、
前記第2の変換ルール格納手段に格納された複数種類の第2の変換ルールの中から、前記設計判断情報編集手段で編集された実装仕様に応じた第2の変換ルールを、前記第2の変換規定として選択し、選択した第2の変換規定により前記中間形式を前記ソフトウェアコードに変換する中間形式変換手段と
を含むことを特徴とするソフトウェアコード生成装置。The software code generation device according to claim 1,
The first conversion means includes
First conversion rule storage means for storing a plurality of types of first conversion rules for converting the business specifications into a plurality of types of intermediate formats corresponding to different logical module configuration specifications;
A first conversion rule corresponding to a logical module configuration specification edited by the design judgment information editing unit is selected from the plurality of types of first conversion rules stored in the first conversion rule storage unit. Selecting as one conversion rule, and a business specification conversion means for converting the business specification into the intermediate format based on the selected first conversion rule,
The second conversion means includes
Second conversion rule storage means storing a plurality of types of second conversion rules for converting the intermediate format into a plurality of types of software codes corresponding to different implementation specifications;
The second conversion rule corresponding to the mounting specification edited by the design judgment information editing means is selected from the plurality of types of second conversion rules stored in the second conversion rule storage means. A software code generation device, comprising: intermediate format conversion means for selecting as a conversion rule and converting the intermediate format into the software code according to the selected second conversion rule.
前記実装仕様は、オペレーティングシステム仕様と実装言語仕様とを含み、
前記第2の変換手段は、
前記設計判断情報編集手段で編集されたオペレーティングシステム仕様に応じた第3の変換規定に基づき、前記格納手段に格納された中間形式を第2の中間形式に変換する第3の変換手段と、
前記第2の中間形式を格納する第2の格納手段と、
前記設計判断情報編集手段で編集された実装言語仕様に応じた第4の変換規定に基づき、前記第2の格納手段に格納された第2の中間形式をソフトウェアコードに変換する第4の変換手段と
を含むことを特徴とするソフトウェアコード生成装置。The software code generation device according to claim 1,
The implementation specification includes an operating system specification and an implementation language specification,
The second conversion means includes
Third conversion means for converting the intermediate format stored in the storage means into a second intermediate format based on a third conversion rule according to the operating system specification edited by the design judgment information editing means;
Second storage means for storing the second intermediate format;
Fourth conversion means for converting the second intermediate format stored in the second storage means into software code based on the fourth conversion rule corresponding to the implementation language specification edited by the design judgment information editing means. A software code generation device comprising:
前記第1の変換手段は、
前記業務仕様を、互いに異なる論理モジュール構成仕様に対応する複数種類の中間形式にそれぞれ変換する複数種類の第1の変換ルールを格納した第1の変換ルール格納手段と、
前記第1の変換ルール格納手段に格納された複数種類の第1の変換ルールの中から、前記設計判断情報編集手段で編集された論理モジュール構成仕様に応じた第1の変換ルールを、前記第1の変換規定として選択し、選択した第1の変換規定に基づき前記業務仕様を前記中間形式に変換する業務仕様変換手段とを含み、
前記第3の変換手段は、
前記中間形式を互いに異なるオペレーティングシステム仕様に対応する複数種類の前記第2の中間形式にそれぞれ変換する複数種類の第3の変換ルールを格納した第3の変換ルール格納手段と、
前記第3の変換ルール格納手段に格納された複数種類の第3の変換ルールの中から、前記設計判断情報編集手段で編集されたオペレーティングシステム仕様に応じた前記第3の変換ルールを、前記第3の変換規定として選択し、選択した第3の変換規定により前記中間形式を前記第2の中間形式に変換する第2の中間形式変換手段とを含み、
前記第4の変換手段は、
前記第2の中間形式を互いに異なる実装言語仕様に対応する複数種類の前記ソフトウェアコードにそれぞれ変換する複数種類の第4の変換ルールを格納した第4の変換ルール格納手段と、
前記第4の変換ルール格納手段に格納された複数種類の第4の変換ルールの中から、前記設計判断情報編集手段で編集された実装言語仕様に応じた前記第4の変換ルールを、前記第4の変換規定として選択し、選択した第4の変換規定により前記第2の中間形式を前記ソフトウェアコードに変換する第3の中間形式変換手段とを含む
ことを特徴とするソフトウェアコード生成装置。The software code generation device according to claim 3,
The first conversion means includes
First conversion rule storage means for storing a plurality of types of first conversion rules for converting the business specifications into a plurality of types of intermediate formats corresponding to different logical module configuration specifications;
A first conversion rule corresponding to a logical module configuration specification edited by the design judgment information editing unit is selected from the plurality of types of first conversion rules stored in the first conversion rule storage unit. Selecting as one conversion rule, and a business specification conversion means for converting the business specification into the intermediate format based on the selected first conversion rule,
The third conversion means includes
A third conversion rule storage means for storing a plurality of types of third conversion rules for converting the intermediate formats into a plurality of types of the second intermediate formats corresponding to different operating system specifications;
Among the plurality of types of third conversion rules stored in the third conversion rule storage unit, the third conversion rule corresponding to the operating system specification edited by the design judgment information editing unit is set as the third conversion rule. And a second intermediate format conversion means for converting the intermediate format into the second intermediate format according to the selected third conversion rule.
The fourth conversion means includes
A fourth conversion rule storage unit storing a plurality of types of fourth conversion rules for converting the second intermediate format into a plurality of types of software codes corresponding to different implementation language specifications;
Among the plurality of types of fourth conversion rules stored in the fourth conversion rule storage unit, the fourth conversion rule according to the implementation language specification edited by the design judgment information editing unit is used as the fourth conversion rule. And a third intermediate format conversion means for converting the second intermediate format into the software code in accordance with the selected fourth conversion rule.
前記第1と第3と第4の変換ルール格納手段に格納されている第1と第3と第4の変換ルールを表示する表示部をさらに含むことを特徴とするソフトウェアコード生成装置。The software code generation device according to claim 4,
The software code generation device further comprising a display unit for displaying the first, third, and fourth conversion rules stored in the first, third, and fourth conversion rule storage means.
前記ソフトウェアコード生成装置が、前記設計判断情報編集手段で編集された論理モジュール構成仕様に応じた第1の変換規定に基づき、前記業務仕様編集手段で編集された業務仕様を中間形式に変換する第1の変換ステップと、
前記ソフトウェアコード生成装置が、前記中間形式を格納する格納ステップと、
前記ソフトウェアコード生成装置が、前記設計判断情報編集手段で編集された実装仕様に応じた第2の変換規定に基づき、前記格納ステップで格納した中間形式をソフトウェアコードに変換する第2の変換ステップと
を含むことを特徴とするソフトウェアコード生成方法。Software code is generated according to the required specifications including the realization specifications and business specifications including the logic module configuration specifications and implementation specifications, and the business specification editing means for editing the business specifications, and the realization specifications are edited. A software code generation method performed by a software code generation device including :
The software code generation device converts the business specification edited by the business specification editing unit into an intermediate format based on a first conversion rule corresponding to the logic module configuration specification edited by the design judgment information editing unit . 1 conversion step;
A storage step in which the software code generation device stores the intermediate format;
A second conversion step in which the software code generation device converts the intermediate format stored in the storage step into a software code based on a second conversion rule corresponding to a mounting specification edited by the design determination information editing unit ; A software code generation method comprising:
前記第1の変換ステップは、
前記ソフトウェアコード生成装置が、前記業務仕様を互いに異なる論理モジュール構成仕様に対応する複数種類の前記中間形式にそれぞれ変換する複数種類の第1の変換ルールの中から、前記設計判断情報編集手段で編集された論理モジュール構成仕様に応じた前記第1の変換ルールを前記第1の変換規定として選択し、選択した第1の変換規定に基づき前記業務仕様を前記中間形式に変換するステップであり、
前記第2の変換ステップは、
前記ソフトウェアコード生成装置が、前記中間形式を互いに異なる実装仕様に対応する複数種類の前記ソフトウェアコードにそれぞれ変換する複数種類の第2の変換ルールの中から、前記設計判断情報編集手段で編集された実装仕様に応じた前記第2の変換ルールを、前記第2の変換規定として選択し、選択した第2の変換規定により前記中間形式を前記ソフトウェアコードに変換するステップである
ことを特徴とするソフトウェアコード生成方法。The software code generation method according to claim 6,
The first conversion step includes:
The software code generation device edits the business specification with the design decision information editing means from among a plurality of types of first conversion rules that respectively convert the business specifications into a plurality of types of the intermediate formats corresponding to different logical module configuration specifications. Selecting the first conversion rule according to the logic module configuration specification as the first conversion rule, and converting the business specification into the intermediate format based on the selected first conversion rule;
The second conversion step includes:
The design determination information editing unit edits the software code generation device from a plurality of types of second conversion rules that respectively convert the intermediate format into a plurality of types of software codes corresponding to different implementation specifications . Selecting the second conversion rule according to an implementation specification as the second conversion rule, and converting the intermediate format into the software code according to the selected second conversion rule. Code generation method.
前記実装仕様は、オペレーティングシステム仕様と実装言語仕様とを含み、
前記第2の変換ステップは、
前記ソフトウェアコード生成装置が、前記設計判断情報編集手段で編集されたオペレーティングシステム仕様に応じた第3の変換規定に基づき、前記格納ステップで格納した中間形式を第2の中間形式に変換する第3の変換ステップと、
前記ソフトウェアコード生成装置が、前記第2の中間形式を格納する第2の格納ステップと、
前記ソフトウェアコード生成装置が、前記設計判断情報編集手段で編集された実装言語仕様に応じた第4の変換規定に基づき、前記第2の格納ステップで格納した第2の中間形式をソフトウェアコードに変換する第4の変換ステップと
を含むことを特徴とするソフトウェアコード生成方法。The software code generation method according to claim 6,
The implementation specification includes an operating system specification and an implementation language specification,
The second conversion step includes:
The software code generation device converts the intermediate format stored in the storing step into a second intermediate format based on a third conversion rule according to the operating system specification edited by the design judgment information editing means . Conversion steps,
A second storing step in which the software code generating device stores the second intermediate format;
The software code generation device converts the second intermediate format stored in the second storage step into software code based on a fourth conversion rule corresponding to the implementation language specification edited by the design judgment information editing means. A software code generation method comprising: a fourth conversion step.
前記第1の変換ステップは、
前記ソフトウェアコード生成装置が、前記業務仕様を互いに異なる論理モジュール構成仕様に対応する複数種類の前記中間形式にそれぞれ変換する複数種類の第1の変換ルールの中から、前記設計判断情報編集手段で編集された論理モジュール構成仕様に応じた前記第1の変換ルールを前記第1の変換規定として選択し、選択した第1の変換規定に基づき前記業務仕様を前記中間形式に変換するステップであり、
前記第3の変換ステップは、
前記ソフトウェアコード生成装置が、前記中間形式を互いに異なるオペレーティングシステム仕様に対応する複数種類の前記第2の中間形式にそれぞれ変換する複数種類の第3の変換ルールの中から、前記設計判断情報編集手段で編集されたオペレーティングシステム仕様に応じた前記第3の変換ルールを、前記第3の変換規定として選択し、選択した第3の変換規定により前記中間形式を前記第2の中間形式に変換するステップであり、
前記第4の変換ステップは、
前記ソフトウェアコード生成装置が、前記第2の中間形式を互いに異なる実装言語仕様に対応する複数種類の前記ソフトウェアコードにそれぞれ変換する複数種類の第4の変換ルールの中から、前記設計判断情報編集手段で編集された実装言語仕様に応じた前記第4の変換ルールを、前記第4の変換規定として選択し、選択した第4の変換規定により前記第2の中間形式を前記ソフトウェアコードに変換するステップである
ことを特徴とするソフトウェアコード生成方法。The software code generation method according to claim 8,
The first conversion step includes:
The software code generation device edits the business specification with the design decision information editing means from among a plurality of types of first conversion rules that respectively convert the business specifications into a plurality of types of the intermediate formats corresponding to different logical module configuration specifications. Selecting the first conversion rule according to the logic module configuration specification as the first conversion rule, and converting the business specification into the intermediate format based on the selected first conversion rule;
The third conversion step includes:
The design determination information editing means from among a plurality of types of third conversion rules for converting the intermediate format into a plurality of types of the second intermediate formats corresponding to different operating system specifications. Selecting the third conversion rule corresponding to the operating system specification edited in step 3 as the third conversion rule, and converting the intermediate format into the second intermediate format according to the selected third conversion rule. And
The fourth conversion step includes:
The design decision information editing means is selected from a plurality of types of fourth conversion rules for converting the second intermediate format into a plurality of types of software codes corresponding to different implementation language specifications. Selecting the fourth conversion rule according to the implementation language specification edited in Step 4 as the fourth conversion rule, and converting the second intermediate format into the software code according to the selected fourth conversion rule. A software code generation method characterized by:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003014818A JP3940922B2 (en) | 2003-01-23 | 2003-01-23 | Software code generation device, software code generation method, recording medium, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003014818A JP3940922B2 (en) | 2003-01-23 | 2003-01-23 | Software code generation device, software code generation method, recording medium, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2004227319A JP2004227319A (en) | 2004-08-12 |
| JP3940922B2 true JP3940922B2 (en) | 2007-07-04 |
Family
ID=32902750
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003014818A Expired - Fee Related JP3940922B2 (en) | 2003-01-23 | 2003-01-23 | Software code generation device, software code generation method, recording medium, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3940922B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090112570A1 (en) * | 2007-10-26 | 2009-04-30 | Microsoft Corporation | Declarative model interpretation |
| WO2021084657A1 (en) * | 2019-10-30 | 2021-05-06 | 日本電信電話株式会社 | Conversion device, conversion method, and program |
-
2003
- 2003-01-23 JP JP2003014818A patent/JP3940922B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2004227319A (en) | 2004-08-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Bobrik et al. | Proviado–personalized and configurable visualizations of business processes | |
| WO2008131028A2 (en) | Enterprise integrated business proces schema | |
| JP2009205190A (en) | Automatic software configuration device | |
| US7512937B2 (en) | Integrated visual and language-based method for reusable data transformations | |
| CN116028062B (en) | Target code generation method, NPU instruction display method and device | |
| US6922704B2 (en) | Method for generating application specific input files | |
| CN113296759B (en) | User interface processing method, user interface processing system, device and storage medium | |
| KR101552914B1 (en) | Web server application framework web application processing method using the framework and computer readable medium processing the method | |
| JP2010537325A (en) | Interactive user interface definition | |
| CA2686367A1 (en) | Dynamic native editor code view facade | |
| CN118860392A (en) | Interface editing method, device, equipment and storage medium based on Flutter component | |
| KR102282159B1 (en) | Multilingual manual authoring apparatus based on XML and method thereof | |
| Jung et al. | Talk to your slides: Language-driven agents for efficient slide editing | |
| JP3940922B2 (en) | Software code generation device, software code generation method, recording medium, and program | |
| JP4686117B2 (en) | Source code conversion apparatus, source code conversion method, and program | |
| CN118642702B (en) | Cross-platform code generation method, device, equipment and storage medium | |
| CN101288072B (en) | Migration and conversion of data structures | |
| JP2019197084A (en) | Sign language cg interpretation and edit system, and program | |
| US20120117496A1 (en) | Declarative and multi-mode wizard framework | |
| CN117908878A (en) | Excel form editor capable of generating multi-user collaboration and online editing, data processing method and system | |
| US7716653B2 (en) | Configurable importers and resource writers for converting data into another format | |
| JP2003150377A (en) | System, method for developing picture output module, program, and recording medium | |
| JP2007011507A (en) | Program tree display method and program generation system | |
| JP2720768B2 (en) | Program customization equipment | |
| JP4590907B2 (en) | Software development support device and software development support program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20050106 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050106 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060130 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060719 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060913 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070117 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070208 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070307 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070320 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110413 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120413 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120413 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130413 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130413 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140413 Year of fee payment: 7 |
|
| LAPS | Cancellation because of no payment of annual fees |