domingo, 1 de mayo de 2011

Ejemplo de Diagrama de Clases

Tarea #1 Para el blog, de Algoritmos y Programación III (Universidad Católica Andrés Bello)

El enunciado del ejercicio es el siguiente:


Steve es un amante de los animales, pero a la vez un geek de la programación. El colecciona arañas, gatos y peces y ha decidido hacer un pequeño sistema para poder manejar su colección de animales. Para ello ha podido generar la siguiente información:

Las arañas, gatos y peces son animales. Todo animal tiene un número de patas  (8,  4 y O respectivamente). Por lo general un animal puede caminar y comer, aunque evidentemente cada uno de ellos lo hace de forma diferente (los peces por ejemplo, no caminan). A los gatos y a los peces por lo general se les da un nombre y ambos son mascotas (a las arañas no importa darles un nombre y mucha gente considera que no son mascotas). Por cada mascota se desea poder darle un nombre, saber cual es ese nombre y jugar con él, aunque no todos los animales juegan de la misma manera.

¿Puedes tratar de generar un diagrama de clases en UML que permita darle solución a la información suministrada por Steve?. Recuerda que él puede tener varios animales.

Mi solución es la siguiente.



-Clase Fish:
     La Cual tiene su atributo (nombre) ya que el enunciado especifica que toda mascota se le puede asignar uno. Manejo un constructor el cual manipulara el nombre y numero de patas del pescado, también podemos ver el Set and Get para poder visualizar u escribir el nombre del animal, el método eat y por último el método para jugar.

-Clase Cat:
    Exactamente a nuestra anterior clase no hay mayores cambios.

-Clase Spider:
    En esta clase podemos observar que solamente tiene su constructor y el método eat, ya que como lo dice el enunciado a las Arañas no se les considera mascotas por lo tanto no se les asigna un nombre.
 
-Clase Pet:
   Nuestras clases bases (pet y fish) implementan esta clase para obtener/fijar el nombre de una mascota o jugar.

-Clase Animal:
    Es la generalización de nuestras clases bases tanto pet, fish como spider son animales y esta clase tiene los métodos respectivos para caminar y comer.

-Clase ListAnimal
    Una clase controladora, donde podemos borrar/agregar/modificar/buscar todos los animales de Steve.

Nota: Podemos ver la imagen en inglés ya que este semestre podemos decir que es un "Standard" en la materia.

No hay comentarios:

Publicar un comentario