首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

设计用于嵌入式系统的图形用户界面

设计用于嵌入式系统的图形用户界面

从工业自动化到医疗设备,从家用电器到车载娱乐信息系统,嵌入式系统对于日益增多的现代产品的运行和功能而言至关重要。在这个充满变幻不定的期望以及几乎所有公司都在尽力追求浮华“酷炫”的用户界面的世界中,此类嵌入式系统的设计员面临着重重压力,不仅要不断满足适用性要求,还要打造出令人惊叹的用户体验。尽管编码很明显是建造嵌入式系统界面的关键元素,但仅凭优秀的编码本身已远远不够,理解用户和选择合适的开发工具已成为两项至关重要的成功因素。

2013-12-20 16:40:31 上传
下载附件 (24.23 KB)



图1.车载人机交互界面示例

嵌入式系统用户界面的演变

以前,许多嵌入式系统很少需要或不需要与终端用户直接关联,因此仅具有基本的用户界面要求(如有)。但随着嵌入式装置的性能逐渐增强并成为几乎所有电子系统的核心组件,它们的功能也应更便于用户操作。但自相矛盾的是,这会使它们的使用难度变得更高,进而导致更高的工作量用于避免用户面对复杂的操作。增添了诸如触屏控制、动态内容管理和网络访问等功能,用户界面设计(一般通过图形用户界面进行)目前很明显已成为嵌入式系统开发至关重要的元素。

但由于我们都已习惯了手机和平板电脑的易于使用性,即使是最基本的非消费电子产品设计也要满足直观、清楚、全面、快速和可靠的图形用户界面预期。这就为项目开发团队带来了压力,不仅是因为图形用户界面的开发在编码层面变得更复杂(并非始终有合适的“建造板块”可供许多嵌入式操作系统使用),还由于尽管任何具有优质显示器和充分处理能力的系统均可部署美观诱人的图形界面,但如果没有合适的功能工具,要创建互动式动态图形用户界面却十分困难。然而另一个未被充分认识的问题是,除合适的工具外,开发最佳的图形用户界面还需要额外的设计技能,这一点软件工程团队并非随时都具备。

当然,尽管功能是核心要素,但真正将最佳图形用户界面与基本可用的界面区别开来的还是“适用性”。软件工程师一般能实施满足功能规格的用户界面,但最佳的用户体验却只能源自更高级别的思考和理解,即该界面怎样才能有助于用户更出色地完成工作,或者以最简单或最快捷或最直观的方式取得预期结果。这正是界面编码与界面设计有所区别的原因,以及在这个不再使用难学或难用的设备和系统的世界中,开始编码前要进行大量工作的原因。

预编码考虑事项

任何优秀用户界面设计的第一阶段都应明确用户要求,并分析用户会执行必要任务的方式。因此至关重要的是要理解用户应完成的任务,以及他们会如何按优先顺序处理关键任务。从本质上讲,这一点适用于所有设计工作,但在医疗或航天系统等任务和安全关键型应用中尤其显得重要,因为其中的用户界面良好情况的确事关生死。有鉴于此,观察或记录用户处理类似任务的方式十分重要,而且考虑他们在现有系统中可能会遇到的问题和失败也往往大有裨益。

一旦他们了解了用户需要什么功能,设计员就能接着考虑界面的外观和体验,以及随后的工作流程。应与用户一起创建和讨论脚本及界面原型,并基于其反馈创建新的迭代次数。现代工具可对此提供帮助,不仅可协助实现原型的快速开发,还能让该作品用于成品而非一切从头开始。在整个过程中,设计员应努力创建一种直观、样式和功能一致且避免凌乱的界面。

除用户要求和任务分析以外,会影响用户界面设计的其他因素从操作环境(高强度环境光或像在许多医疗或工业自动化应用中,例如需要戴手套使用触摸屏以免影响图标尺寸、颜色和位置),到硬件和软件平台中的可移植性需要等不一而足。在此阶段还应考虑有必要使用多种语言版本的全球部署要求或网络功能整合需求。

2013-12-20 16:40:32 上传
下载附件 (33.61 KB)



图2.VIBXPERT II双通道FFT数据收集器和信号分析器采用图形用户界面并有效运用色彩。

设计环境和工具

设计员确定嵌入式用户界面的“大图片”要求后,接下来就需要软件工程师将该界面转变成现实。此时的设计环境及相关工具的选择会导致十分不同的结果,不仅对于成品,而且在项目开发成本和速度方面均会产生重大差别。

对于图形用户界面设计,设计环境必须是分开的;其中图形在一侧,源代码在另一侧。将此两者联系到一起可成功架接图形用户界面创建中设计与开发的工作,从上述的预编码问题开始推进。支持设计(美学)和开发(编码)图形策略的图形用户界面设计环境在此方面特别有利。在此类环境中,以图形方式表示的用户控制项同样会理想的以内在方式在目标平台包含所有所需代码以激活它们。在工程方面,这意味着面向对象的设计策略;通过选择元素,其固有的全部特征都将被激活,并且通过此“内在特征”,使用这些元素建造的任何内容都将确切无疑地可以访问单独元素的特征和功能。从表面上看,此类策略并不仅限于视觉元素;使用面向对象的方法开发的任何“组件”都可毫无疑问地继承其组件的特征,并将这些特征按照等级方式传递给使用它的任何其他组件。

这会对面向对象的编程语言(例如C++)架构起到支撑作用,并可从概念上扩展至支持面向对象的编程的图形设计环境。重要的是,面向对象的软件具有固有的可移植性,因为“组件”包含(通过遗传)为确定其功能所需的全部特征,从而降低了面向对象的代码对硬件的依赖。在大多数情况下,移植面向对象的软件只是一种针对不同架构的简单重新编译,至少无需使用针对具体功能的任何硬件或操作系统。在提供真正的交叉平台支持的现代框架中(例如Qt),该流程得到了进一步简化。此类可移植性可将新设计的开发开支降至最低,并在为嵌入式开发人员提供针对不同硅片价格点的不同路径的同时,使迁移现有设计变得更简单。例如,Qt可用于为采用低功耗和经济实惠型处理器的便携医疗装置创建界面,相同的代码可充分运用于较此更大型的器械,例如采用更高功率处理器的CAT或MRI扫描仪。

当今使用的一种处于领先地位的面向对象的程序语言是C++。在普遍应用的C语言基础上,C++ 是许多希望采用面向对象的方法的工程师的自然进展。通过采用面向对象的策略,将可创建一种开发“框架”,其中的模块库包含图形用户界面向导“组件”(或称为“类”),例如按钮、滑动条、窗口或标度盘以及嵌入式设备需要的其他功能性元素,包括联网、多媒体支持(视频编解码器)和国际化(语言)。这种解释型语言(例如Java)的优势可造成卓越或中等用户体验之间的差别。

框架功能

对设计师和工程师均特别有利的是,所选的环境是否能为用户界面提供丰富的预制(及自定义)组件,以及从操作系统中提取常用功能的类和模块。理想情况下,这些类提供的益处并不仅限于图形用户界面。例如,通过向XML、网络系统、进程间通信 (IPC)、带硬件加速的2D和3D 图形、线程、SQL、国际化和多媒体提供类,工程师还可高效访问应用框架,以帮助他们加快关键功能的部署速度,同时使其得以关注可为成品增加竞争优势的核心能力。

以Qt应用和用户界面框架为例,它已经在桌面应用环境中得到充分运用,并已被用于向嵌入式系统提供相同的益处。这种框架包括开发工具和类库,可让设计师和程序员共同采用可轻松自定义的组件生成图形用户界面,从所用的调色板到事件的处理方式均可进行自定义。

除编写代码以外,Qt设计环境还可使用拖放拥护界面创作等工具,实现图形元素的快速创作。高性能文本渲染及预渲染字体有助于降低进程开支,而除图形外,专用网络工具可使设计师建造融合实时网络内容和服务的先进用户界面,从而满足连接性要求。对于全球部署而言,一款专用的语言家工具可使工程师翻译和调整应用程序,以适应不同的世界语言,包括支持亚洲语言字符和从右至左阅读的脚本。

2013-12-20 16:40:32 上传
下载附件 (22.06 KB)



图3.医疗用户界面示例

便携性

Qt独具特色的重要优势之一是其平台的建造方式,即用于提供一流的交叉平台应用程序编程接口(API),可有助于以最小的额外工作量在多个软件环境中部署图形用户界面设计和应用程序。例如,无需任何重新写入即可将来自一个目标装置(例如,台式计算机环境)的源代码部署到嵌入式操作系统上。这不仅允许从单个部署项目中进行多个部署,还可进一步针对未来平台本身的变化验证代码,这在当今操作系统本身不断修正且产品生命周期以月而非年计算的世界中的确是一项重要益处。
返回列表