janikvonrotz / issue-manager

Issue Manager
https://waffle.io/janikvonrotz/issue-manager
2 stars 1 forks source link

Datenmodell erstellen #3

Closed janikvonrotz closed 9 years ago

janikvonrotz commented 9 years ago

Hier bitte SQL tables dokumentieren:

https://onedrive.live.com/edit.aspx/Education/HSLU/Semester2/Softwarekomponenten/Issue-Manager/Project?cid=c4ced53321dafa52&id=documents?&wd=target%28Project%20Resources.one%7cC9642AD9-E770-4EB2-9E35-C78F3E250E31%2fSQL%20Database%7cCECB48EF-9872-4A91-B67F-93F5C5393981%2f%29 onenote:https://d.docs.live.net/c4ced53321dafa52/Education/HSLU/Semester2/Softwarekomponenten/Issue-Manager/Project/Project%20Resources.one#SQL%20Database&section-id={C9642AD9-E770-4EB2-9E35-C78F3E250E31}&page-id={CECB48EF-9872-4A91-B67F-93F5C5393981}&end

erwinwilli commented 9 years ago

Anpassung Datenmodell

janikvonrotz commented 9 years ago

Anstatt Subunternehmen is a User -> Kontakt is a User

janikvonrotz commented 9 years ago

Evtl. brauchen wir das Generalunternehmen ebenfalls nicht

erwinwilli commented 9 years ago

Übertragen von Visio in Workbench

janikvonrotz commented 9 years ago

@janik Abklären Vererbung User, Person und Unternehmen Wie Ortschaften Erfassen

@Übertrag Workbench Mit Attributen

janikvonrotz commented 9 years ago

Tendiere dazu die Person als Interface namens Nameable zu definieren. Also bennenbar.

Interface Nameable{ public getFullname(); }

Das Interface wird im Login implementiert

Das Interface mach vor allem beim Kommentar Sinn. Als Author eines Kommentar kann man einfach die oben gezeigt Methode aufrufen.

Andereseit möchte ich auch den anderen Fall anschauen

Spricht Login als Interface.

Setzt vorauss, das Sachbearbeiter, Subunternehmen und Bauleiter selber username und passwort felder definieren. Dafür könnte man vorname, nachname für alle Personen (bauleiter, sachbearbeiter, kontakt, bauherr.

Da könnte man auch Unternemen als Superklasse definieren -> Bauherr extends Unternehmen Unternehmen extends Person

janikvonrotz commented 9 years ago

Habe das Modell überarbeitet, was hälst du davon? Nameable ist ein Interface, dass nur bei der Implementierung vorkommt, für das Datenmodell kannst du es weglassen

janikvonrotz commented 9 years ago

Da wir keine Datenbank modellieren müssen, könnten wir direkt das Klassenmodell erstellen, mit allen Methoden, Attributen und Interfaces.

Gute Idee oder Schlechte Idee?

IM_Klassenmodell.vsdx

janikvonrotz commented 9 years ago

Frage die wir noch kären müssen: ist ein SU-MA eine Ansprechperson

janikvonrotz commented 9 years ago

Ich würde sagen Ja. Jedes Login muss einer Person zuweisbar sein, damit Aktionen zuweisbar sind.

RenoMeyer commented 9 years ago

Gefällt mir gut, habe noch die folgenden Änderungen vorgenommen (bitte checken, ob es korrekt ist!):

Frage: wie ist die Beziehung zwischen Unternehmung und Bauherr zu verstehen?

janikvonrotz commented 9 years ago

Ups, gab grosse änderungen meinerseits Werde deine Anpassungen einbauen

janikvonrotz commented 9 years ago

Adresse besteht aus: Strasse und Ort oder nicht. Strasse wird im Projekt eingetragen und dann in einer Auswahlbox die Ortschaft

janikvonrotz commented 9 years ago

Braucht die Unternehmung eine Adresse mit Ort?

RenoMeyer commented 9 years ago

Ja, Unternehumng braucht eine Adresse; es heisst dass alle geschäftsrelevanten Daten erfasst werden müssen. Adresse braucht man z.B. für Rechnungen, Verträge, etc. Das bedeutet übrigens auch, dass der Bauherr in jedem Fall eine Adresse braucht, ob er nun eine Privatperson oder der Kontakt in einer Unternehmung ist!

erwinwilli commented 9 years ago

Habe mal ein erstes Klassenmodell erstellt. könnt es ja mal anschauen. Muss aber noch mit Janik etwas anschauen.

RenoMeyer commented 9 years ago

Hab das Gefühl bei Mangel fehlt noch der FK Mangelstatus?!? Kann das jemand bestätigen?

janikvonrotz commented 9 years ago

Danke für den Hinweis, habs angepasst

RenoMeyer commented 9 years ago

Aathi und ich finden, es bräuchte noch Telefonnummer-Attribute für alle Personen (kann null sein), was meint ihr?

RenoMeyer commented 9 years ago

Desweiteren, es braucht noch ein "Erledigungsdatum" (oder Frist, oder was auch immer) beim Mangel!

RenoMeyer commented 9 years ago

Projekt braucht noch "Start" und "End" Daten (vgl. Aufgabenstellung)

janikvonrotz commented 9 years ago

Alles ausser Telefonnummer angepasst

RenoMeyer commented 9 years ago

Schlage vor, dass Projekt, Mangel und Kommentar einen Timestamp bekommen (Attribut "erstellt am" oder so...)