更多课程 选择中心

嵌入式培训
达内IT学院

400-111-8989

两个常见的嵌入式误解

  • 发布:嵌入式培训
  • 来源:嵌入式资讯
  • 时间:2020-10-13 14:53

小型的系统不需要架构有相当多的嵌入式系统规模都较小,一般是为了某些特定的目的而设计的。受工程师认识,客户规模和项目进度的影响,经常不做任何架构设计,直接以实现功能为目标进行编码。

这种行为表面上看满足了进度,成本,功能各方面的需求,但是从长远来看,在扩展和维护上付出的成本,要远远高于最初节约的成本。如果系统的最初开发者继续留在组织内并负责这个项目,那么可能一切都会正常,一旦他离开,后续者因为对系统细节的理解不足,就可能引入更多的错误。

要注意,嵌入式系统的变更成本要远远高于一般的软件系统。好的软件架构,可以从宏观和微观的不同层次上描述系统,并将各个部分隔离,从而使新特性的添加和后续维护变得相对简单。

举一个城铁刷卡机的例子,这个例子在前面的课程中出现过。简单的城铁刷卡机只需要实现如下功能:

(1)一个While循环足以实现这个系统,直接就可以开始编码调试。但是从一个架构师的角度,这里有没有值得抽象和剥离的部分呢?

(2)计费系统。计费系统是必须抽象的,比如从单次计费到按里程计费。

(3)传感器系统。传感器包括磁卡感应器,投币器等。设备可能更换。

(4)故障处理和恢复。考虑到较高的可靠性和较短的故障恢复时间,这部分有必要单独设计。未来很可能出现的需求变更:

(5)操作界面。是否需要抽象出专门的Model来?以备将来实现View。

(6)数据统计。是否需要引入关系型数据库?如果直接以上面的流程图编码,当出现变更后,有多少代码可以复用?

最后,不过,也不要因此产生过度的设计。架构应当立足满足当前需求,并适当的考虑重用和变更。下面来看看第二个嵌入式的误解是什么。

敏捷开发不需要架构极限编程,敏捷开发的出现使一些人误以为软件开发无需再做架构了。这是一个很大的误解。敏捷开发是在传统瀑布式开发流程出现明显弊端后提出的解决方案,所以它必然有一个更高的起点和对开发更严格的要求。而不是倒退到石器时代。

事实上,架构是敏捷开发的一部分,只不过在形式上,敏捷开发推荐使用更高效,简单的方式来做设计。比如画在白板上然后用数码相机拍下的UML图;用用户故事代替用户用例等。测试驱动的敏捷开发更是强迫工程师在写实际代码前设计好组件的功能和接口,而不是直接开始写代码。敏捷开发的一些特征:

针对比传统开发流程更大的系统

承认变化,迭代架构

简洁而不混乱

强调测试和重构

版权声明:转载文章来自公开网络,版权归作者本人所有,推送文章除非无法确认,我们都会注明作者和来源。如果出处有误或侵犯到原作者权益,请与我们联系删除或授权事宜。

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:什么样的人适合转行学嵌入式?
下一篇:嵌入式环境下软件设计的特点

怎样才能学好单片机?

单片机:写1清零,写0清零,有什么区别?

嵌入式工程师一定不要乱用全局变量

嵌入式培训靠谱吗?就业怎么样?

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

  • 搜索抖音号

    搜索抖音号:1821685962

    免费领取达内课程视频学习资料

Copyright © 2021 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省