第8章软件维护分析.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章软件维护分析

5. 评价维护活动 可以从以下方面度量维护工作: 1)每次程序运行平均失效的次数; 2)用于每一类维护活动的总人时数; 3)平均每个程序、每种维护类型所做的程序变动数; 4)维护过程中增加或删除一个源语句平均花费的人时数; 5)维护每种语言平均花费的人时数; 6)一张维护要求表的平均周转时间; 7)不同维护类型所占的百分比。 8.4 软件的可维护性 软件可维护性是:维护人员理解、改正和改进软件的难易程度。 一个软件的可维护性,主要由五个因素决定: 1. 可理解性 可理解性表现为外来读者理解软件的结构、接口、功能和内部过程的难易程度。 8.4.1 决定软件可维护性的因素 影响软件可理解性的重要因素有:模块化、结构化设计、详细的设计文档资料、源代码内部文档、良好的程序设计语言等。 2. 可测试性 在设计开发阶段应该注意尽量把软件设计成容易测试和容易诊断的,可用的测试工具和调试工具对测试和诊断非常重要。 3. 可修改性 软件的可修改程度与软件设计阶段采用的原则和策略是直接相关的。如:模块的耦合、内聚、控制范围和作用范围、局部化程度都直接影响软件的可修改性。 4. 可移植性 5. 可重用性 决定软件可维护性的最终因素是软件设计阶段所采用的方法,以及软件文档资料的好坏。 提高软件的可维护性是软件工程的一个重要目标。 8.4.2 文档 1. 用户文档 1)功能描述; 2)安装文档; 3)使用手册; 4)参考手册; 5)操作员指南; 2. 系统文档 SVN 软件: 配置修改记录、代码版本管理。 8.4.3 可维护性复审 测试结束时进行正式的可维护性复审,称为配置复审。 目的是:保证软件配置的所有成分是完整的、一致的和可理解的。 在软件的维护过程中,花费的大量工作量会直接影响软件的成本。 因此,应当考虑有哪些因素会影响软件维护的工作量,应该采取什么维护策略,才能有效地维护软件并控制维护的成本。 8.4.4 影响维护工作量的因素 影响软件维护工作量的因素有: 1)系统大小。系统越大,功能越复杂,理解掌握起来就越困难,需要的维护工作量越大。 2)程序设计语言。使用功能强的程序设计语言可以控制程序的规模。语言的功能越强,生成程序所需的指令数就越少;语言的功能越弱,实现同样功能所需的语句就越多,程序就越大,维护起来就越困难。 3)系统年龄。老系统比新系统需要更多的维护工作量。许多老系统在当初并未按照软件工程的要求进行开发,没有文档,或文档太少,或者在长期的维护中许多地方与程序不一致,维护起来困难较大。 4)数据库技术的应用。使用数据库工具,可有效地管理和存储用户程序中的数据,可方便地修改、扩充报表。数据库技术的使用可以减少维护工作量。 5)先进的软件开发技术。在软件开发时,如果使用能使软件结构比较稳定的分析与设计技术(如面向对象分析、设计技术),可以减少一定的工作量。 6)其它。如,应用的类型、数学模型、任务的难度、IF嵌套深度等等都会对维护工作量产生一定的影响。 8.5 预防性维护 对旧程序维护的做法: 1)反复多次做修改程序的尝试; 2)先通过仔细分析程序,尽可能多地掌握程序内部工作细节,再有效地修改; 3)用软件工程方法重新设计、编码和测试需要变更的软件部分;是局部再工程; 4)以软件工程方法为指导,对程序全部重新设计、编码和测试。是软件再工程 / 预防性维护 进行预防性维护的主要理由: (1)对于旧系统而言,维护一行原代码的代价可能是最初开该行源代码代价的14-40倍; (2)重新设计软件体系结构(程序和数据结构)使用最新的设计理念,对将来的维护有较大帮助; (3)原有旧系统可作为软件原型使用,能提高开发效率。 8.6 软件再工程过程 正向工程 库存目录分析 文档重构 逆向工程 代码重构 数据重构 活动以线性顺序发生,但并非总是这样。 对于任意一个特定循环,可在完成任意一个活动后终止。 该模型定义的6类活动: 1. 库存目录分析; 包含每个应用系统的信息,如:名称、构建日期、修改次数、过去18个月报告的错误、用户数量、文档质量、预期寿命,等。从中选出再工程的候选者。 2. 文档重构; (1)如果一个程序走向生命终点,不再经历变化,则保持现状;(2)重构只针对当前正在修改的软件部分。 3. 逆向工程;

文档评论(0)

wbjsn + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档