单项选择题

为了克服软件危机,人们提出了用______的原理来设计软件,这就是软件工程诞生的基础。

A.数学
B.软件学
C.运筹学
D.工程学