TheSoftware 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 ofsoftware engineeringover time. A baseline for this body of knowledge is presented in theGuide to the Software Engineering Body of Knowledge,[1]also known as theSWEBOK Guide,anISO/IECstandard originally recognized as ISO/IEC TR 19759:2005[2]and later revised by ISO/IEC TR 19759:2015.[3]TheSWEBOK Guideserves as a compendium and guide to the body of knowledge that has been developing and evolving over the past decades.
TheSWEBOK Guidehas been created through cooperation among several professional bodies and members of industry and is published by theIEEE Computer Society(IEEE),[4]from which it can be accessed for free. In late 2013,SWEBOK V3was 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 ofSWEBOK Guideversion 4 in October 2024.[7]
SWEBOK Version 3
editThe published version ofSWEBOK V3has the following 15knowledge areas(KAs) within the field ofsoftware engineering:
- Software requirements
- Software design
- Software construction
- Software testing
- Software maintenance
- Software configuration management
- Software engineering management
- Software engineering process
- Software engineeringmodels 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:
2004 edition of the SWEBOK
editThe 2004 edition of theSWEBOK Guide,known asSWEBOK 2004,defined tenknowledge areas(KAs) within the field ofsoftware 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:
Similar efforts
editA similar effort to define a body of knowledge for software engineering is the "Computing Curriculum Software Engineering (CCSE)," officially namedSoftware Engineering 2004(SE2004). The curriculum largely overlaps withSWEBOK 2004since the latter has been used as one of its sources, although it is more directed towards academia. Whereas theSWEBOK Guidedefines the software engineering knowledge that practitioners should have after four years of practice, SE2004 defines the knowledge that anundergraduatesoftware engineering student should possess upon graduation (including knowledge of mathematics, general engineering principles, and other related areas).SWEBOK V3aims 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)
- AutomationBody of Knowledge (ABOK)
- Data ManagementBody of Knowledge (DMBOK)
- ISO/IEC JTC 1/SC 7
References
edit- ^"IEEE Computer Society SWEBOK Certificate Program (SCP) benefits for students".YouTube.3 November 2011.Archivedfrom the original on 2021-12-11.Retrieved22 January2021.
- ^"ISO/IEC TR 19759:2005".Retrieved2013-04-01.
- ^"ISO/IEC TR 19759:2015".Retrieved2024-02-29.
- ^"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.
- ^"SWEBOK Guide V3.0".21 May 2018.
- ^"SWEBoK Evolution".12 April 2018.
- ^"Software Engineering Body of Knowledge".9 October 2024.