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

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

3天内不再提示

UI开发支持软件加速开发过程

星星科技指导员 来源:嵌入式计算设计 作者:Thomas Fletcher 2022-06-28 15:07 次阅读

无论开发过程多么精细,每个嵌入式 UI 开发团队都面临着克服沟通障碍的挑战。看似是开发过程中必不可少且有益的部分,即 UI 设计师和嵌入式系统开发人员之间来回交换想法和信息,但在以下关键领域充满了障碍:

孤立的工作流程:设计人员和开发人员通常以孤立的方式和线性方式工作。一旦设计完成,设计人员通常会转移到另一个项目,对 UI 设计的调整就会落入嵌入式系统开发人员的手中。

不熟练的任务执行:当嵌入式开发人员被迫进行设计更改时,他们不再“做他们最擅长的事情”——这是构建产品的后端。

缺乏可见性:开发人员经常在没有完全了解 UI 功能要求的情况下选择硬件操作系统

参数不明确:设计人员在没有预先参数的情况下工作,通常会概念化远远超出运行 UI 的系统功能的功能。创建难以实现或不可能实现的 UI 会大大增加开发成本。

无论开发团队是为汽车、洗碗机还是温度计创建界面,UI 设计师都很难通过其工程实现从创意愿景传达动态和活跃 UI 的意图。这种沟通挑战不仅会导致设计团队和实施团队之间产生摩擦,还会威胁到最终产品的完整性。原因:设计变更是流程中不可避免的一部分。当团队努力将原始设计意图与可用的技术能力(或限制)相匹配时,错误的可能性会随着每次增量更改而增加。

这种沟通障碍也延长了开发时间,使发布计划陷入困境,并且在许多情况下迫使公司在预定日期之后很久才推出不太理想的 UI。废弃 UI 并重新开始的成本通常是难以承受的。此外,对于可能每年发布一次 UI 的公司(汽车行业嵌入式 UI 的典型交付周期为 1.5 年),推迟发布日期可能意味着竞争优势和过时之间的差异。

模拟是另一个普遍的挑战。在许多开发环境中,模拟是使用 HTML 或 Flash 创建的,并在桌面而不是目标硬件上运行。这会导致明显缺乏对功能问题的可见性,当 UI 在嵌入式硬件上运行时肯定会出现这些问题。结果:团队中的每个人都在努力制定部分规范并做出假设。这种仿真方法总是导致需要大量编码才能使接口在嵌入式硬件环境中发挥作用。简而言之,模拟通常与最终托管 UI 的嵌入式环境的功能和行为不匹配。

在当今的大多数情况下,最终的 UI 是由于孤立的开发过程而导致的一系列妥协的结果,从而导致用户体验质量下降。该过程通常如下进行。设计团队交付初始设计,然后工程团队在实施他们认为是设计的过程中进行更改和调整。有时更改是根据硬件/软件限制有意识地执行的;其他时候,这些更改不是有意的,而是在开发人员填补规范中的空白时进行的,即“应该”如何在所有情况下执行 UI。更复杂的是,最初的设计师(可能是帮助 UI 概念的外部资源)可能不再参与该项目。这种资源实际上已经消失了。

但是为工作选择正确的 UI 开发支持软件很重要。因此,侧边栏列出了在这个范式中要考虑的 10 个最重要的问题。

建立通用软件环境

更好的 UI 设计和实现方法是建立一个涵盖整个开发团队及其工具的通用软件环境,并使每个人都能以一致的方式参与围绕 UI 的讨论。通过这种方式,设计人员和开发人员可以从头到尾就设计本身保持沟通,并在整个过程中按照逻辑出现的变化和约束进行管理。当设计师从头到尾保持对用户界面的所有权时,软件开发人员可以专注于完善核心产品功能,而不是“移动像素”以适应不断变化的 UI。通过对设计的全面了解和对嵌入式实施的近乎即时的反馈,设计人员可以在功能发展时做出明智的决策。通过在模拟下开发的工作用户界面,开发人员可以在选择硬件和操作系统时使用真实的 UI 做出明智的决定。总之,当必须进行 UI 调整时,每个人都能够更好地确保视觉的一致性。

可以同时协同工作的团队——设计人员负责用户界面,系统开发人员保留底层系统界面逻辑和行为的所有权——也可以将设计带到部署模拟中(反映实际硬件和操作系统上的功能) ) 更快。早期的模拟提供了许多优势。开发人员可以在投入使用该技术之前,在各种硬件平台上测试应用程序。这对于当今高度交互的 UI 至关重要。触摸屏的功能自然会与标准的“鼠标和键盘”桌面输入有很大不同,并且可以使用平板电脑操作系统非常有效地建模。早期的模拟也会对设计师施加约束,

早期的模拟和改进的沟通可以大大缩短开发计划。这最终有助于提高最终产品的质量,因为它为用户体验测试和基于客户反馈的产品改进打开了大门。此外,这种细化发生在设计人员身上,而不是软件开发人员所需的昂贵且耗时的重新编码。所有这些都使公司能够降低设计师和软件开发人员之间的交接成本。

更快地将产品推向市场

确保 UI 开发过程不受上述障碍阻碍的有效方法是使用 UI 开发支持软件。使用此类软件的公司已经能够将这种协作开发环境付诸实施,从而加快部署时间。一个例子是 QNX Software Systems 使用 Crank Software 的 Storyboard Suite UI 开发支持软件来实现嵌入到宾利概念车中的 17 英寸曲面 1080p 中控台显示器。数字光投影 HMI 在 2013 年消费电子展上首次亮相以及最初在 Adob​​e Photoshop 中创建并在八周内完全实施的特色内容,而这种规模的项目通常需要开发人员和设计师之间来回四到六个月的时间。

允许这种类型的产品快速开发的原因是用户界面与系统实现细节的强力解耦。模型-视图-控制器 (MVC) 范式通过事件和消息传递系统引导所有用户界面更改来严格执行。

消息传递接口允许将 UI 构建为未来数据绑定的合同,这些数据绑定将作为输入/输出事件提供。在最初的用户界面开发过程中,任何需要的输入都可以使用合成事件来模拟,而无需任何功能正常的嵌入式硬件系统。

由于明确定义所需的输入和输出事件,系统开发也进展得更快。根据定义而不是 UI 演示验证他们的输入和输出更容易验证系统组件。

这种结构化的事件接口集极大地促进了最终产品的组装和集成。移除模拟的输入和输出,并将它们替换为已根据事件规范验证的系统组件。

提供高质量的 UI 体验

在竞争激烈的嵌入式 UI 世界中,评判公司的依据是其提供超出消费者期望的最先进技术的能力。更快、更具成本效益的 UI 开发至关重要。更重要的是制作技术可以实现的最高质量的用户界面——随后的每一代产品都必须超越上一代。UI 开发支持软件可以通过在开发过程中确保设计人员和开发人员之间的完全可见性和协作,并启用类似于运行时引擎的软件模拟功能,从而在嵌入式硬件上提前进行软件测试,从而满足所有这些需求。Crank Software 等供应商及其 Storyboard Suite UI 开发支持软件旨在满足这些需求并加快开发过程。

审核编辑:郭婷

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

    关注

    21

    文章

    4941

    浏览量

    139805
  • 控制器
    +关注

    关注

    112

    文章

    16189

    浏览量

    177344
  • 嵌入式
    +关注

    关注

    5068

    文章

    19009

    浏览量

    303052
收藏 人收藏

    评论

    相关推荐

    电机方案开发工具QE For Motor的使用教程

    QE For Motor是专门为电机方案开发而设计的工具,支持从电机控制软件的执行到验证的整个开发过程。QE For Motor链接电机方案信息网站、电机控制
    的头像 发表于 11-14 15:12 586次阅读
    电机方案<b class='flag-5'>开发</b>工具QE For Motor的使用教程

    快来!教你零基础入门KaihongOS开发体验

    这是一个专为开发者设计的全面便捷的开发平台在这里,你可以全面了解KaihongOS最新资讯获取KaihongOS开发资源如软件包、开发工具、
    的头像 发表于 11-09 01:09 109次阅读
    快来!教你零基础入门KaihongOS<b class='flag-5'>开发</b>体验

    自己做的TAS5825板子软件开发过程中怎么接到PPC3上去调试呢?

    我们打算做一个TAS5825的板子,PPC3软件已经申请下来了,有个问题是我们自己做的TAS5825板子软件开发过程中怎么接到PPC3上去调试呢?
    发表于 10-15 08:15

    Vector DaVinci Team解决方案实现AUTOSAR Classic ECU软件开发

    随着软件技术的发展,车辆的开发过程从硬件主导转变为软件定义汽车(SDV),软件开发在汽车的开发过程中扮演着举足轻重的角色。车辆E/E架构由原
    的头像 发表于 09-13 11:23 792次阅读
    Vector DaVinci Team解决方案实现AUTOSAR Classic ECU<b class='flag-5'>软件开发</b>

    嵌入式开发常用软件有哪些?

    的全套工具,‌包括代码编辑器、‌编译器、‌调试器等,‌极大地简化了Qt应用程序的开发过程。‌Qt Creator支持Qt Widgets Application、‌QtQuick Application
    发表于 09-09 15:22

    使用MATLAB、Simulink和Polyspace加速软件定义汽车开发

    开发软件定义汽车 (SDV) 时,开发团队必须具备新的能力,例如进行连续的软件发布,减少软件更改的交付周期以及尽可能减少部署失败。同时,平台团队需要为车载计算机和区域控制器创建新
    的头像 发表于 09-05 09:57 349次阅读
    使用MATLAB、Simulink和Polyspace<b class='flag-5'>加速</b><b class='flag-5'>软件</b>定义汽车<b class='flag-5'>开发</b>

    CodeArts 加速软件智能化开发,携手 HarmonyOS 重塑企业应用创新体验

    2024 年 6 月 21~23 日,华为开发者大会 HDC 2024 在东莞溪流背坡村隆重举行。期间华为云主办了以“CodeArts 加速软件智能化开发,携手 HarmonyOS 重
    的头像 发表于 07-11 21:03 490次阅读
    CodeArts <b class='flag-5'>加速</b><b class='flag-5'>软件</b>智能化<b class='flag-5'>开发</b>,携手 HarmonyOS 重塑企业应用创新体验

    全志T527工控板-米尔支持软件二次开发开源硬件工控机

    MYD-LT527-GK-B微型工控机基于全志T527国产平台,支持软件二次开发,开源硬件全志T527处理器,八核A55@1.8GHz,内置100%国产化物料核心板;具备G57 GPU、8K编解码
    发表于 06-27 19:03 3次下载

    【《软件开发珠玑》阅读体验】+ 心得

    的财富。 人类是单线程工作的,同时只能完成一项任务。感慨颇深。只能根据优先级选择重要的任务了(或事情)。需要养成单日单任务的习惯。 此外,《软件开发珠玑》还强调了团队协作和沟通的重要性。在软件开发过程
    发表于 06-23 17:56

    鸿蒙OS开发:【一次开发,多端部署】应用(资源使用)

    在页面开发过程中,经常需要用到颜色、字体、间距、图片等资源,在不同的设备或配置中,这些资源的值可能不同。
    的头像 发表于 05-21 15:43 957次阅读
    鸿蒙OS<b class='flag-5'>开发</b>:【一次<b class='flag-5'>开发</b>,多端部署】应用(资源使用)

    鸿蒙OS开发:【一次开发,多端部署】(天气应用)案例

    本章通过一个天气应用,介绍一多应用的整体开发过程,包括UX设计、工程管理及调试、页面开发等。
    的头像 发表于 05-15 15:42 982次阅读
    鸿蒙OS<b class='flag-5'>开发</b>:【一次<b class='flag-5'>开发</b>,多端部署】(天气应用)案例

    OpenHarmony开发案例:【电影卡片】

    基于元服务卡片的能力,实现带有卡片的电影应用,介绍卡片的开发过程和生命周期实现。
    的头像 发表于 04-15 17:53 1223次阅读
    OpenHarmony<b class='flag-5'>开发</b>案例:【电影卡片】

    嵌入式软件开发软件开发的区别

    嵌入式软件开发软件开发是两个不同的概念,它们在一些关键方面有着明显的区别。嵌入式软件开发是指开发嵌入在硬件设备中的软件,而
    的头像 发表于 01-22 15:27 2159次阅读

    CamSim相机模拟器:极大加速图像处理开发与验证过程

    友思特CamSim相机模拟器,可以极大地加速图像处理的开发和验证过程,轻松复制测试数据,减少测试时间,降低测试成本。
    的头像 发表于 12-27 09:17 462次阅读
    CamSim相机模拟器:极大<b class='flag-5'>加速</b>图像处理<b class='flag-5'>开发</b>与验证<b class='flag-5'>过程</b>

    ASIC芯片开发过程

    电子发烧友网站提供《ASIC芯片开发过程.ppt》资料免费下载
    发表于 12-25 10:04 1次下载