软件工程(Software Engineering,简称为SE)是一门 研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等多个方面。
软件工程的目标是系统地、可度量地创建和维护软件,并且管理软件项目的生命周期。它结合了计算机科学、数学及管理科学等多个学科的理论和实践,以确保软件是高质量的、高效率的、符合用户需求的,并且能够在实际机器上有效运行。
软件工程专业的学生通常会学习包括离散数学、数据结构、算法分析、面向对象程序设计、计算机系统原理、数据库系统原理、操作系统原理等课程,以培养他们具备计算机软件的基础理论、基本知识和基本技能,以及用软件工程的思想、方法和技术来分析、设计和实现计算机软件系统的能力。
此外,软件工程不仅仅是一门学科,它还是一种职业,称为软件工程师(Software Engineer),他们通常从事软件开发、测试、维护和软件项目管理等工作。