Software Engineering Body of Knowledge

International standard

Part of a series on

Software development

Core activities

* Data modeling
* Processes
* Requirements
* Design
* Construction
* Engineering
* Testing
* Debugging
* Deployment
* Maintenance

Paradigms and models

* Agile
* Cleanroom
* Incremental
* Prototyping
* Spiral
* V model
* Waterfall

Methodologies and frameworks

* ASD
* DAD
* DevOps
* DSDM
* FDD
* IID
* Kanban
* Lean SD
* LeSS
* MDD
* MSF
* PSP
* RAD
* RUP
* SAFe
* Scrum
* SEMAT
* TDD
* TSP
* UP
* XP

Supporting disciplines

* Configuration management
* Deployment management
* Documentation
* Project management
* Quality assurance
* User experience

Practices

* ATDD
* BDD
* CCO
* CD
* CI
* DDD
* PP
* SBE
* Stand-up
* TDD

Tools

* Build automation
* Compiler
* Debugger
* GUI builder
* IDE
* Infrastructure as code
* Profiler
* Release automation
* UML Modeling

Standards and bodies of knowledge

* CMMI
* IEEE standards
* IREB
* ISO 9001
* ISO/IEC standards
* ITIL
* OMG
* PMBOK
* SWEBOK

Glossaries

* Artificial intelligence
* Computer science
* Electrical and electronics engineering

Outlines

* Outline of software development

* v
* t
* e

The Software Engineering Body of Knowledge (SWEBOK (/ˈswiːˌbɒk/ SWEE-bok)) 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,[1] also known as the SWEBOK Guide, an ISO/IEC standard originally recognized as ISO/IEC TR 19759:2005[2] and later revised by ISO/IEC TR 19759:2015.[3] 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),[4] from which it can be accessed for free. In late 2013, SWEBOK V3 was approved for publication and released.[5] In 2016, the IEEE Computer Society began the SWEBOK Evolution effort to develop future iterations of the body of knowledge.[6] The SWEBOK Evolution project resulted in the publication of SWEBOK Guide version 4 in October 2024.[7]

## SWEBOK Version 3

[edit]

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

[edit]

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

[edit]

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

[edit]

* 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

[edit]

1. ^ "IEEE Computer Society SWEBOK Certificate Program (SCP) benefits for students". YouTube. 3 November 2011. Archived from the original on 2021-12-11. Retrieved 22 January 2021.
2. ^ "ISO/IEC TR 19759:2005". Retrieved 2013-04-01.
3. ^ "ISO/IEC TR 19759:2015". Retrieved 2024-02-29.
4. ^ "Guide to the software engineering body of knowledge : 2004 version," Library of Congress Online Catalog, 2005, http://lccn.loc.gov/2005921729. Retrieved 16 July 2013.
5. ^ "SWEBOK Guide V3.0". 21 May 2018.
6. ^ "SWEBoK Evolution". 12 April 2018.
7. ^ "Software Engineering Body of Knowledge". 9 October 2024.

## External links

[edit]

* Official website

* v
* t
* e

Software engineering

Fields|

* Computer programming
* DevOps
* Empirical software engineering
* Experimental software engineering
* Formal methods
* Requirements engineering
* Search-based software engineering
* Site reliability engineering
* Social software engineering
* Software deployment
* Software design
* Software maintenance
* Software testing
* Systems analysis

Concepts|

* Abstraction
* CI/CD
* Compatibility
* Backward compatibility
* Compatibility layer
* Compatibility mode
* Forward compatibility
* Software incompatibility
* Component-based software engineering
* Data modeling
* Enterprise architecture
* Functional specification
* Modeling language
* Programming paradigm
* Software
* Software archaeology
* Software architecture
* Software configuration management
* Software development process/methodology
* Software quality
* Software quality assurance
* Software system
* Software verification and validation
* Structured analysis
* Essential analysis

Orientations|

* Agile
* Aspect-oriented
* Object orientation
* Ontology
* SDLC
* Service orientation

Models|

| Developmental|

* Agile
* EUP
* Executable UML
* Incremental model
* Iterative model
* Prototype model
* RAD
* Scrum
* Spiral model
* UP
* V-model
* Waterfall model
* XP
* Model-driven engineering
* Round-trip engineering

|

Other|

* CMMI
* Data model
* ER model
* Function model
* Information model
* Metamodeling
* Object model
* SPICE
* Systems model
* View model

Languages|

* IDEF
* SysML
* UML
* USL

Related fields|

* Computer engineering
* Computer science
* Information science
* Project management
* Risk management
* Systems engineering

* Category
* Commons

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template