- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件再工程
软 件 工 程
软件维护
2
软件再工程
再生工程主要出于如下愿望:
(1) 在商业上要提高产品的竞争力;
(2) 在技术上要提高产品的质量。但这种愿望无法靠软件的维护来实现,因为:
a) 软件的可维护性可能极差,实在不值得去做;
b) 即使软件的可维护性比较好,但也只是治表不治本。再生工程干脆对已有软件进行全部或部分的改造,赋予软件新的活力。
软件维护
3
重构
逆向工程
前向工程
再生工程的三种类型——重构
软件维护
4
1. 软件再工程过程模型
Pressman建议的一个软件再工程过程模型
为软件再工程定义了6类活动。
一般情况下,这些活动是顺序发生的,但每个活动都可能重复,形成一个循环的过程。
这个过程可以在任意一个活动之后结束。
以下从信息库分析开始,依次对各类活动作简要说明。
软件维护
5
图10-3 软件再工程过程模型
逆向工程是一个恢复原设计的过程。通过分析现存的程序,从中抽取出数据、体系结构和过程的设计信息。
代码重构是在保持系统完整的体系结构基础上,对应用系统中难于理解、测试和维护的模块重新进行编码,同时更新文档。
数据重构是重新构建系统的数据结构。正向工程也称革新或改造,它根据现存软件的设计信息,改变或重构现存系统,以达到改善其整体质量的目的。
软件维护
6
软件维护
7
2. 逆向工程
“逆向工程”起源
软件的逆向工程定义:指从源代码出发,重新恢复设计文档和需求规格文档。
已经出现了一些CASE工具来帮助实现逆向工程,它们或使源代码能以更清晰的方式显示,或直接从源代码中产生流程图或结构图之类的图表。
在理想状态下,逆向工程应该能导出多种不同层次的抽象,包括:低层的抽象——过程的设计表示;稍高一点层次的抽象——程序和数据结构信息;相对高层的抽象——数据和控制流模型;高层抽象——实体—关系模型等。
软件维护
8
3. 软件重构
软件重构又可分为代码重构和数据重构,
目的是应用最新的设计和实现技术对老系统的源代码和数据进行修改,以达到提高可维护性,适应未来变化的目的。
重构不改变系统的整体体系结构,一般仅局限在单个模块的设计细节和模块内部的局部数据结构。
如果超出了模块的边界并涉及软件的体系结构,这时的重构就变成“正向工程”了。
软件维护
9
习 题
一、问答题
1. 什么叫可预防性维护?
2. 软件维护的困难性体现在哪些方面?
3. 什么是软件可维护性?
4. 提高可维护性的方法有哪些?
5. 画出软件维护的工作流程。
什么叫逆向工程?
软件维护
10
二、填空题
1. 按照维护的具体目标,软件维护可分为 、 和 四种。
2. 影响可维护性的软件属性有 、 和 。
3. 软件维护的副作用有 、 和 。
维护技术有两种,它们是 和 。
谢谢观看!
软 件 工 程
原创力文档


文档评论(0)