在软件生存周期中,将某种形式表示的软件转换成更高抽象形式表示的软件的活动属于()。
A、逆向工程B
解析
答案选B
通常产品设计过程是一个从设计到产品的过程,即设计人员首先在大脑中构思产品的外形、性能和大致的 技术参数等,然后在详细设计阶段完成各类数据模型,最终将这个模型转入到研发流程中,完成产品的整 个设计研发周期。这就是“正向设计”过程。 而逆向工程,又名反向工程( Reverse Engineering - RE),则是一个从产品到设计的过程,就是根据已经 存在的产品,反向推出产品设计数据(包括各类设计图或数据模型)的过程。早期的船舶工业中常用的船 体放样设计就是逆向工程的很好实例。 在软件开发行业,基于某个软件,以反汇编阅读源码的方式去推断其数据结构、体系结构和程序设计信息 成为软件逆向工程技术关注的主要对象。软件逆向技术的目的是用来研究和学习先进的技术,特别是当手 里没有合适的文档资料,而又很需要实现某个软件的功能的时候。因此很多软件开发组织为了垄断技术, 在软件安装之前,要求用户同意不去逆向研究。 根据黄柏素、梅宏组织翻译, Roger S.Pressman编著的《软件工程—实践者的研究方法》第 4 版的陈述: 逆向工程抽象层次应该尽可能高,即逆向工程过程应该能够导出过程的设计表示 (一种低层的抽象 );程序 和数据结构信息 (稍高一点层次的抽象 );数据和控制流模型 (一种相对高层的抽象 );以及实体—关系模型 (一 种高层抽象 )。随着抽象层次增高,软件工程师获得更有助于理解程序的信息。
软件重构修改源代码和 /或数据以使得它适应未来的变化。 通常,重构并不修改整体的程序体系结构, 它趋 向于关注个体模块的设计细节以及定义在模块中的局部数据结构。如果重构扩展到模块边界之外并涉及软 件体系结构,则重构变成了正向设计过程。 代码重构的目标是生成可提供相同功能的设计,但是该设计比原程序有更高的质量