Kompontenbasierte Software-Entwicklung Am Beispiel der Verwaltungssoftware „Veasy“ Hersteller:...

20
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 18. März 2013

Transcript of Kompontenbasierte Software-Entwicklung Am Beispiel der Verwaltungssoftware „Veasy“ Hersteller:...

Page 1: Kompontenbasierte Software-Entwicklung Am Beispiel der Verwaltungssoftware „Veasy“ Hersteller: Hofmann Büroorganisation GmbH Anton-Storch-Str. 23 49080.

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

Page 2: Kompontenbasierte Software-Entwicklung Am Beispiel der Verwaltungssoftware „Veasy“ Hersteller: Hofmann Büroorganisation GmbH Anton-Storch-Str. 23 49080.

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

Page 3: Kompontenbasierte Software-Entwicklung Am Beispiel der Verwaltungssoftware „Veasy“ Hersteller: Hofmann Büroorganisation GmbH Anton-Storch-Str. 23 49080.

11.04.2023 Alexander Franksmann 3

Das

Vea

sy-T

eam

• Michael Bühren (seit 2004)Geschäftsführer

• Alexander Franksmann (seit 2006)Leiter [email protected]. 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

Page 4: Kompontenbasierte Software-Entwicklung Am Beispiel der Verwaltungssoftware „Veasy“ Hersteller: Hofmann Büroorganisation GmbH Anton-Storch-Str. 23 49080.

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

Page 5: Kompontenbasierte Software-Entwicklung Am Beispiel der Verwaltungssoftware „Veasy“ Hersteller: Hofmann Büroorganisation GmbH Anton-Storch-Str. 23 49080.

11.04.2023 Alexander Franksmann 5

Veasy Belegungsansicht

Page 6: Kompontenbasierte Software-Entwicklung Am Beispiel der Verwaltungssoftware „Veasy“ Hersteller: Hofmann Büroorganisation GmbH Anton-Storch-Str. 23 49080.

11.04.2023 Alexander Franksmann 6

GrundmoduleTeilnehmer-verwaltung

Kurs-verwaltung

Raum-verwaltung

Belegungs-verwaltung

Buchhaltungsmodule

Programmheft-erstellung

div. Schnittstellen

Für Bildungsanbieter

Page 7: Kompontenbasierte Software-Entwicklung Am Beispiel der Verwaltungssoftware „Veasy“ Hersteller: Hofmann Büroorganisation GmbH Anton-Storch-Str. 23 49080.

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

Page 8: Kompontenbasierte Software-Entwicklung Am Beispiel der Verwaltungssoftware „Veasy“ Hersteller: Hofmann Büroorganisation GmbH Anton-Storch-Str. 23 49080.

11.04.2023 Alexander Franksmann 8

Lösung aus der Sicht der Software-Entwicklung:

Komponentenbasierte Software-Entwicklung

Page 9: Kompontenbasierte Software-Entwicklung Am Beispiel der Verwaltungssoftware „Veasy“ Hersteller: Hofmann Büroorganisation GmbH Anton-Storch-Str. 23 49080.

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)

Page 10: Kompontenbasierte Software-Entwicklung Am Beispiel der Verwaltungssoftware „Veasy“ Hersteller: Hofmann Büroorganisation GmbH Anton-Storch-Str. 23 49080.

11.04.2023 Alexander Franksmann 10

Komponenten Arten

Core ComponentsPattern: MV-VM-C

PluginsPattern: MVC

Page 11: Kompontenbasierte Software-Entwicklung Am Beispiel der Verwaltungssoftware „Veasy“ Hersteller: Hofmann Büroorganisation GmbH Anton-Storch-Str. 23 49080.

Theoretische Grundlagen

Page 12: Kompontenbasierte Software-Entwicklung Am Beispiel der Verwaltungssoftware „Veasy“ Hersteller: Hofmann Büroorganisation GmbH Anton-Storch-Str. 23 49080.

11.04.2023 Alexander Franksmann 12

Page 13: Kompontenbasierte Software-Entwicklung Am Beispiel der Verwaltungssoftware „Veasy“ Hersteller: Hofmann Büroorganisation GmbH Anton-Storch-Str. 23 49080.

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

Page 14: Kompontenbasierte Software-Entwicklung Am Beispiel der Verwaltungssoftware „Veasy“ Hersteller: Hofmann Büroorganisation GmbH Anton-Storch-Str. 23 49080.

11.04.2023 Alexander Franksmann 14

Hauptkomponente

Verschachtelte Komponenten

Subkomponente 1 Subkomponente 2

Subkomponente 3 Subkomponente 4

Page 15: Kompontenbasierte Software-Entwicklung Am Beispiel der Verwaltungssoftware „Veasy“ Hersteller: Hofmann Büroorganisation GmbH Anton-Storch-Str. 23 49080.

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

Page 16: Kompontenbasierte Software-Entwicklung Am Beispiel der Verwaltungssoftware „Veasy“ Hersteller: Hofmann Büroorganisation GmbH Anton-Storch-Str. 23 49080.

11.04.2023 Alexander Franksmann 16

Action: displayAllCourseTypes

Page 17: Kompontenbasierte Software-Entwicklung Am Beispiel der Verwaltungssoftware „Veasy“ Hersteller: Hofmann Büroorganisation GmbH Anton-Storch-Str. 23 49080.

Alexander Franksmann 17

Page 18: Kompontenbasierte Software-Entwicklung Am Beispiel der Verwaltungssoftware „Veasy“ Hersteller: Hofmann Büroorganisation GmbH Anton-Storch-Str. 23 49080.

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

Page 19: Kompontenbasierte Software-Entwicklung Am Beispiel der Verwaltungssoftware „Veasy“ Hersteller: Hofmann Büroorganisation GmbH Anton-Storch-Str. 23 49080.

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/

Page 20: Kompontenbasierte Software-Entwicklung Am Beispiel der Verwaltungssoftware „Veasy“ Hersteller: Hofmann Büroorganisation GmbH Anton-Storch-Str. 23 49080.

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