Technologieunabhängige Modellierung von Software-Architekturen

14.07.2010 09:21 von UWS PR

Risiken von technologie-getriebenen Softwaresystemen

Nicht selten unterliegt die Planung von Softwaresystemen bzw. Software-Architekturen direkten technologischen Einflüssen. Entscheidungen, die während des Planungsprozesses zu treffen sind, werden in einem solchen Fall nicht mehr komplett von den Systemverantwortlichen sondern von Herstellern und/ oder Standardisierungsorganisationen getroffen. Vor diesem Hintergrund ist es immer wieder faszinierend wie Verantwortlichkeiten hier bereitwillig delegiert werden. Es wird davon ausgegangen, dass Technologieanbieter die spezielle Probleme einer Organisation lösen können, obwohl die Anbieter solche Probleme gar nicht kennen können.

Das es in der Realität dann doch manchmal klappt, liegt an dem hohen Grad an Abstraktion der Technologien. Dieser Abstraktionsgrad ist aber nicht immer adäquat für jeden Problemraum. Er zwingt daher die Planungsbeteiligten in vordefinierten Konzepten zu denken, die sich oft als hinderlich herausstellen und sogar zu Missverständnissen in der Kollaboration führen.

Bei der Planung von Softwaresystemen ist außerdem die hohe Volatilität bei Technologien zu berücksichtigen. Niemand weiß ob eine Technologie mittelfristig noch in einem ausreichenden Maße genutzt werden kann. Eine Software-Architektur, die direkt auf konkreten Technologien basiert, kann dann nur noch schwer oder gar nicht migriert werden.

Wenn man die aufgeführten Faktoren berücksichtigt, sollte dies zumindest eine kritische Wahrnehmung von technologie-getriebenen Softwaresystemen und -architekturen zur Folge haben!

 

Konstruktive Kritik hin zur technologie-unabhängigen Modellierung

Wir wollen aber nicht nur Probleme aufzeigen, sondern bieten auch Lösungen an. Diese liefern sowohl maßgeschneiderte Abstraktionsgrade für eine klare und natürliche Projektkollaboration als auch soviel Unabhängigkeit von und Flexibiliät zwischen Technologien wie es in einem konkreten Projekt sinnvoll ist. Unsere Software-Dienstleistungen bieten daher Lösungen, die auch auf Ebene der Planung von Softwaresystemen flexibel und dabei gleichzeitig formal sind. Dies erreichen wir durch eine sinnvolle Kombination von Konzepten und Tools aus dem Bereich der modellgetriebenen Softwareentwicklung. Um das Vorgehen besser verstehen zu können, sei das Vorgehen anhand eines beispielhaften Projektes beschrieben:

Um das Zielsystem exakt beschreiben zu können definieren wir mit unseren Kunden zusammen eine Sprache dafür. Diese sogenannte "domänen-spezifische Sprache" (DSL) ist genau dem Problemraum des Softwaresystems angepasst und wird auch mit fortschreitendem Verständnis dieses weiterentwickelt. Diese DSL wird dann genutzt, um die Software-Architektur bereichsübergreifend und dadurch exakt zu beschreiben.

Aus der Beschreibung heraus kann jederzeit Programmcode generiert werden, der zum Beispiel bewährte Best-Practises und Programmierrichtilinien berücksichtigen kann. So ist immer eine konsistente Projektumgebung erstellbar, welche an verteilte Teams ausgerollt und automatisiert im Sinne einer "Continuous Integration" nach definierbaren Regeln auf Modellebene validiert werden kann. Über diesen generativen Ansatz lassen sich ebenfalls sehr gut Varianten von Softwareproduktlinien, Testumgebungen, Prototypen und Dokumentationen abbilden. Wie die folgenden Grafik andeutet, führt das beschriebene Vorgehen außerdem Business- und IT-Know How näher zusammen, da Artefakte während des Entwicklungsprozesses besser von beiden Parteien verstanden werden:

 

tl_files/news/mdsd.png

 

UWS bringt das Know How und wiederverwendbare Modellierungskomponenten und -Tools in Projekte ein, um schnell und effektiv zu unterstützen. Gerne beantworten wir Fragen bezüglich konkreter Projektszenarien. Außerdem freuen wir uns über Anmeldungen für einen themenspezifischen Webcast.

Zurück