0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

图形用户界面的协作工作的应用

星星科技指导员 来源:嵌入式计算设计 作者:Jason Clarke 2022-06-21 11:10 次阅读

图形用户界面(GUI,或更一般的 UI)重要性的上升不再局限于消费市场。UI 设计正迅速成为整个嵌入式领域产品之间的关键差异化因素。只需要 UI 功能而不是引人注目的应用程序正在发展以适应这一趋势。工业和医疗设备已经将 UI 概念从消费者和移动市场中提取出来,用于下一代设备。

随着重要性的变化,UI 的开发方式也发生了变化。UI 开发不再是一个只由嵌入式工程师控制的过程;它包括许多不熟悉嵌入式生命周期的利益相关者。协作工作现在包括 UI 设计师和用户体验(称为 UX)设计师以及嵌入式工程师。

团队中的新角色

这些利益相关者中的每一个不仅带来了他们自己的专业知识,而且还带来了通常与嵌入式开发世界不一致的非常不同的开发环境和流程。以下是对每个利益相关者的职责和开发环境的快速回顾:

嵌入式工程师:负责从中间件到嵌入式系统硬件的应用逻辑。嵌入式工程师使用 C/C++ 代码进行开发,并使用源代码存储库进行协作和保留项目历史记录。

UX 设计师:负责定义产品屏幕、UI 流程、高级应用程序逻辑和呈现给用户的数据。UX 设计师在 Adobe Flash、HTML、Balsamiq Mockups 和类似应用程序中使用草图、线框、流程图和 UI 原型。

UI 设计师:定义图形内容以及屏幕转换和动画。UI 设计师通常使用 Adobe Photoshop 和 Illustrator 等工具以及其他图像编辑器。

除了商定的流程和任务序列化之外,UI 和 UX 设计师都没有标准的协作方法。UI 和 UX 角色偶尔会结合起来以减少协作挑战,但这并不能解决缺乏工具来管理开发期间生成的设计工件的问题。

凭借所有这些不同的技能组合和工作环境,协作成为一项艰巨的任务和潜在的生产力杀手。当工程师和平面设计师必须一起工作时,关注点和开发风格的差异可能会导致严重的流失。许多公司试图通过使用单一资源(嵌入式工程师)来管理 UI 来避免这种冲突。此解决方案适用于非常简单的情况,但不适用于较大的项目,并且如果未满足时间表,则无法将更多资源应用于 UI 开发。

当一个项目通过单一资源进行序列化时,UI 和 UX 设计师通常在实施阶段被边缘化。设计师为项目贡献初始图形内容、图像和线框,然后在软件开发人员实施他们的设计时被排除在开发过程之外。这通常会导致所需的用户体验与最终产品中交付的内容不匹配。

关注点和工具不同

在 UI 界面的开发和发布过程中,UI/UX 设计人员的关注点可能比嵌入式开发者的关注点更重要,后者往往关注处理器使用、内存占用、代码架构、可维护性和重用性。UI/UX 设计师更关注可用性、界面一致性、图形质量和整体用户体验。这些担忧并不总是完全矛盾的。然而,没有平衡的方法很容易扼杀产品的市场吸引力。

为了平衡这些担忧,重要的是让所有利益相关者参与整个开发过程。这说起来容易做起来难,不仅因为不同的技能和关注点,还因为开发环境提供的交叉很少,没有自然的集成。几个问题很快就会浮出水面:

使用小部件库或 C/C++ 开发 GUI 框架会阻止除有经验的嵌入式工程师之外的任何人进行协作。

UI 和 UX 设计师以及产品营销人员需要嵌入式工程师的帮助才能对 UI 进行哪怕是微不足道的更改。

使用设计人员熟悉的高级工具会阻止与代码存储库的集成,并且无法提供有关详细更改或协作和合并能力的有用信息

在嵌入式项目中,所有开发协作都是通过设计用于处理文本文件的代码存储库完成的,为二进制和专有格式提供最小的回报。

在文本级别查看比较时,将代码存储库与 C 或 XML 文件一起使用并不能展示对 UI 进行微小更改的上下文和后果。

许多非正式工具,如电子邮件、即时消息和 wiki 都被用来尝试解决这些问题。尽管这些工具提供了某些优势,但最终它们仅有助于共享有关项目的信息,而不是与项目相关的工件和可交付成果。这些工具无法在 UI 设计和开发级别实现共享和协作,不包括屏幕设计、屏幕转换、脚本和代码管理以及测试套件等重要元素。

在规模的另一端,源代码存储库提供了一种正式和结构化的方法来捕获项目所代表的基本代码。虽然源代码存储库对于任何大型项目的成功都是必要的,并且已被证明对于软件工程团队的协作是成功的,但它们不足以使非软件开发团队成员能够进行协作。作为一个明显的例子,图形设计师从源代码存储库中获得的价值很少。

视觉协作表面

UI 开发与标准嵌入式系统开发有很大不同,因为随着时间的推移监控 UI 需要一种可视化方法,而不是源代码差异视图来完全理解上下文的变化。在编辑器中查看的源代码更改或 XML 声明性语言对帮助开发人员完全理解更改的真正后果几乎没有帮助(参见图 1)。当检查差异的资源不是对源代码非常了解的嵌入式工程师时,这个问题就会被放大。此外,许多 UI 工具套件涉及代码生成或关键部分的专有二进制组件,因此极难管理。

图 1:在编辑器中查看源代码更改或 XML 声明性语言时,最终用户几乎无法完全理解更改的真正后果。

poYBAGKxNraAWiR_AAUMftwuoZM434.png

为了解决这个问题,理想的方法是使用一个工具或一组工具,它不仅以可视化的方式公开 UI 特定元素的变化,而且还与嵌入式开发生命周期的主要协作中心、源代码存储库(参见图 2)。使用可以以任何利益相关者易于理解的级别公开 UI 的每个更改的工具,使所有利益相关者能够并行工作。允许利益相关者充分协作提供了许多好处,包括及早发现 UI 行为中的问题、缩短产品开发时间以及在最终产品中提供更好的用户体验。

图 2: UI 开发的理想方法是使用一个工具或一组工具,以可视方式公开 UI 特定元素的更改。

pYYBAGKxNr6AGfkpAAfztdPZRXI763.png

Crank Software 的 Storyboard Suite 通过创建一个可供所有利益相关者利用的环境来支持可视化 UI 开发。该工具利用 Eclipse 框架作为 Crank Software 的 Storyboard Designer 的基础,其中嵌入式工程师可以利用 Eclipse C/C++ 插件。Storyboard 还有助于解决在监控产品内 UI 演变方面的上下文困境。UI 的视觉差异比较编辑器和对文本差异的支持(用于脚本和编程语言)允许所有项目参与者在与他们相关的上下文中查看产品的历史。使用这样的工具,UI/UX 开发人员可以通过直接从他们熟悉的工具中导入来快速协作地开发 UI。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4981

    文章

    18281

    浏览量

    288423
  • C++
    C++
    +关注

    关注

    21

    文章

    2066

    浏览量

    72900
  • 编辑器
    +关注

    关注

    1

    文章

    788

    浏览量

    30186
收藏 人收藏

    评论

    相关推荐

    蓝鹏工业信息采集平台 软件界面介绍

    方便用户更直观的了解测量数据的偏差。 (3)历史数据图形化 对于已经测量过的历史数据,也支持以图形化的方式进行查看。 (4)自定义用户界面
    发表于 12-28 17:07

    labview上位机界面设计

    LabVIEW是一种功能强大的计算机化系统设计和仿真软件,被广泛应用于科学研究、工业控制、仪器仪表、数据采集与处理等领域。作为一款图形化编程工具,LabVIEW具备直观友好的用户界面,并可以生成各种
    的头像 发表于 12-28 11:16 3028次阅读

    图形界面开发工具GUI Guider的使用教程

    GUI Guider是NXP推出的一款功能强大且对用户非常友好的图形界面开发工具。目前最新版本是1.6.1。
    的头像 发表于 12-20 09:49 4922次阅读
    <b class='flag-5'>图形界面</b>开发工具GUI Guider的使用教程

    linux图形界面设置ip

    在Linux系统中,可以使用图形界面来设置IP地址。下面是一个详实而细致的文章,将指导您如何通过图形界面设置IP地址。 第一部分:进入网络设置界面 打开Linux系统的“设置”应用程
    的头像 发表于 11-27 15:19 1212次阅读

    python窗口图形界面编程

    Python是一种功能强大而又简单易用的编程语言,支持多种编程范式,包括面向过程、面向对象和函数式编程。除了用于开发各种类型的应用程序和网络服务,Python还提供了丰富的图形用户界面(GUI)编程
    的头像 发表于 11-22 14:23 550次阅读

    LabVIEW程序界面的布局

    电子发烧友网站提供《LabVIEW程序界面的布局.doc》资料免费下载
    发表于 10-30 11:37 2次下载
    LabVIEW程序<b class='flag-5'>界面的</b>布局

    基于AVR单片机的树状菜单界面的设计

    电子发烧友网站提供《基于AVR单片机的树状菜单界面的设计.pdf》资料免费下载
    发表于 10-30 11:10 0次下载
    基于AVR单片机的树状菜单<b class='flag-5'>界面的</b>设计

    基于FBD界面的CL-HMI系统实现闭环人机交互

    这项研究工作提出了一种集成多模态传感与触觉反馈的FBD界面,并开发了基于该界面的CL-HMI系统。所提出的FBD界面能通过纽扣式振动电机阵列提供可编程的触觉反馈,这对于实现动态运动中的
    发表于 09-13 15:29 491次阅读
    基于FBD<b class='flag-5'>界面的</b>CL-HMI系统实现闭环人机交互

    陶瓷电路板制作工艺之图形转移篇

    图形转移工艺、干膜(Dry Film)图形转移工艺、液态光致抗蚀剂(Liquid Photoresist)图形转移工艺、电沉积光致抗蚀剂(ED膜)制作工艺以及激光直接成像技术(Las
    的头像 发表于 09-12 11:31 679次阅读
    陶瓷电路板制<b class='flag-5'>作工</b>艺之<b class='flag-5'>图形</b>转移篇

    RealView调试器用户指南

    图形用户界面(GUI)模式启动。 该图形用户界面有一个内置的命令行。 要在命令行
    发表于 08-16 07:41

    通过linux跑一个ubuntu的带图形界面的系统

    一直想通过linux平台跑一个类似于ubuntu的带图形界面的系统,于是买了一块linux开发板,最终只是能跑个linux系统,没有把图形加进去,后来就没有再去深入研究了,最近终于有一点时间来研究一下了。
    发表于 07-21 14:29 528次阅读
    通过linux跑一个ubuntu的带<b class='flag-5'>图形界面的</b>系统

    CGSL操作系统从图形界面进入命令行界面

    CGSL操作系统启动后默认进入图形界面,需要进入命令行界面从而输入命令。R5300 G4、R5500 G4、R8500 G4、R5300 G4X、R5500 G4X、R8500 G4X、R5930 G2
    的头像 发表于 06-25 14:26 603次阅读
    CGSL操作系统从<b class='flag-5'>图形</b>化<b class='flag-5'>界面</b>进入命令行<b class='flag-5'>界面</b>

    Tara Systems为兆易创新GD32 MCU提供Embedded Wizard图形界面开发工具

    兆易创新与德国TARA Systems公司联合宣布,GD32高性能通用微控制器产品家族已与TARA Systems旗下的Embedded Wizard嵌入式图形用户界面(GUI)技术达成生态合作伙伴关系。
    的头像 发表于 06-20 10:29 556次阅读

    Embedded Wizard为GD32 MCU提供先进高效的图形界面开发工具

    德国慕尼黑——兆易创新与德国TARA Systems公司联合宣布,GD32高性能通用微控制器产品家族已与TARA Systems旗下的Embedded Wizard嵌入式图形用户界面(GUI)技术达成生态合作伙伴关系。
    发表于 06-09 14:51 794次阅读

    嵌入式GUI“美容”小技巧:让小身板的MCU,也可以有个俊模样的界面设计!

    在本文中,小编用“小身板”和“俊模样”来指代一个带有图形用户界面的系统的两个方面。“小身板”是指相对有限的MCU资源,例如:相对较低的主频、相对较少的存储资源、没有专门的LCD显示控制器、较低的显示
    的头像 发表于 05-19 10:55 545次阅读
    嵌入式GUI“美容”小技巧:让小身板的MCU,也可以有个俊模样的<b class='flag-5'>界面</b>设计!