咨询热线

0371-86158370

传统软件开发与基于模型的软件开发的区别

如果您正在寻找相关产品或有其他疑问,可随时拨打服务热线,或点击下方按钮与我们在线交流!

2024-02-21 15:57:50 发布者:超级管理员

一、传统的软件开发方法

1)需求分析

一般写成需求文档,系统工程师据此进行概念和算法研究,评估技术可行性。
缺点:由于每个系统工程师对需求和技术规范的理解难免存在偏差,因此会对后期的项目开发带来诸多隐患。NASA的研究报告指出:在需求分析阶段产生的错误占整个开发错误的50%以上。
2)设计阶段
硬件开发工程师根据系统工程师的评估报告,设计制作原型样机(如汽车、电路板等)。
缺点:项目前期投入巨大、开发周期长,且不能保证原型样机一定能满足技术指标要求。
3)实现阶段
软件开发工程师根据需求和技术规范,在原型样机上,手工编写C代码或汇编代码,实现技术指标要求。
缺点:需精通编程人员花大量时间来编程、差错、调试、验证,工作量大,研发周期长,此外,代码良莠不齐,降低了程序可靠度。
4)测试与验证
原型样机开发完成后,对产品进行测试与验证。
基于模型的设计为工程师们提供了一种通用的开发与测试平台,使具有不同工程背景的工程师之间建立起更好的联系,使开发具有高集成度的复杂系统成为可能。

二、基于模型的开发方法
1)可执行、跟踪的技术规范
在基于模型的设计中,系统工程师先建立一个系统模型,即通过数学模型来精确描述用户需求,创建一个可执行、跟踪的技术规范。工程师可以通过这个系统模型,动态地确认系统性能。使每个工程师无歧义地理解并运行系统模型,专注开发模型各个部分,不会因理解不同造成需求丢失、冗余或冲突。
2)生成定点模型
系统模型与需求之间可建立双向链接,在整个开发过程中,软件工程师可对模型进行需求追踪和测试,将产品缺点暴露在开发初期。根据具体嵌入式器件和实现条件,对系统模型进行细化和功能分区,进行系统测试、设计测试和模型助手测试,验证是否满足需求与技术规范,判断是否还存在缺失的需求,验证是否符合行业标准(如DO-178B、IEC-61508、MAAB等),之后再对模型做定点转换,形成简洁、高效的定点模型。
3)嵌入式代码自动生成
MathWorks的Real-Time Workshop Embedded Coder可以将Simulink/Stateflow中的模型自动转换为嵌入式C代码,大大降低嵌入式系统的开发门槛。开发人员可以在Simulink/Stateflow、Embedded Matlab中建立系统模型、构思解决方案,然后使用RTW-EC自动生成优化的、可移植的、自定义的产品级C代码,并根据特定目标配置自动生成嵌入式系统实时应用程序。缩短开发周期,避免人为引入的错误。
4)连续测试和验证
基于模型的设计在整个设计过程中都在不断进行测试和验证,工程师利用测试案例追踪系统级模型和需求,检测设计变更导致的系统输出变化,并快速追踪变更来源,通过测试案例还可以了解模型的功能覆盖度。
对于嵌入式系统,还需要测试其实时性,工程师可以使用硬件在环测试嵌入式代码的实时性。通过测试,收集实时数据,相应修改代码参数。硬件在环检测能确保在开发初期就完成嵌入式软件测试,这样在系统整合时,比传统方法检测得更彻底、更全面,从而及早发现问题,降低解决问题的成本。

相关产品
更多推荐
科技·质量·服务·创新

科技·质量·服务·创新

提交需求

如果您对我们的产品感兴趣,或者我们有什么可以帮助到您的,您可以随时在线与我们沟通。 当然您也可以在下面给我们留言,我们将热忱为您服务!

快速响应给予技术咨询答复

专业优质软件服务

成熟领先产品解决方案

专业可靠合作伙伴

免费咨询 0371-86158370
免费获取报价

获取报价

销售热线销售热线:0371-86158370

返回顶部

首页 在线咨询在线咨询 一键拨打一键拨打