JP6097231B2 - プログラム生成装置および方法 - Google Patents

プログラム生成装置および方法 Download PDF

Info

Publication number
JP6097231B2
JP6097231B2 JP2014021178A JP2014021178A JP6097231B2 JP 6097231 B2 JP6097231 B2 JP 6097231B2 JP 2014021178 A JP2014021178 A JP 2014021178A JP 2014021178 A JP2014021178 A JP 2014021178A JP 6097231 B2 JP6097231 B2 JP 6097231B2
Authority
JP
Japan
Prior art keywords
source code
screen
program
design document
gui
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014021178A
Other languages
English (en)
Other versions
JP2015148925A (ja
Inventor
嘉月 佐藤
嘉月 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Industry and Control Solutions Co Ltd
Original Assignee
Hitachi Industry and Control Solutions Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Industry and Control Solutions Co Ltd filed Critical Hitachi Industry and Control Solutions Co Ltd
Priority to JP2014021178A priority Critical patent/JP6097231B2/ja
Publication of JP2015148925A publication Critical patent/JP2015148925A/ja
Application granted granted Critical
Publication of JP6097231B2 publication Critical patent/JP6097231B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明はGUI(Graphical User Interface)を有するプログラムを自動的に生成する装置及び方法に関する。
従来のGUIを有したプログラム開発の一例ではまず最初に画面設計が行われる。画面設計書には、GUI部分と、GUIから発生するイベントに対するコールバック部分とが定義される。プログラマは、その画面設計書を元にGUI部分の開発を行う。続いてプログラマは、画面設計書に定義されている動作内容に基づいてGUIから発生するイベントに対するコールバック部分の開発を行う。更に必要があれば、プログラマはGUIプログラムで使用する共通処理の部分の開発を行う。共通処理として、例えば、GUIプログラムの複数の箇所で用いられる処理であるため、他の部分から呼び出しが可能なように共通的に記述された処理などがある。
図1は、プログラム開発における画面設計書の変更の影響について説明するための図である。上述した手法で開発されたプログラムは、GUI表示部ソースコード110、コールバック処理ソースコード120、および共通処理ソースコード130を含んでいる。そのため、画面設計書に変更があった場合、プログラマは、GUI表示部ソースコード110およびコールバック処理ソースコード120を、更に必要に応じて共通処理ソースコード130を修正する。その修正作業は全て手作業で行われる。
また、GUIプログラムの開発を自動化する技術が特許文献1に開示されている。特許文献1には、「システムソフトウェアのUML設計書およびインタフェースプログラムから、そのソフトウェアを操作するUI(ユーザインタフェース)プログラムを自動生成する」と記載されている(要約参照)。
特開2003−140893号公報
上述したように、特許文献1には、UML設計書およびインタフェースプログラムからGUIプログラムを自動生成する方法が記載されている。しかしながら、特許文献1の方法では、共通的な処理を実現する部分と、共通部分に含まれない独自の処理を実現する部分とが混在した形でプログラムのソースコードが生成されてしまう。
そのため、自動生成されたソースコードの可読性は低いものとなってしまう。また、プログラムを修正する必要が生じた場合、その修正がどの部分への修正であったとしても、対象となるプログラム全体を再構築する作業が発生してしまう。
本発明の目的は、GUIプログラムの自動生成において、可読性を向上し、修正による影響を受ける範囲を縮小する技術を提供することである。
本発明の一態様によるプログラム生成装置は、対象画面について画面構成および処理シナリオを規定した画面設計書に基づいて、グラフィカルユーザインタフェースを備えたプログラムのソースコードを生成するプログラム生成装置であって、前記画面設計書に規定された画面構成に基づいて、前記対象画面のプログラムのソースコードに使用するテンプレートを選択するテンプレート選択手段と、前記画面設計書に規定された処理シナリオに基づいて、画面遷移のシナリオ定義を作成するシナリオ定義作成手段と、前記テンプレートおよび前記シナリオ定義を用いて、前記対象画面の画面構成と前記対象画面への入力に対する動作とを実現する第1の自動生成ソースコードを生成する生成処理手段と、個別に作成すべき独自処理があるか否か判定する独自処理有無判定手段と、前記独自処理があれば、前記独自処理を示すソースコードの雛形である第2の自動生成ソースコードを、前記第1のソースコードから独立した形で生成する雛形ソースコード生成手段と、を有している。
本発明によれば、GUIプログラムの自動生成において、可読性を向上し、修正による影響を受ける範囲を縮小する技術を提供することができる。
プログラム開発における画面設計書の変更の影響について説明するための図である。 GUIプログラム自動生成装置が自動生成ソースコードを生成する様子を示す概念図である。 画面項目設計書21に含まれるテーブルの記述例を示す図である 独自処理がある場合に画面項目設計書21に含まれるテーブルの記述例を示す図である。 GUIプログラム自動生成装置10の概略構成を示すブロック図である。 GUIプログラム自動生成装置10がGUIプログラムのソースコードを自動生成するときの動作の流れを示すフローチャートである。 入力条件設計書40の記述例を示す図である。 GUIプログラム自動生成装置10を用いたGUIプログラム開発の流れを示すフローチャートである。
本発明の一実施形態であるGUIプログラム自動生成装置について図面を用いて説明する。
図2は、GUIプログラム自動生成装置が自動生成ソースコードを生成する様子を示す概念図である。GUIプログラム自動生成装置10には、GUIプログラムに含まれる複数の対象画面のそれぞれについて、各設計書20、30、40、60、70を解析し、ソースコードテンプレートファイル50を利用して、自動生成ソースコード60を生成する。その際、GUIプログラム自動生成装置10は、複数の対象画面に共通の共通定義設計書70を利用する。
プログラマは、GUIプログラムを開発するにあたり、まず、GUIプログラム自動生成装置10で解析可能な形式の画面設計書20と、他サーバとの通信に用いる通信インタフェースを規定するインタフェース設計書30と、GUIプログラムの項目毎の動作確認内容を規定した入力条件設計書40を作成する。また、プログラマは、予め、GUIプログラム名称、GUI部品名称、GUI部品とソースコードテンプレートファイル50との紐付けを規定する共通定義設計書70も作成しておき、GUIプログラム開発に際し、必要に応じてそれを修正する。
画面設計書20には画面項目設計書21とシナリオ定義設計書22が含まれている。
画面項目設計書21には、対象画面の画面構成の情報、例えば、GUIプログラムの画面に表示するGUI部品の種別や配置の定義、および定義したGUI部品へ入力する情報について規定される。
図3は、画面項目設計書21に含まれるテーブルの記述例を示す図である。図3を参照すると、テーブル300には、各GUI部品の項目名301、コントロール種別302、タブオーダー303、コンテンツ情報304、配置情報305が互いに対応づけて記述されている。コントロール種別302は、各項目名301のGUI部品の制御に関する種別を示している。EDITは、入力したり、編集したりできる項目を意味し、PANELは固定な表示の項目を意味し、BTNはボタンを意味している。タブオーダー303は、Tabキーによってフォーカスが移動する順序を示している。コンテンツ情報の表示値は、GUI部品に表示するテキストを示している。配置情報305は、GUI部品を表示する座標および大きさを示している。
図4は、独自処理がある場合に画面項目設計書21に含まれるテーブルの記述例を示す図である。図4を参照すると、テーブル500には、各独自処理について、アクション501、コントロール種別502、項目名503、および独自処理名504が互いに対応づけて記述されている。アクション501は、独自処理を呼び出す操作を示している。項目名503は、独自処理を呼び出す項目を示し、コントロール種別502は、その項目の制御に関する種別を示している。独自処理名504は、独自処理の名称である。作成するGUIプログラムに独自処理を実装する必要がない場合、画面項目設計書21に独自処理を呼出すためのテーブル500を記述する必要はない。
一方、シナリオ定義設計書22には、各対象画面の画面項目設計書21により作成されるGUI画面への操作によって実行する処理のシナリオ、例えば、GUI画面に対する操作による遷移先となるGUI画面といった複数のGUI画面同士の関連動作が規定される。
ソースコードテンプレートファイル50は、自動生成ソースコード60の生成に使用するテンプレートのファイルである。
インタフェース設計書30には、GUIプログラムを実装したコンピュータが他のサーバ等との通信に用いる通信インタフェースが規定されている。
入力条件設計書40には、画面項目設計書21における入力項目について、正常とされるための入力条件が規定されている。例えば「月」の項目であれば、「1」月から「12」月までのような正常な入力値の範囲が規定される。この入力条件設計書40がGUIプログラムの項目毎の動作確認内容となる。
GUIプログラム自動生成装置10が生成する自動生成ソースコード60には、GUIレイアウトソースコード61、画面間シナリオ定義ソースコード62、通信インタフェース定義63、単体試験用ソースコード64、イベント動作定義ソースコード65、独自処理雛形ソースコード66という6種類のものが含まれている。
GUIレイアウトソースコード61はGUIプログラムの画面レイアウトを構築するソースコードである。
画面間シナリオ定義ソースコード62は、GUIプログラム自動生成装置10で作成されるGUIプログラムの画面間の関連動作などの処理を構築するソースコードである。
通信インタフェース定義63は、例えば他サーバとの通信によるデータの送受信を行うための通信インタフェースの構造の定義である。
単体試験用ソースコード64は、入力条件設計書40に記載された入力条件に基づいた試験を実施するためのソースコードである。従来は自動生成されたソースコードから作成されたGUIプログラムについて、GUI部分の動作確認は手作業で行わなければならず、類似した項目が多数に及ぶ場合でも、同一あるいは類似の動作確認を項目単位で繰り返し実施する必要があったが、本実施形態では、単体試験が自動化できるので、試験作業が低減される。
イベント動作定義ソースコード65は、GUIレイアウトソースコード61で定義されたGUI部品に何らかのイベントが発生した場合の動作を構築するソースコードである。
独自処理雛形ソースコード66は、GUIプログラムに、個別に作成すべき独自処理が必要な場合に生成されるソースコードの雛形であり、独自処理のソースコードがそこに追加記述される。
以上のように6種類のソースコードは全て内容が異なっている。ソースコードテンプレートファイル50には、これら各ソースコードについての様々な形態のソースコードテンプレートファイルが含まれている。
GUIプログラム自動生成装置10は共通定義設計書70からGUIプログラムで用いる共通定義情報を取得し、その情報を用いて画面設計書20に記載された定義情報からテンプレートファイルを結合し、自動生成ソースコード60を生成する。
図5は、GUIプログラム自動生成装置10の概略構成を示すブロック図である。図5を参照すると、テンプレート選択部15、ソースコード生成部16、独自処理有無判定部17、雛形ソースコード生成部18、および設計書チェック部19を有している。更に、ソースコード生成部16は、画面間シナリオ定義作成部161、試験コード生成部162、生成処理部163、および通信インタフェース特定部164を有している。
テンプレート選択部15は、画面設計書20に規定された画面構成に基づいて、対象画面のプログラムのソースコードに使用するテンプレートを選択する。
画面間シナリオ定義作成部161は、画面設計書20に規定された処理シナリオに基づいて、画面遷移のシナリオ定義を作成する。
生成処理部163は、テンプレート選択部15で選択されたテンプレートと、画面間シナリオ定義作成部161で作成されたシナリオ定義を用いて、対象画面の画面構成と対象画面への入力に対する動作とを実現する各種ソースコード(第1の自動生成ソースコード)を生成する。第1の自動生成ソースコードには、GUIレイアウトソースコード61および画面間シナリオ定義ソースコード62が含まれている。
独自処理有無判定部17は、対象画面のGUIプログラムに個別に作成すべき独自処理があるか否か判定する。
雛形ソースコード生成部18は、独自処理有無判定部17による判定で独自処理があれば、その独自処理を示すソースコードの雛形(第2の自動生成ソースコード)を、前記第1のソースコーから独立した形で生成する。
本実施形態によれば、テンプレートからの自動生成とは別に作成する独自処理のソースコードの雛形の部分と、テンプレートから自動生成されるソースコードに部分とをそれぞれ互いに独立した形で生成するので、ソースコードの可読性が向上し、また修正の影響を受ける範囲を自動生成部分あるいは独自処理部分に限定することができる。
通信インタフェース特定部164は、他サーバ等の外部装置との通信に用いる通信インタフェースを特定する。
生成処理部163は、通信インタフェース特定部164で特定された通信インタフェースの情報を更に用いて、その通信インタフェースを実現する通信インタフェース定義を生成する。第1の自動生成ソースコードに、この通信インタフェース定義も含まれる。
これによれば、所望の通信インタフェースを備えたGUIプログラムを自動生成することができる。
試験コード生成部162は、対象画面に含まれる部品に対する試験のための入力を定めた試験コードを作成する。
その場合、生成処理部163は、対象画面に含まれる部品のそれぞれについての試験コードに基づいて、対象画面のソースコードに単体試験用の入力を与える単体試験用ソースコードを、更に生成する。
これによれば、対象画面のプログラムのソースコードを単体試験するための単体試験用ソースプログラムを併せて生成することができる。
なお、この単体試験用ソースコードは、テンプレートから作成された第1の自動生成ソースコードに対して単体試験用の入力を与えるプログラムのソースコードである。これによれば、テンプレートに形態が定まっているため単体試験の入力を規定することが比較的容易な第1の自動生成ソースコードを独立した形に生成するので、容易に、その部分についての単体試験用のソースプログラムを併せて生成することができる。
図6は、GUIプログラム自動生成装置10がGUIプログラムのソースコードを自動生成するときの動作の流れを示すフローチャートである。図6において、細線矢印は処理の流れを示し、破線矢印はファイルの入力を示し、太線矢印はファイルの出力を示している。GUIプログラムのソースコードの生成に用いる、共通定義設計書70、画面設計書20、ソースコードテンプレートファイル50、入力条件設計書40、およびインタフェース30は、外部記憶装置80に格納されている。また、GUIプログラム自動生成装置10が自動生成した、GUIレイアウトソースコード61、画面間シナリオ定義ソースコード62、通信インタフェース定義63、単体試験用ソースコード64、イベント動作定義ソースコード65、および独自処理雛形ソースコード66は外部記憶装置80に格納される。
GUIプログラム自動生成装置10は、一時格納領域としてメモリ11と中央演算装置としてCPU12を備えている。メモリ11に適時情報を格納し、その情報を持ってCPU12で演算を行う基本構成のコンピュータ装置上で動作する。
GUIプログラムの自動生成を開始すると、GUIプログラム自動生成装置10は、まず初めに共通定義設計書70をメモリ11に格納する(ステップ200)。これは、ソースコードテンプレートファイル50とGUI部品とを対応付ける紐付き情報と、他の画面のGUIプログラムの情報を取得するためである。
それらの情報の取得が完了すると、GUIプログラム自動生成装置10は、次に画面設計のための情報として、自動生成の対象画面の画面設計書20とソースコードテンプレートファイル50と入力条件設計書40を外部記憶装置80から取得してメモリ11に格納する(ステップ205)。
次に、GUIプログラム自動生成装置10は、それまでにメモリ11に格納した情報を元に、CPU12によって、各設計書のチェックを実施する(ステップ210)。設計書のチェック内容としては、例えば、画面項目設計書21に記載してあるGUI部品名称が共通定義設計書70に存在しているか、記入漏れの項目が存在しているかがある。設計書のチェックは既存の方法で実施すればよい。
設計書のチェックが完了すると、GUIプログラム自動生成装置10は、次に、画面項目設計書21内に記載のあるGUI部品情報に基づき、ステップ200で共通定義設計書70から取得しておいた共通定義の情報から、ソースコードテンプレートファイル50とGUI部品情報との紐付き情報を参照し、画面項目設計書21内に記載のあるGUI部品情報に対応するソースコードテンプレートファイル50の該当ソースコードを取得し、GUIプログラムとする(ステップ215)。このステップ215で、当該GUI部品のGUIレイアウトソースコード61とイベント動作定義ソースコード65の準備が整う。
画面設計書20に記載のある全てのGUI部品に対してステップ215を繰り返し実施し、各GUI部品のGUIレイアウトソースコード61とイベント動作定義ソースコード65をGUIプログラムに加えていく(ステップ220)。
次に、GUIプログラム自動生成装置10は、ステップ220で作成したGUIプログラムに対して、他のGUIプログラムとの関連動作の処理シナリオをシナリオ定義設計書22から取得し、画面間遷移の動作定義を構築する(ステップ230)。このステップ230では、画面間シナリオ定義ソースコード62が準備される。
この段階でGUIプログラムの基本動作部分は完成するので、GUIプログラム自動生成装置10は、入力条件設計書40を用いて、GUIプログラムを構成しているGUI部品単位で、それぞれの試験を実施するための試験コードを生成する(ステップ235)。
GUI部品単位での試験コードの作成方式について説明する。
上述したように図3には画面項目設計書21の記述例が示されている。図3を参照すると、画面項目設計書21には、GUIプログラムを構成するGUI部品の情報として、項目名301と、コントロール種別302と、タブオーダー303、コンテンツ情報304、および配置情報305が格納されている。項目名301は、設計するGUIプログラムの中で使用するGUI部品の名称となる。コントロール種別302はGUI部品の種別を表す。ここでは画面項目設計書21に記載する内容として上記を例示しているが、その他の情報を追加で定義してもよい。
図7は、入力条件設計書40の記述例を示す図である。
入力条件設計書40には、テキスト入力やボタン操作などの入力が可能なGUI部品のそれぞれについて、その入力条件が規定されている。これが単体テストコードを生成するための設計書となる。
入力条件設計書40のテーブル400には、各GUI部品について、コントロール種別401、項目名402、入力条件値403が記述されている。コントロール種別401は、単体試験を実施するGUI部品の種別を表す。項目名402は単体試験を実施する項目を表すものである。入力条件値403には、当該項目に入る基本の値、入力可能な最小値および最大値、入力可能でない範囲の値が記述されている。なお、ここでは図7に示したものを例示したが、その他の情報を追加記載してもよい。また、入力条件は通常の入力条件の他に、最小入力値および最大入力値等については、試験を実施する分だけ定義を記述することにしてもよい。
次に本実施形態の図3と図4において、GUI部品単位での試験コード作成方式について説明する。GUIプログラム自動生成装置10は画面項目設計書21からコントロール種別302と、項目名301を抽出し、そこから入力条件設計書の中からコントロール種別302と一致するコントロール種別401を検索し、一致した検索結果の中から項目名301と項目名402が一致する項目を検索する。一致した行が存在した場合は、入力条件値403から入力条件を抽出して、GUI部品に対する入力試験コードを自動的に生成する。別のGUIプログラムを設計する際に既存のGUIプログラムと同じ入力項目が存在する場合、作成済みの入力条件設計書40に定義したコントロール種別401と項目名402と同じ定義で画面項目設計書を作成することで、入力条件設計書40を共有して使用することができる。単体試験用ソースコード64は、単体動作可能なソースコードを生成するでもよいし、一般的な単体試験用プログラムを利用する形のソースコードを生成することでもよい。
ステップ235で各部品毎の試験コード生成が完了した後、自動生成対象のGUIプログラムが使用する他通信網用のインタフェースを判別し(ステップ240)、対象のインタフェース設計書30をメモリ11に読み出す(ステップ245)。ここまでのステップまでに準備された情報を用いて、ステップ250にてGUIレイアウトソースコード61、画面間シナリオ定義ソースコード62、通信インタフェース定義63、単体試験用ソースコード64、イベント動作定義ソースコード65を生成する。
画面項目設計書21に、図7で示すような独自処理の定義が存在するかをチェック(ステップ255)し、存在する場合には独自処理を記載するための雛形ソースコードとして、独自処理雛形ソースコード66を生成する(ステップ260)。本実施形態における独自処理の記述例について、図7を用いて説明する。
上述した図4のテーブル500において、項目名503は、独自処理を呼び出す項目を示し、コントロール種別502は、その項目の制御に関する種別を示している。独自処理名504は、独自処理の名称である。これは、画面項目設計書21における独自処理について、呼び出し方(項目名503、コントロール種別502、およびアクション501)と、呼び出し先ファンクション名称(独自処理名504)とを対応づけた紐付け情報を定義したものである。
アクション501には、GUI部品に対してどのような動作を実施した場合に呼び出し先ファンクションが呼び出されるかが定義される。コントロール種別502と項目名503は、どのGUI部品に対する独自処理なのかが定義される。独自処理名504は呼び出し先ファンクションのファンクション名称が定義される。
なお、本実施形態では、独自処理の部分の定義を画面項目設計書21中に記述する形態を例示するが、それを独立した設計書として作成することにしてもよい。
また、図4におけるコントロール種別502および項目名503は、図3におけるコントロール種別302および項目名301と紐付くように定義し、それが示すGUI部品に対して、アクション501に定義された動作が行われたときに、独自処理名504の独自処理のファンクションが呼び出されるような定義が設定される。
また、図3、図4、図7では、一例として表形式で各情報を定義しているが、XML、CSVまたはその他の形式で情報を定義してもよい。
上述したように、本実施形態では、GUIプログラムを製造する際に独自処理部分をGUIプログラムの基本部分とは独立したソースコードで生成することで、ソースコードの可読性を向上させることが可能となる。また、独自部分のみの改修が必要となった場合でも、ソースコードが独立しているため、プログラムの再構築作業は独自部分箇所のみ実施すればよい。
図8は、GUIプログラム自動生成装置10を用いたGUIプログラム開発の流れを示すフローチャートである。
はじめに、GUIプログラムの開発を行うにあたり、GUIプログラム自動生成装置10で生成するための基本情報として、画面設計書20を作成する(ステップ600)。次に、作成するGUIプログラムのGUI部品に対し、単体試験の要否および必要な試験内容を決定し、それを基に入力条件設計書40を作成する(ステップ610)。また、作成するGUIプログラムが他サーバ向けに新しい通信インタフェースを使用する場合、その通信インタフェースを規定するインタフェース設計書30を作成する(ステップ620)。なお、既存の通信インタフェースを利用するのであれば、インタフェース設計書30を作成する必要はない。
次に、共通定義設計書70が既に存在するが新しいGUI部品を追加するなどの修正がある場合など、共通定義設計書70における共通定義を修正する必要があるか否かを判断し(ステップ630)、必要に応じて共通定義設計書70を修正する(ステップ640)。
以上、これら設計書の作成が完了した後、GUIプログラム自動生成装置10にて、設計書のチェックを実施する(ステップ210)。設計書に不備が存在していた場合は設計書を修正し(ステップ650)、再度設計書チェックを実施することを、不備がなくなるまで繰り返す。設計書に不備が無くなったら、GUIプログラム自動生成装置10にて、各ソースコードの自動生成を実施する(ステップ250)。なお、このとき独自処理が存在するのであれば、GUIプログラム自動生成装置10は独自処理雛形ソースコード66も生成する。このとき生成される独自処理雛形ソースコード66は、独自処理名504で定義されたファンクション名のみが定義された状態である。そのため、独自処理の実装が必要であれば、独自処理の実装を行う(ステップ660)。その場合、ステップ660で実装した独自処理の部分についての確認を実施する(ステップ670)。
更に、単体試験用ソースコード64を用いた対象画面のGUIプログラムの単体試験を実施する(ステップ680)。
なお、図中には記載していないが、ステップ680で想定通りの動作が起こらない場合、ステップ650に戻り、それ以降の作業を再度実施する。本実施形態のGUIプログラム自動生成装置10が生成した自動生成ソースコード60は、独自処理の部分と、テンプレートを用いて生成された部分とが互いに独立しているので、修正内容が独自処理に影響しないものであれば、ステップ660およびステップ670を省略することができる。
また、ステップ670で想定通りの動作が起こらない場合は、ステップ660に戻りそれ以降の作業を再度実施するだけでよい。独自処理の部分に修正や設計変更が発生した場合、本実施形態では独自処理雛形ソースコード66に処理の実装を行ったソースコードの部分に対してのみ修正を実施すればよく、テンプレートから自動生成された他のソースコードに影響を及ぼすことがない。
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
10…GUIプログラム自動生成装置、11…メモリ、12…CPU、15…テンプレート選択部、16…ソースコード生成部、161…画面間シナリオ定義作成部、162…試験コード生成部、163…生成処理部、164…通信インタフェース特定部、17…独自処理有無判定部、18…雛形ソースコード生成部、19…設計書チェック部、20…画面設計書、21…画面項目設計書、22…シナリオ定義設計書、30…インタフェース設計書、300…テーブル、301…項目名、302…コントロール種別、303…タブオーダー、304…コンテンツ情報、305…配置情報、40…入力条件設計書、400…テーブル、401…コントロール種別、402…項目名、403…入力条件値、50…ソースコードテンプレートファイル、500…テーブル、501…アクション、502…コントロール種別、503…項目名、504…独自処理名、60…自動生成ソースコード、61…GUIレイアウトソースコード、62…画面間シナリオ定義ソースコード、63…通信インタフェース定義、64…単体試験用ソースコード、65…イベント動作定義ソースコード、66…独自処理雛形ソースコード、70…共通定義設計書、80…外部記憶装置

Claims (8)

  1. 対象画面について画面構成および処理シナリオを規定した画面設計書に基づいて、グラフィックユーザインタフェースを備えたプログラムのソースコードを生成するプログラム生成装置であって、
    前記画面設計書に規定された画面構成に基づいて、前記対象画面のプログラムのソースコードに使用するテンプレートを選択するテンプレート選択手段と、
    前記画面設計書に規定された処理シナリオに基づいて、画面遷移のシナリオ定義を作成するシナリオ定義作成手段と、
    前記テンプレートおよび前記シナリオ定義を用いて、前記対象画面の画面構成と前記対象画面への入力に対する動作とを実現する第1の自動生成ソースコードを生成する生成処理手段と、
    個別に作成すべき独自処理があるか否か判定する独自処理有無判定手段と、
    前記独自処理があれば、前記独自処理を示すソースコードの雛形である第2の自動生成ソースコードを、前記第1のソースコードから独立した形で生成する雛形ソースコード生成手段と、
    を有するプログラム生成装置。
  2. 外部装置との通信に用いる通信インタフェースを特定する通信インタフェース特定手段を更に有し、
    前記生成処理手段は、前記通信インタフェース特定手段で特定された前記通信インタフェースの情報を更に用いて、前記第1の自動生成ソースコードに含まれ前記通信インタフェースを実現する通信インタフェース定義を生成する、
    請求項1に記載のプログラム生成装置。
  3. 前記対象画面に含まれる部品に対する試験のための入力を定めた試験コードを作成する試験コード生成手段を更に有し、
    前記生成処理手段は、前記部品のそれぞれについての試験コードに基づいて、前記対象画面のソースコードに単体試験用の入力を与える単体試験用ソースコードを、更に生成する、請求項1に記載のプログラム生成装置。
  4. 前記単体試験用ソースコードは、前記第1の自動生成ソースコードに対して単体試験用の入力を与えるプログラムのソースコードである、請求項3に記載のプログラム生成装置。
  5. 対象画面について画面構成および処理シナリオを規定した画面設計書に基づいて、グラフィックユーザインタフェースを備えたプログラムのソースコードを生成するためのプログラム生成方法あって、
    前記画面設計書に規定された画面構成に基づいて、前記対象画面のプログラムのソースコードに使用するテンプレートを選択し、
    前記画面設計書に規定された処理シナリオに基づいて、画面遷移のシナリオ定義を作成し、
    前記テンプレートおよび前記シナリオ定義を用いて、前記対象画面の画面構成と前記対象画面への入力に対する動作とを実現する第1の自動生成ソースコードを生成し、
    個別に作成すべき独自処理があるか否か判定し、
    前記独自処理があれば、前記独自処理を示すソースコードの雛形である第2の自動生成ソースコードを生成する、
    を有するプログラム生成方法。
  6. 外部装置との通信に用いる通信インタフェースを特定し、
    特定した前記通信インタフェースの情報を用いて、前記通信インタフェースを備えた前記第1の自動生成ソースコードを生成する、
    請求項5に記載のプログラム生成方法。
  7. 更に、前記対象画面に含まれる部品に対する試験のための入力を定めた試験コードを作成し、
    前記部品のそれぞれについての試験コードに基づいて、前記対象画面のソースコードに単体試験用の入力を与える単体試験用ソースコードを生成する、
    請求項5に記載のプログラム生成方法。
  8. 前記単体試験用ソースコードは、前記第1の自動生成ソースコードに対して単体試験用の入力を与えるプログラムのソースコードである、請求項7に記載のプログラム生成方法。
JP2014021178A 2014-02-06 2014-02-06 プログラム生成装置および方法 Active JP6097231B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014021178A JP6097231B2 (ja) 2014-02-06 2014-02-06 プログラム生成装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014021178A JP6097231B2 (ja) 2014-02-06 2014-02-06 プログラム生成装置および方法

Publications (2)

Publication Number Publication Date
JP2015148925A JP2015148925A (ja) 2015-08-20
JP6097231B2 true JP6097231B2 (ja) 2017-03-15

Family

ID=53892240

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014021178A Active JP6097231B2 (ja) 2014-02-06 2014-02-06 プログラム生成装置および方法

Country Status (1)

Country Link
JP (1) JP6097231B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022143770A (ja) * 2021-03-18 2022-10-03 三菱電機Itソリューションズ株式会社 システム開発方法
CN117093205B (zh) * 2023-08-24 2024-02-20 武汉人云智物科技有限公司 一种软件开发全流程低代码工程构建方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001117761A (ja) * 1999-10-21 2001-04-27 Nec Corp 画面プログラム製造方法及びその装置並びに画面プログラム製造プログラムを記録した記録媒体
JP2008299423A (ja) * 2007-05-29 2008-12-11 Toshiba Corp 情報処理装置および情報処理プログラム

Also Published As

Publication number Publication date
JP2015148925A (ja) 2015-08-20

Similar Documents

Publication Publication Date Title
US8887135B2 (en) Generating test cases for functional testing of a software application
US8504981B2 (en) Application development support device, program, and recording medium
CN108762743B (zh) 一种数据表操作代码生成方法及装置
US20150100946A1 (en) Using mock data to validate applications
JP2012221380A (ja) 自動プログラム生成装置、方法及びコンピュータプログラム
US20190243750A1 (en) Test reuse exchange and automation system and method
CN112988605B (zh) 一种实现web应用自动化测试的方法及装置
WO2022000888A1 (zh) 执行定制化人工智能生产线的装置和方法、设备和介质
US9477582B2 (en) Executable software specification generation
CN113704110A (zh) 用户界面的自动化测试方法及装置
JP4626675B2 (ja) 通信ネットワークを利用したファームウェアの提供方法、そのシステムおよびサービスサーバ
JP6097231B2 (ja) プログラム生成装置および方法
US10042638B2 (en) Evaluating documentation coverage
CN112685040A (zh) 安卓系统中界面文件的生成方法、装置、设备及存储介质
WO2022180704A1 (ja) 表示制御装置、表示制御方法および表示制御プログラム
JP4977681B2 (ja) データパターン/テストデータ生成・蓄積方法及びシステム
JP5119765B2 (ja) 仕様書作成支援装置および支援方法
KR101728786B1 (ko) 에스브이지 파일 포맷을 이용한 컴포넌트 기반의 동적 이미지 표시 시스템 및 방법
JP6552162B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2017054217A (ja) テスト支援装置、テスト支援方法およびテスト支援プログラム
JP2009075788A (ja) ソフトウェア開発支援装置
US20220197477A1 (en) Information processing apparatus and non-transitory computer readable medium storing program
KR101956719B1 (ko) 패키지 소프트웨어 생성 방법
JP2012150740A (ja) プログラム生成装置及び方法
CN117270956B (zh) 硬件设备的配置方法、客户端、硬件设备网管系统及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170131

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170217

R150 Certificate of patent or registration of utility model

Ref document number: 6097231

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150