ELO 329: Diseño y Programación Orientada a Objetos
Proyecto Grupal
Flocking

Integrantes: Lukas Perez

Definición del Proyecto:  El proyecto trata de simular comportamientos de masa. Lo que se refiere que un ser con conducta propia en conjunto tiene un único comporta miento. Este fenómeno de conducta se refleja en la vida animal tanto como la vida cotidiana de cada persona. Porque por un lado tenemos las impresionantes respuestas de los cardumenes de peces hasta el echo que la gente a base de instinto y adoctrina miento responde de una forma peculiar en la vida.

Desarrollo: Para lograr la simulacion se usaron 3 principios basicos.
Cohesion: Mantener a rango lso integrantes de un grupo.
Alinacion: Los integrantes de un grupo se mueven en una unica direccion
Separacion: Los mienbros del grupo se alejan de individuos indeciados.

Al juntar estos 3 principios obtenemos la conducta parecida a la de un cardumen. Esto se debe a que es practicamente automatisada y se basa completamente en estimulos.
La demostracion se basara en objetos denominados Birds. La cual contienen en si 2 atributos importantes. Rango de deteccion y rango de cohesion. Y con ellos aplican los 3 principios basicos.

Analisis: Casos de uso:El Programa solo simula hasta 5 tipos de objetos que pueden interactuar. Lo cual su funcionalidad es limitada se espera que en futuras iteraciones simule Objetos con ambiente.
Birds Verdes: Objetos que solo interactúan a favor de su propia especie.
Birds azules: Igual que en el caso de los verdes.
Birds rojos: Simula depredadores que atacan los Birds Verdes y Azules
Birds obstáculos: Todo Birds evita los obstáculos.
Birds Comida: Atrae a los Birds.

Caso 1
Nombre:Crear Bird
Definicion:Crear un Bird y agregarlo al Flock
Actor:Usuario
Propósito: Crear un objeto que interactué con las bandadas

1. Usuario por medio de la interfaz solicita la creación de un Bird.
2. El bird se almacena en el Flock.


Caso 2
Nombre:Reiniciar el Flock
Definición:Crea una nueva bandada y elimina la anterior
Actor:Usuario
Propósito: Reiniciar la simulación.

1. Usuario por medio de la interfaz crea un nuevo Flock.
2. El nuevo Flock se genera y por medio de la papelera se elimina el anterior..


Caso 3
Nombre:Análisis de rangos
Definición:Le pide al simulador que muestre los rangos de detección
Actor:Usuario
Propósito: Ayuda en la comprension de este fenómeno.

1. Usuario por medio de la interfaz activa los rangos.
2. Flock llama a dibujar cada rango.

Diagramas:

Tarjetas Crc:

Se omitieron detalles para no dejar muy pesado el diagrama. Se evito poner todos los métodos que solo atribuyen a la seguridad de cada clase. Osea se evito los get de atributos privados y protegidos.

Prueba:



Problemas:
Error en el framework, no anda ejecutando el paint del canvas, sino del programa completo.
Solo manejo puntos. Se espera que en futura iteraciones se maneje áreas.

Futura iteraciones:
Estimulacion por medio de áreas. Esto ayuda ya que se podrían simular paredes. Mayor variedad en opsiones de simulacion, tanto como nuevos tipos de objetos. Se espera que en futura iteraciones se pueda simular gente en lugares con mucha gente, como salidas de estadio o la seguridad en malls


Codigo:
Codigo