Guten Morgen!
Die IHK hat meinen Antrag leider mit der Begründung "Die eigene Leistung wird nicht klar genug dargestellt. Die Abgrenzung zu den anderen Projektteilnehmern ist nicht genau genug beschrieben. Bitte die eigene Leistung besser erläutern." abgelehnt und erwartet nun eine Überarbeitung.
Daraufhin habe ich meinen Antrag nochmal angepasst und versucht, genau dies herauszustellen, sowie die Einordnung in das Gesamtprojekt zu verdeutlichen.
Hier einmal die überarbeitete Fassung:
(nicht selbstständig durchgeführte Tätigkeiten sind zu unterstreichen)
1. Problembeschreibung (Ist-Zustand)
Die xxx ist die IT-Abteilung der xyz und entwickelt Software für
den internen Gebrauch.
Für die Ressourcenplanung der xxx ist es wichtig, die Tätigkeiten der Mitarbeiter zu
erfassen, dazu wird zurzeit die externe Softwarelösung "PHProjekt6" verwendet.
Diese bietet den Mitarbeitern der xxx die Möglichkeit, Zeiten zu einem bestimmten Projekt
zu erfassen und die Darstellung dieser in einer Tages- sowie Monatsübersicht. Des Weiteren
können die Zeiten im Adminbereich als Statistiken exportiert werden.
In PHProjekt6 ist die Pflege der Projekte sehr aufwendig und unflexibel, da sich nur Projekte mit
Unterprojekten anlegen lassen. Sie werden in einer nicht sortier- oder durchsuchbaren
Baumstruktur abgelegt. Somit sind nachträgliche Änderungen mit großem Suchaufwand verbunden.
Zudem ist der Detaillierungsgrad unzureichend für die Projektstruktur der xxx. Daraus
resultierend ergeben sich zu ungenaue Statistiken bei Langzeitprojekten.
Um bei kritischen Projekten die Tätigkeiten genauer zu erfassen, ist es deshalb nötig, diese
innerhalb der Projektteams zusätzlich in einer Excel-Liste zu pflegen.
2. Ziel des Projektes (Soll-Zustand)
Es soll eine neue Zeiterfassung in Form eines Webprojektes entstehen, welche die
Kernprobleme der alten Lösung beseitigt:
Das Projekt besteht aus:
- Benutzerverwaltung im Adminbereich sowie Authentifizierung über das Domänenkonto
- Planung der Datenbank und Erzeugung der Tabellen über Laravel-Migrations
- Zugriff auf die Datenbank mittels Pattern
- Erzeugung von Businessobjekten (Datenbankmodels)
- Verwaltung von Projekten, Produkten und Tätigkeiten im Adminbereich (GUI, Logik)
- Tages- und Monatsansicht sowie Erfassung von Tätigkeiten zu Projekten und Produkten
- Erstellen der Menüs, Grunddesign und Oberflächenkomponenten
Anstelle der bisherigen Struktur mittels Projekten und Unterprojekten, setzt
sich diese nun aus Tätigkeiten, Projekten und Produkten zusammen. Als Aktionen sollen Anlegen,
Bearbeiten, Deaktivieren und Löschen zur Verfügung stehen. Um die Tätigkeiten verwalten zu können,
muss eine Oberfläche erstellt werden auf der die vorhandenen Tätigkeiten tabellarisch aufgelistet
werden. Die Kommunikation zwischen Client und Server soll mittels Ajax realisiert werden.
Die vorhandenen Tätigkeiten können gelöscht, deaktiviert oder bearbeitet werden. Um die Intigrität
dieser Daten zu gewährleisten muss eine passende Validierung, Logikroutine (z.B. Abhängigkeits
prüfung beim Löschen / Bearbeiten) und Fehlerbehandlung realisiert werden. Bei den Aktionen Anlegen
und Bearbeiten muss beim Speichern z.B. auf Duplikate geprüft werden. Die eben genannten Aktionen
werden ebenfalls für Projekte und Produkte umgesetzt. Um die relevanten Daten der Zeiterfassung zu
persistieren, wird eine MSSQL Datenbank erzeugt. Außerdem werden die passenden Tabellen erstellt
um die notwendigsten Daten vorzuhalten. Diese werden als Schema mit dem Code First Ansatz in den
Laravel-Migrations definiert. Um mit den persisterten Daten arbeiten zu können, muss eine anwendungs-
weite, einheitliche Datenbankzugriffsmethodik, aufbauend auf dem Eloquent ORM des Laravel
Frameworks, erstellt werden. Dieses wird mittels der Patterns Repository und Unit-of-Work realisiert.
Zusätzlich werden benutzerdefinierte Methoden auf den Models erstellt, um z.B. Datumsformatierungen
(EN-DE) oder Mappings vorzunehmen.
3. Beschreibung des technischen Umfeldes
Allgemein:
PHP-Framework: Laravel 5
JavaScript-Library: JQuery
CSS-Framework: Firmenweit genutztes CSS Framework
Webserver:
Apache ab Ver. 2
Genutzte Technologien: PHP ab Ver. 5.6, JavaScript, CSS, HTML, SQL
Entwickler:
Betriebssystem: Windows 7
Datenbank: MSSQL ab Jahr 2010
Entwicklungsumgebung: PHP-Storm, Microsoft SQL Server Management Studio
Produktiv Webserver:
Windows Server
Produktiv SQL-Server:
Windows Server mit MSSQL Datenbankserver
4. Projektphasen (70 Std.)
Gespräch mit dem Auftraggeber bzgl. Problemen der aktuellen Projektverwaltung: 5h
Sichtung der Anforderungen: 2h
Entwicklung von Workflows und Oberflächenentwürfen: 6h
Abstimmung der Workflows und Entwürfe mit dem Auftraggeber: 2h
Erstellung des Datenbankdesigns: 2h
Einrichten der Frameworks: 1h
Entwicklung der Datenbankzugriffsmethodik: 11h (Models anlegen 5h, Einheitliches
Schema zum Werteupdate und Speichern 6h)
Implementierung der Verarbeitung von Projekten, Produkten, Tätigkeiten: 15h (Oberfläche 5h,
Speicher-Logik 6h, Deaktivierung/Aktivierung per Ajax 4h)
Realisierung der Validierung 7h
Projektdokumentation inklusive Entwickler- und Anwenderdokumentation : 11h
Kostenrechnung: 2h
Tests und Abnahme: 6h
Gesamtdauer: 70h
5. Darstellung der eigenen Leistung und ggf. Einordnung in das Gesamtprojekt
- Erstellen eines Anforderungsdokuments
- Gespräche mit dem Auftraggeber
- Erstellen des Pflichtenheftes
- Datenbankzugriffsmethodik über Repositories und Models für die gesamte Anwendung
- Datenbankplanung einer flexiblen Struktur basierend auf Projekten, Produkten und Tätigkeiten
inklusive dem ER-Modell
- Datenbankerstellung mittels Schemendefinitionen über Laravel-Migrations
- Implementierung von Modelmethoden zur Formatierung der Daten
- Implementierung von Geschäftslogik (Vollständigkeit, Prüfung von Abhängigkeiten)
- Erstellung der Oberflächen für die Verwaltung von Projekten, Produkten und Tätigkeiten
- Implementierung von Validatoren (Duplikate, Leereinträge, falsches Format)
- Erstellung passender Fehlertexte
- Entwickler-, Anwender, und Projektdokumentation
- Testen der implementierten Methoden durch Unit- und Blackbox-Tests
Ist nicht gerade mit den unter 5. dargelegten Punkten die eigene Leistung ausreichend dargestellt?
Vielen Dank für eure Hilfe!