Ok, Sorry.
Klingt doof aber hab so etwas noch nie gemacht.
Ich hoffe das ist jetzt so ok.
* Anon = Unternehmen
** AnonProjekt = mein Projekt
Sommerprüfung 2022
Ausbildungsberuf
Fachinformatiker/-in Anwendungsentwicklung
Prüfungsbezirk
xxx
Herr X
Identnummer:
E-Mail: , Telefon: +49
Ausbildungsbetrieb: Anon GmbH
Projektbetreuer: Frau Y
E-Mail: , Telefon: +49
Thema der Projektarbeit
AnonProjekt Projektverwaltung -
Erweiterung und Optimierung eines bestehenden Tools zur Kalkulation und Erstellung von Abrechnungen für Kundenprojekte
1. Thema der Projektarbeit
AnonProjekt Projektverwaltung -
Erweiterung und Optimierung eines bestehenden Tools zur Kalkulation und Erstellung von Abrechnungen für Kundenprojekte
2. Geplanter Bearbeitungszeitraum
Beginn: 15.03.2022
Ende: 15.05.2022
3. Projektbeschreibung
AnonProjekt ist eine externe Softwarelösung für die Zeiterfassung und Mitarbeiterverwaltung in Projekten für die Mitarbeiter der Anon GmbH. Dieses Tool wird bereits von den Mitarbeitern genutzt, um ihre Arbeitszeiten festzuhalten. Die Buchhaltung nutzt dieses Tool zum abrufen der Arbeitszeiten und erstellt daraus Abrechnungen im PDF-Format. Meine Projektarbeit beinhaltet die Erweiterung und Optimierung des bereits bestehenden Tools sodass die Buchhaltung Projektstunden ausweisen und aus diesem z.B. die Rechnungen direkt generieren kann.
Wirtschaftlichkeit
Da die Anon GmbH aufgrund steigender Projektanfragen und größerer Aufträge wächst, entstand die Notwendigkeit, Erweiterungen an dem Tool zur Erfassung von Arbeitszeiten, vorzunehmen. Die Entwickler sind teilweise zeitgleich in mehreren Projekten im Einsatz, sodass eine Auswertung, wie sie bisher getätigt wurde, immer Aufwendiger und Fehleranfälliger ist.
Ziel
Das Ziel der Projektarbeit ist die Erweiterung und Optimierung der Abläufe zur Erstellung von Rechnungen. Gewünschte Erweiterungen beinhalten unter anderem das Aufsetzen einer Datenbank, das Integrieren und Verwenden der Projektinformationen in bzw. aus dieser Datenbank. Die Pflege und Interaktion mit dem Microservice soll über eine Weboberfläche stattfinden. Die Datenbank sowie der gesamte Microservice sollen sich auf einem Server befinden. Aufgrund der agilen Arbeitsweise der Anon GmbH, können sich weitere Kundenwünsche und Vorstellungen, im Laufe der Projektarbeit ergeben und somit hinzukommen.
Auftraggeber und Zielgruppe
Auftraggeber meiner Projektarbeit ist mein Ausbildungsbetrieb selbst, die Anon GmbH.
Zielgruppen sollen die Geschäftsführung, Buchhaltung sowie der Kunde der jeweiligen Projekte sein.
IST-Zustand
Zu Beginn meiner Projektarbeit ist der AnonProjekt Service auf dem Anon Server vorhanden. Hier werden die Arbeitszeiten der Mitarbeiter eingetragen und die Buchhaltung lädt die benötigten Informationen jedes Mitarbeiters, welcher an einem Projekt arbeitet, in Form einer Excel-Datei, herunter. Die Projektinformationen befinden sich in einer CSV-Datei, welche zur Generierung einer Abrechnung, verwendet werden. Die Excel-Datei muss manuell, über eine Weboberfläche, eingefügt werden, damit man eine Abrechnung erzeugen kann.
Details zu den gewünschten Erweiterungen
1. Ersetzen der CSV-Datei durch Implementierung einer H2-Datenbank, diese soll sich dateibasiert auf dem Server der Anon GmbH befinden.
2. Die bereits erfassten Projektinformationen sollen in die Datenbank importiert werden. Zukünftig zu erfassende Daten sollen über den von mir entwickelten Microservice eingepflegt werden können.
3. Nur Mitarbeiter, welche die Berechtigungen besitzen, sollen die Projektinformationen einsehen und pflegen können. Ebenso sollen nur Mitarbeiter der Zielgruppen die PDFs erzeugen können.
4. Die automatisierte Kontrolle des Build-Vorgangs soll ermöglicht werden.
5. Über Jenkins soll die Automatisierung von Prozessen ermöglicht werden.
6. Bei einem Fehlschlag der automatisierten Tests, sollen die verantwortlichen Programmierer, per Email kontaktiert werden.
7. Ein Zugriff auf den Service, soll ausschließlich über das interne Netzwerk, möglich sein.
8. Die Interaktion und Pflege mit dem Service, soll komplett über die Weboberfläche ermöglicht werden.
Projektdurchführung
Da ich mein Projekt nicht im laufenden Betrieb der Projektgruppen umsetzen (Tests schreiben, Programmierung implementieren, ändern, anpassen) kann, arbeite ich in einer, dem realen Umfeld entsprechenden Testumgebung. Die Anon GmbH arbeitet nach den agilen Methoden SCRUM und Kanban. Da ich meine Projektarbeit eigenverantwortlich durchführe, werde ich meine Arbeit nach der Kanban Methode umsetzen. Alle gewünschten Erweiterungen werden mir über ein Jira Ticketsystem in einem Anon Kanban Board mitgeteilt, hier wird auch der Projektfortschritt festgehalten und kontrolliert.
Für Hilfe und Rückfragen kann ich jederzeit Kontakt zu der Geschäftsführung oder meinen Mentoren aufnehmen. Aufgrund der aktuellen Corona Situation, werde ich meine Arbeit vom Home Office aus erledigen. Es steht mir ein Arbeitsplatz mit einem PC, zwei Bildschirmen, Maus und Tastatur zur Verfügung. Ebenso wurde mir von der Anon GmbH ein Notebook zur Verfügung gestellt, über welchen ich Zugriff auf das Firmennetzwerk, via VPN erhalte. Das Betriebssystem welches ich auf beiden Rechnern verwende ist Microsoft Windows 10 Pro x64. Die Projektdokumentation wird im Verlauf der Projektumsetzung konstant entwickelt.
Die Programmierung setze ich mit der IntelliJ IDEA 2021.3.1 (Ultimate Edition) um. Hierfür wurde extra von der Anon GmbH eine Lizenz gekauft.
Gewünschte und feste Vorgaben des Unternehmens sind beispielsweise, dass die Programmierung in der Programmiersprache Kotlin, realisiert wird. Ebenso soll das Open-Source-Framework Spring Boot verwendet werden. Als Build-Management-Automatisierungs-Tool soll Gradle genutzt und alle Integrations- & Unittests sollen mit JUnit5 geschrieben werden. Als Datenbank soll eine H2-Datenbank verwendet werden, für die Interaktion mit der Datenbank und den darin befindlichen Daten, wünscht man sich Hibernate und JPA.
4 Projektumfeld
Das AnonProjekt Projektverwaltungstool wird nach erfolgreichem Abschluss meiner Projektarbeit firmenintern sowie für Kundenprojekte verwendet. In der Zukunft soll mein Ausbildungsbetrieb, besonders die Bereiche Geschäftsführung und Buchhaltung, davon profitieren können.
5 Projektphasen mit Zeitplanung
1. Übernahme des AnonProjekt Projektes (9 Stunden)
1.1 IST-Analyse (5 Stunden)
1.2 Planung/Besprechung sowie Einweisung mit Mentoren (2 Stunden)
1.3 Anfertigung des Pflichtenheftes (2 Stunden)
2. Datenbank aufsetzen und implementieren Jira-Ticket PRS-1 (9 Stunden)
2.1 Aufsetzen und Implementierung der H2-Datenbank (9 Stunden)
2.2 Importieren aller Projektinformationen in die Datenbank
2.3 Erfolgreiche Tests zum auslesen und verwenden aller Funktionen sowie Projektdaten
2.4 Entfernen der bisher genutzten CSV-Dateien
3. Tests schreiben, Implementierung des Codes Jira-Ticket PRS-2 (37 Stunden)
3.1 Programmieren aller Unit- und Integrationstests (24 Stunden)
3.1.1 Erstellen von REST-Endpunkten, um Projekte hinzuzufügen, zu löschen, zu ändern und abrufen zu können
3.1.2 Erfolgreiche Unit- und Integrationstests für jeden Service, jede Funktion und jede Logik-Implementierung
3.2 Entwicklung und Anzeige des User-Interface Jira-Ticket PRS-3 (4 Stunden)
3.2.1 Erstellen einer Weboberfläche zur Pflege der Projekte
3.2.2 Projekte sollen tabellarisch angezeigt werden
3.2.3 Einbauen der REST-Endpunkte in die Tabelle
3.3 Automatisierung der Prozesse Jira-Ticket PRS-4 (9 Stunden)
3.3.1 Implementierung von Jenkins
3.3.2 Testing, Building, Deployment
3.3.3 Erfolgreiche Unit- und Integrationstests für Jenkins und jede Service-/Logik-Implementierung
4. Dokumentation (13 Stunden)
4.1 Projektdokumentation (10 Stunden)
4.2 Entwicklerdokumentation (2 Stunden)
4.3 Benutzerdokumentation (1 Stunde)
5. Abnahme (2 Stunden)
5.1 Wirtschaftlichkeitsbetrachtung
5.2 Abschluss und finale Abnahme des Projektes
5.3 Fazit
Projektphasen gesamt (70 Stunden)
6 Dokumentation zur Projektarbeit
Während die Entwickler- und Benutzerdokumentation zum Ende des Projektes erstellt werden, wird die Projektdokumentation kontinuierlich während des gesamten Projektes erstellt. Die Projektdokumentation untergliedert sich in:
IST-Analyse
Erfassung der Anforderungen (Pflichtenheft mittels Jira)
Aufsetzen und implementieren der Datenbank
Tests schreiben & Implementierung des Codes
Code Review mit Mentoren
Dokumentation
Abnahme
Der Projektfortschritt wird mittels Jira dokumentiert.
7 Anlagen
keine
8 Präsentationsmittel
Notebook/Laptop
Beamer