- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于程序理解的遗产软件系统重构.pdf
4 微电子学与计算机 2003年第12期
基于程序理解的遗产软件系统重构
the SonwaIe Basedon
Re—constn】cti“gL89acy Svstem Prog即mUnderstandi“g
山东大学计算机科学技术学院陆波赵合计(济南250061)
摘要:文章介绍了遗产软件开发的相关概念,给出了常用的遗产软件开发模型。分析了遗产软件开发中所要
解改的主要问题,其中程序理解在开发流程中具有举足轻重的作用。通过一个实例详细解释了如何对程序进行
理解,并介绍丁在程序理解基础上如何对遗产软件进行重构。
关键词:遗产软件,程序理解,系统重构
,。,
71’jI A
1前言 及它们之间的关系,然后创建不同形式,或在更高
在软件项目的开发中,用于改善和修复系统的 的抽象层次上创建出系统架构。逆向工程的目的就
人力以及时间所占的比例越来越大,利用已有的软 是要在缺少文档说明的情况下,还原出软件的设计
件系统服务于新的业务需求.已经成为软件工程的 结构、需求情况,并尽可能找出内部的各种联系.从
一个发展方向。在此基础上,遗产软件的概念开始 而恢复出原来的系统结构。进行逆向工程最可靠的
出现.并在软件的生产中充当越来越重要的角色。 资源是软件的源代码.通过分析源代码.抽象出软
本文首先介绍了遗产软件的相关概念.包括逆向工 件系统的高层抽象。
程和正向工程的相关概念,以及开发遗产软件的模 逆向工程仅仅是一个由低到高的分析过程f21.
型.然后介绍了逆向工程中的一些支持技术。 从遗产软件的具体设计人手,逐步抽象出软件的高
层表示.最终产生软件的系统结构.为系统重构做
2遗产软件 好准备,因此该过程并不涉及系统的修改工作。
遗产软件是一个较新的概念,没有统一严格的 遗产软件开发中的正向工程是以逆向工程的
定义,一般认为是目前正在使用的并且需要更新的 输出结果为基础进行系统重构,以用户需求为依据
软件系统。之所以称为遗产软件,是因为软件系统 进行组件更新,完成由上至下的精化设计,最终生
在使用过程中,经历了几十年的应用积累。同时近 成可替换现有软件的新目标系统及相关的文档。
年来,应用软件系统的规模越来越大,功能越来越
复杂.从而蕴含了大量的领域知识,包括需求设计、 3遗产软件开发模型
商业规则、历史数据,具有可以重复利用的价值。 3.1传统的遗产软件开发模型
新系统的开发可以完全扔掉遗产软件,在零的 传统的遗产软件开发方法是线性的完全遵循
基础上重新进行开发。这样无论在费用、开发周期、 两步走的操作流程,如图1所示。
开发风险上.都会面临很大的挑战。如果利用遗产 . 圈
软件资源对软件进行重用,就会明显地节约费用、
缩短开发周期、降低开发风险。 ∥字p唾弋
重用遗产软件,面临两个阔题Ⅲ: 7厍磊i两…幅i丽司一牺孬蒗羽、
…开发人员需要掌握遗产软件的运作方式; 匝堕垂口……恒互熏团……-怔垂童田匝主;三丢二蕊回
(2)遗产软件中缺少新的领域知识。
要解决这两个问题的过程,也就是
文档评论(0)