![]() |
|
|
|||||||
| Programmering - Övrigt Övriga programmeringsrelaterade diskussioner. |
![]() |
|
|
Trådverktyg | Visningsalternativ |
|
|
#1 |
|
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
|
|
|
|
|
|
#2 |
|
Medlem
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! !?
|
|
|
|
|
|
#3 |
|
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?
|
|
|
|
|
|
#4 |
|
Medlem
Registrerad: 2000-07-29
Ort: Fredriksdal, Helsingborg
Inlägg: 9 908
Lösningar: 144 |
>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! !?
|
|
|
|
|
|
#5 |
|
Medlem
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: (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. |
|
|
|
|
|
#6 |
|
Medlem
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! !?
|
|
|
|
|
|
#7 | |
|
Medlem
Registrerad: 2001-11-18
Ort: Kalix
Inlägg: 3 494
Lösningar: 53 |
Citat:
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. |
|
|
|
|
|
|
#8 |
|
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
Senast redigerad av JuhuuGirL, 2012-05-20 klockan 19:26 |
|
|
|
|
|
#9 | |
|
Medlem
Registrerad: 2012-05-17
Inlägg: 4
Lösningar: 0 |
Citat:
Senast redigerad av JuhuuGirL, 2012-05-20 klockan 22:36 |
|
|
|
|
![]() |
| Trådverktyg | |
| Visningsalternativ | |
|
|