Software Engineering Body of Knowledge. The Software Engineering Body of Knowledge (SWEBOK ( )) refers to the collective knowledge, skills, techniques, methodologies, best practices, and experiences accumulated within the field of software engineering over time. A baseline for this body of knowledge is presented in the Guide to the Software Engineering Body of Knowledge, also known as the SWEBOK Guide, an ISO/IEC standard originally recognized as ISO/IEC TR 19759:2005 and later revised by ISO/IEC TR 19759:2015. The SWEBOK Guide serves as a compendium and guide to the body of knowledge that has been developing and evolving over the past decades.

The SWEBOK Guide has been created through cooperation among several professional bodies and members of industry and is published by the IEEE Computer Society (IEEE), from which it can be accessed for free. In late 2013, SWEBOK V3 was approved for publication and released. In 2016, the IEEE Computer Society began the SWEBOK Evolution effort to develop future iterations of the body of knowledge. The SWEBOK Evolution project resulted in the publication of SWEBOK Guide version 4 in October 2024.

SWEBOK Version 3
The published version of SWEBOK V3 has the following 15 knowledge areas (KAs) within the field of software engineering:

 Software requirements
 Software design
 Software construction
 Software testing
 Software maintenance
 Software configuration management
 Software engineering management
 Software engineering process
 Software engineering models and methods
 Software quality
 Software engineering professional practice
 Software engineering economics
 Computing foundations
 Mathematical foundations
 Engineering foundations

It also recognized, but did not define, these related disciplines:

 Computer engineering
 Systems engineering
 Project management
 Quality management
 General management
 Computer science
 Mathematics

2004 edition of the SWEBOK 
The 2004 edition of the SWEBOK Guide, known as SWEBOK 2004, defined ten knowledge areas (KAs) within the field of software engineering:
 Software requirements
 Software design
 Software construction
 Software testing
 Software maintenance
 Software configuration management
 Software engineering management (engineering management)
 Software engineering process
 Software engineering tools and methods
 Software quality

The following disciplines are also defined as being related to software engineering:
 Computer engineering
 Computer science
 Management
 Mathematics
 Project management
 Quality management
 Software ergonomics (cognitive ergonomics)
 Systems engineering

Similar efforts 
A similar effort to define a body of knowledge for software engineering is the "Computing Curriculum Software Engineering (CCSE)," officially named Software Engineering 2004 (SE2004). The curriculum largely overlaps with SWEBOK 2004 since the latter has been used as one of its sources, although it is more directed towards academia. Whereas the SWEBOK Guide defines the software engineering knowledge that practitioners should have after four years of practice, SE2004 defines the knowledge that an undergraduate software engineering student should possess upon graduation (including knowledge of mathematics, general engineering principles, and other related areas). SWEBOK V3 aims to address these intersections.

See also
Project Management Body of Knowledge (PMBOK)
Enterprise Architecture Body of Knowledge (EABOK)
Systems Engineering Body of Knowledge (SEBOK)
Automation Body of Knowledge (ABOK)
Data Management Body of Knowledge (DMBOK)
ISO/IEC JTC 1/SC 7

References

External links 
 

Software engineering publications
Bodies of knowledge
Computer science education