JP2009075681A - イベント駆動型ソフトウェア用仕様記述支援装置 - Google Patents

イベント駆動型ソフトウェア用仕様記述支援装置 Download PDF

Info

Publication number
JP2009075681A
JP2009075681A JP2007241607A JP2007241607A JP2009075681A JP 2009075681 A JP2009075681 A JP 2009075681A JP 2007241607 A JP2007241607 A JP 2007241607A JP 2007241607 A JP2007241607 A JP 2007241607A JP 2009075681 A JP2009075681 A JP 2009075681A
Authority
JP
Japan
Prior art keywords
description
file
data definition
data
event
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2007241607A
Other languages
English (en)
Inventor
Koji Nishida
廣治 西田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Holdings Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Electric Holdings Ltd filed Critical Fuji Electric Holdings Ltd
Priority to JP2007241607A priority Critical patent/JP2009075681A/ja
Publication of JP2009075681A publication Critical patent/JP2009075681A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】イベント駆動型ソフトウェアの仕様記述において、ユースケース記述の概要及びイベントフローに対して平易に仕様を記述でき且つ記述の漏れと曖昧さをなくすことが可能なイベント駆動型ソフトウェア用仕様記述支援装置を提供する。
【解決手段】イベント駆動型仕様記述支援装置1は、サーバ11内のハードウェア資源である記憶装置中に、品質特性定義ファイル2、形式仕様演算子ファイル3、データ定義ファイル4、仕様ファイル5を備え、またサーバ11内のハードウェア資源である中央処理装置(CPU),入出力装置,記憶装置等により実現される、機能ブロックとしての、データ定義処理部6、選択・入力処理部7、検証処理部8を備えて構成される。イベント駆動型仕様記述支援装置1はネットワーク9を介してクライアント10に結合されている。選択,入力処理部7は、クライアント10に仕様記述画面を表示し、仕様記述に係る選択,入力処理を実行する。
【選択図】図1

Description

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

Claims (5)

  1. 章立て、統一モデリング言語(UML)のユースケース記述概要及びユースケース記述イベントフローに係るテンプレートおよび仕様記述した記述文を格納する仕様ファイルと、
    形式的仕様記述言語(VDM-SL)の数型演算子および論理型演算子に対応した演算子を定義する形式仕様演算子ファイルと、
    非機能要求項目に係る品質特性及び品質副特性項目をカテゴライズして格納する品質特性定義ファイルと、
    外部データ定義及び入力データ定義を格納するデータ定義ファイルと、
    を備え、
    ユーザによる仕様記述に際し、ユーザに仕様記述画面を表示するとともに当該仕様記述画面の所定領域に選択,入力処理を行う選択,入力処理部と、
    ユーザにデータ定義画面を表示するとともに当該データ定義画面から入力した外部データ定義及び入力データ定義を前記データ定義ファイルに格納する処理を行うデータ定義処理部と、
    を有し、
    前記選択,入力処理部は、前記ユーザにより起動され、前記仕様記述画面に前記仕様ファイルから前記テンプレートを読み込み、前記仕様記述画面にテンプレートを表示し、当該テンプレートにおいて前記形式的仕様記述言語の構文、前記形式仕様演算子ファイルに格納された演算子、および、前記品質特性定義ファイルに格納された品質特性・品質副特性をプルダウンメニューから選択し、また前記テンプレートで表示されたボタンを操作することで前記データ定義ファイルに格納された前記外部データ定義及び前記入力データ定義を読み込んで前記外部データ定義及び前記入力データ定義にしたがった記述を選択して、前記ユースケース記述概要及び前記ユースケース記述イベントフローの仕様を記述し、記述文を前記仕様ファイルに格納し、さらに前記テンプレートで表示されたボタンを操作した際にデータ定義画面を表示し、当該データ定義画面で外部データ定義及び入力データ定義を追加/変更/削除して前記データ定義ファイルに格納する、
    ことを特徴とするイベント駆動型ソフトウェア用仕様記述支援装置。
  2. 前記品質特性定義ファイルは、記載章および第1分類、第2分類にカテゴリ化して前記品質特性および前記品質副特性を格納し、前記選択,入力処理部は、プルダウンメニューに展開された前記カテゴリ化された前記品質特性および前記品質副特性に係る項目を選択し、選択した前記項目に対して仕様記述を行うことを特徴とする請求項1項記載のイベント駆動型ソフトウェア用仕様記述支援装置。
  3. 章立て、統一モデリング言語(UML)のユースケース記述概要及びユースケース記述イベントフローに係るテンプレートおよび仕様記述した記述文を格納する仕様ファイルと、
    形式的仕様記述言語(VDM-SL)の数型演算子および論理型演算子に対応した演算子を定義する形式仕様演算子ファイルと、
    非機能要求項目に係る品質特性及び品質副特性項目をカテゴライズして格納する品質特性定義ファイルと、
    外部データ定義及び入力データ定義を格納するデータ定義ファイルと、
    を備え、
    ユーザによる仕様記述に際し、ユーザに仕様記述画面を表示するとともに当該仕様記述画面の所定領域に選択,入力処理を行う選択,入力処理部と、
    ユーザにデータ定義画面を表示するとともに当該データ定義画面から入力した外部データ定義及び入力データ定義を前記データ定義ファイルに格納する処理を行うデータ定義処理部と、
    前記仕様ファイルの指定したデータおよび前記形式仕様演算子ファイルを参照して前記仕様ファイルの指定したデータを形態素解析して検証する処理を行う検証処理部と、
    を有し、
    前記選択,入力処理部は、前記ユーザにより起動され、前記仕様記述画面に前記仕様ファイルから前記テンプレートを読み込み、前記仕様記述画面にテンプレートを表示し、当該テンプレートにおいて、前記形式的仕様記述言語の構文、前記形式仕様演算子ファイルに格納された演算子、および、前記品質特性定義ファイルに格納された品質特性・品質副特性をプルダウンメニューから選択し、また前記テンプレートで表示されたボタンを操作することで前記データ定義ファイルに格納された前記外部データ定義及び前記入力データ定義を読み込んで前記外部データ定義及び前記入力データ定義にしたがった記述を選択して、前記ユースケース記述概要及び前記ユースケース記述イベントフローの仕様を記述し、記述文を前記仕様ファイルに格納し、さらに前記テンプレートで表示されたボタンを操作した際にデータ定義画面を表示し、当該データ定義画面で外部データ定義及び入力データ定義を追加/変更/削除して前記データ定義ファイルに格納し、
    前記検証処理部は、前記ユーザにより起動され、前記選択,入力処理部により記述され前記仕様ファイルに格納された前記記述文におけるユーザ指定のデータを読み込み、当該データを形態素解析して記述の正確性を検証する、
    ことを特徴とするイベント駆動型ソフトウェア用仕様記述支援装置。
  4. 前記品質特性定義ファイルは、記載章および第1分類、第2分類にカテゴリ化して前記品質特性および前記品質副特性を格納し、前記選択,入力処理部は、プルダウンメニューに展開された前記カテゴリ化された前記品質特性および前記品質副特性に係る項目を選択し、選択した前記項目に対して仕様記述を行うことを特徴とする請求項3項記載のイベント駆動型ソフトウェア用仕様記述支援装置。
  5. 前記検証処理部は、前記ユーザが指定するデータに一致する前記仕様ファイルの前記記述文のデータを読み込み、前記形式仕様演算子ファイルの演算子を参照して構文の記載を形態素解析して検証し、また前記ユースケース記述に係るイベントの例外系列の記載の有無を形態素解析により検証することを特徴とする請求項3または4項記載のイベント駆動型ソフトウェア用仕様記述支援装置。
JP2007241607A 2007-09-18 2007-09-18 イベント駆動型ソフトウェア用仕様記述支援装置 Withdrawn JP2009075681A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007241607A JP2009075681A (ja) 2007-09-18 2007-09-18 イベント駆動型ソフトウェア用仕様記述支援装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007241607A JP2009075681A (ja) 2007-09-18 2007-09-18 イベント駆動型ソフトウェア用仕様記述支援装置

Publications (1)

Publication Number Publication Date
JP2009075681A true JP2009075681A (ja) 2009-04-09

Family

ID=40610615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007241607A Withdrawn JP2009075681A (ja) 2007-09-18 2007-09-18 イベント駆動型ソフトウェア用仕様記述支援装置

Country Status (1)

Country Link
JP (1) JP2009075681A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015161B2 (en) 2010-04-12 2015-04-21 Nec Corporation Mismatch detection system, method, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015161B2 (en) 2010-04-12 2015-04-21 Nec Corporation Mismatch detection system, method, and program

Similar Documents

Publication Publication Date Title
US8843819B2 (en) System for document analysis, commenting, and reporting with state machines
US9779133B2 (en) Contextual debugging of SQL queries in database-accessing applications
JP5690349B2 (ja) レコード形式情報の管理
US8752001B2 (en) System and method for developing a rule-based named entity extraction
US8412516B2 (en) Document analysis, commenting, and reporting system
US8245186B2 (en) Techniques for offering and applying code modifications
US8266519B2 (en) Document analysis, commenting, and reporting system
US7814101B2 (en) Term database extension for label system
US20130239098A1 (en) Source code conversion method and source code conversion program
CN108762743B (zh) 一种数据表操作代码生成方法及装置
US20080127103A1 (en) Dynamic deneration and implementation of globalization verification testing for user interface controls
US20150261507A1 (en) Validating sql queries in a report
US20120233186A1 (en) Exposing and using metadata and meta-metadata
European Food Safety Authority (EFSA) et al. EFSA Catalogue Browser User Guide
US9678856B2 (en) Annotated test interfaces
Heffelfinger Java EE 7 Development with NetBeans 8
US11144430B2 (en) System and method for evaluating and facilitating customized guidelines using usability code pattern analysis
JP2008305079A (ja) 要求仕様自動検証方式
Wojszczyk et al. The process of verifying the implementation of design patterns—used data models
JP5758311B2 (ja) テストコード生成装置、テストコード生成方法、テストコード生成プログラム
JP2009075681A (ja) イベント駆動型ソフトウェア用仕様記述支援装置
CN117897710A (zh) 解决工业数据转换问题的人工智能方法
US9405514B1 (en) Process fragment management
JP4905117B2 (ja) 仕様記述支援装置
CN117667046B (zh) 命令解析方法、装置、电子设备、存储介质及程序产品

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20101207