查看更多
当前 - 选择题 - 逆向工程
中等
单选题
2021年5月第28题
#第二版教材
#必须掌握

在软件逆向工程的相关概念中,(设计恢复)是指借助工具从已有程序中抽象出有关数据设计、总体结构设计和过程设计等方面的信息;(正向工程)是指不仅从现有系统中恢复设计信息,而且使用该信息去改变或重构现有系统,以改善其整体质量。

浓缩知识点

软件逆向工程领域中,设计恢复是核心环节之一,它可借助工具从已运行的程序中抽象提取出数据设计、总体结构设计、过程设计等多维度的系统设计信息,是开发者剖析已有系统设计逻辑的关键手段。在获取这些设计信息后,若要对现有系统进行修改或重构以优化整体质量,此时进入的是正向工程阶段,正向工程原本指从需求分析起步,遵循规范流程完成系统设计与实现的正向开发过程,这里则是基于逆向获取的信息重启正向开发链路。与之相关的还有其他细分概念:设计重构仅聚焦于系统内部结构的优化调整,范围局限于局部结构改进,不涉及完整系统的重建;双向工程主打设计模型与代码之间的双向同步更新,多用于模型驱动开发场景,实现设计与代码的实时对齐;再工程则是覆盖逆向工程与正向工程的全流程,是对现有系统从信息恢复到重新构建的完整翻新升级,侧重于系统的全面改造提升。

正确答案
A

本题考察的是软件工程中逆向工程与正向工程、设计重构等相关概念的区别。
问题 1:
A选项设计恢复:是逆向工程的重要部分,它指通过分析程序代码来恢复系统的设计信息(如数据结构、流程等),正确
B选项正向工程:是从需求到设计再到实现的正向开发过程,错误
C选项设计重构:强调结构优化和改进,而非“抽象设计信息”,不准确
D选项设计方案评估:主要用于比较方案优劣,不是信息恢复过程,错误

问题 2:
A选项设计重构:虽然也涉及结构调整,但其范围小于“正向工程”,并不包含完整的系统重建,不完全准确
B选项双向工程:强调系统开发过程中,正向和逆向工程交替使用,实现设计与代码之间的双向同步,主要用于模型驱动开发,不是专指“从现有系统中恢复并重构”的过程。
C选项正向工程:指从需求出发,按照规范的设计开发流程构建新系统。如果将逆向工程用于获取信息后,再进入这个设计—实现过程,就是进入正向工程阶段,这符合题干“使用该信息去改变或重构现有系统”的表述,可以理解为“正向工程”的重新开始正确
D选项再工程:更常见的定义是“逆向工程 + 正向工程”,但由于题干明确用了“改变和重构”,不再强调“恢复信息”,因此与“正向工程”更匹配。

联系我们
隐私协议
用户协议
微信公众号
知乎
小红书
浙ICP备2021029036号
@2022-2026
嘉兴市安芯网络科技有限公司 版权所有