扫一扫二维码
进群一起备考
查看更多
当前 - 选择题 - 逆向工程中等
单选题
2021年5月第28题
中等
单选题
2021年5月第28题
#第二版教材
#必须掌握
在软件逆向工程的相关概念中, (问题1) 是指借助工具从已有程序中抽象出有关数据设计、总体结构设计和过程设计等方面的信息; (问题2) 是指不仅从现有系统中恢复设计信息,而且使用该信息去改变或重构现有系统,以改善其整体质量。
正确答案
A
本题考察的是软件工程中逆向工程与正向工程、设计重构等相关概念的区别。
问题 1:
A选项设计恢复:是逆向工程的重要部分,它指通过分析程序代码来恢复系统的设计信息(如数据结构、流程等),正确。
B选项正向工程:是从需求到设计再到实现的正向开发过程,错误。
C选项设计重构:强调结构优化和改进,而非“抽象设计信息”,不准确。
D选项设计方案评估:主要用于比较方案优劣,不是信息恢复过程,错误。
问题 2:
A选项设计重构:虽然也涉及结构调整,但其范围小于“正向工程”,并不包含完整的系统重建,不完全准确。
B选项双向工程:强调系统开发过程中,正向和逆向工程交替使用,实现设计与代码之间的双向同步,主要用于模型驱动开发,不是专指“从现有系统中恢复并重构”的过程。
C选项正向工程:指从需求出发,按照规范的设计开发流程构建新系统。如果将逆向工程用于获取信息后,再进入这个设计—实现过程,就是进入正向工程阶段,这符合题干“使用该信息去改变或重构现有系统”的表述,可以理解为“正向工程”的重新开始,正确。
D选项再工程:更常见的定义是“逆向工程 + 正向工程”,但由于题干明确用了“改变和重构”,不再强调“恢复信息”,因此与“正向工程”更匹配。
