PrivaterFrickler Geschrieben 24. Januar 2019 Geschrieben 24. Januar 2019 (bearbeitet) Guten Tag, Nach ein paar firmeninternen iterationen des Projektantrags, bin ich nun so weit, dass ich nicht mehr weiß, was noch fehlen könnte. Präziser wünsche ich Kritik mit Verbesserungsvorschlägen 1. Projektbezeichnung Beginn der Neuentwicklung der firmeneigenen [Softwarelösung]. 1.1 Kurzform der Aufgabenstellung Die aktuelle << FIRMA >> [Softwarelösung] soll zukünftig durch eine Neuentwicklung abgelöst werden. Als Anfang werden eine Normalisierungsstrategie für Datensätze, eine Datenbankanbindung für die zu speichernden Daten und die Ein- und Ausgabe von Suchanfragen und Datensätzen entwickelt. Ziel der Neuentwicklung soll eine Cloud-Kompatible Alternative zu der bisherigen [Softwarelösung] werden. Das Projekt soll als Start der Neuentwicklung dienen und eine Basis für die benötigten Weiterentwicklungen schaffen. 1.2 Ist-Analyse Die << FIRMA >> bietet eine [Softwarelösung] für die Überprüfung von [Daten]. Dafür werden [verschiedene Validierungsdatensätze] verwendet. Der Kunde kann sich Statistiken zu den Treffern ausgeben lassen und Berichte als E-Mail zugesandt bekommen. Die aktuelle Softwarelösung bietet nur begrenzte Möglichkeiten zur Fernwartung, weshalb die Aktualisierung von verwendeten [Validierungsdatensätzen] in händischer Nacharbeit, sowohl auf der Seite des Klienten als auch auf der des Servers, endet. Dazu kommt, dass sowohl bei der Klienten- als auch Serveranwendung sehr viel Wert auf Optik gelegt wurde, obwohl die Anwendungen im Regelfall nicht direkt von den Kunden verwendet werden, sondern über Schnittstellen mit anderen Anwendungen, wie zum Beispiel der firmeneigenen [Software] „<< SOFTWARE NAME >>“. Darüber hinaus besitzt die aktuelle Klienten-Anwendung keine normalisierte Datenstruktur für die verschiedenen [Validierungsdatensätze] und einige Fehler, wie zum Beispiel Speicherlecks, welche dazu führen dass die Anwendung abstürzt. Die aktuellen Klienten- und Serveranwendungen werden auf den kundeneigenen Servern ausgeführt und müssen bei Problemen mit Hilfe von Fernwartungssoftware überprüft und ggf. neugestartet werden. 2. Zielsetzung entwickeln / Soll-Konzept 2.1 Was soll am Ende des Projektes erreicht sein? Das Projekt soll in der Programmiersprache C# geschrieben werden und als Basis für eine zukünftige Weiterentwicklung, bzw. Fertigstellung dienen. Dabei soll auf das „DotNet Core“-Framework gesetzt werden, welches eine Neu-Implementation des „DotNet“-Frameworks von Microsoft ist. Daten von verschiedenen [Validierungsdatensätzen] sollen in einem normalisierten Format in eine Datenbank eingetragen werden. Für das Speichern und Abfragen der Daten soll ein Datenbankserver verwendet werden. Dabei soll das von Microsoft entwickelte „Entity Framework Core“ eine sichere und einheitliche Möglichkeit der Persistenz, sowie eine einfache Austauschmöglichkeit für das zugrundeliegende Datenbank-System bereitstellen. Die Ein- und Ausgabe von Datensätzen soll in mehreren Formaten möglich sein. (z.B. JSON, CSV, XML) 2.2 Welche Anforderungen müssen erfüllt sein? Die neue Softwarelösung soll Teile der Aufgaben der bisher vorangegangenen Lösung übernehmen können. Hierzu gehört das Einlesen und Normalisieren von [Validierungsdatensätze] , die Anbindung an einen Datenbankserver, sowie die Eingabe von Suchbegriffen und Ausgabe von Ergebnissen. Die für die Überprüfung verwendeten [Validierungsdatensätze] müssen regelmäßig aktualisiert und für die weitere Verarbeitung normalisiert werden. Es muss ein Server für das Bereitstellen der Softwarelösung sowie des Datenbanksystems vorhanden sein, dieser muss in der Lage sein, die Anzahl der zusammengezählten, aktuellen Abfragen zu beantworten. Bei Entwurf und Programmierung der Software sollte auf horizontale Skalierbarkeit hinsichtlich der zu verarbeitenden Datenmenge, sowie der Menge an Anfragen geachtet werden. 2.3. Welche Einschränkungen müssen berücksichtigt werden? Durch die Verwendung des „DotNet Core“-Frameworks ist die Anwendung zu einigen älteren Betriebssystemen nicht kompatibel (Windows Versionen vor Windows 7, sowie einige Unix-basierte Betriebssysteme). Durch das Ziel die Anwendung Cloud-basiert auszuliefern, wird von den Klienten eine aktive Internetverbindung benötigt. Bei zu vielen Anfragen könnte das System überlastet werden und bei Ausfall des Servers kann die Anwendung nicht weiterverwendet werden. 3. Projektstrukturplan entwickeln 3.1 Was ist zur Erfüllung der Zielsetzung erforderlich? Zugang zu [Validierungsdatensätzen] in einem von Maschinen lesbaren Format. Programmierung der Softwarelösung Erfolgreiche Implementation der Softwarelösung Kontrolle der Arbeitsschritte 3.2 Hauptaufgaben Analyse der Anforderungen sowie möglicher Lösungsansätze Entwurf der Projektstruktur Programmierung der Softwarelösung Tests der Softwarelösung Ggf. Nachbesserungen Erstellung der Dokumentation 3.3 Teilaufgaben Entwurf einer Durchführbarkeitsstudie Erstellung eines Pflichtenhefts Entwurf des Datenbank Schemas Entwurf der Eingabe- und Ausgabeformate Überprüfung der vorhandenen Prüflogik (ggf. optimieren) Entwurf einer Normalisierungsstrategie für verschiedene Quellformate Erstellung des C#-Projekts mitsamt der Struktur Programmierung der Ein- und Ausgabe von Daten Programmierung der Datenbankanbindung Testen der einzelnen Programmteile Das Erstellen der Projektdokumentation Testen des Gesamtprodukts 3.4 Grafische und tabellarische Darstellung << TORTENDIAGRAMM >> 4. Projektphasen mit Zeitplanung in Stunden 6.0 Stunden – Entwurf einer Durchführbarkeitsstudie 6.0 Stunden – Erstellung des Pflichtenhefts 2.0 Stunden – Entwurf der Projektstruktur 8.0 Stunden – Entwurf einer Normalisierungsstrategie für verschiedene Quellformate anhand von Testdaten 4.0 Stunden – Entwurf des Datenbankschemas 3.0 Stunden – Entwurf der Eingabe- und Ausgabeformate 3.0 Stunden – Erstellen des C#-Projekts mitsamt der Struktur 4.0 Stunden – Überprüfung der vorhandenen der Prüflogik (ggf. optimieren) 2.0 Stunden – Testen der Prüflogik anhand von Testdaten 8.0 Stunden – Programmierung der Ein- und Ausgabe 2.0 Stunden – Testen von Ein- und Ausgaben anhand von Testdaten 4.0 Stunden – Programmierung der Datenbankanbindung 2.0 Stunden – Testen des Speicherns und Abrufens von Datensätzen 4.0 Stunden – Erstellung der Projekt-Dokumentation (während/zwischen den Iterationen) 3.0 Stunden – Erstellung der Kunden-Dokumentation (während/zwischen den Iterationen) 2.0 Stunden – Erstellung der Code-Dokumentation (während/zwischen den Iterationen) 6.0 Stunden – Tests des Gesamtprodukts auf verschiedenen Systemen ____________ 70.0 Stunden – Gesamtes Projekt Bearbeitet 24. Januar 2019 von PrivaterFrickler Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.