软件质量和测试的背景课件_第1页
软件质量和测试的背景课件_第2页
软件质量和测试的背景课件_第3页
软件质量和测试的背景课件_第4页
软件质量和测试的背景课件_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1第1章软件测试和软件质量的背景2内容提要1.1 软件特征与软件工程 1.1.1 软件分类 1.1.2 层次化软件工程

1.1.3 软件范型的转变 1.1.4 现代软件开发 1.2 软件质量 1.2.1 质量概念 1.2.2 质量运动 1.2.3 软件质量概念 1.2.4 软件质量评价体系与标准 思考 31.1 软件特征与软件工程要理解软件的含义并全面地理解软件工程,我们首先要明确软件的特征,并据此知道软件与人类建造的其它事物之间的区别。IEEE定义对软件的定义如下:软件是计算机程序、规程以及可能的相关文档和运行计算机系统需要的数据。软件包含计算机程序、规程、文档和软件系统运行所必需的数据四个部分。4软件具有与硬件完全不同的特征软件是开发产生的,而不是用传统方法制造。软件不会有像硬件一样的磨损。很多软件不能通过已有构件组装,只能自己定义。5硬件、软件失效曲线图(浴缸曲线)(锯齿曲线)结论:软件维护比硬件维护更复杂61.1.1 软件分类当前的计算机软件分为七个大类,使得软件工程正面临持续的挑战:系统软件应用软件Web应用软件工程和科学软件嵌入式软件产品线软件人工智能软件7新的挑战也逐渐显现出来普适计算网络资源开源软件新经济普适计算又称普存计算、普及计算(英文中叫做pervasivecomputing或者Ubiquitouscomputing)又称为环境智能,强调和环境融为一体的计算,而计算机本身则从人们的视线里消失。在普适计算的模式下,人们能够在任何时间、任何地点、以任何方式进行信息的获取与处理。核心理念是小型、便宜、网络化的处理设备广泛分布在日常生活的各个场所,计算设备将不只依赖命令行、图形界面进行人机交互,而更依赖“自然”的交互方式,计算设备的尺寸将缩小到毫米甚至纳米级。8新的挑战也逐渐显现出来普适计算网络资源开源软件新经济网络资源,是利用计算机系统通过通信设备传播和网络软件管理的信息资源。与传统的信息资源相比,网络信息资源在数量、结构、分布和传播的范围、载体形态、内涵传递手段等方面都显示出新的特点。存储数字化,传输网络化;表现形式多样化,内容丰富;数量巨大,增长迅速;传播速度快、范围广,具有交互性;结构复杂,分布广泛;信息源复杂、无序;动态不稳定性。9新的挑战也逐渐显现出来普适计算网络资源开源软件新经济开放源码软件《open-source》是一个新名词,它被定义为描述其源码可以被公众使用的软件,并且此软件的使用,修改和分发也不受许可证的限制。具有质量可靠、透明度高、客户控制软件等优点。互联网的普及,将原来分散开发人员聚合在一起,只要有一个合适的基础和好的框架,他们就可以开发出产品级的工具软件从而开源成为了一种趋势。10新的挑战也逐渐显现出来普适计算网络资源开源软件新经济

新经济是指在经济全球化背景下,信息技术(IT)革命以及由信息技术革命带动的、以高新科技产业为龙头的经济。新经济是信息化带来的经济文化成果。新经济之所以“新”,源于推动其产生与发展的原动力——信息、技术革命所具有的全新的革命意义。同以往的任何一次技术革命不同,信息技术革命改变的不是人类对自然资源的利用方式。111.1.2 层次化软件工程FritzBauer在NATO(北大西洋公约组织)会议上给出的定义仍是我们进一步展开讨论的基础:软件工程:是为了经济地获得可靠的和能在实际机器上高效运行的软件而建立和使用的好的工程原则。美国电气和电子工程师协会(InstituteofElectricalandElectronicsEngineers,IEEE)给出了一个更加综合的定义:软件工程:(1)将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。(2)(1)中所述方法的研究。12软件过程、软件方法和软件工具软件工程是一种层次化的技术,以质量保证为基础。着眼质量的理念促进过程改进,进而有更成熟的方法出现13软件工程的视图抛开要工程化的实体,我们必须先回答下列问题:要解决的问题是什么?明确问题要用于解决该问题的实体具有什么特点?需求如何实现该实体?其解决方案是怎样的?设计如何建造该实体?开发与实现采用什么方法去发现该实体设计和建造过程中产生的错误?质量监控当该实体的用户要求修改、适应和增强时,如何支持这些活动?使用与维护工程是对技术实体或社会实体的分析、设计、建造、验证和管理。14三个阶段我们可以把与软件工程相关的工作分为三个阶段,其中的每个阶段能够回答上述的一个或多个问题:定义阶段针对“做什么”系统或信息工程、软件项目计划、需求分析开发阶段针对“如何做”软件设计、代码生成、软件测试维护阶段针对“改变”

纠错、适应、增强、预防15保护性活动还有很多保护性活动用来补充说明在软件工程的一般视图中的各个阶段和相关步骤,这些典型的贯穿于整个软件过程中的活动包括:软件项目追踪和控制正式的技术复审软件质量保证软件配置管理文档的准备和产生可复用管理测试风险管理161.1.3 软件范型的转变软件范型(SoftwareParadigm):软件系统组织与结构设计的工程技术。既可以指软件系统静态的组织与结构模型,也可以指动态的软件系统开发与构造构成模型。李德毅院士:软件工程学科今后的走向是软件在网络环境下工作、软件工程向需求工程倾斜、软件结构用网络拓扑表示、问题的形式化向着本体描述发展、软件在演化中生长完善。正在进入面向服务的软件工程时代。17181.1.4 现代软件开发传统软件开发和现代软件开发(有区别:以软件危机为转折点)软件团队与软件开发人员的培养(微软)191.2 软件质量有些软件开发者仍然相信软件质量是在编码之后才应该开始担心的事情。这是荒谬的,因为软件质量保证(SoftwareQualityAssurance,SQA)是一种应用于整个软件过程的保护性活动,它包括:一种质量管理方法有效的软件工程技术(方法和工具)在整个软件过程中采用的正式技术复审一种多层次的测试策略对软件文档及其修改的控制保证软件遵从软件开发标准的规程度量和报告机制201.2.1 质量概念软件质量评价:效率第一转变为清晰第一我们应从以下几个方面考虑软件质量:软件结构方面内部结构清晰、易于阅读,界面友好、方便使用功能与性能方面可靠的工作,足够健壮开发标准与文档方面遵守开发准则,资料齐全三个方面相辅相成,但不同人从各自的要求出发,对软件质量标准常有不同的要求。如管理人员,用户,维护人员。不同类型的软件也会有不同的质量要求。如实时控制软件,MIS。质量的不同特性可能会矛盾。需要取舍和平衡。211.2.2 质量运动全面质量管理(TotalQualityManagement,TQM)一个组织以质量为中心,以全员参与为基础,目的在于通过让顾客满意、本组织所有成员及社会收益而达到永续经营的管理途径。全面质量管理通常都包括以下4个步骤:第1步是指一个连续的过程改进系统,其目标在于开发一个看的见的、可重复的和可度量的软件过程。第2步只第1步完成之后才可启动。这一步将检查影响过程的其它因素,并优化这些因素对过程的影响。例如,软件过程可能受到高层职员流动的影响,而该影响则是公司内部不断重组而引起的。一个稳定的公司组织会对软件质量的提高带来很大的帮助,所以第2步可以帮助管理者对公司重组方式提出建议。前面两个步骤关注的是过程,第3步(或称为“第五感觉”)则关注软件产品的用户,它是通过检查用户使用产品的方式,而导致产品本身的改进和潜在地改进产品的生产过程。第4步将管理者的注意从当前的产品上移开并拓宽。作为一个面向商业的步骤,该步骤通过观察产品的市场用途,来寻找产品在相关领域中的发展机会。在软件领域,第4步可以被视为一种发现有利可图的新产品,或视作寻找当前计算机系统的副产品用途的努力。22注意:大多数公司先要做好第一步。没有成熟的软件过程,后面步骤是无意义的。231.2.3 软件质量概念IEEE关于软件质量的定义:软件质量是系统、部件或者过程满足规定需求的程度。系统、部件或者过程满足顾客或者用户需要或期望的程度。该定义相对客观,强调了产品(或服务)和客户/社会需求的一致性。ANSI关于软件质量的定义:按照ANSI(AmericanNationalStandardsInstitute,美国国家标准学会)在1983年的标准陈述,软件质量定义为“与软件产品满足规定的和隐含的需求的能力有关的特征和特性的全体”。具体包括软件产品中能满足用户给定需求的全部特性的集合,软件具有所期望的各种属性组合的程度,用户主观得出的软件是否满足其综合期望的程度,决定所用软件在使用中将满足其综合期望程度的软件合成特性。强调了软件的特性和特征,与需求的吻合程度以及综合评价值246个主要特征我们把各类软件综合起来看,可以列出下列6个主要特征:功能性:软件实现的功能达到要求的和隐含的用户需求以及设计规范的程度,可靠性:软件在指定条件和特定时间段内维持性能的能力程度,易使用性:用户使用该软件所付出的学习精力,效率:在指定条件下,软件功能与所占用资源之间的比值,可维护性:当发现错误、运行环境改变或客户需求改变时,程序能修改的容易程度,可移植性:将软件从一种环境移入另一种环境的容易程度。25其他角度过程质量软件产品是如何生产出来的间接地推断软件质量,称为软件的过程质量,可以理解为一个活动序列、和与此相关的输入、输出、约束条件、实现方法、辅助工具等因素共同组成的系统。用户满意度软件的产品质量是最终的检验标准,而最终的检验者则是客户。261.2.4 软件质量评价体系与标准软件质量贯穿整个软件生存周期,涉及软件质量需求、软件质量度量、软件属性检测、软件质量管理技术和过程等。软件质量保证涉及整个软件开发过程,包括监视和改善过程、确保任何经过认可的标准与步骤均可遵循,并且保证问题被发现和被处理。IEEE给出软件质量保证的定义,软件质量保证(SQA)是:一种有计划的,系统化的行动模式,它是为项目或者产品符合己有技术需求提供充分信任所必需的。设计用来评价开发或者制造产品的过程的一组活动,与质量控制有区别。尽局限于开发过程及技术层面,缺少进度和预算有关的活动。软件质量控制很困难,如何进行质量评估很关键。271.2.4 软件质量评价体系与标准扩展定义:软件质量保证是一个有系统的,有计划的行动集合,它是为提供软件产品的软件开发过程与维护过程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论