(57)【要約】【課題】各拠点毎に開発されたＧＵＩ画面の整合性を取ることができるようにする。【解決手段】ガイドライン記述データ１００はＧＵＩ整合性維持サーバ１１３のガイドライン解釈エンジン１１１に入力され、解釈された後、コード生成器１１２によりコードが生成される。生成されたクラス群１０１は、各拠点１２１乃至１２３の各開発環境１１４乃至１１６に自動配布される。各開発環境１１４乃至１１６では、クラス群１０１を開発ライブラリとして設定し環境構築を行い、開発担当者１３１乃至１３３は、それぞれ各開発環境１１４乃至１１６上にて開発作業を行う。【選択図】図１
2007249686.tif 000002
【特許請求の範囲】
【請求項１】
各開発環境に対してアプリケーション開発のためのクラス群を配布するアプリケーション開発支援システムであって、
前記サーバは、所定のガイドライン記述言語で記述されたガイドライン記述データを入力する入力手段と、
前記ガイドライン記述データを解釈する解釈手段と、
前記解釈手段による解釈結果に基づいて、クラス群を生成する生成手段と、
前記生成手段によって生成された前記クラス群を各開発環境に配布する配布手段と
を備えることを特徴とするアプリケーションＧＵＩ開発支援システム。
【請求項２】
前記ガイドライン記述データは、前記ガイドライン記述言語を用いてＧＵＩ画面制約が記述されている
ことを特徴とする請求項１に記載のアプリケーションＧＵＩ開発支援システム。
【請求項３】
前記生成手段は、前記ガイドライン記述データの解釈結果に基づいて実行可能コードとして、ガイドライン記述データによって定義されたＧＵＩ構成や制約内容が反映されたＧＵＩテンプレートおよびラッパのクラス群を生成する
ことを特徴とする請求項１または２に記載のアプリケーションＧＵＩ開発支援システム。
【請求項４】
各開発環境上では、ガイドライン記述データに定義されていない部品を使用している場合、前記部品をハイライト表示させるコードが自動的に挿入されるコンパイルがなされ、レビュー時に前記部品が強調表示される
ことを特徴とする請求項１乃至３のいずれかに記載のアプリケーションＧＵＩ開発支援システム。
【請求項５】
各開発環境に対してアプリケーション開発のためのクラス群を配布するアプリケーションＧＵＩ開発支援システムにおけるアプリケーション開発支援方法であって、
前記サーバは、所定のガイドライン記述言語で記述されたガイドライン記述データを入力する入力ステップと、
前記ガイドライン記述データを解釈する解釈ステップと、
前記解釈ステップにおける解釈結果に基づいて、クラス群を生成する生成ステップと、
前記生成ステップにおいて生成された前記クラス群を各開発環境に配布する配布ステップと
を備えることを特徴とするアプリケーション開発支援方法。
【請求項６】
各開発環境に対してアプリケーション開発のためのクラス群を配布するアプリケーションＧＵＩ開発支援システムを制御するアプリケーション開発支援制御プログラムであって、
前記サーバは、所定のガイドライン記述言語で記述されたガイドライン記述データを入力する入力ステップと、
前記ガイドライン記述データを解釈する解釈ステップと、
前記解釈ステップにおける解釈結果に基づいて、クラス群を生成する生成ステップと、
前記生成ステップにおいて生成された前記クラス群を各開発環境に配布する配布ステップとを前記アプリケーションＧＵＩ開発支援システムに実行させる
ことを特徴とするアプリケーション開発支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はアプリケーションＧＵＩ開発支援システムに関し、特に、アプリケーションＧＵＩ画面の開発を支援するアプリケーションＧＵＩ開発支援システムに関するものである。
【背景技術】
【０００２】
複数のＧＵＩ（Graphical User Interface）画面を持つアプリケーション画面開発支援システムの一例が、特許文献１に記載されている。この従来のアプリケーション画面開発支援システムでは、ＧＵＩ部品の属性情報をサーバ側で保持し、各画面の開発時にＧＵＩ部品の詳細な属性をコーディングすることなく、各画面で共通のＧＵＩ部品を使用可能にしている。また、ＧＵＩ部品の属性が変更になった際に、各画面に変更作業が波及しないような利点を備えている。このような構成を有する従来のアプリケーション画面開発支援システムでは、ＧＵＩ画面開発効率や仕様変更を柔軟に行う仕組みに重点が置かれている。
【特許文献１】特開平１１−１９１０６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
現在の組込み機器のソフトウェアは、ハードウェアの高機能化、さまざまなネットワーク接続や周辺機器連携に伴い、ユーザが操作を行う複数のＧＵＩ画面を備えるようになっている。このような大規模な組込みソフトウェア開発では、１つの拠点ではなく、複数の拠点で分担を行う場合が多い。
一般的な分散開発では、各拠点の成果物をプロジェクト管理を行う拠点が取りまとめ、ビルドや結合検査を行う。結合検査で初めてエラーや不整合が検出された場合は、再び担当の拠点に作業依頼を行い、コード修正や単体検査の戻りが発生する。特にＧＵＩ画面の不整合は、各拠点の成果物を結合して初めて確認が取れるものが多く、結合検査時にエラーを検出した場合は、大きなコストが生じる場合が多い。
一方で仕様からソースコードの整合性検証を行う形式仕様手法が存在するが、数学や仕様記述の知識が必要となり、一般的には導入が難しい。また、最初に仕様書を決定しても、開発中に決定されたり変更される項目を含む限り、曖昧性が生じ形式仕様での検証は難しい。これより、ソースレベルでは拠点ごとに相違が生じてしまう可能性がある。
【０００４】
本発明はこのような状況に鑑みてなされたものであり、上記問題点を解決できるアプリケーションＧＵＩ開発支援システムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
請求項１に記載のアプリケーションＧＵＩ開発支援システムは、各開発環境に対してアプリケーション開発のためのクラス群を配布するアプリケーションＧＵＩ開発支援システムであって、サーバは、所定のガイドライン記述言語で記述されたガイドライン記述データを入力する入力手段と、ガイドライン記述データを解釈する解釈手段と、解釈手段による解釈結果に基づいて、クラス群を生成する生成手段と、生成手段によって生成されたクラス群を各開発環境に配布する配布手段とを備えることを特徴とする。
また、ガイドライン記述データは、ガイドライン記述言語を用いてＧＵＩ画面制約が記述されているようにすることができる。
また、生成手段は、ガイドライン記述データの解釈結果に基づいて実行可能コードとして、ガイドライン記述データによって定義されたＧＵＩ構成や制約内容が反映されたＧＵＩテンプレートおよびラッパのクラス群を生成するようにすることができる。
また、各開発環境上では、ガイドライン記述データに定義されていない部品を使用している場合、部品をハイライト表示させるコードが自動的に挿入されるコンパイルがなされ、レビュー時に部品が強調表示されるようにすることができる。
請求項５に記載のアプリケーション開発支援方法は、各開発環境に対してアプリケーション開発のためのクラス群を配布するアプリケーションＧＵＩ開発支援システムにおけるアプリケーション開発支援方法であって、サーバは、所定のガイドライン記述言語で記述されたガイドライン記述データを入力する入力ステップと、ガイドライン記述データを解釈する解釈ステップと、解釈ステップにおける解釈結果に基づいて、クラス群を生成する生成ステップと、生成ステップにおいて生成されたクラス群を各開発環境に配布する配布ステップとを備えることを特徴とする。
請求項６に記載のアプリケーション開発支援制御プログラムは、各開発環境に対してアプリケーション開発のためのクラス群を配布するアプリケーションＧＵＩ開発支援システムを制御するアプリケーション開発支援制御プログラムであって、サーバは、所定のガイドライン記述言語で記述されたガイドライン記述データを入力する入力ステップと、ガイドライン記述データを解釈する解釈ステップと、解釈ステップにおける解釈結果に基づいて、クラス群を生成する生成ステップと、生成ステップにおいて生成されたクラス群を各開発環境に配布する配布ステップとをアプリケーションＧＵＩ開発支援システムに実行させることを特徴とする。
【発明の効果】
【０００６】
本発明のアプリケーションＧＵＩ開発支援システムによれば、次のような効果が得られる。
第１の効果は、見栄えが似ているが、無数のＧＵＩ画面を持つ大規模な組込みソフトウェアにおいて、各拠点ごとに開発されたＧＵＩ画面の整合性を取ることができることにある。その理由は、ＧＵＩ画面のガイドラインを解釈するＧＵＩ整合性維持サーバと、拠点開発環境によって、拠点間で整合の取れたクラスライブラリを用いたＧＵＩ画面の開発を行えるからである。
第２の効果は、結合検査のコストを減らし、検査工程に掛かる時間を短縮できることにある。その理由は、各拠点のアプリケーションの単体検査の段階でＧＵＩ画面の不整合や曖昧性を検出できるため、結合検査で初めて検出される修正点を減らし、各拠点の単体検査への後戻りを減少させることができるからである。
第３の効果は、ＧＵＩ画面の仕様の曖昧な点を確認しやすいことにある。その理由は、拠点開発環境上でレビューモードでコンパイルした際、仕様で未定義の画面部分がハイライト表示されるコードが挿入され、レビューで視覚的に確認ができるからである。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の概要について説明する。本発明では、プロジェクトの分散拠点開発の特徴に着目し、ＧＵＩのガイドライン記述言語によって画面構成やＧＵＩ（Graphical User Interface）部品の仕様を表現し、拠点ごとに仕様に忠実な成果物を維持することで、結合検査で検出されるＧＵＩ画面の不整合を軽減することができる。
【０００８】
また、本発明では、アプリケーションＧＵＩ画面のガイドラインを記述する言語と、その言語によって記述されたガイドライン記述データ１００を解釈し、ＧＵＩ専用フレームワークやラッパ等のクラス群１０１を生成するＧＵＩ整合性維持サーバ１１３（図１）を有する。大規模組込みソフトウェアの開発では、複数のアプリケーションでほぼ同一のＧＵＩ画面構成や操作性を提供する必要があるが、複数の拠点で開発を行う場合、仕様で定義されていないＧＵＩ部品の大きさや配置場所に不整合が生じる可能性がある。本発明はこのような開発を対象としている。
【０００９】
プロジェクト取りまとめ拠点１２０の仕様作成者は、本発明のガイドライン記述言語を用いてＧＵＩのガイドラインを記述したガイドライン記述データ１００を作成し、ＧＵＩ整合性維持サーバ１１３に入力することで、ガイドラインの内容が反映されたＧＵＩフレームワークやラッパのコードを自動生成する。取りまとめ拠点１２０のＧＵＩ整合性維持サーバから各アプリケーション開発拠点の開発環境１１４乃至１１６（図１）に、生成したクラス群１０１を自動配布する。各拠点１２１乃至１２３（図１）の開発者は、専用の開発環境１１４乃至１１６上で配布されたフレームワークやラッパを利用して開発業務を行う。
【００１０】
次に、本発明の一実施の形態の構成について図面を参照して詳細に説明する。図１は、本発明のアプリケーションＧＵＩ開発支援システム（以下、システムという）の一実施の形態の構成例を示している。図１に示す通り、本システムは、ガイドライン記述言語によって記述されたガイドライン記述データ１００が入力されるＧＵＩ整合性維持サーバ１１３と、各拠点の開発環境から構成される。
【００１１】
仕様作成者は、取りまとめ拠点１２０でアプリケーションの共通仕様の作成の際に、ガイドライン記述言語を用いてＧＵＩ画面制約のためのガイドラインの記述を行う。ＧＵＩ整合性維持サーバ１１３は、ガイドラインが記述されたガイドライン記述データ１００を入力情報とし、記述内容を解釈し実行可能コードとして、ＧＵＩテンプレートやラッパのクラス群１０１を自動生成する。生成されたクラス群１０１には、ガイドライン記述データ１００で定義されたＧＵＩ構成や制約内容が反映されている。
【００１２】
ＧＵＩ整合性維持サーバ１１３は、各拠点１２１乃至１２３の拠点開発環境（開発環境）１１４乃至１１６へクラス群１０１を自動配布し、各拠点１２１乃至１２３のアプリケーション開発者が開発環境１１４乃至１１６上でＧＵＩテンプレートを継承し、または、ＧＵＩ部品ラッパを通してＧＵＩ部品の呼び出しを行い、開発作業を行う。
【００１３】
本実施の形態においては、各拠点１２１乃至１２３では開発したアプリケーションの単体検査まで行うことを想定している。拠点開発環境１１４乃至１１６上のコンパイル方式は、リリースモードとレビューモードの２種類が提供されている。
【００１４】
リリースモードでは、取りまとめ拠点１２０にリリースすることを想定した実行可能形式ファイルが生成される。ガイドラインの定義に違反している場合は、コンパイル時に違反内容のエラーメッセージが表示される。
【００１５】
レビューモードでは、ガイドライン記述データ１００に定義されていない部品を使用している場合は、その部品をハイライト表示させるコードが自動的に挿入されコンパイルされる。ガイドラインで明示的に定義されていない箇所は、仕様の曖昧性を含むと判断され、拠点開発環境１１４乃至１１６上でレビュー時にハイライト表示され、担当者に注意を促すような仕組みが提供される。
【００１６】
図１に示す通り、本実施の形態は、ＧＵＩ整合性維持サーバ１１３と、各拠点１２１、１２２、１２３の開発環境１１４、１１５、１１６から構成されている。入力データとしては、ＸＭＬ（eXtensible Markup Language）形式準拠のガイドライン記述データ１００がある。
【００１７】
ＧＵＩ整合性維持サーバ１１３は、ガイドライン記述言語で記述されたガイドライン記述データを解釈するガイドライン解釈エンジン１１１と、記述内容からＧＵＩテンプレートやラッパのクラス群１０１を自動生成するコード生成器１１２を含む。
【００１８】
また、ＧＵＩ整合性維持サーバ１１３は、各拠点１２１乃至１２３の開発環境１１４、１１５、１１６に対してクラス群１０１を自動配布する機能を備える。
【００１９】
図４は、ガイドライン記述言語の言語仕様を示している。ガイドライン記述言語は、図４に示すように、ＸＭＬ形式に従ったＧＵＩ画面構成や各ＧＵＩ部品の属性を定義できるマークアップ言語である。図５は、ガイドライン記述データの例を示している。
【００２０】
ガイドライン記述言語は、記述を階層的に行える。図２に示したように、複数の拠点２０２乃至２０６で１つのアプリケーションを開発する際、開発環境２１１と２１２、または、開発環境２１３と２１４をそれぞれ１つのグループ２２１とみなし、そのグループ２２１独自のＧＵＩ画面のガイドラインについて記述することができる。ガイドラインが記述されたガイドライン記述データ１００の優先度は、高いほうから、全体のガイドライン、グループのガイドライン、サブグループのガイドラインとなっている。
【００２１】
ＧＵＩ整合性維持サーバ１１３の解釈エンジン１１１は、入力として与えられたガイドライン記述データ１００を解析し、コード生成器１１２がＧＵＩテンプレートやラッパのクラス群１０１を自動生成する。
【００２２】
ガイドライン記述データ１００にグループが指定されている場合は、グループによって生成されるクラスのコード内容が異なる。生成されたクラス群１０１は、ＧＵＩ整合性維持サーバ１１３から各拠点１２１乃至１２３の開発環境１１４、１１５、１１６に自動配布され、自動的にインストールされる。
【００２３】
次に、図３のフローチャートを参照して本発明の実施の形態の動作について詳細に説明する。
【００２４】
開発環境構築では、まず仕様に基づき、ＧＵＩのガイドラインをガイドライン記述言語を用いて作成する（図３のステップ２）。
【００２５】
次に、ＧＵＩ整合性維持サーバ１１３のガイドライン解釈エンジン１１１に、作成したガイドライン記述データ１００を入力し、定義されているＧＵＩ画面構成、ＧＵＩ部品名（図４のbutton要素、form要素等）、部品の属性（図４のbutton要素のmaxTitle属性等）を抽出する（図３のステップ３）。
【００２６】
ステップ３の抽出データをもとに、コード生成を行う（図３のステップ４）。次に、ＧＵＩ整合性維持サーバ１１３から拠点開発環境１１４乃至１１６にクラス群１０１を自動配布する（図３のステップ５）。
【００２７】
次に、各拠点の開発環境は、クラス群１０１を開発ライブラリとして設定し環境構築を行う（図３のステップ６）。次に、アプリケーションの開発担当者１３１乃至１３３は、それぞれ各拠点開発環境１１４乃至１１６上にて開発作業を行う（図３のステップ７）。
【００２８】
レビューでは、拠点開発環境１１４乃至１１６上でレビューモードでコンパイルを行う。開発環境１１４乃至１１６においては、ガイドライン記述データ１００において未定義のＧＵＩ部品等にマーカを付けるコードを挿入してコンパイルを行う（図３のステップ８）。拠点開発環境１１４乃至１１６では、レビュー表示を行い、開発担当者１３１乃至１３３はそれぞれ見栄えを確認することができる（図３のステップ９）。
【００２９】
以上説明したように、本実施の形態により以下のような効果が得られる。
第１の効果は、見栄えが似ているが、無数のＧＵＩ画面を持つ大規模な組込みソフトウェアにおいて、各拠点１１４乃至１１６毎に開発されたＧＵＩ画面の整合性を取ることができることにある。その理由は、ＧＵＩ画面のガイドラインを解釈するＧＵＩ整合性維持サーバ１１３と、拠点開発環境１１４乃至１１６において、拠点１２１乃至１２３間で整合の取れたクラスライブラリを用いたＧＵＩ画面の開発を行うことができるからである。
【００３０】
第２の効果は、結合検査のコストを減らし、検査工程に掛かる時間を短縮できることにある。その理由は、各拠点のアプリケーションの単体検査の段階でＧＵＩ画面の不整合や曖昧性を検出できるため、結合検査で初めて検出される修正点を減らし、各拠点の単体検査への後戻りを減少させることができるからである。
【００３１】
第３の効果はＧＵＩ画面の仕様の曖昧な点を確認しやすいことにある。その理由は、拠点開発環境１１４乃至１１６上でレビューモードでコンパイルした際、仕様で未定義の画面部分がハイライト表示されるコードが挿入され、レビューで視覚的に確認ができるからである。
【００３２】
なお、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更することができることは言うまでもない。
【産業上の利用可能性】
【００３３】
本発明によれば、ガイドライン言語やコード生成器を拡張することで、仕様に従ったＧＵＩ画面の整合性管理だけではなく、アプリケーション間の連携や通信のインタフェースといった共通なコード記述を管理する用途にも適用できる。
【図面の簡単な説明】
【００３４】
【図１】本発明のアプリケーションＧＵＩ開発支援システムの一実施の形態の構成例を示す図である。
【図２】開発環境のグループ化を示す図である。
【図３】本実施の形態の動作を説明するためのフローチャートである。
【図４】ガイドライン記述言語の言語仕様を示す図である。
【図５】ガイドライン記述データの例を示す図である。
【符号の説明】
【００３５】
１００  ガイドライン記述データ
１１１  ガイドライン解釈エンジン
１１２  コード生成器
１１３  ＧＵＩ整合性維持サーバ
１０１  クラス群
１１４乃至１１６、２１１乃至２１５  開発環境
１２０乃至１２３、２０１乃至２０６  拠点
１３１乃至１３３  開発担当者
２２１  グループ
【図１】
2007249686.tif 000003
【図２】
2007249686.tif 000004
【図３】
2007249686.tif 000005
【図４】
2007249686.tif 000006
【図５】
2007249686.tif 000007