Software Engineering Classifications: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Stéphane Richard
No edit summary
imported>Meg Taylor
No edit summary
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{TOC-right}}
{{subpages}}
Software engineering today has grown into a huge pool of knowledge. Knowledge that is manifested as disciplines, fields of applications, different software engineering methodologies and so on. Today, it's more of a challenge the explain what Software Engineering is completely than it is to use it per se. This knowledge base is an effort to bring together, under one hood, everything that can be considered software engineering material. To do so, many different types of knowledge related material will be created and made available through this knowledge base.
{{TOC|right}}
 
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.   
After researching the internet for a little while (which brought me to creating this knowledge base) it became clear to me that some already existing standard classification existed. Since they are present and used in many places already I decided I would support them here.  This means that when subject matter is added here I will then figure out where it goes in these classification systems and give them references so you know where it belongsHere are the supported classification systems.


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 (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.
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:'''
===External links:===
 
*[http://sites.computer.org/ccse/ The Software Engineering 2004 website]
* [http://sites.computer.org/ccse/ The Software Engineering 2004 Website]
*[http://www.informatik.uni-trier.de/~ley/db/conf/iastedSE/se2004.html Software Engineering 2004 - Informatik]
* [http://en.wikipedia.org/wiki/CCSE The WikiPedia on Software Engineering 2004]
 
== Software Engineering Body Of Knowledge (SWEBOK) Classification ==


== 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.
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:'''
===External links:===
 
*[http://www.swebok.org/ The S.W.E.B.O.K. website]  
* [http://www.swebok.org/ The S.W.E.B.O.K. Website]  
*[http://www.inf.ed.ac.uk/teaching/courses/seoc/2006_2007/resources/SWEBOK_Guide_2004.pdf Guide to the Software Engineering Body of Knowledge (2004)]
* [http://en.wikipedia.org/wiki/SWEBOK The WikiPedia on S.W.E.B.O.K. Classification]


== The A.C.M. Classification System ==
== 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).


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:===
 
*[http://www.acm.org/class/1998 The A.C.M. Computing Classification System website]  
'''External Links:'''
*[http://www.jucs.org/jucs_info/acm_categories A.C.M. Computing Classification System]  
 
* [http://www.acm.org/class/1998 The A.C.M. Computing Classification System Website]  
* [http://en.wikipedia.org/wiki/ACM_Computing_Classification_System The WikiPedia on the A.C.M. Computing Classification System]  
 
 
== 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 since 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 it's 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.


[[Category:CZ Live]]
{{reflist}}
[[Category:Stub Articles]]
[[Category:Software Engineering Workgroup]]

Latest revision as of 20:17, 25 October 2013

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).

External links: