(57)【要約】【課題】ソフトウェアの機能要件仕様書に記載した内容に基づき、ソフトウェア構造を作成し、そのソフトウェア構造に対応したプログラムを作成することにより、ソフトウェア製品の品質の向上と開発効率の向上を図る。【解決手段】機能要件仕様書作成部では、予め定められた項目として少なくとも機能名、入力データ、出力データ、処理内容を含むデータを機能構成データとして記憶する。  プログラム生成部では、前記機能構成データを読込み、機能構成データに基づき機能ブロックと機能ブロック間の受け渡しデータとの関係を示すブロック図を自動生成する。【選択図】図１
2010198338.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアの機能要件仕様書作成からプログラムの生成までを行うソフトウェア開発支援装置において、
前記ソフトウェア開発支援装置は、
ソフトウェアの機能要件を予め定めたれ項目に従って記述する機能要件仕様書作成部と、
プログラムのコンパイル単位である機能ブロックと、機能ブロック間の受け渡しデータとの関係に基づき、プログラムを自動生成するプログラム生成部と、
前記記述内容を入力処理する入力処理部とを備え、
前記機能要件仕様書作成部は、前記記述項目として少なくとも機能名、入力データ、出力データ、処理内容を含むデータを機能構成データとして記憶する機能構成データ記憶部を備え、
前記プログラム生成部は、前記機能構成データ記憶部から前記機能構成データを読込む機能構成データ読込部と、読込んだ前記機能構成データに基づき機能ブロックと機能ブロック間の受け渡しデータとの関係を示すブロック図を作成するブロック図自動作成部とを備えることを特徴とするソフトウェア開発支援装置。
【請求項２】
前記プログラム作成部は、前記入力処理部により修正された機能構成データを前記機能構成データ記憶部に反映させる機能構成データ反映部を備えることを特徴とする請求項１記載のソフトウェア開発支援装置。
【請求項３】
ソフトウェアの機能要件仕様書作成からプログラムの生成までを行うソフトウェア開発支援方法において、
前記ソフトウェア開発支援方法は、
ソフトウェアの機能要件を予め定めたれ項目に従って記述する機能要件仕様書作成工程と、
プログラムのコンパイル単位である機能ブロックと、機能ブロック間の受け渡しデータとの関係に基づき、プログラムを自動生成するプログラム生成工程と、
前記記述内容を入力処理する入力処理工程とを備え、
前記機能要件仕様書作成工程は、前記記述項目として少なくとも機能名、入力データ、出力データ、処理内容を含むデータを機能構成データとして記憶する機能構成データ記憶工程を備え、
前記プログラム生成工程は、前記機能構成データ記憶工程により記憶された前記機能構成データを読込む機能構成データ読込工程と、読込んだ前記機能構成データに基づき機能ブロックと機能ブロック間の受け渡しデータとの関係を示すブロック図を作成するブロック図自動作成工程とを備えることを特徴とするソフトウェア開発支援方法。
【請求項４】
前記プログラム作成工程は、前記入力処理工程により修正された機能構成データを前記機能構成データ記憶工程により反映させる機能構成データ反映工程を備えることを特徴とする請求項３記載のソフトウェア開発支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組込み製品のソフトウェア開発支援装置及び方法に関し、特に、機能要件仕様書の作成、並びに機能要件仕様書に基づくソフトウェアの設計及び実装を支援するためのソフトウェア開発支援装置及び方法に関する。
【背景技術】
【０００２】
日本工業規格（ＪＩＳ）として、JIS X 160（規格名称：ソフトウェアライフサイクルプロセス）のように、ソフトウェアの構想から廃棄に至るまでのライフサイクルに従って、組込みソフトウェア製品の開発・管理を行うための標準規定がある。
また、従来のソフトウェア開発支援装置として、例えば、下記特許文献１記載のソフトウェア開発支援システムのように、ソフトウェアに関連する特徴情報に基づき非正常系に対応するためのソフトウェア仕様を生成する技術や、下記特許文献２記載の自動プログラミング装置のように、ソフトウェア要求仕様に基づきブロック図やプログラムを自動生成する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−８５６６８号公報
【特許文献２】特開平１−２９８４３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記JIS X 160に示されたソフトウェア開発では、実現すべき機能を要件仕様書として作成し、次に、その機能要件仕様書に記載の機能を実装するための方式やソフトウェア構造を検討し、その後、個別の機能について詳細設計を行い実装するという一連の作業があるが、これらの作業を人が手作業で行うと、作業時間が増加するだけでなく、作業ミスにより不具合の発生する可能性も高くなることが懸念される。
【０００５】
また、上記特許文献１では、開発対象ソフトウェアの異常事象や例外事象を折り込んだ仕様は生成できると思われるが、その後工程での構造設計やプログラムの実装に関する説明がなく、機能要件仕様書以外の品質向上策や開発効率の向上策に活用できないという課題があった。
また、上記特許文献２では、設計仕様に基づきブロック図やプログラムを順次生成することにより設計期間と実装時間の短縮や手作業による不具合の発生は低減できると思われるが、その前工程で作成する機能要件仕様書とブロック図との対応関係に関する説明がなく、生成されたプログラムが機能要件仕様書に記載の諸機能を満たしているか否かの検証ができないという課題があった。
【０００６】
本発明は、上記のような課題を解決するために提案されたもので、その目的は、ソフトウェア機能要件仕様書の記述内容に対応した機能ブロック図を生成し、その機能ブロック図に対応したプログラムを自動生成することにより、ソフトウェア製品の品質向上と開発効率の向上を図ることができるソフトウェア開発支援装置及び方法を提供することである。また、本発明の他の目的は、設計仕様の修正変更が容易なソフトウェア開発支援装置及び方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明は、上記の目的を達成するため、下記のような構成を採用した。
すなわち、本発明の一態様によれば、本発明のソフトウェア開発支援装置は、ソフトウェアの機能要件仕様書作成からプログラムの生成までを行うソフトウェア開発支援装置であって、ソフトウェアの機能要件を予め定められた項目に従って記述する機能要件仕様書作成部と、プログラムのコンパイル単位である機能ブロックと機能ブロック間の受け渡しデータとの関係に基づきプログラムを自動生成するプログラム生成部と、前記記述内容を入力処理する入力処理部とを備え、前記機能要件仕様書作成部は、前記記述項目として少なくとも機能名、入力データ、出力データ、処理内容を含むデータを機能構成データとして記憶する機能構成データ記憶部を備え、前記プログラム生成部は、前記機能構成データ記憶部から機能構成データを読込む機能構成データ読込部と前記読込んだ機能構成データに基づき機能ブロックと前記機能ブロック間の受け渡しデータとの関係を示すブロック図を作成するブロック図自動作成部とを備える。
【０００８】
また、好適には，本発明のソフトウェア開発支援装置は、前記プログラム作成部が、前記入力処理部により修正された機能構成データを前記機能構成データ記憶部に反映させる機能構成データ反映部を備える。
すなわち、本発明の一態様によれば、本発明のソフトウェア開発支援方法は、ソフトウェアの機能要件仕様書作成からプログラムの生成までを行うソフトウェア開発支援方法において、ソフトウェアの機能要件を予め定められた項目に従って記述する機能要件仕様書作成工程と、プログラムのコンパイル単位である機能ブロックと機能ブロック間の受け渡しデータとの関係に基づきプログラムを自動生成するプログラム生成工程と、前記記述内容を入力処理する入力処理工程とを備え、前記機能要件仕様書作成工程は、前記記述項目として少なくとも機能名、入力データ、出力データ、処理内容を含むデータを機能構成データとして記憶する機能構成データ記憶工程を備え、前記プログラム生成工程は、前記機能構成データ記憶工程により記憶された機能構成データを読込む機能構成データ読込工程と前記読込んだ機能構成データに基づき機能ブロックと前記機能ブロック間の受け渡しデータとの関係を示すブロック図を作成するブロック図自動作成工程とを備える。
【０００９】
また、好適には，本発明のソフトウェア開発支援方法は、前記プログラム作成工程が、前記入力処理工程により修正された機能構成データを前記機能構成データ記憶工程により反映させる機能構成データ反映工程を備える。
【発明の効果】
【００１０】
本発明によれば、機能要件仕様書に記述した機能構成データである、機能名、入力データ、出力データ、処理内容に対応した機能ブロック図が自動生成されるようになり、その機能ブロック図に対応したプログラムを自動生成することにより、ソフトウェアの構造に対応したプログラムを容易に作成することが可能となり、ソフトウェア製品の品質向上と開発効率の向上を図ることができる。
【００１１】
また、本発明によれば、機能ブロック図の作成画面から機能構成データを修正することにより機能要件仕様書の内容を修正できるため、設計仕様の修正変更が容易であると共に、機能要件仕様書の内容に対応したプログラムが確実に生成され、ソフトウェア製品の品質向上と開発効率の向上を図ることができるる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係るソフトウェア開発支援装置の構成を示すブロック図である。
【図２】本発明の実施形態に係る機能要件仕様書作成部の画面例である。
【図３】本発明の実施形態に係るプログラム作成部の画面例である。
【図４】本発明の実施形態に係る機能構成データ一覧の例である。
【図５】本発明の実施形態に係るソフトウェア開発支援装置の第１の実施例の動作を説明する作業フローチャートである。
【図６】本発明の実施形態に係るソフトウェア開発支援装置の第２の実施例の動作を説明する作業フローチャートである。
【図７】本発明の実施形態に係るプログラム作成部の画面例である。
【図８】本発明の実施形態に係る構成データ表示の画面例である。
【図９】本発明の実施形態に係る修正した機能ブロック図の画面例である。
【図１０】本発明の実施形態に係る構成データ修正の画面例である。
【図１１】本発明の実施形態に係る修正された機能構成データ一覧の画面例である。
【図１２】本発明の実施形態に係る修正された機能要件仕様書作成部の画面例である。
【発明を実施するための形態】
【００１３】
次に、本発明を実施するための形態について、図面に従い具体的に説明する。
図１は、本発明の実施形態に係るソフトウェア開発支援装置の構成を示すブロック図である。図１において本発明のソフトウェア開発支援装置4は、サーバ1を構成する各種コンピュータ資源を利用してサーバ1内に具現され、サーバ1は、ネットワーク2を介してユーザ端末3a〜3cに接続される。サーバ1とユーザ端末3a〜3cは当該技術分野で周知のクライアント／サーバシステムを構成する。そして、本発明のソフトウェア開発支援装置4は、以下に説明する機能要件仕様書作成部100と、プログラム生成部200と、前記ユーザ端末3a〜3cからの入力データを処理する入力処理部300とからなる。
【００１４】
また、機能要件仕様書作成部100は、機能要件仕様書の作成画面を表示する機能要件仕様書画面表示部101と、予め定められた機能構成データ項目として、機能名、入力データ、出力データ、処理内容を機能構成データとして管理する機能構成データ管理部102と、機能構成データを記憶している機能構成データ記憶部103とからなる。
また、プログラム生成部200は、プログラムのコンパイル単位である機能ブロックと機能ブロック単位の受け渡しデータとの関係を表示するプログラム作成画面表示部201と、機能ブロックとその受け渡しデータとを記憶するプログラム構成データ記憶部202と、機能ブロックから生成されるプログラムを記憶しているプログラム構成要素ライブラリ203と、機能ブロックとその受け渡しデータとからプログラムを生成するプログラム生成処理部204と、生成したプログラムを記憶する生成プログラム記憶部205と、前記機能構成データ記憶部103から機能構成データを読込む機能構成データ読込部206と、読込んだ機能構成データに基づき入力データの数及びデータ名、並びに出力データの数及びデータ名を反映した機能ブロックを自動配置するブロック図自動作成部207と、プログラム作成手段200により修正を行った機能構成データを前記機能構成データ記憶部103に格納する機能構成データ反映部208とからなる。
【００１５】
図２は、本発明の実施形態に係る機能要件仕様書作成部の画面例を示す図である。この図２に示す機能要件仕様書作成部の画面110は、機能要件仕様書のファイル操作や編集を行うための「ファイル」及び「項目管理」からなるプルダウンメニュー、並びに「機能構成データ一覧」からなるメニュー111と、機能構成データの管理番号を記述する管理番号112と、機能構成データの機能名を記述する機能名入力部113と、機能構成データの入力データ数を記述する入力データ数部114と、入力データ数部で記述された数だけ入力データのデータ名と説明とを記述する入力データ記述部115と、機能構成データの出力データ数を記述する出力データ数部116と、出力データ数部で記述された数だけ出力データのデータ名と説明とを記述する出力データ記述部117と、機能構成データの処理内容を記述する処理内容記述部118とからなる。
【００１６】
図３は、本発明の実施形態に係るプログラム生成部の画面例を示す図である。この図３に示すプログラム生成部の画面210は、プログラムのファイル操作や編集を行うための「ファイル」及び「ブロック図管理」からなるプルダウンメニュー、並びに「構成データ一覧」からなるメニュー211と、機能構成データ毎に作成されるブロック図画面212a，212bとからなる。
【００１７】
なお、機能構成データ毎に作成される機能ブロック図画面212a，212bは、機能構成データの管理番号の表示部213と、機能構成データの機能名の表示部214と、入力データの記述部215と、出力データの記述部216と、処理内容の記述部217と、構成データ全体を表示する「構成データ表示」メニュー218とからなる。
図４は、本発明の実施形態に係る機能構成データ一覧の例を示す図である。この図４に示す機能構成データ一覧は、図２に示す機能要件仕様書作成部の画面においてメニュー111の「機能構成データ一覧」を選択することにより表示され、また、図３に示すプログラム生成部の画面においてメニュー211の「機能構成データ一覧」を選択することにより表示される。
【００１８】
次に、本発明の実施形態に係るソフトウェア開発支援装置の動作について説明する。
（第１の実施例）
本発明の実施形態に係るソフトウェア開発支援装置において、新規のソフトウェア開発を行う場合の作業フローを図５に示す。この図５を用いて本発明の実施形態に係るソフトウェア開発支援装置の第１の実施例の動作について説明する。
【００１９】
図１に示すユーザ端末3a〜3cから、ネットワーク2を介し、サーバ1上にある、機能要件仕様書作成部100を起動する（Ｓ４０１）。図２の画面で、メニュー111から「ファイル」のプルダウンメニューで「新規作成」を選択し、機能構成データである「機能名」、「入力データ」、「出力データ」、「処理内容」を記述し（Ｓ４０２）、機能構成データ一覧を作成する（Ｓ４０３）。
【００２０】
次に、プログラム生成部200を起動し（Ｓ４０４）、図３の画面でメニュー211から「機能構成データ一覧」を選択し、表示された図４の画面で自動作成したい機能構成データの「管理番号」ボックスをチェックし、「ブロック図作成」を選択する。表示された図３の画面で、入力データの数及び入力データ名、並びに出力データの数及び出力データ名のブロックが自動配置されるので、処理内容に応じて処理の機能ブロックを接続する（Ｓ４０６）。機能ブロック図を作成し終えたら、図３の画面でメニュー211から「ファイル」のプルダウンメニューで「プログラム生成」を選択することにより、機能ブロックと機能ブロック間の受け渡しデータとの関係からプログラムが自動生成される（Ｓ４０７）。
（第２の実施例）
本発明の実施形態に係るソフトウェア開発支援装置において、機能構成データの修正を行う場合の作業フローを図６に示す。この図６を用いて本発明の実施形態に係るソフトウェア開発支援装置の第２の実施例の動作について説明する。なお、図６の作業フローは、既に図５の作業フロー処理が終了していることを前提にしている。
【００２１】
図１に示すユーザ端末3a〜3cから、ネットワーク２を介し、サーバ1上にある、プログラム生成部200を起動する。図３の画面で、メニュー211から「ファイル」のプルダウンメニューで「開く」を選択し、修正する機能ブロック図を指定すると、図７の画面が表示される（Ｓ５０１）。この図７の画面で「構成データ表示」メニュー218を選択すると図８の画面が表示される。この図８の画面で、前記図７の画面での「入力データ」として、入力データ２と処理内容の追加修正を行い、図９の画面のようにする（Ｓ５０２）。この図９の画面で「構成データ表示」メニュー218を選択すると、図１０の画面が表示され、「入力データ数」114が“１”から“２”に修正され、「入力データ２」の「データ名」が表示されるので、「説明」115と「処理内容」118とを記述し、「構成データ反映」を選択する（Ｓ５０３）。
【００２２】
次に、機能要件仕様書作成部100を起動し（Ｓ５０４）、図２の画面でメニュー111から「機能構成データ一覧」を選択すると、「管理番号」“101”の「入力データ」の数とデータ名と「処理内容」とが修正された図１１の画面が表示される（Ｓ５０５）。また、図１２のように機能要件仕様書作成部の画面においても構成データが修正されたことを確認できる（Ｓ５０６）。
【符号の説明】
【００２３】
１  サーバ
２  ネットワーク
３ａ〜３ｃ  ユーザ端末
４  ソフトウェア開発支援装置
１００  機能仕様書作成部
１０１  機能要件仕様書画面表示部
１０２  機能構成データ管理部
１０３  機能構成データ記憶部
１１０  機能要件仕様書作成部の画面例
１１１  機能要件仕様書作成部のメニュー
１１２  管理番号記述部
１１３  機能名記述部
１１４  入力データ数記述部
１１５  入力データ記述部
１１６  出力データ数記述部
１１７  出力データ記述部
１１８  処理内容記述部
２００  プログラム生成部
２０１  プログラム作成画面表示部
２０２  プログラム構成データ記憶部
２０３  プログラム構成要素ライブラリ
２０４  プログラム生成処理部
２０５  生成プログラム記憶部
２０６  機能構成データ読込部
２０７  ブロック図自動作成部
２０８  機能構成データ反映部
２１０  プログラム生成手段の画面例
２１１  プログラム生成部のメニュー
２１２ａ〜２１２ｂ  機能ブロック図の画面
２１３  管理番号の表示部
２１４  機能名の表示部
２１５  入力データの記述部
２１６  出力データの記述部
２１７  処理の記述部
２１８  構成データ表示メニュー
３００  入力処理部
【図１】
2010198338.tif 000003
【図２】
2010198338.tif 000004
【図３】
2010198338.tif 000005
【図４】
2010198338.tif 000006
【図５】
2010198338.tif 000007
【図６】
2010198338.tif 000008
【図７】
2010198338.tif 000009
【図８】
2010198338.tif 000010
【図９】
2010198338.tif 000011
【図１０】
2010198338.tif 000012
【図１１】
2010198338.tif 000013
【図１２】
2010198338.tif 000014