|
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)
|
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.
|