全部科目 > 系统分析师 >
2022年上半年 上午试卷 综合知识
第 39 题
知识点 逆向工程  
章/节 软件工程基础知识  
 
 
在软件逆向工程的相关概念中,(38)是指借助工具从已有程序中抽象出有关数据设计、总体结构设计和过程设计等方面的信息;(39)指不仅从现有系统中恢复设计信息,而且使用该信息去改变或重构现有系统,以改善其整体质量。
 
  A.  再工程
 
  B.  需求工程
 
  C.  正向工程
 
  D.  逆向工程




 
 
相关试题     软件工程基础知识 

  第31题    2018年上半年  
系统模块结构设计中,一个模块应具备的要素包括输入和输出、处理功能、(31)和(32)。

  第37题    2023年上半年  
结构化方法属于( )的开发方法。它是目前最成熟、应用较广泛的一种工程化方法。但与此同时,该方法也存在着一定的局限性。 ( )不属于结构化方法的主要不足和局限性..

  第24题    2017年上半年  
IDEF (Integration DEFinition method ,集成定义方法)是一系列建模、分析和仿真方法的统称,每套方法都是通过建模来获得某种特定类型的信息。其中,IDEFO可以进..

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



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

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