(57)【要約】【課題】  ソフトウェア開発プロセスのテーラリングなどの工程の変更を支援するための装置において、管理工数の削減や、新規プロセスの承認の手順の簡素化を図ることで、開発現場におけるプロセスの再定義を円滑に行えるようにして、顧客の要望を実現するのに適切な開発プロセスの適用を支援できるようにする。【解決手段】  工程を適度な粒度で分割し、その分割した範囲のプロセスパタンを複数記憶するパタン記憶部１０３、１０５と、工程のための特性情報を入力として、パタン記憶部１０３、１０５から適切なプロセスパタンを選択する複数のパタン選択部１０２、１０４と、それぞれのパタン選択部１０２、１０４によって選択されたパタンを組み合わせて１つのプロセスを生成するプロセス生成部１０９と、生成されたプロセスとプロセスに関する規則情報１０７とを比較して、規則に合致しているか否かを判定する規則合致判定部１０６とを備える。【選択図】        図１
2006065521.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア開発プロセスのテーラリングなどの工程の変更を支援するための装置であって、
前記工程を適度な粒度で分割し、その分割した範囲のプロセスパタンを複数記憶するパタン記憶部と、
前記工程のための特性情報を入力として、前記パタン記憶部から適切なプロセスパタンを選択する複数のパタン選択部と、
それぞれのパタン選択部によって選択されたパタンを組み合わせて１つのプロセスを生成するプロセス生成部と、
前記プロセス生成部によって生成されたプロセスと、プロセスに関する規則情報とを比較して、規則に合致しているか否かを判定する規則合致判定部とを備えることを特徴とする工程変更支援装置。
【請求項２】
ソフトウェア開発プロセスのテーラリングなどの工程の変更を支援するための装置であって、
前記工程を適度な粒度で分割し、その分割した範囲のプロセスパタンを複数記憶するパタン記憶部と、
前記工程のための特性情報を入力として、前記パタン記憶部から適切なパタンを選択する複数のパタン選択部と、
それぞれのパタン選択部によって選択されたパタンを組み合わせて１つのプロセスを生成するプロセス生成部と、
前記プロセス生成部によって生成されたプロセスと、プロセスに関する規則情報とを比較して、規則に合致しているか否かを判定する規則合致判定部と、
前記規則合致判定部によって規則に合致していないと判断した場合に、プロセスパラメータを調整して規則に合致させる変更を行うプロセス変更部とを備えることを特徴とする工程変更支援装置。
【請求項３】
パタン記憶部は、工程のための特性情報と比較してプロセスを選択するための第１の属性情報と、前段でのプロセスの選択との依存関係を記憶して、前記前段でのプロセス選択にもとづきプロセスパタンの選択範囲を絞り込むための第２の属性情報とを各プロセスパタンに持たせるものであることを特徴とする請求項１または２記載の工程変更支援装置。
【請求項４】
プロセス変更部は、プロセスパラメータを調整するためのデータを別途参照して、プロセス毎にプロセスパラメータを調整するものであることを特徴とする請求項２または３記載の工程変更支援装置。
【請求項５】
ソフトウェア開発プロセスのテーラリングなどの工程の変更を支援するための方法であって、
前記工程を適度な粒度で分割し、その分割した範囲のプロセスパタンを複数記憶するパタン記憶工程と、
前記工程のための特性情報を入力として、前記パタン記憶工程にて記憶された複数のプロセスパタンから適切なプロセスパタンを選択する複数のパタン選択工程と、
それぞれのパタン選択工程によって選択されたパタンを組み合わせて１つのプロセスを生成するプロセス生成工程と、
前記プロセス生成工程によって生成されたプロセスと、プロセスに関する規則情報とを比較して、規則に合致しているか否かを判定する規則合致判定工程とを備えることを特徴とする工程変更支援方法。
【請求項６】
ソフトウェア開発プロセスのテーラリングなどの工程の変更を支援するための方法であって、
前記工程を適度な粒度で分割し、その分割した範囲のプロセスパタンを複数記憶するパタン記憶工程と、
前記工程のための特性情報を入力として、前記パタン記憶工程にて記憶された複数のプロセスパタンから適切なプロセスパタンを選択する複数のパタン選択工程と、
それぞれのパタン選択工程によって選択されたパタンを組み合わせて１つのプロセスを生成するプロセス生成工程と、
前記プロセス生成工程によって生成されたプロセスと、プロセスに関する規則情報とを比較して、規則に合致しているか否かを判定する規則合致判定工程と、
前記規則合致判定工程によって規則に合致していないと判断した場合に、プロセスパラメータを調整して規則に合致させる変更を行うプロセス変更工程とを備えることを特徴とする工程変更支援方法。
【請求項７】
パタン記憶工程において、工程のための特性情報と比較してプロセスを選択するための第１の属性情報と、前段でのプロセスの選択との依存関係を記憶して、前記前段でのプロセス選択にもとづきプロセスパタンの選択範囲を絞り込むための第２の属性情報とを各プロセスパタンに持たせることを特徴とする請求項５または６記載の工程変更支援方法。
【請求項８】
プロセス変更工程において、プロセスパラメータを調整するためのデータを別途参照して、プロセス毎にプロセスパラメータを調整することを特徴とする請求項６または７記載の工程変更支援方法。
【請求項９】
請求項５から８までのいずれか１項記載の工程変更支援方法をコンピュータに実行させるプログラム。
【請求項１０】
請求項５から８までのいずれか１項記載の工程変更支援方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は工程変更支援装置およびその方法に関し、特に、ソフトウェアエンジニアリング技術分野におけるソフトウェア開発プロセスの変更などの、工程の変更を支援するための、工程変更支援装置およびその方法に関する。
【背景技術】
【０００２】
工程変更や工程設計を支援するための従来の方法としては、特許文献１に示すように、あらかじめ想定した工程パタンをすべてパタンとして記憶しておき、外部からの情報によって適切なものを選択するものが存在する。
【０００３】
ソフトウェア開発プロセスの変更に関する従来の技術について、図１７〜図２０を用いて説明する。
図１７は、ソフトウェアの開発プロセスの変更を説明するために、プロセスの流れを抽象的に表現した図である。この図では、プロセスａを実行したあと、プロセスｂと、プロセスｃとを並行して実行し、プロセスｂ、プロセスｃの実行を完了したあとに、プロセスｄ、プロセスｅ、プロセスｆを順次実行することを意味している。
【０００４】
新しい開発プロジェクトにおいて、プロセスｂを変更することと、プロセスｅを削除することとが望ましいと判断できる場合の手順を説明する。図１８は、図１７で示したプロセスから適切と思われる変更を実施して作成した新しいプロセスを示す。図１７のプロセスｂを、図１８のプロセスｂ１、プロセスｂ２に変更したことを意味する。また、図１７のプロセスｅは削除されている。このようなプロセスの変更を行った場合、その変更したプロセスを承認する行為が組織的には必要である。その承認する方法について２つの例を紹介する。
【０００５】
図１９は、組織で保有しているプロセス資産を図で示したものである。符号１９０１で示すプロセスが組織の標準プロセスである。また、符号１９０２、符号１９０３、符号１９０４、符号１９０５は、符号１９０１の標準プロセスから変更可能なプロセスのパタンを複数保持していることを示している。新しくプロセスを定義しなおした場合は、符号１９０２から符号１９０５で示されているプロセスを変更可能なプロセスとして比較し、一致するものがあれば承認し、一致するものがなければさらなる検討が必要となる。
【０００６】
図２０は、プロセスの事例を多数保持する図１９の方法とは異なり、プロセスの変更規則を設け、新しく定義したプロセスが変更規則に合致しているか否かを判断して承認しようとするものである。符号２００１が標準的なプロセスであり、符号２００２で示すようにプロセスの変更規則を合わせもっている。この場合は、ステップＳ２００３で新規なプロセスを定義し、ステップＳ２００４では、ステップＳ２００３で新規に定義したプロセスが変更規則に沿って変更されたか否かを判断する。そして、規則に合致している場合は、ステップＳ２００５において、新規に定義したプロセスを承認するものである。規則に合致していない場合は、ステップＳ２００３に戻る。
【特許文献１】特開平７−２８８９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ソフトウェアの開発は、いわゆる工場での大量生産と異なり、特定の工程を定義すればよいというものではなく、同じ時期においても、異なるプロジェクトであれば、顧客の要求や実現すべき作業の内容は異なり、そのプロジェクトを効率的かつ効果的に進めるために開発プロセスを再定義することが求められている。この開発プロセスの再定義を実施しようとする場合において、図１９と図２０とを用いて上で説明した典型的な２つの方法で行うときには、管理すべきプロセスパタンの肥大化や、規則に合致しているか否かを判断する工数、手順の煩雑化が課題となってくる。
【０００８】
このため従来においては、多少プロセスが最適でなくても、変更する工数を考えて開発プロセスを変更せずに開発を行うといった行為や、開発プロセスが合わないために、定義された開発プロセス以外で開発を進めるといった行為を、組織として牽制し、組織で定義されたプロセスでの作業の徹底と、最適なプロセスで仕事を行うという効率とを両立させる必要があった。
【０００９】
本発明は、新規プロセスを効率的に定義しようとするものであり、管理工数の削減や、新規プロセスの承認の手順の簡素化を図ることで、実際の開発現場におけるプロセスの再定義を円滑に行えるようにして、顧客の要望を実現するのに適切な開発プロセスの適用を支援できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の工程変更支援装置は、ソフトウェア開発プロセスのテーラリングなどの工程の変更を支援するための装置が、前記工程を適度な粒度で分割し、その分割した範囲のプロセスパタンを複数記憶するパタン記憶部と、前記工程のための特性情報を入力として、前記パタン記憶部から適切なプロセスパタンを選択する複数のパタン選択部と、それぞれのパタン選択部によって選択されたパタンを組み合わせて１つのプロセスを生成するプロセス生成部と、前記プロセス生成部によって生成されたプロセスと、プロセスに関する規則情報とを比較して、規則に合致しているか否かを判定する規則合致判定部とを備えることを特徴とする。
【００１１】
また本発明の工程変更支援装置は、ソフトウェア開発プロセスのテーラリングなどの工程の変更を支援するための装置が、前記工程を適度な粒度で分割し、その分割した範囲のプロセスパタンを複数記憶するパタン記憶部と、前記工程のための特性情報を入力として、前記パタン記憶部から適切なパタンを選択する複数のパタン選択部と、それぞれのパタン選択部によって選択されたパタンを組み合わせて１つのプロセスを生成するプロセス生成部と、前記プロセス生成部によって生成されたプロセスと、プロセスに関する規則情報とを比較して、規則に合致しているか否かを判定する規則合致判定部と、前記規則合致判定部によって規則に合致していないと判断した場合に、プロセスパラメータを調整して規則に合致させる変更を行うプロセス変更部とを備えることを特徴とする。
【００１２】
本発明によれば、上記において、パタン記憶部が、工程のための特性情報と比較してプロセスを選択するための第１の属性情報と、前段でのプロセスの選択との依存関係を記憶して、前記前段でのプロセス選択にもとづきプロセスパタンの選択範囲を絞り込むための第２の属性情報とを各プロセスパタンに持たせるものであることが好適である。
【００１３】
また本発明によれば、上記において、プロセス変更部が、プロセスパラメータを調整するためのデータを別途参照して、プロセス毎にプロセスパラメータを調整するものであることが好適である。
【００１４】
上記課題を解決するために、本発明の工程変更支援方法は、ソフトウェア開発プロセスのテーラリングなどの工程の変更を支援するための方法が、前記工程を適度な粒度で分割し、その分割した範囲のプロセスパタンを複数記憶するパタン記憶工程と、前記工程のための特性情報を入力として、前記パタン記憶工程にて記憶された複数のプロセスパタンから適切なプロセスパタンを選択する複数のパタン選択工程と、それぞれのパタン選択工程によって選択されたパタンを組み合わせて１つのプロセスを生成するプロセス生成工程と、前記プロセス生成工程によって生成されたプロセスと、プロセスに関する規則情報とを比較して、規則に合致しているか否かを判定する規則合致判定工程とを備えることを特徴とする。
【００１５】
また本発明の工程変更支援方法は、ソフトウェア開発プロセスのテーラリングなどの工程の変更を支援するための方法が、前記工程を適度な粒度で分割し、その分割した範囲のプロセスパタンを複数記憶するパタン記憶工程と、前記工程のための特性情報を入力として、前記パタン記憶工程にて記憶された複数のプロセスパタンから適切なプロセスパタンを選択する複数のパタン選択工程と、それぞれのパタン選択工程によって選択されたパタンを組み合わせて１つのプロセスを生成するプロセス生成工程と、前記プロセス生成工程によって生成されたプロセスと、プロセスに関する規則情報とを比較して、規則に合致しているか否かを判定する規則合致判定工程と、前記規則合致判定工程によって規則に合致していないと判断した場合に、プロセスパラメータを調整して規則に合致させる変更を行うプロセス変更工程とを備えることを特徴とする。
【００１６】
本発明によれば、上記のパタン記憶工程において、工程のための特性情報と比較してプロセスを選択するための第１の属性情報と、前段でのプロセスの選択との依存関係を記憶して、前記前段でのプロセス選択にもとづきプロセスパタンの選択範囲を絞り込むための第２の属性情報とを各プロセスパタンに持たせることが好適である。
【００１７】
また本発明によれば、上記のプロセス変更工程において、プロセスパラメータを調整するためのデータを別途参照して、プロセス毎にプロセスパラメータを調整することが好適である。
【００１８】
本発明のプログラムは、上記の工程変更支援方法をコンピュータに実行させるプログラムである。
本発明の記録媒体は、上記の工程変更支援方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１９】
本発明によれば、新規プロセスの生成を容易にし、開発案件毎に、顧客の要望に合わせて最適な開発プロセスを選択実施することが可能となる。
【発明を実施するための最良の形態】
【００２０】
本発明について、図２、図３を用いて詳細に説明する。
図２は、標準の開発プロセスを、管理可能な適度な粒度に分割したものを示す。すなわち、ここでは、図１７に示したプロセスの例におけるプロセスａからプロセスｆを、プロセスａ、プロセスｂ、プロセスｃ、プロセスｄからなるプロセスブロック２０１と、プロセスｅ、プロセスｆからなるプロセスブロック２０２とに分割している。そして、プロセスブロック２０１に対して選択可能なプロセスパタンとして、符号２０３、符号２０４の２つのパタンが定義されているものとする。また、符号２０２で示すプロセスブロックについても、符号２０５、符号２０６で示す２つのプロセスパタンが定義されているものとする。
【００２１】
図１８に示した変更後のプロセスは、図２の符号２０３のプロセスを選択し、続くプロセスとして符号２０５のプロセスを選択することで、生成可能となる。このように、あらかじめ定義されたプロセスパタンをブロック化された単位で選択してプロセスを生成することで、生成したプロセスは、規則に合致していると自動的に判断できるものである。
【００２２】
次に、図３を用いて、プロセスブロックに分割して管理することの優位性を説明する。図３では、符号３０１、３０２、３０３、３０４、３０５で示したＡ〜Ｅの５つのプロセスブロックからなるプロセスを示している。また、符号３０１のプロセスブロックＡの選択肢として、符号３０６で示すａ１、ａ２、ａ３のプロセスパタンが存在し、符号３０２のプロセスブロックＢの選択肢として、符号３０７で示すｂ１、ｂ２、ｂ３のプロセスパタンが存在することを示している。符号３０３のプロセスブロックＣ、符号３０４のプロセスブロックＤ、符号３０５のプロセスブロックＥに関しても、同様に各３つの選択肢があると仮定している(符号３０８〜３１０のプロセスパタン)。
【００２３】
このような場合に、管理すべきプロセスパタンの総数は３×５で計算でき、つまり１５パタンのプロセスを管理すればよい。また、このプロセスパタンから生成できるプロセスの場合の数は、３の５乗となり、２４３パタンものプロセスとなる。また、１パタンあたりのプロセスの規模もブロック分割しないほうが大きくなる。このように、管理すべきプロセスパタンの数、大きさともにブロック分割をしたほうが有利である。
【００２４】
このように、本発明の工程変更支援方法では、管理すべきプロセス数の削減を実現するとともに、新規プロセスの生成においても、プロセスブロック毎に選択するという容易性を得ることができ、さらに、生成したプロセスの規則合致性を保証する仕組みの実現により、新規プロセスの定義にかかる手間を大幅に省略することができる。
【００２５】
本発明の実施の形態について、図１および、図４から図１６を用いて説明する。
図１は、本発明の全体像を図示したものである。ここでは、ソフトウェア開発の特性情報を入力情報として、開発プロセスが生成される手順を簡単に述べる。符号１０１が入力となるソフトウェア開発の特性情報である。この入力情報１０１に基づき、符号１０２で示すパタン選択部Ａは、符号１０３で示すパタン記憶部Ａの中から最適なプロセスを選択する。また、符号１０４で示すパタン選択部Ｂは、符号１０５のパタン記憶部Ｂの中から最適なプロセスを選択する。同様のパタン選択部及びパタン記憶部が、さらに適当数だけ設けられているものとする。
【００２６】
そして、各パタン選択部１０２、１０４、…により選択されたプロセスによって、開発プロセス全体のプロセスが、生成プロセス１０９として確定する。さらに、確定したプロセス１０９に対して、プロセスに関する規則情報１０７に合致しているか否かを、規則合致判定部１０６により判定し、規則に合致しない場合には、プロセス変更部１０８によって、規則に合致するように、生成プロセス、生成プロセスのパラメータを変更する。
【００２７】
以下、本発明をソフトウェアの開発プロセスのテーラリングに適用する場合の実施の形態を詳細に説明する。
図４は、ソフトウェアの開発の大きな流れを示したものであり、工程は、左から右へと進むものとする。ソフトウェア要求分析の工程４０１は、ソフトウェアに対する要求事項を確立し、文書化する工程である。ソフトウェア方式設計の工程４０２は、要求事項を実現するためのソフトウェアの構成など、再上位レベルの設計を行う工程である。ソフトウェア詳細設計の工程４０３では、コーディング、コンパイル、及びテストを実施するソフトウェアの単位に詳細化し、ソフトウェアに対する要求事項を割り振る。ソフトウェアコード作成及びテストの工程４０４では、コーディング、テストを実施し、要求事項を満足しているかどうかを確認する。ソフトウェア結合の工程４０５では、分割して開発していたソフトウェアを結合するとともに、結合した状態でのテストを実施する。ソフトウェア適格性確認テストの工程４０６は、当初の要求事項のとおりにソフトウェアが実現されていることをテストして確認する工程である。本発明の説明のためのソフトウェアの開発の流れの説明はこの程度に抑えるが、各工程の名称および、各工程での作業の詳細は、「ＪＩＳ  Ｘ  ０１６０ −１９９６」の「５．３  開発プロセス」に記載の通りである。
【００２８】
図５は、図４で説明した標準の工程の流れを４つのプロセスブロックに分割した図である。プロセスブロック５０１は、開発計画のプロセスブロックとし、ソフトウェア要求分析の工程４０１を含む。プロセスブロック５０２は、設計のプロセスブロックとし、ソフトウェア方式設計の工程４０２と、ソフトウェア詳細設計の工程４０３とを含むものとする。さらに、ソフトウェアコード作成及びテストの工程４０４とソフトウェア結合の工程４０５とを含む実装のプロセスブロック５０３と、ソフトウェア適正確認テストの工程４０６を含む検証のプロセスブロック５０４とを、同様にプロセスブロックとして定義する。
【００２９】
図６は、図５の開発計画のプロセスブロック５０１に対して選択可能な３つのプロセスパタンを示したものである。これは、図１の符号１０３で示すパタン記憶部Ａに格納されているプロセスパタンに対応するものである。符号６０１、６０２、６０３で示す開発計画１、開発計画２、開発計画３が、ここで選択されるプロセスパタンである。各プロセスパタン６０１、６０２、６０３は、それぞれ属性情報をもっている。例えば、プロセスパタン６０１の属性情報はデータ６０４である。同じように、プロセスパタン６０２の属性情報はデータ６０５であり、プロセスパタン６０３の属性情報は、データ６０６である。
【００３０】
属性情報の例として、ここに示した属性情報６０４、６０５、６０６は、Ａ属性とＰ属性とを持っているものとする。Ａ属性とは、ソフトウェア開発規模の大規模または小規模という情報や、開発の種別として、新規開発なのか、展開開発つまり少しの変更による開発なのかといったソフトウェア開発の特性情報などのことをいい、これに対応する情報が格納されている。また、Ｐ属性とは、直前のプロセスブロックで選択されたプロセスパタンに対応するプロセスパタンを特定するための情報である。図６は、最初のプロセスブロックになるので、Ｐ属性はすべて ＡＬＬ となっており、このＰ属性による判断ではすべてのプロセスパタンが選択肢となる。
【００３１】
次にプロセスパタン６０１、６０２、６０３内の記述について説明する。要求分析６０７、要求定義６０８、外部仕様定義６０９、計画作成６１０は、工程の名称である。また、符号６１１で示しているものは、デザインレビューの実施時期およびかけるべき工数をプロセスとして表現したものである。この符号６１１は、要求分析６０７に関して、１単位のデザインレビューを実施することを示している。
【００３２】
図７は、図５の設計のプロセスブロック５０２に対して選択可能な３つのプロセスパタンを示したものである。符号７０１、７０２、７０３は、それぞれ選択可能なプロセスパタンである。以下、符号７０４、７０５、７０６で示す属性情報の中で、Ｐ属性について説明する。符号７０４で示すＰ属性は、２と３を保持している。これが意味することは、図５のプロセスブロック５０１において選択可能なプロセスパタンのうち、図６で示す符号６０２の開発計画２、または符号６０３の開発計画３を選択した場合に選択候補になることを意味している。つまり、図５の開発計画のプロセスブロック５０１において図６の符号６０１で示される開発計画１を選択した場合は、図５の設計のプロセスブロック５０２では、図７において符号７０１で示される設計１は選択させないように制御する。また、図５における開発計画のプロセスブロック５０１で、図６の符号６０２で示す開発計画２のプロセスパタンを選択した場合は、図７の各属性情報７０４、７０５、７０６の中のＰ属性にすべて「２」が含まれているため、図５の設計プロセスブロック５０２で選択可能なプロセスパタンとしては、図７において符号７０１で示す設計１、符号７０２で示す設計２、符号７０３で示す設計３の全てが候補となる。
【００３３】
次に、図８を用いて、図１の符号１０２、１０４で示したパタン選択部Ａ、Ｂの動作について詳細に説明する。図８では符号８０１で示したパタン選択部は、ソフトウェア開発の特性情報８０２を入力として、図８では符合８０３で示したパタン記憶部に格納されているプロセスパタンの中から適切なプロセスパタンの候補を選択する。選択されたプロセスパタンは、選択候補部８０４に格納される。次にパタン確定部８０５によって、選択候補部８０４に格納されている選択候補のプロセスパタンから、１つのパタンを確定する。符号８０６は、その結果としての開発計画１を示し、これは図５の開発計画のプロセスブロック５０１に相当するものである。
【００３４】
図９は、図８のパタン選択部８０１とパタン確定部８０５との動作をフローチャートで示したものである。この図９では、図５の開発計画のプロセスブロック５０１についての動作を説明するが、他のプロセスブロックについても同様の動作をする。
【００３５】
まず、Ｓ９０１で入力情報を利用し、Ｓ９０２では、大規模開発か否かを判定する。大規模開発であれば、図６のプロセスパタン６０１、６０２、６０３が持っている属性情報に大規模開発が含まれる符号６０４と合致し、符号６０１で示す開発計画１のプロセスパタンが選択される。図９のＳ９０３の処理では、図８の選択候補部８０４に開発計画１を格納する動作を行う。次に、Ｓ９０４において新規開発か否かを判定し、新規開発であれば、Ｓ９０５において、図８の選択候補部８０４に開発計画２を格納する。新規開発でない場合は、Ｓ９０６において、図８の選択候補部８０４に開発計画３を格納する。このように、属性情報の照合により、選択可能なパタンを選択候補として絞り込む。その後、Ｓ９０７において選択候補が複数存在するかどうかを判定し、存在する場合には、Ｓ９０８においてその中から１つのプロセスパタンを選択する。この選択を行った後、またはＳ９０７において選択候補が複数存在しなかった場合には、Ｓ９０９で、開発計画のプロセスブロックにおけるプロセスパタンを確定する。
【００３６】
図１０は、図５における２つめ以降のプロセスブロックの場合の追加処理を示すものである。図５に示した例においては、２番目、３番目、４番目のプロセスブロック５０２、５０３、５０４におけるプロセスパタンの選択に適用する。図１０では、図５における２番目の設計のプロセスブロック５０２の例について説明する。ここでＳ１００１で入力情報が得られたなら、Ｓ１００２において、現在処理中のプロセスブロック５０２の前段のプロセスブロック５０１で選択されたプロセスパタンの番号と、現在処理中のプロセスブロック５０２の選択候補であるプロセスパタンである図７の属性情報７０４、７０５、７０６の中のＰ属性とを照合し、Ｐ属性に、前段のプロセスブロック５０１で選択されたプロセスパタンの番号が含まれているもののみを選択候補にする。次に、Ｓ１００３において、図７の属性情報７０４、７０５、７０６の中のＤ属性と、入力情報としているソフトウェア開発の特性情報とを照合し、合致するものを候補として絞り込む。その後、Ｓ１００４で、選択候補部に複数の候補が残っている場合には１つのプロセスを選択し、Ｓ１００５でプロセスパタンを確定する。
【００３７】
ここまでは、ソフトウェア開発の特性情報を入力として、ブロック化されたプロセスブロック毎に最適なプロセスを選択し、プロセスを生成するところまでの説明である。このあと、生成したプロセスに対して、プロセスに関する規則情報に従って、プロセスを規則に合わせて変更する。このための処理を図１１から図１６を使って説明する。
【００３８】
図１１は、生成したプロセスをプロセスに関する規則情報をもとに必要があれば変更する処理を説明するための図である。符号１１０１は、生成したプロセス全体を表す。符号１１０５は、１番目のプロセスブロックである開発計画のプロセスブロックを表している。図の中では、開発計画のプロセスブロック１１０５では、開発計画１のプロセスパタンが選択されていることを表現している。符号１１０６は設計のプロセスブロックであり、設計２のプロセスパタンが選択されていることを表現している。符号１１０７、符号１１０８で示している、実装と検証のプロセスブロックについても同様である。
【００３９】
生成したプロセス全体１１０１に対して、規則合致判定部１１０３により、規則に合致しているか否かを判定する。規則合致判定部１１０３は、プロセスに関する規則情報１１０２を参照し、判定を行う。判定の結果、規則に合致していない場合は、プロセス変更部１１０４によって、規則に合致するようにプロセスを変更する。
【００４０】
図１２は、図１１におけるプロセスに関する規則情報１１０２の例を示す。ここでは、規則情報１１０２として、デザインレビューにかけるべき工数の最低条件が設定されている。すなわち、大規模開発の場合は、各工程の完了時のデザインレビューの工数が最低４単位以上必要であることを示している。ここで、４単位という表現を使用しているが、実際には１単位の定義を明確に持つ。例えば１０人のプロジェクトの場合、１単位は、１０人Ｈという工数と定めるなどである。また、新規技術開発を伴う場合は、開発計画と、設計のプロセスブロックのレビュー工数が全体の４０％以上に設定されている。これは、開発上流工程での品質向上の施策として設定されているものとする。最後に、レビュー工数率として、開発全体の工数のうち３％の工数をデザインレビューに割り当てるように設定している。
【００４１】
図１３は、前記した図１１のプロセスに関する規則情報１１０２を例に、図１１の規則合致判定部１１０３の処理をフローチャートで示したものである。ここで、Ｓ１３０１で処理が開始されたなら、Ｓ１３０２で大規模開発か否かを判定している。大規模開発の場合は、Ｓ１３０３において、各プロセスブロックのデザインレビュー工数が４単位以上か否かを判定する。４単位に満たない場合には、Ｓ１３０４において、プロセスの中のデザインレビューの工数パラメータを調整する処理を行う。この処理が終わった後と、Ｓ１３０３において各プロセスブロックのデザインレビュー工数が４単位以上であった場合とには、Ｓ１３０５において、新規技術開発を伴う開発であるか否かを判定する。新規技術開発を伴う開発の場合には、Ｓ１３０６において、開発計画と設計のプロセスブロックの中のデザインレビューの工数比率が全工程のデザインレビュー工数の４０％以上に設定されているか否かを判定する。４０％に満たない場合は、Ｓ１３０７において、開発計画と設計のプロセスブロックの中のデザインレビューとの工数のパラメータを調整する処理を行う。この処理が終わった後と、Ｓ１３０６において開発計画と設計のプロセスブロックの中のデザインレビューの工数比率が全工程のデザインレビュー工数の４０％以上であった場合とには、次に、Ｓ１３０８で示す判定部によって、開発の全工数に占めるデザインレビューの工数の割合が３％確保されているか否かを判定する。３％確保されていない場合には、Ｓ１３０９において、各プロセスブロックのデザインレビューの工数パラメータを調整する処理を行う。この処理が終わった後と、Ｓ１３０８において開発の全工数に占めるデザインレビューの工数の割合が３％確保されている場合とには、Ｓ１３１０において処理を終了する。
【００４２】
図１４は、図１１のプロセス変更部１１０４によって変更したプロセスの、変更前と変更後との状態を示したものである。プロセスパタン１４０１は、図８のパタン選択部８０１によって選択されたプロセスであり、プロセスパタン１４０２は、図１１のプロセス変更部１１０４によって変更されたあとのプロセスである。ここでは、デザインレビューの工数単位が５０％不足している場合の調整方法の一例を示している。デザインレビュープロセス１４０３は、工数単位１が設定されている。これは、符号１４０７で示す変更後には、工数単位２が設定されている。また、デザインレビュープロセス１４０４は、工数単位２が設定されている。これは、符号１４０８で示す変更後には、工数単位４が設定されている。デザインレビュープロセス１４０５及び１４０６と、符号１４０９及び１４１０で示す変更後とについても同様である。このように、全てのデザインレビューの工数単位を一律に調整していくものである。
【００４３】
図１５は、他の調整方法であって、一律ではなく、各デザインレビュープロセス毎に重み付けを行い、その重みに合わせて調整分を配分する調整方法のためのデータを示している。図１４の開発計画のプロセスブロック１４０１で選択されているプロセスパタン開発計画１の中には、４つのデザインレビュープロセスが定義されている。その４つのデザインレビュー毎に、重み付けを行っている。要求分析については１、要求定義については２、外部仕様定義については２、開発計画については０の重みがついている。
【００４４】
図１６は、図１５で示した重み付けに従って、不足するデザインレビュー工数を調整する場合の例を示す。符号１６０１は変更前のプロセス、符号１６０２は変更後のプロセスである。不足分は５０％と想定して説明する。符号１６０３、符号１６０４、符号１６０５、符号１６０６で示すデザインレビュープロセスの工数単位の合計は、７単位である。５０％の不足を想定した場合、７単位を追加する必要がある。まず、符号１６０３、符号１６０７で示す要求分析のデザインレビューの工数単位は、１単位から３単位に変更している。これは、７単位（不足分）に工数比率５分の１を乗じた数字を調整値として使用する。その結果、小数点以下を切り上げると、不足分は２単位と計算できる。よって、符号１６０７で示すデザインレビュー工数単位は、３単位へ変更されているものである。また、符号１６０８で示すデザインレビューの工数単位も、７単位に工数比率５分の２を乗じた数字で調整し、３単位調整され、５単位に変更されている。他の符号１６０９、１６１０で示すデザインレビューの工数単位も、また同様である。特に、工数比率として、０を設定されている符号１６１０の工程完了のデザインレビューの工数単位は、２のままで変化していない。
【００４５】
以上、図面を参照して本発明の実施の形態について説明を行ったが、本発明は上述した実施の形態のみに限定されるものではなく、例えばソフトウェア開発プロセス以外の分野でも、工程変更を伴う分野において適用可能である。
【産業上の利用可能性】
【００４６】
本発明の工程変更支援装置およびその方法は、新規プロセスの生成を容易にし、開発案件毎に、顧客の要望に合わせて最適な開発プロセスを選択実施することが可能となるものであり、プロセスの変更を特定の規則の中で効率的に実施することができるものであって、ソフトウェアエンジニアリング技術分野におけるソフトウェア開発プロセスの変更などの、工程の変更を支援するための、工程変更支援装置およびその方法として有用である。
【図面の簡単な説明】
【００４７】
【図１】本発明の実施の形態の工程変更支援装置のブロック図
【図２】本発明にもとづき、プロセスを適度な粒度でブロック化し、ブロック毎に選択できるプロセスを保持している状態を示した図
【図３】本発明にもとづき、プロセスを適度な粒度でブロック化し、ブロック毎に選択できるプロセスを保持している状態の概念図
【図４】ソフトウェアの開発プロセスの例を示した図
【図５】本発明にもとづきソフトウェアの開発プロセスをブロック化する単位の例を示した図
【図６】本発明にもとづき選択できるプロセスパタンが保持している情報を示した図
【図７】本発明にもとづき選択できるプロセスパタンが保持している他の情報を示した図
【図８】図１のパタン選択部に関連する構成を示した図
【図９】図８のパタン選択部の処理アルゴリズムを示すフローチャート
【図１０】図８のパタン選択部の処理アルゴリズムであって、特に前段のパタン選択の情報を利用するアルゴリズムを示した図
【図１１】図１における生成プロセスを規則と照合し、合致させる処理の概略図
【図１２】図１１のプロセスに関する規則情報の例を示す図
【図１３】規則合致判定部の処理を示すフローチャート
【図１４】プロセス変更部によって変更されたプロセスの例を示す図
【図１５】プロセスの変更方法に重み付けを行うためのデータを示した図
【図１６】図１５のデータを使ってプロセス変更を行った例を示す図
【図１７】抽象化された標準プロセスを示す図
【図１８】図１７の標準プロセスから変更したプロセスを示す図
【図１９】標準プロセスと変更可能プロセスとを保持している状態を示す図
【図２０】標準プロセスと変更規則とを保持している場合の変更プロセスを示す図
【符号の説明】
【００４８】
１０１    入力情報
１０２    パタン選択部
１０３    パタン記憶部
１０４    パタン選択部
１０５    パタン記憶部
１０６    規則合致判定部
１０７    規則情報
１０８    プロセス変更部
６０１    プロセスパタン
６０２    プロセスパタン
６０３    プロセスパタン
６０４    属性情報
６０５    属性情報
６０６    属性情報
７０１    プロセスパタン
７０２    プロセスパタン
７０３    プロセスパタン
７０４    属性情報
７０５    属性情報
７０６    属性情報
【図１】
2006065521.tif 000003
【図２】
2006065521.tif 000004
【図３】
2006065521.tif 000005
【図４】
2006065521.tif 000006
【図５】
2006065521.tif 000007
【図６】
2006065521.tif 000008
【図７】
2006065521.tif 000009
【図８】
2006065521.tif 000010
【図９】
2006065521.tif 000011
【図１０】
2006065521.tif 000012
【図１１】
2006065521.tif 000013
【図１２】
2006065521.tif 000014
【図１３】
2006065521.tif 000015
【図１４】
2006065521.tif 000016
【図１５】
2006065521.tif 000017
【図１６】
2006065521.tif 000018
【図１７】
2006065521.tif 000019
【図１８】
2006065521.tif 000020
【図１９】
2006065521.tif 000021
【図２０】
2006065521.tif 000022