软件工程之软件维护

软件维护:

       软件维护是指软件产品发布后,因修正错误,提升性能或其他属性而进行软件修改的过程。软件维护主要是指根据需求变化或硬件环境的变化,对应用程序进行部分或全部的修改,修改时应充分利用源程序,修改后要填写《程序修改登记表》。并在《程序变更通知书》上新明新旧程序的不同之处。

软件维护的类型:

       软件维护的类型总的来说,大概有四种。分别为改正性维护、适应性维护、完善性维护、预防性维护。

改正性维护,目的是改正在开发周期间未能发现的遗留错误,并加以改正,大约占总维护工作量的20%。适应性维护,指软件适应运行环境的改变而进行的一类维护。它包括因硬件或支持软件改变而引起的变化,软件使用对象的较少改变,将软件移植到新机器上。完善性维护,指提高软件性能和软件的可维护性而对软件修改的过程,是软件维护中最主要的部分。大约占维护工作量的一半。预防性维护,是为了给未来的改变奠定更好的基础而修改软件的维护活动,这项维护相对来说少一些。

       在维护阶段最初的一两年。改正性维护的工作量往往比较大。随着在运行过程中错误发现率迅速降低并逐步趋向平稳,就进入了正常使用期间。但是由于用户经常提高变更软件功能的需求,适应性维护和改正性维护的工作量逐渐增加,而且在这种维护过程中又可能会产生新的错误,从而增大维护的工作量。

维护机构:

        除了较大的软件开发公司外,通常在软件维护工作方面,并不保持一个正式的组织机构。

                 软件工程之软件维护_第1张图片 

软件维护申请报告:

       如上图所示,软件的维护工作需要书写维护申请报告。维护申请报告又称为软件问题报告,此报告应该是有打算申请维护的用户填写的。如果申请的是适应性维护或完善性维护,用户必须提出一份修改说明书,写出所有希望的修改内容。

 软件维护的问题:

       1、理解别人写的程序困难,困难程序随软件配置成分减少而迅速增加。

       2、要维护的软件往往没有相应的文档或资料不全。

       3、绝大多数软件设计工作者在软件设计时没有考虑到将来的维护工作。

       4、软件维护不是一项吸引人的工作。我们往往会说某某开发软件的能力很强。没有听说过某某维护软件的能力很强。总之不是在人们心中不是主流工作。

       5、软件人才的流动,维护不能依靠原开发人员

       6、追踪软件的建立过程非常困难,或者说根本做不到。

软件维护成本:

      软件维护需要的工作量总的来说是非常大的,总的来说大型软件的维护成本的费用是开发成本的四倍所有,目前国外许多软件开发组织把60%以上的人力资源用于软件的维护。有形的软件维护成本是指花费了多少钱。无形的维护成本才是重中之重。

软件维护工作量的模型见下图。

                             软件工程之软件维护_第2张图片

维护报告:

      文档是影响软件可维护性的决定性因素,由于长期使用的大型软件系统在使用过程中肯定会更受多次修改,因此从某种意义上来说文档比程序代码更重要。软件维护人员通常给用户提供空白的维护要求表——有时称为软件问题报告表,这个表格由要求维护的用户填写。如果遇到了一个问题必须完整地描述导致出现错误的环境(包括输入数据、输出数据以及一些其它相关信息)。

总结:

       在软件开发阶段已完成并把软件产品交付给用户使用之后,就进入了软件需求阶段,此阶段的工作目标是保证软件在一定长的时间内能够正常运行,因此对软件的维护工作就成为了必不可少的工作。而且软件维护的工作量相当大。软件产品并不是一锤子买卖,不能在交付用户之后就对用户的需求不能不问,与用户断绝来往。应该尽量满足用户需求的变更以及解决软件在使用过程中所出现的问题等。

       





你可能感兴趣的:(软件工程,软件工程)