SiTt Geschrieben 18. Januar 2010 Teilen Geschrieben 18. Januar 2010 (bearbeitet) Hallo zusammen, ich wollte mal fragen ob ich vielleicht ein kleines Feetback auf meinen Projektantrag bekommen könnte!? Ausbilder hat es abgesegnet, aber bin mir nicht sicher ob das so korrekt ausformuliert ist. Vielen Dank schonmal fürs rüberschauen Replikation mit MS SQL Server Standard und Compact Umstellung der Datenquelle der Desktopanwendung UNSER_PROGRAMM von MS Excel Tabellen auf eine MS SQL-Datenbank Aufgabenstellung: • Installation und Konfiguration eines MS SQL Servers SE (Standard Edition) • Import der Datenbanken aus den bestehenden Excel-Tabellen, ggfs. Normalisierung • Einrichten von MS SQL Server CE (Compact Edition) in CAPSpro, um die Synchronisations-Funktionen nutzen zu können • Anpassung des Quellcodes von UNSER_PROGRAMM auf die SQL-Datenbank als Datenquelle Ist-Analyse: Unser hauseigene Anwendung UNSER_PROGRAMM ist entstanden um unsere Vertriebsmitarbeiter bei der Auslegung unserer Produkte (Drehkolbenpumpen, optional mit Motoren) zu unterstützen. CAPSpro nimmt alle nötigen Berechnungen der Konfiguration automatisch vor und erstellt die entsprechenden Angebotsdokumente. Über die Jahre wuchs das Programm stetig an und wurde mit neuen Funktionalitäten und Konfigurationsmöglichkeiten der Drehkolbenpumpe immer umfangreicher. Die erste Version wurde ca. 2001 von Mitarbeitern der Konstruktion komplett in MS Excel entwickelt. 2006 folgte eine große Neustrukturierung des Codes in MS .NET, wobei es allerdings Vorgabe war, das Excel wenigstens als Datenquelle weiter verwendet werden sollte. Die Verarbeitung eben jener Tabellen macht die Ausführung des Programms aber sehr ressourcen- und zeitintensiv. Das Aktualisieren der Stammdaten über den zugehörigen FTP-Server ist auch unnötig aufwendig, da immer ganze Excel-Dateien ausgetauscht werden müssen, auch wenn sich nur ein Wert geändert hat. Das ist gerade für Außendienstmitarbeiter rund um den Globus störend, da sie nicht immer an die entsprechende Infrastruktur angeschlossen sind (Asien, USA, etc.). Soll-Konzept: Jeder UNSER_PROGRAMM-Benutzer weltweit kann auf die zentral verfügbare Datenbank online zugreifen und sich eine lokale Replik erstellen, die bei bestehender Internetverbindung automatisch mit den Daten auf dem Server synchronisiert wird. Durch die lokale Replikation der Daten ist es dem Mitarbeiter möglich auch beim Kunden vor Ort ohne Internetanbindung eine Kalkulation durchzuführen. Beispiel für dann mögliche Erweiterung von CAPSpro: Von den Mitarbeitern ausgefüllte Kundenfragebögen können direkt an den Server weitergeleitet werden, um eine zentrale Auswertung der Kundendaten zu ermöglichen. Als Datenbankmodell soll ein MS SQL Server SE (Standard Edition) als Hauptserver agieren. In die Anwendung wird der MS SQL Server CE (Compact Edition) eingebettet. Er ermöglicht die gewünschte Synchronisation und genügt allen anderen Anforderungen vollkommen, da er gerade für den Betrieb auf kleinen und mobilen Geräten konzipiert ist. Außerdem ist er frei erhältlich/verwendbar. Anforderungsanalyse: Wir suchten nach einer Lösung den PC-Ressourcenverbrauch und die Ladezeiten (FTP-Transfer und Programmstart) wieder auf ein vertretbares Maß zu verringern. Für zukünftige Erweiterungen von UNSER_PROGRAMM wäre es außerdem sehr hilfreich, wenn man auf einfachem Wege Informationen vom Client zum Server transportieren könnte. Das Programm muss auch weiterhin offline zur Verfügung stehen. Die Daten sollen dann bei einer bestehenden Internet-Verbindung automatisch aktualisiert bzw. mit dem Server synchronisiert werden, wobei der entstehende Datenverkehr auf ein Minimum reduziert werden soll. Entwicklungsumgebung: Anwendungstyp: Stand-Alone-Desktopanwendung mit eigener SQL-DB. Gewählte Programmiersprache: MS .NET Datenbanksoftware: MS SQL Server SE und Client-Replikationen auf MS SQL Server CE Entwicklungsumgebung: MS Visual Studio 2005 Projektphasen & Zeitplanung: Beschreibung der Tätigkeiten Stunden 1. Analysephase 1.1 Analyse des Ist-Zustands 1 1.2 Soll- Konzept erstellen 5 2. Designphase 2.1 Use-Case Diagramm erstellen 2 2.2 Erstellen eines Klassendiagramms 2 2.3 Erstellen eines ER-Modells 4 2.4 Entwurf eines Prototyps 2 3.Realisierungsphase 3.1 Erstellung der Datenbanken 8 3.2 Implementierung der Anforderungen 22 4. Testphase & Qualitätssicherung 4.1 Testfallkatalog erstellen 2 4.2 Tests durchführen 4 4.3 Fehlerbehebung 3 5. Abnahme 5.1 Einweisungen der Mitarbeiter 1 5.2 Abnahme der Software 1 6. Projektübergreifend 6.1 Dokumentation 9 6.2 Pufferzeiten für Fehlerbehebung etc. 4 ________________________________________________ Gesamtes Projekt 70 Projektumfeld: Die Applikation soll auch in Zukunft weltweit von den Tochtergesellschaften und Vertriebspartnern sowie natürlich auch von den Mitarbeitern in der Firmenzentrale unserer Firma zur Konfiguration und Berechnung der Kundenanfragen verwendet werden. Mehrsprachigkeit und Offline Modus sind erforderlich Hoffe auf reichlich Antworten... MfG SiTt Bearbeitet 18. Januar 2010 von SiTt Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 18. Januar 2010 Teilen Geschrieben 18. Januar 2010 Das hier "Installation und Konfiguration eines MS SQL Servers SE" ist nicht die Aufgabe eines FIAE, das sollte also raus bzw. der Verweis, dass es jemand macht, setze es als gegeben voraus. Ich tue mich etwas schwer mit dem Projekt. Denn wenn ich überlege, dass Du als IST-Zustand eine gewachsene Software hast, die völlig auf lokalen Exceldaten arbeitet innerhalb von 70 Stunden auf eine völlig neue Datenanbindung via MS SQL + eine lokale Replikation mit Synchronisation realisieren willst, die dann auch in den Produktiveinsatz gehen soll, finde ich das eigentlich für unmöglich. Wie kannst Du garantieren, dass Du zunächst sämtliche Excel-Strukturen innerhalb der DB abbilden kannst, die komplette Schnittstelle muss angepasst werden (im Moment geht das ja wohl über FTP). Auch die Synchronisation halte ich für schwierig, weil Du ja überlegen musst, wie Du synchronisiert, da der lokale Stand nach Erfassung eines neuen Auftrages sicherlich nicht identisch mit dem DB Stand ist. Eine Frage, die sich mir direkt in "Gewissen schreit", ist die Datensicherheit / Datenschutz. Wenn Der Ausdienstler eine "vollständige" lokale Replikation hat und das Notebook abhanden kommt, was ist dann mit den Daten. Genauso wie synchronisiert er seinen lokalen Stand über das INet mit der Datenbank (Stichwort Verschlüsselung / VPN) Also das ganze klingt schon interessant, aber ich halte es in dem Umfang nicht in 70 Stunden realisierbar Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SiTt Geschrieben 18. Januar 2010 Autor Teilen Geschrieben 18. Januar 2010 (bearbeitet) Hi flashpixx, danke erst mal für die schnelle Antwort ;-) Also was die Konfiguration des Servers angeht ist ja nicht so viel zu tun, also machen werde ich es selber, aber darauf muss ich dann ja nicht so explizit eingehen (Guter Einwand!) Vielleicht habe ich das nicht sonderlich gut rüber gebracht, muss das dann wohl noch mal abändern, aber in der Datenbank befinden sich KEINE Kundendaten, oder allgemein Personenbezogene Daten. Darin sind einzig und allein Werte, Maße, Preise von unseren Produkten und Drittanbietern,... etc hinterlegt. Also keinesfalls sensible Daten die geschützt gehören. So wird der Aussendienstmitarbeiter auch immer nur seine Aktualisierung von Server ziehen, aber nie selber aktualisieren, da Änderungen an dieser Stelle nur von uns (der Zentrale) durchgeführt werden. Das Zurücksenden der Kundenfragebögen soll parallel umgesetzt werden und wird wohl mit einer komplett eigenständigen DB von Statten gehen und auch dort werden nur Statistik-Daten gesammelt, a la "Was soll mit der Pumpe gemacht werden", oder "Welches Medium soll befördert werden". Also läuft der Datenabgleich quasi immer nur in eine Richtung. Dadurch ist natürlich auch eine Verschlüsselung nicht nötig, werde ich aber dennoch mal drüber nach denken! MfG SiTt Bearbeitet 18. Januar 2010 von SiTt Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Akku Geschrieben 18. Januar 2010 Teilen Geschrieben 18. Januar 2010 Das dieses Projekt wichtig ist und endlich in Angriff genommen werden muss, wird sicherlich kein PA bestreiten können. Dafür schon mal :cool: Du musst versuchen, den Aufwand geringer darzustellen. Ich stelle mir gerade vor meinem geistigen Auge 10 Excel-Tabellen mit jeweils 20 Formel vor. Davon sind zehn statistischer Natur. Da kommst du mit SQL evtl. ins schleudern. PL/SQL ist auch nicht. Der PA könnte das Projekt durchaus ablehnen, zumindest aber zur Überarbeitung zurück schicken. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SiTt Geschrieben 18. Januar 2010 Autor Teilen Geschrieben 18. Januar 2010 Ich stelle mir gerade vor meinem geistigen Auge 10 Excel-Tabellen mit jeweils 20 Formel vor. Davon sind zehn statistischer Natur. Da kommst du mit SQL evtl. ins schleudern. Also die Excel-Tabellen sind soweit sauber, dh. alle Daten stehen als Wert in den Zellen. Es gibt so gut wie keine Formeln, da diese durch deren Ergebniswerte ersetzt wurden um den Aufbau und auch Pflegeaufwand gering zu halten. Also muss ich im Prinzip "nur" alle Tabellen einmal anfassen und in eine DB umwandeln. Hab das auch schonmal testweise mit MS Access probiert, wobei die Import-Funktion von Excel einem die Sache schon fast zu einfach macht. Was SQL angeht muss ich mich nochmal schlau machen, aber da es auch von MS kommt mach ich mir in der Hinsicht eigentlich weniger sorgen. Ich habe mich auch für diese Thema entschieden, weil es, wie gesagt, schon einen produktiven Stellenwert hat und auch intensiv genutzt werden wird. Ich dachte, wenn so ein Projekt schon in diesen Zeitraum fällt... warum also nicht?! Was den Umfang angeht werde ich warscheinlich nochmal an meinen Formulierungen drehen, aber ein anderes, womöglich fiktives (VM oÄ) Projekt kommt eigentlich für mich nicht in Frage^^ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 18. Januar 2010 Teilen Geschrieben 18. Januar 2010 Also muss ich im Prinzip "nur" alle Tabellen einmal anfassen und in eine DB umwandeln. Dir ist schon klar, dass Excel keine Primär-Fremd-Schlüssel-Beziehungen beinhaltet? Und nur weil man "technisch" eine Excel-Sheet in einen MS SQL Server importieren kann, muss das noch lange nicht der 1. bis 3. Normalisierung entsprechen. Nur so als Hinweis, die Prüfer sehen recht schnell, ob Du es nur importiert oder Dir selbst Gedanken gemacht hast Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SiTt Geschrieben 18. Januar 2010 Autor Teilen Geschrieben 18. Januar 2010 (bearbeitet) Primär und Fremdschlüssel-Vergabe sollte nicht so aufwändig werden, da die Tabellen allegmein schon recht gut strukturiert sind. Natürlich werde ich an einigen Stellen eine Normalisierung vornehmen müssen, aber ich denke, dass ich innerhalb der veranschlagten 8 Stunden für die Erstellung der DBs auf jeden Fall zu einem guten Ergebnis kommen werde. Wie gesagt, habe ich alles (inkl. Normalisierung und schlüsselvergabe) schon in Access durchgespielt und das war auch an einem Arbeitstag gut zu schaffen. Aber ich lasse mich auch gerne eines besseren belehren, denn meine SQL-Erfahrungen halten sich in Grenzen... Also fleißig weiter kritisieren, dann wirds noch ein richtig gutes Projekt... PS: Werde dann bald mal eine überarbeitete Fassung hier posten Bearbeitet 18. Januar 2010 von SiTt Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Akku Geschrieben 18. Januar 2010 Teilen Geschrieben 18. Januar 2010 denn meine SQL-Erfahrungen halten sich in Grenzen... Das ist jetzt aber nicht so gut. Du stellst SQL in deinem Projekt in den Vordergrund. Du kannst davon ausgehen, das ich sehr genau deine Kenntnisse diesbezüglich abfragen würde. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SiTt Geschrieben 18. Januar 2010 Autor Teilen Geschrieben 18. Januar 2010 Ich werd mich ja auch noch intensiv damit befassen, in DB-Management allgemein und Access explizit würde ich mich schon als fortgeschritteneren Benutzer bezeichnen und dann sollte der Rest doch auch verständlich sein. Was Statements etc angeht hab ich ja auch schon erfahrungen gesammelt. Und wenn ich das Richtig verstanden hab isses ja auch wünschenswert sich im Projekt auch mal mit was neuem zu befassen. Wie gesagt, es ist ein reales Projekt, das auch vernünftig umgesetzt werden muss. Und so habe ich auch sofort gesagt, machen wir es mit SQL, alles andere is murks. Und auf Fragen im FG werde ich vorbereitet sein Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.