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

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

    软件演化的特性

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

    软件维护

          软件维护的概念

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

          软件维护的特点

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

          软件维护的过程

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

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

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

    软件再工程

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

  • 相关阅读:
    PAT Basic 1077 互评成绩计算 (20 分)
    PAT Basic 1055 集体照 (25 分)
    PAT Basic 1059 C语言竞赛 (20 分)
    PAT Basic 1072 开学寄语 (20 分)
    PAT Basic 1049 数列的片段和 (20 分)
    蓝桥杯BASIC-13 数列排序
    蓝桥杯入门——3.序列求和
    蓝桥杯入门——2.圆的面积
    蓝桥杯入门——1.Fibonacci数列
    树的总结(遍历,BST,AVL原型,堆,练习题)
  • 原文地址:https://www.cnblogs.com/zchenjian/p/4300892.html
Copyright © 2011-2022 走看看