十二讲软件项目质量ppt课件_第1页
十二讲软件项目质量ppt课件_第2页
十二讲软件项目质量ppt课件_第3页
十二讲软件项目质量ppt课件_第4页
十二讲软件项目质量ppt课件_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、上海交通大学计算机系上海交通大学计算机系上海交通大学计算机系上海交通大学计算机系w软件质量的重要性软件质量的重要性w软件质量的描画软件质量的描画w质量度量质量度量wISO9126w软件质量度量方法软件质量度量方法w软件质量改良软件质量改良上海交通大学计算机系上海交通大学计算机系w虽然一切的商品或效力都存在质量问题,但是软虽然一切的商品或效力都存在质量问题,但是软件的特殊性,特别是其复杂性和不可见性,使其件的特殊性,特别是其复杂性和不可见性,使其更为重要更为重要w软件危险性的添加:企业越来越依赖软件软件危险性的添加:企业越来越依赖软件w软件的无形性:很难知道工程中的特定义务能否软件的无形性:很难

2、知道工程中的特定义务能否完全满足完全满足w软件开发过程中错误积累软件开发过程中错误积累上海交通大学计算机系上海交通大学计算机系w对软件系统可以从三方面描画:对软件系统可以从三方面描画:w描画系统如何任务的功能描画描画系统如何任务的功能描画w功能如何提供的质量描画功能如何提供的质量描画w破费在系统上的资源描画破费在系统上的资源描画w问题:学院工资系统预备选用商品化软件。请定问题:学院工资系统预备选用商品化软件。请定义选择原那么?义选择原那么?上海交通大学计算机系上海交通大学计算机系w答案:答案:w对用户需求进展调查,以明确不同用户的不同需求集合对用户需求进展调查,以明确不同用户的不同需求集合w将

3、需求分成假设干组,并定义质量和其它属性,如质量,将需求分成假设干组,并定义质量和其它属性,如质量,可用性,效率,灵敏性等可用性,效率,灵敏性等w某些需求具有绝对特性。例如,运用程序必需可以记录某些需求具有绝对特性。例如,运用程序必需可以记录职员的最大条数。这种需求必需满足。职员的最大条数。这种需求必需满足。w某些需求具有相对特性。某些相对需求比其它需求更重某些需求具有相对特性。某些相对需求比其它需求更重要要w市场上调查一系列待选的软件。市场上调查一系列待选的软件。w度量软件质量的方法需求确定度量软件质量的方法需求确定w某些软件的某些方面有缺乏,但是其它方面能够给以补某些软件的某些方面有缺乏,但

4、是其它方面能够给以补偿,因此定义某些方法来完谋划可以选择。偿,因此定义某些方法来完谋划可以选择。上海交通大学计算机系上海交通大学计算机系w软件质量可以包括:软件质量可以包括:w运转质量运转质量w正确性正确性w可靠性可靠性w集成性集成性w可用性可用性w修正质量修正质量w可维护性可维护性w可测试性可测试性w灵敏性灵敏性w转换质量转换质量w可移植性可移植性w可重用性可重用性w互操作性互操作性问题:请指出质量特性中哪些是无关的,互补的和抵触的?无关的:如可用性和可重用性互补的:如灵敏性与可维护性抵触的:由于思索了某一类型的平台能够效率高,但是移植性差上海交通大学计算机系上海交通大学计算机系w质量要素需

5、求转化成开发者可以认识到的内部准质量要素需求转化成开发者可以认识到的内部准那么。那么。问题:同一准那么出如今不同的质量要素中阐明了什么?阐明这些质量要素是互补的。上海交通大学计算机系上海交通大学计算机系w对于每一准那么,必需定义一个和多个度量规范对于每一准那么,必需定义一个和多个度量规范来完成评价任务来完成评价任务w任何相对度量需求将度量的单元与环境中发生的任何相对度量需求将度量的单元与环境中发生的最大能够性相联络,例如程序中最大的错误数就最大能够性相联络,例如程序中最大的错误数就需求和程序的大小相联络。需求和程序的大小相联络。w在某些时候,我们可以直接度量质量,在另外一在某些时候,我们可以直

6、接度量质量,在另外一些时候,我们度量的是质量的表现。些时候,我们度量的是质量的表现。w软件的运用者关注的是质量要素,而开发者需求软件的运用者关注的是质量要素,而开发者需求关注的是质量准那么。关注的是质量准那么。上海交通大学计算机系上海交通大学计算机系w为了度量,需求对每一质量规定:为了度量,需求对每一质量规定:w度量的单元度量的单元w测试的范围测试的范围w最差的可接受的值最差的可接受的值w方案到达的值方案到达的值w当前可到达的最正确的值当前可到达的最正确的值w目前的值目前的值w问题:针对字处置系统,举出一个质量度量的例问题:针对字处置系统,举出一个质量度量的例子。子。上海交通大学计算机系上海交

7、通大学计算机系w质量:易学习性质量:易学习性w定义:新手学会运用软件生成一份规范文档的时间定义:新手学会运用软件生成一份规范文档的时间w度量的单元:小时度量的单元:小时w测试:首先对新手进展调查以确定他们的字处置软件的测试:首先对新手进展调查以确定他们的字处置软件的运用阅历,然后给他们一台机器,一套软件,训练手册运用阅历,然后给他们一台机器,一套软件,训练手册和安装文档。然后测试他们学会生成一份文档的时间和安装文档。然后测试他们学会生成一份文档的时间w最差:最差:4 4小时小时w方案:方案:2 2小时小时w最好:最好:1 1小时小时w目前:目前:4 4小时小时上海交通大学计算机系上海交通大学计

8、算机系w为了产生一份质量描画文档,经常需求将质量准为了产生一份质量描画文档,经常需求将质量准那么进一步细分。例如可用性下面的易了解性,那么进一步细分。例如可用性下面的易了解性,可以分成:菜单构造的易了解性,特别是某项执可以分成:菜单构造的易了解性,特别是某项执行功能的命令要容易找到,其它方面还包括错误行功能的命令要容易找到,其它方面还包括错误音讯的提供,协助信息的提供等音讯的提供,协助信息的提供等上海交通大学计算机系上海交通大学计算机系w目前,不少人提出了不同的软件质量特性表示方目前,不少人提出了不同的软件质量特性表示方法。但是短少一个公共的规范。例如可维护性可法。但是短少一个公共的规范。例如

9、可维护性可以指错误可以迅速确定并被修正,也可以指软件以指错误可以迅速确定并被修正,也可以指软件可以很容易地被修正。可以很容易地被修正。w制定于制定于19911991年的年的ISO9126ISO9126规范就是处置软件质量规范就是处置软件质量问题的。这份问题的。这份1313页的规范为制定进一步的规范奠页的规范为制定进一步的规范奠定了根底。定了根底。上海交通大学计算机系上海交通大学计算机系wISO9126ISO9126规定软件质量可以从规定软件质量可以从6 6个特性来评价:个特性来评价:wFunctionality:Functionality:与一组功能及其指定的性质有关的一组与一组功能及其指定的

10、性质有关的一组属性属性wReliability:Reliability:在规定的时间和条件下,软件维持其性能在规定的时间和条件下,软件维持其性能程度的才干有关的一组属性程度的才干有关的一组属性wUsability:Usability:与一组规定或潜在用户为运用软件所需作的与一组规定或潜在用户为运用软件所需作的努力和对这样的运用所作的评价有关的一组属性努力和对这样的运用所作的评价有关的一组属性wEfficiency:Efficiency:在规定的条件下,软件性能程度与所用的资在规定的条件下,软件性能程度与所用的资源量之间关系相关的一组属性源量之间关系相关的一组属性wMaintainability

11、:Maintainability:与进展指定的修正所需的努力有关的与进展指定的修正所需的努力有关的一组属性一组属性wPortability:Portability:与软件可从某一环境转移到另一环境的才与软件可从某一环境转移到另一环境的才干有关的一组属性干有关的一组属性上海交通大学计算机系上海交通大学计算机系wISO9126ISO9126对每一特性规定了子特性对每一特性规定了子特性w功能特性:功能特性:wComplianceCompliance依从性指的是软件符合运用规范依从性指的是软件符合运用规范或法律的程度。或法律的程度。wInteroperabilityInteroperability互操

12、作性指的是软件与其互操作性指的是软件与其它系统交互的才干它系统交互的才干上海交通大学计算机系上海交通大学计算机系n可靠性可靠性nMaturityMaturity成熟性指的是由于软件产品的问题而呈成熟性指的是由于软件产品的问题而呈现缺点的频率现缺点的频率n可用性可用性上海交通大学计算机系上海交通大学计算机系n效率和可维护性效率和可维护性nStabilityStability稳定性不是指软件从不变化,而是指稳定性不是指软件从不变化,而是指软件由于料想不到的缘由而要修正的风险很低。软件由于料想不到的缘由而要修正的风险很低。n可移植性可移植性nConformanceConformance遵照性遵照性:

13、 :与与ComplianceCompliance依从性不依从性不一样,它与可移植性有关。例如运用规范的编程言语一样,它与可移植性有关。例如运用规范的编程言语就是一种遵照性。就是一种遵照性。上海交通大学计算机系上海交通大学计算机系wISO9126ISO9126也提供了运用这些质量特性的指南。也提供了运用这些质量特性的指南。w对于不同的产品,各种质量特性的重要程度是各对于不同的产品,各种质量特性的重要程度是各不一样的。一旦软件产品的需求建立起来后,就不一样的。一旦软件产品的需求建立起来后,就要进展以下步骤:要进展以下步骤:w质量度量规范的选择:质量度量规范的选择:ISO9126ISO9126没有给

14、出详细的没有给出详细的方法方法w排序程度定义:度量的结果需求映射成等级以确排序程度定义:度量的结果需求映射成等级以确定需求满足的程度。定需求满足的程度。上海交通大学计算机系上海交通大学计算机系w评价准那么定义评价准那么定义w对每一个特性进展评价后,需求对整个产品有一个综合的质对每一个特性进展评价后,需求对整个产品有一个综合的质量评价量评价wISO9126ISO9126没有给出详细的方法。没有给出详细的方法。w引荐方法:首先根据产品的特定确定必需的特性,假设产品引荐方法:首先根据产品的特定确定必需的特性,假设产品在这些特性方面没有满足,那么不能采用,对于那些不是最在这些特性方面没有满足,那么不能

15、采用,对于那些不是最为关键的特性可以采用下表的方法进展综合计算:为关键的特性可以采用下表的方法进展综合计算:上海交通大学计算机系上海交通大学计算机系w本节所讲的是某些质量特性的建议的度量方法,对于详细的产品,本节所讲的是某些质量特性的建议的度量方法,对于详细的产品,质量特性的度量各有不同。质量特性的度量各有不同。w可靠性可靠性wAvailabilityAvailability可用性:在一段时间内系统可用的时间比例可用性:在一段时间内系统可用的时间比例wMean time between failuresMean time between failuresMTBFMTBF: :两次失效间隔的平均

16、时间两次失效间隔的平均时间wFailure on demand: Failure on demand: 在需求用该系统的时间,系统不可任务的概在需求用该系统的时间,系统不可任务的概率,或者一项事务失败的概率率,或者一项事务失败的概率wSupport activity:Support activity:错误报告的次数错误报告的次数w某一系统安装后,普通在星期一到星期五中某一系统安装后,普通在星期一到星期五中8:008:00到到6 6:0000运用,四运用,四星期后,系统由于硬盘问题有一整天不可用。在接下来的另外两天星期后,系统由于硬盘问题有一整天不可用。在接下来的另外两天由于头天晚上的批处置运转

17、的问题每次直到早晨由于头天晚上的批处置运转的问题每次直到早晨1010点才干运用,请点才干运用,请计算计算AvailabilityAvailability和和MTBFMTBF。上海交通大学计算机系上海交通大学计算机系w可维护性可维护性w该特性与灵敏性严密关联。灵敏性是系统修正的该特性与灵敏性严密关联。灵敏性是系统修正的容易程度。可维护性可以用灵敏性加上可诊断性容易程度。可维护性可以用灵敏性加上可诊断性来度量。诊断性可以用诊断一个错误的平均时间来度量。诊断性可以用诊断一个错误的平均时间来度量。来度量。w可扩展性可扩展性w将新的特征加到现有系统中的效率占从头开场开将新的特征加到现有系统中的效率占从头

18、开场开发一个新系统的效率的比。发一个新系统的效率的比。w某公司开发一个包含某公司开发一个包含5000SLOC5000SLOC的系统破费了的系统破费了400400个人日。对系统添加一个新功能添加了个人日。对系统添加一个新功能添加了100SLOC100SLOC破费破费2020个人日,问扩展性为多少?个人日,问扩展性为多少?w4040上海交通大学计算机系上海交通大学计算机系w上述度量都是在产品出来后进展的,这种事后度量也许上述度量都是在产品出来后进展的,这种事后度量也许太晚了。太晚了。w在过程的各个阶段能够都会引入错误,这种错误将传送在过程的各个阶段能够都会引入错误,这种错误将传送到后续的阶段。因此

19、需求在过程进展中尽心仔细的检查。到后续的阶段。因此需求在过程进展中尽心仔细的检查。wEntry Requirements: Entry Requirements: 在活动开场前,需求预备好的条在活动开场前,需求预备好的条件。如在开场前,要预备好测试数据和等待结果。件。如在开场前,要预备好测试数据和等待结果。wImplementation Requirements:Implementation Requirements:过程如何进展。如在测过程如何进展。如在测试中,当发现一个错误并加以改良后,一切的测试必需试中,当发现一个错误并加以改良后,一切的测试必需重新进展。重新进展。wExit Requi

20、rements:Exit Requirements:在一个活动终了前必需满足的条件。在一个活动终了前必需满足的条件。例如测试阶段终了的条件是一切的错误都被更正并且不例如测试阶段终了的条件是一切的错误都被更正并且不可以再发现任何错误。可以再发现任何错误。w问题:在什么情况下,前面一个活动的终了条件不是后问题:在什么情况下,前面一个活动的终了条件不是后面一个活动的进入条件。面一个活动的进入条件。上海交通大学计算机系上海交通大学计算机系w答案:在某些场所,某一活动可以在它前面一个答案:在某些场所,某一活动可以在它前面一个活动完全终了前开场。在这种情况下,后面活动活动完全终了前开场。在这种情况下,后面

21、活动的进入条件可以与前面一个活动的退出条件不一的进入条件可以与前面一个活动的退出条件不一致。例如,某些软件模块的界面还没有最后调整致。例如,某些软件模块的界面还没有最后调整好前,就可以先在硬件平台上来测试性能。好前,就可以先在硬件平台上来测试性能。w问题:请为学院工资系统的代码编写活动确定进问题:请为学院工资系统的代码编写活动确定进入条件和退出条件?入条件和退出条件?上海交通大学计算机系上海交通大学计算机系wIncreasing visibilityIncreasing visibility添加可见性添加可见性: :例如例如“egoless programmingegoless program

22、ming编程员相互阅读对方代编程员相互阅读对方代码。码。wProcedure StructureProcedure Structure过程构造过程构造wChecking Intermediate StagesChecking Intermediate Stages检查中间环检查中间环节:将错误消灭在萌芽形状节:将错误消灭在萌芽形状上海交通大学计算机系上海交通大学计算机系wInspectionInspection检查检查: :w经过将完成的任务交付给多个协作者检查,然后经过将完成的任务交付给多个协作者检查,然后召开会议进展讨论如何修正。该方法可以:召开会议进展讨论如何修正。该方法可以:w很容易地

23、发现外表错误很容易地发现外表错误w鼓励编程人员编写出构造更好,更明晰地代码,鼓励编程人员编写出构造更好,更明晰地代码,由于他知道否那么别的人将会批判他由于他知道否那么别的人将会批判他w提高团队精神提高团队精神上海交通大学计算机系上海交通大学计算机系nIBMIBM建立了一套更为正式和构造化的检查过程,称为建立了一套更为正式和构造化的检查过程,称为FanganFangan检查检查n对一切主要的交付物都进展检查对一切主要的交付物都进展检查n一切的错误都需加以留意,而不只是逻辑的和功能的错误一切的错误都需加以留意,而不只是逻辑的和功能的错误n检查可以由在一切层次的人员除了最上层的人员外进展检检查可以由

24、在一切层次的人员除了最上层的人员外进展检查查n检查采用预定义的步骤进展检查采用预定义的步骤进展n检查会议不超越两小时检查会议不超越两小时n检查由一个经过训练的检查由一个经过训练的“moderatormoderator来指点来指点n其它参与者也有定义的角色,例如一个人员担任记录员,另一其它参与者也有定义的角色,例如一个人员担任记录员,另一担任阅读者等担任阅读者等n采用采用ChecklistChecklist来协助检查过程的施行来协助检查过程的施行n检查资料时采用检查资料时采用100100行一小时的速度行一小时的速度n采用统计方法来对检查过程的有效性进展监控采用统计方法来对检查过程的有效性进展监控

25、上海交通大学计算机系上海交通大学计算机系w在二十世纪在二十世纪6060年代,软件变得越来越复杂而人记忆细节的才干是有年代,软件变得越来越复杂而人记忆细节的才干是有限的。因此,不能够去对软件的一切部分进展完全测试。测试所能限的。因此,不能够去对软件的一切部分进展完全测试。测试所能做的是证明错误的呈现,而不是没有错误。做的是证明错误的呈现,而不是没有错误。DijkstraDijkstra建议保证软件建议保证软件代码正确性的独一方法是对代码重新审视。代码正确性的独一方法是对代码重新审视。w复杂系统可以分成子部件,为了使这种分解任务正常,每个部件必复杂系统可以分成子部件,为了使这种分解任务正常,每个部

26、件必需自包含,同时只需一个进入点和一个退出点。需自包含,同时只需一个进入点和一个退出点。w该观念进一步开展为该观念进一步开展为IBMIBM的净室软件开发,该方法将软件开发分为三的净室软件开发,该方法将软件开发分为三个小组:个小组:w分析小组分析小组w开发小组开发小组w校验小组校验小组w系统采用增量式方式开发,每个团队的产出都必需满足用户的需求。系统采用增量式方式开发,每个团队的产出都必需满足用户的需求。开发小组不进展编译而代之以用数学方法来证明。校验小组不时的开发小组不进展编译而代之以用数学方法来证明。校验小组不时的测试直到满足特定的统计程度。测试直到满足特定的统计程度。上海交通大学计算机系上

27、海交通大学计算机系w数学方法采用的是对每一个过程定义前提条件和数学方法采用的是对每一个过程定义前提条件和后置条件。后置条件。w前提条件定义了在处置前允许的形状,后置条件前提条件定义了在处置前允许的形状,后置条件定义了处置后的形状。由于数学方法是准确的,定义了处置后的形状。由于数学方法是准确的,因此可以保证其正确性。因此可以保证其正确性。上海交通大学计算机系上海交通大学计算机系w虽然测试方法和虽然测试方法和FaganFagan检查可以协助发现问题,检查可以协助发现问题,但是一样类型的错误还是一犯再犯。但是一样类型的错误还是一犯再犯。w经过发现错误的来源,应该可以减少一样的错误。经过发现错误的来源,应该可以减少一样的错误。w因此,开发人员可以在质量循环中参与错误来源因此,开发人员可以在质量循环中参与错误来源的查找,该过程称为软件质量循环的查找,该过程称为软件质量循环Software Software quality circles, SWQCquality circles, SWQC. .w质量循环由四个到十个自愿者构成,每个星期采质量循环由四个到十个自

温馨提示

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

评论

0/150

提交评论