Software Engineering Classifications

From Citizendium
Revision as of 06:06, 31 May 2009 by imported>Caesar Schinas (Robot: Changing template: TOC-right)
Jump to navigation Jump to search
This article is developed but not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
 
This editable, developed Main Article is subject to a disclaimer.

Software engineering, over the last five decades, has grown into a vast body of knowledge. Certain organizations have made attempts at classifying all this knowledge by breaking down the knowledge into categories and sub categories in order to make each section of knowledge more manageable. The body of software engineering knowledge became such that a means of classifying this vast knowledge became abundantly clear and warranted.

In essence, there are three better known efforts, efforts that seem to be accepted throughout the software engineering domain. What follows is an explanation of these three groups of classification as well as links there were more details can be obtained.

The Software Engineering 2004 (SE2004) Classification

The Software Engineering 2004 Classification (SE2004) is a classification created by the IEEE Computer Society and the Association for Computing Machinery (ACM) that presents what the software engineer courses should cover. These are not necessarily followed by all teaching institutions as institutions are at liberty to include different aspects of software engineering subjects to their curriculum. The SE2004 effort is there to give universities the complete list of subject matter that is considered as good knowledge to have for a software engineering undergraduate program. Depending on the program schedule institutions may or may not include all that is specified in the SE2004 but are very likely to have subjects that are in the SE2004 classification.

External Links:

Software Engineering Body Of Knowledge (SWEBOK) Classification

The SWEBOK Classification System was created again by the IEEE Computer Society with the collaborate of many organizations. It is an effort to give a structure, a taxonomy if you will, the everything that is the body of Software Engineering knowledge. The main purpose is to help organize and recognize software engineering as a engineering field in itself. It's worth noting that everything that makes it into the SWEBOK hierarchy is the result of a acceptance effort (a vote if you will) and as such some software engineering philosophies and practices may not make it in this reference.

External Links:

The A.C.M. Classification System

The ACM Classification System is probably the oldest of the classification system and was created by the Association for Computing Machinery. This hierarchy attempts to classify everything about computers not just software engineering (which you can find in the D. section of the main hierarchy). I believe it to be one of the best places to start searching for any computing related needs and as such I have included it here as part of the support software engineering classification systems.

External Links:


In Conclusion

And there you have it; these four classification systems are at the basis of the Software Engineering knowledge Base project. Depending on where you're coming from, you might prefer to use one over the other of the classifications available here. The choice is entirely up to you. Undergraduates might want to follow the Software Engineering 2004 approach to the knowledge base as it has been created especially for them. Software engineers may use any of the other classification systems available.

The Knowledge Base is always looking for the best way to present its contents. If you happen to know of a classification system not listed here and you know it's a rather widespread method, by all means contact me so I can begin the work of integrating this classification system to the knowledge so everyone can benefit from it's advantages and features.

References