Software Engineering Forum
An einem eigenständigen Tag werden aktuelle Themen in State-of-the-Art
Vorträgen verständlich dargestellt, die sich an IT-Praktiker und
Interessenten in Hamburg und dem Umland richten. Zusätzlich sind
Gastvorträge ausgewiesener Sprecher aus Industrie und Forschung geplant.
->
Zeitliche Übersicht (Mittwoch)
->
Zeitliche Übersicht (mit Chairs)
Session am Mittwoch, 28. März 2007 von 9:30 bis 10:30
Session
A im Hörsaal A |
From Eclipse to Jazz
von Erich Gamma (IBM)
The development of the Eclipse platform can be described as a journey from closed to open transparent
development. Throughout this journey the team has continuously tuned our development practices and processes
with the goal of achieving the ongoing health of the project. Being toolsmiths ourselves, we have naturally
been exploring how tools can help teams apply these practices to improve and maintain healthy projects. The
result of this exploration is "Jazz", a new team collaboration platform. In this keynote, Erich reflects on
the entire journey and shows a snapshot of the early work on Jazz and its evolving architecture.
|
Sessions am Mittwoch, 28. März 2007 von 11:00 bis 13:00
Session
B1 im Hörsaal A |
Schwarmintelligente System in der Softwarelandschaft
von Mathias Kaldenhoff (Oracle)
Ameisen und andere soziale Insekten haben
Bewegung in die IT-Landschaft gebracht. Künstliche Pheromone und Schwärme von
Agenten lösen das Problem des Handlungsreisenden, die kürzeste Reiseroute durch
mehrere Orte zu finden, ohne einen Ort mehr als einmal aufsuchen zu müssen. Das
Problem erscheint einfach, aber schon bei nur 15 Orten hat der Reisende die
Wahl zwischen fast 90 Milliarden möglichen Routen.
Im Vortrag werden neben der Einführung in die
Schwarmtheorie, Lösungen für das TSP (Travel Sales Problem) Möglichkeiten in
Industrie, Dienstleistungsgewerbe und Risikomanagement, Auswirkungen auf
Wissens- und Datenmanagement, Datamining und Marketing dargestellt. Ebenso
Verbindungen zu kostensenkenden Massnahmen bei Synergien zwischen Grid und Schwarm
durch Oracle Cluster. Für Firmen < 2000 User wird ein Architekturkonzept und
Betreibermodell für mittelständisches GRID/Schwarm-Hosting entwickelt.
|
Automated Unit Testing - A Practitioner's and Teacher's Perspective
von Peter Sommerlad (HSR Rapperswil)
"Testing can only show the presence of errors, not their absence." E.W. Dijkstra.
Dijkstra's quote about testing stems from a time, where automated unit testing wasn't
supported testing frameworks yet. Introducing unit tests to an existing environment is a lot
of work requiring patience and persistence but it pays off. Automated unit testing is not testing
in Dijkstra's sense but a means to efficient and effective high-quality software development. Good
unit tests lead to better software design and developers by encouraging old and well known principles
that we failed to ingrain into most programmer's cerebellum yet.
Teaching unit testing early can make students better designers and programmers, because of the
immediate feedback they get for the code they write. Easy access to unit testing is needed to allow
such early teaching of unit testing However, being also program code also unit tests require Refactoring,
so they are no silver bullet and require hard work.
Vortragsfolien (PDF)
|
.NET als Microsofts Entwicklerplattform
von Frank Prengel (Microsoft)
.NET ist heute überall anzutreffen: Auf dem (und im)
Server, im Web, auf dem Desktop, Spielkonsolen, auf mobilen und
Embedded-Geräten u.v.m. Doch was sind eigentlich die Kernkonzepte hinter Microsofts
erfolgreicher Entwicklungsplattform? Und wohin geht die Reise in der Zukunft? Der
Vortrag stellt die Vision .NET und den aktuellen Stand der Technologie vor und
gibt einen Ausblick auf künftige Entwicklungen.
Vortragsfolien (PDF)
|
Session
B2 im Hörsaal B |
Schichtenarchitekturen und ihre Auswirkungen auf die objektorientierte Modellierung
von Ralf Degner, Frank Griffel (Techniker Krankenkasse)
Schichtenbildung in IT-Systemen ist ein traditioneller Ansatz zur Systemstrukturierung.
Er trifft aus Entwicklungssicht jedoch auf unterschiedlichste
Programmierparadigmen, heutzutage insbesondere etablierten objektorientierten
Vorgehensweisen. Die Missachtung der wechselseitigen Auswirkungen von
Schichtung und der Modellierungsmächtigkeit der eingesetzten Programmiersprache
führt in der Projektpraxis häufig dazu, dass entweder nicht-performante,
schlecht-strukturierte Lösungen entstehen, oder die Vorteile der Ausdrucksmächtigkeit
der Zielsprache - beispielsweise für die fachliche Modellierung oder die
spätere Wartung - verloren gehen.
Vortragsfolien (PDF)
|
JCoffee, ein Komponenten-Framework zur Erstellung von Standardsoftware auf Basis von JEE (J2EE)
von Guido Bening (Werum)
JCoffee (Java Component Framework for Enterprise Environments) ist
ein von Werum entwickeltes Framework zur Erstellung verteilter und auf
Business-Komponenten basierender Softwaresysteme. Im Fokus sind große
Standardsoftware-Systeme mit einem langen Lebenszyklus, in dessen Verlauf
naturgemäß umfangreiche Pflege und Weiterentwicklungen erforderlich werden.
Derartige Systeme setzen sich in der Regel aus einem standardisierten Produktkern
(z.B. PAS-X) und projektspezifischen Erweiterungen zusammen. Die besondere
Schwierigkeit besteht nicht nur darin, beide Teile zu einem homogenen System zu
integrieren, ohne die Schnittstellen zu durchbrechen, sondern auch den
Produktkern weiterhin updatefähig zu halten. Ursprünglich als Basis für die
Werum interne Produktentwicklung und die darauf aufbauenden Kundenprojekte
geplant, wird JCoffee mittlerweile auch in Projekten für Individuallösungen und
von externen Unternehmen als Basisplattform eingesetzt. Dieser Vortrag erläutert
sowohl die Motivation für ein eigenes 'Inhouse-Framework als auch die
tatsächlichen Konzepte und Lösungen von JCoffee. Ferner gibt es eine
Zusammenfassung der Erfahrungen aus Einsatz und Entwicklung in den letzten 6
Jahren.
Vortragsfolien (PDF)
|
ISO 15504 (SPICE) - Wo Licht ist, ist auch Schatten!
von Markus Sprunck (HVB IS)
Reifegradmodelle finden zunehmend Verbreitung. Die Entscheidung für den Einsatz
hat gravierende Auswirkungen auf das gesamte Unternehmen, Auftraggeber und
Unterauftragnehmer. Der oft vollmundig versprochene Nutzen ist stark abhängig
von der Unternehmenskultur, IT-Governance, Projektportfolio,
Einführungsstrategie, Management-Unterstützung und vielen weiteren Faktoren.
Der Vortag vermittelt Praxiserfahrungen bei der Entwicklung und Einführung
eines SPICE Level 3 konformen Vorgehensmodells und ausgewählten Aspekten der
erforderlichen Entwicklungsinfrastruktur.
Vortragsfolien (PDF)
|
nach oben
Session am Mittwoch, 28. März 2007 von 14:00 bis 14:45
Session
C im Hörsaal A |
Composing with Style - Components and Services meet Architecture
von Clemens Szyperski (Microsoft)
Software components held and hold a big promise. Yet, it seems, that much software is build without
drawing on composition principles. Now we bet on services, which we assert will compose better. In
reality, service composition is better that component composition in some and worse in other ways.
For one, it seems that composability itself may be the least composable term in the theory of computer
science. In this talk, I explore some of the troubling reasons why we have succeeded only so-so when it
comes to the creation of composable software whether software components or software services. Software
architecture can often come to the rescue, but only when applied with great style.
Website (Vortragsfolien auf Anfrage)
|
Sessions am Mittwoch, 28. März 2007 von 15:15 bis 17:45
Session
D1 im Hörsaal A |
Advanced Test-Driven Development
von Peter Zimmerer (Siemens)
Test-driven development (TDD) is an approach to software construction in which developers write automated
unit tests before writing code. Proponents of the TDD approach assert that it delivers software that is
easier to maintain and of higher quality than using traditional development approaches.
In this paper I share my view of TDDs advantages and limitations and how the TDD concept can be extended to all levels
of testing. Based on experiences gained from real-world projects employing TDD, I explain how to use TDD practices to support
preventive testing throughout the development process. This approach helps us to see new aspects of test-driven development
and to get a better understanding how it fits into the big picture of software testing and development overall.
Vortragsfolien (PDF)
|
Effizientes Prozess-Monitoring im Supply Chain Management
von Frank Wietek (sd&m)
Wer als Anbieter komplexer Logistiklösungen Mitverantwortung für die
Geschäftsprozesse seiner Kunden übernimmt, muss zuverlässigen Service gewährleisten
und seine Prozesse im Griff haben. Der Einsatz von Monitoring-Systemen
erlaubt eine feingranulare Überwachung der Transportkette auf jeder Zwischenstation,
um auf Verzögerungen schnell und angemessen reagieren zu können. Die
dabei anfallenden Datenmengen sind allerdings erheblich. Damit hochgezüchtetes
Transportmanagement nicht im Datenstau endet, sind besonders effiziente ITSysteme
erforderlich. Der Beitrag aus der Praxis eines Global Players stellt die
Herausforderungen für die IT im Einzelnen dar und präsentiert funktionierende
Lösungen, bei denen saubere Architekturen nicht auf der Strecke bleiben.
Vortragsfolien (PDF)
|
Bottom-up Software Engineering: Wie man von Programmierern lernen kann,
wie man ein Software-Projekt erfolgreich macht
von Stefan Richter (freiheit.com)
Die Free Software (OpenSource) Community hat erfolgreich bewiesen, was erfahrene
Programmierer schon lange wissen: Auch wenn man keinen komplexen
Software-Entwicklungsprozess anwendet, ist es möglich, erstklassige Software
in einem großen Team herzustellen. Man braucht also offensichtlich nicht zwingend
einen full-time Projekt-Manager, einen komplexen formalen Prozess und
auch keine umfangreichen Spezifikationsdokumente.
Trotzdem ist die Idee eines Netzwerks von freien Programmierern nicht 1:1 in die
Welt der kommerziellen Software-Entwicklung übertragbar. Schließlich möchte der
Kunde vor Projektstart seine Anforderungen genau definiert wissen und eine Aussage
über die zu erwartenden Kosten und den Lieferzeitpunkt erhalten. Das Problem
der Aufwandsschätzung, das sicherlich zu den schwierigsten Fragestellungen
im Software-Engineering gehört - da es um Aussagen über die Zukunft geht - wird
aber weder von den aufstrebenden agilen Prozessen noch von den schwergewichtigen
Prozessen befriedigend beantwortet.
Was kann man von diesen verschiedenen Ansätzen in der Software-Entwicklung
lernen? Wie viel Projekt-Management ist wirklich erforderlich? Wie kann man einen
zuverlässigen Plan erstellen und trotzdem flexibel und agil sein? Was ist zu spezifizieren
und wie kann man den Aufwand abschätzen und den Lieferzeitpunkt berechnen?
|
Softwaretechnik und Sicherheit - ein Widerspruch?
von Peter Wirnsperger (Hamburg@Work, AK Security)
Täglich werden in den einschlägigen Foren Schwachstellen von Software publiziert und die
neuen Angriffsmöglichkeiten in der Presse breitgetreten. Ganze Heerscharen von
Qualitätssicherern, Software-Entwicklern, Analytikern, Geeks, Hacker sind
laufend auf der Suche nach Hintertüren in Anwendungen, die den freien Zugang zu
Computer-Systemen ermöglichen sollen. Teilweise geschieht dies aus privatem Spieltrieb,
teilweise im öffentlichen Interesse oder auch mit kriminellen Hintergedanken.
Software zu patchen also zu flicken gehört zum normalen Arbeitsalltag eines Systemadministrators
und manche Patches erhalten sogar den Status eines Service-Packs. Interessant
ist die Tatsache, dass der Patch-Management-Prozess zu den wichtigsten
Betriebsprozessen in der IT überhaupt gehört.
Man stellt sich die Frage, warum das so ist. Warum beschäftigen wir uns so viel mit der
Fehlersuche bei Software im laufenden Betrieb, mit dem Flicken und Ausbessern von
Sicherheitslöchern und warum ist es so schwierig, fehlerfreie und sichere Software
zu erstellen.
Der Vortrag versucht aufzuzeigen, wo die Grundprobleme sind und warum es in der
aktuellen Situation wahrscheinlich nie möglich sein wird, Software und Systeme
ohne Sicherheitslöcher zu erstellen.
Vortragsfolien (PDF)
|
Session
D2 im Hörsaal B |
Refactoring to Spring
von Holger Breitling (C1 WPS), Torsten Köster (Deutscher Ring)
Das Spring Framework ist das derzeit populärste
Dependency-Injection-Framework für Java, das eine umfassende
Vereinfachung und
Unterstützung für die J2EE-Entwicklung bietet. Der Einsatz des
Frameworks ist relativ einfach, wenn man die Anwendungsentwicklung
"from scratch" beginnt. Anspruchsvoll und interessant wird es, wenn
eine
bestehende Anwendung so verändert werden soll, dass sie auf Spring aufsetzt. Dieser
Vortrag behandelt das Thema "Refactoring to Spring" vor dem Hintergrund
konkreter Erfahrung beim Umbau einer großen Web-basierten
Versicherungsanwendung und stellt die gefundenen Best Practices und
Patterns vor.
Vortragsfolien (PDF)
|
Das Containerterminal Altenwerder - JAVA-Technologien in logistischen Prozess-Steuerungen
von Stefan Glückelhorn (HHLA)
Das Containerterminal Altenwerder liegt an der Süderelbe. Das Terminal wurde in
einer Bauzeit von 2 Jahren neu errichtet und ist seit Sommer 2002 in Produktion.
Das Terminalsteuerungssystem steuert den weitestgehend automatischen Betrieb
des Containerumschlags. Den Containerumschlag führen in der Reihenfolge vom
Schiff auf das Land Zweikatz-Containerbrücken, fahrerlos geführte Fahrzeuge für
den Horizontaltransport (AGVs) und fahrerlos geführte Lagerkräne (RMGs) durch.
Der Start für die Entwicklung der IT-Systeme erfolgte April 1999 mit einer
Architekturstudie. Mit zwei vorangestellten Pilotprojekten wurde die Eignung der
Sprache JAVA in Steuerungssystemen geprüft. Die Architektur des
Terminalsteuerungssystems besteht aus überwiegend lose gekoppelten
Komponenten mit eigenen Zustandsmaschinen. Die Kommunikation der
Komponenten erfolgt auf Basis von JMS. Die Software der Terminalsteuerung wird
zu 100% mit einem Automatiktestsystem vor jeder neuen Auslieferung geprüft.
Dadurch erreichen wir heute eine Verfügbarkeit des Geschäftsprozesses
"Wasserseite" von über 99,8%.
|
Methodische und technologische Herausforderungen, bei der Realisierung von Produkten auf Basis eines
offenen Industriestandards
von Jörg Pechau (CoreMedia)
Seit 2004 entwickelt CoreMedia Server-Software, die von dem offenen Industriestandard
"OMA DRM" abhängt. In einem internationalen Verbund arbeiten Industriepartner
unterschiedlicher Sparten des Mobilfunkbereichs (Hardware, Embedded Software,
Service-Provider, Backend Software usw.) an der Spezifikation an sich, daran den
offenen Standard erfolgreich im Markt zu verankern und darauf basierende Produkte
einzuführen - so auch CoreMedia. Der Vortrag beleuchtet die Höhen und Tiefen dieser
Entwicklung und zeigt exemplarisch die methodischen und technologischen
Herausforderungen, vor denen CoreMedia bei der Umsetzung eines offenen Standards in
diesem internationalen Umfeld stand.
Vortragsfolien (PDF)
|
Software-Modernisierung - Der Abendländische Weg
von Thomas Maurer (Interactive Objects)
Das Thema ist nicht neu. Die in den Achtzigern entwickelten Host-Anwendungen müssen modernisiert werden,
weil fast keiner sich mehr traut, neue Anforderungen zu implementieren, aus Angst, Interdependenzen zu übersehen,
die eine Lawine auslösen könnten. Und moderne Geschäftsprozesse benötigen moderne Technologien. Aber
Modernisierungsprojekte sind unbeliebt, da sie für das Unternehmen ein hohes Risiko bergen und den IT-Manager
an den Rand von Karrierekrisen führen können. Es werden verschiedene Möglichkeiten angeboten, das Dilemma zu
unterstützen. Offshoring suggeriert die Vorstellung, dass man sich die Hände anderswo schmutzig macht. Aber
mir der Arbeit gibt man oft auch die Kontrolle ab. Der Ansatz der automatischen Umsetzung suggeriert Sicherheit,
weil man ja Programmzeile für Programmzeile übersetzen lässt und dabei nichts übersehen wird. Allerdings ist das
dabei entstehende System in seiner Struktur keinen Deut moderner oder besser wartbar als sein Vorgänger. Wie kann
man aus einem Software-Modernisierungsprojekt aber einen Gewinn für alle Beteiligten machen? Indem wir uns auf
unsere abendländischen Wurzeln besinnen. Ein ingenieurgetriebener Ansatz muss her. Das bedeutet, dass wir eine
industrialisierte Legacy Modernization Factory aufbauen, deren Hauptpfeiler durch folgende Punkte charakterisiert
sind: eine Methode, die der Komplexität des Unternehmens gerecht wird, ein Prozess, der sich an der Praxis
orientiert und genau auf die spezifischen Belange des Unternehmens anpassbar ist und eine Werkzeugkette, die die
hochspezialisierten Aktivitäten des Prozesses effektiv und effizient unterstützt und koordiniert. Interactive Objects
setzt mit seiner Legacy Transformation Factory konsequent diesen abendländischen Weg um. Dabei gewinnen alle
Beteiligten: Business Analysten erhalten methodische Unterstützung zur Strukturierung ihre Prozesse, so dass neue
Ideen schnell in implementierungsfähiger Form vorliegen. Durch die Verlinkung der Prozessschritte mit den
entsprechenden IT Services können die Anforderungen schnell umgesetzt werden. Entwickler des Alt- und Neu-Systems
können im Modell durch Programm- uns Datenstrukturen navigieren und erkennen bei jedem Schritt, welche Auswirkungen
er hat und welche Geschäftsprozesse betroffen sind. Architekten werden dabei unterstützt, Geschäftsprozessarchitekturen
und technische SOA-Architekturen zu Prozessorientierten Architekturen (POA) zu integrieren. Und Manager freuen sich
über Instrumente wie eine automatische Prozesssteuerung der beteiligten Rollen, sowie über die Sicherheit, die der
Prozess bietet; für das Unternehmen - und für die persönliche Karriere.
Vortragsfolien (PDF)
|
|