---
{
  "aliases": [
    "软件工程",
    "SWEBOK"
  ],
  "availableLangs": [
    "zh",
    "en"
  ],
  "categories": [
    "category-science-technology"
  ],
  "conceptKind": "theme",
  "createdAt": "2026-11-02T01:19:55+08:00",
  "id": "concept_software_engineering",
  "lang": "en",
  "revision": 2,
  "scopeNote": "Organized as the 18 knowledge areas of SWEBOK Guide v4.0a; each knowledge area has its own entry.",
  "slug": "software-engineering",
  "sources": [
    {
      "author": "Hironori Washizaki (ed.), IEEE Computer Society",
      "date": "2026-08",
      "id": "s1",
      "locator": "Introduction; Table I.1; Table I.2; Appendix B",
      "title": "Guide to the Software Engineering Body of Knowledge (SWEBOK Guide) v4.0a",
      "url": "https://ieeecs-media.computer.org/media/education/swebok/swebok-v4.pdf"
    }
  ],
  "status": "published",
  "summary": "Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.",
  "tags": [],
  "title": "Software Engineering",
  "type": "concept",
  "updatedAt": "2026-11-02T01:19:55+08:00",
  "updatedBy": "user:admin"
}
---

# Software Engineering

Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.

The ISO/IEC/IEEE systems and software engineering vocabulary defines software engineering as the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. The same vocabulary defines software as computer programs, procedures, and possibly associated documentation and data pertaining to the operation of a computer system. The Guide also records earlier definitions and notes that they share a concern with the development and maintenance of software.[^s1]

Software engineering sits between the mathematical and physical disciplines of computer science and technology and the work of applying those findings to particular application domains. Science aims at discovery. Engineering applies knowledge to solve real-world problems cost-effectively with limited resources. The Guide therefore puts the relevant theory of computer science and engineering into three foundation knowledge areas, and the remaining knowledge areas catalog the practice and engineering economics of software engineering. Software engineering and computer science are related but distinct, in the same way that chemical engineering and chemistry are related but distinct.[^s1]

The SWEBOK Guide is not the body of knowledge itself. That body of knowledge exists in the published literature. The Guide's purpose is to describe the generally accepted portion, organize it, and provide topical access to it. Its five objectives are to promote a consistent view of software engineering worldwide; to specify the scope of the discipline and clarify its place relative to other disciplines such as computer science, project management, computer engineering, and mathematics; to characterize the contents of the discipline; to provide topical access to the software engineering body of knowledge; and to provide a foundation for curriculum development and for individual certification and licensing materials.[^s1]

Chapters 1 through 15 are the software engineering knowledge areas, and chapters 16 through 18 are the foundation knowledge areas. The Guide recognizes eleven related disciplines but does not take characterizing their knowledge as its own objective: business analysis, computer engineering, computer science, cybersecurity, data science, general management, information systems and technology, mathematics, project management, quality management, and systems engineering.[^s1]

Knowledge areas:

- [Software Requirements](/en/concepts/software-requirements.html)
- [Software Architecture](/en/concepts/software-architecture.html)
- [Software Design](/en/concepts/software-design.html)
- [Software Construction](/en/concepts/software-construction.html)
- [Software Testing](/en/concepts/software-testing.html)
- [Software Engineering Operations](/en/concepts/software-engineering-operations.html)
- [Software Maintenance](/en/concepts/software-maintenance.html)
- [Software Configuration Management](/en/concepts/software-configuration-management.html)
- [Software Engineering Management](/en/concepts/software-engineering-management.html)
- [Software Engineering Process](/en/concepts/software-engineering-process.html)
- [Software Engineering Models and Methods](/en/concepts/software-engineering-models-and-methods.html)
- [Software Quality](/en/concepts/software-quality.html)
- [Software Security](/en/concepts/software-security.html)
- [Software Engineering Professional Practice](/en/concepts/software-engineering-professional-practice.html)
- [Software Engineering Economics](/en/concepts/software-engineering-economics.html)
- [Computing Foundations](/en/concepts/computing-foundations.html)
- [Mathematical Foundations](/en/concepts/mathematical-foundations.html)
- [Engineering Foundations](/en/concepts/engineering-foundations.html)

The vocabulary standard listed in the Guide's appendix is [ISO/IEC/IEEE 24765:2017](/en/works/ieee-std-24765-2017.html). Development processes are covered in [Software Engineering Process](/en/concepts/software-engineering-process.html). Requirements and documentation standards are covered in [Software Requirements](/en/concepts/software-requirements.html) and [Software Quality](/en/concepts/software-quality.html).[^s1]

更新时间：2026-11-02

## 标签


## 关系

- Discusses this topic：[SWEBOK Guide v4.0a](/en/works/swebok-v4.html) 
- Examples：[SWEBOK Guide v4.0a](/en/works/swebok-v4.html) 
- Narrower concepts：[Software Requirements](/en/concepts/software-requirements.html) 
- Narrower concepts：[Software Architecture](/en/concepts/software-architecture.html) 
- Narrower concepts：[Software Design](/en/concepts/software-design.html) 
- Narrower concepts：[Software Construction](/en/concepts/software-construction.html) 
- Narrower concepts：[Software Testing](/en/concepts/software-testing.html) 
- Narrower concepts：[Software Engineering Operations](/en/concepts/software-engineering-operations.html) 
- Narrower concepts：[Software Maintenance](/en/concepts/software-maintenance.html) 
- Narrower concepts：[Software Configuration Management](/en/concepts/software-configuration-management.html) 
- Narrower concepts：[Software Engineering Management](/en/concepts/software-engineering-management.html) 
- Narrower concepts：[Software Engineering Process](/en/concepts/software-engineering-process.html) 

## 来源

- Guide to the Software Engineering Body of Knowledge (SWEBOK Guide) v4.0a：https://ieeecs-media.computer.org/media/education/swebok/swebok-v4.pdf Introduction; Table I.1; Table I.2; Appendix B
