Torneos Virtuales 2º Cuatrimestre 2009 Técnicas de Diseño 75.10 -Grupo D-

Slides:



Advertisements
Presentaciones similares
Red Social: “Un millón de Amigos”.
Advertisements

Plan de Implantación Sistemas de Información III
Presentación del estado del arte
Red Social: “Un millón de Amigos”.
También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
FIUBA Organización De Datos Grupo 10 Primer Cuatrimestre 2008.
Estructura de Datos Unidad 4. Recursividad Dra. María Lucía Barrón Estrada Enero-Junio 2007.
2. Diseño y Desarrollo del Producto
Arquitectura Orientada a Servicios (SOA)
Patrones de Diseño GEYFFER ALEXANDER ACOSTA CRISTHIAN DOUGLAS CASTRO
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
Proyecto Ajedrez Amigo Synddy Herrera Isaac Muñoz Sebastián Rozas Taller Proyecto Integral Jorge Saavedra
TOGAF.
75.10 Técnicas de Diseño Grupo E
Grupo Milanesa Integrantes: Agüero, Lucas Romero, Fernando Schild, Marcelo.
Proyecto de Ingeniería de Software 2008
Presentación a la directora del proyecto Friend-Buster (Caza-Amigos) – PIS 2010.
Etapas y actividades en el desarrollo OO basado en UML
Presentación Final Equipo 4
Presentación del estado del arte
CheckIn4Android.
DIAGRAMAS DE CLASES Completando los diagramas de interacción, es posible identificar la especificación de las clases que participarán en la solución indicando.
El concepto de clase Con frecuencia un término puede definirse de diferentes maneras según el enfoque. Desde el punto de vista del análisis y el diseño.
Profesor: Miguel Angel Vidal
PLANEACION DE UNA ESTRUCTURA ORGANIZACIONAL
Trabajo Práctico Taller de Desarrollo de Proyectos 2 Septiembre 2009.
Contexto: Aplicación gráfica.  Siempre que se piensa en separar la funcionalidad de una aplicación de su interacción con el usuario, bien sea una aplicación.
BLOQUE II: APRENDAMOS A JUGAR EN EQUIPO
VHDL.
Diseño de Sistemas. Patrones de Diseño. Geronimo Manso.
STARUML.
Ciclos de vida ágiles.  Es una metodología ágil que plantea: ◦ Iteraciones cortas ◦ Entregables periódicos ◦ Colaboración con el cliente full time ◦
DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
 Tema del proyecto  Integrantes y roles del equipo  Objetivos del proyecto  Alcance.
Torneos Virtuales 2º Cuatrimestre 2009 Técnicas de Diseño Grupo D-
Ingeniería de Software
Patrones Creacionales
InfoPath Ventajas y Uso.
Proyecto Ajedrez Amigo Synddy Herrera Isaac Muñoz Sebastián Rozas Taller Proyecto Integral Jorge Saavedra
Arquitectura de Máquinas Computadoras II
Juan Manuel Perdigón Mario Felipe Monsalve
EXAMEN DE DISEÑO INSTRUCCIONAL PRIMER PARCIAL.
DISEÑO DE LA INVESTIGACIÓN
Proyecto Ajedrez Amigo Synddy Herrera Isaac Muñoz Sebastián Rozas Taller Proyecto Integral Manuel Rojas Jorge Saavedra
BLOQUE IV: COOPERACIÓN Y CONFRONTACIÓN EN ACTIVIDADES PARADÓJICAS
INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN PROYECTO FIN DE CARRERA
Herencia. Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente, estamos re-usando.
Tema 6: Programación L. Enrique Sucar Marco López ITESM Cuernavaca
Facultad de Ingeniería
Ingeniería del software
Proyecto Ajedrez Amigo Synddy Herrera Isaac Muñoz Sebastián Rozas Taller Proyecto Integral Jorge Saavedra
Diseño de Sistemas.
Introducción a UML Departamento de Informática Universidad de Rancagua
CONTRATOS DE CLIENTES Orlando Sedamano Cornejo Marco Bustinza
Algoritmos y Programación III
Roles de Open UP.
Patrones de diseño equipo n.1
PROYECTO ECOS.  Producto desarrollado  Problemas encontrados  Riesgos materializados  PIP.
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
Proyecto Ajedrez Amigo Synddy Herrera Isaac Muñoz Sebastián Rozas Taller Proyecto Integral Jorge Saavedra
Diseño de procesos EMPN Especialidad en mejora de procesos de negocio Mtro. Humberto Pérez Ortiz.
Prof. Joel Moreno Molina
Proceso de Diseño de Interfaces
Torneos Virtuales Técnicas de Diseño – 2 cuatrimestre 2009 Grupo D.
Preocupaciones del Analista Programador & Usuarios
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Tipo.
Patrones de Diseño Agustín J. González ElO329.
Integrantes: Castro José República Bolivariana De Venezuela Ministerio Del Poder Popular Para La Educación Superior Instituto Universitario Tecnológico.
“ Un Modelo UML indica que es lo que supuestamente hará el sistema, más no cómo lo hará.” INTRODUCCIÓN UML OMAR HERNÁNDEZ OLIVARES.
Taller de Desarrollo de Proyectos II (75.47) 2º cuatrimestre 2008.
Transcripción de la presentación:

Torneos Virtuales 2º Cuatrimestre 2009 Técnicas de Diseño Grupo D-

Contenido Requerimientos del simulador Información general del proyecto Descripción de Arquitectura Patrones utilizados Posibilidades de extender la aplicación Desafíos del proyecto Mejoras para nuevas versiones Demo / Muestra de código

Requerimientos del simulador Jugadores actúan de acuerdo a su posición en cancha. Acciones: patear, marcar, avanzar, atajar. Diseño flexible para agregar nuevas jugadas y estrategias Jugadores en contacto  Habilidades + factor de azar definen acciones. Detección de faltas y expulsiones

Información general del proyecto Herramientas y tecnologías: Datos sobre la base de código: 3950 Líneas de código (incluidos los tests unitarios) 393 commits de SVN Alojado en Java Log4j JUnit ant Javadoc Ambientes de desarrollo: Windows GNU/Linux Ubuntu 9.10

Descripción de Arquitectura

Vista lógica (I) Descripción de Arquitectura (cont.) - Clases del Modelo de Análisis

Vista lógica (II) Descripción de Arquitectura (cont.) - Mediador de Acciones (I) ¿Qué ocurre cuando dos jugadores chocan? (1) Falta (2) Conflicto de Pelota (3) Conflicto de Posición

Vista lógica (III) Descripción de Arquitectura (cont.) - Mediador de Acciones (II) (1) Falta AR=Agresividad/Resistencia AR Jugador s/pelota > AR Jugador c/pelota  ¡Hay falta! ¿Hay Falta?  Castigar a Jugador s/pelota

Vista lógica (IV) Descripción de Arquitectura (cont.) - Mediador de Acciones (III) (2) Conflicto de Pelota private int calculoMarcacion(HabilidadesJugador hab){ int Pm=3; /* ponderacion de habilidad de marcacion */ int Pv=2; /* ponderacion de velocidad */ int Pa=1; /* ponderacion azar */ int azar= Naturaleza.getInstancia().generarValorEnteroAleatorio(0, 10); return (hab.getHabilidadMarcando()*Pm +hab.getHabilidadVelocidad()*Pv + azar*Pa)/(Pm+Pv+Pa); } private int calculoGambeta(HabilidadesJugador hab){ int Pc=3; /* ponderacion de habilidad corriendo */ int Pg=2; /* ponderacion de gambeta */ int Pa=1; /* ponderacion azar */ int azar= Naturaleza.getInstancia().generarValorEnteroAleatorio(0, 10); return (hab.getHabilidadCorriendo()*Pc +hab.getHabilidadGambeta()*Pg +azar*Pa)/(Pc+Pg+Pa); }

Vista lógica (V) Descripción de Arquitectura (cont.) - Mediador de Acciones (IV) (3) Conflicto de Posición private int calculoVelocidadCorriendo(HabilidadesJugador hab) { int Pc=2; /* ponderacion de habilidad corriendo */ int Pv=3; /* ponderacion de velocidad */ int Pa=1; /* ponderacion azar */ int azar= Naturaleza.getInstancia().generarValorEnteroAleatorio(0, 10); return (hab.getHabilidadMarcando()*Pc +hab.getHabilidadVelocidad()*Pv + azar*Pa)/(Pc+Pv+Pa); }

Vista lógica (VI) Descripción de Arquitectura (cont.) - Secuencia de un tick de juego

Vista de componentes Recibe dos parámetros de entrada. Más detalles en Vista de Despliegue. Único componente: ¡TRIVIAL! simulador.jar Descripción de Arquitectura (cont.)

Vista de procesos Descripción de Arquitectura (cont.) ¿ ?

Vista de Despliegue (I) Descripción de Arquitectura (cont.)

Vista de Despliegue (II) Descripción de Arquitectura (cont.) java –jar simulador.jar configuracion.xml [salida.xml] Si no se especifica salida, default: simulacion_principal.xml

Descripción de Arquitectura (cont.) Vista de Casos de Uso ¿ ?

Patrones de diseño utilizados Builder Singleton Strategy Command Observer Mediator

Builder (I) Patrones de diseño utilizados (cont.) ¿Dónde? ¿Por qué?

Builder (II) Patrones de diseño utilizados (cont.)

Partido Mediador de Acciones Naturaleza EventQueue Singleton Patrones de diseño utilizados (cont.) ¿Dónde? ¿Por qué? Por la necesidad de tener una única instancia de cada clase para ser accedida desde diferentes lugares

Patrones de diseño utilizados (cont.) Strategy (I) ¿Dónde? ¿Por qué?

Patrones de diseño utilizados (cont.) Strategy (II)

Patrones de diseño utilizados (cont.) Command (I) ¿Dónde? ¿Por qué?

Command (II) Patrones de diseño utilizados (cont.)

Observer (I) ¿Dónde? ¿Por qué? Patrones de diseño utilizados (cont.)

Observer (II) Patrones de diseño utilizados (cont.)

¿Dónde? ¿Por qué? Mediator Patrones de diseño utilizados (cont.)

Posibilidades de extensión Creación de nuevos comandos. Crear estrategias propias defensivas u ofensivas. ¡No requiere recompilación! ¿Por qué? Creación de nuevas jugadas

Desafíos del proyecto Trabajar en un grupo de muchos integrantes. Numerosas soluciones propuestas. Definir protocolo para la comunicación con la aplicación del otro grupo, codificada con otras tecnologías. Poco tiempo para implementar. La etapa de testing es compleja.

Mejoras para nuevas versiones

Demo / Muestra de código

¿Preguntas?

Miguel Abate Gabriel Cartuccia Mauro Cohen Federico Goldenberg María Eugenia Liva Lucas Mancini Pablo Mazzini Mario Silisque ¡Muchas Gracias! Grupo D