Göm meny

Algoritmseminarium 3

På algoritmsemiariet i Tema 6 ska ni med hjälp av UML-diagram titta på hur ett system byggs upp, och diskutera detta med de andra pargrupperna.

Om deltagande

För att alla ska få ut så mycket som möjligt av seminariet som möjligt är det viktigt att ni förbereder ett UML-diagram inför seminariet (detaljer nedan).

Genomförande

Varje pargrupp ingår i en seminariegrupp tillsammans med två andra pargrupper. Seminariegrupperna hittar ni på temats gruppsida.

Förbered ett UML-diagram över ett bibliotekssystem

Inför seminariet ska ni förbereda ett klassdiagram i UML (endast relationen association behöver användas) över ett bok-katalogsystem som hade kunnat tänkas användas i ett bibliotek. Det här systemet ska klara av följande:

  • lagra information om de böcker som är i systemet
  • låna ut böcker
  • hålla reda på de personer som varje utlånad bok är utlånad till

Ni kommer behöva använda flera klasser med olika metoder och instansvariabler, men exakt vilka klasser som används, vad de gör och hur informationen sparas är upp till er. Fundera på vilka klasser som ska ha vilka uppgifter (ovanstående funktionalitet kan behöva delas upp i steg) och hur man representerar den information som krävs i instansvariabler, samt vilken klass som har hand om den informationen.

Ta med minst en papperskopia (utskriven eller ritad) av ert diagram till seminariet.

OBS! Det är inte nödvändigt att ert diagram är “perfekt”, utan det kommer bara att användas som grund för diskussion under seminariet. Använd seminariet som ett tillfälle att rätta till eventuella missar och brister inför algoritmrapporten! Det enda som krävs är att ni i alla fall har gjort ett försök att implementera funktionaliteten ovan.

UML resurser

Verktyg

Det går jättebra att rita ert klassdiagram med papper och penna. Om ni vill använda något mjukvaruverktyg finns t.ex. följande:

Diskussion inför algoritmrapporten

På seminariet visar varje pargrupp upp och beskriver kort sitt diagram i tur och ordning, (whiteboard-tavlan kan användas om så önskas) medan de övriga i gruppen lyssnar aktivt.

Efter att ha gått igenom alla pargruppers diagram används den resterande seminarietiden för att gemensamt diskutera objektorientering och projektplanering, t.ex. i form av följande frågor:

  • Hur har de olika pargrupperna valt att strukturera systemet? Liknar versionerna varandra? Finns det ännu fler sätt som systemet hade kunnat utformas på?
  • Varför använda UML-diagram - Vilka sorts problem löser de?
  • Det är ofta bra att tänka på hur ett program ska struktureras innan man sätter sig ner och börjar koda. Varför?
  • Hur mycket är det möjligt att veta om ett system utan att behöva skriva en enda rad kod?

Uppgiften som ni förbereder till det här seminariet är en förenklad version av vad ni behöver göra för 3 poäng på Algoritmrapport 3, så när ni har gjort uppgiften och varit med på seminariet så bör ni ha en god grund för att skriva rapporten, oberoende av nivå.

Komplettering

Vid frånvaro, skicka in din/ert UML-diagram (scannad eller digital kopia) för att få en alternativ version som du/ni jämför med din/er version. En diskussion på ca 1 sida av ovanstående punkter skickas sedan in via Lisam.


Sidansvarig: Jody Foo
Senast uppdaterad: 2021-07-02