Das Notes Forum
Sonstiges => Offtopic => Thema gestartet von: gs3rr4 am 01.03.12 - 13:21:46
-
Hallo liebe Notes Profis! ;)
Ich bin Student der Wirtschaftsinformatik und bereite z.Z. meine Bachelorarbeit vor, welche ich in einem Großunternehmen schreiben werde.
Ich habe leider noch keine großen Erfahrungen mit Datenbanken sammeln können und brauche daher Einschätzungen, Tipps und Literaturhinweise von erfahrenen Usern.
Hier mal eine kurze Beschreibung der Situation:
Das Controlling des Unternehmens muss Projektdaten aus den einzelnen Fachabteilungen sammeln, überprüfen und dann in ein Excel-Sheet(1) übertragen. Die Struktur dieser Tabelle ist festgelegt und wird zu einem späteren Zeitraum in eine Lotus Notes-Anwendung übertragen. In dieser Tabelle werden komplexe Berechnungen durchgeführt.
Die Erfassung der Daten, welche aus den Fachabteilungen kommen, werden ebenfalls durch eine Excel-Tabelle(2) erfasst. Die Übertragung der Daten in das Excel-Sheet(1) wird manuell ausgeführt.
Die Projektdaten werden später für Auswertungen benötigt. Problematisch ist, dass wenn sich z.B. der Preis eines Einzelteils ändert, die Daten aller Tabellen angepasst werden müssen. Danach muss eine neue Berechnung ausgeführt werden. Es wird eine Lösung angestrebt, in welcher an einer Stelle der Preis geändert wird und dann automatisch alle Projekte dem neuen Stand angepasst werden. Eine Datenbank würde dieses Problem lösen.
Es sollte unproblematisch sein Masken zu erstellen, über welche die Fachabteilungen die Daten in die Datenbank übertragen. Diese Daten können dann über eine Exportfunktion in das Excel-Sheet(1) übertragen werden. Ich habe zwar noch wenig Erfahrung im Bereich Datenbanken, aber bis hier hin kann ich mir alles sehr gut vorstellen.
Im nächsten Schritt müssen nun die Berechnungen erfolgen. Die Frage ist, in welchem Umfang man komplexe Berechnungen in einer Datenbank ausführen kann. Eine Überlegung wäre, die Daten einfach in die Tabelle zu übertragen und dort die Berechnung auszuführen. Im Anschluss kann man die berechneten Werte an die Datenbank zurück geben. Ich bin mir aber nicht sicher, ob dies automatisiert werden kann. Besser wäre es, wenn man die Berechnungen in der Datenbank realisieren könnten.
Ein weiterer Anspruch ist, dass Veränderungen getrackt werden. Optimal wäre sogar, wenn eine Versionierung implementiert werden könnte. Also immer wenn es eine Änderung an einem Projekt gibt, soll möglich der alte Stand gesichert werden.
Ein Paar Aspekte, welche zu diesem Zeitpunkt jedoch noch sekundär sind:
- Einfache Erweiterbarkeit
- Geringer Aufwand bei der Benutzerverwaltung - Vorhandene Konten Nutzen (Windows-, SAP- oder Lutos Notes-Kennung nutzen)
- Flexibilität bei der Datenauswertung und den Berichten (Möglichst Excel basiert, da mit den Ergebnissen gearbeitet werden soll)
Die grundlegenden Fragen die sich für mich stellen sind:
- Ist ein solches Projekt realisiertbar?
- Falls ja, in welchem Zeitrahmen? (Ich habe ca. 3 Monate Zeit)
Mir würde jeder kleine Ratschlag oder Hinweis helfen!
Vielen vielen Dank an jeden einzelnen, der sich alles durchgelesen hat!
lg
gs3rr4
-
Also: Lotus Notes/Domino ist für eine solche Anforderung sicher nicht erstes Mittel der Wahl (und ich entwickle seit 1995 Notes- Datenbanken).
Alles was Du angefordert hast, lässt sich mit mehr oder weniger Aufwand in Lotus Notes umsetzen.
Ein erfahrener Programmierer würde hierzu -mal über den Daumen geschätzt- 5-7 Manntage benötigen. Dabei müsste er folgende Dinge beherrschen:
- Datenbank- Design generell (Masken, Ansichten, Rahmengruppen, Seiten, etc)
- Formelsprache für alle Berechnungen innerhalb einer Maske
- LotusScript für die automatische Aktualisierung von Dokumenten, wenn sich die Stammdaten ändern und für komplexere Berechnungen.
- Com / OLE- Programmierung für die Fernsteuerung von Excel
- Tiefe Systemkenntnisse über Vorgänge innerhalb von Notes- Datenbanken
Wenn Du Dich also nicht die vollen drei Monate komplett um das Thema (und nur darum) kümmern kannst, und nicht einen Mentor hast, der sich in der Notes- Programmierung sehr gut auskennt, dann wirst Du das nicht hinkriegen, weil diese Aufgabe auch für einen erfahrenen Programmierer mehr als eine Stolperfalle bereit hält...
-
@OP
Hast du denn generell schon Programmiererfahrung? Bestensfalls mit mehreren Programmiersprachen?
Falls nicht, kannste es knicken. Erfahrung ist eben Erfahrung...
Kann sonst Tode nur zustimmen, bei anderen Entwicklungssystemen müsste man aber dann eine Benutzerverwaltung noch einbauen, das bringt Lotus Notes ja schon mit. COM / OLE birgt auch manchmal Gemeinheiten...
In 3 Monaten als jmd. ohne oder wenig Erfahrung schwer zu schaffen.
Grüße
Gutierrez
-
Also, ich sehe das nicht ganz so schwarz. M.E. ist das stark vom Umfeld (also GUTER Unterstützung aus dem Unternehmen) und den eigenen Fähigkeiten (womit ich nicht Erfahrung, sondern in erster Linie Logik und Herangehensweise meine) abhängig.
Wichtig bei solchen Projekten erscheint mir die Konzentration auf das Wesentliche, den allgemeingültigen Knackpunkt, zu sein. Hat man den gefunden, und baut sich darum eine saubere Linie auf, ist das zu packen.
Viele Projekte scheitern an dem vielen Klein-Klein, weil eben nicht strukturell sauber herangegangen wird.
Schau Dir das Umfeld genau an, sind dort Leute, denen Du zutraust, dass die das strukturell auf die Reihe kriegen, haben die Zeit für Dich, kommst Du mit denen klar? Hast Du andere Unterstützer, Professoren o.ä.?
Wenn die da heute mit irgendwelchen Exceltabellen herumfummeln, in denen es nicht möglich ist, saubere Preise eindeutig zu hinterlegen (das kann Excel natürlich auch, man muss es nur wollen -> sicher einer der Knackpunkte), muss das nicht gegeben sein, denn dann bräuchten die das Projekt nicht.
Also zusammengefasst: Ich sehe die Herausforderung primär in der Struktur, weniger in der Umsetzung, packst Du das und hast Unterstützung bei der Umsetzung, halte ich das für machbar.
-
Danke für euer schnelles Feedback!
Das es schwer wird kann ich mir vorstellen. Ich habe die Programmieren Vorlesungen (Java) ohne Probleme verstanden und bestanden. Wir haben allerdings nicht so viel programmiert, es ging dort vorallem ums Verständnis.
Unterstützer habe ich, allerdings nur "wenig". Der lokale IT-Manager und 2 Controller helfen mir von Unternehmensseite her. Von der IT her bestehen allerdings keine so tiefgreifenden Kenntnisse. Ich müsste mir das Wissen also selber aneignen.
Grundsätzlich ist mir erstmal wichtig zu klären ob es realisierbar ist (was der Fall zu sein scheint) um dann die Vor- und Nachteile der zwischen MSSQL und Lotus Notes herauszuarbeiten. Bisher bin ich um ehrlich zu sein davon ausgegangen, dass es in Lotus Notes schwer bis garnicht realisierbar ist. Die einfache Formeln okay, aber ich muss den "internen Zinsfuß" berechnen und zwar mit einer iterativen Formel.
Ausserdem dachte ich nicht, dass man mit Notes eine realationale Datenbank erzeugen kann.
Könnt ihr mir Literatur-Tipps geben wo ich Vor- und Nachteile oder sogar Vergleiche zu anderen Datenbanken herausarbeiten kann?
Wie muss ich mir das Erstellen der Datenbank vorstellen? Ich habe bisher nur mit Access gearbeitet. Gibt es eine Oberfläche oder wird alles per Code-Zeilen eingegeben?
lg
gs3rr4
-
Notes ist keine relationale Datenbank.
Grüße
Gutierrez
-
Ausserdem dachte ich nicht, dass man mit Notes eine realationale Datenbank erzeugen kann
Notes und MySQl zu vergleichen wäre Bananen mit Gurken zu vergleichen.
Nein, Notes ist keine relationale Datenbank, kann aber auf relationale Datenbanken zugreifen.
Dazu muss man auch gar nicht mit XPages ( Javascript, Managed Beans ) programmieren, hätte aber seinen Reiz.
Hier muss ich aber gleich bremsen und anmerken, daß dies den Umfang der Arbeit bei weitem sprengen würde. ( = ist in 3 Monaten nicht zu schaffen ).
aber ich muss den "internen Zinsfuß" berechnen und zwar mit einer iterativen Formel
JAVA hast du gelernt; von daher macht das keine Probleme. Java kannst du in Notes verwenden.
Wie muss ich mir das Erstellen der Datenbank vorstellen? Ich habe bisher nur mit Access gearbeitet. Gibt es eine Oberfläche oder wird alles per Code-Zeilen eingegeben?
Es gibt da schon gewisse Ähnlichkeiten. Auch in Notes gibt es Objekte mit Methoden und Eigenschaften.
-
...Ausserdem dachte ich nicht, dass man mit Notes eine realationale Datenbank erzeugen kann.
...
Man kann auch in Notes mit relationalen Strukturen arbeiten, muss die aber selbst managen. Damit hat man dann sowohl die Vorteile der dokumentbasierten Datenbank und der relationalen. Es kommt halt immer darauf, was man braucht. M.E. kann man mit Notes alles machen, wenn mans kann, es ist aber wirklich anders als alles andere und damit nicht leicht für jemanden, der nicht in Notes denkt ...
-
Ich denke, einer der Knackpunkte, den man verinnerlichen muss, lässt sich mit einem Satz beschreiben: Notes ist "Ansichtssache".
-
also GUTER Unterstützung aus dem Unternehmen
Halt ich für sehr unwahrscheinlich. Wenn die so ein weites Feld an einen Studenten geben, der ja noch über seine Aktivitäten feinakademische Prosa produzieren soll, dann würde ich davon ausgehen, dass die sich nicht mal selber helfen können.
Wichtig bei solchen Projekten erscheint mir die Konzentration auf das Wesentliche, den allgemeingültigen Knackpunkt, zu sein. Hat man den gefunden, und baut sich darum eine saubere Linie auf, ist das zu packen.
Die Aufgabenstellung ist aber eben nicht konzentriert sondern gestreut.
Viele Projekte scheitern an dem vielen Klein-Klein, weil eben nicht strukturell sauber herangegangen wird.
Ja, aber das ist kein "greenfield"-Projekt. Das ist mega-brownfield. Weite Teile der Geschäftslogik einer vermutlich komplexen Geschäfts-Domäne sind in fragwürdigen Datenstrukturen in den Excel Files vergraben, die vermutlich die Bediener selbst nicht mehr anrühren.
Schau Dir das Umfeld genau an, sind dort Leute, denen Du zutraust, dass die das strukturell auf die Reihe kriegen, haben die Zeit für Dich, kommst Du mit denen klar? Hast Du andere Unterstützer, Professoren o.ä.?
Ja und Du mußt es nicht machen.
Natürlich wär das eine gute Vorbereitung für die reale Welt. Leute, die in so einen Laden reingehen und am Ende da wirklich etwas hinbiegen, sind natürlich hoch gefragt und mega-mässig vergütet. Teilweise fehlen denen dann mit 35 ein inneres Organ wg. Stress, muss aber nicht sein. Überlegs Dir wirklich gut.
Das hat wirklich nicht mal was mit Notes zu tun. Das kann einfach von der ganzen Ausgangslage ein echter Drache sein.
-
Unterstützer habe ich, allerdings nur "wenig". Der lokale IT-Manager und 2 Controller helfen mir von Unternehmensseite her. Von der IT her bestehen allerdings keine so tiefgreifenden Kenntnisse. Ich müsste mir das Wissen also selber aneignen.
Wer soll das System eigentlich später betreuen und wer setzt dann Änderungswünsche und Erweiterungen um nachdem du fertig bist ? Die interne IT scheint es ja nicht zu können.
Wie sieht die IT Struktur aus, gibt es schon SQL Server im Unternehmen ? Gibt es entwickelte Notes Datenbanken oder wird Notes nur als Email System genutzt ?
Die Anforderungen die du jetzt hast nur die Spitze des Eisberges sein, und im Laufe des Projektes wird da noch sehr viel mehr dazu kommen. Lade dir von der IBM Seite mal den Domino Designer runter und schau dir die Hilfe dazu an (gibt es dort kostenlos) um eine erste Übersicht über die Notes Entwicklung zu bekommen.
Darstellen kannst du im Notes weitestgehend alles was du auch mit Visual Basic und Java machen kannst. Masken und Ansichten lassen sich relativ einfach mit vorgefertigten Elementen zusammenklicken. Bei sehr großen Datenmengen ist SQL erste Wahl, wenn es mehr um die
Zusammenarbeit der Mitarbeiter untereinander geht Notes. Es gibt Hilfstools wie den Swing Integrator um Daten aus Notes Feldbasiert nach Excel zu schieben.
Im Zweifelsfall und wenn es in die Unternehmensstruktur passt solltest du das nehmen womit du dich am besten auskennst.
-
Es gibt Hilfstools wie den Swing Integrator um Daten aus Notes Feldbasiert nach Excel zu schieben.
Das kann man auch selber machen mit http://poi.apache.org/
-
Etwas Offtopic:
Das Controlling des Unternehmens muss Projektdaten aus den einzelnen Fachabteilungen sammeln, überprüfen und dann in ein Excel-Sheet(1) übertragen. Die Struktur dieser Tabelle ist festgelegt und wird zu einem späteren Zeitraum in eine Lotus Notes-Anwendung übertragen. In dieser Tabelle werden komplexe Berechnungen durchgeführt...
Wer schreibt eigentlich solche Anforderungen?
Ich beginne mit einem Tool, welches sehr flexibel aber wenig steuerbar (aus IT-Leistungssicht) ist : Excel.
Sätze wie: wird zu einem späteren Zeitraum in eine Lotus Notes Anwendung übertragen
kenne ich, wir hier alle. Zu diesem Zeitpunkt ist das Kind üblicherweise bereits in den Brunnen gefallen - es gibt sagen wir mal 25 bekannte und 100 unbekannte Varianten des Excel Sheets, alle mit unterschiedlichen "Datenmodellen"
Und weiterhin stellt sich die Frage: Warum soll das ausgerechnet nach Notes übertragen werden - sicherlich für vieles Tool der Wahl aber für Rechenaufgaben?
Am Ende kommt eine vollkommen vermurkste Anwendung raus, die wahnsinnigen manuellen Aufwand in der Wartung verursacht und wieder Anwender in die "Notes ist scheiße" Fraktion zieht.
Eigentlich sollte man solche Projekte ablehnen, weil:
Wenn der Umfang der Anwendung zu Beginn auch nicht annähernd klar ist kann ich kein Datenmodell erstellen.
Mit Excel als Frontend kann nicht/kaum sichergestellt werden, dass das Datenmodell eingehalten wird
Wegen des 'Shit in shit out Prinzips' verläuft der Rest der Lebenszeit der Anwendung entsprechend.
Ohne jetzt die Details zu kennen: Alles was mit Berechnungen von Finanzwerten zu tun hat, sollte in relationalen Systemen abgelegt werden - das bietet sich einfach an.
Wenn ich am Ende ohnehin da ende, kann ich auch gleich da anfangen. Wenn es unbedingt Notes sein muss: XPage, die (weitestgehend) in SQL-XYZ speichert. Je weniger System-Übergänge es gibt um so besser/einfacher ist das. Weiß jeder hier (oder?).
Weiterhin hat das den Vorteil für Dich, dass Du auf Dir hoffentlich bekannten Technologien Java und JavaScript aufsetzen kannst und nicht soooo tief in die Abgründe des doch sehr proprietären Notes tauchen musst. Hier ist alles anders - nicht alles ist schlechter oder besser - aber eben anders.
Die nächste Frage ist auch, was man wirklich von Dir erwartet: In 3 Monaten ohne Vorwissen scheitert das Projekt meiner Meinung nach sicher(unabhängig von Deinem Talent), weil diese Kombination einfach fürchterlich viele Fallen und Probleme beinhaltet. Ausserdem sieht das nach einem Kaugummiprojekt aus: Erst kaut man ziemlich lange und dann klebt es einem ziemlich lange am Fuß. Aufgrund der vorausgesetzten Architektur ist zum Beispiel keine einfache Wartbarkeit und Erweiterbarkeit möglich.
Drei Monate für Einarbeitung in Thema (möglicherweise in die Unternehmenswelt), Einarbeitung in Technologie, Planung und Umsetzung der Lösung sowie anschließender Dokumentation für viel zu knapp. Da würde ich auf jeden Fall nachverhandeln. Vielleicht in Richtung: Was ist das eigentliche Problem? Wie sieht der abzubildende Prozess aus? Welche Mittel kann man nutzen, um das Problem effektiv, effizient umsetzen kann nicht ohne Folgekosten bei Wartung und Erweiterung aus den Augen zu lassen. Da kannst Du Tonnen an Wissen ansammeln hinsichtlich Anforderungserfassung, Pflichtenheftverfassung, Tool-Evaluation, Tool-Markt, Datenmodellierung, Geschäftsprozessmodellierung etc..
Im Grunde wäre das ein Nachweis Deiner Fähigkeiten als Wirtschaftsinformatiker.
Und schließlich noch ein Wort an die IT-Verantwortlichen dieser Welt:
Excel ist kein geeignetes Mittel um Datenverarbeitung strategisch zu betreiben. Es hilft dann und wann - aber wann immer es in dauerhafte Lösungen integriert werden soll verursacht es Datenfriedhöfe, Inkonsistenzen, niedrige und nichtprüfbare Qualität (wer prüft die Qualität der verteilten Excel Sheets), hohen Wartungsaufwand uns schlechte Erweiterbarkeit. In diesem Sinne empfinde ich auch die Erklärung einzelner IT-Verantwortlicher auf Sharepoint zu wechseln, da man dort besser mit Excel und Word arbeiten könne auch als vollkommene Bankrotterklärung.
-
hallo gs3rr4,
ich habe vor Jahren ähnliches programmiert.
die Excel-Dateien reingelesen, die Daten in notes bearbeitet und dann eine Auswertung in Excel ausgegeben.
Ich bin nicht soooooo pessimistisch.
NUR MUT.
-
Vielen Dank für eure Beiträge! =)
Notes und MySQl zu vergleichen wäre Bananen mit Gurken zu vergleichen.
Aber genau diesen Vergleich brauche ich. Es würde jetzt zu lange dauern ein neues Projekt zu finden. Ich muss jetzt herausfinden, wieviel ich in den 3 Monaten schaffen kann.
Da es eine wissenschaftliche Arbeit ist, kann ich mir nicht einfach eine Anwendung aussuchen, sondern muss verschiedene vergleichen. Da im Unternehmen schon MSSQL2008, Lotus Notes und SAP verwendet wird, kommen diese 3 auch in Frage und scheinbar ist es auch in allen der Systeme realisierbar. Jetzt ist die Frage in welchem der 3 es am meisten Sinn macht.
Ich muss also die Vorteile der Lotus-Lösung wissen. Könnte ihr mir da helfen?
Wer soll das System eigentlich später betreuen und wer setzt dann Änderungswünsche und Erweiterungen um nachdem du fertig bist ? Die interne IT scheint es ja nicht zu können.
Wie sieht die IT Struktur aus, gibt es schon SQL Server im Unternehmen ? Gibt es entwickelte Notes Datenbanken oder wird Notes nur als Email System genutzt ?
Das System soll später von den Controllern, der IT und dem neuen IT-Praktikanten betreut werden. Daher ist auch eine möglichst einfache Erweiterbarkeit sehr von Vorteil.
Notes wird nicht nur als Email-System genutzt. Es gibt viele verschiedene Notes-Anwendungen, welche von den Fachabteilungen genutzt werden.
-
Und weiterhin stellt sich die Frage: Warum soll das ausgerechnet nach Notes übertragen werden - sicherlich für vieles Tool der Wahl aber für Rechenaufgaben?
Am Ende kommt eine vollkommen vermurkste Anwendung raus, die wahnsinnigen manuellen Aufwand in der Wartung verursacht und wieder Anwender in die "Notes ist scheiße" Fraktion zieht.
Die Überführung des vorgefertigten und vorgegebenen Excel-Sheets ins Notes ist vom Konzern vorgegeben. Hinter der Anwendung steckt ein Freigabeprozess. Da werde ich nichts in Frage stellen, ich bleibe dann doch lieber bei meinem "kleinen" Projekt.
Es geht jetzt lediglich darum WIE die Daten in dieses vorgefertigte Sheet kommen und mit welchem System (unahängig von dem Folgeprozess) die Daten für das Controlling abgelegt und organisiert werden können. Bisher sind die Projekte in den verschiedensten Excel-Tabellen verstreut, man möchte nun eine bessere Lösung, mit der man arbeiten kann.
Ich muss bis nächsten Dienstag mein Exposé erstellen. Es geht jetzt nicht darum dieses Projekt so wie ich es beschrieben habe in 3 Monaten zwingend durchzuquetschen. Ich muss aber herausfinden, was ich schaffen kann.
-
Du versteifst dich da gerade etwas auf die ganze Geschichte, auch wenn es knapp ist. Du schreibst eine wissenschaftliche (Abschluss-)arbeit, welche folglich eine wissenschaftliche Facette enthalten sollte. Dein Thema ist ein "stink-normales" Projekt, welches einen Geschäftsprozess eines Unternehmens abbildet. Die Forumsmitglieder helfen dir gerne weiter, aber nur weil es täglich Brot ist, und kein "Forschungsthema".
Wenn du den wissenschaftlichen Aspekt weg lässt, verkommt deine Arbeit zu einer Projektbeschreibung und deine Tätigkeit zu einer Entwicklungsdienstleistung.
Beschreibe mal was du genau untersuchen willst, welche These du vorher aufstellst, wie und warum du sie beweisen möchtest. Dass musst du dann sowieso in dein Exposé schreiben.
VG, Michael
-
Ich würd an deiner Stelle dringend mit dem Betreuer der Arbeit an der Uni Rücksprache halten.
Grundsätzlich beschäftigt sich Wissenschaft mit "stink-normalen" Sachen, man wendet dort nur wissenschaftliche Methoden an. Sag ich jetzt mal.
-
Aktueller Stand:
Da die meisten von euch nicht davon ausgehen, dass es ohne weiteres in dieser Zeitspanne schaffbar ist, habe ich einige Anpassungen gemacht.
Die Datenbank soll auf jeden Fall erstellt werden. Was sie können muss:
- Bisherige Datenerfassungsblätter überflüssig machen, also die Datenerfassung übernehmen
- Unterschiedliche Versionen von Projekten speichern können
- Auswertungen/Reports in Excel-Format ausgeben können
- Daten in die vorgegebene Excel-Tabelle übertragen
- Teile der in Excel berechneten Ergebnisse importieren
Für den theoretischen Teil:
- Umsetzung der gesamten Berechnung in der Datenbank (Ausblick)
- Logging-Konzepte (Ausblick)
- Ermittlung des Nutzen der neuen Anwendung (Nutzwertanalyse)
- Erstellen eines Standards für die Datenerfassung (Querschnittsanalyse)
Um den Nutzen zu bestimmen könnte man die eingesparte Zeit und die Korrektheit der errechneten Werte als Kennzahlen nehmen. Müsste ich nur sehen wie ich die ermitteln kann.
Da die Datenerfassung z.Z. über einfache Excel-Tabellen ohne wirklich konkrete Vorgaben realisiert ist, ist eine ständige Absprache zwischen Fachabteilungen und Controlling nötig. Ein Standard würde das ganze zwar etwas unflexibler für die Fachabteilungen machen, aber dafür kommen am Ende die exakten Werte heraus und man braucht sich keine Sorgen machen, dass die Zahlen nicht stimmen.
Falls das nicht reicht würde ich noch eine Umfrage erstellen wollen, welche ich z.B. hier veröffentlichen kann. Die Frage ist nur, was es in diesem Zusammenhang herauszufinden gibt.
Ich kann mir gut vorstellen, dass auch in anderen Unternehmen solche fraglichen Excel-Geschichten laufen. Man könnte z.B. erfragen wie vielen Personen eine ähnliche Situation bekannt ist und auf welche Lösungen/Tools zurückgegriffen wurde. Dann hätte man eine Übersicht von Lösungen.
Ich bin weiterhin für jede Antwort und jeden Tipp dankbar!!
-
technische Anregungen sind z.B. bei OpenNTF zu finden:
http://www.openntf.org/internal/home.nsf/project.xsp?action=openDocument&name=Notes%20Reconn
http://www.openntf.org/internal/home.nsf/project.xsp?action=openDocument&name=MailMerge%20Excel%20to%20Notes
-
Das Thema ist nun angenommen und auch seit dem 01.04. angemeldet.
Kurze Zusammenfassung des "neuen" Inhalts:
Ich erstelle eine Anwendung in MS SQL Server 2008, Lotus Notes oder SAP welche die komplette Datenerfassung abbilden muss. Diese Datenbank soll bestimmte Daten in eine Excel Tabelle exportieren können. Die Struktur der Excel Tabelle ist dabei immer die selber. Es sollte also möglich sein, Daten 1:1 an Felder weiterzugeben und umgekehrt. In der Excel Tabelle wird nun etwas berechnet. Wenn der Controller fertig ist, soll es möglich sein Werte aus dieser Excel Tabelle in die Datenbank zu übertragen. Diese Positionen sind auch immer die selben.
Ich weiß, dass es sehr fraglich ist ob man die Excel-Tabelle überhaupt braucht. Sie ist jedoch Teil eines weiteren Prozesses und wird unbedingt benötigt.
Ich soll im Zuge der Bachelorarbeit herausfinden, welches der Systeme (Lotus/SAP/MSSQL) am geeignetsten ist, um das Ganze zu realisieren. Weiterhin soll ich eine Querschnittsanalyse und eine Nutzwertanalyse erstellen, welche bei der Entscheidungsfindung helfen und zugleich den Gesamtnutzen der neuen Anwendung darstellen soll. Bei der Nutzwertanalyse brauche ich Kriterien, welche ich zu einem Katalog zusammenstellen kann um die drei Systeme bewerten zu können.
Die Berechnung innerhalb der Datenbank sowie mögliche Logging-Konzepte werde ich im Ausblick der Arbeit anschneiden - sozusagen als Erweiterungen für die Zukunft.
zu Lotus Notes brauche ich jetzt konkret folgendes:
- Schnittstellen zwischen Excel und Lotus Notes
- Vor- und Nachteile die ihr bei diesem Projekt bei Lotus Notes seht
Zu den Schnittstellen:
Ich brauche für jedes Projekt eine einzelne Excel-Tabelle. Das heißt für mich, dass eine Schnittstelle die permanent Daten aktuell hält nicht in Frage kommt. Wie schon gesagt: Die Struktur der Excel Tabelle ist immer gleich. Ich könnte mir also vorstellen, dass man eine Vorlage-Datei zur Verfügung stellt, welche dann von Lotus per Knopfdrück mit den Projektdaten des gewünschten Projektes füllt und unter dem Namen Projekt_386.01.xls abspeichert. Das wäre wirklich das optimalste. Andersherum sollten dann Excel-Tabellen "eingelesen" werden können. Also ich wähle die Datei Projekt_386.01.xls aus und übertrage die zuvor in Excel berechneten Daten in die Tabellen der Datenbank ein.
Ihr könnt mir gerne auch andere Wege vorschlagen oder sagen, dass ich mir den totalen Quatsch zusammendenke. :D
Zu den Vor- und Nachteilen:
Ich stelle mir dazu mehrere Kategorien wie z.B. Erweiterbarkeit, Benutzerverwaltung, Sicherheit oder Zugriffsgeschwindigkeit. Ich brauche halt mehrere Sachen, an denen ich festmachen kann, welches der Systeme am geeignetsten ist.
Bei Lotus Notes würde ich z.B. als Vorteil sehen, dass es eh schon jeder Mitarbeiter täglich nutzt und damit eine vertraute Oberfläche hat. Die Benutzerverwaltung und Sicherheit sollte damit auch für Lotus Notes sprechen.
Nachteilig wäre, dass man es schwer erweitern kann, da z.B. Kenntnisse der Scriptsprache erforderlich sind.
SAP wird noch nicht von jedem Mitarbeiter genutzt, also müsste man sich dort erst einarbeiten und evtl. sogar neue Lizenzen besorgen. Auch hier werden ABAP-Kenntnisse benötigt, um Erweiterungen oder Änderungen vorzunehmen.
Punkten könnte SAP auch durch Sicherheit und einfacher Nutzerverwaltung. Zudem ist SAP ein System, das gerade für solche Dinge gedacht ist. In Zukunft könnte man sogar gänzlich auf Excel verzichten und das ganze ausschließlich in SAP abbilden. Hier sind auch sehr viele Daten-Analysemöglichkeiten gegeben.
MS SQL wäre wohl am einfachsten erweiterbar. Bei der Nutzerverwaltung bin ich mir nicht sicher. Import und Export der Daten zu Excel ist hier wohl auch am einfachsten, da beide Produkte vom gleichen Hersteller sind und gute Schnittstellen geschafft wurden.
Man kann auch in Notes mit relationalen Strukturen arbeiten, muss die aber selbst managen. Damit hat man dann sowohl die Vorteile der dokumentbasierten Datenbank und der relationalen...
Wie genau geht das? Kannst du mir Literatur oder Stichpunkte nach denen ich in Büchern suchen kann dazu geben?
Das größte Problem das ich bei meiner Arbeit sehe ist, dass ich shr viel Infos von erfahrenen Nutzern bekomme, welche ich schwer in Büchern wiederfinden kann. Ich bin wirklich sehr dankbar für eure Hilfe, aber könnt ihr mir auch Literatur nennen, in der die Methoden die ihr verwendet beschrieben werden oder habt ihr all euer Wissen nur durch Erfahrungen sammeln können?
Vielen Dank an alle die das hier lesen und noch mehr an diejenigen, die sogar etwas hilfreichen dazu schreiben!!
-
- Schnittstellen zwischen Excel und Lotus Notes
Meistens COM, möglich sind aber auch andere, z.B. ODBC (Mit Excel als Quelle).
Ich würde persönlich COM verwenden.
Vorteile Notes im entsprechenden Kontext (subjektiv)
- Mir ist noch kein System bekannnt mit dem man schneller entwickeln kann (entgegen Deiner Annahme). Dies ist möglich, weil
- Schnittstellen verfügbar sind (z.B. COM, ODBC, CORBA, Verschieden Möglichkeiten unter Java, Webservices (SOAP und REST)
- "Batteries included": Rechteverwaltung, GUI
- Aktive Gemeinde (Hallo Atnotes)
- Vorhandene Lösungen (openNTF.org) auf denen man zumindest aufbauen kann.
- Integriebarkeit in vorhandene Lösungen
- Bekannte Oberfläche für die Anwender (wird meist vollkommen unterschätzt)
Nachteile:
- Datenmodell von EXCEL ist die Tabelle - das passt besser zu anderen tabellenorientierten Systemen wie relationalen DBs (z.B. MS SQL Server 2008)
- Proprietäres Entwicklungssystem, das nicht selbsterklärend ist und von bekannten Standards abweicht.
- Ungewisse Zukunft des Produktes weil der Hersteller hier zu wenig deutlich committed
- In vielen Unternehmen eher auf dem Ast der auszusortierenden Systeme (das musst Du mit Deiner Firma abklären...)
- Nachteile in der Performance bei großen Datenmengen insbesondere bei vielen Datensätzen.
-
Mit MS SQL Server kann man eigentlich gar keine Anwendungen erstellen denn es ist eine reine Datenbank. Aber Du könntest SAP nehmen welches seine Daten in MS SQL speichert. Dann verwendest Du 2 von 3 Produkten.
Den MS SQL Server kann man mit fast jeder Programmiersprache ansprechen (Java, .Net, PHP, Ruby, Visual Basic etc. oder auch Notes). Nach der verwendeten Programmiersprache richtet sich dann ggf. auch die Eignung. Das der MS SQL Server gut mit Excel kann, weil es vom selben Hersteller, ist nicht falsch allerdings hängt das nicht in erste Linie vom Hersteller sondern vom Betriebssystem ab.
Lösungen welche auf einem Windows Server betrieben werden haben einen kleinen Vorteil weil man hier eben auch Excel direkt verwenden kann während man sich auf anderen Plattformen auf Schnittstellen, Remote Zugriffe oder eine lokale Excel Installation etc. verlassen muss (was auch nicht nur Nachteile haben muss).
An Hand objektiver Kriterien lässt sich so eine Entscheidung sowieso kaum treffen. Notes mag eine ganz tolle Plattform sein. Wenn in Deiner Firma niemand damit umgehen kann aber tolle SAP oder MS SQL Spezialisten rumsitzen hilft die Plattform wenig.
Wenn Budget keine Rolle spielt ist wiederum SAP immer ein guter Kandidat denn die Plattform ist sehr mächtig.
Kenntnisse in einer (Script)sprache wirst Du bei allen Lösungen benötigen denn ohne Programmierung wird das schwer zu realisieren sein.
Für Notes würde sicherlich sprechen falls die Anwendung dezentral eingesetzt werden soll (z.B. dezentral angebundene Niederlassungen) und vielleicht auch mal auf einem Laptop auf Reisen geht.
Falls eher eine zentrale Webapplikation in Betracht kommt würde ich zum MS SQL Server tendieren. Na und SAP kann man immer nehmen wenn Zeit und Geld keine Rolle spielt (und einen SQL Server benötigt SAP sowieso).
Für welche Lösung Du Dich entscheidest solltest Du vorrangig in Deiner Firma klären. Du kannst Dich natürlich auch darauf verlassen das Du alle Infos hier im Forum bekommst.
-
Für mich sind alle nicht auf JEE, springframework oder .NET basierten neuen Anwendungen reiner Masochismus. Das ist sicherlich menschlich, schließlich verdienen Dominas noch mehr Geld als IT-Fachkräfte, aber halt nicht besonders rational. Es wird immer noch davon geredet, dass dies sehr komplex wäre. Ich hab nix dagegen, weil dies mein Zeitbudget in Projekten gemütlich ausdehnt. Die Realität ist das schon lange nicht mehr.
Ein guter Propagandist für diese Haltung ist im deutschsprachigen Raum Adam Bien. Les seinen Blog und seine Bücher, viele deine zukünftigen potentiellen Arbeitsplatzentscheider tun das auch. Wieso sich noch groß einen Kopf machen?
In der Diskussion geht aus meiner Sicht einiges durcheinander. Selbstverständlich haben Relationale Datenbanken eine Programmiersprache. Bei Oracle heißt das PL/SQL und wird in sogenannten Stored Procedures verwendet. MSSQL hat sowas ähnliches. Problem dabei ist, dass dein DB-Admin wenig Humor versteht, wenns darum geht Anwendern insbesondere von ausserhalb des Firmennetzwerks Direktzugriff auf die RDBMS zu geben. Dafür gibts halt moderne Middleware wie .NET, JEE, Springframework oder wenns denn unbedingt sein muss Domino. Bei letzteren find ichs allerdings seltsam, dass ich mit meinem ex-Domino, seit längerem JEE Lebenslauf inzwischen wöchentlich Projekt-Anfragen von Vermittlern erhalte, in denen es über die Transkription einer Domino Anwendung in "Java" geht (was letzteres immer heissen mag), obwohl ich bei denen überall als "bis Ende 2012 ausgebucht" vermerkt bin.
Excel ist eine super-Desktop-Anwendung, die ich vollkommen gut finde. Business Experten ohne wirkliche Enterprise IT-Kenntnisse können da direkt die Business Logik reinprogrammieren. In Multi-User Prozessen macht Excel aber immer Probleme. Ich war da schon in einigen involviert. Umstellungen sind schwierig, weil Anwender dazu tendieren nach wie vor das alte Template zu verwenden. Dann gibts noch neue Excel Versionen. Probleme in der Com Schnittstelle, viele User kopieren fröhlich Zellen hin und her, dass die hinter bestimmten Zellen vermuteten Formeln nicht mehr stimmen, etc. Von Sicherheit kann auch keine Rede sein, weil kein mir bekanntes serverseitiges Programm wirklich überprüft, dass der User nicht die Formel des Excel-Files selbst und wenn auch nur versehentlich geändert hat.
SAP favorisiert selbst JEE als Middleware-Platform. Die haben eigene Server, die aus meiner Sicht aber deutlich schlechter sind als die aktuellen Spitzen-Erzeugnisse im einzig wahren vierten Quadranten für son Zeugs, also JBoss, Tomcat und Glassfish.
Gut. Du willst dein Diplom und der Kunde ist König: Wenn Du etwas auf Domino bringen willst, dass autorisierten Anwendern ermöglicht, Excel Dateien hochzuladen und die irgendwie zu lesen und dann mit den Daten irgendwas anstellen, dann kannst Du das natürlich machen. Da würd ich auch nicht mehr lang über Datenbank-Theorie, Segurity und was-nicht herumphilosophieren, sondern tun. Nach dem Spiel der FC-Ziegen letzten Mittwoch in Mainz sah Lucas Podolski einige seiner Mitspieler um einen Bildschirm, der die letzten Minuten des noch nicht beendeten Spiels in Berlin ausstrahlte. Poldi ranzte sie an: "Ihr sollt nicht Fußball gucken. Ihr sollt endlich selber Fußball spielen". Der Mann ist deutlich intelligenter als viele denken. Mach Dir einfach nicht zu sehr einen Kopf. Denk darüber nach, wie Du die Requirements des Kunden möglichst einfach umsetzen kannst, ohne dabei kompletten Spagetti-Code zu hinterlassen.
Das Problem sehe ich eher, wenn Du mit Diplom auf dem Arbeitsmarkt aufschlägst. Viele Entscheider über Arbeitsplätze werden sich aus meiner Sicht bei einer solchen Anwendung als Projekt für die Diplom-Arbeit fragen, ob Du ein Ei am wandern hast. Aber das ist eben auch nur meine Meinung. Meine Devise lautet seit 12 Jahren: Möglichst viel modern klingende buzzwords auf dem Lebenslauf und an sich klappt das nicht schlecht.
Bezüglich sämtlicher Aussagen hier im Forum - auch meiner eigenen - zum Unterschied zwischen dokument- und datenbankbasierten Anwendungen wär ich vorsichtig. Wir sind hier IT-Praktiker und keine Datenbank-Theoretiker. Allerdings hat die NoSQL Bewegung hier einiges an hochschul-zitierfähigen Material erzeugt. Such einfach nach comparision document database relational database. Das charakteristische eines RDBMS sind nicht die Tabellen, sondern wie die Datentupel in Beziehung gesetzt werden, dass man direkt über Mengen an Daten operieren kann, die ausgetüftelte - und auch damit oft übrigens nicht ausreichende - Transaktionslogik, die in den RDBMS Produkten verwurstet ist und und und.
Liebe Grüße
Axel
-
Mit MS SQL Server kann man eigentlich gar keine Anwendungen erstellen denn es ist eine reine Datenbank.
...
Das der MS SQL Server gut mit Excel kann, weil es vom selben Hersteller, ist nicht falsch allerdings hängt das nicht in erste Linie vom Hersteller sondern vom Betriebssystem ab.
Lösungen welche auf einem Windows Server betrieben werden haben einen kleinen Vorteil weil man hier eben auch Excel direkt verwenden kann während man sich auf anderen Plattformen auf Schnittstellen, Remote Zugriffe oder eine lokale Excel Installation etc. verlassen muss (was auch nicht nur Nachteile haben muss).
Mit MS SQL Server direkt nicht, aber mit dem Studio oder? Ich habe mir das ganze sehr Access-like vorgestellt.
Mit Notes auf MS SQL Server zugreifen? Ich kenne zwar die genaue Notes Struktur nicht, es gibt schon zahlreiche Notes-Anwendungen. Ich denke nicht, dass ich für meine eine extra Datenbank anlegen muss. Ähnlich habe ich es mir bei SAP gedacht. Ich würde in SAP auch nur neue Tabellen auf der bestehenden Datenbank anlegen und mit diesen arbeiten.
Die Anwendung soll nicht für das gesamte Großunternehmen geschrieben werden. Es betrifft lediglich einen kleinen Bereich. Der lokale Admin sollte es leicht anpassen können und nicht unbedingt weitere SAP/ABAP- oder Lotus Notes-Experten aufsuchen müssen, wenn es mal kleine Änderungen geben sollte.
Gut. Du willst dein Diplom und der Kunde ist König: Wenn Du etwas auf Domino bringen willst, dass autorisierten Anwendern ermöglicht, Excel Dateien hochzuladen und die irgendwie zu lesen und dann mit den Daten irgendwas anstellen, dann kannst Du das natürlich machen. Da würd ich auch nicht mehr lang über Datenbank-Theorie, Segurity und was-nicht herumphilosophieren, sondern tun.
Ich würde sehr gerne was tun, aber bisher habe ich mich noch sehr mit dem modellieren und beschreiben der Prozesse gedrückt. Ich finds auch toll, dass ihr so viel schreibt, aber finde es sehr schwer für mich nützliche Informationen zu filtern. Wie gesagt habe ich wenig mit Datenbanken zu tun gehabt. Habe nur 2 Semester Vorlesungen über Datenstrukturen, SQL usw. gehört und mal was mit Access gemacht, das wars. In der Programmierung geht es mir ähnlich.
Vielleicht hätte ich mir ein anderes Thema suchen sollen, aber jetzt ist es nun mal so und ich hatte auch meine gründe.
Ich hab mir gerade mal MS SQL Express + Studio gezogen und schau mal rein. Dem Controlling ist es prinzipiell egal wie das ganze später aussieht. Hauptsache die Funktionalität ist gegeben und der lokale IT-Manager kann dort mit möglichst geringem Aufwand Änderungen umsetzen. Wenn ich danach gehe sieht es bisher stark nach MS SQL Server aus. Falls ich mir nicht wie erhofft mit dem Studio ein Frontend basteln kann.. dann muss ich mal sehen..
-
..... und am Ende wird behauptet Lotus-Notes ist sch....
-
Eines, und nicht das kleinste deiner Probleme ist, das du einem weit verbreiteten Irrtum unterliegst.
Notes Datenbanken heissen zwar inoffiziell immer noch "Datenbank" (offiziell sind das laut IBM Terminologie Anwendungen), haben aber mit SQL Datenbanken von denen du nach dem was ich hier von deiner Ausbildung gehört habe herkommst, soviel gemeinsam wie ein Fisch mit einem Pferd. Es gibt gewisse, sehr grundlegende, Ähnlichkeiten, das war es dann aber schon.
Was die Informationen angeht hast du doch schon eine Menge bekommen. Vor allem was die möglichen Entscheidungskriterien für oder gegen eine technologische Basis für das System das du da bauen sollst angeht. Und ich kann aus deinen Posts leider nicht mehr erkennen, ob es um die "strategische Planung" des Systems, oder um die "Realisierung in einem gegebenen Umfeld" geht. Das scheint sich im Verlauf der Diskussion hier gewandelt zu haben.
Planen kann man auf einer abstrakten Ebene. Da kommen die von dir genannten Faktoren wie "Erweiterbarkeit, Benutzerverwaltung, Sicherheit oder Zugriffsgeschwindigkeit" zum tragen um sich für ein System zu entscheiden. Wenn dann eine Entscheidung getroffen wurde, dann kann das jeder halbwegs kompetente Entwickler mit den von dir bis jetzt genannten Rahmenbedingungen auf jedem der möglicherweise zur Verfügung stehenden Systeme realisieren, wenn er sich mit diesem System auskennt. Ob du dann derjenige Entwickler sein solltest, das stelle ich jetzt mal, auf Grund deiner letzten Aussagen, in Zweifel.
Wenn dein lokaler IT-Manager da anschließend "einfach Anpassungen"vornehmen können soll, dann hast du hier außerdem doch eh einen Eckpfeiler gesetzt. Dann muss nämlich entweder das System so designed werden, das es auch von "Nichtprogrammierern" verändert werden kann und mit Verändern meine ich jetzt etwas was über "gib ein neues Schlüsselwort an das der Anwender verwenden darf" hinausgeht, dann spielst du was Programmierung und Design angeht weit über deiner aktuellen (2 Semester Datenstrukturen und ein "bischen was mit Access") Gewichtsklasse :-:, oder du musst dich an die Kenntnisse deiner Umgebung anpassen.
Und du, oder dein <IRONIE>schon etwas blauäugiger</IRONIE> Auftraggeber, kannst dich schon mal auf einen heftigen Kampf mit der zentralen IT einstellen, wenn du mit irgendwelchen Lösungen kommst die "mal eben irgendwo installiert werden sollen". Das haben die Jungs und Mädchen die die großen Systeme betreiben dann überhaupt nicht gerne, wenn da plötzlich irgendwo Anwendungen auftauchen die nicht in Ihre Systeme passen und wenn es auch nur "kleine" Anwendungen sind.
Also noch mal zurück ans Zeichenbrett und deine Anforderungen konkret formulieren, so a la, "Der Anwender braucht ein System im dem er Tabellendaten einfach eingeben kann und mit dem es möglich ist sie dann zu verarbeiten und in strukturierter Form im Format XYZ wieder auszugeben. Das System soll ohne das der Anwender programmieren muss um ABC und Berechnungen UVW erweitert werden können und so weiter und so fort ..."
Wenn du es kannst, alle entscheidungsrelevanten Teile wie Benutzersicherheit, Erweiterbarkeit, etc. genau definieren. Erweiterbarkeit kann zum Beispiel auf Technischer Ebene (Codierung), auf Datenebene (Anzahl der verwaltbaren Datensätze, oder Anzahl der Benutzer der Anwendung) auf Benutzerebene (selbstständiges Eintrage von neuen Schlüsselworten) eine Rolle spielen. Und ich habe jetzt hier ganz bewusst nicht alle verschiedenen Möglichkeiten Erweiterbarkeit zu definieren genannt.
Jeden genau definierten Teil deiner Anforderungen jeweils mit einem Wert belegen und dahinter Zahlen für die Wichtigkeit des Teiles schreiben.
Dann die Realisierbarkeit mit den verschiedenen Systemen und den Aufwand für die Realisierung in dem jeweiligen System ermitteln und Aufschreiben. Zu der Ermittlung der Realisierbarkeit gehört übrigens auch die Frage wo passt das in die aktuelle Landschaft rein und darf ich das überhaupt in dieser Landschaft plazieren.
Danach die Entscheidung treffen und dann erst realisieren. Nicht umgekehrt.
-
Ich hab mir vorhin wirklich ernsthaft überlegt, ob ich tatsächlich zur Realisation mit MSSQL Server raten sollte. Übrigens genau aus diesem Grund,
..... und am Ende wird behauptet Lotus-Notes ist sch....
denn bei dieser Anforderung ist das zu verwendende Basis System tatsächlich vollkommen egal. Realisierbar ist das mit Lotus Notes, MSSQL oder auch, Gott bewahre was für ein Overkill, mit SAP.
-
Ich würde sehr gerne was tun, aber bisher habe ich mich noch sehr mit dem modellieren und beschreiben der Prozesse gedrückt. Ich finds auch toll, dass ihr so viel schreibt, aber finde es sehr schwer für mich nützliche Informationen zu filtern.
Aber das ist doch wirklich die letzte ökonomische und in keinem Fall ethisch legitime Verteidigungslinie für unser aller wirtschaftlichen Existenz. Als Bäckerei-Fachverkäufer bekommst Du klare Skripte für dein Handeln. Im Projekt-Geschäft mußt Du dir deinen Trampel-Pfad selbst bauen. Daily, Weekly, Monthly, Yearly (ein Ice Cube Zitat, btw.) Dafür bekommst Du pro Stunde Arbeiten irgendwann 8 bis 15 mal mehr als der Bäckerei-Fachverkäufer. Ethisch ist das nicht, aber unser Wirtschaftssystem basiert halt auf Knappheit.
So zwischen 1999 bis 2002 liefen um mich immer wieder Leute rum, die keine Ahnung von IT-Technik hatten und sich selbst zum Projekt-Manager erklärten, vermutlich weil Mama denen gesagt hat, dass man in der Wörtschaft am besten möglichst größenwahnsinnig auftritt und andere "Dumme" sucht, welche die Arbeit machen. Das nahm stark ab und gibts heute so nicht mehr. Vermutlich sind diese Leute beim IT-Management und Controlling deines Auftraggebers gelandet. Du sitzt am Strand und baust Sandburgen, indem Du ein für dich sehr wolkiges System in extrem fehlertoleranter Prosa darlegst. Das können Germanisten vermutlich besser als Du. Du mußt eigentlich jetzt anfangen, Prototypen zu bauen.
Wir haben dich gewarnt. Und Du musst in dieses Kaninchenloch.
Ansonsten wirst Du von deiner Seite die Diskussion als immer kafkaesker empfinden.
Hier wird das keiner für dich schreiben. Wieso auch? Für mich wären 60 Euro pro Stunde ein okayer Stundensatz für Home-Office. Nur mit Mehrwertssteuer oben drauf, bin schließlich Sozialdemokrat, d.h. gegen Schwarzarbeit. Übrigens nur auf Zeit und Material (ein anderes Wort für ohne ernstzunehmende Kostenvoranschlag). Und selbst dann würd ichs aus Respekt vor dem Bildungssystem der Bundesrepublik Deutschland nicht machen. ;)
-
Ich frage mich gerade, ob das Ganze nicht etwas zu "heiss" gekocht wird... ???
Meine Gedanken bei der Sache:
1. Es ist doch "nur" ne Bachelorarbeit, die zählt doch fast nix
2. Bei so einer Arbeit ist der Weg das Ziel - wäre es so schlimm mittendrin mal die Richtung zu wechseln? Solange es sauber dokumentiert und begründet ist... :-: (kommt auf die aktuelle Projektphase an)
3. Technisch: Wieviele Datensätze werden es? Wieviele Relationen müssen abgebildet werden? Welche Möglichkeiten (Fertigkeiten) habe ich (XPage, LS, Java, JS,...)?
--> Daraus ergibt sich dann folgende Möglichkeiten : Notes pur, Notes+SQL, SQL pur
4. Pragmatisch: Hey, warum nicht ein bisschen auf SOA machen. Aufteilung von Eingabe, Verarbeitung, Datenbank. Da definierst Du schöne Schnittstellen und wenn sich irgendein System für eine Aufgabe als untauglich herausstellt - auswechseln. So eine Aktion gäbe auch gleich wieder schön viel Text und BlaBla für die Doku.
5. Idee: Man kann Notes von Excel aus fernsteuern - SQL ebenso. Man kann mit Excel Webserviceschnittstellen ansprechen (SOA Gedanke). Jeweils ein "Excelclient" für das Controling und Fachbereich. Gefüttert wird eine zentrale Datenbank per Makro (egal welches System).
Mögliche Hürden oder NoGos verstecken sich sicher massig. Ohne allwissende Kristallkugel oder Einblick in das Unternehmen verdammt schwierig den richtigen Weg zu finden.
Wie in Punkt 2 schon erwähnt ist bei einer Bachelorarbeit das Endergebnis zweitrangig... klingt zwar blöd aber da ist vermutlich die äußere Form der Doku wichtiger...*hust*
Du mußt eigentlich jetzt anfangen, Prototypen zu bauen.
genau, weil Deine User vermutlich eh nicht wissen (formulieren können) was (genau) sie wollen. Da kann das System technisch noch so perfekt sein - "och nööö, das haben wir uns aber anders vorgestellt". Lieber mal was hinklatschen, gucken ob sich damit arbeiten lässt und vorher (parallel) checken was an Daten auf Dein System zukommt.
-
Zu "Notes und SQL" noch meine 2ct:
Wenn es darum geht, Daten aus flachen Notes View mittels SQL abzugreifen, dann steht bei mir mitlerweile DomSQl + BIRT ganz hoch im Kurs.
(http://www.openntf.org/internal/home.nsf/project.xsp?action=openDocument&name=JDBC%20Access%20for%20IBM%20Lotus%20Domino )
-
Zum Thema zurück:
Das Hauptproblem Deiner Arbeit ist nicht die Entwicklungsumgebung oder die Datenbank, sondern die grundsätzliche Schwäche der Abhängigkeit von den verteilten Excel Sheets.
Ansonsten ist Deine Aufgabe mit so ziemlich jeder Datenbank-Engine/Laufzeitumgebung lösbar. So ziemlich alles was auf WIN läuft kann zumindest COM.
Dann würde ich Dir zu pragmatischem Vorgehen raten:
- Wo bekommst Du am leichtesten Support in der Firma oder von Deiner Hochschule (auf Foren würde ich mich nicht verlassen wollen).
- Welche Entwicklungsumgebung ist effizient (Du solltest hier nicht SAP nehmen...wirklich nicht)
Beide von Dir genannten Umgebungen Domino bzw. MSSQL/MS_irgendwas erfüllen Kriterium 2 hinreichend.
Dann solltest Du Dich noch umschauen, was bei Kriterium 1 rauskommt - zu viel Vorarbeit hilft Dir hier ausnahmsweise nicht weiter.
Ich würde Domino und SQL nicht mischen - weil das die Komplexität erhöht und in Deinem Fall nicht nötig ist (Du sagtest keine Relationen zu benötigen?).
Also entweder oder.
Entscheide Dich für ein Produkt (ich würde die Entscheidung vollständig von Kriterium 1 abhängig machen) und versuche zunächst eine Verbindung zwischen Excel, Laufzeitumgebung und DB herzustellen. Der Rest ist dann Detailarbeit ;D
-
Ich schiebe noch eine weitere Beschreibung der IST-Situation ein.
Ich denke so viel kann ich sagen:
Es geht um die Berechnung von Angebotspreisen zu Kundenprojekten in einem großen Konzern. Die Anwendung soll aber nicht für alle gedacht sein, sondern nur für einen kleinen Bereich dieses Konzerns, also einem Segment.
Also die IST-Situation:
Systeme/Dateien die verwendet werden:
Datenerfassung (Excel):
Mit der Datenerfassungs-Datei werden die Daten der Fachabteilungen gesammelt. Dort gibt es also Tabellen für Einkauf, Logistik usw. Es gibt immer eine Datei pro Projekt (meiner Meinung nach total chaotisch). Sie wurde nur für das Segment entwickelt, in dem ich die Arbeit schreibe und ist auf kein anderes Übertragbar. Weiterhin gibt es auch eine Stückliste in jeder Datei. Es wäre natürlich viel praktischer eine zentrale Stückliste zu erstellen und dann von dort aus die benötigten Bauteile zu ziehen.
Berechnungsdatei (Excel)
Diese Datei ist vom Konzern vorgegeben. Die Daten aus der Datenerfassungsdatei werden derzeit manuell in diese weitere Excel-Datei übertragen. Hier gibt es sehr viele Formeln. Manche dieser Formeln (z.B. die Berechnung des internen Zinsfußes) sind Näherungsverfahren. Es gibt also eine Position x die einen Wert y annehmen soll. Nun werden die verknüpften Werte a, b und c so lange geändert bis x den Wert y hat (So hab ichs verstanden). Das kann man in Excel wohl unter anderem mit der IKV-Funktion (Interne-Kapitalverzinsungs-Funktion) darstellen.
Freigabeworkflow (Lotus Notes)
Die Berechnungsdatei wird in eine Lotus Notes Anwendung geladen. Es folgt ein Freigabeprozess für das Projekt.
Von der neuen Lösung verspricht man sich 1. den Prozess zu beschleunigen und 2. alle Projektdaten abrufbereit zu haben, ohne sich durch tausende von Excel-Tabellen wühlen zu müssen.
Was das Controlling möchte ist also Eine Datenbank, in der alle Projekte gespeichert werden können. Da es oft Änderungen gibt oder verschiedene Angebote für ein Projekt gerechnet werden (wo dann ein paar Werte anders sind), soll es möglich sein verschiedene Projektstände oder -versionen anzeigen zu lassen. Optimal wäre: Projekt900.01 ist im System. Nun gibt es Änderungen an diesem Projekt. Der Controller ruft also das Projekt auf, ändert ein paar Werte und kann es unter Projekt900.02 abspeichern. Jetzt sollten trotzdem beide Versionen des Projektes aufrufbar sein.
Es sollte außerdem Möglich sein die Projektdaten in die Berechnungsdatei (Excel) zu übertragen. Selbst wenn die Formeln innerhalb der Datenbank realisierbar sind, braucht das Controlling die gefüllte Datei für den Freigabeworkflow.
Eine weitere Anforderung ist, dann man hinterher auch mit den Daten arbeiten können soll und zwar im Excel-Format. Also die Berichte sollten sozusagen im Excel-Format ausgegeben werden können.
---
Die Frage ist jetzt, wie das ganze am einfachsten zu Lösen ist. Heute sollte ich eigentlich vorstellen, welches der Systeme ich verwenden möchte. Zum Glück wurde der Termin auf morgen verlegt.
Ich habe mir schon gedacht, dass man die Systeme nicht so richtig vergleichen kann. Dafür müsste man wohl einen Anwendungsfall in all dieses Systemen Umsetzen und dann testen wie sich das ganze Unterscheidet (Entwicklungszeit, Performance der Datenbank, Benutzerfreundlichkeit, ...). Daher müssen wohl einfache Pro- und Con-Argumente für die Entscheidung herhalten.
Ich werde jetzt also das System nehmen müssen, mit dem ich die Anforderungen am einfachsten/schnellsten erfüllen kann. Da ich mir das ganze selber aneignen muss und mit wenig Hilfe von der Unternehmensseite rechnen kann, werde ich hauptsächlich auf Hilfe von euch und Tutorials/Büchern/Guides angewiesen sein. Natürlich wird das keiner für mich schreiben, danach habe ich auch nicht gefragt. Es wäre aber schön ein paar Leute zur Hand zu haben, welche diese Anforderungen wirklich konkret umsetzen könnten und mir beim Lösungsweg und Detailfragen Hilfestellung leisten können.
Wenn ich MSSQL verwenden möchte, steht mir ein Windows 2003 Server zur Verfügung, auf dem ich MSSQL Server 2008 installieren kann. MSSQL mit Excel als Frontend ist auch mein aktueller Favorit. Ich würde es prinzipiell auch mit Domino machen, aber ich habe keine konkrete Vorstellung wie ich dann die Relationen hinbekomme etc.
Beim Frontend bin ich mir extrem unsicher. Mein Problem ist, dass ich sehr wenig Support habe. Der lokale IT-Manager ist leider nicht sonderlich erfahren in diesem Gebiet. Es gibt sicher Leute im Unternehmen, die mir besser helfen könnten, aber die sind an anderen Standorten und nicht für mich zuständig.
Das Thema steht jetzt aber fest und ich muss mich entscheiden und anfangen.
---
Excel als Frontend stell ich mir am einfachsten vor. Die Datenerfassung kann ja fast übernommen werden. Sie muss nur als Maske um gebastelt werden, welche dann verschiedenen Projekte aufrufen kann. Die Frage ist jetzt nur wie das geht. Ich glaube das Übertragen von Daten einer Excel Tabelle in eine andere ist dann nicht so das Problem.
In einem anderen Forum hat jemand geschrieben, dass diese Lösung extrem Fehleranfällig sein müsste. Ich denke aber man kann das Sheet so sperren, dass wirklich nur die Felder bearbeitet werden können, die auch bearbeitet werden sollen.
-
Excel als Frontend
Aus meiner Sicht unwartbar und vollkommen unsicher.
Es sei denn Du erstellst ein Plugin für Excel (wie SAP das beim BEx tut).
Dann bist Du hier aber (soweit ich das beurteilen kann) auch im falschen Forum.
-
Es tut mir leid, wenn das jetzt sarkastisch klingt, aber tu allen Notes Entwicklern und Verfechtern in der Firma für die du das realisieren willst/sollst einen Gefallen, lass in diesem Fall Notes aus dem Spiel.
Mach ein Excel Frontend für eine SQL Tabelle oder nehm irgendwas das ein Microsoft Frontend für eine SQL Tabelle hat.
Das sage ich jetzt nicht, weil Notes das nicht kann, mir fällt spontan mindestens ein eleganter Weg das komplett in Notes zu lösen ein, sondern weil aus deinen Beschreibungen, was deine persönlichen Voraussetzungen, den Vorgaben für die Umsetzung und die Firmenumgebung in der du dich bewegst betrifft, eigentlich nur ein Schluss zu ziehen ist.
Du wirst es im normalen zeitlichen Rahmen einer Bachelor Arbeit (6-12 ECTS, 1 ECTS = 25 -30 Arbeitstunden, zwischen 150 und 360 Stunden Aufwand für die ganze Arbeit mit Dokumentation und dem ganzen Rest der da dran hängt) nicht hinbekommen das dein System funktioniert.
Gründe für meine Meinung?
- Du musst dich erst einmal in die Programmierung überhaupt einarbeiten. Learning by Doing ist mit ausschließlich freiwilliger Unterstützung, wie man sie hier im Forum finden kann immer noch eine zeitaufwändige Sache, und selbst wenn du die Entwicklerschulungen für Domino bezahlt bekommen würdest, die immer noch die schnellste Methode sind, sich mit dem Komplexen System Notes Entwicklung auseinander zu setzen wäre da immer noch der nächste Punkt.
- Du hast nicht allzuviel Ahnung von Datenbankdesign (SQL) und noch viel weniger von der Art wie Domino/Notes hier tickt. Die Lernkurve ist hier was beide Systeme angeht ebenfalls mit Erfahrung, und damit mit Zeit verbunden.
- Du scheinst wenig bis keinen Support aus der Firma für die du das Problem lösen sollst bekommen zu können, also wieder ein Zeitproblem, denn du wirst auf viele deiner Fragen, und da werden eine Menge auftauchen hier zwar durchaus zeitnah Antworten bekommen, die müssen aber auch wieder geistig verarbeitet werden und die Firma erwartet ja offensichtlich ein lauffähiges Programm nach deiner Bachelor Arbeit.
- Es gibt kein System, mit dem du die von dir genannten Anforderungen "einfach", im Sinne von, mit wenig Grundkenntnissen versehen und mit keinem KnowHow des verwendeten Systems, in verwendbaren Code umsetzen kannst.
Und bevor du dich jetzt aufregst, das sind alles Dinge die man aus deinen Posts schließen kann.
-
Mach ein Excel Frontend für eine SQL Tabelle oder nehm irgendwas das ein Microsoft Frontend für eine SQL Tabelle hat.
Da wäre doch Access ziemlich passend dafür.
Gruss
-
Natürlich rege ich mich nicht auf. Ich freue mich sehr über jeden Post und weiß natürlich selber das ich nicht die besten Voraussetzungen habe.
Ich habe jetzt doch noch einen Namen von einem Mitarbeiter bekommen, der mir Support geben könnte. Mit dem werde ich morgen sprechen. Wenn diese Diskussion nichts wird, dass lasse ich wohl die Finger von Notes.
Ich weiß auch nicht warum ich das ganze überhaupt in so großen Systemen entwickeln soll. Access wäre meiner Meinung nach völlig Ausreichend für die Anforderungen. Ich denke, das werde ich meinem Betreuer klar machen müssen. Falls er diesen Vorschlag annimmt kann ich evtl. ein bisschen ruhiger schlafen. :P
Die anderen aus meinem Kurs zeigen mir schon den Vogel, dass so sowas praktisches überhaupt als Aufgabenstellung angenommen habe. :D
Auf jeden Fall vielen Dank für all eure Gedanken und Worte hier im Forum!
-
Nur zur Info: Wir haben in den letzten zwei Jahren eine solche Anforderung für einen Kunden umgesetzt...
Übernehmen einer Excel- Kalkulation in eine Notes- Datenbank mit Stammdaten, Einkaufspreisen, Maschinendaten, Freigabe- Workflow, Kalkulationen, etc...
Wir waren zu dritt (zeitweise zu viert) und haben eine hohe zweistellige Zahl an Manntagen an der Umsetzung gearbeitet (und sind immer noch an Verbesserungen / Erweiterungen dran)...