基于积极防御编程的嵌入式软件缺陷预防方法及其实践

基于积极防御编程的嵌入式软件缺陷预防方法及其实践

论文摘要

当我们环顾四周,可以发现各种各样体现当今社会发展的新东西,而我要提到的是MP3、数码相机、PDA、手机,这些都是我们时刻可以接触到的消费类电子产品,它们的出现体现出一个行业的发展:嵌入式软件开发。什么是软件?如果把以上提到的包含嵌入软件的产品看成一个人,软件就是其意识思维。就像人的意识控制着人的一切动作、感官从而完成各种事情,软件就是深藏在硬件里面控制硬件行为和完成各种功能的东西。作为传统PC软件开发的一个分支,嵌入式软件经历了从简单应用到复杂集成,从手工作坊到工程项目开发的发展过程。但是,嵌入式软件开发以其独特之处,依然张显着年青和个性,等待我们去不断认识和完善。而本文中,我只能以我有限的能力和视野去体会其中的一部分:基于C语言的消费类电子产品的嵌入式软件开发过程。软件开发过程就是把软件从美好的设想变成完善的软件产品的过程。其“成长”过程和人的成长过程一样,需要在计划、分析、设计的阶段保持着十月怀胎般的谨慎,在编码、调试过程中体会成长的艰辛,在测试、用户使用反馈过程中品尝着成功或者失败的滋味。迄今为止,人们总结了各种软件工程方法学来预防软件缺陷的产生或防止软件缺陷带来的严重后果,这其中基于后期发现的软件测试发展的最快且最为系统化,但是基于源头的缺陷预防却因为开发过程中的各种差异而难以系统化,模式化。当我们处在经历了千万年发展而成的文明社会中,我们要感谢我们的祖先留下来的宝贵经验、科技成果、思想道德规范和社会体系等等,正是这些让我们更少的犯同样的错误,更好的生存、成长和体现自我的价值。同样,软件开发也需要先辈和伟人们智慧结晶、成败的经验来防止错误的发生,得到优秀的软件产品。我非常赞同的做法是把经验和教训形成实体性的东西,从而等到更好的继承和发展,就像纸张和印刷的出现对人类文明传承和发展起到重要作用一样,这种想法在本文中被称为积极防御编程。积极防御编程是一种软件开发过程中避免软件缺陷的方法,其遵循基本的软件工程过程,强调开发过程中实体性的经验库的作用,并强调开发过程中问题的本质原因分析和预防经验总结。本文总结了一些基于C语言的嵌入式软件开发过程实用经验,并以一个实际的开发过程体现积极防御编程的基本理念。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 引言
  • 1.1 背景介绍
  • 1.1.1 嵌入式系统软件介绍
  • 1.1.2 嵌入式软件发展历史
  • 1.1.3 嵌入式软件工程
  • 1.2 作者的主要工作
  • 1.3 论文结构
  • 第二章 软件缺陷及其预防
  • 2.1 软件缺陷介绍
  • 2.2 软件缺陷分类
  • 2.2.1 严重程度
  • 2.2.2 优先级
  • 2.2.3 复现频率
  • 2.2.4 缺陷来源
  • 2.2.5 缺陷状态
  • 2.3 软件缺陷预防方法
  • 2.3.1 有效沟通
  • 2.3.2 同行评审
  • 2.3.3 软件测试
  • 2.3.4 缺陷管理
  • 2.3.5 自动错误预防
  • 第三章 ADP缺陷预防方法
  • 3.1 积极防御编程方法
  • 3.1.1 积极防御编程基本理念
  • 3.1.2 积极防御编程实施过程
  • 3.2 缺陷预防经验库总结
  • 3.2.1 需求分析
  • 3.2.2 软件设计
  • 3.2.3 编程习惯
  • 3.2.4 代码审查
  • 3.2.5 代码测试
  • 3.2.6 代码维护
  • 3.2.7 流程管理
  • 3.2.8 工具应用
  • 第四章 ADP方法实践
  • 4.1 CP298项目介绍
  • 4.1.1 项目历史介绍
  • 4.1.2 项目开发目标
  • 4.1.3 项目开发配置
  • 4.2 CP298项目积极防御编程应用
  • 4.2.1 计划管理流程
  • 4.2.2 缺陷管理计划
  • 4.2.3 单元测试框架
  • 4.2.4 内存泄漏检查
  • 4.2.5 CRC代码校验
  • 4.2.6 gprof测试
  • 4.2.7 日志系统设计
  • 第五章 ADP方法实践总结
  • 5.1 CP298项目积极防御编程实践总结
  • 5.1.1 ADP方法执行总结
  • 5.1.2 ADP经验库执行结果总结
  • 5.2 ADP方法不足与发展
  • 5.3 嵌入式软件开发感言
  • 参考文献
  • 附录
  • 附录1 需求分析审查表
  • 附录2 代码审查表
  • 附录3 经验库执行结果记录表
  • 致谢
  • 相关论文文献

    • [1].国产平台的机载嵌入式软件仿真验证技术[J]. 单片机与嵌入式系统应用 2020(02)
    • [2].一种航空机载嵌入式软件安全性评价方法研究[J]. 计算机测量与控制 2020(03)
    • [3].嵌入式软件平台在电力自动化装置中的应用研究[J]. 计算机产品与流通 2020(05)
    • [4].嵌入式软件技术的现状与发展方向[J]. 南方农机 2020(10)
    • [5].一种嵌入式软件组件更新方法的研究与实现[J]. 无线互联科技 2020(10)
    • [6].嵌入式软件技术的现状探讨[J]. 电子元器件与信息技术 2020(06)
    • [7].产教融合背景下计算机嵌入式软件安全技术发展思考——评《嵌入式软件安全保证技术》[J]. 安全与环境学报 2020(05)
    • [8].汽车车身控制器嵌入式软件平台化实现探索[J]. 电子元器件与信息技术 2020(08)
    • [9].嵌入式软件中的错误追踪机制[J]. 电子技术与软件工程 2019(02)
    • [10].面向安全性分析的嵌入式软件测试方法研究[J]. 电子世界 2019(01)
    • [11].嵌入式软件保护技术的探讨[J]. 中外企业家 2019(11)
    • [12].嵌入式软件技术现状及发展前景[J]. 中国新通信 2017(20)
    • [13].浅析嵌入式软件技术的现状与发展动向[J]. 通讯世界 2018(01)
    • [14].嵌入式软件技术的现状与发展[J]. 电子技术与软件工程 2018(11)
    • [15].可重构嵌入式软件缺陷优化预测仿真研究[J]. 计算机仿真 2018(08)
    • [16].关于物联网消费者和商户应该知道的5件事——澳学者提请关注嵌入式软件[J]. 物联网技术 2017(07)
    • [17].嵌入式软件可信性的设计和验证方法[J]. 西部皮革 2017(06)
    • [18].嵌入式软件覆盖测试[J]. 数字技术与应用 2017(08)
    • [19].嵌入式软件技术的现状与发展动向[J]. 信息系统工程 2016(01)
    • [20].一种星载嵌入式软件安全性测试方法[J]. 测控技术 2016(04)
    • [21].应用型本科嵌入式软件课程理论教学体系研究与探索[J]. 计算机教育 2015(16)
    • [22].浅析嵌入式软件调试器的设计与实现[J]. 电子技术与软件工程 2015(13)
    • [23].嵌入式软件工程师:用代码编织智慧人生[J]. 招生考试通讯(高考版) 2018(10)
    • [24].嵌入式软件的应用与发展探究[J]. 科学家 2017(01)
    • [25].嵌入式软件收入核算问题研究[J]. 商 2013(23)
    • [26].嵌入式软件全数字仿真测试平台[J]. 军民两用技术与产品 2019(11)
    • [27].嵌入式软件在计算机软件开发过程中的运用分析[J]. 电脑知识与技术 2020(04)
    • [28].微型嵌入式软件静态缺陷预测系统优化设计[J]. 现代电子技术 2020(10)
    • [29].嵌入式软件目标平台硬件与行为可视化建模技术[J]. 计算机产品与流通 2020(05)
    • [30].嵌入式软件外部质量评价方法设计[J]. 测试技术学报 2019(01)

    标签:;  ;  ;  ;  

    基于积极防御编程的嵌入式软件缺陷预防方法及其实践
    下载Doc文档

    猜你喜欢