计算机软件的可维护性问题
计算机软件系统维护管理存在的问题及对策

计算机软件系统维护管理存在的问题及对策计算机软件系统维护管理是确保软件系统持续运行和改进的重要活动。
在实践过程中,常常面临一些问题。
下面将讨论计算机软件系统维护管理存在的问题及对策。
问题一:技术更新不及时随着技术的发展,计算机软件系统的更新速度越来越快。
许多组织在维护管理方面存在问题,技术更新不及时。
这导致软件系统无法充分利用新技术,造成了技术陈旧和业务不灵活。
对策一:建立技术更新机制组织应建立起技术更新机制,及时了解最新的技术发展动态,并评估其对软件系统维护管理的影响。
组织可以设立专门的团队或小组负责技术更新工作,提供技术咨询和培训,促使软件系统及时跟上技术的步伐。
问题二:人员培训不足人员培训不足是计算机软件系统维护管理常见的问题之一。
维护管理人员缺乏相关的知识和技能,无法顺利完成维护工作,影响了软件系统的稳定性和可靠性。
对策二:加强人员培训组织应该加强对维护管理人员的培训,提供全面的技术知识和实践经验。
可以通过开展内部培训、外部培训、参加技术会议等方式,不断提升人员的维护管理能力。
还可以建立知识共享平台,促进人员之间的交流和学习。
问题三:变更管理不严谨软件系统维护过程中,经常需要进行变更管理。
一些组织在变更管理方面存在问题,变更不经过严格的审批和测试,容易引发不可预知的问题,甚至造成系统崩溃。
对策三:建立完善的变更管理流程组织应该建立完善的变更管理流程,明确变更申请、审批、实施和验证的环节和责任。
变更应该经过严格的测试和验证,确保系统的稳定性和可靠性。
为了增加变更的可控性,可以采用分阶段上线或灰度发布的方式,降低风险。
问题四:缺乏系统文档和知识管理一些组织在软件系统维护管理中缺乏系统文档和知识管理,导致维护难度加大。
维护人员很难了解系统的设计和实现细节,影响了维护效率和质量。
组织应该建立系统文档和知识管理体系,记录系统的设计和实现细节,以及维护过程中的问题和解决方案。
可以建立知识库或文档库,存储和分享相关的文档和知识。
计算机软件系统维护管理存在的问题及对策

计算机软件系统维护管理存在的问题及对策摘要:计算机时代的来临不仅为人们的日常生活带来了方方面面的便利,也使人们的生活节奏和生活状态发生了翻天覆地的改变,人们对于计算机软件系统的应用也更加广泛了。
但是计算机在为人们带来方便的同时,也会出现许许多多的问题对整个系统的安全运行造成不同程度的破坏,给人们的生产生活造成很大的影响。
因此,要结合我国计算机软件系统维护管理的现状来有效分析其中存在的问题并提出相应的解决对策,做好计算机软件系统维护管理,才能推动我国社会经济更好地发展和进步。
关键词:计算机;软件系统;维护管理在人们日常的生产生活中,计算机软件系统的出现大大提高了人们的工作效率,将人们所需要的生产和工作时间进行了有效缩减,不仅节约了人力物力,同时飞速发展的科学技术也相应地推动了计算机技术的应用与发展。
因此,想要保证计算机软件系统运行维护的质量,就需要对软件系统做好规范的管理与维护工作。
一旦软件系统出现故障而维护人员又不能及时地发现并进行处理和解决,就会直接影响系统的安全稳定运行,甚至影响到人们的正常日常生活和工作。
1.计算机软件系统维护管理的现状分析当前阶段,虽然我国计算机软件技术得到了较好的发展也取得了一些显著的成绩,但是在技术开发与利用方面还有待于进一步提高和完善,其总体发展水平也尚未达到与需求匹配的标准,并且体系的管理机制也并不健全和完善,也没有规范统一的执行标准,因此导致了不同企业开发出来的不同系统软件之间存在着较大的差异,将实现软件系统全面共享的可能无限期延后。
就当前现状来说,计算机软件系统的维护管理要求维护人员必须具备较高的专业素养和更强的专业水准,这在无形之中也加大了维护人员的工作压力和工作量,工作难度也随之更加复杂。
虽然互联网在全国乃至全世界范围内都得到了大面积的普及,但是计算机的发展也是日新月异的,一些主客观因素交织在一起共同限制了我国计算机人才的发展与前行,造成了我国计算机方面人才的严重匮乏,维护人员技术水平普遍较低,导致他们在进行系统维护时往往会由于操作不规范等不利因素导致系统故障率的增加,不仅没有及时地解决系统问题更是给系统维护带来了不小的难度,所以我国计算机市场对于具备高技术水平的维护人员需求非常强烈,必须要大力培养和引进这方面的专业人才。
对于计算机软件可维护性的重要性

对于计算机软件可维护性的重要性计算机软件可维护性是指在软件开发完成后,能够对软件进行修改、维护和升级的能力。
它包括了软件的易理解性、易修改性、易测试性、稳定性以及良好的文档等特点。
在软件开发和使用的全生命周期中,可维护性是一个非常重要的因素。
首先,软件可维护性可以降低软件开发和维护的成本。
软件开发和维护是一个持续的过程,需要不断对软件进行修改和更新以满足不断变化的需求。
如果软件可维护性较差,那么对软件进行修改和更新将变得非常困难,并且容易引入新的bug。
这将导致开发和维护的成本大大增加。
相反,如果软件可维护性较高,开发人员可以轻松地对软件进行修改和更新,从而降低了成本。
其次,软件可维护性可以提高软件质量。
如果软件可维护性较好,开发人员可以更容易地对软件进行测试和修复bug。
这将有助于提高软件的稳定性和可靠性。
另外,软件可维护性还可以提高软件的易用性和性能。
开发人员可以根据用户的反馈和需求,对软件进行相应的修改和优化,从而改进软件的用户体验和性能表现。
再次,软件可维护性对软件的可持续发展非常重要。
随着技术的不断发展和用户需求的不断变化,软件需要不断地进行更新和升级。
如果软件的可维护性不好,那么软件将很快变得过时,并且无法满足用户的需求。
这将导致软件的市场竞争力下降。
相反,如果软件可维护性较好,那么开发人员可以轻松地对软件进行更新和升级,使其保持与市场的同步,并满足用户的需求,从而提高软件的竞争力。
此外,软件可维护性还有助于知识管理和团队合作。
随着软件开发和维护的进行,开发人员会积累大量的知识和经验。
通过良好的文档和易理解的代码,可以更好地管理这些知识,并且可以更好地进行团队合作。
开发人员可以更轻松地共享和传递知识,提高开发效率和质量。
综上所述,计算机软件可维护性对软件开发和使用的全生命周期都具有重要的意义。
它可以降低软件开发和维护的成本,提高软件质量和竞争力,促进软件的持续发展,以及提高知识管理和团队合作能力。
浅析计算机软件可维护性方法

浅析计算机软件可维护性方法摘要:随着计算机技术的不断发展,软件系统的规模和复杂度不断增加,导致软件维护变得更加困难。
因此,如何提高软件的可维护性成为了一个重要的研究方向。
本文从软件可维护性的定义入手,介绍了软件可维护性的重要性和影响因素,并提出了一些提高软件可维护性的方法,如模块化设计、规范化编码、版本控制和测试驱动等。
最后,本文对软件可维护性方法进行比较分析,得出结论。
关键词:软件可维护性、模块化设计、规范化编码、版本控制、测试驱动正文:一、引言随着计算机技术的不断发展,软件系统的规模和复杂度不断增加,导致软件维护变得更加困难。
软件维护包括了软件修复、软件改进、软件升级等方面。
然而,软件维护的主要挑战在于如何保持软件的质量和可维护性。
在软件开发过程中,通常注重功能实现,而不会过多考虑可维护性。
事实上,软件维护是软件开发的一个重要阶段,如果缺乏必要的考虑和预防,会导致软件系统的维护成本不断上升,甚至使软件系统变得难以修改和维护。
二、软件可维护性的定义及影响因素软件可维护性是指软件系统在维护阶段中的易于修改、容易理解、易于测试、易于调试等方面的质量特征。
软件可维护性是软件质量的一个重要方面,影响软件系统的维护成本和效率。
软件可维护性受到很多因素的影响,其中主要包括代码结构的合理性,代码的可读性和代码的复杂性等。
三、提高软件可维护性的方法1.模块化设计模块化设计是一种将软件系统拆分成多个模块的设计方法,各个模块之间具有清晰的功能和接口。
模块化设计可以提高软件的可维护性,因为每个模块在设计和实现时都可以按照一定的标准,从而减少了代码的复杂性,降低了出错率。
2.规范化编码规范化编码是指按照一定的规范或标准来编写代码,例如代码的命名规则、缩进规则、注释规则等。
规范化编码可以提高代码的可读性,使得开发人员在维护阶段中更容易理解和修改代码,从而提高了软件的可维护性。
3.版本控制版本控制是指管理软件系统不同版本之间的变化和差异,例如Git、SVN等工具。
T计算机软件可靠性和可维护性管理

T计算机软件可靠性和可维护性管理计算机软件的可靠性和可维护性管理是保证软件系统长期稳定运行和持续维护的关键因素。
可靠性是指软件系统在给定的条件下能够满足用户需求并且可预测地工作的能力。
可维护性则是指软件系统在发生改变或出现问题时,能够被快速、有效地修复和扩展的能力。
为了实现软件的可靠性和可维护性管理,需要采取以下措施:1.软件测试:软件测试是评估软件可靠性的关键步骤。
通过不同的测试方法,可以发现软件系统中的潜在问题和缺陷,并进行相应的修复。
常见的软件测试方法包括单元测试、集成测试和系统测试等。
2.可靠性分析:可靠性分析是通过对软件系统进行分析,识别潜在故障并提供改进措施的过程。
可靠性分析方法包括故障模式与影响分析(FMEA)、故障树分析(FTA)以及可靠性块图(RBD)等。
3.异常处理:当软件系统出现异常情况时,需要能够及时检测并处理。
建立完善的异常处理机制,能够提高软件系统的容错性和鲁棒性,并减少因异常情况引发的系统崩溃或数据丢失等问题。
4.高效的代码和数据管理:为了方便软件维护,需要建立良好的代码和数据管理机制。
包括使用版本控制系统来管理软件的不同版本,使用注释和文档来描述代码和数据结构,以及建立清晰的命名规范等。
5.规范的软件开发流程:采用规范的软件开发流程能够提高软件的可维护性。
包括需求分析、设计、编码、测试和发布等步骤,每个阶段都需要有明确的目标和质量要求,并进行相应的验证和审查。
6.持续集成和部署:采用持续集成和部署的方法可以提高软件的可维护性。
通过自动化构建、集成和测试等步骤,能够更快地将改进和修复的代码部署到生产环境中,减少人为错误和手动操作带来的问题。
7.定期的性能优化和安全检查:对于长期运行的软件系统,定期进行性能优化和安全检查是必要的。
通过对系统的性能指标进行监控和分析,可以发现潜在的瓶颈和安全隐患,并进行相应的优化和修复。
最后,软件可靠性和可维护性管理是一个持续改进的过程。
计算机软件工程的维护措施和方法

计算机软件工程的维护措施和方法摘要:要保证计算机软件的有效运行,需要开发者与用户双方加强对计算机软件工程的维护,提升软件质量,减少安全隐患。
从而维护网络安全,推动软件开发技术以及计算机技术的不断完善与进步。
关键词:计算机软件工程;维护;措施;1目前计算机软件工程所存在的隐患问题分析本文认为目前计算机软件工程所存在的问题和隐患主要包括:①软件稳定性不强、对内存占用率大,在运行过程中对计算机造成一定的负担,程序运行缓慢这也直接导致了计算机运转缓慢,长久下去会影响计算机的性能,直接缩短计算机的使用寿命。
②软件质量参差不齐,流氓软件大量存在。
一些质量差,作用小、广告多的软件流氓软件不仅会大量占用计算机内存,还存在着难以卸载的问题,并且导致计算机很难被人管理进一步导致人们不容易使用电脑,甚至可能会对计算机的安全方面构成威胁。
③许多软件同时存在开发容易维护困难的现状,使得软件的后期运营变得十分艰难,对软件公司造成了财力、资源以及人力的浪费,大大阻碍了软件公司经济效益的提高。
2加强计算机软件工程维护的意义与维护类型分析2.1强化计算机软件工程维护意义分析对于计算机软件工程维护的意义,本文认为:①计算机软件的顺利运行是推动计算机发展的有效途径,也是首要目的。
计算机的应用与人们的日常生活密不可分,一旦软件的运行出现了问题,势必会影响计算机的正常功能。
从而无法满足用户的需求,甚至会对用户的生活、工作造成一定的影响。
②对计算机软件工程的维护是软件开发者实现自我提高的重要手段。
在维护过程中,软件开发者能够了解到软件运行过程中出现的漏洞并加以分析,找出问题所在,再以技术的手段进行修补。
这样可以使开发者对软件的研发以及更新产生新的意识,促进计了算机软件的更新与研发。
③计算软件一旦岀现漏洞,可以会导致不法分子借助这些漏洞进行网络犯罪,从而对用户造成一定的安全隐患,造成财产方面的损失。
对加强计算机软件工程的维护,是建立网络安全体系的重要手段,能够有效遏制网络犯罪的频发。
GBT 14394-2008 计算机软件可靠性和可维护性管理
计算机软件可靠性和可维护性管理Computer software reliability and maintainability management本标准依据GB/T 8566-2007《信息技术软件生存周期过程》划分软件生存周期,按过程和活动描述软件可靠性和可维护性要目录1.范围 (2)2.规范性引用文件 (2)3.术语和定义 (2)3.1软件可靠性大纲SOFTWARE RELIABLILITY PROGRAM (2)3.2软件可靠性大纲SOFTWARE MANTAINABILITY PROGRAM (2)3.3软件FRACAS SOFTWARE FAILURE REPORTING ANALYSIS AND CORRECTIVE ACTION SYSTEM .. 24.软件生存周期 (2)4.1在软件生存周期基本过程中的可靠性和可维护性管理要求 (2)4.1.1在获取过程中的可靠性和可维护性管理要求 (3)4.1.2在供应过程中的可靠性和可维护性管理要求 (3)4.1.3在开发过程中的可靠性和可维护性管理要求 (4)4.1.4在运作过程和维护过程中的可靠性和可维护性管理要求 (4)5.软件可靠性大纲和可维护性大纲 (4)5.1制定大纲应考虑的主要因素 (5)5.2大纲应包括的主要活动 (5)5.2.1制定大纲目标 (5)5.2.2分析运行环境 (5)5.2.3软件可靠性和可维护性要求的可行性论证 (6)5.2.4选定或制定规范和准则 (6)5.2.5软件可靠性和可维护性分析 (6)5.2.6评审 (7)5.2.7文档和数据 (7)5.2.8培训 (8)5.2.9维护保障要求 (8)5.3示例 (8)5.4裁剪 (9)1.范围本标准规定了软件产品在其生存周期内如何选择适当的软件可靠性和可维护性管理要素,并指导软件可靠性大纲和可维护性大纲的制定和实施本标准适用于软件产品生存周期的基本过程。
2.规范性引用文件下列文件中的条款通过本标准的引用而成为本标准的条款。
计算机软件可维护性方法分析
员分组 化 , 这能 明确分工圾 职能 , 在组织化结构和规范下提 高程序 生产效率 ; 在对程 序进行测试 时实行分工 明确 的结构化检 查可 以 保 证 质 量 检查 的 有效 性 。在 软 件 的 维 护 过 程 中建 立 维 护 小 组 , 也 能对程序的质量有所保证 。 2 . 3 在 审 查过 程 中保 证 质 量 质量保证审查技术可 以维 持并获得 软件 的质量 , 对开 发和 维 护 阶段 内发生的质量变化 也可进行 检测 。包括 检查 点复审 、 验 收 检查 、 周期性维护检查 以及对软 件包进行 检查 。在 检查点 进行 复 审是 为了验证 已开发 的软件是够符合 标准 , 在质量需 求上是否 满 足 。在最初的软件开发阶段就 应该 把对质量要 求考 虑进 去 , 而 且 在 开 发 过 程 中要 在 每 一 个 阶 段 的 终 点 设 置 检 查 点 。不 同的 检 查 点 的重点也不相 同。验收检 查是 软 件进 行交 付之 前 的最 后 一次 检 查, 也是对软件 可维护性保证 的最后 一个机会 。它 是从维 护性 的 角 度 来 提 出 的验 收标 准 , 是 验 收测 试 的 一部 分 。 进行周期性 的维护审查 。在软件使用 的过程 中可能 出现一些 错误或缺 陷 , 运 行 环 境 也 可 能 出 现 些许 变 化 , 此 时 用 户 的需 要 可 能 增加, 因此对软件必须进行 必要 的修 改 。在对 软件进行 修改 的 同 时有可能带来导 致软件质量 下降 , 产 生新的 问题 或将程序 的完整 性 破 坏 等危 险 。 因此 对 软 件 进 行 如 硬 件 一 般 的周 期 性 检 查 时 十 分 有 必 要 的 。周期 性 检查 的方 法 和 内容 基 本 与 开发 阶段 的检 查 点 复 查相同 , 实际上就是其继续 阶段 。适 时的进行 维护对 于保证 用户 的 正 常 使 用 是 十 分 有 必要 的 。
GBT14394-93计算机软件可靠性和可维护性管理
1主要内容与适用范围本标准规定了软件在其生存周期内如何选择适当的软件可靠性和可维护性管理要素,并指导软件可靠性和可维护性大纲的制定和实施。
本标准适用于软件产品生存周期的各个阶段。
2引用标准GB 6992 可靠性与维修性管理GB 8566 计算机软件开发规范GB/T 11457 软件工程术语3术语和定义本标准将采用GB/T 11457中术语和定义。
此外强调给出下列术语和定义。
3.1软件可靠性 software reliabilitya.在规定环境下,在规定时间内软件不引起系统失效的概率。
b.在规定的时间周期内所述条件下程序执行所要求的功能的能力。
3.2软件可维护性 software maintainability与进行规定的修改难易程序有关的一组属性。
3.3软件生存周期 software life cycle软件产品从形成概念开始,经过开发、使用和维护,直到最后不再使用的整个过程。
3.4软件可靠性和可维护性大纲(以下简称大纲)softwarereliabilityandmaintainabilityprogram为保证软件满足规定的可靠性和可维护性要求制订的一套管理文件。
4软件生存周期4.1软件生存周期各阶段对可靠性和可维护性要求本标准按GB 8566划分软件生存周期。
强调各个阶段软件可靠性和可维护性要求。
4.1.1可行性研究与计划阶段——进行项目可行性分析。
制订初步项目开发计划,提出软件可靠性和可维护性目标、要求及经费,并列入合同(或研制任务书,下同)。
4.1.2需求分析阶段——将合同的技术内容细化为具体产品需求。
分析和确定软件可靠性和维护性的目标,制定大纲及其实施计划。
4.1.3概要设计阶段——进行软件可靠性和可维护性目标分配,进行可靠性和可维护性概要设计,并明确对详细设计的具体要求。
4.1.4详细设计阶段——进行软件可靠性和可维护性详细设计,编写相应的设计说明,明确对实阶段的具体要求。
4.1.5实现阶段——进行单元测试,分析和验证有关软件可靠性和可维护性的部分要求。
计算机软件系统维护管理存在的问题及对策
计算机软件系统维护管理存在的问题及对策计算机软件系统在企业中扮演着重要的角色,它是企业信息化的基础和支撑,因此软件系统的维护管理至关重要。
在实际操作中,软件系统维护管理存在诸多问题,例如系统更新频繁、人员变动带来的知识流失、维护成本高昂等,这些问题给企业带来了诸多困扰。
本文将从专业角度探讨软件系统维护管理存在的问题以及提出相应的对策。
一、问题1. 系统更新频繁随着技术的不断更新和企业业务的不断变化,软件系统需要不断更新迭代。
这种频繁的更新会给企业带来许多问题,例如增加了系统维护的工作量,增加了系统的稳定性风险,增加了系统维护的成本等。
2. 人员变动带来的知识流失在企业中,人员变动是常有的事情,但是人员变动会导致原有的系统维护人员离职或者调岗,这样就会导致原有的系统知识流失,给系统维护带来了极大的挑战。
3. 维护成本高昂软件系统的维护成本往往高昂,包括维护人员的薪酬、系统更新的成本、系统稳定性的维护成本等。
这些成本对企业来说都是一笔不小的开支,给企业造成了很大的压力。
二、对策1. 建立完善的系统更新策略针对系统更新频繁的问题,企业需要建立完善的系统更新策略,明确系统更新的频率和更新内容,合理安排系统更新的时间,最大程度减少系统更新对企业的影响。
2. 建立知识管理制度为了避免人员变动带来的知识流失问题,企业需要建立完善的知识管理制度,包括对系统知识进行归档、培训新员工、建立专业的技术文档等,以便新员工能够快速掌握系统知识。
3. 引入自动化维护工具为了降低维护成本,企业可以引入自动化维护工具,利用现代化的技术手段对系统进行自动化的监控、维护和修复,减少人工干预的成本。
4. 外包维护服务对于一些非核心的系统,企业可以考虑外包维护服务,将这部分工作交给专业的服务提供商来进行,这样可以降低维护成本,同时也能够将精力集中到核心业务上。
5. 建立维护管理团队企业可以建立专门的维护管理团队,负责系统的维护管理工作,统筹协调系统的更新、维护和修复工作,保证系统的稳定性和安全性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机软件的可维护性问题
作者:钱钦虎张永新
来源:《硅谷》2013年第02期
摘要:伴随着计算机技术的发展,计算机软件已在诸多行业发挥着重要作用。
通信技术和计算机技术的进一步发展,使计算机软件的应用更加普及和深入,计算机软件已经在国民经济和社会生活的各个方面发挥着前所未有的重要作用。
然而,随着社会的进步、业务的发展和新技术的出现,人们发现许多软件已越来越不适应生产和生活的需要。
于是,人们就试图对这些软件进行修改、完善,以适应新的业务需要,但当系统分析师和软件设计师在改造这些软件时,往往发现其中一些软件改造工作难度相当大,甚至不可能。
原因在于有些软件的可维护性相当差,缺乏基本的可理解性、可修改性和可测试性。
迫于无奈,最终只得放弃改造,重新设计开发。
因此,软件的可维护性相当重要。
关键词:计算机软件;可维护性;问题
计算机软件是用户和硬件之间的接口界面。
计算机用户可以通过软件和计算机实行沟通,软件是计算机系统设计的重要根据。
为能方便用户,让计算机体系极具较高的整体效用,在计算机系统设计时,要对硬件和软件相结合的全局进行考虑,并满足用户的需求。
软件保护技术,即怎样防止破解合法软件,软件保护产品所涉及内容极为宽泛,属于综合技术范畴之内。
软件可维护性是指导软件维护工作的一个重要参考依据,是软件维护难易程度评价的标准,是软件产品的一个重要质量特性。
软件可维护性即维护人员对该软件进行维护的难易程度,具体包括理解、改正、改动和改进该软件的难易程度。
软件的可维护性差是软件维护工作量和费用激增的直接原因,因此在软件工程的各个阶段都要保证软件具有较高可维护性,从而降低软件维护成本,这是软件工程的重要目标之一。
1 计算机软件可维护性概述
概括地说,软件生命周期由软件定义、软件开发和运行维护(也称为软件维护)3个时期组成。
运行维护时期的主要任务是使软件持久地满足用户的需要。
具体地说,当软件在使用过程中发现错误时应该加以改正;当环境改变时应该修改软件以适应新的环境;当用户有新要求时应该及时改进软件以满足用户的新需要。
软件维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要。
通常有4类维护活动:
1)纠错性维护:在开发过程中要生成100%可靠无误的软件通常是不太现实的,为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程就叫做改正性维护。
2)适应性维护:在使用过程中,外部环境(如新的硬、软件配置)、数据环境(如数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化。
为使软件适应这种变化,而去修改软件的过程就叫做适应性维护。
3)完善性维护或增强:在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。
为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。
这种情况下进行的维护叫做完善性维护。
4)预防性维护或再工程:即修改软件,为将来的维护活动预先做准备。
除此四类维护活动外,还有一些其它类型的维护活动,如:支援性维护:通过提供最新用户文档或联机用户文档,进行适当的用户培训或设立专门的维护人员等方式来减少此类维护活动。
软件维护具有很大的必要性、长期性和艰巨性。
以上几个方面的维护工作中,第二和第三层面维护方面所占的份额最大,占80%左右的总维护工作。
可见,软件维护的费用也大得惊人,有些维护费用可能高达软件总开发费用的55%~70%,软件的可维护性居于首位。
但软件维护的难度越来越大,并已成为目前所面临的最大问题。
2 提高软件的可维护性方法
软件的可维护性对于延长软件的寿命具有决定性的意义。
因此,不仅维护人员应重视软件的可维护性,软件开发人员也要为减少今后的维护工作量而努力。
为了提高软件的可维护性,可以从以下几个方面着手:
1)建立明确的软件质量目标。
一个可维护的程序应是可理解的、可靠的、可测试的、可修改的、可移植的、效率高的和可使用的。
如果要程序满足可维护性七个特性的全部要求,那么要付出很大的代价,甚至是不现实的,但有些可维护性是相互促进的,例如可理解性和可测试性、可理解性和可修改性。
但另一些质量特性却是相互抵触的,例如效率和可移植性、效率和可修改性等。
因此要明确软件所追求的质量目标。
2)使用先进的软件开发技术和工具。
利用先进的软件开发技术能大大提高软件质量和减少软件费用。
面向对象的软件开发方法就是一个非常实用而强有力的软件开发方法,用面向对象方法开发出来的软件系统,稳定性好,比较容易修改,比较容易理解,易于测试和调试,因此,可维护性好。
3)建立明确的质量保证。
质量保证是指为提高软件质量所做的各种检查工作。
质量保证检查是非常有效的方法,不仅在软件开发的各阶段中得到了广泛应用,而且在软件维护中也是一个非常主要的工具。
为了保证可维护性,以下四类检查是非常有用的:
①在检查点进行检查。
保证软件质量的最佳方法是在软件开发的最初阶段就把质量要求考虑进去,并在开发过程每一阶段的终点,设置检查点进行检查。
检查的目的是要证实已开发的软件是是否符合标准,是否满足规定的质量需求。
在不同的检查点,检查的重点不完全相同。
②验收检查。
验收检查是一个特殊的检查点的检查,是交付使用前的最后一次检查,是软件投入运行之前保证可维护性的最后机会。
它实际上是验收测试的一部分,只不过它是从维护的角度提出验收的条件和标准。
③周期性的维护检查。
软件在运行期间,为了纠正新发现的错误或缺陷,为了适应计算环境的变化,为了响应用户新的需求,必须进行修改。
因此会导致软件质量有变坏的危险,可能产生新的错误,破坏程序概念的完整性。
因此,必须像硬件的定期检查一样,每月一次或二月一次,对软件做周期性的维护审查,以跟踪软件质量的变化。
周期性维护审查实际上是开发阶段检查点复查的继续,并且采用的检查方法、检查内容都是相同的。
为了便于用户进行运行管理,适时提供维护工具以及有关信息是很重要的。
维护审查的结果可以同以前的维护审查的结果、以前的验收检查的结果和检查点检查的结果相比较,任何一种改变都表明在软件质量上或其他类型的问题上可能起了变化。
对于改变的原因应当进行分析,例如,如果使用的是复杂性度量标准,则应当随机地选择少量模块,再次测量其复杂性。
④对软件包的检查。
软件包是一种标准化了的,可为不同单位、不同用户使用的软件。
软件包卖主考虑到他的专利权,一般不会提供给用户他的源代码和程序文档。
因此,对软件包的维护采取以下方法。
使用单位的维护人员首先要仔细分析、研究卖主提供的用户手册、操作手册、培训教程、新版本说明、计算机环境要求书、未来特性表,以及卖方提供的验收测试报告等,在此基础上,深入了解本单位的希望和要求,编制软件包的检验程序。
该检验程序检查软件包程序所执行的功能是否与用户的要求和条件相一致。
为了建立这个程序,维护人员可以利用卖方提供的验收测试实例,还可以自己重新设计新的测试实例。
根据测试结果,检查和验证软件包的参数或控制结构,以完成软件包的维护。
4)选择可维护的语言。
程序设计语言的选择对维护影响很大。
低级语言很难掌握,很难理解,因而很难维护。
一般来说,高级语言比低级语言更容易理解,第四代语言更容易理解,容易编程,程序容易修改,改进了可维护性。
5)改进程序的文档。
程序文档是对程序功能、程序各组成部分之间的关系、程序设计策略、程序实现过程的历史数据等的说明和补充。
程序文档对提高程序的可阅读性有重要作用。
为了维护程序,人们必须阅读和理解程序文档。
总之,当前计算机技术在整个国民经济中具有相当广泛的领域,在人们的日常生活中,计算机技术可以说是无处不在,是人们生活、工作不可缺少的工具之一,以软件技术作为其内在灵魂的计算机信息系统,正在对系统高度集成化、结构广泛分布化、信息多元化和功能智能化等一系列新型发展方向越来越重视,并逐步在实践中得以实现。
软件维护是一项综合性很强的
工作,随着软件规模和复杂度的日益提高,使软件维护成为软件生存周期中费用最高、难度最大的一个阶段。
因此,良好的软件可维护性可以降低维护成本,延长软件生命周期。