zoukankan      html  css  js  c++  java
  • 《软件工程》总结——第十一章

    本章的主要内容是软件演化

    软件演化的特性

                1985 年,Lehman 和 Belady 总结了软件在更改过程中演化的特性:1. 软件维护是一个必然的过程;2. 软件的不断修改会导致软件的退化;3. 软件系统的演化特性是在早起的开发阶段建立起来的。4. 软件开发的效率与投入的资源无关;5. 在软件系统中添加新功能无可避免的会产生新的缺陷。对于软件变更引起的各种问题,人们通常采用不同的策略进行处理:软件维护和软件再工程。

    软件维护

          软件维护的概念

                软件维护是指在软件运行或维护阶段对软件产品所进行的修改,这些修改可能是改正软件中的错误,也可能是增加新的功能以适应新的需求,但是一般不包括软件系统结构上的重大改变,根据软件维护的不同原因,软件维护可以分成三种类型:改正性维护、适应性维护和完善性维护。

          软件维护的特点

                1. 软件维护受开发过程影响大;2. 软件维护困难多;3. 软件维护成本高。

          软件维护的过程

                1. 改正性维护:首先应该评价软件错误的严重程度,对于十分严重的错误,维护人员应该立即实施维护;对于一般性的错误,维护人员可以将有关的维护工作与其他开发任务一起进行规划。在有些情况下,有的错误非常严重,以致不得不临时放弃正常的维护控制工作程序,即不对修改可能带来的负作用作出评价,也不对文档作相应的更新,而是立刻进行代码的修改。这是一种救火式的改正性维护,只有在非常紧急的情况下才使用,这种维护在全部维护中只占一小部分比例。应当说明的是,救火式不是取消,只是推迟了维护所需要的控制盒评价。一旦危机取消,这种控制和评价活动必须进行,以确保当前的修改不会增加更为重要的问题。

                2. 适应性维护:首先应该确定软件维护的优先次序,再与其他开发任务一起进行规划。

                3. 完善性维护:考虑到商业上的需要和软件的发展趋势,有些完善性维护可能不会被接受。杜宇被接受的维护申请,应该确定其优先次序并规划其开发工作。

    软件再工程

          软件再工程以系统理解为基础,结合逆向工程、重构和正向工程等方法,将现有系统重新构造成为新的形式。形象的说,就是”把今天的方法学用于昨天的系统以满足明天的需要“。典型的软件再工程过程,主要包括:对象选择、反向工程、文档重构、代码重构、数据重构和正向工程等活动。

  • 相关阅读:
    禁用Firefox浏览器中的CSS、Flash及Image加载
    禁用Chrome浏览器中的Image加载
    启用Firefox的同时打开Firebug
    禁用IE的保护模式
    禁用Chrome浏览器的PDF和Flash插件
    屏蔽Chrome的--ignore-certificate-errors提示及禁用扩展插件并实现窗口最大化
    技术文档
    操作工具
    接口自动化
    nmon
  • 原文地址:https://www.cnblogs.com/zchenjian/p/4300892.html
Copyright © 2011-2022 走看看