软件工程教案(软件维护).ppt
《软件工程教案(软件维护).ppt》由会员分享,可在线阅读,更多相关《软件工程教案(软件维护).ppt(23页珍藏版)》请在优知文库上搜索。
1、软件维护软件维护可行性研究可行性研究需求分析需求分析概要设计概要设计详细设计详细设计实实 现现集成测试集成测试确认测试确认测试使用与维护使用与维护退役退役软件定义软件定义软件开发软件开发软件使用软件使用与维护与维护软件维护软件维护主要任务是在主要任务是在软件使用软件使用/ /维护阶段,维护阶段,为了改正错误或满足新的需要而修改软件为了改正错误或满足新的需要而修改软件n大型软件的维护成本高达开发成本的大型软件的维护成本高达开发成本的4倍倍左右左右n目前国外许多软件开发组织把目前国外许多软件开发组织把60以上的人以上的人力用于维护已有的软件力用于维护已有的软件n而且随着软件数量增多和使用寿命延长,
2、这个而且随着软件数量增多和使用寿命延长,这个百分比还在持续上升百分比还在持续上升Q:什么是维护?:什么是维护?A:在软件已经交付使用之后,为了改正错误或满:在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。足新的需要而修改软件的过程。Q:维护做什么?:维护做什么?A: 诊断和改正错误诊断和改正错误 改正性维护改正性维护(corrective maintenance),约占全部维护活动的约占全部维护活动的 1720%; 为了和变化了的环境(如软为了和变化了的环境(如软硬件升级、新硬件升级、新数据库等)适当地配合而修改软件数据库等)适当地配合而修改软件 适应性适应性维护维护(ad
3、aptive maintenance),约占全部维护活,约占全部维护活动的动的1825%;例如:例如:MySQL-SQL Server 低冗余低冗余DB存储方案存储方案为了增加新功能,修改已有功能,改造界面,为了增加新功能,修改已有功能,改造界面,增加增加HELP等,而修改软件等,而修改软件 完善性维护完善性维护(perfective maintenance),约占全部维护约占全部维护活动的活动的5066% ; 为了改进未来的可维护性或可靠性,或为了给为了改进未来的可维护性或可靠性,或为了给未来的改进奠定更好的基础而修改软件未来的改进奠定更好的基础而修改软件 预防性维护预防性维护(preven
4、tive maintenance),与,与其它维护活动共占总维护的其它维护活动共占总维护的4%左右。左右。注:注: 一般维护的工作量占生存周期一般维护的工作量占生存周期70%以上,维以上,维护成本约为开发成本的护成本约为开发成本的4倍倍(80 - 20 Rule); 文档维护与代码维护同样重要。文档维护与代码维护同样重要。 例如:例如:Zigbee无线采集管理系统无线采集管理系统软件结构、系统接口、软件结构、系统接口、约束条件约束条件?不知道!不知道!(1)(1)结构化维护与非结构化维护与非结构化维护的对比结构化维护的对比维护要求维护要求软件配置软件配置只有代码只有代码评价代码评价代码重编程序
5、重编程序复复 查查完整配置完整配置评价设计文档评价设计文档估计改动影响,计划实施途径估计改动影响,计划实施途径修改设计修改设计重编程序重编程序复复 查查交付使用交付使用2. 2. 软件维护的特点软件维护的特点(2) (2) 维护的代价维护的代价 有形代价:费用已上升至总预算的有形代价:费用已上升至总预算的80%; 无形代价:无形代价: 占用资源以致延误开发;占用资源以致延误开发; 修改不及时引起用户不满修改不及时引起用户不满 ; 维护引入新错误,降低了软件质量,等等。维护引入新错误,降低了软件质量,等等。 维护工作量的经验模型:维护工作量的经验模型:M = P + K ec-d其中:其中:M
6、= 维护用的总工作量维护用的总工作量; P = 生产性工作量生产性工作量 (e.g. 分析分析, 评估评估, 设计设计, 编码编码, and 测试测试); K = 经验常数经验常数 ; c = 复杂度复杂度 ( 主要来自缺乏结构化设计和必要的文档主要来自缺乏结构化设计和必要的文档) d = 维护人员对软件的熟悉程度维护人员对软件的熟悉程度.35%40%40%60%70%80%80%90%2000年年1990年年1980年年1970年年软件维护的费用逐年上升软件维护的费用逐年上升(3) (3) 维护的问题维护的问题别人的程序很难读懂别人的程序很难读懂 说明性文档不可缺少说明性文档不可缺少!文档与
7、代码不一致文档与代码不一致那是给谁看呢?那是给谁看呢?开发人员往往不参加维护开发人员往往不参加维护 工资不一样嘛!工资不一样嘛!大多数软件在设计时没有考虑将来的修改大多数软件在设计时没有考虑将来的修改所以不所以不是人人是人人能发财能发财软件工程软件工程的思想至少部分地解决了与维护有的思想至少部分地解决了与维护有关的每一个问题。关的每一个问题。l软件维护过程软件维护过程l本质上是修改和压缩了的软件定义和开发过程本质上是修改和压缩了的软件定义和开发过程l有效的维护需要有效的维护需要l建立一个建立一个维护组织维护组织l确定确定报告和评价报告和评价的过程的过程l为每个维护要求规定一个为每个维护要求规定
8、一个标准化标准化的事件序列的事件序列l建立一个适用于维护活动的建立一个适用于维护活动的记录保管过程记录保管过程,并且规定,并且规定复复审标准审标准(1) (1) 建立维护组织建立维护组织(maintenance team)(maintenance team): 在维护活动开始之前就明确维护责任是十在维护活动开始之前就明确维护责任是十分必要的,这样可以大大减少维护过程中可能分必要的,这样可以大大减少维护过程中可能出现的混乱出现的混乱要要求求维维护护维护管理员维护管理员系系统统管管理理员员客户要求客户要求任务评价任务评价任务评价任务评价变变化化授授权权人人 钱太少钱太少不干!不干!(2) (2)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 教案 软件 维护
