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

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

3天内不再提示

敏捷环境能否加速嵌入式软件验证和认证

星星科技指导员 来源:嵌入式计算设计 作者:JAY THOMAS 2022-11-01 10:41 次阅读

尽管大多数软件开发组织都采用敏捷开发,但大多数嵌入式开发人员,尤其是那些寻求认证的开发人员,仍然抵制使用敏捷方法。与获得认证所需的传统规范方法和工件相比,开发人员认为迭代敏捷方法的风险更大。具体问题源于如何在敏捷过程中捕获需求,以及如何在嵌入式系统硬件可用之前满足敏捷开发的早期和经常测试原则。

反对者没有考虑到的是已经可用的工具范围,这些工具有助于确保在采用敏捷方法时满足认证目标。是什么将它们编织在一起?需求可追溯性使软件分析和验证在每个冲刺中成为可能,硬件仿真工具使持续验证成为可能。最后,工作流管理工具有助于将所有项目工件整合到一个协作环境中,同时定义和管理项目认证标准目标。

捕获用户情景

那么,如何获得严谨性呢?反对者声称敏捷流程避开了所有认证活动所依赖的正式要求。尽管敏捷流程的开发在一整套功能需求可用之前就开始了,但这并不意味着在敏捷过程中生成的需求比传统的规范方法更不严格。

敏捷方法隐含着早期和经常失败的概念,从系统需求开始。敏捷中的前期规划需要与客户合作开发一系列用户“故事”,以封装所需的系统功能。然后定义开发过程的每次迭代处理这些故事的顺序,每次迭代的目标是发布一个版本,即它完全正常运行、经过全面测试,并且是包含最高优先级功能的潜在可部署系统。

作为文档或需求捕获工具捕获,用户故事可以汇集到工作流管理工具(如LDRA的TBmanager)中。开发代码后,可以将条目提交到工具,从而使代码能够追溯到用户故事。在下游,工作流管理器还可以将代码映射到软件验证活动和结果。然后,工作流管理器成为认证所需的所有验证证据的所在地。

将质量融入软件

为需要认证的系统生产潜在的可部署软件需要满足软件的所有认证标准验证目标,这是对敏捷口头禅“尽早和经常失败”的完美补充。通过静态和动态软件分析技术的组合实现最高水平的软件质量,所有这些都可以从工作流管理器中访问,以确保维护分析的结果和上下文。

静态分析

静态分析是指在不执行代码的情况下审查正在开发的代码以发现和修复质量问题的做法。例如,当您使用自动化工具验证代码标准合规性时,可以使用静态分析。认证标准要求使用编码标准和质量分析来验证开发的代码是否已统一设计和实施。在开发、集成、测试和验证的所有阶段实施这些标准具有以下几个优势:

• 消除

潜在缺陷• 通过创建统一代码提高代码的可读性和可维护性• 防止过于复杂的代码更容易出错且更难维护

• 识别无法访问或使代码

覆盖率的测试构建具有挑战性

的代码• 生成更模块化的代码,更容易追溯到低级需求

动态分析

敏捷方法使用测试来持续提供有关新兴产品满足业务需求程度的反馈。敏捷团队不断测试,因为这是确保每次迭代的功能都已完成并取得进展的唯一方法。

对于嵌入式系统,软件开发取决于目标平台的可用性,但该硬件通常要到开发生命周期的后期才可用。敏捷开发人员依靠硬件系统模拟器(如Wind River Systems Simics)来帮助填补这一空白。

这些工具模拟完整的目标系统,并且可以在仿真框架内运行未经修改的目标软件(相同的引导加载程序、BIOS、固件、实时操作系统、板级支持包 (BSP)、中间件和应用程序)。使用硬件模拟器意味着敏捷项目的硬件相关测试可以在尽可能早的迭代中开始。

作为补充,测试自动化工具可以在模拟硬件上自动生成和执行测试用例。可以经常运行自动测试用例生成和执行,在几分钟内提供反馈。然后,可以从工作流管理器中控制这些测试的测试用例生成、执行、结果和状态,以提供对当前迭代进度的可见性。

对于认证,有必要使用代码覆盖率来衡量测试完整性。认证需要适当程度的测试严格性,这意味着所有测试都必须基于需求并在系统级别执行。如果没有代码覆盖率分析,就不可能获得提高测试有效性所需的反馈、知识和理解,并且它提供了额外的保证措施,即满足当前迭代的潜在可部署系统目标。

认证和文件

使用工作流管理器作为所用工具和在整个开发过程中生成的结果的主机,使生成认证所需的文档变得非常简单。可以从该工具访问所有项目工件,从而有助于准备要呈现给证书颁发机构的数据。

这也是为寻求认证的项目通过嵌入式系统开发加速敏捷方法的关键。在工作流管理器中管理项目工件有助于确保从需求到基于主机和目标的验证结果,它们在敏捷项目的每次迭代中都得到维护。

审核编辑:郭婷

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

    关注

    5069

    文章

    19021

    浏览量

    303384
  • 模拟器
    +关注

    关注

    2

    文章

    869

    浏览量

    43165
收藏 人收藏

    评论

    相关推荐

    什么是嵌入式?一文读懂嵌入式主板

    在现代科技浪潮中,嵌入式技术已成为支撑各种智能设备和系统运行的核心力量。那么,究竟什么是嵌入式嵌入式系统,顾名思义,是将计算机的硬件和软件嵌入
    的头像 发表于 10-16 10:14 503次阅读

    目前深圳嵌入式单片机就业环境如何?

    深圳作为中国的科技创新中心之一,在嵌入式单片机领域的就业环境相对较好,以下是对该就业环境的详细分析:
    的头像 发表于 10-09 11:51 440次阅读
    目前深圳<b class='flag-5'>嵌入式</b>单片机就业<b class='flag-5'>环境</b>如何?

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

    的扩展程序商店安装扩展以拓展软件功能。 2.Visual Studio 简称VS: 它是一个IDE,集成开发环境验证C程序或是进行c#程序开发,可以用它。一些与嵌入式相关的模拟器也是
    发表于 09-09 15:22

    嵌入式软件开发与AI整合

    嵌入式软件开发与AI整合是当前技术发展的重要趋势之一。随着人工智能技术的快速发展,嵌入式系统越来越多地集成了AI算法,以实现更复杂的智能功能。以下是关于嵌入式
    的头像 发表于 07-31 09:25 659次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>开发与AI整合

    嵌入式系统怎么学?

    嵌入式系统之间或与外部设备的数据通信。 7、传感器和执行器:了解各种传感器(如温度传感器、加速度传感器等)和执行器(如电机、舵机等)的工作原理和接口方式,以实现对外部环境的感知和控制。 8、
    发表于 07-02 10:10

    嵌入式系统基础

    嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 它由硬件和软件组成,能够独立进行运作,其软件内容只包括软件
    的头像 发表于 06-19 09:10 425次阅读
    <b class='flag-5'>嵌入式</b>系统基础

    嵌入式软件设计的原则分享

    嵌入式软件开发如果具有更好的阅读性、扩展性以及维护性,就需要考虑很多因素。今天给大家分享几个嵌入式软件设计的原则。
    发表于 02-25 10:54 653次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>设计的原则分享

    嵌入式软件开发应该掌握哪些知识?

    知识点学习 熟悉 Linux 的基本使用对于嵌入式软件开发至关重要。包括文件系统的管理、用户权限的控制、软件包管理等。嵌入式开发人员需要能够在 Linux
    发表于 02-19 11:23

    嵌入式学习步骤

    硬件组件。 (4).开发固件:编写嵌入式系统的固件,这是嵌入式系统的软件部分。固件负责控制硬件并执行特定任务。 (5).调试和测试:在将嵌入式系统部署到实际
    发表于 02-02 15:24

    汽车嵌入式软件的技能要求

    如果你希望开始在汽车嵌入式软件领域的职业生涯,必须掌握符合行业需求的全面技能。下面是一个路线图,列出了需要学习的关键技术和技能。
    的头像 发表于 01-23 11:09 1586次阅读
    汽车<b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>的技能要求

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

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

    基于功能安全的汽车嵌入式软件单元验证技术研究

    ,对满足功能安全ASIL等级的汽车嵌入式软件单元验证技术进行详细介绍,从而提高软件质量,减少软件安全隐患,对汽车
    的头像 发表于 01-07 11:27 1010次阅读
    基于功能安全的汽车<b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>单元<b class='flag-5'>验证</b>技术研究

    聊聊嵌入式软件分层

    今天以控制LED闪烁为例,聊聊嵌入式软件分层
    的头像 发表于 12-28 09:22 636次阅读

    嵌入式软件问题的分析与解决

    软件问题的分析与解决 嵌入式软件由于调试手段的限制、部署场景的多样化、软硬件问题混合在一起、外部环境因素的影响等因素,导致软件经常会遇到一些
    的头像 发表于 12-07 15:56 696次阅读

    嵌入式硬件和软件哪个好?

    嵌入式硬件和软件哪个好? 嵌入式软硬件工程师哪个更有前途呢?一起来看看。 嵌入式是分为软硬件工程师的,首先我们先来看看嵌入式硬件工程师吧!
    发表于 12-05 15:17