(57)【特許請求の範囲】
【請求項１】
ソフトウェアのソースコードにおける画面要素の表示機能を表記したブロックを、前記ソフトウェア実行時の表示画面を構成する複数の画面エリアの何れかに対応付ける画面情報解析判定手段と、
ある特定の種類の情報端末における前記ソフトウェア実行時の表示画面に関して、前記複数の画面エリアの各々と、前記画面エリアに対応づけられた前記ブロックに含まれる部品の画面表示数の制限値との対応関係を示す情報を格納した画面表示部品制限値情報格納手段と、
前記ソースコードにおける前記ブロックに含まれる前記部品の数と、当該ブロックに対応する前記制限値を比較して、前記部品の数が前記制限値を超えている場合は、前記制限値を超えた分の部品について、前記特定の情報端末では表示させないように前記ソースコードを変換して出力するプログラム変換出力手段と、
を備えるソフトウェア変換装置。
【請求項２】
前記複数の画面エリアの各々と、前記ソフトウェアのソースコードにおける画面表示に関係する画面表示関連ワードとの対応関係を示す情報を格納した画面エリア定義情報格納手段をさらに備え、
前記画面情報解析判定手段は、前記ブロックに含まれるワードが、前記画面エリア定義情報格納手段の情報に記載された前記画面表示関連ワードと一致する度合いが最も高い前記画面エリアを、当該ブロックと対応づける
請求項１に記載のソフトウェア変換装置。
【請求項３】
前記プログラム変換出力手段は、同一の前記画面エリアに複数の前記ブロックが対応付けられた場合に、当該画面エリアの前記制限値を超えた分のブロックについて、当該ブロック全体を前記特定の種類の情報端末では表示させないように前記ソースコードを変換する
請求項１乃至２の何れかに記載のソフトウェア変換装置。
【請求項４】
前記画面表示に関する重要キーワードと、前記重要キーワードの重要度との対応関係を示す情報を格納する重要キーワード情報格納手段を更に備え、
前記プログラム変換出力手段は、前記重要キーワード情報格納手段の情報を参照して、前記ブロックが前記重要キーワードを包含する場合は、前記部品、もしくは前記ブロックが包含する前記重要キーワードの前記重要度の順番で、前記制限値を超えた分の前記部品、もしくは前記ブロックについて、前記特定の種類の情報端末では表示させないように前記ソースコードを変換する
請求項２に記載のソフトウェア変換装置。
【請求項５】
前記重要キーワード情報格納手段は、前記ソフトウェアが動作するサーバのアクセスログ情報から、前記重要キーワードに対応する前記画面表示の参照頻度の値を抽出して、前記重要キーワードに対応付けて格納し、
前記プログラム変換出力手段は、前記重要キーワードの前記参照頻度を含めた順番で、前記特定の種類の情報端末では表示させないように前記ソースコードを変換する
請求項４に記載のソフトウェア変換装置
【請求項６】
請求項１から５の何れかに記載のソフトウェア変換装置と、
前記ソフトウェアを実行するサーバと、
前記サーバに接続されるクライアント端末装置、および、周辺装置と、
を包含するソフトウェア変換システム。
【請求項７】
ソフトウェアのソースコードにおける画面要素の表示機能を表記したブロックを、前記ソフトウェア実行時の表示画面を構成する複数の画面エリアの何れかに対応付け、
ある特定の種類の情報端末における前記ソフトウェア実行時の表示画面に関して、前記複数の画面エリアの各々と、前記画面エリアに対応づけられた前記ブロックに含まれる部品の画面表示数の制限値との対応関係を示す情報を記憶域に格納し、
前記ソースコードにおける前記ブロックに含まれる部品の数と、当該ブロックに対応する前記制限値を比較して、前記部品の数が前記制限値を超えている場合は、前記制限値を超えた分の部品について、前記特定の情報端末では表示させないように前記ソースコードを変換して出力する
ソフトウェア変換方法。
【請求項８】
前記複数の画面エリアの各々と、前記ソフトウェアのソースコードにおける画面表示に関係する画面表示関連ワードとの対応関係を示す情報を記憶域に格納し、
前記ブロックに含まれるワードが、前記画面表示関連ワードとの対応関係を示す情報に記載された前記画面表示関連ワードと一致する度合いが最も高い前記画面エリアを、当該ブロックと対応づける
請求項７に記載のソフトウェア変換方法。
【請求項９】
ソフトウェアのソースコードにおける画面要素の表示機能を表記したブロックを、前記ソフトウェア実行時の表示画面を構成する複数の画面エリアの何れかに対応付ける画面情報解析判定処理と、
ある特定の種類の情報端末における前記ソフトウェア実行時の表示画面に関して、前記複数の画面エリアの各々と、前記画面エリアに対応づけられた前記ブロックに含まれる部品の画面表示数の制限値との対応関係を示す情報を記憶域に格納した画面表示部品制限値情報格納処理と、
前記ソースコードにおける前記ブロックに含まれる部品の数と、当該ブロックに対応する前記制限値を比較して、前記部品の数が前記制限値を超えている場合は、前記制限値を超えた分の部品について、前記特定の情報端末では表示させないように前記ソースコードを変換して出力するプログラム変換出力処理と、
をコンピュータに実行させるソフトウェア変換プログラム。
【請求項１０】
前記複数の画面エリアの各々と、前記ソフトウェアのソースコードにおける画面表示に関係する画面表示関連ワードとの対応関係を示す情報を記憶域に格納した画面エリア定義情報格納処理をコンピュータに実行させ、
前記画面情報解析判定処理は、前記ブロックに含まれるワードが、前記画面エリア定義情報格納処理の記憶域の情報に記載された前記画面表示関連ワードと一致する度合いが最も高い前記画面エリアを、当該ブロックと対応づける
請求項９に記載のソフトウェア変換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、表示画面の大きさが異なる多種類の情報端末の画面表示に対応したアプリケーションソフトウェアを効率的に生成するためのソフトウェア変換装置、ソフトウェア変換システム、ソフトウェア変換方法、及び、ソフトウェア変換プログラムに関する。
【背景技術】
【０００２】
昨今のスマートフォンやタブレットＰＣの登場により、情報ネットワークへ接続してＩＴ環境を利用するための情報端末は多種多様化してきている。また、これらの新しい情報端末の使用台数は、従来型ＰＣを上回る勢いで全世界的に急速に増加している。
【０００３】
したがって、これまでは、Ｗｅｂアプリケーションをはじめとするアプリケーションソフトウェアは、従来型ＰＣを情報端末として実行されてきたが、今後はスマートフォンなどを情報端末として実行される機会が、益々増加していくことが見込まれる。
【０００４】
しかしながら、従来のアプリケーションソフトウェアは、比較的大きな表示画面を持つ従来型ＰＣでの実行を前提に開発されているものが多く、これらのアプリケーションソフトウェアをそのまま画面サイズの小さいスマートフォンなどで実行した場合は、表示画面が煩雑となり、非常に利用しづらいものとなる。
【０００５】
上述の状況に対応するため、最近では情報端末の多様化に対応したＷｅｂサイトが次第に増加してきてはいるが、このためにスマートフォン向けの専用のアプリケーションソフトウェアを開発していたのでは、開発規模が大きくなるといった問題がある。
【０００６】
このような問題に対応した関連技術の例として、特許文献１には、プリンタ、複写機、ファクシミリ装置等の組み込み型装置の表示画面において、小さなサイズの画面の中で、１つの機能に関係した設定をユーザにとって使いやすいユーザインタフェースとなるようにカスタマイズできる表示装置が公開されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開2011-186626
【発明の概要】
【発明が解決しようとする課題】
【０００８】
前述の特許文献１に記載の技術では、小さな表示画面を持つ装置の使用者が、使用しやすいユーザインタフェースとなるように画面のカスタマイズを行うこととなるが、不特定多数の人がアクセスするような一般的なＷｅｂサイトのような場合、不特定多数の人に対してスマートフォン上で画面のカスタマイズ操作をさせるのは、あまり現実的ではない。一般的なＷｅｂサイトにおいては、スマートフォンでアクセスした人が、画面のカスタマイズ操作をしなくても見やすい画面が表示され、かつ、そのＷｅｂサイトのアプリケーションソフトウェアを効率的に生成するための技術が課題となる。
【０００９】
本願発明の目的は、このような課題を解決したソフトウェア変換装置、ソフトウェア変換システム、ソフトウェア変換方法、及び、ソフトウェア変換プログラムを提供することである。
【課題を解決するための手段】
【００１０】
本願発明の一実施形態のソフトウェア変換装置は、ソフトウェアのソースコードにおける画面要素の表示機能を表記したブロックを、前記ソフトウェア実行時の表示画面を構成する複数の画面エリアの何れかに対応付ける画面情報解析判定手段と、ある特定の種類の情報端末における前記ソフトウェア実行時の表示画面に関して、前記複数の画面エリアの各々と、前記画面エリアに対応づけられた前記ブロックに含まれる部品の画面表示数の制限値との対応関係を示す情報を格納した画面表示部品制限値情報格納手段と、前記ソースコードにおける前記ブロックに含まれる前記部品の数と、当該ブロックに対応する前記制限値を比較して、前記部品の数が前記制限値を超えている場合は、前記制限値を超えた分の部品について、前記特定の情報端末では表示させないように前記ソースコードを変換して出力するプログラム変換出力手段と、を備える。
【００１１】
本願発明の一実施形態のソフトウェア変換方法は、ソフトウェアのソースコードにおける画面要素の表示機能を表記したブロックを、前記ソフトウェア実行時の表示画面を構成する複数の画面エリアの何れかに対応付け、ある特定の種類の情報端末における前記ソフトウェア実行時の表示画面に関して、前記複数の画面エリアの各々と、前記画面エリアに対応づけられた前記ブロックに含まれる部品の画面表示数の制限値との対応関係を示す情報を記憶域に格納し、前記ソースコードにおける前記ブロックに含まれる部品の数と、当該ブロックに対応する前記制限値を比較して、前記部品の数が前記制限値を超えている場合は、前記制限値を超えた分の部品について、前記特定の情報端末では表示させないように前記ソースコードを変換して出力する。
【００１２】
本願発明の一実施形態のソフトウェア変換プログラムは、ソフトウェアのソースコードにおける画面要素の表示機能を表記したブロックを、前記ソフトウェア実行時の表示画面を構成する複数の画面エリアの何れかに対応付ける画面情報解析判定処理と、ある特定の種類の情報端末における前記ソフトウェア実行時の表示画面に関して、前記複数の画面エリアの各々と、前記画面エリアに対応づけられた前記ブロックに含まれる部品の画面表示数の制限値との対応関係を示す情報を記憶域に格納した画面表示部品制限値情報格納処理と、前記ソースコードにおける前記ブロックに含まれる部品の数と、当該ブロックに対応する前記制限値を比較して、前記部品の数が前記制限値を超えている場合は、前記制限値を超えた分の部品について、前記特定の情報端末では表示させないように前記ソースコードを変換して出力するプログラム変換出力処理と、をコンピュータに実行させる。
【発明の効果】
【００１３】
本願発明は、表示画面の大きさが異なる多種類の情報端末の画面表示に対応したアプリケーションソフトウェアを効率的に生成することを実現する。
【図面の簡単な説明】
【００１４】
【図１】本願発明の第１の実施形態のソフトウェア変換システムの構成を示すブロック図である。
【図２】本願発明の第１の実施形態の画面情報解析判定部の動作を示すフローチャートである。
【図３】本願発明の第１の実施形態のプログラム変換出力部の動作を示すフローチャートである。
【図４】本願発明の第１の実施形態における画面エリア定義情報の構成例である。
【図５】本願発明の第１の実施形態における画面表示部品制限値情報の構成例である。
【図６】本願発明の第１の実施形態における重要キーワード情報の構成例である。
【図７】本願発明の第１の実施形態におけるオリジナルソースコードの例である。
【図８】本願発明の第１の実施形態における中間ソースコードの例である。
【図９】本願発明の第１の実施形態における変換後ソースコードの例である。
【図１０】本願発明の第１の実施形態におけるクライアント端末の表示画面の例である。
【図１１】本願発明の第２の実施形態のソフトウェア変換システムの構成を示すブロック図である。
【発明を実施するための形態】
【００１５】
本願発明の第一の実施の形態について図面を参照して詳細に説明する。
【００１６】
図１は、本実施形態のソフトウェア変換システムの構成を示すブロック図である。
【００１７】
本実施形態のソフトウェア変換システムは、ソフトウェア変換装置１と、サーバ２と、コンピュータネットワーク３と、ＰＣ４−１乃至４−ｍとスマートフォン５−１乃至５−ｎとを包含している。
【００１８】
ソフトウェア変換装置1は、画面エリア定義情報格納部１０と、画面情報解析判定部１１と、画面表示部品制限値情報格納部１２と、重要キーワード情報格納部１３と、プログラム変換出力部１４とを包含している。
【００１９】
画面エリア定義情報格納部１０は、画面エリア定義情報１００を格納している。画面エリア定義情報の構成例を図４に示す。画面エリア定義情報１００における画面エリアは、サーバ2のＷｅｂサイトの画面を構成する個々のエリアを定義したものである。
【００２０】
「ｈｅａｄｅｒ」は、Ｗｅｂサイト画面のヘッダー部分のエリアである。「ｆｏｏｔｅｒ」は、Ｗｅｂサイト画面のフッター部分のエリアである。「ｎａｖｉｇａｔｉｏｎ」は、Ｗｅｂサイト画面左側に配置されることが多いリンク集の部分のエリアである。「ｍｅｎｕ」は、Ｗｅｂサイト画面右下に配置されることが多いサイドメニューの部分のエリアである。「ｅｎｔｒｙ」は、Ｗｅｂサイト画面の中央部に配置されることが多いコンテンツ集の部分のエリアである。「ｅｎｒｔｙＳｕｂ」は、「ｅｎｔｒｙ」のエリアに配置されるコンテンツのサブコンテンツ集の部分のエリアである。
【００２１】
画面エリア定義情報１００におけるタグキーワードは、Ｗｅｂアプリケーションのｈｔｌｍソースファイルにおけるタグとして表記されるワードであり、画面エリア定義情報格納部１０が、各画面エリアと対応付けて登録している。例えば、タグキーワード「ｎａｖ」は、画面エリア「ｎａｖｉｇａｔｉｏｎ」に対応付けられ、タグキーワード「ｆｏｒｍ」は、画面エリア「ｅｎｔｒｙ」に対応付けられている。
【００２２】
画面エリア定義情報１００におけるその他キーワードは、Ｗｅｂアプリケーションのｈｔｌｍソースファイルにおけるタグ以外の部分で表記されるワードであり、タグキーワードと同様に画面エリア定義情報格納部１０が、各画面エリアと対応付けて登録している。
【００２３】
画面情報解析判定部１１は、Ｗｅｂアプリケーションのオリジナルソースコード２０をサーバ２から読み出して、画面エリア定義情報格納部１０における画面エリア定義情報１００と照らし合わせる。そして、オリジナルソースコード２０における各画面要素の画面表示について記述しているブロックが、画面エリア定義情報１００におけるどの画面エリアと対応付けられるかの照合を行う。
【００２４】
オリジナルソースコード２０のコード例を図７に示す。個々のブロックは、「ｄｉｖ  ｉｄ」文によって定義されており、図７のコード例は、「ｎａｖｉ」、「ｍａｉｎ」、「ｎａｖ２」のｉｄ名の３つのブロックを包含している。「ｍａｉｎ」のブロックは、さらに、「ｍａｉｎ１」、「ｍａｉｎ２」、「ｍａｉｎ３」のｉｄ名の３つのサブブロックを包含している。
【００２５】
画面情報解析判定部１１は、まず「ｎａｖｉ」のブロックについて、ブロック内のワードと、画面エリア定義情報１００におけるタグキーワードとその他キーワードとの照合を行う。「ｎａｖｉ」のブロックは、タグキーワード「ｌｉ」と「ａ」について、画面エリア「ｎａｖｉｇａｔｉｏｎ」と「ｍｅｎｕ」と一致し、その他キーワード「ｎａｖｉ」で「ｎａｖｉｇａｔｉｏｎ」と一致する。したがって、画面エリア「ｎａｖｉｇａｔｉｏｎ」との一致度は３、「ｍｅｎｕ」との一致度は２となり、画面情報解析判定部１１は、「ｎａｖｉ」のブロックを「ｎａｖｉｇａｔｉｏｎ」の画面エリアに対応付ける。
【００２６】
画面情報解析判定部１１は、引き続いて「ｍａｉｎ」のブロックについて、同様の照合を行う。「ｍａｉｎ」のブロックは、上述の３つのサブブロックを包含しており、画面情報解析判定部１１は、サブブロックレベルまで展開して照合処理を行う。
【００２７】
「ｍａｉｎ」のブロックは、サブブロック「ｍａｉｎ２」において、タグキーワード「ｌｉ」と「ａ」について、画面エリア「ｎａｖｉｇａｔｉｏｎ」と「ｍｅｎｕ」と一致し、タグキーワード「ｆｏｒｍ」について、画面エリア「ｅｎｔｒｙ」と一致する。さらに、タグキーワード「ｉｎｐｕｔ」について、画面エリア「ｈｅａｄｅｒ」と「ｅｎｔｒｙ」と一致し、その他キーワード「ｍａｉｎ」で画面エリア「ｅｎｔｒｙ」と一致する。したがって、画面エリア「ｈｅａｄｅｒ」、「ｎａｖｉｇａｔｉｏｎ」、「ｍｅｎｕ」、「ｅｎｔｒｙ」との一致度はそれぞれ１、２、２、３となる。
【００２８】
同様に「ｍａｉｎ」のブロックは、サブブロック「ｍａｉｎ１」と「ｍａｉｎ３」において、いずれもタグキーワード「ｍａｉｎ」で画面エリア「ｅｎｔｒｙ」と一致する。
【００２９】
以上より、画面情報解析判定部１１は、「ｍａｉｎ」のブロックを「ｅｎｔｒｙ」の画面エリアに対応付ける。
【００３０】
画面情報解析判定部１１は、同様の照合動作を行い、「ｎａｖ２」のブロックを「ｎａｖｉｇａｔｉｏｎ」の画面エリアに対応付ける。
【００３１】
本実施形態の例では、オリジナルソースコード２０における全てのブロックは、何れかの画面エリアに対応付けられているが、もし上述の照合動作において、一致するキーワードが存在しないブロックがある場合は、画面情報解析判定部１１は、当該ブロックを判定不能エリアの「ｎｏ＿ａｒｅａ」に対応付ける。
【００３２】
画面情報解析判定部１１は、次に、同一の画面エリアに対応付けたブロックを１箇所にまとめて、まとめたブロック全体に対して、当該画面エリアの名称でｉｄ名を付与し、中間ソースコード１５を生成する。
【００３３】
中間ソースコード１５のコード例を図８に示す。図８において太字で記した部分は、オリジナルソースコード２０に対して、画面情報解析判定部１１が変更を加えた部分である。
【００３４】
画面情報解析判定部１１は、画面エリア「ｎａｖｉｇａｔｉｏｎ」に対応付けた「ｎａｖｉ」と「ｎａｖ２」の２つブロックを１つにまとめて、「ｄｉｖ  ｉｄ」文により、「ｎａｖｉｇａｔｉｏｎ」のｉｄ名でブロック定義する。画面情報解析判定部１１は、元々の２つのブロック「ｎａｖｉ」と「ｎａｖ２」については、「ｄｉｖ  ｃｌａｓｓ」文により、
「ｎａｖｉｇａｔｉｏｎ」のブロックのサブブロックとして再定義する。
【００３５】
画面情報解析判定部１１は、同様に画面エリア「ｅｎｔｒｙ」に対応付けた「ｍａｉｎ」のブロックを、「ｄｉｖ  ｉｄ」文により「ｅｎｔｒｙ」のｉｄ名で再定義し、「ｍａｉｎ１」、「ｍａｉｎ２」、「ｍａｉｎ３」のサブブロックについては、「ｄｉｖ  ｃｌａｓｓ」文により、「ｅｎｔｒｙ」のブロックのサブブロックとして再定義する。
【００３６】
画面表示部品制限値情報格納部１２は、画面表示部品制限値情報１２０を格納している。画面表示部品制限値情報１２０の構成例を図５に示す。画面表示部品制限値情報１２０はスマートフォン５−１乃至５−ｎでサーバ２のＷｅｂサイトを表示したときに、各画面エリアにおける画面表示部品の制限値を示したものである。画面表示部品制限値情報１２０の画面エリアの「ｄｅｆａｕｌｔ」に対応する値は、各画面エリアにおける全てのサブブロックに対する画面表示部品の制限値である。
【００３７】
重要キーワード情報格納部１３は、重要キーワード情報１３０を格納している。重要キーワード情報１３０の構成例を図６に示す。キーワード種別の項目が「個別設定」となっている５つの重要キーワードは、本実施形態のシステム管理者が個別に設定したものである。キーワード種別の項目が「抽出」となっている５つの重要キーワードは、重要キーワード情報格納部１３が、サーバ２におけるアクセスログ２１から抽出したものである。重要度の項目は、各重要キーワードの重要度の値であり、本実施形態のシステム管理者が設定する。参照頻度の項目は、上述のアクセスログ２１から抽出した重要キーワードについて、サーバ２における当該キーワードに関係する表示画面へのアクセス頻度を、重要キーワード情報格納部１３がアクセスログ２１から抽出した値である。
【００３８】
プログラム変換出力部１４は、中間ソースコード１５を読み込んで、画面表示部品制限値情報１２と重要キーワード情報１３に照らし合わせる。そして、プログラム変換出力部１４は、中間ソースコード１５におけるブロック毎に、スマートフォン５−１乃至５−ｎでサーバ２のＷｅｂサイトを表示したときに、画面表示させない部品を決定する。プログラム変換出力部１４は、スマートフォン５−１乃至５−ｎの画面で表示させないことを示すコード文を、中間ソースコード１５に付加し、変換後ソースコード１６を生成する。変換後ソースコード１６のコード例を図９に示す。
【００３９】
プログラム変換出力部１４は、まず、中間ソースコード１５において、ブロック「ｎａｖｉｇａｔｉｏｎ」におけるサブブロック「ｎａｖｉｇａｔｉｏｎ＿ｂｌｏｃｋ１」について、画面表示部品制限値情報１２０の画面エリア「ｄｅｆａｕｌｔ」に対応する画面表示部品制限値が３であることを読み込む。プログラム変換出力部１４は、引き続いて、サブブロック「ｎａｖｉｇａｔｉｏｎ＿ｂｌｏｃｋ１」に含まれるワードと、重要キーワード情報１３０を照らし合わせて、一致する重要キーワードが無いことを確認する。
【００４０】
プログラム変換出力部１４は、上述の情報から、サブブロック「ｎａｖｉｇａｔｉｏｎ＿ｂｌｏｃｋ１」内の５つの画面表示部品について、記述順で、上述の画面表示部品制限値の３を超える下２つの部品である「ナビメニュー１４」と「ナビメニュー１５」の画面表示部品をスマートフォン５−１乃至５−ｎの画面には表示させないことを決定する。プログラム変換出力部１４は、「ナビメニュー１４」と「ナビメニュー１５」の画面表示部品に対して、スマートフォン５−１乃至５−ｎの画面には表示させないことを示す「ｃｌａｓｓ＝“ｐｃ”」のコード文を付加する。
【００４１】
プログラム変換出力部１４は、次に、サブブロック「ｎａｖｉｇａｔｉｏｎ＿ｂｌｏｃｋ２」について、画面表示部品制限値情報１２の画面エリア「ｄｅｆａｕｌｔ」に対応する画面表示部品制限値が３であることを読み込む。プログラム変換出力部１４は、引き続いて、サブブロック「ｎａｖｉｇａｔｉｏｎ＿ｂｌｏｃｋ２」に含まれるワードと、重要キーワード情報１３０を照らし合わせて、記述順で３番目と４番目の画面表示部品が、それぞれ重要キーワード「ｃｕｓｔｏｍｅｒ」と「ｏｆｆｉｃｅ」を包含していることを確認する。プログラム変換出力部１４は、さらに重要キーワード情報１３０から、重要キーワード「ｃｕｓｔｏｍｅｒ」と「ｏｆｆｉｃｅ」の参照頻度が、それぞれ４４８９２と５７２２であることを確認する。
【００４２】
プログラム変換出力部１４は、上述の情報から、「ｎａｖｉｇａｔｉｏｎ＿ｂｌｏｃｋ２」内の４つの画面表示部品について、上述の画面表示部品制限値の３を超える１つの画面表示部品を下記の通り決定する。プログラム変換出力部１４は、４つの画面表示部品のうち、重要度が最も高い「ｃｕｓｔｏｍｅｒ」を包含するものと、重要度が２番目に高い「ｏｆｆｉｃｅ」を包含するものについて、目的の画面表示部品の候補からはずす。残りの２つの画面表示部品は重要キーワードを包含しておらず、重要度が同等であるため、記述順で後ろになる「ナビメニュー２２」の画面表示部品に対して、「ｃｌａｓｓ＝“ｐｃ”」のコード文を付加する。
【００４３】
プログラム変換出力部１４は、「ｎａｖｉｇａｔｉｏｎ」ブロックが包含する２つのサブブロックについて、同様の処理が完了した後、「ｎａｖｉｇａｔｉｏｎ」ブロックの直下について、次の通り処理を実施する。
【００４４】
プログラム変換出力部１４は、「ｎａｖｉｇａｔｉｏｎ」ブロックについて、画面表示部品制限値情報１２の画面エリア「ｎａｖｉｇａｔｉｏｎ」に対応する画面表示部品制限値が５であることを読み込む。「ｎａｖｉｇａｔｉｏｎ」ブロックが包含する部品、すなわち、サブブロックの数は２であり、画面表示部品制限値の５に収まっているため、プログラム変換出力部１４は、「ｎａｖｉｇａｔｉｏｎ」ブロックに関する処理を終了する。
【００４５】
プログラム変換出力部１４は、引き続いて、「ｅｎｔｒｙ」ブロックについて同様の処理を実施する。「ｅｎｔｒｙ」ブロックの３つのサブブロック内の処理については、上述と同様の内容であるため、省略する。
【００４６】
プログラム変換出力部１４は、「ｅｎｔｒｙ」ブロックが包含する３つのサブブロックについて、上述の処理が完了した後、「ｅｎｔｒｙ」ブロックの直下について、次の通り処理を実施する。
【００４７】
プログラム変換出力部１４は、「ｅｎｔｒｙ」ブロックについて、画面表示部品制限値情報１２の画面エリア「ｅｎｔｒｙ」に対応する画面表示部品制限値が２であることを読み込む。「ｅｎｔｒｙ」ブロックが包含する部品、すなわち、サブブロックの数は３であり、画面表示部品制限値の２を超えているため、プログラム変換出力部１４は、スマートフォン５−１乃至５−ｎの画面には表示させない１つのサブブロックを下記の通り決定する。
【００４８】
３つのサブブロックのうち、「ｍａｉｎ２  ｅｎｔｒｙ＿ｂｌｏｃｋ２」は、重要キーワード「ｓｅｃｕｒｉｔｙ」を包含し、「ｍａｉｎ３  ｅｎｔｒｙ＿ｂｌｏｃｋ３」は、重要キーワード「システム名２」を包含している。したがって、プログラム変換出力部１４は、これら２つのサブブロックを目的のサブブロックの候補からはずし、残った「ｍａｉｎ１  ｅｎｔｒｙ＿ｂｌｏｃｋ１」をスマートフォン５−１乃至５−ｎの画面には表示させないサブブロックに決定する。プログラム変換出力部１４は、「ｍａｉｎ１  ｅｎｔｒｙ＿ｂｌｏｃｋ１」の「ｄｉｖ  ｃｌａｓｓ」文に、スマートフォン５−１乃至５−ｎの画面には表示させないことを示す「ｐｃ」のコード文を付加する。
【００４９】
本実施形態の例には無いが、ｎｏ＿ａｒｅａ（判定不能エリア）に対応付けられたブロックがある場合は、プログラム変換出力部１４は、当該ブロック内の「ｄｉｖ  ｃｌａｓｓ」文に、「ｐｃ」のコード文を無条件に付加する。
【００５０】
プログラム変換出力部１４は、上述の処理結果を全て盛り込んで生成した変換後ソースコード１６を、サーバ２へ送付する。
【００５１】
サーバ２は、変換後ソースコード１６をＷｅｂアプリケーションとして公開し、コンピュータネットワーク３を介して、ＰＣ４−１乃至４−ｍ、および、スマートフォン５−１乃至５−ｎからのアクセスを受け付ける。
【００５２】
サーバ２におけるレイアウト定義格納部（ＣＳＳ）２２は、変換後ソースコード１６において、「ｄｉｖ  ｃｌａｓｓ文」の中に「ｐｃ」のコードを含むサブブロックや、「ｃｌａｓｓ＝“ｐｃ”」のコード文を含む画面表示部品については、スマートフォン５−１乃至５−ｎの画面には表示させないように制御する。
【００５３】
変換後ソースコード１６のＷｅｂアプリケーションをＰＣ４−１乃至４−ｍで実行したときのＰＣにおける表示画面４０と、スマートフォン５−１乃至５−ｎで実行したときのスマートフォンにおける表示画面５０を、図１０に示す。
【００５４】
スマートフォンにおける表示画面５０は、ＰＣにおける表示画面４０と比較して、「ｍａｉｎ１  ｅｎｔｒｙ＿ｂｌｏｃｋ１  ｐｃ」のサブブロックの画面と、リンク２３とナビメニュー１４乃至１５とナビメニュー２２の画面表示部品が非表示となる。
【００５５】
次に図２のフローチャートを参照して、本実施形態の画面情報解析判定部１１の動作について詳細に説明する。
【００５６】
画面情報解析判定部１１は、オリジナルソースコード２０を読み込み、ｉｄ属性情報で定義されるブロックを順番に検索する（Ｓ１０１）。ｉｄ属性情報で定義される未処理ブロックが存在する場合（Ｓ１０２でＹｅｓ）、画面情報解析判定部１１は、当該ブロックに含まれるワードを、画面エリア定義情報１００と照合する（Ｓ１０３）。
【００５７】
一致するワードが存在する場合（Ｓ１０４でＹｅｓ）、画面情報解析判定部１１は、一致する度合いの一番高い画面エリアを当該ブロックに対応付け（Ｓ１０５）、Ｓ１０１へ戻る。一致するワードが存在しない場合（Ｓ１０４でＮｏ）、画面情報解析判定部１１は、判定不能エリア（ｎｏ＿ａｒｅａ）を当該ブロックに対応付け（Ｓ１０６）、Ｓ１０１へ戻る。
【００５８】
全てのブロックに関する処理が完了し、ｉｄ属性情報で定義される未処理ブロックが存在しない場合（Ｓ１０２でＮｏ）、画面情報解析判定部１１は、同じ画面エリアに対応付けたブロックをサブブロックとして１つにまとめた上位ブロックを構築し、各ブロックを当該画面エリアに対応付けるためのコード文をオリジナルソースコード２０に付加して、中間ソースコード１５を出力し（Ｓ１０７）、全体の処理は終了する。
【００５９】
次に図３のフローチャートを参照して、本実施形態のプログラム変換出力部１４の動作について詳細に説明する。
【００６０】
プログラム変換出力部１４は、中間ソースコード１５を読み込み、ｉｄ属性情報で定義されるブロックを順番に検索する（Ｓ２０１）。ｉｄ属性情報で定義される未処理ブロックが存在する場合（Ｓ２０２でＹｅｓ）、プログラム変換出力部１４は、当該ブロックにおいて、ｃｌａｓｓ属性情報で定義されるサブブロックを順番に検索する（Ｓ２０３）。
【００６１】
ｃｌａｓｓ属性情報で定義される未処理サブブロックが存在する場合（Ｓ２０４でＹｅｓ）、プログラム変換出力部１４は、当該サブブロックに含まれるワードを、重要キーワード情報１３０と照合する（Ｓ２０５）。
【００６２】
一致するワードが存在する場合（Ｓ２０６でＹｅｓ）、プログラム変換出力部１４は、部品が包含する当該重要キーワードの重要度と参照頻度が示す順番で、画面表示部品制限値情報１２０における当該サブブロックが属する画面エリアの画面表示部品制限値を越えた分の部品に対して「ｃｌａｓｓ＝“ｐｃ”」のコード文を付加し（Ｓ２０７）、Ｓ２０３へ戻る。
【００６３】
一致するワードが存在しない場合（Ｓ２０６でＮｏ）、プログラム変換出力部１４は、部品の記載の順番で、画面表示部品制限値情報１２０における当該サブブロックが属する画面エリアの画面表示部品制限値を越えた分の部品に対して「ｃｌａｓｓ＝“ｐｃ”」のコード文を付加し（Ｓ２０８）、Ｓ２０３へ戻る。
【００６４】
ｃｌａｓｓ属性情報で定義される未処理サブブロックが存在しない場合（Ｓ２０４でＮｏ）、処理はＳ２０９へ進む。当該ブロックが包含する少なくとも１つのサブブロックが重要キーワードを包含する場合（Ｓ２０９でＹｅｓ）、プログラム変換出力部１４は、当該ブロックが包含する各サブブロックに含まれる重要キーワードの重要度と参照頻度が示す順番で、画面表示部品制限値情報１２０における当該ブロックが属する画面エリアの画面表示部品制限値を超えた分のサブブロックに対して「ｐｃ」のコード文を付加し（Ｓ２１０）、Ｓ２０１へ戻る。
【００６５】
当該ブロックが包含する少なくとも１つのサブブロックが重要キーワードを包含しない場合（Ｓ２０９でＮｏ）、プログラム変換出力部１４は、サブブロックの記載の順番で、画面表示部品制限値情報１２０における当該ブロックが属する画面エリアの画面表示部品制限値を越えた分のサブブロックに対して「ｐｃ」のコード文を付加し（Ｓ２１１）、Ｓ２０１へ戻る。
【００６６】
ｉｄ属性情報で定義される未処理ブロックが存在しない場合（Ｓ２０２でＮｏ）、プログラム変換出力部１４は、変換後ソースコード１６を出力し（Ｓ２１２）、全体の処理は終了する。
【００６７】
本実施形態には、表示画面の大きさが異なる情報端末の画面表示に対応したアプリケーションソフトウェアを効率的に生成するという効果がある。その理由は、プログラム変換出力部１５が、画面表示部品制限値情報格納部１２と重要キーワード情報格納部１３に格納された情報を用いて、ＰＣ画面表示用に作成された既存アプリケーションのオリジナルソースコード２０における一部の画面表示部品を、スマートフォンの画面には表示しないように変換した変換後ソースコード１６を自動生成するからである。
【００６８】
尚、本実施形態では、プログラム変換出力部１４が、スマートフォン５−１乃至５−ｎの画面には表示させないためのコード文を付加した変換後ソースコード１６を出力しているが、スマートフォン５−１乃至５−ｎの画面には表示させない部品自体を削除したソースコード１６を出力してもよい。その場合、サーバ２は、オリジナルソースコード２０をＰＣ４−１乃至４−ｎ用として、変換後ソースコード１６をスマートフォン５−１乃至５−ｎ用として、それぞれの種類の情報端末向けに提供すればよい。
【００６９】
また、本実施形態では、プログラム変換出力部１４が、ＰＣとスマートフォンの２種類の情報端末に対応したソースコードを出力しているが、３種類以上の表示画面の大きさの異なる情報端末に対応したソースコードを出力してもよい。その場合、画面表示部品制限値情報格納部１２が、個々の種類の情報端末に対応した画面表示部品制限値情報１２０を格納し、ソフトウェア変換装置１が同様の処理を行うことで対応可能である。
＜第二の実施形態＞
次に、本願発明の第二の実施形態について図面を参照して詳細に説明する。
【００７０】
図１１は、本実施形態のソフトウェア変換システムの構成を示すブロック図である。
【００７１】
本実施形態のソフトウェア変換装置１は、画面情報解析判定部１１と、画面表示部品制限値情報格納部１２と、プログラム変換出力部１４とを包含している。
【００７２】
画面情報解析判定部１１は、ソフトウェアのオリジナルソースコード２０における画面要素の表示機能を表記したブロックを、ソフトウェア実行時の表示画面を構成する複数の定義された画面エリアに対応付ける。この対応付けのため、本実施形態のオリジナルソースコード２０は、画面要素の表示機能を表記した各ブロックのｉｄ名が、対応する画面エリアの名称を含む名称になるように、ソフトウェア開発者により記述されている。
【００７３】
画面表示部品制限値情報格納部１２は、ある特定の種類の情報端末、例えばスマートフォンなどにおけるソフトウェア実行時の表示画面に関して、画面エリアと、画面エリアに対応づけられたブロックに含まれる部品の画面表示数の制限値との対応関係を示す情報を格納する。その詳細構成は、図５に示す第一の実施形態の画面表示部品制限値情報１２０と同様である。
【００７４】
プログラム変換出力部１４は、オリジナルソースコード２０におけるブロックに含まれる部品の数と、当該ブロックに対応する制限値を比較する。プログラム変換出力部１４は、部品の数が制限値を超えている場合は、制限値を超えた分の部品について、スマートフォンなどの特定の情報端末では表示させないようにソースコードを変換して、変換後ソースコード１６を出力する。
【００７５】
本実施形態には、第一の実施形態と同様に、表示画面の大きさが異なる情報端末の画面表示に対応したアプリケーションソフトウェアを効率的に生成するという効果がある。その理由は、プログラム変換出力部１５が、画面表示部品制限値情報格納部１２に格納された情報を用いて、ＰＣ画面表示用に作成された既存アプリケーションのオリジナルソースコード２０における一部の画面表示部品を、スマートフォンの画面には表示しないように変換した変換後ソースコード１６を生成するからである。
【００７６】
尚、本実施形態は、オリジナルソースコード２０の記述の仕方を工夫することにより、第一の実施形態と比較して簡易な構成で、同等の効果を実現している。
【００７７】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されたものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００７８】
１    ソフトウェア変換装置
１０    画面エリア定義情報格納部
１２    画面表示部品制限値情報格納部
１３    重要キーワード情報格納部
１４    プログラム変換出力部
１５    中間ソースコード
１６    変換後ソースコード
１００    画面エリア定義情報
１２０    画面表示部品制限値情報
１３０    重要キーワード情報
２    サーバ
２０    オリジナルソースコード
２１    アクセスログ
２２    レイアウト定義格納部（ＣＳＳ）
３    コンピュータネットワーク
４−１乃至４−ｍ    ＰＣ
５−１乃至５−ｎ    スマートフォン
４０    ＰＣにおける表示画面
５０    スマートフォンにおける表示画面
【図１】
0005929334.tif 000002
【図２】
0005929334.tif 000003
【図３】
0005929334.tif 000004
【図４】
0005929334.tif 000005
【図５】
0005929334.tif 000006
【図６】
0005929334.tif 000007
【図７】
0005929334.tif 000008
【図８】
0005929334.tif 000009
【図９】
0005929334.tif 000010
【図１０】
0005929334.tif 000011
【図１１】
0005929334.tif 000012