首页计算机计算机软件软件工程 13 第十三章 软件评价与管理.pptx

13 第十三章 软件评价与管理.pptx

页数:59页文件大小:229.5 KB来源: 软件工程ppt课件

本课件讲解软件质量的定义与质量保证活动,介绍Boehm、McCall与ISO三层质量度量模型,并展开软件工程管理的组织与人员因素、进度与经费控制,以及软件知识产权的法律保护。

第13章章节页,给出软件质量的定义并指出其是描述计算机软件优秀程度的特性组合
质量标准页,指出早期设计强调时间空间效率而今已开始形成较全面的软件质量评价
质量考虑页,说明软件应与明确规定的功能性能需求一致并能安全可靠地处理非法输入
查看本课件的文字版(共 59 页,供检索与复制)

第1页:第13章 软件评价与管理

第13章 软件评价与管理:第13章:软件评价与管理ANSI/IEEEStd729-1983定义的“软件质量”为:与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体。M.J.Fisher定义的“软件质量”为:所有描述计算机软件优秀程度的特性的组合。13.1软件质量

第2页:软件质量标准

软件质量标准:在计算机发展早期,计算机内存容量有限,运行速度慢,人们设计软件时特别强调时间、空间效率。现今对

第3页:功能与性能方面的质量

功能与性能方面的质量:一般说来,应从三个方面考虑软件质量:1)功能与性能方面软件应该能够按照既定的要求进行工作,与明确规定的功能和性能需求一致。软件要保证能够可靠的工作,合法的输入下正确运行,非法输入和意外事件可安全处理

第4页:软件结构方面的质量

软件结构方面的质量

  • 软件结构方面软件应该具备良好的结构
  • 要求系统内部结构清晰,易于软件人员阅读和理解,方便对软件的修改和维护
  • 要求系统具备良好的人机交互界面,方便用户使用。与明确规定的功能和性能要求相比,这些需求是隐含的,也是“软件质量”概念中所定义的

第5页:开发标准与文档方面

开发标准与文档方面:3)开发标准与文档方面软件开发应该与明确成文的开发标准相一致,而且要遵循一些软件开发准则,软件文档资料也必须齐全

第6页:质量要求的差异

质量要求的差异:以上三方面是相辅相成的,但还必须指出

  • 不同的人对软件质量的要求不同。用户要求软件使用方便,执行效率高;而维护人员要求软件文档资料清晰、完整
  • 不同的软件系统,它的关键特性有所不同。例如,可移植性是某类软件系统的重要特性,而对于另外一些系统却不是最重要的

第7页:质量特性之间的矛盾

质量特性之间的矛盾:C.质量的不同特性之间可能是矛盾的。例如,片面强调软件执行效率,设计出来的软件就可能结构复杂;追求良好的可靠性,就不一定能获得较高的运行速度

第8页:大型软件的质量评价

大型软件的质量评价:大型软件系统的质量应该从可靠性、易理解性、易维护性和效率等几个方面评价。具体开发时应使诸多的质量特性最大限度地满足

第9页:应用技术手段

应用技术手段:软件质量保证(SQA)主要做好几方面:1)应用技术手段软件质量保证活动开始于帮助分析员获得高质量的规格说明书,帮助设计员应用高效的技术方法和工具,并且始终贯穿整个开发过程。13.1.2软件质量保证

第10页:组织技术评审

组织技术评审:2)组织技术评审在软件开发过程的每个阶段结束后,都需要组织技术评审,可以及早发现软件开发过程中可能引起的潜在错误,并对质量进行评价

第11页:加强软件测试

加强软件测试:3)加强软件测试软件测试是软件质量保证的重要手段,可以发现软件中大多数隐蔽的错误

第12页:推行软件工程标准

推行软件工程标准:4)推行软件工程标准标准是由用户或委托单位确定的,有时是设计者自定的。一旦标准确定,就应该重视标准,并在软件开发中统一遵循。因此,可以将软件规范情况作为软件技术评审的一项内容

第13页:控制软件变更

控制软件变更:5)控制软件变更软件质量的一个主要威胁来自于对软件的修改和变更。在修改的过程中常常会引起一些新的潜在错误。因此,应严格控制软件的修改和变更

第14页:软件质量度量

软件质量度量:6)对软件质量进行度量软件质量保证的一个重要目标也是对软件质量进行跟踪,这就需要对软件质量进行度量,并对软件质量情况及时记录和报告

第15页:Boehm质量模型

Boehm质量模型:Boehm在1976年提出了定量评价软件质量的概念,并给出了60个质量度量公式,还第一次提出了软件质量的层次模型。可移植性可使用性可维护性可靠性效率环境工程可测试性可理解性可修改性设备独立性完善性准确性一致性设备效率可存取性通信性结构性自描述性简洁性易读性可扩充性图13.1Boehm模型一、Boehm模型13.2软件质量度量模型

第16页:McCall质量模型

McCall质量模型:McCall于1979年提出了包括软件质量要素、软件评价准则、软件质量度量的三个层次的McCall软件质量度量模型。产品修正产品转移互连性可移植性复用性可维护性可测试性灵活性正确性可靠性可使用性效率完整性图13.2M

第17页:面向三种用途的质量要素

面向三种用途的质量要素:这个模型提出了11个软件质量要素,22个软件属性(评价准则)。其中11个质量要素分别面向软件产品的运行、修正和转移等三个主要用途。产品修正产品转移互连性可移植性复用性可维护性可测试性灵活性正确性可靠性可使用性效率完整性图13.2McCall软件质量模型产品运行

第18页:正确性、可靠性与效率

正确性、可靠性与效率:软件的质量因素定义如下

  • 正确性:软件满足设计规格说明及用户预期目标的程度,它要求软件没有错误
  • 可靠性:软件按设计要求,在规定时间和条件下不出故障、持续运行的程度
  • 效率:为完成预定功能,软件系统所需的计算机资源的多少

第19页:完整性与可使用性等

完整性与可使用性等

  • 完整性:为某一目的而保护数据,避免它受到有意、偶然的破坏或遗失的能力
  • 可使用性:用户学习、使用软件以及为程序准备输入和解释输出所需工作量的大小
  • 可维护性:对一个已投入运行的软件进行相应诊断和修改所需工作量的大小
  • 可测试性:测试软件以确保其能够执行预定功能所需工作量的大小

第20页:灵活性与可移植性等

灵活性与可移植性等

  • 灵活性:修改或改进一个已投入运行的软件所需工作量的大小
  • 可移植性:将一个软件系统从一个计算机系统移植到另一个计算机系统或环境所需工作量的大小
  • 复用性:一个软件(或软件的部件)能再次用于其它应用的程度
  • 互连性:连接一个软件或其他系统所需工作量的大小

第21页:McCall质量度量模型

McCall质量度量模型:通常,对以上11个质量要素直接度量是困难的,因此McCall定义了一些评价准则,使用它们来估计软件质量要素的值。可训练性可操作性可跟踪性完整性容错性准确性一致性执行效率复杂性安全性工具性简明性可审计性可扩充性模块性自描述性简洁性通用性硬件独立性软件独立性通信共用性数据共用性可使用性正确性可靠性效率完整性可维护性灵活性可测试性可移植性复用性互连性产品运行产品修正产品转移图13.3McCall质量度量模型质量因素主要用途软件属性(评价准则)

第22页:ISO三层质量度量模型

ISO三层质量度量模型

  • ISO质量度量模型1985年,国际标准化组织(ISO)提出建议,软件质量度量模型由三层组成
  • 高层是软件质量需求评价准则(SQRC)
  • 中层是软件质量设计评价准则(SQDC)
  • 底层是软件质量度量评价准则(SQMC)

第23页:ISO与McCall模型的对应

ISO与McCall模型的对应:ISO的三层结构来源于McCall的模型,其高层、中层、底层分别与McCall模型的质量因素、评价准则、度量相对应。其中SQRC由8个质量因素组成,SQDC选用了23个评价准则

第24页:ISO质量度量模型图

ISO质量度量模型图:ISO认为,高层和中层应建立国际标准,以便在国际范围内推广应用SQM技术。而底层SQMC则可以由各使用单位根据实际情况制定。图13.4ISO建议的质量度量模型可跟踪性完整性一致性准确性容错性简洁性模块性通用性可扩充性工具性自描述性简明性执行效率存储效率存取控制存取审查可操作性可训练性通信性软件独立性硬件独立性通信共用性数据共用性正确性可靠性可维护性适应性效率安全性可用性连接性SQRCSQDCSQMC由各使用单位根据实际情况制定

第25页:ISO9126质量特性

ISO9126质量特性:1991年ISO发布的ISO/IEC9126质量特性国际标准中:SQRC(高层)改称为“质量特性”;SQDC(中层)称为“质量子特性”;SQMC(底层)称为“度量”

第26页:六个质量特性

六个质量特性

  • 功能性
  • 可靠性
  • 可维护性
  • 效率
  • 可使用性
  • 可移植性。中层子特性推荐使用21个

第27页:质量因素之间的影响

质量因素之间的影响:软件的各种质量因素之间相互存在有利和不利的影响,所以没有一种软件的设计能同时使所有的质量因素都是最佳的。在实际中,应根据软件的不同类型和不同要求,对不同的评价准则给出不同的权重

第28页:质量度量的发展趋势

质量度量的发展趋势:软件质量度量(SQM)技术,仍然处于发展和完善阶段。关于软件质量因素的选用,有面向用户的,有面向软件开发人员的,有面向管理人员的。根据ISO今年来讨论的趋势,逐渐向面向用户靠拢。因为,软件质量因素是在软件需求分析和定义阶段,由用户根据需要提出来的要求

第29页:软件工程管理

软件工程管理:软件工程管理就是指对整个软件开发运行过程,包括分析、设计、编码、测试及维护各个阶段的一切活动进行有效的管理和控制。它主要包括开发人员、组织机构、用户、文档资料、计划进度、经费开支等方面的管理

第30页:大型软件开发组织结构

大型软件开发组织结构:一、组织机构软件开发没有统一的模式,但是一个好的软件开发组织应该具有好的组织机构、合理的人员分工、有效的通讯。软件经理项目经理1项目经理2项目经理n程序小组程序小组程序小组程序小组程序小组程序小组……审查小组图13.5大型软件开发组织结构13.3.1组织机构与人员管理

第31页:软件经理与项目经理

软件经理与项目经理:在大型软件开发组织结构中,软件经理负责管理软件开发部门,在各个项目间分配和协调各种资源。项目经理领导1到6个程序小组,管理一个具体项目的各个方面(包括计划、进度、审查、复审等)。软件经理项目经理1项目经理2项目经理n程序小组程序小组程序小组程序小组程序小组程序小组……审查小组图13.5大型软件开发组织结构

第32页:程序小组与审查小组

程序小组与审查小组:每个程序小组负责项目的一部分开发工作。审查小组从事质量保证活动,在项目开发每个阶段结束之前进行技术审查和管理复审。软件经理项目经理1项目经理2项目经理n程序小组程序小组程序小组程序小组程序小组程序小组……审查小组图13.5大型软件开发组织结构

第33页:主程序员组

主程序员组:二、主程序员组主程序员组由IBM公司在70年代初期提出,它是一种程序小组的较为流行的组织形式。高级工程师(主程序员)后备工程师技术人员专家资料员辅助人员图

第34页:主程序员与技术人员

主程序员与技术人员:主程序员组中选用经验丰富、技术好的程序员担任主程序员。他负责主持计划、协调和复审该程序小组中的全部技术活动。技术人员一般由2到5人组成,负责软件分析和开发活动。后备工程师支持高级工程师(主程序员)的工作,必要时代替主程序员工作。高级工程师(主程序员)后备工程师技术人员专家资料员辅助人员图

第35页:专家与辅助人员

专家与辅助人员:根据应用的规模和类型,程序小组可能还需要临时或长期地增加一些具体领域的专家、辅助人员(初级程序设计员、秘书、打字员等)、资料管理员。高级工程师(主程序员)后备工程师技术人员专家资料员辅助人员图12.6主程序员组

第36页:用户因素

用户因素:三、用户用户是应用软件开发中一个重要的,不可忽视的因素。在软件开发过程中必须得到用户的密切配合与支持。项目负责人必须特别留意与用户保持联系,掌握用户的心理和动态,防止来自用户的一些干扰

第37页:来自用户的干扰

来自用户的干扰

  • 不配合。这种表现来自于对软件持怀疑态度或抵触心理的用户
  • 急于求成
  • 变化无常。这种表现来自于个别用户不假思索,不断改变原有的需求,提出新的要求和修改意见

第38页:进度控制

进度控制:为了保证软件开发能按预定的时间表进行,必须对软件开发过程加以控制:1)进度控制项目进度的制定应在软件定义与分析阶段完成,一旦制定,要严格执行,不要随意更改。13.3.2软件工程控制

第39页:人员控制

人员控制:2)人员控制人员的频繁变动或流动将会大大增加软件出错机会,因此要保证开发人员的稳定性。至少要保证软件项目每一期工程,或者软件生存周期每一阶段中人员的相对稳定性。还要努力调动每一个开发人员的积极性

第40页:经费与质量控制

经费与质量控制

  • 经费控制要编制详细的经费预算,并在各个阶段进行经费的核算,尽量避免预算超支
  • 质量控制认真抓好各个阶段的复审工作

第41页:文档资料管理

文档资料管理:软件工程管理很大程度上是通过对文档资料的管理来实现的。每个阶段的文档资料是对前面工作的总结和审核,又是后一阶段的工作基础。所以,应该建立一套完整的文档资料体系,描述和记录整个开发过程。文

第42页:软件产权

软件产权:软件产品的特殊性是:软件开发工作量大、周期长、投资高,然而软件复制却相当容易,而且复制费用很低。所以长期以来,软件产品的侵权行为非常严重,严重挫伤了人们开发软件的积极性

第43页:软件知识产权的法律保护

软件知识产权的法律保护:计算机软件是一种人类智力的创作成果,享有的经济权利和精神权利主要靠知识产权来保护

  • 版权法
  • 专利法
  • 商标法
  • 商业秘密法

第44页:版权法

版权法:1)版权法版权法主要保护对象是文字作品。计算机软件中的文档资料大部分是文字作品,源程序中的注释部分也是文字作品。如果将代码看作是特殊的文字,整个程序就是文字作品了。所以,版权法保护计算机软件

第45页:独创性要求

独创性要求:版权法要求受保护的软件产品具有独创性(也称为初创性、原创性),不能抄袭或复制他人的软件

第46页:专利法

专利法:2)专利法版权法保护的只是文字作品的表达形式,不保护作品中反映出的作者的构思、方案。软件产品的作者在软件构思上的工作是创造性劳动,类似于发明成果,可以使用专利法来保护

第47页:专利法的三个特性

专利法的三个特性:对软件产品的保护,专利法比版权法要求严格。它要求受保护的软件具有三个特性:新颖性、技术先进性、实用性。对于已经获得专利的软件,可以享受专利法和版权法所赋予的双重法律保护

第48页:商标法

商标法:3)商标法计算机软件兼有作品和产品的特征,所以也得到商标法的保护

第49页:商业秘密法

商业秘密法:4)商业秘密法无论采取哪种知识产权法的保护,对软件的一部分源程序始终受到商业秘密法的保护

第50页:许可合同与保密条款

许可合同与保密条款:一些软件的主要开发者在许可他人使用有关软件时,如果不愿意将源程序及有关文件中某些内容透露出去,就可以利用“许可合同”或“第三方保存源程序合同”等合同中制定的相应的保持商业秘密的条款来保护

第51页:软件著作权保护的基本条件

软件著作权保护的基本条件:一、软件著作权保护的基本条件《中华人民共和国著作权法》明确规定,计算机软件是它受保护客体中的一项。受保护的软件必须满足两个基本条件

第52页:原创性

原创性:1)必须是开发者独立开发的,即具有原创性著作权保护的主要形式和内容是在一定时间范围内,禁止他人未经软件权利人许可进行的复制或抄袭软件的行为。任何有复制或抄袭他人的软件不能获得著作权

第53页:固定在有形物体上

固定在有形物体上:2)在某种有形物体上如纸、磁带、磁盘等,通过这些有形物体能为人所感知、传播和复制

第54页:软件著作权保护范围

软件著作权保护范围:只要满足著作权法中基本条件的计算机软件(包括程序和文件),都受著作权保护。二、软件著作权保护范围注:尽管程序的目标代码是以二进制数码形式构成的,但是应该把它和源代码视为同一作品,因而也享有著作权保护

第55页:不受保护的思想与算法

不受保护的思想与算法:软件著作权保护的只是软件的表现,而不是软件的一切。例如,软件的程序代码受著作权保护,但软件开发过程中使用的任何思想、概念、发现、原理、算法、处理过程和运行方式都不受保护,可以被他人使用以制作功能相似的软件

第56页:著作权人的权利

著作权人的权利

  • 著作权人权利根据我国著作权法规定,作品著作权人(版权人)的专利权包括
  • 发表权
  • 署名权
  • 修改权
  • 保护作品完整权
  • 使用权和获得报酬权

第57页:精神权利

精神权利

  • 精神权利和经济权利一般说来,版权法授予著作权人的专有权利可以分为两个方面
  • 精神权利也称为非财产权利。发表权、署名权、保护作品完整权属于精神权利。许多国家的版权法都规定

第58页:经济权利

经济权利:2)经济权利也称财产权利,是指作者使用自己的作品以获得经济收益的专有权利,以及作者在社会大众使用自己的作品时取得报酬的权利。修改权、使用权和获得报酬权属于经济权利。经济权利可以转让给他人

第59页:结束页

结束页:ThankYou!TheEnd

顶部目录