再工程(Reengineering)包括(__)。
软件再工程是对已有软件系统开展系统化分析、修改与重构的工程活动,核心目标是适配新业务需求,提升系统的可维护性、可靠性与可扩展性。它的核心流程通常涵盖逆向工程、新需求分析、正向工程等关键环节:逆向工程是从现有系统代码反向提取设计、需求信息,帮助技术人员理解原系统结构与功能,是再工程的基础前置环节;新需求分析聚焦评估系统当前及未来的业务诉求,明确系统需要改造、优化或扩展的方向;正向工程则是基于对原系统的深度理解和新需求规划,按照改进后的设计规范重新构建系统。需要注意的是,软件再工程并非仅局限于重新编码、文档重建或代码优化这类局部工作,也不是逆向工程的子环节,实际是逆向工程作为组成部分纳入再工程的整体流程中。
本题考察的是软件再工程(Software Reengineering) 的概念与组成部分。
软件再工程是指对已有的软件系统进行系统化分析、修改与重构,使其适应新的需求、提高可维护性、可靠性和可扩展性。它不是简单的重写代码,而是包括多个过程环节。再工程的主要组成部分包括:1. 逆向工程(Reverse Engineering):从现有系统中提取设计信息和需求信息,理解系统结构与功能,为后续改造提供依据。即从代码向设计或需求“反向推导”的过程。2. 新需求分析(Requirements Analysis for Reengineering):对系统当前和未来的业务需求进行评估,明确哪些部分需要改造、优化或扩展。3. 正向工程(Forward Engineering):在理解原系统的基础上,根据新的设计与需求,重新构建系统的过程。即按照改进后的设计规范重新实现系统。
因此,软件再工程通常包括逆向工程 → 新需求分析 → 正向工程等步骤。
A选项:再工程是逆向工程的一部分——错误。实际上,逆向工程是再工程的一部分,而不是相反。
B选项:再工程包括逆向工程、新需求、正向工程等过程——正确。
C选项:仅重新编码——过于狭隘,错误。
D选项:只做文档重建与代码优化——只是再工程中的局部内容,错误。
因此,正确答案为 B。
