Klasse

Tags:    objekter

<< < 12 > >>
Jeg har nogle spørgsmåle til et lagerstyringssystem til søgning af varer, ændring af order, og levering.

Det foregår sådan at medarbejdere får en order på et stykke papir med stregkode. Man plukker varerne. Hvis der ikke er nok antal varer retter man det antal ned. Efter plukning og pakning scanner man orderen og en labels og kvitering kommer ud.

Afgrænsning: (Registrering af ordre fra det andet system har jeg undladt)

Jeg har klasserne: Kunde, privatkunde, erhvervskunde, lokation, vare, ordre, samt post.

1.
En klasse (Vare) som har hændelsen (vare flyttes). Skal der være en klasse til f.eks. flyt? Eller behøver man ikke en hel klasse, men nok med en funktion?

2.
En klasse (Order)= kundeordre med varer

Kunderne bestiller varer via tlf. eller internettet, og kommer ind i lagerstyringssystemet via et andet system.

Hvilke atributter og hændelser vil passe godt for klassen Order?

Så jeg kan lave et tilstandsdiagram for klassen Order.



Indlæg senest redigeret d. 19.11.2011 22:54 af Bruger #16870
18 svar postet i denne tråd vises herunder
11 indlæg har modtaget i alt 24 karma
Sorter efter stemmer Sorter efter dato
Tak for den gode forklaring.

Det er din ordre der skal plukkes. Når du plukker ordren, sætter du dens tilstand til "plukkes", så for hver vare du tager, kører du varens hændelse "pak til ordre", det skifter lokationen på varen til din pakke der skal med posten. Når alle ordrelinier i ordren er pakket, kører du ordrens hændelse "ordre færdigplukket" og det skifter så din ordres tilstand fra "plukkes" til "færdigplukket", når posten så henter den, skifter du fra "færdigplukket" til "afsendt".


Jeg kommer lidt i tvivl.
F.eks. sender lageret ca. 100 ordre om dagen, og alle ordre registeres/overføres til outbox(mappen post). Når dagen er slut, og alle dagens ordre er færdigplukket klikker man på *send* i mappen post. Og alle dagens ordre filer bliver sendt elektronisk til postdanmark.

Skal Ordre så stadig have den hændelse "afsendt"? Eller skal jeg droppe klassen Post? Så det bliver hvert ordre som scannes, som automatisk bliver sendt med det samme, for hver ordre der scannes.

(Jeg vil helst have det mest enkleste da det er et newbie projekt :))og kravene er ikke store.

Hvad synes du/i?


Som jeg ser det, så snakker du om en hændelse når du siger at det skal afsendes. Det vil sige at du har måske et ordre-manager-et-eller-andet-klasse, som kun har en hændelse, der hedder "Afsend plukkede ordre". Det den gør er at se på alle ordre og hvis en ordre har tilstanden "klar til afsendelse" så sender den den og markerer den som "afsendt". Problemet er at din Ordre klasse kan _ikke_ have hændelsen "send post", da det ikke er dens ansvar (husk på single responsibility / seperation of concern).



Tak til alle for svarene :)

Dvs, kan vare have hændelsen: flyttes?
Tænkte mere på analysen i f.eks. et hændelsestabel, og da den skal laves i et tilstandsdiagram.



Nice, tak for svarene :)
Hvordan vil i beskrive tilstandsdiagrammet til vare?



Prøv at lave tilstandsdiagrammet selv og så kan vi kommentere på det i stedet for ;-)



Aftale, stemmer kommer efter 00:00 :)

Da kunder bestiller varer gennem et andet system, som jeg ikke skal beskrive.

Så kan jeg da ikke tilføje i tilstandsdiagrammet, kunde køber?
eller for en erhvervskunde: erhvervskunde oprettes?

Da jeg har de 3 klasser, kunde, privatkunde og erhverskunde?

Eller kan jeg?

I klassen lokation har jeg valgt attributter som:
lokations navn, lokationsnr.

Som hændelse: vare indsat, vare plukket.

Er det fornuftigt?





Indlæg senest redigeret d. 20.11.2011 16:42 af Bruger #16870

Husk lige på dine "is a" relationer. Hvad er forskellen på en kunde, en privatkunde og en erhvervskunde. Husk at bruge nedarvning til dine kunder. Dvs. du skal sikkert have en klasse der hedder kunde, med alt det der er fælles for kunde, privatkunde og erhvervskunde. Så skal både privatkunde og erhvervskunde nedarve fra kunde. Du skal vel ikke bruge klassen "kunde" til noget - kun de to andre?


Lige præcis. De attributter som Kunde har, har privat og erhvervskunde også. Dvs. de nedarvende attributter. Privat og erhvervskunde er specialiseringer af Kunde.


Så kunne et tilstandsdiagram se således ud:

Ordre Modtaget
---------------
Ordre afventer plukning
Ordre Plukket / Ordre (vare) restordre
Ordre Afsendt


Jeg kommer lidt i tvivl. Både klassen Lokation og Ordre har hændelsen plukkes, dvs. klasserne har hændelserne plukkes. Klassen Vare har ligeldes attributten vare plukkes. Er det korrekt, kan de alle 3 have den samme hændelse?


Og det næste er for klassen Post

Ordren (på papiret) er der en stregkode på. Når ordreren er plukket skal ordrerens stregkode scannes af en scanner. Efter kommer informationerne ind i Outbox. Efter alle dagens ordre er blevet plukket, trykkes der på funktionen (send) som sender filerne i outbox til postdanmark.

Jeg vil mene for Post kunne det være:
Ordre registeret
Ordre afsendt.

Eller er det forkert?













Indlæg senest redigeret d. 20.11.2011 21:32 af Bruger #16870
Tak for den gode forklaring.

Det er din ordre der skal plukkes. Når du plukker ordren, sætter du dens tilstand til "plukkes", så for hver vare du tager, kører du varens hændelse "pak til ordre", det skifter lokationen på varen til din pakke der skal med posten. Når alle ordrelinier i ordren er pakket, kører du ordrens hændelse "ordre færdigplukket" og det skifter så din ordres tilstand fra "plukkes" til "færdigplukket", når posten så henter den, skifter du fra "færdigplukket" til "afsendt".


Jeg kommer lidt i tvivl.
F.eks. sender lageret ca. 100 ordre om dagen, og alle ordre registeres/overføres til outbox(mappen post). Når dagen er slut, og alle dagens ordre er færdigplukket klikker man på *send* i mappen post. Og alle dagens ordre filer bliver sendt elektronisk til postdanmark.

Skal Ordre så stadig have den hændelse "afsendt"? Eller skal jeg droppe klassen Post? Så det bliver hvert ordre som scannes, som automatisk bliver sendt med det samme, for hver ordre der scannes.

(Jeg vil helst have det mest enkleste da det er et newbie projekt :))og kravene er ikke store.

Hvad synes du/i?




Indlæg senest redigeret d. 22.11.2011 00:26 af Bruger #16870
Tak for svaret. Synes du jeg kan nøjes med ordre klassen hvor den sidste hændelse er "ordre sendes" i tilstandsdiagrammet?



<< < 12 > >>
t