软件工程 第八章 软件维护

 

软件维护
软件修改报告:
1 满足维护需求表中提出的要求所需要的工作量
2 维护要求的性质
3 这项要求的优先次序
4 与修改有关的事后数据

软件维护工作:
1 修改软件设计
2 复查
3 必要的代码修改
4 单元测试
5 集成测试
6 验收测试
7 复审

复查提出问题:
在当前处境下设计、编码、测试的哪些方面能用不同方法进行?
哪些资源维护资源应该有而事实上没有的?
对于这项维护工作什么是主要的障碍?
要求的维护类型中有预防性维护(把今天的方法学应用到昨天的系统上,以支持明天的需求)吗?

决定软件可维护性的因素
1 可理解性,理解软件的结构、功能、接口、内部处理过程。
2 可测试性,设计成容易测试,容易诊断
3 可修改性,耦合、内聚、信息隐藏、局部化、控制域、作用域的关系;
4 可移植性,程序从一种计算环境转移到另一种设计环境的难易程度;
5 可重用性,同一个事物不做修改可以在不同环境多次重用。

文档
软件系统的文档可以分为用户文档和系统文档两类。
系统文档描述系统设计、实现、测试
要求:
1 必须描述如何使用这个系统
2 必须描述怎么样安装和管理这个系统
3 必须描述系统需求和设计
4 必须描述系统的实现和测试,以便使系统成为可维护的

代码复审,强调编码风格、内部说明文档
对待老程序做法:
1 反复多长地做修改程序的尝试,与不可见的设计及源代码“顽强战斗”
2 通过仔细分析程序尽可能多地掌握程序的内部工作细节,以便有效地修改它
3 在深入理解的基础上,用软件工程方法重新设计、重新编码、测试
4 用软件工程方法学为指导,对程序全部重新设计、重新编码、测试,可以使用case工具

软件再工程过程
正向工程-->库存目录分析-->文档重构-->逆向工程-->代码重构-->数据重构


问答
软件维护
1 校正性维护。在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。
2 适应性维护。为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生变化而修改软件过程
3 完善性维护。为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动
4 预防性维护。为了提高软件的可维护性和可靠性而对软件进行的修改

特点:
1 非结构化和机构化维护。软件的开发过程对维护有很大的影响。若不采用软件工程方法开发软件,则软件只有程序而无文档
维护工作非常困难。若采用软件工程的方法开发软件,则各阶段都有相应的文档。
2 维护的困难性。软件维护性困难性是由于软件需求分析和开发方法的缺陷
3 软件维护费用。

软件维护的流程是什么
软件维护的流程如下:知道维护申请报告、审查申请报告并批准、运行维护并做详细记录

软件维护的副作用有哪些
1 编码副作用 在程序设计语言修改源代码时可能引入的错误
2 数据副作用 在修改数据结构时,可能造成软件设计和数据结构不匹配
3 文档副作用 如果修改没有反应到文档中

什么是软件可维护性?可维护性度量的特性是什么
1 软件能够被理解、校正、适应、及增强功能的容易程度
可理解性、可测试性、可修改性、可靠性、可移植性、可使用性、效率

提高可维护性的方法?
1 建立明确的软件质量目标
2 使用先进的软件开发技术和工具
3 建立明确的质量保证
4 选择可维护性的程序设计语言
5 改进程序的文档


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值