2011年计算机软件水平考试嵌入式系统设计师辅导笔记(12)
模块结构设计的任务:将系统划分为模块,确定软件的结构,模块的功能和模块间的接口,以及全局数据结构设。
模块:是组成系统的基本单位,它的特点是可以组合、分解和更换。 模块的四要素:输入和输出;处理功能;内部数据;程序代码。
模块结构设计应遵守的原则:所划分的模块其内部凝聚性要强,模块之间的联系要少,即要有很强的独立性;模块之间的连接只能存在上下级之间的调用关系,不能有同级之间的横向关系;整个结构呈树状结构,不允许网状结构或交叉调用关系;所有模块必须严格地分类编码并建立归档文件。 ⑶、结构化设计的方法
结构化设计的方法是一种面向数据流的设计方法,基本思想是将系统设计成由相对独立、功能单一的模块组成的结构。
信息流的类型:变换流和事务流。
结构化设计方法的步骤:复查并精化数据流图;确定DFD的信息流类型(变换型或事务型);根据流类型分别实施变换分析或事务分析;根据系统设计的原则,对程序结构图进行优化。 3、嵌入式程序设计 ⑴、bootloader的设计
步骤;stage1和stage2两大部 Stage1步骤:硬件设备初始化;为加载bootloader的stage1准备内存空间;复制bootloader的stage1到内存;设置好堆栈;跳转到stage1的C入口点。
Stage2步骤:初始化本阶段要使用的硬件设备;检测系统内存映射;将内核映像和根文件系统映像到flash上读入到内存中;为内核设置启动参数,并调用内核。 ⑵、设备驱动程序设计 ⑶、网络应用程序设计 4、编码 四个步骤:确定源程序的标准格式、制定编程规范;准备编程环境;编写代码;进行代码审查,提高编码质量。 5、测试 ⑴、概述
软件测试:是从经济和效率的角度出发,对软件代码进行质量和正确性保证的一个过程。 系统测试的目的:是为了发现至今尚未发现的错误。
规范化的测试过程:拟定测试计划;编制测试大纲;根据测试大纲设计和生产测试用例;实施测试;生成测试报告。 ⑵、测试方法
- 27 -
分类:人工测试和机器测试
人工测试的三种方法:个人复查、抽查、会审 机器测试分成:黑盒测试和白盒测试 黑盒测试:也称功能测试,将软件看成黑盒子,在完成不考虑软件内部结构和特性的情况下,测试软件的外部特性。包括:极限情况测试;边界测试;异常测试;随机测试;性能测试。 白盒测试:也称结构测试,将软件看成透明的的盒,根据程序的内部结构和逻辑来设计测试用例。原则:程序模块中的所有独立路径至少执行一次;在所有的逻辑判断中,取“真”“假”的两种情况至少都要执行一次;每个循环都应在边界条件和一般条件下各执行一次;测试程序内部的数据结构的有效性。 ⑶、测试步骤:
①、系统平台测试:包括硬件电路测试、操作系统及底层驱动程序测试; ②、单元测试:也称模块测试。一般采用白盒测试法。主要测试模拟块接口、局部数据结构、重要的执行路径、出错处理、边界条件。
测试时需要开的模块包括:驱动模块(相当于一个程序,负责接收测试用例的数据,将这些数据送到测试模块,并输出结果)和桩模块(也称为存根模块,用来代替测试模块中所调用的子模块,其内可进行少量的数据处理,目的是为了检验入口,并输出调用和返回的信息) ③、集成测试:也称组装测,就是把各个模块按照系统设计说明书的要求组合起来进行测试。 两种方法:一种是分别测试各个模块,再把这些模块组合起来进行整体测试,即非增量式集成;另一种是把下一个要测试的模块组合到已测试好的模块中,测试完成再将下一个模块组合进来,进行测试,这样逐步把所有的模块组合在一起,并完成测试,即增量式集成。 ④、系统测试:将嵌入式软件、硬件,外设和网络等各种因素结全在一起,进行整个系统的组装测试和确认测试。一般采用黑盒测试法。
主要测试内容:恢复测试、强度测试、性能测试、可靠性测试。 ⑤、测试结果分析
对测试结果分析和比较帮助错误的定位,指导程序员修改代码。
⑷、覆盖测试:是一种白盒测试法,测试人员必须拥有程序的规格说明书和程序清单。其基本思路是以程序的内部结构为基础来设计测试用例,以覆盖尽可能多的程序内部逻辑结构,发现其中的错误和问题,一般用在单元测试阶段。
主要策略:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖。
嵌入式软件移植
可分成有操作系统和无操作系统的移植。
uC/OS-II操作系统代码被分成三个部分:一是,与处理器无关的代码,如任务管理、存储管理、信号量等;二是,与系统配置有关,应用程序开发人员可以通过修改这些配置文件来裁剪内核,选择自已需要的系统服务;三是,与处理器相关的代码,包括OS_CPU.H、OS_CPU_A.ASM、OS_CPU_C.C三个文件。
提高嵌入式应用软件的可移植性,遵守的原则:在软件设计上,采用层次化设计和模块化设计;在软件体系结构上,可在操作系统和应用软件之间引入一个虚拟机层,或者叫操作系统抽象层,将通用的、共性的操作系统API接口函数封装起来;在功能服务的调用上,要尽量使用可移植的函数;将不可移植的部分局域化;提高代码的可重用性。
- 28 -
…… 此处隐藏:370字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [学前教育]MC9S12XS256RMV1 xs128芯片手册4
- [学前教育]安东尼语录经典语录
- [学前教育]e级gps控制测量技术设计书
- [学前教育]苏教版2022-2022学年八年级下学期期末
- [学前教育]装修公司推广 营销
- [学前教育]家政服务合同(完整版)
- [学前教育]湖北省2016届高三联考语文试题
- [学前教育]爱立信无涯学习系统LTE题库1-LTE基础知
- [学前教育]揭秘大众柴油车作弊软件原理
- [学前教育]人才流失原因及对策分析
- [学前教育]房屋建筑施工工程劳务分包合同
- [学前教育]国际贸易实务试卷A卷09.6
- [学前教育]校园废品回收活动计划方案书范文格
- [学前教育]电大成本会计试题及答案
- [学前教育]大学物理实验 华南理工出版社 绪论答案
- [学前教育]爱丁堡产后抑郁量表
- [学前教育]液压冲击的危害、产生原因与防止方法(
- [学前教育]学生工作总结高一学生期中考试总结_020
- [学前教育]人民医院医疗废物管理规章制度大全
- [学前教育]阳光维生素的巨大抗癌潜能阅读题答案.d
- 马云在云锋基金江苏论坛闭幕式的发言
- 试论小学体育教育中的心理健康教育-教
- 语文A版一年级下册《语文乐园一》教学
- 2021四川大学物理化学考研真题经验参考
- [人教A版]2015-2016学年高中数学 第二
- 终端网点销售返利协议书
- 江苏省2015年眼科学主治医师青光眼考试
- 2017年部编人教版八年级语文上册教案
- 十一中学七年级英语上册Unit7Howmuchar
- 以赛促教的创新性实验教学机制建设实践
- 平凉市崆峒区2015七年级下生物期末试题
- 琶洲(地块五)A、B塔楼1、2#塔吊基础
- 一级医院工作制度与人员岗位职责
- 2018北京西城区高三二模理科数学试题及
- 炒股密码线技术 - 图文
- 职高学生生涯发展辅导教案
- 语文人教版四年级上册8 世界地图引出的
- 最新最新人教版二年级上册全册数学教案
- 2017高考英语全国2卷精彩试题(有问题
- 普通心理学笔记




