| Project Overview | ||||
|
Purpose and Background Consensus on a Core Body Knowledge Is Crucial In spite of the millions of software professionals worldwide and the ubiquitous presence of software in our society, software engineering has not reached the status of a legitimate engineering discipline and a recognized profession. Since 1993, the IEEE Computer Society and the ACM have been actively promoting software engineering as a profession, notably through their involvement in the IEEE Computer Society and ACM Software Engineering Coordinating Committee. In other engineering disciplines, the accreditation of university curricula and the licensing and certification of practicing professionals are taken very seriously. These activities are seen as critical to the constant upgrading of professionals and, hence, the improvement of the level of professional practice. Recognizing a core body of knowledge is pivotal to the development and accreditation of university curricula and the licensing and certification of professionals. Achieving consensus by the profession on a core body of knowledge is a key milestone in all disciplines and has been identified by the Coordinating Committee as crucial for the evolution of software engineering toward a professional status. The Guide to the Software Engineering Body of Knowledge project is an initiative completed under the auspices of this Committee to reach this consensus. Focus on Generally Accepted Knowledge The software engineering body of knowledge is an all-inclusive term that describes the sum of knowledge within the profession of software engineering. Since it is usually not possible to put the full body of knowledge of even an emerging discipline, such as software engineering, into a single document, there is a need for a Guide to the Software Engineering Body of Knowledge. This Guide will seek to identify and describe that subset of the body of knowledge that is generally accepted, even though software engineers must be knowledgeable not only in software engineering, but also, of course, in other related disciplines. What do we mean by "generally accepted knowledge"? To better illustrate what "generally accepted knowledge" is relative to other types of knowledge, the figure below proposes a draft three-category schema for classifying knowledge. |
|
|||
![]() |
||||
|
The Project Management Institute in its Guide to the Project Management Body of Knowledge defines "generally accepted" knowledge for project management in the following manner:
The Guide to the Project Management Body of Knowledge is now an IEEE Standard. The Industrial Advisory Board better defines "generally accepted" as knowledge to be included in the study material of a software engineering licensing exam that a graduate would pass after completing four years of work experience. These two definitions should be seen as complementary. Knowledge Area Specialists are also expected to be somewhat forward-looking in their interpretation by taking into consideration not only what is "generally accepted" today, but what they expect will be "generally accepted" in a 3 to 5 year timeframe. Software engineering body of knowledge and curriculum are not the same Software engineers must not only be knowledgeable in what is specific to their discipline, but they also, of course, have to know a lot more. The goal of this initiative is not, however, to inventory everything that software engineers should know, but to identify what forms the core of software engineering. It is the responsibility of other organizations and initiatives involved in the licensing and certification of professionals and the development of accreditation criteria and curricula to define what a software engineer must know outside software engineering. We believe that a very clear distinction must be made between the software engineering body of knowledge and the contents of software engineering curricula. |
|
|||
|
||||