CLASSIFICATION OF TOPICS ACCORDING TO
Bloom's taxonomy1 is a well-known and widely used classification of cognitive educational goals. In order to help audiences who wish to use the Guide as a tool in defining course material, university curricula, university program accreditation criteria, job descriptions, role descriptions within a software engineering process definition, professional development paths and professional training programs, and other needs, Bloom's taxonomy levels for SWEBOK Guide topics are proposed in this appendix for a software engineering graduate with four years of experience. A software engineering graduate with four years of experience is in essence the "target" of the SWEBOK Guide as defined by what is meant by generally accepted knowledge (See Introduction of the SWEBOK Guide).
Since this Appendix only pertains to what can be considered as "generally accepted" knowledge, it is very important to remember that a software engineer must know substantially more than this "category" of knowledge. In addition to "generally accepted" knowledge, a software engineering graduate with four years of knowledge must possess some elements from the Related Disciplines as well as certain elements of specialized knowledge, advanced knowledge, and possibly even research knowledge (see Introduction of the SWEBOK Guide). The following assumptions were made when specifying the proposed taxonomy levels:
The evaluations are proposed for a "generalist" software engineer and not a software engineer working in a specialized group such as a software configuration management team, for instance. Obviously, such a software engineer would require or would attain much higher taxonomy levels in the specialty area of their group;
A software engineer with four years of experience is still at the beginning of their career and would be assigned relatively few management duties, or at least not for major endeavors. "Management-related topics" are therefore not given priority in the proposed evaluations. For the same reason, taxonomy levels tend to be lower for "early life cycle topics" such as those related to software requirements than for more technically-oriented topics such as those within software design, software construction or software testing.
So the evaluations can be adapted for more senior software engineers or software engineers specializing in certain knowledge areas, no topic is given a taxonomy level higher than Analysis. This is consistent with the approach taken in the Software Engineering Education Body of Knowledge (SEEK) where no topic is assigned a taxonomy level higher than Application.2 The purpose of SEEK is to define a software engineering education body of knowledge appropriate for guiding the development of undergraduate software engineering curricula. Though distinct notably in terms of scope, SEEK and the SWEBOK Guide are closely related.3
Bloom's Taxonomy of the Cognitive Domain proposed in 1956 contains six levels. Table 14 presents these levels and keywords often associated with each level.
Table 1 Bloom's Taxonomy
The breakdown of topics in the tables does not match perfectly the breakdown in the Knowledge Areas. The evaluation for this Appendix was prepared while some comments were still coming in.
Finally, please bear in mind that the evaluations of this Appendix should definitely only be seen as a proposal to be further developed and validated.
SOFTWARE CONFIGURATION MANAGEMENT
SOFTWARE ENGINEERING MANAGEMENT
SOFTWARE ENGINEERING PROCESS
SOFTWARE ENGINEERING TOOLS AND METHODS
B. Bloom (ed.), Taxonomy of Educational Objectives: The Classification of Educational Goals, Mackay, 1956.
See Joint Task Force on Computing Curricula – IEEE Computer Society / Association for Computing Machinery, Computing Curricula – Software Engineering Volume – Public Draft 1 – Computing Curriculum Software Engineering, 2003; http://sites.computer.org/ccse/.
See P Bourque, F. Robert, J.-M. Lavoie, A. Lee, S. Trudel, T. Lethbridge, "Guide to the Software Engineering Body of Knowledge (SWEBOK) and the Software Engineering Education Body of Knowledge (SEEK) – A Preliminary Mapping," in Proc. 10th Intern. Workshop Software Technology and Engineering Practice Conference (STEP 2002), 2002, pp. 8-35.
Table adapted from http://www.nwlink.com/~donclark/hrd/bloom.html.
K: Knowledge, C: Comprehension, AP: Application, AN: Analysis, E: Evaluation, S: Synthesis