《11-第十一章-软件维护-软件工程教案-海南大学(共15章).ppt》由会员分享,可在线阅读,更多相关《11-第十一章-软件维护-软件工程教案-海南大学(共15章).ppt(25页珍藏版)》请在三一办公上搜索。
1、软件工程(第二版)齐治昌、谭庆平、宁洪 编著 高等教育出版社,主讲:陈明锐 教授,省级精品课程,第十一章 软件维护,软件维护的种类 软件可维护性 软件维护的实施 软件维护的管理 软件再工程,软件维护的种类,完善性维护(perfective maintenance)完善和加强产品的功能与性能,以满足用户日益增长的需要。50%适应性维护(adaptive maintenance)使软件适应运行环境的变化。25%纠错性维护(corrective maintenance)纠正在开发期间未能发现的遗留错误。21%预防性维护(preventive maintenance)4%为了进一步改善软件的可靠性和易
2、维护性,或者为将来的维护奠定更好的基础而对软件进行修改。,软件可维护性(maintainability),可维护性:衡量维护容易程度的一种软件属性。影响可维护性的软件属性 可理解性(understandability)可修改性(modifiability)可测试性(testability),对可维护性的定量度量,问题识别时间管理延迟时间收集维护工具时间问题分析时间修改规格说明书时间改正时间局部测试时间整体测试时间维护复审时间分发与恢复时间,提高可维护性的途径,最根本途径:使每一个开发人员维护的重要性,在各个开发阶段都把减少今后的维护工作量作为努力的目标。开发期间对软件可维护性影响最大的活动提供
3、完整一致的文档采用现代化的开发方法,有文档维护与无文档维护的对比,软件维护的实施步骤,软件维护的流程,维护修改建议,分析修改建议,是否合理,提交管理部门审查,是否同意,修改,撤销,N,Y,N,Y,进行测试,提交管理部门审批,是否批准,更新主文档,Y,更新其他文档,提交使用,修改,N,维护申请单,用于维护开始之前由申请维护的用户填写应完整地说明导致错误发生的环境(纠错性维护)提出一个简要的需求说明(适应性或完善性维护),修改报告单,用于维护结束之后由直接进行修改和负责文档管理的人员共同填写用于记录在维护时期对软件所作的每一次修改,修改编码的副作用,修改或删除子程序修改或删除语句标号修改或删除标识
4、符为提高执行效率而做得修改修改文件的open,close操作修改逻辑操作符有设计变动引起的代码修改修改对边界条件的测试,修改数据的副作用,局部或全局常量的再定义记录或文件格式的再定义增减数据或其他复杂数据结构的体积修改全局数据重新初始化控制标志和指针重新排列I/O表或子程序参数表,修改文档的副作用,文档与程序是软件中不可分的组成部分任何对程序的修改,都应该及时反映到有关的文档上,软件维护的管理,维护的机构与人员 机构:软件开发单位人员:1名高级管理人员或有高级管理人员和专业 人员组成的修改控制组管理内容对申请的审查与批准维护活动的计划和安排人力和资源的分配批准并向用户分发维护的结果对维护工作进
5、行评价、分析等,维护时期的配置管理,软件配置:一个软件在生存周期内,它的各种形式、各种版本的文档与程序的总称配置管理工具配置管理数据库版本控制库前者是对所有软件产品进行宏观管理的工具,后者着眼于单个的产品,以文件的形式记录,维护管理文档,维护日志是维护管理员评价维护工作有效性的主要依据维护前程序的情况维护中对程序修改的情况其它的重要数据,维护管理文档,维护申请摘要报告是一种定期报告内容包括上次报告以来已经处理了的、正在处理的和新接到的维护申请项数及其处理情况,以及新申请中特别紧迫的问题。维护趋势图不定期的报告显示统计时期内每月收到的新维护申请以及正在处理的申请项数,维护费用的估算,其中:M维护
6、总工作量P生产性活动K经验常数C程序复杂度(由非结构化维护引起的)D对维护软件熟悉程度的度量。,其中:MM为工作量 ACT=(修改指令数+增加的指令数)/原指令总数 EAF为工作量调节因子,在第十三章会讲到,软件再工程,软件再工程运用逆向工程、重构等技术,在充分理解原有软件的基础上,进行分解、综合、并重新构建软件,用于提高软件的可理解性、可维护性可复用性或演化性。,再工程=逆向工程+正向工程,正向工程(Forward Engineering):由抽象的、逻辑性的、不依存代码的设计逐步展开,直至具体代码实现的开发活动,即从需求规格设计到产品初次发布的过程或子过程。逆向工程(Reverse Engineering):即对既存系统的分析过程,明确系统各组成部分及其相互间的关系,并将系统以其他形式来表现。,逆向工程,软件重构,代码重构应用最新的设计和实现技术修改老系统的代码提高可维护性数据重构不改变系统结构,作业,习 题 P262 1.4.6.8.同学们辛苦了!,