1 / 49
文档名称:

嵌入式软件架构设计.doc

格式:doc   大小:355KB   页数:49页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

嵌入式软件架构设计.doc

上传人:vqjyga55 2019/4/14 文件大小:355 KB

下载得到文件列表

嵌入式软件架构设计.doc

文档介绍

文档介绍:目录1. 前言 42. 决定架构的因素和架构的影响 . 常见的误解 . 小型的系统不需要架构 . 敏捷开发不需要架构 73. 嵌入式环境下软件设计的特点 . 和硬件密切相关 . 稳定性要求高 . 内存不足 . 虚拟内存技术 . 两段式构造 . 内存分配器 . 内存泄漏 . 处理器能力有限,性能要求高 . 抵御新技术的诱惑 . 不要有太多的层次 . 存储设备易损坏,速度较慢 . 损耗均衡 . 错误恢复 . 故障成本高昂 134. 软件框架 . 嵌入式软件架构面临的问题 . 什么是框架 . 软件复用的层次 . 针对高度特定领域的抽象 . 解除耦合和应对变化 . 框架可以实现和规定非功能性需求 . 一个框架设计的实例 . 基本架构 . 功能特点 . 分析 . 实际效果 . 框架设计中的常用模式 . 模板方法模式 . 创建型模式 . 消息订阅模式 . 装饰器模式 . 框架的缺点 255. 自动代码生成 . 机器能做的事就不要让人来做 . 举例 . 消息的编码和解码 . GUI代码 . 小结 . GoogleProtocolBuffer 286. 面向语言编程(LOP) . 从自动化代码生成更进一步 . 优势和劣势 . 在嵌入式系统中的应用 327. 测试 . 可测试性是软件质量的一个度量指标 . 测试驱动的软件架构 . 系统测试 . 界面自动化测试 . 基于消息的自动化测试 . 自动化测试框架 . 回归测试 . 集成测试 . 单元测试 . 圈复杂度测量 . 扇入扇出测量 . 框架对单元测试的意义 428. 维护架构的一致性 429. 一个实际嵌入式系统架构的演化 . 数据处理 . 窗口管理 . MVC模式 . 大量类似模块,低效的复用 . 远程控制 . 自动化的TL1解释器 . 测试的难题 . 小结 4710. 总结 48前言嵌入式是软件设计领域的一个分支,它自身的诸多特点决定了系统架构师的选择,同时它的一些问题又具有相当的通用性,可以推广到其他的领域。本课程试图从嵌入式软件架构设计出发,启发大家对软件架构设计的理解。本课程的很多内容是对谢老师课程在嵌入式领域的具体阐述。提起嵌入式软件设计,传统的印象是单片机,汇编,高度依赖硬件。传统的嵌入式软件开发者往往只关注实现功能本身,而忽视诸如代码复用,数据和界面分离,可测试性等因素。从而导致嵌入式软件的质量高度依赖开发者的水平,成败系之一身。随着嵌入式软硬件的飞速发展,今天的嵌入式系统在功能,规模和复杂度各方面都有了极大的提升。比如,Marvell公司的PXA3xx系列的最高主频已经达到800Mhz,内建USB,WIFI,2D图形加速,32位DDR内存。在硬件上,今天的嵌入式系统已经达到甚至超过了数年前的PC平台。在软件方面,完善的操作系统已经成熟,比如Symbian,Linux,WinCE。基于完善的操作系统,诸如字处理,图像,视频,音频,游戏,网页浏览等各种应用程序层出不穷,其功能性和复杂度比诸PC软件不遑多让。原来多选用专用硬件和专用系统的一些商业设备公司也开始转换思路,以出色而廉价的硬件和完善的操作系统为基础,用软件的方式代替以前使用专有硬件实现的功能,从而实现更低的成本和更高的可变更,可维护性。决定架构的因素和架构的影响架构不是一个孤立的技术的产物,它受多方面因素的影响。同时,一个架构又对软件开发的诸多方面造成影响。软件架构软件规模生命周期非功能性需求非功能性需求团队组成开发模式下面举一个具体的例子。摩托车的发动机在出厂前必须通过一系列的测试。在流水线上,发动机被送到每个工位上,由工人进行诸如转速,噪音,振动等方面的测试。要求实现一个嵌入式设备,具备以下基本功能:安装在工位上,工人上班前开启并登录。通过传感器自动采集测试数据,并显示在屏幕上。记录所有的测试结果,并提供统计功能。比如次品率。如果你是这个设备的架构师,哪些问题是在设计架构的时候应该关注的呢