ISO/IEC/IEEE 系统与软件工程词汇把软件工程定义为:把系统化、有纪律、可量化的方法用于软件的开发、运行和维护,也就是把工程应用于软件。同一种词汇把软件定义为计算机程序、规程,以及可能与之相关的、属于计算机系统运行的文档和数据。指南还记下历史上的其他定义,并指出它们的共同点是都处理软件的开发与维护。[1]
软件工程处于计算机科学与技术的数学和物理学科,以及把这些发现用于特定应用领域的工作之间。科学旨在发现;工程把知识用于在有限资源下成本有效地解决现实问题。指南因此把计算机科学和工程中的相关理论收进三个基础知识域,其余知识域则收录软件工程的实践和工程经济学。软件工程与计算机科学相关但不同,正如化学工程与化学相关但不同。[1]
SWEBOK Guide 不是知识本体。知识本体存在于已出版文献中。指南的目的是描述其中普遍接受的部分、加以组织,并提供主题入口。它的五项目标是:促成国际上一致的软件工程观点;划定学科范围,并说明它相对于计算机科学、项目管理、计算机工程和数学等学科的位置;刻画学科内容;提供软件工程知识体系的主题入口;为课程开发以及个人认证和执照材料提供基础。[1]
第 1 至 15 章是软件工程知识域,第 16 至 18 章是基础知识域。指南承认十一个相关学科,但不把刻画这些学科的知识当作自己的目标:业务分析、计算机工程、计算机科学、网络安全、数据科学、一般管理、信息系统与技术、数学、项目管理、质量管理、系统工程。[1]
知识域:
- 软件需求
- 软件架构
- 软件设计
- 软件构造
- 软件测试
- 软件工程运行
- 软件维护
- 软件配置管理
- 软件工程管理
- 软件工程过程
- 软件工程模型与方法
- 软件质量
- 软件安全
- 软件工程职业实践
- 软件工程经济学
- 计算基础
- 数学基础
- 工程基础
指南附录列出的词汇标准是 ISO/IEC/IEEE 24765:2017。开发流程见 软件工程过程,需求与文档类规范见 软件需求 和 软件质量。[1]