(57)【特許請求の範囲】
【請求項１】
ソフトウェア開発手順のカスタマイズを支援するカスタマイズ支援装置であって、
ソフトウェア開発手順を構成する各設計作業における、入力設計情報の品質に対する出力設計情報の品質の関係を示す品質係数データを格納した記憶手段と、
ソフトウェア開発手順の中から、所定の設計情報を削除した場合に、前記品質係数データを参照して他の設計情報の品質を算出する手段と
を備えたことを特徴とするソフトウェア開発手順のカスタマイズ支援装置。
【請求項２】
ソフトウェア開発手順のカスタマイズを支援するカスタマイズ支援装置であって、
ソフトウェア開発手順を構成する各設計作業における、入力設計情報の品質に対する出力設計情報の品質の関係を示す品質係数データを格納した記憶手段と、
ソフトウェア開発手順の中から、所定の設計情報を削除した場合に、前記品質係数データを参照して他の設計情報の品質を算出する手段と、
ソフトウェア開発手順の中から、所定の設計情報を削除した場合に、それに付随して不要となる他の設計情報を検索する手段と
を備えたことを特徴とするソフトウェア開発手順のカスタマイズ支援装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、主に設計情報の加工に基づくシステム開発のためのカスタマイズ支援装置および方法に関し、特に、個別のソフトウェア開発プロジェクトに合わせた開発手順のカスタマイズを支援するのに好適な、ソフトウェア開発手順のカスタマイズ支援装置および方法に関する。
【０００２】
【従来の技術】
現在、ソフトウェア開発手順は、ソフトウェア開発を実施する各社で多数が開発、運用されている。それらソフトウェア開発手順は、通常、汎用性を持たせるために、手順の網羅性を重視して作られており、実際に適用する場合は、効率的なソフトウェア開発を実施するために、元のソフトウェア開発手順をこれから実施するプロジェクトに合わせてカスタマイズするのが通常である。
【０００３】
従来、ソフトウェア開発手順のカスタマイズは、熟練したソフトウェア技術者が経験に基づき、各設計作業や設計情報の重要度、影響を検討して実施するのが一般的だった。具体的には、ソフトウェア開発手順のカスタマイズでは、ソフトウェア技術者は、たとえば以下のような作業を実施していた。
【０００４】
（１）特定の設計情報の削除
元のソフトウェア開発手順で定義されている設計情報のうち、当該開発対象ではあまり注目されない設計情報を削除し、当該プロジェクトでは作成しないことにする。
【０００５】
（２）ある設計情報の削除に付随する他の設計情報の削除
元のソフトウェア開発手順で定義されている設計情報の一部を削除することに付随して、作成する意味が薄れそうな他の設計情報を探し、削除する。
【０００６】
ソフトウェア開発におけるカスタマイズ支援については、例えば特願平３−２６８２６２号に記載されている、開発手順に対して設計作業の順番の変更や設計作業の削除などのカスタマイズを加えたときに、それに関連する仕様書、ドキュメント構成、および作業基準などの設計定義情報に、その変更の影響を反映させる方式などがある。一方、他の設計情報の品質低下を提示する技術、あるいは、ある設計情報の削除に付随して不要となる他の設計情報を、ソフトウェア開発手順を追うことなく提示する技術は無い。
【０００７】
【発明が解決しようとする課題】
従来技術では、前記の設計情報の削除を実施する場合、それが他の設計情報の品質に及ぼす影響を適正に評価する方法が無く、他の設計情報の品質低下を正しく知る方法が無い。従って、熟練したソフトウェア技術者無しでは、適正なカスタマイズを実施することができない。また、ある設計情報の削除に付随して、不要となる他の設計情報の削除を行なうとき、それをソフトウェア開発手順を追うことなく瞬時に知る方法が無いため、ソフトウェア開発手順を追跡調査して確かめる必要がある。このため、ある設計情報の削除によるソフトウェア開発手順全体の効率向上の効果は容易にはわからない。
【０００８】
本発明は、ソフトウェア開発手順から特定の設計情報を削除したときの他の設計情報の品質を瞬時に知ることができ、またその削除に付随して作成が不要になる設計情報を瞬時に知ることができるソフトウェア開発手順のカスタマイズ支援装置および方法を提供することを目的とする。
【０００９】
【課題を解決するための手段】
本発明では、上記の課題を解決するため、以下の（１）〜（３）を備えるようにする。
（１）ソフトウェア開発手順を構成する各設計作業における、入力設計情報の品質に対する出力設計情報の品質の関係を示すデータ
（２）ソフトウェア開発手順の中から、所定の設計情報を削除した場合に、他の設計情報の品質を算出する機能
（３）ソフトウェア開発手順の中から、所定の設計情報を削除した場合に、それに付随して不要となる他の設計情報を検索する機能
【００１０】
ソフトウェア開発手順のカスタマイズとして、所定の設計情報の削除を実施すべきか否かを判断する場合、本発明では、上記（１）のデータおよび（２）の機能を用いて、そのカスタマイズが他の設計情報の品質に及ぼす影響を基に、他の設計情報の品質を算出し、提示する。
【００１１】
また、ソフトウェア開発手順のカスタマイズとして所定の設計情報の削除を実施する場合、それにより不要となる他の設計情報を上記（１）のデータおよび（３）の機能を用いて検索し、提示する。このようにして、適正なカスタマイズを実施するためのデータを提示し、カスタマイズを支援する。
【００１２】
【発明の実施の形態】
以下に、本発明の一実施形態を図１〜図７に従って説明する。
【００１３】
図１は、本実施形態で用いるカスタマイズ支援装置の機能構成を表すブロック図である。図１において、１０１は、与えられた条件に従い設計情報の品質を算出する機能である。１０２は、あらかじめ用意されたソフトウェア開発手順に基づき、ある設計情報の品質が、その設計情報の作成時に用いる他の設計情報の品質に依存している割合を、係数として記録しているテーブルであり、品質係数テーブルと呼ぶ。品質係数テーブルの詳細は、図４で説明する。１０３は、与えられた条件に従い、不必要な設計情報を検索する機能である。１０４は、削除すべき設計情報を指定するための入力装置である。１０５は、得られた各設計情報の品質および不必要な設計情報を提示するための出力装置である。
【００１４】
図２は、本実施形態の装置でソフトウェア開発手順のカスタマイズを実施する際の処理手順を示すフローチャートである。この処理手順については、後に詳しく説明する。
【００１５】
図３は、本実施形態においてカスタマイズする対象であるソフトウェア開発手順の例である。図３で、四角形は設計作業を、楕円は設計情報を、矢印は設計情報の流れを、それぞれ意味する。図３では、本実施形態の理解を容易にするために、実際のソフトウェア開発で用いられている開発手順からごく一部を抜き出して示している。尚、ソフトウェア開発における設計作業の大きさの単位については、例えば、レビューによる確認作業を行なうごとの単位、あるいは、ワークシート作成の単位等、幾つかの考え方があるが、本発明では、それらの考え方は問わない。また、設計情報の大きさの単位については、例えば、ワークシートの単位、あるいは、ワークシート記述項目の単位等、幾つかの考え方があるが、本発明では、それらの考え方は問わない。図３では、本実施形態の理解を容易にするために、設計作業と設計情報の両方とも、やや大きな単位で示している。尚、完全なソフトウェア開発手順には多数の設計作業が含まれており、それらの作業項目の種類と分類、および作業項目の大きさの単位についての考え方における典型的な例としては、例えば、国際規格ＩＳＯ／ＩＥＣ１２２０７等がある。
【００１６】
図４は、品質係数テーブル１０２の内容を示す一例である。この例は、図３のソフトウェア開発手順の例に基づき、作られている。図４のテーブル内に記述されている数値を品質係数と呼ぶ。品質係数は、品質係数テーブルの横軸に示されている出力側の設計情報の品質が、縦軸に示されている入力側の設計情報から受ける品質の影響の割合を示す数値である。例えば、この例では、出力側の設計情報「業務／管理資源関連マトリクス」の品質は、入力側の設計情報「業務活動体系書」の影響を０．６受け、「現行入出力情報一覧」の影響を０．４受けることを示している。品質係数の列の合計、すなわち、ある出力側の設計情報が入力側の各設計情報から受ける影響の合計は１になる。品質係数は、事前に適性値を定義しておく。図４の品質係数は、事前設定された一例である。尚、出力側の設計情報の左側３項目「新システム開発構想」「業務内容説明書」「現行システム画面・帳票」の品質係数が記入されていないが、これは図３のソフトウェア開発手順例で、これら３つの設計情報の入力となる設計情報が定義されていないからである。
【００１７】
図５は、本実施形態における品質算出機能を実現するための品質算出テーブルを示す。本テーブルの各欄には、空白または品質を表す任意の数値が入っているものとする。図５の表の最下段「設計情報の品質」を除く各項目は、出力側の設計情報が入力側の設計情報から得る品質を示す。たとえば図５では、出力側の設計情報「業務／管理資源関連マトリクス」は、入力側の設計情報「業務活動体系書」からｘ１を、設計情報「現行入出力情報一覧」からｘ２を、それぞれ品質として得ることを示す。また、最下段「設計情報の品質」は表の列を合計した値で、出力側の各設計情報の品質を示す。たとえば図５で、「業務／管理資源関連マトリクス」の品質はｑ３であることを示す。
【００１８】
本実施形態では、図４の品質係数テーブルが示す通り、設計情報「業務／管理資源関連マトリクス」は、設計情報「業務活動体系書」および設計情報「現行入出力情報一覧」以外からは、影響を受けない。したがって、出力側の設計情報「業務／管理資源関連マトリクス」の欄には、ｘ１、ｘ２以外に値は現れない。したがってこの場合、ｘ１、ｘ２、ｑ３の関係は、
ｑ３＝ｘ１＋ｘ２
となる。また、ｘ１、ｘ２は、それぞれ、入力側の設計情報の品質と、図４で定義された品質係数の積で表現する。例えば、ｘ１は、
ｘ１＝（図４の当該項目の品質係数）×（「業務活動体系書」の品質）
すなわち、
ｘ１＝０．６×ｑ１
同様に、ｘ２は、
ｘ２＝０．４×ｑ２
となる。
【００１９】
以上は、図５の一部分について説明したが、図５の品質算出テーブルには以上と同様の計算式が全項目に渡って定義されている。図１の１０１の「品質算出機能」は、すなわち、図５の品質算出テーブルにおける演算機能のことである。
【００２０】
次に、図２のフローチャートを参照して、本実施形態の装置でソフトウェア開発手順のカスタマイズを行なう一実施例を説明する。今、図３のソフトウェア開発手順で、３０１の設計情報「現行入出力情報一覧」をソフトウェア開発手順から削除した場合における、他の設計情報の品質を求めることにする。この場合、利用者は、削除する設計情報のほか、ソフトウェア開発手順の前提となる入力設計情報の品質を前提情報として指定する。ソフトウェア開発手順の前提となる入力設計情報とは、当該ソフトウェア開発手順の外部で作成され、入力される設計情報のことで、図３の例では３０２の「新システム開発構想」、３０３の「業務内容説明書」、および３０４の「現行システム画面・帳票」である。品質の指定では、具体的にはゼロ以上、１以下の数値を指定する。品質にゼロを指定した場合は、その設計情報を作成しないこと、すなわち、ソフトウェア開発手順から削除することを意味する。また、品質に１を指定した場合は、その設計情報の品質が必要十分であることを意味する。本実施例では、以上の３つの設計情報の品質として１を指定することにする。そして、削除する設計情報として、「現行入出力情報一覧」を指定する。
【００２１】
以上を整理すると、利用者は、まず本実施例の指定情報として、入力装置（１０４）より、
「新システム開発構想」の品質として１、
「業務内容説明書」の品質として１、
「現行システム画面・帳票」の品質として１、
削除する設計情報として、「現行入出力情報一覧」
を入力する（ステップ２０１）。
【００２２】
利用者がこれらの情報を入力し終わると、設計品質算出機能（１０１）は、これらの入力情報を受け取り、図５の品質算出テーブルの「設計情報の品質」欄に設定する。このとき、設計品質算出機能（１０１）は、削除する設計情報「現行入出力情報一覧」については、品質の値として、ゼロを設定する（ステップ２０２）。図６に、これらの値が設定された品質算出テーブルを示す。「設計情報の品質」欄のうち、外部で作成され入力される「新システム開発構想」、「業務内容説明書」、および「現行システム画面・帳票」については１が設定され、削除する設計情報「現行入出力情報一覧」については０が設定されている。
【００２３】
次に、品質算出機能（１０１）は、図４に示した品質係数テーブル（１０３）を用いて、図５にて説明した方法で、品質算出テーブルの「設計情報の品質」欄における、値が未設定の欄を全て計算する（ステップ２０３）。すなわち、図６の状態から「設計情報の品質」欄の値を入力側に戻して図４の係数を乗算し品質算出テーブルに設定し、それから「設計情報の品質」の値をさらに求め、これを繰り返して、品質算出テーブルを完成させる。ただし、削除する設計情報として「設計情報の品質」欄に０を設定したが、この値は強制的に０として以降を計算するものとする。図７に、本実施例での計算結果を示す。
【００２４】
次に、不要設計情報検索機能（１０３）は、作成が不必要となる設計情報の検索を行なう。まず、不要設計情報検索機能（１０３）は、利用者が削除を指定した設計情報に対し、影響を及ぼす入力側設計情報を探し出す。本実施例では、具体的には、図７の品質計算結果の出力側設計情報「現行入出力情報一覧」の列を調べ、ゼロ以外の数値が入っている欄を検索する。該当する欄の入力側設計情報が、不必要となる設計情報の候補となる。削除する設計情報に対して影響を及ぼす入力側設計情報も不必要になる可能性が大きいからである。本実施例では、上記の通り検索して、数値「１」が見つかる欄の入力側設計情報「現行システム画面・帳票」が、不必要となる設計情報の候補となる（ステップ２０４）。
【００２５】
もし、ステップ２０４を実行して、候補が１つもなければ、出力装置１０５に処理結果を出力して（ステップ２０７）、処理を終了する。
【００２６】
候補が見つかったとき、不要設計情報検索機能（１０３）は、発見されたすべての候補について、本当に不必要な設計情報があるかどうかを判定する（ステップ２０５）。発見された候補が本当に不必要とは、すなわち、その候補の設計情報を必要とする設計情報が他に無いということである。その判定の方法は、具体的には、発見された候補の設計情報の入力側設計情報の行を行方向に見た各欄を、最下段の「設計情報の品質」の行の同じ位置の欄と比較し、すべての欄が次の条件を満たすことを確認する。
【００２７】
条件：候補の入力側設計情報の行のある欄がゼロ以外の数値の場合、「設計情報の品質」の行の同じ位置の欄の値がゼロである。
【００２８】
この条件の意味は次の通りである。候補の入力側設計情報の行のある欄がゼロ以外の数値である場合、この候補はその欄の出力側設計情報に影響を与えることを意味する。このとき、「設計情報の品質」の行の同じ位置の欄の値がゼロであれば、この出力側設計情報は作成しないことを意味するので、結果として、この出力側設計情報には影響を与えないことになる。すべての欄で、上記の条件が満たされれば、この候補が影響を与える出力側設計情報は存在しないことになり、従って、この候補は本当に不必要な設計情報であると結論付けられる。逆に、上記の条件を満たさない欄が一つでもあれば、この候補は他の設計情報に影響を与えることになり、削除はできない。
【００２９】
本実施例では、具体的には、図７の品質算出結果において、発見された候補である設計情報「現行システム画面・帳票」の入力側設計情報の行の各欄を、最下段の「設計情報の品質」の行の同じ位置の各欄と比較し、すべての欄が上記の条件を満たしているかどうかを調べる（ステップ２０５）。ステップ２０５を実行して、本当に不必要な設計情報が１つもなければ、出力装置１０５に処理結果を出力して（ステップ２０７）、処理を終了する。
【００３０】
本実施例では、発見された候補である設計情報「現行システム画面・帳票」の入力側設計情報の行で、ゼロ以外の数値が入っている欄は、出力側設計情報が「現行入出力情報一覧」の欄のみである。この欄の「設計情報の品質」の行の同じ位置はゼロであるので、上記の条件を満たす。したがって、候補である設計情報「現行システム画面・帳票」は不必要な設計情報である。
【００３１】
以上のように不必要な設計情報を発見すると、不要設計情報検索機能（１０３）は、その設計情報をソフトウェア開発手順から削除するものとして扱い、品質算出テーブルの当該設計情報の最下段「設計情報の品質」の欄にゼロを入れる（ステップ２０６）。その後、ステップ２０３に戻って、再度、各設計情報の品質を算出する。本実施例では、出力側設計情報「現行システム画面・帳票」の「設計情報の品質」の欄に、ゼロを設定し、ステップ２０３で各設計情報の品質を算出する。図８にその結果を示す。
【００３２】
次に、発見された、削除する設計情報を基に、再びステップ２０４からの処理を実行し、上記に示した終了条件を満たすまで処理を繰り返す。最後に出力装置（１０５）は、以上の処理結果を出力する（ステップ２０７）。図８のような処理結果により、所定の設計情報を削除したときの各設計情報の品質低下を知ることができる。
【００３３】
【発明の効果】
以上説明したように、本発明によれば、ソフトウェア開発手順から所定の設計情報を削除したときの、他の設計情報の品質を、瞬時に知ることができ、同時に、それに付随する作成不要な設計情報を知ることができる。
【図面の簡単な説明】
【図１】本発明の実施形態の構成を表すブロック図である。
【図２】本発明の実施形態の処理手順を表すフローチャート図である。
【図３】本実施形態においてカスタマイズする対象であるソフトウェア開発手順の例を示す図である。
【図４】品質係数テーブルの例を示す図である。
【図５】品質算出テーブルの例を示す図である。
【図６】入力情報の設定結果を表す品質算出テーブルの例を示す図である。
【図７】品質計算の実施結果を表す品質算出テーブルの例を示す図である。
【図８】不必要な設計情報の削除結果を表す品質算出テーブルの例を示す図である。
【符号の説明】
１０１  設計品質算出機能
１０２  品質係数テーブル
１０３  不要設計情報検索機能
１０４  入力装置
１０５  出力装置
【図１】
0003803001.tif 000002
【図２】
0003803001.tif 000003
【図３】
0003803001.tif 000004
【図４】
0003803001.tif 000005
【図５】
0003803001.tif 000006
【図６】
0003803001.tif 000007
【図７】
0003803001.tif 000008
【図８】
0003803001.tif 000009