(57)【要約】【課題】コンピュータ・プログラムのメニュー設計を検証する方法を提供する。【解決手段】コンピュータ・プログラムのメニュー設計を検証する方法は、複数のメニュー・ノードを識別するステップであって、各ノードが少なくとも１つの属性と関連するステップと、ユース・ケースに従って、異なるメニュー・ノードの属性を比較するステップと、ユース・ケースに対して異なるメニュー・ノードの属性間に競合が存在するかを示すステップとを含むことができる。【選択図】図１
2008146391.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ・プログラムのメニュー設計を検証する方法であって、
それぞれが少なくとも１つの属性と関連する複数のメニュー・ノードを識別するステップと、
ユース・ケースに従って、異なるメニュー・ノードの属性を比較するステップと、
前記ユース・ケースに対して異なるメニュー・ノードの属性間に競合が存在するかを示すステップと
を含む方法。
【請求項２】
前記属性がメニュー・レベル属性を含み、前記比較するステップが、前記ユース・ケースに従って、競合するメニュー・レベル属性を有する少なくとも２つのメニュー・ノードを検出するステップを更に含む、請求項１に記載の方法。
【請求項３】
前記属性が略号属性を含み、前記比較するステップが、前記ユース・ケースに従って、競合する同じ略号属性を有する少なくとも２つのメニュー・ノードを検出するステップを更に含む、請求項１に記載の方法。
【請求項４】
前記属性がショートカット属性を含み、前記比較するステップが、競合する同じショートカット属性を有する少なくとも２つのメニュー・ノードを検出するステップを更に含む、請求項１に記載の方法。
【請求項５】
指定された属性に従ってメニュー・ノードをフィルタリングするステップを更に含む、請求項１に記載の方法。
【請求項６】
前記指定された属性が、略号、ショートカット及びメニュー・レベルより成る群から選択される、請求項５に記載の方法。
【請求項７】
前記指定された属性が、メニュー項目状態及び条件より成る群から選択される、請求項５に記載の方法。
【請求項８】
指定されたユース・ケースに従ってメニュー・ノードをフィルタリングするステップを更に含む、請求項５に記載の方法。
【請求項９】
略号が欠落しているメニュー・ノードを識別するステップを更に含む、請求項１に記載の方法。
【請求項１０】
コンピュータ・プログラムのメニュー設計を検証する方法であって、
選択されたユース・ケースに従ってメニュー・ノードの階層のサブセットを決定するステップと、
前記選択されたユース・ケースに従って前記サブセットの各メニュー・ノードの状態を示す、前記サブセットのビジュアル表現を表示するステップと
を含む方法。
【請求項１１】
前記ビジュアル表現を表示するステップは、前記サブセットの各メニュー・ノードが使用可能であるかを示すステップを更に含む、請求項１０に記載の方法。
【請求項１２】
前記ビジュアル表現を表示するステップは、前記サブセットのメニュー・ノードが略号属性を欠落しているかを示すステップを更に含む、請求項１０に記載の方法。
【請求項１３】
前記ビジュアル表現を表示するステップは、前記サブセットの少なくとも２つのメニュー・ノードが、競合する略号属性を有するかを示すステップを更に含む、請求項１０に記載の方法。
【請求項１４】
前記ビジュアル表現を表示するステップは、少なくとも２つのメニュー・ノードが、競合するショートカット属性を有するかを示すステップを更に含む、請求項１０に記載の方法。
【請求項１５】
コンピュータ・プログラムのメニュー設計を検証するためのプログラムであって、
選択されたユース・ケースに従ってグラフィカル・ユーザ・インターフェースのメニュー・ノードの階層のサブセットを判断する手順と、
前記選択されたユース・ケースに従って前記サブセットの各メニュー・ノードの状態を示す、前記サブセットのビジュアル表現を表示する手順と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発に関し、特に、コンピュータ・プログラムまたはグラフィカル・ユーザ・インターフェースで用いるメニューの設計に関する。
【背景技術】
【０００２】
ポインティング装置の使用を除いて、ユーザがコンピュータ・プログラムと対話するための主な手段はメニューを用いることである。使いやすさを促進するため、メニューは、論理的に、かつ、プログラム内で使用可能な種々の機能をユーザが容易に検出できるように設計されている。代表的に、メニューはトップ・レベルのメニュー項目またはノードセットを含み、それぞれのトップ・レベル・メニュー・ノードの下位には、子メニュー・ノードが編成されている。このように、詳細の追加レベルがメニュー構造に備えられ、組み込まれている。依然として、プログラムはますます複雑になってきており、機能の配列をますます増加させている。予想される通りに、これら機能にアクセスするのに必要とされるメニューは、プログラムの複雑性に匹敵するまで増大した。しばしば、メニューは、幾つかの階層レベルで表示画面にわたって広がる傾向にある。
【０００３】
現在、コンピュータ・プログラムの作成に関して、設計者が最初にメニューを設計するという点で、メニュー設計は独立した作業である。設計者は、プログラムに用いられるメニュー構造を指定するテキスト文書またはメニュー仕様を書く。実際のメニュー構造に加えて、メニュー仕様は、プログラムの操作状態に対応するメニューの状態を指定する。プログラムの操作状態は、場合によってユース・ケースとも称され、所与の時点でのプログラムのコンテキストを示す。例えば、ユース・ケースは、コンピュータ・プログラムの異なる変数にストアされた値を示すことができる。また、ユース・ケースは、プログラムに供給され、プログラムを特定の操作状態に置いた様々なユーザ入力を反映することができる。どのような場合でも、プログラム・メニューを記述するのに用いられるメニュー仕様は、プログラム自体のように、大規模かつ複雑となる傾向がある。その結果、メニュー仕様は、通常、管理し難く、理解し難い。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、実際にプログラム・メニューがコード化される青写真としてプログラマが用いるのはこのメニュー仕様である。異なるユース・ケースにより反映されるように、プログラムの異なる操作状態に対するメニューの状態を指定するのがメニュー仕様であるので、追加として、コード化された後、次に、品質エンジニアは、メニュー仕様を用いてプログラム内のメニュー実装を検証する。上述したように、メニュー仕様文書の複雑な性質は、プログラマ及び品質エンジニアがメニュー実装のコード化または検証に必要な情報を収集することを困難にさせる。
【０００５】
従って、上述した制限を克服するようにメニュー状態情報を表示できる技術またはツールを提供するのが有利である。
【課題を解決するための手段】
【０００６】
本発明は、コンピュータ・プログラムのメニュー設計及び検証に関する方法及びプログラムを提供する。本発明の一実施形態は、コンピュータ・プログラムのメニュー設計を検証する方法を含むことができる。この方法は、それぞれが少なくとも１つの属性と関連する複数のメニュー・ノードを識別するステップと、ユース・ケースに従って、異なるメニュー・ノードの属性を比較するステップと、ユース・ケースに対して異なるメニュー・ノードの属性間に競合が存在するかを示すステップとを含むことができる。
【０００７】
本発明の別の実施形態は、選択されたユース・ケースに従ってメニュー・ノードの階層のサブセットを判断するステップと、サブセットのビジュアル表現を表示するステップと含む、プログラムのメニュー設計を検証する方法を含むことができる。ビジュアル表現は、選択されたユース・ケースに従ってサブセットの各メニュー・ノードの状態を示すことができる。
【０００８】
本発明の別の実施形態は、本明細書で開示する様々なステップ及び方法をコンピュータに実行させるためのプログラムを含むことができる。
【発明を実施するための最良の形態】
【０００９】
図には、本発明の好適な実施形態を示す。しかし、当然のことながら、本発明は、図示の正確な配置及び手段に限定されない。
【００１０】
本明細書は、新規と見なされる本発明の特徴を定義する請求項で結論をまとめているが、図面と併せた説明の検討から本発明がより理解されると考えられる。必要に応じて、本発明の詳細な実施形態が本明細書で開示される。しかし、当然のことながら、開示された実施形態は本発明の単なる例示にすぎず、本発明を様々な形態に具体化することができる。従って、本明細書で開示した特定の構造上及び機能上の詳細は制限としてではなく、単に請求項の根拠として、かつ、適切に詳細な構造で事実上本発明を様々に用いるため、当業者を教示する典型的な基礎として解釈されるべきである。更に、本明細書で用いる用語及び語句は、限定するものではなくむしろ本発明の記述を理解させるためのものである。
【００１１】
本明細書で述べる実施形態は、コンピュータ・プログラム・メニューの設計及び検証に関する。本明細書で述べる実施形態によれば、メニュー項目をメニュー項目の様々な属性と一緒に指定することができる。メニュー項目の動作とメニュー項目の階層とを属性により指定することができる。更に、本発明は、プログラムに関する異なるユース・ケースに対するメニューの状態のビジュアル表示及びその様々な部分を作成することができる。
【００１２】
図１は、本発明の一実施形態に従ってメニュー設計ツールで用いるグラフィカル・ユーザ・インターフェース（ＧＵＩ）１００を示す図である。メニューのメニュー・ノードとこれらメニュー・ノードの様々な属性とを指定し、メニュー設計ツールとのインターフェースとして作用するのにＧＵＩ１００を用いることができる。一連の選択可能なアイコン１０５はＧＵＩ１００の上部に配置されている。一実施形態では、選択可能なアイコン１０５をハイパーリンク・テキストとすることができるが、様々な選択可能なユーザ・インターフェース・エレメントのいずれをも用いることができる。選択可能なアイコン１０５は、「ファイル・メニュー」、「編集メニュー」、「表示メニュー」及び「ツール・メニュー」アイコンを含むことができる。選択可能なアイコンの各々は、メニューが作成されるプログラムで使用可能なトップ・レベル・メニュー項目に対応することができる。本明細書で更に詳細に説明するように、これらボタンを動的に生成することができる。トップ・レベル・メニュー・ノードは、典型的にコンピュータ・プログラムのタスク・バーで使用可能なメニュー・タイトルまたはオブジェクトを意味し、選択された場合、そこからドロップ・ダウン・メニューが現れる。選択可能なアイコン１０５のいずれかを選択することにより、選択されたトップ・レベル・メニュー・ノードすなわち、ファイル・メニュー構造、表示メニュー構造などに専用化された更なるＧＵＩを表示する。
【００１３】
列見出し１１０の行は、ＧＵＩ１００を用いて指定できる情報の様々な項目または属性を示す。図示のように、列見出し１１０は、「トップ・メニュー」、「メニュー・レベル１」、「メニュー・レベル２」、「略号」、「ショートカット・キー」、「チェック・マーク？」及び「記述」を含む。所望に応じて、「追加条件」列及び「特殊ケース」列のような更なる見出しを含むことができる。メニュー設計者は、様々なメニュー・ノード及び対応する属性を指定するため、ＧＵＩ１００のフィールド内に直接に情報を入力することができる。例えば、トップ・レベル・メニュー・ノードが設計者により入力された後、このようなトップ・レベル・メニュー・ノードの各々に対して、対応する選択可能なアイコン１０５をメニュー設計ツールによりＧＵＩ１００の上部に動的に生成することができる。
【００１４】
列見出し「トップ・メニュー」、「メニュー・レベル１」及び「メニュー・レベル２」は、メニュー・ノードが配置されているメニュー階層内の特定のロケーションを示す。また、各メニュー・ノードの配置は階層内のメニュー・ノードの配置を示し、当該メニュー・ノードの親メニュー・ノードまたは子メニュー・ノードを指定する。図示のように、トップ・レベル・メニュー・ノードは「ファイル」を含むことができる。更なるトップ・レベル・メニュー・ノードは、上部にリストされた選択可能なアイコン１０５を含むことができ、それらは、スクロール・バー１２０に適切にアクセスすることにより表示することができる。「メニュー・レベル１」と題された列は、選択されたトップ・レベル・ノードの下に延在するドロップ・ダウン・メニュー内にリストされたメニュー・ノードのサブセットを示す。「メニュー・レベル２」と題された列は、レベル１メニュー項目の１つを選択することにより「ポップアウト」タイプ・メニュー内にリストできるメニュー・ノードを示す。図１に示すメニュー構造は、トップ・レベル・メニュー・ノード「ファイル」を含む。「ファイル」が選択されると、レベル１メニュー・ノード「新規」が使用可能となる。レベル１メニュー・ノード「新規」の選択により、ユーザはレベル２メニュー・ノード「メッセージ」または「チャット」のそれぞれの選択により、新規メッセージまたは新規チャット・セッションの作成を選択することができる。
【００１５】
「略号」と称する次の列は、各メニュー・ノードと関連する略号を、割り当てられたらリストする。略号は、人が所与のメニュー・ノードを記憶し易いように選択された省略語である。コンピュータ・プログラム・メニューとの関連で、一般に略号は、メニュー・ノードに割り当てられる単一のキーまたは文字である。ドロップ・ダウン・メニューが起動されると、略号を入力することができる。「ショートカット・キー」と称する次の列は、メニュー・ノードから起動される様々な機能をキー操作で起動するのに用いることができるショートカット・キーの組み合わせを示す。略号は、メニューが起動または選択された場合に用いられるが、ショートカット・キーは、一般に、ユーザがメニュー構造にアクセスするのを全く必要とせずに、機能を呼び出す。
【００１６】
「チェック・マーク？」と称する次の列は、メニュー・ノードを選択した後、例えば、メニュー内のメニュー・ノードに隣接して配置されたチェック・マークまたは他のビジュアル・インジケータを用いて、メニュー・ノードが選択されるか、または選択されたかを視覚的に表す。「記述」と題された列は、設計者の注釈または他の補足情報に使用できる。行１１５は、特定の属性値用のフィルタなどと同様に、列内のメニュー・ノードを昇順または降順に再配列することを設計者に許可するフィルタの集合を含む。
【００１７】
図２は、本発明の別の実施形態に従ってメニュー設計ツールで用いるＧＵＩ２００を示す。ＧＵＩ２００はメニュー設計ツールの略号検証機能を示す。本明細書に開示した実施形態によれば、競合が存在するか、または、その可能性を秘めているかを判別するため、異なるメニュー・ノードに割り当てられた略号を分析することができる。ＧＵＩ２００は、ＧＵＩ１００のように、「トップ・メニュー」、「メニュー・レベル１」及び「メニュー・レベル２」のような列見出しを有する列見出し行２０５を含むことができる。設計される特定のメニュー階層に基づいて、必要に応じ、追加のメニュー・レベルすなわち「メニュー・レベル３」、「メニュー・レベル４」などの更なる列を含むことができる。従って、図２に示すように、トップレベル・メニュー・ノード「アクション」は、「グループに追加」、「カレンダ」、「転送」、及び、図示されていないが垂直スクロール・バー２１０を介してアクセス可能なその他のメニュー・レベル１メニュー・ノード子を有する。
【００１８】
列見出し「略号」２１５は、様々なメニュー・ノードに割り当てられた特定の略号を示す。フィールド内の「１」は、列の上部にある略号が対応のメニュー・ノードに割り当てらていることを示す。例えば、レベル２メニュー・ノード「コメント付き同意」及び「カレンダに追加」の両方には、略号「Ｗ」が割り当てられている。略号見出し「Ｗ」、「ｙ」及び「ｚ」を有する列は、割り当てられた略号の一部だけを表す。水平スクロール・バー２２０を用いて左または右にスクロールすることにより更なる略号を表示することができる。しかし、「合計」列２２５は、列「トップ・メニュー」、「メニュー・レベル１」及び「メニュー・レベル２」と同様に、固定することができる。「合計」列２２５は、各行のインジケータを、更には、所与のレベル１メニュー・ノードのレベル２メニュー・ノード子のすべてのインジケータを合計する。
【００１９】
「合計」列２２５は、各合計ボックスにおける「１」の存在により示すように、図示のレベル２メニュー・ノードのすべてに対し、各々に略号が割り当てられていることを示す。各レベル１メニュー・ノードは「合計」行２３０すなわち、「グループに追加＞合計」、「カレンダ＞合計」及び「転送＞合計」を有することができる。「グループに追加＞合計」と題された行の「合計」列２２５は、２つのレベル２メニュー・ノード子を有する「グループに追加」レベル１メニュー項目に２つの略号が割り当てられていることを示す。合計が「グループに追加」の下のレベル２メニュー・ノードの数より少なかったら、１つ以上のレベル２メニュー・ノードで略号が欠落している。合計が「グループに追加」の下のレベル２メニュー・ノードの数より高ければ、１つ以上のレベル２メニュー・ノードに２つ以上の略号が割り当てられている。
【００２０】
「合計」行２３０すなわち、「グループに追加＞合計」、「カレンダ＞合計」及び「転送＞合計」内では、可能な略号の競合を示すことができる。特に、「カレンダ＞合計」と題された行内に２の数値を有する陰影付けボックス２３５は、レベル１メニュー・ノード「カレンダ」の下のレベル２メニュー・ノードの２つに同一略号、この場合「Ｗ」が割り当てられていることを示す。中に数値がある陰影付けボックス２３５は、潜在的な競合を示す。両方のメニュー項目が所与のユース・ケースで同時に使用可能であるためには、少なくとも「カレンダ」の下の他のレベル２メニュー・ノードに関して、各々は固有の略号を必要とする。
【００２１】
しかし、メニュー・ノードのユース・ケースがメニュー・ノード「コメント付き同意」及び「カレンダに追加」を同時に使用可能にしないようにするかもしれない。すなわち、一方が使用可能であれば、他方が使用不可にされ、灰色表示される場合がある。その場合、２つのメニュー項目は共通または同一の略号を共用してもよい。
【００２２】
ユース・ケースは、メニューが設計されるコンピュータ・プログラムの特定の操作状態を意味する。所与のユース・ケースの各々に対してメニューは特定の状態を有する。言い換えれば、コンピュータ・プログラムの各操作状態に対してメニューは特定の状態を有する。メニュー状態は、メニューを形成するメニュー・ノードの属性の値を定義する。例えば、所与の操作状態では、特定のメニュー・ノードを使用可能にし、その他を使用可能にしないことができる。メニュー・ノードの属性に反映されるように各メニュー・ノードの状態を所与の使用状態と関連付けることができる。
【００２３】
例として、簡単なユース・ケースを、いかなる文書もロードされていないアプリケーション・プログラム内のトップ・レベル・メニュー・ノード「ファイル」のユーザ選択とすることができる。「ファイル」のユーザ選択に応答してメニューが定義状態に置かれる。例えば、「ファイル」の下の特定のレベル１メニュー・ノードだけが使用可能にされる。ワード・プロセッサの場合では、例えば、使用可能なレベル１メニュー・ノードを「新規」に限定して新規の文書を作成するか、「開く」に限定して既存の文書を開くことができる。文書が作成されるか、または開かれるまで、ワード処理アプリケーション内で開かれている文書に関するその他のメニュー・ノードは使用可能にならない。
【００２４】
当然のことながら、図２に表す様々なデータ・フィールドを、メニュー設計者により入力された、すなわちＧＵＩ１００に入力されたデータに基づいて自動的に設定することができる。従って、例えば、欠落した略号、欠落したショートカット、競合する略号、及び、競合するショートカットの識別に関して本明細書で開示された様々な機能を自動的に実行することができる。
【００２５】
図３は、本発明の別の実施形態に従ってメニュー設計ツールで用いるＧＵＩ３００を示す。図示のように、ＧＵＩ３００は「ファイル・メニュー」トップ・レベル・メニュー項目に対応する。各トップ・レベル・メニュー・ノードは、設計者が特定のトップレベル・メニュー・ノードで作業できるＧＵＩ３００のような専用のＧＵＩビューを有することができる。ＧＵＩ３００は、図１を参照して説明した選択可能なアイコン１０５の１つを選択した際に表示できるＧＵＩの一例である。この場合、図１の選択可能なアイコン１０５の「ファイル・メニュー」を選択することに応答してＧＵＩ３００を表示することができる。
【００２６】
一組のユース・ケースが特定のトップ・レベル・メニュー項目、この場合「ファイル」に関連するように、設計者は、ＧＵＩ３００により一組のユース・ケースに対するメニュー・ノードの状態を指定することができる。図示のように、次に来るユース・ケース３０５は、「メール・ビューで何も選択されていない」、「カレンダは何も選択されていない」、「カレンダでエントリが選択された」、及び、「サイド・カレンダでエントリが選択された」と指定されている。図示のユース・ケース３０５は、電子メール及びカレンダ機能を有する個人情報マネージャに対応する。上述したように、各ユース・ケース３０５は、メニューが設計されるコンピュータ・プログラムの特定の操作状態を記述する。
【００２７】
本発明の別の実施形態によれば、各ユース・ケース３０５を選択可能なアイコンまたはその他のビジュアル・エレメントとすることができる。選択されると、コンピュータ・プログラムの操作状態のビューを表示することができる。すなわち、メニュー設計者は、ユース・ケースに対応するコンピュータ・プログラムの操作状態を示すスクリーン・ショットをストアすることができる。ユース・ケース３０５の１つを選択することに応答して、関連するスクリーン・ショット・ケースを表示することができる。メニュー設計者は、ＧＵＩ３００によりユース・ケースごとに各メニュー・ノードの特定状態を指定することもできる。例えば、一実施形態では、設計者は、各ユース・ケースに対して所与のメニュー・ノードが使用可能であるか使用不可であるかを示すことができる。図１を参照して説明したようにフィルタ３１０も設けられている。
【００２８】
当然のことながら、本明細書で開示されたＧＵＩは例示のみの目的で与えられているので、これらＧＵＩは、本発明を決して限定するものではない。例えば、本明細書で開示された実施形態の意図から逸脱することなく、ＧＵＩの１つ以上のビジュアル・エレメントまたは制御を変更することができる。本明細書で記述したような情報の授受を可能にするどのようなＧＵＩも用いることができる。
【００２９】
図４は、本発明の更なる別の実施形態に従ってメニューを設計する方法４００を示すフローチャートである。図１〜３を参照して本明細書で説明したようにメニュー設計ツールを用いて方法４００を実行することができる。方法４００はステップ４０５で開始し、そこでは、設計者が設計ツールを用いてメニュー・ノードを指定することができる。設計者は、プログラムのメニュー構造を構築するのに用いられる各メニュー・ノードを入力することができる。
【００３０】
ステップ４１０では、設計者は、メニューが対応の状態を有する必要があるユース・ケースの各々を入力することができる。ステップ４１５では、設計者は、ステップ４１０で入力された様々なユース・ケースに対応するスクリーン・ショットを任意選択で入力またはロードすることができる。ステップ４２０では、設計ツールは、各スクリーン・ショットと、スクリーン・ショットに対応するユース・ケースとの間の関連付けを作成することができる。従って、ユース・ケースが後で選択されたら、選択されたユース・ケースと関連するスクリーン・ショットのビューに設計者を導くことができる。
【００３１】
ステップ４２５では、設計者はメニュー・ノードの属性を指定することができる。これら属性は、略号、ショートカット・キー、記述、特殊ケース、メニュー・レベル割り当て、メニュー・ノードにチェック・マークが付いているかどうか、メニュー・ノードがユース・ケースごとに使用可能であるか使用不可であるかを含むことができるが、これらに限定されるものではない。図３を参照して説明しなかったが、メニュー項目に対して他の可能な状態は、メニュー・ノードが見えない隠れた状態と、設計者がメニュー項目に対して一般的でない特殊な動作を指定できる特殊ケースとを含むことができるが、これらに限定されるものではない。
【００３２】
ステップ４３０では、設計ツールは異なるメニュー項目の属性を評価することができる。その場合、設計ツールは、略号が欠如しているいかなるメニュー項目をも識別することができる。当然のことながら、同一のメニュー・レベル内のメニュー項目に対して、同一のメニュー・レベル内で、かつ同一の親メニュー・ノードを有するメニュー項目に対して、など、欠落した略号の検索またはフィルタリングをグローバル・レベルで実行することができる。ステップ４３５では、設計ツールは、競合する略号を有するあらゆるメニュー・ノードを識別するのに属性を評価または比較することができる。一実施形態では、例えば、設計ツールは、共通の親メニュー・ノードを有するメニュー項目、すなわち、同一のメニュー・レベル属性を有し、上位にあるメニュー・レベル内の同一のメニュー・ノードを介してアクセスされるメニュー項目を分析することができる。同一の略号を有するメニュー・ノードを識別し、視覚的に示すことができる。
【００３３】
ステップ４４０では、設計ツールは、メニュー・ノード及び対応する属性を評価して、ショートカット・キーが欠落しているメニュー・ノードを識別することができる。例えば開発者の要求に応じて、このようなメニュー・ノードのいずれをも視覚的に示すことができる。ステップ４４５では、設計ツールは、メニュー・ノード及び対応する属性を評価または比較して、競合するショートカット・キーを検査することができる。ショートカットが本質的にグローバルなものであるので、開発されるメニュー内のメニュー・ノードのすべてにわたってメニュー・ノードに対するショートカット・キーの比較を実行することができる。
【００３４】
図４を参照して説明した様々なステップは例示のみの目的で与えられている。例示のみの目的なので、方法４００は本発明を決して限定するものではない。例えば、図４を参照して説明した１つ以上のステップを、提示したものとは異なる順序で実行することができる。更に、ユーザが選択した属性に従ってメニュー・ノードをフィルタリングすること、本明細書に記述したいずれか１つ以上の機能をユーザ要求に応答して実行することなどのような追加のステップを含むことができる。
【００３５】
本発明の別の実施形態では、例えば、設計ツールはレポートを提示することができる。一態様では、レポートを、本明細書に記述した情報のいずれか１つ以上の項目を示すテキスト・レポートとすることができる。例えば、このようなレポートを表形式またはテキスト形式あるいはその両方のリストもしくは同様のものとして供給して、メニュー設計者により今まで手動で作成されていたメニューのテキスト文書仕様を効果的に置き換えることができる。別の実施形態では、レポートを、所与のユース・ケースに対するメニューまたはその様々な部分の状態のグラフィック図またはビジュアル図とすることができる。例えば、このようなグラフィック図をＧＵＩ３００から生成することができる。グラフィック図をメニューまたはその一部分の実際の状態のビジュアル表現とすることができ、必要に応じて、選択されたユース・ケースに基づいて、選択されたメニュー・ノードが使用不可になったり、隠されたりする。どんな場合でも、本明細書に記述した様々なレポート及び機能により、開発者は、メニュー構造の様々な状態をより良く理解することができ、これによりメニューの高速コード化及び検証を可能にする。
【００３６】
本発明をハードウェア、ソフトウェアまたは、ハードウェア及びソフトウェアの組み合わせで実現することができる。本発明を１つのコンピュータ・システム内に集中して、または、異なるエレメントが幾つかの相互接続コンピュータ・システムに散在するように分散して実現することができる。本明細書に記述した方法を行うのに適するいかなる種類のコンピュータ・システムまたは他の装置も使用可能である。ハードウェア及びソフトウェアの代表的な組み合わせを、ロード及び実行されると、本明細書で記述した方法を行うようにコンピュータ・システムを制御するコンピュータ・プログラムを有する汎用コンピュータ・システムとすることができる。本明細書に記述した方法の実装を有効にするすべての機能を含み、コンピュータ・システムにロードされるとこれら方法を行うことができるコンピュータ・プログラムに本発明を組み込むこともできる。
【００３７】
「コンピュータ・プログラム」、「ソフトウェア」、「アプリケーション」及びこれらの変形または組み合わせの用語は、情報処理能力を有するシステムに特定の機能を直接に、または、ａ）別の言語、コードもしくは表記への変換、及び、ｂ）異なるマテリアル形式での複製の一方あるいは両方の後に実行させるようになっている一組の命令の何らかの言語、コードまたは表記でのいかなる表現をも意味する。例えば、コンピュータ・プログラムは、サブルーチン、関数、手順、オブジェクト・メソッド、オブジェクト・インプリメンテーション、実行可能アプリケーション、アプレット、サーブレット、ソース・コード、オブジェクト・コード、共用ライブラリ／動的ロード・ライブラリ、及び、コンピュータ・システムで実行するように設計されたその他の命令シーケンスのいずれか１つまたは任意の組み合わせを含むことができるが、これらに限定されるものではない。
【００３８】
本明細書において、単数複数について記載のないものは１つ以上とする。「複数」なる用語は、２つ以上と定義される。「別の」なる用語は、少なくとも２番目またはそれ以上と定義される。「含む」及び「有する」なる用語は、他の構成要素を含みうる（すなわち、オープン・ランゲージ）と定義される。「結合された」なる用語は、必ずしも直接ではなく、また、必ずしも機械的にではないが、接続された、すなわち、通信チャネルまたはパスを介して通信可能にリンクされたと定義される。
【００３９】
本発明の意図または本質的な特性から逸脱することなく、その他の形式で本発明を具体化することができる。従って、特許請求の範囲が本発明の範囲を示すので、詳細な説明よりむしろ、特許請求の範囲を参照すべきである。
【図面の簡単な説明】
【００４０】
【図１】本発明の一実施形態に従ってメニュー設計ツールで用いるグラフィカル・ユーザ・インターフェース（ＧＵＩ）を示す図である。
【図２】本発明の別の実施形態に従ってメニュー設計ツールで用いるＧＵＩを示す図である。
【図３】本発明の別の実施形態に従ってメニュー設計ツールで用いるＧＵＩを示す図である。
【図４】本発明の更なる別の実施形態に従ってメニューを設計する方法を示すフローチャートである。
【符号の説明】
【００４１】
１００、２００、３００  グラフィカル・ユーザ・インターフェース
１０５  選択可能なアイコン
１１０  列見出し
１１５  行
１２０  スクロール・バー
２０５  列見出し行
２１０  垂直スクロール・バー
２１５  列見出し「略号」
２２０  水平スクロール・バー
２２５  「合計」列
２３０  「合計」行
２３５  陰影付けボックス
３０５  ユース・ケース
３１０  フィルタ
【図１】
2008146391.tif 000003
【図２】
2008146391.tif 000004
【図３】
2008146391.tif 000005
【図４】
2008146391.tif 000006