CodeTEST嵌入式软件测试系统简介课件_第1页
CodeTEST嵌入式软件测试系统简介课件_第2页
CodeTEST嵌入式软件测试系统简介课件_第3页
CodeTEST嵌入式软件测试系统简介课件_第4页
CodeTEST嵌入式软件测试系统简介课件_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章智能仪器软件设计软件开发模型与设计方法基于裸机的软件设计基于操作系统的软件设计软件测试

智能仪器已不再是简单的硬件实体,而是硬件、软件相结合,软件决定仪器智能高低的新型仪器。第一节软件开发模型与设计方法软件的含义与软件工程智能仪器中软件的主要功能软件工程开发模式软件开发阶段模块化与结构化程序设计面向对象程序设计(一)软件的含义与软件工程软件的含义、特点和种类软件工程的定义运用系统的、规范的和可定量的方法来开发、运行和维护软件。软件的含义(1)当运行时,能够提供所要求功能和性能的指令或计算机程序集合;(2)该程序能够满意地处理信息的数据结构;(3)描述程序功能需求以及如何操作和使用所要求的文档。

软件的特点(1)表现形式不同,软件是无形的;(2)生产方式不同,软件的开发,是人智力的高度发挥;(3)要求不同,软件产品不允许有误差;(4)维护不同,软件维护要比硬件复杂。

软件的种类(1)系统软件,是服务于其他程序的程序集,一般由计算机生产厂家配置;(2)应用软件,是在系统软件的基础上为解决特定领域应用开发的软件,可分为:1)事物软件2)实时软件3)工程和科学软件4)嵌入式软件5)个人计算机软件6)人工智能软件软件的种类(3)工具软件,是系统软件和应用软件之间的支持软件,用来辅助和支持开发人员开发和维护应用软件,包括:需求分析工具,设计工具,编码工具,测试工具,维护工具和管理工具;软件的种类(4)可重用软件,包括各种标准程序库,是计算机厂家提供的系统软件的一部分,这些标准程序库里的标准子程序,稍加改造,甚至不经改造就可以把它们编入新开发的程序中。(二)智能仪器中软件的主要功能1)采集信息2)与外界对话3)记忆信息4)处理信息5)控制功能6)自检自诊断7)自补偿自适应8)自校准自学习(三)软件工程开发模式

软件工程是由硬件和系统工程派生出来的,他包括四个关键元素:方法、语言、工具和过程。方法是提供如何构造软件的技术、包括一组广泛的任务。语言是以支持软件的分析、设计和实现。工具为方法和语言提供自动化或半自动化的支持。过程是粘结剂,把方法、语言和工具粘结在一起,它能使计算机软件开发理性化和适时化。软件工程开发模式

软件工程是一系列方法、语言、工具和过程的步骤所组成。这些步骤通常叫做软件工程模式。生存期模型是系统开发项目总貌的一种描述,生存期模型着眼于对项目管理的控制和逐步逼近的策略。其目的是给出软件开发项目一个降低风险的结构。软件工程开发模式瀑布式模型是传统的软件工程生存期模式,是一种系统的和顺序的软件开发方法。系统需求分析软件需求分析设计编码调试维护原型开发模型四代技术(4GT)面向对象生存期模型过程开发模型(混合模型)软件工程开发模式其他开发模型软件工程开发模式

软件开发,特别是开发的早期阶段,应该是一个学习和实践的过程,它的活动应该包括开发人员和用户两个方面。为了使其更有效,不仅要求开发人员要与用户紧密合作,而且还要有一个实际的工作系统,只有这样才能获得成功。尽管用户在开始时说不清楚所要求的未来软件系统是什么样子,但他们却可以对现有系统非常熟练地进行挑剔。软件工程开发模式原型开发模型的主要哲学论点就是允许失败,它的目标之一就是减少维护的工作量,原型开发可采用三种形式:1)一种纸面的原型或基于PC的原型,它描绘了人机对话的形式,使用户据此能够了解对话如何进行。2)一种可运行的原型,它可以实现开发软件所要求功能的一些子集。3)一种现有程序,它能够完成部分或全部所期望的功能,但应有其他一些特性,即它能够在此基础上形成所需的新系统。软件工程开发模式原型开发模型需求分析快速设计建立原型用户评价原型修改原型生产产品软件工程开发模式四代技术(4GT):拥有一组工具,它们都有一个共同的特点,即每种工具都能使软件开发人员在高层次上定义软件的某些特性,并把开发人员定义的这些特性自动地生成源代码。需求分析设计策略用4GT实现测试软件工程开发模式面向对象(Object-Oriented,OO)生存期模型有五种方案可以选择:1)在整个开发过程中,都采用OO的方法(O-O-O)2)保留传统的分析方法,采用OO的设计与实现(T-O-O);3)保留传统的实现(用过程性语言),采用OO的分析与设计(O-O-T);4)采用OO的分析和传统的设计与实现(O-T-T);5)采用OO的实现和传统的分析与设计(T-T-O)。软件工程开发模式过程开发模型(混合模型)是把几种不同的模型组合为一种混合模型,它允许一个项目沿着最有效的路径发展。(四)软件开发阶段不管选用哪种软件工程模式,不管软件的应用领域、项目规模或复杂程度如何,软件开发都要经历三个阶段:定义、开发和维护阶段。

定义阶段主要是要弄清软件做什么?即软件开发人员必须确定处理的是什么信息,它们要达到哪些功能和性能,建立什么样的界面,存在什么样的设计限制,以及要求什么样的确认准则来确定系统是否成功,还要弄清系统的关键需求,才能确定该软件。虽然根据不同的软件工程模式,定义阶段所使用的方法不同,但有三个基本步骤:系统分析:主要定义计算机系统中每个元素的任务。软件项目计划:包括确定工作域、风险分析、资源规定、成本估算、以及工作任务和进度安排等。需求分析:软件工作域的定义只给软件提出了方向,但还要对信息域和软件功能进行细节的定义,这是工作开始前及其重要的。

开发阶段主要是确定这样的软件怎么做,即软件开发人员必须确定对所开发软件采用怎样的数据结构和体系结构,怎样的过程细节,怎样把设计转换成编程语言,以及怎样进行测试等。开发阶段各异,但一般有三个具体步骤:软件设计:主要是把软件的需求翻译为一系列的表达式来描述数据结构、体系结构、算法过程,以及界面特征等。编码:设计表达式必须翻译为一种人工语言。最后,这种语言可以生成机器能够执行的指令系统。软件测试:软件一旦成为机器可执行的形式,还必须对其进行测试,以发现功能、逻辑和实现上的缺陷。

维护阶段主要是各种修改,维护阶段要进行的再定义和再开发是在软件已经存在的基础上进行。维护阶段有三种类型的修改:改正:就是修改软件在测试中没有被发现的缺陷。适应:软件最初的开发环境,随着时间的推进很可能发生很大的变化。适应性维护就是修改软件,使之能适应这种外部环境的变化。提高:随着软件的使用,用户会认识到,为了提高效益需要增加一些功能或提高一些性能。完善性维护就是在软件超出它最初的需求上的扩展。(五)模块化与结构化程序设计模块化程序设计的出发点是把一个复杂的系统软件,分解为若干个功能模块,每个模块执行单一的功能,并且具有单入口单出口结构。自底向上模块化程序设计自顶向下模块化程序设计模块化与结构化程序设计结构化程序设计1966年的BohmC和JacopiniG证明了只用三种基本的控制结构就能实现如何单入口和单出口的程序。这三种基本的控制结构是:顺序结构选择结构循环结构模块化与结构化程序设计结构化程序设计是一种程序设计技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。程序设计通常分为五个步骤:即问题定义、程序设计、编码、调试、改进和再设计。模块化与结构化程序设计问题定义阶段是要明确计算机完成哪些任务、执行什么程序,决定输入输出的形式与硬件接口电路的连接配合以及出错处理方法;程序设计是利用程序对任务作出描述,使用的方法有模块程序设计法和结构化程序设计法;模块化与结构化程序设计编码是指程序设计人员选取一种适当的高级(或汇编)语言,书写程序;调试就是利用各种测试方法检查程序的正确性;改进和再设计是根据调试中的问题对原设计做修改,并对程序进行改进设计和补充。(六)面向对象的程序设计基本概念和特征

面向对象的方法是在描述和理解客观事物方面与以往的系统分析方法截然不同的一种新方法。(六)面向对象的程序设计面向对象方法中几个重要的基本概念对象:是一个封装了数据和操作的实体。对象的结构特性由属性表示,数据描述了对象的状态,操作可操纵私有数据,改变对象的状态。消息:请求对象执行某一操作或回答某些信息的要求。(六)面向对象的程序设计类:是具有共同的属性、共同的操作的对象的集合。继承性:软件的可重用性、程序成分的可重用性都是通过继承类中的属性和操作而实现的。面向对象的程序设计面向对象程序设计准则模块化:面向对象软件开发模式,很自然地支持了把系统分解成模块的设计原理,对象就是模块。它是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块。抽象:面向对象的方法不仅支持过程抽象,而且支持数据抽象。信息隐藏:通过对象的封装性实现。面向对象的程序设计弱耦合:耦合是指一个软件结构内不同模块之间互连的紧密程度。在此,耦合主要指不同对象之间相互关联的紧密程度。弱耦合是优秀设计的一个重要标准,这有助于使得系统中某一部分的变化对其他部分的影响降到最低程度。面向对象的程序设计强内聚:内聚衡量一个模块内各个元素彼此结合的紧密程度。设计中使用的一个构件内的各元素,对完成一个定义明确的目的所做出的贡献程度。在设计时应该力求做到高内聚。面向对象的程序设计可重用:软件重用是提高软件开发生产率和目标系统质量的重要途径。重用基本上从设计阶段开始。有两方面含义:一是尽量使用已有的类,二是如果确实需要创建新类,则在设计这些新类的协议时,应该考虑将来的可重复使用性。习题软件的含义是什么?软件具有哪些与硬件不同的特点?软件的种类有哪些?智能仪器软件的主要功能是什么?什么是软件工程?试列出5种软件工程模式?软件开发要经过哪三个阶段?模块化程序设计方法有哪些?什么是结构化程序设计?面向对象的程序设计准则是什么?第二节基于裸机的软件设计设计步骤程序流程图与子程序设计系统监控程序设计常用功能模块的设计

基于裸机的软件设计是指以空白的微处理器/控制器为基础,完成全部的软件设计,没有将系统软件和应用软件分开处理,其实时性和可靠性与设计人员的水平密切相关,适用于功能较为简单的中小型应用系统。设计步骤编写设计任务书硬件电路设计软件任务分析数据类型和数据结构规划资源分配编程调试程序流程图与子程序设计程序流程图的画法

先粗后细,逐步细化程序流程图与子程序设计子程序设计应采用模块化,结构化的程序设计方法系统监控程序设计监控程序的任务系统监控程序是控制系统按预定操作方式运转的程序。它完成人机对话和远程控制等功能,使系统按操作者的意图或遥控命令来完成指定的作业。它是系统程序的框架。系统监控程序设计监控程序的结构作业顺序调度型作业优先调度型键码分析作业调度型常用功能模块的设计自检模块初始化模块时钟模块通信模块信息采集模块数据处理模块控制决策模块显示模块第三节基于嵌入式操作系统的软件设计嵌入式操作系统嵌入式软件开发方法常用开发工具及开发环境嵌入式操作系统许多简单的嵌入式系统并不需要嵌入式操作系统(如单片机控制)。但是,随着嵌入式系统复杂性的增加,操作系统显得越来越重要。因此,必须对复杂的嵌入式软件系统进行合理的控制。嵌入式操作系统嵌入式操作系统的分类商用系统专用系统开放系统嵌入式操作系统嵌入式操作系统的体系结构嵌入式软件开发增量式迭代开发模型

嵌入式应用程序开发过程嵌入式应用程序的调试嵌入式程序开发工具及开发环境交叉开发系统开发方法崩溃与烧制ROM监控程序ROM仿真器在线仿真器[ICE]片上调试[OCD]包括BDM和JTAG模拟器第四节软件测试通用软件测试方法嵌

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论