SweClockers klassiska musmattor återvänder!

Skapa enkelt klassdiagram från en beskrivning?

Permalänk

Skapa enkelt klassdiagram från en beskrivning?

Jag har fått ett flertal SQL-uppgifter där man ska konstruera ett konceptuellt klassdiagram som sedan skall diskuteras med resten av klassen. Men jag har problem att tänka ut någon lösning till nedanstående uppgift. Jag vet inte om läraren är snurrig eller om uppgiften medvetet är konstigt skriven för att få många sorters lösningar. Någon som tycker att de kan konstruera en rimlig lösning som stämmer överäns med beskrivningen?

Det jag tänkt ska finnas med är:

Tryckeri (även fast det bara handlar om ett enskillt)
Förlag(Kunden)
Anställd
Uppdrag(Order)
Bok
Tidskrift
Lager
Inköpsorder

Men jag har stora problem att få ihop biten där uppdraget skall ha en eller flera anställda och där en skall vara ansvarig, vart skulle man smidigast lägga själva fältet för om den anställde är ansvarig? eller behöver man ytterligare någon slags kopplingsklass som specificerar om den anställde är ansvarig för just ett specifikt uppdrag?

Sen tycker jag att det blir väldigt rörigt runt själva Lager/inköpsorder-biten. "Systemet skall inte sköta lagerhantering" står det ju i beskrivningen. Men man måste ju ändå kolla på något sätt om material finns i lager för att veta om inköpsorderna skall skapas eller inte.

Beskrivning av uppgift:

"Ett litet tryckeri vill skapa en databas över de uppdrag man utför åt förlag (ej åt privatpersoner).
Varje uppdrag handlar om att trycka en bok eller en tidskrift åt ett förlag och tilldelas någon anställd
som får ansvaret för att se till att uppdraget utförs korrekt.
För större uppdrag är flera anställda involverade som hjälpredor,
men det är en anställd som har huvudansvaret.
Beroende på vad som skall tryckas, vilken papperstyp som skall användas med mera kan det material
som behövs finnas på lager eller behöva beställas.

När material beställs för ett visst uppdrag kopplas
inköpsordern till det uppdraget
, det behövs för att kunna fakturera kunden korrekt. I de flesta fall
finns material redan på lager hos tryckeriet
, då behöver det nya systemet bara hantera hur mycket
som behövs av var sak för tryckuppdraget.
Det nya systemet skall inte sköta lagerhantering eller fakturering mot kund."

Permalänk
Hedersmedlem
Skrivet av burton666:

Men jag har stora problem att få ihop biten där uppdraget skall ha en eller flera anställda och där en skall vara ansvarig, vart skulle man smidigast lägga själva fältet för om den anställde är ansvarig? eller behöver man ytterligare någon slags kopplingsklass som specificerar om den anställde är ansvarig för just ett specifikt uppdrag?

Finns många sätt att lösa detta på.

Ett sätt jag kommer på är att ha en array över anställda, där man helt enkelt definierar att den första anställda i listan har huvudansvaret.

Sedan kanske det inte riktigt är fullt så smidigt om du ska lagra det i en SQL-databas (din ett-till-flera-koppling saknar ordning). Då kanske du istället har ett fält för den som är huvudansvarig och har kopplingarna mellan uppdrag och anställd i en annan tabell. Eller så har du ett fält för "kopplingstyp" i den tabellen.

Permalänk
Hedersmedlem
Skrivet av burton666:

Sen tycker jag att det blir väldigt rörigt runt själva Lager/inköpsorder-biten. "Systemet skall inte sköta lagerhantering" står det ju i beskrivningen. Men man måste ju ändå kolla på något sätt om material finns i lager för att veta om inköpsorderna skall skapas eller inte.

Jag tolkar det inte som att systemet ska ha koll på det. Verksamheten ska ha koll att behöva beställa material, men det ligger utanför systemets uppgift som jag tolkar uppgiften.

Permalänk

Någon som har åsikter om förbättringar på denna: