对于计算机软件可维护性的重要性
浅谈计算机软件工程的维护措施与方法

浅谈计算机软件工程的维护措施与方法浅谈计算机软件工程的维护措施与方法在计算机高速发展的同时,软件工程的功能性不断增强,智能化程度也不断提高。
计算机软件给人们的生活提供了很大的便利。
但是,计算机软件的故障也为用户增添了不少的困扰。
对此,为了保证计算机软件工程发展的安全和稳定,需要不断研究维护计算机软件工程的措施和方法,并注重区别不同软件的维护需要,进而有效提升计算机软件工程的针对性和有效性。
1、计算机软件工程维护的意义软件是计算机实现各种计算机辅助功能的工具和载体,是人机交互的平台,能够实现用户与硬件间的信息交互。
计算机文件、数据都是由二进制数据组成,软件编码也由二进制码组成,因此在软件使用和制作过程中难免存在一些问题和故障。
然而若能定期维护计算机则能极大的降低软件的故障发生率,确保计算机能够稳定正常的工作。
软件不仅仅为应用程序,还具备许多辅助功能,确保用户能高效利用计算机软件来降低工作强度、提高学习效率或工作效率。
但使用计算机的过程中,因为计算机硬件本身的限制或者用户不当的操作可能导致软件故障而对用户的学习、工作效率有一定的影响。
因而,定期的软件维护对提高用户使用效率至关重要。
2、计算机软件工程的维护措施2.1 提高计算机软件工程质量全面提高计算机软件工程的质量,有效减少计算机软件的开发成本使用,科学推进软件工程维护的模块化工作是计算机软件工程维护措施的关键和基础,同时也是软件工程维护不可或缺的工作环节。
提升计算机软件工程的质量和水平的优势主要体现在以下几个方面:第一,在应用这一措施的过程中,如果需要对其中的某一模块的功能进行改变或者调整的话,不会影响和涉及到其他模块的正常工作和运转,只要将需要改变某个功能的模块进行操作和处理就可以达到维护目的。
第二,在应用这一措施时,如果需要对某一计算机软件程序的功能进行一定的拓展和增强,通过增加相应的功能模块或者模块层次就能够实现软件功能的扩展和增强。
第三,应用这一措施可以为软件程序的多次测试和反复测量创造良好的条件和环境,并让及时发现和纠正软件程序存在的事物和问题成为可能。
计算机软件工程维护措施

计算机软件工程维护措施在当今数字化的时代,计算机软件工程已经成为推动社会发展和经济增长的重要力量。
然而,随着软件应用的日益广泛和复杂,软件维护的重要性也日益凸显。
有效的软件维护不仅能够延长软件的使用寿命,提高软件的质量和性能,还能够降低软件的运营成本,增强用户的满意度。
因此,探讨计算机软件工程维护措施具有重要的现实意义。
一、计算机软件工程维护的重要性计算机软件在运行过程中,由于各种原因可能会出现故障或性能下降的情况。
例如,软件可能会受到病毒的攻击,或者由于用户的不当操作导致数据丢失。
此外,随着业务需求的变化,软件可能需要进行功能的升级和改进。
如果不能及时进行有效的维护,这些问题可能会导致软件无法正常运行,影响用户的工作效率,甚至给用户带来经济损失。
另外,良好的软件维护能够提高软件的可靠性和稳定性。
通过定期的检查和修复,可以及时发现并解决潜在的问题,减少软件出错的概率。
同时,软件维护还能够提高软件的适应性。
随着技术的不断发展和业务环境的变化,软件需要不断地进行调整和优化,以适应新的需求和环境。
二、计算机软件工程维护的类型1、改正性维护改正性维护是指对在测试阶段未能发现的,在软件投入使用后才逐渐暴露出来的错误进行的修改。
这些错误可能包括逻辑错误、计算错误、数据错误等。
改正性维护的工作量通常较大,因为需要对软件的代码进行深入的分析和修改。
2、适应性维护适应性维护是指为了使软件适应新的运行环境而进行的维护。
例如,操作系统的升级、硬件设备的更换、数据库管理系统的变更等,都可能导致软件需要进行适应性维护。
3、完善性维护完善性维护是指根据用户的需求,对软件的功能和性能进行改进和扩充。
例如,增加新的功能模块、优化软件的界面、提高软件的运行速度等。
完善性维护是软件维护中最常见的类型,通常占维护工作总量的一半以上。
4、预防性维护预防性维护是指为了提高软件的可维护性和可靠性,采用先进的软件工程方法对软件进行重新设计、编码和测试。
计算机系统维护与管理

计算机系统维护与管理计算机系统维护与管理是一项关键的任务,它涉及到对计算机硬件和软件的有效管理和维护,以保持系统的稳定运行和高效性能。
本文将从以下几个方面来探讨计算机系统维护与管理的重要性以及一些有效的方法。
一、常规维护与管理1. 定期清理硬件定期清理计算机硬件是维持系统正常运行的关键。
我们可以使用压缩空气清理器来清除计算机内部的灰尘和污垢,确保良好的空气流通,防止过热和其他硬件故障。
2. 更新操作系统和软件及时更新操作系统和软件是确保系统安全和性能的重要步骤。
系统和软件的更新通常包括修复漏洞和错误,以及增加新功能和改进。
我们可以定期检查并下载最新的更新程序,以确保系统和软件处于最佳状态。
3. 备份和恢复定期备份数据是保护计算机系统免受数据丢失的重要手段。
我们可以使用外部硬盘驱动器或云存储来保存重要文件和文件夹的备份。
此外,还应定期测试和验证备份数据的完整性,并熟悉恢复过程,以便在必要时快速恢复系统。
4. 安全防护计算机系统的安全防护是维护和管理的重要环节。
我们应确保计算机上安装了防病毒软件,并保持其更新。
此外,还应定期进行系统扫描,以检测和清除任何潜在的威胁。
5. 硬件故障排除当计算机遇到硬件故障时,我们需要及时采取措施进行排除。
这可能包括重新插拔硬件设备,更换损坏的部件,或与专业人员协商进行维修。
二、系统性能优化1. 进程和服务管理优化系统性能的一种重要方法是管理正在运行的进程和服务。
我们可以使用任务管理器或系统监视器来查看占用大量资源的进程,并根据需要停止或关闭它们,以释放计算机的内存和处理器资源。
2. 硬盘空间管理及时清理硬盘上不需要的文件和文件夹是优化系统性能的关键。
我们可以使用磁盘清理工具来删除临时文件、无用的程序和其他占用硬盘空间的文件。
此外,还可以考虑将数据转移到外部驱动器或云存储中,以释放更多的硬盘空间。
3. 网络和互联网连接优化确保计算机连接到快速和稳定的网络是优化系统性能的关键。
对于计算机软件可维护性的重要性

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

计算机软件可维护性方法分析李雪梅(西北民族大学数学与计算机科学学院730030)ʌ摘要ɔ伴随着软件工程的日益完善,软件开发的开发流程已经有了科学的开发模式㊂这样在降低了软件的开发成本的同时也提高了软件的生产率㊁可靠性和可维护性㊂本文针对软件的可维护性及维护方法做了一些研究和摸索㊂ʌ关键词ɔ计算机软件;可维护性;方法分析1.软件维护性的概念软件的生命周期存在两个重要的阶段既开发期与运营期㊂运营期是在系统开发完成后的使用阶段㊂在系统开发阶段需要很大的人力物力资源,因此开发团队都希望系统的运营期能够尽量延长,这样软件的成本会比较低㊂但在软件运行中不出现错误的情况是十分罕见的,对软件的修改是必然的㊂软件的开发是一项大投资,能够降低成本并能在高效率生产条件下保证软件质量是人们对软件的期望,因此为了避免使成本增加,人们往往会选择将现有的软件进行功能扩展和移植㊂这个扩展和移植的过程就是软件开发人员对软件的维护㊂软件的维护可分为三类:纠正性维护;适应性维护;完善性维护㊂纠正性维护是指在软件存在错误而对软件进行维护㊂而在外部环境发生变化,为了适应变化后的外部环境进行的软件维护我们称为适应性维护㊂在客户对软件的需求增多,而现有软件难以实现用户所需求的功能时,软件开发人员要提升系统性能,这就是完善性维护㊂在系统维护工作中,适应性维护和完善性维护所占比例最大,可达总维护工作的80%㊂软件的运行过程同样也是软件开发团队对软件的维护过程,软件维护在整个软件的生命周期所耗费的成本一般达到70%㊂然而软件的维护难度不断提升,成为目前软件开发中所面临的一大问题㊂2.软件可维护性方法2.1建立明确的软件的优先级和质量目标如果说一个程序它的效率和可靠性高㊁容易被理解㊁可被测试㊁能被移植,那么它必须具备高的可维护性㊂但实现程序的这些性能的难度很大,往往需要付出很大的代价,即使这样也未必能保证这些性能达到标准㊂因为这些性能中有一些特性是可以相互促进的,但是也有一些是相互抵触的如:软件的效率和它的可移植性㊂因此要根据软件的实际用途,在用途中这些特性的重要性进行优先级选择㊂2.2使用适当的技术及工具提高软件质量在软件开发中要使用适当的技术和工具,如模块化,它是提高软件质量㊁降低软件开发成本的有效方法,与此同时它也增强了软件的可维护性㊂它的优点在于在某个模块功能需要变动,只需要针对这个模块进行改动,对其他模块不会造成很大影响㊂在对程序进行扩展时则只需要对程序增加新的模块或模块层㊂这样容易对程序进行测试与重复测试;容易提高程序的效率,容易对程序的错误进行定位和纠正㊂使用结构化的程序设计可以使现有的系统的可维护性得到提高㊂采用备用件的方法,可以用一个新的结构的模块将需要改进的模块进行替换㊂这种方法需要对该模块的接口特性清楚的了解,保证软件内部工作情况正常㊂这种方式能够减少新的错误的发生,并为将非结构化模块改造成结构化模块提供了机会㊂采用结构更新技术㊂利用代码评价程序㊁利用相关软件把非结构化的代码向良好的结构代码化转换㊂将程序现有的不完善文档进行改进,提高程序的可理解性,进而提高程序的可维护性㊂采用结构化小组程序设计㊂在软件的开发过程中,实行程序员分组化,这能明确分工及职能,在组织化结构和规范下提高程序生产效率;在对程序进行测试时实行分工明确的结构化检查可以保证质量检查的有效性㊂在软件的维护过程中建立维护小组,也能对程序的质量有所保证㊂2.3在审查过程中保证质量质量保证审查技术可以维持并获得软件的质量,对开发和维护阶段内发生的质量变化也可进行检测㊂包括检查点复审㊁验收检查㊁周期性维护检查以及对软件包进行检查㊂在检查点进行复审是为了验证已开发的软件是够符合标准,在质量需求上是否满足㊂在最初的软件开发阶段就应该把对质量要求考虑进去,而且在开发过程中要在每一个阶段的终点设置检查点㊂不同的检查点的重点也不相同㊂验收检查是软件进行交付之前的最后一次检查,也是对软件可维护性保证的最后一个机会㊂它是从维护性的角度来提出的验收标准,是验收测试的一部分㊂进行周期性的维护审查㊂在软件使用的过程中可能出现一些错误或缺陷,运行环境也可能出现些许变化,此时用户的需要可能增加,因此对软件必须进行必要的修改㊂在对软件进行修改的同时有可能带来导致软件质量下降,产生新的问题或将程序的完整性破坏等危险㊂因此对软件进行如硬件一般的周期性检查时十分有必要的㊂周期性检查的方法和内容基本与开发阶段的检查点复查相同,实际上就是其继续阶段㊂适时的进行维护对于保证用户的正常使用是十分有必要的㊂2.4对有可维护性的语言的选择语言的选择对程序的可维护性有着很大的影响㊂机器语言及汇编语言这种低级语言是非常难以理解和掌握的,对这种语言开发的软件进行维护的难度也非常难㊂相对而言,高级语言有着更好地维护性㊂但在众多高级语言当中,它们的难易程度也有着很大的区别㊂无论在什么语言中,程序被编制后存在的指令都会减少一个数量级,软件的开发速度也会快很多㊂2.5对程序文档的改进程序文档包括程序说明㊁设计策略及实现过程等,是对程序的总目标㊂文档对于程序员来说就是他们进行开发的依据,程序文档对提高程序质量有着重要的影响㊂好的文档增强了对程序的理解和可读性,越复杂的程序对可维护性的文档的需求就越高㊂使用历史文档可在软件的维护过程中大大减少维护工作㊂维护人员可直接根据程序文档对程序中需要维护的部分进行判读,并通过其设计原理对其进行保证完整性的改进和维护㊂3.结束语计算机技术的应用领域正在步入生活生产的各个领域,在国民经济建设当中占有很大的比例㊂可以说是生活中计算机技术已经随处可见㊂计算机信息系统的灵魂是计算机软件技术㊂在软件开发的各个阶段中形成了软件的可维护性,因此我们要掌握软件的生命周期中的各个阶段,实现对软件开发的可维护性保证㊂ʌ参考文献ɔ[1]李峰.计算机软件可维护性方法研究[J ].现代商贸工业,2009(11)[2]张小波.浅析计算机软件可维护性方法及保护技术[J ].计算机光盘软件与应用,2010(10)[3]陈小辉,邓杰英,文佳.浅谈软件的可维护性设计[J ].华南金融电脑,2009(3)[4]曹新辉.计算机软件中的插件技术探讨[J ].科技创业家,2011(7)801计算机软件可维护性方法分析作者:李雪梅作者单位:西北民族大学数学与计算机科学学院730030刊名:知识经济英文刊名:ZHISHI JINGJI年,卷(期):2013(2)1.李峰计算机软件可维护性方法研究 2009(11)2.张小波浅析计算机软件可维护性方法及保护技术 2010(10)3.陈小辉;邓杰英;文佳浅谈软件的可维护性设计 2009(03)4.曹新辉计算机软件中的插件技术探讨 2011(07)引用本文格式:李雪梅计算机软件可维护性方法分析[期刊论文]-知识经济 2013(2)。
计算机软件可维护性方法的探讨

3 . 加强计算机软件可维护性方法发展与研究
在软件维护过程 . 经常遇 到一些 问题 , 如频繁 的员工流失率 . 已离 开的原有开发商 : 缺乏文档资料 , 很难 了解其他人开发体系 ; 不符合程 序或文档的文件不适 当, 并很难理解 软件结构不合理 , 难 以修改或修 改后容易出现错误 该软件 易于开发 , 但其难 以维持 , 通用性较差 , 这 是以前设计软件比较常见 的通病 问题 . 也是在 同一个系统或重复开发 的原 由。 重复开发会加 强其 系统功能 . 但单位人力 、 物力和财力资源会 被浪费 , 而且还影响系统 的正常使用 。 在软件开发过程 . 应充分和适 当 地思索 . 其系统通用性 和 自我维护 能力 . 以避免系统开 发重复是十分 必要的 . 而且软件开发过程是需要重点 留意的地方 如果要设计 多功能易于维护 的软件 . 就必须有 以灵 活 、 通用和易 维护为主 旨的设计方 法和思路 。体 系共性和个性方法分析 . 实现 了对 系统 自维护功能的具 体保证 。在实际应用进程 中使用此系统 , 并且得 到用户的好评 。 在该系统 自 维护功能概念基础上 . 调整其参数 . 其实可 以做一个小的开发工具 , 进而可 以开发类似的系统管理 这至少表 明. 引入该系统 自维护功能定义 .为系统使用和维护管理 带来 了极大方 便。 领域计算机管理 在企业 中的应用范围更为广泛 .程序更加深入 计算机管理应 用程序 可大致分为两个主要方面 . 即工业控制和信息化 管理 。 信息化管理水平 , 即使市场上有很多的软件支持 . 但考 虑到企业 的实际情况 . 要 能更好地适应 自己的管理模式 . 并更有 效地管理 自己 的信息 , 一些核心应用 系统 主要 由企业 自主开发达成 在大多数 的软 件管理上 , 报表类 软件为大部分 . 它们 处理的报表主要 是计 算总的检 查验证等。 执行软件设计 上 . 自我维护功能定义的引入 . 使软件更具生命力 系统 自维护功能给系统设计带来 了一定难度 . 需要采取一些额外系统 资源 占用 . 但随着计算机技术 的发展 . 到今天为止 . 它 的资源不被认为 是一个重要 因素 . 考虑到对系统维护性影 响 . 达到 自我 维护功能是值 得的。对于其 他软件 系统 的开发 , 如在开发 中能够充分考虑系统的共
软件架构设计的重要性

软件架构设计的重要性在日益发达的计算机技术和信息时代,软件已经成为了支撑现代社会的重要基础设施之一,而软件架构作为软件工程中的重要组成部分,对于软件的可维护性、可扩展性、安全性等方面均有着重要的影响。
软件架构设计的重要性显而易见,下文将从多个角度阐述其重要性。
1.架构作为软件的基础软件架构是软件工程的基础,有着非常重要的地位。
一个好的架构能够提高软件的质量,而一个糟糕的架构会拖慢软件的开发和维护。
所以,设计一个好的软件架构是非常重要的选择。
2.架构决定了系统的可维护性一个好的软件架构可以让软件系统更容易维护、升级和扩展。
而一个不好的软件架构则会使维护成本不断上升,逐渐超过开发成本,同时也会拖慢整个项目的进程。
3.架构影响性能软件架构对于系统的性能也有着非常重要的影响。
一个好的软件架构能够让系统快速响应用户的需求,同时保证系统的安全、稳定和可靠。
4.提高代码的质量一个好的软件架构还能够提高代码的质量,避免代码的冗余和重复,避免代码的质量问题。
这样就能够让软件的安全性和稳定性得到保证。
5.支持未来的扩展和改变一个好的软件架构应该能够支持未来的扩展和改变。
这样就能够让软件及其功能一直处于最新的状态。
6.降低开发成本好的软件架构能够降低开发成本、提高开发效率。
通过更好地管理软件的架构,可以提高开发的协作效率,最终减少开发成本。
7.扩大软件的市场份额通过更好的软件架构设计,可以使软件的市场份额不断扩大,从而增加公司的利润。
总之,软件的架构设计是软件开发过程中不可缺少的一部分。
只有合理、完善的软件架构才能提高软件的质量,降低开发成本,增加软件的市场份额,为未来的升级和扩展提供充分的保障。
因此,每一个软件工程师都要认真对待软件架构的设计,珍惜每一个设计决策,不断地完善和改进自己的架构设计方案,为软件开发提供更出色、更可靠、更优秀的贡献。
T计算机软件可靠性和可维护性管理

T计算机软件可靠性和可维护性管理计算机软件的可靠性和可维护性管理是保证软件系统长期稳定运行和持续维护的关键因素。
可靠性是指软件系统在给定的条件下能够满足用户需求并且可预测地工作的能力。
可维护性则是指软件系统在发生改变或出现问题时,能够被快速、有效地修复和扩展的能力。
为了实现软件的可靠性和可维护性管理,需要采取以下措施:1.软件测试:软件测试是评估软件可靠性的关键步骤。
通过不同的测试方法,可以发现软件系统中的潜在问题和缺陷,并进行相应的修复。
常见的软件测试方法包括单元测试、集成测试和系统测试等。
2.可靠性分析:可靠性分析是通过对软件系统进行分析,识别潜在故障并提供改进措施的过程。
可靠性分析方法包括故障模式与影响分析(FMEA)、故障树分析(FTA)以及可靠性块图(RBD)等。
3.异常处理:当软件系统出现异常情况时,需要能够及时检测并处理。
建立完善的异常处理机制,能够提高软件系统的容错性和鲁棒性,并减少因异常情况引发的系统崩溃或数据丢失等问题。
4.高效的代码和数据管理:为了方便软件维护,需要建立良好的代码和数据管理机制。
包括使用版本控制系统来管理软件的不同版本,使用注释和文档来描述代码和数据结构,以及建立清晰的命名规范等。
5.规范的软件开发流程:采用规范的软件开发流程能够提高软件的可维护性。
包括需求分析、设计、编码、测试和发布等步骤,每个阶段都需要有明确的目标和质量要求,并进行相应的验证和审查。
6.持续集成和部署:采用持续集成和部署的方法可以提高软件的可维护性。
通过自动化构建、集成和测试等步骤,能够更快地将改进和修复的代码部署到生产环境中,减少人为错误和手动操作带来的问题。
7.定期的性能优化和安全检查:对于长期运行的软件系统,定期进行性能优化和安全检查是必要的。
通过对系统的性能指标进行监控和分析,可以发现潜在的瓶颈和安全隐患,并进行相应的优化和修复。
最后,软件可靠性和可维护性管理是一个持续改进的过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业论文
题目计算机软件的可维护性学院哈尔滨信息工程学院
专业班级12271
学生姓名朱雪莲
指导教师牛艳辉
论文摘要:
计算机软件是用户和硬件之间的接口界面。
用户主要是通过软件与计算机进行交流,软件是计算机系统设计的重要根据。
为了方便用户,为了使计算机系统具有较高的总体效用,在计算机系统设计时,要对硬件和软件相结合的全局进行考虑,并还要满足用户的需求。
软件保护技术,即怎样防止破解合法软件,软件保护产品所涉及内容极为宽泛,属于综合技术范畴之内。
软件生存周期每个阶段的工作都和软件可维护性有密切关系。
在软件生存周期的每个阶段都采用科学的管理技术和良好的技术方法,而且在每个阶段结束前都从技术和管理两个方面进行严格的审查,合格之后才开始下一阶段的工作,这就使软件开发工程的全过程以一种有条不紊的方式进行,保证了软件的质量,特别是提高了软件的可维护性。
论文关键词:
计算机软件可维护性方法研究
目录
1、计算机软件可维护性概述 (4)
2、计算机软件可维护性一般方法 (4)
2.1、提升软件工具模块化和质量技术 (4)
2.2 建立明确的软件质量目标和优先级 (4)
2.3、选有可维护的程序设计语言 (5)
3、软件维护的副作用 (5)
3.1修改代码的副作用 (5)
3.2修改数据的副作用 (5)
3.3文档的副作用 (6)
4、结束语 (6)
5、参考文献 (5)
6、致谢 (6)
1、计算机软件可维护性概述
软件可维护性即维护人员对该软件进行维护的难易程度,具体包括理解、改正、改动和改进该软件的难易程度。
决定可维护性的因素:系统的大小、系统的年龄、结构合理性、程序设计语言、数据库技术的应用、先进软件开发技术、其他因素。
可维护性可通过7个质量特征来衡量:可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。
软件维护一般包括三大类,一是纠正性维护(Corrective Maintenance)。
这类工作主要是纠正软件存在的错误;二是适应性维护(Adaptive Maintenance)。
这类工作主要是为能适应变化的外部环境,对软件应用程序做出修改;三是完善性维护(Perfective Maintenance)。
这类工作是为能提升系统性能或扩大其功能,也对软件进行更改。
根据调查表明,软件维护成本已占到整个软件生命周期成本的70%以上,软件的可维护性居于首位。
但软件维护的难度越来越大,并已成为目前所面临的最大问题。
软件维护的作用:在运行中发现软件错误和设计缺陷,这些错误和缺陷在测试阶段未能发现;改进设计,以便增强软件的功能;是已经运行的软件能够适应特定的软件、硬件、外部设备和通信设备等的工作环境,或者是要求适应已一变动的数据或文件;是投入运行的软件与其他相关的程序有良好的接口,以利于协同工作;使运行软件的应用范围得到必要的扩充等。
2、计算机软件可维护性一般方法
2.1、提升软件工具模块化和质量技术
模块化是软件开发过程中提高软件质量,降低成本的有效方法之一,也是提高可维护性的有效的技术。
它的优点是如果需要改变某个模块的功能,只要改变这个模块,对其他模块影响很小;如果程序需要增加的某些功能,仅需增加完成这些功能的新的模块或模块层;程序的测试与重复测试比较容易,程序错误易于定位和纠正,以提高程序的运行效率。
采用结构化程序设计技术,提高现有系统的可维护性。
采用备用件的方法,当要修改某一个模块时,用一个新的结构良好的模块替换掉整个模块。
它有利于减少新的错误,并提供了一个用结构化模块逐步取代非结构化模块的机会。
采用如代码评价程序、重定格式程序、结构化工具等自动软件工具——把非结构化代码转换成良好结构代码。
改进和补充文档的目的是为了提高程序的可理解性,以提高可维护性。
2.2 建立明确的软件质量目标和优先级
一个可维护的程序应是可理解的、可靠的、可测试的、可修改的、可移植的、效率高的和可使用的。
但要实现这所有的目标,需要付出很大的代价,而且也不一定行得通。
因为某些质量特性是相互促进的。
但另一些质量特性却是相互抵触
的。
因此,尽管可维护性要求每一种质量特性都要得到满足,但它们的相对重要性应随程序的用途及计算环境的不同而不同。
2.3、选有可维护的程序设计语言
程序设计语言的选择,对程序的可维护性影响很大。
低级语言,即机器语言和汇编语言,非常难理解和掌握,因此其可维护性也是非常困难的。
高级语言比低级语言容易理解,具有很好的可维护性。
但同是高级语言,可理解的难易程度也不一样。
第四代语言,例如查询语言、图形语言、报表生成器等,有的是过程化的语言,有的是非过程化的语言。
有些非过程化的第四代语言,用户不需要指出实现的算法,仅需向编译程序或解释程序提出自己的要求,由编译程序或解释程序自己做出实现用户要求的智能假设,例如自动选择报表格式,选择字符类型和图形显示方式等。
总之,从维护角度来看,第四代语言比其他语言更容易维护。
3、软件维护的副作用
所谓软件维护的副作用是指因修改软件而造成的错误或其它不希望发生的情况。
软件维护的副作用主要有三种:即修改代码的副作用、修改数据的副作用以及文档资料的副作用。
3.1修改代码的副作用
在使用程序设计语言修改源代码时,都可能引入错误。
例如,删除或修改一个子程序、删除或修改一个标号、删除或修改一个标识符、改变程序代码的时序关系、改变占用存储的大小、改变逻辑运算符、修改文件的打开或关闭、改进程序的执行效率,以及把设计上的改变翻译成代码的改变、为边界条件的逻辑测试做出改变时,都容易引入错误。
3.2修改数据的副作用
在修改数据结构时,有可能造成软件设计与数据结构不匹配,因而导致软件出错。
数据副作用就是修改软件信息结构导致的结果。
例如,在重新定义局部或全局常量、重新定义记录或文件格式、增大或减小一个数组或高层数据结构的大小、修改全局或公共数据、重新初始化控制标志或指针、重新排列输入/输出或子程序的参数时,容易导致设计与数据不相容的错误。
数据副作用可以通过详细的设计文档加以控制。
在此文档中描述了一种交叉引用,把数据元素、记录、文件和其它结构联系起来。
3.3文档的副作用
对数据流、软件结构、模块逻辑或任何其它有关特性进行修改时,必须对相关技术文档进行相应修改。
否则会导致文档与程序功能不匹配,缺省条件改变,新错误信息不正确等错误。
使得软件文档不能反映软件的当前状态。
对于用户来说,软件事实上就是文档。
如果对可执行软件的修改不反映在文档里,就会产生文档的副作用。
例如,对交互输入的顺序或格式进行修改,如果没有正确地记录在文档中,就可能引起重大的问题。
过时的文档内容、索引和文本可能造成冲突,引起用户的失败和不满。
因此,必须在软件交付之前对整个软件配置进行评审,以减少文档的副作用。
4、结束语
目前计算机技术在整个国民经济当中具有相当广泛的领域,在人们的日常生活中,计算机技术可以说是无处不在,以软件技术作为其内在灵魂的计算机信息系统,正在对系统高度集成化、结构广泛分布化、信息多元化和功能智能化等一系列新型发展方向越来越重视,并逐步在实践中得以实现。
在软件开发各个阶段,软件的可维护性是在这一阶段形成的,因此,必须在整个软件开发的各个方面上,以提高软件的可维护性进行贯穿。
学习和掌握软件生命周期的各个阶段,对软件的可维护性会产生一定影响,对软件开发和一般软件维护人员的实际工作具有极大裨益。
软件的可维护性常常随着时间的推移而降低,如果没有为软件维护工作制定严格的规定和策略,许多软件都将蜕变到无法维护的地步。
软件维护最终落实在修改源程序和文档上。
为了正确、有效的修改源程序,通常要先分析和理解源程序,然后修改源程序,最后重新检查和验证源程序。
对软件的维护改正了软件中存在的潜在错误,改进性能,但同时也会带来很大的风险,因为软件是一个复杂的逻辑系统,所以哪怕是作微小的改动,都有可能引入新的错误。
虽然设计文档化和细致的测试有助于排除错误,但是软件维护仍然会产生副作用。
参考文献:
[1]丁剑洁.基于度量的软件维护过程管理的研究[D].西北大学,2006.
[2]于士文.敏捷软件开发方法在软件维护中的应用研宛[D].湖南大学,2006.
[3]陈小辉,邓杰英,文佳.浅谈软件的可维护性设计[J].华南金融电脑,2009.
[4]《软件工程与项目管理》第9章软件维护.西安电子科技大学出版社
致谢
这次的毕业设计是在老师的悉心指导下完成的,老师在整个毕业设计期间一
直特别认真负责,经常主动联系我们,询问我们的进度,帮助我们查找资料,在修改设计报告期间总是耐心的为我们查看报告的内容和格式,不厌其烦的指导我们完善设计报告,达到最终的要求。
老师严谨的治学态度和认真负责的责任心给我留下了深刻的印象,这次毕业设计也让我获益匪浅,让我明白应该以一种什么样的心态去面对一个新的知识领域,应该怎样协调理论和具体实践之间的关系。