JP2009134342A - 機能仕様書自動生成装置 - Google Patents

機能仕様書自動生成装置 Download PDF

Info

Publication number
JP2009134342A
JP2009134342A JP2007307596A JP2007307596A JP2009134342A JP 2009134342 A JP2009134342 A JP 2009134342A JP 2007307596 A JP2007307596 A JP 2007307596A JP 2007307596 A JP2007307596 A JP 2007307596A JP 2009134342 A JP2009134342 A JP 2009134342A
Authority
JP
Japan
Prior art keywords
data
unit
functional specification
change
functional
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.)
Pending
Application number
JP2007307596A
Other languages
English (en)
Inventor
Tomoya Shirakawa
智也 白川
Atsushi Kobayashi
敦 小林
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2007307596A priority Critical patent/JP2009134342A/ja
Publication of JP2009134342A publication Critical patent/JP2009134342A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】機能仕様が自然言語で記述された機能仕様書をソフトウェアのデータフロー図に基づいて自動生成する機能仕様書自動生成装置を得ること。
【解決手段】ソフトウェアのデータフロー図を基にソフトウェアの機能仕様書を生成する機能仕様書自動生成装置70を構成するにあたり、複数の構成要素によってデータの流れが示されていると共に機能仕様が自然言語で記述されているデータフロー図についてのデータを得る入力部1と、入力部が得たデータフロー図についてのデータを解析して機能仕様の情報を抽出するモデル解析部11と、機能仕様の情報を基に自然言語で記述された機能仕様書のデータを生成する機能仕様書生成部13とを設ける。
【選択図】 図1

Description

この発明は、ソフトウェアの開発過程で用いられる機能仕様書を自動生成する機能仕様書自動生成装置に関する。
ソフトウェア開発においては、全体でのデータの流れ(データフロー)を当該ソフトウェアの要求分析/方式設計段階で明確にして、データの一貫性を保持することが重要である。上記のデータフローを記述する手段の1つとしてデータフロー図があり、ソフトウェアの要求分析/方式設計段階で当該データフロー図を作成しておくと、ソフトウェア全体でやり取りされるデータの種類やデータの流れが明確化されて詳細設計/実装段階での作業効率や作業自体の品質を向上させ易くなる。また、ソフトウェアに要求される機能(以下「要求機能」という)についての機能仕様書をデータフロー図に基づいて要求分析段階で作成しておくと、ソフトウェア全体でのデータの流れが明確化されるので、データの整合をとりつつ要求機能の分析を行うことが容易になる。
近年ではソフトウェアの多機能化、高性能化、複雑化が進んでおり、要求分析/方式設計段階でのデータフロー図および機能仕様書の重要性が高まっている。特に、組み込みソフトウェアのように類似の仕様で多数のソフトウェアを少数生産する際に好適なソフトウェア開発手法として知られるソフトウェアプロダクトラインでは、製品系列全体でデータの一貫性を保持することが求められることから、データフロー図および機能仕様書の重要性が高い。
ただし、ソフトウェアプロダクトラインでは、機能仕様書に製品系列全体の要求機能を記載する必要があり、当該機能仕様書の作成に用いられるデータフロー図としても各ソフトウェアでの共通部、可変部を定義したものを作成する必要があるので、これら機能仕様書およびデータフロー図の作成に多大の時間と労力を要する。
例えば特許文献1に記載されたオブジェクト指向分析・設計支援装置のように仕様記述を自動生成する装置を利用することで機能仕様書の作成に掛かる時間および労力の削減を図ることも考えられるが、当該特許文献1に記載された装置は、演算記号、ソート記号、等式等の記号によって記述された代数的仕様を自動生成するものであるので、自動生成された仕様の記述内容を理解するためには専門的知識が必要となる。また、ソフトウェアプロダクトラインで用いられる機能仕様書を代数的機能仕様書にすると、製品系列全体でデータの一貫性の確認や把握がし難くなる。
ソフトウェアでのデータの一貫性の確認や把握を容易にするうえからは、機能仕様書を自然言語で記述することが望ましく、このような機能仕様書を作成するにあたっては、作成担当者がデータフロー図を見て該データフロー図で定義されている要求機能の仕様(以下「機能仕様」という)を1つずつ抽出し、これらを編集して機能仕様書にするという手法がとられている。
特開平6−168109号公報
しかしながら、データフロー図で定義されている機能仕様をヒトが1つずつ抽出して機能仕様書にまとめあげるという手法では、機能仕様を抽出する際にヒューマンエラーが起こり易く、機能仕様を正しく抽出するためには多くの工数が必要となる。大規模なソフトウェア開発では、データフロー図も大規模になることから当該データフロー図からの機能仕様の抽出に多大の工数を要することとなって、その開発コストが増大すると共に開発に掛かる時間が長くなる。
また、上記の手法では、データを削除するといった修正ないし変更をデータフロー図に施したときに、削除したデータを入力データまたは出力データとして使用しているプロセスのように当該修正ないし変更の影響を受ける箇所をヒトが特定して追加変更の必要性の有無を確認する必要があるため、上記修正ないし変更の影響を受ける箇所の特定や追加変更の必要性の有無の確認にも多大の手間が掛かることが多い。このことは、機能仕様書にて機能仕様を変更した場合や、製品系列に新規機種が追加されて変動点、すなわち製品系列に属する機種間で仕様が変わり得る箇所に変更が生じた場合にもあてはまる。
この発明は上記の事情に鑑みてなされたものであり、機能仕様が自然言語で記述された機能仕様書をソフトウェアのデータフロー図に基づいて自動生成する機能仕様書自動生成装置を得ることを目的とする。
上記の目的を達成するこの発明の機能仕様書自動生成装置は、ソフトウェアのデータフロー図を基にソフトウェアの機能仕様書を生成する機能仕様書自動生成装置であって、複数の構成要素によってデータの流れが示されていると共に機能仕様が自然言語で記述されているデータフロー図についてのデータを得る入力部と、入力部が得たデータフロー図についてのデータを解析して機能仕様の情報を抽出するモデル解析部と、機能仕様の情報を基に自然言語で記述された機能仕様書のデータを生成する機能仕様書生成部とを有することを特徴とするものである。
この発明によれば、機能仕様が自然言語で記述された機能仕様書をソフトウェアのデータフロー図に基づいて自動生成することが可能になるので、機能仕様書の生成に掛かる工数と人手を抑えることができ、結果としてソフトウェアの開発コストおよび開発時間を低減させることができる。
以下、この発明の機能仕様書自動生成装置の実施の形態について、図面を参照して詳細に説明する。なお、この発明は以下に説明する実施の形態に限定されるものではない。
図1は、機能仕様書自動生成装置の一例を概略的に示すブロック図である。同図に示す機能仕様所自動生成装置70は、入力部1、データ処理部30、第1記憶部35a、第2記憶部35b、出力部50、および制御部60を備え、入力部1が得たデータフロー図を基にソフトウェアの機能仕様書を生成する。
上記の入力部1は、複数の構成要素によってデータの流れが示されていると共に機能仕様が自然言語で記述されているデータフロー図について新規データまたは修正・変更データを得る際に用いられる。データフロー図についてのデータは、例えば入力部1で作成することにより、あるいは他の機器で作成されたものを入力部1で読み取ることにより得られる。入力部1は、例えばキーボード、座標入力装置、画像読取装置、リムーバブルメディアに格納されたデータを読み取るデータ読取装置、他の機器と有線接続または無線接続されてデータを受信する受信装置等を適宜組み合わせて構成される。
図示の機能仕様書自動生成装置70においては、上記データフロー図についてのデータを新規に作成するモデル作成部としての機能と、後述する機能仕様書のデータが既に生成されたデータフロー図についての修正・変更データを得るモデル変更部としての機能と、データ処理部30が生成した機能仕様書のデータを修正・変更する機能仕様書変更部としての機能とが入力部1に付与されている。
データ処理部30は、入力部1が得たデータフロー図のデータを基に、または第1記憶部35aもしくは第2記憶部35bに格納されているデータを基に所定の処理を行って、自然言語で記述された機能仕様書に対応するデータ(機能仕様書のデータ)等を生成する。そのために、当該データ処理部30はモデル解析部11、機能仕様書生成部13、機能仕様書解析部15、モデル更新部17、機能仕様登録部20、第1差分抽出部21、第1変更依存箇所推測部23、第2差分抽出部25、および第2変更依存箇所推測部27を有している。
上記のモデル解析部11、機能仕様書生成部13、および機能仕様登録部20は、データフロー図を基に機能仕様書を自動生成する際に動作する。これらの各部のうちのモデル解析部11は、機能仕様が自然言語で記述されたデータフロー図についてのデータを入力部1が得たときに、当該データを解析して上記機能仕様についての情報を抽出する。モデル解析部11により抽出された機能仕様の情報は機能仕様登録部20に送られ、ここから第1記憶部35aに格納される。また、機能仕様書生成部13は、第1記憶部35aから上記機能仕様の情報を読み出して、自然言語で記述された機能仕様書に対応する機能仕様書のデータを生成し、該機能仕様書のデータを第2記憶部35bに格納する一方で、該機能仕様書のデータに対応した機能仕様書を出力部50に出力させる。なお、第1記憶部35aと第2記憶部35bとは、互いに別個の記憶素子ないし記憶装置により構成することもできるし、1つの記憶素子ないし記憶装置での互いの別個の領域により構成することもできる。
データ処理部30における機能仕様書解析部15、モデル更新部17、および機能仕様登録部20は、機能仕様書自動生成装置70により生成した機能仕様書のデータを入力部1により修正・変更し、当該修正・変更に併せてデータフロー図を更新する際に動作する。このとき、機能仕様書解析部15は、入力部1により修正・変更された後の機能仕様書のデータを解析して機能仕様の情報を抽出する。機能仕様書解析部15により抽出された機能仕様の情報は機能仕様登録部20に送られ、ここから第1記憶部35aに格納される。また、モデル更新部17は、第1記憶部35aから上記機能仕様の情報を読み出し、当該情報を基にデータフロー図のデータを生成し、該データに対応したデータフロー図を出力部50に出力させる。
データ処理部30における第1差分抽出部21および第1変更依存箇所推測部23は、機能仕様書のデータが既に生成されたデータフロー図についての修正・変更データを入力部1が得たときに動作し、修正・変更後のデータフロー図中で再確認を要する箇所を推測して当該箇所についての情報をユーザが認知できる形態で出力部50に出力させる。このとき、第1差分抽出部21は、第1記憶部35aに格納されている修正・変更前のデータフロー図での機能仕様の情報と上記修正・変更データでの機能仕様の情報との差分を抽出して、修正・変更箇所を特定する。また、第1変更依存箇所推測部23は、第1差分抽出部21が特定した修正・変更箇所を修正ないし変更したことにより再確認を要することとなるデータフロー図中の箇所を推測する。第1変更依存箇所推測部23の推測結果は出力部50に送られ、ここから出力される。確認を促すメッセージと一緒に上記の推測結果を出力部50に出力させると、再確認を要する箇所をユーザが認知し易くなる。
データ処理部30における第2差分抽出部25および第2変更依存箇所推測部27は、機能仕様書のデータについての修正・変更データを入力部1が得たときに動作し、修正・変更後の機能仕様書のデータ中で再確認を要する箇所を推測して当該箇所についての情報をユーザが認知できる形態で出力部50に出力させる。このとき、第2差分抽出部25は、第2記憶部35bに格納されている修正・変更前の機能仕様書のデータでの機能仕様の情報と修正・変更後の機能仕様書のデータでの機能仕様の情報との差分を抽出して、修正・変更箇所を特定する。また、第2変更依存箇所推測部27は、第2差分抽出部25が特定した修正・変更箇所を修正ないし変更したことにより再確認を要することとなる機能仕様書のデータ中の箇所を推測する。第2変更依存箇所推測部27の推測結果は出力部50に送られ、ここから出力される。確認を促すメッセージと一緒に上記の推測結果を出力部50に出力させると、再確認を要する箇所をユーザが認知し易くなる。
出力部50は、上述した機能仕様書生成部13が生成した機能仕様書のデータに基づく機能仕様書の出力、モデル更新部17が生成したデータフロー図のデータに基づくデータフロー図の出力、第1変更依存箇所推測部23の推測結果の出力、および第2変更依存箇所推測部27の推測結果の出力等を行う。図示の例では、印刷部40と表示部45とにより出力部50が構成されている。機能仕様書やデータフロー図は、印刷部40および表示部45のどちらかも出力可能である。同様に、第1変更依存箇所推測部23および第2変更依存箇所推測部27それぞれの推測結果も、印刷部40および表示部45の各々から出力可能である。
制御部60は、図示を省略した主記憶装置に格納されている制御プログラム、および入力部1から入力される指令等に応じて入力部1、データ処理部30、および出力部50の動作を制御する。
上述した構成を有する機能仕様書自動生成装置70によれば、機能仕様が自然言語で記述された機能仕様書をデータフロー図に基づいて自動生成することができるので、機能仕様書の生成に掛かる工数と人手とを抑えることができる。勿論、機能仕様書の内容によっては、例えばタイムチャートのように自動生成できない項目が含まれることもあるが、そのような場合でも多くの項目についてはその記述を自動生成することができるので、結果としてソフトウェアの開発コストおよび開発時間を低減させることができる。
また、生成した機能仕様書がその後に修正・変更された場合には、当該修正・変更された機能仕様書に対応するデータ(機能仕様書のデータ)に基づいてデータフロー図を更新することができるので、機能仕様書とデータフロー図との整合を容易に図ることができる。さらに、機能仕様書のデータを既に生成したデータフロー図や機能仕様書のデータがその後に修正・変更されたときには、当該修正ないし変更したことにより再確認を要することとなるデータフロー図中の箇所や機能仕様書のデータ中の箇所を第1変更依存箇所推測部23または第2変更依存箇所推測部27により推測し、出力部50から出力させることができるので、ユーザに追加の修正・変更の有無について確認を促して、修正・変更のし忘れを防止することができる。その結果として、開発中のソフトウェア全体でのデータの一貫性を保持することが容易になる。
このような技術的効果を奏する機能仕様書自動生成装置70での具体的なデータ処理方法は種々選定可能である。以下、図2〜図14を参照して、機能仕様書自動生成装置70でのデータ処理方法を具体的に説明する。
図2は、機能仕様書自動生成装置により機能仕様書を自動生成する際に用いられるデータフロー図の一例を示す概略図である。一般に、データフロー図は「データストア」、「外部エンティティ」、「プロセス」、および「データフロー」の4つの要素を組み合わせて作成される。「データストア」はデータを格納する役割を担い、「外部エンティティ」はデータの取得を行うハードウェアや外部センサを表す。また、「プロセス」はデータストアや外部エンティティとデータをやり取りして行われるソフトウェアとしての処理を表す。そして、「データフロー」はプロセスとデータストア、プロセスと外部エンティティとのデータのやり取りを表し、矢印で表現される。
図示のデータフロー図110には、1つのデータストア101と、1つの外部エンティティ102と、1つのプロセス103と、データストア101からプロセス103に向かうデータフロー105と、外部エンティティ102からプロセス103に向かうデータフロー106とが記載されている。また、データストア101、外部エンティティ102、プロセス103、およびデータフロー105の各々には、その機能仕様が自然言語で記述されている。ただし、図においては機能仕様の項目のみが示されている。機能仕様の項目には、必要に応じて、プロパティを示す「データタイプ」、「仕様の概要」、「仕様内容」、「製品系列における変動点/可変仕様」等や、機能仕様書中でのデータフロー図の階層構造を表現する「タグ」等を加えることができる。
図3はデータタイプの一例を示す図表であり、図4は変動点の一例を示す図表であり、図5は機能仕様の項目に「データタイプ」、「仕様の概要」、「仕様内容」、「変動点」、または「可変仕様」が付加されているデータフロー図の一例を示す概略図である。
図3には「状態データ」、「データ」、「制御要求」、および「イベント」の計4つのデータタイプとその説明が示されている。また、図4には「Optional」、「Alternative」、および「Parameterized」の計3つの変動点とその説明が示されている。なお、「変動点」とは、所定の製品系列に属する各機器で用いられるソフトウェア間で機能仕様が変わり得る箇所を意味する。これら「データタイプ」および「変動点」の各項目を機能仕様中に設けておくことにより、例えば第1差分抽出部21または第2差分抽出部25で差分を抽出する際の誤りや、第1変更依存箇所推測部23または第2差分抽出部27(図1参照)で再確認を要する箇所を推測する際の誤り等を抑制し易くなり、結果として、ソフトウェア全体でのデータの一貫性を保持し易くなる。
図5に示すデータフロー図120はインバータ回路の実効周波数を制御するソフトウェアでのデータフロー図であり、該データフロー図には1つのデータストア111と、2つの外部エンティティ112,114と、1つのプロセス113と、データストア111からプロセス113に向かうデータフロー115と、外部エンティティ112からプロセス113に向かうデータフロー116と、プロセス113から外部エンティティ114に向かうデータフロー117とが記載されている。
上記のデータストア111にはモータ定数データが格納されており、外部エンティティ112はメインマイコン通信モジュールである。また、プロセス113は圧縮機周波数の制御であり、外部エンティティ114はインバータ回路である。データフロー115ではデータストア111からプロセス113にモータ定数のデータが送られ、データフロー116では外部エンティティ112からプロセス113に目標周波数のデータが送られ、データフロー117ではプロセス113から外部エンティティ114に実効周波数のデータが送られる。
また、データストア111の機能仕様FS11、外部エンティティ112の機能仕様FS12、プロセス113の機能仕様FS13、外部エンティティ114の機能仕様FS14、データフロー115の機能仕様FS15、データフロー116の機能仕様FS16、およびデータフロー117の機能仕様FS17の各々が自然言語で記載されている。各機能仕様FS11〜FS17には変動点の項目が設けられており、機能仕様FS15〜FS17の各々にはデータタイプの項目が設けられている。また、機能仕様FS11〜FS14の各々には「可変仕様」の項目が設けられており、機能仕様FS13には「仕様内容」の項目が設けられている。
機能仕様書自動生成装置70(図1参照)は、上述したデータフロー図110,120のように機能仕様が自然言語で記述されたデータフロー図を基に機能仕様書を自動生成する。以下、図5に示したデータフロー図を基に機能仕様書を生成する場合を例にとり、図1で用いた参照符号を適宜引用して機能仕様書自動生成装置70でのデータ処理について具体的に説明する。
図6は、データフロー図を基に機能仕様書を生成する際の機能仕様書自動生成装置でのデータ処理の一例を示すフローチャートである。同図に示す例では、機能仕様書自動生成装置70(図1参照)がステップS1〜S9およびステップS11〜S18のうちの所定のステップを行って、データフロー図を基に機能仕様書を生成する。
最初に行われるステップS1では、データフロー図についての新規データを入力部1が得るのか、入力部1がモデル変更部として機能して修正・変更データを得るのかを制御部60(図1参照)が判断する。新規データを得ると判断されたときにはステップS2に進み、修正・変更データを得ると判断されたときにはステップS11に進む。なお、図6においてはステップS1での判断内容を、便宜上、「データフロー図の新規作成?」と表記している。
上記のステップS2では、入力部1がモデル作成部として機能して、ユーザから入力される指令に応じてデータフロー図のデータを新規に作成する。データフロー図のデータの新規作成が終了すると、モデル解析部11(図1参照)がデータフロー図のデータを読み込むステップS3が行われ、次いで、読み込んだデータフロー図のデータをモデル解析部11が解析して機能仕様の情報を抽出するステップS4が行われる。
図7は、図5に示したデータフロー図からモデル解析部が抽出した機能仕様の情報を示す概念図である。同図に示す機能仕様の情報If1は、図5に示したプロセス113に着目して抽出されたものである。上記のプロセス113に着目することにより、当該プロセス113への入力である各データフロー115,116および出力であるデータフロー117それぞれの機能仕様の情報を抽出することが可能になると共に、各データフローをたどることでデータストア111および各外部エンティティ112,114それぞれの機能仕様の情報を抽出することが可能になる。
図6に示す上述のステップS4でモデル解析部11が抽出した機能仕様の情報は、ステップS5で機能仕様登録部20に送られてここから第1記憶部35a(図1参照)に格納される。当該第1記憶部35aに格納された機能仕様の情報は、ステップS6で機能仕様書生成部13(図1参照)に読み出され、機能仕様の情報を読み出した機能仕様書生成部13は、ステップS7で機能仕様書のデータを生成する。
機能仕様書生成部13が生成した機能仕様書のデータは、ステップS8で機能仕様登録部20に送られてここから第2記憶部35b(図1参照)に格納される。また、ステップS9で出力部50に送られ、ここから機能仕様書として出力される。当該ステップS9での機能仕様書の出力は、印刷部40から書面として出力するものであってもよいし、表示部45により画像情報として出力するものであってもよい。
図8は、図5に示したデータフロー図を基に図1に示した機能仕様書自動生成装置が自動生成した機能仕様書の一例を示す概略図である。同図に示す機能仕様書Sp1は、機能仕様が自然言語で記載されたものであり、章番号や項目番号が自動的に付与されていると共に、「入出力」の項目の内容は自動的に一覧表にまとめられている。
一方、図6に示したステップS1で入力部1がデータフロー図の新規データではなく修正・変更データを得ると判断されたときにはステップS11に進んで、入力部1(図1参照)がユーザから入力される指令に応じてデータフロー図のデータを修正・変更する。データフロー図のデータの修正・変更が終了すると、モデル解析部11(図1参照)がデータフロー図のデータを読み込むステップS12が行われ、次いで、読み込んだデータフロー図のデータをモデル解析部11が解析して機能仕様の情報を抽出するステップS13が行われる。
ステップS13での機能仕様の情報の抽出が完了すると、第1記憶部35aに格納されている修正・変更前のデータフロー図での機能仕様の情報と上記修正・変更データでの機能仕様の情報との差分を第1差分抽出部21が抽出して修正・変更箇所を特定するステップS14が行われる。該ステップS14で特定された修正・変更箇所についての情報は、第1変更依存箇所推測部23に送られる。
当該情報を受けた第1変更依存箇所推測部23は、上記の修正・変更箇所を修正ないし変更したことにより再確認を要することとなるデータフロー図中の箇所をステップS15で推測し、該ステップS15に続くステップS16で推測結果を出力部50(図1参照)に出力させる。例えば、修正・変更箇所がデータフローである場合、そのデータフローを入出力とする箇所(プロセス、データストア、または外部エンティティ)では入出力データが変わって機能仕様の変更が必要になることがあるので、当該箇所を再確認を要する箇所として推測するように第1変更依存箇所推測部23が構成される。図9は、第1変更依存箇所推測部による推測結果の出力の一例を示す概略図である。同図に示す例では、第1変更依存箇所推測部23による推測結果Riが再確認を促すメッセージMeと一緒に表示部45に画像情報として出力されている。
図6に示す上記のステップS15に続いて上記再確認を要する箇所があるか否かを第1変更依存箇所推測部23が判断するステップS17が行われ、該ステップS17で再確認を要する箇所はないと判断されたときは前述したステップS5に進み、該ステップS5からステップS9までを行って機能仕様書を自動生成する。また、ステップS17で再確認を要する箇所があると判断されたときにステップS18に進み、ユーザが入力部1から修正・変更指示を入力したか否かを制御部60が判断する。このステップS18で修正・変更指示があったと判断されたときには制御部60による制御の下に前述したステップS11に進んで該ステップS11以降が繰り返され、修正・変更指示がないと判断されたときには制御部60による制御の下に前述したステップS5に進み、該ステップS5からステップS9までを行って機能仕様書を自動生成する。
このようにして機能仕様書を自動生成する機能仕様書自動生成装置70(図1参照)は、上述のようにして自動生成した機能仕様書のデータがその後に修正・変更されたときに、当該修正・変更された機能仕様書のデータに基づいてデータフロー図を更新する機能も有する。以下、図1で用いた参照符号を適宜引用して、修正・変更された機能仕様書のデータに基づいてデータフロー図を更新する際の機能仕様書自動生成装置70でのデータ処理の一例を具体的に説明する。
図10は、修正・変更された機能仕様書のデータに基づいてデータフロー図を更新する際の機能仕様書自動生成装置でのデータ処理の一例を示すフローチャートである。同図に示す例では、機能仕様書自動生成装置70(図1参照)がステップS21〜S27およびステップS31〜S35のうちの所定のステップを行って、修正・変更された機能仕様書のデータに基づいてデータフロー図を更新する。
最初に行われるステップS21では、入力部1(図1参照)が機能仕様書のデータを修正・変更する機能仕様書変更部として機能し、第2記憶部35b(図1参照)に格納されている作成済みの機能仕様書のデータをユーザから入力される指令に応じて読み出して修正・変更する。このときの機能仕様書のデータの修正・変更は、例えば、作成済みの機能仕様書のデータに対応する機能仕様書を表示部45(図1参照)に表示させ、画面上で所望箇所を修正・変更することにより行うことが可能である。図11は、修正・変更された機能仕様書のデータに対応する機能仕様書の一例を示す概念図である。同図に示す機能仕様書Sp2は、図8に示した機能仕様書Sp1を表示部45(図1参照)に表示させ、入力に係るデータの一部を削除する修正・変更、すなわちモータ定数データからの入力を削除する修正・変更を画面上で行ったときのものである。モータ定数データからの入力の欄に削除を表す記号D1が表示されている。
機能仕様書のデータの修正・変更が終了すると、機能仕様書解析部15(図1参照)が修正・変更後の機能仕様書のデータを読み込むステップS22が行われ、次いで、読み込んだ機能仕様書のデータを機能仕様書解析部15が解析して機能仕様の情報を抽出するステップS23が行われる。機能仕様書解析部15がステップS23で抽出した機能仕様の情報は、引き続いて行われるステップS24で機能仕様登録部20に送られてここから第1記憶部35a(図1参照)に格納される。図12は、機能仕様書解析部15が抽出した機能仕様の情報の一例を示す概念図である。同図に示す例は、図11に示した機能仕様書Sp2に対応する機能仕様書のデータから抽出された機能仕様の情報If2であり、モータ定数データからの入力に削除を表す記号D2が付加されている。
この後、データフロー図を更新する指令が入力部1から入力されたか否かを制御部60(図1参照)が判断するステップS25が行われる。このステップS25で上記の指令が入力されたと判断されたときには、上記修正・変更された機能仕様書のデータから抽出した機能仕様の情報に基づいてモデル更新部17(図1参照)がデータフロー図のデータを更新するステップS26と、更新されたデータフロー図のデータに基づいてモデル更新部17が更新後のデータフロー図を出力部50に出力させるステップS27とがこの順番で行われる。図13は、更新されたデータフロー図の一例を示す概略図である。同図に示すデータフロー図130は、図12に概念的に示した機能仕様の情報If2に基づいて更新されたものである。図5との対比から明らかなように、このデータフロー図130では、図5に示したデータフロー図120からデータストア111とデータフロー115とが削除されている。図13に示した各構成要素には、図5で用いた参照符号と同じ参照符号を付してある。
一方、図10に示したステップS25でデータフロー図を更新する指令が入力部1から入力されなかったと判断されたときにはステップS31に進んで、第1記憶部35aに格納されている修正・変更前の機能仕様書のデータでの機能仕様の情報と上記修正・変更後の機能仕様書のデータでの機能仕様の情報との差分を第2差分抽出部25(図1参照)が抽出する。図14は、第2差分抽出部25によって抽出される差分の一例を示す概念図である。同図に示す抽出結果Rdは、図7に示した機能仕様の情報If1と図12に示した機能仕様の情報If2との差分を第2差分抽出部25が抽出したときのものであり、情報If1にあったモータ定数データからの入力が情報Df2では削除されていることを示している。
上記のステップS31で特定された修正・変更箇所についての情報は、第2変更依存箇所推測部27(図1参照)に送られ、当該情報を受けた第2変更依存箇所推測部27は、上記の修正・変更箇所を修正ないし変更したことにより再確認を要することとなる機能仕様書のデータ中の箇所をステップS32で推測し、該ステップS32に続くステップS33で上記推測の結果を出力部50に出力させる。例えば、データフローの機能仕様が修正・変更された場合、そのデータフローを入出力とする箇所(プロセス、データストア、または外部エンティティ)では入出力データが変わって機能仕様に変更が必要となることがあるので、当該箇所の機能仕様の情報を再確認を要する箇所として推測するように第2変更依存箇所推測部27が構成される。
このステップS33に続くステップS34では、上記再確認を要する箇所があるか否かを第2変更依存箇所推測部27が判断する。当該ステップS34で再確認を要する箇所はないと判断されたときは前述したステップS26に進み、該ステップS26とステップS27とをこの順番で行ってデータフロー図を更新する。また、上記のステップS34で再確認を要する箇所があると判断されたときにステップS35に進み、ユーザが入力部1から修正・変更指示を入力したか否かを制御部60が判断する。このステップS35で修正・変更指示があったと判断されたときには制御部60による制御の下に前述したステップS31に進んで該ステップS31以降を繰り返し、修正・変更指示がないと判断されたときには制御部60による制御の下に前述したステップS26に進み、該ステップS26とステップS27とをこの順番で繰り返してデータフロー図を更新する。
このようにして機能仕様書の自動生成およびデータフロー図の更新を行うことができる機能仕様書自動生成装置70(図1参照)によれば、既に説明したように、機能仕様書の生成に掛かる工数と人手とを抑えてソフトウェアの開発コストおよび開発時間を低減させることができる。また、機能仕様書がその後に修正・変更された場合には、当該修正・変更された機能仕様書に対応する機能仕様書データに基づいてデータフロー図を更新することができるので、機能仕様書とデータフロー図との整合を図り易い。さらに、機能仕様書のデータを既に生成したデータフロー図や機能仕様書のデータがその後に修正・変更されたときには、ユーザに追加の修正・変更の有無について確認を促して修正・変更のし忘れを防止することができるので、開発中のソフトウェア全体でのデータの一貫性を保持し易い。
以上、この発明の機能仕様書自動生成装置について実施の形態を挙げて説明したが、前述のように、この発明は上記の形態に限定されるものではない。例えば、既に生成した機能仕様書のデータが修正・変更されたときに当該修正・変更された機能仕様書のデータを基にデータフロー図を更新する機能は、省略することも可能である。同様に、機能仕様書のデータを既に生成したデータフロー図のデータが修正・変更されたときや、生成した機能仕様書のデータがその後に修正・変更されたときに再確認を要する箇所を推測して該推測結果を出力する機能も、省略することが可能である。ただし、これらの機能の少なくとも1つを付加することにより、機能仕様書自動生成装置の利便性を高めることができる。
機能仕様書自動生成装置の構成は、該機能仕様書自動生成装置に機能仕様書の自動生成に係る機能以外にどのような機能を付加するかに応じて適宜変更可能である。同様に、機能仕様書自動生成装置でのデータ処理の手順も、当該機能仕様書自動生成装置に機能仕様書の自動生成に係る機能以外にどのような機能を付加するかに応じて適宜変更可能である。勿論、機能仕様書の自動生成に係るデータ処理の手順についても、適宜変更可能である。この発明の機能仕様書自動生成装置については、上述した以外にも種々の変形、修飾、組合せ等が可能である。
この発明の機能仕様書自動生成装置は、ソフトウェアプロダクトライン等によるソフトウェアの開発時に機能仕様書の生成に掛かる工数と人手を抑えて、ソフトウェアの開発コストおよび開発時間を低減させるのに適している。
この発明の機能仕様書自動生成装置の一例を概略的に示すブロック図である。 図1に示した機能仕様書自動生成装置によって機能仕様書を自動生成する際に用いられるデータフロー図の一例を示す概略図である。 図2に示したデータフロー図に記述される機能仕様の項目に必要に応じて加えられるデータタイプの一例を示す図表である。 図2に示したデータフロー図に記述される機能仕様の項目に必要に応じて加えられる変動点の一例を示す図表である。 機能仕様の項目に「データタイプ」、「仕様の概要」、「仕様内容」、「変動点」、または「可変仕様」が付加されているデータフロー図の一例を示す概略図である。 図1に示した機能仕様書自動生成装置によってデータフロー図を基に機能仕様書を生成する際のデータ処理の一例を示すフローチャートである。 図1に示した機能仕様書自動生成装置でのモデル解析部が図5に示したデータフロー図から抽出した機能仕様の情報を示す概念図である。 図1に示した機能仕様書自動生成装置が図5に示したデータフロー図を基に自動生成した機能仕様書の一例を示す概略図である。 図1に示した機能仕様書自動生成装置の第1変更依存箇所推測部による推測結果の出力の一例を示す概略図である。 図1に示した機能仕様書自動生成装置が修正・変更された機能仕様書のデータに基づいてデータフロー図を更新する際のデータ処理の一例を示すフローチャートである。 図1に示した機能仕様書自動生成装置によって修正・変更された機能仕様書のデータに対応する機能仕様書の一例を示す概念図である。 図1に示した機能仕様書自動生成装置での機能仕様書解析部が抽出した機能仕様の情報の一例を示す概念図である。 図1に示した機能仕様書自動生成装置によって更新されたデータフロー図の一例を示す概略図である。 図1に示した機能仕様書自動生成装置の第2差分抽出部によって抽出される差分の一例を示す概念図である。
符号の説明
1 入力部
11 モデル解析部
13 機能仕様書生成部
15 機能仕様書解析部
17 モデル更新部
21 第1差分抽出部
23 第1変更依存箇所推測部
25 第2差分抽出部
27 第2変更依存箇所推測部
30 データ処理部
35a 第1記憶部
35b 第2記憶部
40 印刷部
45 表示部
50 出力部
60 制御部
70 機能仕様書自動生成装置
110,120,130 データフロー図
Df1,Df2 機能仕様の情報
Sp1 機能仕様書
Ri 第1変更依存箇所推測部による推測結果
Me 再確認を促すメッセージ
Rd 第2差分抽出部による差分の抽出結果

Claims (9)

  1. ソフトウェアのデータフロー図を基に前記ソフトウェアの機能仕様書を生成する機能仕様書自動生成装置であって、
    複数の構成要素によってデータの流れが示されていると共に機能仕様が自然言語で記述されているデータフロー図についてのデータを得る入力部と、
    該入力部が得た前記データフロー図についてのデータを解析して前記機能仕様の情報を抽出するモデル解析部と、
    前記機能仕様の情報を基に自然言語で記述された機能仕様書のデータを生成する機能仕様書生成部と、
    を有することを特徴とする機能仕様書自動生成装置。
  2. 前記入力部は、前記データフロー図についてのデータを新規に作成するモデル作成部として機能することを特徴とする請求項1に記載の機能仕様書自動生成装置。
  3. 前記入力部は、前記機能仕様書のデータが既に生成されたデータフロー図についての修正・変更データを得るモデル変更部として機能し、
    前記モデル解析部により抽出された機能仕様の情報が格納される第1記憶部と、
    前記機能仕様書のデータが既に生成されたデータフロー図についての修正・変更データを前記入力部が得たときに、前記第1記憶部に格納されている修正・変更前のデータフロー図での機能仕様の情報と前記修正・変更データでの機能仕様の情報との差分を抽出して修正・変更箇所を特定する第1差分抽出部と、
    前記第1差分抽出部が特定した修正・変更箇所を修正ないし変更したことにより再確認を要することとなるデータフロー図中の箇所を推測する第1変更依存箇所推測部と、
    該第1変更依存箇所推測部の推測結果をユーザが認知できる形態で出力する出力部と、
    を更に有することを特徴とする請求項1または2に記載の機能仕様書自動生成装置。
  4. 前記第1変更依存箇所推測部は、再確認を促すメッセージと一緒に前記推測結果を前記出力部に出力させることを特徴とする請求項3に記載の機能仕様書自動生成装置。
  5. 前記機能仕様書生成部が生成した機能仕様書のデータを修正・変更する機能仕様書変更部と、
    該機能仕様書変更部により前記機能仕様書のデータが修正・変更されたときに、修正・変更後の機能仕様書のデータを解析して機能仕様の情報を抽出する機能仕様書解析部と、
    該機能仕様書解析部が抽出した前記機能仕様の情報を基にデータフロー図のデータを生成するモデル更新部と、
    を更に有することを特徴とする請求項1〜4のいずれか1つに記載の機能仕様書自動生成装置。
  6. 前記機能仕様書生成部が生成した機能仕様書のデータが格納される第2記憶部と、
    前記機能仕様書のデータについての修正・変更データを前記入力部1が得たときに、前記第2記憶部に格納されている修正・変更前の機能仕様書のデータでの機能仕様の情報と修正・変更後の機能仕様書のデータでの機能仕様の情報との差分を抽出して修正・変更箇所を特定する第2差分抽出部と、
    前記第2差分抽出部が特定した修正・変更箇所を修正ないし変更したことにより再確認を要することとなる機能仕様書のデータ中の箇所を推測する第2変更依存箇所推測部と、
    該第2変更依存箇所推測部の推測結果をユーザが認知できる形態で出力する出力部と、
    を更に有することを特徴とする請求項5に記載の機能仕様書自動生成装置。
  7. 前記第2変更依存箇所推測部は、再確認を促すメッセージと一緒に前記推測結果を前記出力部に出力させることを特徴とする請求項6に記載の機能仕様書自動生成装置。
  8. 前記データフロー図に自然言語で記述されている機能仕様は、所定の製品系列に属する機器で用いられるソフトウェア間で機能仕様が変わり得る箇所の情報を含むことを特徴とする請求項1〜7のいずれか1つに記載の機能仕様書自動生成装置。
  9. 前記モデル解析部は、前記入力部が得た前記データフロー図のデータから前記機能仕様の情報と前記ソフトウェア間で機能仕様が変わり得る箇所の情報とを抽出可能であることを特徴とする請求項8に記載の機能仕様書自動生成装置。
JP2007307596A 2007-11-28 2007-11-28 機能仕様書自動生成装置 Pending JP2009134342A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007307596A JP2009134342A (ja) 2007-11-28 2007-11-28 機能仕様書自動生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007307596A JP2009134342A (ja) 2007-11-28 2007-11-28 機能仕様書自動生成装置

Publications (1)

Publication Number Publication Date
JP2009134342A true JP2009134342A (ja) 2009-06-18

Family

ID=40866196

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007307596A Pending JP2009134342A (ja) 2007-11-28 2007-11-28 機能仕様書自動生成装置

Country Status (1)

Country Link
JP (1) JP2009134342A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018173822A (ja) * 2017-03-31 2018-11-08 株式会社Screenホールディングス 管理装置、モデルバージョンの管理方法および管理プログラム
JP2021018487A (ja) * 2019-07-17 2021-02-15 株式会社デンソー データフロー生成装置、その方法、およびそのプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018173822A (ja) * 2017-03-31 2018-11-08 株式会社Screenホールディングス 管理装置、モデルバージョンの管理方法および管理プログラム
JP2021018487A (ja) * 2019-07-17 2021-02-15 株式会社デンソー データフロー生成装置、その方法、およびそのプログラム
JP7163879B2 (ja) 2019-07-17 2022-11-01 株式会社デンソー データフロー生成装置、その方法、およびそのプログラム

Similar Documents

Publication Publication Date Title
US9152619B2 (en) System and method for constructing markup language templates and input data structure specifications
JP2009104229A (ja) 入力チェック装置および入力チェック方法
JP4948680B1 (ja) パラメータ設定装置およびパラメータ設定システム
JP4783235B2 (ja) Hmi開発支援装置、hmi開発支援方法およびプログラム
JPWO2020008991A1 (ja) 検証自動化装置、検証自動化方法、およびプログラム
CN109656595A (zh) 客户端程序更新的方法、装置及系统
JP5426938B2 (ja) 情報処理装置、情報処理方法
EP2607976A1 (en) Method and apparatus for computer aided design of human-machine interface animated graphical elements
JP2009134342A (ja) 機能仕様書自動生成装置
JP5606785B2 (ja) 作業情報管理システム、作業情報管理方法、及び、作業情報管理プログラム
JP4383409B2 (ja) 情報処理装置及びその制御方法、プログラム、並びに記録媒体
JP6552162B2 (ja) 情報処理装置、情報処理方法、およびプログラム
CN117529737A (zh) 信息处理系统和信息处理方法
JP5082971B2 (ja) 音声合成装置およびそれを用いた読み上げシステム。
CN105094845A (zh) 流程建模装置和方法
CN103810312A (zh) 用于人机接口动画图形元素的计算机辅助设计的方法及装置
JP4533853B2 (ja) 再生装置、データ取得システム、データ取得方法及びプログラム
JP5316273B2 (ja) プログラム自動生成装置およびプログラム自動生成方法
CN104583952B (zh) 定制信息处理系统中的设备初始设定的方法
JP2008003767A (ja) テスト仕様書作成支援システムおよび方法
JP2007034807A (ja) 情報処理装置及びプログラム
JP2008009966A (ja) 業務プロセス設定装置及び業務プロセス設定方法
JP2007034806A (ja) 情報処理装置及びプログラム
JP4152379B2 (ja) Web型学習システム、管理サーバ装置及びそれらに用いる学習カリキュラム最適化方法
JP5413990B2 (ja) マニュアル作成情報管理装置、方法及びプログラム