最新十二讲软件项目质量ppt课件

上传人:汽*** 文档编号:569835626 上传时间:2024-07-31 格式:PPT 页数:32 大小:924KB
返回 下载 相关 举报
最新十二讲软件项目质量ppt课件_第1页
第1页 / 共32页
最新十二讲软件项目质量ppt课件_第2页
第2页 / 共32页
最新十二讲软件项目质量ppt课件_第3页
第3页 / 共32页
最新十二讲软件项目质量ppt课件_第4页
第4页 / 共32页
最新十二讲软件项目质量ppt课件_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《最新十二讲软件项目质量ppt课件》由会员分享,可在线阅读,更多相关《最新十二讲软件项目质量ppt课件(32页珍藏版)》请在金锄头文库上搜索。

1、十二讲软件项目质量管理十二讲软件项目质量管理上海交通大学计算机系上海交通大学计算机系主要内容主要内容w软件质量的重要性软件质量的重要性w软件质量的描述软件质量的描述w质量度量质量度量wISO9126w软件质量度量方法软件质量度量方法w软件质量改进软件质量改进7/31/20242上海交通大学计算机系上海交通大学计算机系上海交通大学计算机系上海交通大学计算机系上海交通大学计算机系上海交通大学计算机系上海交通大学计算机系上海交通大学计算机系上海交通大学计算机系上海交通大学计算机系上海交通大学计算机系上海交通大学计算机系上海交通大学计算机系上海交通大学计算机系质量度量质量度量w为了度量,需要对每一质量

2、规定:为了度量,需要对每一质量规定:n度量的单元度量的单元n测试的范围测试的范围n最差的可接受的值最差的可接受的值n计划达到的值计划达到的值n当前可达到的最佳的值当前可达到的最佳的值n目前的值目前的值w问题:针对字处理系统,举出一个质量度量的例问题:针对字处理系统,举出一个质量度量的例子。子。7/31/20249上海交通大学计算机系上海交通大学计算机系质量度量质量度量w质量:易学习性质量:易学习性w定义:新手学会使用软件生成一份标准文档的时间定义:新手学会使用软件生成一份标准文档的时间w度量的单元:小时度量的单元:小时w测试:首先对新手进行调查以确定他们的字处理软件的测试:首先对新手进行调查以

3、确定他们的字处理软件的使用经验,然后给他们一台机器,一套软件,训练手册使用经验,然后给他们一台机器,一套软件,训练手册和安装文档。然后测试他们学会生成一份文档的时间和安装文档。然后测试他们学会生成一份文档的时间w最差:最差:4 4小时小时w计划:计划:2 2小时小时w最好:最好:1 1小时小时w目前:目前:4 4小时小时7/31/202410上海交通大学计算机系上海交通大学计算机系质量度量质量度量w为了产生一份质量描述文档,经常需要将质量准为了产生一份质量描述文档,经常需要将质量准则进一步细分。例如可用性下面的易理解性,可则进一步细分。例如可用性下面的易理解性,可以分成:菜单结构的易理解性,特

4、别是某项执行以分成:菜单结构的易理解性,特别是某项执行功能的命令要容易找到,其它方面还包括错误消功能的命令要容易找到,其它方面还包括错误消息的提供,帮助信息的提供等息的提供,帮助信息的提供等7/31/202411上海交通大学计算机系上海交通大学计算机系ISO9126w目前,不少人提出了不同的软件质量特性表示方目前,不少人提出了不同的软件质量特性表示方法。但是缺少一个公共的标准。例如可维护性能法。但是缺少一个公共的标准。例如可维护性能够指错误可以迅速确定并被修改,也可以指软件够指错误可以迅速确定并被修改,也可以指软件能够很容易地被修改。能够很容易地被修改。w制定于制定于19911991年的年的I

5、SO9126ISO9126标准就是处理软件质量标准就是处理软件质量问题的。这份问题的。这份1313页的标准为制定进一步的标准奠页的标准为制定进一步的标准奠定了基础。定了基础。7/31/202412上海交通大学计算机系上海交通大学计算机系ISO9126wISO9126ISO9126规定软件质量可以从规定软件质量可以从6 6个特性来评价:个特性来评价:nFunctionality:Functionality:与一组功能及其指定的性质有关的一组属性与一组功能及其指定的性质有关的一组属性nReliability:Reliability:在规定的时间和条件下,软件维持其性能水平的能在规定的时间和条件下,

6、软件维持其性能水平的能力有关的一组属性力有关的一组属性nUsability:Usability:与一组规定或潜在用户为使用软件所需作的努力和对与一组规定或潜在用户为使用软件所需作的努力和对这样的使用所作的评价有关的一组属性这样的使用所作的评价有关的一组属性nEfficiency:Efficiency:在规定的条件下,软件性能水平与所用的资源量之在规定的条件下,软件性能水平与所用的资源量之间关系相关的一组属性间关系相关的一组属性nMaintainability:Maintainability:与进行指定的修改所需的努力有关的一组属性与进行指定的修改所需的努力有关的一组属性nPortability

7、:Portability:与软件可从某一环境转移到另一环境的能力有关的与软件可从某一环境转移到另一环境的能力有关的一组属性一组属性7/31/202413上海交通大学计算机系上海交通大学计算机系ISO9126wISO9126ISO9126对每一特性规定了子特性对每一特性规定了子特性n功能特性:功能特性:wCompliance(Compliance(依从性依从性) )指的是软件符合应用标准或法律的程度。指的是软件符合应用标准或法律的程度。wInteroperabilityInteroperability(互操作性)指的是软件与其它系统交互(互操作性)指的是软件与其它系统交互的能力的能力7/31/2

8、02414上海交通大学计算机系上海交通大学计算机系ISO9126n可靠性可靠性wMaturityMaturity(成熟性)指的是由于软件产品的问题而出现故障(成熟性)指的是由于软件产品的问题而出现故障的频率的频率n可用性可用性7/31/202415上海交通大学计算机系上海交通大学计算机系ISO9126n效率和可维护性效率和可维护性wStability(Stability(稳定性稳定性) )不是指软件从不变化,而是指软件由于不是指软件从不变化,而是指软件由于预想不到的原因而要修改的风险很低。预想不到的原因而要修改的风险很低。n可移植性可移植性wConformance(Conformance(遵循

9、性遵循性):):与与Compliance(Compliance(依从性依从性) )不一样,它与不一样,它与可移植性有关。例如使用标准的编程语言就是一种遵循性。可移植性有关。例如使用标准的编程语言就是一种遵循性。7/31/202416上海交通大学计算机系上海交通大学计算机系ISO9126wISO9126ISO9126也提供了使用这些质量特性的指南。也提供了使用这些质量特性的指南。n对于不同的产品,各种质量特性的重要程度是各不相对于不同的产品,各种质量特性的重要程度是各不相同的。一旦软件产品的需求建立起来后,就要进行下同的。一旦软件产品的需求建立起来后,就要进行下列步骤:列步骤:w质量度量标准的选

10、择:质量度量标准的选择:ISO9126ISO9126没有给出具体的方法没有给出具体的方法w排序水平定义:度量的结果需要映射成等级以确定需求满足排序水平定义:度量的结果需要映射成等级以确定需求满足的程度。的程度。7/31/202417上海交通大学计算机系上海交通大学计算机系ISO9126w评价准则定义评价准则定义n对每一个特性进行评价后,需要对整个产品有一个综合的质量对每一个特性进行评价后,需要对整个产品有一个综合的质量评价评价nISO9126ISO9126没有给出具体的方法。没有给出具体的方法。n推荐方法:首先根据产品的特定确定必须的特性,如果产品在推荐方法:首先根据产品的特定确定必须的特性,

11、如果产品在这些特性方面没有满足,则不能采用,对于那些不是最为关键这些特性方面没有满足,则不能采用,对于那些不是最为关键的特性可以采用下表的方法进行综合计算:的特性可以采用下表的方法进行综合计算:7/31/202418上海交通大学计算机系上海交通大学计算机系软件质量度量方法软件质量度量方法w本节所讲的是某些质量特性的建议的度量方法,对于具体的产品,本节所讲的是某些质量特性的建议的度量方法,对于具体的产品,质量特性的度量各有不同。质量特性的度量各有不同。w可靠性可靠性nAvailabilityAvailability(可用性):在一段时间内系统可用的时间比例(可用性):在一段时间内系统可用的时间比

12、例nMean time between failuresMean time between failures(MTBFMTBF): :两次失效间隔的平均时间两次失效间隔的平均时间nFailure on demand: Failure on demand: 在需要用该系统的时间,系统不可工作的概率,在需要用该系统的时间,系统不可工作的概率,或者一项事务失败的概率或者一项事务失败的概率nSupport activity:Support activity:错误报告的次数错误报告的次数w某一系统安装后,一般在星期一到星期五中某一系统安装后,一般在星期一到星期五中8:008:00到到6 6:0000使用

13、,四星使用,四星期后,系统因为硬盘问题有一整天不可用。在接下来的另外两天由期后,系统因为硬盘问题有一整天不可用。在接下来的另外两天由于头天晚上的批处理运行的问题每次直到早晨于头天晚上的批处理运行的问题每次直到早晨1010点才能使用,请计点才能使用,请计算算AvailabilityAvailability和和MTBFMTBF。7/31/202419上海交通大学计算机系上海交通大学计算机系软件质量度量方法软件质量度量方法w可维护性可维护性n该特性与灵活性紧密关联。灵活性是系统修改的容易该特性与灵活性紧密关联。灵活性是系统修改的容易程度。可维护性可以用灵活性加上可诊断性来度量。程度。可维护性可以用灵

14、活性加上可诊断性来度量。诊断性可以用诊断一个错误的平均时间来度量。诊断性可以用诊断一个错误的平均时间来度量。w可扩展性可扩展性n将新的特征加到现有系统中的效率占从头开始开发一将新的特征加到现有系统中的效率占从头开始开发一个新系统的效率的比。个新系统的效率的比。n某公司开发一个包含某公司开发一个包含5000SLOC5000SLOC的系统花费了的系统花费了400400个人个人日。对系统添加一个新功能增加了日。对系统添加一个新功能增加了100SLOC100SLOC花费花费2020个个人日,问扩展性为多少?人日,问扩展性为多少?n40407/31/202420上海交通大学计算机系上海交通大学计算机系产

15、品和过程质量管理产品和过程质量管理w上述度量都是在产品出来后进行的,这种事后度量也许上述度量都是在产品出来后进行的,这种事后度量也许太晚了。太晚了。w在过程的各个阶段可能都会引入错误,这种错误将传递在过程的各个阶段可能都会引入错误,这种错误将传递到后续的阶段。因而需要在过程进行中尽心仔细的检查。到后续的阶段。因而需要在过程进行中尽心仔细的检查。nEntry Requirements: Entry Requirements: 在活动开始前,需要准备好的条件。如在在活动开始前,需要准备好的条件。如在开始前,要准备好测试数据和期待结果。开始前,要准备好测试数据和期待结果。nImplementatio

16、n Requirements:Implementation Requirements:过程如何进行。如在测试中,当过程如何进行。如在测试中,当发现一个错误并加以改进后,所有的测试必须重新进行。发现一个错误并加以改进后,所有的测试必须重新进行。nExit Requirements:Exit Requirements:在一个活动结束前必须满足的条件。例如测在一个活动结束前必须满足的条件。例如测试阶段结束的条件是所有的错误都被更正并且不能够再发现任何试阶段结束的条件是所有的错误都被更正并且不能够再发现任何错误。错误。w问题:在什么情况下,前面一个活动的结束条件不是后问题:在什么情况下,前面一个活动的

17、结束条件不是后面一个活动的进入条件。面一个活动的进入条件。7/31/202421上海交通大学计算机系上海交通大学计算机系产品和过程质量管理产品和过程质量管理w答案:在某些场合,某一活动可以在它前面一个答案:在某些场合,某一活动可以在它前面一个活动完全结束前开始。在这种情况下,后面活动活动完全结束前开始。在这种情况下,后面活动的进入条件可以与前面一个活动的退出条件不一的进入条件可以与前面一个活动的退出条件不一致。例如,某些软件模块的界面还没有最后调整致。例如,某些软件模块的界面还没有最后调整好前,就可以先在硬件平台上来测试性能。好前,就可以先在硬件平台上来测试性能。w问题:请为学院工资系统的代码

18、编写活动确定进问题:请为学院工资系统的代码编写活动确定进入条件和退出条件?入条件和退出条件?7/31/202422上海交通大学计算机系上海交通大学计算机系提高软件质量的途径提高软件质量的途径wIncreasing visibility(Increasing visibility(增加可见性增加可见性):):例如例如“egoless programming”“egoless programming”编程员相互浏览对方编程员相互浏览对方代码。代码。wProcedure Structure(Procedure Structure(过程结构)过程结构)wChecking Intermediate St

19、ages(Checking Intermediate Stages(检查中间环节)检查中间环节):将错误消灭在萌芽状态:将错误消灭在萌芽状态7/31/202423上海交通大学计算机系上海交通大学计算机系提高软件质量的途径提高软件质量的途径wInspection(Inspection(检查检查):):n通过将完成的工作交付给多个合作者检查,然后召开通过将完成的工作交付给多个合作者检查,然后召开会议进行讨论如何修改。该方法可以:会议进行讨论如何修改。该方法可以:w很容易地发现表面错误很容易地发现表面错误w激励编程人员编写出结构更好,更清晰地代码,因为他知道激励编程人员编写出结构更好,更清晰地代码,

20、因为他知道否则别的人将会批评他否则别的人将会批评他w提高团队精神提高团队精神7/31/202424上海交通大学计算机系上海交通大学计算机系提高软件质量的途径提高软件质量的途径nIBMIBM建立了一套更为正式和结构化的检查过程,称为建立了一套更为正式和结构化的检查过程,称为FanganFangan检查检查w对所有主要的交付物都进行检查对所有主要的交付物都进行检查w所有的错误都需加以注意,而不仅是逻辑的和功能的错误所有的错误都需加以注意,而不仅是逻辑的和功能的错误w检查可以由在所有层次的人员(除了最上层的人员外)进行检查检查可以由在所有层次的人员(除了最上层的人员外)进行检查w检查采用预定义的步骤

21、进行检查采用预定义的步骤进行w检查会议不超过两小时检查会议不超过两小时w检查由一个经过训练的检查由一个经过训练的“moderator”“moderator”来领导来领导w其它参与者也有定义的角色,例如一个人员担任记录员,另一担任其它参与者也有定义的角色,例如一个人员担任记录员,另一担任阅读者等阅读者等w采用采用ChecklistChecklist来帮助检查过程的实施来帮助检查过程的实施w检查材料时采用检查材料时采用100100行一小时的速度行一小时的速度w采用统计方法来对检查过程的有效性进行监控采用统计方法来对检查过程的有效性进行监控7/31/202425上海交通大学计算机系上海交通大学计算机

22、系结构化编程和净室软件开发结构化编程和净室软件开发w在二十世纪在二十世纪6060年代,软件变得越来越复杂而人记忆细节的能力是有年代,软件变得越来越复杂而人记忆细节的能力是有限的。因此,不可能去对软件的所有部分进行完全测试。测试所能限的。因此,不可能去对软件的所有部分进行完全测试。测试所能做的是证明错误的出现,而不是没有错误。做的是证明错误的出现,而不是没有错误。DijkstraDijkstra建议保证软件建议保证软件代码正确性的唯一方法是对代码重新审视。代码正确性的唯一方法是对代码重新审视。w复杂系统可以分成子部件,为了使这种分解工作正常,每个部件必复杂系统可以分成子部件,为了使这种分解工作正

23、常,每个部件必须自包含,同时只有一个进入点和一个退出点。须自包含,同时只有一个进入点和一个退出点。w该观点进一步发展为该观点进一步发展为IBMIBM的净室软件开发,该方法将软件开发分为三的净室软件开发,该方法将软件开发分为三个小组:个小组:n分析小组分析小组n开发小组开发小组n校验小组校验小组n系统采用增量式方式开发,每个团队的产出都必须满足用户的需要。开系统采用增量式方式开发,每个团队的产出都必须满足用户的需要。开发小组不进行编译而代之以用数学方法来证明。校验小组不断的测试直发小组不进行编译而代之以用数学方法来证明。校验小组不断的测试直到满足特定的统计水平。到满足特定的统计水平。7/31/2

24、02426上海交通大学计算机系上海交通大学计算机系形式化方法形式化方法w数学方法采用的是对每一个过程定义前提条件和数学方法采用的是对每一个过程定义前提条件和后置条件。后置条件。w前提条件定义了在处理前允许的状态,后置条件前提条件定义了在处理前允许的状态,后置条件定义了处理后的状态。由于数学方法是精确的,定义了处理后的状态。由于数学方法是精确的,因此可以保证其正确性。因此可以保证其正确性。7/31/202427上海交通大学计算机系上海交通大学计算机系软件质量循环软件质量循环w尽管测试方法和尽管测试方法和FaganFagan检查能够帮助发现问题,检查能够帮助发现问题,但是相同类型的错误还是一犯再犯

25、。但是相同类型的错误还是一犯再犯。w通过发现错误的来源,应该可以减少相同的错误。通过发现错误的来源,应该可以减少相同的错误。w因而,开发人员可以在质量循环中参与错误来源因而,开发人员可以在质量循环中参与错误来源的查找,该过程称为软件质量循环(的查找,该过程称为软件质量循环(Software Software quality circles, SWQC).quality circles, SWQC).w质量循环由四个到十个自愿者构成,每个星期采质量循环由四个到十个自愿者构成,每个星期采用一定时间如一小时寻找、分析和处理他们工作用一定时间如一小时寻找、分析和处理他们工作中的问题。中的问题。7/31

26、/202428上海交通大学计算机系上海交通大学计算机系软件质量循环软件质量循环w识别一系列问题识别一系列问题w选择一个问题加以处理选择一个问题加以处理w将问题分析清楚将问题分析清楚w分析原因并加以评价分析原因并加以评价w分析解决方案并加以评价分析解决方案并加以评价w决定采用某一解决方案决定采用某一解决方案w开发一个实施计划开发一个实施计划w将计划交给管理部门将计划交给管理部门w实施计划实施计划w监控计划监控计划w考虑解决方案更广泛的应用考虑解决方案更广泛的应用w重新选择问题重新选择问题w问题:软件质量循环与一般的检查过程有何区别问题:软件质量循环与一般的检查过程有何区别w一个是面向所有过程,一

27、个是面向某一产品一个是面向所有过程,一个是面向某一产品7/31/202429上海交通大学计算机系上海交通大学计算机系GQM方法方法w过程改善可以采用定量测量技术来实现。过程改善可以采用定量测量技术来实现。wGQM(Goal/Question/Metric)GQM(Goal/Question/Metric)方法:方法:n首先需要定义一个目标,该目标可能是评估是否一个新的编程语首先需要定义一个目标,该目标可能是评估是否一个新的编程语言能够提高开发者的效率。言能够提高开发者的效率。n为了完成目标,可以提出许多问题,例如对于上述目标,问题可为了完成目标,可以提出许多问题,例如对于上述目标,问题可以为:

28、以为:w目前开发者编程的速度有多快?目前开发者编程的速度有多快?w开发者利用新的编程语言有多快?开发者利用新的编程语言有多快?w目前的软件质量如何?目前的软件质量如何?w利用新语言软件质量如何?利用新语言软件质量如何?n对每一个问题,可以定义度量方法,例如来度量开发速度可以根对每一个问题,可以定义度量方法,例如来度量开发速度可以根据开发每一功能点花费的时间来进行。据开发每一功能点花费的时间来进行。7/31/202430上海交通大学计算机系上海交通大学计算机系小结小结w软件质量的重要性软件质量的重要性w软件质量的描述软件质量的描述w质量度量质量度量wISO9126w软件质量度量方法软件质量度量方法w软件质量改进软件质量改进7/31/202431结束语结束语谢谢大家聆听!谢谢大家聆听!32

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号