(57)【特許請求の範囲】
【請求項１】
ユーザインタフェースの設計を支援するユーザインタフェース設計支援装置であって、
ユーザインタフェースの複数の機能に関する情報が設定された機能情報を解析し、各機能毎に、当該機能の属性を示す機能情報と、当該機能に関連する機能を示す機能関連情報とを生成し、記憶手段に記憶する解析手段と、
前記記憶手段に記憶された機能情報および機能関連情報を用いて、各機能間の距離を算出し、算出した距離を用いて全ての機能の位置を算出する演算手段と、
前記演算手段が算出した各位置に対応する機能を配置し、関連する機能を当該機能同士を結ぶ線で示した、各機能の可視化結果を出力する出力手段と、を備え、
前記出力手段は、関連する機能同士を結ぶ線の長さを用いて関連の強さを表すとともに、同じグループに属する機能群を含む領域を前記可視化結果に表示すること
を特徴とするユーザインタフェース設計支援装置。
【請求項２】
請求項１記載のユーザインタフェース設計支援装置であって、
ユーザの指示を受け付けて、前記記憶手段に記憶された情報を編集する編集手段をさらに有すること
を特徴とするユーザインタフェース設計支援装置。
【請求項３】
コンピュータが行う、ユーザインタフェースの設計を支援するユーザインタフェース設計支援方法であって、
前記コンピュータは、
ユーザインタフェースの複数の機能に関する情報が設定された機能情報を解析し、各機能毎に、当該機能の属性を示す機能情報と、当該機能に関連する機能を示す機能関連情報とを生成し、記憶部に記憶する解析ステップと、
前記記憶部に記憶された機能情報および機能関連情報を用いて、各機能間の距離を算出し、算出した距離を用いて全ての機能の位置を算出する演算ステップと、
前記演算ステップで算出した各位置に対応する機能を配置し、関連する機能を当該機能同士を結ぶ線で示した、各機能の可視化結果を出力する出力ステップと、を行い、
前記出力ステップは、関連する機能同士を結ぶ線の長さを用いて関連の強さを表すとともに、同じグループに属する機能群を含む領域を前記可視化結果に表示すること
を特徴とするユーザインタフェース設計支援方法。
【請求項４】
請求項３記載のユーザインタフェース設計支援方法であって、
前記コンピュータは、ユーザの指示を受け付けて、前記記憶部に記憶された情報を編集する編集ステップをさらに行うこと
を特徴とするユーザインタフェース設計支援方法。
【請求項５】
請求項１または請求項２に記載のユーザインタフェース設計支援装置としてコンピュータを機能させるためのユーザインタフェース設計支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザインタフェースの設計を支援するユーザインタフェース設計支援装置、ユーザインタフェース設計支援方法、およびユーザインタフェース設計支援プログラムに関する。
【背景技術】
【０００２】
コンピュータを用いてユーザインタフェースの設計を支援する方法として、特許文献１には、ユーザインタフェース設計に必要な部品と、システムに必要な操作を記述したデータとを組み合わせて、自動的にユーザインタフェース設計を行うユーザインタフェース自動生成方法が記載されている。
【０００３】
また、非特許文献１には、マグネティック・スプリング・モデルによるグラフ描画法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2003-140893号公報
【非特許文献】
【０００５】
【非特許文献１】「マグネティック・スプリング・モデルによるグラフ描画法について」，情報処理学会研究報告. HI, ヒューマンインタフェース研究会報告 94(60), 17-24, 1994-07-14，三末 和男, 杉山 公造
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１を用いることによって、ユーザインタフェースが自動生成される。しかし、特許文献１では、あくまでもシステムを操作可能なユーザインタフェースが生成されるだけであって、必ずしも利用者の使い方に基づいたユーザインタフェースとはならない。
【０００７】
また、非特許文献１のような手法を用いることで、情報の可視化が可能となるが、それだけではユーザが使いやすいユーザインタフェースは設計できない。
【０００８】
したがって、ユーザインタフェースが適切に設計できるかどうかは、設計者のノウハウに大きく依存し、熟練した設計者でなければユーザが使いやすいユーザインタフェースを設定することは難しい。
【０００９】
本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、ユーザインタフェースを設計する上で必要な情報を可視化し、設計者のユーザインタフェース設計を支援するユーザインタフェース設計支援装置、ユーザインタフェース設計支援方法、およびユーザインタフェース設計支援プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明は、ユーザインタフェースの設計を支援するユーザインタフェース設計支援装置であって、ユーザインタフェースの複数の機能に関する情報が設定された機能情報を解析し、各機能毎に、当該機能の属性を示す機能情報と、当該機能に関連する機能を示す機能関連情報とを生成し、記憶手段に記憶する解析手段と、前記記憶手段に記憶された機能情報および機能関連情報を用いて、各機能間の距離を算出し、算出した距離を用いて全ての機能の位置を算出する演算手段と、前記演算手段が算出した各位置に対応する機能を配置し、関連する機能を当該機能同士を結ぶ線で示した、各機能の可視化結果を出力する出力手段と、を備え、前記出力手段は、関連する機能同士を結ぶ線の長さを用いて関連の強さを表すとともに、同じグループに属する機能群を含む領域を前記可視化結果に表示する。
【００１１】
本発明は、コンピュータが行う、ユーザインタフェースの設計を支援するユーザインタフェース設計支援方法であって、前記コンピュータは、ユーザインタフェースの複数の機能に関する情報が設定された機能情報を解析し、各機能毎に、当該機能の属性を示す機能情報と、当該機能に関連する機能を示す機能関連情報とを生成し、記憶部に記憶する解析ステップと、前記記憶部に記憶された機能情報および機能関連情報を用いて、各機能間の距離を算出し、算出した距離を用いて全ての機能の位置を算出する演算ステップと、前記演算ステップで算出した各位置に対応する機能を配置し、関連する機能を当該機能同士を結ぶ線で示した、各機能の可視化結果を出力する出力ステップと、を行い、前記出力ステップは、関連する機能同士を結ぶ線の長さを用いて関連の強さを表すとともに、同じグループに属する機能群を含む領域を前記可視化結果に表示する。
【００１２】
本発明は、前記ユーザインタフェース設計支援装置としてコンピュータを機能させるためのユーザインタフェース設計支援プログラムである。
【発明の効果】
【００１３】
本発明によれば、ユーザインタフェースを設計する上で必要な情報を可視化し、設計者のユーザインタフェース設計を支援するユーザインタフェース設計支援装置、ユーザインタフェース設計支援方法、およびユーザインタフェース設計支援プログラムを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係るユーザインタフェース設計支援装置の構成図である。
【図２】機能情報の一例を示す図である。
【図３】表示属性を含む機能情報の一例を示す図である。
【図４】属性情報解析部の動作を示すフローチャートである。
【図５】機能節および機能関連度のデータ構造の一例を示す図である。
【図６】関連性演算部の動作を示すフローチャートである。
【図７】ばねモデルの弾性力、反発力、摩擦力を模式的に示す図である。
【図８】出力部の動作を示すフローチャートである。
【図９】可視化結果の一例を示す図である。
【図１０】表示属性を加味した可視化結果の一例を示す図である。
【図１１】設計されたユーザインタフェースの一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態について、図面を参照して説明する。
【００１６】
図１は、本発明の実施形態に係るユーザインタフェース設計支援装置１の構成図である。ユーザインタフェース設計支援装置１は、設計者が行うユーザインタフェース設計する装置である。図示するユーザインタフェース設計支援装置１は、属性情報解析部１１と、機能節・機能関連度記憶部１２と、関連性演算部１３と、出力部１４と、ディスプレイ１５とを備える。
【００１７】
属性情報解析部１１は、ユーザインタフェース設計支援装置１に入力される機能情報２を読み込み、当該機能情報２を解析し、各機能の機能節（機能情報）および機能関連度（機能関連情報）を生成し、機能節・機能関連度記憶部１２に記憶する。機能情報２は、設計者によりあらかじめが作成された情報であって、複数の機能の情報が設定されている。機能情報２については、後述する。
【００１８】
機能節・機能関連度記憶部１２には、属性情報解析部１１が生成した機能節および機能関連度が保持される。
【００１９】
関連性演算部１３は、機能節・機能関連度記憶部１２に記憶された機能情報および機能関連情報を用いて、各機能間の距離を算出し、算出した距離を用いて全ての機能の位置を算出し、機能の関連性と機能の属性とを可視化する。
【００２０】
出力部１４は、関連性演算部１３が算出した各位置に対応する機能をそれぞれ配置し、関連する機能を当該機能同士を結ぶ線で示した、各機能の可視化結果を描画し、ディスプレイ１５に出力する。
【００２１】
また、本実施形態のユーザインタフェース設計支援装置１は、編集部１６と、入力インタフェース１７（例えば、キーボード、マウスなど）とを、さらに備えることとしてもよい。
【００２２】
編集部１６は、設計者が入力インタフェース１７を用いて入力した操作指示を受け付けて、機能節・機能関連度記憶部１２に記憶されたデータを修正・編集する。これにより、設計者は、ディスプレイ１５に表示された可視化結果を見て、入機能節・機能関連度記憶部１２のデータを編集することができる。
【００２３】
上記説明したユーザインタフェース設計支援装置１は、例えば、ＣＰＵと、メモリと、ＨＤＤ等の外部記憶装置と、入力装置と、出力装置とを備えた汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、ＣＰＵがメモリ上にロードされたユーザインタフェース設計支援装置１用のプログラムを実行することにより、ユーザインタフェース設計支援装置１の各機能が実現される。また、ユーザインタフェース設計支援装置１用のプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ−ＲＯＭなどのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。
【００２４】
図２は、ユーザインタフェース設計支援装置１に入力される機能情報２の一例である。
【００２５】
機能情報２は、あるシステムを構成する各機能の属性と機能同士の関連とを含む情報である。機能情報２は、あらかじめ設計者が作成しておく。なお、本実施形態のシステムは、例えば、機能の組み合わせによって動作するものであり、また、本実施形態の機能は、例えば、ユーザがシステムを操作し、情報を閲覧するために利用するものである。
【００２６】
図示する機能情報２は、複数の機能２０１、２０２、２０３を有し、各機能は、機能名と、利用属性と、関連度とを有する。関連度は、当該機能の属するグループ（label）と、当該グループとの関連強度（group level）によって表現されている。各機能は、あらかじめいずれかのクループにグルーピングされ、グループは関連がある機能の集合である。また、機能は、グループに対する関連の強さである関連強度を保持する。これにより、本実施形態では、他の機能との関連度を、グループを用いて間接的に表現する。 
利用属性には、主要度と、利用頻度（頻度）と、利用時間（継続時間）とを含む。主要度は、当該機能がシステムの主たる特徴となる機能であるかを表すものである。利用頻度は、当該機能をユーザがどの程度利用するかを示すものである。利用時間は、当該機能をユーザが一回当たりにどの程度継続して利用するか（一回当たりの利用時間）を示すものである。
【００２７】
なお、図示する例では、主要度、利用頻度および利用時間を、所定の範囲内（例えば、「１〜１０」）の数値で表現しているが、これ以外の方法で表現することとしてもよい。また、図示する機能情報２は、ＸＭＬで記述されているが、ＸＭＬ以外の任意の記述形式でもよい。
【００２８】
また、機能節は、機能名２１と、利用属性２２と、機能関連度２３の他に表示属性を有することとしてもよい。
【００２９】
図３は、表示属性を備える１つの機能の機能情報の一例である。表示属性は、機能をディスプレイ１５に表示する際の具体的な表示形態に関する情報である。表示属性を設定することによって、ディスプレイ１５上でどのように各機能が表現されるかを判断しやすくし、ユーザインタフェースの設計作業を容易にすることができる。
【００３０】
表示属性として、例えば、「大きさ」、「色」、「表示形態（ポップアップ、タブ、アイコン、ボタン、などの形態）」、「アニメーション」などが挙げられる。
【００３１】
後述する出力部１４の可視化結果を出力する際に、表示属性に基づいて各機能の表現が具体化される。
【００３２】
次に、本実施形態の処理を説明する。
【００３３】
図４は、属性情報解析部１１の動作を表すフローチャートである。
【００３４】
属性情報解析部１１は、入力された機能情報を解析し、機能毎に、機能節と機能関連度とを生成する。  
まず、属性情報解析部１１は、ＸＭＬなどを用いて記述された機能情報を読み込み（Ｓ１１）、機能毎に分解する（Ｓ１２）。そして、各機能毎に、「機能名」、「主要度」（利用属性）、「属性」（主要度以外の利用属性）を抽出する（Ｓ１４、Ｓ１５、Ｓ１６）。なお、図３に示すように表示属性が設定されている場合は、「表示属性」も抽出する。
【００３５】
そして、属性情報解析部１１は、抽出した機能名と、主要度と、属性とを用いて、当該機能の機能節（データ、レコード）を生成し（Ｓ１７）、機能節・機能関連度記憶部１２に記憶する（Ｓ１８）。図５（ａ）は、機能節のデータ構造の一例を示す図である。
【００３６】
また、属性情報解析部１１は、関連する機能がある場合、関連度に基づいて機能関連度（データ、レコード）を生成する。すなわち、当該機能の関連度を参照し（Ｓ１９、Ｓ２０）、関連度の“label”に設定されたグループ名と同じグループ名を有する他の機能が存在するか否かを他の全ての機能の関連度を参照して判別する（Ｓ２１）。同じグループ名を有する他の機能が存在する場合に、当該他の機能毎に機能関連度を生成し（Ｓ２２）、機能節・機能関連度記憶部１２に記憶する（Ｓ２３）。
【００３７】
例えば、図２に示す機能情報の機能２０１の場合、“label”に設定されたグループ名は“SEC1”であり、機能２０２および機能２０３のグループ名と同じである。したがって、機能２０１の機能関連度として、２つのデータを生成する。
【００３８】
図５（ｂ）は、機能関連度のデータ構造の一例を示す図である。図示する機能関連度は、図５（ａ）の機能節と関連付けるための機能名と、関連強度と、“label”に設定されたグループ名と、当該機能の機能名または機能ＩＤを設定するfrom機能節と、同じグループ名を有する他の機能の機能名または機能ＩＤを設定するto機能節とを有する。なお、from機能節とto機能節とは同じグループに属する関連する機能節である。能関連強度には、from機能節およびto機能節のグループとの関連の強さを示す指標が設定され、例えばfrom機能節の“group level”とto機能節の“group level”との平均値が設定される。
【００３９】
Ｓ１２で分割した全ての機能について、Ｓ１３からＳ２３の処理を行い、機能情報に設定された全ての機能の機能節および機能関連度が、機能節・機能関連度記憶部１２に記憶される。
【００４０】
図６は、関連性演算部１３の動作を表すフローチャートである。関連性演算部１３は、各機能節（機能）を可視化する際の配置を決定する。機能節同士の距離は、関連強度および利用属性の類似度によって決まる。つまり、関連強度が強く、かつ利用属性が類似しているほど機能節間の距離は近くなる。具体的な関連性可視化の計算方法として、本実施形態では、図７に示すばねモデルを応用した手法を用いるものとする。
【００４１】
まず、関連性演算部１３は、機能節・機能関連度記憶部１２から図４で生成した機能節および機能関連度のデータを読み込む（Ｓ３１）。そして、関連性演算部１３は、読み込んだ各機能節の主要度に基づいて、各機能節(node)のサイズを決定する（Ｓ３２）。機能節のサイズ（function_size）は、例えば、以下の式により算出することが考えられる。
【００４２】
function_size = k1 * importance         (k1=任意の定数)
そして、関連性演算部１３は、機能節毎に、Ｓ３３からＳ３８の処理を行う。すなわち、処理対象の機能節（対応する機能関連度を含む）を読み込み（Ｓ３３）、当該処理対象以外の他のいずれかの機能節（対応する機能関連度を含む）を読み込む（Ｓ３４）。そして、処理対象の機能節とＳ３４で読み込んだ他の機能節とを比較する（Ｓ３５）。
【００４３】
そして、from機能節に処理対象の機能節が設定され、to機能節に当該他の機能節が設定された機能関連度が存在する場合、すなわち、比較対象の機能節（Ｓ３３とＳ３４で読み込んだ機能節）に関連がある場合（Ｓ３６：ＹＥＳ）、比較対象の機能節間の距離(edge_length)を算出する（Ｓ３７）。具体的には、関連強度(level)と、利用属性(element)との類似度に基づいて算出する。
【００４４】
例えば node_Aと node_Bの距離（edge_length）を算出する場合、以下の式により算出することが考えられる。
【００４５】
edge_length = k2*Σ|node_A.element(i) - node_B.element(i)| + k/(node_A.level + node_B.level)
( i=0..n, n=利用属性の数, k,k2=任意の定数, edge_length>0)
例えば、図２に示す機能情報において、処理対象の機能節がボリューム表示機能(Volume)２０１であって、他の機能節が音声詳細表示(Voice)２０２の場合、距離（edge_length）は、以下の通りである。
【００４６】
(Volume to Voice).edge_length
= k2 * |2-2 + 10-5| + k/(1+0.5)
= k2 * 5 + k/1.5
また、処理対象の機能節がボリューム表示機能(Volume)２０１であって、他の機能節が映像詳細表示(Image)２０３の場合、距離（edge_length）は、以下の通りである。
【００４７】
(Volume to Image).edge_length
= k2 * |2-2 + 10-4| + k/(1+0.6)
= k2 * 6 + k/1.6
また、処理対象の機能節が音声詳細表示(Voice)２０２であって、他の機能節が映像詳細表示(Image)２０３の場合、距離（edge_length）は、以下の通りである。
【００４８】
(Voice to Image).edge_length
= k2 * |2-2 + 5-4| + k / (0.5+0.6)
= k2 + k/1.1
この場合、音声詳細表示と映像詳細表示の距離は比較的近く、それに対して、音声詳細表示とボリューム表示との距離は比較的遠い。
【００４９】
また、Ｓ３７において、機能節（node）に掛かる弾性力(Fe) （図７（ａ）参照）を、次のように算出する。
【００５０】
x軸方向の長さをx_length, y軸方向の長さをy_lengthとすると、それぞれ
x_length = node_A.x - node_B.x
y_length = node_A.y - node_B.y
となり、現在のバネの長さ（current_length）は、
current_length = SQRT((x_length) 2 + (y_length)2)
となる。
【００５１】
更に、current_lengthの傾き角θは、
θ = arccos(x/current_length)       (但し、x,y ≠0)
と求められる。
【００５２】
すなわち、current_lengthは、ピタゴラスの定理で求め、ｘ軸方向の長さ、ｙ軸方向の長さは、座標の差をとり、角度θは三角関数で求める。なお、current_lengthを求めるために必要な、機能節（node）の位置(x,y)の初期値は、ランダムな値または所定の値を用いるものとする。また、２回目以降の繰り返しでは、前の繰り返しで計算されたnodeの位置(x,y)を用いてcurrent_lengthの長さを算出する。
【００５３】
また、弾性力(Fe)は、
Fe.x = -k3 * (current_length - edge_length) * cosθ
(但し、current_length - edge_length ≠0 )
Fe.y = -k3 * (current_length - edge_length) * sinθ     (k3 = 任意の定数)
となる。
【００５４】
そして、機能節（node）同士は関連の有無にかかわらず反発力(Fr)を持ため、反発力(Fr) （図７（ａ）参照）を算出する（Ｓ３８）。
【００５５】
x軸方向の長さをx_length, y軸方向の長さをy_lengthとすると、それぞれ
x_length = node_A.x - node_B.x
y_length = node_A.y - node_B.y
と定めると、
node間の距離（distance）は、
distance = SQRT((x_length) 2 + (y_length.y) 2)
と求められる。なお、node間に関連(edge_length)がある場合は（Ｓ３６：ＹＥＳ）、distance = current_lengthである。
【００５６】
さらに、distanceの傾きを角度θとすると、反発力(Fr)は次の式で求められる。
【００５７】
Fr_x = g/distance2*cosθ
Fr_y = g/distance2*sinθ  （但し、g = 反発係数 = 任意の定数）
すなわち、distance は、ピタゴラスの定理で求め、ｘ軸方向の長さ、ｙ軸方向の長さは、座標の差をとり、角度θは三角関数で求める。
【００５８】
また、Ｓ３８において、機能節（node）が移動する（Fe+Fr≠0）場合には、移動量delta(= Fr+Fe)に対して、摩擦力(Fu)が発生する（図７（ｂ）参照）。
【００５９】
Fu_x = -μ * delta_x
Fu_y = -μ * delta_y  （μ= 任意の定数）
そのため、nodeの移動する移動距離（Fa）は、以下により算出される。
【００６０】
Fa =（Fe + Fr + Fu）
最後に、Faのx軸方向、y軸方向の長さを、それぞれnode_Aのx,yに適用し、nodeの位置を算出する。
【００６１】
node_A.x = node_A.x + Fa.x
node_A.y = node_A.y + Fa.y
そして、未比較の他の機能節が存在する場合は、Ｓ３４に戻り以下の処理を繰り返す。全ての他の機能節についてＳ３４からＳ３８の処理が終了すると、Ｓ３３に戻り、次の機能節について同様の処理を行う。
【００６２】
全ての機能節に対して処理を行った後、終了判定をする（Ｓ３９）。すなわち、全ての機能節（node）の移動距離（Fa）が一定の値以下（例えば10以下）になった場合（Ｓ３９：ＹＥＳ）、図６の処理を終了する。一方、いずれかの機能節の移動距離（Fa）が一定の値を超える場合（Ｓ３９：ＮＯ）、Ｓ３３に戻り、以降の処理を繰り返し行う。すなわち、機能節の位置の変化がなくなるまで処理を繰り返す。なお、関連性演算部１３が算出した各機能節（node）の座標（位置）、機能同士の距離は、機能節・機能関連度記憶部１２に記憶される。
【００６３】
以上の処理により、機能の関連と関連強度、利用属性の類似度、主要度を考慮した可視化が可能となる。
【００６４】
また、各機能節を別画面に表示すべきか否かの判定を行うこととしてもよい。具体的には、edge_lengthに対して、ある任意の閾値(edge_threshold)を定める。このとき、あるグループにおける、１つの機能（機能節A）を考える。機能節Aに接続される、同一グループに所属する他の機能節とのedge_lengthの平均が、閾値以内であれば、同一画面上に表示し、閾値を越える場合には、別画面に表示するべきであるという判定を行う。このような計算を全ての機能節に対して行うことで、各機能節を別画面に表示すべきか否かの判定を行うことができる。
【００６５】
これにより、どの機能を同一画面に含めるべきか、という候補を自動生成することが可能となる。また、近接配置すべきか否かに関しても、同様に閾値を定めることによって算出可能である。閾値は、システムを利用する環境（PC、スマートフォン、ウェブブラウザ上で動作するのか等）によって変化し、設計者は、場合に応じて閾値を設定しながら、ユーザインタフェース設計を行う。
【００６６】
図８は、出力部１４の動作を表すフローチャートである。
【００６７】
出力部１４は、機能節・機能関連度記憶部１２に記憶されたデータを読み込み（Ｓ５１）、機能節毎にＳ５２〜Ｓ５６の処理を行う。すなわち、順番に対象となる機能節のデータを読み込み（Ｓ５２）、当該機能節を関連性演算部１３で計算された位置に配置し（Ｓ５３）、配置した機能節を利用属性および表示属性に基づいて描画する（Ｓ５４）。また、当該機能節に機能関連度がある場合は（Ｓ５５）、当該機能を含み、関連する機能節を全て包含する閉領域を描画する（Ｓ５６）。そして、Ｓ５２に戻り、次の機能節のデータを読み込み、以降の処理を行い、全ての機能節に対して描画する。
【００６８】
図９は、関連性演算部１３で得られた結果を、図８に示す出力部の動作により可視化した例である。図示する例では、各機能節は計算された位置にそれぞれ配置され（図６：Ｓ３８）、主要度を用いて算出したサイズ（図６：Ｓ３２）の円で表現されている。
【００６９】
また、関連する機能節同士については、当該機能節同士を結ぶ実線で示している。edge_lengthにより示される関連の強度と機能属性の類似度とを、この実線の太さ（weight)を用いて表現する。
【００７０】
weight = k4 * edge_length (k4=任意の定数）
また、実線の長さは、current_lengthによって表現される。関連強度の表現に、距離だけでなく太さも用いる理由として、表示の都合上、機能節間の距離（current_length）が、理論値（edge_length）よりも伸びる場合があるためである。
【００７１】
また、図示する例では、機能が所属するグループを閉領域（ハッチング）で囲っている。また、同一画面にすべき機能節については、閉領域（点線）で区分けしている。これにより、どの機能を同一画面に含めるべきか、もしくは分けるべきか、を設計者は判定しやすくなる。なお、図９に示す例では、映像表示機能は、３つのグループに属している。
【００７２】
図１０は、図９の可視化した例に加えて、表現属性（図３参照）を加味して可視化した例を示したものである。図示する例では、各機能節が円ではなく、表示属性に設定された属性情報に基づいて表現されている。これにより機能節が、どのような表現をされるべきかを一覧することができる。
【００７３】
図１１は、図９または図１０により可視化された結果をもとに設計されたユーザインタフェース例である。設計者は、図９または図１０のように自動生成された可視化結果を基に、画面構成やアイコンの作成などを検討することができる。図示する例では、３つの画面で構成されている。
【００７４】
なお、出力部１４が表示した結果（図９、図１０）を、設計者が入力インタフェース１７および編集部１６を用いて編集することも可能である。すなわち、設計者は、入力インタフェース１７を用いて機能節・機能関連度記憶部１２に記憶された機能節および機能関連度を編集・更新することができる。機能節については、各属性の変更が可能であり、機能関連度については、関連及び関連強度の編集、追加、削除が可能である。変更した結果は編集部１６が入力インタフェース１７を介して受け付け、機能節・機能関連度記憶部１２の情報を更新する。
【００７５】
可視化された候補をインタラクティブに変更、更新、記憶できるため、変更を加えた場合に影響を受ける部分はどこかを視覚的に捉えられ、本当に変更を加えても良いのかなどの、変更の検討を容易に行える。
【００７６】
以上説明した本実施形態では、決められた規則に基づいて記述された機能情報を解析し、関連性を演算し、所定のルールに基づいて画面上に描画することで、設計者が、画面を見て、機能同士の関連だけでなく、機能の関連の強さ、機能の使われ方の違いなどの機能に関する情報を、簡単に把握でき、理解しやすくすることができる。また、どの機能を近接配置すべきか、同一画面に含めるべきか、また同一画面に配置すべきでない機能は何か、といった候補を、自動生成することで、設計者が使いやすいユーザインタフェースを設計できるよう支援することができる。
【００７７】
また、生成した機能節をインタラクティブに変更できることにより、変更を加えた場合に、影響を受ける部分はどこかを視覚的に捉えられ、本当に変更を加えても良いのかなどの、変更の検討を容易に行うことができる。
【００７８】
また、高度な専門知識を必要とせず、短期間かつ省力でユーザインタフェース設計を行うことができる。これにより、短期間に繰り返しユーザインタフェースに関する検討を濃密に行うことが可能となり、利用者がより理解しやすいユーザインタフェースの作成が可能となる。
【００７９】
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【００８０】
また、本発明は、グラフィカルユーザインタフェース（例えばウェブ会議システムなど）の設計などに利用可能である。
【符号の説明】
【００８１】
１  ：ユーザインタフェース設計支援装置
１１：属性情報解析部
１２：機能節・機能関連度記憶部
１３：関連性演算部
１４：出力部
１５：ディスプレイ
１６：編集部
１７：入力インタフェース
２  ：機能情報
【図１】
0005449284.tif 000002
【図２】
0005449284.tif 000003
【図３】
0005449284.tif 000004
【図４】
0005449284.tif 000005
【図５】
0005449284.tif 000006
【図６】
0005449284.tif 000007
【図７】
0005449284.tif 000008
【図８】
0005449284.tif 000009
【図９】
0005449284.tif 000010
【図１０】
0005449284.tif 000011
【図１１】
0005449284.tif 000012