This textbook presents an introduction to the mathematical foundations of software engineering. It presents the rich applications of mathematics in areas such as error-correcting codes, cryptography, the safety and security critical fields, the banking and insurance fields, as well as traditional engineering applications.
Topics and features:
- Addresses core mathematics for critical thinking and problem solving
- Discusses propositional and predicate logic and various proof techniques to demonstrate the correctness of a logical argument.
- Examines number theory and its applications to cryptography
- Considers the underlying mathematics of error-correcting codes
- Discusses graph theory and its applications to modelling networks
- Reviews tools to support software engineering mathematics, including automated and interactive theorem provers and model checking
- Discusses financial software engineering, including simple and compound interest, probability and statistics, and operations research
- Discusses software reliability and dependability and explains formal methods used to derive a program from its specification
- Discusses calculus, matrices, vectors, complex numbers, and quaternions, as well as applications to graphics and robotics
- Includes key learning topics, summaries, and review questions in each chapter, together with a useful glossary
This practical and easy-to-follow textbook/reference is ideal for computer science students seeking to learn how mathematics can assist them in building high-quality and reliable software on time and on budget. The text also serves as an excellent self-study primer for software engineers, quality professionals, and software managers.