软件工程软件维护方案教程文件_第1页
软件工程软件维护方案教程文件_第2页
软件工程软件维护方案教程文件_第3页
软件工程软件维护方案教程文件_第4页
软件工程软件维护方案教程文件_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

第九章软件维护第一页,共27页。9.1软件维护基础(jīchǔ)定义软件维护是在软件交付使用之后,为了改正错误或满足新的需求而修改软件的过程。这个概念中两个重要的关键词:一个是“修改”,维护就是修改软件;另一个是“过程”,过程暗喻不是单一的活动,是活动的集合和活动的有序组合(zǔhé),过程就需要管理。第二页,共27页。意义软件维护是软件生命周期的最后一个阶段(jiēduàn)。通过软件维护达到的目标是:使软件更好用、功能更强大、寿命更长远。对软件不实施维护就相当放弃软件的生存支持。软件维护是软件生命周期中时间最长、费用最高、越来越难的活动。软件维护技术不像开发技术那样成熟和规范,消耗的工作量比较多,其工作量占整个生存周期的70%以上。第三页,共27页。9.2软件维护的类型(lèixíng)软件维护的类型维护类别的意义(yìyì):一方面用于决策层的维护决策;另一方面可划分责任界限。软件维护主要三类是:纠错性维护(CorrectiveMaintenance)、适应性维护(AdaptiveMaintenance)、改善性维护(PerfectiveMaintenance)预防性维护。第四页,共27页。纠错性维护:是在软件交付后,纠正哪些在运行中发现的残留错误,也称改正性维护。适应性维护:为适应软件运行环境(软件生态环境)的变化而修改软件的活动。改善性维护:根据(gēnjù)用户在软件使用过程中提出的建设性意见(需求变化)而进行的维护活动。纠错性维护对开发方是无条件的维护。适应性和改善性维护需要供需双方协商解决第五页,共27页。9.2软件维护的类型(lèixíng)大部分维护工作是改变和加强软件,而不是纠错。改正性维护占全部维护量的比率已从80年代初的20%大幅度下降,90年代初一些公司(ɡōnɡsī)的产品差错率已接近于零。其它维护5%适应性维护

25%改正性维护20%扩充与完善性维护

50%第六页,共27页。9.3软件(ruǎnjiàn)可维护性软件维护的困难维护的副作用就是指由于维护或在维护过程中其他一些不期望的行为引入的错误。引起副作用的维护修改可分三类:代码副作用;数据副作用;文档副作用。维护的困难1)现场维护人员(rényuán)的压力很大。2)维护人员(rényuán)不知所措,不知怎样进行修改。3)维护人员(rényuán)理解别人的程序非常困难。4)由于维护阶段持续时间很长,造成了维护的困难。5)维护人员(rényuán)更为困惑的是,有的软件的错误不是程序本身的问题,可能是分析和设计的缺陷。第七页,共27页。9.3软件(ruǎnjiàn)可维护性理解代码功能理解?修改代码测试复审理解设计方案规划修改设计修改代码测试复审交付使用开始开始交付使用结构化维护(wéihù)与非结构化维护(wéihù)的区别第八页,共27页。9.3软件(ruǎnjiàn)可维护性非结构维护(wéihù)的问题具有如下特点的维护(wéihù)属于非结构化维护(wéihù):软件的配置中只有源代码。由于没有分析和设计文档,无法对程序的功能进行反向追踪,理解别人的代码是很痛苦的事情。由于配置中没有测试文档,所以维护(wéihù)后的代码无法进行回归测试。因而导致程序的结构化被不断的破坏,维护(wéihù)的质量无法得到保证。第九页,共27页。9.3软件(ruǎnjiàn)可维护性结构化维护是真正的维护结构化维护具有下列特点:待维护的软件的配置是完整的。用户提出(tíchū)的维护申请用正向追踪很容易从分析设计文档追踪直至代码中,从而使维护人员很容易定位代码的维护点。所以这种维护不会破坏软件的结构。结构化维护不仅能减少维护的工作量,还能提高维护的质量。第十页,共27页。9.4软件维护的实施(shíshī)维护(wéihù)的组织与流程维护(wéihù)组织内的角色一般由维护(wéihù)员,维护(wéihù)管理员,系统管理员,决策机构,配置管理员组成。系统管理员维护管理员维护员配置管理员维护申请单维护决策机构组织内角色间协调(xiétiáo)关系图第十一页,共27页。9.4软件维护的实施(shíshī)实施过程(guòchéng)①用户的维护请求;②将请求交给系统管理员;③并提交给决策机构进行;④通知配置管理员进行配置登记;⑤组织维护员执行该次维护;⑥提交维护结果及审核报告;第十二页,共27页。9.4软件维护的实施(shíshī)维护实施的工作内容用户的维护请求激发了一次维护活动,用户将维护申请提交给维护管理员;维护管理员将该维护请求交给系统管理员对维护活动可能引起的软件修改进行评估,并将评估结果反馈给维护管理员;维护管理员按照维护请求单制定软件修改报告单并提交给修改决策机构进行维护决策。修改决策机构根据情况决定采取的行动(拒绝请求还是接收请求),并把结果反馈给维护管理员;如果允许维护,维护管理员将通知(tōngzhī)维护员执行该次维护,同时通知(tōngzhī)配置管理员准备相关文档。维护管理员将通知(tōngzhī)并组织维护员执行该次维护;维护的内容要从配置管理员处获取并提交维护结果,一次维护过程结束要提交审核报告。第十三页,共27页。9.4软件维护的实施(shíshī)第十四页,共27页。9.4软件维护的实施(shíshī)维护(wéihù)报告用户提出维护申请(shēnqǐng)变更性:MRF(MaintenanceRequestForm)纠错性:SPR(SoftwareProblemReport)维护管理员制定SCR(SoftwareChangeReport)维护人员填写维护记录SMR(SoftwareMaintenanceRecord)维护组织进行维护活动的评价配置管理人员进行可维护性复审申请与审批维护进行中维护结束后第十五页,共27页。9.5配置管理配置管理软件配置是一个软件产品在生存期各个(gègè)阶段以不同形式、不同载体记录下的特定信息,它包括不同版本的程序、文档及相关数据的集合,也就是软件产品的工件。配置的概念始于制造业,类似材料清单(BOM:BillofMaterials)。如今在软件行业,配置管理越来越收到重视,是现代软件工程的重要组成内容。第十六页,共27页。9.5配置管理软件配置管理每一个软件项目都必须经历需求分析、系统设计、编码实现、集成测试、部署、交付、维护和支持的过程。在这个过程中,将生成各种各样不同的工件,包括文档、源程序、可执行代码、支持库。更重要的是软件需求在不断变化,为适应变化而出现的变更是不可避免。面向如此庞大且不断变动的信息集,要做到“动而不乱”,保证(bǎozhèng)各种文档的一致性,就需有一套管理办法和活动原则,这就是软件配置管理。第十七页,共27页。9.5配置管理软件(ruǎnjiàn)配置管理简称SCM(SoftwareConfigurationManagement),就是管理软件(ruǎnjiàn)的变化,它贯穿整个软件(ruǎnjiàn)生命周期,通常由相应的工具、过程和方法学组成。配置管理在软件(ruǎnjiàn)开发过程中具有管理团队并行开发、多平台开发的作用;在软件(ruǎnjiàn)维护过程中它支持版本控制、变更管理等功能。SCM使软件(ruǎnjiàn)产品和过程的变更变为受控的和可预见的。可以做到:谁做的变更?变更什么?什么时间做的变更?为何要变更?第十八页,共27页。9.5配置管理通过以下手段提高软件可靠性和质量标识软件配置中各种对象,在整个软件的生命周期中提供标识和控制文档、源代码、接口定义和数据库等工件的机制;进行配置审计,配置报告评估,控制对软件的修改。提供满足需求(xūqiú)、符合标准、适合项目管理及其它组织策略的软件维护的方法和过程;为管理和产品发布提供支持信息,如基线的状态,变更控制、测试、发布、审计等等;第十九页,共27页。9.5配置管理软件配置项SCI(softwareConfigurationItem)IEEE定义:配置项是处于配置管理之下的软件或/和硬件的集合体。这个集合体在配置管理过程中作为一个实体出现。SCI包括:项目计划、需求文档、设计文档、源代码、测试文档、数据库、用户手册、引用标准、也包括维护本身的软件配置管理等等文档。标识软件配置中各种对象所有SCI都应按面向对象的方式命名并组织起来。对象命名是为了能够根据名称提取对象;而通过组织对象并描述其间的关系则着眼于在对象变更时能够清楚地了解变更的影响范围。基本对象——在分析、设计、编码或测试阶段由开发人员创建的某个“文本单元”(unitoftext)。每个配置对象都拥有名字(míngzi)、描述、资源列表和实际存在体四个部分。第二十页,共27页。9.5配置管理基线(baseline)的原意是棒球场的边线,在软件开发过程(guòchéng)中,为了有效地控制变动,软件配置管理引入基线的概念。IEEE(IEEEStd610.12-1990)定义:已经通过正式复审和批准的某规约或产品,它因此可以作为进一步开发的基础,并且只能通过正式的变更控制过程(guòchéng)来改变。第二十一页,共27页。9.5配置管理软件配置管理的内容软件配置管理的功能包括版本控制、开发过程管理、工作空间管理、并行开发、异地(yìdì)开发、变更请求等众多管理功能。本讲义仅介绍最核心的两个功能:版本控制变更管理。第二十二页,共27页。9.5配置管理版本控制版本控制是所有配置管理系统的核心功能。配置管理系统的其它功能大都建立在版本控制功能之上。版本控制的对象是软件开发过程中涉及的所有文件(wénjiàn)系统对象,包括文件(wénjiàn)、目录和链接。可定版本的文件(wénjiàn)包括源代码、可执行文件(wénjiàn)、位图文件(wénjiàn)、需求文档、设计说明、测试计划、和一些ASCII和非ASCII文件(wénjiàn)等等。版本控制的目的在于对软件开发进程中文件(wénjiàn)或目录的发展过程提供有效的追踪手段,保证在需要时可回到旧的版本。版本控制是实现团队并行开发、提高开发效率的基础。第二十三页,共27页。9.5配置管理变更管理变更请求管理是软件配置管理的又一个重要组成部分(zǔchénɡbùfèn),变更请求管理记录、跟踪和报告针对软件系统的任何变更,其核心是一个适合软件开发组织的变更处理流程,典型的变更处理流程涉及如何提交变更请求,如何对变更请求进行复审以便决定是否实施,由谁实施,如何实施,如何确定变更请求准确实施完成等方面。变更管理一般流程如下:(1)(获得)提出变更请求;(2)由配置控制委员会CCB(ConfigurationControlBoard)审核并决定是否批准;(3)(被接受)分配请求,修改人员提取配置项,进行修改;(4)复审变化;(5)提交修改后的配置项;(6)建立测试基线并测试;(7)重建软件的适当版本;(8)复审(审计)所有配置项的变化;(9)发布新版本。第二十四页,共27页。配置管理工具(gōngjù)元老CCC、SCCS、RCS中坚RationalClearCase新秀HanskyFirefly开源奇葩CVS小工作组级MerantPVCS入门级

温馨提示

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

评论

0/150

提交评论