null软件工程个人成果,妥善保存,请勿传播软件工程张康立
Email:jiangnanedu@126.com软件生命周期个人成果,妥善保存,请勿传播可行性研究需求分析概要
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
详细设计实 现集成测试确认测试使用与维护退役软件定义软件开发软件使用与维护软件生命周期软件维护个人成果,妥善保存,请勿传播软件维护 软件维护主要任务是在软件使用/维护阶段,为了改正错误或满足新的需要而修改软件大型软件的维护成本高达开发成本的4倍左右
目前国外许多软件开发组织把60%以上的人力用于维护已有的软件
而且随着软件数量增多和使用寿命延长,这个百分比还在持续上升课程内容提纲个人成果,妥善保存,请勿传播课程内容提纲第8章:“维护”
软件维护的定义
软件维护的特点
软件维护过程
软件的可维护性
预防性维护软件维护的定义个人成果,妥善保存,请勿传播软件维护的定义Q:什么是维护?
A:在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。
Q:维护做什么?
A: ① 诊断和改正错误 —— 改正性维护(corrective maintenance),约占全部维护活动的 17~20%;
② 为了和变化了的环境(如软\硬件升级、新数据库等)适当地配合而修改软件 —— 适应性维护(adaptive maintenance),约占全部维护活动的18~25%;null个人成果,妥善保存,请勿传播③为了增加新功能,修改已有功能,改造界面,增加HELP等,而修改软件 —— 完善性维护(perfective maintenance),约占全部维护活动的50~66% ;
④为了改进未来的可维护性或可靠性,或为了给未来的改进奠定更好的基础而修改软件 —— 预防性维护(preventive maintenance),与其它维护活动共占总维护的4%左右。注:① 一般维护的工作量占生存周期70%以上,维护成本约为开发成本的4倍(80 - 20 Rule);
② 文档维护与代码维护同样重要。 软件维护的定义课程内容提纲个人成果,妥善保存,请勿传播课程内容提纲第8章:“维护”
软件维护的定义
软件维护的特点
软件维护过程
软件的可维护行
预防性维护null个人成果,妥善保存,请勿传播软件结构、系统接口、
约束条件……???不知道!1、结构化维护与非结构化维护的对比评价代码评价设计文档交付使用软件维护的特点null个人成果,妥善保存,请勿传播2、维护的代价
有形代价:费用已上升至总预算的80%;
无形代价: -占用资源以致延误开发; - 修改不及时引起用户不满 ;
- 维护引入新错误,降低了软件质量,等等。
维护工作量的经验模型:软件维护的特点M = P + K ec-d
其中:M = 维护用的总工作量;
P = 生产性工作量 (e.g. 分析, 评估, 设计, 编码, and 测试);
K = 经验常数 ;
c = 复杂度 ( 主要来自缺乏结构化设计和必要的文档)
d = 维护人员对软件的熟悉程度.null个人成果,妥善保存,请勿传播软件维护的特点软件维护的费用逐年上升null个人成果,妥善保存,请勿传播3、维护的问题§2. 维护的特点别人的程序很难读懂 说明性文档不可缺少!文档与代码不一致那是给谁看呢?开发人员往往不参加维护 工资不一样嘛!大多数软件在设计时没有考虑将来的修改所以不
是人人
能发财软件工程的思想至少部分地解决了与维护有关的每一个问题。课程内容提纲个人成果,妥善保存,请勿传播课程内容提纲第8章:“维护”
软件维护的定义
软件维护的特点
软件维护过程
软件的可维护行
预防性维护软件维护过程个人成果,妥善保存,请勿传播软件维护过程软件维护过程
本质上是修改和压缩了的软件定义和开发过程
有效的维护需要
建立一个维护组织
确定
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
和评价的过程
为每个维护要求规定一个标准化的事件序列
建立一个适用于维护活动的
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
保管过程,并且规定复审标准null个人成果,妥善保存,请勿传播1、建立维护组织(maintenance team):
在维护活动开始之前就明确维护责任是十分必要的,这样可以大大减少维护过程中可能出现的混乱软件维护过程null个人成果,妥善保存,请勿传播系统管理员客户要求任务评价任务评价 钱太少
不干!软件维护过程null个人成果,妥善保存,请勿传播2、维护报告
⑴ 维护
申请
关于撤销行政处分的申请关于工程延期监理费的申请报告关于减免管理费的申请关于减租申请书的范文关于解除警告处分的申请
报告(Maintenance Request Form) 由用户填写的外部文件,提供错误情况说明(输入数据,错误清单等),或修改说明书等。
⑵ 软件修改报告(Software Change Report)
与MRF相应的内部文件,要求说明:
①所需修改变动的性质;
②申请修改的优先级;
③为满足某个维护申请报告,所需的工作量;
④预计修改后的状况。软件 维护过程null个人成果,妥善保存,请勿传播用户类型维护要求估计
错误严重
程度改错
计划
项目进度计划表范例计划下载计划下载计划下载课程教学计划下载
改正
进度不严重分析
问题严重维护
任务分配的人员复审修改后的软件配置评价
优先度开始
分析完善适应低高分配的人员复审后供使用的软件配置软件维护过程3、维护的事件流null个人成果,妥善保存,请勿传播4、保存维护记录
先要确定哪些数据是值得记录,下述内容:
程序标识;源语句数目;机器指令条数;
使用的程序设计语言;程序安装日期;
从安装以来程序运行的次数、失效的次数;
程序变动的层次和标识;
因程序变动而增加的源语句数、删除的源语句数;
每个改动耗费的人—时数;
修改程序的日期;软件工程师的名字;
维护要求表的标识;维护类型;维护开始和结束日期;
累计用于维护的人时数;
与完成的维护相联系的纯效益 。软件维护过程null个人成果,妥善保存,请勿传播5 评价维护活动
可以对维护工作从以下几个方面进行度量。
每次程序运行平均失效的次数;
用于每类维护活动的总人时数;
平均每个程序、每种语言、每种维护类型所做的程序变动数;
维护过程中增加或删除一个源语句平均花费的人—时数;
维护每种语言源程序花费的人时数;
一张维护申请表的平均周转时间;
不同维护类型所占的百分比。软件维护过程课程内容提纲个人成果,妥善保存,请勿传播课程内容提纲第8章:“维护”
软件维护的定义
软件维护的特点
软件维护过程
软件的可维护性
预防性维护null个人成果,妥善保存,请勿传播 软件可维护性可定性地定义为:维护人员理解、改正、改动和改进这个软件的难易程度。
1、用于衡量可维护性的软件特性:软件的可维护性null个人成果,妥善保存,请勿传播⑴ 可理解性(Understandability) 是指由文档代码理解功能运行的容易程度。对外又称 user friendliness.
好程序的特征:模块化、结构化、代码与设计风格一致,高级语言实现。
度量方法:90 - 10 Test ——读源程序10分钟,能否默写出90%?
⑵可测试性(Testability) 是指论证程序正确性的容易程度。
好程序的特征:可理解、可靠、简单。
度量方法:程序复杂度软件的可维护性null个人成果,妥善保存,请勿传播⑶ 可修改性(Reparability) 是指程序容易修改的程度。
好程序的特征:可理解、简单、通用。
度量方法:⑸ 可移植性(Portability) 是指程序被移到一个新环境的容易程度。
好程序的特征:结构好,不特别依赖于某一具体的计算机或操作系统。其中:D = 修改难度; A = 要修改模块的复杂度
C = 所有模块的平均复杂度。
D 1表示修改很困难。⑷ 可靠性软件的可维护性null个人成果,妥善保存,请勿传播⑹ 可使用性⑺ 效率(Efficiency) 是指程序能执行预定功能,而又不浪费机器资源(包括内存、外存、通道容量、执行时间等等)的程度。软件的可维护性null个人成果,妥善保存,请勿传播2、文档 —— 影响可维护性的决定因素,比代码更重要。
⑴ 用户文档:
①功能描述 —— 说明系统能做什么; ②安装文档 —— 说明安装系统的方法及适应特定的硬件配置的方法; ③使用手册 —— 说明使用方法以及错误挽救方法;④参考手册 —— 详尽描述用户可使用的所有系统设施以及它们的使用方法;给出错误信息注解表;⑤操作员指南(如果需要有系统操作员的话)—— 说明操作员处理使用中出现的各种情况的方法。⑵系统文档:即软件生产过程中每一步产生的文档。软件的可维护性null个人成果,妥善保存,请勿传播分析设计编码测试验收配置
复审可靠性
可移植性
可用性可理解性
可修改性
可测试性可理解性
可修改性
可移植性
效率可靠性
效率完整性
一致性
可理解性各阶段复审重点:3、复审软件的可维护性课程内容提纲个人成果,妥善保存,请勿传播课程内容提纲第8章:“维护”
软件维护的定义
软件维护的特点
软件维护过程
软件的可维护性
预防性维护预防性维护个人成果,妥善保存,请勿传播预防性维护如何应对“老程序”
反复多次地做修改程序的尝试
尽可能多地掌握程序的内部细节
应用软件工程对程序重新设计、编码、测试
预防性维护的认识
维护一行源代码的代价是开发的14-20倍
重新设计软件体系结构的必要性
现有软件可作为“原型”使用,提高开发效率
容易明确“变更需求和变更的范围”
可利用逆向工程和再工程工具,使部分工作自动化
可以建立起完善的软件配置本章结束个人成果,妥善保存,请勿传播本章结束- 下一章节导读:“面向对象方法导论”