正向工程与反向工程的区别

作者: Laura McKinney
创建日期: 2 四月 2021
更新日期: 26 四月 2024
Anonim
不往上蓋 深坑飯店"反向"工程揭密 中國進行式 20181125
视频: 不往上蓋 深坑飯店"反向"工程揭密 中國進行式 20181125

内容


正向工程和反向工程是重新工程过程的一部分,并且密切相关。正向工程和反向工程之间的关键区别在于正向工程在重组过程中采用了主题系统中的更改。相反,逆向工程的唯一目的是检查系统以获得更抽象的设计。

软件重新设计不过是对旧系统的重新实现以实现更多的可持续性。系统的发展需要吸收必须改变的现有系统,以便可以通过实施更改来改变系统。

    1. 比较表
    2. 定义
    3. 关键差异
    4. 结论

比较表

比较依据正向工程逆向工程
基本的根据提供的要求开发应用程序。从给定的应用程序推导出要求。
肯定始终生成实现要求的应用程序。可以从实现中得出有关需求的几种想法。
性质规范性的适应性强
所需技能高精通低层次的专业知识
所需时间更多
准确性模型必须精确且完整。不精确的模型也可以提供部分信息。

正向工程的定义

正向工程 是在最终实现的一般要求的帮助下构造应用程序的过程。 Elliot J. Chikofsky和James H. Cross在1990年的论文中使用了“正向工程”一词,并将其与常规开发联系在一起。如上所述,系统演化技术要求对现有软件或程序有适当的了解,然后才可以引入和实施新的更改。

前向工程涉及按照通用规范来构建产品,其中对旧系统规范进行分析,重组和重新生成以获得最佳质量的产品。


用于正向工程的其他名称是“翻新和填海”,因为它不仅可以从现有软件中检索设计信息,而且还可以利用这些信息来制作高质量的产品。

逆向工程的定义

逆向工程,顾名思义,它是正向工程的逆过程,在该过程中,将对现有系统进行分析以生成现有系统的文档。最初,逆向工程是在硬件上实施的,其中从成品中解密设计的工作很普遍。

但是,在开发新应用程序时,逆向工程旨在发现系统的组件及其关系。现有软件代码在某些抽象级别上进行了分析-系统,组件,程序,语句和模式。

考虑到相对于源代码的更高抽象级别,完成了数据,体系结构,过程设计信息的这种恢复以构建程序的表示形式。

  1. 正向工程从系统规范开始,包括开发系统的设计和实现。相反,逆向工程的第一步是从现有系统开始,而替代产品的开发技术是基于解释的。
  2. 始终可以确定会产生正向工程的副产品,但是在反向工程的情况下,会产生一些关于需求的想法,而不一定是产生产品。
  3. 正向工程本质上是规定性的,开发人员需要遵循特定的规则才能获得正确的结果。另一方面,逆向工程是自适应的,工程师必须发现开发人员实际所做的工作。
  4. 与反向工程相比,正向工程消耗更多的时间。
  5. 前向工程的最终产品必须完整且准确。与之相反,逆向工程模型可能是不完善的,检索到的部分信息仍然有用。

正向工程与反向工程之间的关系

结论

正向工程涉及对主题系统的修改,而逆向工程仅分析系统。此外,这些是重新设计过程的组成部分。