JP2005078119A - Support system and method for software development support, program, and recording medium - Google Patents

Support system and method for software development support, program, and recording medium Download PDF

Info

Publication number
JP2005078119A
JP2005078119A JP2003209760A JP2003209760A JP2005078119A JP 2005078119 A JP2005078119 A JP 2005078119A JP 2003209760 A JP2003209760 A JP 2003209760A JP 2003209760 A JP2003209760 A JP 2003209760A JP 2005078119 A JP2005078119 A JP 2005078119A
Authority
JP
Japan
Prior art keywords
input
information
specification information
item
software development
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003209760A
Other languages
Japanese (ja)
Inventor
Hiroyuki Nakagawa
裕之 中川
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.)
Canon IT Solutions Inc
Original Assignee
Canon Software Inc
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 Canon Software Inc filed Critical Canon Software Inc
Priority to JP2003209760A priority Critical patent/JP2005078119A/en
Publication of JP2005078119A publication Critical patent/JP2005078119A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To considerably increase the efficiency of development maintenance work by easily editing another piece of specification information having an propagation relationship and surely preventing the omission of correspondence with specification change even when the specification change occurs in any piece of the specification information among the pieces of specification information for generating software. <P>SOLUTION: A related information generation part 106, based on two or more pieces of the specification information for generating software to be prepared previously, generates reference related information (propagation related information 110) indicating reference relationships among the respective pieces of specification information. A change propagation analysis display part 117 displays a reverse reference input/output list based on the generated reference related information. A specific piece of the specification information is designated from the displayed reverse reference input/output list and is edited by a business specification description part 116. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、ソフトウェア開発における仕様書間の関連付けを行うソフトウェア開発支援装置およびソフトウェア開発支援方法およびプログラムおよび記録媒体に関するものである。
【0002】
【従来の技術】
ソフトウェア開発において、仕様の一部に変更が発生した場合、その構成要素に関連した仕様を特定するため、仕様書間の関連情報が必要である。
【0003】
従来の仕様書間の関連付けの方法として、各工程で作成する仕様書の各々の細粒度項目に対して識別子を与え、それら項目間の関連性の有無を示すクロスリファレンス表を作成して、関連情報を管理する方法がある。
【0004】
しかし、この方法は、クロスリファレンスを人手で作成し、項目間の関連が変更されたとき、クロスリファレンス表を再度人手で作成する必要があった。
【0005】
これに対し、特開2003−140894公報(特許文献1)では、プログラム機能関連図から、各種仕様書と仕様書間の関連情報、波及関係情報を自動生成する方法が記載されている。
【0006】
このプログラム機能関連図とは、開発対象の業務システムを構成するプログラム、データ、表示画面を構成要素とし、これら構成要素間のデータの入出力関係を記述した図を示すものである。
【0007】
【特許文献1】
特開2003−140894公報
【0008】
【発明が解決しようとする課題】
しかしながら、上記特許文献1における仕様書間の関連情報の管理方法では、各種仕様書と波及関係情報は、上述したプログラム機能関連図から自動生成される構成となっているが、上述プログラム機能関連図自体については、仕様変更の度に、人手により変更しなければならず、煩雑で非効率的であった。
【0009】
また、上述したように、プログラム機能関連図は、プログラム、データ、表示画面を構成要素とするため、プログラム機能関連図の作成・変更は、システム全体を把握しているものでなければ困難であった。
【0010】
さらに、プログラム機能関連図から自動生成される波及関係情報については、その結果情報が表示出力されるのみで、仕様変更作業,プログラムコード生成といった開発保守作業支援との連携についてはなんら考慮なされていない。
【0011】
そのため、波及関係情報を表示出力した後、波及関係情報の表示とは異なるシステムを利用して、仕様変更作業、プログラムコード生成等の保守作業を独立に行う必要があり、非効率的であるとともに、仕様変更に対する対応漏れを起こしやすいという問題点があった。
【0012】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、予め作成されるソフトウェアを生成するための複数の仕様情報に基づいて、前記各仕様情報間の関連情報(例えば、参照関係を示す参照関係情報)を生成し、該生成された関連情報に基づく表示を行い、該表示から特定の仕様情報を指定して編集することにより、ソフトウェアを生成するための複数の仕様情報のうち、いずれかの仕様情報に仕様変更が発生した場合でも、容易に波及関係のある他の仕様情報を指定して編集することができ、業務仕様の枠組みの中で、仕様書間の関連を自動検索でき、仕様変更に対する対応漏れを確実に防止することができ、開発保守作業の効率を大幅に向上させることができるソフトウェア開発支援装置およびソフトウェア開発支援方法およびプログラムおよび記録媒体を提供することである。
【0013】
【課題を解決するための手段】
本発明の第1の発明は、ソフトウェアを生成するための複数の仕様情報を記憶可能な記憶手段(図1に示す外部記憶装置104内の入出力テーブルに格納される業務処理情報(図10))と、前記記憶手段に記憶される各仕様情報に基づいて、前記各仕様情報間の参照関係を示す参照関係情報を生成する第1の生成手段(図1に示す関連情報生成部106,図12)と、前記第1の生成手段により生成される参照関係情報(図13,図14)に基づいて特定の仕様情報を指定して編集可能な編集手段(図1に示す業務使用記述部116,図15に示す項目逆参照入出力一覧1500内の編集ボタン1501の押下により表示される図5,図16に示すファイル逆参照入出力一覧1600内の編集ボタン1601の押下により表示される図6)とを有することを特徴とする。
【0014】
本発明の第2の発明は、前記第1の生成手段により生成される参照関係情報に基づく表示を行う表示手段(図15に示す項目逆参照入出力一覧,図16に示すファイル逆参照入出力一覧1600)を設けたことを特徴とする。
【0015】
本発明の第3の発明は、前記編集手段は、前記表示手段による表示から特定の仕様情報を指定して編集可能(図15に示す項目逆参照入出力一覧1500内の編集ボタン1501の押下により表示される図5,図16に示すファイル逆参照入出力一覧1600内の編集ボタン1601の押下により表示される図6)なことを特徴とする。
【0016】
本発明の第4の発明は、前記表示手段は、前記第1の生成手段により生成された参照関係情報に基づいて、特定の仕様情報に対して参照関係にある仕様情報の一覧を表示する(図16に示すファイル逆参照入出力一覧1600)ことを特徴とする。
【0017】
本発明の第5の発明は、前記仕様情報は、複数の項目により定義されるものであり、前記表示手段は、前記第1の生成手段により生成された参照関係情報に基づいて、特定の項目に対して参照関係にある項目の一覧を表示する(図15に示す項目逆参照入出力一覧1500)ことを特徴とする。
【0018】
本発明の第6の発明は、前記記憶手段に記憶される各仕様情報に基づいてアプリケーションプログラムを生成する第2の生成手段(図1に示すコード生成部107,図23〜図27)を設けたことを特徴とする。
【0019】
本発明の第7の発明は、前記第2の生成手段は、前記編集手段により編集された仕様情報に基づいてアプリケーションプログラムを生成可能(図5に示す生成ボタン511,図6に示す生成ボタン708によりコード生成指示可能)なことを特徴とする。
【0020】
本発明の第8の発明は、前記仕様情報は、複数のデータ項目のデータベースへの配置を示す情報により定義される第1の仕様情報(ファイル項目(IO区分=「F」)から構成されるデータファイル),前記第1の仕様情報内のデータ項目に紐付けられた項目を含む複数の項目により定義される第2の仕様情報(入出力項目(IO区分=「D」)から構成されるデータファイル)を含むものであり、前記第1の生成手段は、前記第1の仕様情報と前記第2の仕様情報間の参照関係を示す参照関係情報を生成することを特徴とする。
【0021】
本発明の第9の発明は、前記第2の生成手段は、前記仕様情報に基づいて、前記第1の仕様情報で定義された各データ項目に対応したデータベースの作成(図23のステップS403,図24)、並びに前記データベースへのアクセスを行うための第1のプログラムの生成(図23のステップS404,図25),前記第2の仕様情報で定義された各項目の入出力画面を表示するための第2のプログラムの生成(図23のステップS406,図26)、及び前記入出力画面からの入力情報を取得して該入力情報に基づいて前記第1のプログラム及び第2のプログラムの実行を制御するための第3のプログラムの生成(図23のステップS405,図25)をそれぞれ行うことを特徴とする。
【0022】
本発明の第10の発明は、ソフトウェアを生成するための複数の仕様情報に基づいて、前記各仕様情報間の参照関係を示す参照関係情報を生成する生成工程(図12)と、該生成された参照関係情報に基づく表示を行う表示工程(図11のステップS207,S208)と、該表示から特定の仕様情報を指定して編集する編集工程(図11のステップS208からステップS201へ移行する行程)とを有することを特徴とする。
【0023】
本発明の第11の発明は、第10の発明に記載されたソフトウェア開発支援方法を実行するためのプログラムであることを特徴とするプログラム。
【0024】
本発明の第12の発明は、第10の発明に記載されたソフトウェア開発支援方法を実行するためのプログラムを記録媒体にコンピュータが読み取り可能に記憶させたことを特徴とする。
【0025】
【発明の実施の形態】
以下、図を参照して本発明のアプリケーション開発システムについて説明する。
【0026】
図1は、本発明の一実施形態を示すソフトウェア開発支援装置の構成を示すブロック図である。
【0027】
図において、101は入力装置で、キーボードやマウス等のポインティングデバイス等に相当し、業務仕様情報(データ項目のデータベースへの配置とデータ項目間の関係を示すファイル定義,画面に対して入出力するデータ項目を示す入出力定義)や、業務パターン(画面表示パターンと該画面表示パターンに付随したロジックの組み合わせを規定したもの)の選択等を行うことが可能である。
【0028】
102は表示装置で、CRT,LCD等で構成され、業務仕様情報,業務パターンの選択情報の入力画面や、該入力画面から入力された業務仕様情報や業務パターン選択情報、生成されたプログラムコード等を表示可能である。104はハードディスク等の外部記憶装置で、入力された業務仕様を記憶するための入出力テーブル109(後述する図10)、波及関係情報110(後述する図13,図14)、業務パターン選択情報111、生成されたプログラムコード(JSPコード112,サーブレット(Servlet)コード113,Beanコード114)等を記憶するものである。
【0029】
103は処理装置で、CPU,ROM,RAM等から構成され、CPUがROM,外部記憶装置104又はその他の記録媒体に格納されるプログラムをRAM上にロードして実行することにより実現されるものであり、画面制御部105,コード生成部107を備える。
【0030】
画面制御部105は、入力装置101から業務仕様情報の入力を行うために表示装置102の画面(後述する図4〜図9)を制御する業務仕様記述部116と、波及関係情報110を解析し変更波及一覧画面の表示を行うために表示装置102の画面(後述する図15に示す項目逆参照入出力一覧1500,図16に示すファイル逆参照入出力一覧1600)を制御する変更波及解析表示部117とを有する。
【0031】
関連情報生成部106は、入力装置101から入力され外部記憶装置104内の入出力テーブル109に業務仕様情報が記憶されると、該記憶された業務仕様情報に基づいて波及関係情報110の生成及び格納を行う。コード生成部107は、外部記憶装置104内の入出力テーブル109に記憶された業務仕様情報,業務パターン選択情報111に基づいてプログラムコード(JSPコード112,サーブレット(Servlet)コード113,Beanコード114)を生成し、外部記憶装置104に記憶させる。また、コード生成部107は、外部記憶装置104内の入出力テーブル109から読み出された業務仕様情報に基づいて図示しないデータベースシステムに対してデータベース(DB)を作成する。
【0032】
108は全体制御部で、画面制御部105,コード生成部107等の各部の制御を行う。
【0033】
図2は、図1に示したコード生成部107によって生成したサーブレット、JSP、およびBeanを利用したウェブアプリケーションシステムの全体構成の一例を示す図である。
【0034】
コード生成部107によって生成されたサーブレット、JSP、およびBeanは、それぞれ実行可能な状態で、サーバ304側のアプリケーションサーバ306上に配置される。
【0035】
このWebアプリケーションシステムは、クライアント301からウェブブラウザ302によって利用される。ウェブブラウザ302からJSP309にアクセスすることにより、HTMLページを生成し、クライアント301側に返送する。そして、ウェブブラウザ302上には、JSP309から送信されるHTMLページ303が表示される。
【0036】
また、Webブラウザ302からのリクエストは、HTTP経由でサーバ304側に送信される。サーバ304にはHTTPサーバ305とアプリケーションサーバ306があり、アプリケーションサーバ306にはサーブレットやJSPの実行環境が含まれている。
【0037】
サーバ304側にリクエストが送信されると、リクエストに応じて該当するサーブレット307が起動される。サーブレット307は、対応するBean308に処理を要求する。さらに、Bean308はDBアクセスオブジェクト310を利用してデータベース311にアクセスし、業務に関する処理やデータ加工などを行い、その処理結果を保持する。DBアクセスオブジェクト310は、業務を分析、設計した結果、作成されるクラスや、再利用可能な既存のクラスである。
【0038】
次に、サーブレット307からJSP309にBean308を渡し、JSP309を呼び出す。JSP309は、Bean308で保持する処理結果を参照して、HTMLページを生成し、クライアント301側に返送する。クライアント301側に返送されたHTMLページは、Webブラウザ302上に表示される。
【0039】
サーブレット307は、Webブラウザ302からのリクエストの受け付け、Bean308への処理要求、およびJSP309の呼び出しという、それぞれの間をつなぎ、制御する役割を持つ。JSP309はHTMLページを出力するための表示に関することを受け持ち、Bean308はデータベース311へのアクセス等の業務に関する処理を受け持つ。Bean308やJSP309を利用せず、サーブレット307のみでWebブラウザ302からのリクエストを処理することは可能であるが、Bean308やJSP309を利用することでそれぞれの役割を明確に分離することで、機能分担を簡潔に把握することができる。
【0040】
図3は、本発明のソフトウェア開発支援装置における第1の制御処理手順の一例を示すフローチャートであり、図1に示した処理装置103の全体制御部108の動作に対応する。なお、S101〜S105は各ステップを示す。
【0041】
図1に示した処理装置103は、コード生成する業務仕様(入出力テーブル)の入力や業務パターンの選択を行う入力モードと、入力された業務仕様(入出力テーブル)や業務パターン選択情報からプログラムコードを生成する生成モードとを有する。
【0042】
まず、全体制御部108が起動されると、ステップS101において、入力装置101からオペレータの指示により選択されたモードが生成モードか入力モードかを判定し、入力モードが選択されたと判定した場合には、ステップS102に進み、全体制御部108は、画面制御部105を起動する。
【0043】
起動された画面制御部105は、ステップS103において、業務仕様記述部116を起動して業務仕様入力画面(不図示)を表示させ、生成するウェブアプリケーションのアプリケーション名,オペレータからの業務仕様の一形態である入出力テーブルへの項目入力を受け付け、該入出力テーブルを外部記憶装置104に格納する。また、フローチャートには図示しないが、入出力テーブルが更新されると、全体制御部108は、関連情報生成部106を起動し、該起動された関連情報生成部106は波及関係情報110を生成し外部記憶装置104に格納する。さらに、業務仕様記述部117は、ユーザからの指示に応じて、変更波及解析表示部117を起動させる。該起動された変更波及解析表示部117は逆参照入出力一覧(後述する図15に示す項目逆参照入出力一覧1500,図16に示すファイル逆参照入出力一覧1600)を表示させる。
【0044】
なお、業務仕様記述部116による業務仕様入力処理については、後述する図11,図12に示すフローチャートで詳細に説明する。
【0045】
一方、ステップS101において、入力装置101からオペレータの指示により選択されたモードが生成モードであると判定した場合には、ステップS104に進み、全体制御部108は、コード生成部107を起動させて、外部記憶装置104に記憶された入出力テーブル109と選択された業務パターン選択情報111に基づいてコード生成及びデータベースの作成を行う。
【0046】
そして、ステップS105において、全体制御部108は、生成されたコードを、オペレータの指示により表示装置102に表示したり、外部記憶装置104に書き込む出力処理を行う。
【0047】
以下、図4〜図10を参照して、本発明のソフトウェア開発支援装置における業務仕様(入出力データ)について説明する。
【0048】
図4〜図9は、本発明のソフトウェア開発支援装置における業務仕様入力画面の一例を示す模式図であり、業務仕様記述部116により起動される。
【0049】
また、図10は、本発明のソフトウェア開発支援装置における業務仕様情報を入出力テーブルの形式で示したテーブル構成の一例を示す模式図である。
【0050】
図4〜図9の業務仕様入力画面から入力される業務仕様は、内部的には図10の入出力テーブルの形式で保存される。
【0051】
まず、図4において、400はアプリケーション番号入力エリアで、生成するウェブアプリケーションのアプリケーション番号(この例では「ShohinMaster」)を入力する。
【0052】
401はデータファイル番号入力エリアで、データファイル番号(この例では「ShohinM」(アプリケーション名と同一でもよい))を入力するためのものであり、図10に示す入出力テーブルの列1に格納される。402はファイル名入力エリアで、データファイル番号入力エリア401で入力されたデータファイル番号に対応するデータファイル名(この例では「商品マスタ」)を入力するためのものであり、図10に示す入出力テーブルの列3に格納される。403は説明入力エリアである。
【0053】
また、404はIO区分選択エリアで、データファイル番号入力エリア401で入力されたデータファイル番号が「ファイル定義」又は「入出力定義」のいずれであるかを選択する(この例では「ファイル定義」が選択されている)。なお、ファイル定義とは、当該データファイルで定義される項目をデータベースへの配置の定義とするものであり、入出力定義とは、当該データファイルで定義される項目を画面表示項目群の定義とするものである。
【0054】
405は削除ボタンで、このボタンをマウス等で指示することにより、対応するデータファイルが削除される。406は詳細ボタンで、このボタンをマウス等で指示することにより、IO区分選択エリア404で「ファイル定義」が選択されていた場合、データファイルの各ファイル項目情報を入力するファイル項目一覧画面(図5)が表示され、また、IO区分選択エリア404で「入出力定義」が選択されていた場合、入出力項目情報を入力する入出力項目一覧画面(図6)が表示される。
【0055】
図5に示すファイル項目一覧において、501は並び順入力エリアで、対応するファイル項目の並び順(1,2,3,・・・)を入力するためのものであり、図10に示す入出力テーブルの列7に格納される。502はデータファイル項目枝番入力エリアで、対応するファイル項目の識別情報であるデータファイル項目枝番(この例では「Code」を含む4項目)を入力するためのものであり、図10に示す入出力テーブルの列4に格納される。503はデータファイル項目名入力エリアで、対応するデータファイル項目の名称(この例では「商品コード」を含む4項目)を入力するためのものであり、図10に示す入出力テーブルの列5に格納される。
【0056】
なお、図10には示していないが、キー機能指定エリアで、主キー,第2キーとなるデータファイル項目を指定したり、参照ファイル番号及び参照先データファイル項目枝番指定エリアで、参照関係にあるデータファイル番号及びデータファイル項目枝番を指定したり、桁数入力エリア,データタイプ入力エリア等により、データファイル項目の桁数,データタイプ(テキスト,数値,日付,通貨等)を入力可能に構成してもよい。
【0057】
504は削除ボタンで、このボタンをマウス等で指示することにより、対応するデータファイル項目が削除される。
【0058】
505は項目逆参照入出力一覧表示指示エリアで、このエリアをマウス等で指示することにより、後述する図15に示すように当該データファイル項目に対応する項目逆参照入出力一覧1500が表示される。
【0059】
506はファイル逆参照入出力一覧表示指示エリアで、このエリアをマウス等で指示することにより、後述する図16に示すように当該データファイルに対応するファイル逆参照入出力一覧1600が表示される。
【0060】
507は「別名で保管」ボタンで、このボタンをマウス等で指示することにより、業務仕様入力画面(図4)及びデータ項目入力画面(図5)で入力された業務仕様より入出力テーブルが生成され、外部記憶装置104に所望の名称で保存することができる。
【0061】
509は閉じるボタンで、このボタンをマウス等で指示することにより、ファイル項目一覧画面が終了される。510は適用ボタンで、このボタンをマウス等で指示することにより、業務仕様入力画面(図4)及びファイル項目一覧画面(図5)で入力された業務仕様より入出力テーブルが生成され、外部記憶装置104に新規保存又は更新保存される。なお、ここで保存されるデータは、全てファイル項目を示すデータとなり、図10に示す入出力テーブルの列6に示すIO区分に「F」が格納される。
【0062】
511は生成ボタンで、このボタンをマウス等で指示することにより、図1に示したコード生成部107を起動し、コード生成処理を行うことができる。
【0063】
次に、入出力定義の入力について説明する。
【0064】
図6に示す入出力定義入力画面で入力される入出力項目データは、図10に示す入出力テーブルの6列のIO区分が「D」として生成される(行5〜行7,行8〜行11)。
【0065】
図6において、701は並び順入力エリアで、対応する入出力項目の並び順(1,2,3,・・・)を入力するためのものであり、図10に示す入出力テーブルの列7に格納される。702は入出力項目名入力エリアで、画面表示する項目名称(例えば、「商品コード」)を入力するためのものであり、図10に示す入出力テーブルの列5に格納される。
【0066】
703はデータファイル番号入力エリアで、データファイル番号(例えば、「ShohinM」を入力するためのものであり、図10に示す入出力テーブルの列2に格納される。704はデータファイル項目枝番入力エリアで、対応する入出力項目の識別情報であるデータ項目番号(例えば「Code」)を入力するためのものであり、図10に示す入出力テーブルの列4に格納される。
【0067】
706は閉じるボタンで、このボタンをマウス等で指示することにより、データ項目入力画面が終了される。707は適用ボタンで、このボタンをマウス等で指示することにより、入出力項目一覧画面(図6)で入力された入出力項目が外部記憶装置104に記憶される入出力テーブル109に追加される。
【0068】
708は生成ボタンで、このボタンをマウス等で指示することにより、図1に示したコード生成部を起動し、コード生成処理を行うことができる。
【0069】
なお、図6中の各フィールド(並び順入力エリア701,入出力項目名入力エリア702,データファイル番号入力エリア703)へキーボード等から項目名称等を入力する場合について説明したが、「ファイル定義から」ボタン705をマウス等で指示することにより、図7に示すデータファイル選択画面が表示され、データファイルから選択入力することができる。
【0070】
そして図7のデータファイル選択画面において、詳細表示ボタン801をマウス等で指示して表示項目と関連づけたいデータファイル項目(データファイル番号表示欄802,データファイル名表示欄803で特定される)を選択することで、図8に示すように当該データファイル内の項目の一覧が表示され、これらから入出力項目とする項目については、表示選択チェックボックス906にチェックを行って、適用ボタン904をマウス等で指示すると、入出力項目一覧画面に戻り、その結果、図9に示すように選ばれた項目(並び順表示欄901,項目番号表示欄902,項目名表示欄903に表示される項目)が表示項目として入出力テーブルに格納されることになる。
【0071】
なお、この図9に示す入出力項目一覧画面中で項目名を変更して、データファイル項目名称と区別することも可能である。
【0072】
以上、図6〜図9に示した入出力項目入力機能により、業務仕様入力作業の負荷を相当、軽減することが可能となった。
【0073】
なお、図6(図9)〜図8に示した画面による入出力項目の入力を複数回繰り返すことにより、複数のデータファイルから入出力項目を選択して入出力項目を作成することも可能である。
【0074】
以上、図4〜図9に示す操作画面による入力操作を行った結果、入出力テーブルは以下に示す図10のようになる。
【0075】
以下、図10に示した業務仕様情報(入出力テーブル)について説明する。
【0076】
図10の入出力テーブルにおいて、列1は、画面単位に定義されるアプリケーション番号を示している。列2は、データファイル番号であり、DBテーブル名称を表している。列4は、データファイル項目枝番であり、データファイルを構成するデータ項目を表している。
【0077】
列3はデータファイル番号に対応するデータファイルの名称、列5はデータファイル項目枝番に対応する各データ項目の名称である。
【0078】
入出力テーブル109は、ファイル項目と入出力項目で構成されており、その識別は、列6のIO区分でなされる。IO区分の値が「F」のときは、当該データ項目はファイルであり、「D」のときは入出力項目群である。
【0079】
本発明における、業務仕様間の関連付けは、IO区分が「F」の項目が、他の業務仕様のどこで「D」項目,「S」項目として用いられているかを調べるものである。この関連情報をもとに、波及関係を明確にし、業務仕様の変更が発生した場合、どの仕様が影響を受けるかをデータ項目単位とテーブル単位とで提示しようというものである。
【0080】
列7は、並び順を表しており、アプリケーション毎で独立に付加される。この並び順は、後述する図13に示すデータ項目単位の波及関係情報において関係するデータ項目を示す項目番号として用いる。
【0081】
以下、図10〜図16を用いて、本実施形態の業務仕様間の関連付け方法について説明する。
【0082】
〔波及関連情報の出力〕
図11は、本発明のソフトウェア開発支援装置における第2の制御処理手順の一例を示すフローチャートであり、図1に示した業務仕様入力部116による業務仕様入力処理(図3のステップS103)に対応する。なお、S201〜S210は各ステップを示す。
【0083】
まず、ステップS201において、オペレータからの入力を検知するまで待機し、入力を検知したと判定した場合には、ステップS202において、入力が業務仕様保存指示であるか否かを判定し、入力が業務仕様保存指示であると判定した場合には、ステップS203において、業務仕様を入出力テーブル109に格納(保存)し、該業務仕様が格納された段階で自動に(オペレータの操作選択を必要とせず)ステップS204に進む。
【0084】
ステップS204において、関連情報生成部106が起動され、該関連情報生成部106が入出力テーブル109に格納された業務仕様(データファイル)に対する関連情報生成処理(詳細は図12)を行って波及関係情報を生成し、ステップS205において、生成された波及関係情報を外部記憶装置104に格納し、ステップS201に戻り、次の入力があるまで待機する。
【0085】
一方、ステップS202において、入力が業務仕様保存指示でないと判定した場合には、ステップS206において、入力が逆参照入出力一覧表示指示であるか否かを判定し、逆参照入出力一覧表示指示であると判定した場合には、ステップS207において、変更波及解析表示部117が起動され、該変更波及解析表示部117が外部記憶装置104に格納された波及関係情報110を読み出し、変更波及解析処理を行い、ステップS208において、該解析結果の一覧(後述する図15に示す項目逆参照入出力一覧1500,図16に示すファイル逆参照入出力一覧1600)を画面表示し(変更波及一覧画面表示を行い)、ステップS201に戻り、次の入力があるまで待機する。
【0086】
なお、図5に示した項目逆参照入出力一覧表示エリア505により逆参照入出力一覧表示指示が成された場合には、該変更波及解析表示部117は、項目の波及関係情報(後述する図13)を読み出し、変更波及解析処理を行い、項目逆参照入出力一覧1500(図15)を表示する。一方、図5に示したファイル逆参照入出力一覧表示エリア506により逆参照入出力一覧表示指示が成された場合には、該変更波及解析表示部117は、ファイルの波及関係情報(後述する図14)を読み出し、変更波及解析処理を行い、ファイル逆参照入出力一覧1600(図16)を表示する。
【0087】
ここで、変更によりその波及が予想される業務仕様を編集する場合は、逆参照入出力一覧画面(図15に示す項目逆参照入出力一覧1500,図16に示すファイル逆参照入出力一覧1600)より変更したい業務仕様の編集ボタン(1501,1601)を指示することにより、編集画面(図5,図6)を表示して、シームレスに変更を行うことができる(詳細には図示していないが、図11のステップS208→S201の工程に対応する)。なお、編集ボタン(1501,1601)の指示に応じて、対応する業務仕様の編集画面(図5,図6)を表示して手動で編集するように構成してもよいし、オペレータが図示しない画面より自動編集を指示した場合には、編集画面を表示することなく、変更された業務仕様に合わせて関連する業務仕様を自動編集するように構成してもよい。
【0088】
さらに、オペレータが、生成ボタン(511,708)を指示することにより、変更を行った業務仕様からプログラムコードをやはりシームレスに生成し、直接、その動作を確認することもできる。
【0089】
なお、オペレータの指示がなくても、ファイル項目が変更入力された際に(図5に示したデータファイル項目枝番入力エリア502,項目逆参照入出力一覧表示指示エリア505等に変更入力があった際に)、該変更されたファイル項目に対応する図15に示す項目逆参照入出力一覧1500を自動表示するように構成してもよい。
【0090】
また、オペレータの指示がなくても、データファイルが変更された際に(図4に示したデータファイル番号入力エリア401に変更入力があった際や、図5に示した適用ボタン510が押下された際に)、該変更されたデータファイルに対応する図16に示すファイル逆参照入出力一覧1600を自動表示するように構成してもよい。
【0091】
以下、図11のフローチャートの説明に戻る。
【0092】
一方、ステップS206において、入力が逆参照入出力一覧表示指示でないと判定した場合には、ステップS209において、入力が終了指示であるか否かを判定し、終了指示(「閉じる」ボタン509への指示)であると判定した場合には、そのまま処理を終了して図3のフローチャートに戻る。
【0093】
一方、ステップS209で、入力が終了指示でないと判定した場合には、ステップS210において、その他の入力に応じた処理を行い、ステップS201に戻り、次の入力があるまで待機する。
【0094】
図12は、本発明のソフトウェア開発支援装置における第3の制御処理手順の一例を示すフローチャートであり、図1に示した関連情報生成部106による関連情報生成処理(図3のステップS103)に対応する。なお、S301〜S309は各ステップを示す。
【0095】
まず、ステップS301において、入出力テーブル109よりIO区分が「F」のデータファイル項目を1つ取得する。
【0096】
次に、ステップS302において、入出力テーブル109より項目1つを読み込み、ステップS303において、該読み込んだ項目とステップ301で取得した項目のデータファイル番号が等しいか否かをチェックし、等しくないと判定した場合には、ステップ308へ遷移する。
【0097】
一方、ステップS303で、ステップS302で読み込んだ項目とステップ301で取得した項目のデータファイル番号と等しいと判定した場合には、ステップS304において、ステップS302で読み込んだ項目とステップ301で取得した項目のアプリケーション番号が等しいかどうかのチェックを行う。これは、テーブル(データファイル)単位での波及関係を得るためのものであり、等しくないと判定した場合には、新たなテーブルにおける波及関係が生起したものとみなし、ステップS305において、ステップ301で取得した項目のアプリケーション番号,ステップS302で読み込んだ項目のアプリケーション番号を図14に示すテーブルにおける波及関係情報の関連元番号1401,関連先番号1402にそれぞれ格納し(関係情報出力(テーブル))、ステップS306に進む。
【0098】
一方、ステップS304で、ステップS302で読み込んだ項目とステップ301で取得した項目のアプリケーション番号が等しいと判定した場合には、そのままステップS306に進む。
【0099】
次に、ステップS306において、ステップS302で読み込んだ項目とステップ301で取得した項目のデータファイル項目枝番が等しいかどうかのチェックを行う。これは、項目単位での波及関係を得るためのものであり、等しいと判定した場合には、項目における波及関係が成立っているものとみなし、ステップS307において、ステップ301で取得した項目のデータファイル項目枝番を特定する情報(アプリケーション番号と並び順),ステップS302で読み込んだ項目のデータファイル項目枝番を特定する情報(アプリケーション番号と並び順)を図13に示す項目における波及関係情報の関連元番号1301,関連先番号1302にそれぞれ格納し(関係情報出力(項目))、ステップS308に進む。
【0100】
次に、ステップS308において、入出力テーブル109内の全項目についてステップS302〜S307の処理を終了したか否かを判定し、まだ終了していないと判定した場合には、ステップS302の処理に戻り、一方、終了したと判定した場合には、ステップS309に進む。
【0101】
次に、ステップS309において、入出力テーブル109内の全データファイル項目(IO区分=「F」)についてステップS301〜S308の処理を終了したか否かを判定し、まだ終了していないと判定した場合には、ステップS301の処理に戻り、一方、終了したと判定した場合には、処理を終了して図11のフローチャートに戻る。
【0102】
以上の処理により、作成された波及関系情報を図13,図14に示す。
【0103】
図13は、図1に示した関連情報生成部106によって生成された項目における波及関系情報の一例を示す図である。
【0104】
図13において、1301は関係元番号、1302は関係先番号で、図10に示した入出力テーブルの列2のデータファイル番号と列7の並び順で表される。なお、関係元番号1301に現れる並び順は、図10における列6のIO区分が「F」、即ち、ファイル項目のみとなる。
【0105】
例えば、図13の2行目は、関係元番号が「ShohinMaster:1」で、関連先番号が「Sanmple2:1」である。
【0106】
これは、図10に示したアプリケーション「ShohinMaster(商品マスタ)」における並び順「1」のファイル項目「Code(商品コード)」が変更されれば、アプリケーション「Sampleサンプル2」における並び順「1」の入出力項目「Code(商品コード)」をも変更する必要があることを表している。
【0107】
以上示したような項目における波及関系情報は、図15に示す項目逆参照入出力一覧(項目波及変更一覧)のように表示される。
【0108】
図14は、図1に示した関連情報生成部106によって生成されたテーブルにおける波及関系情報の一例を示す図である。
【0109】
図14において、1401は関連元番号、1402は関連先番号で、図10に示した入出力テーブルの列1のアプリケーション番号で表される。
【0110】
例えば、図14の2行目は、関連元番号が「ShohinMaster」で、アプリケーション「ShohinMaster」で用いるテーブル「ShohinM」に変更が加えられた場合、アプリケーション「Sample2」で用いられているテーブル「ShohinM」への変更を考慮しなければならないことを意味している。
【0111】
以上示したようなテーブルにおける波及関連情報は、図16に示すテーブル逆参照入出力一覧(テーブル波及変更一覧)のように表示される。
【0112】
図15は、本発明のソフトウェア開発支援装置における項目逆参照入出力一覧(項目波及変更一覧)の一例を示す模式図である。
【0113】
図において、1501は編集ボタンで、このボタンをマウス等で指示することにより、対応する業務仕様の入力画面(図5又は図6)が表示され、さらに該当する項目にカーソルが移動し、当該項目に対応する仕様変更をシームレスに行うことができ、また、入力画面から生成ボタン(511又は708)をマウス等で指示することで、プログラムコードを生成することができる。
【0114】
図16は、本発明のソフトウェア開発支援装置におけるファイル(テーブル)逆参照入出力一覧(テーブル波及変更一覧)の一例を示す模式図である。
【0115】
図において、1601は編集ボタンで、このボタンをマウス等で指示することにより、対応する業務仕様の入力画面(図5又は図6)が表示され、当該業務仕様に対応する仕様変更をシームレスに行うことができ、また、入力画面から生成ボタン(511又は708)をマウス等で指示することで、プログラムコードを生成することができる。
【0116】
図17〜図21は、本発明のソフトウェア開発支援装置における業務パターンに対応する表示画面の一例を示す模式図である。
【0117】
図17に示す一覧表示パターンは、図10の行5〜行7に対応する項目データをデータベースから取得し、列4のデータファイル項目枝番に対応する項目データを一覧表示する業務処理に対応する。
【0118】
図18に示す登録パターンは、図10の行5〜行7に対応する項目データを入力画面から入力させ、データベースへ格納(新規登録)する業務処理に対応する。
【0119】
図19に示す更新パターンは、図10の行5〜行7に対応する項目データを入力画面から入力させ、データベースへ更新登録,新規登録させたり、入力画面から入力されたデータに対応するレコードをデータベースから削除させたり、入力画面から入力されたデータに対応するレコードをデータベースから取得して表示させる業務処理に対応する。
【0120】
図20に示す一覧更新パターンは、図10の行5〜行7対応する項目データをデータベースから取得し、一覧表示したり、表示されたデータに対して追加,変更,削除等を行わせてデータベースに更新する業務処理に対応する。
【0121】
図21に示す検索一覧パターンは、図10の行5〜行7に対応するテーブル内のデータを入力画面から入力させ、該入力されたデータをキーにしてデータを検索して一覧表示する業務処理に対応する。
【0122】
なお、本発明のソフトウェア開発支援装置に適用可能な業務パターンは、図18〜図21に示した業務パターンに限られるものではなく、その他の各種業務パターンを含めてもよい。
【0123】
例えば、複数の画面を使用した業務パターン、詳細には、第1の画面で一覧表示を行い、該一覧表示から選択された項目に対して、第2の画面で詳細に表示するような業務パターンを含めてもよい。
【0124】
図22は、本発明のソフトウェア開発支援装置における業務パターン選択情報111について説明する模式図である。
【0125】
図において、2202は業務パターンで、アプリケーション番号2201に対して選択された業務パターン(図18〜図21)を示している。
【0126】
以下、図23〜図27を参照して、図1に示したコード生成部107によるコード生成処理について説明する。
【0127】
図23は、本発明の第4の制御処理手順の一例を示すフローチャートであり、図1に示したコード生成部107によるコード生成処理(図3のステップS104)に対応する。なお、S401〜S407は各ステップを示す。
【0128】
まず、ステップS401において、入出力テーブル109から指定されたアプリケーションに対応するデータファイルを1つ取得する。
【0129】
次に、ステップS402において、該取得したデータファイルの各項目のIO区分=「F」であるか否かを判定し、IO区分=「F」であると判定した場合には、ステップS403に進む。
【0130】
ステップS403では、図示しないデータベースシステムにアクセスし、データベース(DB)を作成し(詳細は図24に示す)、次に、ステップS404において、ステップS401で作成したデータベースに対するデータ操作処理を行うBeanコード114を、ステップS401で取得したデータファイルに基づいて生成し(詳細は図25に示す)、ステップS407に進む。
【0131】
一方、ステップS402で、ステップS401で取得したデータファイルの各項目のIO区分=「F」でない(「D」である)と判定した場合には、ステップS405に進む。
【0132】
次に、ステップS405では、ステップS401で取得したデータファイルに基づいて、ウェブブラウザからの入力データを取得して業務処理全体を制御するサーブレットコード113を生成(詳細は図26に示す)し、次に、ステップS406において、ウェブブラウザへの表示を制御するJSPコード112を生成し(詳細は図27に示す)、ステップS407に進む。
【0133】
次に、ステップS407において、指定されたアプリケーションに対応する全データファイルに対して、ステップS401〜S406の処理を終了したか否かを判定し、まだ終了していないと判定した場合には、ステップS401に戻り、既に終了したと判定した場合には、処理を終了して図3のフローチャートにリターンする。
【0134】
図24は、本発明の第5の制御処理手順の一例を示すフローチャートであり、図1に示したコード生成部107によるデータベース作成処理(図23のステップS403)に対応する。なお、S501〜S504は各ステップを示す。
【0135】
まず、ステップS501において、図示しないデータベースシステムに対して、アプリケーション名をデータベース名とするDBを作成するコマンドを発行する(既にデータベースが作成済みの場合には、この処理は行わない)。次に、ステップS502において、作成されたデータベースに接続する。
【0136】
そして、ステップS503において、カレントのデータファイル番号をテーブル名、該データファイル番号内の各データ項目枝番をテーブル内の項目名としたテーブルを作成するSQL文を生成し、該SQL文のクエリを実行する。
【0137】
次に、ステップS504において、データベースから切断する処理を行い、処理を終了して図23のフローチャートにリターンする。
【0138】
図25は、本発明の第6の制御処理手順の一例を示すフローチャートであり、図1に示したコード生成部107によるBean作成処理(図23のステップS404)に対応する。なお、S601〜S605は各ステップを示す。
【0139】
まず、ステップS601において、カレントのデータファイル番号に対応するデータベース操作用のBeanファイルを生成する。なお、Beanファイル名は、例えば、アプリケーション名にデータファイル番号及び文字列「Bean」を付加し拡張子を「Java(登録商標)」としたBeanファイルとする。また、このとき、作成したBeanファイル内の先頭に、「パッケージ名(例えば、アプリケーション名にデータファイル番号及び文字列「Bean」を付加したもの)の宣言、「java(登録商標).sql」パッケージのインポート、Java(登録商標)Beansを利用するために必要なインタフェースの実装等を行うコード」を格納しておく。
【0140】
次に、ステップS602において、検索処理コードを生成する。詳細には、「DBに接続し、指定されたパラメータを検索条件として当該データファイル番号に対応するテーブルに対する検索処理を行うためのSQL文のクエリを実行し、検索結果を返し、DBから切断するコード(検索メソッド)」を当該Beanファイル内に生成する。
【0141】
次に、ステップS603において、新規登録処理コードを生成する。詳細には、「DBに接続し、指定されたパラメータを新規追加データとして当該データファイル番号に対応するテーブルに対して追加処理を行うためのSQL文のクエリを実行し、新規追加結果を返し、DBから切断するコード(登録メソッド)」を当該Beanファイル内に生成する。
【0142】
次に、ステップS604において、更新処理コードを生成する。詳細には、「DBに接続し、指定されたパラメータを更新データとして当該データファイル番号に対応するテーブルに対して更新処理を行うためのSQL文のクエリを実行し、更新結果を返し、DBから切断するコード(更新メソッド)」を当該Beanファイル内に生成する。
【0143】
次に、ステップS605において、削除処理コードを生成する。詳細には、「DBに接続し、指定されたパラメータにより削除対象レコードを指定して削除処理を行うためのSQL文のクエリを実行し、削除結果を返し、DBから切断するコード(削除メソッド)」を当該Beanファイル内に生成する。
【0144】
そして、処理を終了して図23のフローチャートにリターンする。
【0145】
なお、上記ステップS602〜S605により当該Beanファイル内に生成されるコードには、「ドライバクラスをロードする処理、データベースに接続する処理、SQLステートメントオブジェクトを生成する処理、サーブレットから渡されたデータに基づくSQL文のクエリを実行して結果を取得する処理、結果をセットする処理、SQLステートメントオブジェクトとデータベース接続オブジェクトをクローズする処理を行うためのコード」等が記載されているものとする。
【0146】
また、ステップS602〜S605で生成する検索処理コード,新規登録処理コード,更新処理コード,削除処理コードは、Beanファイル内で定義される業務処理用のクラス(例えば、クラス名:データファイル名に文字列「DBAccess」を付加)内の検索メソッド,登録メソッド,更新メソッド,削除メソッドとして生成するものとする。
【0147】
さらに、図25のフローチャートでは、いずれのデータファイルに対して、検索処理コード,新規登録処理コード,更新処理コード,削除処理コードを生成する構成について示したが、業務パターン選択情報111に応じて、必要なコードのみ生成するように構成してもよい。
【0148】
例えば、業務パターンとして「一覧表示パターン(図17)」が選択されているデータファイルでは、検索処理コードのみを生成するように構成する。
【0149】
図26は、本発明の第7の制御処理手順の一例を示すフローチャートであり、図1に示したコード生成部107によるサーブレット作成処理(図23のステップS405)に対応する。なお、S701〜S704は各ステップを示す。
【0150】
まず、ステップS701において、サーブレットファイルを生成する。このサーブレットファイルのファイル名は、例えば、アプリケーション名にカレントのデータファイル名及び文字列「Servlet」を付加し拡張子を「java(登録商標)」とする。なお、このとき、サーブレットファイル内の先頭に、「使用するBeanパッケージ及びその他必要なパッケージをインポートするコード、アクセス修飾子,クラスの定義,クラス(例えば、HttpServletクラス)の継承、ウェブブラウザ(HTMLフォーム)から送信されたパラメータ(送信情報)を受け取るためのメソッドを示すコード」を格納しておく。
【0151】
次に、ステップS702において、「ウェブブラウザからの送信情報を受け取るコード」をサーブレットファイル内に生成する。
【0152】
次に、ステップS703において、「ステップS702で生成したコードで受け取るウェブブラウザからの送信情報に対応する業務処理のBeanのメソッドを起動して業務処理を実行させるためのコード」をサーブレットファイル内に生成する。なお、ここで生成されるコードは、選択された業務パターンによって異なるものとなる。詳細は省略するが、例えば、業務パターン選択情報が「登録パターン」の場合には、登録ボタンが指示されたことを示すウェブブラウザからの送信情報に応じて、登録用のメソッドを呼び出して実行させるコードを生成し、また、業務パターン選択情報が「更新パターン」の場合には、更新ボタン/新規ボタン/削除ボタン/表示ボタンが指示が入力されたことを示すウェブブラウザからの送信情報に応じて、更新用メソッド/新規登録用メソッド/削除用メソッド/検索用メソッドを選択的に呼び出して実行させるコードを生成する。
【0153】
なお、ステップS703では、「Beanのメソッドの処理結果をJSPから取得可能な記憶領域(例えば、セッションオブジェクト)に格納するコード」も生成するものとする。
【0154】
次に、ステップS704において、「対応するJSPを呼び出すコード」をサーブレットファイル内に生成し、処理を終了して図23のフローチャートにリターンする。
【0155】
なお、必要に応じて(例えば、「閉じる」ボタン等の処理に対して)、Java(登録商標)Scriptを用いたコードをJSPファイル内に生成するものとする。
【0156】
図27は、本発明の第8の制御処理手順の一例を示すフローチャートであり、図1に示したコード生成部107によるJSP作成処理(図23のステップS406)に対応する。なお、S801〜S803は各ステップを示す。
【0157】
まず、ステップS801において、カレントのデータファイルに対応するJSPファイルを生成する。このJSPファイルのファイル名は、例えば、アプリケーション名にデータファイル名を付加し拡張子を「jsp」とする。なお、このJSPファイル内には、「JSPページのMIMEタイプとエンコードするキャラクタセットを設定するコード、当該データファイルに対応するBeanをインスタンスするコード、htmlのタグである「<html><head><title>アプリケーション名</title>」等のコード」を生成し格納しておくものとする。
【0158】
次に、ステップS802において、選択された業務パターン(業務パターン選択情報111)がいずれの業務パターンであるか判断し、業務パターン選択情報111に応じて、「表示用データを取得するコード」をJSPファイル内に生成する。詳細は省略するが、例えば、業務パターン選択情報が「一覧表示パターン」,「一覧更新パターン」等の場合には、「業務処理用のBeanの検索用メソッドを呼び出して実行させ、検索用メソッドの処理結果をBeanから取得するコード」を生成する。また、業務パターン選択情報が「検索一覧パターン」等の場合には、「前の画面で検索が指示されてセッション等に検索結果が格納されているかを判定し、格納されている場合には、該検索結果を取得するコード」を生成する。
【0159】
次に、ステップS803において、業務パターン選択情報111に応じて、「画面を生成するコード」をJSPファイル内に生成し、処理を終了して図23のフローチャートにリターンする。
【0160】
以上の処理により、業務仕様からウェブアプリケーションプログラムを自動生成することによって、Java(登録商標)等のプログラムコードの特別な知識を必要とせず、ウェブアプリケーションのプログラミングコードを生成することができ、開発作業を軽減することができるとともに、業務仕様変更等があった場合であっても、上述した図15,図16に示した項目逆参照入力一覧から関連する全ての業務仕様変更を行った後、再度コード生成処理を行うことにより、業務仕様とプログラムコードとを常に一致させることができるという、仕様変更に柔軟に対応できる保守性に優れたウェブアプリケーションの開発を容易に行うことができる。
【0161】
なお、本実施形態では、サーバサイドのJava(登録商標)プログラムを用いたウェブアプリケーションを生成する場合について説明したが、生成されるプログラムコードは、Java(登録商標)に限られるものではなく、ASP(Active Server Pages),PHP(Hypertext Preprosessor)等によるウェブアプリケーションであってもよい。
【0162】
また、Java(登録商標)Scriptを用いる場合について説明したが、その他のスクリプト言語を用いてもよい。
【0163】
なお、本実施形態では、項目のIO区分(入出力テーブルの列6)をデータファイル項目「F」又は入出力項目「D」とする場合について説明したが、その他の項目、例えばセッション変数項目「S」等を含めるように構成してもよい。セッション変数項目とは、当該項目をセッション変数とするものである。
【0164】
この場合、図4に示した業務仕様入力画面のIO区分選択エリア404で、データファイル番号入力エリア401で入力されたデータファイル番号が「ファイル定義」,「入出力定義」,「セッション定義」のいずれであるかを選択可能とする。セッション定義とは、当該データファイルで定義される項目群をセッション変数群とするものである。
【0165】
また、図4のIO区分選択エリア404で「セッション定義」が選択されていた場合、詳細ボタン406をマウス等で指示することにより、セッション項目情報を入力するセッション項目一覧画面(図示しないが図6と同様の画面)が表示されるものとする。
【0166】
そして、このセッション項目一覧画面等で入力されたセッション項目データは、図10に示した入出力テーブルの列6のIO区分が「S」として生成されるものとする。
【0167】
これにより、図12に示した関連情報生成処理において、セッション変数も含めた波及関係情報が生成される。
【0168】
また、詳細は省略するが、図26に示したサーブレット作成処理においても、「ウェブブラウザから受け取った情報等がセッション変数項目に対応する情報であった場合、当該情報をセッションオブジェクトに格納するコード」をサーブレットファイル内に生成するように構成するものとする。
【0169】
以上説明したように、業務仕様入力画面において、当該業務仕様で定義されたファイル項目、入出力項目、セッション変数項目を参照している業務仕様ファイルの名称一覧(即ち、波及情報)を、処理選択により表示させ(図15,図16)、参照業務仕様ファイルの名称一覧表示において、該当業務仕様ファイル名称を選択することで、当該項目を使用している業務仕様入力画面(図5,図6)を表示させることにより、業務仕様を構成する項目(ファイル項目,セッション変数項目,入出力項目)に名称,属性等の仕様変更が発生した場合でも、上述した工程により、波及関係の確認を行ったのち、仕様変更、プログラムコード生成、動作確認という開発保守作業をサイクリックに行うことができる。
【0170】
従って、業務仕様の枠組みの中で、仕様書間の関連を自動検索でき、仕様変更に対する対応漏れを確実に防止することができる。
【0171】
また、一連の業務仕様入力作業の中で、仕様変更作業を行えることから、開発保守作業の効率を大幅に向上させることができる。
【0172】
また、上述した各変形例を合わせた構成も全て本発明の適用範囲である。
【0173】
さらに、図10に示した入出力テーブルの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【0174】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0175】
以下、従来の技術の欄に示した特許文献1と、本実施形態で示したソフトウェア開発支援装置との相違について説明する。
【0176】
まず、上述したように、特許文献1に示される仕様書間の関連情報の管理方法では、仕様変更の度に、プログラム機能関連図を人手により変更しなければならず、煩雑で非効率的であるとともに、システム全体を把握しなければ困難な作業であるという問題点があった。また、プログラム機能関連図から波及関係情報が自動生成されるが、その結果情報が表示出力されるのみで、仕様変更作業,プログラムコード生成といった開発保守作業支援との連携についてはなんら考慮なされていないため、波及関係は把握できるものの、結局、仕様変更作業、プログラムコード生成等の保守作業等を独立に行う必要があり、仕様変更に対する対応漏れを起こしやすくなってしまうという問題点があった。
【0177】
これに対して、本実施形態で示したソフトウェア開発支援装置は、業務仕様を入力とした、業務仕様間の参照関係(クロスリファレンス)を生成/表示するため、仕様が変更されたとき、その構成要素に関連する仕様を業務仕様の枠組みの中(特別なデータを作成する必要なし)で波及箇所を特定し、波及関連情報として参照業務仕様ファイル一覧を出力することができる。
【0178】
また、表示されたクロスリファレンスより、業務仕様の入力画面に遷移させるため、出力された波及関連情報から、直接、業務仕様の入力画面を立ち上げ、仕様変更に関連する業務仕様を変更することができる。
【0179】
さらに、変更された業務仕様からアプリケーションプログラムを自動生成し、その動作を直に確認できる、シームレスな保守作業を実現できる。
【0180】
このように、(1)特別なデータを用意する必要なくクロスリファレンスを業務仕様の枠組みの中で特定表示でき、(2)該クロスリファレンスから直接に業務仕様の入力画面を立ち上げて変更でき、(3)変更された業務仕様からアプリケーションプログラムを自動生成して直に確認できるという、(1),(2),(3)のシームレスな保守作業を実現できる点において、本実施形態で示したソフトウェア開発支援装置は、上記特許文献1に示すような従来のソフトウェア開発資源間の関連付け方法とは根本的に異なるものである(上記特許文献1の問題点を解決するものである)。
【0181】
以上示した点は、本実施形態で示したソフトウェア開発支援装置と、上記特許文献1に示すような従来のソフトウェア開発資源間の関連付け方法との相違を考察する上で、特に留意すべき事項と考える。
【0182】
以下、図28に示すメモリマップを参照して本発明に係るソフトウェア開発支援装置で読み出し可能なデータ処理プログラムの構成について説明する。
【0183】
図28は、本発明に係るプログラム生成置で読み出し可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
【0184】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0185】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0186】
本実施形態における図3,図11,図12,図23,図24,図25,図26,図27に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0187】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0188】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【0189】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
【0190】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0191】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0192】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウエアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0193】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0194】
【発明の効果】
以上説明したように、本発明によれば、予め作成されるソフトウェアを生成するための複数の仕様情報に基づいて、前記各仕様情報間の参照関係を示す参照関係情報を生成し、該生成された参照関係情報に基づいて特定の仕様情報を指定して編集するので、ソフトウェアを生成するための複数の仕様情報のうち、いずれかの仕様情報に仕様変更が発生した場合でも、容易に波及関係のある他の仕様情報を指定して編集することができる。
【0195】
従って、業務仕様の枠組みの中で、仕様書間の関連を自動検索でき、仕様変更に対する対応漏れを確実に防止することができる。
【0196】
また、一連の業務仕様入力作業の中で、仕様変更作業を行えることから、他の仕様情報への波及関係の確認、仕様変更、プログラムコード生成、動作確認という開発保守作業をサイクリックに行うことができ、開発保守作業の効率を大幅に向上させることができる等の効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施形態を示すソフトウェア開発支援装置の構成を示すブロック図である。
【図2】図1に示したコード生成部によって生成したサーブレット、JSP、およびBeanを利用したウェブアプリケーションシステムの全体構成の一例を示す図である。
【図3】本発明のソフトウェア開発支援装置における第1の制御処理手順の一例を示すフローチャートである。
【図4】本発明のソフトウェア開発支援装置における業務仕様入力画面の一例を示す模式図である。
【図5】本発明のソフトウェア開発支援装置における業務仕様入力画面の一例を示す模式図である。
【図6】本発明のソフトウェア開発支援装置における業務仕様入力画面の一例を示す模式図である。
【図7】本発明のソフトウェア開発支援装置における業務仕様入力画面の一例を示す模式図である。
【図8】本発明のソフトウェア開発支援装置における業務仕様入力画面の一例を示す模式図である。
【図9】本発明のソフトウェア開発支援装置における業務仕様入力画面の一例を示す模式図である。
【図10】本発明のソフトウェア開発支援装置における業務仕様情報を入出力テーブルの形式で示したテーブル構成の一例を示す模式図である。
【図11】本発明のソフトウェア開発支援装置における第2の制御処理手順の一例を示すフローチャートである。
【図12】本発明のソフトウェア開発支援装置における第3の制御処理手順の一例を示すフローチャートである。
【図13】図1に示した関連情報生成部によって生成された項目における波及関系情報の一例を示す図である。
【図14】図1に示した関連情報生成部によって生成されたテーブルにおける波及関系情報の一例を示す図である。
【図15】本発明のソフトウェア開発支援装置における項目逆参照入出力一覧(項目波及変更一覧)の一例を示す模式図である。
【図16】本発明のソフトウェア開発支援装置におけるテーブル逆参照入出力一覧(テーブル波及変更一覧)の一例を示す模式図である。
【図17】本発明のソフトウェア開発支援装置における業務パターンに対応する表示画面の一例を示す模式図である。
【図18】本発明のソフトウェア開発支援装置における業務パターンに対応する表示画面の一例を示す模式図である。
【図19】本発明のソフトウェア開発支援装置における業務パターンに対応する表示画面の一例を示す模式図である。
【図20】本発明のソフトウェア開発支援装置における業務パターンに対応する表示画面の一例を示す模式図である。
【図21】本発明のソフトウェア開発支援装置における業務パターンに対応する表示画面の一例を示す模式図である。
【図22】本発明のソフトウェア開発支援装置における業務パターン選択情報について説明する模式図である。
【図23】本発明の第4の制御処理手順の一例を示すフローチャートである。
【図24】本発明の第5の制御処理手順の一例を示すフローチャートである。
【図25】本発明の第6の制御処理手順の一例を示すフローチャートである。
【図26】本発明の第7の制御処理手順の一例を示すフローチャートである。
【図27】本発明の第8の制御処理手順の一例を示すフローチャートである。
【図28】本発明に係るプログラム生成置で読み出し可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
【符号の説明】
101 入力装置
102 表示装置
103 処理装置(CPU,RAM,ROM)
104 外部記憶装置(ハードディスク)
105 画面制御部
116 業務仕様記述部
117 変更波及解析表示部
106 関連情報生成部
107 コード生成部
108 全体制御部
109 入出力テーブル
110 波及関係情報
112 JSPコード
113 Servletコード
114 Beanコード
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a software development support apparatus, a software development support method, a program, and a recording medium for associating specifications in software development.
[0002]
[Prior art]
In software development, when a change occurs in a part of a specification, related information between specifications is necessary to specify the specification related to the component.
[0003]
As a conventional method of associating specifications, an identifier is assigned to each fine-grained item in the specifications created in each process, and a cross-reference table is created to show whether there is a relationship between these items. There is a way to manage information.
[0004]
However, this method requires manually creating a cross-reference table again when the cross-reference is manually created and the relationship between items is changed.
[0005]
On the other hand, Japanese Patent Laid-Open No. 2003-140894 (Patent Document 1) describes a method for automatically generating various specifications and related information between specifications and spread relation information from a program function related diagram.
[0006]
This program function relation diagram is a diagram in which programs, data, and display screens constituting a business system to be developed are used as components and data input / output relationships between these components are described.
[0007]
[Patent Document 1]
JP 2003-140894 A
[0008]
[Problems to be solved by the invention]
However, in the method for managing related information between specifications in Patent Document 1, various specifications and spread relation information are automatically generated from the above-described program function related diagram. As for itself, every time the specification is changed, it must be changed manually, which is complicated and inefficient.
[0009]
In addition, as described above, since the program function related diagram is composed of programs, data, and display screens, it is difficult to create or change the program function related diagram unless the system as a whole is grasped. It was.
[0010]
Furthermore, regarding the spread relation information automatically generated from the program function relation diagram, only the result information is displayed and output, and no consideration is given to the linkage with development maintenance work support such as specification change work and program code generation. .
[0011]
Therefore, after displaying and displaying the spread relationship information, it is necessary to perform maintenance work such as specification change work and program code generation separately using a system different from the display of the spread relationship information, which is inefficient. There was a problem that it was easy to cause omission of response to specification changes.
[0012]
The present invention has been made to solve the above-described problems, and an object of the present invention is to provide related information between the specification information based on a plurality of specification information for generating software created in advance. (For example, reference relationship information indicating a reference relationship) is generated, a display based on the generated related information is performed, and specific specification information is specified and edited from the display, thereby generating a plurality of software. Even if there is a specification change in any of the specification information, it is possible to easily specify and edit other specification information that has a spillover relationship. Software development support device and software development that can automatically search for associations between them, can reliably prevent omissions in response to specification changes, and can greatly improve the efficiency of development and maintenance work To provide a 援方 method and program, and a recording medium.
[0013]
[Means for Solving the Problems]
The first invention of the present invention is a storage means capable of storing a plurality of specification information for generating software (business processing information stored in an input / output table in the external storage device 104 shown in FIG. 1 (FIG. 10)). ) And first generation means (related information generation unit 106 shown in FIG. 1, FIG. 1) that generates reference relation information indicating a reference relation between the specification information based on the specification information stored in the storage means. 12) and editing means (business use description section 116 shown in FIG. 1) that can be edited by designating specific specification information based on the reference relation information (FIGS. 13 and 14) generated by the first generating means. 15 displayed when the edit button 1501 in the item reverse reference input / output list 1500 shown in FIG. 15 is pressed, and FIG. 6 displayed when the edit button 1601 in the file reverse reference input / output list 1600 shown in FIG. ) Characterized in that it has a.
[0014]
The second invention of the present invention is a display means for performing display based on the reference relation information generated by the first generating means (item reverse reference input / output list shown in FIG. 15, file reverse reference input / output shown in FIG. 16). A list 1600) is provided.
[0015]
According to a third aspect of the present invention, the editing means can specify and edit specific specification information from the display by the display means (by pressing an edit button 1501 in the item reverse reference input / output list 1500 shown in FIG. 15). 6 and 6 displayed when the edit button 1601 in the file reverse reference input / output list 1600 shown in FIGS. 5 and 16 is pressed.
[0016]
According to a fourth aspect of the present invention, the display means displays a list of specification information having a reference relationship with respect to specific specification information based on the reference relationship information generated by the first generation means ( The file reverse reference input / output list 1600 shown in FIG.
[0017]
According to a fifth aspect of the present invention, the specification information is defined by a plurality of items, and the display means is a specific item based on the reference relation information generated by the first generation means. A list of items having a reference relationship is displayed (item reverse reference input / output list 1500 shown in FIG. 15).
[0018]
According to a sixth aspect of the present invention, there is provided second generation means (code generation unit 107 shown in FIG. 1, FIGS. 23 to 27) for generating an application program based on each specification information stored in the storage means. It is characterized by that.
[0019]
According to a seventh aspect of the present invention, the second generation unit can generate an application program based on the specification information edited by the editing unit (a generation button 511 shown in FIG. 5 and a generation button 708 shown in FIG. 6). The code generation can be instructed according to (1).
[0020]
In an eighth aspect of the present invention, the specification information includes first specification information (file item (IO category = “F”)) defined by information indicating an arrangement of a plurality of data items in a database. Data file) and second specification information (input / output items (IO classification = “D”)) defined by a plurality of items including items linked to the data items in the first specification information. Data file), and the first generation means generates reference relationship information indicating a reference relationship between the first specification information and the second specification information.
[0021]
In a ninth aspect of the present invention, the second generation means creates a database corresponding to each data item defined in the first specification information based on the specification information (step S403 in FIG. 23, 24), generation of a first program for accessing the database (step S404 in FIG. 23, FIG. 25), and an input / output screen for each item defined in the second specification information is displayed. Generation of the second program (step S406 in FIG. 23, FIG. 26), and the input information from the input / output screen is acquired and the first program and the second program are executed based on the input information The third program for controlling (step S405 in FIG. 23, FIG. 25) is generated.
[0022]
A tenth aspect of the present invention is a generation step (FIG. 12) for generating reference relationship information indicating a reference relationship between the specification information based on a plurality of specification information for generating software, A display process (steps S207 and S208 in FIG. 11) for performing display based on the reference relationship information, and an editing process (designating specific specification information from the display for editing) (the process of shifting from step S208 to step S201 in FIG. 11) ).
[0023]
An eleventh invention of the present invention is a program for executing the software development support method described in the tenth invention.
[0024]
A twelfth aspect of the present invention is characterized in that a program for executing the software development support method described in the tenth aspect is stored in a recording medium so as to be readable by a computer.
[0025]
DETAILED DESCRIPTION OF THE INVENTION
The application development system of the present invention will be described below with reference to the drawings.
[0026]
FIG. 1 is a block diagram showing the configuration of a software development support apparatus showing an embodiment of the present invention.
[0027]
In the figure, 101 is an input device, which corresponds to a pointing device such as a keyboard or a mouse, and is used for business specification information (file definition indicating the arrangement of data items in the database and the relationship between data items, and input / output to / from the screen) It is possible to select an input / output definition indicating a data item), a business pattern (a screen display pattern and a logic combination associated with the screen display pattern).
[0028]
Reference numeral 102 denotes a display device, which is composed of a CRT, an LCD, and the like, and includes an input screen for business specification information and business pattern selection information, business specification information and business pattern selection information input from the input screen, and a generated program code. Can be displayed. Reference numeral 104 denotes an external storage device such as a hard disk, an input / output table 109 (FIG. 10 to be described later) for storing the input business specifications, propagation information 110 (FIGS. 13 and 14 to be described later), and business pattern selection information 111. The generated program code (JSP code 112, servlet code 113, bean code 114) and the like are stored.
[0029]
A processing unit 103 includes a CPU, a ROM, a RAM, and the like, and is realized by the CPU loading and executing a program stored in the ROM, the external storage device 104, or other recording medium on the RAM. And includes a screen control unit 105 and a code generation unit 107.
[0030]
The screen control unit 105 analyzes the propagation relationship information 110 and the business specification description unit 116 that controls the screen (FIGS. 4 to 9 described later) of the display device 102 in order to input the business specification information from the input device 101. Change propagation analysis display unit for controlling the screen of the display device 102 (the item reverse reference input / output list 1500 shown in FIG. 15 and the file reverse reference input / output list 1600 shown in FIG. 16) to display the change spread list screen. 117.
[0031]
When the business specification information is input from the input device 101 and stored in the input / output table 109 in the external storage device 104, the related information generation unit 106 generates the propagation relationship information 110 based on the stored business specification information. Store. Based on the business specification information and the business pattern selection information 111 stored in the input / output table 109 in the external storage device 104, the code generation unit 107 is a program code (JSP code 112, servlet code 113, bean code 114). Is generated and stored in the external storage device 104. Further, the code generation unit 107 creates a database (DB) for a database system (not shown) based on the business specification information read from the input / output table 109 in the external storage device 104.
[0032]
An overall control unit 108 controls each unit such as the screen control unit 105 and the code generation unit 107.
[0033]
FIG. 2 is a diagram showing an example of the entire configuration of a web application system using a servlet, JSP, and Bean generated by the code generation unit 107 shown in FIG.
[0034]
The servlet, JSP, and Bean generated by the code generation unit 107 are arranged on the application server 306 on the server 304 side in an executable state.
[0035]
This Web application system is used by the Web browser 302 from the client 301. By accessing the JSP 309 from the web browser 302, an HTML page is generated and returned to the client 301 side. Then, an HTML page 303 transmitted from the JSP 309 is displayed on the web browser 302.
[0036]
A request from the Web browser 302 is transmitted to the server 304 side via HTTP. The server 304 includes an HTTP server 305 and an application server 306, and the application server 306 includes a servlet and JSP execution environment.
[0037]
When a request is transmitted to the server 304 side, the corresponding servlet 307 is activated according to the request. The servlet 307 requests the corresponding Bean 308 to perform processing. Further, the Bean 308 accesses the database 311 using the DB access object 310, performs business-related processing and data processing, and holds the processing result. The DB access object 310 is a class created as a result of analyzing and designing a business, or an existing class that can be reused.
[0038]
Next, the Bean 308 is passed from the servlet 307 to the JSP 309 and the JSP 309 is called. The JSP 309 refers to the processing result held by the Bean 308, generates an HTML page, and returns it to the client 301 side. The HTML page returned to the client 301 is displayed on the Web browser 302.
[0039]
The servlet 307 has a role of controlling the connection between receiving requests from the Web browser 302, processing requests to the Bean 308, and calling the JSP 309. The JSP 309 is responsible for the display for outputting the HTML page, and the Bean 308 is responsible for processing related to operations such as access to the database 311. Although it is possible to process a request from the Web browser 302 using only the servlet 307 without using the Bean 308 or JSP 309, the role sharing can be performed by clearly separating each role by using the Bean 308 or JSP 309. It can be grasped concisely.
[0040]
FIG. 3 is a flowchart showing an example of a first control processing procedure in the software development support apparatus of the present invention, and corresponds to the operation of the overall control unit 108 of the processing apparatus 103 shown in FIG. In addition, S101-S105 show each step.
[0041]
The processing device 103 shown in FIG. 1 is a program based on an input mode for inputting a business specification (input / output table) for generating a code and selecting a business pattern, and an input business specification (input / output table) and business pattern selection information. A generation mode for generating code.
[0042]
First, when the overall control unit 108 is activated, in step S101, it is determined whether the mode selected by the operator's instruction from the input device 101 is the generation mode or the input mode, and if it is determined that the input mode has been selected. In step S102, the overall control unit 108 activates the screen control unit 105.
[0043]
In step S103, the activated screen control unit 105 activates the business specification description unit 116 to display a business specification input screen (not shown), and forms the application name of the web application to be generated and the business specification from the operator. The input to the input / output table is received, and the input / output table is stored in the external storage device 104. Although not shown in the flowchart, when the input / output table is updated, the overall control unit 108 activates the related information generation unit 106, and the activated related information generation unit 106 generates the propagation relationship information 110. Store in the external storage device 104. Furthermore, the business specification description unit 117 activates the change propagation analysis display unit 117 in response to an instruction from the user. The activated change propagation analysis display unit 117 displays a reverse reference input / output list (an item reverse reference input / output list 1500 shown in FIG. 15 described later, and a file reverse reference input / output list 1600 shown in FIG. 16).
[0044]
The business specification input process by the business specification description unit 116 will be described in detail with reference to flowcharts shown in FIGS.
[0045]
On the other hand, when it is determined in step S101 that the mode selected by the operator's instruction from the input device 101 is the generation mode, the process proceeds to step S104, and the overall control unit 108 activates the code generation unit 107, and Based on the input / output table 109 stored in the external storage device 104 and the selected business pattern selection information 111, code generation and database creation are performed.
[0046]
In step S <b> 105, the overall control unit 108 performs an output process of displaying the generated code on the display device 102 or writing to the external storage device 104 in accordance with an operator instruction.
[0047]
Hereinafter, business specifications (input / output data) in the software development support apparatus of the present invention will be described with reference to FIGS.
[0048]
4 to 9 are schematic diagrams showing an example of a business specification input screen in the software development support apparatus of the present invention, which is activated by the business specification description unit 116. FIG.
[0049]
FIG. 10 is a schematic diagram showing an example of a table configuration in which business specification information in the software development support device of the present invention is shown in the form of an input / output table.
[0050]
The business specifications input from the business specification input screens of FIGS. 4 to 9 are stored internally in the format of the input / output table of FIG.
[0051]
First, in FIG. 4, reference numeral 400 denotes an application number input area for inputting an application number of a web application to be generated (in this example, “ShohinMaster”).
[0052]
Reference numeral 401 denotes a data file number input area for inputting a data file number (in this example, “ShohinM” (may be the same as the application name)), which is stored in column 1 of the input / output table shown in FIG. The Reference numeral 402 denotes a file name input area for inputting a data file name corresponding to the data file number input in the data file number input area 401 (in this example, “product master”). Stored in column 3 of the output table. Reference numeral 403 denotes an explanation input area.
[0053]
Reference numeral 404 denotes an IO category selection area for selecting whether the data file number input in the data file number input area 401 is “file definition” or “input / output definition” (in this example, “file definition”). Is selected). Note that the file definition is to define the items defined in the data file as the definition of placement in the database, and the input / output definition is the definition of the screen display item group and the items defined in the data file. To do.
[0054]
Reference numeral 405 denotes a delete button. By instructing this button with a mouse or the like, the corresponding data file is deleted. Reference numeral 406 denotes a detail button. When “file definition” is selected in the IO category selection area 404 by instructing this button with a mouse or the like, a file item list screen for inputting each file item information of the data file (FIG. 5) is displayed, and when “input / output definition” is selected in the IO category selection area 404, an input / output item list screen (FIG. 6) for inputting input / output item information is displayed.
[0055]
In the file item list shown in FIG. 5, reference numeral 501 denotes an arrangement order input area for inputting the arrangement order (1, 2, 3,...) Of the corresponding file items. Stored in column 7 of the table. Reference numeral 502 denotes a data file item branch number input area for inputting data file item branch numbers (in this example, four items including “Code”) which are identification information of the corresponding file items, as shown in FIG. Stored in column 4 of the input / output table. Reference numeral 503 denotes a data file item name input area for inputting the name of the corresponding data file item (in this example, four items including “product code”). In the input / output table column 5 shown in FIG. Stored.
[0056]
Although not shown in FIG. 10, data file items to be the primary key and the second key are designated in the key function designation area, and the reference relationship is designated in the reference file number and reference data file item branch number designation area. Data file number and data file item branch number can be specified, and the number of data file items and data type (text, numeric, date, currency, etc.) can be entered in the digit number input area, data type input area, etc. You may comprise.
[0057]
Reference numeral 504 denotes a delete button. By instructing this button with a mouse or the like, the corresponding data file item is deleted.
[0058]
Reference numeral 505 denotes an item reverse reference input / output list display instruction area. By pointing this area with a mouse or the like, an item reverse reference input / output list 1500 corresponding to the data file item is displayed as shown in FIG. .
[0059]
Reference numeral 506 denotes a file reverse reference input / output list display instruction area. When this area is designated with a mouse or the like, a file reverse reference input / output list 1600 corresponding to the data file is displayed as shown in FIG.
[0060]
Reference numeral 507 denotes a “save as” button. By instructing this button with a mouse or the like, an input / output table is generated from the business specifications input on the business specification input screen (FIG. 4) and the data item input screen (FIG. 5). And can be stored in the external storage device 104 with a desired name.
[0061]
Reference numeral 509 denotes a close button. By instructing this button with a mouse or the like, the file item list screen is terminated. Reference numeral 510 denotes an application button. By instructing this button with a mouse or the like, an input / output table is generated from the business specification input on the business specification input screen (FIG. 4) and the file item list screen (FIG. 5), and is stored in the external storage. New storage or update storage is performed in the device 104. The data stored here is all data indicating file items, and “F” is stored in the IO section shown in column 6 of the input / output table shown in FIG.
[0062]
Reference numeral 511 denotes a generation button. By instructing this button with a mouse or the like, the code generation unit 107 shown in FIG. 1 can be activated to perform code generation processing.
[0063]
Next, input / output definition input will be described.
[0064]
The input / output item data input on the input / output definition input screen shown in FIG. 6 is generated as “D” in the six columns of the input / output table shown in FIG. 10 (rows 5 to 7, rows 8 to 8). Line 11).
[0065]
In FIG. 6, reference numeral 701 denotes an arrangement order input area for inputting the arrangement order (1, 2, 3,...) Of corresponding input / output items, and column 7 of the input / output table shown in FIG. Stored in An input / output item name input area 702 is used to input an item name (for example, “product code”) to be displayed on the screen, and is stored in column 5 of the input / output table shown in FIG.
[0066]
Reference numeral 703 denotes a data file number input area for inputting a data file number (for example, “ShohinM”, which is stored in the column 2 of the input / output table shown in FIG. 10. Reference numeral 704 denotes a data file item branch number input. The area is used to input a data item number (for example, “Code”), which is identification information of the corresponding input / output item, and is stored in column 4 of the input / output table shown in FIG.
[0067]
Reference numeral 706 denotes a close button. By instructing this button with a mouse or the like, the data item input screen is terminated. Reference numeral 707 denotes an apply button. By instructing this button with a mouse or the like, input / output items input on the input / output item list screen (FIG. 6) are added to the input / output table 109 stored in the external storage device 104. .
[0068]
Reference numeral 708 denotes a generation button. By instructing this button with a mouse or the like, the code generation unit shown in FIG. 1 can be activated to perform code generation processing.
[0069]
In addition, although the case where an item name etc. are input into each field (arrangement order input area 701, input / output item name input area 702, data file number input area 703) in FIG. ”Button 705 is instructed with a mouse or the like, a data file selection screen shown in FIG. 7 is displayed, and it is possible to select and input from the data file.
[0070]
Then, on the data file selection screen of FIG. 7, the detailed display button 801 is designated with a mouse or the like to select the data file item (specified in the data file number display field 802 and the data file name display field 803) to be associated with the display item. As a result, a list of items in the data file is displayed as shown in FIG. 8. For items to be input / output items from these, the display selection check box 906 is checked and the apply button 904 is set to the mouse or the like. The input / output item list screen is returned to, and as a result, the selected items (items displayed in the arrangement order display field 901, the item number display field 902, and the item name display field 903) are displayed as shown in FIG. It is stored in the input / output table as a display item.
[0071]
It is also possible to change the item name on the input / output item list screen shown in FIG. 9 to distinguish it from the data file item name.
[0072]
As described above, the input / output item input function shown in FIGS. 6 to 9 can considerably reduce the work specification input work load.
[0073]
It is also possible to create input / output items by selecting input / output items from a plurality of data files by repeating input / output item input on the screens shown in FIGS. 6 (FIG. 9) to FIG. 8 a plurality of times. is there.
[0074]
As described above, as a result of performing the input operation on the operation screens shown in FIGS. 4 to 9, the input / output table is as shown in FIG.
[0075]
The business specification information (input / output table) shown in FIG. 10 will be described below.
[0076]
In the input / output table of FIG. 10, column 1 shows application numbers defined in units of screens. Column 2 is the data file number and represents the DB table name. Column 4 is a data file item branch number, and represents a data item constituting the data file.
[0077]
Column 3 is the name of the data file corresponding to the data file number, and column 5 is the name of each data item corresponding to the data file item branch number.
[0078]
The input / output table 109 is composed of file items and input / output items. When the value of the IO category is “F”, the data item is a file, and when it is “D”, it is an input / output item group.
[0079]
The association between the business specifications in the present invention is to check where the item with the IO classification “F” is used as the “D” item or the “S” item in other business specifications. Based on this related information, the spillover relationship is clarified, and when a change in business specifications occurs, it is intended to present which specifications are affected by data item units and table units.
[0080]
Column 7 represents the order of arrangement and is added independently for each application. This arrangement order is used as an item number indicating a data item related in the spread relation information in data item units shown in FIG.
[0081]
Hereinafter, a method for associating business specifications according to the present embodiment will be described with reference to FIGS.
[0082]
[Output of ripple related information]
FIG. 11 is a flowchart showing an example of a second control processing procedure in the software development support apparatus of the present invention, corresponding to the business specification input process (step S103 in FIG. 3) by the business specification input unit 116 shown in FIG. To do. In addition, S201-S210 shows each step.
[0083]
First, in step S201, it waits until an input from the operator is detected. If it is determined that the input is detected, it is determined in step S202 whether or not the input is a business specification storage instruction. If it is determined that the instruction is a specification saving instruction, the business specification is stored (saved) in the input / output table 109 in step S203, and automatically (without requiring an operator's operation selection) when the business specification is stored. ) Proceed to step S204.
[0084]
In step S204, the related information generation unit 106 is activated, and the related information generation unit 106 performs a related information generation process (details are shown in FIG. 12) for the business specification (data file) stored in the input / output table 109 to have a ripple relationship. In step S205, the generated propagation relation information is stored in the external storage device 104, and the process returns to step S201 and waits for the next input.
[0085]
On the other hand, if it is determined in step S202 that the input is not a business specification storage instruction, it is determined in step S206 whether or not the input is a reverse reference input / output list display instruction. If it is determined that there is, the change ripple analysis display unit 117 is activated in step S207, the change ripple analysis display unit 117 reads the ripple relation information 110 stored in the external storage device 104, and the change ripple analysis processing is performed. In step S208, a list of the analysis results (item reverse reference input / output list 1500 shown in FIG. 15 described later, file reverse reference input / output list 1600 shown in FIG. 16) is displayed on the screen (change propagation list screen display is performed). ), The process returns to step S201 and waits until the next input is received.
[0086]
When a reverse reference input / output list display instruction is issued in the item reverse reference input / output list display area 505 shown in FIG. 5, the change propagation analysis display unit 117 displays the propagation relation information of the items (a diagram to be described later). 13) is read, a change spread analysis process is performed, and an item reverse reference input / output list 1500 (FIG. 15) is displayed. On the other hand, when a reverse reference input / output list display instruction is made in the file reverse reference input / output list display area 506 shown in FIG. 5, the change propagation analysis display unit 117 displays the file propagation relation information (see FIG. 14) is read, a change propagation analysis process is performed, and a file reverse reference input / output list 1600 (FIG. 16) is displayed.
[0087]
Here, when editing the business specifications that are expected to be affected by the change, the reverse reference input / output list screen (item reverse reference input / output list 1500 shown in FIG. 15 and file reverse reference input / output list 1600 shown in FIG. 16) is displayed. By instructing the edit button (1501, 1601) of the business specification to be changed, the edit screen (FIGS. 5 and 6) can be displayed and the change can be made seamlessly (although not shown in detail). , Corresponding to steps S208 → S201 in FIG. 11). In response to an instruction from the edit buttons (1501, 1601), the corresponding business specification edit screen (FIGS. 5 and 6) may be displayed and manually edited, or the operator may not perform the illustration. When automatic editing is instructed from the screen, the related business specification may be automatically edited in accordance with the changed business specification without displaying the editing screen.
[0088]
Furthermore, when the operator designates the generation button (511, 708), the program code can also be seamlessly generated from the changed business specifications, and the operation can be directly confirmed.
[0089]
Even if there is no instruction from the operator, when a file item is changed and input (the data file item branch number input area 502, the item reverse reference input / output list display instruction area 505 shown in FIG. The item reverse reference input / output list 1500 shown in FIG. 15 corresponding to the changed file item may be automatically displayed.
[0090]
Even if there is no instruction from the operator, when the data file is changed (when the change input is made in the data file number input area 401 shown in FIG. 4 or when the apply button 510 shown in FIG. 5 is pressed). The file reverse reference input / output list 1600 shown in FIG. 16 corresponding to the changed data file may be automatically displayed.
[0091]
Returning to the flowchart of FIG.
[0092]
On the other hand, if it is determined in step S206 that the input is not a reverse reference input / output list display instruction, in step S209, it is determined whether or not the input is an end instruction, and an end instruction (to the “close” button 509) is determined. If it is determined that it is an instruction), the processing is terminated as it is, and the process returns to the flowchart of FIG.
[0093]
On the other hand, if it is determined in step S209 that the input is not an end instruction, processing corresponding to the other input is performed in step S210, and the process returns to step S201 and waits for the next input.
[0094]
FIG. 12 is a flowchart showing an example of a third control processing procedure in the software development support apparatus of the present invention, corresponding to the related information generation processing (step S103 in FIG. 3) by the related information generation unit 106 shown in FIG. To do. S301 to S309 indicate each step.
[0095]
First, in step S <b> 301, one data file item whose IO classification is “F” is acquired from the input / output table 109.
[0096]
Next, in step S302, one item is read from the input / output table 109, and in step S303, it is checked whether the read data item and the data file number of the item acquired in step 301 are equal. If so, the process proceeds to step 308.
[0097]
On the other hand, if it is determined in step S303 that the item read in step S302 is equal to the data file number of the item acquired in step 301, the item read in step S302 and the item acquired in step 301 are determined in step S304. Check if application numbers are equal. This is for obtaining a ripple relationship in units of tables (data files). When it is determined that they are not equal, it is considered that a ripple relationship in a new table has occurred, and in step S305, in step 301 The application number of the acquired item and the application number of the item read in step S302 are respectively stored in the relation source number 1401 and the relation destination number 1402 of the spread relation information in the table shown in FIG. 14 (relation information output (table)). The process proceeds to S306.
[0098]
On the other hand, if it is determined in step S304 that the application number of the item read in step S302 is the same as the item acquired in step 301, the process directly proceeds to step S306.
[0099]
Next, in step S306, it is checked whether the item read in step S302 and the data file item branch number of the item acquired in step 301 are equal. This is for obtaining a ripple relationship in item units. If it is determined that they are equal, it is considered that the ripple relationship in the item is established, and the data of the item acquired in step 301 in step S307. The information specifying the file item branch number (application number and arrangement order), the information specifying the data file item branch number of the item read in step S302 (application number and arrangement order) are shown in the propagation relation information in the items shown in FIG. The information is stored in the related source number 1301 and the related destination number 1302 (relation information output (item)), and the process proceeds to step S308.
[0100]
Next, in step S308, it is determined whether or not the processing in steps S302 to S307 has been completed for all items in the input / output table 109. If it is determined that the processing has not yet been completed, the processing returns to step S302. On the other hand, if it is determined that the process has been completed, the process proceeds to step S309.
[0101]
Next, in step S309, it is determined whether or not the processing in steps S301 to S308 has been completed for all data file items (IO classification = “F”) in the input / output table 109, and it has been determined that the processing has not yet been completed. If YES in step S301, the process returns to step S301. If it is determined that the process has ended, the process ends and the process returns to the flowchart of FIG.
[0102]
The propagation information created by the above processing is shown in FIGS.
[0103]
FIG. 13 is a diagram illustrating an example of propagation related information in the items generated by the related information generation unit 106 illustrated in FIG.
[0104]
In FIG. 13, reference numeral 1301 denotes a relation source number, 1302 denotes a relation destination number, which are represented by the data file number in column 2 and the arrangement order of column 7 in the input / output table shown in FIG. In addition, the arrangement order appearing in the relation source number 1301 is “F” in the column 6 in FIG. 10, that is, only the file item.
[0105]
For example, in the second line of FIG. 13, the relation source number is “ShohinMaster: 1” and the related destination number is “Sample2: 1”.
[0106]
This is because, if the file item “Code (product code)” in the order “1” in the application “ShohMaster (product master)” shown in FIG. 10 is changed, the order “1” in the application “Sample sample 2”. The input / output item “Code (product code)” in FIG.
[0107]
The propagation information in the items as described above is displayed as in the item reverse reference input / output list (item propagation change list) shown in FIG.
[0108]
FIG. 14 is a diagram illustrating an example of propagation related information in the table generated by the related information generation unit 106 illustrated in FIG.
[0109]
14, 1401 is an association source number, 1402 is an association destination number, and is represented by an application number in column 1 of the input / output table shown in FIG.
[0110]
For example, in the second line of FIG. 14, when the related source number is “ShohinMaster” and the table “ShohinM” used in the application “ShohinMaster” is changed, the table “ShohinM” used in the application “Sample2” is displayed. Means that changes to must be considered.
[0111]
The propagation related information in the table as described above is displayed as a table reverse reference input / output list (table propagation change list) shown in FIG.
[0112]
FIG. 15 is a schematic diagram showing an example of an item reverse reference input / output list (item propagation change list) in the software development support apparatus of the present invention.
[0113]
In the figure, reference numeral 1501 denotes an edit button. By instructing this button with a mouse or the like, the corresponding business specification input screen (FIG. 5 or 6) is displayed, and the cursor is moved to the corresponding item. The specification change corresponding to can be seamlessly performed, and the program code can be generated by instructing the generation button (511 or 708) from the input screen with a mouse or the like.
[0114]
FIG. 16 is a schematic diagram showing an example of a file (table) reverse reference input / output list (table propagation change list) in the software development support apparatus of the present invention.
[0115]
In the figure, reference numeral 1601 denotes an edit button. By instructing this button with a mouse or the like, a corresponding business specification input screen (FIG. 5 or FIG. 6) is displayed, and the specification change corresponding to the business specification is seamlessly performed. In addition, the program code can be generated by designating the generation button (511 or 708) from the input screen with a mouse or the like.
[0116]
17 to 21 are schematic diagrams showing examples of display screens corresponding to business patterns in the software development support apparatus of the present invention.
[0117]
The list display pattern shown in FIG. 17 corresponds to the business process of acquiring item data corresponding to rows 5 to 7 in FIG. 10 from the database and displaying the item data corresponding to the data file item branch numbers in column 4 as a list. .
[0118]
The registration pattern shown in FIG. 18 corresponds to a business process in which item data corresponding to rows 5 to 7 in FIG. 10 is input from the input screen and stored (new registration) in the database.
[0119]
In the update pattern shown in FIG. 19, the item data corresponding to the lines 5 to 7 in FIG. 10 is input from the input screen, and the record corresponding to the data input from the input screen is updated or registered in the database. Corresponds to business processing that deletes data from the database or displays records corresponding to data input from the input screen from the database.
[0120]
The list update pattern shown in FIG. 20 acquires the item data corresponding to rows 5 to 7 in FIG. 10 from the database, displays the list, and adds, changes, deletes, etc. to the displayed data. Corresponds to the business process to be updated.
[0121]
The search list pattern shown in FIG. 21 is a business process for inputting data in the table corresponding to rows 5 to 7 in FIG. 10 from the input screen, searching for data using the input data as a key, and displaying a list. Corresponding to
[0122]
Note that business patterns applicable to the software development support apparatus of the present invention are not limited to the business patterns shown in FIGS. 18 to 21 and may include other various business patterns.
[0123]
For example, a business pattern using a plurality of screens, in detail, a business pattern in which a list is displayed on the first screen and items selected from the list display are displayed in detail on the second screen. May be included.
[0124]
FIG. 22 is a schematic diagram for explaining the business pattern selection information 111 in the software development support apparatus of the present invention.
[0125]
In the figure, reference numeral 2202 denotes a business pattern, which indicates a business pattern selected for the application number 2201 (FIGS. 18 to 21).
[0126]
Hereinafter, the code generation processing by the code generation unit 107 illustrated in FIG. 1 will be described with reference to FIGS.
[0127]
FIG. 23 is a flowchart showing an example of the fourth control processing procedure of the present invention, and corresponds to the code generation processing (step S104 in FIG. 3) by the code generation unit 107 shown in FIG. S401 to S407 indicate each step.
[0128]
First, in step S401, one data file corresponding to the designated application is acquired from the input / output table 109.
[0129]
Next, in step S402, it is determined whether or not the IO classification = “F” of each item of the acquired data file. If it is determined that the IO classification = “F”, the process proceeds to step S403. .
[0130]
In step S403, a database system (not shown) is accessed and a database (DB) is created (details are shown in FIG. 24). Next, in step S404, a bean code 114 for performing data operation processing on the database created in step S401. Is generated based on the data file acquired in step S401 (details are shown in FIG. 25), and the process proceeds to step S407.
[0131]
On the other hand, if it is determined in step S402 that the IO classification of each item of the data file acquired in step S401 is not “F” (“D”), the process proceeds to step S405.
[0132]
Next, in step S405, based on the data file acquired in step S401, the servlet code 113 that acquires input data from the web browser and controls the entire business process is generated (details are shown in FIG. 26). In step S406, the JSP code 112 for controlling display on the web browser is generated (details are shown in FIG. 27), and the process proceeds to step S407.
[0133]
Next, in step S407, it is determined whether or not the processing in steps S401 to S406 has been completed for all data files corresponding to the designated application. Returning to S401, if it is determined that the process has already been completed, the process ends and the process returns to the flowchart of FIG.
[0134]
FIG. 24 is a flowchart showing an example of the fifth control processing procedure of the present invention, and corresponds to the database creation processing (step S403 in FIG. 23) by the code generation unit 107 shown in FIG. S501 to S504 indicate each step.
[0135]
First, in step S501, a command for creating a DB having an application name as a database name is issued to a database system (not shown) (if the database has already been created, this processing is not performed). Next, in step S502, the created database is connected.
[0136]
In step S503, an SQL statement for creating a table with the current data file number as the table name and each data item branch number in the data file number as the item name in the table is generated, and the query of the SQL statement is executed. Execute.
[0137]
Next, in step S504, a process of disconnecting from the database is performed, the process ends, and the process returns to the flowchart of FIG.
[0138]
FIG. 25 is a flowchart showing an example of the sixth control processing procedure of the present invention, and corresponds to the bean creation processing (step S404 in FIG. 23) by the code generation unit 107 shown in FIG. S601 to S605 indicate each step.
[0139]
First, in step S601, a bean file for database operation corresponding to the current data file number is generated. The bean file name is, for example, a bean file in which the data file number and the character string “Bean” are added to the application name and the extension is “Java (registered trademark)”. At this time, a declaration of “package name (for example, a data file number and a character string“ Bean ”added to the application name”), “java (registered trademark) .sql” package at the top of the created Bean file ”And a code for implementing an interface necessary for using Java (registered trademark) Beans” are stored.
[0140]
Next, in step S602, a search processing code is generated. Specifically, “Connect to DB, execute query of SQL statement for performing search processing for table corresponding to corresponding data file number using specified parameter as search condition, return search result, and disconnect from DB Code (search method) "is generated in the Bean file.
[0141]
Next, in step S603, a new registration process code is generated. Specifically, “Connect to DB, execute a query of an SQL statement for performing additional processing on the table corresponding to the data file number as the newly added data with the specified parameter, and return the new addition result, A code to be disconnected from the DB (registration method) ”is generated in the Bean file.
[0142]
Next, in step S604, an update process code is generated. Specifically, “Connect to DB, execute a query of SQL statement for performing update processing on the table corresponding to the data file number with the specified parameter as update data, return the update result, A code to be cut (update method) "is generated in the Bean file.
[0143]
Next, in step S605, a deletion process code is generated. For more details, refer to “Code to connect to DB, execute SQL statement to specify deletion target record by specified parameter and perform deletion process, return deletion result, and disconnect from DB (deletion method) Is generated in the Bean file.
[0144]
Then, the process ends and the process returns to the flowchart of FIG.
[0145]
Note that the code generated in the Bean file by the above steps S602 to S605 includes "a process for loading a driver class, a process for connecting to a database, a process for generating an SQL statement object, and data passed from a servlet. It is assumed that “a process for executing an SQL statement query to obtain a result, a process for setting a result, a code for performing a process for closing an SQL statement object and a database connection object”, and the like are described.
[0146]
The search processing code, new registration processing code, update processing code, and deletion processing code generated in steps S602 to S605 are business processing classes defined in the Bean file (for example, class name: character in data file name). The search method, registration method, update method, and delete method in the column “DBAccess” are added).
[0147]
Further, in the flowchart of FIG. 25, the configuration for generating the search processing code, the new registration processing code, the update processing code, and the deletion processing code is shown for any data file, but according to the business pattern selection information 111, It may be configured to generate only necessary code.
[0148]
For example, in the data file in which “list display pattern (FIG. 17)” is selected as the business pattern, only the search processing code is generated.
[0149]
FIG. 26 is a flowchart showing an example of the seventh control processing procedure of the present invention, and corresponds to the servlet creation processing (step S405 in FIG. 23) by the code generation unit 107 shown in FIG. In addition, S701-S704 shows each step.
[0150]
First, in step S701, a servlet file is generated. As the file name of the servlet file, for example, the current data file name and the character string “Servlet” are added to the application name, and the extension is “java (registered trademark)”. At this time, at the top of the servlet file, “code to import the Bean package to be used and other necessary packages, access modifier, class definition, inheritance of class (for example, HTTP Servlet class), web browser (HTML form) ”) Is stored in the“ code indicating the method for receiving the parameter (transmission information) transmitted from () ”.
[0151]
Next, in step S702, a “code for receiving transmission information from the web browser” is generated in the servlet file.
[0152]
Next, in step S703, "code for invoking the business process Bean method corresponding to the transmission information from the web browser received by the code generated in step S702 and executing the business process" is generated in the servlet file. To do. The code generated here differs depending on the selected business pattern. Although details are omitted, for example, when the business pattern selection information is “registration pattern”, a registration method is called and executed in accordance with transmission information from the web browser indicating that the registration button is instructed. When the code is generated and the business pattern selection information is “update pattern”, the update button / new button / delete button / display button indicates that the instruction has been input, according to the transmission information from the web browser Then, a code for selectively calling and executing the update method / new registration method / deletion method / search method is generated.
[0153]
In step S703, it is also assumed that “a code for storing the processing result of the Bean method in a storage area (for example, a session object) that can be acquired from the JSP” is also generated.
[0154]
Next, in step S704, a “code for calling the corresponding JSP” is generated in the servlet file, the process ends, and the process returns to the flowchart of FIG.
[0155]
It should be noted that a code using Java (registered trademark) Script is generated in the JSP file as necessary (for example, for processing such as a “close” button).
[0156]
FIG. 27 is a flowchart showing an example of the eighth control processing procedure of the present invention, and corresponds to the JSP creation processing (step S406 in FIG. 23) by the code generation unit 107 shown in FIG. S801 to S803 indicate each step.
[0157]
First, in step S801, a JSP file corresponding to the current data file is generated. As for the file name of the JSP file, for example, the data file name is added to the application name and the extension is “jsp”. The JSP file includes “a code for setting a MIME type of the JSP page and a character set to be encoded, a code for instantiating a Bean corresponding to the data file, and an html tag“ <html><head>< It is assumed that a code such as “title> application name </ title>” is generated and stored.
[0158]
Next, in step S802, it is determined which business pattern the selected business pattern (business pattern selection information 111) is, and “code for acquiring display data” is set in JSP according to the business pattern selection information 111. Generate in the file. Although details are omitted, for example, when the business pattern selection information is “list display pattern”, “list update pattern”, etc., “the search method of the bean for business processing is called and executed, and the search method A code for acquiring a processing result from Bean is generated. In addition, when the business pattern selection information is “search list pattern” or the like, “determine whether the search is instructed on the previous screen and the search result is stored in the session or the like. A code for acquiring the search result "is generated.
[0159]
Next, in step S803, “screen generation code” is generated in the JSP file in accordance with the business pattern selection information 111, the process ends, and the process returns to the flowchart of FIG.
[0160]
Through the above process, the web application program is automatically generated from the business specifications, so that it is possible to generate the programming code of the web application without requiring special knowledge of the program code such as Java (registered trademark). Even if there is a change in the business specification, etc., after all the related business specification changes are made from the item reverse reference input list shown in FIG. 15 and FIG. By performing the code generation process, it is possible to easily develop a web application having excellent maintainability that can flexibly cope with a specification change, in which business specifications and program codes can always be matched.
[0161]
In the present embodiment, the case where a web application using a server-side Java (registered trademark) program is generated has been described. However, the generated program code is not limited to Java (registered trademark), but ASP. It may be a web application such as (Active Server Pages) or PHP (Hypertext Preprocessor).
[0162]
Moreover, although the case where Java (trademark) Script was used was demonstrated, you may use another script language.
[0163]
In the present embodiment, the case where the item IO classification (column 6 of the input / output table) is the data file item “F” or the input / output item “D” has been described, but other items such as the session variable item “ S ”or the like may be included. The session variable item is used as a session variable.
[0164]
In this case, the data file number input in the data file number input area 401 is “file definition”, “input / output definition”, or “session definition” in the IO category selection area 404 of the business specification input screen shown in FIG. It is possible to select which one. The session definition is a group of items defined in the data file as a session variable group.
[0165]
If “session definition” is selected in the IO category selection area 404 of FIG. 4, a session item list screen (not shown in FIG. 6) for inputting session item information by pointing the detail button 406 with a mouse or the like. The same screen) is displayed.
[0166]
The session item data input on the session item list screen or the like is generated with the IO classification in the column 6 of the input / output table shown in FIG. 10 as “S”.
[0167]
Thereby, in the related information generation process shown in FIG. 12, the propagation relation information including the session variable is generated.
[0168]
Also, although omitted in detail, in the servlet creation process shown in FIG. 26 as well, “if the information received from the web browser is information corresponding to the session variable item, a code for storing the information in the session object” Is generated in the servlet file.
[0169]
As described above, on the business specification input screen, the process specification file name list (that is, the propagation information) that refers to the file items, input / output items, and session variable items defined in the business specification is selected. (FIGS. 15 and 16), and in the name list display of the reference business specification file, by selecting the relevant business specification file name, the business specification input screen using the item (FIGS. 5 and 6) By displaying, the spread relationship was confirmed by the above-mentioned process even when the specification, such as name and attribute, changed in the items (file items, session variable items, input / output items) that make up the business specifications. Later, development maintenance work such as specification change, program code generation, and operation check can be performed cyclically.
[0170]
Therefore, it is possible to automatically search for the relationship between specifications within the framework of business specifications, and to reliably prevent omissions in response to specification changes.
[0171]
In addition, since the specification change work can be performed in a series of business specification input work, the efficiency of the development and maintenance work can be greatly improved.
[0172]
Further, all the configurations in which the above-described modifications are combined are also within the scope of the present invention.
[0173]
Furthermore, the configuration and contents of the input / output table shown in FIG. 10 are not limited to this, and it is needless to say that the input / output table is configured with various configurations and contents in accordance with applications and purposes.
[0174]
Although one embodiment has been described above, the present invention can take an embodiment as, for example, a system, apparatus, method, program, or recording medium, and specifically includes a plurality of devices. The present invention may be applied to a system including a single device.
[0175]
Hereinafter, differences between Patent Document 1 shown in the column of the conventional technology and the software development support device shown in the present embodiment will be described.
[0176]
First, as described above, in the method for managing related information between specifications shown in Patent Document 1, the program function related diagram must be manually changed every time the specification is changed, which is complicated and inefficient. In addition, there is a problem that it is a difficult task unless the entire system is grasped. In addition, the spread relation information is automatically generated from the program function relation diagram, but the result information is only displayed and output, and no consideration is given to cooperation with development maintenance work support such as specification change work and program code generation. Therefore, although the spreading relationship can be grasped, there is a problem that it is necessary to independently perform maintenance work such as specification change work, program code generation, and the like, and it becomes easy to cause omission of correspondence to the specification change.
[0177]
On the other hand, the software development support apparatus shown in the present embodiment generates / displays a reference relationship (cross-reference) between business specifications using the business specifications as an input. It is possible to specify the spillover location within the framework of the business specification (no need to create special data) for the specifications related to the elements, and output the reference business specification file list as the spill related information.
[0178]
In addition, in order to make the transition to the business specification input screen from the displayed cross-reference, it is possible to start the business specification input screen directly from the output related information and change the business specification related to the specification change. it can.
[0179]
Furthermore, seamless maintenance work can be realized in which an application program is automatically generated from the changed business specifications and its operation can be confirmed directly.
[0180]
In this way, (1) the cross-reference can be specified and displayed within the framework of the business specification without the need to prepare special data, and (2) the business specification input screen can be launched directly from the cross-reference and changed, (3) The present embodiment shows that the seamless maintenance work of (1), (2), and (3) can be realized, in which an application program can be automatically generated from a changed business specification and confirmed directly. The software development support apparatus is fundamentally different from the conventional method for associating software development resources as shown in Patent Document 1 (which solves the problems of Patent Document 1).
[0181]
The points described above are matters to be particularly noted in considering the difference between the software development support apparatus shown in the present embodiment and the conventional method for associating software development resources as shown in Patent Document 1 above. Think.
[0182]
The configuration of a data processing program that can be read by the software development support apparatus according to the present invention will be described below with reference to the memory map shown in FIG.
[0183]
FIG. 28 is a diagram for explaining a memory map of a recording medium (storage medium) that stores various data processing programs that can be read by the program generator according to the present invention.
[0184]
Although not specifically shown, information for managing a program group stored in the recording medium, for example, version information, creator, etc. is also stored, and information depending on the OS on the program reading side, for example, a program is identified and displayed. Icons may also be stored.
[0185]
Further, data depending on various programs is also managed in the directory. In addition, when a program or data to be installed is compressed, a program to be decompressed may be stored.
[0186]
3, 11, 12, 23, 24, 25, 26, and 27 in this embodiment may be performed by a host computer by a program installed from the outside. In this case, the present invention is applied even when an information group including a program is supplied to the output device from a recording medium such as a CD-ROM, a flash memory, or an FD, or from an external recording medium via a network. Is.
[0187]
As described above, a recording medium recording software program codes for realizing the functions of the above-described embodiments is supplied to a system or apparatus, and a computer (or CPU or MPU) of the system or apparatus stores the recording medium in the recording medium. It goes without saying that the object of the present invention can also be achieved by reading and executing the programmed program code.
[0188]
In this case, the program code itself read from the recording medium realizes the novel function of the present invention, and the recording medium storing the program code constitutes the present invention.
[0189]
As a recording medium for supplying the program code, for example, a flexible disk, hard disk, optical disk, magneto-optical disk, CD-ROM, CD-R, DVD-ROM, magnetic tape, nonvolatile memory card, ROM, EEPROM, A silicon disk or the like can be used.
[0190]
Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) or the like running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
[0191]
Furthermore, after the program code read from the recording medium is written in a memory provided in a function expansion board inserted in the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the case where the CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.
[0192]
Further, the present invention may be applied to a system composed of a plurality of devices or an apparatus composed of a single device. Needless to say, the present invention can be applied to a case where the present invention is achieved by supplying a program to a system or apparatus. In this case, by reading a recording medium storing a program represented by software for achieving the present invention into the system or apparatus, the system or apparatus can enjoy the effects of the present invention. .
[0193]
Furthermore, by downloading and reading out a program represented by software for achieving the present invention from a server, database, etc. on a network using a communication program, the system or apparatus can enjoy the effects of the present invention. It becomes.
[0194]
【The invention's effect】
As described above, according to the present invention, the reference relationship information indicating the reference relationship between the specification information is generated based on a plurality of pieces of specification information for generating software that is created in advance. Since specific specification information is specified and edited based on the reference relationship information, even if specification changes occur in any of the specification information for generating software, it is easy to spread You can specify and edit other specification information.
[0195]
Therefore, it is possible to automatically search for the relationship between specifications within the framework of business specifications, and to reliably prevent omissions in response to specification changes.
[0196]
In addition, since specification change work can be performed in a series of business specification input work, development maintenance work such as confirmation of spillover relationship to other specification information, specification change, program code generation, operation check should be performed cyclically. It is possible to improve the efficiency of development and maintenance work.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a software development support apparatus according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating an example of the overall configuration of a web application system using a servlet, JSP, and Bean generated by a code generation unit illustrated in FIG. 1;
FIG. 3 is a flowchart showing an example of a first control processing procedure in the software development support apparatus of the present invention.
FIG. 4 is a schematic diagram showing an example of a business specification input screen in the software development support apparatus of the present invention.
FIG. 5 is a schematic diagram showing an example of a business specification input screen in the software development support apparatus of the present invention.
FIG. 6 is a schematic diagram showing an example of a business specification input screen in the software development support apparatus of the present invention.
FIG. 7 is a schematic diagram showing an example of a business specification input screen in the software development support apparatus of the present invention.
FIG. 8 is a schematic diagram showing an example of a business specification input screen in the software development support apparatus of the present invention.
FIG. 9 is a schematic diagram showing an example of a business specification input screen in the software development support apparatus of the present invention.
FIG. 10 is a schematic diagram showing an example of a table configuration showing business specification information in the form of an input / output table in the software development support apparatus of the present invention.
FIG. 11 is a flowchart showing an example of a second control processing procedure in the software development support apparatus of the present invention.
FIG. 12 is a flowchart showing an example of a third control processing procedure in the software development support apparatus of the present invention.
FIG. 13 is a diagram illustrating an example of propagation related information in items generated by the related information generating unit illustrated in FIG. 1;
14 is a diagram illustrating an example of propagation related information in a table generated by the related information generating unit illustrated in FIG. 1;
FIG. 15 is a schematic diagram showing an example of an item reverse reference input / output list (item propagation change list) in the software development support apparatus of the present invention.
FIG. 16 is a schematic diagram showing an example of a table reverse reference input / output list (table propagation change list) in the software development support apparatus of the present invention.
FIG. 17 is a schematic diagram showing an example of a display screen corresponding to a business pattern in the software development support apparatus of the present invention.
FIG. 18 is a schematic diagram showing an example of a display screen corresponding to a business pattern in the software development support apparatus of the present invention.
FIG. 19 is a schematic diagram showing an example of a display screen corresponding to a business pattern in the software development support apparatus of the present invention.
FIG. 20 is a schematic diagram showing an example of a display screen corresponding to a business pattern in the software development support apparatus of the present invention.
FIG. 21 is a schematic diagram showing an example of a display screen corresponding to a business pattern in the software development support apparatus of the present invention.
FIG. 22 is a schematic diagram illustrating business pattern selection information in the software development support apparatus of the present invention.
FIG. 23 is a flowchart illustrating an example of a fourth control processing procedure according to the present invention.
FIG. 24 is a flowchart showing an example of a fifth control processing procedure according to the present invention.
FIG. 25 is a flowchart illustrating an example of a sixth control processing procedure according to the present invention.
FIG. 26 is a flowchart illustrating an example of a seventh control processing procedure according to the present invention.
FIG. 27 is a flowchart illustrating an example of an eighth control processing procedure according to the present invention.
FIG. 28 is a diagram for explaining a memory map of a recording medium (storage medium) that stores various data processing programs that can be read by the program generation device according to the present invention.
[Explanation of symbols]
101 Input device
102 Display device
103 Processing device (CPU, RAM, ROM)
104 External storage device (hard disk)
105 Screen controller
116 Business specification description part
117 Change influence analysis display part
106 Related information generation unit
107 Code generator
108 Overall control unit
109 I / O table
110 Ripple related information
112 JSP code
113 Servlet code
114 Bean code

Claims (12)

ソフトウェアを生成するための複数の仕様情報を記憶可能な記憶手段と、
前記記憶手段に記憶される各仕様情報に基づいて、前記各仕様情報間の参照関係を示す参照関係情報を生成する第1の生成手段と、
前記第1の生成手段により生成される参照関係情報に基づいて特定の仕様情報を指定して編集可能な編集手段と、
を有することを特徴とするソフトウェア開発支援装置。
Storage means capable of storing a plurality of specification information for generating software;
First generation means for generating reference relation information indicating a reference relation between the specification information based on the specification information stored in the storage means;
Editing means for specifying and editing specific specification information based on the reference relation information generated by the first generation means;
A software development support apparatus characterized by comprising:
前記第1の生成手段により生成される参照関係情報に基づく表示を行う表示手段を設けたことを特徴とする請求項1記載のソフトウェア開発支援装置。2. The software development support apparatus according to claim 1, further comprising display means for performing display based on the reference relation information generated by the first generation means. 前記編集手段は、前記表示手段による表示から特定の仕様情報を指定して編集可能なことを特徴とする請求項2記載のソフトウェア開発支援装置。The software development support apparatus according to claim 2, wherein the editing unit is capable of editing by specifying specific specification information from the display by the display unit. 前記表示手段は、前記第1の生成手段により生成された参照関係情報に基づいて、特定の仕様情報に対して参照関係にある仕様情報の一覧を表示することを特徴とする請求項2又は3記載のソフトウェア開発支援装置。4. The display unit displays a list of specification information having a reference relationship with respect to specific specification information based on the reference relationship information generated by the first generation unit. The software development support apparatus described. 前記仕様情報は、複数の項目により定義されるものであり、
前記表示手段は、前記第1の生成手段により生成された参照関係情報に基づいて、特定の項目に対して参照関係にある項目の一覧を表示することを特徴とする請求項2〜4のいずれかに記載のソフトウェア開発支援装置。
The specification information is defined by a plurality of items,
5. The display unit according to claim 2, wherein the display unit displays a list of items having a reference relationship with respect to a specific item based on the reference relationship information generated by the first generation unit. The software development support device according to the above.
前記記憶手段に記憶される各仕様情報に基づいてアプリケーションプログラムを生成する第2の生成手段を設けたことを特徴とする請求項1〜5のいずれかに記載のソフトウェア開発支援装置。6. The software development support apparatus according to claim 1, further comprising second generation means for generating an application program based on each specification information stored in the storage means. 前記第2の生成手段は、前記編集手段により編集された仕様情報に基づいてアプリケーションプログラムを生成可能なことを特徴とする請求項6記載のソフトウェア開発支援装置。7. The software development support apparatus according to claim 6, wherein the second generation unit is capable of generating an application program based on the specification information edited by the editing unit. 前記仕様情報は、複数のデータ項目のデータベースへの配置を示す情報により定義される第1の仕様情報,前記第1の仕様情報内のデータ項目に紐付けられた項目を含む複数の項目により定義される第2の仕様情報を含むものであり、
前記第1の生成手段は、前記第1の仕様情報と前記第2の仕様情報間の参照関係を示す参照関係情報を生成することを特徴とする請求項1〜7のいずれかに記載のソフトウェア開発支援装置。
The specification information is defined by a plurality of items including first specification information defined by information indicating arrangement of a plurality of data items in a database and items associated with the data items in the first specification information. Second specification information to be included,
The software according to claim 1, wherein the first generation unit generates reference relationship information indicating a reference relationship between the first specification information and the second specification information. Development support equipment.
前記第2の生成手段は、前記仕様情報に基づいて、前記第1の仕様情報で定義された各データ項目に対応したデータベースの作成、並びに前記データベースへのアクセスを行うための第1のプログラムの生成,前記第2の仕様情報で定義された各項目の入出力画面を表示するための第2のプログラムの生成、及び前記入出力画面からの入力情報を取得して該入力情報に基づいて前記第1のプログラム及び第2のプログラムの実行を制御するための第3のプログラムの生成をそれぞれ行うことを特徴とする請求項6〜8のいずれかに記載のソフトウェア開発支援装置。The second generation means creates a database corresponding to each data item defined in the first specification information based on the specification information, and executes a first program for accessing the database. Generation, generation of a second program for displaying an input / output screen of each item defined in the second specification information, and acquisition of input information from the input / output screen based on the input information; The software development support apparatus according to claim 6, wherein a third program for controlling execution of the first program and the second program is generated. ソフトウェアを生成するための複数の仕様情報に基づいて、前記各仕様情報間の参照関係を示す参照関係情報を生成する生成工程と、
該生成された参照関係情報に基づく表示を行う表示工程と、
該表示から特定の仕様情報を指定して編集する編集工程と、
を有することを特徴とするソフトウェア開発支援方法。
Based on a plurality of pieces of specification information for generating software, a generation step of generating reference relationship information indicating a reference relationship between the specification information,
A display step of performing display based on the generated reference relationship information;
An editing process for specifying and editing specific specification information from the display,
A software development support method characterized by comprising:
請求項10に記載されたソフトウェア開発支援方法を実行するためのプログラム。A program for executing the software development support method according to claim 10. 請求項10に記載されたソフトウェア開発支援方法を実行するためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。A recording medium storing a computer-readable program for executing the software development support method according to claim 10.
JP2003209760A 2003-08-29 2003-08-29 Support system and method for software development support, program, and recording medium Pending JP2005078119A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003209760A JP2005078119A (en) 2003-08-29 2003-08-29 Support system and method for software development support, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003209760A JP2005078119A (en) 2003-08-29 2003-08-29 Support system and method for software development support, program, and recording medium

Publications (1)

Publication Number Publication Date
JP2005078119A true JP2005078119A (en) 2005-03-24

Family

ID=34402584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003209760A Pending JP2005078119A (en) 2003-08-29 2003-08-29 Support system and method for software development support, program, and recording medium

Country Status (1)

Country Link
JP (1) JP2005078119A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007094883A (en) * 2005-09-29 2007-04-12 Toshiba Solutions Corp Application generation method and device therefor
JP2007102583A (en) * 2005-10-05 2007-04-19 Toshiba Corp Patent information management system, patent information management method, and program
JP2007164503A (en) * 2005-12-14 2007-06-28 Toray Ind Inc System production method, system and program, and data structure of definition information used in system production
JP2008192059A (en) * 2007-02-07 2008-08-21 Nec Corp Inter-requirement link setting support system, method, and program
JP2009104290A (en) * 2007-10-22 2009-05-14 Nippon Telegr & Teleph Corp <Ntt> Software product management system, method, and its program
JP2014106564A (en) * 2012-11-22 2014-06-09 Mitsubishi Electric Corp Software development support device, software development support method, and program

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007094883A (en) * 2005-09-29 2007-04-12 Toshiba Solutions Corp Application generation method and device therefor
JP2007102583A (en) * 2005-10-05 2007-04-19 Toshiba Corp Patent information management system, patent information management method, and program
JP2007164503A (en) * 2005-12-14 2007-06-28 Toray Ind Inc System production method, system and program, and data structure of definition information used in system production
JP2008192059A (en) * 2007-02-07 2008-08-21 Nec Corp Inter-requirement link setting support system, method, and program
JP2009104290A (en) * 2007-10-22 2009-05-14 Nippon Telegr & Teleph Corp <Ntt> Software product management system, method, and its program
JP2014106564A (en) * 2012-11-22 2014-06-09 Mitsubishi Electric Corp Software development support device, software development support method, and program

Similar Documents

Publication Publication Date Title
JP5128673B2 (en) Application development support apparatus, program, and recording medium
JP2005078119A (en) Support system and method for software development support, program, and recording medium
JP2005070831A (en) Program generator, program generating method, program, and recording medium
JP2004318260A (en) Program generating device, program generating method, program, and recording medium
JP6331307B2 (en) Information processing apparatus, information processing apparatus control method, and program
JP2001175648A (en) Document management system
JPH08153104A (en) Hypermedia system and hypermedia document preparing and editing method
JP2005070879A (en) Program generator, program generation method, program, and recording medium
JPH0430230A (en) Equipment data base control system for power system
JP2019153340A (en) Information processing apparatus, control method for information processing apparatus, and program
KR20140115456A (en) A recording media for providing an application developing tool
JP2018116750A (en) Information processing apparatus, control method for information processing apparatus, and program
KR20140114983A (en) A method for providing an application developing tool
KR20140115006A (en) A method for providing an application developing tool and an apparatus using it
JP2007011463A (en) Program-design device
JPH10269068A (en) Software development method for automatically generating graphical document
KR20140098590A (en) A method for providing an application developing tool and an apparatus using it
JP2005100198A (en) Programing device, programing method, program, and recording medium
KR20140114963A (en) A recording media recognized by computer for providing an application developing tool
KR20140098565A (en) A method for providing an application developing tool and an apparatus using it
KR20140114986A (en) A method for providing an application developing tool and an apparatus using it
KR20140114989A (en) A method for providing an application developing tool
KR20140114985A (en) A method for providing an application developing tool
KR20140114976A (en) A method for providing an application developing tool
KR20140114997A (en) A method for providing an application developing tool