| [Edit]
This list complements the software engineering article, giving more details and examples.
For an alphabetical listing of topics, please see List of software engineering topics (alphabetical).
top
Influence on society
Software engineers affect society by creating applications. These applications produce value for users, and sometimes produce disasters.
top
Applications
Software engineers build applications that people use.
Applications influence software engineering by pressuring developers to solve problems in new ways. For example, consumer software emphasizes low cost, medical software emphasizes high quality, and Internet commerce software emphasizes rapid development.
Embedded systems Both software engineers and traditional engineers write software control systems for embedded products.
Engineering All traditional engineering branches use software extensively. Engineers use spreadsheets, more than they ever used calculators. Engineers use custom software tools to design, analyze, and simulate their own projects, like bridges and power lines. These projects resemble software in many respects, because the work exists as electronic documents and goes through analysis, design, implementation, and testing phases. Software tools for engineers use the tenets of computer science; as well as the tenets of calculus, physics, and chemistry.
LIS Management of laboratory data
MIS Management of financial and personnel data
top
Disasters
Software has played a role in many high-profile disasters.
Therac-25 - A radiation therapy machine responsible for six overdoses due to faulty software.
Airbus A320 - The Airbus A320, while was controversial in software engineering circles, being the first civilian Fly-by-wire aircraft. In the Airbus flight control systems, the computer has the final say on all decisions, meaning the safety of passengers depends upon the accuracy of the software specification, and the competence of the engineering teams producing the (multiple, independent) software stacks. The Strasbourg A320 crash of Jan 21, 1992 is partially related to software in that poor user interface design was a contributing factor.
top
Technologies and practices
Skilled software engineers use technologies and practices from a variety of fields to improve their productivity in creating software and to improve the quality of the delivered product.
top
Software engineering topics
Many technologies and practices are (mostly) unique to software engineering,
though many of these are shared with computer science.
top
Programming languages
top
Programming paradigm, based on a programming language technology
top
Databases
SQL
top
Graphical user interfaces
top
Programming tools
top
Library (computer science)|Libraries
top
Design languages
UML
top
Patterns, document many common programming and project management techniques
Patterns
top
Software development process|Processes and Methodology (software engineering)|methodologies
Process evaluation frameworks
top
System platform|Platforms
A platform combines computer hardware and an operating system. As platforms become more powerful and less expensive, applications and tools become more widely available.
top
Other Practices
top
Other tools
top
Computer science topics
Skilled software engineers know a lot of computer science including what is possible and impossible, and what is easy and hard for software.
Algorithms, well-defined methods for solving specific problems.
Complexity, some problems are solvable in principle, yet unsolvable in practice
top
Mathematics topics
Discrete mathematics is a key foundation of software engineering.
Other
top
Life cycle phases
top
Deliverables
Deliverables must be developed for many SE projects. Software engineers rarely make all of these deliverables themselves. They usually cooperate with the writers, trainers, installers, marketers, technical support people, and others who make many of these deliverables.
Upgrade from previous installations
Upgrade from competitor's installations
Support info for computer support groups.
White papers, explain the technologies used in the applications
top
Business roles
Consulting - customization and installation of applications
Legal - contracts, intellectual property rights
Support - helping customers use applications
Personnel - hiring and training qualified personnel
top
Management topics
Example, everyone follows a good example best
Hiring, getting people into an organization
top
Business topics
top
Pioneers
Many people made important contributions to SE technologies, practices, or applications.
David Parnas: Module design, social responsibility, professionalism.
Will Tracz: Reuse, ACM Software Engineering Notes.
See also
top
Notable publications
See also
top
Professional topics
top
Related fields
top
Different languages
In Arabic , software engineering is called هندسة البرمجيات
In Chinese, software engineer is called ruan jian gong cheng shi —— 软件工程师
In German, software engineering is called Softwaretechnik.
In Norwegian, software engineering is called Programvareutvikling.
In Spanish, software engineering is called Ingeniería del software,
In Portuguese, software engineering is called Engenharia de software,
top
Miscellaneous and to do
Software specialists share common language, terminology, certification, and so on.
Biology and biological engineering have other issues.
top
See also
SWEBOK Software engineering body of knowledge
CCSE Computing curriculum for software engineering
|
|