书签 分享 收藏 举报 版权申诉 / 32
上传文档赚钱

类型软件运维体系课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4625904
  • 上传时间:2022-12-26
  • 格式:PPT
  • 页数:32
  • 大小:132.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《软件运维体系课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    软件 体系 课件
    资源描述:

    1、2022-12-26软件运维体系论述软件运维体系论述o 一、软件维护的概念o 二、软件维护分类o 三、维护问题o 四、维护成本o 五、维护过程o 六、维护的副作用o 七、如何做好软件维护o 软件维护阶段覆盖了从软件交付使用到软件被淘汰为止的整个时期。软件的开发时间可能需要一、二年,甚至更短,但它的使用时间可能要经历几年或几十年。o 在软件开发过程中始终强调软件的可维护性。原因是,一个应用系统由于需求和环境的变化以及自身暴露的问题,在交付用户使用后,对它进行维护是不可避免的,统计和估测结果表明,信息技术中硬件费用一般占35%,软件占65%,而软件后期维护费用有时竟高达软件总费用的80%,所有前期

    2、开发费用仅占20%。软件维护一、软件维护的概念 o 什么是软件维护n 是指软件系统交付使用以后,为了改正错误或满足新的需要而修改软件的过程 o 国标GB/T 11457-95给出如下定义 n 在一软件产品交付使用后对其进行修改,以纠正故障;n 在一软件产品交付使用后对其进行修改,以纠正故障、改进其性能和其它属性,或使产品适应改变了的环境o 按照维护的起因分类四类:纠错性维护 适应性维护 完善性维护 预防性维护二、软件维护分类 1.纠错性维护(Corrective Maintenance)为改正软件系统中潜藏的错误而进行的活动。纠错性维护是指在系统开发阶段已发生而系统测试阶段尚未发纠错性维护是指

    3、在系统开发阶段已发生而系统测试阶段尚未发现的错误。这方面的维护工作量占整个维护工作量的现的错误。这方面的维护工作量占整个维护工作量的17%-21%。所发现的错误有的不太重要,不影响系统的正常运行。所发现的错误有的不太重要,不影响系统的正常运行,其维护工作可随时进行;而有的错误非常重要,甚至影响整,其维护工作可随时进行;而有的错误非常重要,甚至影响整个系统的正常运行,其维护工作必须制定计划,进行修改,并个系统的正常运行,其维护工作必须制定计划,进行修改,并且要进行复查和控制。且要进行复查和控制。这部分维护工作实际上就是软件系统运行过程中修改前期没有这部分维护工作实际上就是软件系统运行过程中修改前

    4、期没有发现的发现的bug,在修改旧,在修改旧bug过程中也可能会引入新的过程中也可能会引入新的bug,这这部分工作以后会成为新的纠错性维护工作。在软件开发过程中部分工作以后会成为新的纠错性维护工作。在软件开发过程中加强测试,可以有效减少这部分的维护工作。加强测试,可以有效减少这部分的维护工作。2.适应性维护(Adaptive Maintenance)为适应软件运行环境的变化而修改软件的活动。适应性维护是指是软件适应信息技术变化和管理需求而进行的修适应性维护是指是软件适应信息技术变化和管理需求而进行的修改。这方面的维护工作量占整个维护工作量的改。这方面的维护工作量占整个维护工作量的18%-25%

    5、。由。由于目前计算机硬件价格的不断下降,各类系统软件层出不穷,人于目前计算机硬件价格的不断下降,各类系统软件层出不穷,人们常常为改善系统硬件环境和运行环境而产生系统更新换代的需们常常为改善系统硬件环境和运行环境而产生系统更新换代的需求;企业的外部市场环境和管理需求的不断变化也使得各级管理求;企业的外部市场环境和管理需求的不断变化也使得各级管理人员不断提出新的信息需求。这些因素都将导致适应性维护工作人员不断提出新的信息需求。这些因素都将导致适应性维护工作的产生。的产生。3.完善性维护(Perfective Maintenance)根据用户在软件使用过程中提出的建设性意见而进行的维护活动。完善性维

    6、护是为扩充功能和改善性能而进行的修改,主要是完善性维护是为扩充功能和改善性能而进行的修改,主要是指对已有的软件系统增加一些在系统分析和设计阶段中没有指对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。这些功能对完善系统功能是非常必规定的功能与性能特征。这些功能对完善系统功能是非常必要的。另外,还包括对处理效率和编写程序的改进,这方面要的。另外,还包括对处理效率和编写程序的改进,这方面的维护占整个维护工作的的维护占整个维护工作的50%-60%,比重较大,也是关系,比重较大,也是关系到系统开发质量的重要方面。完善性维护是软件维护工作的到系统开发质量的重要方面。完善性维护是软件

    7、维护工作的主要部分,触发这类维护工作的常常是用户业务交易增加了主要部分,触发这类维护工作的常常是用户业务交易增加了,或是业务流程改变了,需要修改软件;也可能是软件不能,或是业务流程改变了,需要修改软件;也可能是软件不能满足业务量要去,需要在性能上有所提高。满足业务量要去,需要在性能上有所提高。4.预防性维护(Preventive Maintenance)为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础。预防性维护为了改进应用软件的可靠性和可维护性,为预防性维护为了改进应用软件的可靠性和可维护性,为了适应未来的软硬件环境的变化,主动增加预防性的新了适应未来的软硬件环境的变化,主动

    8、增加预防性的新的功能,以使应用系统适应各类变化而不被淘汰。这方的功能,以使应用系统适应各类变化而不被淘汰。这方面的维护工作占整个维护工作量的面的维护工作占整个维护工作量的4%左右,是维护工作左右,是维护工作中占比最少的一部分工作。中占比最少的一部分工作。三、维护问题o 和软件维护有关的部分问题:n理解别人的代码通常是非常困难的,而且难度随着软件配置成分的缺失而迅速增加n需要维护的软件往往没有文档、或文档资料严重不足、或软件的变化未在相应的文档中反映出来n当软件要求维护时,不能指望由原来的开发人员来完成或提供软件的解释。由于维护持续时间很长,因此当需要解释软件时候,往往开发人员已经不在附近了n绝

    9、大多数软件在设计时没有考虑到将来的修改问题n软件维护这项工作毫无吸引力。一方面是因为软件维护,看不到什么“成果”,但工作量很大,更重要的是维护工作难度大,软件维护人员经常遭受挫折。o 过去的二十年,软件维护的成本在不断增长。o 七十年代,一个信息系统机构用于软件维护的费用占其软件总预算的3540%,八十年代接近60%。o 若维护方式没有大的改进,未来几年,许多大型软件公司可能要将其预算的80%用于软件系统的维护上。四、维护成本o 软件维护除费用外的无形代价包括n 维护活动占用了其他软件开发可用的资源,使资源的利用率降低 n 一些修复或修改请求得不到及时安排,使得客户满意率下降 n 维护的结果把

    10、一些新的潜在的错误引入软件,降低了软件质量 n 将软件人员抽调到维护工作中,使得其它软件开发过程受到干扰 o 维护的工作可划分成:n 生产性活动 如,分析评价、修改设计、编写程序代码等 n 非生产性活动 如,程序代码功能理解、数据结构解释、接口特点和性能界限分析等o 在软件维护中,影响维护工作量的因素主要有以下六种:n 系统的大小系统规模越大,其功能就越复杂,软件维护的工作量也随之增大。n 程序设计语言使用功能强大的程序设计语言可以控制程序的规模。语言的功能越强,生成程序的模块化和结构化程度越高,所需的指令数就越少,程序的可读性越好。o 系统年龄系统使用时间越长,所进行的修改就越多,而多次的修

    11、改可能造成系统结构混乱。由于维护人员经常更换,程序变得越来越难于理解,加之系统开发时文档不齐全,或在长期的维护过程中文档在许多地方与程序实现不一致,从而使维护变得十分困难。o 数据库技术的应用使用数据库,可以简单而有效地存储、管理系统数据,还可以减少生成用户报表应用软件的维护工作量。o 先进的软件开发技术 在软件开发过程中,如果采用先进的分析设计技术和程序设计技术,如面向对象技术、复用技术等,可减少大量的维护工作量。o 其它一些因素如应用的类型、数学模型、任务的难度、开关与标记、IF嵌套深度、索引或下标数等,对维护工作量也有影响。五、维护过程o 对于非纠错性维护,则首先判断维护类型,对适应性维

    12、护,按照评估后得到的优先级放入队列 o 对于改善性维护,则还要考虑是否采取行动,如果接受申请,则同样按照评估后得到的优先级放入队列,如果拒绝申请,则通知请求者,并说明原因o 对于工作安排队列中的任务,由修改负责人依次从队列中取出任务,按照软件工程方法学规划、组织、实施工程。维护请求维护请求类型类型类型类型严重性严重性评估后按优先评估后按优先级在队列排队级在队列排队救火行动,当救火行动,当排在队列之首排在队列之首评估后分类评估后分类评估后按优先评估后按优先级在队列排队级在队列排队采取的行动采取的行动通知请求者通知请求者并说明原因并说明原因按优先级在按优先级在队列中排队队列中排队从维护请求队列之首

    13、取出一任务从维护请求队列之首取出一任务按按SESE方法学规划、组织、实施工程方法学规划、组织、实施工程队列中还有维护请求吗?队列中还有维护请求吗?资源用于开发新的软件。资源用于开发新的软件。y yn n纠错性维护纠错性维护其他其他改善性维护改善性维护适应性维护适应性维护拒绝拒绝接受接受并不严重并不严重非常严重非常严重2022-12-26六、维护的副作用n软件修改是一项很危险的工作,对一个复杂的逻辑过程,那怕做一项微小的改动,都可能引入潜在的错误,虽然设计文档化和细致的测试有助于排除错误,但是维护仍然会产生副作用。l一次修改5-10个语句,成功率50%;l一次修改40-50个语句,成功的可能性2

    14、0%;l每纠正一个错误平均需修改17条指令。o 软件维护的副作用指,由于维护或在维护过程中其他一些不期望的行为引入的错误,副作用大致可分为三类:(1)代码副作用(2)数据副作用(3)文档的副作用(1)代码副作用下面的修改最易引起副作用:修改或删除子程序;修改或删除语句标号;修改或删除标识符;为提高程序效率而做的修改;修改逻辑操作符;由设计变动引起的代码修改;修改分支处的判断条件;(2)数据副作用l 数据副作用是由于修改数据结构带来的副作用。容易引起数据副作用的修改包括:局部和全局常量的再定义;记录或文件格式的再定义;增减数据或是由于修改数据结构的定义导致 数据结构长度的改变;修改全局数据;重新

    15、初始化控制标志和指针;重新排列I/O表或子程序参数表。(3)文档副作用l 由于程序修改而没有对文档进行相应的修改引起文档的副作用。o 1.爱上软件维护工作 首先要认识软件维护工作在软件生命周期中的重要性,做维护工作虽然不能成为台前英雄,但却是个实实在在的幕后英雄。实际上很多所谓的开发人员所做的开发工作就为软件增加新功能,修改业务流程,这其实就是在做完善性维护工作。软件维护工作同样存在大量的挑战,同样需要创造性、灵活性、耐心、训练和良好的沟通。爱好是学习最好的老师,只要喜欢上软件维护工作,你就会在这一领域中发挥你的聪明才智,收获属于你的一片蓝天。七、如何做好软件维护o 2.熟悉软件系统 熟悉所维

    16、护软件的功能是非常重要的,也是进行软件维护工作的第一步。首先阅读现有的文档,最好能对文档中提到的内容亲自进行测试。掌握现实中软件的使用方法,确保你要知道最常用的使用情形。有时候用户会要求提供一些已经存在的功能特性,只是因为他们不知道软件中已经具有了这些功能。最后只能研究代码了,试着去理解函数、模块和组件在软件中所扮演的角色。使用调试器单步执行程序中不同的分支,查看当代码的不同部分执行时将会发生什么。要把熟悉软件的体系结构当做一个持续进行的过程,而不是一次就能完成的事情。当你修改bug或添加新的特性时,可能对系统有更好的理解。以上过程一定要记录结果,这样对维护工作有巨大的帮助。o 3.与用户沟通

    17、 与用户沟通是非常重要的。许多软件开发者都很内向,他们宁愿与技术打交道,也不愿意去与用户沟通。然而,软件就是为了人们使用才开发的。而且在软件的维护阶段,已经有用户使用我们的软件了。试着建立一个简单有效的机制,用于及时反馈用户提出的问题,即使我们不能立即解决这个问题,也要让用户知道我们正在处理这个问题,而没有怠慢他们。最后,要诚实的告诉他们问题的最新解决情况,如果由于某些原因不能满足他们的需求,也要及时告诉他么。o 4.保留修改记录 有很多种保留修改记录的方法。最常见的方式是在每次提交代码前要进行注释说明,还有些人喜欢把修改的记录列表写到文件的顶部,在电子表格中保留一份修改列表也是和方便的。无论

    18、你采用哪种方式,一定要重视它。一份精确的修改记录对成功的维护工作来说是无价的。o 5.尽量保持程序原貌,避免重构 在软件维护的很多时候,你会被某些模块中的代码弄得很沮丧。真想把这些代码删除后从头重写。事实上,无论何时我们对代码进行修改,不管是多么微小的修改,都存在引入新的bug的风险。避免重构,尽管在开发阶段重构是一项很有用的技术,但在软件的维护阶段,它可能只会给你带来麻烦。即使你使用重构没有破坏任何东西,至少也增加了维护记录的复杂度,使源代码管理系统中不同版本间的差别变大。o 6.重视测试 测试永远是软件质量保证中重要的一环,当你接手软件的维护工作时,也许你需要做的第一件任务就是做测试。o 7.要有稳定的维护团队 o 总之软件的安全运行离不开维护工作。软件维护工作有它有独特的魅力。谢谢谢谢2019年年4月月

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:软件运维体系课件.ppt
    链接地址:https://www.163wenku.com/p-4625904.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库