软件质量
软件质量定义:概括地说,软件质量就是“软件与明确地和隐含地定义的需求相一致的程度”。
软件质量三个层次:
1,符合需求规格;
2,符合用户显示需求;
3,符合用户实际需求;
影响软件质量的因素:流程、技术、组织;
软件质量六大特性
功能性:在指定条件下使用时,软件产品提供满足明确和隐式需求的供能的能力;
可靠性:在指定条件下使用时,软件产品维持规定的性能级别的能力;
易用性:在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力;
效率:在指定条件下使用时,相对于所用的资源的数量,软件产品可提供适当性能的能力;
维护性:"四规", 在规定条件下,规定的时间内,使用规定的工具或方法修复规定功能的能力。修复包括修正、改进或软件对环境、需求和功能规格说明变化的适应;
可移植性:软件产品从一种环境迁移到另一种环境的能力;
SQA和SQC的区别:
SQA:审计过程的质量,保证过程被正确执行;是过程质量审计者;
SQC:检验产品的质量,保证产品符合客户的需求;是产品质量检查者;
CMM
CMM是指“能力成熟度模型”,其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM。
CMM是一种用于评价软件承包能力以改善软件质量的方法,侧重于软件开发过程的管理及工程能力的提高与评估。
分为五个等级:
一级为初始级:软件工程管理制度缺乏,过程缺乏定义、混乱无序。成功依靠的是个人的才能和经验,经常由于缺乏管理和计划导致时间、费用超支。管理方式属于反应式,主要用来应付危机。过程不可预测,难以重复。
二级为可重复级:基于类似项目中的经验,建立了基本的项目管理制度,采取了一定的措施控制费用和时间。管理人员可及时发现问题,采取措施。一定程度上可重复类似项目的软件开发。
二级关键过程:需求管理,项目计划,项目跟踪和监控,软件子合同管理,软件配置管理,软件质量保障。
三级为已定义级:已将软件过程文档化、标准化,可按需要改进开发过程,采用评审方法保证软件质量。可借助CASE工具提高质量和效率。
三级关键过程:组织过程定义,组织过程焦点,培训大纲,软件集成管理,软件产品工程,组织协调,专家审评。
四级为已管理级:针对制定质量、效率目标,并收集、测量相应指标。利用统计工具分析并采取改进措施。对软件过程和产品质量有定量的理解和控制。
四级关键过程:定量的软件过程管理和产品质量管理。
五级为优化级:基于统计质量和过程控制工具,持续改进软件过程。质量和效率稳步改进。
五级关键过程:缺陷预防,过程变更管理和技术变更管理。