(57)【要約】【課題】  プログラム仕様書を作成するプログラム開発者の負担を軽減する。【解決手段】  共通仕様記憶部１０３は、生成するプログラムに共通的なプログラム入力仕様１１２を記憶する。入力装置１０２は、プログラム開発者が作成した部分的なプログラム入力仕様１１１を入力する。仕様解析手段１２１は、入力された部分的なプログラム入力仕様１１１と共通仕様記憶部１０３から読み出した共通的なプログラム入力仕様１１２とから全体的なプログラム入力仕様１１３を生成する。プログラム生成手段１２３は、プログラム入力仕様１１３からターゲットプログラム１１４を生成する。【選択図】  図１
2006276937.tif 000002
【特許請求の範囲】
【請求項１】
プログラム入力仕様からソースプログラムを生成するプログラム生成手段を備えたプログラム開発支援装置において、
生成するプログラムに共通的なプログラム入力仕様を記憶する共通仕様記憶手段と、
部分的なプログラム入力仕様を入力する入力装置と、
前記入力された部分的なプログラム入力仕様をメモリに読み込み、前記共通的なプログラム入力仕様を前記共通仕様記憶手段から読み出し、前記メモリ上に、前記部分的なプログラム入力仕様と前記共通的なプログラム入力仕様とから全体的なプログラム入力仕様を生成する仕様生成手段、および前記仕様生成手段で前記メモリ上に生成されたプログラム入力仕様を読み出してプログラム入力仕様記憶手段に記憶する保存手段とを含む仕様解析手段とを備えたことを特徴とするプログラム開発支援装置。
【請求項２】
プログラム入力仕様からソースプログラムを生成するプログラム生成手段を備えたプログラム開発支援装置において、
生成するプログラムに共通的なプログラム入力仕様とカスタマイズ番号との組み合わせを記憶する共通仕様記憶手段と、
部分的なプログラム入力仕様およびカスタマイズ番号を入力する入力装置と、
前記入力された部分的なプログラム入力仕様をメモリに読み込み、前記入力されたカスタマイズ番号をキーに前記共通仕様記憶手段を検索して共通的なプログラム入力仕様を前記共通仕様記憶手段から読み出し、前記メモリ上に、前記部分的なプログラム入力仕様と前記共通的なプログラム入力仕様とから全体的なプログラム入力仕様を生成する仕様生成手段、および前記仕様生成手段で前記メモリ上に生成されたプログラム入力仕様を読み出してプログラム入力仕様記憶手段に記憶する保存手段とを含む仕様解析手段とを備えたことを特徴とするプログラム開発支援装置。
【請求項３】
前記プログラム入力仕様記憶手段に記憶されたプログラム入力仕様を読み出して解析し、前記メモリ上に前記プログラム入力仕様に対応するプログラム構造図を生成するプログラム構造図作成手段、および前記プログラム構造図作成手段で前記メモリ上に生成されたプログラム構造図を読み出して出力装置に出力する出力手段とを含むプログラム構造解析手段を備えることを特徴とする請求項１または２記載のプログラム開発支援装置。
【請求項４】
生成するプログラムに共通的なプログラム入力仕様を記憶する共通仕様記憶手段および部分的なプログラム入力仕様を入力する入力装置を備えたコンピュータを、
前記入力された部分的なプログラム入力仕様をメモリに読み込み、前記共通的なプログラム入力仕様を前記共通仕様記憶手段から読み出し、前記メモリ上に、前記部分的なプログラム入力仕様と前記共通的なプログラム入力仕様とから全体的なプログラム入力仕様を生成する仕様生成手段、前記仕様生成手段で前記メモリ上に生成されたプログラム入力仕様を読み出してプログラム入力仕様記憶手段に記憶する保存手段、前記プログラム入力仕様記憶手段に記憶されたプログラム入力仕様からソースプログラムを生成するプログラム生成手段、として機能させるためのプログラム。
【請求項５】
プログラム入力仕様からソースプログラムを生成するプログラム生成手段を備えたプログラム開発支援装置において、
生成するプログラムに共通的なプログラム入力仕様とカスタマイズ番号との組み合わせを記憶する共通仕様記憶手段ならびに部分的なプログラム入力仕様およびカスタマイズ番号を入力する入力装置を備えたコンピュータを、
前記入力された部分的なプログラム入力仕様をメモリに読み込み、前記入力されたカスタマイズ番号をキーに前記共通仕様記憶手段を検索して共通的なプログラム入力仕様を前記共通仕様記憶手段から読み出し、前記メモリ上に、前記部分的なプログラム入力仕様と前記共通的なプログラム入力仕様とから全体的なプログラム入力仕様を生成する仕様生成手段、前記仕様生成手段で前記メモリ上に生成されたプログラム入力仕様を読み出してプログラム入力仕様記憶手段に記憶する保存手段、前記プログラム入力仕様記憶手段に記憶されたプログラム入力仕様からソースプログラムを生成するプログラム生成手段、として機能させるためのプログラム。
【請求項６】
前記コンピュータをさらに、前記プログラム入力仕様記憶手段に記憶されたプログラム入力仕様を読み出して解析し、前記メモリ上に前記プログラム入力仕様に対応するプログラム構造図を生成するプログラム構造図作成手段、前記プログラム構造図作成手段で前記メモリ上に生成されたプログラム構造図を読み出して出力装置に出力する出力手段、として機能させるための請求項４または５記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム開発者の作業を支援するプログラム開発支援装置に関する。
【背景技術】
【０００２】
プログラムの開発を支援する従来装置の一例が特許文献１に記載されている。この特許文献１に記載されたソースプログラム生成システムは、表形式のプログラム仕様書からソースプログラムを生成する。具体的には、複数列の条件部と処理部で構成された表形式のプログラム仕様書を読み込む手段と、読み込んだプログラム仕様書に記述された分岐制御用の日本語文を抽出し、その抽出した分岐制御用の日本語文と予め設定されたソース生成規則に基づき、前記分岐制御用の日本語文に対応する分岐構造のソースプログラムを生成する手段とを備えている。入力仕様からプログラムを自動生成する技術は、特許文献１だけでなく他にも多くの文献に記載されている。
【０００３】
プログラムの開発を支援する従来装置の他の例が特許文献２に記載されている。この特許文献２に記載されたプログラム仕様書自動生成支援システムは、ＣＡＤシステムを用いて作成された制御設計仕様書からプログラム仕様書を作成する。具体的には、論理素子を含む論理情報が、前記論理素子を象徴する図形および前記論理素子間の接続関係を表す線分を含む図示情報により制御シーケンスとして表現されている制御設計仕様書のデータを格納する格納手段と、前記制御設計仕様書の制御シーケンスのうちの、ソフトウェアで実現される制御シーケンスの仕様を記載したプログラム仕様書を、前記制御設計仕様書のデータに基づいて生成するにあたり必要となる情報である設計情報の指示を利用者から受け付ける設計情報付加受け付け手段と、この設計情報付加受け付け手段により受け付けられた前記設計情報を、前記制御設計仕様書のデータと関連づけて記憶する記憶手段と、前記制御設計仕様書のデータと前記設計情報とから、前記プログラム仕様書を生成するために必要となる情報を抽出する抽出手段と、この抽出手段により抽出された情報に基づいて、前記プログラム仕様書を生成する生成手段とを備えている。
【０００４】
プログラムの開発を支援する従来装置の更に別の例が特許文献３に記載されている。この特許文献３に記載された原始プログラム解読支援装置は、原始プログラムを解析して得られた情報をプログラム仕様データベースに蓄積する。蓄積される情報としては、プログラム間のデータの受け渡しに関する情報、プログラム間の共通なデータに関する情報、プログラムのアルゴリズムに関する情報、データとプログラムの参照関係に関する情報、プログラムとプログラムの参照関係に関する情報などがある。そして、このようなプログラム仕様データベースに蓄積されたプログラム仕様情報に基づいて、ＳＰＤ記法などを使用して原始プログラムのプログラム構造図を表示する。
【特許文献１】特開２００３−２０８３０７号公報
【特許文献２】特開平１１−１１０２０３号公報
【特許文献３】特開平５−９４２９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
プログラムの開発に関連して従来より上述したような各種の支援装置が提案されているが、特許文献１に見られるように従来のプログラム生成システムでは、生成するプログラムに必要となる全ての仕様を記述したプログラム入力仕様をプログラム開発者が用意する必要がある。この為、生成するプログラム全体についての知識がプログラム開発者に要求され、またプログラム入力仕様を作成するのに多くの工数がかかるという課題がある。特許文献２に記載されるようなプログラム仕様書自動生成支援システムが利用できる種類のプログラムであれば、プログラム開発者の時間的な負担は多少軽減されるが、ＣＡＤデータという特殊なデータが必要であることと半自動的な生成方法であるために、やはりプログラム開発者には生成するプログラム全体の知識が必要になる。
【０００６】
他方、生成されたソースプログラムを解析して得た各種の情報をプログラム仕様データベースに登録し、その登録された情報に基づいてプログラム構造図を作成することは特許文献３に見られるように従来から提案されているが、工程の後戻りを極力無くして開発工数を削減するためには、ソースプログラムを生成する元となったプログラム入力仕様の作成段階で誤りをできるだけ無くしておくことが望まれる。
【０００７】
本発明はこのような事情に鑑みて提案されたものであり、その目的は、プログラム仕様書を作成するプログラム開発者の負担を軽減することのできるプログラム開発支援装置を提供することにある。
【０００８】
本発明の別の目的は、ソースプログラムを生成する元となったプログラム入力仕様の作成段階で誤りをできるだけ少なくすることのできるプログラム開発支援装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の第１のプログラム開発支援装置は、プログラム入力仕様からソースプログラムを生成するプログラム生成手段を備えたプログラム開発支援装置において、生成するプログラムに共通的なプログラム入力仕様を記憶する共通仕様記憶手段と、部分的なプログラム入力仕様を入力する入力装置と、前記入力された部分的なプログラム入力仕様をメモリに読み込み、前記共通的なプログラム入力仕様を前記共通仕様記憶手段から読み出し、前記メモリ上に、前記部分的なプログラム入力仕様と前記共通的なプログラム入力仕様とから全体的なプログラム入力仕様を生成する仕様生成手段、および前記仕様生成手段で前記メモリ上に生成されたプログラム入力仕様を読み出してプログラム入力仕様記憶手段に記憶する保存手段とを含む仕様解析手段とを備えたことを特徴とする。
【００１０】
本発明の第２のプログラム開発支援装置は、プログラム入力仕様からソースプログラムを生成するプログラム生成手段を備えたプログラム開発支援装置において、生成するプログラムに共通的なプログラム入力仕様とカスタマイズ番号との組み合わせを記憶する共通仕様記憶手段と、部分的なプログラム入力仕様およびカスタマイズ番号を入力する入力装置と、前記入力された部分的なプログラム入力仕様をメモリに読み込み、前記入力されたカスタマイズ番号をキーに前記共通仕様記憶手段を検索して共通的なプログラム入力仕様を前記共通仕様記憶手段から読み出し、前記メモリ上に、前記部分的なプログラム入力仕様と前記共通的なプログラム入力仕様とから全体的なプログラム入力仕様を生成する仕様生成手段、および前記仕様生成手段で前記メモリ上に生成されたプログラム入力仕様を読み出してプログラム入力仕様記憶手段に記憶する保存手段とを含む仕様解析手段とを備えたことを特徴とする。
【００１１】
本発明の第３のプログラム開発支援装置は、第１または第２のプログラム開発支援装置において、前記プログラム入力仕様記憶手段に記憶されたプログラム入力仕様を読み出して解析し、前記メモリ上に前記プログラム入力仕様に対応するプログラム構造図を生成するプログラム構造図作成手段、および前記プログラム構造図作成手段で前記メモリ上に生成されたプログラム構造図を読み出して出力装置に出力する出力手段とを含むプログラム構造解析手段を備えることを特徴とする。
【００１２】
『作用』
本発明のプログラム開発支援装置にあっては、生成するプログラムに共通的なプログラム入力仕様が共通仕様記憶手段に事前に記憶されており、プログラム開発者が部分的なプログラム入力仕様を作成して入力すると、仕様生成手段が、入力された部分的なプログラム入力仕様をメモリに読み込み、共通的なプログラム入力仕様を共通仕様記憶手段から読み出し、メモリ上に、前記部分的なプログラム入力仕様に前記共通的なプログラム入力仕様を加えたプログラム入力仕様を生成し、保存手段がこの生成されたプログラム入力仕様をプログラム入力仕様記憶手段に保存する。以下、この保存されたプログラム入力仕様からソースプログラムが生成される。
【発明の効果】
【００１３】
本発明によれば、プログラム仕様書の作成工数を削減でき、プログラム開発者の負担を軽減することができる。その理由は、プログラム開発者は生成するソースプログラムに対応するプログラム入力仕様の一部分である部分的なプログラム入力仕様だけを作成すれば良いためである。
【００１４】
また本発明によれば、入力仕様の指定漏れや指定間違いの可能性を減らすことができる。その理由は、プログラム開発者が生成するのは全体的なプログラム入力仕様の一部分であるためである。
【００１５】
また本発明によれば、生成するプログラム全体についての知識が必ずしもない者でもプログラムの開発が行える。その理由は、プログラム開発者は生成するソースプログラムに対応するプログラム入力仕様の一部分である部分的なプログラム入力仕様だけを作成すれば良いためである。
【００１６】
また本発明によれば、生成されるソースプログラムのプログラム構造の確認が可能であり、またレビューの実施も容易になる。その理由は、プログラム構造解析手段によりプログラム構造図が作成されて出力されるためである。
【発明を実施するための最良の形態】
【００１７】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００１８】
図１を参照すると、本発明の実施の形態にかかるプログラム開発支援装置は、処理装置１０１と、それに接続された入力装置１０２、共通仕様記憶部１０３、プログラム入力仕様記憶部１０４、ソースプログラム記憶部１０５、ワークメモリ１０６、出力装置１０７および記録媒体１０８とで構成される。
【００１９】
入力装置１０２は、キーボードやファイル装置などで構成され、部分的なプログラム入力仕様１１１およびカスタマイズ番号１１７を入力する。部分的なプログラム入力仕様１１１は、生成するプログラムに必要なプログラム入力仕様のうちの一部分の入力仕様を示す。カスタマイズ番号１１７は、部分的なプログラム入力仕様１１１と組み合わせて使用する共通的なプログラム入力仕様を選択するためのものである。プログラム入力仕様全体のうちの予め定められた特定箇所のみを部分的なプログラム入力仕様１１１として受け付け、使用する共通的なプログラム入力仕様が唯一の場合、カスタマイズ番号１１７の入力は省略される。
【００２０】
共通仕様記憶部１０３は、磁気ディスクなどで構成され、生成するプログラムに共通的なプログラム入力仕様１１２を記憶する。プログラム入力仕様１１２にはカスタマイズ番号が付加されており、カスタマイズ番号をキーにした検索により所望のカスタマイズ番号を持つ共通的なプログラム入力仕様１１２を共通仕様記憶部１０３から取り出すことができる。なお、前述したようにプログラム入力仕様全体のうちの予め定められた特定箇所のみを部分的なプログラム入力仕様１１１として受け付ける場合、この部分的なプログラム入力仕様１１１に対応する共通的なプログラム入力仕様１１２だけが共通仕様記憶部１０３に記憶されており、カスタマイズ番号は付加されていない。
【００２１】
プログラム入力仕様記憶部１０４は、磁気ディスクなどで構成され、部分的なプログラム入力仕様１１１と共通的なプログラム入力仕様１１２とから生成された全体的なプログラム入力仕様１１３を記憶する。
【００２２】
ソースプログラム記憶部１０５は、磁気ディスクなどで構成され、プログラム入力仕様１１３に基づいて生成されたソースプログラムであるターゲットプログラム１１４を記憶する。
【００２３】
出力装置１０７は、液晶ディスプレイなどで構成され、プログラム入力仕様１１３に基づいて生成されたプログラム構造図を出力するために使用される。
【００２４】
ワークメモリ１０６は、コンピュータの主記憶などで構成され、処理装置１０１が部分的なプログラム入力仕様１１１からプログラム入力仕様１１３を生成する際の作業領域、プログラム入力仕様１１３からプログラム構造図を作成する際の作業領域などとして使用される。
【００２５】
処理装置１０１は、仕様解析手段１２１、プログラム構造解析手段１２２およびプログラム生成手段１２３を備える。
【００２６】
仕様解析手段１２１は、入力装置１０２から部分的なプログラム入力仕様１１１およびカスタマイズ番号１１７を入力し、共通仕様記憶部１０３からカスタマイズ番号１１７に対応する共通的なプログラム入力仕様１１２を入力し、この入力した共通的なプログラム入力仕様１１２と前記入力した部分的なプログラム入力仕様１１１とからプログラム入力仕様の全体を組み立てて、プログラム入力仕様記憶部１０４にプログラム入力仕様１１３として保存する。この仕様解析手段１２１は、入力装置１０２により入力された部分的なプログラム入力仕様１１１をワークメモリ１０６に読み込み、部分的なプログラム入力仕様１１１で明示的に指定されない共通的なプログラム入力仕様１１２をカスタマイズ番号１１７をキーに共通仕様記憶部１０３から検索して読み出し、ワークメモリ１０６上に、部分的なプログラム入力仕様１１１に共通的なプログラム入力仕様１１２を加えたプログラム入力仕様１１５を生成する仕様生成部１３１と、仕様生成部１３１でワークメモリ１０６上に生成されたプログラム入力仕様１１５を読み出し、プログラム入力仕様１１３としてプログラム入力仕様記憶部１０４に保存する保存部１３２とで構成される。
【００２７】
プログラム構造解析手段１２２は、プログラム入力仕様記憶部１０４からプログラム入力仕様１１３を入力し、そのプログラム構造図を作成して出力装置１０７に出力する。このプログラム構造解析手段１２２は、プログラム入力仕様記憶部１０４に記憶されたプログラム入力仕様１１３を読み出して解析し、ワークメモリ１０６上にプログラム入力仕様１１３に対応するプログラム構造図１１６を生成するプログラム構造図作成部１４１と、プログラム構造図作成部１４１でワークメモリ１０６上に生成されたプログラム構造図１１６を読み出して出力装置１０７に出力する出力部１４２とで構成される。
【００２８】
プログラム生成手段１２３は、プログラム入力仕様記憶部１０４からプログラム入力仕様１１３を読み出し、この読み出したプログラム入力仕様１１３からソースプログラムを生成し、ターゲットプログラム１１４としてソースプログラム記憶部１０５に保存する。
【００２９】
上述のような構成を有するプログラム開発支援装置は、パーソナルコンピュータやワークステーション等のコンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクなどのコンピュータ可読記録媒体１０８に記録されて提供され、処理装置１０１を構成するコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータ上に仕様解析手段１２１、プログラム構造解析手段１２２およびプログラム生成手段１２３を実現する。また、コンピュータに備わる磁気ディスクなどの外部記憶装置や主記憶装置によって、共通仕様記憶部１０３、プログラム入力仕様記憶部１０４、ソースプログラム記憶部１０５およびワークメモリ１０６が実現される。
【００３０】
次に、図１のブロック図および図２のフローチャートを参照して、本実施の形態の動作を説明する。
【００３１】
プログラム開発者は、概要設計書を参照して、開発するプログラムの仕様に応じて、カスタマイズポイントに応じた部分的なプログラム入力仕様１１１を作成し、カスタマイズ番号１１７と共に入力装置１０２から入力する。処理装置１０１の仕様解析手段１２１における仕様生成部１３１は、まず、入力装置１０２を通じて部分的なプログラム入力仕様１１１およびカスタマイズ番号１１７を入力してワークメモリ１０６に記憶する（ステップＳ２０１）。次に、仕様生成部１３１は、ワークメモリ１０６に記憶したカスタマイズ番号をキーに共通仕様記憶部１０３を検索して共通的なプログラム入力仕様１１２を取得し、ワークメモリ１０６に記憶する（ステップＳ２０２）。次に、仕様生成部１３１は、ワークメモリ１０６上の部分的なプログラム入力仕様１１１と共通的なプログラム入力仕様１１２とに基づいて全体的なプログラム入力仕様１１５をワークメモリ１０６上に生成し、次いで保存部１３２はワークメモリ１０６上のプログラム入力仕様１１５を読み出し、プログラム入力仕様１１３としてプログラム入力仕様記憶部１０４に保存する（ステップＳ２０３）。
【００３２】
次に、プログラム構造解析手段１２２のプログラム構造図作成部１４１は、プログラム入力仕様記憶部１０４からプログラム入力仕様１１３を読み出して解析し、このプログラム入力仕様１１３から生成されるプログラムの構造を示すプログラム構造図１１６をワークメモリ１０６上に生成し、次いで出力部１４２はワークメモリ１０６上のプログラム構造図１１６を読み出し、出力装置１０７に出力する（ステップＳ２０４）。プログラム入力仕様１１３からプログラム構造図１１６を作成する方法としては、例えば、プログラム入力仕様１１３の解析結果からプログラム構造図１１６を生成する方法、プログラム生成手段１２３と同様の方法でプログラム入力仕様１１３からソースプログラムを一旦作成し、例えば特開平６−７５７６２号公報や特開２０００−５６９５７号公報などに記載される技術を用いて前記作成したソースプログラムからフローチャートなどのプログラム構造図を作成する方法などを利用することができる。
【００３３】
プログラム開発者は、概要設計書、部分的なプログラム入力仕様１１１および出力装置１０７により出力されたプログラム構造図を比較して、概要設計書に基づいて正しく入力仕様１１１を作成できているかを確認する。また、確認実施後、プログラム開発者（あるいはそれに準ずる要員）によるレビューを実施する。レビューは、出力装置１０７により出力されたプログラム構造図１１６を用いて実施する。このレビューにより問題点などが明らかになった場合には（ステップＳ２０５でＮＯ）、入力仕様を作成する段階に戻り、再度ステップＳ２０１からの処理を繰り返す。他方、レビューにより次の工程に進みうる状態にあることが確認されると（ステップＳ２０５でＹＥＳ）、プログラム生成手段１２３によりプログラム入力仕様１１３からターゲットプログラム１１４が生成される（ステップＳ２０６）。プログラム入力仕様１１３からソースプログラムを生成する方法は特許文献１などにおいて従来より各種提案ないし実用化されているので、それらの任意の方法を使用することができる。
【００３４】
次に本実施の形態によれば、以下のような効果が得られる。
【００３５】
プログラム開発者は生成するターゲットプログラム１１４に対応するプログラム入力仕様１１３の一部分であるプログラム入力仕様１１１だけを作成すれば良いため、プログラム仕様書の作成工数を削減でき、負担が軽減する。また、プログラム開発者自身による作成工数が減る分、入力仕様の指定漏れや指定間違いの可能性を減らすことができ、さらに、生成するプログラム全体についての知識が必ずしもない者でもプログラムの開発が行える。
【００３６】
プログラム構造解析手段１２２により作成されて出力装置１０７から出力されるプログラム構造図により、生成されるターゲットプログラム１１４のプログラム構造の確認とレビューを実施でき、若し問題箇所があれば入力仕様を再作成することにより、プログラム入力仕様１１３の作成段階で誤りをできるだけ少なくすることができ、効率的なプログラム開発が可能になる。
【００３７】
次に、仕様解析手段１２１およびプログラム構造解析手段１２２を中心に本実施の形態の実施例について図面を参照して詳細に説明する。
【実施例１】
【００３８】
本実施例では、画面上から入力された検索条件を元にデータベースから一覧形式のデータを検索して表示する、クライアント／サーバ型オンラインシステムのアプリケーションプログラムを例として具体的に説明する。
【００３９】
このオンラインシステムの画面イメージを図３に示す。図３において、検索条件に一覧検索における条件を入力し、Enterキーを押下することで、入力した検索条件に対応する一覧形式のデータを検索し、一覧表形式で画面上に表示させる。
【００４０】
このオンラインアプリケーションを生成するためにプログラム開発者が作成した部分的なプログラム入力仕様１１１を図４に示す。図４に示すように、入力仕様１１１は、例えばXMLファイルのような階層構造を持つ。図４において、PR層モデル（プログラム上の変数）４０１は画面上のデータ項目をすべて保持しており、その配下に入出力(I/O)４０２やデータ型(TYPE)４０３のような、各PR層モデルの特性を示すプロパティを持つ。サーバ処理４１１は、Enterキー押下をトリガとして、検索処理を実行する処理に関するプロパティを保持する。サーバ処理４１１配下には、そのサーバ処理を一意に示すプログラムID(PROGRAMID)４１２を設定し、その配下に検索処理実行前に実施する処理チェック４２１に対するポインタとなるチェックID(CHECKID)４１３、検索処理を実行するDBアクセス４３１に対するポインタDBアクセスID(DBACCESSID)４１４を指定する。
【００４１】
チェック４２１は、指定したPR層モデルの値を指定した方法でチェックするよう指定する。図４においては、検索条件に対して、下限1、上限10000の範囲チェックを実施するよう指定されている。DBアクセス４３１はデータベースから一覧形式のデータを取得する際のSQL文の情報を保持するノードとなる。DBアクセス４３１配下には、SQL文のタイプ(SELECT)４３２と検索時のインターフェース(結線)４３３、レコードを絞り込む検索条件(WHERE句)４３４を指定する。
【００４２】
仕様解析手段１２１は、入力仕様１１１の保持する情報をワークメモリ１０６上に展開し、ガイドラインや実装方式設計書、システムアーキテクチャに依存して事前に決定されて共通仕様記憶部１０３に記憶されている共通的なプログラム入力仕様１１２を読み出し、プログラム入力仕様１１５をワークメモリ１０６上で組み立て、プログラム入力仕様１１３としてプログラム入力仕様記憶部１０４に出力する。
【００４３】
図４で示した入力仕様１１１を入力として仕様解析手段１２１が出力するプログラム入力仕様１１３を図５に示す。図５において、左半分がサーバ側の入力仕様、右半分がクライアント側の入力仕様を示す。なお、図５には追加生成された入力仕様を主に表示してあり、図４の入力仕様１１１と同じ部分は図が煩雑になるため省略している。また、仕様解析手段１２１が図４に示した入力仕様１１１を入力として、図５に示したプログラム入力仕様１１３を出力する際の処理フローを図６に示す。
【００４４】
まず仕様解析手段１２１は、入力仕様１１１で指定されたプロパティを全体的なプログラム入力仕様にそのまま移行する（ステップＳ６０１）。
【００４５】
次に、入力仕様１１１では明示的に指定しないプログラム仕様を共通的なプログラム入力仕様１１２に基づいて組み立てる。まず、サーバ処理４１１実行時に、その処理に従い実行されるクライアント処理４４１のノードを作成し、その配下にサーバ処理と同一のプログラムIDを持つノードを作成する。また、結線４３３でDBアクセス時の入力として指定されている「検索条件」を上り電文として送信する項目に、DBアクセス時の出力として指定されている「キー」(図４では省略しているが、「値１」「値２」についても同様)を下り電文として受信する項目と判断し、サーバ処理４１１、クライアント処理４４１配下にノードを追加する（ステップＳ６０２）。
【００４６】
次に、ガイドライン・実装方式に従うノードを共通的なプログラム入力仕様１１２に基づいて生成する。サーバプログラム「A001」実行時の入力値チェックで入力値エラーと判断された場合、共通的なプログラム入力仕様１１２に従い、エンドユーザにその旨を伝えるメッセージ文を表示し、入力項目をハイライト表示する。その処理を、サーバ処理実行後の後処理４４２としてクライアント処理４４１に作成する。またサーバ処理結果を返却するシステムPR層モデルとして「結果」をPR層モデル００１配下に作成する。また、下り電文として受信する項目として、サーバ処理４１１、クライアント処理４４１配下にノードを作成する（ステップＳ６０３）。
【００４７】
最後に、ワークメモリ１０６からプログラム入力仕様記憶部１０４上にプログラム入力仕様１１３を出力する（ステップＳ６０４）。
【００４８】
図５に示したプログラム入力仕様１１３を入力として、プログラム構造解析手段１２２が作成したプログラム構造図の一例を図７に示す。また、図８〜図１１に図７のプログラム構造図の生成過程を示す。以下、図７のプログラム構造図を例にプログラム構造解析手段１２２の処理について説明する。
【００４９】
まずプログラム構造解析手段１２２は、プログラム入力仕様１１３を解析し、上り／下りの電文で送信される項目（PR層モデル）の判断処理から実行する。図５を参照すると、クライアント処理４４１からツリー構造を辿り、上り電文として「検索条件」が指定されていることを、また、下り電文として「キー」「値１」「値２」「結果」が指定されていることを判断する。ここまでの処理結果で決定されるプログラム構造図１１６の状態イメージが図８である。図８を参照すると、上り電文として検索条件が指定されているため、電文送信処理８０１に紐付く項目として「検索条件」が設定される。また電文受信処理８０２に紐付く項目として「キー」「値１」「値２」「結果」が設定される。
【００５０】
次に、クライアント処理４４１からツリー構造をさらに辿り、クライアントの後処理４４２として、チェックエラー時の「メッセージ文表示」「項目(検索条件)のハイライト」が指定されていることを判断する。ここまでの処理結果で決定されるプログラム構造図１１６の状態イメージが図９である。図９を参照すると、後処理４４２として、チェックエラー発生時の処理が指定されているため、サーバ処理実行結果を確認する処理「実行結果確認８０３」が設定される。その処理の中で「結果８０４」を参照し、OKであればそのまま終了、NGであればメッセージ文を表示(８０５)し、項目「検索条件」をハイライト(８０６)する処理が設定される。
【００５１】
次に、サーバ処理４１１からツリー構造を辿り、上り電文として「検索条件」が指定されていることを、また、下り電文として「キー」「値１」「値２」「結果」が指定されていることを判断する。ここまでの処理結果で決定されるプログラム構造図１１６の状態イメージが図１０である。図１０を参照すると、上り電文として検索条件が指定されているため、電文受信処理８１１に紐付く項目として「検索条件」が設定される。また電文送信処理８１２に紐付く項目として「キー」「値１」「値２」「結果」が設定される。
【００５２】
次に、サーバ処理４１１からツリー構造をさらに辿り、サーバ処理４１１として、入力値チェックとDBアクセスが設定されていることを判断する。入力値チェックは、図４を参照すると、チェック４２１に「検索条件」に対する下限1、上限10000の範囲チェックであると指定されている。また、DBアクセスは図４を参照すると、DBアクセス４３１に、検索条件とテーブルのカラムKEYが等しいレコードを対象とするSELECT文であると指定されている。更に、PR層モデル「検索条件」はINPUT項目、「キー」「値１」「値２」はOUTPUT項目と指定されていると判断する。ここで、図５のチェック４２１、DBアクセス４３１は図４のそれと同等であり、図５上では省略されているため、図４を参照した。
【００５３】
ここまでの処理結果で決定されるプログラム構造図１１６が図１１である。図１１を参照すると、「電文受信処理」実行後、入力値チェック８１３を実施し、その結果８１４がNGであれば「電文送信処理」を実行、OKであれば、DBアクセス８１５を実行するよう設定される。また、入力値チェック８１３については、「検索条件」に対する範囲指定が、DBアクセスについては「検索条件」をINPUT、「キー」「値１」「値２」をOUTPUT、検索時の条件を「検索条件＝KEY」とした検索処理(SELECT)が設定される。
【実施例２】
【００５４】
本実施例では、特許文献１と同様に表形式のプログラム仕様書からソースプログラムを生成する例を取り上げる。
【００５５】
図１２に部分的なプログラム入力仕様１１１の別の例を示す。この例のプログラム入力仕様１１１では、データＡが数値の場合の処理のみ指定してあり、データＡが数値以外の処理の指定は含まれていない。
【００５６】
図１３に共通的なプログラム入力仕様１１２の例を示す。この例では、カスタマイズ番号１と２の２つの共通的なプログラム入力仕様１１２−１、１１２−２があり、何れもデータＡが数値以外の場合の処理のみ指定してあるが、その内容は互いに相違している。
【００５７】
仕様解析手段１２１は、図１２の部分的なプログラム入力仕様１１１とカスタマイズ番号１とが入力装置１０２を通じて入力されると、カスタマイズ番号１をキーに共通仕様記憶部１０３を検索して、図１３の共通的なプログラム入力仕様１１２−１を取得し、この取得した共通的なプログラム入力仕様１１２−１と前記入力した部分的なプログラム入力仕様１１１とから、図１４に示すようなプログラム入力仕様１１３を作成する。
【００５８】
プログラム構造解析手段１２２は、図１４のプログラム入力仕様１１３を入力し、このプログラム入力仕様１１３から生成されるソースプログラムのプログラム構造図１１６として、例えば図１５に示されるようなフローチャート図を作成し、出力装置１０７に出力する。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施の形態にかかるプログラム開発支援装置のブロック図である。
【図２】本発明の実施の形態にかかるプログラム開発支援装置の処理例を示すフローチャートである。
【図３】オンラインシステムの画面イメージを示す図である。
【図４】オンラインアプリケーションを生成するためにプログラム開発者が作成した部分的なプログラム入力仕様を示す図である。
【図５】仕様解析手段が出力するプログラム入力仕様の例を示す図である。
【図６】仕様解析手段の処理例を示すフローチャートである。
【図７】プログラム構造解析手段が作成したプログラム構造図の一例を示す図である。
【図８】プログラム構造図の生成過程を示す図である。
【図９】プログラム構造図の生成過程を示す図である。
【図１０】プログラム構造図の生成過程を示す図である。
【図１１】プログラム構造図の生成過程を示す図である。
【図１２】部分的なプログラム入力仕様の別の例を示す図である。
【図１３】共通的なプログラム入力仕様の例を示す図である。
【図１４】仕様解析手段が出力するプログラム入力仕様の別の例を示す図である。
【図１５】プログラム構造解析手段が作成したプログラム構造図の別の例を示す図である。
【符号の説明】
【００６０】
１０１…処理装置
１０２…入力装置
１０３…共通仕様記憶部
１０４…プログラム入力仕様記憶部
１０５…ソースプログラム記憶部
１０６…ワークメモリ
１０７…出力装置
１０８…記録媒体
１１１…部分的なプログラム入力仕様
１１２…共通的なプログラム入力仕様
１１３…プログラム入力仕様
１１４…ターゲットプログラム
１１５…プログラム入力仕様
１１６…プログラム構造図
１１７…カスタマイズ番号
１２１…仕様解析手段
１２２…プログラム構造解析手段
１２３…プログラム生成手段
１３１…仕様生成部
１３２…保存部
１４１…プログラム構造図作成部
１４２…出力部
【図１】
2006276937.tif 000003
【図２】
2006276937.tif 000004
【図３】
2006276937.tif 000005
【図４】
2006276937.tif 000006
【図５】
2006276937.tif 000007
【図６】
2006276937.tif 000008
【図７】
2006276937.tif 000009
【図８】
2006276937.tif 000010
【図９】
2006276937.tif 000011
【図１０】
2006276937.tif 000012
【図１１】
2006276937.tif 000013
【図１２】
2006276937.tif 000014
【図１３】
2006276937.tif 000015
【図１４】
2006276937.tif 000016
【図１５】
2006276937.tif 000017