ejemplo 57 bbm fcc - buap primavera 2015 herencia: vehiculo # dueno: string # puertas: int # ruedas:...

14
Ejemplo 1 BBM FCC - BUAP Primavera 2015 Herencia:

Upload: elvira-ceniceros

Post on 22-Jan-2016

274 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Ejemplo 57 BBM FCC - BUAP Primavera 2015 Herencia: Vehiculo # dueno: string # puertas: int # ruedas: int + Vehiculo() + ~Vehiculo() + caracteristicas():

Ejemplo

1

BB

MF

CC

- B

UA

P

Prim

aver

a 20

15

• Herencia:

Page 2: Ejemplo 57 BBM FCC - BUAP Primavera 2015 Herencia: Vehiculo # dueno: string # puertas: int # ruedas: int + Vehiculo() + ~Vehiculo() + caracteristicas():

Ejemplo

2

BB

MF

CC

- B

UA

P

Prim

aver

a 20

15

• Agregación:• Un Almacen posee Clientes y

Cuentas (los rombos van en el objeto que posee las referencias).

• Cuando se destruye el Objeto Almacen también son destruidos los objetos Cuenta, en cambio no son afectados los objetos Cliente.

• La composición (por Valor) se destaca por un rombo relleno.

• La agregación (por Referencia) se destaca por un rombo transparente.

Page 3: Ejemplo 57 BBM FCC - BUAP Primavera 2015 Herencia: Vehiculo # dueno: string # puertas: int # ruedas: int + Vehiculo() + ~Vehiculo() + caracteristicas():

Ejemplo• Asociación:

• Un cliente puede tener asociadas muchas Ordenes de Compra, en cambio una orden de compra solo puede tener asociado un cliente.

3

BB

MF

CC

- B

UA

P

Prim

aver

a 20

15

1 0 .. *

Page 4: Ejemplo 57 BBM FCC - BUAP Primavera 2015 Herencia: Vehiculo # dueno: string # puertas: int # ruedas: int + Vehiculo() + ~Vehiculo() + caracteristicas():

Ejemplo• Dependencia:

• El uso más particular de este tipo de relación es para denotar la dependencia que tiene una clase de otra, como por ejemplo una aplicación grafica que instancia una ventana (la creación del Objeto Ventana esta condicionado a la instanciación proveniente desde el objeto Aplicacion).

4

BB

MF

CC

- B

UA

P

Prim

aver

a 20

15

Page 5: Ejemplo 57 BBM FCC - BUAP Primavera 2015 Herencia: Vehiculo # dueno: string # puertas: int # ruedas: int + Vehiculo() + ~Vehiculo() + caracteristicas():

• Clase Abstracta:

5

BB

MF

CC

- B

UA

P

Prim

aver

a 20

15Ejemplo

Page 6: Ejemplo 57 BBM FCC - BUAP Primavera 2015 Herencia: Vehiculo # dueno: string # puertas: int # ruedas: int + Vehiculo() + ~Vehiculo() + caracteristicas():

Ejemplo• Clase parametrizada:

6

BB

MF

CC

- B

UA

P

Prim

aver

a 20

15

KEY, ITEM

Page 7: Ejemplo 57 BBM FCC - BUAP Primavera 2015 Herencia: Vehiculo # dueno: string # puertas: int # ruedas: int + Vehiculo() + ~Vehiculo() + caracteristicas():

Biblioteca• Una biblioteca contiene libros y revistas. Puede haber varias

copias de un libro.• Algunos de los libros son reservados sólo para préstamos a

corto plazo. Todos los otros pueden ser prestados a cualquier miembro de la biblioteca por tres semanas.

• Los miembros de la biblioteca pueden normalmente solicitar hasta seis items de una vez, pero miembros del staff pueden solicitar hasta doce items a la vez. Solamente miembros del staff pueden obtener prestado revistas.

• El sistema debe conservar la pista de cuando los libros y revistas son prestados y retornados forzando las reglas de la biblioteca.

7

BB

MF

CC

- B

UA

P

Prim

aver

a 20

15

Page 8: Ejemplo 57 BBM FCC - BUAP Primavera 2015 Herencia: Vehiculo # dueno: string # puertas: int # ruedas: int + Vehiculo() + ~Vehiculo() + caracteristicas():

Biblioteca• Una biblioteca contiene libros y revistas. Puede haber varias

copias de un libro.• Algunos de los libros son reservados sólo para préstamos a

corto plazo. Todos los otros pueden ser prestados a cualquier miembro de la biblioteca por tres semanas.

• Los miembros de la biblioteca pueden normalmente solicitar hasta seis items de una vez, pero miembros del staff pueden solicitar hasta doce items a la vez. Solamente miembros del staff pueden obtener prestado revistas.

• El sistema debe conservar la pista de cuando los libros y revistas son prestados y retornados forzando las reglas de la biblioteca.

8

BB

MF

CC

- B

UA

P

Prim

aver

a 20

15

Page 9: Ejemplo 57 BBM FCC - BUAP Primavera 2015 Herencia: Vehiculo # dueno: string # puertas: int # ruedas: int + Vehiculo() + ~Vehiculo() + caracteristicas():

Clases Candidatas•Biblioteca Nombre del Sistema•Libro•Revista•Copia•PréstamosACortoPlazo evento•MiembroDeBiblioteca•Semana medida•Item libro o revista•Tiempo término abstracto•MiembroDelStaff•Sistema término general•Regla término general

9

BB

MF

CC

- B

UA

P

Prim

aver

a 20

15Biblioteca

Page 10: Ejemplo 57 BBM FCC - BUAP Primavera 2015 Herencia: Vehiculo # dueno: string # puertas: int # ruedas: int + Vehiculo() + ~Vehiculo() + caracteristicas():

BibliotecaRelaciones entre clases

•Libro es un Item•Revista es un Item•Copia es una copia de Libro•MiembroDeBiblioteca•Item•MiembroDeStaff es un MiembroDeBiblioteca

¿Es el Item necesario?10

BB

MF

CC

- B

UA

P

Prim

aver

a 20

15

Page 11: Ejemplo 57 BBM FCC - BUAP Primavera 2015 Herencia: Vehiculo # dueno: string # puertas: int # ruedas: int + Vehiculo() + ~Vehiculo() + caracteristicas():

Operaciones

•MiembroDeBiblioteca pide prestadoCopia•MiembroDeBiblioteca devuelve Copia•MiembroDeStaff pide prestado Revista•MiembroDeStaff devuelve Revista

11

BB

MF

CC

- B

UA

P

Prim

aver

a 20

15Biblioteca

Page 12: Ejemplo 57 BBM FCC - BUAP Primavera 2015 Herencia: Vehiculo # dueno: string # puertas: int # ruedas: int + Vehiculo() + ~Vehiculo() + caracteristicas():

Diagrama de clase

12

BB

MF

CC

- B

UA

P

Prim

aver

a 20

15Biblioteca

1

prestamo

0..12

1

prestamo

0..6

Es copia de

1..* 1

Page 13: Ejemplo 57 BBM FCC - BUAP Primavera 2015 Herencia: Vehiculo # dueno: string # puertas: int # ruedas: int + Vehiculo() + ~Vehiculo() + caracteristicas():

EjercicioLos requisitos para la gestión de nuestro videojuego son los siguientes: •En el videojuego aparecerán: personajes, enemigos, objetos muebles (o móviles) y objetos inmuebles (o inmóviles). Algunos ejemplos de objetos inmuebles son: muros, torres, árboles, etc. Ejemplos de objetos muebles son: alimentos, proyectiles, armas, etc. •Todos los elementos anteriores dispondrán de unas coordenadas “x” e “y” para ubicarlos. •Los personajes y los enemigos disponen de: nivel de energía, número de vidas y capacidad ofensiva (todos ellos son números enteros).

13

BB

MF

CC

- B

UA

P

Prim

aver

a 20

15

Page 14: Ejemplo 57 BBM FCC - BUAP Primavera 2015 Herencia: Vehiculo # dueno: string # puertas: int # ruedas: int + Vehiculo() + ~Vehiculo() + caracteristicas():

Continuación…• Los personajes (sólo los personajes) pueden recoger hasta tres

objetos muebles en una mochila. • Las armas son objetos muebles y constan de un nivel de

energía y de un factor • potenciador de la capacidad ofensiva de los personajes.

Se pide: a)Identificar las clases y sus relaciones, y para cada clase indicar

todos los atributos. b)Especificar el diagrama de clases.

14

BB

MF

CC

- B

UA

P

Prim

aver

a 20

15