HOME

TheInfoList



OR:

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 Software engineering is a branch of both computer science and engineering focused on designing, developing, testing, and maintaining Application software, software applications. It involves applying engineering design process, engineering principl ...
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 The International Organization for Standardization (ISO ; ; ) is an independent, non-governmental, international standard development organization composed of representatives from the national standards organizations of member countries. Me ...
/
IEC The International Electrotechnical Commission (IEC; ) is an international standards organization that prepares and publishes international standards for all electrical, electronic and related technologies. IEC standards cover a vast range of ...
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 Computer Society (commonly known as the Computer Society or CS) is a technical society of the Institute of Electrical and Electronics Engineers (IEEE) dedicated to computing, namely the major areas of hardware, software, standards and people ...
(
IEEE The Institute of Electrical and Electronics Engineers (IEEE) is an American 501(c)(3) organization, 501(c)(3) public charity professional organization for electrical engineering, electronics engineering, and other related disciplines. The 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 engineering is a branch of both computer science and engineering focused on designing, developing, testing, and maintaining Application software, software applications. It involves applying engineering design process, engineering principl ...
: *
Software requirements Software requirements for a system are the description of what the system should do, the service or services that it provides and the constraints on its operation. The IEEE Standard Glossary of Software Engineering Terminology defines a requiremen ...
*
Software design Software design is the process of conceptualizing how a software system will work before it is implemented or modified. Software design also refers to the direct result of the design process the concepts of how the software will work which co ...
* Software construction *
Software testing Software testing is the act of checking whether software satisfies expectations. Software testing can provide objective, independent information about the Quality (business), quality of software and the risk of its failure to a User (computin ...
*
Software maintenance Software maintenance is the modification of software after delivery. Software maintenance is often considered lower skilled and less rewarding than new development. As such, it is a common target for outsourcing or offshoring. Usually, the tea ...
* Software configuration management * Software engineering management * Software engineering process *
Software engineering Software engineering is a branch of both computer science and engineering focused on designing, developing, testing, and maintaining Application software, software applications. It involves applying engineering design process, engineering principl ...
models and methods *
Software quality In the context of software engineering, software quality refers to two related but distinct notions: * Software's functional quality reflects how well it complies with or conforms to a given design, based on functional requirements or specificat ...
* 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 Computer engineering (CE, CoE, or CpE) is a branch of engineering specialized in developing computer hardware and software. It integrates several fields of electrical engineering, electronics engineering and computer science. Computer engi ...
*
Systems engineering Systems engineering is an interdisciplinary field of engineering and engineering management that focuses on how to design, integrate, and manage complex systems over their Enterprise life cycle, life cycles. At its core, systems engineering uti ...
*
Project management Project management is the process of supervising the work of a Project team, team to achieve all project goals within the given constraints. This information is usually described in project initiation documentation, project documentation, crea ...
*
Quality management Total quality management, Total Quality management (TQM), ensures that an organization, product, or service consistently performs as intended, as opposed to Quality Management, which focuses on work process and procedure standards. It has four mai ...
* General
management Management (or managing) is the administration of organizations, whether businesses, nonprofit organizations, or a Government agency, government bodies through business administration, Nonprofit studies, nonprofit management, or the political s ...
*
Computer science Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
*
Mathematics Mathematics is a field of study that discovers and organizes methods, Mathematical theory, theories and theorems that are developed and Mathematical proof, proved for the needs of empirical sciences and mathematics itself. There are many ar ...


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 engineering is a branch of both computer science and engineering focused on designing, developing, testing, and maintaining Application software, software applications. It involves applying engineering design process, engineering principl ...
: *
Software requirements Software requirements for a system are the description of what the system should do, the service or services that it provides and the constraints on its operation. The IEEE Standard Glossary of Software Engineering Terminology defines a requiremen ...
*
Software design Software design is the process of conceptualizing how a software system will work before it is implemented or modified. Software design also refers to the direct result of the design process the concepts of how the software will work which co ...
* Software construction *
Software testing Software testing is the act of checking whether software satisfies expectations. Software testing can provide objective, independent information about the Quality (business), quality of software and the risk of its failure to a User (computin ...
*
Software maintenance Software maintenance is the modification of software after delivery. Software maintenance is often considered lower skilled and less rewarding than new development. As such, it is a common target for outsourcing or offshoring. Usually, the tea ...
* Software configuration management * Software engineering management ( engineering management) * Software engineering process * Software engineering tools and methods *
Software quality In the context of software engineering, software quality refers to two related but distinct notions: * Software's functional quality reflects how well it complies with or conforms to a given design, based on functional requirements or specificat ...
The following disciplines are also defined as being related to software engineering: *
Computer engineering Computer engineering (CE, CoE, or CpE) is a branch of engineering specialized in developing computer hardware and software. It integrates several fields of electrical engineering, electronics engineering and computer science. Computer engi ...
*
Computer science Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
*
Management Management (or managing) is the administration of organizations, whether businesses, nonprofit organizations, or a Government agency, government bodies through business administration, Nonprofit studies, nonprofit management, or the political s ...
*
Mathematics Mathematics is a field of study that discovers and organizes methods, Mathematical theory, theories and theorems that are developed and Mathematical proof, proved for the needs of empirical sciences and mathematics itself. There are many ar ...
*
Project management Project management is the process of supervising the work of a Project team, team to achieve all project goals within the given constraints. This information is usually described in project initiation documentation, project documentation, crea ...
*
Quality management Total quality management, Total Quality management (TQM), ensures that an organization, product, or service consistently performs as intended, as opposed to Quality Management, which focuses on work process and procedure standards. It has four mai ...
* Software ergonomics ( cognitive ergonomics) *
Systems engineering Systems engineering is an interdisciplinary field of engineering and engineering management that focuses on how to design, integrate, and manage complex systems over their Enterprise life cycle, life cycles. At its core, systems engineering uti ...


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 Undergraduate education is education conducted after secondary education and before postgraduate education, usually in a college or university. It typically includes all postsecondary programs up to the level of a bachelor's degree. For example, ...
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 The Project Management Body of Knowledge (PMBOK) is a set of standard terminology and guidelines (a body of knowledge) for project management. The body of knowledge evolves over time and is presented in ''A Guide to the Project Management Body ...
(PMBOK) * Enterprise Architecture Body of Knowledge (EABOK) *
Systems Engineering Body of Knowledge The Systems Engineering Body of Knowledge (SEBoK), formally known as ''Guide to the Systems Engineering Body of Knowledge,'' is a wiki-based collection of key knowledge sources and references for systems engineering Systems engineering is an in ...
(SEBOK) *
Automation Automation describes a wide range of technologies that reduce human intervention in processes, mainly by predetermining decision criteria, subprocess relationships, and related actions, as well as embodying those predeterminations in machine ...
Body of Knowledge (ABOK) *
Data Management Data management comprises all disciplines related to handling data as a valuable resource, it is the practice of managing an organization's data so it can be analyzed for decision making. Concept The concept of data management emerged alongsi ...
Body of Knowledge (DMBOK) * ISO/IEC JTC 1/SC 7


References


External links

* {{DEFAULTSORT:Software Engineering Body Of Knowledge Software engineering publications Bodies of knowledge Computer science education