(57)【要約】【課題】ユーザインタフェース部品群から所望のユーザインタフェース部品を直感的かつ容易に検索可能なユーザインタフェース設計支援装置を得る。【解決手段】配置関係推定部１０８は、ＵＩ部品検索部１０７に入力された検索ＵＩ部品群を構成する各部品の配置関係を推定する。類似度計算部１０９は、配置関係推定部１０８で推定された配置関係と、ＵＩ部品検索部１０７に入力されたＵＩ部品を構成する各部品の配置関係との類似度を計算する。ＵＩ部品検索部は１０７、類似度計算部１０９の計算結果に基づいて検索結果となるＵＩ部品を決定する。【選択図】図１
2017040952.tif 000002
【特許請求の範囲】
【請求項１】
複数の基本部品を組み合わせて形成されたユーザインタフェース部品と、当該ユーザインタフェース部品を検索するための検索ユーザインタフェース部品群とを入力するＵＩ部品検索部と、
前記ＵＩ部品検索部に入力された前記検索ユーザインタフェース部品群を構成する各部品の配置関係を推定する配置関係推定部と、
前記配置関係推定部で推定された配置関係と、前記ＵＩ部品検索部に入力された前記ユーザインタフェース部品を構成する各部品の配置関係との類似度を計算する類似度計算部とを備え、
前記ＵＩ部品検索部は、前記類似度計算部の計算結果に基づいて検索結果となるユーザインタフェース部品を決定することを特徴とするユーザインタフェース設計支援装置。
【請求項２】
前記検索ユーザインタフェース部品群に設定されているユーザ入力イベントハンドラを取得するユーザ入力イベントハンドラ取得部を備え、
前記ユーザ入力イベントハンドラ取得部は、前記ユーザインタフェース部品検索部で検索を実行する際、前記ユーザインタフェース部品群のユーザ入力イベントハンドラを取得し、
前記類似度計算部は、前記ユーザ入力イベントハンドラ取得部で取得した前記ユーザインタフェース部品群のユーザ入力イベントハンドラと、前記ユーザインタフェース部品のユーザ入力イベントハンドラとの類似度を含めて計算することを特徴とする請求項１記載のユーザインタフェース設計支援装置。
【請求項３】
前記検索ユーザインタフェース部品群に設定されているユーザ入力イベントハンドラを取得するユーザ入力イベントハンドラ取得部と、
前記ユーザ入力イベントハンドラ取得部において取得したユーザ入力イベントハンドラを同等の働きで異なるユーザ入力イベントハンドラに変換するユーザ入力イベントハンドラ変換部とを備え、
前記ユーザ入力イベントハンドラ取得部は、前記ユーザインタフェース部品検索部で検索を実行する際、前記ユーザインタフェース部品群のユーザ入力イベントハンドラを取得し、
前記類似度計算部は、前記ユーザ入力イベントハンドラ変換部で変換した前記ユーザインタフェース部品群のユーザ入力イベントハンドラと、前記ユーザインタフェース部品のユーザ入力イベントハンドラとの類似度を含めて計算することを特徴とする請求項１記載のユーザインタフェース設計支援装置。
【請求項４】
前記配置関係推定部で推定した前記検索ユーザインタフェース部品群を構成する各部品の配置関係を編集する検索ユーザインタフェース部品群編集部を備えたことを特徴とする請求項１から請求項３のうちのいずれか１項記載のユーザインタフェース設計支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、組み込み機器のユーザインタフェースを設計するユーザインタフェース設計装置において、ユーザインタフェース部品を検索して出力するユーザインタフェース設計支援装置に関するものである。
【背景技術】
【０００２】
近年、情報機器において、ユーザインタフェースは情報機器自体や開発会社などを特徴付ける重要な位置づけとなっている。それに伴い、ユーザインタフェースはますます高度化、複雑化してきており、開発ごとにユーザインタフェース全体を完全に作り直すことは工数の面から現実的ではない。このような問題を解決するため、ユーザインタフェース設計装置においては、ユーザが利用可能なユーザインタフェース部品を組み合わせて新たにユーザインタフェース部品を作成するという部品化と称される手法を用いる場合がある。
部品化されたユーザインタフェース部品は、その後の開発に再利用することが可能である。
ユーザインタフェースを開発する際には、可能な限り過去の開発において部品化された
ユーザインタフェース部品を再利用し、必要がある場合のみ新たにユーザインタフェース部品を作成することによって開発工数の削減が期待できる。
【０００３】
一方、このような方法によってユーザインタフェースの開発を重ねると、蓄積されたユーザインタフェース部品の数が膨大となり、開発者がユーザインタフェース部品を利用する際に所望のユーザインタフェース部品を探し出すことが困難になるという問題がある。
そのため、開発者は再利用可能なユーザインタフェース部品を探し出すことを諦め、過去に作成されているユーザインタフェース部品であっても再度作成することとなり、開発工数が増加してしまう。
【０００４】
このような問題を解決するため、従来では、例えば特許文献１に示すように、画面を設計する際に項目名や機能名などを文字列によって設定し、過去に設計した画面より同じ項目名と機能名に対して設定されたユーザインタフェース部品を検索し、開発者に提示する、といった方法があった。また、例えば、特許文献２に示すように、各属性の値や文字列を比較し、標準的な部品や類似部品を検索するといった方法があった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−２０４１６号公報
【特許文献２】特開平９−１７９８９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、膨大に蓄積されたユーザインタフェース部品群から所望のユーザインタフェース部品を文字列や具体的な属性値によって検索することは困難であった。例えば、特殊なメニューを形成する部品を検索したい場合、抽象的な「メニュー」などの文字列で検索すると、メニューを形成する膨大な部品が出力され、結局、開発者は提示されたユーザインタフェース部品から所望のユーザインタフェース部品を手作業によって探し出さなければならないという問題があった。また、詳細な文字列によって検索しようとした場合、過去に作成されたユーザインタフェース部品は開発者と別の開発者が作成しており、かつ開発プロジェクトなども異なることが予想され、ユーザインタフェース部品に対する命名規則などが異なる場合があるため、所望のユーザインタフェース部品を検索するための正確な文字列を探し出すことは非常に難しいという問題があった。また、開発プロジェクトごとに画面サイズなども異なるため、大きさといった具体的な属性値を用いてユーザインタフェース部品を探し出すことも困難であった。
【０００７】
本発明は、上記のような問題点を解決するためになされたものであり、膨大に蓄積されたユーザインタフェース部品群から所望のユーザインタフェース部品を直感的かつ容易に検索可能なユーザインタフェース設計支援装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
この発明に係るユーザインタフェース設計支援装置は、複数の基本部品を組み合わせて形成されたユーザインタフェース部品と、ユーザインタフェース部品を検索するための検索ユーザインタフェース部品群とを入力するＵＩ部品検索部と、ＵＩ部品検索部に入力された検索ユーザインタフェース部品群を構成する各部品の配置関係を推定する配置関係推定部と、配置関係推定部で推定された配置関係と、ＵＩ部品検索部に入力されたユーザインタフェース部品を構成する各部品の配置関係との類似度を計算する類似度計算部とを備え、ＵＩ部品検索部は、類似度計算部の計算結果に基づいて検索結果となるユーザインタフェース部品を決定するようにしたものである。
【発明の効果】
【０００９】
この発明のユーザインタフェース設計支援装置は、検索ユーザインタフェース部品群を構成する各部品の配置関係を推定した配置関係と、ユーザインタフェース部品を構成する各部品の配置関係との類似度に基づいて検索を行うようにしたので、膨大に蓄積されたユーザインタフェース部品群から所望のユーザインタフェース部品を直感的かつ容易に検索することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態１によるユーザインタフェース設計支援装置を示すブロック図である。
【図２】本発明の実施の形態１によるユーザインタフェース設計支援装置のハードウェア構成を示すブロック図である。
【図３】本発明の実施の形態１によるユーザインタフェース設計支援装置のＵＩ部品検索処理の流れを示すフローチャートである。
【図４】本発明の実施の形態１によるユーザインタフェース設計支援装置のＵＩ部品検索部に入力するための検索ウィンドウを示す説明図である。
【図５】本発明の実施の形態１によるユーザインタフェース設計支援装置の配置関係推定処理の流れを示すフローチャートである。
【図６】本発明の実施の形態１によるユーザインタフェース設計支援装置の各ＵＩ部品配置関係推定処理の流れを示すフローチャートである。
【図７】本発明の実施の形態１によるユーザインタフェース設計支援装置の各ＵＩ部品配置関係推定処理の出力を示す説明図である。
【図８】本発明の実施の形態１によるユーザインタフェース設計支援装置の配置関係推定処理の出力を示す説明図である。
【図９】本発明の実施の形態１によるユーザインタフェース設計支援装置の類似度計算処理の流れを示すフローチャートである。
【図１０】本発明の実施の形態２によるユーザインタフェース設計支援装置を示すブロック図である。
【図１１】本発明の実施の形態２によるユーザインタフェース設計支援装置のＵＩ部品検索処理の流れを示すフローチャートである。
【図１２】本発明の実施の形態２によるユーザインタフェース設計支援装置のユーザ入力イベント取得部の出力を示す説明図である。
【図１３】本発明の実施の形態２によるユーザインタフェース設計支援装置の類似度計算処理の流れを示すフローチャートである。
【図１４】本発明の実施の形態３によるユーザインタフェース設計支援装置を示すブロック図である。
【図１５】本発明の実施の形態３によるユーザインタフェース設計支援装置のＵＩ部品検索処理の流れを示すフローチャートである。
【図１６】本発明の実施の形態３によるユーザインタフェース設計支援装置のユーザ入力イベント変換処理の流れを示すフローチャートである。
【図１７】本発明の実施の形態４によるユーザインタフェース設計支援装置を示すブロック図である。
【図１８】本発明の実施の形態４によるユーザインタフェース設計支援装置の検索ＵＩ部品群編集部の処理の流れを示すフローチャートである。
【図１９】本発明におけるユーザインタフェース設計支援装置の階層的なユーザインタフェース部品設計方法を示す説明図である。
【発明を実施するための形態】
【００１１】
実施の形態１．
図１は、この発明の実施の形態１によるユーザインタフェース設計支援装置を適用したユーザインタフェース設計装置を示す構成図である。なお、以下、ユーザインタフェースをＵＩ（User Interface)と称す。
図１に示すＵＩ設計装置は、入力装置１０１、画面設計部１０２、ＵＩ部品設計部１０３、ＵＩ設計部１０４、画面格納部１０５、ＵＩ部品格納部１０６、ＵＩ部品検索部１０７、配置関係推定部１０８、類似度計算部１０９、表示装置１１０を備える。
【００１２】
入力装置１０１は、画面設計部１０２やＵＩ部品設計部１０３、あるいはＵＩ部品検索部１０７において、ユーザがＵＩ設計装置へ入力を行うためのポインティングデバイスやキーボードといった入力装置である。画面設計部１０２では、ＵＩ部品格納部１０６に格納されたＵＩ部品を用いて画面を設計する。ＵＩ部品設計部１０３では、位置や大きさといったＵＩ部品の属性の編集や複数のＵＩ部品の組み合わせなどを行い、ＵＩ部品格納部１０６に格納する。ＵＩを設計するためには画面とＵＩ部品の両方を設計する必要があり、画面設計部１０２とＵＩ部品設計部１０３を合わせてＵＩ設計部１０４が実現されている。
画面格納部１０５では、画面設計部１０２において設計された画面の設計情報が格納されている。画面の設計情報とは、画面の識別子、配置されているＵＩ部品の識別子、ＵＩ部品の配置情報、などであり、その他にも、画面を利用しているプロジェクトの識別子やアプリケーションの基調色、画面の機能や特徴を説明する文字列、などを含んでいても構わない。また、画面設計部１０２には、他ユーザが画面設計部１０２によって作成した画面を予め格納していてもよい。
【００１３】
ＵＩ部品格納部１０６では、ＵＩ部品設計部１０３において設計されたＵＩ部品が格納されている。また、ＵＩ部品格納部１０６には、基本的な部品としてＵＩ設計装置が提供するＵＩ部品や他ユーザがＵＩ部品設計部１０３においてＵＩ部品を単一もしくは複数配置することによって作成した複合的なＵＩ部品を予め格納していてもよい。ＵＩ部品検索部１０７では、ＵＩ設計部１０４よりＵＩ部品群を入力として受け取り、ＵＩ部品格納部１０６に格納されているＵＩ部品から類似のＵＩ部品を検索する。入力として受け取ったＵＩ部品群は配置関係推定部１０８へと受け渡し、類似度計算部１０９の結果から検索結果となるＵＩ部品を決定する。検索結果のＵＩ部品はＵＩ設計部１０４を介してユーザに提供される。
【００１４】
配置関係推定部１０８では、ＵＩ部品格納部１０６に格納されているＵＩ部品群やＵＩ部品検索部１０７から入力されたＵＩ部品群の配置関係を推定する。配置関係は、例えば「縦に並んでいる」かつ「大きさが同じである」といったように複数存在する場合がある。
類似度計算部１０９では、配置関係推定部１０８によって推定されたＵＩ部品群の配置関係同士を比較し、類似度を算出する。
【００１５】
図２は、このＵＩ装置を実現するハードウェア構成の一例を示す図であり、パーソナルコンピュータ（ＰＣ）２０１での構成例である。画面格納部１０５、ＵＩ部品格納部１０６は、ＲＡＭやハードディスクといった記憶装置２０３に記憶されており、ＵＩ設計部１０４に内包される画面設計部１０２およびＵＩ部品設計部１０３と、ＵＩ部品検索部１０７と、配置関係推定部１０８と、類似度計算部１０９は、処理装置２０２でプログラムを実行することで実現される。本ＵＩ設計装置における編集作業はマウス２０５、キーボード２０６といった入力装置１０１によって行われる。編集作業を行う画面はディスプレイ２０４といった表示装置１１０によって出力される。なお、入力装置１０１、表示装置１１０としては、入力／出力のどちらも行えるタッチパネルなどであってもよい。
【００１６】
次に、このような構成のＵＩ設計装置におけるＵＩの設計の流れについて、以下に説明する。
本ＵＩ設計装置のユーザである開発者は、まず、ＵＩ部品設計部１０３においてＵＩ部品を作成する。ＵＩ部品設計部１０３では、設計ウィンドウ上でＵＩ部品の外観を表示しながら、ＵＩ部品の位置や大きさといった属性の編集や既にＵＩ部品格納部１０６に格納されているＵＩ部品を配置して複合的なＵＩ部品を作成する。設定した属性値や配置したＵＩ部品は表示装置上での表示に反映されるため、対応したＵＩ部品の表示を見ながら作成することが可能である。場合によっては、作成したＵＩ部品を用いて更に他のＵＩ部品を作成していく。図１９はこのように階層的に作成していくＵＩ部品のイメージを示している。作成したＵＩ部品はＵＩ部品格納部１０６に格納される。
【００１７】
次に、画面設計部１０２によって画面を作成する。画面設計部１０２では、設計ウィンドウ上で画面の外観を表示しながら、ＵＩ部品格納部１０６に格納されているＵＩ部品を配置して画面を作成する。作成した画面は画面格納部１０５に格納される。
次に、画面設計部１０２とＵＩ部品設計部１０３を内包するＵＩ設計部１０４において、ＵＩ部品検索部１０７によってＵＩ部品の検索を行う。図３はＵＩ部品検索全体のフローチャートである。ステップＳＴ３０１とステップＳＴ３０４はＵＩ部品検索部１０７において実行される。ステップＳＴ３０２は配置関係推定部１０８において実行される。ステップＳＴ３０３は類似度計算部１０９において実行される。以下、各処理について詳細に説明する。
【００１８】
図３におけるステップＳＴ３０１では、ＵＩ部品検索部１０７において検索対象ＵＩ部品群入力処理を実行する。以後、検索のクエリとして入力されるＵＩ部品群を検索ＵＩ部品群、検索対象となるＵＩ部品格納部１０６に格納されているＵＩ部品を検索対象ＵＩ部品と呼称する。ＵＩ設計部１０４より検索ＵＩ部品群をする入力方法としては、例えば図４のような検索用ウィンドウを用いる方法がある。ここでは、検索ウィンドウを用いて検索ＵＩ部品群を入力する方法について説明する。検索ウィンドウは、配置可能なＵＩ部品の候補を表示する領域４０１とＵＩ部品を配置する領域４０２を持っている。配置可能なＵＩ部品の候補を表示する領域４０１に表示されているＵＩ部品を、例えばドラッグ＆ドロップによってＵＩ部品を配置する領域４０２へ配置していく。検索ボタン４０３を押下することによって、現在配置しているＵＩ部品群を検索ＵＩ部品群として入力する。なお、検索ＵＩ部品群の入力方法は別の方法であっても構わない。例えば、画面設計部１０２において設計中の画面や画面格納部１０５に格納されている画面に配置されているＵＩ部品群を検索ＵＩ部品群として入力する方法であっても構わない。
【００１９】
図５は配置関係推定部１０８において実行される配置関係推定処理を示すフローチャートである。これは、図３におけるステップＳＴ３０２の処理に該当する。ステップＳＴ５０１では、入力された検索ＵＩ部品群よりＵＩ部品を１つ取得する。ステップＳＴ５０２では、ステップＳＴ５０１において取得したＵＩ部品の位置属性を取得する。ステップＳＴ５０３では、ステップＳＴ５０１において取得したＵＩ部品のサイズ属性を取得する。
ステップＳＴ５０４では、入力された検索ＵＩ部品群に位置属性とサイズ属性を取得していないＵＩ部品が残っていないか確認する。ＵＩ部品が残っていた場合、ステップＳＴ５０１からステップＳＴ５０３を繰り返す。ＵＩ部品が残っていない場合、ステップＳＴ５０５へ進む。ステップＳＴ５０５では、各ＵＩ部品間の位置属性やサイズ属性を比較して、配置関係を推定する。
【００２０】
図６は、図５におけるステップＳＴ５０５の各ＵＩ部品配置関係推定処理の流れを示すフローチャートである。ステップＳＴ６０１では、入力された検索ＵＩ部品群よりＵＩ部品を１つ取得し、これを仮にＵＩ部品Ａと呼称する。ステップＳＴ６０２では、入力された検索ＵＩ部品群よりステップＳＴ６０１において取得されたＵＩ部品Ａ以外のＵＩ部品を１つ取得する。ステップＳＴ６０３では、ステップＳＴ６０１において取得したＵＩ部品ＡとステップＳＴ６０２において取得したＵＩ部品間の配置関係を推定する。この時、推定可能な配置関係と、配置関係として推定される条件は予め決めておくこととする。例えば、「縦に並んでいる」という配置関係に対しては２つのＵＩ部品のｘ座標を比較し、同じ値、あるいは近い値であった場合に推定される。この時、どの程度の差までを近い値として許容するかは予め設定しておくか、図４に示す検索ウィンドウなどによって検索時に設定しておく。
【００２１】
同じように、「横に並んでいる」という配置関係に対しては２つのＵＩ部品のｙ座標を比較し、全て同じ値、あるいは近い値であった場合に推定される。「大きさが同じである」という配置関係に対しては２つのＵＩ部品のサイズ属性を比較し、全て同じ値、あるいは近い値であった場合に推定される。「あるＵＩ部品が他のＵＩ部品に含まれる」という配置関係に対しては１つのＵＩ部品の位置がもう１つのＵＩ部品より小さく、サイズが位置座標の差ともう１つのＵＩ部品のサイズを加算した値より大きい場合に推定される。
これらの値の大小は一例であり、座標系によって変化し得る。なお、配置関係と条件については、別の関係と条件であっても構わない。例えば、「同じ位置に配置されている」という関係の場合は位置属性が同一である、「あるＵＩ部品が他のＵＩ部品の半分の大きさである」という関係の場合は１つのＵＩ部品のサイズ属性がもう１つのＵＩ部品のサイズ属性の半分である、といった関係と方法があっても構わない。
【００２２】
ステップＳＴ６０４では、ＵＩ部品Ａとの配置関係を推定していないＵＩ部品が残っていないか確認する。残っていた場合、ステップＳＴ６０２から処理を繰り返す。残っていない場合、ステップＳＴ６０５に進む。ステップＳＴ６０５では、ＵＩ部品Ａについての配置関係を出力する。図７は出力形態のイメージ図である。各配置関係に対し、ＵＩ部品ＡがいくつのＵＩ部品と関係があるかを出力する。ステップＳＴ６０６では、入力された検索ＵＩ部品群に配置関係を推定していないＵＩ部品が残っていないか確認する。残っていた場合、ステップＳＴ６０１から処理を繰り返す。残っていない場合、各ＵＩ部品配置関係推定処理を終了する。
【００２３】
図５に戻り、ステップＳＴ５０６では、ステップＳＴ５０５において推定した各ＵＩ部品の配置関係を検索ＵＩ部品群の配置関係として統合する。図８は各ＵＩ部品の配置関係を統合した結果を示すイメージ図である。検索ＵＩ部品群の配置関係は、ＵＩ部品の配置関係と異なり、構成部品数を含めた配置関係の数を記載する。例えば、図８の１行目は「３個のＵＩ部品が縦に並んでいる」という配置関係が２つ存在するということを示している。検索ＵＩ部品群の配置関係を得るには、まず、２つのＵＩ部品と「縦に並んでいる」という配置関係を「３つのＵＩ部品が縦に並んでいる」という構成部品数を含めた配置関係に変換するように、各ＵＩ部品の配置関係を構成部品数を含めた配置関係に変換する。次に、検索ＵＩ部品群の全てのＵＩ部品の配置関係を加算する。そして、「３つのＵＩ部品が縦に並んでいる」という配置関係は、３つのＵＩ部品が配置関係として持っているだろうことが予想されるため、各配置関係の総数を配置関係に含まれたＵＩ部品の数で除算し、その値を検索ＵＩ部品群の配置関係の数とする。ステップＳＴ５０７では、入力された検索ＵＩ部品群の配置関係を図８のような形式によって出力する。
【００２４】
図９は、類似度計算部１０９において実行される類似度計算処理を示すフローチャートである。これは、図３におけるステップＳＴ３０３の処理に該当する。ステップＳＴ９０１では、配置関係推定部１０８において推定した検索ＵＩ部品群の配置関係から１つの配置関係を取得する。ステップＳＴ９０２では、検索対象ＵＩ部品の配置関係から１つの配置関係を取得する。ステップＳＴ９０３では、ステップＳＴ９０１とステップＳＴ９０２で取得した２つの配置関係の種類を比較する。２つの配置関係の種類が異なる場合は、ステップＳＴ９０７へ進む、２つの配置関係の種類が同じだった場合は、ステップＳＴ９０４において２つの配置関係の構成部品数と個数に関して類似度を計算する。類似度は例えば、２つの配置関係の構成部品数と個数の差を計算し、０でない場合はその逆数を、０である場合は１として出力する。なお、類似度計算方法はその他の方法であっても構わない。
例えば、構成部品数について重み付けをするなどしても構わない。また、その他公知の類似度計算方法を用いても良い。
【００２５】
ステップＳＴ９０５では、ステップＳＴ９０４において計算した類似度と一時的に保存している類似度を比較する。なお、初めてこのステップに到達した際などは一時的に保存している類似度は最低であるとする。一時的に保存している類似度が高い場合には、ステップＳＴ９０７へ進む。ステップＳＴ９０４において計算した類似度が高い場合には、ステップＳＴ９０６へ進む。ステップＳＴ９０６では、ステップＳＴ９０４において計算した類似度を一時保存している類似度として上書きする。ステップＳＴ９０７では、検索対象ＵＩ部品の配置関係を全て取得したか確認する。取得していない配置関係が残っている場合、ステップＳＴ９０２に戻り処理を繰り返す。全て取得していた場合、ステップＳＴ９０８へ進む。ステップＳＴ９０８では、一時保存している類似度をステップＳＴ９０１において取得した配置関係の類似度として出力する。ステップＳＴ９０９では、一時保存している類似度を最低に上書きする。
【００２６】
ステップＳＴ９１０では、検索ＵＩ部品群の配置関係を全て取得したか確認する。取得していない配置関係が残っている場合、ステップＳＴ９０１に戻り処理を繰り返す。全て取得していた場合、ステップＳＴ９１１へ進む。ステップＳＴ９１１では、検索ＵＩ部品群の各配置関係における類似度を統合して検索ＵＩ部品群と検索対象ＵＩ部品の類似度を計算する。計算方法は、例えば各配置関係の類似度を加算平均する。なお、この計算方法は他の方法であっても構わない。例えば、特定の配置関係の類似度を高く見積もるなど重み付けを行っても良い。ステップＳＴ９１２では、ステップＳＴ９１１において計算した類似度を出力する。
【００２７】
なお、類似度計算部１０９において利用される検索対象ＵＩ部品の配置関係は、予め推定しておきＵＩ部品格納部１０６へ格納しておいても良いし、配置関係推定部１０８において検索ＵＩ部品群と共に推定しても良い。
【００２８】
図３に戻り、ステップＳＴ３０４では、類似度計算部１０９の計算結果に基づき、類似度が高い検索対象ＵＩ部品を順に出力する。この時、出力されるＵＩ部品数は予め設定しておいても良いし、図４に示す検索ウィンドウなどによって検索時に設定しておいても良い。
【００２９】
このように、実施の形態１では、ＵＩ部品群の配置関係によってＵＩ部品を検索することによって、文字列や具体的な属性値によらず検索を行うことが可能となる。例えば、具体的な入力による絞込みが必要である文字列による検索に比べ、抽象的にＵＩ部品を配置することによって検索結果を得られ、直感的かつ容易に所望のＵＩ部品を検索することが可能である。
【００３０】
以上説明したように、実施の形態１のユーザインタフェース設計支援装置によれば、複数の基本部品を組み合わせて形成されたユーザインタフェース部品と、ユーザインタフェース部品を検索するための検索ユーザインタフェース部品群とを入力するＵＩ部品検索部と、ＵＩ部品検索部に入力された検索ユーザインタフェース部品群を構成する各部品の配置関係を推定する配置関係推定部と、配置関係推定部で推定された配置関係と、ＵＩ部品検索部に入力されたユーザインタフェース部品を構成する各部品の配置関係との類似度を計算する類似度計算部とを備え、ＵＩ部品検索部は、類似度計算部の計算結果に基づいて検索結果となるユーザインタフェース部品を決定するようにしたので、ユーザインタフェース部品を検索する際に、文字列や具体的な属性値によらず、配置関係というユーザインタフェース部品自体の特徴によって検索するため、直感的かつ容易に所望のユーザインタフェース部品を検索することが可能になる。
【００３１】
実施の形態２．
図１０は実施の形態２によるユーザインタフェース設計支援装置を適用したＵＩ設計装置を示す構成図である。図１０において、入力装置１０１〜表示装置１１０における基本的な構成は、図１に示した実施の形態１と同様であるため、ここでの説明は省略する。
実施の形態２では、ＵＩ部品に設定されているユーザ入力イベントハンドラを取得するユーザ入力イベントハンドラ取得部１００１を備える。また、ＵＩ部品検索部１０７に検索ＵＩ部品群を入力する際に配置する部品にクリックやドラッグ、フリック、スワイプといったユーザ入力イベントハンドラを関連づけることが可能であり、類似度計算部１０９において類似度計算を行う際、ユーザ入力イベントハンドラも考慮して計算を行う。
【００３２】
本ＵＩ設計装置の検索処理において、入力する検索ＵＩ部品群の配置関係のみを考慮すると、ＵＩ部品の見た目に関して直感的かつ容易に検索が実行できるものの、ＵＩ部品の働きに関して検索することは困難である。そこで、開発者が図４の検索ウィンドウなどを用いて検索ＵＩ部品群を入力する際、各ＵＩ部品にユーザ入力イベントハンドラを設定することを可能にする。類似度計算部１０９において類似度計算を行う際、入力の際に設定したユーザ入力イベントハンドラと検索対象ＵＩ部品が持つユーザ入力イベントハンドラを比較し、類似度計算に反映する。
【００３３】
実施の形態２における検索処理の流れを図１１に示す。図１１において図３と同一符号を付した処理は同一またはこれに相当した機能を有するので説明を省略する。ステップＳＴ１１０１では、入力された検索ＵＩ部品群よりユーザ入力イベントハンドラ取得部１００１はユーザ入力イベントハンドラを取得する。取得したユーザ入力イベントハンドラのイメージを図１２に示す。
【００３４】
図１３は、図１１におけるステップＳＴ１１０２の類似度計算処理の流れを示している。
図１３において図９と同一符号を付した処理は同一またはこれに相当した機能を有するので説明を省略する。ステップＳＴ１３０１では、ユーザ入力イベントハンドラの類似度を計算する。検索ＵＩ部品群と検索対象ＵＩ部品が持つ各ユーザ入力イベントハンドラについて個数を比較し、その差の合計の逆数を類似度とする。なお、この類似度計算方法は他の方法であっても構わない。例えば、ユーザ入力イベントハンドラとその個数が一致していない場合に１を加算し、一致している場合には加算しないとし、その合計の逆数を類似度としても良い。また、検索対象ＵＩ部品のユーザ入力イベントハンドラは、予めそれぞれの検索対象ＵＩ部品に情報として備えられているものとする。
【００３５】
ステップＳＴ１３０２では、検索ＵＩ部品群の各配置関係における類似度とユーザ入力イベントハンドラの類似度を統合して検索ＵＩ部品群と検索対象ＵＩ部品の類似度を計算する。計算方法は例えば、各配置関係の類似度を加算平均する。なお、この計算方法は他の方法であっても構わない。例えば、特定の配置関係もしくはユーザ入力イベントハンドラの類似度を高く見積もるなど重み付けを行っても良い。
このように、ユーザ入力イベントハンドラも類似度計算に用いることによって、ＵＩ部品の見た目だけでなく、ＵＩ部品の働きに関しても直感的かつ容易に検索することが可能になる。
【００３６】
以上説明したように、実施の形態２のユーザインタフェース設計支援装置によれば、検索ユーザインタフェース部品群に設定されているユーザ入力イベントハンドラを取得するユーザ入力イベントハンドラ取得部を備え、ユーザ入力イベントハンドラ取得部は、ユーザインタフェース部品検索部で検索を実行する際、ユーザインタフェース部品群のユーザ入力イベントハンドラを取得し、類似度計算部は、ユーザ入力イベントハンドラ取得部で取得したユーザインタフェース部品群のユーザ入力イベントハンドラと、ユーザインタフェース部品のユーザ入力イベントハンドラとの類似度を含めて計算するようにしたので、ユーザインタフェース部品を検索する際に、配置関係だけでなくユーザインタフェース部品の実行時の働きも考慮した検索が可能になるため、より直感的かつ容易に所望のユーザインタフェース部品を検索することが可能になる。
【００３７】
実施の形態３．
図１４は実施の形態３によるＵＩ設計装置を表す構成図である。図１４において、入力装置１０１〜表示装置１１０、ユーザ入力イベントハンドラ取得部１００１における基本的な構成は、図１０に示した実施の形態２と同様であるため、ここでの説明は省略する。
実施の形態３では、ユーザ入力イベントハンドラの合成や分解といった変換を行うユーザ入力イベントハンドラ変換部１４０１を備える。このユーザ入力イベントハンドラ変換部１４０１は、ユーザ入力イベントハンドラ取得部１００１において取得したユーザ入力イベントハンドラを同等の働きで異なるユーザ入力イベントハンドラに変換するものである。また、実施の形態３では、類似度計算部１０９における類似度計算において、ユーザ入力イベントハンドラも考慮して計算する前に、ユーザ入力イベントハンドラ変換部１４０１が既定の変換方法に従ってユーザ入力イベントハンドラを変換するよう構成されている。
【００３８】
蓄積されたＵＩ部品は過去のＵＩ設計装置によって設計されたＵＩ部品であるため、場合によっては、現在はサポートしているものの過去はサポートされていなかったユーザ入力イベントハンドラが存在する可能性がある。例えば、近年スマートフォンに代表されるタッチパネルの台頭により、従来サポートされていなかったフリックやスワイプといった入力をサポートするＵＩ設計装置が出てきている。一方、過去のＵＩ設計装置によって設計されたＵＩ部品であっても、サポートされているユーザ入力イベントハンドラを駆使してフリックやスワイプなど従来サポートされていなかったユーザ入力イベントハンドラと同等のユーザ入力イベントハンドラを実現している可能性がある。現在においても、従来のユーザ入力イベントハンドラによって新しいユーザ入力イベントハンドラを実現しているＵＩ部品は再利用や参考として利用される場合がある。しかしながら、どのように設計されているかを推測して検索する必要がある上、新しいユーザ入力イベントハンドラを設定されているＵＩ部品と同時に検索することは困難である。そこで、実施の形態３では、検索ＵＩ部品群に設定されたユーザ入力イベントハンドラを、合成または分解して同等の働きで異なるユーザ入力イベントハンドラに変換し、類似度計算に利用する。
【００３９】
実施の形態３における検索処理の流れを図１５に示す。図１５において図１１と同一符号を付した処理は同一またはこれに相当した機能を有するので説明を省略する。
図１６は、図１５におけるステップＳＴ１５０１のユーザ入力イベントハンドラ変換処理の流れを示している。ステップＳＴ１６０１では、予めユーザ入力イベントハンドラの変換方法を記載したリストを取得する。リストには、例えば「プレスイベントとドラッグイベントとリリースイベントが存在している場合フリックイベントに変換する」、「マルチタッチイベントとドラッグイベントが存在している場合ピンチインイベントもしくはピンチアウトイベントに変換する」といった内容が記載されている。このリストは開発者が自由に編集しても良い。ステップＳＴ１６０２では、検索ＵＩ部品群よりＵＩ部品を１つ取得する。ステップＳＴ１６０３では、取得したＵＩ部品に設定されているユーザ入力イベントハンドラを取得する。ステップＳＴ１６０４では、ステップＳＴ１６０３において取得したユーザ入力イベントハンドラとリストに記載されている変換可能なユーザ入力イベントハンドラを比較する。変換可能なユーザ入力イベントハンドラが存在しない場合、ステップＳＴ１６０６へ進む。変換可能なユーザ入力イベントハンドラが存在する場合、ステップＳＴ１６０５へ進む。ステップＳＴ１６０５では、変換前のユーザ入力イベントハンドラと変換後のユーザ入力イベントハンドラの対応を出力する。ステップＳＴ１６０６では、検索ＵＩ部品群のＵＩ部品を全て取得したか確認する。取得していないＵＩ部品が残っている場合、ステップＳＴ１６０２に戻り処理を繰り返す。取得していないＵＩ部品が残っていない場合、処理を終了する。
【００４０】
図１５に戻り、ステップＳＴ１５０２では、ステップＳＴ１５０１において変換されたユーザ入力イベントハンドラに関して、変換された場合と変換されなかった場合の全ての組み合わせについて類似度計算が実行されたか確認する。類似度計算が実行されていない組み合わせが残っている場合、ステップＳＴ１１０２に戻り処理を繰り返す。全ての組み合わせについて類似度計算されていた場合、ステップＳＴ３０４に進む。
このように、ユーザ入力イベントハンドラを変換して類似度計算することにより、これまでのＵＩ設計装置でサポートしていなかったユーザ入力イベントハンドラについても、蓄積されたＵＩ部品から検索することが可能である。
【００４１】
以上説明したように、実施の形態３のユーザインタフェース設計支援装置によれば、検索ユーザインタフェース部品群に設定されているユーザ入力イベントハンドラを取得するユーザ入力イベントハンドラ取得部と、ユーザ入力イベントハンドラ取得部において取得したユーザ入力イベントハンドラを同等の働きで異なるユーザ入力イベントハンドラに変換するユーザ入力イベントハンドラ変換部とを備え、ユーザ入力イベントハンドラ取得部は、ユーザインタフェース部品検索部で検索を実行する際、ユーザインタフェース部品群のユーザ入力イベントハンドラを取得し、類似度計算部は、ユーザ入力イベントハンドラ変換部で変換したユーザインタフェース部品群のユーザ入力イベントハンドラと、ユーザインタフェース部品のユーザ入力イベントハンドラとの類似度を含めて計算するようにしたので、検索対象となるユーザインタフェース部品を作成したユーザインタフェース設計装置がバージョン違いなどによりサポートしてないユーザ入力イベントハンドラについても検索対象とすることが可能である。
【００４２】
実施の形態４．
図１７は実施の形態４によるユーザインタフェース設計支援装置を適用したＵＩ設計装置を示す構成図である。図１７において、入力装置１０１〜表示装置１１０における基本的な構成は、図１に示した実施の形態１と同様であるため、ここでの説明は省略する。
実施の形態４では、ＵＩ部品検索部１０７において検索を実行する際、入力となるユーザインタフェース部品群を編集することが可能な検索ＵＩ部品群編集部１７０１を備え、類似度計算処理を行う前に所望の配置関係として推定されているかを確認し、場合によっては再度検索ＵＩ部品群の配置関係を編集可能であることを特徴とする。
【００４３】
入力となるユーザインタフェース部品群は位置やサイズに関して完全に同一、もしくは一定などにすることなく、ある程度似通っていれば該当する配置関係であると認識する。
これによって、開発者は数値入力による位置あわせなどの作業が不要となり、容易に検索することが可能である。一方、どこまで似通っていれば該当する配置関係とするかは開発者が設定できるものの、入力となるユーザインタフェース部品群の配置によっては上手くいかない場合もある。そのような場合、検索結果を提示しても所望のＵＩ部品が見つからないということが考えられる。そこで、検索ＵＩ部品群編集部１７０１により、配置関係を推定した後に開発者に推定結果を提示し、望んだ推定結果ではない場合は修正を可能とする。
【００４４】
図１８は検索ＵＩ部品群編集部１７０１における処理の流れを示すフローチャートである。ステップＳＴ１８０１では、入力された検索ＵＩ部品群の配置関係推定処理結果を取得する。ステップＳＴ１８０２では、ステップＳＴ１８０１において取得した配置関係推定処理結果を図８のような形式によって提示する。ステップＳＴ１８０３では、開発者が提示された内容が意図した配置関係を表しているか確認し、編集が必要な場合、ステップＳＴ１８０４へ進む。編集が必要ない場合、処理を終了する。ステップＳＴ１８０４では、検索ＵＩ部品群の編集を行う。編集が完了すると、検索ＵＩ部品群は配置関係推定部１０８へ入力され、再び配置関係推定処理を実行する。その後、再び配置関係結果を取得し、ステップＳＴ１８０１より処理を繰り返す。
このように、検索結果が表示される前に配置関係を提示し、修正の機会を設けることによって、意図しない検索を防ぐことが可能であり、より正確な検索を実行することが可能である。
【００４５】
以上説明したように実施の形態４のユーザインタフェース設計支援装置によれば、配置関係推定部で推定した検索ユーザインタフェース部品群を構成する各部品の配置関係を編集する検索ユーザインタフェース部品群編集部を備えたので、検索実行前に所望の配置関係が推定されているか確認することが可能となり、場合によっては修正することが可能であるため、意図しない検索を減らすことが可能である。
【００４６】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【００４７】
１０１  入力装置、１０２  画面設計部、１０３  ＵＩ（ユーザインタフェース）部品設計部、１０４  ＵＩ（ユーザインタフェース）設計部、１０５  画面格納部、１０６  ＵＩ（ユーザインタフェース）部品格納部、１０７  ＵＩ（ユーザインタフェース）部品検索部、１０８  配置関係推定部、１０９  類似度計算部、１１０  表示装置、１００１  ユーザ入力イベントハンドラ取得部、１４０１  ユーザ入力イベントハンドラ変換部、１７０１  検索ＵＩ部品群編集部。
【図１】
2017040952.tif 000003
【図２】
2017040952.tif 000004
【図３】
2017040952.tif 000005
【図４】
2017040952.tif 000006
【図５】
2017040952.tif 000007
【図６】
2017040952.tif 000008
【図７】
2017040952.tif 000009
【図８】
2017040952.tif 000010
【図９】
2017040952.tif 000011
【図１０】
2017040952.tif 000012
【図１１】
2017040952.tif 000013
【図１２】
2017040952.tif 000014
【図１３】
2017040952.tif 000015
【図１４】
2017040952.tif 000016
【図１５】
2017040952.tif 000017
【図１６】
2017040952.tif 000018
【図１７】
2017040952.tif 000019
【図１８】
2017040952.tif 000020
【図１９】
2017040952.tif 000021