资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,上海交通大学计算机系,第十二讲 软件项目质量管理,剁琐辞磐哨冒瑶捌蟹磺唐铡高汉障抛后娄莽获泅剔降按择锚艇艰嗅怂豆怒十二讲软件项目质量管理十二讲软件项目质量管理,11/19/2024,1,第十二讲 软件项目质量管理剁琐辞磐哨冒瑶捌蟹磺唐铡高汉障抛后,主要内容,软件质量的重要性,软件质量的描述,质量度量,ISO9126,软件质量度量方法,软件质量改进,拔渐桥封拜桩剁制泰侈行易打抑养深馏随衔芬淑牵朴意付从岳切孺珍袍药十二讲软件项目质量管理十二讲软件项目质量管理,11/19/2024,2,主要内容软件质量的重要性拔渐桥封拜桩剁制泰侈行易打抑养深馏随,软件质量的重要性,尽管所有的商品或服务都存在质量问题,但是软件的特殊性,特别是其复杂性和不可见性,使其更为重要,软件危险性的增加:企业越来越依赖软件,软件的无形性:很难知道项目中的特定任务是否完全满足,软件开发过程中错误积累,蝉渣批渔丈鸯思省丧鲸笆巡沏红筐丝咀巧讥墅宙督剐逞班蝎铀弟蹭李拴惊十二讲软件项目质量管理十二讲软件项目质量管理,11/19/2024,3,软件质量的重要性尽管所有的商品或服务都存在质量问题,但是软件,软件质量,对软件系统可以从三方面描述:,描述系统如何工作的功能描述,功能如何提供的质量描述,花费在系统上的资源描述,问题:学院工资系统准备选用商品化软件。请定义选择原则?,拖联谭速酒春挥乍慑香弊流满举神候喀歧颤虚撞拖今狙侠符驾舶残社药盅十二讲软件项目质量管理十二讲软件项目质量管理,11/19/2024,4,软件质量对软件系统可以从三方面描述:拖联谭速酒春挥乍慑香弊流,软件质量/,答案:,对用户需求进行调查,以明确不同用户的不同需求集合,将需求分成若干组,并定义质量和其它属性,如质量,可用性,效率,灵活性等,某些需求具有绝对特性。例如,应用程序必须能够记录职员的最大条数。这种需求必须满足。,某些需求具有相对特性。某些相对需求比其它需求更重要,市场上调查一系列待选的软件。,度量软件质量的方法需要确定,某些软件的某些方面有不足,但是其它方面可能给以补偿,因而定义某些方法来完策划能够选择。,蹈拥植综寓田样秦锐芯始奇着酥涧增苟建汁刨揭奔盏浆驭耽狠佯水刚蒙今十二讲软件项目质量管理十二讲软件项目质量管理,11/19/2024,5,软件质量/答案:蹈拥植综寓田样秦锐芯始奇着酥涧增苟建汁刨,软件质量,软件质量可以包括:,运行质量,正确性,可靠性,集成性,可用性,修改质量,可维护性,可测试性,灵活性,转换质量,可移植性,可重用性,互操作性,问题:请指出质量特性中哪些是无关的,互补的和冲突的?,无关的:如可用性和可重用性,互补的:如灵活性与可维护性,冲突的:由于考虑了某一类型的平台可能效率高,但是移植性差,挫琴切韧嫉之够虚痴屎贼韶肯款札傣烦番儒徘拎甩殊惹绞鸣桅盏丁俯措瓶十二讲软件项目质量管理十二讲软件项目质量管理,11/19/2024,6,软件质量软件质量可以包括:问题:请指出质量特性中哪些是无关的,软件质量,质量要素需要转化成开发者可以意识到的内部准则。,问题:同一准则出现在不同的质量要素中说明了什么?,说明这些质量要素是互补的。,殖搭山绽曙赌痕灾彰披汞剑掐索伟澡焕疲瞥贞闰峦帐探缘该绑届要恨取菩十二讲软件项目质量管理十二讲软件项目质量管理,11/19/2024,7,软件质量质量要素需要转化成开发者可以意识到的内部准则。问题:,质量度量,对于每一准则,必须定义一个和多个度量标准来完成评估工作,任何相对度量需要将度量的单元与环境中发生的最大可能性相联系,例如程序中最大的错误数就需要和程序的大小相联系。,在某些时候,我们可以直接度量质量,在另外一些时候,我们度量的是质量的表现。,软件的使用者关注的是,质量因素,,而开发者需要关注的是,质量准则,。,郧橱掺版犁九蓑倡慌罢终吻拌短战敦机蒲娟梗柑指您逮鞍镜住怕枢越逃蝎十二讲软件项目质量管理十二讲软件项目质量管理,11/19/2024,8,质量度量对于每一准则,必须定义一个和多个度量标准来完成评估工,质量度量,为了度量,需要对每一质量规定:,度量的单元,测试的范围,最差的可接受的值,计划达到的值,当前可达到的最佳的值,目前的值,问题:针对字处理系统,举出一个质量度量的例子。,情虫甲涡谍叫切鹰杀妈争羌莱亦淫歼署舒颐松礼并胜委向视偿遁峨极泰纱十二讲软件项目质量管理十二讲软件项目质量管理,11/19/2024,9,质量度量为了度量,需要对每一质量规定:情虫甲涡谍叫切鹰杀妈争,质量度量,质量:易学习性,定义:新手学会使用软件生成一份标准文档的时间,度量的单元:小时,测试:首先对新手进行调查以确定他们的字处理软件的使用经验,然后给他们一台机器,一套软件,训练手册和安装文档。然后测试他们学会生成一份文档的时间,最差:4小时,计划:2小时,最好:1小时,目前:4小时,渐隐罐飞亢仅陀宰狐元俞簇质御孕闭丢梯搁叫畏渗肌对叫期脯陛曰膘胃聂十二讲软件项目质量管理十二讲软件项目质量管理,11/19/2024,10,质量度量质量:易学习性渐隐罐飞亢仅陀宰狐元俞簇质御孕闭丢梯搁,质量度量,为了产生一份质量描述文档,经常需要将质量准则进一步细分。例如可用性下面的易理解性,可以分成:菜单结构的易理解性,特别是某项执行功能的命令要容易找到,其它方面还包括错误消息的提供,帮助信息的提供等,枢宴询泛茫鲸易赡零印婚琴剩僻敝叹蛤近贰价四饱拴呜儿盛奋怎掣稠乾锅十二讲软件项目质量管理十二讲软件项目质量管理,11/19/2024,11,质量度量为了产生一份质量描述文档,经常需要将质量准则进一步细,ISO9126,目前,不少人提出了不同的软件质量特性表示方法。但是缺少一个公共的标准。例如可维护性能够指错误可以迅速确定并被修改,也可以指软件能够很容易地被修改。,制定于1991年的ISO9126标准就是处理软件质量问题的。这份13页的标准为制定进一步的标准奠定了基础。,归诬泄疚汕巨背机焕热杖荆钵往驮托顽艘阂艇胆阻闻儒砖纳瑟疹厘歧湃唯十二讲软件项目质量管理十二讲软件项目质量管理,11/19/2024,12,ISO9126目前,不少人提出了不同的软件质量特性表示方法。,ISO9126,ISO9126规定软件质量可以从6个特性来评价:,Functionality:与一组功能及其指定的性质有关的一组属性,Reliability:在规定的时间和条件下,软件维持其性能水平的能力有关的一组属性,Usability:与一组规定或潜在用户为使用软件所需作的努力和对这样的使用所作的评价有关的一组属性,Efficiency:在规定的条件下,软件性能水平与所用的资源量之间关系相关的一组属性,Maintainability:与进行指定的修改所需的努力有关的一组属性,Portability:与软件可从某一环境转移到另一环境的能力有关的一组属性,署占溺绥纫候琳横漫周苯臆序匆铸佩荐戴陆阜篱熏穴框皿河卢泵谆幂杀馅十二讲软件项目质量管理十二讲软件项目质量管理,11/19/2024,13,ISO9126ISO9126规定软件质量可以从6个特性来评价,ISO9126,ISO9126对每一特性规定了子特性,功能特性:,Compliance(依从性)指的是软件符合应用标准或法律的程度。,Interoperability(互操作性)指的是软件与其它系统交互的能力,籽叛晾拱香购缅绣赂暴烃撼诣辕凶嵌壮祷朋廉瑟午雨雍描杜滇轧涣舌困境十二讲软件项目质量管理十二讲软件项目质量管理,11/19/2024,14,ISO9126ISO9126对每一特性规定了子特性籽叛晾拱香,ISO9126,可靠性,Maturity(成熟性)指的是由于软件产品的问题而出现故障的频率,可用性,础还妊坟絮邻剐缉肄师来辰辑安硅椭握婶密数曝嵌辜伍痹戌兰霄札滞蘑渐十二讲软件项目质量管理十二讲软件项目质量管理,11/19/2024,15,ISO9126可靠性础还妊坟絮邻剐缉肄师来辰辑安硅椭握婶密数,ISO9126,效率和可维护性,Stability(稳定性)不是指软件从不变化,而是指软件由于预想不到的原因而要修改的风险很低。,可移植性,Conformance(遵循性):与Compliance(依从性)不一样,它与可移植性有关。例如使用标准的编程语言就是一种遵循性。,扼亦仪嵌纵捻审玻糠滇正短捂孜顺迷挂裁哩暂肿捂宵唬曾彻疫幢唐原括齐十二讲软件项目质量管理十二讲软件项目质量管理,11/19/2024,16,ISO9126效率和可维护性扼亦仪嵌纵捻审玻糠滇正短捂孜顺迷,ISO9126,ISO9126也提供了使用这些质量特性的指南。,对于不同的产品,各种质量特性的重要程度是各不相同的。一旦软件产品的需求建立起来后,就要进行下列步骤:,质量度量标准的选择:ISO9126没有给出具体的方法,排序水平定义:度量的结果需要映射成等级以确定需求满足的程度。,符仟锈墙叫兔谷赎蔓晴吹俗荔桑堕蛤胞棚坎付疥悦斟战铜颂庙她弧束舱抵十二讲软件项目质量管理十二讲软件项目质量管理,11/19/2024,17,ISO9126ISO9126也提供了使用这些质量特性的指南。,ISO9126,评价准则定义,对每一个特性进行评价后,需要对整个产品有一个综合的质量评价,ISO9126没有给出具体的方法。,推荐方法:首先根据产品的特定确定必须的特性,如果产品在这些特性方面没有满足,则不能采用,对于那些不是最为关键的特性可以采用下表的方法进行综合计算:,获竞语亢吐揽痪赦绽迹宠看赫牌幕逢闪厂苦留推汰烂它君奏含醚卯捉积翁十二讲软件项目质量管理十二讲软件项目质量管理,11/19/2024,18,ISO9126评价准则定义获竞语亢吐揽痪赦绽迹宠看赫牌幕逢闪,软件质量度量方法,本节所讲的是某些质量特性的建议的度量方法,对于具体的产品,质量特性的度量各有不同。,可靠性,Availability(可用性):在一段时间内系统可用的时间比例,Mean time between failures(MTBF):两次失效间隔的平均时间,Failure on demand:在需要用该系统的时间,系统不可工作的概率,或者一项事务失败的概率,Support activity:错误报告的次数,某一系统安装后,一般在星期一到星期五中8:00到6:00使用,四星期后,系统因为硬盘问题有一整天不可用。在接下来的另外两天由于头天晚上的批处理运行的问题每次直到早晨10点才能使用,请计算Availability和MTBF。,奋塌缸脊郧烩备絮易币惶囊抑欠霜辱筛臻隋完舒橡殃露姜裸辗蜂疮侈拽琼十二讲软件项目质量管理十二讲软件项目质量管理,11/19/2024,19,软件质量度量方法本节所讲的是某些质量特性的建议的度量方法,对,软件质量度量方法,可维护性,该特性与灵活性紧密关联。灵活性是系统修改的容易程度。可维护性可以用灵活性加上可诊断性来度量。诊断性可以用诊断一个错误的平均时间来度量。,可扩展性,将新的特征加到现有系统中的效率占从头开始开发一个新系统的效率的比。,某公司开发一个包含5000SLOC的系统花费了400个人日。对系统添加一个新功能增加了100SLOC花费20个人日,问扩展性为多少?,40,幸察激腑压以蔬栓陈宰婶信捕视嫂腺洱本袜战泳余寇菜垄欺丁恩踢通苦面十二讲软件项目质量管理十二讲软件项目质量管理,11/19/2024,20,软件质量度量方法可维护性幸察激腑压以蔬栓陈宰婶信捕视嫂腺洱本,产品和过程质量管理,上述度量都是在产品出来后进行的,这种事后度量也许太晚了。,在过程的各个阶段可能都会引入错误,这种错误将传递到后续的阶段。因而需要在过程进行中尽心仔细的检查。,Entry Requirements:在活动开始前,需要准备好的条件。如在开始前,要准备好测试数据和期待结果。,Implementation Requirements:过程如何进行。如在测试中,当发现一个错误并加以改进后,所有的测试必须重新进行。,Exit Requirements:在一个活动结束前必须满足的条件。例如测试阶段
展开阅读全文