嵌入式系统软件架构设计

嵌入式系统软件架构设计

ID:25669745

大小:1.18 MB

页数:45页

时间:2018-11-22

嵌入式系统软件架构设计_第1页
嵌入式系统软件架构设计_第2页
嵌入式系统软件架构设计_第3页
嵌入式系统软件架构设计_第4页
嵌入式系统软件架构设计_第5页
资源描述:

《嵌入式系统软件架构设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、嵌入式系统软件架构设计张志明zzm9981@163.com目录1.前言42.决定架构的因素和架构的影响42.1.常见的误解52.1.1.小型的系统不需要架构52.1.2.敏捷开发不需要架构73.嵌入式环境下软件设计的特点73.1.和硬件密切相关73.2.稳定性要求高73.3.内存不足83.3.1.虚拟内存技术83.3.2.两段式构造93.3.3.内存分配器103.3.4.内存泄漏113.4.存储设备易损坏,速度较慢113.4.1.损耗均衡113.4.2.错误恢复123.5.故障成本高昂124.软件框架134.1.嵌入式软件架构面临的问题134.2.什么

2、是框架134.2.1.软件复用的层次134.2.2.针对高度特定领域的抽象144.2.3.框架可以实现和规定非功能性需求154.3.一个框架设计的实例164.3.1.基本架构164.3.2.功能特点164.3.3.分析164.3.4.实际效果204.4.框架设计中的常用模式204.4.1.模板方法模式204.4.2.创建型模式214.4.3.消息订阅模式214.4.4.策略模式224.5.框架的缺点225.自动代码生成235.1.机器能做的事就不要让人来做235.2.举例235.2.1.消息的编码和解码235.2.2.GUI代码245.2.3.小结25

3、5.2.4.GoogleProtocolBuffer256.面向语言编程(LOP)276.1.从自动化代码生成更进一步276.2.优势和劣势296.3.在嵌入式系统中的应用297.测试307.1.可测试性是软件质量的一个度量指标307.2.测试驱动的软件架构317.3.系统测试317.3.1.界面自动化测试317.3.2.基于消息的自动化测试337.3.3.自动化测试框架337.3.4.回归测试357.4.集成测试357.5.单元测试357.5.1.圈复杂度测量387.5.2.扇入扇出测量387.5.3.框架对单元测试的意义398.维护架构的一致性39

4、9.一个实际嵌入式系统架构的演化409.1.数据处理419.2.窗口管理419.3.MVC模式429.4.大量类似模块,低效的复用439.5.远程控制439.6.自动化的TL1解释器449.7.测试的难题449.8.小结4410.总结451.前言嵌入式是软件设计领域的一个分支,它自身的诸多特点决定了系统架构师的选择,同时它的一些问题又具有相当的通用性,可以推广到其他的领域。本课程试图从嵌入式软件架构设计出发,启发大家对软件架构设计的理解。本课程的很多内容是对谢老师课程在嵌入式领域的具体阐述。提起嵌入式软件设计,传统的印象是单片机,汇编,高度依赖硬件。传

5、统的嵌入式软件开发者往往只关注实现功能本身,而忽视诸如代码复用,数据和界面分离,可测试性等因素。从而导致嵌入式软件的质量高度依赖开发者的水平,成败系之一身。随着嵌入式软硬件的飞速发展,今天的嵌入式系统在功能,规模和复杂度各方面都有了极大的提升。比如,Marvell公司的PXA3xx系列的最高主频已经达到800Mhz,内建USB,WIFI,2D图形加速,32位DDR内存。在硬件上,今天的嵌入式系统已经达到甚至超过了数年前的PC平台。在软件方面,完善的操作系统已经成熟,比如Symbian,Linux,WinCE。基于完善的操作系统,诸如字处理,图像,视频,

6、音频,游戏,网页浏览等各种应用程序层出不穷,其功能性和复杂度比诸PC软件不遑多让。原来多选用专用硬件和专用系统的一些商业设备公司也开始转换思路,以出色而廉价的硬件和完善的操作系统为基础,用软件的方式代替以前使用专有硬件实现的功能,从而实现更低的成本和更高的可变更,可维护性。2.决定架构的因素和架构的影响架构不是一个孤立的技术的产物,它受多方面因素的影响。同时,一个架构又对软件开发的诸多方面造成影响。软件架构软件规模生命周期非功能性需求非功能性需求团队组成开发模式下面举一个具体的例子。摩托车的发动机在出厂前必须通过一系列的测试。在流水线上,发动机被送到每

7、个工位上,由工人进行诸如转速,噪音,振动等方面的测试。要求实现一个嵌入式设备,具备以下基本功能:1.安装在工位上,工人上班前开启并登录。2.通过传感器自动采集测试数据,并显示在屏幕上。3.记录所有的测试结果,并提供统计功能。比如次品率。如果你是这个设备的架构师,哪些问题是在设计架构的时候应该关注的呢?1.1.常见的误解1.1.1.小型的系统不需要架构有相当多的嵌入式系统规模都较小,一般是为了某些特定的目的而设计的。受工程师认识,客户规模和项目进度的影响,经常不做任何架构设计,直接以实现功能为目标进行编码。这种行为表面上看满足了进度,成本,功能各方面的需

8、求,但是从长远来看,在扩展和维护上付出的成本,要远远高于最初节约的成本。如果系统的最初开发者继

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。