Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Software engineering
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Engineering approach to software development}} {{Software development process|Core activities}} '''Software engineering''' is a branch of both [[computer science]] and [[engineering]] focused on designing, developing, testing, and maintaining [[Application software|software applications]]. It involves applying [[engineering design process|engineering principles]] and [[computer programming]] expertise to develop software systems that meet user needs.<ref name="BoDu04">{{harvnb |Abran |Moore |Bourque| Dupuis |2004}}</ref><ref name="ACM 2020">{{cite web |last=ACM |year=2007 |title=Computing Degrees & Careers |url=http://computingcareers.acm.org/?page_id=12 |url-status=dead |access-date=2010-11-23 |publisher=ACM |archive-date=2011-06-17 |archive-url=https://web.archive.org/web/20110617053818/http://computingcareers.acm.org/?page_id=12 }}</ref><ref name="Laplante 2007">{{cite book |last1=Laplante |first1=Phillip |year=2007 |title=What Every Engineer Should Know about Software Engineering |publisher=CRC |location=Boca Raton |isbn=978-0-8493-7228-5 |url=https://books.google.com/books?id=pFHYk0KWAEgC&q=What%20Every%20Engineer%20Should%20Know%20about%20Software%20Engineering.&pg=PA1 |access-date=2011-01-21}}</ref><ref>{{cite web|url=https://www.coursera.org/articles/software-engineer|title=What Does a Software Engineer Do?|publisher=[[coursera]]|date=Oct 31, 2022}}</ref> The terms ''[[programmer]]'' and ''coder'' overlap ''software engineer'', but they imply only the construction aspect of a typical software engineer workload.<ref>{{cite magazine |last1=Bogost |first1=Ian |date=5 November 2015 |url=https://www.theatlantic.com/technology/archive/2015/11/programmers-should-not-call-themselves-engineers/414271/ |title=Programmers: Stop Calling Yourselves Engineers |website=[[The Atlantic]]}}</ref> A software engineer applies a [[software development process]],<ref name="BoDu04"/><ref name=swebokVol3>{{cite book |editor1-last=Bourque |editor1-first=Pierre |editor2-last=Fairley |editor2-first=Richard E. (Dick) |date=2014 |title=Guide to the Software Engineering Body of Knowledge Version 3.0 (SWEBOK) |url=https://www.computer.org/web/swebok/v3 |publisher=[[IEEE Computer Society]]}}</ref> which involves defining, [[Implementation|implementing]], [[Software testing|testing]], [[Project management|managing]], and [[Software maintenance|maintaining]] software systems, as well as developing the software development process itself.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)