Software engineering: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Howard Arvi Hughes
m (cat computer wgp)
imported>Charles F. Radley
(SDLC clarification)
Line 1: Line 1:
'''Software engineering''' is "the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of [[software]]".<ref name="IEEE">“IEEE Standard Glossary of Software Engineering Terminology,” IEEE std 610.12-1990, 1990.</ref>
'''Software engineering''' is "the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of [[software]]".<ref name="IEEE">“IEEE Standard Glossary of Software Engineering Terminology,” IEEE std 610.12-1990, 1990.</ref>


The approaches used vary greatly. There are [[object-oriented]], [[function-oriented]], [[rules-based]], [[state machine]], and other approaches.  There are also different processes in use, including [[waterfall]], [[iterative]], and [[agile]]. In addition, there are many techniques that are used with one or more of these approaches, some being applicable across the board and some only applying in a subset of approaches.
The approaches used vary greatly.  
 
Most organization who are engaged in Software Engineering employee some form of [[Software Development Life Cycle]], either explicitly or implicitly.    The classical SDLC is the [[Waterfall]] model, which employees a sequential series of development phases culminating in a single release milestone.  There are also different processes in use, including [[iterative]], and [[agile]].   In practice most processes employee some elements of the waterfall model phases, but instead of being sequential, they can be iterated multiple times.
 
There are many techniques that are used within one or more of these approaches, some being applicable across the board and some only applying in a subset of approaches. There are [[object-oriented]], [[function-oriented]], [[rules-based]], [[state machine]], and other approaches. 


== References ==
== References ==

Revision as of 17:24, 17 June 2007

Software engineering is "the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software".[1]

The approaches used vary greatly.

Most organization who are engaged in Software Engineering employee some form of Software Development Life Cycle, either explicitly or implicitly. The classical SDLC is the Waterfall model, which employees a sequential series of development phases culminating in a single release milestone. There are also different processes in use, including iterative, and agile. In practice most processes employee some elements of the waterfall model phases, but instead of being sequential, they can be iterated multiple times.

There are many techniques that are used within one or more of these approaches, some being applicable across the board and some only applying in a subset of approaches. There are object-oriented, function-oriented, rules-based, state machine, and other approaches.

References

  1. “IEEE Standard Glossary of Software Engineering Terminology,” IEEE std 610.12-1990, 1990.
  1. “IEEE Standard Glossary of Software Engineering Terminology,” IEEE std 610.12-1990, 1990.