Difference between revisions of "Chapter 14: Mathematical Foundations"

From SWEBOK
Jump to: navigation, search
(Created page with "∉")
 
Line 1: Line 1:
+
{{TOC}}
 +
{{IntroSection|title=Introduction|body=
 +
 
 +
Software professionals live with programs. In a
 +
very simple language, one can program only for
 +
something that follows a well-understood, nonambiguous
 +
logic. The Mathematical Foundations
 +
knowledge area (KA) helps software engineers
 +
comprehend this logic, which in turn is translated
 +
into programming language code. The mathematics
 +
that is the primary focus in this KA is quite
 +
different from typical arithmetic, where numbers
 +
are dealt with and discussed. Logic and reasoning
 +
are the essence of mathematics that a software
 +
engineer must address.
 +
 
 +
Mathematics, in a sense, is the study of formal
 +
systems. The word “formal” is associated with
 +
preciseness, so there cannot be any ambiguous or
 +
erroneous interpretation of the fact. Mathematics
 +
is therefore the study of any and all certain
 +
truths about any concept. This concept can be
 +
about numbers as well as about symbols, images,
 +
sounds, video—almost anything. In short, not
 +
only numbers and numeric equations are subject
 +
to preciseness. On the contrary, a software
 +
engineer needs to have a precise abstraction on a
 +
diverse application domain.
 +
 
 +
The ''SWEBOK Guide’s'' Mathematical Foundations
 +
KA covers basic techniques to identify a set
 +
of rules for reasoning in the context of the system
 +
under study. Anything that one can deduce following
 +
these rules is an absolute certainty within
 +
the context of that system. In this KA, techniques
 +
that can represent and take forward the reasoning
 +
and judgment of a software engineer in a precise
 +
(and therefore mathematical) manner are defined
 +
and discussed. The language and methods of logic
 +
that are discussed here allow us to describe mathematical
 +
proofs to infer conclusively the absolute
 +
truth of certain concepts beyond the numbers. In short, you can write a program for a problem only
 +
if it follows some logic. The objective of this KA
 +
is to help you develop the skill to identify and
 +
describe such logic. The emphasis is on helping
 +
you understand the basic concepts rather than on
 +
challenging your arithmetic abilities.}}

Revision as of 09:40, 28 August 2015


Introduction

Software professionals live with programs. In a very simple language, one can program only for something that follows a well-understood, nonambiguous logic. The Mathematical Foundations knowledge area (KA) helps software engineers comprehend this logic, which in turn is translated into programming language code. The mathematics that is the primary focus in this KA is quite different from typical arithmetic, where numbers are dealt with and discussed. Logic and reasoning are the essence of mathematics that a software engineer must address.

Mathematics, in a sense, is the study of formal systems. The word “formal” is associated with preciseness, so there cannot be any ambiguous or erroneous interpretation of the fact. Mathematics is therefore the study of any and all certain truths about any concept. This concept can be about numbers as well as about symbols, images, sounds, video—almost anything. In short, not only numbers and numeric equations are subject to preciseness. On the contrary, a software engineer needs to have a precise abstraction on a diverse application domain.

The SWEBOK Guide’s Mathematical Foundations KA covers basic techniques to identify a set of rules for reasoning in the context of the system under study. Anything that one can deduce following these rules is an absolute certainty within the context of that system. In this KA, techniques that can represent and take forward the reasoning and judgment of a software engineer in a precise (and therefore mathematical) manner are defined and discussed. The language and methods of logic that are discussed here allow us to describe mathematical proofs to infer conclusively the absolute truth of certain concepts beyond the numbers. In short, you can write a program for a problem only if it follows some logic. The objective of this KA is to help you develop the skill to identify and describe such logic. The emphasis is on helping you understand the basic concepts rather than on challenging your arithmetic abilities.