Software Engineering

  • Gerard O’ReganEmail author
Part of the Undergraduate Topics in Computer Science book series (UTICS)


This chapter presents a broad overview of software engineering and discusses the waterfall and spiral software lifecycle models. We discuss requirements gathering and specification, software design and implementation, software inspections and testing and maintenance. The lightweight Agile methodology is introduced, and it has become popular in software engineering. Software process maturity and project management are discussed, and formal methods are introduced. The extent to which mathematical approaches should be employed remains a topic of active debate.


  1. 1.
    F. Brooks, The Mythical Man Month (Addison Wesley, 1975)Google Scholar
  2. 2.
    G. O’Regan, Guide to Discrete Mathematics (Springer, 2016)Google Scholar
  3. 3.
    Standish Group Research Note, Estimating: Art or Science. Featuring Morotz Cost Expert (1999) Google Scholar
  4. 4.
    F. Brooks, No Silver Bullet. Essence and Accidents of Software Engineering. Information Processing (Elsevier, Amsterdam, 1986)Google Scholar
  5. 5.
    G. O’Regan, Introduction to Software Process Improvement (Springer, 2010)Google Scholar
  6. 6.
    G. O’Regan, Introduction to Software Quality (Springer, 2014)Google Scholar
  7. 7.
    G. O’Regan, Concise Guide to Software Engineering (Springer, 2017)Google Scholar
  8. 8.
    M. Fagan, Design and Code Inspections to Reduce Errors in Software Development. IBM Syst. J. 15(3) (1976)Google Scholar
  9. 9.
    G. O’Regan, Introduction to Software Quality (Springer, 2014)Google Scholar
  10. 10.
    W.Royce, in The Software Lifecycle Model (Waterfall Model). Proceedings of WESTCON, August 1970 Google Scholar
  11. 11.
    B. Boehm, A spiral model for software development and enhancement. Computer (1988)Google Scholar
  12. 12.
    I. Jacobson, G. Booch, J. Rumbaugh, The Unified Software Development Process (Addison-Wesley, 1999)Google Scholar
  13. 13.
    K. Beck, Extreme Programming Explained. Embrace Change (Addison Wesley, 2000)Google Scholar
  14. 14.
    I. Jacobson, G. Booch, J. Rumbaugh, The Unified Software Modeling Language User Guide (Addison-Wesley, 1999)Google Scholar
  15. 15.
    D. Parnas, On the criteria to be used in decomposing systems into modules. Commun. ACM, 15(12) (1972)Google Scholar
  16. 16.
    M. Fagan, Design and code inspections to reduce errors in software development. IBM Syst. J. 15(3) (1976)Google Scholar
  17. 17.
    MB Chrissis, M. Conrad, S. Shrum, in CMMI. Guidelines for Process Integration and Product Improvement, 3rd edn. SEI Series in Software Engineering (Addison Wesley, 2011)Google Scholar
  18. 18.
    J.M. Spivey, in The Z Notation. A Reference Manual. International Series in Computer Science (Prentice Hall, 1992)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.SQC ConsultingMallow, County CorkIreland

Personalised recommendations