工程部学习心得体会如何写?( 三 )


2.软件维护的困难:
软件维护的困难主要是由于软件需求分析和开发方法的缺陷造成的 。软件生存周期中的开发阶段没有严格而科学的管理和规划,就会引起软件运行时的维护困难 。这种困难表现在如下几个方面 。
(1)读懂别人的程序是困难的 。
(2)文档的不一致性 。这种不一致性表现在各种文档之间的不一致以及文档与程序之的不一致 。
(3)软件开发和软件维护在人员和时间上存在差异 。
(4)软件维护不是一项吸引人的工作 。
3.软件维护的费用:
软件维护的费用在总费用中的比重是不断增加的,它在1970年占XX%~XX%,1980年上升到XX%~XX%,1990年上升到XX%~XX% 。软件维护费用不断上升,这只是软件维护有形的代价,另外还有无形的代价,即要占用更多的资源 。由于大量软件的维护活动要使用较多的硬件、软件和软件人员等资源,这样一来,投入新的软件开发的资源就因不足而受到影响 。由于维护时的改动,在软件中引入了潜在的故障,从而降低了软件的质量 。
4.软件维护的分类
软件维护有改正性维护、适应性维护、完善性维护和预防性维护4类 。
(1)改正性维护 。在软件交付使用后,由于开发时测试的不彻底、不完全,必然会有一部分隐藏的错误被带到运行阶段来,这些隐藏下来的错误在某些特定的使用环境下就会暴露 。为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程,就叫做改正性维护 。例如,改正性维护可以是改正原来程序中未使开关(off/on)复原的错误;解决开发时未能测试各种可能情况带来的问题;解决原来程序中遗漏处理文件中最后一个记录的问题等 。
(2)适应性维护 。随着计算机的飞速发展,外部环境(新的硬、软件配臵)或数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化,为了使软件适应这种变化,而去修改软件的过程就叫做适应性维护 。例如,适应性维护可以是为现有的某个应用问题实现一个数据库;对某个指定的事务编码进行修改,增加字符个数;调整两个程序,
【工程部学习心得体会如何写?】使它们可以使用相同的记录结构;修改程序,使其适用于另外一种终端 。
(3)完善性维护 。在软件的使用过程中,用户往往会对软件提出新的功能与性能要求 。为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性,这种情况下进行的维护活动叫做完善性维护 。例如,完善性维护可能是修改一个计算工资的程序,使其增加新的扣除项目;缩短系统的应答时间,使其达到特定的要求;把现有程序的终端对话方式加以改造,使其具有方便用户使用的界面;改进图形输出;增加联机帮助(Help)功能;为软件的运行增加监控设施等 。在维护阶段的最初一两年,改正性维护的工作量较大 。随着错误发现率急剧降低,并趋于稳定,就进入了正常使用期 。然而,由于改造的要求,适应性维护和完善性维护的工作量逐步增加,在这种维护过程中又会引入新的错误,从而加重了维护的工作量 。实践表明,在几种维护活动中,完善性维护所占的比重最大 。即大部分维护工作是改变和加强软件,而不是纠错 。所以,维护并不一定是救火式的紧急维修,而可以是有计划、有预谋的一种再开发活动 。事实证明,来自用户要求而扩充、加强软件功能、性能的维护活动约占整个维护工作的XX% 。