Online Library TheLib.net » Mathematical Foundations of Software Engineering: A Practical Guide to Essentials
cover of the book Mathematical Foundations of Software Engineering: A Practical Guide to Essentials

Ebook: Mathematical Foundations of Software Engineering: A Practical Guide to Essentials

Author: Gerard O'Regan

00
16.02.2024
0
0
The objective of this book is to give the reader a flavour of the mathematical foundations of software engineering. The rich applications of mathematics to software engineering includes its applications to error detection and correcting codes with finite field theory; the field of cryptography which uses the results of number theory; the modelling of telecommunication networks with graph theory; the application of discrete mathematics and proof techniques to the software correctness field (especially safety critical systems using formal methods and model checking); the application of financial mathematics to the banking and insurance fields; and the application of calculus and vectors to 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

Chapter 1 introduces software engineering and discusses both traditional and Agile software engineering. Chapter 2 examines which mathematics is needed in software engineering, including the core mathematics that all software engineers should be familiar with, as well as specific mathematics for the particular software engineering domains such as the safety critical field; to traditional engineering applications; and to the financial sector.

Chapter 3 discusses the mathematical prerequisites, and we discuss fundamental building blocks in mathematics including sets, relations, and functions. A set is a collection of well-defined objects, and it may be finite or infinite.

Chapter 4 presents a short introduction to algorithms, where an algorithm is a well-defined procedure for solving a problem.

Chapter 7 discusses graph theory.

Chapter 11 presents some advanced topics in logic including fuzzy logic, temporal logic, intuitionistic logic, undefined values, and the applications of logic to AI. Fuzzy logic is an extension of classical logic that acts as a mathematical model for vagueness.

Chapter 20 discusses cryptography, which is an important application of number theory. The codebreaking work done at Bletchley Park in England during the Second World War is discussed, and the fundamentals of cryptography, including private and public key cryptosystems, are discussed.

Chapter 21 presents coding theory and is concerned with error detection and error correction codes. The underlying mathematics includes abstract mathematics such as group theory, rings, fields, and vector spaces.

Finally, Chap. 32 discusses a selection of software tools to support mathematics for software engineering, and we discuss Microsoft Excel, Minitab, Python, the R statistical software environment, and Mathematica.

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.
Download the book Mathematical Foundations of Software Engineering: A Practical Guide to Essentials for free or read online
Read Download
Continue reading on any device:
QR code
Last viewed books
Related books
Comments (0)
reload, if the code cannot be seen