(57)【特許請求の範囲】
【請求項１】
アプリケーションソフトウェアの実行画面に表示させる予め用意されたパーツを選択可能に表示するパーツ選択処理と、
選択された前記パーツを所定の画面に配置可能にするパーツ配置処理と、
前記パーツの属性を示す属性情報を選択可能に表示する属性情報選択処理と、
選択された前記属性情報に応じて前記属性情報の設定項目を設定可能に表示する設定項目選択処理と、
前記設定項目が設定された前記属性情報を登録する属性情報登録処理と、
配置された前記パーツと登録された前記属性情報とを対応付けて、前記実行画面の表示データを生成する表示データ生成処理と、
選択された前記属性情報と設定された前記設定項目とに基づき、前記属性情報の説明を自然言語で表した説明文章を生成する説明文章生成処理と
をコンピュータに実行させる、ソフトウェア開発プログラム。
【請求項２】
生成した前記説明文章を表示する説明文章表示処理を、コンピュータにさらに実行させる、請求項１に記載のソフトウェア開発プログラム。
【請求項３】
前記属性情報登録処理において、生成した前記説明文章を前記属性情報と対応付けて登録する、請求項１又は２に記載のソフトウェア開発プログラム。
【請求項４】
データベースにデータを登録するデータベース登録処理を、コンピュータにさらに実行させて、
前記設定項目選択処理において、登録された前記データを前記設定項目の設定として選択可能に表示する、請求項１から３のいずれか１項に記載のソフトウェア開発プログラム。
【請求項５】
他のコンピュータとの通信を設定する通信設定処理と、
生成された前記表示データを通信が設定された前記他のコンピュータに送信する送信処理と
をコンピュータにさらに実行させる、請求項１から４のいずれか１項に記載のソフトウェア開発プログラム。
【請求項６】
アプリケーションソフトウェアの実行画面に表示させる予め用意されたパーツを選択可能に表示するパーツ選択ステップと、
選択された前記パーツを所定の画面に配置可能にするパーツ配置ステップと、
前記パーツの属性を示す属性情報を選択可能に表示する属性情報選択ステップと、
選択された前記属性情報に応じて前記属性情報の設定項目を設定可能に表示する設定項目選択ステップと、
前記設定項目が設定された前記属性情報を登録する属性情報登録ステップと、
配置された前記パーツと登録された前記属性情報とを対応付けて、前記実行画面の表示データを生成する表示データ生成ステップと、
選択された前記属性情報と設定された前記設定項目とに基づき、前記属性情報の説明を自然言語で表した説明文章を生成する説明文章生成ステップと
を含むソフトウェア開発方法。
【請求項７】
生成した前記説明文章を表示する説明文章表示ステップをさらに含む、請求項６に記載のソフトウェア開発方法。
【請求項８】
前記属性情報登録ステップにおいて、生成した前記説明文章を前記属性情報と対応付けて登録する、請求項６又は７に記載のソフトウェア開発方法。
【請求項９】
データベースにデータを登録するデータベース登録ステップをさらに含み、
前記設定項目選択ステップにおいて、登録された前記データを前記設定項目の設定として選択可能に表示する、請求項６から８のいずれか１項に記載のソフトウェア開発方法。
【請求項１０】
他のコンピュータとの通信を設定する通信設定ステップと、
生成された前記表示データを通信が設定された前記他のコンピュータに送信する送信ステップと
をさらに含む、請求項６から９のいずれか１項に記載のソフトウェア開発方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発プログラム及びソフトウェア開発方法に関する。
【背景技術】
【０００２】
グラフィカルユーザインタフェース（ＧＵＩ）を持つソフトウェアの開発では、操作ボタン、画像、テキスト、表、グラフ等のオブジェクトを表示画面に配置して、オブジェクト毎に利用可能なコマンド、イベント、マクロ等の機能を割り当てるＧＵＩの設計を行う必要がある。コマンド等の機能は、例えばＯＳ（Operating System）等の動作環境によって異なる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−１５２９６６号公報
【特許文献２】特開２００２−３６６３５２号公報
【特許文献３】特開２０１３−０９７７４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、アプリケーションソフトウェア（以下、「アプリ」と省略する。）のＧＵＩの設計をするにあたっては、ＧＵＩの設計に必要なコマンド等を熟知した高度なスキルが要求される。特に、複数の動作環境（マルチプラットフォーム）で動作させるソフトウェアにおいては、動作環境毎にコマンド等の機能が異なるために、それぞれの動作環境におけるスキルが要求されることになる。
例えば、アプリの実行画面に表示させるパーツ（ソフトウェア部品）を選択して表示画面に配置するソフトウェア開発プログラムにおいては、画面に配置したパーツの機能を設定するには、それぞれのパーツに対するコマンドの記述が必要であり、そのコマンドで使用する引数の記述等においてスキルが必要であった。
【０００５】
本発明は、上記の課題に基づいてなされたものであり、アプリのＧＵＩの設計を容易にする、ソフトウェア開発プログラム及びソフトウェア開発方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するため、本発明のソフトウェア開発プログラムは、アプリケーションソフトウェアの実行画面に表示させる予め用意されたパーツを選択可能に表示するパーツ選択処理と、選択された前記パーツを所定の画面に配置可能にするパーツ配置処理と、前記パーツの属性を示す属性情報を選択可能に表示する属性情報選択処理と、選択された前記属性情報に応じて前記属性情報の設定項目を設定可能に表示する設定項目選択処理と、前記設定項目が設定された前記属性情報を登録する属性情報登録処理と、配置された前記パーツと登録された前記属性情報とを対応付けて、前記実行画面の表示データを生成する表示データ生成処理とをコンピュータに実行させる。
【０００７】
また、本発明のソフトウェア開発プログラムは、選択された前記属性情報と設定された前記設定項目とに基づき、前記属性情報の説明を自然言語で表した説明文章を生成する説明文章生成処理を、コンピュータにさらに実行させる。
【０００８】
また、本発明のソフトウェア開発プログラムは、生成した前記説明文章を表示する説明文章表示処理を、コンピュータにさらに実行させる。
【０００９】
また、本発明のソフトウェア開発プログラムは、前記属性情報登録処理において、生成した前記説明文章を前記属性情報と対応付けて登録する。
【００１０】
また、本発明のソフトウェア開発プログラムは、データベースにデータを登録するデータベース登録処理を、コンピュータにさらに実行させて、前記設定項目選択処理において、登録された前記データを前記設定項目の設定として選択可能に表示する。
【００１１】
また、本発明のソフトウェア開発プログラムは、他のコンピュータとの通信を設定する通信設定処理と、生成された前記表示データを通信が設定された前記他のコンピュータに送信する送信処理とをコンピュータにさらに実行させる。
【００１２】
上記の課題を解決するため、本発明のソフトウェア開発方法は、アプリケーションソフトウェアの実行画面に表示させる予め用意されたパーツを選択可能に表示するパーツ選択ステップと、選択された前記パーツを所定の画面に配置可能にするパーツ配置ステップと、前記パーツの属性を示す属性情報を選択可能に表示する属性情報選択ステップと、選択された前記属性情報に応じて前記属性情報の設定項目を設定可能に表示する設定項目選択ステップと、前記設定項目が設定された前記属性情報を登録する属性情報登録ステップと、配置された前記パーツと登録された前記属性情報とを対応付けて、前記実行画面の表示データを生成する表示データ生成ステップとを含む。
【発明の効果】
【００１３】
本発明によれば、アプリのＧＵＩの設計を容易にすることができる。
【図面の簡単な説明】
【００１４】
【図１】実施形態におけるソフトウェア開発プログラムが動作するシステムのハードウェア構成を示したブロック図である。
【図２】実施形態における第１の機器で動作するソフトウェア開発プログラムの構成を示したブロック図である。
【図３】実施形態における第２の機器で動作するソフトウェア開発プログラムの構成を示したブロック図である。
【図４】本実施形態におけるソフトウェア開発プログラムの第１の機器における動作を示したフローチャートである。
【図５】本実施形態におけるソフトウェア開発プログラムの第２の機器における動作を示したフローチャートである。
【図６】本実施形態におけるソフトウェア開発プログラムのＧＵＩ設計画面を示した図である。
【図７】本実施形態におけるソフトウェア開発プログラムによる第２の機器におけるアプリの実行画面を示した図である。
【図８】本実施形態におけるソフトウェア開発プログラムによる第１の機器における画面作成の詳細を示した図である。
【図９】本実施形態におけるソフトウェア開発プログラムによる第１の機器における処理設計の詳細を示した図である。
【図１０】本実施形態におけるソフトウェア開発プログラムによる第１の機器における処理設計の詳細を示した図である。
【図１１】本実施形態におけるソフトウェア開発プログラムによる第１の機器における処理設計の詳細を示した図である。
【図１２】本実施形態におけるソフトウェア開発プログラムによる画面遷移図の表示を示した図である。
【図１３】本実施形態におけるソフトウェア開発プログラムによる画面設計書の表示を示した図である。
【図１４】本実施形態におけるソフトウェア開発プログラムによるＤＢ設計書の表示を示した図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態におけるソフトウェア開発プログラム及びソフトウェア開発方法について、図面を参照して説明する。
【００１６】
先ず、図１を用いて、ソフトウェア開発プログラムが動作するシステムの構成を説明する。図１は、実施形態におけるソフトウェア開発プログラムが動作するシステムのハードウェア構成の一例を示したブロック図である。
【００１７】
図１において、ソフトウェア開発プログラムが動作するシステム（以下、「動作システム」と省略する。）は、第１の機器１及び第２の機器２を含む。第１の機器１及び第２の機器２は、ネットワーク９を介して接続される。ネットワーク９は、有線又は無線を問わず、第１の機器１と第２の機器２が通信可能に接続されるものであればよい。ネットワーク９には、アクセスポイント、ルータ、モデム等の機器を含んでいてもよい。第１の機器１と第２の機器２の通信は、例えば、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）を用いて行われる。
【００１８】
第１の機器１は、制御部１１、記憶部１２、操作入力部１３、表示部１４、媒体入出力部１５、及び通信部１６を有する。
【００１９】
制御部１１は、第１の機器１において、記憶部１２、操作入力部１３、表示部１４、媒体入出力部１５、及び通信部１６を制御する。制御部１１は、例えば、ＣＰＵ（Central Processing Unit）である。
【００２０】
記憶部１２は、制御部１１によって実行されるプログラム及びデータを読出し可能に記憶する。記憶部１２は、例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、又はハードディスクドライブである。後述するソフトウェア開発プログラムは、記憶部１２に記憶されて、制御部１１によって実行される。
【００２１】
操作入力部１３は、操作者の操作入力によって第１の機器１にデータの入力を行う入力デバイスである。操作入力部１３は、例えば、マウス、キーボード、バーコードリーダ、カメラ等である。
【００２２】
表示部１４は、制御部１１から出力される表示データを表示画面に表示する表示デバイスである。表示部１４は、例えば、液晶ディスプレイである。表示部１４は、所定の解像度（画素数）、アスペクト比、最大表示色等の仕様が決められている。なお、図１では、操作入力部１３と表示部１４を別の構成として説明したが、例えば、タッチパネル等、操作入力と表示を行うものであってもよい。
【００２３】
媒体入出力部１５は、記録媒体に記録されたデータの読出し、又は記録媒体へのデータの記録を行うデバイスである。媒体入出力部１５は、例えば、光ディスクドライブ、シリアルバスインターフェイス、メモリカードリーダ／ライタ等である。なお、後述するソフトウェア開発プログラムは記録媒体に記録することができ、記録媒体に記録されたソフトウェア開発プログラムは、媒体入出力部１５によって読み出され、制御部１１によって実行することができる。
【００２４】
通信部１６は、ネットワーク９を介して通信を行うための通信デバイスである。通信部１６は、例えば、ネットワークインターフェイスコントローラや無線通信インターフェイスである。第１の機器１は、通信部１６を介して、第２の機器２、又はサービスサーバ３と通信する。
【００２５】
第２の機器２は、第１の機器１と同様に、制御部２１、記憶部２２、操作入力部２３、表示部２４、媒体入出力部２５、及び通信部２６を有する。第２の機器２のこれらの構成は、第１の機器１の、制御部１１、記憶部１２、操作入力部１３、表示部１４、媒体入出力部１５、及び通信部１６の構成と同様であるので説明を省略する。
【００２６】
第２の機器２は、第１の機器と動作環境の異なる機器である。例えば、第１の機器１がデスクトップＰＣであったとすると、第２の機器２は、ノートＰＣ、タブレットＰＣ、スマートフォン、スマートウォッチ等である。動作環境とは、例えば、ＯＳの仕様、表示部の仕様、操作入力部の仕様等である。ＯＳが異なれば、ＯＳ上で動作するアプリにおいて使用できるコマンド等が異なる。また、表示部の仕様が異なれば、表示で表示できる表示画面の解像度等が異なる。操作入力部の仕様が異なれば、表示画面に対するスクロール、拡大縮小、スライダー操作等の操作方法が異なる。従って、異なる機器で動作させるアプリを開発する際には、それぞれの動作環境に応じた表示データの生成等が必要となる。
【００２７】
図１の動作システムにおいては、第１の機器１と第２の機器２が１台ずつの場合を図示したが、動作システムにおいて、動作環境が第１の機器と異なる複数の第２の機器を含むものであってもよい。例えば、操作システムは、第１の機器として動作環境ＡのデスクトップＰＣ１台を含み、第２の機器として、動作環境ＢのタブレットＰＣが１台、動作環境ＣのタブレットＰＣが２台、動作環境Ｄのスマートフォンが３台、動作環境Ｅのスマートフォンが４台含むものであってもよい（動作環境のＡ〜Ｅの符号は異なる動作環境であることを示す符号であり、特定の動作環境を示すものではない）。
【００２８】
サービスサーバ３は、後述するソフトウェア開発プログラムを提供するサーバである。サービスサーバ３は、例えばインターネットに接続されたＷｅｂサービスサーバである。本実施形態では、第１の機器においてソフトウェア開発プログラムを動作させる場合を説明するが、第１の機器において動作させるソフトウェア開発プログラムの一部又は全部をサービスサーバ３で動作させてソフトウェアを開発するようにしてもよい。すなわち、本実施形態において説明するソフトウェア開発方法は、プログラムが動作する機器を限定するものではない。
【００２９】
次に、図２を用いて、第１の機器で動作するソフトウェア開発プログラムの構成を説明する。図２は、実施形態における第１の機器で動作するソフトウェア開発プログラムの構成を示したブロック図である。図２に示すソフトウェア開発プログラムは、図１で説明した制御部１１によって実行される。
【００３０】
なお、図２及び図３で説明するソフトウェア開発プログラムの構成は、それぞれの機能を便宜的に１つの機能ブロックで表現したものであり、ソフトウェア開発プログラムのファイル構成やコンパイルの単位を限定するものではない。また、それぞれの機能を有する限り、複数の機能を１つの機能ブロックとして表現したり、１つの機能を複数の機能ブロックとして表現したりしてもよい。
【００３１】
図２において、第１の機器１０で動作するソフトウェア開発プログラムは、プログラム部１００、パーツ１２０、第１の機器用ライブラリ１３０、及びデータベース１４０を含む。プログラム部１００は、パーツ選択部１０１、パーツ配置部１０２、属性情報選択部１０３、設定項目選択部１０４、説明文章生成部１０４１、属性情報登録部１０５、表示データ生成部１０６、表示画面生成部１０７、データベース登録部１０８、設計書生成部１０９、遷移図生成部１１０、通信設定部１１１、及び送信部１１２を含む。パーツ１２０は、ボタン１２１、ラベル１２２、表１２３、テキスト１２４、チェックボックス１２５、ラジオボタン１２６、スライダー１２７、コンボボックス１２８、及びカレンダー１２９を含む。
【００３２】
パーツ選択部１０１は、アプリの実行画面に表示させる予め用意されたパーツを、図１の表示部１４に、第１の機器の操作者が選択可能に表示する。操作者は、表示されたパーツの中から１のパーツを選択する。アプリの実行画面に表示させるパーツとは、パーツ１２０に含まれる、ボタン１２１、ラベル１２２、表１２３、テキスト１２４、チェックボックス１２５、ラジオボタン１２６、スライダー１２７、コンボボックス１２８、及びカレンダー１２９を選択可能に表示した、例えばアイコンボタンである。操作者は、表示されたパーツのアイコンボタンをマウスでクリックする等により選択することによりアプリの実行画面に表示させるパーツを選択することができる。
【００３３】
パーツ配置部１０２は、パーツ選択部１０１によって選択可能に表示されたパーツが選択されたときに、選択されたパーツのアプリの実行画面における配置を設定可能にする。パーツ配置部１０２は、表示部１４にパーツを配置可能な配置画面を表示する。操作者は、配置画面の所望の位置にパーツを配置する。操作者は配置画面を確認しながらパーツを配置する位置、パーツの大きさ等の形状、パーツの色等の配置情報を決定することができる。パーツ配置部１０２は、配置されたパーツの配置情報を図示しない設定ファイルに保存して登録する。
【００３４】
属性情報選択部１０３は、パーツ毎に割り当てられる、パーツの属性を示す属性情報を、表示部１４に選択可能に表示する。属性情報とは、選択されたパーツの処理内容を設定する情報である。属性情報は、例えば、関数処理、パーツの表示状態を制御するコントロール情報の入力処理、実行画面の遷移の設定、ダイアログの表示処理、メッセージの表示、データベース操作、ネットワークを用いた通信処理、ファイル操作、デバイス操作、プッシュ通知の設定等の処理内容を設定する情報である。従来のＧＵＩの設計においては、これら属性情報の設定は、コマンド等を熟知したプログラミングのスキルを持つ者が行う必要があった。属性情報選択部１０３は、操作者が以前使用した属性情報の中から属性情報を選択できるようにしてもよい。属性情報選択部１０３は、属性情報を、例えば、一覧形式、プルダウン形式等で選択可能に表示する。操作者は表示された属性情報を１又は複数選択することができる。例えば、一つのパーツに対して複数の動作や処理を割り当てる場合、操作者は表示された属性情報を複数選択することにより、パーツに対して複数の動作等を割り当てることができる。属性情報選択部１０３は、属性情報を選択可能に表示することにより、コマンド等を熟知していない操作者においてもＧＵＩの設計を容易にすることを可能にする。なお、表示部１４に表示された属性情報の設定の例は図９等を用いて後述する。
【００３５】
設定項目選択部１０４は、属性情報選択部で選択された属性情報に応じた属性情報の設定項目を表示して、設定項目の設定値を選択可能に表示する。属性情報は、上述の通り、例えば、関数処理、パーツの表示状態を制御するコントロール情報の入力処理、実行画面の遷移の設定、ダイアログの表示処理、メッセージの表示、データベース操作、ネットワークを用いた通信処理、ファイル操作、デバイス操作、プッシュ通知の設定等、様々な処理内容を設定する情報である。従って、それぞれの属性情報は、属性情報毎に設定する設定項目が異なる。設定項目選択部１０４は、一の属性情報が選択されたときに、選択された属性情報の設定に必要な設定項目を表示することにより、ＧＵＩの設計におけるパーツの処理設計を容易にすることができる。設定項目選択部１０４は、設定項目の設定値を、例えばプルダウン形式で選択可能に表示する。設定値の入力はキーボード等によって行われてもよい。なお、表示部１４に表示された選択項目の設定の例についても図９等を用いて後述する。
【００３６】
説明文章生成部１０４１は、選択された属性情報と選択されて設定値が入力された設定項目とに基づき、属性情報の説明を自然言語で表した説明文章を生成する。属性情報の選択と設定項目の入力によって、パーツの処理内容（処理設計）が決定される。設定項目選択部１０４は、例えば、その処理内容における処理対象と処理内容を自然言語で表す。本実施形態における自然言語とは人が日常的に使用する言語であって、プログラムのスキルを有する者が理解できるプログラム言語と対比されるものである。例えば、プログラム言語においては、オペレータとオペランドによって動作を表すことができるが、自然言語の説明文章では、「カメラを起動して、撮影結果を取得する。」、「「Equipment」画面の「lblPict」の内容に［＃１］の結果をセットする。」等の自然言語によって処理内容を説明することができる。説明文章生成部１０４１は、設定項目に設定される設定値が変更されるとその変更に応じた説明文章を生成する。
【００３７】
本実施形態では、日本語による説明文章を生成する場合を例示するが、言語を日本語以外の他の言語切り換えて説明文章を生成するようにしてもよい。説明文章生成部１０４１は、生成した説明文章を、表示部１４に表示する。
【００３８】
属性情報登録部１０５は、属性項目が設定された属性情報を登録する。属性情報には生成された説明文章が対応付けられて登録される。属性情報登録部１０５は、属性情報を、例えば図示しない設定ファイルに保存して登録する。属性情報登録部１０５は、操作者の明示的な操作によって属性情報を登録する。
【００３９】
表示データ生成部１０６は、配置が設定されたパーツと登録された属性情報とを対応付けたアプリの実行画面の表示データを生成する。表示データ生成部１０６は、実行画面を操作したときの操作結果を表示データとすることができる。例えば、実行画面が遷移した場合、遷移した実行画面を表示する表示データを生成する。表示データ生成部１０６は、実行画面に変化が生じたときに変化の差分を表示データとして生成するようにしてもよい。
【００４０】
表示データ生成部１０６が対応付ける、パーツ配置部１０２によるパーツの配置の設定と、属性情報登録部１０５による属性情報の登録とは非同期に行うことができる。例えば、設定項目が選択された属性情報を予め登録しておき、配置された複数のパーツに予め登録された一の属性情報を対応付けるようにしてもよい。パーツの配置の設定と属性情報の登録とを非同期に行うようにすることにより、パーツと属性情報の対応付けが容易になる。表示データ生成部１０６が生成する表示データは、後述する第２の機器においてアプリの実行画面を表示するときに用いられる。すなわち、表示データ生成部１０６が生成する表示データは、第１の機器１０において表示されるアプリの実行画面の生成と第２の機器２０において表示されるアプリの実行画面の生成に共用される。
【００４１】
表示画面生成部１０７は、表示データ生成部１０６において生成された表示データに基づき、第１の機器用ライブラリ１３０を用いて、表示部１４に表示するアプリの実行画面を生成する。第１の機器用ライブラリ１３０は、表示部１４の表示仕様等の第１の機器固有の動作環境を示すライブラリである。表示画面生成部１０７は、第１の機器用ライブラリ１３０をリンクすることによって、第１の機器１０の表示部１４に表示するアプリの実行画面を生成することができる。第１の機器用ライブラリ１３０は、例えば、表示部１４の解像度、最大表示色、言語の仕様、文字の表示仕様、静止画像の表示仕様、動画像の表示仕様等の表示仕様を含んでいてもよい。また、第１の機器用ライブラリ１３０は、表示仕様以外の動作環境を含んでいてもよい。
【００４２】
データベース登録部１０８は、データベース１４０に登録するデータを登録する。設定項目選択部１０４は、データベース１４０に登録されたデータを、設定項目の設定として選択可能に表示する。データベース登録部１０８は、例えば、ＣＳＶ（Comma-Separated Values）形式のデータファイルや表計算ソフトウェアで作成されたファイルを取り込んでデータベース１４０に登録するようにしてもよい。データベース登録部１０８は、設定項目選択部１０４において選択される設定項目により直接データの読み書きが可能なようにデータを登録する。従って、データベース操作のコマンド等を熟知していない操作者であっても、データベース操作を伴うＧＵＩの設計が可能となる。
【００４３】
設計書生成部１０９は、アプリの実行画面に関する画面設計書を自動的に生成する。アプリの実行画面に関する仕様書には、実行画面に配置されたパーツと、そのパーツの属性情報（説明文章を含む）が対応付けられる。また、設計書生成部１０９は、データベース登録部１０８で登録されるデータ項目と、属性情報による処理の内容とを対比させたＤＢ設計書を自動的に生成する。設計書生成部１０９は、設計書のフォーマットを定めたテンプレートを複数有することができる。設計書生成部１０９は、操作者がフォーマットを指定できるようにして、指定されたフォーマットで設計書を生成してもよい。設計書生成部１０９は、生成した設計書を表示部１４に表示する。設計書生成部１０９は、生成した設計書の、図示しないプリンタへの出力、図示しない他のコンピュータへの送信等の処理を実行してもよい。
【００４４】
遷移図生成部１１０は、アプリの実行画面の遷移を示す遷移図を生成する。遷移図生成部１１０は、パーツ配置部１０２によって登録された実行画面同士を、属性情報登録部１０５において登録された実行画面の遷移の設定に基づき紐付けて、実行画面の遷移を示す遷移図を生成する。実行画面同士の紐付けは、例えば表示画面の遷移方向を示す矢印による直線を実行画面間に示すことによって行うことができる。遷移図生成部１１０は、実行画面の遷移条件を遷移図に示してもよい。例えば、遷移先の実行画面が複数ある場合、遷移図生成部１１０は、それぞれの実行画面に遷移する条件を遷移図に示してもよい。遷移図生成部１１０は、生成した遷移図を表示部１４に表示する。遷移図生成部１１０は、生成した遷移図の、図示しないプリンタへの出力、図示しない他のコンピュータへの送信等の処理を実行してもよい。
【００４５】
通信設定部１１１は、第２の機器との通信方法を設定可能にする。通信設定部１１１において設定される通信方法は、図１の通信部１６を用いた通信方法である。通信設定部１１１は、例えばＩＰアドレスのポート番号を設定可能に表示して、設定されたポートに対して第２の機器からの接続を可能にする。なお、通信設定部１１１は、近距離無線通信における通信方法の設定、赤外線通信における通信方法の設定等を行うものであってもよい。
【００４６】
送信部１１２は、通信設定部１１１において設定された通信方法に基づき、表示データ生成部１０６で生成された表示データを第２の機器に送信する。送信部１１２が表示データを送信するタイミングは任意である。例えば、送信部１１２は表示データ生成部で表示データが生成される度に表示データを送信することにより、生成された生成データに基づく実行画面をリアルタイムで送信することができる。なお、送信部１１２による表示データの送信は、送信部１１２が通信リクエストを開始して表示データを送信するプッシュ型送信を行うものであっても、第２の機器からのリクエストに応じて表示データを送信するプル型送信を行うものであってもよい。
【００４７】
次に、図３を用いて、第２の機器で動作するソフトウェア開発プログラムの構成を説明する。図３は、実施形態における第２の機器で動作するソフトウェア開発プログラムの構成を示したブロック図である。図３に示すソフトウェア開発プログラムは、図１で説明した制御部２１によって実行される。
【００４８】
図３において、第２の機器２０で動作するソフトウェア開発プログラムは、通信設定部２０１、表示データ受信部２０２、表示画面生成部２０３、及び第２の機器用ライブラリ２０４を含む。
【００４９】
通信設定部２０１は、第１の機器１０との通信方法を設定可能にする。通信設定部２０１において設定される通信方法は、図１の通信部２６を用いた通信方法である。通信設定部２０１は、通信設定部１１１と同様に、例えばＩＰアドレスのポート番号を設定可能に表示して、設定されたポートに対して第１の機器１０への接続を可能にする。なお、通信設定部２０１は通信設定部１１１に対応して、近距離無線通信における通信方法の設定、赤外線通信における通信方法の設定等を行うものであってもよい。
【００５０】
表示データ受信部２０２は、通信設定部２０１において設定された通信方法に基づき、第１の機器１０で生成された表示データを受信する。表示データ受信部２０２は、例えば、第１の機器１０の送信部１１２から送信する表示データ有無の情報を取得して、送信する表示データがあるときに表示データを受信するようにしてもよい。
【００５１】
表示画面生成部２０３は、表示データ受信部２０２から取得した表示データに基づき、第２の機器用ライブラリ２０４を用いて、表示部２４に表示するアプリの実行画面を生成する。第２の機器用ライブラリ２０４は、表示部２４の表示仕様等の第２の機器固有の動作環境を示すライブラリである。表示画面生成部２０３は、第２の機器用ライブラリ２０４をリンクすることによって、第２の機器２０の表示部２４に表示するアプリの実行画面を生成することができる。第２の機器用ライブラリ２０４は、例えば、表示部２４の解像度、最大表示色、言語の仕様、文字の表示仕様、静止画像の表示仕様、動画像の表示仕様等の表示仕様を含んでいてもよい。また、第２の機器用ライブラリ２０４は、表示仕様以外の動作環境を含んでいてもよい。第２の機器用ライブラリ２０４は、例えば、第２の機器２０がタブレットＰＣである場合は、タブレットＰＣの動作環境に対応したライブラリが用意され、第２の機器２０がスマートフォンである場合はスマートフォンの動作環境に対応したライブラリが用意される。従って、表示データを生成する第１の機器１０の表示データ生成部１０６は、表示データの送信先を意識しないで異なる種類の第２の機器（マルチプラットフォーム）で共用できる表示データを生成することができる。表示画面生成部２０３は、取得した表示データに基づきアプリの実行画面を生成することができるので、第１の機器１０で生成された表示データをリアルタイムで確認することが可能となる。
【００５２】
次に、図４を用いて、ソフトウェア開発プログラムの第１の機器における動作を説明する。図４は、本実施形態におけるソフトウェア開発プログラムの第１の機器における動作を示したフローチャートである。図４に示すフローチャートは、図１で説明した制御部１１によって実行される。
【００５３】
図４において、制御部１１は、画面作成アイコンが選択状態であるか否かを判断する（ステップＳ１１）。画面作成アイコンは、画面作成処理に処理を切り換えるアイコンである。画面作成アイコンは、表示部１４においてソフトウェア開発プログラムの表示画面に表示されて操作者の操作によって選択される処理切換用のアイコンの１つである。画面作成アイコンが選択されて選択状態になると、パーツ配置処理、及び属性情報選択処理の画面作成処理を実行することができる。なお、処理切換用のアイコンには、後述する、パーツの処理内容を選択するための属性情報選択処理と設定項目選択処理を行うための処理設計アイコン、データベース登録処理を行うためのデータベースアイコンがある。処理切換用のアイコンは、いずれかのアイコンが選択されて選択状態となると他のアイコンが選択状態から非選択状態になり、処理が切換わる。
【００５４】
画面作成アイコンが選択状態である場合（ステップＳ１１：ＹＥＳ）、制御部１１は、パーツ選択を可能に表示するパーツ選択処理を実行する（ステップＳ１２）。パーツ選択処理は、ソフトウェア開発プログラムの表示画面に表示されるパーツを操作者が選択できるように表示する処理である。パーツには図２で説明したように、ボタン１２１、ラベル１２２、表１２３、テキスト１２４、チェックボックス１２５、ラジオボタン１２６、スライダー１２７、コンボボックス１２８、及びカレンダー１２９が含まれている。これらのパーツのアイコンはソフトウェア開発プログラムの表示画面に選択可能に表示される。
【００５５】
操作者がいずれかのパーツを選択すると、制御部１１は、パーツ配置処理を実行する（ステップＳ１３）。パーツ配置処理は、操作者に対して選択されたパーツのアプリの実行画面における配置を設定可能にする処理である。操作者は、パーツを配置可能な配置画面を確認しながら、パーツを配置する位置、パーツの大きさ等の形状、パーツの色等の配置情報を決定することができる。配置されたパーツの配置情報を図示しない設定ファイルに保存して登録する（ステップＳ１４）。ステップＳ１４の処理を実行した後、制御部１１は、ステップＳ１１の処理を再び実行する。
【００５６】
なお、ステップＳ１２〜ステップＳ１４の処理は画面作成の処理の手順を逐次処理として示したものであり、それぞれのステップの処理においてキャンセル等の操作があった場合、制御部１１は、そのステップの処理を中断して、ステップＳ１１の処理を再び実行する。
【００５７】
一方、ステップＳ１１において、画面作成アイコンが選択状態でない場合（ステップＳ１１：ＮＯ）、制御部１１は、処理設計アイコンが選択状態であるか否かを判断する（ステップＳ２１）。処理設計アイコンは、パーツの処理内容を設計する処理設計に処理を切り換えるアイコンである。
【００５８】
処理設計アイコンが選択状態である場合（ステップＳ２１：ＹＥＳ）、制御部１１は、属性情報選択処理を実行する（ステップＳ２２）。属性情報選択処理は操作者に対して属性情報を選択可能に表示する処理である。操作者は、表示された属性情報の中から一つを選択する。属性情報は、パーツの処理内容を定める情報である。属性情報は、上述の通り、例えば、関数処理、パーツの表示状態を制御するコントロール情報の入力処理、実行画面の遷移の設定等の処理内容を設定する情報である。
【００５９】
属性情報が選択されると、制御部１１は、設定項目選択処理を実行する（ステップＳ２３）。設定項目選択処理は作業者に対して属性情報の設定項目を選択可能に表示する処理である。作業者は表示された設定項目の中から一つを選択して設定値を入力する。設定値の入力は一覧表示等により表示された設定値の選択等により行われる。設定値の入力は、キーボード等により入力されてもよい。
【００６０】
設定項目に設定値が入力されると、制御部１１は、説明文章生成処理を実行する（ステップＳ２４）。制御部１１は、選択された属性情報と選択されて設定値が入力された設定項目とに基づき、属性情報の説明を自然言語で表した説明文章を生成し、表示部１４のソフトウェア開発プログラムの表示画面に表示する。ステップＳ２４の処理を実行した後、制御部１１は、設定項目に設定値が入力された属性情報を登録して（ステップＳ２５）、ステップＳ１１の処理を再び実行する。
【００６１】
なお、処理設計アイコンが選択状態である間（ステップＳ２１：ＹＥＳ）は、属性情報の選択が変更された場合（ステップＳ２２）、又は設定項目の設定値が変更された場合（ステップＳ２３）、説明文章の表示は、属性情報の変更又は設定項目の設定値変更に基づき変更される（ステップＳ２４）。
【００６２】
また、ステップＳ２２〜ステップＳ２５の処理はパーツの処理内容を設定する設定処理の手順を逐次処理として示したものであり、それぞれのステップの処理においてキャンセル等の操作があった場合、制御部１１は、そのステップの処理を中断して、ステップＳ１１の処理を再び実行する。
【００６３】
一方、処理設計アイコンが選択状態でない場合（ステップＳ２１：ＮＯ）、制御部１１は、表示データ生成処理を実行するか否かを判断する（ステップＳ３１）。表示データ生成処理を実行するか否かは、操作者が配置が設定されたパーツと登録された属性情報との対応付けを行ったか否かで判断される。配置が設定されたパーツと登録された属性情報との対応付けは、例えば、作業者が、配置画面に配置された一のパーツを選択して、選択したパーツの属性情報の設定することにより行われる。
【００６４】
表示データ生成処理を実行すると判断した場合（ステップＳ３１：ＹＥＳ）、制御部１１は、表示データ生成処理を実行する（ステップＳ３２）。表示データ生成処理は、配置が設定されたパーツと登録された属性情報との対応付けに基づき、アプリの実行画面の表示データを生成する処理である。
【００６５】
ステップＳ３２の処理を実行後、制御部１１は、表示画面生成処理を実行する（ステップＳ３３）。表示画面生成処理は、ステップＳ３２の処理において生成された表示データに基づき、第1の機器用ライブラリ１３０を用いてアプリの実行画面を生成する処理である。なお、本実施形態においては、ステップＳ３２において表示データが生成された場合、ステップＳ３３の表示画面生成処理が自動的に実行されるが、表示画面生成処理は、例えば、操作者の明示的な操作によって実行されるようにしてもよい。
【００６６】
ステップＳ３３の処理を実行後、制御部１１は、表示データ送信処理を実行する（ステップＳ３４）。表示データ送信処理は、予め設定された通信方法においてステップＳ３２で生成した表示データを第２の機器２０に送信する処理である。ステップＳ３４の処理を実行後、又は表示データ生成処理を実行しないと判断した場合（ステップＳ３１：ＮＯ）、制御部１１はステップＳ１１の処理を再び実行する。
【００６７】
なお、ステップＳ３２〜ステップＳ３４の処理は表示データ生成処理の手順を逐次処理として示したものであり、それぞれのステップの処理においてキャンセル等の操作があった場合、制御部１１は、そのステップの処理を中断して、ステップＳ１１の処理を再び実行する。
【００６８】
また、図４においては、後述するデータベース登録処理については説明しないが、データベース登録処理は、画面作成処理又は属性情報設定処理とは非同期で行うことができるものとする。データベース登録処理において登録したデータは、属性情報の設定項目の設定に用いることができる。
【００６９】
次に、図５を用いて、ソフトウェア開発プログラムの第２の機器における動作を説明する。図５は、本実施形態におけるソフトウェア開発プログラムの第２の機器における動作を示したフローチャートである。図５に示すフローチャートは、図１で説明した制御部２１によって実行される。
【００７０】
図５において、制御部２１は、表示データを受信したか否かを判断する（ステップＳ４１）。表示データを受信したか否かは、図４のステップＳ３４の処理において第１の機器が送信した表示データを図３の表示データ受信部２０２が受信したか否かによって判断される。
【００７１】
表示データを受信したと判断した場合（ステップＳ４１：ＹＥＳ）、制御部２１は、表示画面生成処理を実行する（ステップＳ４２）。ステップＳ４２の表示画面生成処理は、受信された表示データに基づき、第２の機器用ライブラリ２０４を用いてアプリの実行画面を生成する処理である。表示画面生成処理を実行することにより、第１の機器で生成された実行画面（表示データ）をリアルタイムで表示する。
【００７２】
ステップＳ４２の処理を実行後、制御部２１は、通信を終了するか否かを判断する（ステップＳ４３）。通信処理の終了は第２の機器の操作者による明示的な操作が有ったか否かによって判断することができる。
通信を終了しないと判断した場合（ステップＳ４３：ＮＯ）、制御部２１は、ステップＳ４１の処理を再び実行する。一方、通信を終了すると判断した場合（ステップＳ４３：ＹＥＳ）、制御部２１は、図５で示す処理を終了する。
【００７３】
次に、図６及を用いて、ソフトウェア開発プログラムのＧＵＩ設計画面を説明する。図６は、本実施形態におけるソフトウェア開発プログラムのＧＵＩ設計画面を示した図である。
図６において、表示画面１０００は、ファイルタブ１１００、ホームタブ１１０１、画面設定タブ１１０２を持つ。ファイルタブ１１００は、ファイル操作を行うためのタブである。ファイルタブ１１００には、後述する実行画面の遷移図を生成するための処理、及び設計仕様書を生成するための処理を選択可能に表示する。ホームタブ１１０１は、以下に説明するＧＵＩ設計を行うメイン画面を表示するタブである。画面設定タブ１１０２は、画面の表示の詳細を設定するためのタブであり、説明を省略する。
【００７４】
ホームタブ１１０１は、画面作成アイコン１００１、データベースアイコン１００２及び処理設計アイコン１００３を持つ。画面作成アイコン１００１、データベースアイコン１００２及び処理設計アイコン１００３は、いずれかのアイコンを排他的に選択状態とする。図６は、画面作成アイコン１００１が選択状態にされて、画面作成画面が表示されていることを示している。
【００７５】
画面作成画面には、パーツ選択アイコンが選択可能に表示される。画面作成画面には、パーツ選択アイコンとして、ボタン１２０１、ラベル１２０２、表１２０３、テキスト１２０４、チェック１２０５、ラジオ１２０６、スライダー１２０７、コンボ１２０８、及びカレンダー１２０９が表示されている。
【００７６】
ボタン１２０１は、アプリの実行画面に押下操作が可能なボタンパーツを配置するためのアイコンである。ボタンパーツは、押下したときの処理内容を属性情報として設定できる。
【００７７】
ラベル１２０２は、アプリの実行画面にラベルパーツを配置するためのアイコンである。ラベルパーツは実行画面に表示するテキストデータの表示内容を属性情報として設定できる。
【００７８】
表１２０３は、アプリの実行画面に表パーツを配置するためのアイコンである。表パーツは、表の入力項目等を属性情報として設定できる。
【００７９】
同様に、テキスト１２０４は、テキストパーツ（テキストボックス）を配置するためのアイコンであり、チェック１２０５は、チェックボックスパーツを配置するためのアイコンであり、ラジオ１２０６は、ラジオボタンパーツを配置するためのアイコンであり、スライダー１２０７は、スライダーパーツを配置するためのアイコンであり、コンボ１２０８は、コンボボックスパーツを配置するためのアイコンであり、さらに、カレンダー１２０９はカレンダーパーツを配置するためのアイコンである。操作者は、いずれかのパーツ選択アイコンを選択することにより、パーツを配置するためのコマンドを知らない場合であってもＧＵＩ設計が可能となる。
【００８０】
実行画面表示１３０１は、パーツが配置された実行画面を表示するための表示部である。図６には、表示データから生成された「製造業デモンストレーション」と題されたアプリの実行画面が表示されている。実行画面には、「ピッキング」、「通函チェック」、「ショップ配送」等のボタンパーツが配置されている。それぞれのボタンパーツにはボタンが押下されたときの処理内容が属性情報として設定されている。
【００８１】
小画面１３０２は、実行画面表示１３０１に表示される実行画面を縮小表示する。例えば、実行画面が複数ある場合、小画面１３０２は、複数の実行画面を縮小表示したアイコンを表示してもよい。
デバイス切断／デバイス待受１２１０は、第２の機器との通信を開始し又は切断するためのボタンである。デバイス待受を押下したときには、第２に機器から通信の接続を待ち受ける。すなわち、図２の通信設定部１１１で設定した通信方法によって第２の機器との通信を開始する。一方、デバイス切断を押下したときには、第２に機器との通信を切断する。
【００８２】
次に、図７を用いて、第１の機器で生成された表示データに基づき第２の機器に表示されるアプリの実行画面について説明する。図７は、本実施形態におけるソフトウェア開発プログラムによる第２の機器におけるアプリの実行画面を示した図である。
【００８３】
図７は、第２の機器としてスマートフォンにおけるアプリの実行画面である。図７に図示するスマートフォンの画面の左上部には、スマートフォンが第１の機器と通信して、アプリの実行画面の表示が同期していることを示す「同期」の文字が表示されている。すなわち、図７に示す実行画面は、図６で説明した実行画面表示１３０１に表示されるアプリの実行画面と同期していることを示す。第１の機器のソフトウェア開発プログラムで設計したＧＵＩは、スマートフォンでリアルタイムにプレビューすることができる。なお、図７では、第２の機器としてスマートフォンを例示してアプリの実行画面を表示する場合を説明したが、第２の機器は表示部の解像度等が異なる他の機器（タブレットＰＣ等）であってもよい。
【００８４】
次に、図８を用いて、画面作成アイコン１００１が選択されたときに実行される画面作成の詳細を説明する。図８は、本実施形態におけるソフトウェア開発プログラムによる第１の機器における画面作成の詳細を示した図である。図８においては、図６で説明したアイコン等は同じ符号を付して説明を省略する。
【００８５】
図８において、実行画面表示１３０１には、表パーツａ、ラベルパーツｂ、テキストパーツｃ、ボタンパーツｄ、及びテキストパーツｅが配置されている。パーツの配置は、配置するパーツを選択して、選択したパーツを実行画面表示１３０１に配置する。表パーツａを配置するには、表１２０３のアイコンを選択する。ラベルパーツｂを配置するには、ラベル１２０２のアイコンを選択する。テキストパーツｃ及びテキストパーツｅを配置するには、テキスト１２０４のアイコンを選択する。
【００８６】
ボタンパーツｄを配置するには、ボタン１２０１のアイコンを選択する。パーツの配置は、実行画面表示１３０１の１点をクリックして始点を指定し、ドラッグによって終点を指定することによって、パーツの位置及び形状（大きさ）を設定することができる。パーツの形状（大きさ）は、別途数値を指定することにより設定してもよい。図８に図示するグリッドを表示したときには、始点と終点をグリッド上に指定することができる。
【００８７】
それぞれのパーツには属性情報を設定することができる。ラベルパーツｂは、「設備管理」のテキストが表示されるように属性情報が定義されている。テキストパーツｃはテキストボックスを表示してテキストデータを入力可能にする属性情報が定義されている。ボタンパーツｄは、カメラを起動して、撮影によって画像データを取得する属性情報が定義されている。表パーツａは、「設備名」と「写真」の表項目（フィールド）が属性情報として定義されている。表パーツａの「設備名」の表項目には、テキストパーツｃのテキストボックスに入力されるテキストデータが入力されるように属性情報が定義されている。また、表パーツａの「写真」の表項目には、ボタンパーツｄの操作によって取得された画像データが入力されるように属性情報が定義されている。
【００８８】
次に、図９及び図１０を用いて、属性情報の設定方法について説明する。図９及び図１０は、本実施形態におけるソフトウェア開発プログラムによる第１の機器における処理設計の詳細を示した図である。図９及び図１０の表示画面は、図８の処理設計アイコン１００３を選択したときに表示される。
【００８９】
図９において、処理設計の表示画面１４００には、処理名１４０１、仕様１４０２、自動１４０３、検索条件１４０４、属性情報選択部１４０５、設計詳細画面１４０６、ショートカット追加１４０７、保存１４０８、及びキャンセル１４０９を持つ。
【００９０】
属性情報選択部１４０５は、属性情報を選択可能に表示する。図９には、属性情報として、「メッセージ」、「ネットワーク」、「ファイル」、「デバイス」、「プッシュ通知」、「独自」の処理内容に分類された属性情報が選択可能に表示されている。
【００９１】
図９は、「デバイス」処理の「カメラ起動」の属性情報が選択された状態を示している。カメラ起動の属性情報が選択されると、設計詳細画面１４０６には、「画像幅」及び「画像高さ」のカメラ起動の属性情報の設定項目が表示される。すなわち、設計詳細画面１４０６に表示される設定項目は、選択される属性情報に基づき自動的に選択される。属性情報毎に設定すべき設定項目が自動的に選択されるので、設定項目の入力ミスを防止することができる。
【００９２】
設計詳細画面１４０６に表示された「画像幅」及び「画像高さ」はカメラで撮影された画像の解像度を設定するための設定項目である。「画像幅」はコンボボックスｆ１を持つ。「画像高さ」はコンボボックスｇ１を持つ。コンボボックスｆ１で「数値」を選択すると、テキストボックスｆ２が表示されて数値が入力可能になる。また、コンボボックスｇ１で「数値」を選択すると、テキストボックスｇ２が表示されて数値が入力可能になる。コンボボックスｆ１又はコンボボックスｇ１は、予め設定された解像度を選択できるようにしてもよい。
【００９３】
処理名１４０１は、処理設計をする属性情報に付される番号である。本実施形態では、属性情報の設定はパーツの配置とは独立して行うことができる。従って、処理名は、パーツと属性情報を対応させるときの情報として用いられる。図９は、処理名が通し番号である「＃１」であることを示している。処理名は通し番号を使用する代わりに、作業者が任意に設定してもよい。
【００９４】
仕様１４０２は、選択された属性情報（カメラ起動）と選択されて設定値が入力された設定項目とに基づき、属性情報の説明を自然言語で表した説明文章である。仕様１４０２は、自動１４０３が選択されているときには、属性情報の選択と設定項目の入力によって自動的に生成される。図９は、自動生成された説明文章として「カメラを起動して、撮影結果を取得する。」が表示されていることを示している。属性情報と設定項目が具体的にどのような処理内容であるかを自然言語で表示することにより、パーツの処理設計が容易になる。自動１４０３が選択されていないときには、操作者が任意の文章を入力することができる。なお、設定項目に不正な設定値が入力されたとき等においては、処理名に警告を表示してもよい。
【００９５】
検索条件１４０４は、設定項目が設定されて登録（保存）された属性情報を検索するための条件を設定できる。例えば、登録された属性情報の数が多い場合、類似した属性情報を選択することが困難になる。検索条件１４０４を予め設定しておくことにより、属性情報の検索が容易になる。
【００９６】
ショートカット追加１４０７は、設定項目が設定された属性情報をショートカットに登録するためのボタンである。属性情報をショートカットに登録することにより、類似した属性情報の処理設計が容易になる。
【００９７】
保存１４０８は、設定項目が設定された属性情報を保存して登録するためのボタンである。また、キャンセル１４０９は、属性情報の処理設計を中止するためのボタンである。
【００９８】
図１０は、属性情報として「コントロール」処理の「内容セット」の属性情報が選択されたことを示している。「内容セット」の属性情報が選択されると、設計詳細画面１４０６には、「フォーム」、「コントロール」及び「値」の設定項目が自動的に表示される。
【００９９】
「内容セット」の属性情報は、所定の変数にデータをセットする処理内容である。フォーム「Equipment」は、図８で説明した実行画面を特定する変数である。コントロール「lblPict」は、図８の表ｓの「写真」の表項目を特定する変数である。結果の引き継ぎとは取得したデータをそのまま引き継ぐ処理である。値「♯１」は図９で説明した処理名である。
【０１００】
図１０において、処理名１４０１は「♯２」、仕様は、「「Equipment」画面の「lblPict」の内容に［＃１］の結果をセットする。」の説明文が生成されて表示されていることを示している。［＃１］の結果は、図９で説明した、カメラで撮影された撮影結果を取得したものである。
【０１０１】
なお、図１０に示す属性情報選択部１４０５には、「コントロール」以外に、「フォーム」、「ダイアログ」、及び「メッセージ」の属性情報が選択可能に表示されている。
ここで「フォーム」は、実行画面を遷移させる「遷移」の属性情報を含む。それぞれの実行画面には、上記の通り「Equipment」等のフォーム名が設定される。「遷移」の属性情報においては、遷移先のフォーム名を設定項目に設定値にすることにより、実行画面の遷移を容易に設計することができる。なお、「遷移」で遷移が設定されたフォーム名は、後述する実行画面の画面遷移図の生成において参照される。
「ダイアログ」は、ダイアログを表示して所定の処理を実行可能にする属性情報である。また、「メッセージ」は所定のメッセージをポップアップ表示するための属性情報である。
【０１０２】
次に、図１１を用いて、登録された属性情報の一覧表示を説明する。図１１は、本実施形態におけるソフトウェア開発プログラムによる第１の機器における処理設計の詳細を示した図である。
【０１０３】
図１１において、「ロジック名」には、設定項目が設定された属性情報の名称を入力することができる。図１１においては、「Equipment_カメラ起動」の名称が入力されている。なお、ロジック名一覧ｌには、他のロジック名の属性情報が登録されていることを示している。
【０１０４】
属性情報表示画面１５０１には、属性情報一覧ｋが表示される。属性情報一覧ｋは、「コメント」、「Ｎｏ．」、「処理名」、「コンポーネント」、及び「仕様」の表項目を持つ。「処理名」は、図９及び図１０で説明した処理名である。「コンポーネント」は属性情報を特定する情報である。「仕様」は、仕様１４０２の内容である。なお、「コメント」のチェックボックスを選択することにより、それぞれの属性情報に対するコメントの入力が可能となる。
【０１０５】
図１１で示したロジック名は、図８で説明した「カメラ起動」のボタンパーツに対応付けられる。すなわち、パーツの配置とそのパーツの属性情報をそれぞれ登録して、その対応付けを設定することによりＧＵＩの設計を行う。一度登録された属性情報は、複数のパーツで共用することができ、ＧＵＩの設計を効率化することができる。
【０１０６】
次に、図１２を用いて、画面遷移図の生成について説明する。図１２は、本実施形態におけるソフトウェア開発プログラムによる画面遷移図の表示を示した図である。図１２において、画面遷移図には、画面１〜画面４の遷移図が表示されている。
本実施形態では、図１０で説明した「遷移」の属性情報において、実行画面の画面遷移を設定できる。操作者は、図６等のファイルタブ１１００に含まれる画面遷移図生成のコマンドを選択する。画面遷移図生成のコマンドが選択されると、制御部１１は、遷移の属性情報で紐付けられたフォーム名を検索して、検索されたフォーム名の実行画面を読み出して線で紐付けして画面遷移図を生成する。生成された画面遷移図は、表示部１４に表示される。画面遷移図は、図示しないプリンタにおいて印字してもよい。画面遷移図を生成することにより、ＧＵＩの設計と同時に画面遷移図を作成できる。
【０１０７】
なお、実行画面が複数あって、表示部１４に表示しきれない場合、スクロール表示、拡大／縮小表示を行ってもよい。また、接続子等で実行画面の遷移先を明らかにして複数ページに印字するようにしてもよい。印字される画面遷移図は、ＧＵＩ設計書の所定のフォーマットに変換して出力するようにしてもよい。
また、図１２では、表示する実行画面の画面１〜画面４の大きさは同一である場合を示したが、画面遷移図で表示する実行画面の大きさはそれぞれ設定できるようにしてもよい。
また、画面遷移図には、図１１で説明したそれぞれの実行画面に配置されたパーツの仕様が含まれていてもよい。
また、表示部１４に表示された画面遷移図は、いずれかの実行画面を選択することにより、選択した実行画面の画面設計図の詳細を表示してもよい。
また、画面遷移図における実行画面は、表示する機器に応じて変更してもよい。例えば、ＰＣの表示部に表示された実行画面、スマートフォンの表示部に表示された実行画面等、機器に応じて変更するようにしてもよい。
【０１０８】
次に、図１３を用いて、画面設計書の生成について説明する。図１３は、本実施形態におけるソフトウェア開発プログラムによる画面設計書の表示を示した図である。図１３において、画面設計書には、画面１とその設計詳細が表示されている。
本実施形態では、設計詳細として、図１１で説明したロジック名と属性情報一覧ｋを表示することができる。画面１は、それぞれの実行画面である。画面１に配置されたパーツにはそれぞれ対応するロジック名を表示するようにしてもよい。実行画面に配置されたパーツと、そのパーツの属性情報を対比した画面設計書を生成することにより、ＧＵＩの設計と同時に画面設計書を作成することができる。
操作者は、図６等のファイルタブ１１００に含まれる画面設計書生成のコマンドを選択する。画面設計書生成のコマンドが選択されると、制御部１１は、実行画面とその実行画面に含まれるパーツの設計詳細を対応させた画面設計書を生成する。生成された画面設計書は、表示部１４に表示される。画面設計書は、図示しないプリンタにおいて印字されてもよい。
なお、画面設計書における実行画面は、表示する機器に応じて変更してもよい。例えば、ＰＣの表示部に表示された実行画面、スマートフォンの表示部に表示された実行画面等、機器に応じて変更するようにしてもよい。
【０１０９】
次に、図１４を用いて、ＤＢ（データベース）設計書の生成について説明する。図１４は、本実施形態におけるソフトウェア開発プログラムによるＤＢ設計書の表示を示した図である。図１４において、ＤＢ設計書には、データベースと処理設計の詳細が表示されている。
本実施形態では、図８で説明した通り、カメラ撮影で取得した画像データやテキストボックスから入力されたテキストデータをデータベースに直接登録するデータベース操作をパーツの処理内容に設定することができる。図１１で説明したデータベースに登録するデータの処理設計を一覧表示することにより、データベースを用いたＧＵＩ設計を容易にすることができる。
【０１１０】
なお、図２又は図３に示したプログラムを、コンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、本実施形態の上述した種々の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【０１１１】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現するもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【０１１２】
以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。
【符号の説明】
【０１１３】
１・・・第１の機器
２・・・第２の機器
３・・・サービスサーバ
９・・・ネットワーク
１０・・・第１の機器
１１、２１・・・制御部
１２、２２・・・記憶部
１３、２３・・・操作入力部
１４、２４・・・表示部
１５、２５・・・媒体入出力部
１６、２６・・・通信部
１００・・・プログラム部
１０１・・・パーツ選択部
１０２・・・パーツ配置部
１０３・・・属性情報選択部
１０４・・・設定項目選択部
１０４１・・・説明文章生成部
１０５・・・属性情報登録部
１０６・・・表示データ生成部
１０７・・・表示画面生成部
１０８・・・データベース登録部
１０９・・・設計書生成部
１１０・・・遷移図生成部
１１１・・・通信設定部
１１２・・・送信部
１２０・・・パーツ
１３０・・・第１の機器用ライブラリ
１４０・・・データベース
２０・・・第２の機器
２０１・・・通信設定部
２０２・・・表示データ受信部
２０３・・・表示画面生成部
２０４・・・第２の機器用ライブラリ
【図１】
0006602190.tif 000002
【図２】
0006602190.tif 000003
【図３】
0006602190.tif 000004
【図４】
0006602190.tif 000005
【図５】
0006602190.tif 000006
【図６】
0006602190.tif 000007
【図７】
0006602190.tif 000008
【図８】
0006602190.tif 000009
【図９】
0006602190.tif 000010
【図１０】
0006602190.tif 000011
【図１１】
0006602190.tif 000012
【図１２】
0006602190.tif 000013
【図１３】
0006602190.tif 000014
【図１４】
0006602190.tif 000015