History of Software Engineering

Cards (27)

  • Software engineering
    The discipline concerned with all aspects of software production
  • Software was first coined by John Tukey in 1958
  • The theoretical concept of a computer was first established by Alan Turing in the 1930's
  • The concept of algorithm was introduced by Muhammad Al-Khawarezmi, a 9th century mathematician
  • Ada Lovelace was the first computer programmer
  • Alan Kay
    • Pioneered work on window based graphical user interfaces
    • Coined the term object-oriented programming in 1966
  • Ali Mili
    • Contributed to the formalization of software fault tolerance
  • Barry Boehm
    • Contributed to the area of software engineering economics and software metrics
    • Introduced the spiral model for software development
  • Bill Joy
    • Contributed to the development of the Unix operating system and the Java programming language
  • Brian Kernighan and Dennis Ritchie
    • Instrumental in developing the Unix operating system and the C programming language
  • C.A.R. Hoare
    • Introduced the concepts of assertions and program proof of correctness
    • Designed and analyzed well-known algorithms
    • Developed communicating sequential processes, a formal language for the specification of concurrent processes
  • David Parnas
    • Introduced the concepts of information hiding, software interfaces and software modularity
    • Contributed to software engineering education and the ethical responsibilities of a software engineer
  • Donald Knuth
    • Known for the design of many well-known computer algorithms and the use of rigorous mathematical techniques for the formal analysis of the complexity of algorithms
  • Edsger Dijkstra
    • Introduced the concept of structured programming
    • Carried out in-depth studies of the problems of concurrency and synchronization needed in complex distributed systems
  • Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides
    • Introduced the concept of object oriented design patterns to facilitate software design reuse
  • Fred Brooks
    • Contributed to the development of the OS/360 operating system software
    • Introduced the mythical man-month in software project management
  • Friedrich Bauer
    • Introduced the use of stacks for expression evaluation in programming language compilers
    • Contributed to the development of the ALGOL
    • Coined the term software engineering in the NATO conference held in Germany in 1968
  • Grace Hopper
    • Contributed extensively to the first compiler and the COBOL programming language in the 1959's
  • Grady Booch
    • Known for his method for object oriented analysis and design
    • Co-developed the unified modeling language (UML)
  • John Backus
    • Invented FORTRAN, compiler optimization, and the Backus-Naur Form for the formal description of programming language syntax
  • Michael Fagan
    • Contributed extensively to the area of software inspection
  • Niklaus Wirth
    • Introduced the Pascal programming language and other languages
    • Contributed to the idea of decomposition and stepwise refinement
  • Ole-Johan Dahl and Kristen Nygaard
    • Introduced the Simula language which was the first object-oriented programming language
  • Peter Naur
    • Contributed to the creation of the ALGOL programming language and the introduction of formal syntax description language
  • Tom DeMarco and Edward Yourdon
    • Introduced the structured analysis and design approach for specifying and designing software systems
  • Watts Humphrey
    • Known for his work on the capability maturity model developed by the software engineering institute and the personal software process
  • Winston Royce
    • Contributed the well-known model for the management of large software systems which was later named the Waterfall model