Hallo zusammen,
da die Abgabe meines Projektantrags bald bevorsteht, möchte ich euch bitten Kritik zu meinem Antrag abzugeben.
Besonders möchte ich die Fragestellung hervorheben, ob das von mir gewählte Thema für ein Abschlussprojekt ausreichend ist und ob allgemein ersichtlich ist, was mit dem Projekt umgesetzt werden soll.
Hier der anonymisierte Projektantrag:
ANTRAG FÜR DIE BETRIEBLICHE PROJEKTARBEIT
1. Projektbezeichnung
Erweiterung einer bestehenden Lösung zur Aufnahme von Bewerberdaten um die Funktion der Speicherung von mehreren Adressdaten eines Bewerbers beim Bewerbungs-und Verarbeitungsprozess einer Bewerbermanagementsoftware. Zudem würde ich gern wissen, ob es reicht, die Wirtschaftlichkeitsrechnung erst in der Doku anzugeben und gleichzeitig im Antrag erstmal nur einen Hinweis darauf, dass die Wirschaftlichkeitsrechnung nach Abschluss ausgeführt wird.
1.1 Kurzform der Aufgabenerstellung
Für die [Unternehmen] soll eine Lösung zur Speicherung von mehreren Adressdaten für einen Bewerber für die bereits vorhandene Bewerbermanagementsoftware implementiert werden. Hierzu wird in der UI (Weboberfläche) eine unkomplizierte und übersichtliche Möglichkeit für den Kunden zur Verfügung gestellt, pro eingegangenen Bewerber mehrere Adressdaten zu erfassen. Zudem wird einem Bewerber die Möglichkeit gegeben, beim Bewerbungsprozess mehrere Adressdaten anzugeben.
1.2 Projektumfeld
Die [Unternehmen] entwickelt und vertreibt intelligente Softwarelösungen für Personalmanagement mit über 80 Mitarbeitern in 3 Standorten am zentraleuropäischen Markt.
Die Entwicklungsabteilung von [Unternehmen] als Auftraggeber entwickelt unter anderem „[Software]“, was als Software-as-a-Service(SaaS) angeboten wird, für das Personalmanagement von namentlich nicht genannten Kunden auf Basis des Angular und ASP.NET Core Frameworks von Google und Microsoft.
In diesem Projekt, welches mir von [Ansprechpartner], meinem Ansprechpartner, zugewiesen wurde, wird die bestehende Softwarelösung verwendet und um oben genannte Funktion erweitert.
Als technischer Ansprechpartner steht [Technischer Ansprechpartner] und weitere Entwickler zur Verfügung. Das QA (Quality Assurance) Team, das die finale Version zusätzlich zu mir testen wird, setzt sich aus [Tester], [Tester] und [Tester] zusammen.
Das Projekt besteht aus Client-und Serversoftware, welche durch die Sprachen TypeScript (JavaScript) und C#, durch die Auszeichnungssprachen JSON und HTML(CSS) und die beiden oben genannten Frameworks realisiert wird, wobei die Entwicklung mit Hilfe eines Notebooks von HP (ProBook 6570b) mit Windows 10 von statten geht. Die Datenbank, die mit dem Server verknüpft ist, verwendet die Microsoft SQL Server Software.
Serverseitig wird Visual Studio 2017 und clientseitig Visual Studio Code und die Google Chrome Developer Tools zur Entwicklung herangezogen.
Aufgrund dessen, dass es sich hierbei um bereits vorhandene Software handelt, die um weitere Funktionen ergänzt wird, wird der Punkt Deployment nicht weiter erläutert und in die Zeitplanung mit aufgenommen, da das ganze vollständig automatisiert mit dem Pushen des Commits (meiner Änderungen) auf den Buildserver abläuft.
Entwickelt wird im Büro der Entwicklungsabteilung an meinem Arbeitsplatz.
1.3 Ist-Analyse
Aktuell können Kunden der Bewerbermanagementsoftware „[Software]“ in einer dafür vorgesehenen Weboberfläche einkommende Bewerbungen verwalten und mögliche Bewerber in die Bewerberliste mit aufnehmen. Anschließend haben sie derzeit die Möglichkeit, eine Adresse pro vorhandenen Bewerber festzulegen.
Nun gibt es allerdings einige Anfragen von Kunden, die die Software nicht zu ihrer vollsten Zufriedenheit nutzen können, da ihnen die Möglichkeit fehlt, mehrere Adressdaten eines Bewerbers aufzunehmen. Aufgrund dessen können sich potenzielle Mitarbeiter des Kunden auch nicht richtig bei den Unternehmen bewerben, was eventuell den Verlust von zukünftigen Mitarbeitern nach sich zieht.
Diese Tatsache zieht auch den Schluss mit sich, dass sich bestehende Kunden von der Bewerbermanagementsoftware lösen könnten, was einen finanziellen Verlust für das entwickelnde Unternehmen darstellen könnte, sollte es zu diesem unerwünschten Fall kommen.
2. Zielsetzung / Soll-Konzept
2.1 Wie soll der Zustand der Software nach Fertigstellung des Projekts aussehen?
Nach Fertigstellung des Projekts sollen Bewerber des Kunden eine Möglichkeit besitzen, in dem Bewerberportal der Bewerbermanagementsoftware mehrere Adressen beim Abschicken ihrer Bewerbung mit anzugeben zu können.
Zusätzlich sollen die Kunden selbst die Adressen unkompliziert und übersichtlich einsehen und bearbeiten können.
Da die Software aus zwei Teilen besteht, der eigentlichen Management-und Verwaltungssoftware, in der Kunden die Daten des Bewerbers einsehen und bearbeiten können und dem zweiten Teil, wo sich potenzielle Bewerber einen Überblick über die Jobangebote des Kunden verschaffen und infolgedessen eine mögliche Bewerbung abschicken können, müssen aufgrund dieses Sachverhalts beide Teile der Recruiting Software und das Backend (der Server) unter Beachtung der Eliminierung des möglichen Datenverlusts dementsprechend umgebaut und angepasst werden.
2.2 Welche Anforderungen müssen erfüllt sein?
Folgende Anforderungen sollen mit der Fertigstellung der Implementierung erfüllt werden:
- Übersichtliche und unkomplizierte Bearbeitung der vorhandenen Adressen
- Verbesserung der Bewerberquote durch funktionale Anpassung des Online-Bewerbungsprozesses
- Sicherung der Kundenzufriedenheit durch Beachtung der Kundenwünsche
- Einhaltung der internen Programmierstandards
2.3 Welche Einschränkungen sind zu beachten?
Aufgrund des weitrechenden Umbaus der Datenbankebene, auf der die Daten des Bewerbers gespeichert und verarbeitet werden und dem damit verbundenen Umbau der Bedienoberfläche ist zu beachten, dass Datenverlust nahezu 100%tig ausgeschlossen werden muss und die Kunden durch die Umstellung auf einen neuen Teil der UI ihrem gewöhnten Workflow trotzdem weitestgehend sorglos und ohne Probleme nachgehen können.
3. Projektstrukturplan
3.1 Was ist zur Erfüllung der Zielsetzung erforderlich?
Benötigt wird eine sorgfältige und durchdachte Planung der Datenbank-und Endanwenderebene, um das Risiko einer Fehlbenutzung zu minimieren und somit einen logischen Aufbau zu garantieren. Beim eigentlichen Entwicklungsprozess werden zudem auch Unit Tests eingesetzt, die zur Wahrung der Funktionalität essentiell sind. Das ganze Projekt wird mit Hilfe der Versionskontrollsoftware Git versioniert.
3.2 Auflistung der Aufgaben
Analyse
- Durchführung einer Ist-Analyse
- Wirtschaftlichkeitsanalyse sowie Amortisationsrechnung
- Hilfe bei der Erstellung des Lastenhefts
Entwurf
- Entwurf der Weboberfläche für den Kunden
- Entwurf der Erweiterung des Datenbankschemas
- Erstellung des Pflichtenhefts
- Erstellung eines Use-Case-Diagramms
Implementierung
- Implementierung des Datenbankkonzepts
- Umbau und Implementierung der neuen UI
- Implementierung der serverseitigen/clientseitigen Logik der Datenverarbeitung
- Implementierung der Unit Tests
Testen
- Testen des Programmablaufs der Bewerbung eines potenziellen Mitarbeiters und des Recruiters bei der Verarbeitung der Daten (White-Box-Test)
- Automatisierte Unit Tests für den Programmablauf
Dokumentation
- Erstellung der Entwicklerdokumentation
- Erstellung der Projektdokumentation
- Erstellung des Benutzerhandbuchs
4. Projektphasen mit Zeitplanung in tabellarischer und grafischer Ansicht
4.1 Diagramm in Prozent der verwendeten Stunden
Hier wäre ein simples Tortendiagramm der Zeiteinteilung
4.2 Tabellarische Ansicht in Stunden
Analyse
4
- Durchführung der Ist-Analyse (Ist-Stand des Aufbaus der Clients/Servers)
1
- Wirtschaftlichkeitsanalyse sowie Amortisationsrechnung
1
- Hilfe bei der Erstellung des Lastenheftes
2
Entwurf
9
- Entwurf der Weboberfläche für den Kunden
3
- Entwurf der Erweiterung des Datenbankschemas
2
- Erstellung des Pflichtenhefts
2
- Erstellung der Diagramme
2
Implementierung
34
- Implementierung des Datenbankkonzepts
4
- Implementierung und Umbau der Tabellen
2
- Implementierung der Beziehungen der Tabellen
2
- Implementierung der Geschäftslogik
30
- Implementierung der clientseitigen Logik (Webanwendung)
14
- Umbau der bestehenden UI auf das neue Konzept
7
- Einbau der neuen Programmlogik des Clients
7
- Implementierung der serverseitigen Logik (Server)
16
- Anpassung der Controller, Services und Repositories
16
Testen
10
- Testen des Programmablaufs der Bewerbung eines potenziellen Mitarbeiters
4
- Testen des Programmablaufs des Recruiters bei der Verarbeitung der Daten
4
- Testen mithilfe der Unit Tests
1
- Einweisung der QA Abteilung für Black-Box-Tests
1
Dokumentation
13
- Erstellung der Entwicklerdokumentation
2
- Erstellung der Projektdokumentation
9
- Erstellung des Benutzerhandbuchs
2
Gesamtzeit
70
Vielen Dank schon mal für eure Mühe.