软件工程十三章软件质量保证

来源:互联网 发布:sop8单片机的脚位介绍 编辑:程序博客网 时间:2024/06/05 06:15
13.1 软件质量
1. 软件质量含义:与软件产品满足 规定的、隐含的、需求的能力有关的特征或特性的全体
2.软件质量的标准:
功能与性能方面:软件能够按照既定的要求进行工作,与明确规定的功能和性能需求一致,软件要保证能够可靠的工作,合法的输入下正确运行,非法输入和意外事件可以安全处理
软件结构方面:要求软件结构内部清晰,方便软件人员阅读和理解,以及修改和维护
要求系统具有良好的人机交互,方便用户使用,在结构方面的保证就是软件质量定义中的隐含的内容
开发标准和文档方面:软件开发应该与明确成文的开发标准相一致,而且要遵循软件开发准则,软件文档资料也必须齐全
以上三个方面是相辅相成的,还必须指出:
1.不同的人对软件质量的要求不同:用户要求软件使用方便,执行效率高,维护人员要求软件文档资料清晰,齐全
2.不同软件系统,它的关键的特性有所不同,例如可移植性是某类软件系统的重要特性
3.质量的不同特性之间可能是矛盾的 执行效率和可靠性之间的矛盾
大型软件系统的质量应该从可靠性,易理解性、易维护性和效率等几个方面进行评价

软件质量保证:
软件质量保证(SQA)主要做好几个方面:
1.应用技术手段 2. 组织技术评审 3.加强软件测试 4 推行软件工程标准,5.控制软件变更 6.对软件质量进行度量(对软件质量进行跟踪,对软件质量情况及时记录和报告)

软件质量度量模型:
一、Boehm模型
第一次提出了软件质量的层次模型

McCall模型
提出包括软件质量要素、软件评价准则、软件质量 度量的三个层次的McCall软件质量度量模型

软件的质量因素定义:
1.正确性
2.可靠性:软件按设计要求提测,在规定时间和条件下不出故障、持续运行
3.效率:为了完成预定功能,软件系统所需的计算机资源的多少
4.完整性:为某一目的而保护的数据 ,避免它受到有意、偶然的破坏或遗失的能力
5.可使用性:用户学习、使用软件以及为程序准备输入和解释输出所需工作量的大小
6.可维护性:对一个已投入运行的软件进行相应诊断和修改所需工作量的大小
7.可测试性:测试软件以确保其能够执行预定功能所需工作量的大小
8.灵活性能:
9.可移植性
10.复用性
11 互联性
三、ISO质量度量模型(ISO:国家化标准组织)
ISO提出软件质量度量模型由三层组成:
1.高层是软件质量需求评价准则(SQRC) 对应McCALL中的质量因素 选用了8个质量因素
2.中层是软件质量设计评价准则(SQDC) 评价准则 选了23个评价准则
3.底层是软件质量度量评价准则(SQMC) 度量 可根据单位情况自定义
后来将以上三层更名为:质量特性、质量子特性、度量
高层质量降为6个:功能性、可靠性、可维护性、效率、可使用性、可移植性
中层子特性变为推荐使用21个
SQM技术:软件质量度量

四、软件工程管理
1.定义:软件工程管理是指对整个软件开发运行过程,包括分析、设计、编码、测试及维护各个阶段的一切活动进行有效的管理和控制
2.它主要包括开发人员、组织机构、用户、文档资料、计划进度、经费开支等方面的管理
软件经理职责:负责管理软件开发部门,在各项目间分配和协调各种资源
项目经理领导1-6个研发小组管理一个具体项目的各个方面:计划、进度、审查、复审
主程序员组
3 、软件控制
1.目的:保证软件开发可以能够按预定的时间表进行,必须对软件开发过程进行控制
控制类型:1.进度控制:项目进度的定制应在软件定义与分析阶段完成,制定完成后不可随意修改
2.人员控制 3.经费控制4.质量控制
4.文档资料管理
5.软件的产权
五、质量保证
软件质量保证措施:基于非执行的测试(也称为复审或评审),基于执行的测试(即以前讲过的软件测试)和程序正确性证明
ps:
1.基于非执行的测试(称为复审活评审)主要用来保证在编码之前的各阶段产生的文档的质量
2.基于执行的测试需要在程序编写出了之后进行,是保证软件质量的最后一道防线
3.程序正确性证明使用数学方法严格验证程序是否与对它的说明完全一致
Gantt图
描述计划进度的主要工具有:一般的表格工具、甘特图、PERT技术与CPM方法。
Gantt图也有3个主要缺点:
(1) 不能显式地描绘各项作业彼此间的依赖关系;
(2) 进度计划的关键部分不明确,难于判定哪些部分应当是主攻和主控的对象;
(3) 计划中有潜力的部分及潜力的大小不明确,往往造成潜力的浪费。
工程网络是制定进度计划时另一种常用的图形工具,它同样能描绘任务分解情况以及每项作业的开始时间和结束时间,此外,它还显式地描绘各个作业彼此间的依赖关系。因此,工程网络是系统分析和系统设计的强有力的工具
软件配置项:软件过程的输出信息可以分为3类: ①计算机程序(源代码和可执行程序); ②描述计算机程序的文档(供技术人员或用户使用); ③数据(程序内包含的或在程序外的)。 上述这些项组成了在软件过程中产生的全部信息,我们把它们统称为软件配置,而这些项就是软件配置项。
2. 基线:是一个软件配置管理概念,基线就是通过了正式复审的软件配置项。在软件配置项变成基线之前,可以迅速而非正式地修改它。一旦建立了基线之后,虽然仍然可以实现变化,但是,必须应用特定的、正式的过程(称为规程)来评估、实现和验证每个变化。
3.SW-CMM为每个软件组织建立和改善软件过程提供了一个阶梯式的过程成熟度框架,这一框架由5个成熟度等级构成。除初始级以外,其余的成熟度等级都包含了若干个关键过程区域,每个关键过程区域又包含了若干个关键实践,这些关键实践按照5个共同特点加以组织。
CMM将软件过程的成熟度分为5个级别(Maturity Levels) ,如图所示,5个等级分别是:
1、初始级(Initial)
2、可重复(Repeatable)
3、已定义级(Defined)
4、已管理级(Managed)
5、优化级(Optimizing)














原创粉丝点击