software maintainence

来源:互联网 发布:51testing软件测试 编辑:程序博客网 时间:2024/05/13 05:26

一 ,软件的可维护性由下面3个因素决定。

(1) 可理解性 理解一个软件通常是这样的步骤:从 理解子系统,到模块,再到功能点,再到内部处理过程。

(2) 可测试性 借助人工的经验或者优秀的测试工具

(3) 可修改性

 

软件维护出现危机会导致软件危机。 软件工程方法的采用,使开发过程进一步规范,强制性地产生了一系列文档,文档从各个方面,各个阶段对软件的结构和原理加以说明。

 

二,软件系统的文档可分为 User document 和 System document 两类。

 

用户文档主要描述软件功能和使用方法。它至少包括如下的内容。

1 功能说明:说明系统能做什么。

2 安装文档:说明系统安装过程及所需的软硬件配置。

3 用户使用手册:通过详尽的例子向终端用户介绍如何使用这个系统。

4 参考手册:从技术的角度对系统进行形式化的描述

5 管理员指南:说明系统管理人员如何处理使用中出现的各种情况。

 

系统文档则关心实现细节,描述系统需求,设计,实现和测试等各个方面。

软件开发过程中的绝大多数文档都属于系统文档,如需求分析报告、系统设计报告、源码、测试计划等。

 

三,可维护的度量

我们从软件的内部和外部两个方面来度量可维护性。

  可维护性指标 = 1/(1+平均修复时间)

 环路数可以用于选择软件维护的最优方案。运用图论计算出控制流图的线性无关路径数,通过计算环路数的增长幅度,就可以进行选择了最佳维护方案。

 但是,目前还没有一个典型、全面、通用的模型,需要依赖软开组织自身的经验,建立可维护的经验模型。

 

四,软件维护的分类

从性质上分为:纠错型维护,预防型维护,适应型维护和完善型维护。

 

五,前面说了一堆,软件企业需要维护部门的设立。小公司不具备相应机构,也需要非正式的责任的明确到维护负责人。

企业要确立明确的维护流程

 

六,每一次维护活动的实施都需要经历如下的步骤:

:确认维护需求

:制定维护计划

:编码

:测试

:交互用户

 

七,软件再生工程包括6类活动

1 筛选:选出现有软件系统中需要进行再生的模块

2 文档重构:这里要注意对正在修改的局部必须要有完善的文档

3 逆向工程:逆向工程具有从现有的软件代码中抽取有关的数据、体系机构和处理过程的设计信息

4 代码重构:用重构工具分析源码,标出非结构化的部分,然后自动重构问题代码,经过复审和测试生成最终的重构代码,同时更新有关文档

5 数据重构:指重构数据结构。

6 重新开发

当然,以上几点可以根据具体情况进行取舍

 

 

 

 

原创粉丝点击