软件工程401-500.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件工程401-500.ppt》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 401 500
- 资源描述:
-
1、2. 软件的可用性软件的可用性 对故障可修复系统,应同时使用可靠性和对故障可修复系统,应同时使用可靠性和可用性来衡量。可用性来衡量。 是:程序在给定的时间点,按是:程序在给定的时间点,按照规格说明书的规定,成功地运行的概率。照规格说明书的规定,成功地运行的概率。 是:可靠性是在是:可靠性是在0到到t时间间隔内,系统没有失效的概率。而可用时间间隔内,系统没有失效的概率。而可用性是在性是在t时刻,系统是正常运行的概率。时刻,系统是正常运行的概率。 如果在如果在t时刻,系统是可用的,则有两种可能:时刻,系统是可用的,则有两种可能: 1)在)在0到到t时刻这段时间内,系统一直没有失时刻这段时间内,系统
2、一直没有失效(可靠);效(可靠); 2)在)在0到到t时刻这段时间内失效过,但是系统时刻这段时间内失效过,但是系统修复后运行到修复后运行到t时刻时情况良好。时刻时情况良好。 如果在一段时间内,软件系统故障停机时间如果在一段时间内,软件系统故障停机时间分别为:分别为:td1 , td2 , ,正常运行时间分别为:正常运行时间分别为:tu1 , tu2 , ,则系统的稳态可用性定义为:则系统的稳态可用性定义为: downupupssTTTA其中其中Tup= tui , Tdown= tdi 如果引入系统平均无故障时间如果引入系统平均无故障时间MTTF和平均维修时间和平均维修时间MTTR的概念,则上
3、面公式的系统稳态可用性变成:的概念,则上面公式的系统稳态可用性变成:MTTRMTTFMTTFAss MTTR是修复一个故障平均需要用的时间,取决于维护人是修复一个故障平均需要用的时间,取决于维护人员的技术水平和对系统熟悉程度。员的技术水平和对系统熟悉程度。 MTTF是系统按照规格说明书规定成功地运行的平均时是系统按照规格说明书规定成功地运行的平均时间,取决于系统中潜伏的错误数量。间,取决于系统中潜伏的错误数量。 1. 符号符号 估算估算MTTF时使用到下列符号时使用到下列符号 ET测试之前程序中故障总数;测试之前程序中故障总数; IT程序长度(机器指令总数);程序长度(机器指令总数); 测试(
4、包括调试)时间;测试(包括调试)时间; Ed() 在在0至至期间发现的错误数;期间发现的错误数; Ec() 在在0至至期间改正的错误数;期间改正的错误数; 7.9.2 估算平均无故障时间估算平均无故障时间MTTF的方法的方法2. 基本假定基本假定可作出下列假定:可作出下列假定:1)。一些统计。一些统计数字表明,通常有:数字表明,通常有:0.510-2ET/ IT210-2。2),。3),即,即Ec()= Ed()。由于系统剩余的故障数为:由于系统剩余的故障数为: Er() = ET- Ec()所以单位长度程序中剩余的故障数为:所以单位长度程序中剩余的故障数为: r () = ET / IT -
5、 Ec()/ IT 3. 估算平均无故障时间估算平均无故障时间MTTF 因为平均无故障时间与单位长度程序中剩因为平均无故障时间与单位长度程序中剩余的故障数余的故障数r ()成反比,所以:成反比,所以: / )(/1)(TcTTrIEIEKMTTF 其中:其中:K为常数,它的值根据经验选取,为常数,它的值根据经验选取,经典值是经典值是200。由上式变换后得到程序中改正的错误数:由上式变换后得到程序中改正的错误数: 根据对软件平均无故障时间的要求,可以估计根据对软件平均无故障时间的要求,可以估计需要改正多少个错误后,测试工作就可以结束。需要改正多少个错误后,测试工作就可以结束。 MTTFKIEET
6、Tc4. 估计故障总数估计故障总数ET的方法的方法1) 假设人为地植入的故障数为假设人为地植入的故障数为Ns,经过一段时间的测经过一段时间的测试之后发现试之后发现ns个植入的故障,同时还发现了个植入的故障,同时还发现了n个原有的个原有的故障,则可以估计出程序中原有的故障总数:故障,则可以估计出程序中原有的故障总数:ssNnnN 其中:其中: 是故障总数是故障总数ET的估计值;的估计值; N 植入错误法人为植入的错误与原有程序错误可植入错误法人为植入的错误与原有程序错误可能性质很不相同,发现它们的难度也不同,用此能性质很不相同,发现它们的难度也不同,用此法估计的错误数有时可能不太准确。法估计的错
7、误数有时可能不太准确。2) 分别测试法随机把程序中一部分原有错误加上分别测试法随机把程序中一部分原有错误加上标记,根据测试发现的有标记和无标记错误的比标记,根据测试发现的有标记和无标记错误的比例,估计程序错误总数。例,估计程序错误总数。 分别测试法使用两个测试员,独立地测试同一分别测试法使用两个测试员,独立地测试同一个程序的两个副本,由另一名分析员分析他们的个程序的两个副本,由另一名分析员分析他们的测试结果,把其中一个测试员发现的故障作为有测试结果,把其中一个测试员发现的故障作为有标记的故障。用标记的故障。用表示测试时间,假设表示测试时间,假设 = 0时故障总数为时故障总数为B0(即(即ET)
8、;); =1时测试员甲发现的故障数为时测试员甲发现的故障数为B1; =1时测试员乙发现的故障数为时测试员乙发现的故障数为B2; =1时两个测试员发现的相同故障数为时两个测试员发现的相同故障数为bc。 如果认为测试员甲发现的故障是有标记的,即如果认为测试员甲发现的故障是有标记的,即程序中有标记的故障总数为程序中有标记的故障总数为B1,那么测试员乙发那么测试员乙发现的现的B2个故障中有个故障中有bc个是有标记的。所以可以估个是有标记的。所以可以估计出测试前程序中的故障总数为:计出测试前程序中的故障总数为:120BbBBc其中,其中, 是故障总数是故障总数ET的估计值。的估计值。 每隔一定时间,分析
9、员分析两名测试员的测试每隔一定时间,分析员分析两名测试员的测试结果,来估计错误总数。几次估计结果差不多时,结果,来估计错误总数。几次估计结果差不多时,用其平均值作为错误总数的估计值。用其平均值作为错误总数的估计值。0B 一种预测软件可靠性和衡量软件质量的方法。一种预测软件可靠性和衡量软件质量的方法。 用测试完成率作为度量软件质量的标准。用测试完成率作为度量软件质量的标准。7.10 日立预测法日立预测法7.10.1 测试完成率模型测试完成率模型 50%100%测试时间测试时间使用率使用率第一第一阶段阶段第二第二阶段阶段第三第三阶段阶段100%测试用例完成率测试用例完成率测试用例完成率随测试时间变
10、化的测试用例完成率随测试时间变化的情况情况 日立的经验表明,完成软件测日立的经验表明,完成软件测试通常需要经历三个阶段,第一阶试通常需要经历三个阶段,第一阶段故障多,测试完成慢,第二阶段段故障多,测试完成慢,第二阶段测试完成率提高快,第三阶段错误测试完成率提高快,第三阶段错误难改正,完成率提高不快。难改正,完成率提高不快。 测试时间使用率测试所用时测试时间使用率测试所用时间间/测试允许使用时间。测试允许使用时间。50%100%测试时间测试时间使用率使用率第一第一阶段阶段第二第二阶段阶段第三第三阶段阶段100%测试用例完成率测试用例完成率测试用例完成率随测试时间变化的测试用例完成率随测试时间变化
11、的情况情况日立的经验表明:日立的经验表明:1)第一个阶段平均占总时)第一个阶段平均占总时间的间的22%;2)如果第一个阶段占用的)如果第一个阶段占用的时间超过总时间的时间超过总时间的55%以上时以上时,该项工程必然失败;,该项工程必然失败;3)成功的工程第一个阶)成功的工程第一个阶段占用的时间平均为总时段占用的时间平均为总时间的间的15%,失败的工程第,失败的工程第一个阶段占用的时间高达一个阶段占用的时间高达总时间的总时间的97%左右;左右;4)成功的工程第二阶段)成功的工程第二阶段占总时间的占总时间的57%左右,失左右,失败的工程第二个阶段只占败的工程第二个阶段只占总时间的总时间的29%左右
12、。左右。50%100%测试时间测试时间使用率使用率第一第一阶段阶段第二第二阶段阶段第三第三阶段阶段100%测试用例完成率测试用例完成率测试用例完成率随测试时间变化的测试用例完成率随测试时间变化的情况情况错误发现率:单位时间内发现的错误数。错误发现率:单位时间内发现的错误数。 峰值时间峰值时间成功的成功的工程工程失败的工失败的工程程极坏的工程极坏的工程时间时间错误发现错误发现率率错误发现率曲线错误发现率曲线7.10.2 错误发现率模型错误发现率模型7.10.3 使用日立预测法的步骤使用日立预测法的步骤 1)制订测试计划,设计测试方案,确定要完)制订测试计划,设计测试方案,确定要完成的测试用例的总
13、数;成的测试用例的总数;2)从集成测试开始,记录测试用例完成数和)从集成测试开始,记录测试用例完成数和错误发现数,绘制用例完成率曲线和错误错误发现数,绘制用例完成率曲线和错误发现率曲线;发现率曲线;3)绘制曲线时,实际的数据是一串离散的点,)绘制曲线时,实际的数据是一串离散的点,如果工程不大周期不长的话,连接这些点如果工程不大周期不长的话,连接这些点得不到平滑的曲线时,作平滑处理;得不到平滑的曲线时,作平滑处理;4)每周至少检查一次绘制的曲线,以判断处于)每周至少检查一次绘制的曲线,以判断处于哪个阶段,如果第二阶段的到来比计划时间哪个阶段,如果第二阶段的到来比计划时间推迟推迟25,就需要及时采
14、取措施补救;,就需要及时采取措施补救;5)严密注视错误发现率变化情况以确定其峰值,)严密注视错误发现率变化情况以确定其峰值,在错误发现率下降时,计算其斜率,如果大在错误发现率下降时,计算其斜率,如果大于于0.3就产生了严重的问题;就产生了严重的问题;6)每周至少检验一次,以修正上一周作出的阶)每周至少检验一次,以修正上一周作出的阶段性预测。段性预测。第第7章小结章小结 为做好集成测试和验收测试,需为如何组织测试制订实为做好集成测试和验收测试,需为如何组织测试制订实施计划。计划应包括测试的内容、进度、条件、人员、测施计划。计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的
15、偏差范围等。试用例的选取原则、测试结果允许的偏差范围等。 测试工作完成以后,应提交测试计划执行情况的说明,测试工作完成以后,应提交测试计划执行情况的说明,对测试结果加以分析,并提出测试的结论意见。对测试结果加以分析,并提出测试的结论意见。第第8章:维护章:维护 软件维护是软件生命周期的最后一个阶段。软件维护是软件生命周期的最后一个阶段。 它的任务是:维护软件的正常运行,不断改进它的任务是:维护软件的正常运行,不断改进软件的性能和质量,为软件的进一步推广应用和软件的性能和质量,为软件的进一步推广应用和更新替换做积极工作。更新替换做积极工作。 软件维护所需的工作量非常大,一般说来,软件维护所需的工
16、作量非常大,一般说来,大型软件的维护成本高达开发总成本的四倍大型软件的维护成本高达开发总成本的四倍左右。目前,软件开发组织把左右。目前,软件开发组织把60%以上的工以上的工作量用于维护自己的软件上。作量用于维护自己的软件上。问题:软件交付使用问题:软件交付使用 软件验收测试以后,就标志着软件设计软件验收测试以后,就标志着软件设计开发阶段的结束。开发阶段的结束。 而软件交付用户使用,才真正标志漫长而软件交付用户使用,才真正标志漫长的维护阶段的开始。的维护阶段的开始。 软件交付使用就是新系统和旧系统的转换。软件交付使用就是新系统和旧系统的转换。 旧系统可能是人工作业系统,也可能是某个旧旧系统可能是
17、人工作业系统,也可能是某个旧的计算机系统。的计算机系统。 软件交付应该是一个过程,而不是一个突然事软件交付应该是一个过程,而不是一个突然事件,软件的交付使用应尽可能平稳过渡,不影响件,软件的交付使用应尽可能平稳过渡,不影响生产或工作,新系统逐步安全地取代旧系统。生产或工作,新系统逐步安全地取代旧系统。一、软件交付使用的工作一、软件交付使用的工作1)将旧系统的数据转换到新系统(如数据库数)将旧系统的数据转换到新系统(如数据库数据);据);2)新系统调试完成并加载入机器,准备运行;)新系统调试完成并加载入机器,准备运行;3)将有关资料(如使用说明)转交给用户;)将有关资料(如使用说明)转交给用户;
18、4)对用户做适当的培训。)对用户做适当的培训。 二、软件交付使用的方式二、软件交付使用的方式 1)直接方式)直接方式 旧系统旧系统新系统新系统(a)直接方式直接方式 直接方式是用新系统直接替换旧系统,没有过渡。直接方式是用新系统直接替换旧系统,没有过渡。 优点:优点:。 缺点:缺点:。 由于新系统没有承担过实际工作,可能会出由于新系统没有承担过实际工作,可能会出现意想不到的问题,甚至出现程序设计错误。现意想不到的问题,甚至出现程序设计错误。 因此,实际应用时,采取一些措施,以便新因此,实际应用时,采取一些措施,以便新系统一旦出错,旧系统能够恢复运行。系统一旦出错,旧系统能够恢复运行。 直接方式
19、不适用于一些关系重大的系统。直接方式不适用于一些关系重大的系统。2)并行方式)并行方式 旧系统旧系统新系统新系统(b)并行方式并行方式 一些关系重大的软件产品在验收测试后,一些关系重大的软件产品在验收测试后,并不立即投入生产性运行,而是同时运行新系并不立即投入生产性运行,而是同时运行新系统和旧系统,以比较处理结果,这就是并行方统和旧系统,以比较处理结果,这就是并行方式。式。 : A. 可以对系统进行全面测试,减少了新系统失灵可以对系统进行全面测试,减少了新系统失灵带来的风险,因为旧系统也仍然存在;带来的风险,因为旧系统也仍然存在; B用户也能够有一段熟悉新系统的时间。用户也能够有一段熟悉新系统
20、的时间。: 所需费用较高,双系统要投入更多的人力财力。所需费用较高,双系统要投入更多的人力财力。3)逐步方式)逐步方式 逐步方式是将软件分期,部分地交付使用。逐步方式是将软件分期,部分地交付使用。这种方式克服了上面两种方式的缺点,既能防这种方式克服了上面两种方式的缺点,既能防止直接转换产生的危险性,又能减少并行方式止直接转换产生的危险性,又能减少并行方式的费用。的费用。 但是这种方法使得整个系统中一部分是旧系但是这种方法使得整个系统中一部分是旧系统,一部分是新系统,所以必须考虑好它们的统,一部分是新系统,所以必须考虑好它们的相互配合问题和接口问题。相互配合问题和接口问题。 实际应用中,常常是混
21、合以上几种方法。对实际应用中,常常是混合以上几种方法。对系统不重要的部分采用直接方式,对系统重要系统不重要的部分采用直接方式,对系统重要部分采用并行方式,使系统平稳交付使用。部分采用并行方式,使系统平稳交付使用。 通常要求进行软件维护的原因有三种:通常要求进行软件维护的原因有三种:1)改正在特定使用条件下暴露出来的一些潜在)改正在特定使用条件下暴露出来的一些潜在程序错误或设计缺陷;程序错误或设计缺陷;2)因在软件使用过程中数据环境发生变化(如)因在软件使用过程中数据环境发生变化(如所要处理的数据发生变化)或处理环境发生所要处理的数据发生变化)或处理环境发生变化(如硬件或软件操作系统等发生变化)
22、,变化(如硬件或软件操作系统等发生变化),需要修改软件,以适应这种变化;需要修改软件,以适应这种变化;8.1 软件维护的定义软件维护的定义 8.1.1 软件维护的原因软件维护的原因3)用户和数据处理人员在使用时常提出改进)用户和数据处理人员在使用时常提出改进现有功能、增加新功能、以及改善总体性现有功能、增加新功能、以及改善总体性能的要求,为满足这些要求,需要修改软能的要求,为满足这些要求,需要修改软件。件。1) 交付给用户使用的软件,即使通过严格的测交付给用户使用的软件,即使通过严格的测试,仍可能有一些潜在的错误在用户使用的过试,仍可能有一些潜在的错误在用户使用的过程中发现和修改。诊断和改正错
23、误的过程称为程中发现和修改。诊断和改正错误的过程称为改正性维护。改正性维护。8.1.2 软件维护的类型软件维护的类型2)适应性维护适应性维护 随着计算机的飞速发展,新的硬件系统和外随着计算机的飞速发展,新的硬件系统和外部设备时常更新和升级,一些数据库环境、数部设备时常更新和升级,一些数据库环境、数据输入据输入/输出方式、数据存储介质等也可能发生输出方式、数据存储介质等也可能发生变换。为了使软件适应这些环境变化而修改软变换。为了使软件适应这些环境变化而修改软件的过程叫做适应性维护。件的过程叫做适应性维护。3) 在软件投入使用过程中,用户可能还会有在软件投入使用过程中,用户可能还会有新的功能和性能
24、要求,可能会提出增加新功新的功能和性能要求,可能会提出增加新功能、修改现有功能等要求。为了满足这类要能、修改现有功能等要求。为了满足这类要求而进行的维护称为完善性维护。求而进行的维护称为完善性维护。4) 为了改进软件未来的可维护性或可靠性,或为了改进软件未来的可维护性或可靠性,或者为了给未来的改进奠定更好的基础而进行的者为了给未来的改进奠定更好的基础而进行的修改,称为预防性维护。修改,称为预防性维护。 这种维护活动在实践中比较少见。这种维护活动在实践中比较少见。 在各类维护中,完善性维护占软件维护工作的在各类维护中,完善性维护占软件维护工作的大部分。大部分。 根据国外的数据统计表明,完善性维护
25、占全部根据国外的数据统计表明,完善性维护占全部维护活动的维护活动的50%66%,改正性维护占,改正性维护占17%21%,适应性维护占,适应性维护占18%25%,其它维护活动,其它维护活动占占4%左右。左右。8.2.1 结构化维护与非结构化维护的差别结构化维护与非结构化维护的差别 1. 非结构化维护非结构化维护 软件配置的唯一成分是代码,维护从评价程序代码开始,软件配置的唯一成分是代码,维护从评价程序代码开始,对软件结构、数据结构、系统接口、设计约束等常产生误对软件结构、数据结构、系统接口、设计约束等常产生误解,不能进行回归测试,维护代价大。解,不能进行回归测试,维护代价大。 2. 结构化维护结
展开阅读全文