- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机软件设计的探讨论文
《浅谈计算机软件重构技术》
摘要:本文阐述了软件重构技术的现状,研究意义和发展前景。
关键词:软件重构 原型开发 简化 复用 测试
1、软件重构的定义
软件维护最初最贴切的形容就是“打补丁”,所有的维护工作采用的都是一种消极但快速的方法。如果发现系统有问题,维护人员就快速找到这个问题,然后修改源代码,解决这个问题。如果要添加一个新的功能,那就找到一个相似的模块,修改代码以后放进去。这样反复多次之后,系统变得越来越臃肿,越来越难于理解,维护也越来越艰难、越来代价越高。人们期望解决这一问题的根本办法,于是软件重构技术应运而生。通过这种技术,使得编码更加谨慎合理,编码时如果非常小心,则代码会具有良好的形状和味道,在修改添加代码前,通过查看代码的形状和味道来决定是否进行更新。如果代码不容易被理解,则必须重构代码以使得维护变得容易,再进行相应的扩展和更新。
软件重构是指在不改变软件的功能和外部可见性的情况下,为了改善软件的结构,提高清晰性、可扩展性和可重用性而对软件进行的改造。简而言之,重构就是改进已经写好的软件的设计。也就是说,改进后的软件其原有的功能和行为都不改变,改变的仅仅是程序内部的编码。重构是在源代码级别上进行的,目的是使原有的代码在重构后具有良好的程序结构。
2、软件重构的意义
计算机技术的发展带来了全社会的变革,人们的生活对计算机的依赖越来越强,所使用的软件也越来越复杂,对开发软件所使用的技术也要求越来越高。面向对象开发方法等有利于软件利用的方法和技术得到了广泛的运用。但同时也显示出一些弊端。为了开发出使用方便,利于维护的软件系统,软件开发人员希望把初始系统设计得尽可能的完美、灵活、具有良好的可扩展性。这不仅要求软件开发人员具有较高的软件设计能力,而且,再完美的设计也不可能完全适应未来的需求变化。解决这一问题的方法是软件工程中的原型开发方法,在原型开发方法中,系统开发人员首先快速开发出一个系统原型提供给用户使用,通过用户在使用过程中的不断反馈来对系统进行修改直到最后开发出系统的成熟版本。软件扩展是在软件重构的基础上完成的。在需要扩展时,使用软件重构方法和重构工具,采取提取抽象数据类型、提取接口等技术对代码结构进行改造,以利于软件的维护、功能的增加等活动。
对于已经投入使用的系统,由于需求、业务、法规等因素的变化,也会因此而改变,需要在原有的系统上进行修改和扩充。在维护过程中可能会遇到设计风格不一致、过时的编程语言、系统文档过时,不完整和难于理解的问题。这时候,为也延长旧系统的生命周期,降低系统维护成本。就可以采用以原有系统进行重构的方法对软件进行重构,使其在改善程序结构的基础上适应需求的变化。
软件重构也能为程序员的编码带来好处,首先,可以简化设计,重构允许系统设计刚好满足现有需求,不必过多考虑未来的需求,降低了系统设计的复杂程度,当有新的需求时,可以利用重构技术,快速进行设计扩展。其次,可以增强程序的可读性,便于理解他人的编程目的,利于快速开发软件系统。再者,软件重构可以使程序的结构更加清晰,减少编程过程中出现的问题,并且,由于重构是建立在严格的测试之上的,所以能够快速发现问题。将复杂的软件测试分解为递进式的简单测试,降低了测试的复杂度。最重要的是重构可以使得代码的可理解性大大提高,原因在于,重构技术支持更小的类、更短的方法、更少的局部变量、更小的系统耦合,重构可以让程序员养成良好的编程习惯。
3、软件重构的研究现状
软件重构的研究紧紧围绕以下几个方面展开,目前已经取得了一些成果。
1基本重构方法和复合重构方法的研究,如Opdyke针对C++语言定义的一组基本重构方法,在其中定义的每个基本重构方法中,由前提条件和执行动作组成。在进行重构时以每个基本方法为重构的最小单位。通过执行动作对程序的修改步骤进行描述,前提条件是用来保证程序行为的不变。将这些基本重构方法组合起来形成复合重构,就可以用来解决复杂的重构问题。Roberts等人受Opdyke研究的启发,对基本重构方法进行了改进,增加了后置条件约束,讨论了复合结构中基本重构之间的依赖性问题,提出了计算复合重构前置条件的计算方法,并开发了针对Smalltalk的重构辅助工具。
2不良程序结构的探查和整理。如冗余代码探查和消除、类层次的整理、横切关注的探查和封装等。其中冗余代码的探查和消除主要使用字符串比较的方法,类层次的整理主要使用“渐进增加类”算法实现,而横切叛党的探查和封装主要使用面向方面范型进行研究和实践。
3程序理解方法和工具。要进行软件维护和软件重构必须在理解程序结构的基础上施行。除了针对程序代码中的不良程序结构进行探查,
文档评论(0)