领域工程是在构造一个特定领域内的系统或者系统的某些部分时,以可重用方面的形式(也就是说,可重用的工作产物),收集、组织并保存过去的经验的活动,以及在构造新系统时,提供一种充分的方法来重用这些资源(也就是说,获取、限定、改造、装配等等)。作为软件复用的核心技术之一。领域工程的主要目的是实现对特定领域中可复用成分的分析、生产和管理。领域工程的萌芽可以追溯到Parnas在1976年提出的“程序家族”(ProgramFamily)的概念。其基本思想是把一组具有显著共性的程序作为一个整体(或家族)并对其共性进行分析;其动机则是为了简化一组相似程序的开发和维护问题。后来,Neighbors在其博士论文中明确提出了“领域分析”的概念,用来指代“识别特定问题域中一组相似系统所包含的对象和操作的活动”。他还对领域分析和(软件)系统分析这两种活动进行了对比,提出了“领域分析员”的概念,并分析了在软件复用活动中领域分析的必要性和可行性。