11软件设的进化.ppt

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

* (3)软件体系结构的改善 软件体系结构的恢复只是把遗留软件的体系结构设计信息重新提取和组织,而软件进化的目标是使遗留软件适应新的需求和环境,因此下一步就需要对软件体系结构进行改善。 改善需要以恢复后的体系结构为基础,以新出现的需求为依据,结合遗留软件系统之外的可复用构件或模块,对体系结构进行改造。 * 集中式遗留系统向分布式系统的进化 * 支持用户界面分布的体系结构进化 * 内容 10.1 遗留系统 10.2 软件的进化策略 10.3 软件再工程 10.4 软件体系结构的进化 10.5 代码重构和数据重构 10.6 软件移植 * 代码和数据重构 在改善软件体系结构之后,还需要通过更加具体的重构活动修改源代码和数据以适应未来的变化。 通常,代码重构和数据重构并不修改整体的软件体系结构,它趋向于关注个体模块的设计细节以及模块中的局部数据结构定义。 * 代码重构 代码重构的目标是生成具有相同功能、但质量比原来程序更高的代码。 代码重构可以有多种方式,例如: 用布尔代数对程序逻辑进行描述,然后应用一系列变换规则来重构逻辑,以从混乱、无结构的代码导出遵循良好程序设计思想的程序。 用资源交换图(resource exchange diagram)映射每个程序模块及其与其他模块之间交互的资源(数据类型、过程、变量等),通过创建资源流的表示,程序结构可以被重构以达到模块间的最小耦合,提高软件质量和可维护性。 * 数据重构 需要对所有包含数据定义、文件描述、I/O和接口描述的程序语句进行分析,抽取数据项和对象,获取关键数据流的信息,理解现有的数据结构实现。 进行数据重设计,要澄清数据定义,使现存数据结构或文件格式中的数据项或物理记录格式之间保持一致,并保证所有数据命名遵从约定的标准以及删除程序流程中的别名。 数据重构有可能包括从一种文件格式到另一种文件格式的转换,或从一种类型数据库到另一种类型数据库的转换。 * 内容 10.1 遗留系统 10.2 软件的进化策略 10.3 软件再工程 10.4 软件体系结构的进化 10.5 代码重构和数据重构 10.6 软件移植 * 软件移植的概念 软件移植(Migration)也可以看作是软件进化和再工程的一种形式,是应用软件的运行从一种操作环境迁移到另外一种操作环境的过程,例如操作系统、特定硬件平台、数据库系统等发生变化。 一般情况下,软件移植应该是迁移到相对更加适合或更加先进的环境中,该过程面临着较大的技术变更。 软件移植大部分情况下都要对应用软件与运行环境的接口相关部分进行修改,不论是嵌入式软件还是一般信息管理软件,因此良好的接口定义能够促使软件移植更加顺利。 * 移植需要考虑的问题 移植过程中最可能出现的主要问题有哪些? 客户的要求以及优先级是什么? 用户接口是否需要与以前保持一致,包括输入/输出、报告、文件等与用户日常使用相关的内容? 资金和资源具有哪些约束? 哪些因素可能会对满足客户目标产生影响? 是否需要支持遗留系统和新系统的重叠使用?如果是,需要多久? 目标系统的数据库是否与遗留系统一致? 是否需要软件工具来执行遗留数据库的转换? 新系统要支持哪些与遗留系统具有接口的外部系统?等等 * 移植需要综合考虑的内容 编程语言 用户界面 平台和体系结构 数据库 * 数据库优先的信息系统移植 * 数据库转换 数据库转换可以分为物理转换(D1)和概念转换(D2): 物理转换:把遗留数据库的设施直接转换为目标数据库中最接近的设施。这种方式最节省成本,但可能导致较低的质量,不能体现出新系统的价值。 概念转换:对遗留数据库的精确语义描述进行恢复,并使用目标数据库的标准方法对结构进行开发。该方式具有较高质量,但成本较高。 * 程序转换 对于程序转换,可以分为三种不同层次的转换,即包装(P1)、语句重写(P2)和逻辑重写(P3),很明显其成本和移植后的系统质量都是递增的: 包装:对新数据库进行包装以符合遗留软件访问数据的逻辑,这使得遗留程序能直接访问新的数据库系统。 语句重写:对数据库访问语句进行重写,使得能够使用新型数据库的数据访问特征。该方式和包装方式都不对程序的逻辑进行改变。 逻辑重写:对整个程序进行重写,使其能够充分利用新型数据库的所有强大能力。但该方式需要对程序逻辑具有深入的理解。 * 信息系统移植策略 * 国防科技大学计算机学院 国防科技大学计算机学院 作业点评 刘鑫 刘甫 * 第十讲:软件设计的进化 董威,文艳军,陈振邦 国防科技大学计算机学院 《软件设计与体系结构》 * 内容 10.1 遗留系统 10.2 软件的进化策略 10.3 软件再工程 10.4 软件体系结构的进化 10.5 代码重构和数据重构 10.6 软件移植 * 遗留系统 遗留系统是

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档