Erstellen eines fachlichen Datenmodells bei der Anforderungsanalyse
-
Hi,
ich habe für eine Problemstellung eine Anwendung entwickelt.
Für die Anwendung habe ich meine Klassen entworfen, implementiert....etc..
funktioniert alles wunderbar.Meine Anwendung macht:
- empfangen von rohdaten
- analysieren von rohdaten
- vergabe dieser rohdaten an threads
- threads entnehmen daraus die nutzdaten und machen was damit sinnvollesDie gewonnenen nutzdaten visualisiere ich ggf oder halte sie in meinen objekten für die laufzeit der anwendung.
Jetzt soll ich zu dem ganzen ein fachliches Datenmodell erstellen.
durch Google bin ich da nicht viel schlauer geworden.Es wird gesagt,...:
Es soll in diesem Datenmodell fachliche Daten und deren Beziehungen zueinander dargestellt werden.Was heißt das genau?
Wie gehe ich da vor?
-
Ich würde auf ein UML Diagramm tippen.
-
Hi,
dass das Diagramm mit UML-Werkzeugen realisiert wird ist mir schon klar. (Klassendiagramm)
Jedoch weiß ich nicht was in so ein "fachliches Datenmodell" reingehört.
-
Fachlich beudetet auf das Problembezogen und Datenmodelle können je nach Paradigma UML-Klassendiagrame, ERM,... sein.
-
Mit UML modelliert man eigentlich objektorientiert, da gibt es kein Datenmodell in dem Sinne. Falls du dich für OOA interessierst, da gibt es viele Bücher zu, wo genau drinsteht, wie man solche Modelle aufbaut. Ich glaube hier gibts unter "Tutorials" oder "Links" auch einiges zu OOA.
BTW, welcher Prozess sieht es eigentlich vor, dass man die Analyse nach der Implementierung macht?
-
Zeus schrieb:
Fachlich beudetet auf das Problembezogen und Datenmodelle können je nach Paradigma UML-Klassendiagrame, ERM,... sein.
Hi,
danke für die Antwort.
in meinen damaligen Übungsaufgaben habe ich Datenmodelle für ein OnlineShop erstellt. In diesem OnlineShop Beispiel konnte ich die "Daten" für das Datenmodell ganz einfach identifizieren: Produkt, Kunde, Warenkorb,Mitarbeiter usw...In dem aktuellen Fall wo es sich um eine OO-Entwicklung handelt habe ich die Schwierigkeit meine "Daten" für das Datenmodell "herauszufinden".
Zwischen meiner Anwendung und der Aussenwelt werden lediglich Nutzdaten, Befehle, Konfigurationen transferiert, die in meiner anwendung ausgewertet und ggf visualisiert werden.
Sind mit "fachlichen Daten" die oben aufgelisteten "Daten" gemeint?
-
Bashar schrieb:
Mit UML modelliert man eigentlich objektorientiert, da gibt es kein Datenmodell in dem Sinne. Falls du dich für OOA interessierst, da gibt es viele Bücher zu, wo genau drinsteht, wie man solche Modelle aufbaut. Ich glaube hier gibts unter "Tutorials" oder "Links" auch einiges zu OOA.
BTW, welcher Prozess sieht es eigentlich vor, dass man die Analyse nach der Implementierung macht?
Die Anforderungen an die Anwendung habe ich ja zuvor gehabt. Jedoch habe ich bei der Analyse vergessen das Datenmodell dazu aufzustellen. (Anfänger halt ;))
Jetzt muss ich es leider im Nachhinein erstellen.Mein Prof meinte, dass ich anhand meines Klassendiagramms das fachliche Datenmodell erstellen soll.
Ich müsste nur wissen was "fachliche Daten" in meinem Fall sind.
Das bereitet mir gerade etwas kopfschmerzen...Mal blöd gefragt..was für einen Sinn hat das fachliche Datenmodell bei der Anforderungsanalyse....?
Für was genau würde ein Entwickler dieses Datenmodell, während seiner Entwicklung einsetzen?
-
ThaMubber schrieb:
Mein Prof meinte, dass ich anhand meines Klassendiagramms das fachliche Datenmodell erstellen soll.
Dann frag doch den Prof, was er damit meint.
Ich müsste nur wissen was "fachliche Daten" in meinem Fall sind.
Das bereitet mir gerade etwas kopfschmerzen..."fachlich" heißt, das sind die Daten, mit deren Bedeutung der Fachexperte (also normalerweise der Auftraggeber, Benutzer usw.) etwas anfangen kann.
Mal blöd gefragt..was für einen Sinn hat das fachliche Datenmodell bei der Anforderungsanalyse....?
Es ist Teil der Anforderungen. Du musst ja wissen, welche "fachlichen Daten" (s.o.) relevant sind und in welcher Art und Weise sie zusammenhängen, um entscheiden zu können, wie du die Daten in deiner Software repräsentierst. Wenn du die Anforderungen vorliegen hattest und es geschafft hast, daraus ein funktionierendes Stück Software zu basteln, muss das wohl heißen, dass das Modell so einfach war, dass man es nicht explizit aufstellen musste. Das nachträglich zu machen ist IMO sinnlos (außer für den Prof.)
Das sind jetzt furchtbar allgemeine Labereien, wie gesagt, den Begriff "fachliches Datenmodell" kenne ich konkret im Zusammenhang mit UML nicht. Vielleicht weiß da wer anders mehr drüber.
-
ThaMubber schrieb:
Mal blöd gefragt..was für einen Sinn hat das fachliche Datenmodell bei der Anforderungsanalyse....?
Für was genau würde ein Entwickler dieses Datenmodell, während seiner Entwicklung einsetzen?
Äh. Huch?
Was genau würde ein Entwickler mit *irgendeinem* Software-Design Dokument machen?
Sich danach richten vielleicht...Das Datenmodell schlägt sich ja im gesamten Programm nieder. Die "Nutzdaten" die du erwähnst müssen ja in irgendeinem "Format" vorliegen - und genau dieses "Format" z.B. ist Teil des Datenmodells.
-
ThaMubber schrieb:
Mal blöd gefragt..was für einen Sinn hat das fachliche Datenmodell bei der Anforderungsanalyse....?
Für was genau würde ein Entwickler dieses Datenmodell, während seiner Entwicklung einsetzen?
Ich empfehle folgende Literatur:
http://www.amazon.de/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215/ref=sr_1_1?ie=UTF8&s=books-intl-de&qid=1235026290&sr=8-1
-
"fachlich" heißt, das sind die Daten, mit deren Bedeutung der Fachexperte (also normalerweise der Auftraggeber, Benutzer usw.) etwas anfangen kann.
Das sind dann wohl definitiv die Nutzdaten, die ich bekomme oder an den Kom.-Partner verschicke.
Das Datenmodell schlägt sich ja im gesamten Programm nieder. Die "Nutzdaten" die du erwähnst müssen ja in irgendeinem "Format" vorliegen - und genau dieses "Format" z.B. ist Teil des Datenmodells.
Ich als empfänger bekomme eine folge von bytes.
In diesem Byte-Array versteckt sich aber eins von n-beliebigen strukt-Typen.
(Je ein struct für ein Nutzdatentyp)
z.B.
struct A für Befehle
struct B für Configs usw...Wenn ich es nun richtig verstanden haben sollte, sind in diesem Beispiel die zwei Typen eins meiner fachlichen daten.
Liege ich da richtig?
Weil was anderes tausche ich nicht aus.
Ich habe bestimmte "operationen" die ich ausführe...und jede operation
braucht einen bestimmten struct, den es befüllt und als byte-array rausschickt.