ユーザーインターフェースモデリング

ユーザーインターフェースモデリングは、コンピュータアプリケーションプログラマーが用いる開発手法です。今日のユーザーインターフェース(UI)は複雑なソフトウェアコンポーネントであり、アプリケーションのユーザビリティにおいて重要な役割を果たします。そのため、UIの開発には、ガイドラインやベストプラクティスレポートだけでなく、視覚モデルの作成と、その視覚化のための標準化された表記法を含む開発プロセスも必要です。

ユーザーインターフェースモデリングという用語は、主に情報技術の文脈で用いられます。ユーザーインターフェースモデルとは、エンドユーザーがコンピュータプログラムや他のデバイスとどのようにインタラクションし、システムがどのように反応するかを表現するものです。モデリングの目的は、モノやデバイスが 「直接体験する側面」をすべて示すことです[Trætteberg2002]。

ユーザーインターフェースのモデリングは、それ自体が確立された専門分野です。例えば、モデリング技術は、ユーザーインターフェースにおけるインタラクションオブジェクト、タスク、そして低レベルのダイアログを記述することができます。ユーザーインターフェース開発においてモデルを用いることで、ユーザー要件を把握し、特定のレイアウトやウィジェットへの早急なコミットメントを回避し、インターフェースを構成する様々なパーツ間の関係性とその役割を明確にすることができます。[SilvaPaton2003]

言語

マリア

MARIA XML (Model-based lAnguage foR Interactive Applications) は、ユビキタス環境でインタラクティブ アプリケーションをモデル化するための 、汎用的で宣言型の複数抽象化レベルの XML ベースのユーザー インターフェイス マークアップ言語です。

UM

ユーザーインターフェースモデリングの一部は、UMLを用いて実現できます。しかし、UMLはこの種のモデリングを主眼に置いて設計されておらず、モデルがやや合成的なものになってしまう可能性があります。

UMLi

UMLiはUMLの拡張であり、ユーザー インターフェイスで一般的に発生する表現のサポートを追加します。

UML のアプリケーション モデルではユーザー インターフェイスの側面がほとんど記述されておらず、モデルベースのユーザー インターフェイス開発環境 (MB-UIDE) にはアプリケーションをモデリングする機能がないため、マンチェスター大学は 1998 年に UMLi という研究プロジェクトを開始しました。UMLi は、UMLと MB-UIDE を組み合わせてユーザー インターフェイスを設計および実装するという問題に対処することを目的としています。

XMLの使用

UsiXML(USer Interface eXtensible Markup Language)は、ユーザーインターフェース設計のためのXMLベースの仕様言語です。キャラクタユーザーインターフェース(CUI)、グラフィカルユーザーインターフェース(GUI)、聴覚ユーザーインターフェース、マルチモーダルユーザーインターフェースなど、様々な利用コンテキストにおけるUIの記述をサポートします。

ディアMODL

DiaMODLは、データフロー指向言語(Pisaインタラクタ抽象化)と、動作に重点を置いたUMLステートチャートを組み合わせたものです。データフローだけでなく、インタラクションオブジェクトの動作もモデリングできます。具体的なユーザーインターフェースの機能と構造をドキュメント化するために使用できます。

ヒマリア

Himaliaは、ハイパーメディアモデルと制御/複合パラダイムを組み合わせたものです。完全なユーザーインターフェース言語であり、仕様記述だけでなく実行にも使用できます。そのため、このデザイナーツールはギルダーに分類されます。[1]

モデルの種類

ユーザーインターフェースの様々な側面には、それぞれ異なる種類のモデルが必要です。UIモデリングで検討できるモデルには、以下のようなものがあります。

  • ドメイン モデル(データ モデルを含む) (ユーザーがユーザー インターフェイスを通じて表示、アクセス、操作できるオブジェクトを定義します)
  • ナビゲーションモデルは、ユーザーが表示するオブジェクトをユーザーインターフェースを通じてどのようにナビゲートするかを定義します。
  • タスク モデル(エンド ユーザーが実行するタスクを記述し、どのようなインタラクション機能を設計する必要があるかを決定します)
  • ユーザー モデル(エンド ユーザーのさまざまな特性と組織内で果たしている役割を表します)
  • プラットフォーム モデル(アプリケーションをホストすることを目的とした物理デバイスとそれらの相互作用をモデル化するために使用されます)
  • 対話モデル(ユーザーがオブジェクトの表示(プッシュボタン、コマンドなど)、インタラクションメディア(音声入力、タッチスクリーンなど)と対話する方法、およびユーザーインターフェイスがこれらのオブジェクトを介して通信する反応)
  • プレゼンテーション モデル(アプリケーションの外観、ユーザー インターフェイスがユーザーに提供する視覚、触覚、聴覚要素の表現)
  • アプリケーション モデル(アプリケーションが提供するコマンドとデータ)

UML は、上記のモデルのいくつかにさまざまな成功度で使用できますが、ユーザー モデリング、プラットフォーム モデリング、プレゼンテーション モデルのサポートが不足しています。

アプローチ

ユーザー インターフェイスをモデリングするには、いくつかのアプローチがあります。

使い方中心の設計

使用中心設計におけるモデリングの課題は、計画されたシステムの実際のプレゼンテーションとユーザーインタラクションがどのように行われるかを示すことです。これはおそらく最も高く評価されているアプローチであり、大小さまざまなプロジェクトで成功を収めてきました。その強みは複雑な問題にあります。

モデルベースUIへの代替アプローチ

モデルベースアプローチの既知の問題としては、情報の再表現や、横断的な懸念事項を効果的に解決するためのメカニズムの欠如などが挙げられます[Cerny2013]。モデルベースソリューションは単体でも十分に機能しますが、他のアプローチとの統合は開発と保守の作業を複雑化させます。

コード検査ベース

これらのアプローチは、既存の汎用言語(GPL)コードベース[Cerny2012]に基づいています。メタプログラミングを通じてコードを検査し、UIに変換される構造モデルを構築します。このアプローチは情報の再表現に対処します。これらのアプローチは、適応型UIやコンテキストアウェアUIには適していません。

生成プログラミング

これらのアプローチは、ドメインメソッドをGPL(生成プログラミング)と結び付けます。横断的な関心事はコンパイル時に解決されるため、実行時情報を必要とする将来の適応型UIに直接対応することはできません。

アスペクトベースのUI

[Cerny2013][Cerny2013a][AspectFaces] で提案されたアスペクトベースのソリューションは、コードインスペクションベースと生成プログラミングアプローチの利点を統合しています。既存のコードを検査し、アスペクト指向手法を適用して横断的な関心事に対処します。実行時に動作し、情報の再記述を削減すると同時に、UIの関心事を分離することで、それぞれを独立して再利用できるようにします。[Cerny2013] の研究では、著者らはアスペクトベースのUIアプローチを本番システムに適用することで、UIコードを32%削減しました。主な利点は、プレゼンテーションを調整するためのテンプレート、関心事の個別定義、そして様々なデータに適用可能な汎用的な変換ルールです。

コンテンツモデル

この種のモデルは、ユーザーインターフェースとその様々なコンポーネントの内容を示します。これは使用中心設計モデルの一種であるため、美観や動作の詳細は考慮されません。

参照

参考文献