Open Source im professionellen Einsatz

Software-Modellierung mit Unicase

Bruchlos modelliert

, ,

Weder Anhänger des traditionellen Programmierparadigmas noch Verfechter agiler Methoden bestreiten bei Softwareprojekten die Notwendigkeit einer bruchlosen Modellierung. Das auf Eclipse aufsetzende Unicase stellt hierfür ein einheitliches Projektmodell zur Verfügung.

Inhalt

100 | Vertrauensselig

So manche Webanwendung übernimmt immer noch ungeprüft
Benutzerdaten. Die Flugauskunft des Münchner Airports ist ein
prominentes Beispiel.

104 | Zellkultur

Anwendungen für die Cell-Architektur gedeihen unter Linux dank
eines SDK inklusive Simulator prächtig.

110 | Perl-Snapshot: Stolperfallen

Perl-Syntax ist wunderbar effizient - Einsteiger bremst sie
aber auch mal aus.

Informatiker vernetzen die Welt einerseits durch Kommunikationstechnologien. Andererseits neigen sie innerhalb ihres eigenen Fachgebiets zur Lagerbildung. Scheinbar unversöhnlich prallen die Gegensätze bei den Vorgehensmodellen für Software-Entwicklung zwischen dem traditionellen Lager und Anhängern agiler Methoden wie Scrum oder Extreme Programming aufeinander.

Andererseits schlägt Royce bereits 1973 in seinem Wasserfallmodell vor - lange vor dem Aufkommen des agilen Paradigmas -, die Machbarkeit in Softwareprojekten durch frühe Prototypen zu evaluieren, statt sich lange mit Spezifikationen aufzuhalten. Dieser Vorschlag wirkt, als käme er aus dem agilen Lager. Agile Publikationen fordern hingegen, verbreiteten Vorurteilen entgegen, keinesfalls völligen Verzicht auf Modellierung.

Eine durchgängige Modellierung der Anforderungen, des zu entwickelnden Systems und des konkreten Vorgehens ist also unabhängig vom gewählten Modell erstrebenswert. Ein neues Vorgehen einzuführen oder dieses gar während der Projektlaufzeit zu modifizieren bereitet Produktmanagern jedoch regelmäßig Kopfzerbrechen. Viel Forschungsaufwand fließt in das Change-Management an bestehenden Systemen. Dabei geht es jedoch selten um Veränderungen, die den Entstehensprozess selbst betreffen.

Durchgängig modelliert

In der Praxis ist eine bruchlose Modellierung schwer zu erreichen. Weder die zur Verfügung stehenden Modelle selbst noch die unterstützenden Tools erweisen sich dazu als leistungsfähig genug. Die Zahl der Toolgrenzen und Medienbrüche, mit denen eine durchgängige Modellierung Software-Ingeneure täglich konfrontieren würde, ist zu groß.

Zahlreiche Forschungsansätze versuchen die Zahl der Bruchstellen zu verringern - bisher mit mäßigem Erfolg. Daher sollte an die Stelle einer nachträglichen Integration ein von Anfang an flexibler und ganzheitlicher Ansatz treten. Die Open-Source-Praxis hält dazu wertvolle Einsichten parat: Dort entwickeln sich einzelne Tools oft erst nachträglich zu einem zentralen Repository - in der Open-Source-Gemeinde oft um den Bugtracker herum -, obwohl sie nicht explizit darauf ausgelegt sind.

Uniforme Plattform

Eclipse [1] ist in mehrfacher Hinsicht ein gutes Beispiel, wie ein flexibler und ganzheitlicher Ansatz für Software-Entwicklung aussehen kann. Zum einen integrieren verschiedene Hersteller ihre gemeinsamen Grundaufwände. Von allen benötigte Funktionalität entwickeln sie so quelloffen in der Form eines Framework. Zum anderen integriert die IDE Eclipse durch ausgereifte Plugins die Aufgaben des Entwicklers immer mehr zu einem kohärenten Ganzen. Was jedoch fehlt, ist ein zentrales, durchgehendes Projektmodell.

Unicase [2] ist ein Projekt auf Eclipse-Basis, das Jonas Helming und Maximilian Kögel an der TU München leiten. Es versucht sämtliche für Projekmodellierung nötigen Funktionen zu integrieren. Das Open-Source-Projekt bietet ein flexibles und anpassungsfähiges Repository für sämtliche Typen von Projekt-Artefakten. Forscher wie Firmen können es an ihre spezifischen Anforderungen anpassen. Beziehungen zwischen Artefakten bilden sie über Links ab. Unicase bindet zahlreiche existierende Eclipse-Komponenten wie das Graphical Modelling Framework (GMF) an die zentrale Datenbasis an und bietet Ansichten und Werkzeuge für alle Teilnehmer eines Softwareprojekts, vom Projektmanager bis zum Entwickler.

Dabei integriert Unicase auch Management und Organisation in die Modellierung. Entwickler können so beispielsweise von ihrer Aufgabeliste in einen damit verknüpften Teil der Spezifikation springen. Ein Projektmanager hingegen erhält Antworten auf Fragen wie "Welche Aufgaben sind bis zur Umsetzung der Anforderung X offen?" (pkr)

Infos

[1] Eclipse: [http://www.eclipse.org]

[2] Unicase: [http://www.unicase.org]

Der Autor


Dr. Bernd Brügge ist Professor für angewandte Software-Entwicklung an der TU München. Er beschäftigt sich mit Software Engineering, insbesondere mit Tools, die die Teamarbeit bei Projekten koordinieren.

Diesen Artikel als PDF kaufen

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook