软件工程是一门综合性的交叉学科,它涉及计算机科学、工程科学、管理科学和数学等。计算机科学中的研究成果都可以用于软件工程,但计算机科学着眼于原理和理论,软件工程着眼于如何建造一个软件系统。此外,软件工程要用工程科学中的技术来进行成本估算、安排进度及制定计划和方案;软件工程还要利用管理科学中的方法 原理来实现软件生产的管理;并用数学的方法建立软件开发中的各种模型和算法,如可靠性模型、说明用户要求的形式化模型等。