软件工程导论之第八章维护总结

软件维护是软件生命周期的最后一个阶段
软件维护的任务:维护软件的正常进行,不断改进软件的性能和质量,为软件的进一步推广应用和更新替换做积极工作
软件交付使用的工作:
1.将旧系统的数据转换到新系统(数据库数据)
2.新系统调试完成并加载入机器,准备运行
3.将有关资料交给用户
4.对用户做培训
软件交付的使用的方式:
1.直接方式:用新系统直接替换旧系统,没有过渡
{
优点:转换简单,费用节省
缺点:风险大
}
2.并行方式:同时运行新系统和旧系统,比较处理结果
{
优点:可以对系统进行全面测试,减少了新系统失灵的风险,因为旧系统依旧存在,用户也有一段时间熟悉
缺点:费用高,双系统需要更多人力财力
}
3.逐步方式
逐步方式是将软件分期,部分的交付使用,这种方式既能直接转换产生的危险性,又能减少并行方式的费用,这种方式在系统中一部分是旧的一部分是新的需要协调好相互配合和接口的问题
软件维护的原因:
1.改正在特定条件下暴露出来的一些潜在程序错误或设计缺陷
2.在软件使用过程中数据环境发生变化或者处理环境发生变化,需要修改软件适应这种变化
3.用户和数据处理人员在使用时常提出改进现有功能,增加新的功能以及改善总体性能的要求,为这些修改软件
软件维护类型:
1.改正性维护:交付给用户使用的软件,在用户使用过程中发现修改,诊断和改正错误的过程称为改正性维护
2.适应性维护:为了使软件适应外部环境的变化(数据库环境,输入输出的方式)而修改的软件的过程叫做软件的适应性维护
3.完善性维护:为了满足客户在使用过程中的新的性能的要求的变化,增加新的功能,修改现有的功 能所做的变化称作完善性维护
4.预防性维护:为了改进软件在未来的可维护性和可靠性,或者给未来的改进奠定更好的基础所做的修改
二、软件维护的特点:
非结构化维护:软件配置的唯一成分是代码,维护从软件程序开始,对软件结构,数据结构,系统接口,设计约束等,不能进行回归测试,维护代价较大
结构化维护:有完整的软件配置,维护从评价设计文档开始,确定软件的结构,性能和接口的特点,现修改设计,接着修改代码,再进行回归测试
三、软件维护过程
1.维护组织
软件维护报告
软件维护事件流
保存维护记录
评价维护活动
四、软件的可维护性能:
1.决定软件的可维护性的因素:
a.可理解性:可理解性表现为外来读者理解软件结构、接口、功能和内部过程的难易程度
影响可理解性:模块化、结构化的设计、详细设计文档、源代码内部文档、良好的程序设计语言
b.可测试性:在设计开发阶段应该把软件设计成易测试的和易维护的
c.可修改性:软件的可修改程度和软件设计阶段采用的原则和策略是直接相关的
d。可移植性
e可重用性
提高可维护性是支配软件工程方法学所有步骤 的关键目标

五、软件再工程过程:
1.库存目录分析
2.文档重构
3.逆向分析
4.代码重构
5.数据重构
6.正向工程

*******************此系列文章都是张海藩老师的软件工程导论(第六版)********************
*****************每天更新一章***********************








1、实验目的与要求 (1) 上网查询浏览有关软件工程环境网站,了解有关软件工程环境的定义、配置、功能和用途; (2) 下载有关软件工程标准,如国际ISO9000-3、国家GB8567-1988、2006和行业标准等,重点阅读软件分析阶段的文档编写指南; (3) 由指导老师指定或由学生自己选择一实验题目——软件工程项目。 (4) 安装、运行、熟悉Visio绘图工具的基本功能,并熟练掌握各种分析建模工具的使用方法,如系统流程图、数据流图、E-R图等,完成选定题目需求规格说明书中功能、数据和行为模型的创建与和说明。 2、实验内容 1. 软件工程环境: 软件工程环境 (SoftWare Engineering Environment ,简称SEE) 是指以软件工程为依据,支持典型软件生产的系统。软件工程环境是软件工程学科各方面研究发展的物化表现,具有以下特点:(1)软件工程环境强调支持软件生产的全过程。实践表明:软件工具仅支持生命周期中某些特定活动,工具箱将一些相互关联的工具组织到一起,使其相互通信,从而支持了生命周期中某些成组活动,自动化程序有所提高。软件开发环境旨在通过环境信息库和消息通信机制实现工具的集成,从而为软件生命周期中某些过程的自动化提供了更有效的支持。不同的过程模型导致不同类型的软件开发环境。然而,软件过程领域的最新研究结果表明,软件过程概念已不仅局限在软件开发和软件维护,而是发展到包括系统集成和软件产品的制作与生产。SEE旨在解决软件过程中各个过程和活动如何按照各条路径并行完成。管理、支持、获取、供应等过程贯穿于整个生存周期,特别是管理活动和支持活动,从合作观点来看,对于软件生产具有更为重要的地位。因此,促使人们在更高的层次上考虑如何运用“整体大于各部分之和”的系统工程,提高整个软件过程的整体计算机辅助支持程度。(2)软件工程环境强调大型软件的工业化生产。软件发展已经形成了大规模的产品市场。因此,软件产品的生产也必将走上工业化的道路。所请的工业化是指能够形成规模经济的生产形式。工程化注重软件生产过程中软件生产者具有一定的工程训练,遵循一定的工程准则。工业化则更加强调软件生产过程中生产资料的作用,表现为把大量的生产者的技能和经验转移到生产工具之中,从而减少生产过程中的劳动比例、减少生产工具的增值比例。SEE是为工业化生产提供一整套的支持设施。(3)软件工程环境以集成和剪裁作为主要技术路径,实现软件工业化生产的目标。SEE具有多维,表现在不仅要集成与软件开发技术相关的工具,还要集成与支持技术、管理技术相关的工具,并将它们有机地结合在一起。(4)标准化。软件生产走向工业化需要建立相应的工业标准。SEE正在形成一个国际标准。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值