(57)【要約】【課題】イベント駆動型ソフトウェアの仕様記述において、ユースケース記述の概要及びイベントフローに対して平易に仕様を記述でき且つ記述の漏れと曖昧さをなくすことが可能なイベント駆動型ソフトウェア用仕様記述支援装置を提供する。【解決手段】イベント駆動型仕様記述支援装置１は、サーバ11内のハードウェア資源である記憶装置中に、品質特性定義ファイル２、形式仕様演算子ファイル３、データ定義ファイル４、仕様ファイル５を備え、またサーバ11内のハードウェア資源である中央処理装置(ＣＰＵ)，入出力装置，記憶装置等により実現される、機能ブロックとしての、データ定義処理部６、選択・入力処理部７、検証処理部８を備えて構成される。イベント駆動型仕様記述支援装置１はネットワーク９を介してクライアント10に結合されている。選択，入力処理部７は、クライアント10に仕様記述画面を表示し、仕様記述に係る選択，入力処理を実行する。【選択図】図１
2009075681.tif 000002
【特許請求の範囲】
【請求項１】
章立て、統一モデリング言語(ＵＭＬ)のユースケース記述概要及びユースケース記述イベントフローに係るテンプレートおよび仕様記述した記述文を格納する仕様ファイルと、
形式的仕様記述言語(ＶＤＭ-ＳＬ)の数型演算子および論理型演算子に対応した演算子を定義する形式仕様演算子ファイルと、
非機能要求項目に係る品質特性及び品質副特性項目をカテゴライズして格納する品質特性定義ファイルと、
外部データ定義及び入力データ定義を格納するデータ定義ファイルと、
を備え、
ユーザによる仕様記述に際し、ユーザに仕様記述画面を表示するとともに当該仕様記述画面の所定領域に選択，入力処理を行う選択，入力処理部と、
ユーザにデータ定義画面を表示するとともに当該データ定義画面から入力した外部データ定義及び入力データ定義を前記データ定義ファイルに格納する処理を行うデータ定義処理部と、
を有し、
前記選択，入力処理部は、前記ユーザにより起動され、前記仕様記述画面に前記仕様ファイルから前記テンプレートを読み込み、前記仕様記述画面にテンプレートを表示し、当該テンプレートにおいて前記形式的仕様記述言語の構文、前記形式仕様演算子ファイルに格納された演算子、および、前記品質特性定義ファイルに格納された品質特性・品質副特性をプルダウンメニューから選択し、また前記テンプレートで表示されたボタンを操作することで前記データ定義ファイルに格納された前記外部データ定義及び前記入力データ定義を読み込んで前記外部データ定義及び前記入力データ定義にしたがった記述を選択して、前記ユースケース記述概要及び前記ユースケース記述イベントフローの仕様を記述し、記述文を前記仕様ファイルに格納し、さらに前記テンプレートで表示されたボタンを操作した際にデータ定義画面を表示し、当該データ定義画面で外部データ定義及び入力データ定義を追加/変更/削除して前記データ定義ファイルに格納する、
ことを特徴とするイベント駆動型ソフトウェア用仕様記述支援装置。
【請求項２】
前記品質特性定義ファイルは、記載章および第１分類、第２分類にカテゴリ化して前記品質特性および前記品質副特性を格納し、前記選択，入力処理部は、プルダウンメニューに展開された前記カテゴリ化された前記品質特性および前記品質副特性に係る項目を選択し、選択した前記項目に対して仕様記述を行うことを特徴とする請求項１項記載のイベント駆動型ソフトウェア用仕様記述支援装置。
【請求項３】
章立て、統一モデリング言語(ＵＭＬ)のユースケース記述概要及びユースケース記述イベントフローに係るテンプレートおよび仕様記述した記述文を格納する仕様ファイルと、
形式的仕様記述言語(ＶＤＭ-ＳＬ)の数型演算子および論理型演算子に対応した演算子を定義する形式仕様演算子ファイルと、
非機能要求項目に係る品質特性及び品質副特性項目をカテゴライズして格納する品質特性定義ファイルと、
外部データ定義及び入力データ定義を格納するデータ定義ファイルと、
を備え、
ユーザによる仕様記述に際し、ユーザに仕様記述画面を表示するとともに当該仕様記述画面の所定領域に選択，入力処理を行う選択，入力処理部と、
ユーザにデータ定義画面を表示するとともに当該データ定義画面から入力した外部データ定義及び入力データ定義を前記データ定義ファイルに格納する処理を行うデータ定義処理部と、
前記仕様ファイルの指定したデータおよび前記形式仕様演算子ファイルを参照して前記仕様ファイルの指定したデータを形態素解析して検証する処理を行う検証処理部と、
を有し、
前記選択，入力処理部は、前記ユーザにより起動され、前記仕様記述画面に前記仕様ファイルから前記テンプレートを読み込み、前記仕様記述画面にテンプレートを表示し、当該テンプレートにおいて、前記形式的仕様記述言語の構文、前記形式仕様演算子ファイルに格納された演算子、および、前記品質特性定義ファイルに格納された品質特性・品質副特性をプルダウンメニューから選択し、また前記テンプレートで表示されたボタンを操作することで前記データ定義ファイルに格納された前記外部データ定義及び前記入力データ定義を読み込んで前記外部データ定義及び前記入力データ定義にしたがった記述を選択して、前記ユースケース記述概要及び前記ユースケース記述イベントフローの仕様を記述し、記述文を前記仕様ファイルに格納し、さらに前記テンプレートで表示されたボタンを操作した際にデータ定義画面を表示し、当該データ定義画面で外部データ定義及び入力データ定義を追加/変更/削除して前記データ定義ファイルに格納し、
前記検証処理部は、前記ユーザにより起動され、前記選択，入力処理部により記述され前記仕様ファイルに格納された前記記述文におけるユーザ指定のデータを読み込み、当該データを形態素解析して記述の正確性を検証する、
ことを特徴とするイベント駆動型ソフトウェア用仕様記述支援装置。
【請求項４】
前記品質特性定義ファイルは、記載章および第１分類、第２分類にカテゴリ化して前記品質特性および前記品質副特性を格納し、前記選択，入力処理部は、プルダウンメニューに展開された前記カテゴリ化された前記品質特性および前記品質副特性に係る項目を選択し、選択した前記項目に対して仕様記述を行うことを特徴とする請求項３項記載のイベント駆動型ソフトウェア用仕様記述支援装置。
【請求項５】
前記検証処理部は、前記ユーザが指定するデータに一致する前記仕様ファイルの前記記述文のデータを読み込み、前記形式仕様演算子ファイルの演算子を参照して構文の記載を形態素解析して検証し、また前記ユースケース記述に係るイベントの例外系列の記載の有無を形態素解析により検証することを特徴とする請求項３または４項記載のイベント駆動型ソフトウェア用仕様記述支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組み込みソフトウェアを含むソフトウェアの設計を実施するにあたって、仕様記述を支援するイベント駆動型ソフトウェア用仕様記述支援用仕様記述支援装置に関する。
【背景技術】
【０００２】
一般にソフトウェアの設計では漏れがない正確な仕様を記述し、検証することにより設計品質を向上させ、手戻り作業を削減することが重要である。
漏れがない正確な仕様を記述するには、機能要件、非機能要件を漏らさない、仕様の条件を明確にする、仕様の文書記述での曖昧さをなくす、記述間の矛盾をなくすなどの課題をクリアする必要がある。
【０００３】
また記述にあたっては、記述を容易化すべく不要な選択肢を示さないよう記述項目や内容を適切に示すことが重要である。例えば、ISO_IEC_13817-1で標準化されている形式的仕様記述言語ＶＤＭ-ＳＬ(Vienna Development Method Specification Language)を使用する手段もあるが、形式的仕様記述言語ＶＤＭ-ＳＬの記述や解読に利用者が時間をかけて学習する必要があり、一般的ではない。
【０００４】
イベント駆動型ソフトウェアの要求仕様は、機能要求項目または品質特性を含む非機能要求項目についてそれぞれＵＭＬ(Unified Modeling Language)(統一モデリング言語)を用いてユースケース記述がなされることはソフトウェア開発に従事する技術者に知られている。このような状況にあって、例えば、特許文献１は、機能要求項目と品質特性に基づいたアーキテクチャ特性とを組み合わせてリスク項目を抽出し、設計要件を効率的に決定することを開示している。
【０００５】
特許文献２は、ユースケースに対して事前条件、事後条件、不変条件を設定して、不変条件が成立することを判断することで仕様書の曖昧さ、矛盾、漏れを取り除くことを開示している。
【０００６】
特許文献３は、プロトタイプシステムを設計する際に、基本処理記述文の日本語を構文解析して動詞語彙関連表を作成し、代入表を用い疑似コード文の詳細語彙を基本語彙に置き換えると共に疑似コード文を構文解析し、動詞語彙と基本語彙(名詞)の係り受けを作成した動詞語彙関連表によりチェックし、チェック不可でユーザに仕様の修正を求めることを開示している。
【０００７】
非特許文献１は、ソフトウェア製品の品質特性、品質副特性を規定した規格を開示している。
非特許文献２は、ソフトウェア要求仕様書の目次や記載項目例を開示している。
【特許文献１】特開２００３−２５６２０５号公報
【特許文献２】特開２００６−３２３６９４号公報
【特許文献３】特開２０００−１３２３８２号公報
【非特許文献１】ＪＩＳ  Ｘ０１２９  「ソフトウェア製品の品質」
【非特許文献２】ソフトウェア・エンジニアリング・センター編「組込みソフトウェア向け開発プロセスガイド」翔泳社、pp.102-105(2006年)
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記特許文献１では品質特性により設計要件を決定するためのリスク評価はできるが、機能要件、非機能要件の記述漏れや文書の記述自体の曖昧さを解消することはできない。
上記特許文献２では条件の記述と不変条件を満たしているかの検証はできるが、品質特性に対応した記述漏れの有無の確認や記述の曖昧さの確認はできない。
【０００９】
上記特許文献３では動詞語彙と基本語彙(名詞)の係り受けを作成した動詞語彙関連表によりチェックし、チェック不可でユーザに仕様の修正を求めるものであるが、制限された日本語表現内で仕様を記述するところから品質特性や品質副特性の記述漏れに対するチェックが明確でなくまたチェック不可で仕様を具体的にどう修正するかの開示がなされていない。
【００１０】
上記非特許文献１は品質特性、品質副特性の記述があるが、どの開発ライフサイクルで適用するのか、どの要件に対応するのか、どのレベルの記述に使用するのかが記載されていない。
【００１１】
上記非特許文献２はソフトウェア要求仕様書の記載項目はあるが、内容を記述する枠組みがなく、記述の漏れや曖昧さが入る可能性がある。
そこで本発明は、イベント駆動型ソフトウェアの仕様記述において、ユースケース記述の概要及びイベントフローに対して平易に仕様を記述でき且つ記述の漏れと曖昧さをなくすことが可能なイベント駆動型ソフトウェア用仕様記述支援装置を提供することを第１の目的とする。
【００１２】
また本発明は、イベント駆動型ソフトウェアの仕様記述において、ユースケース記述の概要及びイベントフローに対して平易に仕様を記述した文に対して形態素解析を応用し曖昧さと漏れを検証することが可能なイベント駆動型ソフトウェア用仕様記述支援装置を提供することを第２の目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために本発明は、章立て、統一モデリング言語(ＵＭＬ)のユースケース記述概要及びユースケース記述イベントフローに係るテンプレートおよび仕様記述した記述文を格納する仕様ファイルと、形式的仕様記述言語(ＶＤＭ-ＳＬ)の数型演算子および論理型演算子に対応した演算子を定義する形式仕様演算子ファイルと、非機能要求項目に係る品質特性及び品質副特性項目をカテゴライズして格納する品質特性定義ファイルと、外部データ定義及び入力データ定義を格納するデータ定義ファイルと、を備え、ユーザによる仕様記述に際し、ユーザに仕様記述画面を表示するとともに当該仕様記述画面の所定領域に選択，入力処理を行う選択，入力処理部と、ユーザにデータ定義画面を表示するとともに当該データ定義画面から入力した外部データ定義及び入力データ定義を前記データ定義ファイルに格納する処理を行うデータ定義処理部と、を有し、前記選択，入力処理部は、前記ユーザにより起動され、前記仕様記述画面に前記仕様ファイルから前記テンプレートを読み込み、前記仕様記述画面にテンプレートを表示し、当該テンプレートにおいて前記形式的仕様記述言語の構文、前記形式仕様演算子ファイルに格納された演算子、および、前記品質特性定義ファイルに格納された品質特性・品質副特性をプルダウンメニューから選択し、また前記テンプレートで表示されたボタンを操作することで前記データ定義ファイルに格納された前記外部データ定義及び前記入力データ定義を読み込んで前記外部データ定義及び前記入力データ定義にしたがった記述を選択して、前記ユースケース記述概要及び前記ユースケース記述イベントフローの仕様を記述し、記述文を前記仕様ファイルに格納し、さらに前記テンプレートで表示されたボタンを操作した際にデータ定義画面を表示し、当該データ定義画面で外部データ定義及び入力データ定義を追加/変更/削除して前記データ定義ファイルに格納する、ことを特徴とする。
【００１４】
また本発明は、章立て、統一モデリング言語(ＵＭＬ)のユースケース記述概要及びユースケース記述イベントフローに係るテンプレートおよび仕様記述した記述文を格納する仕様ファイルと、形式的仕様記述言語(ＶＤＭ-ＳＬ)の数型演算子および論理型演算子に対応した演算子を定義する形式仕様演算子ファイルと、非機能要求項目に係る品質特性及び品質副特性項目をカテゴライズして格納する品質特性定義ファイルと、外部データ定義及び入力データ定義を格納するデータ定義ファイルと、を備え、ユーザによる仕様記述に際し、ユーザに仕様記述画面を表示するとともに当該仕様記述画面の所定領域に選択，入力処理を行う選択，入力処理部と、ユーザにデータ定義画面を表示するとともに当該データ定義画面から入力した外部データ定義及び入力データ定義を前記データ定義ファイルに格納する処理を行うデータ定義処理部と、前記仕様ファイルの指定したデータおよび前記形式仕様演算子ファイルを参照して前記仕様ファイルの指定したデータを形態素解析して検証する処理を行う検証処理部と、を有し、前記選択，入力処理部は、前記ユーザにより起動され、前記仕様記述画面に前記仕様ファイルから前記テンプレートを読み込み、前記仕様記述画面にテンプレートを表示し、当該テンプレートにおいて、前記形式的仕様記述言語の構文、前記形式仕様演算子ファイルに格納された演算子、および、前記品質特性定義ファイルに格納された品質特性・品質副特性をプルダウンメニューから選択し、また前記テンプレートで表示されたボタンを操作することで前記データ定義ファイルに格納された前記外部データ定義及び前記入力データ定義を読み込んで前記外部データ定義及び前記入力データ定義にしたがった記述を選択して、前記ユースケース記述概要及び前記ユースケース記述イベントフローの仕様を記述し、記述文を前記仕様ファイルに格納し、さらに前記テンプレートで表示されたボタンを操作した際にデータ定義画面を表示し、当該データ定義画面で外部データ定義及び入力データ定義を追加/変更/削除して前記データ定義ファイルに格納し、前記検証処理部は、前記ユーザにより起動され、前記選択，入力処理部により記述され前記仕様ファイルに格納された前記記述文におけるユーザ指定のデータを読み込み、当該データを形態素解析して記述の正確性を検証する、ことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、イベント駆動を伴ったソフトウェアについて、ＵＭＬのユースケース記述に品質特性・品質副特性の項目と形式的仕様記述言語ＶＤＭ-ＳＬの構文や演算子に沿った仕様をテンプレートに即してプルダウンメニュー形式で選択しながら又はデータ定義化された外部データ及び入力データに即して選択しながら記述するため、平易に仕様を記述することができるとともに曖昧さや漏れがなく、正確に仕様を記述することができる。さらに、記述項目や内容に対応して絞り込んだ(カテゴライズした)品質特性・品質副特性を用いて仕様記述することにより、品質特性・品質副特性の記述を迷うことなく効率的に品質特性・品質副特性を記述することができる。
【００１６】
また本発明によれば、上記した手法で記述された記述文の中からユーザ指定したデータを読み込み、当該データを形態素解析して記述の正確性を検証することにより、仕様を自然言語で記述した場合でも曖昧さや漏れのない、正確な仕様を記述することができる。
【００１７】
これらにより、仕様記述の誤りや漏れの混入を防止し、手戻り作業をなくすことにより作業工数を削減することが可能となりソフトウェア開発での品質向上、短納期対応、コスト削減を図ることができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態を、図面を参照しながら説明する。
図１は、本発明の実施形態に係るイベント駆動型仕様記述支援装置を具現するシステムの構成概要を示す図である。図１のシステム構成において、本発明の実施形態に係るイベント駆動型仕様記述支援装置１は、サーバ11内において構成され、イベント駆動型仕様記
述支援装置１はネットワーク９を介してクライアント10に結合されている。そしてイベント駆動型仕様記述支援装置１は、サーバ11内のハードウェア資源である記憶装置中に、品質特性定義ファイル２、形式仕様演算子ファイル３、データ定義ファイル４、仕様ファイル５を備え、またサーバ11内のハードウェア資源である中央処理装置(ＣＰＵ)，入出力装置，記憶装置等により実現される、機能ブロックとしての、データ定義処理部６、選択・入力処理部７、検証処理部８を備えて構成される。ここでサーバ11は当業者に周知のコンピュータハードウェア資源によって実現されているもので、例えばコンピュータハードウェア資源としてＣＰＵ、記憶装置(ＲＯＭ，ＲＡＭ，ＨＤＤを含む)、入出力装置(通信Ｉ/Ｆ，ディスプレイ，プリンタ，マウス，キーボードなどを含む)などを備えている。
【００１９】
品質特性定義ファイル２は、非機能要求項目に係る、品質特性、品質副特性項目をカテゴライズして格納するファイルであり、図１２に品質特性定義ファイルのデータ構造を示す。これについては後述する。
【００２０】
形式仕様演算子ファイル３は、形式的仕様記述言語(ＶＤＭ-ＳＬ)の数型演算子および論理型演算子に対応した演算子を定義するファイルであり、図１１に形式仕様演算子ファイルのデータ構造を示す。これについては後述する。
【００２１】
データ定義ファイル４は、外部データ定義、入力データ定義を格納するファイルであり、図１０にデータ定義ファイルのデータ構造を示す。これについては後述する。
仕様ファイル５は、章立て、統一モデリング言語(ＵＭＬ)のユースケース記述概要及びユースケース記述イベントフローに係るテンプレートおよび仕様記述した記述文を格納するファイルであり、図１３に仕様ファイルの項目例および仕様記述がなされたファイル構成例を示す。これについては後述する。
【００２２】
データ定義処理部６は、図３に示すデータ定義画面から入力した外部データ定義、入力データ定義に関するデータをデータ定義ファイル４に格納する処理を実行する。その詳細については、図１６のフローチャートに示す。
【００２３】
選択，入力処理部７は、図２に示す画面表示および選択，入力処理を実行する。その詳細については、図１７のフローチャートに示す。
検証処理部８は、仕様ファイル５の指定したデータおよび形式仕様演算子ファイル３を参照して仕様ファイル５の指定したデータを形態素解析して検証する処理を実行する。その詳細については、図１８のフローチャートに示す。
【００２４】
ネットワーク９は、クライアント10とサーバ11(イベント駆動型仕様記述支援装置１)とを連携するもので、ＬＡＮ、公衆網（インターネットを含む）など、周知のネットワーク技術を用いることができる。
【００２５】
クライアント10は、ネットワーク９経由でサーバ11(イベント駆動型仕様記述支援装置１)に繋がれ、周知のクライアントが有するコンピュータハードウェア資源を用いてサーバ11(イベント駆動型仕様記述支援装置１)に対する処理の起動やデータの表示、データの設定を行う。
【００２６】
ここで画面遷移について説明する。図１９は、ログインによりクライアントに表示される本発明の実施形態に係る初期画面を示す図である。すなわちクライアント10の利用者端末にはサーバ11へのログインにより図１９に示すような初期画面190が表示される。ここでクライアント10の利用者は初期画面中の表示画面部191に仕様名を指定して「Enter」キーを押すと選択，入力処理部７が起動し、図２に示す画面が表示される。また初期画面中のデータ定義部192に仕様名を指定して「Enter」キーを押すとデータ定義処理部６が起動し、図３に示す画面が表示される。さらに初期画面中の検証処理部193に仕様名とＴＡＧ番号を指定して「Enter」キーを押すと検証処理部８が起動する。
【００２７】
図２は、本発明の実施形態に係る仕様を記述する画面表示例を示す図であり、上述したように選択，入力処理部７の起動によりクライアント10の利用者端末に画面表示がなされる。選択，入力処理部７における画面表示及び入力処理の動作については、図１７のフローチャートを用いて後ほど説明する。
【００２８】
図２に示す画面において、21は表示画面のフレームを示す。またサブメニュー22は、図４に例示するように、図１９に示した初期画面で指定した仕様書名の章やＴＡＧ項目を表示したり入力したりする領域を表している。ちなみに、仕様書名の章の名称は上記非特許文献２「ソフトウェア・エンジニアリング・センター編「組込みソフトウェア向け開発プロセスガイド」翔泳社(２００６年)」の2.3章に示すドキュメントテンプレート例(SW 105) ソフトウェア要求仕様書に準じて記載される。
【００２９】
ユースケース概要23は、図５の２．に例示するように、ユースケース概要の項目を表示したり入力したりする領域を表し、またイベントフロー24は、図５の３．に例示するように、ユースケース記述のイベントフローの項目を表示したり入力したりする領域を表し、また構文選択25は、図５の１．に例示するように、構文選択をするためのプルダウンメニューを表している。さらに論理式選択26は、図６の１．に例示するように、論理式選択をするためのプルダウンメニューを表し、数式選択27は、図７の１．に例示するように、数式選択をするためのプルダウンメニューを表している。データ定義28は、図３のデータ定義画面を表示するためのボタンを表している。そしてユースケース概要23における29は、品質特性1-要件定義を選択するためのプルダウンメニューを表し、30、31は、次のイベント-条件を選択するためのプルダウンメニューを表し、32、33は、品質特性2-不変条件を選択するためのプルダウンメニューを表し、34は、イベントフローを選択するためのプルダウンメニューを表し、またイベントフロー24における35は、入力データ・境界値を選択するためのプルダウンメニューを表し、36、37は、品質特性2-事後条件を選択するためのプルダウンメニューを表し、38、39は、外部データ・境界値を選択するためのプルダウンメニューを表し、40〜42は、次のイベントを選択するためのプルダウンメニューを表している。
【００３０】
上記において、ユースケース記述による概要の各項には形式的仕様記述言語ＶＤＭ-ＳＬの「状態定義」構文に対応した項を設ける。すなわち
state definition
invariant
initialization
のＶＤＭ-ＳＬの「状態定義」構文について
state definitionを「概要」
invariantを「不変条件」
initializationを「初期条件」
に対応付ける。
【００３１】
またユースケース記述によるイベントフローの各イベントには形式的仕様記述言語ＶＤＭ-ＳＬの「操作定義」構文に対応した項を設ける。すなわち
operation definition=identifier, parameter types
externals,
'pre', expression,
'post', expression
のＶＤＭ-ＳＬの「操作定義」構文について
identifierを「イベント」
parameter typesを「入力データ」
externalsを「外部データ」
'pre', expressionを「事前条件」
'post', expressionを「事後条件」
に対応付ける。
【００３２】
さらに、入力データに対する境界値および外部データに対する境界値を明確にし、設計およびテストの条件を明確にするため、「入力データ・境界値」「外部データ・境界値」の項目を設ける。
これらの項目はＶＤＭ-ＳＬの「型定義」構文に対応付けられている。すなわち
type definition=identifier,'=','map to',type   (写像型の場合)
について
identifier  は「入力データ」または「外部データ」
type  は「境界値」
に対応付ける。
そして「入力データ・境界値」及び「外部データ・境界値」のデータによりブラックボックステスト手法である境界値分析を適用することが可能となる。
【００３３】
図３は、本発明の実施形態に係るデータ定義画面表示例を示す図であり、図１に示したデータ定義処理部６の起動により、クライアント10の利用者端末に画面表示50がなされる。そして当該画面50には、外部データ定義51と入力データ定義52の表示・入力領域があり、これら領域への表示・入力に関わる処理動作については、図１７のフローチャートを用いて後ほど説明する。
【００３４】
図４は、本発明の実施形態に係るサブメニューに表示される項目を示す図であり、図２の画面表示例において、サブメニュー22としてすでに紹介したものである。サブメニュー22に表示する項目は、あらかじめテンプレート化して仕様ファイル５に登録しておく。このサブメニュー22への表示・入力に関わる処理動作については、図１７のフローチャートを用いて後ほど説明する。
【００３５】
図５は、本発明の実施形態に係る構文選択プルダウンメニューによる画面表示例を示す図であり、図２の画面表示例において、構文選択として紹介したプルダウンメニュー25の詳細を示すものである。図２の説明で紹介したように図５では３つに大別して表示される。すなわち、図５の
１．は構文選択プルダウンメニュー25の項目を示す。構文選択プルダウンメニュー25には、ユースケース概要61とイベントフロー62とがある。
２．はユースケース概要61の選択により画面に表示される項目と画面表示例を示す。ユースケース概要61の画面表示例は、図２のユースケース概要23の画面表示に対応する。
63はＴＡＧ番号を表示する。ＴＡＧ番号は要求定義に一意につけた識別番号である。
64は品質特性1プルダウンメニューを示す。図８の１．の(１)にその例を示す。
３．はイベントフロー62の選択により画面に表示される項目と画面表示例を示す。イベントフロー62の画面表示例は、図２のイベントフロー24の画面表示に対応する。
65はイベントプルダウンメニューを示す。図９の１．にその例を示す。
66はデータ選択プルダウンメニューの一例を示す。図１０のデータ定義ファイルに格納されているデータを表示する。
【００３６】
図６は、本発明の実施形態に係る論理式選択プルダウンメニュー画面表示例を示す図であり、図２の画面表示例において、論理式選択26として紹介したプルダウンメニューの詳細を示すものである。すなわち、図６の１．として「論理式選択」プルダウンメニュー26の項目が示され、図６の２．として「論理式選択」プルダウンメニュー選択による記述手順例が示されている。
１．は「論理式選択」プルダウンメニュー26の項目を示す。
図１１の２．の論理型演算子ファイル102のデータを使用する。
２．は「論理式選択」プルダウンメニュー選択による記述手順例を示す。
(１)データ記述
データ「不明紙幣」と記述する。なお記述後の‘＿’はカーソル位置を示す。
(２)「論理式選択」プルダウンメニュー26を選択し、その中から「論理和」を選択する。
不明紙幣  or  と入力される。
(３)データ記述
「不明貨幣」と記述する。
不明紙幣  or  不明貨幣  と表示される。
【００３７】
図７は、本発明の実施形態に係る数式選択プルダウンメニュー画面表示例を示す図であり、図２の画面表示例において、数式選択27として紹介したプルダウンメニューの詳細を示すものである。すなわち、図７の１．として「数式選択」プルダウンメニュー27の項目が示され、図７の２．として「数式選択」プルダウンメニュー選択による記述手順例が示されている。
【００３８】
１．は「数式選択」プルダウンメニュー27の項目を示す。
図１１の１．の数型演算子ファイル101のデータを使用する。
２．は「数式選択」プルダウンメニュー選択27による記述手順例を示す。
(１)データ記述
データ「制御範囲  0」と記述する。なお記述後の‘＿’はカーソル位置を示す。
(２)「数式選択」プルダウンメニュー27を選択し、その中から「以下」を選択する。
制御範囲  0＜＝  と入力される。
(３)データ記述
「角度」と記述する。
制御範囲  0＜＝  角度  と表示される。
(４)「数式選択」プルダウンメニュー27を選択し、その中から「小」を選択する。
制御範囲  0＜=  角度  ＜  と表示される。
(５)データ記述
「90」と記述する。
制御範囲  0＜＝  角度  ＜90  と表示される。
【００３９】
図８は、本発明の実施形態に係る品質特性プルダウンメニュー画面表示例を示す図である。図８に示す品質特性プルダウンメニューは、図１２の品質特性定義ファイルでカテゴライズして絞り込んだ品質特性・品質副特性を各条件にしたがって表示する。図８では品
質特性プルダウンメニューを大きく２つに分けそれらを各別に表示している。すなわち、
【００４０】
１．は品質特性１プルダウンメニュー71の項目を示す。
(１)は「機能詳細」章で表示されるプルダウンメニュー72の項目を示す。
図１２の「記載章」113が「機能詳細」の品質副特性112で分類114が「１」のものを表示する。ここで「分類１」には、事前条件／事後条件を記載する要求項目に相当する品質副特性を示すものが該当する。
ただし、機能記述の共通項として「機能」を追加する。
【００４１】
２．は品質特性２プルダウンメニュー73の特性項目を示す。
(１)は「機能詳細」章で表示されたプルダウンメニュー74の項目を示す。
図１２の「記載章」113が「機能詳細」の品質副特性112で分類114が「２」のものを表示する。ここで「分類２」には、事後条件の一部として事後条件となる品質副特性を示すものが該当する。
(２)は「非機能要求詳細」章で表示されたプルダウンメニュー75の項目を示す。
図１２の「記載章」113が「非機能詳細」の品質副特性112で分類114が「２」のものを表示する。
当該品質副特性の品質特性も非機能要求詳細の項目に対応付けるために記載する。
(３)は「インタフェース詳細」章で表示されたプルダウンメニュー76の項目を示す。
図１２の「記載章」113が「インタフェース詳細」の品質副特性114で分類114が「２」のものを表示する。ただし、機能記述の共通項として「機能」を追加する。
当該品質副特性の品質特性もインタフェース詳細の項目に対応付けるために記載する。
(４)は「制約条件」章で表示されたプルダウンメニュー77の項目を示す。
図１２の「記載章」113が「制約条件」の品質副特性112で分類114が「２」のものを表示する。
当該品質副特性の品質特性も制約条件の項目に対応付けるために記載する。
【００４２】
上記において「記載章」113における章の名称は上記非特許文献２「ソフトウェア・エンジニアリング・センター編「組込みソフトウェア向け開発プロセスガイド」翔泳社(２００６年)」の2.3章に示すドキュメントテンプレート例(SW 105) ソフトウェア要求仕様書に準じて記載される。
【００４３】
以上説明したように品質特性・品質副特性に記述の煩雑さを解消するために、記載章および記述項目／記述内容により対象とする品質特性・品質副特性をカテゴライズして絞り込む方式とすることにより効率よく記述の漏れに対応することができる。
【００４４】
図９は、本発明の実施形態に係るイベントフロープルダウンメニュー画面表示例を示す図である。図９のイベントフロープルダウンメニューにおいて、
１．はイベントフロープルダウンメニュー81の項目を示す。
項目として示された基本系列、代替系列、例外系列は、ＵＭＬ(Unified Modeling Language：統合モデリング言語)のユースケース記述で一般に記述される項目である。
【００４５】
図１０は、本発明の実施形態に係るデータ定義ファイルの構造を示す図である。図１０に示されるデータ定義ファイルは、図１に示したデータ定義ファイル４の詳細を示すもの
であり、外部データ定義、入力データ定義を格納するファイルである。
図１０に示されるデータ定義ファイルにおいて、
「仕様名」91はデータ定義の対象とする仕様名を格納する。
「データ名」92はデータ定義の対象とするデータ名を格納する。
「属性」93は外部データまたは入力データのいずれの属性であるかを格納する。
図１１は、本発明の実施形態に係る形式仕様演算子ファイルの構造を示す図である。図１１に示される形式仕様演算子ファイルは、図１に示した形式仕様演算子ファイル３の詳細を示すものであり、形式的仕様記述言語(ＶＤＭ-ＳＬ)の数型演算子および論理型演算子に対応した演算子を定義する。そのため図１１に示される形式仕様演算子ファイルは、１．数型演算子ファイル101と、２．論理型演算子ファイル102と、に大別されて示されている。すなわち、
【００４６】
１．数型演算子ファイル101：形式的仕様記述言語(ＶＤＭ-ＳＬ)の数型演算子に対応した演算子を定義するファイルである。
項目102：数型演算子の項目を格納する。
よみ103：数型演算子の項目の読みを格納する。図１８の検証処理フローで使用する。
演算子104：形式的仕様記述言語(ＶＤＭ-ＳＬ)の数型演算子を格納する。
２．論理型演算子ファイル105：形式的仕様記述言語(ＶＤＭ-ＳＬ)の論理型演算子に対応した演算子を定義するファイルである。
項目106：論理型演算子の項目を格納する。
よみ107：論理型演算子の項目の読みを格納する。図１８の検証処理フローで使用する。
演算子108：形式的仕様記述言語(ＶＤＭ-ＳＬ)の論理型演算子を格納する。
【００４７】
図１２は、本発明の実施形態に係る品質特性定義ファイルの構造を示す図である。図１２に示される品質特性定義ファイル２において、
「品質特性」111はJIS X-0129-1 「ソフトウェア製品の品質」で定義されたものに準じた品質特性を格納する。
「品質副特性」112はJIS X-0129-1 「ソフトウェア製品の品質」で定義されたものに準じた品質副特性を格納する。
「記載章」113は当該品質副特性を記載すべき章を格納する。章の名称は上記非特許文献２「ソフトウェア・エンジニアリング・センター編「組込みソフトウェア向け開発プロセスガイド」翔泳社(２００６年)」の2.3章に示すドキュメントテンプレート例(SW 105) ソフトウェア要求仕様書に準じて記載される。
「分類」114は、下記に定義する「分類１」および又は「分類２」を格納する。
「分類１」は事前条件／事後条件を記載する要求項目に相当する品質副特性を示す。
「分類２」は事後条件の一部として事後条件となる品質副特性を示す。
「備考」115は、品質副特性にかかる記述項目／記述内容を簡単に説明する。
【００４８】
図１３は、本発明の実施形態に係る仕様ファイルの構成例を示す図である。図１３に示す仕様ファイルにおいては、仕様ファイル項目として以下に示す項目を備えている。
「仕様名・章・ＴＡＧ」121：仕様記述の対象としている仕様名、章、ＴＡＧ番号を格納する。仕様記述に対して一意に設定する。
「項目名」122：ユースケースのイベントに対応した品質特性と機能要求または非機能要
求の項目名を格納する。
「概要」123：機能要求または非機能要求の概要を格納する。
「イベント」124：当該項目が起動されるイベント名を格納する。
「次のイベント」125：当該項目の次に起動されるイベント番号を格納する。次のイベントがない場合は「終了」と記載する。またイベント番号に対応した備考を格納する。
「不変条件」126：当該項目の各イベント内で変化しない品質特性と条件。
「初期条件」127：当該項目が成立するために初期に必要とする条件。
「イベントフロー」128：当該項目内での一連のイベントの系列。基本系列、代替系列、例外系列からなる。
「基本系列」129：当該項目内での基本的なイベントの系列。
「イベント番号・イベント」130：イベントを識別するための当該項目内での一意の番号と当該イベントの説明を格納する。
「事前条件」131：当該イベントが成立するために事前に必要とする条件。
「入力データ・境界値」132：当該イベントの入力データと当該入力データのデータ値がとる値の範囲を格納する。
「事後条件」133：当該イベントの処理が終了した時にとる品質特性と条件。
「外部データ・境界値」134：当該イベントで外部にアクセスするデータ名と当該データのデータ値がとる値の範囲を格納する。
「次のイベント」135：当該イベントの次に起動されるイベント番号を格納する。次のイベントがない場合は「終了」と記載する。またイベント番号の後ろに備考を格納する。
「代替系列」136：当該項目内での基本系列に代替するイベントの系列。代替系列も基本系列と同様にイベント番号・イベント、事前条件、入力データ・境界値、事後条件、外部データ・境界値、次のイベントのデータを持つ。
「例外系列」137：当該項目内での異常が発生した場合など例外イベントの系列。例外系列も基本系列と同様にイベント番号・イベント、事前条件、入力データ・境界値、事後条件、外部データ・境界値、次のイベントのデータを持つ。
【００４９】
図１４は、本発明の実施形態に係る検証処理部８による処理により得られた検証結果例を示す図である。この検証結果は、図１８の検証処理フローを経て得られるものである。ここで、図１４の１．は演算子チェック例141を示すものであり、図１４の２．はイベントチェック例142を示すものである。すなわち、
１．図１８の演算子チェックにおける「チェック結果」143で「紙幣は不明紙幣収納庫
、貨幣は不明貨幣収納庫」に‘、’がある144、とされたが、これが「修正」146で、「紙幣は不明紙幣収納庫  and  貨幣は不明貨幣収納庫」に修正された145、ことを示している。この例は、図１８の検証処理フローのステップS34の処理の出力例と、図２の画面表示例で修正した場合の修正後の表示例を示すものである。
２．図１８のイベントチェックにおける「チェック結果」147で「not収納コマンド  入力時間は入金後＜30秒」ない148、とされたが、これが「修正」150で、例外系列5 「not収納コマンド  入力時間は入金後＜30秒」を追加した149、ことを示している。この例は、図１８の検証処理フローのステップS40の処理の出力例と、図２の画面表示例で修正した場合の修正後の表示例を示すものである。なお、図１３に示す仕様ファイル例にはこの検証結果を修正したものが示される。
【００５０】
図１５は、本発明の実施形態に係る検証処理部８による処理により得られた形態素解析結果例を示す図である。この形態素解析結果は、図１８の検証処理フローを経て得られるものである。図１５において、
列は順に下記の内容を表している。
表記161：単語の表記を格納する。
読み162：単語の読みを格納する。
品詞163：単語の品詞を格納する。
代表表記164：表記の代表を格納する。
なお、形態素解析に当たっては、フリーソフトの形態素解析ツールである“JUMAN”(京都大学言語メディア研究室開発)や“茶筅”(奈良先端大学開発)などを利用することが可能である。
【００５１】
図１６は、本発明の実施形態に係るデータ定義処理の動作を説明するフローチャートである。図１６に示すフローチャートは、図１に示すクライアント10のサーバ11へのログインに伴う図１９に示した初期画面の「データ定義」192または図２に示した画面の「データ定義」28のボタン押下で起動される。ステップは‘S’と略記する。
S1：データ定義ファイル４(図１０参照)のデータを読み込むとともに、データ定義画面(図３参照)を表示する。
S2：データ定義画面(図３参照)で追加/変更/削除されたタイミングで当該データをデータ定義ファイル４(図１０参照)に書き込む。
【００５２】
図１７は、本発明の実施形態に係る選択，入力処理の動作を説明するフローチャートである。図１７に示すフローチャートは、図１に示すクライアント10のサーバ11へのログインに伴う図１９に示した初期画面の「表示画面」191から起動される。
S11：初期画面の「表示画面」191に記述された仕様名を読み込み、当該仕様名の仕様ファイル５のデータ(サブメニュー22等のレイアウト及び構文選択25〜数式選択27のプルダウンでメニュー表示するデータを含むテンプレート情報)を読み込み、図２の表示画面フレーム21の所定位置に表示する。
S12：サブメニュー(図２のサブメニュー22参照)で章またはＴＡＧが選択されたら、仕様ファイル５から当該データを読み込む。この際、「ユースケース概要」および「イベントフロー」にデータ記述があればこれらのデータ記述を表示する。
S13：削除が選択されたら、仕様ファイル５の当該データを削除し当該表示を消す。追加が選択されたら、カーソル位置の下に空欄を表示し、章番号またはＴＡＧ番号が入力されたら仕様ファイル５に当該データを追加する。
S14：図２に示す表示画面フレーム21内のプルダウンメニューが選択される。
S15：構文選択25が選択された場合、選択された構文に該当する画面フォーマット(ここでは、図２のユースケース概要23又はイベントフロー24に関するテンプレート)(図５の2.又は3.参照)を表示する。
S16：論理式選択26が選択された場合、形式仕様演算子ファイル３から選択項目に該当するデータをカーソル位置に表示する。
S17：数式選択27が選択された場合、形式仕様演算子ファイル３から選択項目に該当するデータをカーソル位置に表示する。
S18：データ定義28が選択された場合、図１６に示したデータ定義処理フローを起動する。
【００５３】
S19：図２に示す品質特性1-要件定義29が選択された場合、図８の1．品質特性1プルダウンメニュー71の(1)「機能詳細」章で表示されるプルダウンメニュー72から該当する項目を選択し、また、図２に示す品質特性2-不変条件32,33又は品質特性2-事後条件36,37
が選択された場合、仕様ファイル５から当該画面に対応する章を読込み、章が図８の2．品質特性2プルダウンメニュー73の(1)「機能詳細」章で表示されるプルダウンメニュー74〜(4)「制約条件」章で表示されるプルダウンメニュー77の該当するいずれかのプルダウンメニューの中から該当する項目を選択し、選択されたデータを表示する。上記において仕様ファイル５から当該画面に対応する章を読込む場合をさらに説明すると、章が図８の2．品質特性2プルダウンメニュー73の「機能詳細」の場合、図８の2．「機能詳細」章で表示されるプルダウンメニュー74の中から選択され、章が図８の2．品質特性2プルダウンメニュー73の「非機能要求詳細」の場合、図８の2．「非機能要求詳細」章で表示されるプルダウンメニュー75の中から選択され、章が図８の2．品質特性2プルダウンメニュー73の「インタフェース詳細」の場合、図８の2．「インタフェース詳細」章で表示されるプルダウンメニュー76の中から選択され、章が図８の2．品質特性2プルダウンメニュー73の「制約条件」の場合、図８の2．「制約条件」章で表示されるプルダウンメニュー77の中から選択される。
【００５４】
S20：図２に示す次のイベント30,31,40〜42のいずれかが選択された場合、仕様ファイル５から当該章又はＴＡＧの次のイベント或いは当該イベントフローの次のイベントのデータを抽出して表示し、選択されたデータを表示する。
S21：図２に示すイベントフロー34が選択された場合、図９の1．のイベントフロープルダウンメニュー81の中から該当する項目を選択し、選択されたデータを表示する。イベントフローの番号は自動的に一意のものを設定して表示する。
S22：図２に示す入力データ・境界値35または外部データ・境界値38,39のいずれかが選択された場合、データ定義ファイル４から該当する項目を選択し、選択されたデータを表示する。
S23：各項目にデータが追加/変更/削除入力された場合は、キーボードの「Enter」ボタンが押されたタイミングで該当するデータを仕様名の仕様ファイル５に書き込む。
S24：キーボードの「Enter」ボタンが押されたタイミングで指定された項目に該当するデータを当該仕様名の仕様ファイル５に書き込む。
【００５５】
図１８は、本発明の実施形態に係る検証処理の動作を説明するフローチャートである。図１８に示すフローチャートは、図１に示すクライアント10のサーバ11へのログインに伴う図１９に示した初期画面の「検証処理」193から起動される。
S31：初期画面の「検証処理」193に入力された仕様名とＴＡＧ番号に該当する仕様名かつＴＡＧ番号の仕様ファイル５のデータを読み込む。
S32：形態素解析ツール(図示せず)により文を分解する。
S33：形式仕様演算子ファイル３(図１１参照)の「読み」103,107の項目を読み込む。
S34：「読み」103,107と形態素解析ツール(図示せず)で分解した読みが一致する文を検証結果として出力する。
S35：入力データと例外系列の項目で形態素解析ツール(図示せず)にて分析した名詞と一致しているものをチェックする。
S36：例外系列に該当項目がない場合はその旨を検証結果として出力する。
S37：ステップS35で一致した項目について境界値と例外系列の項目を形態素解析ツール(図示せず)で分析した名詞と一致しているものをチェックする。
S38：例外系列に該当項目がない場合はその旨を検証結果として出力する。
S39：ステップS37で一致した項目について「not」が含まれているかをチェックする。
S40：例外系列に該当項目がない場合はその旨を検証結果として出力する。
【００５６】
このように仕様記述された文は形態素解析を用いて分析し、分析した項目に対して仕様記述言語(ＶＤＭ-ＳＬ)の数型又は論理型の演算子を適用してチェックしイベントフローにおける例外系列の記述漏れを防ぐことができる。
なお、ソフトウェア開発に従事する者には広く知られているモデル検査ツールＳＰＩＮを利用した検証を適用することも可能である。
【図面の簡単な説明】
【００５７】
【図１】本発明の実施形態に係るイベント駆動型仕様記述支援装置を具現するシステムの構成概要を示す図である。
【図２】本発明の実施形態に係る仕様を記述する画面表示例を示す図である。
【図３】本発明の実施形態に係るデータ定義画面表示例を示す図である。
【図４】本発明の実施形態に係るサブメニューに表示される項目を示す図である。
【図５】本発明の実施形態に係る構文選択プルダウンメニューによる画面表示例を示す図である。
【図６】本発明の実施形態に係る論理式選択プルダウンメニュー画面表示例を示す図である。
【図７】本発明の実施形態に係る数式選択プルダウンメニュー画面表示例を示す図である。
【図８】本発明の実施形態に係る品質特性プルダウンメニュー画面表示例を示す図である。
【図９】本発明の実施形態に係るイベントフロープルダウンメニュー画面表示例を示す図である。
【図１０】本発明の実施形態に係るデータ定義ファイルの構造を示す図である。
【図１１】本発明の実施形態に係る形式仕様演算子ファイルの構造を示す図である。
【図１２】本発明の実施形態に係る品質特性定義ファイルの構造を示す図である。
【図１３】本発明の実施形態に係る仕様ファイルの構成例を示す図である。
【図１４】本発明の実施形態に係る検証処理部による処理により得られた検証結果例を示す図である。
【図１５】本発明の実施形態に係る検証処理部による処理により得られた形態素解析結果例を示す図である。
【図１６】本発明の実施形態に係るデータ定義処理の動作を説明するフローチャートである。である。
【図１７】本発明の実施形態に係る選択，入力処理の動作を説明するフローチャートである。
【図１８】本発明の実施形態に係る検証処理の動作を説明するフローチャートである。
【図１９】ログインによりクライアントに表示される本発明の実施形態に係る初期画面を示す図である。
【符号の説明】
【００５８】
１  イベント駆動型仕様書記述支援装置
２  品質特性定義ファイル
３  形式仕様演算子ファイル
４  データ定義ファイル
５  仕様ファイル
６  データ定義処理部
７  選択，入力処理部
８  検証処理部
９  ネットワーク
10  クライアント
11  サーバ
21  表示画面フレーム
22  サブメニュー
23  ユースケース概要
24  イベントフロー
25  構文選択
26  論理式選択
27  数式選択
28  データ定義
【図１】
2009075681.tif 000003
【図２】
2009075681.tif 000004
【図３】
2009075681.tif 000005
【図４】
2009075681.tif 000006
【図５】
2009075681.tif 000007
【図６】
2009075681.tif 000008
【図７】
2009075681.tif 000009
【図８】
2009075681.tif 000010
【図９】
2009075681.tif 000011
【図１０】
2009075681.tif 000012
【図１１】
2009075681.tif 000013
【図１２】
2009075681.tif 000014
【図１３】
2009075681.tif 000015
【図１４】
2009075681.tif 000016
【図１６】
2009075681.tif 000017
【図１７】
2009075681.tif 000018
【図１８】
2009075681.tif 000019
【図１９】
2009075681.tif 000020
【図１５】
2009075681.tif 000021