Verbesserung der Architektur und Dokumentation der DPP-Software Saros Slawa Belousow Institut für Informatik FU Berlin 13.01.2011
Vorstellung der Arbeit Problem Entwicklung wird immer schwieriger Ziel verbesserte Architektur aktuelle Dokumentation vereinfachte Wartung neue Features Einstieg für neue Entwickler erleichtern Methoden Action Research Verbesserung der Architektur und Dokumentation der DPP-Software Saros 2
Inhalt der Präsentation 1.Probleme und Wünsche 2.Erste Architektur Verbesserungsansätze 3.Dokumentation 4.Realisierung / Umstellung 5.Meilensteine 6.Literatur 7.Zusammenfassung Verbesserung der Architektur und Dokumentation der DPP-Software Saros 3
1. Probleme und Wünsche Probleme Copy & Paste keine klare Abgrenzung zwischen Komponenten Einsatz bestimmter Frameworks unklar Wünsche eine einfache Architektur für Saros, welche in wenigen Sätzen erklärt werden kann Saros im Quelltext von Eclipse abgrenzen GUI, Logik und Basis auseinanderziehen (Stichworte: three-tier, MVC) mehr Abstraktion Verbesserung der Architektur und Dokumentation der DPP-Software Saros 4
2. Erste Architektur Verbesserungsansätze Aufteilung des Projektes in mehrere Teilprojekte Core Plug-Ins Release Dokumentation Ressourcen Verbesserung der Architektur und Dokumentation der DPP-Software Saros 5
2. Erste Architektur Verbesserungsansätze Entwicklung: Core Dokumentation, Doc-Werkzeuge Skripte Ressourcen Eclipse Plug-in Release Produkt: Saros für Eclipse Verbesserung der Architektur und Dokumentation der DPP-Software Saros 6
2. Erste Architektur Verbesserungsansätze Entwicklung: Core Dokumentation, Doc-Werkzeuge Skripte Ressourcen Eclipse Plug-in Release 1 Ant Release 2 Maven Produkt: Saros für Eclipse Verbesserung der Architektur und Dokumentation der DPP-Software Saros 7
2. Erste Architektur Verbesserungsansätze Entwicklung: Test- Core Dokumentation, Doc-Werkzeuge framework 1 Skripte Testframework 2 Ressourcen Eclipse Plug-in Test- framework 3 Release 1 Ant Release 2 Maven Produkt: Saros für Eclipse Verbesserung der Architektur und Dokumentation der DPP-Software Saros 8
2. Erste Architektur Verbesserungsansätze Entwicklung: Test- Core Dokumentation, Doc-Werkzeuge framework 1 Skripte Testframework 2 Test- Eclipse Netbeans IntelliJ IDEA Plug-in Plug-in Plug-in Ressourcen jedit Plug-in framework 3 Release 1 Ant Release 2 Maven Release X Produkt: Saros für Eclipse Saros für jedit Verbesserung der Architektur und Dokumentation der DPP-Software Saros 9
2. Erste Architektur Verbesserungsansätze Aufteilung des Projektes in mehrere Teilprojekte Divide and Conquer Definition von abstrakten Schnittstellen zwischen den Projekten projektübergreifende Änderungen müssen begründet werden Teilprojekte können einfacher durch externe Lösungen ersetzt werden selbe Funktionalität kann redundant entwickelt werden z.b. verschiedene Ansätze Release durch Kombination mehrerer bestimmter Teilprojekte Verbesserung der Architektur und Dokumentation der DPP-Software Saros 10
3. Dokumentation Entwicklungsgeschichte aufarbeiten Timeline eigenes Projekt in Eclipse verfügbar Werkzeuge Automatisierung Wartung Tests Verbesserung der Architektur und Dokumentation der DPP-Software Saros 11
4. Realisierung / Umstellung Refactoring-Plan / ToDo Liste voll- oder semi-automatisiert zwei parallele Entwicklungsgleise für kurze Zeit Saros und SarosVA Neue Features und Bugfixes werden in beiden Zweigen realisiert Saros SarosVA Simulation Verbesserung der Architektur und Dokumentation der DPP-Software Saros 12
4. Realisierung / Umstellung Refactoring-Plan / ToDo Liste voll- oder semi-automatisiert zwei parallele Entwicklungsgleise für kurze Zeit Saros und SarosVA Releases Saros SarosVA Simulation Releases Test Releases, öffentlich Verbesserung der Architektur und Dokumentation der DPP-Software Saros 13
5. Meilensteine I Januar 2011 Entwicklungsgeschichte Entwurf der verbesserten Architektur Februar 2011 Integration der Testframeworks Schnittstellenentwurf Dokumentationssystem März 2011 Simulation der verbesserten Architektur Entwicklung eines Refactoring-Plans Verbesserung der Architektur und Dokumentation der DPP-Software Saros 14
5. Meilensteine II April 2011 experimentelles Durchführen des Refactorings Auswertung der Ergebnisse Mai 2011 Refactoring öffentliche Tests Überarbeitung der Dokumentation Schreiben Juni 2011 öffentliche Tests und Fehlerkorrekturen Dokumentation Schreiben Verbesserung der Architektur und Dokumentation der DPP-Software Saros 15
6. Literatur I Kübeck, Sebastian (2009): Software-Sanierung: Weiterentwicklung, Testen und Refactoring bestehender Software. mitp. Martin, Robert C. (2008): Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall International. Verbesserung der Architektur und Dokumentation der DPP-Software Saros 16
6. Literatur II Vogel, Oliver / Arnold, Ingo / Chughtai, Arif / Ihler, Edmund / Kehrer, Timo / Mehlig, Uwe / Zdun, Uwe (2009): Software-Architektur: Grundlagen - Konzepte Praxis. 2. Auflage, Spektrum Akademischer Verlag. Hanser, Eckhart (2010): Agile Prozesse: Von XP über Scrum bis MAP. Springer, Berlin. Verbesserung der Architektur und Dokumentation der DPP-Software Saros 17
7. Zusammenfassung Aufteilung des Saros Projektes in mehrere Teilprojekte Definition von abstrakten Schnittstellen zwei parallele Entwicklungsgleise Verbesserung der Architektur und Dokumentation der DPP-Software Saros 18
Diskussion 1.Probleme, Wünsche, Ziele 2.Erste Architektur Verbesserungsansätze 3.Dokumentation 4.Realisierung / Umstellung 5.Meilensteine Verbesserung der Architektur und Dokumentation der DPP-Software Saros 19
Vielen Dank! Verbesserung der Architektur und Dokumentation der DPP-Software Saros 20