SWEBOK软件工程知识体系 – 14.数学基础

  • Post author:
  • Post category:其他


在这里插入图片描述



数学基础(MATHEMATICAL FOUNDATIONS)

软件专业人士以程序为生。在一种非常简单的语言中,一个人只能为遵循一个易于理解的、无歧义的逻辑的东西编程。数学基础知识区(KA)帮助软件工程师理解这种逻辑,而这种逻辑又被翻译成编程语言代码。数学,这是在这个KA的主要重点是非常不同于典型的算术,在那里处理和讨论数字。逻辑和推理是软件工程师必须解决的数学本质。

从某种意义上说,数学是对形式系统的研究。“正式”一词与严谨有关,因此对事实不能有任何模棱两可或错误的解释。因此,数学是对任何概念的任何和所有确定的真理的研究。这个概念可以是数字,也可以是符号、图像、声音、视频,几乎任何东西。简言之,不仅数字和数值方程式要精确。相反,软件工程师需要对不同的应用领域进行精确的抽象。

SWEBOK指南的数学基础KA涵盖了在所研究系统的上下文中识别推理规则集的基本技术。根据这些规则可以推断出的任何东西在这个系统的上下文中都是绝对确定的。在本KA中,定义和讨论了能够以精确的(因此是数学的)方式表示和推进软件工程师的推理和判断的技术。这里讨论的逻辑语言和方法允许我们描述数学证明,从而最终推断出数字以外的某些概念的绝对真理。简而言之,只有当问题遵循某种逻辑时,才能为它编写程序。本KA的目的是帮助您发展识别和描述此类逻辑的技能。重点是帮助你理解基本概念,而不是挑战你的算术能力。


数学基础专题分类


数学基础KA的主题分类如图14.1所示。

在这里插入图片描述



1. 集合、关系、函数

设置。集合是对象的集合,称为集合的元素。集合可以通过在大括号之间列出它的元素来表示,例如S={1,2,3}。

符号∈用来表示元素属于一个集合,或者换句话说是集合的一个成员。它的否定用∉表示,如1∈S,但4∉S。

在使用集合生成器表示法的集合的更紧凑的表示中,{x | P(x)}是所有x的集合,使得P(x)对于任何话语宇宙上的任何命题P(x)。一些重要集合的示例包括:

N={0,1,2,3,…}=非负整数的集合。

Z={…,−3,−2,−1,0,1,2,3,…}=整数集。

有限集和无限集。元素数目有限的集合称为有限集合。相反,任何一个集合中没有有限个元素的集合都是一个无限集合。例如,所有自然数的集合是一个无限集合。

基数。有限集S的基数是S中元素的个数,用| S |表示,例如,如果S={1,2,3},则| S |=3。

通用套件。一般来说,S={x∈U | p(x)},其中U是必须解释谓词p(x)的话语空间。一个给定谓词的“话语统一体”通常被称为普遍集合。或者,可以将通用集合定义为所有元素的集合。

设置相等。两个集合相等当且仅当它们具有相同的元素,即:

X=Y≡∀p(p∈X)↔ p∈Y)。

子集。X是集合Y的子集,如果X的所有元素都包含在Y中,则X包含在Y中。这用X⊆Y表示。换句话说,X⊆Y当且仅当∀p(p∈X→p∈Y)。

例如,如果X={1,2,3}和Y={1,2,3,4,5},那么X⊆Y。

如果X不是Y的子集,则表示为xy。

真子集。如果X是Y的子集但不等于Y,即Y中有某个元素不在X中,则X是Y的一个适当子集(用X⊂Y表示)。

换句话说,如果(X⊆Y)∧(X≠Y),则X⊂Y。

例如,如果X={1,2,3},Y={1,2,3,4},Z={1,2,3},那么X⊂Y,但是X不是Z的一个适当子集。集合X和Z是相等的集合。

如果X不是Y的适当子集,则表示为X⊄Y。

超集。如果X是Y的子集,则Y称为X的超集,用Y⊇X表示,即Y⊇X当且仅当X⊆Y。

例如,如果X={1,2,3}和Y={1,2,3,4,5},那么Y⊇X。

空集。没有元素的集合称为空集。用∅表示的空集也称为空集或空集。

动力装置。集合X的所有子集的集合称为X的幂集,用℘(X)表示。

例如,如果X={a,b,c},那么℘(X)={∅,{a},{b},{c},{a,b},{a,c},{b,c},{a,b,c}。如果| X |=n,则|℘(X)|=2n。

维恩图。维恩图是集合在平面上作为封闭区域的图形表示。

例如,在图14.2中,矩形rep 表示通用集合,阴影区域表示集合X。

在这里插入图片描述



版权声明:本文为imlichao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。