banner

Sie sind hier

Contracts im Software Engineering

Track: 
Agilität und Qualität - Tests / Contracts / Clean Code

Beim Entwicklertag 2011 wurde in das Thema "Design by Contract" (DbC) eingeführt und mit C4J auch ein erstes Framework für Java vorgestellt.
Nachdem hier viel Interesse geweckt wurde haben wir uns bei andrena mit der praktischen Anwendung von DbC in Java befasst. Wir sind zu dem Schluss gekommen, dass die existierenden Frameworks teilweise Wünsche offen lassen. Daraufhin entstand die Idee, ein eigenes Framework zu entwickeln, welches die Benutzung für einen Java-Entwickler möglichst einfach und intuitiv gestaltet. Dieses neue Java Framework für DbC möchten wir nach einer kurzen Einführung zu DbC in diesem Vortrag vorstellen.
In unserem Framework eingeführte, neuartige Features beinhalten das einfache Erstellen von Contracts mit Hilfe von gängigen Features moderner Entwicklungsumgebungen, sowie entsprechende Unterstützung von Refactoring und Auto-Completion. Zudem wird die pure Eigenschaft von Methoden ohne Seiteneffekte strikt überprüft und es ist möglich, externe Contracts für Interfaces oder Klassen wie z.B. java.lang.Object zu erstellen. Ein interessanter Anwendungsfall ist hierbei, für sämtliche Objekte den Vertrag für equals und hashCode definieren zu können.
Abschließend wird auf die während der Implementierung des Frameworks aufgetretenen Herausforderungen in Bezug auf DbC eingegangen und entsprechende Antworten bzw. Konfigurationsmöglichkeiten werden vorgestellt. Ein Ausblick auf geplante Features rundet den Vortrag ab.

Referenten: 
Firma: 
andrena objects ag
Biografie: 

Ben Romberg ist Software-Entwickler bei der andrena objects ag. Sein besonderes Interesse gilt den Themen automatisierte Tests und Design by Contract. Parallel zu seiner Tätigkeit bei andrena übt er einen Lehrauftrag an der Hochschule Karlsruhe aus.

Firma: 
andrena objects ag
Biografie: 

Hagen Buchwald, Vorstand der andrena objects ag, Karlsruhe, studierte von 1988 bis 1994 Wirtschaftsingenieurwesenam Karlsruhe Institute of Technology (KIT), der damaligen Universität Karlsruhe. Er ist seit 1994 in der IT Industrie tätig und hat als Vorstand eines IT-Beratungsunternehmens viel Erfahrung in der Konzeption und Durchführung von Software-Projekten für Banken und Versicherungen aufgebaut. Seit 2008 ist er Vorstand des CyberForums, des HighTech.Unternehmer.Netzwerks in der TechnologieRegion Karlsruhe. Von Oktober 2008 bis September 2011 bildete er im Zuge eines Lehrauftrags am KIT die angehenden Wirtschaftsingenieure im Paradigma des Objektorientierten Software-Engineerings aus. Seit Oktober 2011 verstärkt er das Vorstandsteam der andrena objects bei der Umsetzung der Vision, dass Software Made in Germany zum Qualitätsbegriff werden kann, wenn es gelingt, die Stärken des deutschen Ingenieurdenkens auf das Software-Engineering zu übertragen. Die Kombination von Test Driven Development und Design by Contract für Agile Vorgehensmodelle könnte solch ein Schritt sein.