1、上海交通大学计算机系第十二讲 软件项目质量管理Date 1上海交通大学计算机系主要内容w 软件质量的重要性w 软件质量的描述w 质量度量w ISO9126w 软件质量度量方法w 软件质量改进Date 2上海交通大学计算机系软件质量的重要性w 尽管所有的商品或服务都存在质量问题,但是软件的特殊性,特别是其复杂性和不可见性,使其更为重要n 软件危险性的增加:企业越来越依赖软件n 软件的无形性:很难知道项目中的特定任务是否完全满足n 软件开发过程中错误积累Date 3上海交通大学计算机系软件质量w 对软件系统可以从三方面描述:n 描述系统如何工作的功能描述n 功能如何提供的质量描述n 花费在系统上的
2、资源描述w 问题:学院工资系统准备选用商品化软件。请定义选择原则?Date 4上海交通大学计算机系软件质量 /w 答案:n 对用户需求进行调查,以明确不同用户的不同需求集合n 将需求分成若干组,并定义质量和其它属性,如质量,可用性,效率,灵活性等n 某些需求具有绝对特性。例如,应用程序必须能够记录职员的最大条数。这种需求必须满足。n 某些需求具有相对特性。某些相对需求比其它需求更重要n 市场上调查一系列待选的软件。n 度量软件质量的方法需要确定n 某些软件的某些方面有不足,但是其它方面可能给以补偿,因而定义某些方法来完策划能够选择。Date 5上海交通大学计算机系软件质量w 软件质量可以包括:
3、n 运行质量w 正确性w 可靠性w 集成性w 可用性n 修改质量w 可维护性w 可测试性w 灵活性n 转换质量w 可移植性w 可重用性w 互操作性问题:请指出质量特性中哪些是无关的,互补的和冲突的?无关的:如可用性和可重用性互补的:如灵活性与可维护性冲突的:由于考虑了某一类型的平台可能效率高,但是移植性差Date 6上海交通大学计算机系软件质量w 质量要素需要转化成开发者可以意识到的内部准则。问题:同一准则出现在不同的质量要素中说明了什么?说明这些质量要素是互补的。Date 7上海交通大学计算机系质量度量w 对于每一准则,必须定义一个和多个度量标准来完成评估工作w 任何相对度量需要将度量的单元
4、与环境中发生的最大可能性相联系,例如程序中最大的错误数就需要和程序的大小相联系。w 在某些时候,我们可以直接度量质量,在另外一些时候,我们度量的是质量的表现。w 软件的使用者关注的是 质量因素 ,而开发者需要关注的是 质量准则 。Date 8上海交通大学计算机系质量度量w 为了度量,需要对每一质量规定:n 度量的单元n 测试的范围n 最差的可接受的值n 计划达到的值n 当前可达到的最佳的值n 目前的值w 问题:针对字处理系统,举出一个质量度量的例子。Date 9上海交通大学计算机系质量度量w 质量:易学习性w 定义:新手学会使用软件生成一份标准文档的时间w 度量的单元:小时w 测试:首先对新手进行调查以确定他们的字处理软件的使用经验,然后给他们一台机器,一套软件,训练手册和安装文档。然后测试他们学会生成一份文档的时间w 最差: 4小时w 计划: 2小时w 最好: 1小时w 目前: 4小时Date 10