Software engineering

Software engineering is an engineering-based approach to software development.[1][2][3] A software engineer is a person who applies the engineering design process to design, develop, test, maintain, and evaluate computer software. The term programmer is sometimes used as a synonym, but may emphasize software implementation over design and can also lack connotations of engineering education or skills.[4]

Engineering techniques are used to inform the software development process,[1][5] which involves the definition, implementation, assessment, measurement, management, change, and improvement of the software life cycle process itself. It heavily uses software configuration management,[1][5] which is about systematically controlling changes to the configuration, and maintaining the integrity and traceability of the configuration and code throughout the system life cycle. Modern processes use software versioning.

  1. ^ a b c Abran et al. 2004
  2. ^ ACM (2007). "Computing Degrees & Careers". ACM. Retrieved 2010-11-23.
  3. ^ Laplante, Phillip (2007). What Every Engineer Should Know about Software Engineering. Boca Raton: CRC. ISBN 978-0-8493-7228-5. Retrieved 2011-01-21.
  4. ^ "Programmers: Stop Calling Yourselves Engineers". The Atlantic. 5 November 2015.
  5. ^ a b Cite error: The named reference swebookv3 was invoked but never defined (see the help page).

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Nelliwinne