List of software engineering topics
From Wikinfo
Software engineering technologies and practices
- Programming languages
- Relational databases
- Software tools
- Configuration management or source code management
- editors
- text editors
- program editors
- word processors
- design languages
- Decision tables
- Patterns and Anti-patterns document many common programming and project management techniques.
- Software development processes
- Platforms. As platforms have become more powerful, tools have become available on less expensive platforms and more widely available.
Approaches to programming practice
- Programming paradigm
- Structured programming
- Functional decomposition
- Object-oriented programming
- State-oriented programming
- Aspect-oriented programming
- Post-object programming
Life cycles and strategies
- Waterfall model - Structured programming and Stepwise refinement
- Spiral model - Iterative development
- Chaos model - Chaos strategy
Life cycle phases
- Requirements gathering
- Requirements analysis
- Software architecture
- Computer programming
- Testing, focuses on detecting (preventing?) bugs
- Quality assurance, ensures compliance with process. It is a misnomer because it is not about quality and it is not about testing.
Management issues
- Project management
- Configuration management
- Personnel management
- Change management
- Risk management
- Software metrics
Notable unsolved problems
- Complexity or scaling or Efficient Algorithms
- Software brittleness problem
- Second system syndrome
- Estimation
Notable software engineers
- John Backus: Fortran, first optimizing compiler
- Kent Beck: Refactoring, Extreme programming (pair programming, test driven development).
- Tim Berners-Lee: World wide web
- Barry Boehm: Software economics, COCOMO, Spiral model.
- Grady Booch: Object-oriented design, UML.
- Fred Brooks: Managed System 360 and OS 360. Wrote The Mythical Man-Month and "No Silver Bullet".
- Edsger Dijkstra: Author of A Discipline of Programming
- Michael Fagan: Code inspection.
- Tom Gilb: Evolutionary processes.
- Grace Hopper: First compiler (Mark 1), COBOL.
- Watts S. Humphrey: Capability Maturity Model, headed (founded?) the Software Engineering Institute.
- Jean Ichbiah: Ada
- Bill Joy: Berkeley Unix, VI, Java.
- Brian Kernighan: C and Unix.
- Donald Knuth : Author of The Art of Computer Programming
- Bertrand Meyer: Design by Contract, Eiffel programming language.
- Peter G. Neumann: Computer risks, ACM Sigsoft.
- David Parnas: Module design, social responsibility, professionalism.
- Jef Raskin: Developed original Macintosh GUI
- Dennis Ritchie: C and Unix.
- Winston W. Royce: Waterfall model.
- Will Tracz: Reuse, ACM Software Engineering Notes.
- Richard Stallman: Founder of the Free Software Foundation
- Gerald Weinberg: Wrote The Psychology of Computer Programming.
- Ed Yourdon: Structured programming, wrote The Decline and Fall of the American Programmer.
See also
Notable applications
- Accounting / MIS
- Compilers
- Computer graphics
- Special effects for video and film
- Signal analysis
- Image processing
- Signal processing encoding sound and information
- Speech Recognition
- Text Reconition
- Handwriting Recognition
- Embedded systems
- Automotive software
- Avionics software
- HVAC controllers
- Graphical user interfaces
- Logistics
- Office suites
- Operating systems
- Relational databases
- Robotics
- Video games
- World wide web
Notable disasters
Notable books
- About Face, by Alan Cooper
- The Mythical Man-Month, by Fred Brooks: Written at UNC describing what Brooks learned from IBM's OS 360 project.
- The Capability Maturity Model, by Watts Humphrey. Written for the Software Engineering Institute, emphasizing management. Humphreys was a VP at IBM.
- The Psychology of Computer Programming, by Gerald Weinberg. Written as an independent consultant, partly about his IBM years.
- The Fall of the American Programmer by Ed Yourdon.
- Object-oriented Analysis and Design by Grady Booch.
- Design Patterns by Gang of Four.
- Refactoring: Improving the Design of Existing Code by Martin Fowler, Kent Beck, John Brant, William Opdyke and Don Roberts
- Peopleware, by Tom DeMarco.
- Principles of Software Engineering Management by Tom Gilb.
Related Fields
- Software engineering
- Information engineering
- Knowledge engineering
- GUI engineering
- Computer science
- Information science
- Computer engineering
- Information systems
Related Wikipedia Pages
- SWEBOK
- Computer terms etymology or origins of computer terms
Related web sites
- Undergraduate curriculum
- Professional licensing in Texas
- http://www.software-engineer.org A community for software engineers
- http://www.agilealliance.org Organization to promote Agile software development
- http://www.acm.org The Association for Computing Machinery
- http://www.computer.org The IEEE Computer Society
- IEEE Software Engineering Standards
- David Redmiles page from the University of California site
- The Software Engineering Institute
- SE Code of Ethics
- Bureau of Labor Statistics
- Full text in PDF from the NATO conference in Garmisch
References
- Adapted from the Wikipedia article, "List_of_software_engineering_topics" http://en.wikipedia.org/wiki/List_of_software_engineering_topics, used under the GNU Free Documentation License

