The development of large software systems consists of a sequence of modelin
g tasks. It requires the modeling and description of the application domain
, software requirements, software architecture, software components, their
internal structure, and their implementation. Technically, in software engi
neering, we work with a development method and description techniques with
modeling, refinement, and implementation concepts. Today, much of the model
ing is carried out by informal text and graphical description techniques. T
he development is organized in a development process and supported by CASE
tools. In this paper, we show how mathematics can provide a scientific foun
dation for the modeling aspects, description techniques, and development me
thods of software engineering. Such a scientific foundation leads to a deep
er understanding of the development process and to a basis for a more power
ful tool support.