Zum Inhalt springen

Projektantrag


geloescht_e.c

Empfohlene Beiträge

Hallo Zusammen,

ich bin gerade dabei meinen Projektantrag für die IHK Oldenburg zu schreiben. Ich weiß allerdings nicht, ob der schon ausgereift genug ist. Könntet ihr mal einen Blick drauf werfen und mir evtl. Verbesserungsvorschläge geben?

Danke schonmal im Vorraus!

1. Projektbezeichnung

Entwicklung einer Katalog-Software mit Anbindung an eine Produktdatenbank.

1.1 Kurtform der Aufgabenstellung / Kurze Projektbeschreibung

Ziel des Projektes ist die Entwicklung einer Katalog-Software, Anbindung dieser an eine zentrale Produktdatenbank und die Erstellung eines Generators für Produktkataloge.
(Hier bin ich mir nocht sicher!!!)

1.2 Ist-Analyse / Ausgangssituation

Der Kunde verwaltet deine Produktdaten bisher in Excel-Dateien, dadurch ist die Pflege der Daten (Vermeidung von Redundanzen, Beheben von bereits bestehenden Redundanzen, etc.) sehr schwierig und zeitintensiv. Durch das Verteilen der Produktdaten an Vertreter können Änderungen an den Produktdaten nur mit entsprechendem, unverhältnismäßig hohem Aufwand an die Vertreter weitergegeben werden. Der Aufwand setzt sich aus dem Zusammenführen aller vorhandenen Datenbestände der Vertreter, dem Ändern der eigentlichen Produktdaten und dem Neuverteilen an alle Vertreter zusammen.

2.1 - 2.3 Soll-Konzept / Zielsetzung entwickeln

Zur Behebung des o.g. Problems soll eine deutschsprachige Katalog-Software entwickelt werden. Diese Anwendung soll unter den Betriebssystemen Microsoft Windows XP und Microsoft Windows 7 lauffähig sein.

Die Produktdaten sollen in einer zentralen Datenbank gespeichert werden, um die Zeitersparnis im Vergleich zum bisherigen System realisieren zu können.

Zur Erstellung eines Produktkataloges soll die Möglichkeit geschaffen werden, einzelne Produkte / Produktvarianten (s.u.) zu markieren, um diese dann in den Produktkatalog übernehmen zu können. Die Ausgabe des Produktkatalogs erfolgt im PDF-Format.

Zur Erstellung des Produktkatalogs und der Ausgabe im PDF-Katalog wird ein sog. Reporting-Tool eingesetzt.

Die Katalog-Software soll weitergehend auch Funktionen zum Bearbeiten der Produktdaten bieten. Dies bedeutet im Einzelnen, dass über die Software neue Produkte angelegt und bestehende Produkte bearbeitet oder gelöscht werden können sollen. Wichtig dabei ist, dass bei den Produkten zwischen unterschiedlichen Varianten unterschieden werden kann. Produktvarianten zeichnen sich dadurch aus, dass sich bestimmte Merkmale unterscheiden (z.B. Abmessungen oder Farben).

Da die Bearbeitung der Produktdaten nur für bestimmte Personen möglich sein soll, wird eine Benutzerverwaltung in der Software integriert, welche Bestandteil des zu Grunde liegenden Komponenten-Frameworks ist. Das Framework kümmert sich um die Verbindungserstellung mit der Datenbank, dem Laden der Daten in den Arbeitsspeicher, die Benutzerverwaltung (Login, Laden von Benutzerrechten in die Anwendung, Bearbeiten von Benutzern) und stellt diverse Systeminformationen und Datenmanipulationsfunktionen zur Verfügung.

Die Produkte sollen frei definierbaren Produktkategorien zugeordnet werden können, wobei die Produktkategorien beliebig tief verschachtelt werden können sollen. Entsprechend soll die Anzeige der Produktkategorien in einer mehrstufigen hierarchischen Baumansicht erfolgen.

3.1-3.3 Projektstrukturplan entwickeln

Um eine performante Datenbank und logische Eingabemasken entwickeln zu können, müssen schon während der Analyse Beispiel-Produktdaten des Kunden vorliegen.

Analyse

Durchführung der Ist-Analyse

Entwicklung des Soll-Konzepts

Analyse der Beispiel-Produktdaten

Planung

Entwerfen der Datenbankstruktur

Gestaltung der Oberflächen

Implementierung

Erstimport der vorhandenen Daten

Erstimport der Produktdaten

Erstimport der Produktbilder

Erstellen eines ersten Prototypen

Erstellen der GUI

Implementieren der Produktbearbeitungsfunktionen

Implementieren einer ersten Druckfunktion für die

Produktkataloge

(Anpassung des Prototypen an Kundenwünsche)

Ausprogrammieren der Programmfunktionen

Testen der Anwendung

Entwicklertest

Kundentest

Dokumentation

4. Projektphasen mit Zeitplanung in Stunden

Phase 1: Analyse (6 h)

Durchführen Ist-Analyse (1 h)

Entwickeln des Soll-Konzepts (4 h)

Analyse der Beispieldaten (1 h)

Phase 2: Planung (6 h)

Entwerfen der Datenbankstruktur (3 h)

Gestaltung der Oberflächen (3 h)

Phase 3: Implementierung (48 h)

Erstellen der Datenbank (2 h)

Erstimport der Kundendaten (3 h)

Erstellen der grafischen Oberfläche (3 h)

Entwickeln der Kernfunktionalitäten (24 h)

Anlegen, Bearbeiten, Löschen von Produkten / Produktvarianten (6 h)

Anlegen, Bearbeiten, Löschen von Produktgruppen / Verschachtelung (5 h)

Produkt(-varianten)-Markierung und Erstellung Katalog (13 h)

Besprechung des Prototypen mit dem Kunden (3h)

Entwicklertests (7 h)

Fehlerbehebung (6 h)

Phase 4: Projektabschluss und Dokumentation (10 h)

Erstellen eines Benutzerhandbuchs (3 h)

Projektdokumentation (7h)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Frank,

das Framework ist bereits fertig entwickelt. Ich dachte, ich nenne es als Abgrenzung zu dem eigentlichen Projekt und stelle es als "Fremdleistung" heraus.

Die Software wird in Delphi geschrieben.

Ja, das Programm ist für den gleichzeitigen Mehrbenutzerbetrieb ausgelegt. Aber macht das einen Unterschied???

Gruß

Link zu diesem Kommentar
Auf anderen Seiten teilen

Naja, im Prinzip muss ich mich schon noch drum kümmern, dass ich die Daten bekomme. Das Framework erleichtert mir aber u.A. das Filtern der Daten und nimmt mir das Speichermanagement beim Halten der Daten im Arbeitsspeicher ab.

Es übernimmt halt noch andere Aufgaben, wie das Erzeugen des Hauptmenüs und das Aufrufen der Formulare zu den einzelnen Menüpunkten.

Gruß

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das sehe ich ebenso, wobei ich aber evtl das ganze aus der Richtung "modellbasierte Softwareentwicklung" sehen könnte und dann wäre das auch die Grundlage für ein Projekt.

siehe Modellgetriebene Softwareentwicklung ? Wikipedia

Wir reden ja hier über den "Präsentationsschicht" der Anwendung, wenn man die eben Tools wie Welcome to AndroMDA! oder openArchitectureWare ? Wikipedia einsetzt, dann wäre das durchaus - denke ich - brauchbar

Die Hauptlast der Stunden liegt ja in der Implementierung (48 h) und da speziell bei der Produkt(-varianten)-Markierung und Erstellung Katalog (13 h). Da nimmt mir das Framework ja nichts ab. Das muss ich noch komplett neu von der Pike auf programmieren.

Nein das ist so nicht korrekt. Wenn Du die Daten bekommst, dann kannst Du daraus auch einen XML Baum erzeugen und ihn via http://de.wikipedia.org/wiki/Xslt in http://de.wikipedia.org/wiki/Extensible_Stylesheet_Language_%E2%80%93_Formatting_Objects transformieren kann. Letzteres lässt sich sehr bequem in PDF dann umwandeln (eine Alternative zu XML wäre http://de.wikipedia.org/wiki/LaTeX )

Kombiniere ich das noch mit dem Modellbasierten Softwareentwicklung, dann kann ich das XML schon fast per Drag&Drop bzw das Template dafür erzeugen.

Bearbeitet von flashpixx
Link zu diesem Kommentar
Auf anderen Seiten teilen

Das Framework hat aber bei Weitem nichts mit MSE zu tun. Es erzeugt ja keinen Quelltext oder Ähnliches. Man kann es sich mehr wie das .NET vorstellen. Es stellt mir bestimmte Klassen zur Verfügung, die ich dann verwenden KANN.

Das ist genauso, als hätte ich eine Klasse, der ich die SQL-Anweisung übergebe und dann die Anweisung ausführen lasse. Nur dass diese Klasse schon besteht und ich das Rad dafür ja nicht neu erfinden muss.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das Framework hat aber bei Weitem nichts mit MSE zu tun.

Es geht nicht darum was das Framework macht, sondern wie Du Dein Projekt strukturiest, denn wenn als Ziel letztendlich ein PDF stehen soll, dann würde ich durchaus einen MBSE Ansatz nehmen, denn damit kann ich Layout und Content trennen und dann per Generator automatisch zusammenfügen lassen.

Das Layout kann ich z.B. Templatebasiert erzeugen, der Content sind dann die Aufrufe des Frameworks mit Parametern. Das ganze kann ich dann zu einem Code durch den MBSE Ansatz generieren lassen

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo flashpixx,

[...] denn damit kann ich Layout und Content trennen und dann per Generator automatisch zusammenfügen lassen.

Ja, so ähnlich funktioniert das auch. Aber dann dürfte man nicht unser Firmen-Framework als Framework für das Erzeugen des PDFs sehen, sonder müsste die Katalog-Software als Framework für das PDF ansehen.

Ich erkläre mal kurz, wie das mit dem PDF erzeugen bei uns so funktioniert: :D

Wir haben eine Komponente, nennt sich Report Builder, mit der ich quasi das Layout für das zu erzeugende PDF bestimme. Darin kann ich dann auch bestimmen an welchen Stellen z.B. Inhalte aus der Datenbank angezeigt werden sollen. Das kann ich aber auch noch per Hand machen, wenn ich z.B. in einem Datenbankfeld nur einen Foreign Key stehen habe, aber dort den entsprechenden Wert aus der anderen Tabelle stehen haben möchte.

Dieser Komponente kann ich dann eine Datenmenge zuweisen, aus der er dann den Report erzeugen soll. Die entsprechenden Daten muss ich mir aber vorher zusammenpuzzeln, damit ich dann meine Daten darstellen kann.

Wenn ich nun das PDF erzeugen möchte, mache ich noch ein bisschen Vorgeplänkel, wie z.B. Druckdatum und -uhrzeit setzen und z.B. das Kundenlogo an die entsprechend definierte Stelle im Report laden. Anschließend erzähle ich der Komponente, dass sie doch bitte den Report in ein PDF drucken soll und den Rest, also das Erzeugen, Komprimieren und Schreiben ins PDF übernimmt die Komponente dann für mich.

Also es ist teilweise ein Ansatz der MBSE. Nicht komplett, aber Trennen von Daten und Layout und dann quasi per Code zusammenführen. Das kommt schon hin. Vielleicht haben wir da auch nur aneinander vorbei geredet. Oder ich war zu doof zu kapieren, was du meintest ^^.

Gruß

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also es ist teilweise ein Ansatz der MBSE. Nicht komplett, aber Trennen von Daten und Layout und dann quasi per Code zusammenführen. Das kommt schon hin. Vielleicht haben wir da auch nur aneinander vorbei geredet. Oder ich war zu doof zu kapieren, was du meintest ^^.

Nein was DU beschreibst ist kein MBSE. Du hast

Framework <=> ???? <=> Report

Die ???? sollst Du ja zu Code ersetzen, d.h. das wäre Dein Projekt, d.h. aber auch, dass Du im Grunde die Präsentationsschicht entwickelst.

Und genau dort würde man mit der MBSE ansetzen, denn ich gehe mal davon aus, dass das Framework definierte Schnittstellen hat, aber diese ggf erweitert und verändert werden. Die Schnittstelle für den Report, da ihr ja ein festes Tool habt, ist von der Codeansteuerung wohl eher fest.

Über einen entsprechenden MBSE Ansatz kannst Du nun den ???? Code z.B. mit Hilfe von Templates genieren, so dass Du bei Anpassungen an dem Framework oder an der Reportschnittstelle sehr schnell den Code neu erzeugen kannst.

Link zu diesem Kommentar
Auf anderen Seiten teilen

denn ich gehe mal davon aus, dass das Framework definierte Schnittstellen hat, aber diese ggf erweitert und verändert werden.

Ja, richtig.

Die Schnittstelle für den Report, da ihr ja ein festes Tool habt, ist von der Codeansteuerung wohl eher fest.

Richtig. Man kann da zwar ein bisschen was dran ändern, aber das überlassen wir den Entwicklern von dem Tool ^^

Über einen entsprechenden MBSE Ansatz kannst Du nun den ???? Code z.B. mit Hilfe von Templates genieren, so dass Du bei Anpassungen an dem Framework oder an der Reportschnittstelle sehr schnell den Code neu erzeugen kannst.

Das klingt definitiv interessant!

Aber wenn wir einfach mal bei der Entwicklung von Individualsoftware bleiben und den MBSE-Ansatz außen vor lassen:

Was könnte man an dem Projektantrag oben noch ändern, damit der von der Kammer auch angenommen wird? Ich weiß, dass da noch die Nennung eines wirtschaftlichen Aspektes fehlt, ich weiß nur gerade nicht genau wo und wie ich den einbauen soll.

Könnt ihr mir da noch einen Tipp geben?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich weiß, dass da noch die Nennung eines wirtschaftlichen Aspektes fehlt, ich weiß nur gerade nicht genau wo und wie ich den einbauen soll.

Ich würde da wirklich den MBSE Ansatz anführen. Du würdest evaluieren in welchen Zeitabständen Du Änderungen am Framework oder an der Reportschnittstelle hast. Bei solchen Änderungen musst Du ja auch Deinen Code anpassen bzw. evtl müsste der Code auch kundenspezifisch sein.

Wenn Du nun das ganze Templatebasiert erzeugst, dann sind solche Anpassungen schnell gemacht, sprich Du verkürzt die Entwicklungszeit. Da Du Templatebasiert arbeitest ist die Fehleranfälligkeit niedriger. Theoretisch könntest Du die Schnittstelle zwischen Framework und Report sogar kundenspezifisch machen, d.h. Du hast ein Defaultprofil für das Template und ggf für einzelne Kunden spezielle Anpassungen.

Die meisten Tools bieten auch diverse Überprüfungen an, d.h. Du kannst dann direkt mit überprüfen, ob die Methoden-Calls richtig sind.

Ansonsten ist es ja etwas schwierig direkt einen wirtschaftlichen Aspekt da abzuleiten, denn klar man braucht die Schnittstelle, weil es sonst nicht funktioniert, aber einen direkten sichtbaren Nutzen sehe ich nicht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich würde da wirklich den MBSE Ansatz anführen.

Das Problem an dem MBSE Ansatz ist aber, dass hier in dem Unternehmen noch nie jemand was mit MBSE gemacht hat, ich also keine Unterstützung von meinen Kollegen (bzgl. Fragen) erwarten kann und ich weiß, dass mein Chef sich auf so "neue" Konzepte nicht einlässt, wenn die vorher noch nicht eingesetzt wurden. Und leider muss ich mich danach richten, was mein Chef sagt, weil wir nur ein kleines Unternhemen sind und die Software direkt an einen externen Kunden geht. Das ist keine unternehmensinterne Geschichte, wo es nicht so auf die Zeit bis zur Lauffähigkeit ankommt, sondern dass muss einfach direkt funktionieren. Und da ist leider kein Platz für "ich probiere das ganze mal mit nem neuen Ansatz". Er besteht da leider auf bewährte Konzepte...

Deswegen fragte ich nach Vorschlägen, die den MBSE-Ansatz vernachlässigen!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Deswegen fragte ich nach Vorschlägen, die den MBSE-Ansatz vernachlässigen!

Naja also fachlich glaub ich sind wir uns alle einig, dass Du die Schnittstelle braucht (ich sehe da auch von fachlicher Seite wenige Bedenken, dass es nicht okay wäre).

Ich weiß im Moment leider nicht, was man wirtschaftlich anführen kann, ohne die Schnittstelle ist die Software ja unvollständig. Was Du evtl machen könntest, aber dafür bräuchtest Du eben Einsicht in die Projektplanung, dass Du den MBSE Ansatz gegen Euren konventionellen Ansatz vergleichst.

Beim MBSE Ansatz müsstest Du ja Einarbeitungszeit / Schulung ggf Anschaffungskosten der Tools usw mit einrechnen, wenn Du dann wirtschaftlich günstiger mit der konventionellen Lösung bist, ist das ja okay.

Eine wirtschaftliche Betrachtung nur von einer Schnittstelle wird irgendwie schwierig

Link zu diesem Kommentar
Auf anderen Seiten teilen

Naja, man könnte doch zum Beispiel in einer Kosten-Leistung-Rechnung darstellen, in wiefern das neue System zum Gewinnzuwachs beitragen kann oder den Nutzenkoeffizienten beider Systeme errechnen und damit dann die wirtschaftlichkeit des Systems belegen.

Das sind die beiden Wirtschaftlichkeitsvergleiche, die wir bisher in der Schule kennengelernt haben. Ich durchforste aber auch nochmal meine Bücher nach anderen Methoden...

Aber sowas in etwa würde mir vorschweben. Ich weiß nicht, ob das so von der Kammer gewollt ist, aber da haben wir auch noch nicht wirklich viel gemacht. Und ich bin der erste Azubi hier in dem Unternehmen und mein Chef hat von dem Antrag auch kP.

Bearbeitet von geloescht_e.c
Link zu diesem Kommentar
Auf anderen Seiten teilen

Naja, man könnte doch zum Beispiel in einer Kosten-Leistung-Rechnung darstellen, in wiefern das neue System zum Gewinnzuwachs beitragen kann oder den Nutzenkoeffizienten beider Systeme errechnen und damit dann die wirtschaftlichkeit des Systems belegen.

Du entwickelst aber kein System, sondern Du entwickelst nur eine Schnittstelle. In Bezug auf Deinen ersten Antrag stimmt der ja nicht, denn Framework + Reporting sind fertige Komponenten, die Du einsetzt, d.h. aber die wirtschaftliche Betrachtung muss letztendlich auch um Deine Schnittstelle drehen. Du kannst nicht das komplette System evaluieren, weil es a) nicht Deine Arbeit ist und B) Du Dich damit nicht beschäftigst

Bei der Schnittstelle hast Du ja nur - in meinen Augen - zwei Möglichkeiten:

a) Schnittelle entwickeln

B) Schnittstelle nicht entwickeln

aus B) folgt, dass die Software unvollständig und damit nicht funktionsfähig ist, was letztendlich dazu führt, dass Du a) durchführen musst, aber wo kannst Du dann bitte irgendetwas gegeneinander abwägen, was eine sinnvolle wirtschaftliche Betrachtung rechtfertigt?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Da hast du natürlich Recht.

Also bleibt mir im Prinzip keine andere Möglichkeit als

a) MBSE-Ansatz oder

B) anderes Projekt ohne Framework.

Da sich Chef auf beides nicht einlassen wird, muss ich ihn von a) überzeugen.

Ich hab da zu a) mal ne Frage:

Kann man den mit der MBSE auch mehrere Formulare generieren lassen?

Ich kenne mich damit überhaupt nicht aus und wünsste nicht einmal wo ich da ansetzen müsste/könnte/sollte. Wie gesagt, da kennt sich hier keiner mit aus... :(

Link zu diesem Kommentar
Auf anderen Seiten teilen

Da sich Chef auf beides nicht einlassen wird, muss ich ihn von a) überzeugen.

Ich denke Du verstehst da etwas falsch. Du musst keinen MBSE Ansatz umsetzen, nur Du musst wirtschaftlich begründen, warum Deine Lösung für die Schnittstelle besser ist als ein anderer (eben z.B. einen durch MBSE generierten Code).

Und so etwas wird natürlich sicher im Gespräch dann gefragt werden und da zählt nun mal nicht das Argument "mein Chef will das nicht". Wenn Du z.B. evaluierst dass ein konventioneller Ansatz 3000 Euro kostet, ein MBSE Ansatz nur 500 Euro, dann ist eigentlich klar, was wirtschaftlich sinnvoller ist. Es kann natürlich auch umgekehrt sein, dann wäre eben der konventionelle Ansatz besser.

Es wird von Dir erwartet, dass Du für die Entwicklung der Schnittstelle eben mehrere Möglichkeiten aufzeigst und diese wirtschaftlich bewertest und Dich dann für die beste Lösung entscheidest und diese umsetzt. Wichtig sind die Begründungen, warum Du etwas machst

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ok, so genau hat mir das noch keiner erklärt.

Das lässt mich das ganze dann auch wieder aus einem ganz anderen Winkel betrachten. Ich soll nur mehrere, in Frage kommende Möglichkeiten betrachten und mich dann für eine entscheiden (natürlich am besten für die wirtschaftlichere :-) )...dann ist das ganze doch nicht soo schwer, wie ich dachte...

Jetzt muss ich nur wissen, ob und wie ich noch eine wirtschaftliche Betrachtung mit in den Projektantrag schreiben soll, bzw. ob ich an dem Antrag noch was verbessern kann...?!?

Danke schonmal, dass du mir da ein bischen die Augen geöffnet hast ^^

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...