Abstract
The NATO Science Committee organized two famous conferences on software engineering in the late 1960s.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 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.
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.
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.
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.
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.
Parnas has made important contributions to software engineering including information hiding which is used in the object-oriented world.
- 7.
The concept of accountability is not new; indeed the ancient Babylonians employed a code of laws c. 1750 B.C. known as the Hammarabi 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.
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.
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
Standish Group Research Note (1999) Estimating: art or science. Featuring Morotz cost expert
Brooks F (1975) The mythical man month. Addison Wesley
Brooks F (1986) No silver bullet. Essence and accidents of software engineering. Information processing. Elsevier, Amsterdam
O’Regan G (2017) Concise guide to formal methods. Springer
O’ Regan G (2010) Introduction to software process improvement. Springer
O’ Regan G (2014) Introduction to software quality. Springer
Baber RL (2011) The language of mathematics. Utilizing math in practice. Wiley
O’ Regan G (2021) A brief history of computing, 3rd edn. Springer
Royce W (1970) The software lifecycle model (Waterfall Model). In: Proceedings of WESTCON
Boehm B (1988) A spiral model for software development and enhancement. Computer
O’Regan G (2019) Concise guide to software testing. Springer
Beck K (2000) Extreme programming explained. Embrace change. Addison Wesley
O’Regan G (2017) Concise guide to software engineering. Springer
Floyd R (1967) Assigning meanings to programs. Proc Symp Appl Math (19):19–32
Hoare CAR (1969) An axiomatic basis for computer programming. Commun ACM 12(10):576–585
Fagan M (1976) Design and code inspections to reduce errors in software development. IBM Syst J 15(3)
Edwards Deming W (1986) Out of crisis. M.I.T. Press
Juran J (2000) Juran’s quality handbook, 5th edn. McGraw Hill
Crosby P (1979) Quality is free. The art of making quality certain. McGraw Hill
Humphry W (1989) Managing the software process. Addison Wesley
Chrissis MB, Conrad M, Shrum S (2011) CMMI. Guidelines for process integration and product improvement, 3rd edn. SEI series in software engineering. Addison Wesley
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2021 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this chapter
Cite this chapter
O’Regan, G. (2021). Software Engineering Mathematics. In: Guide to Discrete Mathematics. Texts in Computer Science. Springer, Cham. https://doi.org/10.1007/978-3-030-81588-2_18
Download citation
DOI: https://doi.org/10.1007/978-3-030-81588-2_18
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-81587-5
Online ISBN: 978-3-030-81588-2
eBook Packages: Computer ScienceComputer Science (R0)