webForum webForum sponsras med lina och serverplats av Binero AB

Gå tillbaka   webForum > Utveckling > Programmering & Utveckling > Programmering - Övrigt

Programmering - Övrigt Övriga programmeringsrelaterade diskussioner.

Svar
 
Trådverktyg Visningsalternativ
Äldre 2012-05-17, 14:43   #1
JuhuuGirL
Medlem
 
Registrerad: 2012-05-17
Inlägg: 4
Lösningar: 0
UML- förstår inte klass- och sekvensdiagram

Hjälp! Är det någon som kan hjälpa mig förstå och rita upp klass- och sekvensdiagram?? Jag kan use case diagram och aktivitetsdiagram men ser inget samband med dessa två (klass och sekvens) när jag ska rita upp ett scenario med hjälp av dem. Är det någon som kan rekommendera någon bra hemsida eller någon som kan hjälpa mig förstå dessa två diagram?

Jag har ett exempel på en uppgift som hade underlättat för mig om jag hade kunnat förstå hur man ska rita upp dessa. Ni kanske kan hjälpa mig med det?! Hade varit oerhört tacksam.

Scenario: Modellera ett mjukvarusystem som hanterar scheman pa ett lärosäte.

Studieadministratörer och schemaläggare kan ändra i schemat. Schemaläggaren kan även andra lokaler for att kunna lägga till salar eller ange storlek och utrustning i dessa.

Studieadministratörer kan skapa nya kurstillfällen och ta bort kurstillfällen. När en kurs skapas eller tas bort så måste schemat ändras så det inte finns kvar bokningar för en kurs som inte går eller så det läggs in bokningar för nya kurser. En bokning har en rubrik, en lärare, en lokal och har en starttid och en sluttid. Rubriken är någon av foljande: föreläsning, övning eller laboration.

Studenter kan öppna och läsa scheman. När en student öppnat schemat för en kurs så kan studenten även anmäla sig till kursen om han eller hon är intresserad av kursen och inte redan är anmäld till denna kurs. Studenter kan även generera personliga scheman som visar en önskad kombination av kurser.


1. Vilka är klasserna ev. hjälpklasserna som finns i uppgiften ovan och vilka är förkastade? Tips: en styrklass ("controller") kan vara användbar för att kontrollera sekventiellt beteende.

2. Hur gör jag ett sekvensdiagram som visar vad som händer i systemet när följande utförs:

Kursansvarig Ola Persson har kursen DP355. Han kommer på att alla föreläsningar måste ha projektor i taket. Detta krav mailar han till schemaläggaren som kontrollerar alla föreläsningar på kursen och byter sal om den bokade salen inte har projektor i taket?

3. Hur ritar jag ett klassdiagram som binds samman med sekvensdiagrammet?
Inkapsling av operationer och attribut skall tillämpas. Metodparametrar och deras typer samt metodernas returvärde ska framgå. Alla relationer skall vara försedda med multiplicitet, associationsnamn eller rollnamn. Eventuella stereotyper för klasser behöver inte visas.

Med andra ord ska alla meddelande i sekvensdiagrammet ha sin motsvarighet i klassdiagrammet resp. de aktuella metoderna i klassdiagrammet ska ha sin motsvarighet i sekvensdiagrammet


Det här verkar inte allt svårt men jag lyckas aldrig få rätt på det... hjääälp
JuhuuGirL besöker inte forumet just nu   Svara med citat
Äldre 2012-05-17, 18:37   #2
Lasp
Medlem
 
Lasps avatar
 
Registrerad: 2000-07-29
Ort: Fredriksdal, Helsingborg
Inlägg: 9 908
Lösningar: 144
Välkommen till wF.
Börja med mycket enkla schema, försök inte att lösa uppgiften som en helhet.
Bygg bitar och block.
Grunderna finns väl här:
http://www.agilemodeling.com/essays/umlDiagrams.htm
__________________
Livet är kort och Nu!
Läs mera!
!?
Lasp besöker inte forumet just nu   Svara med citat
Äldre 2012-05-17, 19:49   #3
JuhuuGirL
Medlem
 
Registrerad: 2012-05-17
Inlägg: 4
Lösningar: 0
Här har jag ritat upp ett par klasser... Är det något som du kanske kan hjälpa mig med eller är jag helt ute och cyklar?
Bifogade miniatyrer
Klicka på bilden för en större version

Namn:  version 1.0.jpg
Visningar: 37
Storlek:  34.6 KB  
JuhuuGirL besöker inte forumet just nu   Svara med citat
Äldre 2012-05-17, 20:42   #4
Lasp
Medlem
 
Lasps avatar
 
Registrerad: 2000-07-29
Ort: Fredriksdal, Helsingborg
Inlägg: 9 908
Lösningar: 144
tummen upp

>JuhuuGirL, ser bra ut tycker jag.
Men kom ihåg, jag är en gammal gubbe som lever på övertid ;-)
Så om jag var lat i arbetslivet, är jag som Pensionär, rent av arbetsskygg ;-)
Så ta vara på små exempel, bygg ihop dem så har du en lösning.
UML är inte lätt, kan appliceras ibland, inte alltid.
Det finns alltid avvikelser. Lycka till.
Kom också ihåg att
om man inte kan kommunicera en lösning, är den inte rätt!
visdomsord från Lasp ;-)
__________________
Livet är kort och Nu!
Läs mera!
!?
Lasp besöker inte forumet just nu   Svara med citat
Äldre 2012-05-18, 22:22   #5
Fia
Medlem
 
Fias avatar
 
Registrerad: 2004-04-17
Ort: Uppsala
Inlägg: 2 079
Lösningar: 22
Hej JuhuuGirl och välkommen till wF!

Jag ritade en översiktsbild över några av UML-diagrammen som jag använde i undervisning för ett antal år sen. Den är inte perfekt, men kanske hjälper till att förstå vilken information som ligger till grund för vad:
Klicka på bilden för en större version

Namn:  allt.JPG
Visningar: 62
Storlek:  368.4 KB
(Har en ännu större/detaljerad bild, men jag tror den mer förvirrar än hjälper om man inte håller en liten föreläsning till den samtidigt.)

Som du ser så baseras klasserna i (design)klassdiagrammet till stor del på de begrepp man får fram, t ex i domänmodellen. I ditt fall nämns ett flertal i uppgiften (tänk substantiv), "kurs", "kurstillfälle", "bokning" mm.

Sekvensdiagrammet talar om hur klasserna kommunicerar med varandra. I min bild så kommer ett anrop (a1) in till instansen av klassen A, vilket sätter igång en kedjereaktion där instansen av A anropar en instans av B osv. Ett anrop är ett metodanrop, med eventuella parametrar. T ex skulle anropet a2 i mitt diagram kunna vara nåt i stil med "skapaKurstillfalle(<parameter>,<parameter>,...)". Då måste klassen som tar emot det metodanropet (B) ha en metod/operator som heter just "skapaKurstillfalle()", även i klassdiagrammet. Parametrarna som skickas med i metodanropet måste också kunna tas omhand av klassen och blir därför attribut till B i klassdiagrammet. Klassen C i mina diagram skulle kunna vara klassen "Kurstillfalle" t ex, och som du ser så skapar B en instans av den i sekvensdiagrammet (pilen går direkt till rutan som definierar klassinstansen och inte till tidslinjen under). Dvs metodanropet b är anropet till klassens konstruktor.


Kolla om du har några bra exempel i din kursbok som du kan utgå ifrån när du ritar dina diagram. Exempel från Craig Larmans bok Applying UML and patterns använder jag fortfarande när jag behöver kolla upp något (även om den boken är världens tegelsten), vet inte vilken kursbok ni har.
Fia besöker inte forumet just nu   Svara med citat
Äldre 2012-05-19, 14:31   #6
Lasp
Medlem
 
Lasps avatar
 
Registrerad: 2000-07-29
Ort: Fredriksdal, Helsingborg
Inlägg: 9 908
Lösningar: 144
Ibland längtar jag tillbaka till skolbänken! Inser att jag skulle sitta lugnt och vetgirigt när Fia drog ovanstående.
Dynamiken i berättande kan inte nog framhävas.
Var finns videon? Vill se säger Lasp ;-)
__________________
Livet är kort och Nu!
Läs mera!
!?
Lasp besöker inte forumet just nu   Svara med citat
Äldre 2012-05-19, 20:44   #7
Fredde Mannen
Medlem
 
Fredde Mannens avatar
 
Registrerad: 2001-11-18
Ort: Kalix
Inlägg: 3 494
Lösningar: 53
Citat:
JuhuuGirL skrev: Visa inlägg
2. Hur gör jag ett sekvensdiagram som visar vad som händer i systemet när följande utförs:

Kursansvarig Ola Persson har kursen DP355. Han kommer på att alla föreläsningar måste ha projektor i taket. Detta krav mailar han till schemaläggaren som kontrollerar alla föreläsningar på kursen och byter sal om den bokade salen inte har projektor i taket?
Sekvensdiagrammet skall beskriva interaktionen mellan de olika aktörerna eller objekten. Vilka händelser de skapar i en viss tidssekvens.

Den vertikala linjerna/dimensionen i ett sekvensdiagram representerar tiden, ju längre ned efter linjerna, desto längre har tiden framskridit. Den horisontella dimensionen är de olika aktörerna eller objekten.

Så för att visa vad som händer i systemet så gå igenom vilka händelser som finns och mellan vilka aktörer/objekt som det sker. Vilken respons kan komma, vilka request utförs, och i vilken ordning etc.
__________________
För lata svin är marken alltid frusen..

Don't try to fix your linux system without knowing where your towel is. It is useful for three things
1. Muffling screams of frustration
2. Covering evidence of your ineptitude
3. Crying into.


Ubuntu forums
Umbraco é nice.
Jag försöker åtminstone..

Ironi är intelligenta människors möjlighet att göra en viktig poäng samtidigt som man har lite kul.
Fredde Mannen besöker inte forumet just nu   Svara med citat
Äldre 2012-05-20, 19:17   #8
JuhuuGirL
Medlem
 
Registrerad: 2012-05-17
Inlägg: 4
Lösningar: 0
Här har jag gjort ett sekvensdiagram, men vet inte om det stämmer helt och hållet. Vi har annars boken O'reilly Learning UML 2.0
Bifogade miniatyrer
Klicka på bilden för en större version

Namn:  img001.jpg
Visningar: 32
Storlek:  342.8 KB  

Senast redigerad av JuhuuGirL, 2012-05-20 klockan 19:26
JuhuuGirL besöker inte forumet just nu   Svara med citat
Äldre 2012-05-20, 22:31   #9
JuhuuGirL
Medlem
 
Registrerad: 2012-05-17
Inlägg: 4
Lösningar: 0
Citat:
Fia skrev: Visa inlägg
Hej JuhuuGirl och välkommen till wF!

Jag ritade en översiktsbild över några av UML-diagrammen som jag använde i undervisning för ett antal år sen. Den är inte perfekt, men kanske hjälper till att förstå vilken information som ligger till grund för vad:
Bifogad fil 23315
(Har en ännu större/detaljerad bild, men jag tror den mer förvirrar än hjälper om man inte håller en liten föreläsning till den samtidigt.)

Som du ser så baseras klasserna i (design)klassdiagrammet till stor del på de begrepp man får fram, t ex i domänmodellen. I ditt fall nämns ett flertal i uppgiften (tänk substantiv), "kurs", "kurstillfälle", "bokning" mm.

Sekvensdiagrammet talar om hur klasserna kommunicerar med varandra. I min bild så kommer ett anrop (a1) in till instansen av klassen A, vilket sätter igång en kedjereaktion där instansen av A anropar en instans av B osv. Ett anrop är ett metodanrop, med eventuella parametrar. T ex skulle anropet a2 i mitt diagram kunna vara nåt i stil med "skapaKurstillfalle(<parameter>,<parameter>,...)". Då måste klassen som tar emot det metodanropet (B) ha en metod/operator som heter just "skapaKurstillfalle()", även i klassdiagrammet. Parametrarna som skickas med i metodanropet måste också kunna tas omhand av klassen och blir därför attribut till B i klassdiagrammet. Klassen C i mina diagram skulle kunna vara klassen "Kurstillfalle" t ex, och som du ser så skapar B en instans av den i sekvensdiagrammet (pilen går direkt till rutan som definierar klassinstansen och inte till tidslinjen under). Dvs metodanropet b är anropet till klassens konstruktor.


Kolla om du har några bra exempel i din kursbok som du kan utgå ifrån när du ritar dina diagram. Exempel från Craig Larmans bok Applying UML and patterns använder jag fortfarande när jag behöver kolla upp något (även om den boken är världens tegelsten), vet inte vilken kursbok ni har.
Tack snälla för din ritning Fia och för att du påpekade vad en klass egentligen är (dvs. substantiv) det har jag nog inte tidigare tänkt på. Jag har några exempel i min bok men för att polletten ska trilla ner hade jag helst velat ha någon vid min sida som beskriver dessa diagram. Till dess fortsätter jag på egen hand.

Senast redigerad av JuhuuGirL, 2012-05-20 klockan 22:36
JuhuuGirL besöker inte forumet just nu   Svara med citat
Svar
webForum > Utveckling > Programmering & Utveckling > Programmering - Övrigt

Trådverktyg
Visningsalternativ

Forumregler
Du får inte posta nya trådar
Du får inte posta svar
Du får inte bifoga filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är av
HTML-kod är av

Forumhopp


Alla tider är i GMT +1. Klockan är nu 13:35.


Powered by: vBulletin Version 3.8.6
Copyright © webForum