(57)【特許請求の範囲】
【請求項１】
記憶部と処理部と計算機端末とを備えた要求仕様視覚化システムにおける要求仕様の視覚化方法であって、
前記処理部が、開発対象を構成する要素を前記計算機端末の画面上に配置し、該配置した構成要素を前記計算機端末の画面上に表示するステップと、
前記計算機端末が、前記配置し計算機端末の画面上に表示した各構成要素における名称、該構成要素が保持するデータ名称および手続き名称の入力を受け付け、該入力された各名称を上記計算機端末の画面上に表示した構成要素内に表示するステップと、
前記処理部が、構成要素の手続き毎に、手続きが含まれる構成要素間の手続きの起動連鎖、または構成要素内の手続きの起動連鎖を、構成要素が保持する手続きの一覧を前記画面上にメニュー表示し、前記計算機端末が、該メニューから選択する操作を繰り返し受け付けることによって前記構成要素が保持する手続きの起動連鎖の入力を受付け、入力された手続き起動連鎖を計算機端末の画面上に表示した構成要素間の矢線で表示するステップと、
前記処理部が、上記入力された構成要素名称、データ名称、手続き名称を記録した構成要素情報と上記手続き起動連鎖を記録した手続き起動連鎖情報と
該構成要素情報および起動連鎖情報に対する名称と固有番号とを保持するシナリオ情報を前記記憶部に格納するステップを備えたことを特徴とする要求仕様の視覚化方法。
【請求項２】
記憶部と処理部と計算機端末とを備えた要求仕様視覚化システムにおける要求仕様の視覚化方法であって、
前記処理部が、開発対象を構成する要素を計算機端末の画面上に配置し、該配置した構成要素を前記計算機端末の画面上に表示するステップと、
前記計算機端末が、配置し計算機端末の画面上に表示した各構成要素における名称、該構成要素が保持するデータ名称および手続き名称の入力を受け付け、前記処理部が、該入力された各名称を上記計算機端末の画面上に表示した構成要素内に表示するステップと、
前記処理部が、構成要素の手続き毎に、手続きが含まれる構成要素間の手続きの起動連鎖、または構成要素内の手続きの起動連鎖を、構成要素が保持する手続きの一覧を前記画面上にメニュー表示し、前記計算機端末が、該メニューから選択する操作を繰り返し受け付けることによって構成要素が保持する手続きの起動連鎖の入力を受け付け、入力された手続き起動連鎖を計算機端末の画面上に表示した構成要素間の矢線で表示するステップと、
前記処理部が、上記入力された構成要素名称、データ名称、手続き名称を記録した構成要素情報と上記手続き起動連鎖を記録した手続き起動連鎖情報と
前記処理部が、該構成要素情報および起動連鎖情報に対する名称と固有番号とを保持するシナリオ情報を前記記憶部に格納するステップと、
該記憶部に格納した手続き起動連鎖情報に従い、構成要素が保持する手続きの起動連鎖を計算機端末の画面上の構成要素間の矢線で順次表示するステップを備えたことを特徴とする要求仕様の視覚化方法。
【請求項３】
請求項１の要求仕様の視覚化方法の構成要素が保持する手続き起動連鎖の入力を受け付けて表示するステップにおいて、
前記計算機端末が、メニューで一覧表示された手続き名称以外の手続き名称の入力を受け付けることによって手続き起動連鎖の入力を受け付け、
該入力された手続き名称を計算機端末の画面上の構成要素内に表示し、
該入力された手続き起動連鎖を計算機端末の画面上に表示した構成要素間の矢線で表示し、
前記構成要素情報を格納するステップにおいて、
前記処理部が、上記入力された、前記一覧表示された手続き名称以外の手続き名称を構成要素情報として前記記憶部に格納し、
前記手続き起動連鎖情報を格納するステップにおいて、
前記処理部が、上記入力した、前記一覧表示された手続き名称以外の手続きを含んだ手続き起動連鎖情報を前記記憶部に格納することを特徴とする要求仕様の視覚化方法。
【請求項４】
請求項１の要求仕様の視覚化方法の構成要素が保持する手続き起動連鎖の入力を受け付けて表示するステップにおいて、
前記計算機端末が、構成要素入力を受け付けることに応じて、前記処理部が該構成要素が保持する手続き名称以外の手続き名称を生成することによって手続き起動連鎖の入力を受け付け、
前記処理部が、該生成した手続き名称を計算機端末の画面上の構成要素内に表示し、
前記処理部が、該指定した手続き起動連鎖を計算機端末の画面上に表示した構成要素間の矢線で表示し、
前記構成要素情報を前記記憶部に格納するステップにおいて、
前記処理部が、上記生成した手続き名称を構成要素情報として前記記憶部に格納し、
前記手続き起動連鎖情報を前記記憶部に格納するステップにおいて、
前記処理部が、上記生成した手続きを含んだ手続き起動連鎖情報を前記記憶部に格納することを特徴とする要求仕様の視覚化方法。
【請求項５】
請求項１の要求仕様の視覚化方法における、構成要素が保持する手続き起動連鎖の入力を受け付け表示するステップにおいて、
前記計算機端末が、ある手続き起動連鎖に対し、手続きが起動する条件文の入力を受け付け、
前記処理部が、該入力された起動条件文を計算機端末の画面上に表示し、
前記手続き起動連鎖情報を記憶部に格納するステップにおいて、
前記処理部が、上記入力された起動条件文を該手続き起動連鎖情報の起動条件情報として前記記憶部に格納することを特徴とする要求仕様の視覚化方法。
【請求項６】
請求項１の要求仕様の視覚化方法の構成要素が保持する手続き起動連鎖の入力を受け付けて表示するステップにおいて、
前記計算機端末が、ある手続き起動連鎖に対し、該手続きを保持する構成要素が保持するデ−タ名称、または他の構成要素が保持するデ−タ名称の入力を一つまたは複数受け付け、
前記計算機端末が、該入力されたデータ名称の値として手続きが起動するための条件値の入力を受け付け、
前記処理部が、該入力された手続きが起動するための条件値を計算機端末の画面上に表示されている該指定したデ−タ名称を保持する構成要素内に表示し、
手続き起動連鎖情報の生成のステップにおいて、
前記処理部が、上記入力されたデ−タ名称および該データ名称に対応して入力された手続きが起動するための条件値を該手続き起動連鎖情報の起動条件情報として前記記憶部に格納することを特徴とする要求仕様の視覚化方法。
【請求項７】
記憶部と処理部と計算機端末とを備えた要求仕様視覚化システムにおける要求仕様の視覚化方法であって、
前記処理部が、開発対象を構成する要素を前記計算機端末の画面上に配置するステップと、
前記計算機端末が、配置した各構成要素に名称、該構成要素が保持するデータ名称および手続き名称の入力を受け付けるステップと、
前記処理部が、構成要素の手続き毎に、手続きが含まれる構成要素間の手続きの起動連鎖、または構成要素内の手続きの起動連鎖を、構成要素が保持する手続きの一覧を前記計算機端末の画面上にメニュー表示し、前記計算機端末が、該メニューから選択する操作を繰り返し受け付けることによって構成要素が保持する手続きの起動連鎖の入力を受け付けるステップと、
前記処理部が、上記入力された構成要素名称、データ名称、手続き名称を記録した構成要素情報と上記手続き起動連鎖を記録した手続き起動連鎖情報と
該構成要素情報および起動連鎖情報に対する名称と固有番号とを保持するシナリオ情報とを前記記憶部に格納するステップと、
前記処理部が、上記ステップの繰返しによりシナリオ情報群を生成するステップと、
上記ステップで生成したシナリオ情報群のいくつかの入力を受け付けるステップと、
前記処理部が、上記生成したシナリオ情報群が保持する各構成要素情報より同じ構成要素名称毎に該構成要素が保持するデータ名称、手続き名称を統合し、全体の構成要素情報を生成し、全体の構成要素情報に対する構成要素プログラムを生成するステップと、
前記処理部が、上記指定したシナリオ情報群の手続き起動連鎖情報より全体の手続き起動連鎖情報を生成し、該全体の手続き起動連鎖情報に対する手続き起動連鎖プログラムを生成するステップと、
前記処理部が、上記手続き起動連鎖の動作を上記要求仕様の入力方法で配置した構成要素間を手続き名称が移動するアニメーションで表示する連鎖動作アニメーションプログラムを生成するステップと、
前記処理部が、上記生成した手続き起動連鎖の連鎖動作アニメーションプログラムを実行し、計算機端末上の画面上に表示するステップを備えたことを特徴とした要求仕様の視覚化方法。
【請求項８】
記憶部と処理部と計算機端末とを備えた要求仕様視覚化システムにおける要求仕様の視覚化方法であって、
前記処理部が開発対象を構成する要素を計算機端末の画面上に配置するステップ、
前記計算機端末が、前記配置した各構成要素に名称、該構成要素が保持するデータ名称および手続き名称の入力を受け付けるステップ、
前記処理部が、構成要素の手続き毎に、手続きが含まれる構成要素間の手続きの起動連鎖、または構成要素内の手続きの起動連鎖を、構成要素が保持する手続きの一覧を前記計算機端末の画面上にメニュー表示し、前記計算機端末が、該メニューから選択する操作の入力を繰り返し受け付けることによって構成要素が保持する手続きの起動連鎖の入力を受け付けるステップ、並びに
前記処理部が、上記入力された構成要素名称、データ名称、手続き名称を記録した構成要素情報と上記手続き起動連鎖を記録した手続き起動連鎖情報と
該構成要素情報および起動連鎖情報に対する名称と固有番号とを保持するシナリオ情報とを生成するステップ
の繰り返しで要求仕様の入力を受け付ける過程の構成要素の手続き起動連鎖を指定するステップにおいて、
前記計算機端末が、ある要求仕様の第一のシナリオ情報のうちある構成要素名称およびある手続き名称が、別の要求仕様の第二のシナリオ情報のうちの構成要素名称および手続き名称と同一名称であるとき、該第二のシナリオ情報の該構成要素および手続きが該第一のシナリオ情報の該構成要素および手続きと同一であることの入力を受け付け、
前記処理部が、該同一であることが入力された各シナリオ情報のシナリオ固有番号から各シナリオ情報内に共通化情報を生成するステップと、
前記処理部が、該同一であることを指定された手続きに継続して起動する手続きを各要求仕様毎に別々に定義し対応する別々のシナリオ情報を生成したステップの後で、
前記処理部が、上記生成したシナリオ情報の共通化情報より全体の共通化情報として前記記憶部に格納するステップと、
前記処理部が、上記繰返しで生成した要求仕様群の共通化情報から全体の視覚化要求仕様間の関連情報をシナリオ関連情報として前記記憶部に格納するステップと、
前記処理部が、上記全体の要求仕様群全ての要求仕様を表現する図形と、該シナリオ関連情報から関連ある要求仕様間に結線を前記計算機端末の画面上に表示することで全体シナリオ関連情報を表示するステップを備えたことを特徴とした要求仕様の視覚化方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、計算機を用いた開発対象アプリケーション開発における要求仕様の獲得に関し、特に要求仕様を可視化し定義獲得する方法、および、視覚的に表示する方法に関する。獲得とは、視覚化した要求仕様に対して対話的に様々な修正・変更を加え、最終的に完成された要求仕様を確定することをいう。
【０００２】
【従来の技術】
計算機をはじめとする電子装置の開発ではソフトウェアによる支援が必須である。特に、新機種、新方式の検討段階では、様々な装置構成のスケッチをモデルとして入力し、シミュレーションを行い、結果を評価し、これを繰り返して設計の方針を吟味していくことが重要である。また、設計方針を関係者に正確かつわかりやすく伝達することが重要である。
【０００３】
同様に、ソフトウェア応用システムの開発においても、要求仕様等の設計段階で対話的に要求仕様を作成し、顧客等に視覚的に理解しやすい形で提示することが、重要な業務となってきている。
【０００４】
一方、システム開発における要求仕様の作成は顧客とシステムエンジニアと、顧客から要求仕様を獲得しシステムの仕様を確定する人との間で要求の聴取が行われ、それをもとにシステムエンジニアが最終的に要求仕様書を作成し、顧客に評価してもらい、変更がなくなり顧客の要求に合った仕様書ができるまで、この工程が繰り返される。顧客とシステムエンジニアが確定した要求仕様書を元にシステム開発者はシステムを実現する。実現したシステムと顧客の要求とに違いが生じた場合には、再度要求仕様書を作成し直し、システムも実現し直している。
【０００５】
例えば、「情報処理学会、オブジェクト指向ソフトウェア技術シンポジウム論文集pp.1-11(1991)、ODETTE：オブジェクト指向CLOSをベースとした設計支援構築環境」に述べられた方法においては、まず、設計対象となる部品をプログラミング言語のプログラムで定義し、部品が保持する手続きの実体についてもプログラムを記述することで設定する。次に、部品の表示図形情報の設定をまずオペレータによりマウス等で任意に作図し、先にプログラムし定義した部品情報と対応付けをする。次に、プログラムでアニメーションプログラムを定義し、部品情報、および表示図形情報に設定する。アニメーションプログラムの設定では、まずアニメーション起動のための手続きを上記の部品情報に設定する。そして、アニメーションのための手続きを上記の表示図形情報を用いて定義し、上記の表示図形情報に設定する。次に、オペレータにより部品情報を対話操作で計算機のメモリ上に生成する。生成し終わったら、部品情報の手続きを実行することでシミュレーションを実行する。そのシミュレーションの結果は、アニメーションプログラムを実行して表示する。アニメーションプログラムの実行というのは、具体的には、以下のように行われる。
【０００６】
まず、アニメーション起動手続きが実行され、アニメーション手続きが起動され実行される。アニメーション手続きの実行により、表示図形情報が更新される。これにより、新しい表示図形情報に合うように図形が変形されアニメーションが実行される。
【０００７】
また、特開平４−３４８４２８号、および、特開平５−２１０９５５号に述べられている従来技術では、設計したシステムの対象となる部品は保持するデ−タ、および、手続きはプログラミング言語を用いプログラムすることで定義し、部品の表示図形および表示図形の実現時の動作を対話的に定義する環境を提供している。また、部品が保持する手続きのシミュレーションの実行および部品の実現時の表示図形の動作イメージをアニメーション表示し、設計段階での仕様と実現した際のイメージを視覚的に確認し仕様の評価を行っている。より顧客の要求に合った仕様を作成するには、視覚的な仕様の評価を繰返し行う必要がある。
【０００８】
また、要求仕様の記述に関しては、シナリオという記述方法がある。シナリオとは、ユーザの観点からシステムの外部動作を直接記述する方法である。例えば、Pei Hsia et.al., "Formal Approach to Scenario Analysis",IEEE Software, March 1994, p33-41(1994)では、電話交換システムを例にエンドユーザの操作名とシステム機能の呼び出しのシナリオのツリーによる入力、確認、入力シナリオ群に基づくプロトタイピングに至る手順を示している。
【０００９】
【発明が解決しようとする課題】
上述の従来技術を適用すると、システムエンジニアがプログラミングできなければならないが、従来の業務形態では一般的に例えば顧客からの要求仕様を聴取する人はプログラミング技術を必要としていなかったため、要求仕様を視覚化するためにはプログラミング技術を修得しなければならない。従って、多くのシステムエンジニアには利用がかなり困難であった。
【００１０】
また、上述の従来技術では、要求仕様の特に構成部品に関する変更が生じた際には、再度構成部品のプログラムを定義し直す必要が生じるが、一般的に仕様の評価をしながら変更追加することは容易ではなかった。
【００１１】
また、要求仕様を視覚化し作成するために、顧客より聴取した内容を手続きとして抽象化し、その上でプログラミングして入力しなければならなかった。実世界の要求仕様を計算機上の世界に移行するための抽象化プロセスは、実世界に近い位置で要求仕様を聴取するシステムエンジニアにとっては、一般的に容易ではない。
【００１２】
そして、作成した視覚化要求仕様を顧客に評価してもらったときに発生する仕様の変更、例えば例外的な処理の追加等、は、開発対象全体の要求仕様を表わすプログラムとして一度に作成するために、変更することが困難であった。
【００１３】
そして、全体の要求仕様を作成すると、ユーザが入力する部分的な視覚化された要求仕様が多数生成されることが予想される。また、入力するユーザも複数になる可能性がある。従って、ユーザが、入力した全ての視覚化された要求仕様、ならびに顧客の要求に合う仕様を作成するために編集する視覚化された要求仕様を把握することことは困難になることが予想できる。
【００１４】
また、多数ある視覚化された要求仕様の中から、ユーザが要求仕様を入力中に意図的に関連を指定した場合、視覚化された要求仕様間の関連を把握することは容易ではなかった。
【００１５】
また、Hsiaの論文のシナリオ記述法においては、シナリオを判り易く見せる点が考慮されておらず、シナリオごとにユーザが確認することが困難であった。また、操作名と機能の呼び出ししか記述しないためデ−タの流れや端末画面の変化に関する仕様を表現することが困難であった。また、入力シナリオ群よりプロトタイピングを効率的に生成する方法に関して十分に言及していなかった。また、シナリオ群を一つのツリーで入力するため、複雑で多岐なシナリオ群では画面サイズの制約上、表示と対話編集が困難であった。
【００１６】
本発明の第一の目的は、顧客からシステムエンジニアが開発対象の要求仕様を獲得する際に、構成要素および構成要素間の手続きの起動連鎖をプログラムレスな対話操作で定義することにある。
【００１７】
本発明の第二の目的は、開発対象の要求仕様を獲得する際、入力する構成要素および構成要素が保持する手続きを、実世界の業務の具体例として入力できるようにすることにある。
【００１８】
本発明の第三の目的は、開発対象の要求仕様を獲得する際、入力する構成要素および構成要素が保持する手続きの流れを、細かな単位で入力できるようにすることにある。
【００１９】
本発明の第四の目的は、全体の要求仕様を構成する、ユーザが入力した視覚化された要求仕様の全てを把握することにある。
【００２０】
本発明の第五の目的は、ユーザが要求仕様を入力中に意図的に関連を指定した場合でも、視覚化された要求仕様間の関連を明示的に表示することにある。
【００２１】
【課題を解決するための手段】
上記目的を達成するために、本発明では、シナリオエディタを用いて、シナリオで要求仕様を入力する。シナリオとは、開発対象の構成要素が保持する手続きの呼出し順序で、分岐等がない連続した連鎖で、全体の要求仕様の部分的な仕様である。また、シナリオを構成する要素は具体的な事例で入力する。シナリオエディタとはシナリオの構成要素の元になる基本部品から、シナリオの構成要素を対話操作で設定し、定義するための機能と、構成要素間の手続き起動連鎖を定義するための対話操作機能とからなる。基本部品は、最初、何の情報も保持していないので、開発対象を構成するどんな要素としても定義可能である。また、対話操作で入力したシナリオから、計算機内部にシナリオのデータを生成する。
【００２２】
また、上記目的を達成するために、本発明では、モデルエディタを用いて視覚化した全体の要求仕様を作成する。モデルエディタとは、上記シナリオエディタで定義したシナリオ群を統合する機能と、作成した全体の要求仕様をアニメーション表示する機能からなる。また、上記統合するシナリオ群から、全体の要求仕様の構成要素の定義プログラムと、シナリオの手続き起動連鎖情報から連鎖の動作をアニメーション表示するプログラムを生成する。
【００２３】
そして、上記目的を達成するために、本発明では、シナリオエディタを用いて入力したシナリオから共通化情報を作成する。シナリオエディタは、上述したシナリオエディタへのシナリオ入力時にユーザが意図的にシナリオ間の関連を指定する操作に応じて、共通化情報を生成する。共通化情報とは、ユーザが指定したシナリオ間で共通な部分のシナリオ情報である。
【００２４】
また、上記目的を達成するために、本発明では、シナリオ関連図エディタを用いて全体の要求仕様を作成するために入力したシナリオ群全てを視覚化した全体のシナリオ関連を作成する。シナリオ関連図エディタとは、上記シナリオエディタで生成したシナリオ群の共通化情報から全体のシナリオ関連情報を生成する機能と、生成した全体のシナリオ関連情報から、全体の要求仕様内の全てのシナリオを視覚化し、シナリオ間の関連を表示する機能と、シナリオ間の関連情報を取得するための対話操作機能とからなる。
【００２５】
【作用】
上記本発明のシナリオエディタを用いシナリオの構成要素を対話操作で設定、定義し、構成要素間の手続き起動連鎖を定義し、シナリオのデータを計算機内部に生成することによって、プログラミング技術を持たないシステムエンジニアでも容易に視覚化した要求仕様を作成できる。
【００２６】
また、上記本発明のシナリオエディタを用い開発対象を構成するどんな要素であっても、定義可能な基本部品からシナリオの構成要素を対話操作で設定、定義することによって、実世界の具体事例の形で、要求仕様を直接計算機上の視覚化した要求仕様の世界に入力できる。
【００２７】
また、上記発明のシナリオエディタを用いて視覚化した要求仕様を細分化して入力したシナリオ群を、モデルエディタを用いて統合し、全体要求仕様の構成要素の定義プログラムとシナリオの手続き起動連鎖情報とから、連鎖の動作をアニメーション表示するプログラムを生成し、視覚化した全体要求仕様を作成することによって、要求仕様に変更・追加が生じた際に、細分化し入力した要求仕様を対話的に変更・追加することで、視覚化した全体要求仕様を容易に変更可能である。
【００２８】
また、上記発明のシナリオ関連図エディタを用い、全体要求仕様内の全てのシナリオを視覚化し、シナリオ間の関連を表示することによって、全体要求仕様を作成するために細分化して入力した視覚化された要求仕様の全体および要求仕様間の関連を容易に把握できる。
【００２９】
【実施例】
次に図面を用いて本発明の実施例を説明する。
図１は、本発明の実施例に係る要求仕様の入力および表示方法の手順を示すフローチャートである。図２に、本実施例で使用する要求仕様作成システムの概略構成を示す。
【００３０】
まず、図１を用いて、本発明の実施例に係る要求仕様の入力および表示方法の手順について説明する。
【００３１】
まず、顧客とシステムエンジニアは、開発対象を構成する要素をシナリオ単位で、基本部品を用いて、要求仕様に合った構成要素をシナリオエディタ上に配置する（102）。次に、構成要素の構成要素情報を定義する（103）。定義する構成要素情報は、構成要素の名称、保持するデ−タ名称、手続き名称、および表示図形ごとに、対話操作で定義される。そして、手続きの起動連鎖を、定義した構成要素の手続きを起動する順番で指定することで定義する（105）。その定義した手続き起動連鎖をシナリオエディタ上に表示する。シナリオの定義を終了すると、上記定義したシナリオ情報がシナリオのデータとして計算機内に生成される（106）。  次に、シナリオで定義した手続き起動連鎖が、別シナリオで定義された手続き起動連鎖と共通であることを定義する（104）。
【００３２】
そして、上記定義した該シナリオ群を選択し、全体のシナリオの関連情報を作成し、表示する（114）。
【００３３】
次に、全体の視覚化要求仕様を作成するために、上記定義したシナリオ群を選択する（108）。そして、選択したシナリオ群をモデルエディタ上に表示し、シナリオ群を構成要素単位で統合する（109）。すると、構成要素の表示図形と、各構成要素間を手続き起動連鎖情報から結線をモデルエディタ上に表示する。また、定義した手続き起動連鎖情報から次に呼び出す手続き名称を取得し、構成要素間の結線上でアニメーション表示するためのプログラムを生成する（110）。
【００３４】
シナリオ群を統合して作成した全体の要求仕様を実行することで、開発対象の手続き起動連鎖をアニメーション表示する（113）ことで、視覚化した要求仕様を作成する。
【００３５】
次に、本実施例で使用する要求仕様作成システムの概要を説明する。
本実施例の視覚化した要求仕様の入力および表示方法の手順（図１）で用いる要求仕様作成システムは、図２に示すように、メモリ201、CPU213、および端末214から構成される。メモリ201には、プログラミング言語処理系202、シナリオエディタ203、モデルエディタ204、およびシナリオ関連図エディタ216が搭載されている。視覚化した要求仕様の入力および表示方法の手順に従ってこれらが動作することにより、オペレータが入力した各シナリオの定義情報であるシナリオ情報206、全体要求仕様情報209、全体要求仕様プログラム226、および全体シナリオ関連情報218が生成される。シナリオ情報206として、シナリオのシナリオ名称215、シナリオ固有番号221、シナリオを構成する各構成要素情報207、手続き起動連鎖情報208、および共通化情報217を保持している。構成要素情報207として、構成要素図形情報222、構成要素名称223、デ−タ名称224、および手続き名称225を保持している。また、共通化情報217として、被参照情報220および参照先情報219を保持している。そして、全体要求仕様情報209として、全体構成要素情報210、及び全体手続き起動連鎖定義211を保持している。そして、全体要求仕様プログラム226として、全体構成要素プログラム227、全体手続き起動連鎖プログラム228、および連鎖動作アニメーションプログラム229を保持している。
【００３６】
プログラミング言語処理系202は、CLOS(Common Lisp Object System)の仕様を満たすような言語処理系であり、クラス定義、インスタンス生成、総称関数制御、およびスロットアクセス等の機能を有する。CLOSの言語仕様は、例えば、D.G.Boblow, et. al.,″Common Lisp Object System Specification″, ANSI X3J13 Document00-002R(1988)に示されている。
【００３７】
図３に示すように、シナリオエディタ203の画面構成は、シナリオを構成する構成要素を作成するための基本部品を登録しておく領域301と、シナリオ定義領域304と、システムからのコメントを表示もしくはオペレータが設定する入力領域305からなる。本実施例においては、シナリオを構成する構成要素を作成するために登録しておく基本部品として、静的な構成要素となる基本部品302と、手続きの呼出し起動連鎖が保持する引数としての構成要素となる基本部品303を準備し、基本部品を登録しておく領域301に表示している。シナリオ定義領域304上に描画される部品群が一つのシナリオを構成する。構成要素306、307、308はこのシナリオでの手続きを保持する静的な構成要素であり、基本部品302から作成している。
【００３８】
また、引数構成要素309は手続きを保持できない構成要素であり、シナリオで定義する手続き起動連鎖が保持する引き数である。結線310は構成要素306、307の間に、結線311は構成要素307、308の間に手続き起動連鎖が定義されていることを表している。シナリオ定義領域304上の各構成要素の領域と構成要素情報207の対応関係の説明を構成要素306を用いて説明する。図４に示すように、構成要素が持つ構成要素情報207の内、構成要素図形222は構成要素図形表示領域401に、構成要素名称223は構成要素名称表示領域402に、デ−タ名称224はデ−タ名称表示領域403に、手続き名称225は手続き名称領域404に表示する。また、デ−タ具体値表示領域405には、デ−タが保持する具体値を表示する。
【００３９】
図５に示すように、モデルエディタ204は、入力したシナリオを統合し全体の要求仕様を作成、視覚化表示する領域501と、システムからのコメントを表示する領域502からなる。図５の全体要求仕様視覚化表示領域501上に描画されている部品群503、504、505は、視覚化した全体要求仕様の構成要素で、シナリオで定義した構成要素の構成要素図形222を表示している。結線506、507は、全体要求仕様の中で、構成要素間に手続き起動連鎖が定義されていることを表している。バルーン508は、呼出し元の構成要素503から次に呼び出す手続きを保持している構成要素504へと、次に呼び出す手続き名称510を表示し、結線507上を移動する。また、引数構成要素の表示図形509は、呼出し元の構成要素503から次に呼び出す手続きを保持している構成要素504へと、次に呼び出す手続きが保持する引き数に対応する構成要素の表示図形509を表示し、結線507上を移動する。
【００４０】
次に、販売管理システムを例として、本実施例における要求仕様の入力および表示方法の手順について、詳細に説明する。
【００４１】
まず、シナリオエディタ上で、オペレータの入力に応じて、販売管理システムの一つのシナリオの入力を行う（ステップ101）。まず、シナリオを構成する要素の配置を行い（ステップ102）、構成要素の構成要素情報207を設定する（ステップ103）。
【００４２】
図６は、シナリオの構成要素の配置と構成要素情報の設定の手順102、103の詳細なフローチャートである。また、図７および図９から図１２は、図６の手順における画面表示例である。以下、図６、図７、および図９から図１２を用いて、シナリオの構成要素の配置と構成要素情報の設定の手順102、103について詳細に説明する。
【００４３】
まず、オペレータによりシナリオエディタ203の表示を行う（ステップ601）。そして、図７に示すように、表示されたシナリオエディタ203のシステムコメント701にしたがい、シナリオの構成要素を配置する。まず、オペレータは表示されているシナリオエディタのシナリオを構成する要素となる基本部品302、303を選択する（ステップ602）。次に、選択した基本部品をシナリオ定義領域304に配置する（ステップ603）。図７のシナリオ定義領域304に配置されてた基本部品702、703、704、705は、シナリオを構成する構成要素の図形を配置（ステップ603）した様子を示す。
【００４４】
次に、図７に示した幾つかの構成要素の中から、構成要素情報を設定するシナリオの構成要素を選択する（ステップ604）。次に、選択した構成要素の構成要素情報を定義する（ステップ605）。まず、選択した構成要素702の名称を定義する（ステップ606）ために、シナリオエディタ203のメニューから、構成要素メニュー901の中の名称定義メニュー902を選択する。図９は、メニュー902を選択した様子を示す。そして表示されたシナリオエディタ203のシステムコメント903にしたがい、シナリオの構成要素の名称を入力する。ここでは、構成要素702の構成要素名称を、「顧客」904と定義した。そして、図１０に示すように、構成要素1001に定義した構成要素名称が表示される。
【００４５】
次に、選択した構成要素1005が保持するデ−タ名称を定義する（ステップ607）ために、シナリオエディタ203のメニューから、構成要素メニュー901の中の、デ−タ名称定義メニュー1002を選択する。図１０は、メニュー1002を選択した様子を示す。そして、表示されたシナリオエディタ203のシステムコメント1003にしたがい、デ−タ名称を入力する。ここでは、構成要素1005のデ−タ名称の一つを、「顧客名」1004と定義した。そして、構成要素1101に定義した「顧客名」1004が構成要素のデ−タ名称1105として表示される。
【００４６】
そして、選択した構成要素1001が保持する手続き名称を定義する（ステップ608）ために、シナリオエディタ203のメニューから、構成要素メニュー901の中の手続き名称定義メニュー1102を選択する。図１１は、メニュー1102を選択した様子を示す。そして、表示されたシナリオエディタ203のシステムコメント1103にしたがい、手続きの名称を入力する。ここでは、構成要素1001の手続き名称の一つを、「見積依頼」1104と定義した。そして、構成要素1201に定義した「見積依頼」1104が構成要素1201の手続き名称1206として表示される。
【００４７】
そして、選択した構成要素1201の構成要素図形を定義する（ステップ609）ために、図１２に示すように、シナリオエディタ203のメニューから、構成要素メニュー901の中の構成要素図形定義メニュー1202を選択する。図１２は、メニュー1202を選択した様子を示す。メニュー1202を選択することで図形定義用のエディタ1203が起動され、表示される。シナリオエディタ203上に表示されたシステムコメント1204にしたがい、選択した構成要素の構成要素図形1205を定義する。そして、後述する図１４に示すように、構成要素1403に定義した構成要素図形1205が構成要素の構成要素図形1413として表示される。
【００４８】
上記構成要素が保持するデ−タ名称の定義（ステップ607）、構成要素が保持する手続き名称の定義（ステップ608）、および、構成要素の構成要素図形の定義（ステップ609）の定義する順序は特に規定しない。
次に、設定した各構成要素が保持する手続きの起動連鎖を定義する（ステップ105）。
【００４９】
図１３は、各構成要素が保持する手続きの起動連鎖定義の手順105の詳細なフローチャートである。また、図１４から図１６は、図１３の手順における画面表示例である。以下、図１３から図１６を用いて、シナリオの手続き起動連鎖定義の手順105について、詳細に説明する。
【００５０】
まず、オペレータは、表示されている上記シナリオエディタ203のメニューから、シナリオメニュー1401の手続き起動連鎖定義メニュー1402を選択する。図１４は、メニュー1402を選択した様子を示す。画面上には、図１のステップ102、103により生成したシナリオの構成要素1403、1404、1405、1406が表示されている。次に、手続き起動連鎖を定義するためにシナリオ名称を設定する（ステップ1301）。まず、表示されたシナリオエディタ203のシステムコメント1408にしたがい、シナリオ名称を定義する（ステップ1304）。ここでは、「一般見積サービス」1409と入力する。次に、入力したシナリオ名称「一般見積サービス」1409をシナリオエディタ203内のシナリオ定義領域304上に表示1410する（ステップ1305）。
【００５１】
次に、構成要素が保持する手続きの起動連鎖を定義する（ステップ1306）。まず、表示されたシナリオエディタ203のシステムコメント1501にしたがい、起動する手続きを保持する構成要素を選択する（ステップ1302）。図１４では、シナリオ内で初期に起動する手続きを保持する構成要素1403を選択している。図１５では、図１４で定義された手続き1411の次に起動する手続きを保持する構成要素1404を選択している。次に、呼び出す手続き名称が構成要素内にあるか否かを判定する（ステップ1307）。呼び出す手続きが存在する場合には、選択している構成要素1403、1404内の手続き一覧より呼び出す手続き名称1411、1502を選択する（ステップ1308）。
【００５２】
次に、シナリオエディタ203上に手続き起動連鎖を表現する矢線を描画する（ステップ1303）。初期に起動する手続き起動連鎖を表現する矢線1407は、上記シナリオ定義領域304上に表示されたシナリオ名称1410と初期に起動する手続き1411を保持する構成要素1403間に描画する。初期以降の手続き起動連鎖を表現する矢線1503は、前に起動した手続き1411を保持する構成要素1403と起動する手続き1502を保持する構成要素1404間に描画する。そして、起動する手続き名称を構成要素間の連鎖を表現する矢線1407、1503上に起動連鎖名称1412、1504として描画する（ステップ1311）。次に、上記定義した起動連鎖が、引数や手続き起動連鎖の起動条件を保持する場合には、各情報を連鎖属性として設定する（ステップ1312）。
【００５３】
一方、呼び出す手続きが構成要素内に存在しない場合には、起動連鎖名称を設定する。まず、オペレータが自分で起動連鎖名称を定義するか否かを判定する（ステップ1314）。オペレータが自分で起動連鎖名称を定義する場合には、起動連鎖の名称を入力する（ステップ1309）。一方、オペレータが自分で起動連鎖名称を定義しない場合には、選択されている構成要素が保持する手続き名称以外の名称を、システムが起動連鎖の名称として定義する（ステップ1315）。そして、定義された起動連鎖名称を、構成要素内の呼び出される手続き名称として、構成要素情報207の手続き名称225に追加し、シナリオエディタ203上に描画されている構成要素の手続き名称として描画する（ステップ1310）。次に、入力した起動連鎖名称を連鎖を表現する矢線上に描画し（ステップ1311）、連鎖属性を設定する（ステップ1312）。
【００５４】
そして、連鎖定義を終了するときには、図１６に示すように、シナリオエディタ203のメニューから、シナリオメニュー1401の定義終了メニュー1601を選択する（ステップ1313）。そして、手続き起動連鎖の定義を終了すると、構成要素間で手続き起動連鎖定義した関係を結線1602、1603で表示する（ステップ106）。次に、ステップ102、103、105で入力したシナリオの計算機内部で保持するシナリオデ−タを生成する（ステップ1316）。
【００５５】
図１７は、シナリオの計算機内部で保持するデ−タを生成する手順106の詳細フローチャートである。図３４は、ステップ101の手順で入力したシナリオ（図１６）に対して図１７の手順で生成されるシナリオのデ−タ例である。以下、図１６、図１７および図３４を用いて、シナリオの計算機内部での保持デ−タを生成する手順106について、詳細に説明する。
【００５６】
まず、入力したシナリオからオペレータが定義したシナリオ名称1410を取得（ステップ1712）し、シナリオを管理するための固有番号3402を生成する（ステップ1703）。そして、取得したシナリオ名称1410および生成したシナリオ固有番号3402に対して、計算機内部に保持するシナリオ情報のシナリオ名称215およびシナリオ固有番号221（図３４(ａ)）を生成する（ステップ1713）。ここでは、シナリオ名称215として取得した「一般見積サービス」1410、および生成したシナリオ固有番号221として「１」3402を計算機内部で保持するシナリオ情報206として生成する。
【００５７】
次に、入力したシナリオから構成要素の構成要素情報を計算機内部デ−タとして生成する（ステップ1701）。まず、シナリオエディタ203上の構成要素を解析する（ステップ1702）。ステップ1702では、まずシナリオエディタ上に入力した各構成要素1403、1404、1405、1406の情報から構成要素名称1413を取得（ステップ1704）し、構成要素図形情報として構成要素図形1414および表示位置を取得（ステップ1705）し、デ−タ名称1604、…を取得（ステップ1706）し、手続き名称1411の取得（ステップ1707）を行なう。
【００５８】
そして、取得した構成要素の情報に対応して、計算機内部で保持する構成要素情報に対するシナリオ情報206（図３４(ｂ)）を生成する（ステップ1708）。ここでは、図１４に示す取得した構成要素名称1413に対して、計算機内部に保持するシナリオ情報の構成要素名称223として「顧客」3404を生成する。また、取得した構成要素図形1414および表示位置に対して、計算機内部に保持するシナリオ情報の構成要素図形情報222として図形の座標とパタ−ンのデ−タ（図３４(b)の3407、3408）を生成する。取得した構成要素のデ−タ名称403に対して、計算機内部に構成要素のデ−タ名称224（図３４(b)の3405）を生成する。取得した構成要素の手続き名称404に対して、計算機内部に構成要素の手続き名称225（図３４(b)の3406）を生成する。
【００５９】
次に、シナリオエディタ203で定義した手続き起動連鎖から計算機内部デ−タとして手続き起動連鎖情報を生成する（ステップ1709）。まず、シナリオエディタ203上で定義した手続き起動連鎖の定義履歴を対話操作の情報から取得する（ステップ1710）。そして、取得した手続き起動連鎖定義の履歴情報から計算機内部で保持する構成要素間の手続き起動連鎖に関するシナリオ情報（図３４(c)）を生成する（ステップ1711）。
【００６０】
図８は、取得した手続き起動連鎖定義の履歴情報から、計算機内部で保持する構成要素間の手続き起動連鎖に関するシナリオ情報を生成する手順1711の詳細なフローチャートである。以下、図８を用いて、取得した手続き起動連鎖定義の履歴情報から、計算機内部で保持する構成要素間の手続き起動連鎖に関するシナリオ情報を生成する手順について詳細に説明する。
【００６１】
まず、手続き起動連鎖定義の履歴情報から、起動する手続きの情報を生成する（ステップ801）。まず、上記取得している履歴情報から起動する手続き名称を手続き起動連鎖情報として設定する（ステップ802）。そして、手続きを保持する構成要素を、起動する手続き情報として設定する（ステップ803）。
【００６２】
次に、手続き起動連鎖の連鎖属性として設定した各情報を、情報種別ごとに整理して、連鎖属性情報として生成する（ステップ804）。まず、内部手続きが起動するための起動条件について、連鎖属性を設定した履歴情報から起動条件情報を生成する（ステップ805）。次に、手続き起動連鎖が保持する引数情報を生成する（ステップ806）。そして、手続き起動連鎖が保持する代入情報を生成する（ステップ807）。
【００６３】
そして、次に起動する手続きがあるかを判定し、ある場合には、上記手順を繰り返し、ない場合には手続き起動連鎖情報の生成は終了する。
【００６４】
次に、手続き起動連鎖定義（図１３）の連鎖属性の設定（ステップ1312）について具体例を用い説明する。
【００６５】
図１８は、手続き起動連鎖が保持する連鎖属性設定の手順1312の詳細なフローチャートである。以下、図１８を用いて、手続き起動連鎖が保持する連鎖属性設定の手順について、詳細に説明する。
【００６６】
オペレータは、手続き起動連鎖の引数として引数構成要素を、手続き起動連鎖が保持する連鎖属性として設定（ステップ1801）する。また、連鎖属性として、オペレータは、構成要素が保持するデータに具体値を設定（ステップ1802）、もしくは他の構成要素が保持するデ−タの具体値を設定（ステップ1803）する。そして、連鎖属性として、オペレータは、手続きが起動する条件として条件文を設定（ステップ1804）、もしくは構成要素が保持するデ−タの具体値による条件を設定（ステップ1805）する。連鎖属性である上記引数構成要素、データの具体値、起動条件文、および起動条件デ−タの具体値をオペレータが設定する順番に制限はない。
【００６７】
次に、手続き起動連鎖が保持する上記各連鎖属性の設定について説明する。
まず、図２１は、手続き起動連鎖が保持する連鎖属性として引数構成要素を設定する手順1801の詳細なフローチャートである。また、図１９は、図２１における手順の画面表示例である。以下、図２１および図１９を用いて、手続き起動連鎖が保持する連鎖属性として引数構成要素を設定する手順1801について詳細に説明する。
【００６８】
まず、オペレータは、図１４に示すように、表示されているシナリオエディタ203のメニューから、シナリオメニュー1401の手続き起動連鎖定義メニュー1402を選択し、手続き起動連鎖の定義機能を起動し、連鎖属性として引数構成要素を引数として保持させたい手続きの起動連鎖1407を描画する。次に、描画した起動連鎖の連鎖属性に引数構成要素を設定する（ステップ1801）。まず、シナリオエディタ203のメニューから、メッセージメニュー1901の引数設定メニュー1902を選択する（ステップ2101）。
【００６９】
図１９は、メニュー1902を選択した様子を示す。画面上には、図１のステップ102、103により生成したシナリオの構成要素1403、1404、1405、1406と、ステップ1301により生成した手続き起動連鎖の初期動作情報1407、1410、1412が表示されている。そして、表示されたシナリオエディタ203のシステムコメント1903にしたがい、引数構成要素1406を選択する（ステップ2102）。そして、選択した引数構成要素1406から、描画してある矢線1407上の起動連鎖名称1412に、手続き起動連鎖が引数を保持することを表現する結線1904を描画する（ステップ2103）。
【００７０】
次に、図４７は、手続き起動連鎖が保持する連鎖属性として構成要素のデ−タに具体値を設定する手順1802の詳細なフローチャートである。また、図２０は、図４７における手順の画面表示例である。以下、図４７および図２０を用いて、手続き起動連鎖が保持する連鎖属性として、構成要素のデ−タに具体値を設定する手順について、詳細に説明する。
【００７１】
まず、図１４に示すように、オペレータは、表示されているシナリオエディタ203のメニューから、シナリオメニュー1401の手続き起動連鎖定義メニュー1402を選択し、手続き起動連鎖の定義機能を起動し、連鎖属性として構成要素のデ−タに具体値を設定させたい手続きの起動連鎖1503を描画する。次に、構成要素のデ−タに具体値を設定する（ステップ1802）。まず、デ−タに具体値を設定させたい構成要素を選択する（ステップ4701）。次に、シナリオエディタ203のメニューから、構成要素メニュー901の内部デ−タ具体値設定メニュー2001を選択する（ステップ4702）。
【００７２】
図２０は、メニュー2001を選択した様子を示す。次に、内部デ−タに具体値を設定したい内部デ−タ名称2002を選択（ステップ4703）し、表示されたシナリオエディタ203のシステムコメント2003にしたがい、内部デ−タに具体値を入力する（ステップ4704）。ここでは、「Ａ社」2004と入力する。そして、選択された構成要素内の該内部デ−タ名称2002に対応して、入力した内部デ−タの具体値2005を描画する（ステップ4705）。そして、構成要素が描画している手続き起動連鎖の引数構成要素として設定されているかを判定する（ステップ4706）。そして、構成要素が描画している手続き起動連鎖の引数構成要素でない場合には、描画している矢線1503上の起動連鎖名称1504と選択された構成要素1406間に結線2006を描画する（ステップ4707）。
【００７３】
次に、図４８は、手続き起動連鎖が保持する連鎖属性として、ある構成要素のデ−タの具体値に別の構成要素のデ−タの具体値を設定する手順1803の詳細なフローチャートである。また、図４５は、図４８における手順の画面表示例である。以下、図４８および図４５を用いて、手続き起動連鎖が保持する連鎖属性として、ある構成要素のデ−タの具体値に別の構成要素のデ−タの具体値を設定する手順について、詳細に説明する。
【００７４】
まず、オペレータは、図１４に示すように、表示されているシナリオエディタ203のメニューから、シナリオメニュー1401の手続き起動連鎖定義メニュー1402を選択し、手続き起動連鎖の定義機能を起動し、連鎖属性として、ある構成要素のデ−タの具体値に別の構成要素のデ−タの具体値を設定させたい手続きの起動連鎖1407を描画する。次に、ある構成要素のデ−タの具体値に別の構成要素のデ−タの具体値を設定する（ステップ1803）。まず、デ−タに具体値を設定させたい構成要素を選択する（ステップ4801）。次に、シナリオエディタ203のメニューから、構成要素メニュー901の内部デ−タ具体値参照メニュー4501を選択する（ステップ4802）。
【００７５】
図４５は、メニュー4501を選択した様子を示す。次に、内部デ−タに具体値を設定したい内部デ−タ名称4502を選択（ステップ4803）する。そして、表示されたシナリオエディタ203のシステムコメントにしたがい、まず、参照する構成要素4512を選択（ステップ4804）し、次に、表示されたシナリオエディタ203のシステムコメント4503にしたがい、参照する構成要素の内部デ−タ4509を選択する（ステップ4805）。ここでは、引数構成要素である伝票4512のデ−タである見積金額4509を選択する。そして、参照するデ−タが保持する具体値4510を取得（ステップ4806）し、デ−タの具体値を設定したい構成要素内の内部デ−タ名称4502に対応して、選択した参照する内部デ−タの具体値4504を描画する（ステップ4807）。また、具体値を設定したいデ−タ4502と参照するデ−タ4509の間に矢線4508を描画（ステップ4808）する。そして、具体値を設定する構成要素ならびに具体値を参照する構成要素が描画している手続き起動連鎖の引数構成要素として設定されているかを判定する（ステップ4809、4810）。そして、構成要素が描画している手続き起動連鎖の引数構成要素でない場合には、描画している矢線4505上の起動連鎖名称4506とデ−タの具体値を設定したい構成要素間、および、描画している矢線4505上の起動連鎖名称4506とデ−タの具体値の参照もとの構成要素4512間に結線4507を描画する（ステップ4811、4812）。
【００７６】
次に、図２２は、手続き起動連鎖が保持する連鎖属性として、手続きの起動条件文を設定する手順1804の詳細なフローチャートである。また、図２３は、図２２における手順の画面表示例である。以下、図２２および図２３を用いて、手続き起動連鎖が保持する連鎖属性として、手続きの起動条件文を設定する手順について、詳細に説明する。
【００７７】
まず、図１４に示すように、オペレータは、表示されているシナリオエディタ203のメニューから、シナリオメニュー1401の手続き起動連鎖定義メニュー1402を選択し、手続き起動連鎖の定義機能を起動し、連鎖属性として手続きの起動条件文を設定したい手続き起動連鎖2303を描画する。次に、手続きの起動条件文を設定する（ステップ1804）。まず、シナリオエディタ203のメニューから、起動連鎖メニュー1901の起動条件文設定メニュー2301を選択する（ステップ2201）。
【００７８】
図２３は、メニュー2301を選択した様子を示す。画面上には、図１のステップ102、103により生成したシナリオの構成要素1403、1404、1405、1406と、ステップ105により生成し上記で指定した手続き起動連鎖2303が表示されている。次に、表示されたシナリオエディタ203のシステムコメント2304にしたがい、手続きの起動条件文を入力する（ステップ2202）。ここでは、「概算見積りの時」2305と入力する。そして、入力した手続きの起動条件文2306をシナリオエディタ203上に描画する（ステップ2203）。
【００７９】
次に、図２４は、手続き起動連鎖が保持する連鎖属性として、構成要素の内部デ−タ値を起動条件値として設定する手順1805の詳細なフローチャートである。また、図３０は、図２４における手順の画面表示例である。以下、図２４および図３０を用いて、手続き起動連鎖が保持する連鎖属性として、内部デ−タ値を起動条件値として設定する手順について詳細に説明する。
【００８０】
まず、図１４に示すように、オペレータは、表示されているシナリオエディタ203のメニューから、シナリオメニュー1401の手続き起動連鎖定義メニュー1402を選択し、手続き起動連鎖の定義機能を起動し、連鎖属性として手続きの起動条件値を設定したい手続き起動連鎖2303を描画する。次に、手続きの起動条件値を設定する（ステップ1805）。まず、デ−タに手続きの起動条件値を設定する構成要素を選択する（ステップ2401）。次に、シナリオエディタ203のメニューから、起動連鎖メニュー1901の起動条件値設定メニュー3001を選択する（ステップ2402）。
【００８１】
図３０は、メニュー3001を選択した様子を示す。次に、手続きの起動条件値を設定する構成要素の内部デ−タ名称2002を選択（ステップ2403）し、表示されたシナリオエディタ203のシステムコメント3002にしたがい、内部デ−タに手続きの起動条件値を入力する（ステップ2404）。ここでは、「Ｂ社」3003と入力する。そして、選択された構成要素内の内部デ−タ名称2002に対応して、入力した起動条件値3004を描画する（ステップ2405）。そして、構成要素が描画している手続き起動連鎖の引数構成要素として設定されているかを判定する（ステップ2406）。そして、構成要素が描画している手続き起動連鎖の引数構成要素でない場合には、描画している矢線2303上の起動連鎖名称2302と選択された構成要素1406間に結線3005を描画する（ステップ2407）。
【００８２】
次に、ステップ101で入力したシナリオをイベントフロー図で表示する方法について説明する。
【００８３】
図２５は、入力したシナリオをイベントフロー図で表示する手順で表示されるフローチャートである。また、図２６および図２７は、図２５における手順の一画面表示例である。以下、図２５から図２７を用いて、入力したシナリオをイベントフロー図で表示する手順について説明する。
【００８４】
まず、オペレータは、シナリオを入力し（ステップ101）、入力したシナリオをシナリオエディタ203上に表示する（ステップ2501）。次に、表示したシナリオをイベントフローで表示する（ステップ2502）。まず、オペレータは、入力したシナリオを表示しているシナリオエディタ203のメニューから、シナリオメニュー1401の手続き起動線図定義メニュー2601を選択する（ステップ2503）。図２６は、メニュー2601を選択した様子を示す。画面上には、図１のステップ102、103により生成したシナリオの構成要素1403、1404、1405、1406と、ステップ106により生成した手続き起動連鎖が定義されている構成要素間の結線1602、1603が表示されている。
【００８５】
次に、シナリオ上の構成要素情報を取得（ステップ2504）し、各構成要素1403、1404、1405をイベントフロー上のノード2701、2703、2705として表示する（ステップ2505）。次に、シナリオの手続き起動連鎖情報を全て取得（ステップ2506）し、上記表示したノードを端子として取得した手続き起動連鎖情報から手続きの起動連鎖を表現する矢線を全て表示する（ステップ2507）。図２７は、入力し指定したシナリオ（図２６）の手続き起動連鎖をイベントフロー図で表示した一例である。イベントフローのノードは、構成要素図形と構成要素名称の組合せ2701、2703、2705と、起動連鎖の矢線の端子となる直線2702、2704、2706からなる。直線2702、2704、2706は、上から下に向かって起動連鎖の時間経過を表現している。表示する手続き起動連鎖情報としては、シナリオ名称2707とシナリオ内の全ての手続き起動連鎖を矢線と手続き名称2708、2709、2710、2711、2712で表示する。
【００８６】
次に、全体要求仕様の作成を行なう（ステップ107）。
図２９は、全体要求仕様の作成の手順107の表示前までの詳細なフローチャートである。また、図５は、図２９の手順において作成した全体要求仕様の一画面表示例である。そして、図４６は図２９の手順で生成した全体要求仕様のプログラム例である。また、図３１から図３３は図２９における全体要求仕様プログラム生成ステップ110の詳細フローチャートである。以下、図２９、図５、図４６および図３１から図３３を用いて、全体要求仕様の作成の手順107について、詳細に説明する。
【００８７】
まず、ステップ101で入力したシナリオを選択する（ステップ108）。
次に、選択したシナリオ群をモデルエディタ204上で統合する（ステップ109）。まず、モデルエディタ204を表示（ステップ2901）し、選択したシナリオ群をモデルエディタ204上に対話操作で配置し統合する（ステップ2902）。そして、配置したシナリオ群の構成要素の構成要素図形503、504、505のみを、全体要求仕様の構成要素として描画する（ステップ2903）。次に、構成要素間の手続き起動連鎖を表現する結線506、507を描画する（ステップ2904）。
【００８８】
そして、モデルエディタ204上で統合した全体要求仕様に対応するプログラムを生成する（ステップ110）。まず、統合した各シナリオの計算機内部で保持するシナリオ情報206を取得する（ステップ2905）。
【００８９】
次に、構成要素単位での各シナリオの構成要素情報207の統合を行い、統合した開発対象全体構成要素情報210から構成要素プログラム227を生成する（ステップ2906）。ステップ2906では、まず、統合するシナリオ内の構成要素がモデルエディタ204上に存在するか否かを判定する（ステップ3101）。存在しない場合には、全体要求仕様が保持する構成要素情報210として生成する（ステップ3102）。一方、存在する場合には、デ−タ名称が既存の構成要素210内に存在するか否かを判定する（ステップ3103）。存在しない場合には、既存の構成要素情報210に該デ−タ名称を追加する（ステップ3104）。一方、存在する場合には、手続き名称が既存の構成要素210内に存在するか否かを判定する（ステップ3105）。存在しない場合には、既存の構成要素情報210に手続き名称を追加する（ステップ3106）。上記手順で生成した全体要求仕様の構成要素情報210から、対応する構成要素プログラム227を生成する（ステップ3107）。開発対象全体視角化要求仕様の構成要素情報の構成要素名称223に対応してプログラム4601を生成し、構成要素図形情報222に対応してプログラム4602を生成し、手続き225に対応してプログラム4603を生成する。
【００９０】
次に、全体要求仕様の手続き起動連鎖情報211を生成し、対応する手続き起動連鎖プログラム228を生成する（ステップ2907）。まず、統合する各シナリオの計算機内部で保持する手続き起動連鎖情報217を取得する（ステップ3201）。次に、手続き名称毎に、全体要求仕様の手続き起動連鎖情報211を生成する（ステップ3202）。全体要求仕様の手続き起動連鎖情報211は、手続き名称毎に、シナリオ管理固有番号、手続きが保持される構成要素名称、次に呼び出す手続き名称、次に呼び出す手続き起動連鎖が保持する引数情報および起動条件情報を保持する。次に、上記手順で手続き名称毎に生成した全体要求仕様の手続き起動連鎖情報から、対応する手続き起動連鎖情報プログラム228を生成する（ステップ3203）。
【００９１】
次に、起動連鎖をアニメーション表示する処理プログラム205を、上記手順2907で生成した全体要求仕様の手続き起動連鎖情報211から生成する（ステップ2908）。まず、手続き名称から定義されている構成要素名称を取得し（ステップ3301）、さらに、次に呼び出す手続き名称を取得する（ステップ3302）。そして、次に呼び出す手続き名称が定義されている構成要素名称を取得する（ステップ3303）。
【００９２】
さらに、次に起動する手続き群に対し連鎖属性として起動条件の情報、起動条件内部データ値情報もしくは起動条件文情報が設定されているかを判定する（ステップ3304）。次に起動する手続き群全ての連鎖属性に対し、起動条件の情報が設定されていない場合には、該全ての手続きを起動するプログラムを生成する（ステップ3305）。手続き群に対し連鎖属性として起動条件内部データ値情報が設定されている場合（ステップ1805）には、指定されている構成要素のデ−タ値が設定されている起動条件内部データ値と一致するかを判定し、真である場合にのみ次の手続きを起動するプログラムを生成する（ステップ3306）。また、手続き群に対し連鎖属性として起動条件文情報が設定（ステップ1804）されている場合には、その起動条件文を表示し、それが真であることがオペレータによって確認されたときにのみ、次の手続きを起動するプログラムを生成する（ステップ3306）。
【００９３】
次に、上記ステップ3301およびステップ3303で取得した構成要素503、504間の結線506上を、呼出し元構成要素503から呼出し先構成要素504に向かって、次に呼び出す手続き名称508を描画して移動させる処理プログラムを生成する（ステップ3309）。
【００９４】
次に、手続き起動連鎖の連鎖属性として引数構成要素が設定されているかを判定する（ステップ3307）。そして、手続き起動連鎖の連鎖属性として引数構成要素が設定されている場合には、上記ステップ3301およびステップ3303で取得した構成要素503、504間の結線506上を、呼出し元構成要素503から呼出し先構成要素504に向かって、引数構成要素の構成要素図形509を描画して移動させる処理プログラム4605を生成する（ステップ3308）。
【００９５】
次に、販売管理システムを例として、複数の手続きの起動がある時点から並列に実行される手続き起動連鎖を含んだシナリオ群の定義方法および開発対象全体シナリオの関連の視覚化表示方法の手順について、詳細に説明する。
【００９６】
図２８は、２つの手続きの起動がある時点から並列に実行される手続き起動連鎖を含んだシナリオ群の定義手順104および開発対象全体シナリオ関連の視覚化表示手順114の詳細なフローチャートである。また、図３４および図３５は、図２８における初期に入力される第一及び第二のシナリオ情報である。また、図３６および図３７は、図２８におけるシナリオの共通部分指定の画面表示例である。以下、図２８および図３４から図３７を用いて、２つの手続きの起動がある時点から並列に実行される手続き起動連鎖を含んだシナリオ群の定義方法および開発対象全体シナリオ関連の視覚化表示方法について説明する。
【００９７】
まず、被参照となる第一のシナリオをステップ101に従い入力し、第一のシナリオ情報（図３４）を生成する。次に、第一のシナリオを参照する第二のシナリオをステップ101に従い入力し、第二のシナリオ情報（図３５）生成する。
【００９８】
次に、上記入力した第一のシナリオのある手続き起動連鎖を、第二のシナリオの手続き起動連鎖が参照していることを指定し、第一と第二のシナリオ間で指定した手続き起動連鎖が共通であることを指定する（ステップ2801）。まず、参照する第二のシナリオ3601上で参照する手続き起動連鎖を表現する矢線3605を表示し、参照手続き3602を選択する。次に、シナリオエディタ203のメニューから、同一指定メニュー3603を選択する。図３６は、メニュー3603を選択した様子を示す。そして表示されたシナリオエディタ203のシステムコメント3604にしたがい、第一のシナリオ3701をシナリオエディタ203上に表示（図３７）し、第二のシナリオの手続き起動連鎖が被参照する手続き起動連鎖の矢線3703を表示し、被参照手続き3702を選択する。
【００９９】
次に、指定した第一のシナリオシナリオ情報（図３４）と第二のシナリオのシナリオ情報（図３５）に共通であると指定された手続きが存在していることを示す情報を共通化情報として生成する（ステップ2802）。
【０１００】
図３８は、シナリオの共通化情報生成の手順2802の詳細なフローチャートである。また、図３９および図４０は、図３８の手順で生成される共通化情報を含んだシナリオ情報の例である。以下、図３８から図４０を用いて、シナリオの共通化情報生成の手順2802について詳細に説明する。
【０１０１】
まず、第一シナリオ情報（図３４）ならびに第二のシナリオ情報（図３５）内に共通化情報を生成するための情報を取得する（ステップ3801）。まず、被参照シナリオ（第一のシナリオ）の手続き起動連鎖情報3416を取得し（ステップ3802）、被参照シナリオの固有番号3402を取得する（ステップ3803）。次に、参照先シナリオ（第二のシナリオ）の手続き起動連鎖情報3503を取得し（ステップ3804）、参照先シナリオの固有番号3502を取得する（ステップ3805）。
【０１０２】
次に、上記手順3801で取得した共通化情報の生成のための情報より、被参照シナリオのシナリオ情報に、共通化情報3901を生成する（ステップ3806）。まず、取得した被参照手続き起動連鎖情報3416から、被参照の共通化情報3901の被参照手続き起動連鎖の位置情報3902として、連鎖のシナリオ内での先頭からの順番3903を取得した該情報3416の一部3417を設定し、さらに、情報3416から連鎖の位置が先頭か、中間3909か、あるいは最後かのいずれかを示す概念位置情報3904を生成する。本実施例における被参照手続き起動連鎖の位置は中間3909である。次に、取得した参照先シナリオの固有番号3502を被参照の共通化情報3905として設定する。そして、取得した参照先手続き起動連鎖情報の手続き名称3505および手続き固有番号3506から、手続きに関する被参照の共通化情報3906として情報3505、3506をそれぞれ3907、3908に設定する。
【０１０３】
次に、上記手順3801で取得した共通化情報生成情報より、参照シナリオのシナリオ情報に共通化情報4001を生成する（ステップ3807）。まず、取得した参照手続き起動連鎖情報3503から、参照の共通化情報4001の参照手続き起動連鎖の位置情報4002として、連鎖のシナリオ内での先頭からの順番4003を取得した情報3503の一部3504を設定し、かつ情報3503から連鎖の位置が先頭4009か、中間か、あるいは最後かのいずれかを示す概念位置情報4004を生成する。本実施例における参照手続き起動連鎖の位置は先頭4009である。次に、取得した被参照シナリオの固有番号3402を参照の共通化情報4005として設定する。そして、取得した被参照手続き起動連鎖情報の手続き名称3418および手続き固有番号3419から手続きに関する被参照の共通化情報4006として情報3418、3419をそれぞれ4007、4008に設定する。
【０１０４】
そして、参照先シナリオ情報の参照先手続き固有番号3413に取得した被参照手続き固有番号4010を設定する（ステップ3808）。
次に、上記入力した第一ならびに第二のシナリオに対して、継続して手続きが起動連鎖を定義する場合には、シナリオを入力する（ステップ101）。
次に、開発対象全体シナリオ関連情報を作成するために、上記定義したシナリオ群のシナリオ情報206の共通化情報217から開発対象全体のシナリオ関連情報218を作成する（ステップ114）。まず、ステップ101で入力したシナリオを選択し、シナリオ関連図エディタ216上に配置する（ステップ2803）。
【０１０５】
次に、開発対象全体のシナリオ関連情報を生成する（ステップ2804）。
図４１は、開発対象全体のシナリオ関連情報生成の手順2804の詳細なフローチャートである。また、図４２は、図４１の手順で生成されるシナリオ関連情報の一例である。以下、図４１および図４２を用いて、開発対象全体のシナリオ関連情報生成の手順2804について詳細に説明する。
【０１０６】
まず、上記で選択したシナリオのシナリオ情報206内の共通化情報217に含まれる被参照情報220を取得する(ステップ4101)。被参照情報がある場合には、シナリオのシナリオ固有番号221を取得する(ステップ4102)。次に、シナリオ関連情報4201を新規に生成する(ステップ4103)。まず、取得したシナリオ固有番号221を関連固有番号4202に設定する(ステップ4104)。ここでは、被参照シナリオ情報（図３９）のシナリオ固有番号3402を、シナリオ関連情報4201の関連固有番号4202として設定している。次に、取得した共通化情報217の被参照情報220からシナリオ間の関連情報を生成する(ステップ4105)。シナリオ間の関連情報として、それぞれのシナリオ名称4203、シナリオ固有番号4204、およびシナリオ間で共通な手続き起動連鎖情報を共通部分シナリオ4205として生成する。そして、共通部分シナリオ4205として、手続き起動連鎖が定義されている位置情報4206、該手続きを保持する構成要素名称4209、手続き名称4211および固有番号4212、および、手続き起動連鎖の連鎖属性情報4213、4214を保持する。
被参照シナリオの場合には、上記シナリオ間の関連情報を全て設定する。
【０１０７】
次に、上記で選択したシナリオのシナリオ情報206内の共通化情報217の参照先情報219を取得する(ステップ4108)。参照先情報がある場合には、まず、参照先シナリオの共通化情報217内の被参照手続き固有番号4006を取得する(ステップ4106)。次に、既存の開発対象全体シナリオ関連情報218内に被参照手続き固有番号4006と一致する関連固有番号4202があるかを判定する(ステップ4107)。被参照手続き固有番号4006と一致しない場合には、シナリオ関連情報を新規に生成し(ステップ4103)、関連固有番号4202として取得した被参照手続き固有番号4006を設定する（ステップ4104）。被参照手続き固有番号4006と一致する関連固有番号4202がある場合には、一致する関連固有番号のシナリオ関連情報を更新する(ステップ4105)。参照先シナリオの場合には、上記シナリオ間の関連情報のうち、共通指定された手続き起動連鎖に関する手続きを保持する構成要素名称4209、手続き名称4211および固有番号4212以外の情報を設定する。
【０１０８】
次に、開発対象全体シナリオ関連情報をシナリオ関連図エディタ上に表示する(ステップ2805)。図４３に示すように、シナリオ関連図エディタ4301は、開発対象全体のシナリオ関連を表示する領域4302と、関連情報を表示する領域4303からなる。
【０１０９】
図４３は、開発対象全体シナリオ関連情報の表示方法の一例である。
ここでの、開発対象全体のシナリオ関連を表示する領域4302は、ユーザが定義したシナリオを表現する図形4304とシナリオ間の関連を表現する結線4311とからなる。また、シナリオ間の関連を表現する結線4311の端子（4305〜4310）を、同一指定された手続きのシナリオ内での連鎖の位置によって場合分けして表示する。端子4305、4306は、同一指定された手続きの位置がシナリオ内の先頭である時に使用する。端子4307、4308は、同一指定された手続きの位置がシナリオ内の中間である時に使用する。端子4309、4310は、同一指定された手続きの位置がシナリオ内の末尾である時に使用する。また、同一指定された手続き間の参照、被参照の関係を端子の形状で表現する。本実施例では、参照端子を白丸4305、4308、4309で表現し、被参照端子を黒丸4306、4307、4310で表現する。
【０１１０】
図４４は、開発対象全体シナリオ関連情報の表示方法の販売管理での例である。  ここでの、開発対象全体のシナリオ関連を表示する領域4302は、ユーザが定義したシナリオを表現する図形4401、4402と、シナリオの関連を表現する結線4311からなる。関連結線4311を選択すると、関連情報を表示する領域4303に、シナリオ関連情報の一部を表示する。
【０１１１】
【発明の効果】
本発明によれば、システムの構成要素の各種属性を対話操作で定義し、シナリオ単位で手続き起動連鎖を対話操作で定義することで、大規模なシステムの要求仕様を容易に獲得できる。したがって、本発明によれば、従来のように、事前にシステムに必要な構成要素を調査しプログラムを記述する必要がなくなり、また要求仕様の構成要素に関する変更が行われる度にプログラムを記述する必要がないので、プログラミング知識がないシステムエンジニアでも仕様の獲得が可能になる。また、対話操作でシナリオを入力できるので、顧客との打合せの場で要求仕様の作成変更が容易に行える。
【０１１２】
また、本発明によれば、定義入力したシナリオ群を統合することでシステム全体の手続き動連鎖の動作アニメーション表示するプログラムを自動的に生成できる。したがって、本発明によれば、視覚化したシステム全体の要求仕様を顧客と評価した際に、生じた仕様の変更を、その場で対話的にシナリオ単位で容易に行え、かつその場でアニメーション表示することが容易にできる。また、従来のような要求仕様の変更時に生じる作業を軽減できる。
【０１１３】
また、本発明によれば、大規模なシステムの多量な要求仕様の関連を、ユーザが新規操作をしなくても、特にユーザが明示的に関連を指定した要求仕様を視覚化して表示できる。従って、本発明によれば、システム全体の要求仕様の関連を容易に確認できる。
【０１１４】
また、本発明によれば、システム全体の要求仕様の関連を表示しているので、編集したいシナリオを容易に検索できる。
【図面の簡単な説明】
【図１】本発明の一実施例に係る要求仕様の入力および表示の手順を示すフローチャートである。
【図２】図１の実施例で用いる要求仕様の獲得及び作成システムの概略構成図である。
【図３】図２のシナリオエディタ上に入力したシナリオの画面表示例である。
【図４】図３のシナリオを構成する要素の画面表示例である。
【図５】図２のモデルエディタ上で作成した要求仕様の画面表示例である。
【図６】図１のシナリオ構成要素の配置および構成要素情報の設定の詳細手順を示すフローチャートである。
【図７】シナリオエディタを表示し、構成要素基本部品を配置したときの画面表示例である。
【図８】図１７の手続き起動連鎖情報の生成の詳細手順を示すフローチャートである。
【図９】構成要素基本部品に名称を設定している画面表示例である。
【図１０】構成要素のデ−タ名称を設定しているが面表示例である。
【図１１】構成要素の手続き名称を設定しているが面表示例である。
【図１２】構成要素の構成要素図形を定義しているが面表示例である。
【図１３】図１の各構成要素の手続き起動連鎖を定義する詳細手順を示すフローチャートである。
【図１４】図１３の手続き起動連鎖初期起動動作定義の画面表示例である。
【図１５】図１３の手続き起動連鎖定義の画面表示例である。
【図１６】手続き起動連鎖定義終了の画面表示例である。
【図１７】図１のシナリオ情報の生成の詳細手順を示すフローチャートである。
【図１８】手続き起動連鎖に連鎖属性を設定する手順を示すフローチャートである。に引数構成要素を保持させる手順を示すフローチャートである。
【図１９】図１８の手続き起動連鎖の連鎖属性として設定する引数構成要素の初期設定の画面表示例である。
【図２０】図１８の手続き起動連鎖の連鎖属性として設定するデ−タ具体値設定の画面表示例である。
【図２１】図１８の手続き起動連鎖の連鎖属性に構成要素を引数として保持させる手順を示すフローチャートである。
【図２２】図１８の手続き起動連鎖の連鎖属性に手続きを起動するための条件文を設定する手順を示すフローチャートである。
【図２３】図１８の手続き起動連鎖の連鎖属性として手続きを起動するための条件文を設定している画面表示例である。
【図２４】図１８の手続き起動連鎖の連鎖属性に手続きを起動するための起動条件値を構成要素のデ−タに設定する手順を示すフローチャートである。
【図２５】図１で入力したシナリオ情報をもとにイベントフロー図を作成し、表示する手順を示すフローチャートである。
【図２６】図１で入力したシナリオの画面表示例である。
【図２７】図２６で表示したシナリオ情報から生成したイベントフローの画面表示例である。
【図２８】全体要求仕様のシナリオの関連情報作成の手順を示すフローチャートである。
【図２９】図１の全体要求仕様作成の詳細手順を示すフローチャートである。
【図３０】図１８の手続き起動連鎖の連鎖属性として手続きを起動するための条件値を設定している画面表示例である。
【図３１】図２９の構成要素プログラム生成の詳細手順を示すフローチャートである。
【図３２】図２９の手続き起動連鎖プログラム生成の詳細手順を示すフローチャートである。
【図３３】図２９の連鎖動作アニメーションプログラム生成の詳細手順を示すフローチャートである。
【図３４】図１のシナリオ情報生成で生成したシナリオ情報の一例である。
【図３５】図１のシナリオ情報生成で生成したシナリオ情報の一例である。
【図３６】図１のシナリオ入力で入力したシナリオに対して、別のシナリオとの手続きの同一指定を行なっている画面表示例である。
【図３７】図１のシナリオ入力で入力したシナリオの画面表示例である。
【図３８】図２８のシナリオの共通化情報生成の詳細手順を示すフローチャートである。
【図３９】図３８で生成した共通化情報を含んだのシナリオ情報の一例である。
【図４０】図３８で生成した共通化情報を含んだのシナリオ情報の一例である。
【図４１】図２８の全体のシナリオ関連情報生成の詳細手順を示すフローチャートである。
【図４２】図４１の全体のシナリオ関連情報生成で生成した全体のシナリオ関連情報の一例である。
【図４３】図２８の全体シナリオ関連情報の表示の一例である。
【図４４】図２８の全体シナリオ関連情報の表示の一例である。
【図４５】図１８の手続き起動連鎖の連鎖属性としてデ−タに別のデ−タの保持する値を設定している画面表示例である。
【図４６】図１の全体要求仕様プログラム生成で生成したプログラムの一例である。
【図４７】図１８の手続き起動連鎖の連鎖属性としてデ−タに具体値を設定する手順を示すフローチャートである。
【図４８】図１８の手続き起動連鎖の連鎖属性としてデ−タに別のデ−タの保持する値を設定する手順を示すフローチャートである。
【符号の説明】
101…シナリオ入力、108…全体要求仕様作成、113…起動連鎖アニメーション表示、114…全体シナリオ関連情報作成、203…シナリオエディタ、204…モデルエディタ、216…シナリオ関連図エディタ、206…シナリオ情報、209…全体要求仕様情報、226…全体要求仕様プログラム、217…共通化情報生成、218…全体シナリオ関連情報、508…バルーン
【図１】
0003772363.tif 000002
【図２】
0003772363.tif 000003
【図３】
0003772363.tif 000004
【図４】
0003772363.tif 000005
【図５】
0003772363.tif 000006
【図６】
0003772363.tif 000007
【図７】
0003772363.tif 000008
【図８】
0003772363.tif 000009
【図９】
0003772363.tif 000010
【図１０】
0003772363.tif 000011
【図１１】
0003772363.tif 000012
【図１２】
0003772363.tif 000013
【図１３】
0003772363.tif 000014
【図１４】
0003772363.tif 000015
【図１５】
0003772363.tif 000016
【図１６】
0003772363.tif 000017
【図１７】
0003772363.tif 000018
【図１８】
0003772363.tif 000019
【図１９】
0003772363.tif 000020
【図２０】
0003772363.tif 000021
【図２１】
0003772363.tif 000022
【図２２】
0003772363.tif 000023
【図２３】
0003772363.tif 000024
【図２４】
0003772363.tif 000025
【図２５】
0003772363.tif 000026
【図２６】
0003772363.tif 000027
【図２７】
0003772363.tif 000028
【図２８】
0003772363.tif 000029
【図２９】
0003772363.tif 000030
【図３０】
0003772363.tif 000031
【図３１】
0003772363.tif 000032
【図３２】
0003772363.tif 000033
【図３３】
0003772363.tif 000034
【図３４】
0003772363.tif 000035
【図３５】
0003772363.tif 000036
【図３６】
0003772363.tif 000037
【図３７】
0003772363.tif 000038
【図３８】
0003772363.tif 000039
【図３９】
0003772363.tif 000040
【図４０】
0003772363.tif 000041
【図４１】
0003772363.tif 000042
【図４２】
0003772363.tif 000043
【図４３】
0003772363.tif 000044
【図４４】
0003772363.tif 000045
【図４５】
0003772363.tif 000046
【図４６】
0003772363.tif 000047
【図４７】
0003772363.tif 000048
【図４８】
0003772363.tif 000049