Activitats

Diagrama estàtic d'un MUD

L’objectiu d’aquesta activitat és aprendre a crear un diagrama estàtic UML partint d’unes classes ja identificades, establint les seves relacions.

Els MUD (Multi User Dungeon, masmorra multijugador) són jocs en línia, tradicionalment amb una interfície d’usuari en text. El jugador porta un personatge que es mou per diferents localitzacions, on ha de superar certes dificultats i lluitar contra monstres. Tant el personatge del jugador com els enemics tenen un conjunt de propietats (força, destresa, saviesa, professió, nivell de lluita…) que estableixen la seva capacitat per tenir èxit quan emprenen qualsevol acció.

Aquests jocs estan inspirats en les antigues aventures conversacionals i es poden considerar clarament els precursors dels MMORPG (Massively Multiplayer Online Role-playing Game, joc de rol en línia massiu multijugador).

A l’hora de fer-ne un, s’han identificat les classes següents:

  • Jugador: els personatges que juguen la partida.
  • Monstre: els enemics que es desplacen pel joc.
  • Sala: les sales o les ubicacions que conformen el laberint del joc.
  • Ítem: els objectes que es pot trobar per les sales i que poden agafar els jugadors.
  • SortidaSala: els elements dins les sales que permeten passar a una altra ubicació.

A partir d’aquestes classes, genereu el diagrama estàtic UML del joc, especificant les relacions que creieu que hi ha d’haver entre elles.

Sobre aquesta possible solució, val la pena comentar la cardinalitat origen entre Sala (o Jugador) i Item (0..1). Aquí cal tenir en compte que un ítem pot estar, o bé en una (i només una) sala o en un (i només un) jugador. Per tant, si està en una sala (es compleix la cardinalitat 1), no pertany a cap jugador (la cardinalitat cap a jugador és 0) i viceversa.

Figura

Un editor de text

L’objectiu d’aquesta activitat és aprendre a generar diagrames estàtics UML que reflecteixin la descomposició d’un problema.

Cal efectuar el diagrama estàtic UML d’un document tal com el podria generar el processador de textos d’un paquet ofimàtic (Openoffice, MS Office…). Recordem que en el procés de disseny no s’ha de representar cap aspecte relatiu a la interfície d’usuari.

En aquest cas, es tracta d’un enunciat obert, no hi ha una descripció prèvia específica, on l’estudiant pot triar el grau de complexitat en base al nivell de detall que vulgui assolir. De totes maneres, no cal arribar a un nivell de concreció gaire alt (controlar paraules o caràcters individuals dins el text).

Figura

Agregacions

L’objectiu d’aquesta activitat és aprendre a justificar quan usar un tipus d’associació o un altre.

Donada la següent associació entre classes, cal justificar per què és una agregació, però no una composició o una associació simple.

Figura

Un encàrrec és un conjunt de peticions de tipus de productes, per tant la relació “és part de” o “conté” es compleix i és justificable representar-ho com una agregació o com una composició.

No es tracta d’una composició a causa de la restricció en aquest tipus d’associacions que, donat un dels components, només pot formar part d’un únic agregat. O sigui, la cardinalitat a la banda de l’agregat ha de ser forçosament “1”. Això no es compleix aquí (és “*”).

Per tant, es tracta només d’una agregació.

El joc del Monopoly

L’objectiu d’aquesta activitat és, partint exclusivament dels objectes identificats, generar el diagrama estàtic UML.

En analitzar el joc de taula del Monopoly, s’han identificat els objectes següents:

Figura

Genereu el diagrama estàtic UML corresponent, indicant quines són les classes i les relacions entre elles. Per a cada relació cal indicar la cardinalitat i la navegabilitat. No cal especificar atributs ni operacions.

Figura

Mapes de classes i diagrama estàtic

L’objectiu d’aquesta activitat és analitzar mapes d’objectes per establir si són correctes donat un diagrama estàtic UML concret.

Donats els següents mapes d’objectes relatius al diagrama estàtic UML proposat com a solució del joc del Monopoly, cal identificar quins són correctes d’acord al diagrama (però només al diagrama) i quins no. En el darrer cas, justificar-ho.

Figura

a) Incorrecte. Un bitllet només pot estar associat a 0..1 jugador.

b) Correcte. Tot i així, conceptualment no ho és (un bitllet no pot ser de la banca i d’un jugador alhora). És un clar exemple de necessitat d’una restricció textual.

c) Correcte.

d) Incorrecte. Una casella sempre està associada al tauler, ja que aquest darrer és una composició, i per tant la seva cardinalitat és 1 a l’extrem de la classe Tauler.

e) Incorrecte. D’acord al diagrama estàtic UML , els títols de propietat i les cases no estan associats.

Anar a la pàgina anterior:
Introducció al diagrama estàtic UML
Anar a la pàgina següent:
Exercicis