JP4351186B2 - 仕様書確認方法、仕様書確認プログラム、該プログラムを記録した記録媒体、および仕様書確認装置 - Google Patents

仕様書確認方法、仕様書確認プログラム、該プログラムを記録した記録媒体、および仕様書確認装置 Download PDF

Info

Publication number
JP4351186B2
JP4351186B2 JP2005147247A JP2005147247A JP4351186B2 JP 4351186 B2 JP4351186 B2 JP 4351186B2 JP 2005147247 A JP2005147247 A JP 2005147247A JP 2005147247 A JP2005147247 A JP 2005147247A JP 4351186 B2 JP4351186 B2 JP 4351186B2
Authority
JP
Japan
Prior art keywords
use case
condition
precondition
setting
post
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.)
Expired - Fee Related
Application number
JP2005147247A
Other languages
English (en)
Other versions
JP2006323694A (ja
Inventor
強 朱
亮介 大石
恒夫 中田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005147247A priority Critical patent/JP4351186B2/ja
Priority to US11/214,848 priority patent/US7937680B2/en
Publication of JP2006323694A publication Critical patent/JP2006323694A/ja
Application granted granted Critical
Publication of JP4351186B2 publication Critical patent/JP4351186B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4012Verifying personal identification numbers [PIN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

この発明は、ソフトウェアやハードウェアなどの設計対象の仕様書を確認する仕様書確認方法、仕様書確認プログラム、該プログラムを記録した記録媒体、および仕様書確認装置に関する。
現在、ソフトウェアやハードウェアの大規模化、多機能化により、システムの正しさを保証するための検証作業がますます困難になっている。特に、ソフトウェアでは開発工程の50%が検証であり、ハードウェアでは開発工程の70%〜80%が検証に費やされる。とりわけ、仕様による手戻り作業が多発しており、LSIシステムの手戻り設計は75%が仕様に起因している。
上述したシステムの品質を保証するためには、2つの作業が必要である。その一つは設計の正しさの保証であり、もう一つは実装の正しさの保証である。現状の検証・テストの技術は、基本的に後者の『実装の正しさの保証』に着目しているが、前者の『設計の正しさの保証』に対して、多くの場合、仕様書が自然言語で記述されているため、今までデザインレビュー、つまり目視でチェックすることとしている。また、仕様の検証、確認に関しては、下記特許文献1〜5が開示されている。
特開2001−202398号公報 特開2004−78501号公報 特開平8−6778号公報 特開平6−75761号公報 特開平8−16625号公報
しかしながら、上述のように、目視で仕様書をチェックする場合、仕様書の曖昧さ、矛盾、漏れ、ミスを完全に取り除くことができない。また、その中の一部はそのまま実装にも反映されてしまい、誤った設計になってしまうケースも多くなる。したがって、設計品質が低下するという問題があった。また、誤った設計を実装段階の検証・テストで取り除こうとすると、多大な時間や手間がかかり、設計期間の長期化および設計者の負担増大を招くという問題があった。
また、上記特許文献1の仕様検証支援装置では、ユースケースを用いていないため、仕様を機能として捉えておらず、仕様の機能に関するエラーを取り除くことができず、設計品質が低下するという問題があった。
また、上記特許文献2の設計支援装置及び設計結果評価方法では、要求に満足するかどうかだけをチェックしており、仕様書の曖昧さ、矛盾、漏れ、ミスを除去することができず、設計品質が低下するという問題があった。
また、上記特許文献3のソフトウェア仕様の検証装置では、仕様の状態の抜けをチェックしているが、実際の外部装置からのイベントフローにおけるイベントの抜け、矛盾について触れていないため、仕様書の曖昧さ、矛盾、漏れ、ミスを完全に取り除くことができず、設計品質が低下するという問題があった。
また、上記特許文献4の仕様検証装置では、代数記述言語処理系で仕様を記述しなければならないが、具体的にどのように記述するのかなど、現実の仕様をすべて代数記述言語処理系で記述することは困難であり、設計者の負担が増大するという問題があった。
また、上記特許文献5の仕様実行検証装置では、仕様をモデルにしなければならないため、作業工数が増加して、設計期間の長期化および設計者の負担増大を招くという問題があった。
このように、結局、上記特許文献1〜5の従来技術においても、仕様書の曖昧さ、矛盾、漏れ、ミスを完全に取り除くことができず、設計品質の低下、設計期間の長期化および設計者の負担増大を招くという問題があった。
この発明は、上述した従来技術による問題点を解消するため、実装の前段階において、仕様書の曖昧、矛盾、漏れを取り除くことにより、設計品質の向上、設計期間の短縮化および設計労力の軽減を図ることができる仕様書確認方法、仕様書確認プログラム、該プログラムを記録した記録媒体、および仕様書確認装置を提供することを目的とする。
上述した課題を解決し、目的を達成するため、この発明にかかる仕様書確認方法、仕様書確認プログラム、該プログラムを記録した記録媒体、および仕様書確認装置は、設計対象の機能を示すユースケース図を含む仕様書情報の中から任意のユースケースを抽出し、抽出されたユースケースに基づいて、前記仕様書情報の正当性に関する条件を設定し、前記設計対象の動作を示すパスに関するイベントフローの中から任意の操作を抽出し、抽出された操作に関する条件を設定し、設定された操作に関する条件を用いて、設定された条件が成立するか否かを判定し、判定された判定結果を出力することを特徴とする。
この発明によれば、設計対象の実装前に仕様書が正しいか否か(正当性)を確認することができる。
また、上記発明において、前記ユースケースに関する事前条件と、前記ユースケースに関する事後条件と、前記事後条件が発生するまでの間に前記ユースケースに要求される不変条件とを設定し、前記操作に関する事前条件と、前記操作に関する事後条件とを設定し、設定された事前条件および事後条件を、設定された事前条件および事後条件とした場合、前記不変条件が成立するか否かを判定することとしてもよい。
この発明によれば、ユースケースの機能が、その事前条件と事後条件との間で変化しているか否かを確認することができる。
また、上記発明において、前記設計対象の動作を示すパスと、当該パスの実行前における前記ユースケースに関する事前条件と、前記パスの実行後における前記ユースケースに関する事後条件とを設定し、前記操作に関する事前条件と、前記操作に関する事後条件とを設定し、設定された事前条件が、設定された事前条件に包含されるか否かを判定するとともに、設定された事後条件が、設定された事後条件に包含されるか否かを判定することとしてもよい。
この発明によれば、パスが正しく実行されるか否かを確認することができる。
また、上記発明において、前記パスは、前記設計対象の基本動作を示す基本パスとしてもよく、また、前記設計対象の基本動作と代替可能な代替動作を示す代替パスとしてもよく、さらに、前記設計対象の例外的な動作を示す例外パスとしてもよい。
この発明によれば、パスの種類に応じて、パスが正しく実行されるか否かを確認することができる。
本発明にかかる仕様書確認方法、仕様書確認プログラム、該プログラムを記録した記録媒体、および仕様書確認装置によれば、実装の前段階において、仕様書の曖昧、矛盾、漏れを取り除くことにより、設計品質の向上、設計期間の短縮化および設計労力の軽減を図ることができるという効果を奏する。
以下に添付図面を参照して、この発明にかかる仕様書確認方法、仕様書確認プログラム、該プログラムを記録した記録媒体、および仕様書確認装置の好適な実施の形態を詳細に説明する。
(仕様書確認装置のハードウェア構成)
まず、この発明の実施の形態にかかる仕様書確認装置のハードウェア構成について説明する。図1は、この発明の実施の形態にかかる仕様書確認装置のハードウェア構成を示すブロック図である。
図1において、仕様書確認装置は、CPU101と、ROM102と、RAM103と、HDD(ハードディスクドライブ)104と、HD(ハードディスク)105と、FDD(フレキシブルディスクドライブ)106と、着脱可能な記録媒体の一例としてのFD(フレキシブルディスク)107と、ディスプレイ108と、I/F(インターフェース)109と、キーボード110と、マウス111と、スキャナ112と、プリンタ113と、を備えている。また、各構成部はバス100によってそれぞれ接続されている。
ここで、CPU101は、仕様書確認装置の全体の制御を司る。ROM102は、ブートプログラムなどのプログラムを記憶している。RAM103は、CPU101のワークエリアとして使用される。HDD104は、CPU101の制御にしたがってHD105に対するデータのリード/ライトを制御する。HD105は、HDD104の制御で書き込まれたデータを記憶する。
FDD106は、CPU101の制御にしたがってFD107に対するデータのリード/ライトを制御する。FD107は、FDD106の制御で書き込まれたデータを記憶したり、FD107に記憶されたデータを仕様書確認装置に読み取らせたりする。
また、着脱可能な記録媒体として、FD107のほか、CD−ROM(CD−R、CD−RW)、MO、DVD(Digital Versatile Disk)、メモリーカードなどであってもよい。ディスプレイ108は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ108は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F109は、通信回線を通じてインターネットなどのネットワーク114に接続され、このネットワーク114を介して他の装置に接続される。そして、I/F109は、ネットワーク114と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F109には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード110は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス111は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ112は、画像を光学的に読み取り、仕様書確認装置内に画像データを取り込む。なお、スキャナ112は、OCR機能を持たせてもよい。また、プリンタ113は、画像データや文書データを印刷する。プリンタ113には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(仕様書確認装置の機能的構成)
つぎに、この発明の実施の形態にかかる仕様書確認装置の機能的構成について説明する。図2は、この発明の実施の形態にかかる仕様書確認装置の機能的構成を示すブロック図である。図2において、仕様書確認装置200は、仕様書情報201と、ユースケース抽出部202と、第1の設定部203と、操作抽出部204と、第2の設定部205と、判定部206と、出力部207と、から構成されている。
まず、仕様書情報201とは、ソフトウェアやハードウェアなどの設計対象の仕様書を示すコンピュータに読み取り可能な電子情報である。仕様書情報201には、具体的には、たとえば、設計対象の機能を示すユースケース図、ユースケース図内の各ユースケースに定義された条件、設計対象の動作を示すパスに関するイベントフロー(シーケンス図)、当該各イベントフロー内の操作(操作記述)が含まれている。
ユースケースに定義された条件には、事前条件、事後条件および不変条件がある。この事前条件とは、当該ユースケースの実行前に満たすべき条件である。また、事後条件とは、当該ユースケースの実行後に満たすべき条件である。また、不変条件とは、ユースケースに関する事後条件が発生するまでの間にユースケースに要求される不変の条件である。
また、設計対象の動作を示すパスには、基本パス、代替パスおよび例外パスがある。基本パスとは、設計対象の基本動作を示すパスである。また、代替パスとは、基本動作に対して代替可能な代替動作を示すパスである。また、例外パスとは、基本動作および代替動作以外の例外的な動作を示すパスである。
また、操作記述には、その事前条件および事後条件が定義されている。操作記述に定義された事前条件とは、当該操作の実行前に満たすべき条件である。また、操作記述に定義された事後条件とは、当該操作の実行後に満たすべき条件である。
また、ユースケース抽出部202は、仕様書情報201に含まれているユースケース図の中から任意のユースケースを抽出する。この抽出処理は、未抽出のユースケースがなくなるまで実行される。
また、第1の設定部203は、ユースケース抽出部202によって抽出されたユースケースに基づいて、仕様書情報201の正当性に関する条件を設定する。具体的には、任意のユースケースが抽出された場合、当該ユースケースに定義された事前条件、事後条件および不変条件を仕様書情報201から抽出する。そして、下記の条件Aを設定する。
A.事前条件(UPRE)−>不変条件(UINV)until事後条件(UPOS)
条件Aは、事前条件(UPRE)を満たしている場合、事後条件(UPOS)を満たすまでの間、不変条件(UINV)を満たす、という条件である。
上記条件Aにおいて、事前条件(UPRE)は、ユースケースに定義された事前条件に基づいて設定される。たとえば、ユースケースに定義された事前条件が単一である場合、その事前条件がそのまま、事前条件(UPRE)に設定される。一方、ユースケースに定義された事前条件が複数ある場合、当該各事前条件をすべてANDで結合することにより、事前条件(UPRE)に設定される。すなわち、ユースケースに定義された複数の事前条件をすべて満足する条件が、事前条件(UPRE)となる。
同様に、事後条件(UPOS)は、ユースケースに定義された事後条件に基づいて設定される。たとえば、ユースケースに定義された事後条件が単一である場合、その事後条件がそのまま、事後条件(UPOS)に設定される。一方、ユースケースに定義された事後条件が複数ある場合、当該各事後条件をすべてANDで結合することにより、事後条件(UPOS)に設定される。すなわち、ユースケースに定義された複数の事後条件をすべて満足する条件が、事後条件(UPOS)となる。
同様に、不変条件(UINV)は、ユースケースに定義された不変条件に基づいて設定される。たとえば、ユースケースに定義された不変条件が単一である場合、その不変条件がそのまま、不変条件(UINV)に設定される。一方、ユースケースに定義された不変条件が複数ある場合、当該各不変条件をすべてANDで結合することにより、不変条件(UINV)に設定される。すなわち、ユースケースに定義された複数の不変条件をすべて満足する条件が、不変条件(UINV)となる。
また、第1の設定部203は、設計対象の動作を示すパスと、当該パスの実行前におけるユースケースに関する事前条件と、パスの実行後におけるユースケースに関する事後条件とを設定する。具体的には、任意のユースケースが抽出された場合、当該ユースケースに定義された事前条件、事後条件およびパスに関するイベントフローを仕様書情報201から抽出する。そして、下記の条件B〜Dを設定する。
B.事前条件(UPRE)−>基本パス−>事後条件(UPOS)
C.事前条件(UPRE)−>代替パス−>事後条件(UPOS)
D.事前条件(UPRE)−>例外パス−>例外事後条件(UPOS)
条件Bは、事前条件(UPRE)を満たしている場合、基本パスを実行すると、事後条件(UPOS)を満たすという条件である。また、条件Cは、事前条件(UPRE)を満たしている場合、代替パスを実行すると、事後条件(UPOS)を満たすという条件である。また、条件Dは、事前条件(UPRE)を満たしている場合、例外パスを実行すると、例外事後条件(UPOS)を満たすという条件である。
上記条件B〜Dにおいて、事前条件(UPRE)は、ユースケースに定義された事前条件にもとづいて設定される。たとえば、ユースケースに定義された事前条件が単一である場合、その事前条件がそのまま、事前条件(UPRE)に設定される。一方、ユースケースに定義された事前条件が複数ある場合、当該各事前条件をすべてANDで結合することにより、事前条件(UPRE)に設定される。すなわち、ユースケースに定義された複数の事前条件をすべて満足する条件が、事前条件(UPRE)となる。
同様に、事後条件(例外事後条件含む)(UPOS)は、ユースケースに定義された事後条件にもとづいて設定される。たとえば、ユースケースに定義された事後条件が単一である場合、その事後条件がそのまま、事後条件(UPOS)に設定される。一方、ユースケースに定義された事後条件が複数ある場合、当該各事後条件をすべてANDで結合することにより、事後条件(UPOS)に設定される。すなわち、ユースケースに定義された複数の事後条件をすべて満足する条件が、事後条件(UPOS)となる。
また、操作抽出部204は、設計対象の動作を示すパスに関するイベントフローの中から任意の操作を抽出する。具体的には、仕様書情報201内における、ユースケース抽出部202によって抽出されたユースケースの動作を示すパスに関するイベントフローの中から任意の操作記述を抽出する。この抽出処理は、未抽出の操作記述がなくなるまで実行される。
また、第2の設定部205は、操作抽出部204によって抽出された操作に関する事前条件(OiPRE)および事後条件(OiPOS)を設定する。i(i=1〜n)は操作記述の番号である。上記条件A〜Dにおいて、事前条件(OiPRE)は、操作記述に定義された事前条件に基づいて設定される。たとえば、操作記述に定義された事前条件が単一である場合、その事前条件がそのまま、事前条件(OiPRE)に設定される。一方、操作記述に定義された事前条件が複数ある場合、当該各事前条件をすべてANDで結合することにより、事前条件(OiPRE)に設定される。すなわち、操作記述に定義された複数の事前条件をすべて満足する条件が、事前条件(OiPRE)となる。
同様に、事後条件(OiPOS)は、操作記述に定義された事後条件に基づいて設定される。たとえば、操作記述に定義された事後条件が単一である場合、その事後条件がそのまま、事後条件(OiPOS)に設定される。一方、操作記述に定義された事後条件が複数ある場合、当該各事後条件をすべてANDで結合することにより、事後条件(OiPOS)に設定される。すなわち、操作記述に定義された複数の事後条件をすべて満足する条件が、事後条件(OiPOS)となる。
また、判定部206は、第2の設定部205によって設定された操作に関する条件を用いて、第1の設定部203によって設定された条件が成立するか否かを判定する。これにより、仕様書が正しいかどうかを確認(検証)することができる。具体的には、上記条件Aの場合、第1の設定部203によって設定された事前条件(UPRE)および事後条件(UPOS)を、第2の設定部205によって設定された事前条件(OiPRE)および事後条件(OiPOS)とした場合、不変条件(UINV)が成立するか否かを判定する。
また、判定部206は、第2の設定部205によって設定された事前条件(OiPRE)が第1の設定部203によって設定された事前条件(UPRE)に包含されるか否かを判定するとともに、第2の設定部205によって設定された事後条件(OiPOS)が第1の設定部203によって設定された事後条件(UPOS)に包含されるか否かを判定する。
また、出力部207は、判定部206によって判定された判定結果を出力する。具体的には、たとえば、判定結果OKや判定結果NGをディスプレイ108に表示したり、プリンタ113から印刷出力したり、スピーカから音声出力する。
なお、上述した仕様書情報201は、具体的には、たとえば、図1に示したROM102、RAM103、HD105などの記録媒体によって、その機能を実現する。また、ユースケース抽出部202、第1の設定部203、操作抽出部204、第2の設定部205、判定部206、および出力部207は、具体的には、たとえば、図1に示したROM102、RAM103、HD105などの記録媒体に記録されたプログラムを、CPU101が実行することによって、またはI/F109によって、その機能を実現する。
(仕様書確認処理手順)
つぎに、この発明の実施の形態にかかる仕様書確認装置の仕様書確認処理手順について説明する。図3および図4は、この発明の実施の形態にかかる仕様書確認装置の仕様書確認処理手順を示すフローチャートである。なお、図3のフローチャートは、上記条件Aを確認するためのフローチャートであり、図4のフローチャートは、上記条件B〜Dを確認するためのフローチャートである。
まず、図3において、未処理のユースケースがあるか否かを判断する(ステップS301)。未処理のユースケースがある場合(ステップS301:Yes)、当該未処理のユースケースを仕様書情報201から抽出する(ステップS302)。そして、ユースケースに関する事前条件(UPRE)、事後条件(UPOS)および不変条件(UINV)を用いて上記条件Aを設定する(ステップS303)。
このあと、抽出されたユースケースに関して、未処理のパスがあるか否かを判断する(ステップS304)。未処理のパスがない場合(ステップS304:No)、ステップS301に戻る。一方、未処理のパスがある場合(ステップS304:Yes)、仕様書情報201から当該未処理のパスのイベントフローを選択する(ステップS305)。そして、選択されたイベントフローの中に、未処理の操作があるか否かを判断する(ステップS306)。
未処理の操作がない場合(ステップS306:No)、ステップS304に戻る。一方、未処理の操作がある場合(ステップS306:Yes)、選択されたイベントフローから当該未処理の操作(記述)を抽出する(ステップS307)。そして、抽出された操作(記述)から、当該操作に関する事前条件(OiPRE)を設定するとともに(ステップS308)、事後条件(OiPOS)も設定する(ステップS309)。
そして、条件Aの事前条件(UPRE)および事後条件(UPOS)を、事前条件(OiPRE)および事後条件(OiPOS)に変え、ユースケースに関する不変条件(UINV)が成立するか否かを判定する(ステップS310)。成立しない場合(ステップS310:No)、NG結果を表示して(ステップS311)、一連の処理を終了する。
一方、不変条件(UINV)が成立する場合(ステップS310:Yes)、ステップS306に戻る。このあと、ステップS306において、未処理の操作がなく(ステップS306:No)、ステップS304に戻って、未処理のパスもない場合(ステップS304)、ステップS301に戻る。そして、ステップS301において、未処理のユースケースがない場合(ステップS301:No)、全ユースケースにおいて、ステップS310の判定が正しいこととなり、OK結果を表示して(ステップS312)、一連の処理を終了する。
つぎに、図4のフローチャートについて説明する。まず、未処理のユースケースがあるか否かを判断する(ステップS401)。未処理のユースケースがある場合(ステップS401:Yes)、当該未処理のユースケースを仕様書情報201から抽出する(ステップS402)。そして、ユースケースに関する事前条件(UPRE)、事後条件(UPOS)および不変条件(UINV)を用いて上記条件B(またはC、D)を設定する(ステップS403)。
このあと、抽出されたユースケースに関して、未処理のパスがあるか否かを判断する(ステップS404)。未処理のパスがない場合(ステップS404:No)、ステップS401に戻る。一方、未処理のパスがある場合(ステップS404:Yes)、仕様書情報201から当該未処理のパスのイベントフローを選択する(ステップS405)。そして、選択されたイベントフローの中に、未処理の操作があるか否かを判断する(ステップS406)。
未処理の操作がない場合(ステップS406:No)、ステップS410に移行する。一方、未処理の操作がある場合(ステップS406:Yes)、選択されたイベントフローから当該未処理の操作(記述)を抽出する(ステップS407)。そして、抽出された操作(記述)から、当該操作に関する事前条件(OiPRE)を設定して保持するとともに(ステップS408)、事後条件(OiPOS)も設定して保持する(ステップS409)。そして、ステップS406に戻る。
このステップS406〜S409までの一連の処理手順を、n個の操作記述すべてについておこない、事前条件(O1PRE)〜(OnPRE)および事後条件(O1POS)〜(OnPOS)を保持する。
このあと、ステップS410において、ステップS408において保持された操作に関する事前条件(O1PRE)〜(OnPRE)が、条件B(CまたはD)のユースケースに関する事前条件(UPRE)のサブセット(部分集合)、すなわち、事前条件(UPRE)に包含されているか否かを判定する(ステップS410)。
包含されていないと判定された場合(ステップS410:No)、仕様書に誤りがあることとなり、NG結果を表示して(ステップS412)、一連の処理を終了する。一方、包含されていると判定された場合(ステップS410:Yes)、ステップS409において保持された操作に関する事後条件(O1POS)〜(OnPOS)が、条件B(CまたはD)のユースケースに関する事後条件(UPOS)のサブセット(部分集合)、すなわち、事後条件(UPOS)に包含されているか否かを判定する(ステップS411)。
包含されていないと判定された場合(ステップS411:No)、仕様書に誤りがあることとなり、NG結果を表示して(ステップS412)、一連の処理を終了する。一方、包含されていると判定された場合(ステップS411:Yes)、ステップS404に戻る。そして、ステップS404において、未処理のパスがない場合(ステップS404:No)、ステップS401に戻る。そして、未処理のユースケースがない場合(ステップS401:No)、仕様書が正しいこととなり、OK結果を表示して(ステップS413)、一連の処理を終了する。
このように、上述した実施の形態によれば、実装の検証・テストの前に仕様書のミス、矛盾、曖昧を取り除くことができる。また、外部からどのように使うかといった観点からイベントの抜けやイベント列のミスを取り除くことができる。さらに、仕様書に近い形のモデル(仕様書情報)を用いているため、現実的な確認(検証)をおこなうことができる。さらに、スタティックな確認であるため、実行させるための工数が発生せず効率的である。
つぎに、上述した実施の形態の実施例について説明する。ここでは、設計対象を銀行のATMシステムとし、このATMシステムを用いて預金する場合を例に挙げて説明する。図5は、仕様書情報201に定義されているATMシステムのユースケース図である。図5において、符号500はATMシステムである。また、符号501は、ATMシステム500を利用する顧客をあらわすアクターである。また、符号502は、『預金する』というATMシステム500の一機能をあらわすユースケースである。
つぎに、ユースケース502を機能させるために定義された条件(事前条件、事後条件および不変条件)を下記表1に示す。
Figure 0004351186
つぎに、仕様書情報201に定義されているATMシステムの基本パスについて説明する。ここでは、基本パスは、キャッシュカードを用いて預金するイベントフローである。図6は、基本パスのイベントフローを示すシーケンス図である。図中の数字1.0〜2.5は、シーケンス番号である。
図6のイベントフローF1において、まず、顧客501は、ATMシステム500に顧客501のキャッシュカードを挿入する(1.0)。そして、顧客501は、ATMシステム500にお金を入れる(2.0)。つぎに、ATMシステム500は、顧客501に対し、シーケンス番号2.0で入れたお金の金額を確認する(2.1)。そして、顧客501は、シーケンス番号2.1による金額を確認した後、確認ボタンを押下するなどして預金する(2.2)。
このあと、ATMシステム500は、データベース600に対し、顧客501の残高を更新する(2.3)。そして、ATMシステム500は、顧客501のキャッシュカードを返却し(2.4)、預金伝票を発行する(2.5)。
つぎに、仕様書情報201に定義されているATMシステムの代替パスについて説明する。ここでは、代替パスは、通帳を用いて預金するイベントフローである。図7は、代替パスのイベントフローを示すシーケンス図である。図中の数字1.0〜2.5は、シーケンス番号である。
図7のイベントフローF2において、まず、顧客501は、ATMシステム500に顧客501の通帳を挿入する(1.0)。そして、顧客501は、ATMシステム500にお金を入れる(2.0)。つぎに、ATMシステム500は、顧客501に対し、シーケンス番号2.0で入れたお金の金額を確認する(2.1)。そして、顧客501は、シーケンス番号2.1による金額を確認した後、確認ボタンを押下するなどして預金する(2.2)。
このあと、ATMシステム500は、データベース600に対し、顧客501の残高を更新する(2.3)。そして、ATMシステム500は、顧客501の通帳を返却し(2.4)、預金伝票を発行する(2.5)。
つぎに、仕様書情報201に定義されているATMシステム500の例外パス1について説明する。ここでは、例外パス1は、無効なキャッシュカードを用いたイベントフローである。図8は、例外パス1のイベントフローを示すシーケンス図である。図中の数字1.0〜1.1は、シーケンス番号である。
図8のイベントフローF3において、まず、顧客501は、ATMシステム500にキャッシュカードを挿入する(1.0)。このキャッシュカードは無効なキャッシュカードであるため、ATMシステム500は、キャッシュカードを返却する(1.1)。
この図8に示した例外パス1の事後条件UE1POS−1およびUE1POS−2は以下の通りである。
・UE1POS−1:キャッシュカードが返却される。
・UE1POS−2:ATMシステム500を待機状態にする。
つぎに、仕様書情報201に定義されているATMシステムの例外パス2について説明する。ここでは、例外パス2は、無効なキャッシュカードを用いたイベントフローである。図9は、例外パス2のイベントフローを示すシーケンス図である。図中の数字1.0および1.1は、シーケンス番号である。
図9のイベントフローF4において、まず、顧客501は、ATMシステム500に通帳を挿入する(1.0)。この通帳は無効な通帳であるため、ATMシステム500は、通帳を返却する(1.1)。
この図9に示した例外パス1の事後条件UE2POS−1およびUE2POS−2は以下の通りである。
・UE2POS−1:通帳が返却される。
・UE2POS−2:ATMシステム500を待機状態にする。
つぎに、仕様書情報201に定義されているATMシステムの例外パス3について説明する。ここでは、例外パス3は、預金を途中でキャンセルした場合のイベントフローである。図10は、例外パス3のイベントフローを示すシーケンス図である。図中の数字2.0〜2.4は、シーケンス番号である。
図10のイベントフローF5において、顧客501は、ATMシステム500にお金を入れる(2.0)。つぎに、ATMシステム500は、顧客501に対し、シーケンス番号2.0で入れたお金の金額を確認する(2.1)。そして、顧客501は、シーケンス番号2.1による金額を確認した後、キャンセルボタンを押下するなどして預金をキャンセルする(2.2)。
このあと、ATMシステム500は、データベース600に対し、キャッシュカードが挿入された場合には、当該キャッシュカードを返却し(2.3)、通帳が挿入された場合には、当該通帳を返却する(2.4)。
この図10に示した例外パス3の事後条件UE3POS−1〜UE3POS−4は以下の通りである。
・UE3POS−1:お金が返却される。
・UE3POS−2:キャッシュカードが挿入された場合、当該キャッシュカードが返却される。
・UE3POS−1:通帳が挿入された場合、当該通帳が返却される。
・UE3POS−2:ATMシステム500を待機状態にする。
つぎに、図7〜図10に示したイベントフローに現れたATMシステム500の操作を下記表2〜表9を用いて説明する。下記表2〜表9の各操作は、仕様書情報201に定義されている。
表2は、キャッシュカード挿入の操作記述を示す表である。
Figure 0004351186
表3は、お金を入れる操作記述を示す表である。
Figure 0004351186
表4は、預金する操作記述を示す表である。
Figure 0004351186
表5は、残高を更新する操作記述を示す表である。
Figure 0004351186
表6は、キャッシュカードを返却する操作記述を示す表である。
Figure 0004351186
表7は、預金伝票を発行する操作記述を示す表である。
Figure 0004351186
表8は、通帳を記入する操作記述を示す表である。
Figure 0004351186
表9は、通帳を返却する操作記述を示す表である。
Figure 0004351186
つぎに、仕様書の正しさの検証について説明する。まず、条件A『事前条件−>不変条件until事後条件』のチェックをおこなう。この検証は、図3のフローチャートにしたがって実行する。まず、表1に示したユースケース502を機能させるために定義された条件を式に展開する。
まず、事前条件UPRE−1〜UPRE−3を式に展開すると下記式(1)の事前条件(UPRE)が設定される。
Figure 0004351186
この式(1)の事前条件(UPRE)は、表1の事前条件UPRE−1〜UPRE−3をANDで結合した式である。したがって、ATMシステム500においては、事前条件として、UPRE−1〜UPRE−3をすべて満たしている。
つぎに、表1に示した事後条件UPOS−1〜UPOS−6を式に展開すると下記式(2)の事後条件(UPOS)が設定される。
Figure 0004351186
この式(2)の事後条件(UPOS)は、表1の事後条件UPOS−1〜UPOS−6をANDで結合した式である。したがって、ATMシステム500においては、事後条件として、UPOS−1〜UPOS−6をすべて満たしている。
つぎに、表1に示した不変条件UINV−1〜UINV−2を式に展開すると下記式(3)の不変条件(UINV)が設定される。
Figure 0004351186
この式(3)の不変条件(UINV)は、表1の不変条件UINV−1〜UINV−2をANDで結合した式である。したがって、ATMシステム500においては、不変条件として、UINV−1〜UINV−2をすべて満たしている。
そして、式(1)で示した事前条件(UPRE)、式(2)で示した事後条件(UPOS)、および式(3)で示した不変条件(UINV)が、図6に示した基本パスと図7に示した代替パスについて、下記式(4)で示した条件Aが成立するかどうかを確認する。
UPRE−>UINV until UPOS・・・(4)
つぎに、上記式(4)が正しいか否かを判定する。具体的には、基本パスと代替パスを選択して判定処理をおこなう。まず、図6に示した基本パスのイベントフローF1が選択されると、イベントフローF1のすべての操作(1.0〜2.5)の操作記述(表2〜表7の操作記述)を抽出する。イベントフローF1の操作(1.0)に着目すると、イベントフローF1の操作(1.0)に関する事前条件(O1PRE)および事後条件(O1POS)は、下記式(5)および式(6)のように設定される。
Figure 0004351186
Figure 0004351186
イベントフローF1の操作(1.0)の場合、電源および残高に対して、事前および事後のいずれも変更されていないので、イベントフローF1の操作(1.0)に関して不変条件(UINV)が成立している(下記式(7))。
UINV==TRUE・・・(7)
また、イベントフローF1の操作(2.3)に着目すると、イベントフローF1の操作(2.3)に関する事前条件(O4PRE)および事後条件(O4POS)は、下記式(8)および式(9)のように設定される。
Figure 0004351186
Figure 0004351186
イベントフローF1の操作(2.3)の場合、操作に関する事後条件(O4POS−1)は、残高を更新しているため(表5を参照)、イベントフローF1の操作(2.3)に関して不変条件(UINV)は不成立となる(下記式(10))。
UINV==FALSE・・・(10)
これにより、仕様書に誤りがあることがわかる。不成立と判定された時点でNG結果を出力する。一方、すべてのイベントフローおよびすべての操作において成立と判定された場合、仕様書が正しいことが確認できる。
上記例では、操作(2.3)において途中で残高を更新したために、ユースケースに関する事後条件(UPOS)を満たさず、不成立と判定されている。これを改善するには、不変条件を削除するか、または基本パスのイベントフローF1を変更する必要がある。図11は、変更後のイベントフローF6を示すシーケンス図である。
図11において、操作(2.3)が『キャッシュカードを返却する()』に、操作(2.4)が『預金伝表を発行する()』に、操作(2.5)が『残高を更新する()』に変更されている。
つぎに、仕様書の検証をおこなう。この検証は、図4のフローチャートにしたがって実行する。上記例と同様、イベントフローF1の操作(1.0)に着目すると、イベントフローF1の操作(1.0)に関する事前条件(O1PRE)および事後条件(O1POS)は、上記式(5)および式(6)のように設定される。
そして、この事前条件(O1PRE)を保持する。具体的には、下記式(11)のように保持する。同様に、事後条件(O1POS)も、下記式(12)のように保持する。
Figure 0004351186
Figure 0004351186
このような処理を、イベントフローF1の操作(1.0)から操作(2.5)まで繰り返して、事前条件(O1PRE)および事後条件(O1POS)を保持する。
イベントフローF1の操作(1.0)〜(2.5)の場合、保持された事前条件(TPRE)は、ユースケースに関する事前条件(UPRE)を満たすこととなる(下記式(13))。
Figure 0004351186
なお、ユースケースに関する事後条件(UPOS)についても同様の手法により判定する。また、上記例では、基本パスについて説明したが、代替パスに関しても同様に実行することで、仕様書の確認をおこなうことができる。また、例外パスに関しても同様に実行することで、仕様書の確認をおこなうことができる。この場合、事後条件として例外事後条件を適用する。
以上説明したように、仕様書確認方法、仕様書確認プログラム、該プログラムを記録した記録媒体、および仕様書確認装置によれば、仕様書をユースケース、イベントフロー、パス、事前条件、事後条件、不変条件によって定義することで、仕様書を明確化することができる。また、ユースケースに関する事前条件、事後条件および不変条件をチェックすることによって、仕様書の矛盾、ミス、漏れを検出することができる。また、実装前に仕様書の正しさを保証できるため、検証作業の工数削減を図ることができる。
なお、本実施の形態で説明した仕様書確認方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
(付記1)設計対象の機能を示すユースケース図を含む仕様書情報の中から任意のユースケースを抽出するユースケース抽出工程と、
前記抽出工程によって抽出されたユースケースに基づいて、前記仕様書情報の正当性に関する条件を設定する第1の設定工程と、
前記設計対象の動作を示すパスに関するイベントフローの中から任意の操作を抽出する操作抽出工程と、
前記操作抽出工程によって抽出された操作に関する条件を設定する第2の設定工程と、
前記第2の設定工程によって設定された操作に関する条件を用いて、前記第1の設定工程によって設定された条件が成立するか否かを判定する判定工程と、
前記判定工程によって判定された判定結果を出力する出力工程と、
を含んだことを特徴とする仕様書確認方法。
(付記2)前記第1の設定工程は、
前記ユースケースに関する事前条件と、前記ユースケースに関する事後条件と、前記事後条件が発生するまでの間に前記ユースケースに要求される不変条件とを設定し、
前記第2の設定工程は、
前記操作に関する事前条件と、前記操作に関する事後条件とを設定し、
前記判定工程は、
前記第1の設定工程によって設定された事前条件および事後条件を、前記第2の設定工程によって設定された事前条件および事後条件とした場合、前記不変条件が成立するか否かを判定することを特徴とする付記1に記載の仕様書確認方法。
(付記3)前記第1の設定工程は、
前記設計対象の動作を示すパスと、当該パスの実行前における前記ユースケースに関する事前条件と、前記パスの実行後における前記ユースケースに関する事後条件とを設定し、
前記第2の設定工程は、
前記操作に関する事前条件と、前記操作に関する事後条件とを設定し、
前記判定工程は、
前記第2の設定工程によって設定された事前条件が前記第1の設定工程によって設定された事前条件に包含されるか否かを判定するとともに、前記第2の設定工程によって設定された事後条件が前記第1の設定工程によって設定された事後条件に包含されるか否かを判定することを特徴とする付記1に記載の仕様書確認方法。
(付記4)前記パスは、前記設計対象の基本動作を示す基本パスを含むことを特徴とする付記3に記載の仕様書確認方法。
(付記5)前記パスは、前記設計対象の基本動作と代替可能な代替動作を示す代替パスを含むことを特徴とする付記3または4に記載の仕様書確認方法。
(付記6)前記パスは、前記設計対象の例外的な動作を示す例外パスを含むことを特徴とする付記3〜5のいずれか一つに記載の仕様書確認方法。
(付記7)設計対象の機能を示すユースケース図を含む仕様書情報の中から任意のユースケースを抽出させるユースケース抽出工程と、
前記抽出工程によって抽出されたユースケースに基づいて、前記仕様書情報の正当性に関する条件を設定させる第1の設定工程と、
前記設計対象の動作を示すパスに関するイベントフローの中から任意の操作を抽出させる操作抽出工程と、
前記操作抽出工程によって抽出された操作に関する条件を設定させる第2の設定工程と、
前記第2の設定工程によって設定された操作に関する条件を用いて、前記第1の設定工程によって設定された条件が成立するか否かを判定させる判定工程と、
前記判定工程によって判定された判定結果を出力させる出力工程と、
をコンピュータに実行させることを特徴とする仕様書確認プログラム。
(付記8)前記第1の設定工程は、
前記ユースケースに関する事前条件と、前記ユースケースに関する事後条件と、前記事後条件が発生するまでの間に前記ユースケースに要求される不変条件とを設定させ、
前記第2の設定工程は、
前記操作に関する事前条件と、前記操作に関する事後条件とを設定させ、
前記判定工程は、
前記第1の設定工程によって設定された事前条件および事後条件を、前記第2の設定工程によって設定された事前条件および事後条件とした場合、前記不変条件が成立するか否かを判定させることを特徴とする付記7に記載の仕様書確認プログラム。
(付記9)前記第1の設定工程は、
前記設計対象の動作を示すパスと、当該パスの実行前における前記ユースケースに関する事前条件と、前記パスの実行後における前記ユースケースに関する事後条件とを設定させ、
前記第2の設定工程は、
前記操作に関する事前条件と、前記操作に関する事後条件とを設定させ、
前記判定工程は、
前記第2の設定工程によって設定された事前条件が前記第1の設定工程によって設定された事前条件に包含されるか否かを判定するとともに、前記第2の設定工程によって設定された事後条件が前記第1の設定工程によって設定された事後条件に包含されるか否かを判定させることを特徴とする付記7に記載の仕様書確認プログラム。
(付記10)付記7〜9のいずれか一つに記載の仕様書確認プログラムを記録したコンピュータに読み取り可能な記録媒体。
(付記11)設計対象の機能を示すユースケース図を含む仕様書情報の中から任意のユースケースを抽出するユースケース抽出手段と、
前記抽出手段によって抽出されたユースケースに基づいて、前記仕様書情報の正当性に関する条件を設定する第1の設定手段と、
前記設計対象の動作を示すパスに関するイベントフローの中から任意の操作を抽出する操作抽出手段と、
前記操作抽出手段によって抽出された操作に関する条件を設定する第2の設定手段と、
前記第2の設定手段によって設定された操作に関する条件を用いて、前記第1の設定手段によって設定された条件が成立するか否かを判定する判定手段と、
前記判定手段によって判定された判定結果を出力する出力手段と、
を備えることを特徴とする仕様書確認装置。
(付記12)前記第1の設定手段は、
前記ユースケースに関する事前条件と、前記ユースケースに関する事後条件と、前記事後条件が発生するまでの間に前記ユースケースに要求される不変条件とを設定し、
前記第2の設定手段は、
前記操作に関する事前条件と、前記操作に関する事後条件とを設定し、
前記判定手段は、
前記第1の設定手段によって設定された事前条件および事後条件を、前記第2の設定手段によって設定された事前条件および事後条件とした場合、前記不変条件が成立するか否かを判定することを特徴とする付記11に記載の仕様書確認装置。
(付記13)前記第1の設定手段は、
前記設計対象の動作を示すパスと、当該パスの実行前における前記ユースケースに関する事前条件と、前記パスの実行後における前記ユースケースに関する事後条件とを設定し、
前記第2の設定手段は、
前記操作に関する事前条件と、前記操作に関する事後条件とを設定し、
前記判定手段は、
前記第2の設定手段によって設定された事前条件が前記第1の設定手段によって設定された事前条件に包含されるか否かを判定するとともに、前記第2の設定手段によって設定された事後条件が前記第1の設定手段によって設定された事後条件に包含されるか否かを判定することを特徴とする付記11に記載の仕様書確認装置。
以上のように、本発明にかかる仕様書確認方法、仕様書確認プログラム、該プログラムを記録した記録媒体、および仕様書確認装置は、各種ソフトウェアやハードウェアなどの設計対象に有用である。
この発明の実施の形態にかかる仕様書確認装置のハードウェア構成を示すブロック図である。 この発明の実施の形態にかかる仕様書確認装置の機能的構成を示すブロック図である。 この発明の実施の形態にかかる仕様書確認装置の仕様書確認処理手順を示すフローチャートである。 この発明の実施の形態にかかる仕様書確認装置の仕様書確認処理手順を示すフローチャートである。 仕様書情報に定義されているATMシステムのユースケース図である。 基本パスのイベントフローを示すシーケンス図である。 代替パスのイベントフローを示すシーケンス図である。 例外パス1のイベントフローを示すシーケンス図である。 例外パス2のイベントフローを示すシーケンス図である。 例外パス3のイベントフローを示すシーケンス図である。 変更後のイベントフローF6を示すシーケンス図である。
符号の説明
200 仕様書確認装置
201 仕様書情報
202 ユースケース抽出部
203 第1の設定部
204 操作抽出部
205 第2の設定部
206 判定部
207 出力部

Claims (10)

  1. 設計対象の機能を示すユースケース図と前記設計対象の動作を示すパスに関するイベントフローとを含む仕様書情報を記憶する記憶装置にアクセス可能なコンピュータが、
    前記記憶装置に記憶された仕様書情報の中から任意のユースケースを抽出するユースケース抽出工程と、
    前記ユースケース抽出工程によって抽出されたユースケースに定義された事前条件、事後条件および前記事後条件が発生するまでの間に前記ユースケースに要求される不変条件を、前記仕様書情報から抽出して、「前記ユースケースに定義された事前条件を満たしている場合、前記ユースケースに定義された事後条件を満たすまでの間、前記ユースケースに定義された不変条件を満たす」という条件式を設定する第1の設定工程と、
    前記仕様書情報に含まれている前記設計対象の動作を示すパスに関するイベントフローのうち、前記ユースケースの動作を示すパスに関するイベントフローの中から、任意の操作を抽出する操作抽出工程と、
    前記操作抽出工程によって抽出された操作に関する第1の事前条件を満足する条件を前記操作に関する第2の事前条件に設定するとともに、前記操作抽出工程によって抽出された操作に関する第1の事後条件を満足する条件を前記操作に関する第2の事後条件に設定する第2の設定工程と、
    前記第1の設定工程によって設定された条件式内の前記ユースケースに定義された事前条件および前記ユースケースに定義された事後条件を、前記第2の設定工程によって設定された前記操作に関する第2の事前条件および前記操作に関する第2の事後条件とした場合、前記ユースケースに定義された不変条件が成立するか否かにより、前記ユースケースの機能が、前記ユースケースに定義された事前条件と前記ユースケースに定義された事後条件との間で変化しているか否かという前記仕様書情報の正当性を判定して、前記記憶装置に記憶する判定工程と、
    前記判定工程によって判定された判定結果を出力する出力工程と、
    実行することを特徴とする仕様書確認方法。
  2. 設計対象の機能を示すユースケース図と前記設計対象の動作を示すパスに関するイベントフローとを含む仕様書情報を記憶する記憶装置にアクセス可能なコンピュータが、
    前記記憶装置に記憶された仕様書情報の中から任意のユースケースを抽出するユースケース抽出工程と、
    前記ユースケース抽出工程によって抽出されたユースケースの動作を示すパスに関するイベントフローと、前記ユースケースの動作を示すパスの実行前での前記ユースケースに定義された事前条件と、前記ユースケースの動作を示すパスの実行後での前記ユースケースに定義された事後条件と前記仕様書情報から抽出し、「前記ユースケースに定義された事前条件を満たしている場合、前記ユースケースの動作を示すパスを実行すると、前記ユースケースに定義された事後条件を満たす」という条件式を設定する第1の設定工程と、
    前記ユースケースの動作を示すパスに関するイベントフローの中から任意の操作を抽出する操作抽出工程と、
    前記操作抽出工程によって抽出された操作に関する第1の事前条件を満足する条件を前記操作に関する第2の事前条件に設定するとともに、前記操作抽出工程によって抽出された操作に関する第1の事後条件を満足する条件を前記操作に関する第2の事後条件に設定する第2の設定工程と、
    前記第2の設定工程によって設定された前記操作に関する第2の事前条件が前記第1の設定工程によって設定された前記条件式内の前記ユースケースに定義された事前条件に包含されるか否か、および、前記第2の設定工程によって設定された前記操作に関する第2の事後条件が前記第1の設定工程によって設定された前記条件式内の前記ユースケースに定義された事後条件に包含されるか否かにより、前記ユースケースの動作を示すパスが、正しく実行されるか否かという前記仕様書情報の正当性を判定して、前記記憶装置に記憶する判定工程と、
    前記判定工程によって判定された判定結果を出力する出力工程と、
    実行することを特徴とする仕様書確認方法。
  3. 設計対象の機能を示すユースケース図と前記設計対象の動作を示すパスに関するイベントフローとを含む仕様書情報を記憶する記憶装置にアクセス可能なコンピュータが、
    前記記憶装置に記憶された仕様書情報の中から任意のユースケースを抽出するユースケース抽出工程と、
    前記ユースケース抽出工程によって抽出されたユースケースに定義された事前条件、事後条件および前記事後条件が発生するまでの間に前記ユースケースに要求される不変条件を、前記仕様書情報から抽出して、「前記ユースケースに定義された事前条件を満たしている場合、前記ユースケースに定義された事後条件を満たすまでの間、前記ユースケースに定義された不変条件を満たす」という第1の条件式を設定するとともに、前記ユースケースの動作を示すパスに関するイベントフローと、前記ユースケースの動作を示すパスの実行前での前記ユースケースに定義された事前条件と、前記ユースケースの動作を示すパスの実行後での前記ユースケースに定義された事後条件とを前記仕様書情報から抽出し、「前記ユースケースに定義された事前条件を満たしている場合、前記ユースケースの動作を示すパスを実行すると、前記ユースケースに定義された事後条件を満たす」という第2の条件式を設定する第1の設定工程と、
    前記仕様書情報に含まれている前記設計対象の動作を示すパスに関するイベントフローのうち、前記ユースケースの動作を示すパスに関するイベントフローの中から、任意の操作を抽出する操作抽出工程と、
    前記操作抽出工程によって抽出された操作に関する第1の事前条件を満足する条件を前記操作に関する第2の事前条件に設定するとともに、前記操作抽出工程によって抽出された操作に関する第1の事後条件を満足する条件を前記操作に関する第2の事後条件に設定する第2の設定工程と、
    前記第1の設定工程によって設定された前記第1の条件式内の前記ユースケースに定義された事前条件および前記ユースケースに定義された事後条件を、前記第2の設定工程によって設定された前記操作に関する第2の事前条件および前記操作に関する第2の事後条件とした場合、前記ユースケースに定義された不変条件が成立するか否かにより、前記ユースケースの機能が、前記ユースケースに定義された事前条件と前記ユースケースに定義された事後条件との間で変化しているか否かという前記仕様書情報の正当性を判定して、前記記憶装置に記憶するとともに、前記第2の設定工程によって設定された前記操作に関する第2の事前条件が前記第1の設定工程によって設定された前記第2の条件式内の前記ユースケースに定義された事前条件に包含されるか否か、および、前記第2の設定工程によって設定された前記操作に関する第2の事後条件が前記第1の設定工程によって設定された前記第2の条件式内の前記ユースケースに定義された事後条件に包含されるか否かにより、前記ユースケースの動作を示すパスが正しく実行されるか否かという前記仕様書情報の正当性を判定して、前記記憶装置に記憶する判定工程と、
    前記判定工程によって判定された判定結果を出力する出力工程と、
    を実行することを特徴とする仕様書確認方法。
  4. 設計対象の機能を示すユースケース図と前記設計対象の動作を示すパスに関するイベントフローとを含む仕様書情報を記憶する記憶装置にアクセス可能なコンピュータに、
    前記記憶装置に記憶された仕様書情報の中から任意のユースケースを抽出させるユースケース抽出工程と、
    前記ユースケース抽出工程によって抽出されたユースケースに定義された事前条件、事後条件および前記事後条件が発生するまでの間に前記ユースケースに要求される不変条件を、前記仕様書情報から抽出して、「前記ユースケースに定義された事前条件を満たしている場合、前記ユースケースに定義された事後条件を満たすまでの間、前記ユースケースに定義された不変条件を満たす」という条件式を設定させる第1の設定工程と、
    前記仕様書情報に含まれている前記設計対象の動作を示すパスに関するイベントフローのうち、前記ユースケースの動作を示すパスに関するイベントフローの中から、任意の操作を抽出させる操作抽出工程と、
    前記操作抽出工程によって抽出された操作に関する第1の事前条件を満足する条件を前記操作に関する第2の事前条件に設定するとともに、前記操作抽出工程によって抽出された操作に関する第1の事後条件を満足する条件を前記操作に関する第2の事後条件に設定させる第2の設定工程と、
    前記第1の設定工程によって設定された条件式内の前記ユースケースに定義された事前条件および前記ユースケースに定義された事後条件を、前記第2の設定工程によって設定された前記操作に関する第2の事前条件および前記操作に関する第2の事後条件とした場合、前記ユースケースに定義された不変条件が成立するか否かにより、前記ユースケースの機能が、前記ユースケースに定義された事前条件と前記ユースケースに定義された事後条件との間で変化しているか否かという前記仕様書情報の正当性を判定させ、前記記憶装置に記憶させる判定工程と、
    前記判定工程によって判定された判定結果を出力させる出力工程と、
    を実行させることを特徴とする仕様書確認プログラム。
  5. 設計対象の機能を示すユースケース図と前記設計対象の動作を示すパスに関するイベントフローとを含む仕様書情報を記憶する記憶装置にアクセス可能なコンピュータに、
    前記記憶装置に記憶された仕様書情報の中から任意のユースケースを抽出させるユースケース抽出工程と、
    前記ユースケース抽出工程によって抽出されたユースケースの動作を示すパスに関するイベントフローと、前記ユースケースの動作を示すパスの実行前での前記ユースケースに定義された事前条件と、前記ユースケースの動作を示すパスの実行後での前記ユースケースに定義された事後条件と前記仕様書情報から抽出し、「前記ユースケースに定義された事前条件を満たしている場合、前記ユースケースの動作を示すパスを実行すると、前記ユースケースに定義された事後条件を満たす」という条件式を設定させる第1の設定工程と、
    前記ユースケースの動作を示すパスに関するイベントフローの中から任意の操作を抽出させる操作抽出工程と、
    前記操作抽出工程によって抽出された操作に関する第1の事前条件を満足する条件を前記操作に関する第2の事前条件に設定させるとともに、前記操作抽出工程によって抽出された操作に関する第1の事後条件を満足する条件を前記操作に関する第2の事後条件に設定させる第2の設定工程と、
    前記第2の設定工程によって設定された前記操作に関する第2の事前条件が前記第1の設定工程によって設定された前記条件式内の前記ユースケースに定義された事前条件に包含されるか否か、および、前記第2の設定工程によって設定された前記操作に関する第2の事後条件が前記第1の設定工程によって設定された前記条件式内の前記ユースケースに定義された事後条件に包含されるか否かにより、前記ユースケースの動作を示すパスが、正しく実行されるか否かという前記仕様書情報の正当性を判定させ、前記記憶装置に記憶させる判定工程と、
    前記判定工程によって判定された判定結果を出力させる出力工程と、
    を実行させることを特徴とする仕様書確認プログラム。
  6. 設計対象の機能を示すユースケース図と前記設計対象の動作を示すパスに関するイベントフローとを含む仕様書情報を記憶する記憶装置にアクセス可能なコンピュータに、
    前記記憶装置に記憶された仕様書情報の中から任意のユースケースを抽出させるユースケース抽出工程と、
    前記ユースケース抽出工程によって抽出されたユースケースに定義された事前条件、事後条件および前記事後条件が発生するまでの間に前記ユースケースに要求される不変条件を、前記仕様書情報から抽出して、「前記ユースケースに定義された事前条件を満たしている場合、前記ユースケースに定義された事後条件を満たすまでの間、前記ユースケースに定義された不変条件を満たす」という第1の条件式を設定させるとともに、前記ユースケースの動作を示すパスに関するイベントフローと、前記ユースケースの動作を示すパスの実行前での前記ユースケースに定義された事前条件と、前記ユースケースの動作を示すパスの実行後での前記ユースケースに定義された事後条件とを前記仕様書情報から抽出し、「前記ユースケースに定義された事前条件を満たしている場合、前記ユースケースの動作を示すパスを実行すると、前記ユースケースに定義された事後条件を満たす」という第2の条件式を設定させる第1の設定工程と、
    前記仕様書情報に含まれている前記設計対象の動作を示すパスに関するイベントフローのうち、前記ユースケースの動作を示すパスに関するイベントフローの中から、任意の操作を抽出させる操作抽出工程と、
    前記操作抽出工程によって抽出された操作に関する第1の事前条件を満足する条件を前記操作に関する第2の事前条件に設定させるとともに、前記操作抽出工程によって抽出された操作に関する第1の事後条件を満足する条件を前記操作に関する第2の事後条件に設定させる第2の設定工程と、
    前記第1の設定工程によって設定された前記第1の条件式内の前記ユースケースに定義された事前条件および前記ユースケースに定義された事後条件を、前記第2の設定工程によって設定された前記操作に関する第2の事前条件および前記操作に関する第2の事後条件とした場合、前記ユースケースに定義された不変条件が成立するか否かにより、前記ユースケースの機能が、前記ユースケースに定義された事前条件と前記ユースケースに定義された事後条件との間で変化しているか否かという前記仕様書情報の正当性を判定させて、前記記憶装置に記憶させるとともに、前記第2の設定工程によって設定された前記操作に関する第2の事前条件が前記第1の設定工程によって設定された前記第2の条件式内の前記ユースケースに定義された事前条件に包含されるか否か、および、前記第2の設定工程によって設定された前記操作に関する第2の事後条件が前記第1の設定工程によって設定された前記第2の条件式内の前記ユースケースに定義された事後条件に包含されるか否かにより、前記ユースケースの動作を示すパスが正しく実行されるか否かという前記仕様書情報の正当性を判定させて、前記記憶装置に記憶させる判定工程と、
    前記判定工程によって判定された判定結果を出力させる出力工程と、
    を実行させることを特徴とする仕様書確認プログラム。
  7. 請求項4〜6のいずれか一つに記載の仕様書確認プログラムを記録したコンピュータに読み取り可能な記録媒体。
  8. 設計対象の機能を示すユースケース図と前記設計対象の動作を示すパスに関するイベントフローとを含む仕様書情報を記憶する記憶装置にアクセス可能な仕様書確認装置であって、
    前記記憶装置に記憶された仕様書情報の中から任意のユースケースを抽出するユースケース抽出手段と、
    前記ユースケース抽出手段によって抽出されたユースケースに定義された事前条件、事後条件および前記事後条件が発生するまでの間に前記ユースケースに要求される不変条件を、前記仕様書情報から抽出して、「前記ユースケースに定義された事前条件を満たしている場合、前記ユースケースに定義された事後条件を満たすまでの間、前記ユースケースに定義された不変条件を満たす」という条件式を設定する第1の設定手段と、
    前記仕様書情報に含まれている前記設計対象の動作を示すパスに関するイベントフローのうち、前記ユースケースの動作を示すパスに関するイベントフローの中から、任意の操作を抽出する操作抽出手段と、
    前記操作抽出手段によって抽出された操作に関する第1の事前条件を満足する条件を前記操作に関する第2の事前条件に設定するとともに、前記操作抽出手段によって抽出された操作に関する第1の事後条件を満足する条件を前記操作に関する第2の事後条件に設定する第2の設定手段と、
    前記第1の設定手段によって設定された条件式内の前記ユースケースに定義された事前条件および前記ユースケースに定義された事後条件を、前記第2の設定手段によって設定された前記操作に関する第2の事前条件および前記操作に関する第2の事後条件とした場合、前記ユースケースに定義された不変条件が成立するか否かにより、前記ユースケースの機能が、前記ユースケースに定義された事前条件と前記ユースケースに定義された事後条件との間で変化しているか否かという前記仕様書情報の正当性を判定して、前記記憶装置に記憶する判定手段と、
    前記判定手段によって判定された判定結果を出力する出力手段と、
    を備えることを特徴とする仕様書確認装置。
  9. 設計対象の機能を示すユースケース図と前記設計対象の動作を示すパスに関するイベントフローとを含む仕様書情報を記憶する記憶装置にアクセス可能な仕様書確認装置であって、
    前記記憶装置に記憶された仕様書情報の中から任意のユースケースを抽出するユースケース抽出手段と、
    前記ユースケース抽出手段によって抽出されたユースケースの動作を示すパスに関するイベントフローと、前記ユースケースの動作を示すパスの実行前での前記ユースケースに定義された事前条件と、前記ユースケースの動作を示すパスの実行後での前記ユースケースに定義された事後条件と前記仕様書情報から抽出し、「前記ユースケースに定義された事前条件を満たしている場合、前記ユースケースの動作を示すパスを実行すると、前記ユースケースに定義された事後条件を満たす」という条件式を設定する第1の設定手段と、
    前記ユースケースの動作を示すパスに関するイベントフローの中から任意の操作を抽出する操作抽出手段と、
    前記操作抽出手段によって抽出された操作に関する第1の事前条件を満足する条件を前記操作に関する第2の事前条件に設定するとともに、前記操作抽出手段によって抽出された操作に関する第1の事後条件を満足する条件を前記操作に関する第2の事後条件に設定する第2の設定手段と、
    前記第2の設定手段によって設定された前記操作に関する第2の事前条件が前記第1の設定手段によって設定された前記条件式内の前記ユースケースに定義された事前条件に包含されるか否か、および、前記第2の設定手段によって設定された前記操作に関する第2の事後条件が前記第1の設定手段によって設定された前記条件式内の前記ユースケースに定義された事後条件に包含されるか否かにより、前記ユースケースの動作を示すパスが、正しく実行されるか否かという前記仕様書情報の正当性して、前記記憶装置に記憶を判定する判定手段と、
    前記判定手段によって判定された判定結果を出力する出力手段と、
    を備えることを特徴とする仕様書確認装置。
  10. 設計対象の機能を示すユースケース図と前記設計対象の動作を示すパスに関するイベントフローとを含む仕様書情報を記憶する記憶装置にアクセス可能な仕様書確認装置であって、
    前記記憶装置に記憶された仕様書情報の中から任意のユースケースを抽出するユースケース抽出手段と、
    前記ユースケース抽出手段によって抽出されたユースケースに定義された事前条件、事後条件および前記事後条件が発生するまでの間に前記ユースケースに要求される不変条件を、前記仕様書情報から抽出して、「前記ユースケースに定義された事前条件を満たしている場合、前記ユースケースに定義された事後条件を満たすまでの間、前記ユースケースに定義された不変条件を満たす」という第1の条件式を設定するとともに、前記ユースケースの動作を示すパスに関するイベントフローと、前記ユースケースの動作を示すパスの実行前での前記ユースケースに定義された事前条件と、前記ユースケースの動作を示すパスの実行後での前記ユースケースに定義された事後条件とを前記仕様書情報から抽出し、「前記ユースケースに定義された事前条件を満たしている場合、前記ユースケースの動作を示すパスを実行すると、前記ユースケースに定義された事後条件を満たす」という第2の条件式を設定する第1の設定手段と、
    前記仕様書情報に含まれている前記設計対象の動作を示すパスに関するイベントフローのうち、前記ユースケースの動作を示すパスに関するイベントフローの中から、任意の操作を抽出する操作抽出手段と、
    前記操作抽出手段によって抽出された操作に関する第1の事前条件を満足する条件を前記操作に関する第2の事前条件に設定するとともに、前記操作抽出手段によって抽出された操作に関する第1の事後条件を満足する条件を前記操作に関する第2の事後条件に設定する第2の設定手段と、
    前記第1の設定手段によって設定された前記第1の条件式内の前記ユースケースに定義された事前条件および前記ユースケースに定義された事後条件を、前記第2の設定手段によって設定された前記操作に関する第2の事前条件および前記操作に関する第2の事後条件とした場合、前記ユースケースに定義された不変条件が成立するか否かにより、前記ユースケースの機能が、前記ユースケースに定義された事前条件と前記ユースケースに定義された事後条件との間で変化しているか否かという前記仕様書情報の正当性を判定して、前記記憶装置に記憶するとともに、前記第2の設定手段によって設定された前記操作に関する第2の事前条件が前記第1の設定手段によって設定された前記第2の条件式内の前記ユースケースに定義された事前条件に包含されるか否か、および、前記第2の設定手段によって設定された前記操作に関する第2の事後条件が前記第1の設定手段によって設定された前記第2の条件式内の前記ユースケースに定義された事後条件に包含されるか否かにより、前記ユースケースの動作を示すパスが正しく実行されるか否かという前記仕様書情報の正当性を判定して、前記記憶装置に記憶する判定手段と、
    前記判定手段によって判定された判定結果を出力する出力手段と、
    を備えることを特徴とする仕様書確認装置。
JP2005147247A 2005-05-19 2005-05-19 仕様書確認方法、仕様書確認プログラム、該プログラムを記録した記録媒体、および仕様書確認装置 Expired - Fee Related JP4351186B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005147247A JP4351186B2 (ja) 2005-05-19 2005-05-19 仕様書確認方法、仕様書確認プログラム、該プログラムを記録した記録媒体、および仕様書確認装置
US11/214,848 US7937680B2 (en) 2005-05-19 2005-08-31 Method and apparatus for verifying specification, and computer product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005147247A JP4351186B2 (ja) 2005-05-19 2005-05-19 仕様書確認方法、仕様書確認プログラム、該プログラムを記録した記録媒体、および仕様書確認装置

Publications (2)

Publication Number Publication Date
JP2006323694A JP2006323694A (ja) 2006-11-30
JP4351186B2 true JP4351186B2 (ja) 2009-10-28

Family

ID=37449696

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005147247A Expired - Fee Related JP4351186B2 (ja) 2005-05-19 2005-05-19 仕様書確認方法、仕様書確認プログラム、該プログラムを記録した記録媒体、および仕様書確認装置

Country Status (2)

Country Link
US (1) US7937680B2 (ja)
JP (1) JP4351186B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9483234B2 (en) 2012-12-18 2016-11-01 Nec Corporation Requirements contradiction detection system, requirements contradiction detection method, and requirements contradiction detection program

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070074180A1 (en) * 2003-12-22 2007-03-29 Nasa Hq's Systems, Methods and Apparatus for Procedure Development and Verification
US20080220771A1 (en) * 2007-03-08 2008-09-11 Viasat, Inc. Satellite reference terminal systems and methods
JP4946651B2 (ja) * 2007-06-15 2012-06-06 富士通株式会社 仕様検証プログラム、該プログラムを記録したコンピュータに読み取り可能な記録媒体、仕様検証装置、および仕様検証方法
JP2010009384A (ja) * 2008-06-27 2010-01-14 Fujitsu Ltd 検証支援プログラム、検証支援装置、および検証支援方法
JP5970292B2 (ja) * 2012-08-21 2016-08-17 株式会社日立製作所 ソフトウェア仕様開発支援方法及びソフトウェア仕様開発支援装置
JP6869055B2 (ja) * 2017-03-03 2021-05-12 三菱電機株式会社 評価支援装置、および評価支援プログラム
DE102021207872A1 (de) * 2021-07-22 2023-01-26 Robert Bosch Gesellschaft mit beschränkter Haftung Kompositionelle verifikation von eingebetteten softwaresystemen

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0675761A (ja) 1992-08-28 1994-03-18 Toshiba Corp 仕様検証装置
US6038378A (en) * 1993-07-29 2000-03-14 Digital Esquipment Corporation Method and apparatus for testing implementations of software specifications
JP2846242B2 (ja) 1994-06-17 1999-01-13 株式会社エイ・ティ・アール通信システム研究所 ソフトウェア仕様の検証装置
JPH0816625A (ja) 1994-06-27 1996-01-19 Mitsubishi Electric Corp 仕様実行検証装置
US5774370A (en) * 1995-09-18 1998-06-30 Vlsi Technology, Inc. Method of extracting implicit sequential behavior from hardware description languages
US6606588B1 (en) * 1997-03-14 2003-08-12 Interuniversitair Micro-Elecktronica Centrum (Imec Vzw) Design apparatus and a method for generating an implementable description of a digital system
US6751582B1 (en) * 1999-09-09 2004-06-15 International Business Machines Corporation Method and system for enhanced design validation through trace tailoring
US6633838B1 (en) * 1999-11-04 2003-10-14 International Business Machines Corporation Multi-state logic analyzer integral to a microprocessor
JP3496608B2 (ja) 2000-01-21 2004-02-16 トヨタ自動車株式会社 仕様検証支援装置
US7117462B2 (en) * 2000-09-29 2006-10-03 Matsushita Electric Industrial Co., Ltd. Circuit operation verifying method and apparatus
US7162456B2 (en) * 2002-06-05 2007-01-09 Sun Microsystems, Inc. Method for private personal identification number management
US7167843B2 (en) * 2002-06-05 2007-01-23 Sun Microsystems, Inc. Apparatus for private personal identification number management
JP2004078501A (ja) 2002-08-15 2004-03-11 Ishikawajima Harima Heavy Ind Co Ltd 設計支援装置及び設計結果評価方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9483234B2 (en) 2012-12-18 2016-11-01 Nec Corporation Requirements contradiction detection system, requirements contradiction detection method, and requirements contradiction detection program

Also Published As

Publication number Publication date
US20060265676A1 (en) 2006-11-23
JP2006323694A (ja) 2006-11-30
US7937680B2 (en) 2011-05-03

Similar Documents

Publication Publication Date Title
JP4351186B2 (ja) 仕様書確認方法、仕様書確認プログラム、該プログラムを記録した記録媒体、および仕様書確認装置
US20190042547A1 (en) Integrated document editor
US8434069B2 (en) System and method for effort estimation
JP4734141B2 (ja) 遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析方法、および遅延解析装置
JP2008083781A (ja) 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法
CN111684452B (zh) 设计辅助系统
JP5825163B2 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
CN112215693A (zh) 一种凭证生成方法以及相关装置
JP5050985B2 (ja) 検証支援プログラム、検証支援装置および検証支援方法
JP4370274B2 (ja) 検証支援装置、検証支援方法、および検証支援プログラム
JP5640790B2 (ja) 検証支援プログラム、検証支援装置、および検証支援方法
JP2020160629A (ja) 情報処理装置及びプログラム
JP5447082B2 (ja) 会計支援装置、会計支援プログラムおよび会計支援方法
JPWO2010140240A1 (ja) プロセス設計プログラム、プロセス設計装置およびプロセス設計方法
Liu et al. A formal approach to testing programs in practice
JPWO2012144139A1 (ja) UI(UserInterface)作成支援装置、UI作成支援方法及びプログラム
JP5821528B2 (ja) データチェックプログラム、データチェック方法及びデータチェック装置
US20110138228A1 (en) Verification computer product and apparatus
JP2020119470A (ja) 制御方法、制御プログラム、および情報処理装置
Haoues et al. Predicting the functional change status in UML activity diagram from the use case diagram
JP4957641B2 (ja) 検証支援プログラム、検証支援装置、および検証支援方法
JP2018180711A (ja) テストケースを選択する計算機及びテストケースの選択方法
JP5120016B2 (ja) リスク評価プログラムおよびリスク評価装置
JP2007257375A (ja) 遅延解析プログラム、記録媒体、遅延解析方法、および遅延解析装置
JP5825409B2 (ja) 検証支援プログラム、検証支援装置、および検証支援方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090414

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090611

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090714

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090723

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120731

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120731

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130731

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees