第10章 软件设计的进化.ppt

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
内容 10.1 遗留系统 10.2 软件的进化策略 10.3 软件再工程 10.4 软件体系结构的进化 10.5 代码重构和数据重构 10.6 软件移植 遗留系统 遗留系统是过去开发的计算机系统,通常使用了目前已经过时或不再使用的技术。 这些系统的开发可能在生命周期中一直持续,通过变更来适应新需求、新运行平台等方面的变化。 遗留系统不仅包括硬件和软件,还包括遗留的业务过程和步骤。对这类系统的一部分进行变更将不可避免地导致其它组成部分的变更。 遗留系统的组成 遗留系统的层次模型 内容 10.1 遗留系统 10.2 软件的进化策略 10.3 软件再工程 10.4 软件体系结构的进化 10.5 代码重构和数据重构 10.6 软件移植 (1)进化策略的分类 遗留软件的维护和升级将会受到预算、期限等多种因素的约束,因此开发者需要对遗留软件系统的实际情况进行评价,然后选择最合适的进化策略: 完全放弃该软件 不改变该软件系统并继续进行常规的维护 对软件系统实施再工程(re-engineering)以提高可维护性 用新系统替换遗留软件系统的全部或其中一部分 (2)进化策略的选择 选择合适的进化策略需要对遗留软件系统进行准确的评价。 在对遗留软件进行评价时,业务需求和技术这两个方面均要进行考虑,评价结果分为四种类型: 低业务价值,低系统质量 (X) 高业务价值,低系统质量 (进化或替代) 低业务价值,高系统质量 (X) 高业务价值,高系统质量 (常规维护) 遗留软件系统的评价 业务价值的评价 为了评价一个系统的业务价值,首先需要明确系统最终用户及其管理者,并从下面四个主要方面对系统进行考察: 系统的使用 系统支持的业务过程 系统的可靠性 系统的输出 系统质量的评价 从技术角度来评价一个软件系统,需要同时考虑应用软件本身以及软件运行的环境。 环境包括硬件和所有相关的支撑软件,例如对于系统维护所需要的编译器等。 认为环境很重要的原因是,很多软件系统的变更是由于环境变更导致的,例如硬件或操作系统的升级。 如果可能,在环境评价的过程中,应对系统及其维护过程的某些方面进行度量。 环境评价考虑的因素 技术评价考虑的因素 内容 10.1 遗留系统 10.2 软件的进化策略 10.3 软件再工程 10.4 软件体系结构的进化 10.5 代码重构和数据重构 10.6 软件移植 再工程的概念 软件系统的进化过程包括对必须改进的程序进行理解,然后实现相应的改进。 但是,对于许多存在已久的遗留系统,这些系统已经难以理解和更改。 对这些遗留软件进行维护的成本甚至会超过用户所能容忍的程度。 这样,就需要通过再工程来对软件系统进行重建,改进其功能和性能以满足用户的必威体育精装版需要,并提高整个系统的可靠性和可维护性。 再工程的优点 减少风险。对关键软件完全进行重新开发具有很高的风险。新开发的软件系统未在实践中充分应用,可能在开发过程中存在的某些问题还未暴露出来。而新系统开发如果延迟完成,将会造成极大的损失。 减少成本。根据以往的实践经验和统计,再工程的成本要明显比开发一个全新的软件低。 正向工程和再工程 两个相关的概念 重构:在同一抽象级别上转换系统描述形式。例如:设计重构、数据重构等。 设计恢复:指借助工具从已有程序中抽象出有关数据设计、软件体系结构设计和过程设计等信息(和原设计可能会有所不同),是从较低的抽象层次获取更高抽象层次的表示。 (1)业务过程重构 对于遗留系统,其支持的业务过程可能已经发生了变化,因此在实施软件再工程之前,应该对变化的业务过程进行重构。 业务过程重构主要包括定义业务目标、标识并评估现有的业务过程、以及创建修订后能更好满足目标的业务过程。 业务过程重构模型 (2)软件再工程的过程模型 (3)软件再工程的经济因素 由于成本原因,软件再工程并不一定是用户的最终选择,用户可能希望能从成本-收益来判定是否实施再工程。 而在面对多个遗留软件时,也可以通过成本-收益分析结果来确定哪个系统的重构优先级最高。 软件再工程的成本-收益模型 P1 :软件当前的年度维护成本 P2 :软件当前的年度运作成本 P3 :软件当前的年度业务价值 P4 :实施再工程后预期的年度维护成本 P5 :实施再工程后预期的年度运作成本 P6 :实施再工程后预期的年度业务价值 P7 :估计的再工程成本 P8 :估计的再工程所需时间 P9 :再工程风险因子 L:期望的系统生存年数 软件再工程的成本-收益模型 如果继续进行维护(不实施再工程),该应用软件的后续维护成本为: Cmaint = [P3 - (P1 + P2)] × L 而再工程的相关成本定义为: Creeng = [P6 - (P4 + P5)] × (L - P8) - (P7 ×

文档评论(0)

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

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

1亿VIP精品文档

相关文档