软件的逆向工程是分析程序以便在比源代码更高的抽象层次上创建出程序的某种表示的过程。()此题为判断题(对,错)。

题目
软件的逆向工程是分析程序以便在比源代码更高的抽象层次上创建出程序的某种表示的过程。()

此题为判断题(对,错)。


相似考题
更多“软件的逆向工程是分析程序以便在比源代码更高的抽象层次上创建出程序的某种表示的过程。() ”相关问题
  • 第1题:

    在软件生存周期中,将某种形式表示的软件转换成更高抽象形式表示的软件的活动属于(10)。

    A.逆向工程

    B.代码重构

    C.程序结构重构

    D.数据结构重构


    正确答案:A
    逆向工程(reverseengineering)有的人也叫反求工程,其大意是根据已有的东西和结果,通过分析来推导出具体的实现方法。软件逆向工程的基本原理是抽取软件系统的主要部分而隐藏细节,然后使用抽取出的实体在高层上描述软件系统。逆向工程抽取的实体应比源代码更容易推理和接近应用领域,同时在高层上对软件系统的抽象表示要求简洁和易于理解。在软件工程领域,迄今为止没有统一的逆向工程定义。较为通用的是ElliotChikafsky和Cross在文献中定义的逆向工程的相关术语。正向工程:从高层抽象和独立于实现的逻辑设计到一个系统的物理实现的传统开发过程。逆向工程:分析目标系统,认定系统的构件及其交互关系,并且通过高层抽象或其他形式来展现目标系统的过程。与逆向工程相关的其他术语包括:再文档(Redocumentation):根据源代码,在同一层次上创建或修改系统文档。设计恢复(DesignRecovery):结合目标系统、领域知识和外部信息认定更高层次的抽象。重构(Restructuring):保持系统外部行为(功能和语义),在同一抽象层次上改变表示形式。再工程(Reengineering):结合逆向工程、重构和正向工程对现有系统进行审查和改造,将其重组为一种新形式。体系结构再现:用于从源码、性能分析信息、设计文档及专家知识等现有信息中抽象出一个更高层次表示的技术和过程。其中,再文档、设计恢复不改变系统。重构改变了系统,但不改变其功能。再工程通常涉及逆向工程与正向工程的联合使用,逆向工程解决程序的理解问题,正向工程检验哪些功能需要保留、删除或增加。再工程改变了系统的功能和方向,是最根本和最有深远影响的扩展。由此可见,重构是指在同一抽象层次上改变系统的表示形式,将某种形式表示的软件转换成更高抽象形式表示的软件的活动不属于重构,而属于软件的逆向工程。应选择A。

  • 第2题:

    软件的逆向工程是一个恢复设计的过程,从现有的程序中抽取数据、体系结构和过程的设计信息。逆向工程的完备性可以用在某一个抽象层次上提供信息的详细程度来描述,在大多数情况下,抽象层次越高,完备性就越低。下列可以通过逆向工程恢复的制品中,完备性最低的是(25)。

    A.过程的设计模型

    B.程序和数据结构

    C.对象模型、数据和控制流

    D.UML状态图和部署图


    正确答案:D
    解析:软件的逆向工程是一个设计恢复的过程,从现有的程序中抽取数据、体系结构和过程的设计信息。逆向工程的完备性是指在某一个抽象层次上提供信息的详细程度,在大多数情况下,抽象层次越高,完备性就越低。逆向过程和实现该过程的工具的抽象层次是指可从源代码中抽取出来的设计信息的精密程度。理想情况下,抽象程度应该尽可能高。逆向工程过程应该能够导出过程的设计模型(一种底层的抽象);程序和数据结构信息(稍高层次的抽象);对象模型、数据和控制流模型(相对高层的抽象);UML图,状态及部署图(高层抽象)。随着抽象层次增高,完备性就会降低。因此本题应该选择D。

  • 第3题:

    7、下列关于软件设计的抽象原则描述正确的是()

    A.最高抽象层次的模块常常用数据模型方式表示。

    B.较低抽象层次的模块是对较高抽象层次模块的进一步细化。

    C.抽象的最底层就是实现该软件的源程序代码。

    D.过程抽象是对软件要执行的动作进行抽象。


    较低抽象层次的模块是对较高抽象层次模块的进一步细化;抽象的最底层就是实现该软件的源程序代码;过程抽象是对软件要执行的动作进行抽象

  • 第4题:

    逆向工程可用于维护已有的软件,逆向工程能够______。

    A.分析源程序,决定需要修改的部分及其影响的程度

    B.能够使用数学方法证明各软件功能的正确性

    C.分析源程序,从源程序导出程序结构

    D.将源程序改写成易于理解的、结构清晰的程序


    正确答案:C
    解析:逆向工程(ReverseEngineering)的概念起源于商业或军事领域硬件的分析,目的是在不了解或很少了解最初生产过程的情况下,从最终产品推断出其设计方案。在软件领域,逆向工程是为了恢复错误的、不完整的或难以获得的文档信息。其目标不再是复制系统,而是获得对一个系统和它的结构在设计层的充分理解,从而帮助维护、增强性能,或者支持替换。逆向工程可的研究对象是现存软件系统,而不是需求。另外,逆向工程本身并不会改变目标系统,也不会基于被逆向的系统创建一个新系统,它只是一个检查的过程,不是一个改变或复制的过程。

  • 第5题:

    软件的逆向工程是一个恢复设计的过程,从现有的程序中抽取数据、体系结构和过程的设计信息。逆向工程的完备性可以用在某一个抽象层次上提供信息的详细程度来描述,在大多数情况下,抽象层次越高,完备性就越低。下列可以通过逆向工程恢复的制品中,完备性最低的是( )。

    A.. 过程的设计模型
    B. 程序和数据结构
    C. 对象模型、数据和控制流
    D. UML状态图和部署图

    答案:D
    解析:
    软件的逆向工程是一个设计恢复的过程,从现有的程序中抽取数据、体系结构和过程的设计信息。逆向工程的完备性是指在某一个抽象层次上提供信息的详细程度,在大多数情况下,抽象层次越高,完备性就越低。逆向过程和实现该过程的工具的抽象层次是指可从源代码中抽取出来的设计信息的精密程度。理想情况下,抽象程度应该尽可能高。逆向工程过程应该能够导出过程的设计模型(一种底层的抽象);程序和数据结构信息(稍高层次的抽象);对象模型、数据和控制流模(相对高层的抽象);UML图,状态及部署图(高层抽象)。随着抽象层次增高,完备性就会降低。因此本题应该选择D。