Kompontenbasierte Software-Entwicklung 18. März 2013 Kompontenbasierte Software-Entwicklung Am Beispiel der Verwaltungssoftware „Veasy“ Hersteller: Hofmann Büroorganisation GmbH Anton-Storch-Str. 23 49080 Osnabrück Tel. 0541 / 9590666 Referent Alexander Franksmann, im Rahmen der Vorlesung „Komponentenbasierte SW-Entwicklung“, von Prof. Dr. Frank Thiesing
Die Firma Hofmann Büroorganisation GmbH wurde 1973 in Osnabrück gegründet. Im Jahre 1998 gründete Michael Bühren die Abteilung „New Media Professionell“ Beginnend im Jahr 2004 haben wir gemeinsam mit einer VHS die Bedürfnisse der Verwaltung im Bildungsbereich analysiert. Auf dieser Basis haben wir ein webbasierendes Softwareprodukt für Bildungsanbieter entwickelt. Veasy -> Verwaltung Easy 06.04.2017 Alexander Franksmann
Das Veasy-Team Michael Bühren (seit 2004) Geschäftsführer Alexander Franksmann (seit 2006) Leiter Software-Entwicklung franksmann@veasy.de Tel. 0541 / 9590670 Tilo Ziegler (seit 2006) Senior-Entwickler Christian Hüser (seit 2011) Dipl. Angew. Systemwiss. Auszubildende: Robin Haucap (seit 2010) Ellen Thole (seit 2012) Petja Mesterheide (seit 2012) Viktor Steinwand (seit 2006) FH Praktikum und Diplomarbeit - aktuell Berater Das Veasy-Team 06.04.2017 Alexander Franksmann
Unsere Diplomanten Sebastian Kortemeyer Thema: Entwicklung eines interaktiven Oberflächen- und Fachkonzeptes zum Ressourcenmanagement Viktor Steinwand Entwicklung eines Plug-In- Managementsystems im Rahmen der Migration einer bestehenden Onlineanwendung hin zu einer komponentenbasierten Open-Source-Software 06.04.2017 Alexander Franksmann
Veasy Belegungsansicht 06.04.2017 Alexander Franksmann
Grundmodule Teilnehmer-verwaltung Kurs-verwaltung Raum-verwaltung div. Schnittstellen Belegungs-verwaltung Für Bildungsanbieter Programmheft-erstellung Buchhaltungsmodule 06.04.2017 Alexander Franksmann
Unsere Herausforderungen Open Source Erweiterbarkeit mit Rücksicht auf altem Code 10 Jahre am Markt Wartbarkeit (versch. Architektur Versionen) Technologie Mix Individuelle Kunden-wünsche 06.04.2017 Alexander Franksmann
Lösung aus der Sicht der Software-Entwicklung: Komponentenbasierte Software-Entwicklung 06.04.2017 Alexander Franksmann
Vorteile Komponentenbasierter Software-Entwicklung Logische Aufteilung der Programmfunktionen (Jede Komponente besitzt „Actions“) Zentrale Überprüfung von Daten als Parameter (z.B. Formulardaten) Komponenten haben „Sharepoints“ (können untereinander kommunizieren) Jede Schicht, jede Klasse, erfüllt genau eine Aufgabe! (Single responsibility principle) 06.04.2017 Alexander Franksmann
Core Components Pattern: MV-VM-C Komponenten Arten Core Components Pattern: MV-VM-C Plugins Pattern: MVC 06.04.2017 Alexander Franksmann
Theoretische Grundlagen
06.04.2017 Alexander Franksmann
Sharepoints einer Komponente Controller (kann von außen angesprochen werden) Logic (nur intern) Assembler (nur intern) Controller wird aus dem User Interaktionskontext aufgerufen. Assembler und Logic können „nur“ intern genutzt werden 06.04.2017 Alexander Franksmann
Verschachtelte Komponenten Hauptkomponente Subkomponente 1 Subkomponente 2 Subkomponente 3 Subkomponente 4 06.04.2017 Alexander Franksmann
Praxis Beispiel Erstellung einer Subkomponente „BAMF CourseType“ MySQL Tabelle “bamf_course_types” mit folgendem Schema: id (int 5) name (varchar 255) code (varchar 5) Aufgabe: Liste alle Items der MySQL Tabelle in einer HTML Tabelle auf Action: listAllCourseType Parameter: NULL 06.04.2017 Alexander Franksmann
Action: displayAllCourseTypes 06.04.2017 Alexander Franksmann
Alexander Franksmann
Fazit Das komponentenbasierte Entwicklungsmodell hilft uns, möglichst gut auf zukünftige Veasy-Ausbaustufen einzugehen, deren Anforderungen wir jetzt noch nicht kennen Ohne die Umstellung auf das moderne Architekturmodell könnten wir uns auf dem Markt nicht behaupten 06.04.2017 Alexander Franksmann
Danke für Ihre Aufmerksamkeit! Sie finden uns unter https://www.facebook.com/veasy.de oder http://www.veasy.de/ 06.04.2017 Alexander Franksmann
Bist du noch auf der Suche… Die Vergabe von Bachelorthemen läuft…. Software Map -> Identifikation alter und neuer Codebereiche anhand eines dynamischen Filters Erweiterung unseres Architekturmodells Performance Analyse Neue Datenbankdesignkonzepte entwickeln Theorie trifft Praxis: Analyse des Projektmangement und Potenziale erkennen Installationsroutine Entwickeln im allg. für Webanwendungen Veasy goes international BYOI Nutzungswege analysieren 06.04.2017 Alexander Franksmann