|
|
 |
 |
 |
 |
 |
 |
 |
 |
|
Seit 30 Jahren ist es der Traum der Software-Technologie, das knappe Anwendungswissen in verlässlicher und planbarer Weise in Software umzusetzen. Neben vielen Irrungen und Wirrungen ist es dabei zu durchaus bemerkenswerten Produktivitätsfortschritten in der Praxis der Softwareentwicklung gekommen. Dennoch gibt es immer noch Anwendungsstaus, oft auch deshalb, weil die Produktivitätsgewinne durch immer komplexer werdende Anforderungen an neue Sotfware und durch stetig zunehmende Integrationsanforderungen kompensiert werden.
Eines ist jedoch nahezu unverändert geblieben: Fachleute mit Wissen über die Anwendungsdomäne sind knapp, die inhaltlich-fachlichen Probleme und Herausforderungen werden unterschätzt und viel Aufwand, Engagement und Mühe wird in technisch geprägte Bereiche investiert. Statt sich auf die funktionalen Anforderungen konzentrieren zu können, müssen die Anwendungsexperten sich mit Transaktionsprotokollen, Abbildungen von Daten auf Datenbanksysteme, Kommunikationsprotokollen und der Integration von Middleware-Systemen herumschlagen. Am Ende funktioniert die Software dann meistens technisch, zielt aber oftmals an den Anforderungen der Anwender vorbei.
In dieser Situation versuchen zwei Ansätze Abhilfe zu schaffen. Zum einen sind dies die modellgetriebenen Entwicklungsansätze, wie sie von der Object Management Group unter dem Label MDA (Model Driven Architecture) vorangetrieben werden. Grundlegendes Paradigma von MDA ist, dass das fachliche Modell (im wesentlichen ausgedrückt als UML-Klassendiagramm) Stück für Stück erweitert wird, sodass es am Ende Eingabe für einen Generierungsschritt ist, an dessen Ende ein Software-Gerüst steht, das an dedizierten Stellen ausprogrammiert werden muss. Zum anderen sind das agile Methoden, die großen Wert auf kurze Build-Zyklen, kontinuierliche Anwenderinvolvierung und Konzentration auf Codierung legen. Bekanntester Vertreter dieser "Schule" ist sicherlich das Extreme Programming.
Auf den ersten Blick und in vielen publikumswirksam aufbereiteten Kontroversen scheinen sich diese beiden Ansätze zu widersprechen. Auf der einen Seite schwergewichtige, an verschiedenen Modellausprägungen (vom Computation Independent Model (CIM) über das Platform Independent Model (PIM) zum Platform Specific Model (PSM)) orientierte Softwareprozesse, auf der anderen Seite leichtgewichtige agile Prozesse, die qualitativ hochwertigen Code in den Mittelpunkt stellen. Beide Ansätze haben ihren Charme, beide ihre Gefahren. Da beide Ansätze vergleichsweise neu sind, werden sie oft noch ideologisch verfochten.
Unser Lösungsansatz lautet: "Agile MDA" oder "Prefabricated Architectures" oder "MDA Domesticated" oder einfach "Leipziger Softwareprozessmodell".
Das Leipziger Software-Prozessmodell (LSP) versucht das Beste beider Welten miteinander zu verbinden. Modelle, die die Fachlichkeit möglichst umfassend ausdrücken, aber keine Generierung um jeden Preis, genauso wie kontinuierliche Einbeziehung des Anwenders und schlanke Inkremente, ohne dabei die Pandora-Büchse des unkontrollierten Hacking zu öffnen.
Und noch eins ist für das LSP charakteristisch. Obwohl bereits in einer großen Zahl von Projekten angewendet, ist es nicht fertig. Es wird auf der Grundlage des Austausches mit Experten aus der Praxis kontinuierlich weiter entwickelt. Das Ziel ist einen wirklich ingenieursmäßigen, skalierbaren Prozess zu erhalten, der den Grundproblemen der industriellen Softwareentwicklung entgegen wirkt und der Softwareentwicklung zu einem planbaren Unterfangen macht.
In unserem Transferprojekt "Agile MDA" bringen wir drei Mal jährlich Experten aus Wissenschaft und Wirtschaft an einen Tisch. Zwei Praxisvorträge zum Stand der Softwareentwicklung werden ergänzt durch mindestens einen akademischen Vortrag. Themen für den akademischen Vortrag sind beispielsweise:
- MDA - Neues aus der OMG
- UML 2.0 - Neues, Bewährtes, Fragwürdiges
- Aspektorientierte Programmierung
- EJB 2.0 und .NET im Vergleich
- Testen von Frameworks
- Generieren von Generatoren
Haben Sie Interesse? Möchten Sie über die Aktivitäten des Projekts "Agile MDA" informiert werden? Nachricht an mda@ebus.informatik.uni-leipzig.de genügt.
|
|
|
 |
 |
|