Administración de Proyectos de Software Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Segundo Cuatrimestre de 2014 PROYECTO DE CURSADO Introducción Scrolling Vertical Shooter (SVS) es un subgénero de los videojuegos de naves y disparos. En un SVS la acción se ve desde arriba y la pantalla se desplaza de arriba a abajo (o de abajo a arriba, ocasionalmente). Ello tiene la ventaja de permitir complejos patrones de enemigos así como de hacer posible que gráficos simples funcionen de forma convincente. El objetivo es avanzar, utilizando una nave, a través de un nivel el cual presenta enemigos (otras naves) y un jefe o enemigo final. Un ejemplo de este tipo de juego es el clásico “1942”. Figura 1: Juego online: http://nintendo8.com/game/268/1942/ Características de la versión a implementar Cada comisión deberá implementar un juego tipo SVS similar a “1942”. Algunas de las características a tener en cuenta para el juego son: Sólo se implementará un nivel, el cual deberá incluir naves enemigas y una nave final o jefe. Si la comisión lo desea, pueden implementar más niveles. El juego será similar a “1942” pero no necesariamente igual ni siguiendo la misma temática. Cada comisión tiene libertad al elegir la historia asociada al juego. Se deberán incluir diferentes tipos de naves como nave del jugador. El jugador elegirá con cual nave jugar al comienzo del nivel. Cada nave deberá tener un perfil diferente, por ejemplo: una nave que Administración de Proyectos de Software Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Segundo Cuatrimestre de 2014 favorezca la velocidad, otra que resista más disparos, etc. Mínimo, se requieren dos naves diferentes. Visualmente las naves deben ser diferentes. Se deberán incluir diferentes tipos de naves enemigas. Las naves enemigas deberán diferir en características funcionales (velocidad, fuerza de disparo, etc) y estéticas. Por lo menos se deben tener tres tipos de naves enemigas, además de contar con mínimo un tipo de nave enemiga que entrega power-ups. Se debe mantener un puntaje asociado al jugador. Las condiciones para aumentar dicho puntaje son decisión de la comisión. El juego termina cuando se destruye la nave jefe final o el jugador muere. Las condiciones para la muerte del jugador son decisión de la comisión. El juego ofrecerá la posibilidad de mejorar el arma de la nave mediante powerups que aparecen en la pantalla cuando se destruya algún enemigo en particular. El requerimiento mínimo para el proyecto es un único tipo de armas con tres niveles de potencia de disparo (el cambio de nivel se hará mediante los powerups). Visualmente y funcionalmente los tres niveles de disparo deben ser diferentes. Opcionalmente se pueden tener diferentes tipos de armas con diferentes niveles cada una. Además de realizar disparos, el jugador podrá lanzar una bomba que destruirá a todos los enemigos en pantalla. Al inicio del nivel el jugador sólo tendrá dos bombas pero podrá recolectar más como powerups. Un dato curioso I: Hagan una búsqueda por imágenes en Google escribiendo “vertical shooter” y podrán ver todas las posibles variantes de este tipo de juego. Un dato curioso II: Aero Fighter 2 es, a opinión del asistente de TdP, el mejor exponente de los SVS. Pueden ver el juego acá https://www.youtube.com/watch?v=Cwz-PAtYJ-k Trabajo a realizar Este proyecto se desarrollará durante todo el cuatrimestre en conjunto con la materia “Tecnología de programación” (TdP). Su responsabilidad es la de ser el líder del proyecto e incluye: establecer el alcance del proyecto, planificar su desarrollo y ejecutar la planificación desarrollada dirigiendo el equipo de trabajo. El equipo estará conformado por: hasta 2 alumnos de Administración de proyectos de software, quienes tendrán dentro de sus responsabilidades las anteriormente descriptas y todas las tareas que se describen en la siguiente sección del enunciado, hasta 3 alumnos de Tecnología de programación, quienes tendrán dentro de sus responsabilidades el diseño 1 y la implementación de los elementos necesarios para cumplir con la especificación funcional. El objetivo de esta propuesta es que ambas materias trabajen en conjunto y puedan lograr un mejor resultado. La nota final del proyecto reflejará el trabajo realizado por las dos comisiones. Aclaraciones: El proyecto que usted lidera podrá ser implementado simultáneamente por varios equipos de diseño y desarrollo. Podrá establecer diferencias en la especificación para cada equipo pero deberá validarlas con el cliente (la cátedra de Administración de proyectos de software). 1 Con las limitaciones que determine la cátedra de TdP. Las tareas de diseño restantes que resulten necesarias estarán a cargo de los alumnos de APS Administración de Proyectos de Software Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Segundo Cuatrimestre de 2014 Descripción detallada de tareas y entregas A partir de la descripción dada del sistema deberán dar comienzo a las etapas de definición y planificación del proyecto. Las tareas a realizar, con sus respectivos documentos entregables se detallan en la siguiente tabla: Id Descripción de la actividad A1 Elaborar el Enunciado General del Proyecto. Este documento se utilizará como EG=Enunciado General del Proyecto herramienta de comunicación y negociación con el cliente y para establecer (o POS=Project Overview los siguientes pasos de la definición de la propuesta. Statement). E1 Martes 19 de Agosto A2 Elicitar y especificar los requerimientos del sistema, el cual debe tener todas las características de calidad discutidas en clase. Se deberá realizar un análisis Documento de Especificación de cuidadoso que permita determinar la existencia de atributos críticos y Requerimientos. especificarlos correctamente. E2 Jueves 28 de Agosto A3 Documento de Análisis de Riesgos – Analizar los riesgos del proyecto, clasificarlos, evaluar su impacto. Elaborar Plan de Reducción, Supervisión y plan RSGR. Gestión del Riesgo (Plan RSGR). Determinar las actividades y tareas que componen el proyecto. A4 Entregable Entrega Fechas Estructura de descomposición del trabajo (WBS). A5 Determinar las dependencias entre actividades y sus requerimientos de recursos. Listado de Para cada tarea debe estar claramente especificado cuál o cuáles son los entregables. entregables que produce. A6 Determinar la duración de las tareas y del proyecto en general, estudiar dependencias y restricciones. Generar diagramas de red que permitan Planificación. Diagrama de red con representar esta información y relacionarla de manera adecuada mediante las dependencias. herramientas vistas en clase. Identificar el camino crítico. actividades E3 y A7 Determinar los recursos necesarios para el proyecto y su asignación a las Organización del equipo de trabajo. actividades y tareas. A8 Establecer y detallar el costo del proyecto. Producir el documento completo Propuesta de Proyecto. de la Propuesta de Proyecto. E4 Martes 16 de Septiembre E5 Jueves 09 de Octubre E6 Martes 21 de Octubre E7 Jueves 12 de Nov. E8 Jueves 27 de Noviembre Presentación para exposición oral en clase. A9 Preparar una presentación de la propuesta para el cliente. A10 Elaborar un plan de métricas que indique para cada etapa del proyecto cuáles Plan de métricas. son las métricas que se utilizaran y cómo se aplicaran. A11 Aplicar el conjunto de métricas solicitado por el cliente para la primera etapa. Resultados de aplicación Analizar los resultados y elaborar un informe con las conclusiones. métricas: primer grupo. A12 Presentar los resultados de la etapa de desarrollo del proyecto al cliente. A13 Aplicar el conjunto de métricas solicitado por el cliente para la segunda etapa. Resultado Analizar los resultados y elaborar un informe con las conclusiones. métricas. Jueves 4 de Septiembre de Implementación: ejecutables / prototipo (entregable acordado previamente con el cliente). de aplicación de A14 Elaborar un informe sobre las tareas realizadas durante el proyecto, presentar Documento de cierre de Proyecto. los éxitos, explicar fracasos si los hubiera. Presentar las conclusiones. A15 Preparar una presentación de conclusiones para el cliente. Presentación para exposición oral de final de proyecto. Administración de Proyectos de Software Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Segundo Cuatrimestre de 2014 Observaciones A4-A12– Durante este período habrá fechas de entrega que quedarán determinadas en función de las planificaciones de los proyectos. Con cierta periodicidad se podrá solicitar a las comisiones un breve resumen del estado del proyecto que comentarán en una reunión de avance con el cliente. Esta reunión se realizará en horario de clase práctica. La documentación correspondiente a cada entrega deberá presentarse de manera impresa en horario de clase, y también a través del sistema de administración de proyectos colaborativos Redmine. Las entregas remarcadas en color gris tienen carácter opcional en la fecha indicada, aunque sus entregables también forman parte del Documento de Propuesta de Proyecto (ES) por lo que es recomendable cumplir con la entrega para contar con una corrección por parte de la cátedra. Importante: Las presentaciones orales en clase son de carácter obligatorio para todos los miembros de la comisión.