(57)【特許請求の範囲】
【請求項１】
ハードウエアに組み込まれるソフトウエアをコンピュータを用いて生成するソフトウエアの開発システムであって、
前記ハードウエアの各種動作のためのプログラムを処理モジュールとして各動作毎に備え、
前記ハードウエアの状態を設定するための状態設定手段と、
設定された状態において発生する要因を予め登録された要因の中から選択する要因選択手段と、
選択された要因発生時の動作を前記処理モジュールの中から選択するモジュール選択手段と、
選択された処理モジュールの動作に必要な動作パラメータを設定するパラメータ設定手段と、
開発対象のハードウエアと接続される外部装置と接続した状態で当該装置からの情報を取り込むことにより、前記要因の追加登録を行う追加登録手段と、を備えていることを特徴とするソフトウエアの開発システム。
【請求項２】
生成されたソフトウエアの内容を、各状態における要因発生時の処理内容表示を含む状態遷移図として可視的に出力する状態遷移出力手段を備えていることを特徴とする請求項１記載のソフトウエアの開発システム。
【請求項３】
要因発生時動作の設定変更箇所数に基づいて、変更作業時間又は変更費用の見積を表示する見積表示手段を備えていることを特徴とする請求項１又は２記載のソフトウエアの開発システム。
【請求項４】
生成されたソフトウエアの実行のため開発対象のハードウエアをエミュレートするエミュレート手段を備え、
開発対象のハードウエアと接続される外部装置と接続可能であって、接続された当該装置と通信可能とされていることを特徴とする請求項１〜３のいずれか一項に記載のソフトウエアの開発システム。
【請求項５】
生成されたソフトウエアを開発対象のハードウエアにダウンロードするダウンロード手段を備えていることを特徴とする請求項１〜４のいずれか一項に記載のソフトウエアの開発システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、特定のハードウエアに組み込まれるソフトウエアの開発システムに関するものである。
【０００２】
【従来の技術】
コンピュータソフトウエアの開発システムとしては、特開平５−１０８３３４号公報（以下、「従来技術」という）に記載の状態遷移表エディタが公知である。
この従来技術は、キーボードやマウスを用いて画面上の状態遷移表を編集して、編集された状態遷移表からソースプログラムを自動生成するものである。
【０００３】
【発明が解決しようとする課題】
上記従来技術は、特定のハードウエアに搭載されることを目的としたソフトウエアの設計ツールではない。
特定のハードウエア、例えばクレジットカード決済用端末等、のソフトウエアの場合、そのハードウエアの仕様（特に入出力仕様）が決定されると、そのハードウエアにおいて発生する要因やハードウエアの各種基本動作のための処理モジュールは予め決定できる。
【０００４】
このような場合にまで、上記従来技術の状態遷移表エディタを用いて一から状態遷移表を作成するのは無駄が多い。また、上記状態遷移エディタを用いると、ソフトウエア設計者は、状態遷移の概念を意識しながら、状態遷移表を編集する必要があり設計者への負担も大きい。
【０００５】
【課題を解決するための手段】
本発明は、特定のハードウエアに組み込まれるソフトウエアの設計の場合には、そのハードウエアにおいて発生する要因やハードウエアの各種動作のための処理モジュールは予め決めておくことができるという点に着目してなされたものであり、より簡単にソフトウエアを作成するシステムとするため、次の技術的手段を採用した。
【０００６】
すなわち、本発明の特徴は、ハードウエアに組み込まれるソフトウエアをコンピュータを用いて生成するソフトウエアの開発システムであって、前記ハードウエアの各種動作のためのプログラムを処理モジュールとして各動作毎に備え、前記ハードウエアの状態を設定するための状態設定手段と、設定された状態において発生する要因を予め登録された要因の中から選択する要因選択手段と、選択された要因発生時の動作を前記処理モジュールの中から選択するモジュール選択手段と、選択された処理モジュールの動作に必要な動作パラメータを設定するパラメータ設定手段と、開発対象のハードウエアと接続される外部装置と接続した状態で当該装置からの情報を取り込むことにより、前記要因の追加登録を行う追加登録手段と、を備えている点にある。
【０００７】
本システムによってソフトウエアを生成するには、まず、ハードウエアのある状態において発生する要因を予め登録された要因の中から選択し、選択された要因発生時の動作を予め登録された処理モジュールの中から選択することによって決定する。このとき、要因発生時の動作として選択される処理モジュールは必要であれば複数とすることができる。そして、選択された処理モジュールの動作パラメータを設定する。
【０００８】
また、同じ状態で他の要因が発生する場合には、再び要因を選択し、処理モジュールを選択すればよい。
さらに、他の状態における要因と処理モジュールを決定したい場合には、上記処理を繰り返せばよい。
以上のように、本システムでは、開発対象となるハードウエアの処理モジュールを備え、しかもそのハードウエアで発生する要因が予め登録されているので、
状態設定、要因選択、要因発生時の動作選択、動作のパラメータ設定を行うことでソフトウエアを簡単に生成することができる。
【０００９】
加えて、追加登録手段により、周辺装置等との間での通信・制御により発生する要因を自動的に登録することができる。
また、生成されたソフトウエアの内容を、各状態における要因発生時の処理内容表示を含む状態遷移図として可視的に出力する状態遷移出力手段を備えているのが好ましい。
【００１０】
この場合、生成されたソフトウエアの設計ドキュメントとしての状態遷移図を得ることができる。
また、ソフトウエアに対して追加・修正等の変更を加えて、状態における要因発生時の動作を設定変更した場合には、変更された動作と変更されていない動作とを区別して前記状態遷移図の表示するのが好ましい。この場合、変更箇所を容易に把握することができる。
【００１１】
また、要因発生時動作を設定変更箇所数に基づいて、変更作業時間又は変更費用の見積を表示する見積表示手段を備えているのが好ましい。
従来、ソフトウエア開発の作業時間や開発時間の見積は、経験に基づいた根拠しか顧客に提示することができなかったが、見積表示手段が変更箇所に基づいて見積を表示するので、具体的な根拠のある見積を示すことができる。
【００１２】
また、生成されたソフトウエアの実行のため開発対象のハードウエアをエミュレートするエミュレート手段を備え、開発対象のハードウエアと接続される外部装置と接続して当該装置と通信可能とされているのが好ましい。
この場合、本システムに周辺装置等を実際に接続して、生成されたソフトウエアをエミュレート手段によって実行することで、開発対象のハードウエアを用いることなく、ソフトウエアの開発依頼をした顧客にソフトウエアを実演することができる。一般に、顧客からの要望を誤解せずにソフトウエアを作成することは困難であるが、本システムでは、顧客に本システムによるエミュレーション実行結果を見せながら顧客の要望に応じてソフトウエアを現場で作成することができ、誤解のないソフトウエアの開発を行うことができる。
【００１３】
また、本システムには開発対象のハードウエアに実際に接続される外部装置を接続できるので、ハードウエアと同様の動作環境を実現できる。
さらに、生成されたソフトウエアを開発対象のハードウエアにダウンロードするダウンロード手段を備えていることで、実機での実演も現場で顧客に見せて確認することができる。
【００１４】
【発明の実施の形態】
本実施形態において、本ソフトウエア開発システムは、クレジットカード決済端末用のソフトウエア開発用が例示されており、本システムの機能は、コンピュータとそのコンピュータに格納されたコンピュータプログラムによって実現される。
【００１５】
コンピュータとしては、好ましくはパーソナルコンピュータが用いられ、キーボード又はマウス等の入力部、ディスプレイ等の出力表示部、ＣＰＵ等からなる処理部、メモリ・ハードディスク等からなる記憶部、プリンタ等の外部装置（周辺装置又は通信装置）と接続されるインターフェース等を有している。
図１〜図４は、本システムを用いたソフトウエア開発工程においてパーソナルコンピュータの前記出力表示部に表示される開発工程画面を示している。この開発工程画面には、ソフトウエア開発対象のハードウエアであるクレジットカード決済端末１、この端末１の電源２、端末１と通信回線を介して接続されるホストコンピュータ３、端末１に接続されるプリンタ４、そして端末１の内部タイマ５が図示表示されている。
【００１６】
実際の端末はＬＣＤ等のディスプレイとキーボードを備えており、図１の開発工程画面中の端末１には、これに対応してディスプレイ６とキーボード７が図示表示されている。
また、開発工程画面には、ハードウエアの状態の設定を行うための「編集状態」領域８や、状態切替を行うための「状態切替」領域９も表示されている。
【００１７】
なお、本システムは、VISUAL BASICを用いて作成されていおり、ＧＵＩ（グラフィカルユーザインターフェース）により、画面に表示された電源２，ホストコンピュータ３，プリンタ４，内部タイマ５，ディスプレイ６，キーボード７等のシンボル、編集状態８、状態切替９等の画面領域をマウス等で選択することで操作が可能となっている。
【００１８】
本システムを用いる場合の開発工程における段階の一つとして、状態設定フェーズがある。この状態設定フェーズでは、ハードウエアの「状態」の新規設定を行うことができる。状態の設定を行うには、編集状態８の領域を選択し、図２に示すように、状態設定画面１０を表示させる。この状態設定画面１０では、状態の名称と番号を入力する。図２では、状態の名称が「電源断」、状態の番号が「Ｐ００」とされている。入力の完了操作（「ＯＫ」をクリック等）を行うと、入力された名称（番号）で状態がシステムに登録される。
【００１９】
さらに、入力結果は、編集状態領域８の表示に反映され、図３のように、編集状態領域８の状態名が「電源断」、状態番号が「Ｐ００」と表示される。
すなわち、図３は、現在の画面が「電源断」というハードウエアの状態に対する編集画面になっていることを示している。
また、本システムによる開発工程の一つとして、表示設計フェーズがある。この表示設計フェーズは、ハードウエア１のある状態における出力表示（ディスプレイ表示、プリンタ印字フォーマット）を作成するためのものである。ディスプレイ６の表示を設定・変更する場合には、開発工程画面中のディスプレイ６のシンボルを選択し、図４のようなＬＣＤ表示情報登録画面１１を表示させる。このＬＣＤ表示情報画面１１においてディスプレイ６に表示すべき内容を入力・編集する。ここでは「あいうえお」と入力されている。画面１１で編集した内容は、画面中のディスプレイ６の表示に反映され、ディスプレイ６にも「あいうえお」と表示される。編集完了操作（「ＯＫ」をクリック等）がなされると、編集内容はシステムに登録される。
【００２０】
また、本システムによる開発工程の一つとして、動作入力フェーズがある。この動作入力フェーズは、ハードウエア１のある状態におけるハードウエアの動作（処理）を設定するためのものである。動作の設定は、ある状態において発生する要因を選択し、当該要因が発生したときの処理モジュールを選択することによって行われる。
【００２１】
ハードウエアで発生しうる要因は、予めシステムに登録されている。また、登録された要因は画面で選択可能なシンボルとして表示されている。前述の電源２，ホストコンピュータ３，プリンタ４，内部タイマ５，ディスプレイ６，キーボード７のシンボルは、すべて選択可能な要因である。
ここで、登録されている要因としては、電源ＯＮ、キーボードのキー押下、ホストコンピュータからの信号発生、プリンタからの信号発生、内部タイマによるタイムアップがある。キーボードの押下としては、数字キーの押下、ＦＥＥＤキーの押下、ＲＥＳＥＴキーの押下、ＳＥＴキーの押下、ＥＮＴＥＲキーの押下が要因として登録されている。ホストからの信号発生には、取引正常信号の受信、取引棄却信号の受信が要因として登録されている。プリンタからの信号発生には、印刷正常信号の受信、印刷異常信号が要因として登録されている（図９の状態遷移表参照）。
【００２２】
なお、ホストやキーボードからの信号発生のように、１つのシンボルに対して複数の要因が存在する場合には、シンボルが選択されるとそのシンボルに関連した複数の要因が選択可能に画面表示され、表示された要因の１つを選択することができる。
「電源断」状態において電源ＯＮという要因が発生した場合の処理を登録するには、図５のように、「電源断」状態を編集する開発工程画面において、電源ＯＮ２シンボルを選択する。すると、図６のように動作入力画面１２が表示される。
【００２３】
この動作入力画面１２では、選択された要因が「発生イベント」として表示される。ここでは、「発生イベント：電源ＯＮ」と表示されている。また、動作入力画面１２には、予め登録された処理モジュールの一覧表示部１２ａが設けられている。
この一覧表示部１２ａには、「状態遷移」、「バックライトＯＮ」、「バックライトＯＦＦ」、「ホストと接続」、等の動作名称で登録された処理モジュールが表示されている。各処理モジュールは、ハードウエア１の各種動作を実現するためのプログラムで構成されている。
【００２４】
一覧表示部１２ａの中から所望の処理モジュールを選択すると、選択されたモジュールは、動作内容表示部１２ｂに表示される。ここでは、「ホストと接続」「プリンタと接続」「バックライトＯＮ」「状態遷移」という処理モジュールが選択されている。このモジュール選択により、「電源断」状態で電源ＯＮがなされると、「ホストコンピュータとプリンタと接続され、ディスプレイのバックライトがＯＮし、その後、他の状態に遷移する」という処理が設定されたことになる。なお、処理は、選択順（動作内表示部１２ｂの表示順）に行われる。
【００２５】
処理モジュールを選択すると、必要なモジュールに対しては、動作パラメータ設定フェーズとして、選択された処理モジュールのパラメータ（詳細な動作内容のデータ）の設定を行う。
パラメータの設定は、動作内容表示部１２ｂ中の処理モジュールを選択してパラメータ設定画面を表示させ、その画面で行う。「状態遷移」モジュールに対して動作パラメータの設定を行う場合には、図６の動作内容表示部１２ｂ中の「状態遷移」を選択し、パラメータ設定画面として図７のような遷移先状態選択画面１３を表示させる。「状態遷移」モジュールの動作には、遷移先状態が決定される必要があるから、ここで設定すべきパラメータとしては遷移先の状態となる。
【００２６】
遷移先状態選択画面１３には、登録されている状態の一覧画面が表示される。図７では、７つの登録済み状態（「電源断」、「ＬＣＤ表示１」〜「ＬＣＤ表示６」）の一覧を示している。
遷移先状態の設定は、一覧の中から遷移先となる状態を選択することによって行われる。ここでは、遷移先として「ＬＣＤ表示１（Ｐ０１）」が選択される。
【００２７】
なお、遷移先の状態を新たに登録する場合には、状態新規作成ボックス１３ａをクリックして、図２のような状態設定フェーズにより状態を新規作成すればよい。
選択された遷移先状態は登録され、動作パラメータフェーズは終了し、動作入力フェーズ（図６）に戻る。他のモジュールに対してもパラメータの設定が必要であれば、動作パラメータ設定フェーズを繰り返す。
【００２８】
さらに、「電源断」状態における「電源ＯＮ」要因発生時の動作入力フェーズが終了した後に、必要であれば、図５の画面から他の要因発生時の動作入力フェーズ及び動作パラメータ設定フェーズを行う。ここでは、「電源断」状態において他の要因発生は無いので、「電源断」状態における編集は完了である。
図５の「電源断」状態編集中の開発工程画面から、他の状態編集の開発工程画面に切り替えるための編集状態切替フェーズは、状態切替領域９を選択することによって行われる。状態切替領域９を選択すると、図８のように編集状態一覧画面１４が表示される。
【００２９】
編集状態一覧画面１４では、登録されている状態の一覧画面が表示される。図８では、７つの登録済み状態（「電源断」、「ＬＣＤ表示１」〜「ＬＣＤ表示６」）の一覧を示している。
次に編集する状態の選択は、一覧の中から状態を選択することによって行われる。なお、編集対象の状態を新たに登録する場合には、状態新規作成ボックス１４ａをクリックして、図２のような状態設定フェーズにより状態を新規作成すればよい。
【００３０】
切り替えられた他の状態においても、状態設定フェーズ、表示設計フェーズ、動作入力フェーズ、動作パラメータ設定フェーズを必要に応じて行い、すべての状態における表示、動作の入力が完了すると、ソフトウエアの設計が完了する。
本システムでは、開発工程で登録された内容に従って、図９に示すような状態遷移表をパーソナルコンピュータの前記出力表示部に表示することができる。図９の状態遷移表は、各「要因」を行の項目とし、登録された各「状態」を列の項目としたものであり、ある状態におけるある要因発生時の処理内容及び状態遷移先が遷移表の内容をなしている。例えば、「電源断」状態に対する「電源ＯＮ」要因発生時の処理は、「ホストと接続」「プリンタと接続」「バックライトＯＮ」であり、遷移先状態はＰ０１（ＬＣＤ表示１）である。
【００３１】
このように、本システムによれば、状態遷移表を意識することなくソフトウエアを開発できる上に、さらに設計ドキュメントとして、状態遷移表を得ることもできるのである。なお、図９の状態遷移表において「×」のところは、処理が未設定である。
また、開発工程において設定変更を行った場合には、図１０のように状態遷移表中の設定変更箇所が強調表示（ハイライト表示）されて、変更箇所が容易に認識できるようになっている。
【００３２】
例えば、「ＬＣＤ表示１（Ｐ０１）」状態において「ＥＮＴＥＲキー押下」という要因が発生した場合、図９では「ブザーＯＮ」処理のみを行っているが、図１０では、「タイマ起動」処理が追加されているので、当該箇所が強調表示されている。
また、図９では、「ＬＣＤ表示２」状態における「タイムアップ」要因発生時の処理は設定されていないが、図１０では、「ブザーＯＮ」処理が追加されている。
【００３３】
さらに、図１０では、「ＬＣＤ表示２’」、「ＬＣＤ表示４’」自体も強調表示されているが、これは、当該状態における出力表示（表示設計フェーズでの設定内容）も変更されていることを示している。
さらにまた、図１０では、「ＬＣＤ表示７」状態が追加され、これも強調表示されている。
【００３４】
このように図１０の状態遷移表では、図９に対して、画面変更（出力表示変更）が２箇所、新規画面が１箇所、動作変更箇所が２箇所、動作新規追加が７箇所あり、これら変更箇所がすべて強調表示されている。
また、設定変更が行われた場合には、図１０に示すように、工数見積画面１５が表示される。この工数見積画面１５では、各変更・追加の数、各変更・追加箇所毎の単位作業時間、各変更・追加箇所毎の単価に基づいて、変更作業に要する変更作業時間（工数）、変更作業に要する変更費用が算出され表示される。すなわち、作業時間（工数）は、（各変更・追加の数）×（単位作業時間）により算出される。また、費用は、（各変更・追加の数）×（単価）により算出される。
【００３５】
また、本システムは、開発対象のハードウエア（クレジットカード決済端末）の動作をエミュレートするエミュレート機能を有し、設計されたソフトウエアをそのまま本システムで実行できるようになっている。また、本システムには、クレジットカード決済端末に実際に接続される周辺装置や通信装置を接続するためのハードウエアインターフェースを備えており、本システムに接続された周辺装置等に対し制御・通信を行うことができる。
【００３６】
図１１は、パーソナルコンピュータからなる本システム１００に、ホストコンピュータ１３０と、プリンタ１４０が接続された状態を示している。なお、ホストコンピュータとは、モデム等の通信装置（図示せず）を介して接続されている。この接続により、本システムは、実際のクレジットカード決済端末と同様の動作環境で動作することができる。そして、本システムの画面上のキーボード７等を操作してクレジットカード決済端末を仮想的に実行・操作することにより、周辺装置との通信等を含め開発したソフトウエアのテストを容易に行うことができる。
【００３７】
また、本システム１００は、開発したソフトウエア（プログラム）をクレジットカード決済端末にダウンロードすることができる。図１２に示すように、クレジット決済端末２００と本システム１００とをケーブル等で接続し、開発したプログラムを本システムから端末２００にダウンロードすることができる。このダウンロードにより、端末２００のソフトウエアの更新が容易になる。
【００３８】
本システムにおいて開発工程で選択される要因は、予め登録されたものが使用されるが、外部の装置（周辺装置、通信装置）に起因して発生する要因は、別途登録することが可能である。
要因の登録は、図１３〜図１７に示すように行われる。すなわち、所定の操作を行って、図１３に示すようなイベント登録画面１６を表示させる。そして、イベント登録画面１６中の「イベント取込」ボタン１６ａを選択（クリック）すると、図１４のようにイベント入力受付画面１７が表示され、イベント（要因）の入力を促す。
【００３９】
図１５に示すように、イベントの入力には、外部装置であるホストコンピュータ１３０又はプリンタ１４０を本システム１００に接続しておき、外部装置１３０，１４０から本システム１００にイベント信号を与える。ここでは、ホストコンピュータ１３０からイベント信号としてのホスト送信データ１３１が与えられている。なお、このデータ１３１は、取引正常を表す信号であり、取引コードと取引内容のデータを含んでいる。
【００４０】
本システム１００がデータ１３１を受け取ると、イベント送信元がホストコンピュータ１３０である旨が登録され、そのデータ１３１の内容も登録される。また、これらの登録内容は、イベント登録画面１６にも反映し、図１６に示すように、画面１６中の「イベント送信元」欄はホストがチェックされ、画面１６中の「イベントデータ」ボックスには取り込んだデータ１３１の内容「01 02 03 04 05 06 07」が表示される。
【００４１】
さらに、図１７に示すように、画面１６中の「イベント名称」ボックスに当該イベントの名称として「取引正常」を入力し、イベント登録完了操作（「ＯＫ」をクリック等）をすると、「取引正常」要因が本システムに登録される。登録された要因は開発工程において選択できる要因の一つとなる。
なお、本発明は、上記実施形態に限定されるものではない。特に、開発対象となるハードウエアはクレジットカード決済端末に限られるものではない。
【００４２】
【発明の効果】
本システムでは、開発対象となるハードウエア用の処理モジュールを備え、しかもそのハードウエアで発生する要因が予め登録されているので、要因選択、要因発生時の動作選択、動作のパラメータ設定を行うことでソフトウエアを簡単に生成することができる。
【図面の簡単な説明】
【図１】  本発明に係る開発システムによる開発工程の画面である。
【図２】  状態設定フェーズでの画面状態である。
【図３】  状態設定フェーズ完了後の画面状態である。
【図４】  表示設計フェーズでの画面状態である。
【図５】  表示設計フェーズ完了後の画面状態である。
【図６】  動作入力フェーズでの画面状態である。
【図７】  動作パラメータ設定フェーズでの画面状態である。
【図８】  編集状態切替フェーズでの画面状態である。
【図９】  生成されたプログラムの設計ドキュメントとしての状態遷移表である。
【図１０】  工程見積画面を含む設定変更後の状態遷移表の表示画面である。
【図１１】  本システムによる生成されたプログラムの実行状態を示す図である。
【図１２】  本システムからカード決済端末へのプログラムダウンロード状態を示す図である。
【図１３】  イベント登録画面を含む画面である。
【図１４】  イベント入力受付画面を含む画面である。
【図１５】  ホストコンピュータからのイベント入力状態を示す図である。
【図１６】  イベントデータの取り込まれたイベント登録画面を含む画面である。
【図１７】  イベント名称が入力されたイベント登録画面を含む画面である。
【符号の説明】
１００  開発システム
１３０  ホストコンピュータ
１４０  プリンタ
【図１】
0004438175.tif 000002
【図２】
0004438175.tif 000003
【図３】
0004438175.tif 000004
【図４】
0004438175.tif 000005
【図５】
0004438175.tif 000006
【図６】
0004438175.tif 000007
【図７】
0004438175.tif 000008
【図８】
0004438175.tif 000009
【図９】
0004438175.tif 000010
【図１０】
0004438175.tif 000011
【図１１】
0004438175.tif 000012
【図１２】
0004438175.tif 000013
【図１３】
0004438175.tif 000014
【図１４】
0004438175.tif 000015
【図１５】
0004438175.tif 000016
【図１６】
0004438175.tif 000017
【図１７】
0004438175.tif 000018