首页 > 知识点讲解
       逆向工程
知识路径: > 系统开发基础知识 > 软件开发方法 > 逆向工程 > 
被考次数:9次     被考频率:中频率     总体答错率:46%     知识难度系数:     
相关知识点:16个      
        随着维护次数的增加,可能会造成软件结构的混乱,使软件的可维护性降低,束缚了新软件的开发。同时,那些待维护的软件又常是业务的关键,不可能废弃或重新开发。于是引出了软件再工程(Reengineering),即需要对旧的软件进行重新处理、调整,提高其可维护性。
               再工程
               再工程是对现有软件系统的重新开发过程,包括逆向工程(Reverse Engineering,又称反向工程)、新需求的考虑(软件重构)和正向工程三个步骤。再工程不仅能从已有的程序中重新获得设计信息,而且还能使用这些信息改建或重构现有的系统,以改进它的综合质量。一般,软件人员利用再工程重新实现已存在的程序,同时加进新的功能或改善它的性能。
               软件再工程旨在对现存的大量软件系统进行挖掘、整理以得到有用的软件构件,或对已有软件构件进行维护以延长其生存期。它是一个工程过程,能够将逆向工程、重构和正向工程组合起来,将现存系统重新构造为新的形式。
               再工程的基础是系统理解,包括对运行系统、源代码、设计、分析和文档等的全面理解。但在很多情况下,由于各类文档的缺失,只能对源代码进行理解,即程序理解。
               软件重构
               软件重构是对源代码、数据进行修改,使其易于修改和维护,以适应将来的变更。通常软件重构并不修改软件体系结构,而是关注模块的细节。
               (1)代码重构。代码重构的目标是生成可提供功能相同,而质量更高的程序。由于需要重构的模块通常难以理解、测试和维护,因此,首先用重构工具分析代码,标注出需要重构的部分,然后进行重构,复审和测试重构后的代码,更新代码的内部文档。
               (2)数据重构。发生在较低的抽象层次上,是一种全局的再工程活动。数据重构通常以逆向工程活动开始,理解现存的数据结构,又称数据分析,再重新设计数据,包括数据标准化、数据命名合理、文件格式转换、数据库格式转换等。
               软件重构的意义在于提高软件质量和生产率,减少维护工作量,提高软件可维护性。
               逆向工程
               逆向工程是分析程序,力图在比源代码更高的抽象层次上建立程序表示的过程。逆向工程是一个设计恢复的过程,其工具可以从已有的程序中抽取数据结构、体系结构和程序设计信息。
               逆向工程过程及用于实现该过程的工具的抽象层次是指可从源代码中抽取出来的设计信息的精密程度。理想地,抽象层次应该尽可能高,即逆向工程过程应该能够导出过程的设计表示(一种低层的抽象)、程序和数据结构信息(稍高一点层次的抽象)、数据和控制流模型(一种相对高层的抽象),以及实体关系模型(一种高层抽象)。随着抽象层次增高,软件工程师获得更有助于理解程序的信息。
               逆向工程过程的完整性是指在某抽象层次提供的细节程度。在大多数情况,随着抽象层次增高,完整性就降低。例如,给定源代码列表,得到一个完整的过程设计表示是相对容易的,简单的数据流表示也可被导出,但是,要得到数据流图或状态——变迁图的完整集合却困难得多。
 
本知识点历年真题:
隶属试卷 题号/题型 题干 难度系数/错误率
   2019年下半年
   系统架构设计师..
   上午试卷 综合知识
第41题
选择题
   (41)   是在逆向工程所获取信息的基础上修改或重构已有的系统,产生系统的一个新版本。

54%
   2019年下半年
   系统架构设计师..
   上午试卷 综合知识
第40题
选择题
软件逆向工程就是分析己有的程序,寻求比源代码更高级的抽象表现形式。在逆向工程导出信息的四个抽象层次中,   (39)   包括反映程序各部分之间相互依赖关系的信息;   (40)  
包括反映程序段功能及程序段之间关系的信息。

41%
>>  更多  本知识点历年真题
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有