软件工程——理论与实践教学课件 ppt 作者 吕云翔 王昕鹏 邱玉龙 第六章 软件工程的其他相关内容

上传人:E**** 文档编号:89487003 上传时间:2019-05-25 格式:PPTX 页数:118 大小:3.29MB
返回 下载 相关 举报
软件工程——理论与实践教学课件 ppt 作者  吕云翔 王昕鹏 邱玉龙 第六章 软件工程的其他相关内容_第1页
第1页 / 共118页
软件工程——理论与实践教学课件 ppt 作者  吕云翔 王昕鹏 邱玉龙 第六章 软件工程的其他相关内容_第2页
第2页 / 共118页
软件工程——理论与实践教学课件 ppt 作者  吕云翔 王昕鹏 邱玉龙 第六章 软件工程的其他相关内容_第3页
第3页 / 共118页
软件工程——理论与实践教学课件 ppt 作者  吕云翔 王昕鹏 邱玉龙 第六章 软件工程的其他相关内容_第4页
第4页 / 共118页
软件工程——理论与实践教学课件 ppt 作者  吕云翔 王昕鹏 邱玉龙 第六章 软件工程的其他相关内容_第5页
第5页 / 共118页
点击查看更多>>
资源描述

《软件工程——理论与实践教学课件 ppt 作者 吕云翔 王昕鹏 邱玉龙 第六章 软件工程的其他相关内容》由会员分享,可在线阅读,更多相关《软件工程——理论与实践教学课件 ppt 作者 吕云翔 王昕鹏 邱玉龙 第六章 软件工程的其他相关内容(118页珍藏版)》请在金锄头文库上搜索。

1、第六章 软件工程的其他相关内容,软件维护,软件质量保证,软件配置管理综述,软件估算,软件过程能力成熟度模型,6.1,6.2,6.3,6.4,6.5,软件工程概述-1/2,6.6,软件项目管理,软件文档,Project的功能及使用方法,用户手册编写指南,用户安装手册,小结,6.7,6.8,6.9,6.10,6.11,软件工程概述-2/2,6.1 软件维护,软件维护的过程 软件维护的分类 软件的可维护性 软件维护的副作用,软件维护,软件维护是软件产品生命周期的最后一个阶段 软件维护就是指在软件产品交付给用户之后,为了改正软件测试阶段未发现的缺陷,改进软件产品的性能,补充软件产品的新功能等,所进行的

2、修改软件的过程 进行软件维护通常需要软件维护人员与用户建立一种工作关系,使软件维护人员能够充分了解用户的需要,及时解决系统中存在的问题 软件维护是软件生命周期中延续时间最长、工作量最大的阶段 软件维护不仅工作量大、任务重,而且如果维护的不恰当,还会产生副作用,引入新的软件缺陷,进行维护工作要相当谨慎。,软件维护的过程,为了提高软件维护工作的效率和质量,降低维护成本,同时使软件维护过程工程化、标准化、科学化,在软件维护的过程中需要采用软件工程的原理、方法和技术 典型的软件维护过程,1.建立维护机构 对于大型的软件开发公司,建立独立的维护机构是非常必要的。维护机构中要有维护管理员、系统监督员、配置

3、管理员和具体的维护人员。对于一般的软件开发公司,虽然不需要专门建立一个维护机构,但是设立一个产品维护小组是必需的 2.用户提出维护申请并提交维护申请报告 当用户发现问题并需要解决时,首先应该向维护机构提交一份维护申请报告。申请报告中需要详细记录软件产品在使用过程中出现的问题,比如数据输入、系统反应、错误描述等。维护申请报告是维护人员研究问题和解决问题的基础,因此它的正确性、完整性是后续维护工作的关键,软件维护的过程,软件维护的过程,3.维护人员确认维护类型并实施相应的维护工作 软件维护有多种类型,对不同类型的维护工作所采取的具体措施也有所不同 维护人员根据用户提交的申请报告,对维护工作进行类型

4、划分,并确定每项维护工作的优先级,从而确定多项维护工作的顺序 在实施维护的过程中,需要完成多项技术性的工作,软件维护的过程,4.整理维护记录并对维护工作进行评审 为了方便后续的维护评价工作,以及对软件产品运行状况的评估,需要对维护工作进行简单的记录,软件维护的过程,4.整理维护记录并对维护工作进行评审(续) 维护的实施工作完成后,最好对维护工作进行评审。维护评审可以为软件开发机构的有效管理提供反馈信息,对以后的维护工作产生重要的影响。维护评审时评审人员应该对以下问题进行总结,软件维护的过程,5.对维护工作进行评价 当维护工作完成时,需要对维护工作完成的好坏进行评价。维护记录中的各种数据是维护评

5、价的重要参考。如果维护记录完成得全面、具体、准确,会在很大程度上方便维护的评价工作 可以参考的评价标准,软件维护的分类,根据维护工作特征以及维护目的不同分类,识别并纠正软件产品中所潜藏的错误,改正软件性能上的缺陷所进行的维护,使软件产品适应软硬件环境的变更而进行的维护,是软件维护的主要部分,它是针对用户对软件产品所提出的新需求所进行的维护,采用先进的软件工程方法对已经过时的、很可能需要维护的软件系统的某一部分进行重新设计、编码、测试,以达到结构上的更新,它为以后进一步维护软件打下了良好的基础,软件维护的分类,适应性 维护 25%,完善性 维护 50%,纠错性 维护 20%,预 防性 维护 5%

6、,软件的可维护性,软件的可维护性是用来衡量对软件产品进行维护难易程度的标准,它是软件质量的主要特征之一 软件产品的可维护性越高,纠正并修改其错误或缺陷,对其功能进行扩充或完善时,消耗的资源越少,工作越容易 开发可维护性高的软件产品是软件开发的一个重要目标 影响软件可维护性的因素有很多,如可理解性、可测试性、可修改性等,软件的可维护性,可理解性较好的软件产品,有利于测试人员设计合理的测试用例,从而提高了产品的可测试性和可修改性。 显然,可理解性、可测试性和可修改性越高的软件产品,它的可维护性就一定越好。,软件的可维护性,提高可维护性的措施,软件的可维护性,在需求分析阶段的评审中,应该重点标识将来

7、有可能更改或扩充的部分 在软件设计阶段的评审中,应该注重逻辑结构的清晰性,并且尽量使模块之间的功能独立 在编码阶段的评审中,要考查代码是否遵循了统一的编写标准,是否逻辑清晰、容易理解 严格的评审工作,可以从很大程度上对软件产品的质量进行控制,提高其可维护性,软件维护的副作用,软件维护是存在风险的 软件维护的副作用主要有三类,软件的可维护性,删除或修改一个子程序 删除或修改一个语句标号 删除或修改一个标识符 为改进性能所做的修改 修改文件的打开或关闭模式 修改运算符(逻辑运算符) 把对设计的修改转换成对代码的修改,修改边界条件的逻辑测试 重新定义局部变量或全局变量 重新定义记录格式或文件格式 更

8、改一个高级数据结构的规模 修改全局数据 重新初始化控制标志或指针 重新排列输入/输出或子程序的自变量,会产生副作用的数据修改,6.2 软件质量保证,软件质量的基本概念 软件质量保证的措施,软件质量的基本概念,ANSI/IEEE729-183把软件质量定义为“与软件产品满足规定的和隐含的需要的能力有关的特征或特性的组合” 高质量的软件产品意味着较高的用户满意度及较低的缺陷等级,它较好地满足了用户需求,具有高水平的可维护性和可靠性 ISO Standard 9126的定义:软件质量的特性包括功能性、可靠性、可用性、效率、可维护性和可移植性 McCall软件质量特性模型把与软件质量相关的多种特性划分

9、为运行、维护和移植3个方面,软件质量的基本概念,ISO Standard 9126定义的质量特性定义,软件质量的基本概念,McCall定义的质量特性模型,正确性 效率 可靠性 可用性 完整性,可维护性 可测试性 灵活性,可移植性 互连性 可复用性,软件质量的基本概念,McCall软件质量模型的每种特性定义(运行),软件质量的基本概念,McCall软件质量模型的每种特性定义(维护),软件质量的基本概念,McCall软件质量模型的每种特性定义(移植),软件质量保证的措施,1基于非执行的测试 非执行的测试是指不具体执行程序的测试工作,也称为软件评审,需要贯穿于整个软件开发过程。在项目开发前期制定开发

10、计划以及评审计划 在项目的阶段评审工作中,要保证评审工作的严格性和规范性(评审人员、评审记录) 软件评审的具体实施手段包括设计评审、审查、走查、个人评审等,软件质量保证的措施,2基于执行的测试 基于执行的测试是指通过具体地执行程序,观察实际输出和预期输出的差异,来发现软件产品错误的方法 软件开发人员通常使用一种或几种自动测试工具对系统进行测试,但手工测试也是必需的 测试人员可以使用黑盒测试或白盒测试的方法设计测试用例进行测试,软件测试有利于及早揭示软件缺陷,软件质量保证的措施,3程序的正确性证明 软件测试重要原则是:测试可以发现程序中的错误,但是不能证明程序中没有错误 软件测试并不能完全证明程

11、序的正确性和可靠性 人们已经研究出证明Pascal和LISP程序正确性的软件系统,正在对其进行完善和功能扩充,只适用于小型的软件系统,并不适合大规模的软件系统,6.3 软件配置管理概述,软件配置管理术语 配置管理的过程 配置管理的角色划分,软件配置管理术语,软件配置管理术语,软件配置管理术语,软件配置管理术语,设计态,受控态,测试态,运行态,维护,验证,交付,测试完毕,验证,设计/更动完毕,纠错,实线箭头所指方向的状态变化是允许的 虚线表示为了验证或检测某些功能或性能而重新执行相应的测试 正常情况下不沿虚线方向变化,软件配置管理术语,软件配置管理术语,配置管理的过程,配置管理的过程,1标识配置

12、项 所谓配置项是配置管理中的基本单元,每个配置项应该包含相应的基本配置管理的信息 标识配置项就是要给配置项取一个合适的名字,所有的软件产品都要进行配置项的标识,该标识符应该具有唯一性,并且要遵循特定的版本命名规律,以便于管理和追踪,配置管理的过程,2进行配置控制,配置管理的过程,3记录配置状态 记录配置状态目的是使配置管理的过程具有可追踪性 配置状态报告记录了软件开发过程中每一次配置变更的详细信息(配置项、改动内容、时间和改动人等) 配置状态报告是开发人员之间进行交流的重要工具,对项目的成功非常重要 4执行配置审计 配置审计是为了保证软件工作产品的一致性和完整性,从而保证最终软件版本产品发布的

13、正确性 软件配置管理贯穿整个软件开发过程,可以建立和维护在整个软件生命周期内软件产品的完整性,配置管理的角色划分,配置管理的角色划分(目标),配置管理的角色划分(目标),6.4 软件估算,软件估算的概念 软件估算的方法 软件估算的原则与技巧,软件估算的概念,软件项目估算是指以准确的调查资料和项目信息(如人员和设备信息)为依据,从估算对象的历史,现状及其规律性出发,运用科学的方法,对估算对象的规模,所需工作量和成本进行的测定 软件估算需要的文档有需求说明书、系统设计、对象设计和变更请求,估算的内容包括软件规模、工作量和进度 对于估算来说,大多数只是凭主观经验判断,难以做到10%以内的精确度,有的

14、甚至误差达几倍,尤其是估算人员经验不足或估算项目没有可参考凭借之时,软件估算的概念,软件项目估算是项目计划的依据,但是多数的软件开发组织没有意识到软件估算的重要性,软件估算的概念,估算既不要过高也不要过低,应该与实际费用尽可能接近 估算的目标是寻找估算与实际的交汇点 在软件企业中,有时估算人员会迫于领导的压力凭直觉压缩估算,往往导致估算误差增大,也给项目组成员造成更大压力 应该根据具体情况,制定不同的估算计划(估算对象说明、估算人员的角色和职责、估算的方法,估算的风险识别、工作量估算、估算活动进度安排),软件估算的方法,软件估算的概念,功能点(FP)估算法 功能点估算法是一种在需求分析阶段基于

15、系统功能的一种规模估算方法,也叫IBM方法 适用于面向数据库应用的项目早期的规模估算,基于初始应用需求(需求规格说明书),来确定各种输入、输出、计算和数据库需求的数量和特性获得功能点 功能点方法包括3个逻辑部分:未调整的功能点、加权因子和功能点,软件估算的概念,LOC估算法 代码行估算往往是依据经验和组织的历史数据进行估算,多采用PERT、Delphi、WBS、类比估算等方法 优点:计算方便、监控容易、反映程序员的思维能力 缺点:代码行数不能正确反映一项工作的难易程度以及代码的效率,而且编码一般只占系统开发工作量的10%左右,高水平的程序员常常能以短小精悍的代码解决问题 对于相同规模的软件,如

16、果只用代码行方法估算,程序员水平的改变将使估算结果失真。所以实际中,代码行估算只是作为一个辅助的估算方法,软件估算的概念,COCOMO估算法 COCOMO(构造性成本模型)是Boehm在软件工程经济学一书中提出的软件估算综合经验模型 适用软件项目类型,软件估算的概念,软件方程式估算法 软件方程式估算是一个多变量模型,它假定在软件开发项目的整个生命周期中的一个特定的工作量分布。公式基于大量的实际参考数据,准确度比较高 类比估算法 类比估算通过与历史项目比较,来估算新项目的规模或工作量 类比估算的精度一方面取决于项目与历史项目在应用领域、环境、复杂度等方面的相似程度,另一方面取决于历史数据的完整性和准确度 类比估算需要提前建立度量数据库,以及项目完成后的评价与分析机制,保证可信赖的历史数据分析,软件估算的概念,WBS估算法 工作任务分解是WBS方法的基础,以可交付成果为导向对项目要素进行细分,直至分解到可以确认的程度 WBS的三要素 使用这一方法有以下前提条件,软件估算的概念,Delphi估算法 Delphi估算法是一种专家评估法

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号