Dies ist die Veranstaltungsseite zum Projekt "Modellgetriebene Softwareentwicklung" im Sommersemester 2012.
Vorlesung und Übung (19517e) - 4 SWS, ECTS: 10
Softwareentwicklungsprozesse werden üblicherweise in verschiedene Phasen aufgeteilt, Beispiele hierfür sind die Anforderungsanalyse, die Entwurfsphase oder das Testen. Verschiedene Vorgehensmodelle wie das Wasserfallmodell oder das V-Modell beschreiben solche Prozesse und Phasen. Eine spezielle Ausprägung der Softwareentwicklung ist die modell-gestützte Softwareentwicklung, bei der in allen Phasen Modelle im Mittelpunkt stehen. Die Verwendung von Modellen ist dabei kein Selbstzweck: vielmehr ist sie bei großen und komplexen Entwicklungsprozessen ein wichtiges Hilfsmittel im Umgang mit der Komplexität des zu entwerfenden Systems und des Prozesses an sich. Häufig arbeiten mehrere hundert Entwickler verteilt an einem Projekt und eine Vielzahl verschiedener Werkzeuge wird verwendet.
Um eine nahtlose Integration zwischen den verwendeten Werkzeugen zu erreichen, sowie die Arbeiten der Entwicklerteams zu synchronisieren ist es notwendig zu berücksichtigen wie Informationen von einem Werkzeug in einem anderen Werkzeug transparent wiederverwendet werden können. Einen möglichen Ansatz bietet der ModelBus . Der ModelBus wird seit 5 Jahren im Rahmen von mehreren europäischen Verbundprojekten am Fraunhofer Institut FOKUS entwickelt. Diese Software bietet verschiedene Dienste an, die auf Modellen arbeiten. So gibt es als Basisdienst ein Repository, in das alle Artefakte eines Entwicklungsprozesses abgespeichert werden. Es gibt Dienste für die Transformation von Modellen zu Modellen oder Verifikationsdienste für bestimmte Artefakte des Entwicklungsprozesses.
Im Rahmen des Projektes werden zunächst die Grundprinzipien der Model-getriebenen Entwicklung vorgestellt. Darauf aufbauend sollen unter Berücksichtigung der erworbenen Kenntnisse eine Werkzeugkette erstellt werden und Daten zwischen den unterschiedlichen Werkzeugen ausgetauscht werden. Weiterhin können bei Bedarf zusätzliche Dienste und Werkzeuge für die Modell-getriebene Entwicklung in diesem Projekt implementiert werden.