(57)【要約】【課題】Webサービスの設計において、設計者の負担を軽減する。【解決手段】本発明のパターン作成装置は、パターン、パターンを実行する基盤となるソフトウエア、非機能要件、非機能要件の優先度を受け付け、非機能要件及びソフトウエアを検索キーとして製品対応情報を検索し、ソフトウエアの元で実装可能な実現処理を抽出し、非機能要件及び優先度に基づき非機能要件対応情報を検索して、優先度の高い非機能要件を打ち消すような影響のない実現処理を抽出し、前記２回の抽出によって抽出された実現処理に共通する実現処理を検索キーとして、組み合わせ可否情報を参照し、相互に実装可能な実現処理を組み合わせとして抽出し、当該組み合わせから、非機能要件毎に、非機能要件に関連付けられた実現処理が少なくとも１つ含まれるような組み合わせを取得し、取得した実現処理の組み合わせをパターンに適用して作成した修正パターンを表示し、記憶する。【選択図】図８
2010039892.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上に存在する呼び出すべきWebサービス及びそれらを呼び出す実行順序を定めたパターンに対し、性能向上という非機能要件を充足するのに利用可能な汎用の実現処理を適用することで修正を加えた修正パターンを作成するパターン作成装置であって、
前記パターン作成装置の記憶部は、
前記パターンを一意に特定する情報に関連付けて、前記Webサービスを一意に特定する情報と、前記Webサービスを呼び出す実行順序と、前記Webサービスに対して修正を加える実現処理の名称とを記憶したパターン設計情報と、
前記実現処理の名称に関連付けて、前記非機能要件と、前記パターンを実行する基盤となる所定のソフトウエアの元で実現処理が実装可能であるか否かを示す評価情報とを記憶した製品対応情報と、
前記実現処理の名称に関連付けて、前記実現処理が前記非機能要件を打ち消すような影響を及ぼすか否かを示す評価情報を記憶した非機能要件対応情報と、
特定の２つの実現処理が同時に実装可能であるか否かを示す評価情報を記憶した組み合わせ可否情報と、
を備え、
前記パターン作成装置の制御部は、
入力装置を介して前記パターンを一意に特定する情報、前記ソフトウエアの名称、前記非機能要件、前記非機能要件の優先度を受け付け、
前記受け付けた非機能要件及び前記受け付けたソフトウエアの名称を検索キーとして、前記製品対応情報を検索し、前記ソフトウエアの元で実装可能な前記実現処理の名称を抽出する第一の抽出を行い、
前記受け付けた非機能要件を検索キーとして、前記非機能要件対応情報を検索して、前記受け付けた優先度より高い優先度を有する非機能要件を打ち消すような影響のない前記実現処理の名称を抽出する第二の抽出を行い、
前記第一の抽出によって抽出された実現処理の名称と、前記第二の抽出によって抽出された実現処理の名称に共通する実現処理の名称を取得し、
前記共通する実現処理の名称を検索キーとして、前記組み合わせ可否情報を参照し、相互に実装可能な実現処理の名称を組み合わせとして抽出する第三の抽出を行い、
前記第三の抽出によって抽出された組み合わせから、前記受け付けた非機能要件毎に、その非機能要件に関連付けられた実現処理が少なくとも１つ含まれるような組み合わせを取得し、
前記取得した実現処理の組み合わせを前記受け付けたパターンに適用して前記修正パターンを作成し、当該修正パターンを出力装置に表示し、前記パターン設計情報に記憶すること、
を特徴とするパターン作成装置。
【請求項２】
前記記憶部は、
前記第一、第二及び第三の抽出を示す情報に関連付けて、前記実現処理の名称が抽出できない原因と、対処法候補と、表示対象であることを示す情報とを記憶した原因情報を備え、
前記制御部は、
前記表示対象であることを示す情報を検索キーとして、前記原因情報を検索し、前記実現処理の名称が抽出できない原因と、前記対処法候補とを表示すること、
を特徴とする請求項１に記載のパターン作成装置。
【請求項３】
前記制御部は、
前記入力装置を介して、前記パターンの一部の範囲の選択を受け付け、
前記修正パターンの作成を前記選択された範囲毎に行うこと、
を特徴とする請求項１に記載のパターン作成装置。
【請求項４】
前記製品対応情報は、
実現処理の名称を、実現処理に関連付けられた非機能要件毎に集計した製品対応総括表を含み、
前記非機能要件対応情報は、
実現処理の名称を、実現処理に関連付けられた非機能要件毎に集計した非機能要件対応総括表を含み、
前記制御部は、
前記製品対応総括表を検索して前記第一の抽出を行い、
前記非機能要件対応総括表を検索して前記第二の抽出を行うこと、
を特徴とする請求項１に記載のパターン作成装置。
【請求項５】
ネットワーク上に存在する呼び出すべきWebサービス及びそれらを呼び出す実行順序を定めたパターンに対し、性能向上という非機能要件を充足するのに利用可能な汎用の実現処理を適用することで修正を加えた修正パターンを作成するコンピュータを用いたパターン作成方法であって、
前記コンピュータの記憶部は、
前記パターンを一意に特定する情報に関連付けて、前記Webサービスを一意に特定する情報と、前記Webサービスを呼び出す実行順序と、前記Webサービスに対して修正を加える実現処理の名称とを記憶したパターン設計情報と、
前記実現処理の名称に関連付けて、前記非機能要件と、前記パターンを実行する基盤となる所定のソフトウエアの元で実現処理が実装可能であるか否かを示す評価情報とを記憶した製品対応情報と、
前記実現処理の名称に関連付けて、前記実現処理が前記非機能要件を打ち消すような影響を及ぼすか否かを示す評価情報を記憶した非機能要件対応情報と、
特定の２つの実現処理が同時に実装可能であるか否かを示す評価情報を記憶した組み合わせ可否情報と、
を備え、
前記コンピュータの制御部は、
入力装置を介して前記パターンを一意に特定する情報、前記ソフトウエアの名称、前記非機能要件、前記非機能要件の優先度を受け付け、
前記受け付けた非機能要件及び前記受け付けたソフトウエアの名称を検索キーとして、前記製品対応情報を検索し、前記ソフトウエアの元で実装可能な前記実現処理の名称を抽出する第一の抽出を行い、
前記受け付けた非機能要件を検索キーとして、前記非機能要件対応情報を検索して、前記受け付けた優先度より高い優先度を有する非機能要件を打ち消すような影響のない前記実現処理の名称を抽出する第二の抽出を行い、
前記第一の抽出によって抽出された実現処理の名称と、前記第二の抽出によって抽出された実現処理の名称に共通する実現処理の名称を取得し、
前記共通する実現処理の名称を検索キーとして、前記組み合わせ可否情報を参照し、相互に実装可能な実現処理の名称を組み合わせとして抽出する第三の抽出を行い、
前記第三の抽出によって抽出された組み合わせから、前記受け付けた非機能要件毎に、その非機能要件に関連付けられた実現処理が少なくとも１つ含まれるような組み合わせを取得し、
前記取得した実現処理の組み合わせを前記受け付けたパターンに適用して前記修正パターンを作成し、当該修正パターンを出力装置に表示し、前記パターン設計情報に記憶すること、
を特徴とするパターン作成方法。
【請求項６】
前記記憶部は、
前記第一、第二及び第三の抽出を示す情報に関連付けて、前記実現処理の名称が抽出できない原因と、対処法候補と、表示対象であることを示す情報とを記憶した原因情報を備え、
前記制御部は、
前記表示対象であることを示す情報を検索キーとして、前記原因情報を検索し、前記実現処理の名称が抽出できない原因と、前記対処法候補とを表示すること、
を特徴とする請求項５に記載のパターン作成方法。
【請求項７】
前記制御部は、
前記入力装置を介して、前記パターンの一部の範囲の選択を受け付け、
前記修正パターンの作成を前記選択された範囲毎に行うこと、
を特徴とする請求項５に記載のパターン作成方法。
【請求項８】
前記製品対応情報は、
実現処理の名称を、実現処理に関連付けられた非機能要件毎に集計した製品対応総括表を含み、
前記非機能要件対応情報は、
実現処理の名称を、実現処理に関連付けられた非機能要件毎に集計した非機能要件対応総括表を含み、
前記制御部は、
前記製品対応総括表を検索して前記第一の抽出を行い、
前記非機能要件対応総括表を検索して前記第二の抽出を行うこと、
を特徴とする請求項５に記載のパターン作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パターン作成装置及びパターン作成方法に関する。
【背景技術】
【０００２】
ネットワーク上に分散したアプリケーション（「Webサービス」という）を連携させて作るＳＯＡ（Service-Oriented-Architecture）のコンピュータシステムの設計においては、ネットワークやデータベース等に関する幅広く高度な技術を要するため、設計者の負担は大きい。そこで、その設計を容易に行えるようにするための設計ツールが販売されている。
例えば、特許文献１は、特定の業務システムのワークフローを構成するWebサービスを、要求される業務に適するようにカスタマイズする技術を開示している。
【特許文献１】特開２００７−１８１２２号公報（段落０００６〜０００９）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、特許文献１の技術では、応答時間やセキュリティ要件等の、プログラムの動きに関する性能を現す要件（「非機能要件」）を要求したうえで、Webサービスをカスタマイズすることはできない。カスタマイズの結果、非機能要件が満たされなくなる場合には、Webサービスの設計の手直しを試行錯誤することになる。
そこで、本発明は、Webサービスを連携させて作るＳＯＡのコンピュータシステムの設計において、設計者の負担を軽減し、容易に設計が行える技術を提供することを目的とする。
【課題を解決するための手段】
【０００４】
本発明にかかるパターン作成装置は、パターン名、パターンを実行する基盤となるソフトウエアの名称、非機能要件、非機能要件の優先度を受け付け、非機能要件及びソフトウエアの名称を検索キーとして、製品対応情報を検索し、ソフトウエアの元で実装可能な実現処理の名称を抽出する第一の抽出を行い、非機能要件を検索キーとして、非機能要件対応情報を検索して、受け付けた優先度より高い優先度を有する非機能要件を打ち消すような影響のない実現処理の名称を抽出する第二の抽出を行い、第一の抽出によって抽出された実現処理の名称と、第二の抽出によって抽出された実現処理の名称に共通する実現処理の名称を検索キーとして、組み合わせ可否情報を参照し、相互に実装可能な実現処理の名称を組み合わせとして抽出する第三の抽出を行い、当該組み合わせから、非機能要件毎に、非機能要件に関連付けられた実現処理が少なくとも１つ含まれるような組み合わせを取得し、取得した実現処理の組み合わせをパターンに適用して修正パターンを作成し、当該修正パターンを表示し、記憶することを特徴とする。なお、検索キーとしては、実現処理を特定できるものであればよく、名称以外のものを用いてもよい。
【発明の効果】
【０００５】
本発明によれば、Webサービスを連携させて作るＳＯＡのコンピュータシステムの設計において、設計者の負担を軽減し、容易に設計が行える技術を提供することが可能になる。
【発明を実施するための最良の形態】
【０００６】
以下に、本発明を実施するための最良の形態（「本実施形態」という）を、図等を参照しながら詳細に説明する。
【０００７】
図１は、本実施形態に係るパターン作成装置の構成の一例を示す図である。
パターン作成装置１は、一般的なコンピュータであり、相互にバスで接続された、入力装置１１、出力装置１２、中央制御装置（制御部）１３、補助記憶装置（記憶部）１４及び主記憶装置（記憶部）１５を有している。
補助記憶装置１４には、実現処理関連情報１６及びパターン設計情報１７が記憶されている。実現処理関連情報１６は、製品対応情報１８、非機能要件対応情報１９、組み合わせ可否情報２０及び原因情報２１を含む。
パターン作成処理部２２、実現処理選択部２３は、プログラムである。以下の説明において「○○部は」と主体を示した場合、それは、中央制御装置１３が補助記憶装置１４から各プログラムを読み出し、主記憶装置１５にロードした上で、各プログラムの機能を実行することを意味する。
実現処理２４もプログラムである。しかしながら、これはWebサービスをカスタマイズするプログラムであり、本実施形態においてプログラムとして機能することはない。実現処理２４は、目的とする非機能要件（「処理高速化」等）のグループごとに、「パラレルフロー」等のカスタマイズ手段（「実現処理」という。詳細後記。）を有している。
補足すると、実現処理２４の有無に拘わらず、所定の入力に対しては所定の結果が得られるという入力と出力の対応関係は不変である。但し、実現処理２４の存在により、高速に処理できるとか、安定して（信頼性）処理できるとか、セキュアに処理できるとか、という非機能要件での性能の向上が図れる。
【０００８】
（本実施形態の基本的な考え方）
一般に、ネットワーク上で公開されている様々なWebサービスを呼び出し、ある情報処理を依頼し、処理結果を受け付け、その処理結果を引数として、次順位のWebサービスを呼び出し別の処理を依頼するといった、Webサービスを利用した情報処理は、それらを制御するＳＯＡ基盤ミドルウエアを実装したコンピュータを使用して実現される。
更に、例えば、Webサービスのセキュリティをより向上させるような実現処理をコンピュータに実装し、呼び出されるWebサービスを修正することも、一般的に行われている。
【０００９】
ここで、あるＳＯＡ基盤ミドルウエアのもとでは、ある実現処理が実装され得ないことがある。
また、Webサービスをカスタマイズする目的となる非機能要件としては、例えば、処理高速化、信頼性向上、セキュリティ向上というような例がある。しかし、ある非機能要件を達成するためにある実現処理を実装すると、他の非機能要件に対してマイナスの影響を与えるというトレードオフの関係になる場合がある。
さらに、これらの実現処理相互間においても、あるものが、他のものと同時には実装され得ないということもあり得る。
本実施形態では、前記ＳＯＡ基盤ミドルウエアを「ソフトウエア製品」（図示せず）と呼ぶ。請求項の「ソフトウエア」は、ここで言うＳＯＡ基盤ミドルウエアである「ソフトウエア製品」に相当する。
【００１０】
また、本実施形態では、複数のWebサービスの呼び出し手順等を定めた情報を「パターン」と呼び、これはビジネスプロセス図（フローオブジェクトや接続オブジェクトが連続したフローとなった図）として表示され得る。
したがって、１つのパターンに対して、複数のWebサービスが対応することになる。個々のWebサービスは、ビジネスプロセス図では、「見積作成」や「見積決裁」という名を付された横長長方形のフローオブジェクトによって表現される（図７〜９参照）。
実現処理は、前記のように個々のWebサービスをカスタマイズする手段であり、非機能要件に関連付けられる。非機能要件と実現処理は、１対多の対応関係にある。
【００１１】
本実施形態では、作成済のパターンが既に存在することが前提になっている。但し、その作成済のパターンは、非機能要件については全く考慮されていない。そこで、実現処理によってWebサービスを修正することにより、作成済のパターンを、非機能要件が向上した別のパターンに修正する。修正されたパターンは、修正に用いられた実現処理とともに表示され（図８）、ノウハウとして記憶される。この修正に際しては、前記した実装可能か否かの制約、トレードオフの制約及び実現処理相互間の組み合わせの制約が反映される。
【００１２】
（パターン設計情報）
図２は、本実施形態に係るパターン設計情報の一例を示す図である。
パターン設計情報１７においては、パターンＩＤ欄５１に記憶されたパターンＩＤに関連付けて、パターン名欄５２にはパターン名が、WebサービスＩＤ欄５３にはWebサービスＩＤが、Webサービス名欄５４にはWebサービス名が、連結元欄５５には連結元が、連結先欄５６には連結先が、適用実現処理欄５７には適用実現処理名が、それぞれ記憶されている。
【００１３】
パターンＩＤ欄５１のパターンＩＤは、パターンを一意に特定する識別子である。
パターン名欄５２のパターン名は、パターンの名称である。
WebサービスＩＤ欄５３のWebサービスＩＤは、Webサービスを一意に特定する識別子である。なお、厳密にはWebサービスとは言えない分岐のようなオブジェクトもここでは、WebサービスＩＤを有するものとする。
Webサービス名欄５４のWebサービス名は、Webサービスの名称である。厳密にはWebサービスとは言えない分岐のようなオブジェクトもここでは、Webサービス名を有するものとする。
連結元欄５５の連結元は、そのWebサービス（分岐のようなオブジェクトを含む）を終点とする接続オブジェクト（矢印）の起点のWebサービスＩＤ又は「開始」の文字列である。
連結先欄５６の連結先は、そのWebサービス（分岐のようなオブジェクトを含む）を起点とする接続オブジェクト（矢印）の終点のWebサービスＩＤ又は「終了」の文字列である。
適用実現処理欄５７の適用実現処理名は、Webサービスをカスタマイズするために適用された実現処理の名称である。１つのレコードに２つ以上の実現処理名が記憶されることもあり得る。
パターン設計情報１７のレコードは、パターンＩＤとWebサービスＩＤとの組み合わせの数だけ存在する（同一のWebサービスを、繰り返し異なる実行順序において適用することも可能であるが、本実施形態では、単純化のため、繰り返し適用することはない例を考える）。
なお、「パターンを一意に特定する情報」には、パターンＩＤ及びパターン名が相当する。「Webサービスを一意に特定する情報」には、WebサービスＩＤ及びWebサービス名が相当する。そして、「実行順序」には、「♯」を見出しとした最も左の欄に記憶された１、２、３、・・・が相当する。
【００１４】
（製品対応情報）
図３は、本実施形態に係る製品対応情報の一例を示す図である。製品対応情報１８は、製品対応詳細表３１（図３（ａ））と製品対応総括表３２（図３（ｂ））とからなる。
図３（ａ）の製品対応詳細表３１には、非機能要件欄７１に記憶された非機能要件に関連付けて、実現処理名欄７２には実現処理名が、ソフトウエア製品名欄７３にはソフトウエア製品名毎の実装可否フラグが、それぞれ記憶されている。
非機能要件欄７１の非機能要件は、非機能要件の名称であり、ここでは「処理高速化」、「信頼性向上」及び「セキュリティ向上」を例として挙げた。他の非機能要件が存在してもかまわない。
実現処理名欄７２の実現処理名は、実現処理の名称である。
ソフトウエア製品名欄７３は、ソフトウエア製品の名称を見出しとして有する複数の小欄７４、７５、７６を含む。これらの小欄７４、７５、７６には、実装可否フラグが記憶される。実装可否フラグは、実現処理がソフトウエア製品のもとで実装可能であることを示す「○」及び実装不可能であることを示す「×」の何れかである。
【００１５】
製品対応詳細表３１のレコードは、実現処理名の数だけ存在する。
ちなみに、♯１のレコードは、「パラレルフロー」という実現処理が「処理高速化」という非機能要件を満たし、「ミドルウエア１」、「ミドルウエア２」及び「ミドルウエア３」というソフトウエア製品の元で実装可能であることを示している。
【００１６】
図３（ｂ）の製品対応総括表３２は、図３（ａ）の製品対応詳細表３１のレコードを非機能要件毎にまとめたものである。
非機能要件欄８１に記憶された非機能要件に関連付けて、ソフトウエア製品名欄８２にソフトウエア製品名毎の実装可否フラグが、それぞれ記憶されている。
非機能要件欄８１の非機能要件は、図３（ａ）の非機能要件と同じである。
ソフトウエア製品名欄８２は、ソフトウエア製品の名称を見出しとして有する複数の小欄８３、８４、８５を含む。これらの小欄８３、８４、８５には、実装可否フラグが記憶される。実装可否フラグは、同じ非機能要件を有する製品対応詳細表３１のレコードの同じソフトウエア製品名を有する小欄の実装可能フラグがすべて「○」であることを示す「○」、すべて「×」であることを示す「×」、及びそれ以外であることを示す「△」の何れかである。
【００１７】
（非機能要件対応情報）
図４は、本実施形態に係る非機能要件対応情報の一例を示す図である。非機能要件対応情報１９は、非機能要件対応詳細表３３（図４（ａ））と、非機能要件対応総括表３４（図４（ｂ））とからなる。
図４（ａ）の非機能要件対応詳細表３３には、非機能要件欄９１に記憶された非機能要件に関連付けて、実現処理名欄９２には実現処理名が、被影響非機能要件欄９３には影響を受けることになる非機能要件毎の影響フラグが、それぞれ記憶されている。
非機能要件欄９１の非機能要件は、図３（ａ）の非機能要件と同じである。
実現処理名欄９２の実現処理名は、図３（ａ）の実現処理名と同じである。
被影響非機能要件欄９３は、影響を受けることになる非機能要件を見出しとして有する複数の小欄９４、９５、９６を含む。これらの見出しは、非機能要件欄９１の非機能要件が列の上から下に並ぶ順番で、左から右に並んでいるものとする。これらの小欄９４、９５、９６には、影響フラグが記憶される。
影響フラグは、縦軸の実現処理が（自らの非機能要件以外の）横軸の非機能要件に対して、マイナス影響を与えることを示す「×」及びマイナス影響を与えないことを示す「○」の何れかである。
なお、「非機能要件を打ち消すような影響」には、マイナス影響が相当する。
【００１８】
非機能要件対応詳細表３３のレコードは、実現処理名の数だけ存在する。
ちなみに、♯１のレコードは、「パラレルフロー」という実現処理は、「信頼性向上」に対してはマイナスの影響を与え、「セキュリティ向上」に対してはマイナスの影響を与えないことを示している。
なお、同じ非機能要件の交差部分には、判断外である旨の「−」が記憶されている。
【００１９】
図４（ｂ）の非機能要件対応総括表３４は、図４（ａ）の非機能要件対応詳細表３３のレコードを非機能要件毎にまとめたものである。
非機能要件欄１０１に記憶された非機能要件に関連付けて、被影響非機能要件欄１０２には影響を受けることになる非機能要件毎の影響フラグが、それぞれ記憶されている。
非機能要件欄１０１の非機能要件は、図３（ａ）の非機能要件と同じである。
被影響非機能要件欄１０２は、影響を受けることになる非機能要件を見出しとして有する複数の小欄１０３、１０４、１０５を含む。これらの小欄１０３、１０４、１０５には、影響フラグが記憶される。影響フラグは、同じ非機能要件を有する非機能要件対応詳細表３３のレコードの同じ非機能要件を有する小欄の影響フラグがすべて「○」であることを示す「○」、すべて「×」であることを示す「×」、及びそれ以外であることを示す「△」の何れかである。
なお、同じ非機能要件の交差部分には、情報が存在しない旨の斜線が記憶されている。
【００２０】
（組み合わせ可否情報）
図５は、本実施形態に係る組み合わせ可否情報の一例を示す図である。
組み合わせ可否情報２０には、非機能要件欄１１１に記憶された非機能要件に関連付けて、実現処理名欄１１２には実現処理名が、組み合わせ実現処理名欄１１３には実現処理名毎の組み合わせ可否フラグが、それぞれ記憶されている。
非機能要件欄１１１の非機能要件は、図３（ａ）の非機能要件と同じである。
実現処理名欄１１２の実現処理名は、図３（ａ）の実現処理名と同じである。
組み合わせ実現処理名欄１１３は、実現処理名を見出しとして有する複数の小欄１１４〜１２１を含む。これらの見出しは、実現処理名欄１１２の実現処理名が列の上から下に並ぶ順番で、左から右に並んでいるものとする。これらの小欄１１４〜１２１には、組み合わせ可否フラグが記憶される。組み合わせ可否フラグは、縦軸の実現処理名が（自ら以外の）横軸の実現処理名と同時に実装され得ることを示す「○」及び同時に実装され得ないことを示す「×」の何れかである。
図３では、実現処理とソフトウエア製品との物理的な同時使用の可能性が問題になっているのに対し、ここでは、実現処理同士の当該可能性が問題になっている。そこで、ここでは、フラグを区別しやすくするために「実装可否フラグ」といわずに「組み合わせ可否フラグ」という。当然のことながら、左上から右下へかけての対角線に対して対照に組み合わせ可否フラグが現れる。
【００２１】
組み合わせ可否情報２０のレコードは、実現処理名の数だけ存在する。
ちなみに、♯３のレコードを参照すると、「高信頼メッセージング」が「パラレルフロー」、「WS-Security」、及び「IP-Sec」との組み合わせにおいて実装可能であること、「高信頼メッセージング」が「WS-Trust」との組み合わせにおいては実装不可能であることがわかる。
なお、同じ実現処理名の交差部分には、判断外である旨の「−」が記憶されている。
【００２２】
（原因情報）
図６は、本実施形態に係る原因情報の一例を示す図である。
原因情報２１は、後記する実現処理選択処理手順にて、新たなバターンの作成に失敗した場合に、その失敗の原因及び対処法等をパターン化して表示するためのテーブルである。
原因箇所欄１３１に記憶された原因箇所に関連付けて、結果欄１３２には結果が、原因欄１３３には原因が、対処法候補欄１３４には対処法候補が、表示フラグ欄１３５には表示フラグが、それぞれ記憶されている。
原因箇所欄１３１の原因箇所は、実現処理の候補を発見する障害となった処理手順上の特定の箇所を示す情報である。ここでは、処理手順の特定のステップにおいて、参照されることになる「製品対応総括表」等が記憶されている。
結果欄１３２の結果は、新たなパターンの作成に失敗したことを説明する文章である。
原因欄１３３の原因は、新たなパターンの作成に失敗した原因を説明する文章である。
対処法候補欄１３４の対処法候補は、新たなパターンの作成を成功させるためには、入力条件をどのように変更するのがよいかについて説明する文章である。
表示フラグ欄１３５の表示フラグは、該当するレコードの結果、原因及び対処法候補を表示させる場合に立てられるフラグであり、図６には記載していないが、ここでは「１」を立てるものとする（詳細後記）。
なお、「表示対象であることを示す情報」には、表示フラグが相当する。
【００２３】
図７は、本実施形態におけるパターン作成画面の一例である。パターン作成画面４１は、新たなパターンを作成する際に、元となるパターンの選択、及び作成のための諸条件の入力を行うための画面である。
パターン検索条件入力ボタン１４１をマウス等の入力装置１１（図１）で選択すると、パターン検索条件入力欄（図示せず）が表示される。当該画面に対し「見積」のような文字列を検索キーとして入力すると、パターン設計情報１７（図２）のなかから該当するパターン名が抽出され、パターン検索結果欄１４２に表示される。
【００２４】
パターン検索結果欄１４２に表示されたパターン名１４３、１４４、１４５のうちの１つがマウス等で選択されると、選択されたパターン名が強調表示（符号１４３）され、パターン表示欄１４６に、選択されたパターンが、ビジネスプロセス図１４８として表示される。ここでは、「見積もりパターン１」１４３（図２の♯１〜♯６に対応）のビジネスプロセス図１４８が表示されている。
パターン表示欄１４６には、選択範囲指定ボタン１４７が表示されている。ユーザは、当該ボタンをマウスでクリックし、次いでマウスをポイント・ドラッグすることにより、ビジネスプロセス図１４８の一部又は全部を１回又は複数回指定することができる。ここでは、開始イベント１４９〜「見積決裁」１５１が指定され、更に「受注手配依頼」１５３〜終了イベント１５５が指定されている。前者の選択範囲を表す「Ａ１」１５６、後者の選択範囲を表す「Ａ２」１５７が、破線の長方形とともに表示されている。
【００２５】
選択範囲が指定されると、指定された選択範囲の各部分（Ａ１、Ａ２）に対応した非機能要件・優先度設定欄１５８、１６１が表示される。非機能要件・優先度設定欄１５８、１６１には、優先度入力欄１５９、１６２、及び、非機能要件表示欄１６０、１６３が表示される。非機能要件表示欄１６０、１６３には、例えば図３の製品対応情報１８に登録されているすべての非機能要件（「処理高速化」、「信頼性向上」及び「セキュリティ向上」）が、優先度入力欄１５９、１６２に関連付けて表示されている。ユーザは、優先度入力欄１５９、１６２に優先度「１」、「２」、・・・、「ｎ」（ｍを非機能要件の数とすると、ｎ≦ｍ）を入力し、優先度が入力されない非機能要件は考慮されないものとする。ここでは、選択範囲Ａ１の非機能要件の優先度は、高い順に「信頼性向上」、「処理高速化」に対して入力され、選択範囲Ａ２の非機能要件の優先度は、高い順に「処理高速化」、「セキュリティ向上」に対して入力されている。
ここで優先度とは、高いほうの非機能要件が、低いほうの非機能要件に関連付けられた実現処理によってマイナスの影響を受けることがないことを保証する非機能要件間の順序である
製品名設定欄１６４の製品名選択欄１６５には、製品対応情報１８（図３）に登録されたすべてのソフトウエア製品名が選択肢として表示され（符号１６６）、ユーザはその中から１つを選択する。
パターン作成ボタン１６７は、実現処理選択処理手順の過程で押下される（詳細後記）。
【００２６】
図８は、本実施形態に係るパターン作成結果（成功）画面の一例である。
パターン作成結果（成功）画面４２においては、設定値表示欄１７１には、パターン名欄１７３、ソフトウエア製品名欄１７４、選択範囲欄１７５、及び非機能要件・優先度欄１７６が表示されている。
パターン名欄１７３には、パターン作成画面４１（図７）のパターン検索結果欄１４２にて選択されたパターン名が表示される。
ソフトウエア製品名欄１７４には、パターン作成画面４１の製品名設定欄１６５にて選択されたソフトウエア製品名が表示されている。
選択範囲欄１７５には、パターン作成画面４１のパターン表示欄１４６にて指定された選択範囲（ここでは「Ａ２」）が表示されている。
非機能要件・優先度欄１７６には、パターン作成画面４１にて指定された選択範囲に関連付けて、非機能要件とその優先度が表示されている。
ここでは、「見積もりパターン１」というパターン、「ミドルウエア１」というソフトウエア製品が選択されている。また、説明を簡略化するために、（図７での選択範囲Ａ１を省略し、）「Ａ２」というビジネスプロセス図の一部のみが選択されているものとする。
なお、複数の選択範囲が指定された場合は、選択範囲欄１７５及び非機能要件・優先度欄１７６が繰り返し表示されるものとする。
戻るボタン１７９が押下されると、パターン作成画面４１に戻る。
登録ボタン１８０が押下されると、パターン表示欄１７２に表示されているビジネスプロセス図に対応するパターン（図２の♯１１〜♯１７）がパターン設計情報１７に記憶される（詳細後記）。
【００２７】
パターン表示欄１７２には、カスタマイズされた（実現処理によって修正を受けた）パターンがビジネスプロセス図１８１として表示されている。
図７の選択範囲Ａ２と、図８の選択範囲Ａ２と相違点は、以下の２点である。
１点目は、図７では、Webサービス「受注手配依頼」１５３と「サービス契約依頼」１５４が直列に接続されていたのに対し、図８のパターン作成結果（成功）画面４２では、これらが並列に接続されているということである。
２点目は、図８のパターン作成結果（成功）画面４２には、Webサービス「受注手配依頼」１５３と「サービス契約依頼」１５４に対して「WS-Security」という吹き出し１７７、１７８が付されていることである。この吹き出しは、「WS-Security」による修正が「受注手配依頼」１５３と「サービス契約依頼」１５４に対してなされたことを示している。
【００２８】
図９は、本実施形態に係るパターン作成結果（失敗）画面の一例である。
画面の構成は図８と類似している（同じ構成は同じ符号を振ってある）。
図８と図９との相違点は、以下の３点である。
１点目は、図８では、図７との比較において、選択範囲Ａ２（符号１５７）がカスタマイズ（修正）されているのに対して、図９のパターン作成結果（失敗）画面４３では、選択範囲Ａ２（符号１５７）は何ら変化がないことである。
２点目は、図９のパターン作成結果（失敗）画面４３では、失敗結果説明欄１８２（詳細後記）が表示されていることである。
３点目は、図８の登録ボタン１８０の代わりに、図９のパターン作成結果（失敗）画面４３では、パターン作成ボタン１９１が表示されていることである。
なお、パターン作成ボタン１９１は、設定条件を見直した後再度新たなパターンを作成する際に押下される（詳細後記）。
【００２９】
図８のパターン作成結果（成功）画面４２が表示されるということは、パターン設定情報１７において、適用実現処理名を有するレコードの組が追加されたこと（パターンＩＤが追加されたこと）を意味する（詳細後記）。
図９のパターン作成結果（失敗）画面４３が表示されるということは、入力されたソフトウエア製品名及び非機能要件の優先度に適合する実現処理が発見されない結果、パターン設定情報１７において、適用実現処理名を有するレコードの組が追加されなかったことを意味する（詳細後記）。
【００３０】
（処理手順）
以降、本実施形態に係る処理手順を説明する。処理手順には（１）パターン作成処理手順及び（２）実現処理選択処理手順がある。（２）は（１）の一部（サブルーチン）である。
【００３１】
（パターン作成処理手順）
図１０は、本実施形態に係るパターン作成処理手順のフローチャートの一例である。
ステップＳ２０１において、パターン作成処理部２２は、パターン名の入力を受け付ける。
具体的には、パターン作成処理部２２は、第一に、パターン作成画面４１の表示を要求するユーザの指示を、入力装置１１を介して受け付けると、出力装置１２上にパターン作成画面４１を表示する。
第二に、パターン名の入力を受け付ける（パターン検索結果欄１４２にて符号１４３等の選択を受け付ける）と、パターン設計情報１７を検索し、受け付けたパターン名を有するレコードをすべて取得し、出力装置１２に対してビジネスプロセス図１４８として表示する。
以下単に「入力」及び「表示」という場合は、それぞれ入力装置１１及び出力装置１２を介して入力及び表示が行われるものとする。
【００３２】
ステップＳ２０２において、パターン作成処理部２２は、ソフトウエア製品名等の入力を受け付ける。
具体的には、パターン作成処理部２２は、第一に、ユーザからソフトウエア製品名の入力を受け付ける。
第二に、ユーザから選択範囲の指定（指定は１つでも複数でもよい。）を受け付け、続いてその選択範囲毎に、非機能要件の選択、及び非機能要件の優先度の入力を受け付ける。
第三に、パターン作成処理部２２は、ユーザによるパターン作成ボタン１６７の押下を受け付ける。
なお、指定される選択範囲の数は任意である。さらに、当該ステップを省略し、開始イベント１４９から終了イベント１５５までの全範囲が指定されたものとすることもできる。
【００３３】
ステップＳ２０３において、パターン作成処理部２２は、未処理の選択範囲を取得する。
具体的には、パターン作成処理部２２は、ステップＳ２０２にて受け付けた選択範囲のうち、開始イベント１４９側から順に１ずつ、未処理の選択範囲を取得する。
【００３４】
ステップＳ２０４において、パターン作成処理部２２は、未処理の非機能要件のうち優先度が最も高い非機能要件を取得する。
具体的には、パターン作成処理部２２は、ステップＳ２０３にて取得した選択範囲に係る非機能要件のうち、未処理であり、かつ、最も優先度が高い（優先度の数字が小さい）非機能要件を取得する。
【００３５】
ステップＳ２０５において、実現処理選択部２３は、実現処理名を取得する。
当該ステップの詳細は、実現処理選択処理手順として後記する。
当該ステップが終了した段階で、実現処理選択部２３は、ステップＳ２０２にて受け付けたソフトウエア製品名の元で実装が可能であり、かつ、ステップＳ２０４において取得した非機能要件よりも優先度が高い非機能要件に対してマイナス影響を与えない実現処理名を取得している。
なお、稀に、ステップＳ２０４〜Ｓ２０５のループを繰り返しても実現処理が全く取得できない場合が発生しうる（ステップＳ３０２“Ｙｅｓ”又はステップＳ３０４“Ｙｅｓ”のパス）。この場合は、ステップＳ２０７〜Ｓ２０８を省略してステップＳ２１０に進み（図示せず）、後記のように、図６に立てられた表示フラグに基づいてパターン作成結果（失敗）画面４３が表示されるものとする。
【００３６】
ステップＳ２０６において、パターン作成処理部２２は、すべての非機能要件を処理済であるか否かを判断する。
具体的には、パターン作成処理部２２は、ステップＳ２０３にて取得した選択範囲に係る非機能要件のすべてを処理済である場合（ステップＳ２０６“Ｙｅｓ”は）、ステップＳ２０７に進む。それ以外の場合（ステップＳ２０６“Ｎｏ”）は、ステップＳ２０４に戻る。
【００３７】
ステップＳ２０７において、パターン作成処理部２２は、取得した実現処理名の組み合わせを作成する。
具体的には、パターン作成処理部は、以下の処理をその順に実行する。なお、図１２は、ステップＳ２０７の説明図である。ここでは、「Ｐ１」等は、個々の実現処理名を表し、「Ｐ」等のアルファベット部分は、その実現処理名が対応している非機能要件を表している。
（１）ステップＳ２０５にて取得したすべての実現処理名を非機能要件毎に並べる。
ここでは、「処理高速化」についてのＰ１、Ｐ２、Ｐ３、Ｐ４、「信頼性向上」についてのＱ１、Ｑ２、Ｑ３、及び「セキュリティ向上」についてのＲ１、Ｒ２、Ｒ３、Ｒ４が並んでいる。
（２）任意の実現処理名を縦軸の検索キーとして、組み合わせ可否情報２０（図５）を検索し、該当したレコードに組み合わせ可否フラグ「○」が記憶されている横軸の実現処理名（小欄の見出し）を取得する。
ここでは、まずＰ１を縦軸の検索キーとして検索が行われ、Ｐ２、Ｐ４、Ｑ１、Ｑ３、Ｒ１、及びＲ３が取得されたとする。
（３）前記（２）にて縦軸の検索キーとした実現処理名から、取得した実現処理名に対して結線する。すなわち、Ｐ１から、Ｐ２、Ｐ４、Ｑ１、Ｑ３、Ｒ１、及びＲ３に対して計６本の線（Ｌ１〜Ｌ６）を引くものとする。
（４）前記（２）及び（３）を、前記（１）にて並べたすべての実現処理名（Ｐ１、Ｐ２、・・・、Ｑ１、Ｑ２、・・・、Ｒ１、Ｒ２、・・・）について繰り返す。ここで、例えばＰ１からＰ４に対して線を引いた後は、Ｐ４からＰ１に対して重複して線を引く必要はない。
（５）任意の実現処理名から他のすべての実現処理名に対して（直接）線が引かれている実現処理の組み合わせをすべて取得する。組み合わせに属する実現処理の数は限定されない（２、３、４、・・・であり得る）。
ここでは、（Ｐ１、Ｐ２）、（Ｐ１、Ｑ１、Ｒ３）、（Ｐ１、Ｑ１、Ｒ１、Ｒ３）等の組み合わせが取得されたものとする。逆に、例えば（Ｐ１、Ｐ２、Ｐ３）は取得されない。なぜならばＰ１とＰ３とが直接結線されていないからである。
【００３８】
ステップＳ２０８において、パターン作成処理部２２は、すべての非機能要件を満たす実現処理名の組み合わせが存在するか否かを判断する。
具体的には、パターン作成処理部２２は、ステップＳ２０７にて取得した組み合わせのうち、ステップＳ２０２にて選択されている非機能要件毎に少なくとも１つの実現処理名を有する組み合わせが存在する場合（ステップＳ２０８“Ｙｅｓ”）は、それらの組み合わせをすべて取得してステップＳ２０９に進む。それ以外の場合（ステップＳ２０８“Ｎｏ”）は、原因情報２１（図６）の３行目のレコードの表示フラグ欄に「１」を記憶しステップＳ２１０に進む。
ここでは、前提として、ステップＳ２０２にて受け付けられている非機能要件は「処理高速化」、「信頼性向上」及び「セキュリティ向上」の３つであるとする。すると、例えば（Ｐ１、Ｐ２）、（Ｐ１、Ｑ１、Ｒ３）、（Ｐ１、Ｑ１、Ｒ１、Ｒ３）等の多くの候補のうちから、（Ｐ１、Ｑ１、Ｒ１）、（Ｐ１、Ｑ１、Ｒ３）、（Ｐ１、Ｑ１、Ｒ１、Ｒ３）、（Ｐ２、Ｑ１、Ｒ１）、（Ｐ２、Ｑ１、Ｒ３）、（Ｐ２、Ｑ１、Ｒ１、Ｒ３）、（Ｐ１、Ｐ２、Ｑ１、Ｒ１）、（Ｐ１、Ｐ２、Ｑ１、Ｒ３）、及び（Ｐ１、Ｐ２、Ｑ１、Ｒ１、Ｒ３）が取得される。なぜなら、（  ）の中に「Ｐ」、「Ｑ」及び「Ｒ」が少なくとも１つずつ存在するからである。
【００３９】
ステップＳ２０９において、パターン作成処理部２２は、新たなパターンを作成する。
具体的には、パターン作成処理部２２は、第一に、登録ボタン１８０（図８）の押下を受け付けると、ステップＳ２０８にて取得した実現処理名の組み合わせを、ステップＳ２０２にて選択範囲の指定を受け付けた、ビジネスプロセス図の部分に対して適用する。
例えば、ステップＳ２０２にて、「見積もりパターン１」のパターンのうち「受付手配依頼１５３〜サービス契約依頼１５４」の選択範囲について、「処理高速化：１」及び「セキュリティ向上：２」が選択されていたとする。そして、ステップＳ２０８にて、（「パラレルフロー」、「WS-Security」）が組み合わせとして取得されたとする。
【００４０】
この場合、パターン作成処理部２２は、以下の処理をその順に実行する。
（１）ステップ２０１にて受け付けたパターン名（ここでは「見積もりパターン１」である）を検索キーとして、図２のパターン設計情報１７を検索し、該当するレコードを取得（図２の♯１〜♯６）し、それらのレコードをコピーして新たなレコードとする（図２の♯１１〜１４、♯１６、♯１７）。
（２）そのうち、Webサービス名欄５４に、ステップＳ２０２にて指定された選択範囲に含まれるWebサービス名（ここでは「受付手配依頼」、「サービス契約依頼」である）を有するレコードの適用実現処理欄５７に「パラレルフロー」及び「WS-Security」を記憶する。
（３）「パラレルフロー」のように処理の並列化を行う実現処理名が取得されている場合は、並列化されるWebサービス名の直前に分岐を示すオブジェクトを示すためのレコードをさらに新設する（図２の♯１５）。
（４）新たなレコードのパターンＩＤ欄５１に新たに生成したパターンＩＤを記憶し、パターン名欄５２に「見積もりパターン１−ａ」のような、元のパターン名から派生したことが分かるようなパターン名を記憶する。
（５）「パラレルフロー」のように処理の並列化を行う実現処理名が取得されている場合は、既存のレコードに対応するレコードの間に、全く新しいレコードが割り込むことになる。そこで、割り込んだレコードの前後の連結関係を修正する。すなわち、（３）にて新設したレコードの直前のレコードの連結先を変更し（♯１４の連結先：「Ｗ００４」→「Ｂ００２」）、（３）にて新設したレコードに続くレコードの連結元及び連結先を変更する（♯１６の連結元：「Ｗ００３」→「Ｂ００２」、♯１６の連結先：「Ｗ００５」→「終了」、♯１７の連結元「Ｗ００４」→「Ｂ００２」）。
（６）以上にて作成したレコードをパターン設計情報１７に記憶する。
【００４１】
ステップＳ２１０において、パターン作成処理部２２は、パターン作成結果（失敗）画面４３を表示する。
具体的には、パターン作成処理部２２は、第一に、表示フラグを検索キーとし原因情報２１（図６）を検索し、表示フラグが立てられているレコードの結果、原因及び対処法候補を取得する。
第二に、パターン作成結果（失敗）画面４３（図９）を表示し、失敗説明欄１８２の結果欄１８３、原因欄１８５、対処法候補欄１８６に、取得した結果、原因及び対処法候補をそれぞれ表示し、対象欄１８４に、指定された選択範囲のうち、表示フラグを立てる原因となった選択範囲を表示する。
複数の表示フラグが存在する場合、それぞれの表示フラグに対して、処理フラグが立てられた順番を付しておくことにすれば、ユーザの設定によって、複数の失敗説明欄１８２を、一度に、又は順次表示することが可能である。
【００４２】
ステップＳ２１１において、パターン作成処理部２２は、未処理の選択範囲がないか否かを判断する。
具体的には、パターン作成処理部２２は、未処理の選択範囲がない場合（ステップＳ２１１“Ｙｅｓ”）は、ステップＳ２１２に進む。それ以外の場合（ステップＳ２１１“Ｎｏ”）は、ステップＳ２０３に戻る。
【００４３】
ステップＳ２１２において、パターン作成処理部２２は、新たなパターンを表示する。
具体的には、パターン作成処理部２２は、パターン作成結果（成功）画面４２（図８）を表示する。この画面には、ステップＳ２０９にて作成されたパターン（「見積もりパターン１−ａ」）をビジネスプロセス図１８１として表示するものとする。
作成されたパターンが複数ある場合は、すべてのパターンを順次表示してもよい。また、例えば、ユーザが初心者である場合などは、ユーザの設定により、適用された実現処理の数が少ない順にパターンを順次表示すること、実現処理の数が所定の閾値を超えないパターンのみを表示すること、等も可能である。
その後、パターン作成処理手順を終了する。
【００４４】
（実現処理選択処理手順）
図１１は、本実施形態に係る実現処理選択処理手順のフローチャートの一例である。実現処理選択処理手順は、パターン作成処理手順のステップＳ２０５の詳細な処理手順である。
ステップＳ３０１において、実現処理選択部２３は、製品対応総括表３２を検索する。
具体的には、実現処理選択部２３は、ステップＳ２０４にて取得した非機能要件を縦軸の検索キーとして、ステップＳ２０２にて受け付けたソフトウエア製品名を横軸の検索キーとして、製品対応総括表３２（図３（ｂ））を検索し、該当する交差部分の実装可否フラグを取得する。
【００４５】
ステップＳ３０２において、実現処理選択部２３は、実装可否フラグが「×」であるか否かを判断する。
具体的には、実現処理選択部２３は、ステップＳ３０１にて取得した実装可否フラグが「×」である場合（ステップＳ３０２“Ｙｅｓ”）は、原因情報２１（図６）の１行目のレコードの表示フラグ欄１３５に「１」を記憶し、原因欄１３３及び対処法候補欄１３４の「○○」をステップＳ２０４にて取得した非機能要件に書き換え、実現処理選択処理手順を終了する。それ以外の場合（ステップＳ３０２“Ｎｏ”）はステップＳ３０３に進む。
【００４６】
ステップＳ３０３において、実現処理選択部２３は、非機能要件対応総括表３４を検索する。
具体的には、実現処理選択部２３は、ステップＳ２０４にて取得した非機能要件を縦軸の検索キーとして、その非機能要件より優先度の高いすべての非機能要件を横軸の検索キーとして、非機能要件対応総括表３４（図４（ｂ））を検索し、該当する交差部分の影響フラグをすべて取得する。
より優先度の高い非機能要件が存在しない場合（ステップＳ２０４〜Ｓ２０５のループの１巡目は、ステップＳ２０４にて取得した非機能要件の優先度が「１」である）もあるが、この場合は「○」を取得したものとする。当該ループの２順目以降では、縦軸の検索キーの非機能要件の優先度は「２」以上となり、具体的な横軸の検索キーが出現する。
【００４７】
ステップＳ３０４において、実現処理選択部２３は、影響フラグが「×」であるか否かを判断する。
具体的には、実現処理選択部２３は、ステップＳ３０３にて取得した影響フラグの中に「×」が少なくとも１つ含まれる場合（ステップＳ３０４“Ｙｅｓ”）は、原因情報２１（図６）の２行目のレコードの表示フラグ欄１３５に「１」を記憶し、原因欄１３３及び対処法候補欄１３４の「○○」をステップＳ２０４にて取得した非機能要件に書き換え、原因欄１３３及び対処法候補欄１３４の「△△」をより優先度の高い非機能要件に書き換え、実現処理選択処理手順を終了する。それ以外の場合（ステップＳ３０４“Ｎｏ”）はステップＳ３０５に進む。
【００４８】
ステップＳ３０５において、実現処理選択部２３は、実装可否フラグ及び影響フラグが両者とも○であるか否かを判断する。
具体的には、実現処理選択部２３は、ステップＳ３０１にて取得した実装可否フラグが「○」であり、かつステップＳ３０３にて取得した影響フラグがすべて「○」である場合（ステップＳ３０５“Ｙｅｓ”）は、ステップＳ３０６に進む。それ以外の場合（ステップＳ３０５“Ｎｏ”）はステップＳ３０７に進む。
【００４９】
ステップＳ３０６において、実現処理選択部２３は、すべての実現処理を取得する。
具体的には、実現処理選択部２３は、ステップＳ２０４にて取得した非機能要件を検索キーとして製品対応詳細表３１を検索し、該当するすべての実現処理名を取得する。その後、実現処理選択処理手順を終了する。
【００５０】
ステップＳ３０７において、実現処理選択部２３は、製品対応詳細表３１を検索する。
具体的には、実現処理選択部２３は、ステップＳ３０１にて「△」の実装可否フラグを取得している場合は、ステップＳ２０４にて取得した非機能要件を検索キーとして製品対応詳細表３１を検索し、該当したレコードのうち、ステップＳ２０２にて受け付けたソフトウエア製品名を見出しに有する小欄に実装可否フラグ「○」があるレコードの実現処理名を取得する。
ステップＳ３０１にて「○」の実装可否フラグを取得している場合には、製品対応詳細表３１において、ステップＳ２０４にて取得した非機能要件を有するレコードの実現処理名をすべて取得する。
【００５１】
ステップＳ３０８において、実現処理選択部２３は、非機能要件対応詳細表３３を検索する。
具体的には、実現処理選択部２３は、ステップＳ３０３にて取得したすべての影響フラグが「○」ではない場合は、ステップＳ２０４にて取得した非機能要件を縦軸の検索キーとして、その非機能要件より優先度の高いすべての非機能要件を横軸の検索キーとして、非機能要件対応詳細表３３（図４（ａ））を検索し、該当する交差部分の影響フラグがすべて「○」であるレコードの実現処理名をすべて取得する。
ステップＳ３０３にて取得したすべての影響フラグが「○」である場合は、非機能要件対応詳細表３３において、ステップＳ２０４にて取得した非機能要件を非機能要件欄９１に有するレコードの実現処理名をすべて取得する。
【００５２】
ステップＳ３０９において、実現処理選択部２３は、最終的に使用可能な実現処理名を絞り込む。
具体的には、実現処理選択部２３は、ステップＳ３０７にて取得した実現処理名と、ステップＳ３０８にて取得した実現処理名とに共通する実現処理名を取得する。これにより、ソフトウエア製品の元で実装可能かつ、より高い優先度の非機能要因に対してマイナス影響を与えることのない、実現処理名が取得されたことになる。
その後、実現処理選択処理手順を終了する（ステップＳ２０６にリターンする）。
【００５３】
（変形例）
ステップＳ３０８を以下の処理とすることも可能である。
すなわち、実現処理選択部２３は、ステップＳ３０７にて取得した実現処理名を縦軸の検索キーとして、ステップＳ２０４にて取得した非機能要件より優先度の高いすべての非機能要件を横軸の検索キーとして、非機能要件対応詳細表３３（図４（ａ））を検索し、該当する交差部分の影響フラグがすべて「○」であるレコードの実現処理名をすべて取得する。
この場合は、ステップＳ３０９の処理を省略して、実現処理選択処理手順を終了する。（ステップＳ２０６にリターンする）。この変形例によれば、より処理量が削減できる。
【００５４】
なお、製品対応総括表３２、及び非機能要件対応総括表３４を検索するステップＳ３０１、Ｓ３０３を経由すると、処理速度を上げる効果を生じる。なぜならば、実現処理名が多数存在する場合、製品対応詳細表３１、及び非機能要件対応詳細表３３のレコードも多数となり、製品対応詳細表３１、及び非機能要件対応詳細表３３の検索に時間を要するからである。すなわち、各総括表で「×」又は「○」のフラグを取得した場合はレコード数の多い各詳細表を参照する必要がなくなる。
また、ステップＳ３０７、ステップＳ３０８のそれぞれにおいて、処理を場合分けしているのも、処理量を減らすためである。
【図面の簡単な説明】
【００５５】
【図１】本実施形態に係るパターン作成装置の構成の一例を示す図である。
【図２】本実施形態に係るパターン設計情報の一例を示す図である。
【図３】本実施形態に係る製品対応情報の一例を示す図である。
【図４】本実施形態に係る非機能要件対応情報の一例を示す図である。
【図５】本実施形態に係る組み合わせ可否情報の一例を示す図である。
【図６】本実施形態に係る原因情報の一例を示す図である。
【図７】本実施形態におけるパターン作成画面の一例である。
【図８】本実施形態に係るパターン作成結果（成功）画面の一例である。
【図９】本実施形態に係るパターン作成結果（失敗）画面の一例である。
【図１０】本実施形態に係るパターン作成処理手順のフローチャートの一例である。
【図１１】本実施形態に係る実現処理選択処理手順のフローチャートの一例である。
【図１２】パターン作成処理手順のステップＳ２０７の説明図である。
【符号の説明】
【００５６】
１      パターン作成装置
１１    入力装置
１２    出力装置
１３    中央制御装置（制御部）
１４    補助記憶装置（記憶部）
１５    主記憶装置（記憶部）
１６    実現処理関連情報
１７    パターン設計情報
１８    製品対応情報
１９    非機能要件対応情報
２０    組み合わせ可否情報
２１    原因情報
２２    パターン作成処理部
２３    実現処理選択部
３１    製品対応詳細表
３２    製品対応総括表
３３    非機能要件対応詳細表
３４    非機能要件対応総括表
４１    パターン作成画面
４２    パターン作成結果（成功）画面
４３    パターン作成結果（失敗）画面
【図１】
2010039892.tif 000003
【図２】
2010039892.tif 000004
【図３】
2010039892.tif 000005
【図４】
2010039892.tif 000006
【図５】
2010039892.tif 000007
【図６】
2010039892.tif 000008
【図７】
2010039892.tif 000009
【図８】
2010039892.tif 000010
【図９】
2010039892.tif 000011
【図１０】
2010039892.tif 000012
【図１１】
2010039892.tif 000013
【図１２】
2010039892.tif 000014