书通范文网 -工作总结,演讲稿,思想汇报,信函等各种范文。
书通网logo
当前位置: 书通网 > 范文 > 心得体会 > 软件工程学习心得体会(4)

软件工程学习心得体会(4)

时间:2015-03-12 作者:曹媛 分类:心得体会 来源:书通网

2.软件维护的困难:

软件维护的困难主要是由于软件需求分析和开发方法的缺陷造成的。软件生存周期中的开发阶段没有严格而科学的管理和规划,就会引起软件运行时的维护困难。这种困难表现在如下几个方面。

(1)读懂别人的程序是困难的。

(2)文档的不一致性。这种不一致性表现在各种文档之间的不一致以及文档与程序之的不一致。

(3)软件开发和软件维护在人员和时间上存在差异。

(4)软件维护不是一项吸引人的工作。

3. 软件维护的费用:

软件维护的费用在总费用中的比重是不断增加的,它在 1970 年占 35%~40%,1980 年上升到 40%~60%,1990 年上升到 70%~80%。软件维护费用不断上升,这只是软件维护有形的代价,另外还有无形的代价,即要占用更多的资源。由于大量软件的维护活动要使用较多的硬件、软件和软件人员等资源,这样一来,投入新的软件开发的资源就因不足而受到影响。由于维护时的改动,在软件中引入了潜在的故障,从而降低了软件的质量。

4.软件维护的分类

软件维护有改正性维护、适应性维护、完善性维护和预防性维护 4 类。

(1)改正性维护。在软件交付使用后,由于开发时测试的不彻底、不完全,必然会有一部分隐藏的错误被带到运行阶段来,这些隐藏下来的错误在某些特定的使用环境下就会暴露。为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程,就叫做改正性维护。例如,改正性维护可以是改正原来程序中未使开关(off/on)复原的错误;解决开发时未能测试各种可能情况带来的问题;解决原来程序中遗漏处理文件中最后一个记录的问题等。

(2)适应性维护。随着计算机的飞速发展,外部环境(新的硬、软件配舲)或数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化,为了使软件适应这种变化,而去修改软件的过程就叫做适应性维护。例如,适应性维护可以是为现有的某个应用问题实现一个数据库;对某个指定的事务编码进行修改,增加字符个数;调整两个程序,

使它们可以使用相同的记录结构;修改程序,使其适用于另外一种终端。

(3)完善性维护。在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性,这种情况下进行的维护活动叫做完善性维护。例如,完善性维护可能是修改一个计算工资的程序,使其增加新的扣除项目;缩短系统的应答时间,使其达到特定的要求;把现有程序的终端对话方式加以改造,使其具有方便用户使用的界面;改进图形输出;增加联机帮助(help)功能;为软件的运行增加监控设施等。在维护阶段的最初一两年,改正性维护的工作量较大。随着错误发现率急剧降低,并趋于稳定,就进入了正常使用期。然而,由于改造的要求,适应性维护和完善性维护的工作量逐步增加,在这种维护过程中又会引入新的错误,从而加重了维护的工作量。实践表明,在几种维护活动中,完善性维护所占的比重最大。即大部分维护工作是改变和加强软件,而不是纠错。所以,维护并不一定是救火式的紧急维修,而可以是有计划、有预谋的一种再开发活动。事实证明,来自用户要求而扩充、加强软件功能、性能的维护活动约占整个维护工作的 50%。

(4)预防性维护。除了以上三类维护之外,还有一类维护活动,叫做预防性维护。这是为了提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础。通常,预防性维护定义为:“把今天的方法学用于昨天的系统以满足明天的需要”。也就是说,采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编制和测试。

推荐阅读