Abschlusspräsentation Tobias Vogel DomainFairy Softwarelösung für die Verwaltung und Abrechnung von Domain- und Serverdienstleistungen Abschlusspräsentation Tobias Vogel Augsburg, 24.07.2017
Gliederung Unternehmen Projektumsetzung Fazit Einführung Analyse Entwurf Implementierung Ausblick Fazit
Unternehmen Mein Ausbildungsbetrieb
Unternehmen tomcom GmbH 1997 gegründet Lindau am Bodensee 16 Mitarbeiter Tätigkeitsschwerpunkte: Web-Anwendungen Hosting der für Kunden entwickelten Lösung
Einführung Die Entstehung des Projektes
Einführung - Ausgangspunkt tomcom bietet für Kunden Hosting-Dienste an Regelmäßige Abrechnung Unterschiedliche Pakete & Dienstleistungen Verschiedene Konditionen je Kunde Manuelle Verwaltung über eine Excel Tabelle Eigentliche Abrechnung in Lexware Faktura-System Hoher Aufwand, wenig Transparenz
Einführung - Probleme Manuell in Excel Jede Dienstleistung eine Zeile Wiederholungen/redundante Daten Unübersichtlich Zeitintensiv Hohe Fehleranfälligkeit Keine Statusverfolgung
Einführung - Beispiel
Einführung - Projektziel Ablösung des Excel-Provisoriums Web-Anwendung Intuitive Benutzeroberfläche Strukturierte Datenaufbereitung Vermeidung redundanter Daten Schnellere und effizientere Nutzung Reduzierung des Aufwands & Prozesssicherheit
Analyse Projektphasen und Projektkosten
Analyse - Projektphasen Analyse 5 Stunden Planung 12 Stunden Umsetzung 35 Stunden Qualitätssicherung 6 Stunden Abschluss 12 Stunden beinhaltet Dokumentation und Präsentation 70 Stunden Gesamt
Analyse - Projektkosten Phase Mitarbeiter Zeit Kosten Entwicklung 1x Azubi 70 Stunden 2590,00 € Abnahme 1x Mitarbeiter 2 Stunden 110,00 € Gesamtkosten 2700,00 € Kosten pro Stunde: Azubi: 37€ Mitarbeiter: 55€ (einschließlich Gemeinkosten) Reine Entwicklungskosten Ohne laufende Kosten für Hosting usw.
Entwurf Entwicklungsumgebung und Entwürfe
Entwurf - Entwicklungsumgebung Java PostgreSQL Bootstrap 3 Bootstrap 3 > Einfaches Design und eicht Responsive PostgreSQL > Alle unsere Anwendungen benutzen PostgreSQL JAVA > Große Toolbox/Framework für Java > Embedded Jetty, da alle unsere Web-Anwendungen eigene Instanzen benutzen
Entwurf - Datenbank Tabellen werden aus Java Klassen generiert > mehr dazu später Baut auf Grundlage von Excel auf Inhalte aus Excel Tabelle extrahiert
Entwurf – Datenbank Klassen AbstractObject = Base Class für alle Tabellen in der Datenbank Beispiel Dienstleistungstyp Genauer Erklärung später
Implementierung Umsetzung
Implementierung - Werkzeuge Eclipse Tomcom Core Framework Apache Velocity Template Engine Embedded HTTP-Jetty Jackson Hibernate Java bzw. Eclipse vorbereiten TCF einbinden. TCF = Tomcom Core Framework Velocity Template Engine -> von Apache , Template Engine zum generieren von HTML Code mit der Verwendung von Java Objekten im Template Embedded HTTP-Jetty -> von Eclipse -> Eigenständiger HTTP-Server mit der Verwendung von Servlets Jackson -> von FasterXML -> Parsen von JSON, DeSerialisierung Hibernate ist das Verbindugnsstück zwischen Java Anwendung und PostgrSQL server
Implementierung - Datenbank Automatisch generiert Abgleich aller als Table gekennzeichnete Klassen mit der Datenbank. Ggf hinzugefügt Klasse muss als Entity gekennzeichnet werden & Als Tabelle Vererbung der AbstractObject-Klasse Erstellung einer Spalte in der Datenbank Die Abfragen erfolgen über Data Access Objects kurz DAO Ein DAO wird für jede Datenbank-Klasse erstellt und haben Automatisch eine add, save, get, list und delete methode die mithilfe von Reflections funktionieren
Implementierung - Datenbank AbstractObject Dienstleistungstyp Erste 5 Spalten von er AbstractObject Klasse Letzte Spalte von der Dienstleistungstyp Klasse
Implementierung - Servlet Aus dem PaketServlet:
Implementierung - DAO DAO = Data Access Object QueryBuilder baut die SQL Abfragen zusammen mithilfe der Klassen (Reflection) Jeder Datenzugriff läuft über Hibernate AbstracDAO ist abstract und generic
Implementierung – Template Engine DAO = Data Access Object QueryBuilder baut die SQL Abfragen zusammen mithilfe der Klassen (Reflection) Jeder Datenzugriff läuft über Hibernate AbstracDAO ist abstract und generic
Implementierung – Login - Einfache Login-Maske
Implementierung – Paket hinzufügen Pakete mit Dienstleistungen hinzufügen Paketdaten ausfüllen Dienstleistungen hinzufügen Speichern klicken Danach in Paketliste Paket kann editiert werden
Implementierung - PAP - Ablauf inklusive Login für die Erstellung eines Paketes
Implementierung - Abrechnung Abrechnungsliste Zeigt wann die nächste abrechnung fällig ist Klick auf abrechnung > Referenzdaten aus Lexware eintragen > Speichern = Abgerechnet Verlauf > Zeigt kompletten verlauf der Abrechnungen eines Paketes an
Ausblick Wie sieht es in der Zukunft aus?
Ausblick Automatische Abrechnung durch Lexware Import & Export der Daten
Fazit
Fazit Vorher Nachher Pro Neueintrag 6 Minuten Pro Abrechnung 4 Minuten Pro Paket 6 Min – Pro Paket 2 Min Pro Abrechnung 2 Min – Pro Abrechnung 30 Sek
Ca. 30 Stunden Arbeitsaufwand gespart (=75%) Fazit Eckdaten 500 Dienstleistungen 50 neue pro Jahr Zuvor Ca. 40 Stunden pro Jahr Danach Ca. 10 Stunden pro Jahr Pro Paket 6 Min – Pro Paket 2 Min Pro Abrechnung 2 Min – Pro Abrechnung 30 Sek Ca. 30 Stunden Arbeitsaufwand gespart (=75%)
Fazit Alle Ziele umgesetzt Abnahme erfolgreich Viel gelernt Abnahme war erfolgreich Viel gelernt vorallem über Reflections
Vielen Dank für Ihre Aufmerksamkeit