View
109
Download
6
Category
Preview:
Citation preview
Kompontenbasierte Software-Entwicklung
Am Beispiel der Verwaltungssoftware „Veasy“
Hersteller: Hofmann Büroorganisation GmbH
Anton-Storch-Str. 2349080 Osnabrück
Tel. 0541 / 9590666
Referent Alexander Franksmann, im Rahmen der Vorlesung „Komponentenbasierte SW-Entwicklung“, von Prof. Dr. Frank Thiesing
18. März 2013
11.04.2023 Alexander Franksmann 2
• 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
11.04.2023 Alexander Franksmann 3
Das
Vea
sy-T
eam
• Michael Bühren (seit 2004)Geschäftsführer
• Alexander Franksmann (seit 2006)Leiter Software-Entwicklungfranksmann@veasy.deTel. 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
11.04.2023 Alexander Franksmann 4
Unsere Diplomanten
Sebastian KortemeyerThema: Entwicklung eines interaktiven Oberflächen- und Fachkonzeptes zum Ressourcenmanagement
Viktor SteinwandEntwicklung eines Plug-In-Managementsystems im Rahmen der Migration einer bestehenden Onlineanwendung hin zu einer komponentenbasierten Open-Source-Software
11.04.2023 Alexander Franksmann 5
Veasy Belegungsansicht
11.04.2023 Alexander Franksmann 6
GrundmoduleTeilnehmer-verwaltung
Kurs-verwaltung
Raum-verwaltung
Belegungs-verwaltung
Buchhaltungsmodule
Programmheft-erstellung
div. Schnittstellen
Für Bildungsanbieter
11.04.2023 Alexander Franksmann 7
Unsere Herausforderungen
Open Source
10 Jahre am Markt
Technologie Mix
Individuelle Kunden-wünsche
Wartbarkeit (versch.
Architektur Versionen)
Erweiterbarkeit mit Rücksicht
auf altem Code
11.04.2023 Alexander Franksmann 8
Lösung aus der Sicht der Software-Entwicklung:
Komponentenbasierte Software-Entwicklung
11.04.2023 Alexander Franksmann 9
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)
11.04.2023 Alexander Franksmann 10
Komponenten Arten
Core ComponentsPattern: MV-VM-C
PluginsPattern: MVC
Theoretische Grundlagen
11.04.2023 Alexander Franksmann 12
11.04.2023 Alexander Franksmann 13
Controller(kann von
außen angesprochen
werden)
Logic (nur
intern)
Assembler (nur
intern)
Sharepoints einer KomponenteController wird aus dem User Interaktionskontext aufgerufen.
Assembler und Logic können „nur“ intern genutzt werden
11.04.2023 Alexander Franksmann 14
Hauptkomponente
Verschachtelte Komponenten
Subkomponente 1 Subkomponente 2
Subkomponente 3 Subkomponente 4
11.04.2023 Alexander Franksmann 15
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
11.04.2023 Alexander Franksmann 16
Action: displayAllCourseTypes
Alexander Franksmann 17
11.04.2023 Alexander Franksmann 18
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
11.04.2023 Alexander Franksmann 19
Danke für Ihre Aufmerksamkeit!
Sie finden uns unter https://www.facebook.com/veasy.de
oder http://www.veasy.de/
11.04.2023 Alexander Franksmann 20
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
Recommended