逆向工程

逆向工程是设计的恢复过程
四个过程:
  • 实现级
    • 包括程序的抽象语法树、符号表、过程的设计表示
  • 结构级
    • 包括反映程序分量之间的相互依赖关系的信息,例如调用图、结构图、程序和数据结构
  • 功能级
    • 包括反映程序段功能及程序段之间关系的信息,例如数据和控制流模型
  • 领域级
    • 包括反映程序分量或程序诸实体与应用概念之间对应关系的信息,例如实体关系模型
相关概念:
  • 重构/重组
    • 重构是指在【同一抽象级别】上【转换关系描述形式】
  • 设计恢复
    • 从已有程序中抽象出有关数据设计、总体结构设计和过程设计等方面的信息
  • 逆向工程
    • 逆向工程是分析程序,力图在比源代码更高抽象层次上建立程序的表示过程,逆向工程是设计的恢复过程
  • 正向工程
    • 正向工程是指不仅从现有系统中恢复设计信息,而且使用该信息去改变或重构现有系统,以改善其整体质量
  • 再工程/重构工程
    • 再工程是对吸纳有系统的重新开发过程,包括逆向工程新需求的考虑正向工程三个步骤