Software engineering is the branch of engineering concerned with the systematic design, development, testing and maintenance of computer software, applying engineering discipline such as specification, design review, testing and version control to a medium that has no physical mass and can be copied without cost. The term and the formal discipline date to the late 1960s, when the growing size and unreliability of software systems prompted engineers to argue that writing software needed the same rigor as building a bridge.
Facts
Origin YearThe term software engineering was coined for the 1968 NATO Software Engineering Conference in Garmisch, West Germany. Core ConcernThe systematic design, development and maintenance of computer software. 1 Core PrincipleThe IEEE Standard Glossary of Software Engineering Terminology defines the field by its discipline: the application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software, treating programming as an engineering practice rather than a craft. 2 FAQs
Is software engineering the same as computer science?
No, though the two overlap heavily. Computer science studies computation itself, algorithms, data structures, theory of computation and how computers process information. Software engineering applies engineering discipline, systematic design, testing, maintenance and process management, to building software that works reliably at scale over its whole lifecycle. A computer scientist might prove an algorithm's properties; a software engineer builds, tests and maintains the system that uses it in production.
Connections
Associated With
Source Agricultural Engineering (Wikipedia)Wikipedia contributors
Computer engineering and software engineering meet at firmware and low-level system software.
Developed the first compiler and helped found the discipline of software engineering practice.
Robot behavior, perception and control depend on software running on embedded systems.
Described the waterfall model of the software development process.
Includes
Source Abhay Bhushan (Wikipedia)
Ada Lovelace, Engineers Software engineering did not exist as a named discipline in her lifetime. She is linked here as the field own recognized precursor, for Note G and its accompanying description of a machine that manipulates symbols by rule.
Source Adas Algorithm: How Lord Byrons Daughter Ada Lovelace Launched the Digital AgeJames Essinger
Source Agile software development (Wikipedia)
Source A History of TechnologyCharles Singer, E. J. Holmyard, A. R. Hall and Trevor I. Williams, editors
Source Brendan Eich (Wikipedia article)
Source Wikipedia: Digital rights management
Source Extreme programming (Wikipedia)Wikipedia contributors
Source File Transfer Protocol - Wikipedia
Source Firewall (computing) (Wikipedia)
Source GIF (Wikipedia)
Source Grace Hopper and the Invention of the Information AgeKurt W. Beyer
Source Guido van Rossum (Wikipedia)
Source JPEG (Wikipedia)Wikipedia contributors
Source Margaret Hamilton (software engineer) (Wikipedia)
Source Minimum viable product (Wikipedia)Wikipedia contributors
Source Model-based systems engineering (Wikipedia)
Source Operating System (Wikipedia)Wikipedia contributors
Source Pair programming, Wikipedia
Source Wikipedia: Password manager
Source Rapid application development, Wikipedia
Source Relational Database (Wikipedia)Wikipedia contributors
Source Search Engine (Wikipedia)Wikipedia contributors
Source Wikipedia: Secure Shell
Source Wikipedia: Simple Mail Transfer Protocol
Source Wikipedia: Single sign-on
Source Email filtering (Wikipedia)
Source Wikipedia: Steve Wilhite
Showing 1 to 50 of 63 in Includes, page 1 of 2.
Open Questions
Source Software Engineering (Wikipedia)Wikipedia contributors
In the Other Atlases
Informed By
Also in Science Atlas: which informed this subject.
Also in Science Atlas: which informed this subject.
Sources
1. Encyclopaedia Britannica
Encyclopaedia Britannica editors, Encyclopaedia Britannica, Inc.View the Source 2. Software Engineering (Wikipedia)
Wikipedia contributors, Wikimedia FoundationTerminology, Definition section
The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.
Lead section, opening definition of software engineering
Software engineering is a branch of both computer science and engineering focused on designing, developing, testing, and maintaining software applications.
- In Group: Computing and Software Systems Engineering, lead sentence: a branch of both computer science and engineering focused on designing, developing, testing, and maintaining software applications
View the Source Technology: A World History
Daniel R. Headrick, Oxford University Press, 2009Includes: The InternetView the Source Grace Hopper and the Invention of the Information Age
Kurt W. Beyer, MIT Press, 2009Includes: Grace Hopper
Adas Algorithm: How Lord Byrons Daughter Ada Lovelace Launched the Digital Age
James Essinger, Melville House, 2014Includes: Ada Lovelace
A History of Technology
Charles Singer, E. J. Holmyard, A. R. Hall and Trevor I. Williams, editors, Oxford University Press, 1954- Includes: Vint Cerf
- Includes: Bob Kahn
View the Source Agricultural Engineering (Wikipedia)
Wikipedia contributors, Wikimedia FoundationAssociated With: Agricultural Engineering, Lead sectionView the Source Brendan Eich (Wikipedia article)
Includes: Brendan Eich, LeadQuote, Includes: Brendan Eich, Lead
He created the JavaScript programming language
View the Source Margaret Hamilton (software engineer) (Wikipedia)
Includes: Margaret Hamilton, LeadQuote, Includes: Margaret Hamilton, Lead
She directed the Software Engineering Division at the MIT Instrumentation Laboratory
View the Source Winston W. Royce (Wikipedia)
Wikipedia contributors, Wikimedia FoundationIncludes: Winston W. Royce, CategoriesQuote, Includes: Winston W. Royce, Categories
American software engineers
View the Source Waterfall model (Wikipedia)
Includes: Waterfall Model, CategoriesQuote, Includes: Waterfall Model, Categories
Software development philosophies
View the Source Agile software development (Wikipedia)
Includes: Agile Software Development, CategoriesQuote, Includes: Agile Software Development, Categories
Agile software development
View the Source Extreme programming (Wikipedia)
Wikipedia contributors, Wikimedia FoundationIncludes: Extreme Programming, CategoriesQuote, Includes: Extreme Programming, Categories
Agile software development
View the Source Pair programming, Wikipedia
Includes: Pair Programming, CategoriesQuote, Includes: Pair Programming, Categories
Agile software development
View the Source Rapid application development, Wikipedia
Includes: Rapid Application Development, CategoriesQuote, Includes: Rapid Application Development, Categories
Programming tools
View the Source Firewall (computing) (Wikipedia)
Includes: Firewall, CategoriesQuote, Includes: Firewall, Categories
Firewall software
View the Source Version control, Wikipedia
Includes: Version Control System, CategoriesQuote, Includes: Version Control System, Categories
Distributed version control systems
View the Source HTTP - Wikipedia
Includes: Hypertext Transfer Protocol, CategoriesQuote, Includes: Hypertext Transfer Protocol, Categories
World Wide Web Consortium standards
View the Source File Transfer Protocol - Wikipedia
Includes: File Transfer Protocol, CategoriesQuote, Includes: File Transfer Protocol, Categories
Internet Standards
View the Source CSS - Wikipedia
Includes: Cascading Style Sheets, CategoriesQuote, Includes: Cascading Style Sheets, Categories
Typesetting programming languages
View the Source Transport Layer Security - Wikipedia
Includes: Transport Layer Security, CategoriesQuote, Includes: Transport Layer Security, Categories
Cryptographic protocols
View the Source Wikipedia: Simple Mail Transfer Protocol
Includes: Simple Mail Transfer Protocol, CategoriesQuote, Includes: Simple Mail Transfer Protocol, Categories
Internet mail protocols
View the Source JPEG (Wikipedia)
Wikipedia contributors, Wikimedia FoundationIncludes: JPEG, CategoriesQuote, Includes: JPEG, Categories
Lossy compression algorithms
View the Source Wikipedia: Secure Shell
Includes: Secure Shell, Lead sectionQuote, Includes: Secure Shell, Lead section
The Secure Shell Protocol (SSH Protocol) is a cryptographic network protocol for operating network services securely over an unsecured network.
View the Source Wikipedia: Single sign-on
Includes: Single Sign-On, Lead sectionQuote, Includes: Single Sign-On, Lead section
Single sign-on (SSO) is an authentication scheme that allows a user to log in with a single ID to any of several related, yet independent, software systems.
View the Source Tim Berners-Lee (Wikipedia)
Wikipedia contributors, Wikimedia FoundationIncludes: Tim Berners-Lee, IntroductionQuote, Includes: Tim Berners-Lee, Introduction
Sir Timothy John Berners-Lee (born 8 June 1955), also known as TimBL, is an English computer scientist best known as the inventor of the World Wide Web, HTML, the URL system, and HTTP. He is a professorial research fellow at the University of Oxford and a professor emeritus at the Massachusetts Institute of Technology (MIT).
View the Source Operating System (Wikipedia)
Wikipedia contributors, Wikimedia FoundationIncludes: Operating System, IntroductionQuote, Includes: Operating System, Introduction
An operating system (OS) is system software that manages computer hardware and software resources, and provides common services for computer programs.
View the Source Relational Database (Wikipedia)
Wikipedia contributors, Wikimedia FoundationIncludes: Relational Database, IntroductionQuote, Includes: Relational Database, Introduction
A relational database (RDB) is a database based on the relational model of data, as proposed by E. F. Codd in 1970.
View the Source Search Engine (Wikipedia)
Wikipedia contributors, Wikimedia FoundationIncludes: Search Engine, IntroductionQuote, Includes: Search Engine, Introduction
The term search engine refers to a search application that provides links to web pages and other relevant information on the Web (or the Internet in general) in response to a user's query.
View the Source Web Browser (Wikipedia)
Wikipedia contributors, Wikimedia FoundationIncludes: Web Browser, IntroductionQuote, Includes: Web Browser, Introduction
A web browser, often abbreviated as browser, is an application for accessing websites.
View the Source Wikipedia: Digital rights management
Includes: Digital Rights Management, IntroductionQuote, Includes: Digital Rights Management, Introduction
DRM technologies govern the use, modification and distribution of copyrighted works (e.g. software, multimedia content) and of systems that enforce these policies within devices.
View the Source Wikipedia: Password manager
Includes: Password Manager, IntroductionQuote, Includes: Password Manager, Introduction
A password manager is software that stores usernames and passwords in a collection called a password vault.
View the Source GIF (Wikipedia)
WikipediaIncludes: GIF, IntroductionQuote, Includes: GIF, Introduction
The Graphics Interchange Format (GIF; GHIF or JIF, see § Pronunciation) is a bitmap image format that was developed by a team at the online services provider CompuServe led by American computer scientist Steve Wilhite and released on June 15, 1987.
View the Source Model-based systems engineering (Wikipedia)
Includes: Model-based systems engineering, IntroductionQuote, Includes: Model-based systems engineering, Introduction
The International Council on Systems Engineering (INCOSE) defines MBSE as the formalized application of modeling to support system requirements, design, analysis, verification and validation activities beginning in the conceptual design phase and continuing throughout development and later life cycle phases.
View the Source Wikipedia: Steve Wilhite
Includes: Steve Wilhite, IntroductionQuote, Includes: Steve Wilhite, Introduction
Stephen Earl Wilhite (March 3, 1948, March 14, 2022) was an American computer scientist who worked at CompuServe and was the engineering lead on the team that created the GIF image file format in 1987.
View the Source Abhay Bhushan (Wikipedia)
Includes: Abhay Bhushan, IntroductionQuote, Includes: Abhay Bhushan, Introduction
Abhay Bhushan (Hindi pronunciation: [əbʰəj bʰuːʂəɳː]; born November 23, 1944) is an Indian computer scientist.
View the Source Guido van Rossum (Wikipedia)
Includes: Guido van Rossum, IntroductionQuote, Includes: Guido van Rossum, Introduction
Guido van Rossum (Dutch: [ˈxidoː vɑn ˈrɔsʏm]; born 31 January 1956) is a Dutch programmer.
View the Source Email filtering (Wikipedia)
Includes: Spam Filter, Lead sectionQuote, Includes: Spam Filter, Lead section
The term can apply to the intervention of human intelligence, but most often refers to the automatic processing of messages at an SMTP server, possibly applying anti-spam techniques.
View the Source Minimum viable product (Wikipedia)
Wikipedia contributors, Wikimedia FoundationIncludes: Minimum viable product, Lead sectionQuote, Includes: Minimum viable product, Lead section
A minimum viable product (MVP) is a version of a product with just enough features to be usable by early customers who can then provide feedback for future product development.
View the Source Open Questions (1 open question)
Is software engineering genuinely a form of engineering in the licensed-profession sense, and should software engineers be licensed as Professional Engineers the way civil or electrical engineers are?
Wikipedia's software engineering article records that "the NCEES began offering a Professional Engineer exam for Software Engineering in 2013...NCEES ended the exam after April 2019 due to lack of participation. Mandatory licensing is currently still largely debated, and perceived as controversial." The same article notes the ACM and IEEE Computer Society examined licensing in the 1990s and concluded it was inappropriate for industrial practice, a conclusion the article says was not universally accepted.
What would resolve this A revival of the licensing exam with sustained participation, or a clear professional consensus statement from ACM/IEEE Computer Society settling whether licensure suits the field, neither of which exists yet.
Wikipedia contributors, Software Engineering (Wikipedia)
Dissenting Readings (1 dissenting reading)
Description
After the ACM and IEEE Computer Society jointly concluded in the 1990s that licensing software engineers as Professional Engineers was inappropriate for the professional industrial practice of software engineering, Knight and Leveson published a 2002 analysis of the licensing question that Wikipedia's software engineering article describes as "a more balanced analysis of the licensing issue," implying the 1990s conclusion was not the last word and that a case for licensing remained live.
A dissenting reading, from John C. Knight and Nancy G. LevesonWikipedia contributors, Software Engineering (Wikipedia), Wikimedia Foundation
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.
Sign in to dispute this or suggest a correction.
View At A Past Year
Choose a year to see this entry's facts and connections as the atlas records them at that moment: what it held then, what it held instead, and what it had not yet adopted. Choose Present for the current record.