Skip to main content

Software Engineering Mathematics

  • Chapter
  • First Online:
Mathematics in Computing

Part of the book series: Undergraduate Topics in Computer Science ((UTICS))

  • 2699 Accesses

Abstract

Chapter 19 discusses software engineering and the mathematics to support software engineering. We discuss traditional software engineering including the activities in the waterfall lifecycle model. We discuss early mathematical work in software engineering including Floyd’s work on assertions which influenced C. A. R. Hoare.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Modern HR recruitment specifies the requirements for a particular role, and the interviews establish whether the candidate is suitably qualified, and has the appropriate experience for the role. Parnas is arguing against the content of courses that emphasize the latest technologies rather than the fundamentals of engineering.

  2. 2.

    It should be noted that these are IT projects covering diverse sectors including banking, telecommunications, etc., rather than pure software companies. Mature software companies using the CMM tend to be more consistent in project delivery with high quality.

  3. 3.

    Therac-25 was a radiotherapy machine produced by the Atomic Energy of Canada Limited (AECL). It was involved in at least six accidents between 1985 and 1987 in which patients were given massive overdoses of radiation. The dose given was over 100 times the intended dose and three of the patients died from radiation poisoning. These accidents highlighted the dangers of software control of safety-critical systems. The investigation subsequently highlighted the poor software design of the system and the poor software development practices employed.

  4. 4.

    The process maturity models focus mainly on the management, engineering and organizational practices required in software engineering. The models focus on what needs to be done rather how it should be done.

  5. 5.

    There is no consensus at this time as to the appropriate role of mathematics in software engineering. The use of mathematics is invaluable in the safety-critical and security-critical fields as it provides an extra level of confidence in the correctness of the software.

  6. 6.

    Parnas has made important contributions to software engineering including information hiding which is used in the object-oriented world.

  7. 7.

    The concept of accountability is not new; indeed the ancient Babylonians employed a code of laws c. 1750 B.C. known as the Hammurabi Code. This code included the law that if a house collapsed and killed the owner then the builder of the house would be executed.

  8. 8.

    However, it is unlikely that an individual programmer would be subject to litigation in the case of a flaw in a program causing damage or loss of life. A comprehensive disclaimer of responsibility for problems rather than a guarantee of quality accompany most software products. Software engineering is a team-based activity involving several engineers in various parts of the project, and it could be potentially difficult for an outside party to prove that the cause of a particular problem is due to the professional negligence of a particular software engineer, as there are many others involved in the process such as reviewers of documentation and code and the various test groups. Companies are more likely to be subject to litigation, as a company is legally responsible for the actions of their employees in the workplace, and the fact that a company is a financially richer entity than one of its employees.

  9. 9.

    Software companies that are following the CMMI or ISO 9000 will employ audits to verify that the rules and best practice have been followed. Auditors report their findings to management and the findings are addressed appropriately by the project team and affected individuals.

References

  • Baber RL (2011) The language of mathematics. Utilizing math in practice. Wiley

    Google Scholar 

  • Beck K (2000) Extreme programming explained. Embrace change. Addison Wesley

    Google Scholar 

  • Boehm B (1988) A spiral model for software development and enhancement. Computer

    Google Scholar 

  • Brooks F (1975) The mythical man month. Addison Wesley

    Google Scholar 

  • Brooks F (1986) No silver bullet. Essence and accidents of software engineering. In: Information Processing. Elsevier, Amsterdam

    Google Scholar 

  • Chrissis MB, Conrad M, Shrum S (2011) CMMI. Guidelines for process integration and product improvement, 3rd edn, SEI series in software engineering. Addison Wesley

    Google Scholar 

  • Crosby P (1979) Quality is free. The art of making quality certain. McGraw Hill

    Google Scholar 

  • Edwards Deming W (1986) Out of crisis. M.I.T. Press

    Google Scholar 

  • Fagan M (1976) Design and code inspections to reduce errors in software development. IBM Syst J 15(3)

    Google Scholar 

  • Floyd R (1967) Assigning meanings to programs. In: Proceedings of symposia in applied mathematics, no. 19, pp. 19–32

    Google Scholar 

  • Hoare CAR (1969) An axiomatic basis for computer programming. Commun ACM 12(10):576–585

    Article  Google Scholar 

  • Humphry W (1989) Managing the software process. Addison Wesley

    Google Scholar 

  • Juran J (2000) Juran’s quality handbook, 5th edn. McGraw Hill

    Google Scholar 

  • O’Regan G (2006) Mathematical approaches to software quality. Springer

    Google Scholar 

  • O’Regan G (2010) Introduction to software process improvement. Springer

    Google Scholar 

  • O’Regan G (2014) Introduction to software quality. Springer

    Google Scholar 

  • O’Regan G (2017) Concise guide to software engineering. Springer

    Google Scholar 

  • O’Regan G (2019) Concise guide to software testing. Springer

    Google Scholar 

  • Royce W (1970) The software lifecycle model (waterfall model). In: Proceeding of WESTCON, August, 1970

    Google Scholar 

  • Standish Group Research Note (1999) Estimating: art or science. Featuring Moritz cost expert

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gerard O’Regan .

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

O’Regan, G. (2020). Software Engineering Mathematics. In: Mathematics in Computing. Undergraduate Topics in Computer Science. Springer, Cham. https://doi.org/10.1007/978-3-030-34209-8_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-34209-8_19

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-34208-1

  • Online ISBN: 978-3-030-34209-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics