(57)【要約】      （修正有）【課題】ユースケース記述の十分性や網羅性を確保し、開発における製品仕様の定義及び作成の支援を行う。【解決手段】ユースケース記述の十分性を確保する手段として、製品ログからユースケース記述に必要なキーワードを抽出する手段を有するとともに、その抽出したキーワードから推論ユースケース記述を作成する手段と、前記作成した推論ユースケース記述と既存ユースケース記述との比較を行うことで、潜在的なユースケース記述を導出するための比較手段と、製品ごとに定義されるユースケース一覧のようにカテゴライズし、推論ユースケース記述を格納するための手段とを有する。【選択図】図２
2012168738.tif 000002
【特許請求の範囲】
【請求項１】
記憶部と、前記記憶部に記憶された機能を実行する処理部とを備えた情報処理装置における要求仕様記述支援方法において、
前記処理部は、記憶部に記憶された製品ログを入力データとして加工し、
ユースケースのキーワードを抽出し、前記抽出したキーワードからユースケース記述を作成し、
前記作成したキーワードから必要なユースケース記述を特定し、前記導出したユースケース記述を記憶装置に格納することを特徴とする要求仕様記述支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユースケース記述を用いた開発においてユースケース記述の網羅性向上を支援する技術に関する。
【背景技術】
【０００２】
本技術分野の背景技術として特許文献1がある。この公報には、「要求仕様からシステムの動きを表すシナリオを容易に生成できるようにすることにより、正確な要求仕様を記述することを支援できるようにする。」と記載されている（要約参照）。つまり、最初の要求仕様を漏れなく記述することで、後工程で発生する手戻り作業を極力抑えることを狙いとしている。
そこで、特許文献１では、所定の基準に従ってユースケースの形で記述された要求仕様に基づいて、ユースケースを順次実行していくだけで、システムの動きを表すシナリオを容易に生成することができるようにする技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2000-353082号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の開発における上流工程の支援方法として、要求仕様や、ユースケース記述の十分性や網羅性を確保することが挙げられる。特許文献１においても、所定の基準に従ってユースケースで記述された要求仕様に基づいて、要求仕様中に含まれる各ユースケースを実行することで、ユースケースの抜けや記述漏れが無いかの十分性を確認している。しかし、特許文献１の方法では、実際に製品開発が終了する前に実施する必要があるため、どうしても開発者側が想定している製品仕様を強く残したまま製品化されることになる。また、市場においては、求められる顧客要望や、使用方法も刻々と変わって行くものである。これは、顧客が求める製品仕様と開発者側が想定している製品仕様との間に、大きな差異を作りこむことに繋がる。つまり、開発時点で顧客が求める全てのユースケース記述を漏れなく定義または、作成すること困難であるという課題が挙げられる。
【０００５】
本発明の目的は、開発時点に漏れてしまう潜在的なユースケース記述を開発後の製品ログから導出することで、ユースケース記述の十分性や網羅性を確保し、開発における製品仕様の定義及び作成の支援を行うことにある。
【課題を解決するための手段】
【０００６】
本発明の一形態では、ユースケース記述の十分性を確保する手段として、製品ログからユースケース記述に必要なキーワードを抽出する手段を持ち、抽出したキーワードから推論UC記述を作成する手段と、前述した推論UC記述と既存UC記述の比較を行うことで、潜在的なユースケース記述を導出するための比較方法と、製品ごとに定義されるユースケース一覧のようにカテゴライズし、推論UC記述を格納するための手段を有することを特徴とする。
【発明の効果】
【０００７】
製品ログをユースケース記述に置き換えることで、開発時に定義したユースケース記述の過不足を確認できる。これは、潜在的に漏れてしまったユースケース記述の導出に繋がり、ユースケース記述の十分性や網羅性を向上させる効果がる。
【図面の簡単な説明】
【０００８】
【図１】ユースケース記述を用いた開発手法のフローチャートの例である。
【図２】本発明のシステム構成図である。
【図３】製品ログの入力部の処理を説明するフローチャートの例である。
【図４】製品ログの入力部におけるデータ処理の例である。
【図５】キーワード抽出部の処理を説明するフローチャートの例である。
【図６】キーワード抽出部におけるデータ処理の例である。
【図７】推論UC記述作成部の処理を説明するフローチャートの例である。
【図８】UC記述比較部の処理を説明するフローチャートの例である。
【図９】UC記述比較部におけるデータ処理の例である。
【図１０Ａ】UC記述比較部で行うUC記述適合率の計算式である。
【図１０Ｂ】UC記述適合率の計算例である。
【図１１Ａ】DB格納部の処理を説明するフローチャートの例である。
【図１１Ｂ】DB抽出結果DBを示すテーブルの例である。
【図１２】製品ログの出力項目を示すテーブルの例である。
【図１３Ａ】抽出するキーワードを示すテーブルの例である。
【図１３Ｂ】推論UC記述組み立て基準を示すテーブルの例である。
【図１４】本発明のUC記述フォーマットを示すテーブルの例である。
【図１５Ａ】推論UC記述作成を停止する条件を示すテーブルの例である。
【図１５Ｂ】推論UC記述の定義条件を示すテーブルの例である。
【図１６】UC記述適合率ごとに用途を定義したテーブルの例である。
【図１７】ユースケース一覧の例を示すテーブルの例である。
【発明を実施するための形態】
【０００９】
本発明の実施形態について、図面を参照しながら説明する。本発明では、製品開発において、開発側の設計意図と、顧客要望の差異から発生する潜在的に定義されていないユースケース記述や、製品に対する顧客の使用方法が変化することで見直しが必要になるユースケース記述を、所定の基準に従って導出する。
【００１０】
図１は、本発明の一形態としてユースケース記述を用いたプログラム開発のプロセスを説明した図(101)である。従来の開発手順の一形態として、顧客要望受付(105)、顧客要望(106)、要求仕様(107)、UC記述の定義・作成(108)、開発(109)、UC記述不足(110)、既存UC記述DB(111)で構成されている。顧客要望受付(105)は、顧客からの要望を受けるためのサポート窓口として機能し、開発した製品に対する要望や、問題点を収集する。前述した顧客要望受付(105)は、開発の時期に関係なく常に運用している内容である。顧客要望(106)は前述した顧客要望受付(105)で受け付けた要望や、問題点を纏めた情報であり、製品開発に対するフィードバックの情報として用いる。取り込んだ顧客要望(106)から開発者側で取捨選択を行い、開発を推進することで、顧客が求める製品仕様を実現する。要求仕様(107)は、顧客要望(106)から導出した開発項目や、開発側がターゲットとしている市場に有効な開発項目を仕様として定義する。UC記述の定義・作成(108)では、要求仕様(107)で定義した内容を入力とし、ユースケース記述のフォーマットに従い、アクターとシステムのやり取りを定義、および作成を行う。開発(109)では、作成されたユースケース記述を基に製品の作りこみを行う。このとき、開発(109)期間中は、ユースケース記述の過不足を評価する必要があるため、常にUC記述不足(110)の判定を行う必要がある。ユースケース記述が不足していた場合には、再度UC記述の定義・作成(108)を行う。既存UC記述DB(111)では、前述した開発プロセスを経て、製品開発が終了した時点で、その結果を既存ユースケース記述として格納する。
【００１１】
しかし、前述した開発プロセス(105,106,107,108,109,110,111)を用いても漏れてしまうユースケース記述が存在する。そのユースケース記述を潜在的なユースケース記述と位置づけ、その潜在的なユースケース記述を導出するための手段(102)として、UC記述抽出処理(103)と抽出結果DB(104)を含む一連の手段を定義する。UC記述抽出処理(103)は、製品ログから潜在的なユースケース記述を導出する機能を有する。抽出結果DB(104)はUC記述抽出処理(103)で導出した潜在的なユースケース記述の抽出結果を格納する。UC記述抽出処理(103)の詳細については後述する。なお、前述した手段(102)を適用することで、様々なケースのユースケース記述を導出することができ、漏れてしまった潜在的なユースケース記述などを導出することが可能となる。なお、前述した手段(102)は、開発期間中のどこの時期でも実施可能な手段である。
【００１２】
図２は、本発明の一形態におけるシステムの構成を説明する図である。本発明の一形態では、メモリ(1002)、HDD(1003)、CPU(1004)、入力装置(1005)、システムバス(1006)を有するサーバ装置(1001)上で動作する。サーバー装置(1001)は一般的な計算機であってもよい。メモリ(1002)は、前述した手段(102)のUC記述抽出処理部(103)を実行するために必要なプログラムおよびデータを記憶する。なお、UC記述抽出処理部(103)を構成する各処理部の要素としては、製品ログからユースケース記述に必要なキーワードの文字列を切り出す製品ログの入力部(201)、加工した製品ログからキーワードを抽出するためのキーワード抽出部(301)、抽出したキーワードを用いて推論UC記述を作成する推論UC記述作成部(401)、作成した推論UC記述と既存UC記述を比較して潜在的なユースケース記述を導出するUC記述比較部(501)、導出したユースケース記述を抽出結果としてDBに格納するDB格納部(601)がある。各処理部の詳細については後述する。
【００１３】
HDD(1003)は、UC記述抽出処理部(103)を実行するために必要な、各定義条件として、製品ログの出力項目テーブル(710)、抽出キーワードテーブル(720)、推論UC記述組み立て基準テーブル(730)、推論UC記述フォーマットテーブル(740)、推論停止条件テーブル(750)、推論UC記述作成条件テーブル(760)、既存UC記述適合条件テーブル(770)、メインUC記述一覧テーブル(780)を有し、UC記述抽出処理部(103)の抽出結果を格納する抽出結果DB(104)とUC記述比較部(501)で比較を行うときに用いる既存UC記述DB(111)を有する。各テーブルの詳細については後述する。なお、前述した各定義条件(710,720,730,740,750,760,770,780)と各DB情報(104,111)は必要に応じてメモリ(1002)上にロードしても良い。さらに、前述した、システム構成は一台のサーバ装置で実現する必要は無く、分散した環境で実現しても良い。CPU(1004)、入力装置(1005)、システムバス(1006)においても、前述した図1を実現するための最低限の構成であるため、必ず図２の構成にする必要は無い。処理性能やシステム環境などの状況に応じて、変更することが可能である。
【００１４】
図３は、製品ログの入力部(201)の処理を説明した図である。製品ログの入力部(201)では、後述するキーワード抽出部(301)で用いる入力データ用に加工するために、製品ログを入力として、文字列の切り出しを行い、その結果を出力する。ログの読込み(202)処理では、開発対象の製品ログを読み込むことを行う。文字列の切り出し(203)処理では、UC記述抽出処理(103)の一連の処理で使用するキーワードを文字列として切り出すことを行う。なお、文字列の切り出しを行う処理では、後述する製品ログの出力項目テーブル(710)を用いる。次に、抽出処理の入力データに加工する(204)処理では、文字列の切り出し(203)処理で切り出した各文字列を後述するキーワード抽出部(301)の入力データとして扱うために加工する。製品ログの入力部(201)を実施することで、入力データとする製品ログのフォーマットや製品ログの出力項目の内容に影響せずに製品ログを加工することが可能である。また、扱う入力データが製品ログであるため、セキュリティの観点を考慮する必要がある。そのため、必要に応じて事前に不要な製品ログを削除したり、ダミーデータを追加することも可能である。前述した製品ログの加工方法以外にも、UC記述抽出処理(103)で用いる入力データを加工するための手段を製品ログの入力部(201)で実現することが可能である。
【００１５】
図４は、製品ログの入力部(201)を実施した場合の一例を説明した図である。製品ログ(205)は例として示したものであり、一行ごとに英字の文字を並べたものである。この製品ログ(205)を入力データとして、製品ログの読込み(202)処理を実施し、続いて文字列の切り出し(203)処理を実施することで、文字列の切り出しが完了する。その後、抽出処理の入力データに加工する(204)処理を実施することで、所定のフォーマットに従った加工製品ログ(206)を出力する。例として示した加工処理は一度だけ実施しているが、必要に応じて多段的に加工処理を実施しても良い。
【００１６】
図５は、キーワード抽出部(301)の処理を説明した図である。キーワード抽出部(301)では、後述する推論UC記述作成部(401)で用いる入力データを導出するために、読み込んだ加工製品ログから、不要なUC記述や、不要なキーワードを削除することで、推論UC記述に必要なキーワードを抽出する。加工ログの読込み(302)処理は、製品ログの入力部(201)で導出した結果を入力データとして読み込む処理を行う。キーワード選定 (303)処理では、キーワード判定(304)処理、UC記述基準の判定(305)処理、不要UC記述(306)判定処理、不要UC記述削除(307)処理を有しており、これら処理を実施することで、不要なUC記述と、不要なキーワードを削除する処理を行う。具体的な処理として、キーワード判定(304)処理は、後述する抽出キーワードテーブル(720)を用いて、UC記述を作成するのに必要なキーワードを判定すると同時に、不要なキーワードを特定する。UC記述基準の判定(305)処理は、後述する推論UC記述組み立て基準テーブル(730)を用いて、後述するUC記述の基準(731)の条件に一致しているかを判定する。判定の結果、UC記述の基準(731)に一致した場合は、そのUC記述に対してUC記述の基準(731)を付加する。不要UC記述(306)判定処理は前述した、UC記述基準の判定(305)処理により不要UC記述(739)が付加されたUC記述を特定し、不要UC記述(739)が付加されていた場合は、不要UC記述削除(307)処理を実施し、そうでない場合は次の処理を行う。
【００１７】
不要キーワード削除(308)処理では、キーワード判定(304)処理の結果、不要なキーワードと特定したキーワードを対象のUC記述から削除する処理を行う。抽出結果表に出力(309)処理は、不要な情報を削除後、選定した結果をキーワード抽出結果として扱うためのデータとして出力する。選定終了(310)処理は入力データの加工製品ログに対して、前述した処理が完了した時点で行う。なお、ユースケース記述のフォーマットには様々な種類があるが、キーワード抽出部(301)を実施することで、ユースケース記述に関係の無い製品ログを削除し、ユースケース記述として必要と判定されたキーワードと、ユースケース記述の追加情報として必要なキーワードを抽出することが可能である。前述したユースケース記述の追加情報とは、一般的なユースケース記述のフォーマットには含まれないが、UC記述抽出処理(103)の出力結果として必要なキーワードと判断された情報の事を指す。そのため、ユースケース記述の追加情報を補充することで、様々な用途のユースケース記述を導出できる。なお、前述したユースケース記述の追加情報は、後述する抽出キーワードテーブル(720)と推論UC記述組み立て基準テーブル(730)にて定義する。
【００１８】
図６は、キーワード抽出部(301)を実施した場合の一例を示した図である。例として示した加工製品ログ(311)を入力データとして、加工ログ読込み(302)処理を行っている。次に、キーワードの判定(304)処理およびUC記述基準の判定(305)処理を実施した結果、キーワード選定結果（312）を出力する。この時点では、不要なUC記述(313)と不要なキーワード(314,315)が付加されたままなので、不要UC記述削除(307)処理、および、不要キーワード削除(308)処理を実施する。キーワード選定結果(312)は、既に不要UC記述(313)の行と不要キーワード(314,315)の列を特定しているので、各削除処理(307,308)を実施することで、推論UC記述作成部(401)で使用する入力データとして、キーワード抽出結果(316)が出力される。
【００１９】
図７は、推論UC記述作成部(401)の処理を説明した図である。推論UC記述作成部(401)では、キーワード抽出部(301)で出力した抽出結果から、予め定義しているUC記述条件を参照し、潜在的なユースケース記述を導出する。この時点で、既存ユースケース記述と比較できるフォーマットに修正する作業も行っている。抽出結果表の読込み(402)処理は、キーワード抽出部(301)で抽出した結果を入力データとして読み込む。推論UC記述作成 (403)処理では、推論停止条件(404)判定処理、分岐UC記述(405)判定処理、一時推論UC記述表を複製(406)処理、繰返しUC記述(407)判定処理、繰返しUC記述の正規表現(408)処理、一時推論UC記述表に出力(409)処理、UC記述条件 (410)判定処理、推論UC記述表に出力(411)処理 を有しており、これら処理を実施することで、UC記述比較部(501)で用いる推論UC記述を導出することができる。具体的な処理として、推論停止条件(404)判定処理では、後述する推論停止条件テーブル(750)を用いて、処理の始めに推論UC記述の作成を停止するための条件に該当しているかを判定している。推論停止条件(404)判定処理で条件に該当した場合は、UC記述のフォーマットと条件を満たしているかを判定するためにUC記述条件 (410)判定処理を行う。推論停止条件(404)判定処理で条件に該当しない場合は、読み込んだ抽出結果をさらに解析するために、次の処理に移る。
【００２０】
分岐UC記述(405)判定処理は、後述するUC記述基準(731)が分岐UC記述(736)であるかを判定している。UC記述基準(731)が分岐UC記述(736)の場合には、当該推論UC記述を別の推論UC記述作成部(401)で処理する必要があるため、一時推論UC記述表を複製(406)処理を行い、処理を分岐させる。分岐UC記述(405)判定処理にてUC記述基準(731)が分岐UC記述(736)と判定されない場合は、次の繰返しUC記述(407)判定処理に移る。次に、繰返しUC記述(407)判定処理は、UC記述基準(731)が繰返しUC記述(737)であるかを判定している。UC記述基準(731)が繰返しUC記述(737)と判定された場合は、繰返し部分を正規化するために、繰返しUC記述の正規表現(408)処理を行う。繰返しUC記述の正規表現(408)処理は、顧客の操作で繰返し行われた内容をUC記述として定義しないために、正規表現に直すことで繰返し操作を除外するための処理である。繰返しUC記述(407)判定処理にてUC記述基準(731)が繰返しUC記述(737)と判定されない場合は、次の処理に移る。一時推論UC記述表に出力(409)処理は、UC記述条件(410)判定処理の入力データとして、推論UC記述フォーマットの形式に従い出力し、一時的にデータを保持するための処理である。
【００２１】
このとき、一時的に保持するための推論UC記述のフォーマットとしては、後述する推論UC記述フォーマットテーブル(740)を用いる。UC記述条件(410)判定処理は、後述する推論UC記述作成条件テーブル(760)を用いることで、UC記述比較部(501)の入力データとして扱うために、推論UC記述として一般的なユースケース記述の書式およびユースケース記述の条件を満たしているかを判定している。推論UC記述表に出力(411)処理は、UC記述条件(410)判定処理の結果で、条件を満たしているものを推論UC記述フォーマットテーブル(740)に従い出力する処理を行う。推論UC記述表に出力(411)処理の結果が、そのままUC記述比較部(501)の入力データとなる。UC記述条件(410)判定処理の結果で、条件を満たしていない場合は、その情報を破棄し、次の推論UC記述作成(403)処理を行う。すべての入力データに対して前述した推論UC記述作成 (403) 処理を完了した時点で推論UC記述作成処理を終了(412)処理を実施する。推論UC記述作成部(401)を実施することで、潜在的に漏れていたユースケース記述を製品ログから導出することが可能となる。この時点では、既存UC記述の可能性も含まれているが、推論UC記述作成部(401)では製品ログからユースケース記述に変換する手段を実現している。
【００２２】
図８は、UC記述比較部(501)の処理を説明した図である。UC記述比較部(501)では、推論UC記述作成部(401)で求めた推論UC記述と既存UC記述を比較し、その結果から推論UC記述と判定したものを出力する。なお、出力内容は利用者の目的に応じて推論UC記述の用途ごとに設定することが可能である。既存UC記述DBの読込み(502)処理は、推論UC記述作成部(401)で求めた推論UC記述と比較するための対象データを用意するために、既存UC記述DB(111)の読み込む処理を行う。UC記述候補判定(503)処理は、推論UC記述結果の読込み(504)処理、既存UC記述(505)判定処理、判定結果を出力(506)処理を有しており、これら処理を実施することで、既存UC記述DB(111)に存在しない潜在的なユースケース記述を導出することが可能である。具体的な処理として、推論UC記述結果の読込み(504)処理は、推論UC記述作成部(401)の出力結果を入力データとして扱うために読込み処理を行う。既存UC記述(505)判定処理は、推論UC記述作成部(401)で求めた推論UC記述が既存UC記述DB(111)に存在するかのを判定するための処理である。既存UC記述(505)判定処理の結果、既存UC記述に存在しないと判定した場合は、判定結果を出力(506)処理を行い、既存UC記述に存在した場合は、次の既存UC記述(505)判定処理を行う。
【００２３】
このとき、既存UC記述と判断するための判断条件として、既存UC適合率があり、その計算式については後述するUC記述適合率計算式(515)を用いて算出することができる。なお、UC記述適合率の計算結果から、既存UC記述かどうかの判定を行なうための基準として、既存UC記述適合条件テーブル(770)を用いる。判定結果を出力(506)処理では、既存UC記述(505)判定処理の結果、既存UC記述に存在しないと判定したUC記述を出力する処理を行う。すべての入力データに対して前述した処理が完了した時点で判定処理を終了(507)処理を実施する。UC記述比較部(501)を実現することで、推論UC記述を導出するだけでなく、推論UC記述の推論UC記述出力量(771)を調整することができ、様々な推論UC記述の用途(773)に合わせた設定が可能である。すなわち、後述する既存UC記述適合条件テーブル(770)を追加・修正することで、推論UC記述の利用方法を想定した出力内容や出力量を定義することができる。既存UC記述適合条件テーブル(770)の詳細については後述する。
【００２４】
図９は、UC記述比較部(501)を実施した場合の一例を説明した図である。例として、推論UC記述作成結果(508)と既存UC記述(509)を比較している。UC記述比較部(501)に従い、推論UC記述作成結果(508)と既存UC記述(509)の比較を行った結果、UC記述比較結果（510）を出力する。比較の結果としては、2ステップ (512)目が既存UC記述(509)と非適合になり、それ以外のステップ(511,513,514)が既存UC記述(509)に適合している例である。例として示した推論UC記述作成結果(508)のUC記述ステップ数が、既存UC記述(509)のUC記述ステップ数より多いが、推論UC記述作成結果(508)と既存UC記述(509)のUC記述ステップ数の大小関係に依存することなく、UC記述比較部(501)を実施することが可能である。
【００２５】
図１０Ａは、UC記述比較部(501)の既存UC記述判定(505)処理で用いるUC記述適合率を算出するためのUC記述適合率計算式(515)である。UC記述適合数(516)は、既存UC記述(505)判定処理の結果、既存UC記述に適合した数を値として用いる。推論UC記述数 or 既存UC記述数のステップ数が多い方(517)は、既存UC記述(505)判定処理で比較処理を行う時点で、推論UC記述と既存UC記述を比べてステップ数の多い方を値として用いる。前述した分母と分子を用いて、UC記述適合率を算出する。
【００２６】
図１０Ｂは、UC記述適合率の計算例(518)を示した図である。計算例(518)について説明する。まず、UC記述適合率計算式(515)の分母として定義した推論UC記述数 or 既存UC記述数のステップ数が多い方(517)については、図９の推論UC記述作成結果(508)と既存UC記述(509)から、推論UC記述作成結果(508)のステップ数が4ステップであるため、既存UC記述(509)の3ステップより多い。そのため、UC記述適合率計算式(515)の分母は4となる。次に、UC記述適合率計算式(515)の分子として定義したUC記述適合数(516)については、図９のUC比較結果(510)から、適合と判定されたステップ(511,513,514)が3つとなるため、UC記述適合率計算式(515)の分子は3となる。前述した値を用いてUC記述適合率計算式(515)に値を代入すると、計算例(518)に示す数値が算出される。
【００２７】
図１１Ａは、DB格納部(601)の処理を説明した図である。DB格納部(601)では、UC記述比較部(501)で求めた推論UC記述を、開発時に参照しやすいようにカテゴライズして格納する処理を行う。判定結果の読込み(602)処理は、UC記述比較部(501)で実施した判定結果を入力データとして扱うために読込み処理を行う。メインUC記述一覧を参照(603)処理は、後述するメインUC記述一覧テーブル(780)を用いることで、開発時に定義するユースケース記述の一覧表を参照することができる。UC記述群ごとにカテゴライズする(604)処理は、メインUC記述一覧を参照(603)処理の参照結果を事前情報として用いて、各UC記述群ごとにカテゴライズする処理を行う。抽出結果として抽出結果DBに格納(605)処理は、各UC記述群ごとにカテゴライズする(604)処理の実施結果により、カテゴライズされた推論UC記述を抽出結果DB(104)に格納する。DB格納部(601)を実現することで、様々なUC記述群ごとにカテゴライズできる方法を実現する。なお、DB格納部(601)では、メインUC記述一覧テーブル(780)以外のテーブル情報もカテゴライズ情報として参照することができるため、運用に合わせたDB格納方法が可能である。
【００２８】
図１１Ｂは、抽出結果DB(104)のテーブルを説明した図である。抽出結果DB(104)としては、図１１Ａで前述したメインUC記述一覧テーブル(780)を参照して、カテゴライズした結果が保存される。抽出結果DBのテーブル(606)は、UC記述番号(607)、カテゴライズ結果(608)、UC記述適合率(609)、ステップ数(610)、経過時間(611)、UC記述判定結果(612)から構成される。UC記述番号(607)は、メインUC記述一覧テーブル(780)のUC記述番号(781)と対応を取るために同じ構成で設定される。カテゴライズ結果(608)は、図１１Ａの各UC記述群ごとにカテゴライズする(604)の処理で一意に識別できる文字列が設定される。UC記述適合率(609)は、図１０Ａで説明したUC記述適合率計算式(515)の計算結果が設定される。ステップ数(610)は、図7の推論UC記述表に出力(411)の結果から導出したステップ数の合計値が設定される。経過時間(611)は、図７の推論UC記述表に出力(411)の結果から導出した経過時間の累計値が設定される。UC記述判定結果(612)は、図７のUC記述条件(410)の判定結果が設定される。なお、導出した推論UC記述の出力結果を抽出結果DB(104)から参照するときは、抽出結果DBのテーブル(606)の各項目を検索キーとすることで、必要な推論UC記述の情報を検索することができる。抽出結果DBのテーブル(606)に示す具体例としては、UC記述判定結果(612)が正常(614)なケースと異常(613)なケースを抜粋して説明する。UC記述判定結果(612)が正常(614)の場合は、後述する推論UC記述作成条件テーブル(760)からステップ数(610)と経過時間(611)は共に正常域と判定される結果が格納されている。また、カテゴライズ結果(608)についても一意に識別できる値が設定されており、かつ、UC記述適合率(609)も既存UC記述適合条件テーブル(770)から正常域な結果が格納されているため、UC記述判定結果(612)が正常(614)と格納されている。しかし、UC記述判定結果(612)が異常(613) の場合は、経過時間(611)以外の項目に関しては正常域な結果が格納されているが、経過時間(611)については、推論UC記述作成条件テーブル(760)から異常域と判定されるため、異常(613)と格納されている。
【００２９】
図１２は、製品ログの出力項目テーブル(710)を示した図である。製品ログの出力項目テーブル(710)は、本発明の一形態として定義した製品ログに出力される項目をまとめた出力項目(711)と、出力項目(711)に対応した出力内容(712)から構成されている。それぞれの項目(711,712)は、必要に応じて追加することで、キーワード抽出の粒度を細かくすることが可能となる。
【００３０】
このとき、製品ログの出力項目テーブル(710)は、製品ログの入力部(201)の文字列の切り出し(203)処理で参照する。具体例として、出力項目(711)で定義したユーザID(713)を用いて文字列を切り出したい場合、想定されるユースケース記述としては、多重アクセスを許容する製品のログから、ログインユーザごとにユーザを分類する場合が考えられる。他にも、製品の特性を考慮してログを解析する場合は、前述した通り、製品ログの出力項目テーブル(710)を用いて文字列の切り出し(203)処理を行うか、新たに出力項目(711)を追加していくことで実現する。
図１３Ａは、抽出キーワードテーブル(720)を示した図である。抽出キーワードテーブル(720)は、抽出対象のキーワードとして使用するキーワード項目（721）と、推論UC記述作成部(401)の処理で用いる目的を明記した推論UC記述作成部での用途(722)から構成されている。それぞれの項目(721,722)は、必要に応じて追加することで、推論UC記述作成部(401)での推論処理のパターンを増やすことが可能である。
このとき、抽出キーワードテーブル(720)はキーワード抽出部(301)のキーワード判定(304) 処理で参照する。具体例として、抽出キーワードテーブル(720)のキーワードの項目(721)が定義されている場合、ユーザID(723)を用いて説明すると、推論UC記述作成部での用途(722)で明記している通り、ユーザを特定するために用いる。しかし、抽出キーワードテーブル(720)のキーワードの項目(721)に定義していないキーワードを抽出した場合、不要キーワード削除(308)処理にて削除する。前述した通り、抽出キーワードテーブル(720)は必要なキーワードと、不要なキーワードを特定するために用いる。
【００３１】
図１３Ｂは、推論UC記述組み立て基準テーブル(730)を示した図である。推論UC記述組み立て基準テーブル(730)は、UC記述基準の判定(305)処理で用いるUC記述基準(731)と、各UC記述基準(731)ごとに実際の製品ログの操作内容や処理内容の凡例を明記している抽出項目の操作及び処理(732)と、各UC記述基準(731)ごとに抽出項目の操作及び処理(732)の凡例を導出するのに用いる説明(733)から構成されている。それぞれの項目(731,732,733)は、必要に応じて追加することで、より詳細なUC記述基準の判定(305)処理が可能となる。また、UC記述基準(731)はは先頭UC記述(734)、終了UC記述(735)、分岐UC記述(736)、繰返しUC記述(737)、その他UC記述(738)、不要UC記述(739)を有している。各UC記述基準(734,735,736,737,738,739)における抽出項目の操作及び処理(732)と説明(733)を必要に応じて追加することで、推論UC記述作成部(401)で行う推論処理のパターンを増やすことが可能となる。
【００３２】
このとき、推論UC記述組み立て基準テーブル(730)はキーワード抽出部(301)のUC記述基準の判定(305)処理で参照する。具体例として、UC記述基準(731)を不要UC記述(739)と判定する場合は、ユースケース記述として定義する内容に不要な情報が含まれる場合である。例えば、製品が実現するシステムの振る舞いや動作ではなく、製品の内部処理に該当する情報や、非機能要求に該当する情報である。そのため、UC記述基準の判定(305)処理で、不要UC記述(739)と判定されたユースケース記述は、不要UC記述削除(307)処理にて削除される。また、それ以外の各UC記述基準(734,735,736,737,738)と判定された場合は、推論UC記述を作成するために必要な情報であるため、該当するUC記述基準(731)が付加される。前述した通り、推論UC記述組み立て基準テーブル(730)は必要なUC記述と不要なUC記述を特定するために用いる。
【００３３】
図１４は、推論UC記述出力フォーマットテーブル(740)を示した図である。推論UC記述出力フォーマットテーブル(740)は、ユースケース記述のステップ数を明示的に示すためのステップ数(741)、推論UC記述を作成し始めてからの経過時間を示す経過時間(742)、顧客が操作した内容を記載する操作内容(743)、顧客操作に対するシステム応答を記載するシステム応答(744)、UC記述基準の判定(305)処理の結果を付加するUC記述基準(745)から構成されている。それぞれの項目(741,742,743,744,745)は、必要に応じて追加することで、推論UC記述作成部(401)で作成する推論UC記述のフォーマットを定義することに繋がり、様々なユースケース記述に対応することが可能になる。
このとき、推論UC記述出力フォーマットテーブル(740)は、推論UC記述作成部(401)の一時推論UC記述表を複製(406)処理、一時推論UC記述表に出力(409)処理、推論UC記述表に出力(411)処理で用いる。また、既存UC記述DBの保存フォーマットとしても用いている。
【００３４】
図１５Ａは、推論停止条件テーブル(750)を示した図である。推論停止条件テーブル(750)は、推論UC記述作成(403)処理を停止するための条件を示した推論停止条件(751)、推論停止条件(751)の停止条件を明記している項目の説明(752)から構成されている。それぞれの項目(751,752)は必要に応じて追加することで、確度の高い推論停止条件(404)判定処理が可能となる。
【００３５】
このとき、推論停止条件テーブル(750)は、推論UC記述作成部(401)の推論停止条件(404)判定処理で参照する。具体例として、推論停止条件(751)の経過時間(753)を用いて、推論停止条件(404)判定処理を行う場合は、経過時間(753)の説明(752)に明記している通り、ユースケース記述のステップ間の経過時間が1時間を越えた場合は、ユースケース記述として前後のステップ同士の関連が低くなるため異常系と見なし、推論UC記述作成(403)処理を停止する。実際のユースケース記述としては、1つの操作を行ってから次の操作まで1時間何も操作を行わない場合に該当する。つまり、推論停止条件テーブル(750)は、UMLの技術分野における一般的なユースケース記述の定義に該当しない場合に、推論UC記述作成(403)処理を停止させるための条件定義に用いる。
【００３６】
図１５Ｂは、推論UC記述作成条件テーブル(760)を示した図である。推論UC記述作成条件テーブル(760)は、推論UC記述としての条件を満たしているかの項目を明記したUC記述定義条件(761)、各推論UC記述に対してUC記述の種別を明示的にするためのUC記述判定(762)、UC記述定義条件(761)の内容を明記している説明(763)、UC記述条件(410)判定処理にて複合条件を明記した論理式(764)から構成されている。それぞれの項目(761,762,763,764)は必要に応じて追加することで、より確度の高いUC記述条件(410)判定処理が可能となる。
【００３７】
このとき、推論UC記述作成条件テーブル(760)は、推論UC記述作成部(401)のUC記述条件(410)判定処理で参照する。UC記述定義条件(761)の停止条件(765)を用いて判定する場合は、推論UC記述として出力するための最低条件を満たしているかを判定するときである。具体的には、推論UC記述作成部(401)の推論停止条件(404)判定処理で正常に終了判定を終えた推論UC記述をUC記述条件(410)判定処理で改めて確認するための条件という位置づけである。前述した通り推論UC記述作成条件テーブル(760)は、推論UC記述として出力する条件を満たしているかを判定し、かつ、出力する推論UC記述が正常系であるか、異常系であるかを判定する場合に用いる。
【００３８】
図１６は、既存UC記述適合条件テーブル(770)を示した図である。既存UC記述適合条件テーブル(770)は、推論UC記述の出力量を定義した推論UC記述出力量(771)、UC記述適合率を評価基準として明記した既存UC記述判定条件(772)、推論UC記述出力量(771)を設定する時点で参照する用途(773)から構成されている。それぞれの項目(771,772,773)は必要に応じて追加することで、用途(773)ごとに合わせたUC記述条件(410)判定処理が可能となる。また、既存UC記述判定条件(772)の閾値は変更することを許容しており、閾値を変更するすることで、用途(773)ごとに詳細な推論UC記述作成に関する場合分けが可能となる。
【００３９】
このとき、既存UC記述適合条件テーブル(770)は、UC記述比較部(501)の既存UC記述(505)判定処理で参照する。例えば、ユーザの様々な操作を潜在的UC記述として導出したい場合は、推論UC記述出力量(771)を中(774)と設定することで可能となる。つまり、推論UC記述出力量(771)を変更することで、導出した推論UC記述の用途(773)に合わせた既存UC記述(505)判定処理が可能となる。
【００４０】
図１７は、メインUC記述一覧テーブル(780)を示した図である。メインUC記述一覧テーブル(780)は、各ユースケース記述のカテゴリーに関連づいた番号のUC記述番号(781)と、UC記述番号(781)を一意に識別するためのタイトル(782)と、各UC記述番号(781)を代表する先頭UC記述およびその他UC記述を明記した、先頭UC記述/その他UC記述(783)から構成されている。それぞれの項目(781,782,783)は必要に応じて追加することで、ユースケース記述の分類をより細かく行うことが可能となる。
このとき、メインUC記述一覧テーブル(780)は、DB格納部(601)のメインUC記述一覧を参照(603)処理と各UC記述群ごとにカテゴライズする(604)処理で参照する。メインUC記述一覧を参照(603)処理では、メインUC記述一覧テーブル(780)の最新情報を読み込むために用いる。各UC記述群ごとにカテゴライズする(604)処理では、判定結果の読込み(602)処理で取得したメインUC記述一覧テーブル(780)の先頭UC記述/その他UC記述(783)を参照し、推論UC記述をカテゴライズするために用いる。例えば、取得した先頭UC記述/その他UC記述(783)の内容が、インストール画面を表示している推論UC記述の場合、UC記述番号(781)がUC1000(784)のカテゴリに分類される。つまり、メインUC記述一覧テーブル(780)は、判定結果の読込み(602)処理で取得した推論UC記述の内容と、先頭UC記述/その他UC記述(783)をつき合わせて、抽出結果DB(104)にカテゴライズして格納する場合に用いる。
【符号の説明】
【００４１】
103  UC記述抽出処理部
104  抽出結果DB
111  既存UC記述DB
201  製品ログの入力部
301  キーワード抽出部
401  推論UC記述作成部
501  UC記述比較部
601  DB格納部
710  製品ログの出力項目テーブル
720  抽出キーワードテーブル
730  推論UC記述組み立て基準テーブル
740  推論UC記述出力フォーマットテーブル
750  推論停止条件テーブル
760  推論UC記述作成条件テーブル
770  既存UC記述適合条件テーブル
780  メインUC記述一覧テーブル
1001  サーバ装置
1002  メモリ
1003  HDD
1004  CPU
1005  入力装置
1006  システムバス
【図１】
2012168738.tif 000003
【図２】
2012168738.tif 000004
【図３】
2012168738.tif 000005
【図４】
2012168738.tif 000006
【図５】
2012168738.tif 000007
【図６】
2012168738.tif 000008
【図７】
2012168738.tif 000009
【図８】
2012168738.tif 000010
【図９】
2012168738.tif 000011
【図１０Ａ】
2012168738.tif 000012
【図１０Ｂ】
2012168738.tif 000013
【図１１Ａ】
2012168738.tif 000014
【図１１Ｂ】
2012168738.tif 000015
【図１２】
2012168738.tif 000016
【図１３Ａ】
2012168738.tif 000017
【図１３Ｂ】
2012168738.tif 000018
【図１４】
2012168738.tif 000019
【図１５Ａ】
2012168738.tif 000020
【図１５Ｂ】
2012168738.tif 000021
【図１６】
2012168738.tif 000022
【図１７】
2012168738.tif 000023