Software Engineering Body of Knowledge
Encyclopedia
The Software Engineering Body of Knowledge (SWEBOK) is a product of the Software Engineering Coordinating Committee sponsored by the IEEE Computer Society
.
:
The SWEBOK also defines disciplines related to software engineering:
and Grady Booch
have publicly stated that the document could be improved. Many claim that the document may not accurately reflect the community's view of software engineering and recognize the effort to try to define the profession. Notkin, Gorlick, and Shaw's report was also less than positive.
The ACM famously pulled out of the SWEBOK process due to concerns about the work being used to require licensure.
German scientists support that the SWEBOK regards sources which were published in English and is an accurate anglophone
guide. Other versions, which include other authors, are available in French, Japanese, and Arabic.
Other efforts to define a body of knowledge for software engineering is the "Computing Curriculum Software Engineering (CCSE)", officially named Software Engineering 2004
(SE2004). The difference is that whereas SWEBOK 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).
IEEE Computer Society
The IEEE Computer Society is a professional society of IEEE. Its purpose and scope is “to advance the theory, practice, and application of computer and information processing science and technology” and the “professional standing of its members.” The CS is the largest of 38 technical societies...
.
Contents of the SWEBOK
As of the 2004 edition, the SWEBOK guide define ten knowledge areas (KAs) within the field of software engineeringSoftware engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...
:
- Software requirements
- Software designSoftware designSoftware design is a process of problem solving and planning for a software solution. After the purpose and specifications of software are determined, software developers will design or employ designers to develop a plan for a solution...
- Software construction
- Software testingSoftware testingSoftware testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software...
- Software maintenanceSoftware maintenanceSoftware Maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes....
- Software configuration managementSoftware configuration managementIn software engineering, software configuration management is the task of tracking and controlling changes in the software. Configuration management practices include revision control and the establishment of baselines....
- Software engineering management
- Software engineering process
- Software engineering tools and methods
- Software quality
The SWEBOK also defines disciplines related to software engineering:
- Computer engineeringComputer engineeringComputer engineering, also called computer systems engineering, is a discipline that integrates several fields of electrical engineering and computer science required to develop computer systems. Computer engineers usually have training in electronic engineering, software design, and...
- Computer scienceComputer scienceComputer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...
- ManagementManagementManagement in all business and organizational activities is the act of getting people together to accomplish desired goals and objectives using available resources efficiently and effectively...
- MathematicsMathematicsMathematics is the study of quantity, space, structure, and change. Mathematicians seek out patterns and formulate new conjectures. Mathematicians resolve the truth or falsity of conjectures by mathematical proofs, which are arguments sufficient to convince other mathematicians of their validity...
- Quality managementQuality managementThe term Quality management has a specific meaning within many business sectors. This specific definition, which does not aim to assure 'good quality' by the more general definition , can be considered to have four main components: quality planning, quality control, quality assurance and quality...
- Software ergonomics (Cognitive ergonomicsCognitive ergonomicsAccording to the International Ergonomics Association, by definition, "Cognitive ergonomics is concerned with mental processes, such as perception, memory, reasoning, and motor response, as they affect interactions among humans and other elements of a system...
) - Systems engineeringSystems engineeringSystems engineering is an interdisciplinary field of engineering that focuses on how complex engineering projects should be designed and managed over the life cycle of the project. Issues such as logistics, the coordination of different teams, and automatic control of machinery become more...
Criticism and alternatives
Cem KanerCem Kaner
Cem Kaner J.D., Ph.D., is a Professor of Software Engineering at Florida Institute of Technology, and the Director of Florida Tech's Center for Software Testing Education & Research since 2004...
and Grady Booch
Grady Booch
Grady Booch is an American software engineer. Booch is best known for developing the Unified Modeling Language with Ivar Jacobson and James Rumbaugh. Grady is recognized internationally for his innovative work in software architecture, software engineering, and collaborative development environments...
have publicly stated that the document could be improved. Many claim that the document may not accurately reflect the community's view of software engineering and recognize the effort to try to define the profession. Notkin, Gorlick, and Shaw's report was also less than positive.
The ACM famously pulled out of the SWEBOK process due to concerns about the work being used to require licensure.
German scientists support that the SWEBOK regards sources which were published in English and is an accurate anglophone
English language
English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...
guide. Other versions, which include other authors, are available in French, Japanese, and Arabic.
Other efforts to define a body of knowledge for software engineering is the "Computing Curriculum Software Engineering (CCSE)", officially named Software Engineering 2004
Software Engineering 2004
The Software Engineering 2004 —formerly known as Computing Curriculum Software Engineering — is a document that provides recommendations for undergraduate education in software engineering. SE2004 was initially developed by a steering committee between 2001 and 2004...
(SE2004). The difference is that whereas SWEBOK defines the software engineering
Software engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...
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).
See also
- PMBOK — Project Management Body of Knowledge
- EABOKEABOKThe Enterprise Architecture Body of Knowledge is a guide to Enterprise Architecture produced by MITRE , and is substantially funded by US government agencies. It provides a critical review of enterprise architecture issues in the context of the needs of an organization...
— Enterprise Architecture Body of Knowledge - BABOK — Business Analysis Body of Knowledge
- CMBOK — Configuration Management Body of Knowledge
- ABOKAutomationAutomation is the use of control systems and information technologies to reduce the need for human work in the production of goods and services. In the scope of industrialization, automation is a step beyond mechanization...
— Automation Body of Knowledge
External links
- An Assessment of Software Engineering Body of Knowledge Efforts — an ACMACMACM is a three-letter acronym that may refer to:* Alkyl acrylate copolymer, a type of rubber commonly found in automotive transmissions and hoses* Arnold-Chiari malformation* Asbestos Containing Material* Association for Computing Machinery...
report critical of the SWEBOK