Spezifikationsmodule - Software and Systems Engineering - TUM
Spezifikationsmodule - Software and Systems Engineering - TUM
Spezifikationsmodule - Software and Systems Engineering - TUM
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Kapitel 1<br />
Einführung<br />
1.1 Modellbasierte, bausteinorientierte <strong>Software</strong>entwicklungsprozesse<br />
Modelle spielen in vielen Bereichen der Wissenschaft und Wirtschaft eine wichtige<br />
Rolle. Angefangen bei den Wirtschaftswissenschaften, über die Wettervorhersage<br />
bis hin zu den Ingenieursdisziplinen, dienen Modelle zum vertieften<br />
Verständnis der Abläufe von sozialen, natürlichen oder technischen Systemen.<br />
Der Einsatz von Modellen hat darüber hinaus den Vorteil, dass die Eigenschaften<br />
oder das Verhalten des betrachteten <strong>Systems</strong> bzw. Endprodukts durch Simulation<br />
getestet oder vorhergesagt werden können.<br />
Modellen und Modellierungstechniken kommt auch bei der <strong>Software</strong>entwicklung<br />
eine tragende Rolle zu. Insbesondere sind sie hierbei nicht nur dazu geeignet,<br />
das Problem zu veranschaulichen oder Teileigenschaften zu simulieren<br />
oder bei formalen Modellen nachzuweisen. Vielmehr sollen diese Beschreibungen<br />
von <strong>Software</strong>systemen auch dazu dienen, einzelne Systemteile automatisch<br />
zu erzeugen.<br />
Aus betriebswirtschaftlicher Sicht hat modellbasiertes Vorgehen Auswirkungen<br />
auf Kosten, Termin und Qualität. Kostenersparnisse können sich direkt<br />
aus dem Zeitgewinn ergeben, den <strong>Software</strong>entwickler durch automatisierte Entwicklungsschritte<br />
erzielen. Eine Qualitätssteigerung kann dadurch erzielt werden,<br />
dass automatische Transformationsschritte viele Fehlerquellen manuell ausgeführter<br />
Entwicklungsschritte schließen. Dazu trägt insbesondere der Einsatz<br />
von formalen Methoden bei, wodurch die Korrektheit der Automatisierungen<br />
und Transformationen mathematisch nachgewiesen werden kann.<br />
Neben diesem innerhalb eines <strong>Software</strong>projektes vorh<strong>and</strong>enen Gewinnpotential<br />
ist für hochspezialisierte und auf einen kleinen Problembereich fokussierte<br />
Unternehmen ein weiterer Aspekt der <strong>Software</strong>entwicklung interessant,<br />
nämlich die Wiederverwendung von Einzelkomponenten und Funktionsbausteinen<br />
in mehreren, ähnlich gelagerten Projekten oder <strong>Software</strong>produkten. Diese<br />
Bausteinorientierung hat im optimalen Fall zur Folge, dass neue <strong>Software</strong>lösungen<br />
aus einem vorh<strong>and</strong>enen Satz von Einzel- oder Teillösungen schnell und kosteneffizient<br />
zusammengesetzt werden können.<br />
Diese Idealvorstellung ist in dieser Pauschalität für die <strong>Software</strong>entwicklungsbranche<br />
kaum umsetzbar. Nichts desto trotz kann eine Überprüfung des<br />
3