7软件设计修改资料课件

上传人:风*** 文档编号:240742565 上传时间:2024-05-04 格式:PPT 页数:48 大小:758KB
返回 下载 相关 举报
7软件设计修改资料课件_第1页
第1页 / 共48页
7软件设计修改资料课件_第2页
第2页 / 共48页
7软件设计修改资料课件_第3页
第3页 / 共48页
点击查看更多>>
资源描述
模块化与结构化程序设计模块化与结构化程序设计u 模块化程序设计模块化程序设计自底向上模块化程序设计自底向上模块化程序设计自顶向下模块化程序设计自顶向下模块化程序设计1模块化设计模块化设计优点:优点:单个程序模块易于编写、查错、测试及修改;单个程序模块易于编写、查错、测试及修改;不同的模块可以分配给不同的程序员来编写及测试;不同的模块可以分配给不同的程序员来编写及测试;程序的易读性好;频繁使用的任务可以编织成模块程序的易读性好;频繁使用的任务可以编织成模块原则:原则:模块长度需适中;模块之间的控制耦合应尽可模块长度需适中;模块之间的控制耦合应尽可能简单,尽量避免多个入口点与出口点;对每个模块能简单,尽量避免多个入口点与出口点;对每个模块做出具体定义;简单的任务不必模块化;多种判定最做出具体定义;简单的任务不必模块化;多种判定最好在一个模块中完成好在一个模块中完成2n是不是模块划分得越多越好呢?是不是模块划分得越多越好呢?当然不是,虽然增加程序中的模块数可以降低开发每个当然不是,虽然增加程序中的模块数可以降低开发每个模块的工作量,但同时却增加了设计模块接口的工作量。通模块的工作量,但同时却增加了设计模块接口的工作量。通过过图图5.15.1所示的模块数与软件开发成本的关系图中可以看出,所示的模块数与软件开发成本的关系图中可以看出,当划分的模块数处于最小成本区时,开发软件的总成本最低。当划分的模块数处于最小成本区时,开发软件的总成本最低。n模块化的好处?模块化的好处?1 1、可以降低软件开发的难度;、可以降低软件开发的难度;、可以使程序结构清晰,增加易读性和易修改性;、可以使程序结构清晰,增加易读性和易修改性;、模块化还有利于提高代码的可重用性及团队合作开发、模块化还有利于提高代码的可重用性及团队合作开发大型软件的可行性。大型软件的可行性。软件设计中的基本概念和原理软件设计中的基本概念和原理3模块数与软件开发成本软件设计中的基本概念和原理软件设计中的基本概念和原理4 2.2.模块独立性模块独立性软件设计中的基本概念和原理软件设计中的基本概念和原理 模块的独立性是指软件系统中每个模块只模块的独立性是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统涉及软件要求的具体的子功能,而和软件系统中其他模块的接口是简单的。中其他模块的接口是简单的。耦合耦合耦合耦合 模块之间的模块之间的模块之间的模块之间的相对独立性相对独立性相对独立性相对独立性的度量。的度量。的度量。的度量。内聚内聚内聚内聚 模块功能强模块功能强模块功能强模块功能强度的度量。度的度量。度的度量。度的度量。51)耦合性耦合性n耦合性是对一个软件结构内部不同模块间联系紧密程度的度量指标。耦合性是对一个软件结构内部不同模块间联系紧密程度的度量指标。n决定耦合性高低的主要因素决定耦合性高低的主要因素由于模块间的联系是通过模块接口实现的,因此,模块耦合性的由于模块间的联系是通过模块接口实现的,因此,模块耦合性的高低主要取决于高低主要取决于模块接口的复杂程度模块接口的复杂程度、调用模块的方式调用模块的方式以及以及通过模块通过模块接口的数据接口的数据。模块间的耦合性。模块间的耦合性主要可划分主要可划分为如下几种类型。为如下几种类型。低数据数据耦合耦合公共公共耦合耦合控制耦合内容耦合 高弱 强耦合性模块独立性6 (1)(1)数据耦合。若两个模块之间仅通过模块参数交换信息,且交换数据耦合。若两个模块之间仅通过模块参数交换信息,且交换的信息全部为简单数据,则称这种耦合为数据耦合。数据耦合的耦合性的信息全部为简单数据,则称这种耦合为数据耦合。数据耦合的耦合性最低,通常软件中都包含有数据耦合。数据耦合的例子如下所示:最低,通常软件中都包含有数据耦合。数据耦合的例子如下所示:软件设计中的基本概念和原理软件设计中的基本概念和原理 (2)(2)公共耦合。若两个或多个模块通过引用公共数据相互联系,则公共耦合。若两个或多个模块通过引用公共数据相互联系,则称这种耦合为公共耦合。称这种耦合为公共耦合。例如,例如,在程序中定义了全局变量,并在多个模在程序中定义了全局变量,并在多个模块中对全局变量进行了引用,则引用全局变量的多个模块间就具有了公块中对全局变量进行了引用,则引用全局变量的多个模块间就具有了公共耦合关系。共耦合关系。(3)(3)控制耦合。若模块之间交换的信息中包含有控制信息控制耦合。若模块之间交换的信息中包含有控制信息(尽管有时尽管有时控制信息是以数据的形式出现的控制信息是以数据的形式出现的),则称这种耦合为控制耦合。控制耦合,则称这种耦合为控制耦合。控制耦合是中等程度的耦合,它会增加程序的复杂性。控制耦合的例子如下所示:是中等程度的耦合,它会增加程序的复杂性。控制耦合的例子如下所示:7 (4)(4)内容耦合。若一个模块对另一模块中的内容内容耦合。若一个模块对另一模块中的内容(包括数据和程序包括数据和程序段段)进行了直接的引用甚至修改,或通过非正常入口进入到另一模块内进行了直接的引用甚至修改,或通过非正常入口进入到另一模块内部,或一个模块具有多个入口,或两个模块共享一部分代码,则称模块部,或一个模块具有多个入口,或两个模块共享一部分代码,则称模块间的这种耦合为内容耦合。内容耦合是所有耦合关系中程度最高的,会间的这种耦合为内容耦合。内容耦合是所有耦合关系中程度最高的,会使因模块间的联系过于紧密而对后期的开发和维护工作带来很大的麻烦。使因模块间的联系过于紧密而对后期的开发和维护工作带来很大的麻烦。n以上耦合程度的比较如下:以上耦合程度的比较如下:软件设计中的基本概念和原理软件设计中的基本概念和原理低数据数据耦合耦合控制控制耦合耦合控制耦合内容耦合 高弱 强耦合性模块独立性8智能仪器中软件的主要功能智能仪器中软件的主要功能v采集信息采集信息v与外界对话与外界对话v记忆信息记忆信息v处理信息处理信息v控制功能控制功能v自我测试自我测试v自补偿自适应自补偿自适应/自校正自学习自校正自学习9软件软件软件软件设计设计设计设计高可靠性高可靠性高可维护性高可维护性高可理解性高可理解性高效率高效率 软件设计的目标二、软件设计的目标二、软件设计的目标在设计阶段应达到的目标是在设计阶段应达到的目标是:提高可靠性;提高可维护性;提高可理解性;提高效率。提高可靠性;提高可维护性;提高可理解性;提高效率。衡量该目标的准则衡量该目标的准则:1 1、软件实体有明显的层次结构,利于软件元素间控制。、软件实体有明显的层次结构,利于软件元素间控制。2 2、软件实体应该是模块化的,模块具有独立功能。、软件实体应该是模块化的,模块具有独立功能。3 3、软件实体与环境的界面清晰。、软件实体与环境的界面清晰。4 4、设计规格说明清晰、简洁、完整和无二义性、设计规格说明清晰、简洁、完整和无二义性。10软件工程开发模式软件工程开发模式n瀑布式模型瀑布式模型系统需求分析系统需求分析软件需求分析软件需求分析设设 计计编编 码码调调 试试维维 护护11软件工程开发模式软件工程开发模式n原型开发模型原型开发模型需求分析需求分析快速设计快速设计建立原型建立原型用户评价原型用户评价原型修改原型修改原型生产产品生产产品12v四代技术四代技术(4GT)v面向对象生存期模型面向对象生存期模型v过程开发模型过程开发模型(混合模型混合模型)软件工程开发模式软件工程开发模式n其他开发模型其他开发模型13软件开发三阶段软件开发三阶段u 定义阶段定义阶段系统分析系统分析软件项目计划软件项目计划需求分析需求分析14需求分析的具体任务:需求分析的具体任务:需求分析的具体任务需求分析的具体任务1 1 1 1、确定系统的综合要求、确定系统的综合要求、确定系统的综合要求、确定系统的综合要求 系统功能要求系统功能要求这是最主要的需求,确定系统必须完成的所有功能。这是最主要的需求,确定系统必须完成的所有功能。系统性能要求系统性能要求应就具体系统而定,例如可靠性、联机系统的响应时应就具体系统而定,例如可靠性、联机系统的响应时间、存储容量、安全性能等。间、存储容量、安全性能等。系统运行要求系统运行要求主要是对系统运行时的环境要求,如系统软件、数据主要是对系统运行时的环境要求,如系统软件、数据库管理系统、外存和数据通信接口等。库管理系统、外存和数据通信接口等。将来可能提出的要求将来可能提出的要求对将来可能提出的扩充及修改作预准备。对将来可能提出的扩充及修改作预准备。2 2 2 2、分析系统的数据要求、分析系统的数据要求、分析系统的数据要求、分析系统的数据要求 软件系统本质上是信息处理系统,因此,必须考虑:软件系统本质上是信息处理系统,因此,必须考虑:数据数据 (需要哪些数据、数据间联系、数据性质、结构)(需要哪些数据、数据间联系、数据性质、结构)数据处理数据处理 (处理的类型、处理的逻辑功能)(处理的类型、处理的逻辑功能)3 3 3 3、导出系统的逻辑模型、导出系统的逻辑模型、导出系统的逻辑模型、导出系统的逻辑模型通常系统的逻辑模型用通常系统的逻辑模型用DFDDFD图来描述。图来描述。4 4 4 4、修修修修正正正正系系系系统统统统的的的的开开开开发发发发计计计计划划划划通通过过需需求求对对系系统统的的成成本本及及进进度度有有了了更更精精确确的的估估算算,可进一步修改开发计划。可进一步修改开发计划。2.1.1 软件需求分析的任务15系统定义:系统定义:v输入输出的说明输入输出的说明 输入字节的规定;输入字节的规定;CPU的查询方式;是否需要软件时钟;的查询方式;是否需要软件时钟;是否有接口锁存;输入信号的更新;校验问题;与其他输入是否有接口锁存;输入信号的更新;校验问题;与其他输入或输出的关系或输出的关系v系统存储器的说明系统存储器的说明 掉电保护;对存储器的管理;软件的结构掉电保护;对存储器的管理;软件的结构v处理阶段的说明处理阶段的说明 算术逻辑运算;操作装置的管理;系统管理;程序和作业算术逻辑运算;操作装置的管理;系统管理;程序和作业控制;数据管理控制;数据管理v出错处理与操作因素的说明出错处理与操作因素的说明 错误类型;如何处理;错误的区分;是否需要诊断程序错误类型;如何处理;错误的区分;是否需要诊断程序16软件开发三阶段软件开发三阶段u 开发阶段开发阶段软件设计软件设计编码编码测试测试17编写程序编写程序v机器语言机器语言 不需任何软件或硬件支援,编制速度慢,不易查不需任何软件或硬件支援,编制速度慢,不易查找错误找错误v汇编语言汇编语言 直观、易懂、易用、易于记忆、占用内存空间小直观、易懂、易用、易于记忆、占用内存空间小且执行速度快、易于实现中断管理及模拟(数字)且执行速度快、易于实现中断管理及模拟(数字)量输入输出量输入输出v高级语言高级语言 编译效率低、可能造成时间和存储器的浪费编译效率低、可能造成时间和存储器的浪费18软件的层次结构软件的层次结构软件的层次结构软件的层次结构顶层1层2层ABCDEFGHIJKLMN深度扇入为扇入为2扇出为扇出为3扇入为扇入为33层4层宽度宽度宽度 软件结构示意图有关指标有关指标有关指标有关指标:深深度度:表表示示软软件件结结构构中中从从顶顶层层模模块块到到最最底底层层模模块块的的层层数。数。宽度:表示控制的总分布。宽度:表示控制的总分布。扇扇出出数数:指指一一个个模模块块直直接接控制下属的模块个数。控制下属的模块个数。扇扇入入数数:指指一一个个模模块块的的直直接上属模块个数。接上属模块个数。一一个个好好的的软软件件结结构构的的形形态态准准则则是是:顶顶部部宽宽度度小小,中中部部宽宽度度大大,底底部部宽度次之;在结构顶部有较高的扇出数,在底部有较高的扇入数。宽度次之;在结构顶部有较高的扇出数,在底部有较高的扇入数。软软件件结结构构图图表表示示软软件件的的系系统统结结构构,它它是是软软件件模模块块间间关关系系的的表表示示,软软件之间的各种关系,均可表示为层次结构。如图所示。件之间的各种关系,均可表示为层次结构。如图所示。19软件的树状结构和网状结构软件的树状结构和网状结构软件的树状结构和网状结构软件的树状结构和网状结构由由模模块块连连接接而而得得到到的的软软件件结结构构最最普普通通的的形形式式就就是是树树状状结结构构和和网网状结构。状结构。在在树树状状结结构构中中,位位于于最最上上层层的的根根部部是是顶顶层层模模块块,它它是是程程序序的的主主模模块块。与与其其联联系系的的有有若若干干下下属属模模块块,各各下下属属模模块块还还可可以以进进一一步步引引出出更下一层的下属模块,如图所示的树状结构。更下一层的下属模块,如图所示的树状结构。树状结构的特点是:树状结构的特点是:树状结构的特点是:树状结构的特点是:整整个个结结构构只只有有一一个个顶顶层层模模块块,而而对对于于任任何何一一个个下下属属模模块块来来说说,它它只只有有一一个个上上级级模模块块,而而且且同同一一层层模模块块之之间间不不发发生关系。生关系。顶层顶层1 1层层2 2层层3 3层层 软件的树状结构软件的树状结构A AB BC CD DE EF FG GH HI IK KL LM M20上上图图是是网网状状结结构构的的两两个个例例子子。在在网网状状结结构构中中,任任何何两两个个模模块块间间都都可可以以有有双双向向的的关关系系。由由于于不不存存在在上上级级模模块块和和下下属属模模块块的的关关系系,也也就就分分不不出出层次来。任何两个模块都是平等的,没有从属关系。层次来。任何两个模块都是平等的,没有从属关系。网状结构(a)(b)软件的树状结构和网状结构软件的树状结构和网状结构ABCDEFGHABCD 分析比较两种结构的特点后可以看出,对于不加限制的网状结构,由于分析比较两种结构的特点后可以看出,对于不加限制的网状结构,由于模块间相互关系的任意性,使得整个结构十分复杂,处理起来势必引起许多模块间相互关系的任意性,使得整个结构十分复杂,处理起来势必引起许多麻烦,这与原来划分模块为便于处理的意图相矛盾。所以在软件开发的实践麻烦,这与原来划分模块为便于处理的意图相矛盾。所以在软件开发的实践中,人们通常采用树状结构,而不采用网状结构。中,人们通常采用树状结构,而不采用网状结构。211软件测试的基本概念v 一、软件测试的目的和重要性一、软件测试的目的和重要性v因为开发工作的前期不可避免地会引入因为开发工作的前期不可避免地会引入错误,测试的错误,测试的目的是为了发现和改正错误目的是为了发现和改正错误,这对于某些涉及人的生命安全或重要的军这对于某些涉及人的生命安全或重要的军事、经济目标的项目显得尤其重要。事、经济目标的项目显得尤其重要。v19631963年美国飞往火星的火箭爆炸,原因是年美国飞往火星的火箭爆炸,原因是FORTRANFORTRAN程序:程序:DO 5 I=1DO 5 I=1,3 3 误写为:误写为:DO 5 I=1.3 DO 5 I=1.3 损失损失10001000万美元。万美元。22二、软件测试的二、软件测试的特点特点v1、软件测试的开销大、软件测试的开销大v按照按照Boehm的统计,软件测试的开销大约占的统计,软件测试的开销大约占总成本的总成本的30%-50%。例如:。例如:APPOLLO登月计划,登月计划,80%的经费用于软件测试。的经费用于软件测试。v2、不能进行、不能进行“穷举穷举”测试测试v只有将所有可能的情况都测试到,才有可能检只有将所有可能的情况都测试到,才有可能检查出所有的错误。但这是不可能的:查出所有的错误。但这是不可能的:v例:程序例:程序P有两个整型输入量有两个整型输入量 X、Y,输出量为,输出量为Z,在在32位机上运行。所有的测试数据组(位机上运行。所有的测试数据组(Xi,Yi)的数目为:的数目为:1毫秒执行毫秒执行1次,共需次,共需5亿年。亿年。23二、软件测试的二、软件测试的特点特点 结论结论v3、软件测试难度大、软件测试难度大 根据上述分析,既然不能进行根据上述分析,既然不能进行“穷举穷举”测试,又要查出尽可能多的错误,软件测试,又要查出尽可能多的错误,软件测试工作的难度大。只有选择测试工作的难度大。只有选择“高效的测试用例高效的测试用例”24三、软件测试的基本原则1 1、尽量不由程序设计者进行测试。、尽量不由程序设计者进行测试。2 2、关键是注重、关键是注重测试用例测试用例的选择。的选择。v输入数据的组成(输入数据、预期的输出结果)输入数据的组成(输入数据、预期的输出结果)v 既有合理输入数据,也有不合理的输入数据。既有合理输入数据,也有不合理的输入数据。v 用例既能检查应完成的任务,也能够检查不应用例既能检查应完成的任务,也能够检查不应该完成的任务。该完成的任务。v 长期保存测试用例。长期保存测试用例。25模块测试模块测试整体测试整体测试功能测试功能测试预测试预测试系统测试系统测试验收测试验收测试安装测试安装测试概要设计审查概要设计审查详细设计审查详细设计审查代码审查代码审查 测试测试(单元测试)单元测试)(组装测试)(组装测试)(有效性测试)(有效性测试)(确认测试)(确认测试)四、测试的基本步骤26通用软件测试方法通用软件测试方法测测 试试结果分析结果分析改正错误改正错误可靠性分析可靠性分析软件配置软件配置测试测试配置配置测试工具测试工具测试结果测试结果回归测试回归测试错误错误改正的软件改正的软件预测的预测的可靠性可靠性预期结果预期结果272 软件测试方法v软件测试方法分为两类:静态分析、动态测试软件测试方法分为两类:静态分析、动态测试v一、静态分析方法一、静态分析方法指指以以人人工工的的、非非形形式式化化的的方方法法对对程程序序进进行行分分析析和测试。和测试。v桌前检查、代码会审、步行检查桌前检查、代码会审、步行检查v步行检查时,还常使用以下分析方法:步行检查时,还常使用以下分析方法:调用图调用图 从语义的角度考察程序的控制路线。从语义的角度考察程序的控制路线。数据流分析图数据流分析图 检查分析变量的定义和引用情况。检查分析变量的定义和引用情况。28v通过选择适当的测试用例,执行程序。通过选择适当的测试用例,执行程序。v常用的方法:常用的方法:1 1、白盒法、白盒法 分析程序的内部逻辑结构,注意选择适当的分析程序的内部逻辑结构,注意选择适当的覆盖标准,设计测试用例,对主要路径进行尽覆盖标准,设计测试用例,对主要路径进行尽可能多的测试。可能多的测试。2 2、黑盒法、黑盒法 不考虑程序的内部结构与特性,只根据程序不考虑程序的内部结构与特性,只根据程序功能或程序的外部特性设计测试用例。功能或程序的外部特性设计测试用例。二、动态测试方法二、动态测试方法(1 1)29白盒法白盒法v 白盒法又称为逻辑覆盖法,其测试用例选白盒法又称为逻辑覆盖法,其测试用例选择,是按照不同覆盖标准确定的。择,是按照不同覆盖标准确定的。语语句句覆覆盖盖判判定定覆覆盖盖条条件件覆覆盖盖判判定定条条件件覆覆盖盖条条件件组组合合覆覆盖盖弱弱强强30白盒法常用的覆盖标准白盒法常用的覆盖标准 语语句句覆覆盖盖:选选择择足足够够的的测测试试用用例例,使使得得程程序序中中每每个个语语句至少都能被执行一次。句至少都能被执行一次。判定覆盖:判定覆盖:执行足够的测试用例,使得程序中每个判执行足够的测试用例,使得程序中每个判定至少都获得一次定至少都获得一次“真真”值和值和“假假”值。值。条条件件覆覆盖盖:执执行行足足够够的的测测试试用用例例,使使得得判判定定中中的的每每个个条条件获得各种可能的结果。件获得各种可能的结果。判判定定/条条件件覆覆盖盖:执执行行足足够够的的测测试试用用例例,使使得得判判定定中中每每个个条条件件取取到到各各种种可可能能的的值值,并并使使每每个个判判定定取取到到各各种种可可能能的的结果。结果。条条件件组组合合覆覆盖盖:执执行行足足够够的的例例子子,使使得得每每个个判判定定中中条条件的各种可能组合都至少出现一次。件的各种可能组合都至少出现一次。31白盒法步骤:白盒法步骤:例:用白盒法测试以下程序段:Procedure(VAR A,B,X:REAL);BEGIN IF(A1)AND(B=0)THEN X:=X/A;IF(A=2)OR (X1)THEN X:=X+1END;1 1)选择逻辑覆盖标准。)选择逻辑覆盖标准。2 2)按照覆盖标准列出所有情况。)按照覆盖标准列出所有情况。3 3)选择确定测试用例。)选择确定测试用例。4 4)验证分析运行结果与预期结果。)验证分析运行结果与预期结果。A1ANDB=0X:=X/AA=2OR X1X:=X+1YNYN32二、动态测试方法二、动态测试方法(2 2)等等价价分分类类法法边边值值分分析析法法错错误误推推测测法法因因果果图图法法(2)(2)黑盒法黑盒法 不考虑程序的内部结构与特性,不考虑程序的内部结构与特性,只根据程序功能或程序的外部特性只根据程序功能或程序的外部特性设计测试用例。设计测试用例。331 1、等价分类法、等价分类法v基本思想:基本思想:根据程序的根据程序的I/O特性,将程序的定义域特性,将程序的定义域划分为有限个等价区段划分为有限个等价区段“等价类等价类”,从等价类,从等价类中选择出的用例,具有中选择出的用例,具有“代表性代表性”。v等价类分为:等价类分为:v有效等价类有效等价类 对于程序的规格说明,是对于程序的规格说明,是合理的、有意义的输入数据构成的集合。合理的、有意义的输入数据构成的集合。v无效等价类无效等价类 对于程序的规格说明,是不对于程序的规格说明,是不合理的、没有意义的输入数据构成的集合。合理的、没有意义的输入数据构成的集合。342 2、边值分析法、边值分析法、边值分析法、边值分析法v 基本思想:基本思想:选择等价类的边缘值作为测试用例,选择等价类的边缘值作为测试用例,让每个等价类的边界都得到测试,选择测试用让每个等价类的边界都得到测试,选择测试用例既考虑例既考虑输入输入亦考虑亦考虑输出输出。v 分析步骤分析步骤:A A、先划分等价类。、先划分等价类。B B、选择测试用例,测试等价类边界。、选择测试用例,测试等价类边界。v 边界边界选择原则:选择原则:A A、按照输入值范围的边界。、按照输入值范围的边界。B B、按照输入、按照输入/输出值个数的边界。输出值个数的边界。C C、输出值域的边界。、输出值域的边界。D D、输入、输入/输出有序集的边界。输出有序集的边界。353 3 软件测试的步骤软件测试的步骤测试步骤及策略测试步骤及策略 所有测试过程都应采用综合测试策略;即先所有测试过程都应采用综合测试策略;即先作静态分析,再作动态测试。并事先制订测试计作静态分析,再作动态测试。并事先制订测试计划。测试过程通常可分划。测试过程通常可分4 4步进行:步进行:单元单元测试测试单元单元测试测试单元单元测试测试被测被测模块模块被测被测模块模块集成集成测试测试设计设计信息信息已测试已测试的模块的模块确认确认测试测试已集成已集成的模块的模块软件软件需求需求系统系统测试测试已确认已确认的软件的软件可交付可交付的软件的软件系统其系统其他元素他元素361 1 软件维护的类型软件维护的类型软件维护是指软件系统交付使用以后,为了改正软件维护是指软件系统交付使用以后,为了改正错误或满足新的需求而修改软件的过程。按照不错误或满足新的需求而修改软件的过程。按照不同的维护目的,维护工作可分成同的维护目的,维护工作可分成4 4类。类。完善性维护完善性维护(Perfective MaintenancePerfective Maintenance)扩充原有系统的功能,提高原有系统的性能,满扩充原有系统的功能,提高原有系统的性能,满足用户的实际需要。足用户的实际需要。纠错性维护纠错性维护(Corrective MaintenanceCorrective Maintenance)对在测试阶段未能发现的,在软件投入使用后才逐对在测试阶段未能发现的,在软件投入使用后才逐渐暴露出来的错误的测试、诊断、定位、纠错以及渐暴露出来的错误的测试、诊断、定位、纠错以及验证、修改的回归测试过程。验证、修改的回归测试过程。37软件维护的类型软件维护的类型适应性维护适应性维护(Adaptive MaintenanceAdaptive Maintenance)要使运行的软件能适应运行环境的变动而修要使运行的软件能适应运行环境的变动而修改软件的过程。改软件的过程。预防性维护预防性维护(Preventive MaintenancePreventive Maintenance)为了进一步改善软件的可靠性和易维护性,为了进一步改善软件的可靠性和易维护性,或者为将来的维护奠定更好的基础而对软件进或者为将来的维护奠定更好的基础而对软件进行修改。行修改。38监控程序监控程序监监控控主主程程序序初始化管理初始化管理键盘管理键盘管理显示管理显示管理中断管理中断管理时钟管理时钟管理自诊断自诊断39键盘管理键盘管理v键值的获取键值的获取 单纯查询法单纯查询法 中断法中断法 定时查询法定时查询法v一键一义键盘的管理一键一义键盘的管理v一键多义键盘的管理一键多义键盘的管理40一键一义键盘的管理一键一义键盘的管理选择结构法:选择结构法:将获取的键值跟设定值逐一比较将获取的键值跟设定值逐一比较转移表法:转移表法:通过在表中查找各命令处理子程序通过在表中查找各命令处理子程序的入口的入口41显示管理显示管理v显示更新数据显示更新数据v多参数的巡测和定点显示管理多参数的巡测和定点显示管理v指示灯显示管理指示灯显示管理42 中断管理中断管理v实现中断及返回实现中断及返回v能实现优先级排队能实现优先级排队v能实现中断嵌套能实现中断嵌套43时钟管理时钟管理v硬件方法:采用可编程定时硬件方法:采用可编程定时/计数器接口电计数器接口电路以及单片机内的定时电路路以及单片机内的定时电路v软件延时:简单;占用软件延时:简单;占用CPU时间时间v软硬结合的方法软硬结合的方法44初始化管理初始化管理v可编程器件初始化可编程器件初始化v堆栈初始化堆栈初始化v参数初始化参数初始化把可调整初始化参数集中在一个模块中,便把可调整初始化参数集中在一个模块中,便于集中管理,利于实现模块独立性。于集中管理,利于实现模块独立性。45故障自诊断管理故障自诊断管理1)自诊断方式)自诊断方式v开机自诊断开机自诊断v周期性自诊断周期性自诊断v键控自诊断键控自诊断2)自诊断方法)自诊断方法vCPU的诊断的诊断vROM或或EPROM的诊断的诊断vRAM的诊断的诊断v定时器的诊断定时器的诊断v中断功能的诊断中断功能的诊断v键盘与显示器的诊断键盘与显示器的诊断vA/D通道的诊断与校正通道的诊断与校正46谢谢你的阅读v知识就是财富v丰富你的人生
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!