软件质量与质量保证 (2)幻灯片.ppt
《软件质量与质量保证 (2)幻灯片.ppt》由会员分享,可在线阅读,更多相关《软件质量与质量保证 (2)幻灯片.ppt(169页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件质量与质量保证软件质量与质量保证第1页,共169页,编辑于2022年,星期三参考资料参考资料n nRoger S.Pressman:Software Engineering-A Practitioners Approach fifth edition,McGraw-Hill Companies,Inc.2001 清华大学出版社清华大学出版社n n杨文龙,姚淑珍,吴芸:杨文龙,姚淑珍,吴芸:软件工程软件工程,电子工业出版社,电子工业出版社,1997年年第2页,共169页,编辑于2022年,星期三内容安排内容安排n n第六章第六章 软件质量与质量保证软件质量与质量保证n n第七章第七章 软件测
2、试软件测试n n第八章第八章 软件维护软件维护第3页,共169页,编辑于2022年,星期三内容安排内容安排n n第六章第六章 软件质量与质量保证软件质量与质量保证第一节第一节 软件质量软件质量第二节第二节 软件质量保证软件质量保证第三节第三节 技术方法和工具的选用技术方法和工具的选用第四节第四节 正式技术评审的实施正式技术评审的实施第五节第五节 标准的执行标准的执行第六节第六节 文挡及其修改的控制文挡及其修改的控制第七节第七节 度量度量第八节第八节 SQA小组的活动小组的活动第4页,共169页,编辑于2022年,星期三6.1 软件质量软件质量n n一、软件质量的定义一、软件质量的定义与明确确定
3、的功能和性能需求的与明确确定的功能和性能需求的一致性一致性与明确成文的开发标准的一致性与明确成文的开发标准的一致性与所有专业开发的软件所期望的与所有专业开发的软件所期望的隐含的特性的一致性隐含的特性的一致性第5页,共169页,编辑于2022年,星期三软件质量因素软件质量因素n n二、软件质量因素二、软件质量因素可直接度量的因素可直接度量的因素只能间接度量的因素只能间接度量的因素度量和量度度量和量度n n度量度量(Measurement)度量是对开发过程进行检测,以提高开发度量是对开发过程进行检测,以提高开发度量是对开发过程进行检测,以提高开发度量是对开发过程进行检测,以提高开发过程的质量和劳动
4、生产率过程的质量和劳动生产率过程的质量和劳动生产率过程的质量和劳动生产率n n量度量度(Metrics)量度是度量的结果或度量中一个项的抽象表示,量度是度量的结果或度量中一个项的抽象表示,量度是度量的结果或度量中一个项的抽象表示,量度是度量的结果或度量中一个项的抽象表示,做为评价质量和劳动生产率的基做为评价质量和劳动生产率的基做为评价质量和劳动生产率的基做为评价质量和劳动生产率的基础础础础第6页,共169页,编辑于2022年,星期三量度模型量度模型Boehm模型模型n nBoehm模型模型第7页,共169页,编辑于2022年,星期三量度模型量度模型McCall模型模型n nMcCall模型模型
5、第8页,共169页,编辑于2022年,星期三量度模型量度模型ISO模型模型n nISO模型模型第9页,共169页,编辑于2022年,星期三各因素间的影响各因素间的影响第10页,共169页,编辑于2022年,星期三6.2 软件质量保证软件质量保证n n一、质量保证策略一、质量保证策略以检测为重点以检测为重点以过程管理为重点以过程管理为重点以新产品开发为重点以新产品开发为重点第11页,共169页,编辑于2022年,星期三二、软件质量保证活动二、软件质量保证活动n n1 技术方法和工具的选用技术方法和工具的选用n n2 正式技术评审的实施正式技术评审的实施n n3 多层次软件测试多层次软件测试n n
6、4 标准的执行标准的执行n n5 文档及其修改的控制文档及其修改的控制n n6 度量和报告制度度量和报告制度n n7 记录和记录保存记录和记录保存n n8 SQA小组活动小组活动第12页,共169页,编辑于2022年,星期三6.3 技术方法及方法的选用技术方法及方法的选用n n一、采用或不采用软件工程方法一、采用或不采用软件工程方法软件工程从软件工程从软件工程从软件工程从19681968年提出至今,软件工程中许多年提出至今,软件工程中许多年提出至今,软件工程中许多年提出至今,软件工程中许多技术已变得成熟。软件工程知识体技术已变得成熟。软件工程知识体技术已变得成熟。软件工程知识体技术已变得成熟。
7、软件工程知识体(SWEBOK)(SWEBOK)已被已被已被已被定义,软件工程多个部分已有定义,软件工程多个部分已有定义,软件工程多个部分已有定义,软件工程多个部分已有ISOISO标准,较软件标准,较软件标准,较软件标准,较软件工程的发展趋势和新技术已初显端貌。工程的发展趋势和新技术已初显端貌。工程的发展趋势和新技术已初显端貌。工程的发展趋势和新技术已初显端貌。问题:是否真正掌握软件工程的实质问题:是否真正掌握软件工程的实质问题:是否真正掌握软件工程的实质问题:是否真正掌握软件工程的实质(运用系统的、规运用系统的、规运用系统的、规运用系统的、规范的和可定量的方法开发、运行和维护软件范的和可定量的
8、方法开发、运行和维护软件范的和可定量的方法开发、运行和维护软件范的和可定量的方法开发、运行和维护软件)?并在?并在?并在?并在实际工作中付诸实施!当然,软件工程也不是包医百实际工作中付诸实施!当然,软件工程也不是包医百实际工作中付诸实施!当然,软件工程也不是包医百实际工作中付诸实施!当然,软件工程也不是包医百病的灵丹妙药!目前的主要问题是许多软件企业不遵病的灵丹妙药!目前的主要问题是许多软件企业不遵病的灵丹妙药!目前的主要问题是许多软件企业不遵病的灵丹妙药!目前的主要问题是许多软件企业不遵循软件工程的思想操作。循软件工程的思想操作。循软件工程的思想操作。循软件工程的思想操作。第13页,共169
9、页,编辑于2022年,星期三二、开发过程的选用二、开发过程的选用n n1、瀑布模型、瀑布模型n n2、瀑布模型的改进与延伸、瀑布模型的改进与延伸(1)原型原型(2)螺旋模型螺旋模型(3)4GT(4)混合模型混合模型n n3、迭代、增量到统一的软件开发过程、迭代、增量到统一的软件开发过程n n4、形式化开发模型、形式化开发模型第14页,共169页,编辑于2022年,星期三1、瀑布模型、瀑布模型n n提出最早,这是一种系统的、分阶段的线性过程提出最早,这是一种系统的、分阶段的线性过程提出最早,这是一种系统的、分阶段的线性过程提出最早,这是一种系统的、分阶段的线性过程n n问题:问题:问题:问题:要
10、求需求一开始就提正确而且不变;要求需求一开始就提正确而且不变;要求需求一开始就提正确而且不变;要求需求一开始就提正确而且不变;开发人员相互等待导致开发工作的阻塞现象,尤其在开始和结束开发人员相互等待导致开发工作的阻塞现象,尤其在开始和结束开发人员相互等待导致开发工作的阻塞现象,尤其在开始和结束开发人员相互等待导致开发工作的阻塞现象,尤其在开始和结束阶段。阶段。阶段。阶段。n n在历史上起过重要作用,而且至今仍占有重要的位置。在历史上起过重要作用,而且至今仍占有重要的位置。在历史上起过重要作用,而且至今仍占有重要的位置。在历史上起过重要作用,而且至今仍占有重要的位置。n n它提供了一个模板,使得
11、分析、设计、编码、测试和它提供了一个模板,使得分析、设计、编码、测试和它提供了一个模板,使得分析、设计、编码、测试和它提供了一个模板,使得分析、设计、编码、测试和维护可在该模板指导下应用,仍然是软件工程中应用维护可在该模板指导下应用,仍然是软件工程中应用维护可在该模板指导下应用,仍然是软件工程中应用维护可在该模板指导下应用,仍然是软件工程中应用最泛的过程模型。最泛的过程模型。最泛的过程模型。最泛的过程模型。n n在科学和工程计算、实时控制及嵌入式系统中应用得在科学和工程计算、实时控制及嵌入式系统中应用得在科学和工程计算、实时控制及嵌入式系统中应用得在科学和工程计算、实时控制及嵌入式系统中应用得
12、很好。很好。很好。很好。第15页,共169页,编辑于2022年,星期三瀑布模型瀑布模型第16页,共169页,编辑于2022年,星期三2、瀑布模型的改进与延伸、瀑布模型的改进与延伸n n(1)原型原型原型开发确实是解决需求的不确定性和可变性原型开发确实是解决需求的不确定性和可变性提出的一种好办法。提出的一种好办法。原型分抛弃式原型、演化式原型和增量式原原型分抛弃式原型、演化式原型和增量式原型型n n抛弃式原型的最大用处是辅助分析和确定用户需求,抛弃式原型的最大用处是辅助分析和确定用户需求,抛弃式原型的最大用处是辅助分析和确定用户需求,抛弃式原型的最大用处是辅助分析和确定用户需求,及解决系统任何部
13、位的不确定性问题;及解决系统任何部位的不确定性问题;及解决系统任何部位的不确定性问题;及解决系统任何部位的不确定性问题;n n演化式原型可以作为一种开发方法,利用演化演化式原型可以作为一种开发方法,利用演化演化式原型可以作为一种开发方法,利用演化演化式原型可以作为一种开发方法,利用演化成为最终系统;成为最终系统;成为最终系统;成为最终系统;n n增量式原型开发可以作为瀑布模型开发的补充。增量式原型开发可以作为瀑布模型开发的补充。增量式原型开发可以作为瀑布模型开发的补充。增量式原型开发可以作为瀑布模型开发的补充。第17页,共169页,编辑于2022年,星期三原型原型第18页,共169页,编辑于2
14、022年,星期三瀑布模型的改进与延伸瀑布模型的改进与延伸n n(2)螺旋模型螺旋模型也是一个演化过程模型,综合了也是一个演化过程模型,综合了瀑布模型和原型的优点,成功与瀑布模型和原型的优点,成功与否很大程度上取决于风险分析技否很大程度上取决于风险分析技术术第19页,共169页,编辑于2022年,星期三螺旋模型螺旋模型第20页,共169页,编辑于2022年,星期三瀑布模型的改进与延伸瀑布模型的改进与延伸n n(3)4GT(3)4GT 其最大特点是拥有一组工具,每个工具都能使软件其最大特点是拥有一组工具,每个工具都能使软件其最大特点是拥有一组工具,每个工具都能使软件其最大特点是拥有一组工具,每个工
15、具都能使软件开发人员在高层次上定义软件的某些特性,并把开开发人员在高层次上定义软件的某些特性,并把开开发人员在高层次上定义软件的某些特性,并把开开发人员在高层次上定义软件的某些特性,并把开发人员定义的这些特性自动地生成源代码。所以,发人员定义的这些特性自动地生成源代码。所以,发人员定义的这些特性自动地生成源代码。所以,发人员定义的这些特性自动地生成源代码。所以,这种方法可以大大地减少软件开发的时间,目前主这种方法可以大大地减少软件开发的时间,目前主这种方法可以大大地减少软件开发的时间,目前主这种方法可以大大地减少软件开发的时间,目前主要用于事务处理应用程序。要用于事务处理应用程序。要用于事务处
16、理应用程序。要用于事务处理应用程序。4GT4GT实现成为产品以后,要进行彻底的测试,还实现成为产品以后,要进行彻底的测试,还实现成为产品以后,要进行彻底的测试,还实现成为产品以后,要进行彻底的测试,还需要数据库的支持。对于一些较大的应用程序,必需要数据库的支持。对于一些较大的应用程序,必需要数据库的支持。对于一些较大的应用程序,必需要数据库的支持。对于一些较大的应用程序,必须先制定出一个系统的策略,否则难以完成。须先制定出一个系统的策略,否则难以完成。须先制定出一个系统的策略,否则难以完成。须先制定出一个系统的策略,否则难以完成。必须指出的,使用必须指出的,使用必须指出的,使用必须指出的,使用
17、4GT4GT也会产生与瀑布模型开发软也会产生与瀑布模型开发软也会产生与瀑布模型开发软也会产生与瀑布模型开发软件所遇到的同样的问题。如果能与基于构件的开件所遇到的同样的问题。如果能与基于构件的开件所遇到的同样的问题。如果能与基于构件的开件所遇到的同样的问题。如果能与基于构件的开发方法结合起来,很可能将成为软件开发的一种发方法结合起来,很可能将成为软件开发的一种发方法结合起来,很可能将成为软件开发的一种发方法结合起来,很可能将成为软件开发的一种主流方法。主流方法。主流方法。主流方法。第21页,共169页,编辑于2022年,星期三4GT第22页,共169页,编辑于2022年,星期三瀑布模型的改进与延
18、伸瀑布模型的改进与延伸n n(4)混合模型混合模型目前软件企业一般都采用混合模型开发软件。目前软件企业一般都采用混合模型开发软件。它是把瀑布、原型、螺旋和它是把瀑布、原型、螺旋和4GT开发模式开发模式组合起来,它允许一个项目可以根据项目特组合起来,它允许一个项目可以根据项目特征和要求及企业自身的开发条件征和要求及企业自身的开发条件(技术的和管技术的和管理的理的)选择一条最有效的路径。选择一条最有效的路径。好处:给企业管理者和开发者提供了一个舞好处:给企业管理者和开发者提供了一个舞台,使每个模型的长处都得到发挥。但由此台,使每个模型的长处都得到发挥。但由此对企业管理和技术都提出了更高要求。对企业
19、管理和技术都提出了更高要求。第23页,共169页,编辑于2022年,星期三混合模型混合模型第24页,共169页,编辑于2022年,星期三3、迭代、增量到统一的开发过程、迭代、增量到统一的开发过程n n自从自从OO技术于技术于90年代逐步走年代逐步走向实用以后,才为真正的迭代、向实用以后,才为真正的迭代、增量到统一的开发过程奠定了增量到统一的开发过程奠定了坚实的技术和组织基础;也为坚实的技术和组织基础;也为重用技术和基于构件的开发提重用技术和基于构件的开发提供了条件。供了条件。第25页,共169页,编辑于2022年,星期三演化演化第26页,共169页,编辑于2022年,星期三迭代增量迭代增量第2
20、7页,共169页,编辑于2022年,星期三统一的软件开发过程统一的软件开发过程第28页,共169页,编辑于2022年,星期三基于构件的开发基于构件的开发第29页,共169页,编辑于2022年,星期三4、形式化开发模型、形式化开发模型n n能够借助一种严密的、数学的符号规格说明、开能够借助一种严密的、数学的符号规格说明、开发和验证一个基于计算机的系统发和验证一个基于计算机的系统n n好处:能够消除在使用其它软件工程模式中难以好处:能够消除在使用其它软件工程模式中难以克服的诸如二义性、不完整性和不一致性等问题,克服的诸如二义性、不完整性和不一致性等问题,不是通过专门安排的评审,而是通过数学分析的不
21、是通过专门安排的评审,而是通过数学分析的应用。应用。n n尽管,当前对于大型复杂的软件系统要进行完尽管,当前对于大型复杂的软件系统要进行完整的形式化开发,还不现实,也不可能。但用整的形式化开发,还不现实,也不可能。但用于大型复杂系统的一些关键部位,确实是一种于大型复杂系统的一些关键部位,确实是一种有效地实用策略有效地实用策略第30页,共169页,编辑于2022年,星期三开发过程总结开发过程总结n n软件开发过程的采用,主要决定于你开发的产软件开发过程的采用,主要决定于你开发的产品:品:不同的产品应有不同的过程,不能只从技术角度来评不同的产品应有不同的过程,不能只从技术角度来评不同的产品应有不同
22、的过程,不能只从技术角度来评不同的产品应有不同的过程,不能只从技术角度来评价它们的优劣!如一个科学、工程计算系统可用瀑布价它们的优劣!如一个科学、工程计算系统可用瀑布价它们的优劣!如一个科学、工程计算系统可用瀑布价它们的优劣!如一个科学、工程计算系统可用瀑布模型或形式化开发模型;一个事务处理系统可用原型模型或形式化开发模型;一个事务处理系统可用原型模型或形式化开发模型;一个事务处理系统可用原型模型或形式化开发模型;一个事务处理系统可用原型;而一个;而一个;而一个;而一个WebWeb站点的创建可用演化模型站点的创建可用演化模型站点的创建可用演化模型站点的创建可用演化模型n n本部分内容极为重要:
23、本部分内容极为重要:因为开发过程的不同,不仅对软件开发和维护的质因为开发过程的不同,不仅对软件开发和维护的质因为开发过程的不同,不仅对软件开发和维护的质因为开发过程的不同,不仅对软件开发和维护的质量和劳动生产率有重大影响,而且实现时所采用的量和劳动生产率有重大影响,而且实现时所采用的量和劳动生产率有重大影响,而且实现时所采用的量和劳动生产率有重大影响,而且实现时所采用的方法、语言和工具也不完全相同方法、语言和工具也不完全相同方法、语言和工具也不完全相同方法、语言和工具也不完全相同 反过来,讨论方法、语言和工具的对其质量和劳动反过来,讨论方法、语言和工具的对其质量和劳动反过来,讨论方法、语言和工
24、具的对其质量和劳动反过来,讨论方法、语言和工具的对其质量和劳动生产率的影响,也就没有依据了生产率的影响,也就没有依据了生产率的影响,也就没有依据了生产率的影响,也就没有依据了第31页,共169页,编辑于2022年,星期三三、开发方法、语言和工具的选用三、开发方法、语言和工具的选用n n开发方法开发方法提供了构造软件的技术提供了构造软件的技术n n语言语言用以支持软件的分析、设计和实用以支持软件的分析、设计和实现现n n工具工具为开发方法和语言提供自动化或为开发方法和语言提供自动化或半自动化的支持半自动化的支持n n什么样的软件开发过程就有什么样的什么样的软件开发过程就有什么样的方法、语言和工具
25、方法、语言和工具第32页,共169页,编辑于2022年,星期三(一一)开发方法开发方法n n结构化开发方法结构化开发方法n n面向对象(面向对象(OO)的开发方法)的开发方法n n形式化开发方法形式化开发方法第33页,共169页,编辑于2022年,星期三1、形式化开发方法、形式化开发方法n n在软件工程中研究的形式化开发方法,不是计算理论研究在软件工程中研究的形式化开发方法,不是计算理论研究在软件工程中研究的形式化开发方法,不是计算理论研究在软件工程中研究的形式化开发方法,不是计算理论研究中的中的中的中的“符号十抽象公理化符号十抽象公理化符号十抽象公理化符号十抽象公理化”的数学方法,这是由离散
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件质量与质量保证 2幻灯片 软件 质量 质量保证 幻灯片
限制150内