Sie sind hier
Contracts im Software Engineering
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.