UN SISTEMA PARA EL REUSO DE COMPONENTES EN VIDEOJUEGOS DE ACCION BI-DIMENSIONALES

Tamaño: px
Comenzar la demostración a partir de la página:

Download "UN SISTEMA PARA EL REUSO DE COMPONENTES EN VIDEOJUEGOS DE ACCION BI-DIMENSIONALES"

Transcripción

1 PONTIFICIA UNIVERSIDAD CATOLICA DE CHILE ESCUELA DE INGENIERIA UN SISTEMA PARA EL REUSO DE COMPONENTES EN VIDEOJUEGOS DE ACCION BI-DIMENSIONALES RAUL ANDRES SANTELICES AHUES Tesis para optar al grado de Magister en Ciencias de la Ingeniería Profesor Supervisor: MIGUEL NUSSBAUM V. Santiago de Chile, 2000

2 PONTIFICIA UNIVERSIDAD CATOLICA DE CHILE ESCUELA DE INGENIERIA Departamento de Ciencia de la Computación UN SISTEMA PARA EL REUSO DE COMPONENTES EN VIDEOJUEGOS DE ACCION BI-DIMENSIONALES RAUL ANDRES SANTELICES AHUES Tesis presentada a la Comisión integrada por los profesores: MIGUEL NUSSBAUM V. RICARDO BAEZA Y. YADRAN ETEROVIC S. LIOUBOV DOMBROVSKAIA JUAN DIXON R. Para completar las exigencias del grado de Magister en Ciencias de la Ingeniería Santiago de Chile, 2000

3 A mis Padres, hermana, profesores y amigos, que me apoyaron mucho. A la memoria de Pablo Baltera Z. ii

4 AGRADECIMIENTOS Quisiera agradecer en primer término a mi profesor guía Miguel Nussbaum por todo el apoyo en favor de mi ingreso y permanencia en el programa de Magíster, y en particular durante el desarrollo de mi trabajo de Tesis. También agradezco a los profesores Álvaro Campos, Yadrán Eterovic, Fernando Gallardo y Jaime Navón que de una u otra forma apoyaron mi postulación a este programa y colaboraron en el tema de mi Tesis. También dirijo mis agradecimientos a todos quienes han participado junto conmigo en el proyecto Sugoi, por conformar el ambiente donde surgió este trabajo y por alentarme en su desarrollo: Ingo Claro, Carlo Fabricatore, Patricia Flores, Valeska Grau, Cristián Huidobro, Juan Pablo Lastra, Ximena López, Rodrigo Marchant, Amparo Minaya, Carlos Morales, Cristian Rodríguez, Patricio Rodríguez, Cristina Sánchez, Yulan Sun, Valeria Valdivia, Jaime Vásquez, Luis Vidal, Jorge Villalón, Cristóbal Villaseca y José Pablo Zagal. Finalmente, entrego mi reconocimiento a todos aquellos que sin llegar a ser mencionados aquí han hecho patente su apoyo en favor de este trabajo. iii

5 INDICE GENERAL Pág. DEDICATORIA... ii AGRADECIMIENTOS... iii INDICE DE TABLAS... viii INDICE DE FIGURAS... ix RESUMEN... xv ABSTRACT... xvi I. INTRODUCCION Los videojuegos en la industria del software Una taxonomía de videojuegos El problema del desarrollo de videojuegos Objetivos planteados...6 II. MARCO CONCEPTUAL El proceso de software Modelos de proceso El prototipo Automatización de procesos El proceso de videojuego El reuso de componentes Definición de reuso La evolución del reuso El manejo del reuso Orientación a objetos y reuso Reuso mediante frameworks Definición de framework Clasificaciones de frameworks... 20

6 2.4.3 Desarrollo de frameworks Desarrollo en base a frameworks El rol de los lenguajes script III. EL DOMINIO DE VIDEOJUEGOS Introducción Metodología utilizada Elección de un dominio El género de acción Visión bi-dimensional Los requisitos del dominio Introducción Funciones generales de videojuego Mundo virtual Funciones de protagonista El paradigma de desarrollo Análisis del dominio El proceso de jugar una sesión Modelo conceptual IV. DISEÑO Y USO DEL FRAMEWORK Introducción Diseño del framework Creación de una sesión de juego Inicio de un juego Creación de una etapa Creación de actores Creación de comportamientos Comienzo de una etapa Eventos en fábricas de actores Operaciones comunes a todo actor Operaciones de actores dinámicos Operaciones de un actor principal Operaciones de un actor principal de plataformas... 91

7 4.2.12Operaciones de comportamientos Operaciones de una etapa Operaciones de una sesión de juego Destrucción de objetos V. EJEMPLO DE USO: HERMES, EL MENSAJERO DEL OLIMPO Descripción del videojuego Diseño de los elementos de juego Etapa representativa El fondo Los actores simples La gárgola voladora Cerbero, el perro de dos cabezas Dionisio, el dios del vino Otros antagonistas Actores no antagónicos Hermes Validación del diseño Implementación Descripción del ambiente Resultados Consideraciones VI. ANALISIS DE RESULTADOS Y DISCUSION Objetivos Estructuras de costos proyectadas Conclusiones Trabajo futuro BIBLIOGRAFIA A N E X O S Anexo A : The Unified Modelling Language (UML) A.1 Descripción

8 A.2 Casos de uso A.3 Estructuras estáticas A.4 Interacciones A.5 Notación algorítmica Anexo B : Listados de Pseudo-Codigo Para El Juego Hermes B.1 Introducción B.2 Asociación de dibujo de fondo a especificación de etapa B.3 Especificación de actores simples iniciales B.4 Especificación de gárgola voladora y su fábrica B.5 Lógica OO específica para Cerbero B.6 Datos y lógica específica para Dionisio B.7 Especificación de fábrica de llamas de fuego B.8 Datos y lógica específica para Hermes

9 INDICE DE TABLAS Pág. Tabla 3.1: Requisitos de interfaz e historia del juego Tabla 3.2: Requisitos de la simulación del mundo virtual Tabla 3.3: Requisitos de interfaz e historia del juego Tabla 3.4: Requisitos de un protagonista de plataformas Tabla 3.5: Casos de uso Play and Win Game y Play and Lose Game Tabla 5.1: Validación de subconjunto fundamental de requisitos del dominio viii

10 INDICE DE FIGURAS Pág. Figura 2.1: Formas de reuso conceptualizadas Figura 3.1: Diagrama de casos de uso de un videojuego del dominio Figura 3.2: Diagrama de paquetes del dominio de videojuegos Figura 3.3: Diagrama conceptual de una sesión de juego Figura 3.4: Relaciones de StageSpec con elementos del paquete Actors Figura 3.5: Diagrama conceptual de estructuras fundamentales Figura 3.6: Diagrama conceptual de actores y fábricas de actores Figura 3.7: Diagrama conceptual de los comportamientos Figura 4.1: Diagrama de interacción GameSession create Figura 4.2: Modelo de grafo dirigido Figura 4.3: Diagrama de interacción GameSession Run Figura 4.4: Creación de una etapa Figura 4.5: Creación de un actor simple Figura 4.6: Creación de un actor dinámico Figura 4.7: Operación DynActor setbehavior Figura 4.8: Creación de un actor principal Figura 4.9: Creación de un actor principal de plataformas Figura 4.10: Creación de una fábrica de actores ix

11 Figura 4.11: Creación de un comportamiento base Figura 4.12: Creación de un comportamiento de pasos fijos Figura 4.13: Creación de un comportamiento de pasos fijos con dirección Figura 4.14: Creación de un comportamiento de ruta Figura 4.15: Operación Stage play Figura 4.16: Operación ActorFactory checkevents Figura 4.17: Operación ActorFactory destroyed Figura 4.18: Operación ActorFactory eaten Figura 4.19: Actualización de un actor dinámico Figura 4.20: Operación DynActor handleblocking Figura 4.21: Operación DynActor handlehits Figura 4.22: Manejo del evento EV_Damage por DynActor Figura 4.23: Manejo del evento EV_Die por DynActor Figura 4.24: Manejo del evento EV_EndBehavior por DynActor Figura 4.25: Manejo del evento EV_DAHit por DynActor Figura 4.26: Manejo del evento EV_Has Damaged por DynActor Figura 4.27: Manejo del evento EV_TryShot por DynActor Figura 4.28: Actualización de un actor principal Figura 4.29: Operación MainActor setstate Figura 4.30: Operación MainActor handleblocking x

12 Figura 4.31: Operación MainActor handlehits Figura 4.32: Esqueleto de la operación MainActor onevent Figura 4.33: Manejo de EV_EndBehavior por MainActor Figura 4.34: Manejo de EV_Damage por MainActor Figura 4.35: Manejo de EV_Die por MainActor Figura 4.36: Manejo de EV_Face y EV_Move por MainActor Figura 4.37: Manejo de EV_TryShot por MainActor Figura 4.38: Operación PlatformMainActor setstate Figura 4.39: Operación PlatformMainActor onevent Figura 4.40: Operación PlatformMainActor upblocking Figura 4.41: Operación PlatformMainActor hangingscalers Figura 4.42: Operación PlatformMainActor handlescaleblocking Figura 4.43: Operación PlatformMainActor onevent Figura 4.44: Operación Behavior onevent Figura 4.45: Operación FixedBehavior updateda Figura 4.46: Operación FixedBehavior onevent Figura 4.47: Operación FixedBehavior reset Figura 4.48: Operación FacingBehavior updateda Figura 4.49: Operación FacingBehavior onevent Figura 4.50: Operación RouteBehavior updateda xi

13 Figura 4.51: Operación RouteBehavior startcheckpoint Figura 4.52: Operación RouteBehavior onevent Figura 4.53: Operación RouteBehavior reset Figura 4.54: Operación Stage centerinma Figura 4.55: Operación Stage movetovalidarea Figura 4.56: Operación Stage settime para un DynActor Figura 4.57: Operación Stage settime para ActorFactory Figura 4.58: Operación Stage getactcollisions Figura 4.59: Operación Stage followma Figura 4.60: Operación Actor eat Figura 5.1: Fondo del escenario de juego Figura 5.2: Estructura estática del escenario de juego Figura 5.3: Cuadros de aparición de la gárgola voladora Figura 5.4: Ruta de la gárgola voladora Figura 5.5: Cuadros principales de la gárgola voladora Figura 5.6: Ruta de Cerbero Figura 5.7: Cuadros de Cerbero corriendo Figura 5.8: Cuadro de Cerbero descansando Figura 5.9: Cuadros principales de Dionisio Figura 5.10: Posición de Dionisio en el escenario xii

14 Figura 5.11: Cuadro de Dionisio lanzando un barril Figura 5.12: Cuadros del barril lanzado por Dionisio Figura 5.13: Ruta de barril lanzado por la derecha Figura 5.14: Ruta de barril lanzado por la izquierda Figura 5.15: Cuadros de las llamas de fuego Figura 5.16: Cuadro de la bala de lava Figura 5.17: Rutas de las balas de lava Figura 5.18: Rutas de las plataformas móviles Figura 5.19: Cuadro de la plataforma móvil Figura 5.20: Cuadros de la catapulta Figura 5.21: Cuadro de Hermes quieto Figura 5.22: Cuadros de muerte de Hermes Figura 5.23: Cuadro de Hermes disparando Figura 5.24: Cuadros de Hermes aburrido Figura 5.25: Cuadros de Hermes caminando Figura 5.26: Cuadros de Hermes agachándose Figura 5.27: Cuadros de Hermes saltando Figura 5.28: Cuadros de Hermes escalando Figura 5.29: Cuadros de las boleadoras Figura 6.1 Estructuras de costos de videojuegos sin y con uso de frameworks xiii

15 Figura A.1: Representación de un actor Figura A.2: Caso de uso simple Figura A.3: Caso de uso con puntos de extensión Figura A.4: Asociación de actores con casos de uso Figura A.5: Generalización de casos de uso Figura A.6: Extensión de casos de uso Figura A.7: Forma general de una clase Figura A.8: Clase perteneciente a un paquete externo Figura A.9: Clase plantilla o template Figura A.10: Ejemplo de asociación entre clases Figura A.11: Ejemplo de navegabilidad en una asociación Figura A.12: Relación de generalización entre clases Figura A.13: Generalizaciones compartidas Figura A.14: Ejemplo de restricción Figura A.15: Ejemplos de objetos Figura A.16: Colección de objetos Figura A.17: Esquema de secuencia de mensajes Figura A.18: Ejemplo de pseudo-código en diagrama de colaboración xiv

16 RESUMEN La industria del software busca disminuir drásticamente los tiempos de entrega y los costos de desarrollo de sus productos, al mismo tiempo que mejorar la calidad de éstos. El reuso es considerado como el único medio realista planteado hasta el momento para alcanzar estos objetivos. En particular este problema afecta el desarrollo de videojuegos para máquinas portátiles de bajo costo, con aplicación en proyectos educacionales masivos. La amplia variedad de videojuegos requerida para estos fines impone la necesidad de encontrar un medio de prototipeo y producción rápido, eficiente y masivo. Hasta el momento la mayoría de las soluciones propuestas para la industria del videojuego consisten en engines (bibliotecas de código dedicadas) que implementan funciones vitales del software a construir, pero no garantizan una estructura evolutiva y orientada al reuso de las componentes mismas del software, es decir, la lógica de la aplicación. Por ello, el presente trabajo plantea la introducción del concepto de framework en este ámbito. Un framework, en su definición más completa para nuestros propósitos, se puede considerar como un medio de desarrollo de alto nivel que establece una arquitectura de trabajo validada para el género de productos del cual es específico, permitiendo rápidamente integrar y extender componentes ya existentes para producir el software requerido. El paradigma adecuado para estos fines, y el más valorado hoy en día, es la Orientación a Objetos (OO). De este modo, se presenta el diseño OO de un framework para el desarrollo de estos videojuegos, cuyos componentes se obtienen a partir de la experiencia del autor en este campo y de estudios que prescriben la estructura del diseño conceptual de un videojuego de acción exitoso, todo lo cual proporciona los requisitos y patrones de diseño para su concepción. Luego se procede a validar el diseño en base a una implementación de las componentes del framework, describiendo las pruebas que demuestran la capacidad de éste de cumplir con las características enunciadas. Finalmente, se discuten las consecuencias de este trabajo y sus proyecciones futuras. xv

17 ABSTRACT The software industry seeks to drastically diminish the delivery times and the development costs its products, at the same time that to improve the quality of these. Reuse is considered the only realistic medium until the moment to reach these objectives. In particular, this problem affects the development of videogames for handheld machines of low cost, with application in massive educational projects. The extense variety of required videogames for this finality imposes the need to find means for quick, efficient and massive prototyping and production. Until now, most of the proposed solutions for the videogame industry consist of engines (dedicated code libraries) that implement vital functions of the software to build, but they don t guarantee an evolutive and reuse-oriented structure for all the components of the software itself, that is to say, the logic of the application. Because of it, the present job presents the introduction of the concept of framework in this environment. A framework, in its more complete definition for our purpose, can be considered as a high level development environment that establishes a working architecture, validated for the kind of products to which it is specific, allowing to quickly integrate and extend already existing components to produce the required software. The adequate paradigm for these finality, and the most valued one nowadays, is the Object Oriented one (OO). In this way, the OO design of a framework for the development of these videogames is presented, whose components are obtained from the author s experience in this field and from studies that prescribe the structure of the conceptual design of a successful action videogame, all which provides the requirements and design patterns for their conception. Then we proceed to validate the design based on an implementation of the framework components, describing the tests that show the capacity of these of complying with the enunciated requirements. Finally, the consequences of this job are discussed along with its future projections. xvi

18 1 I. INTRODUCCION 1.1 Los videojuegos en la industria del software En los últimos años la industria del software ha pasado a ocupar un primer plano de importancia a nivel mundial. El mundo vive una era de grandes transformaciones hacia la automatización y el acceso a la información, donde el software juega un papel clave en estos procesos. Sin embargo, la industria del software reconoce que se encuentra en una constante crisis o aflicción crónica [Pres93] por su incapacidad de estimar correctamente plazos y costos, lo que deriva en una gran cantidad de proyectos que abortan. Aunque su productividad ha aumentado en los últimos 30 años, esto no alcanza para cubrir las demandas que enfrenta actualmente [Boeh87, Cox90, Pres93]. El sector de los videojuegos destaca como aquel de mayor crecimiento en la industria de la entretención en América [Rina98]. Al igual que el software en general, este sector se enfrenta a costos de producción elevados y demandas más exigentes por parte de los jugadores. La dudosa calidad de muchos diseños frecuentemente es detectada tarde o nunca, por falta de pruebas adecuadas de concepto. Implementaciones llenas de falencias y errores son otra fórmula de fracaso. La presión generada por la fuerte competencia lleva muchas veces a lanzar un videojuego antes de tiempo, sin contar con las pruebas suficientes, como es el conocido caso de El Rey León. Tan solo alrededor de un 4% de los títulos logra cubrir sus costos y generar ganancias [Arms97]. Un grupo no despreciable de videojuegos comerciales masivos funcionan en plataformas portátiles de bajo costo. Videojuegos para máquinas como Gameboy comparten los primeros lugares de ventas con productos para Playstation y Nintendo 64. Jugar no es sólo una actividad lúdica, sino que también puede ser aprovechada para fines didácticos. Los videojuegos con usos educativos muestran mejores resultados cuando las tareas de aprendizaje son parte integral de la dinámica del juego [Malo87], marcando la diferencia de criterio entre un videojuego educativo real y un producto común de edutainment (término utilizado para educación y entretención). El menor costo de las plataformas portátiles reducidas es además un

19 2 incentivo para el desarrollo de videojuegos educacionales masivos en países en vías de desarrollo [Sugo97]. La efectividad de estos productos está dada por la capacidad de mantener el interés del jugador en el transcurso del aprendizaje de los contenidos requeridos, lo que deriva en la necesidad de proporcionar una gran variedad de situaciones nuevas o videojuegos distintos para abarcar un espectro mínimo de conocimientos. 1.2 Una taxonomía de videojuegos De acuerdo a diversas publicaciones de la industria del videojuego [GaDo99, Gaja93], y especialmente la clasificación de Fabricatore [Fabr99], es posible distinguir, de acuerdo a su estilo de interacción con el jugador, los siguientes géneros de videojuego: Acción: también llamado género arcade, se caracteriza por un desarrollo de juego fuertemente dinámico, donde la rapidez de las decisiones del jugador es la clave para lograr los objetivos del juego. La cantidad de información que el jugador posee para conseguir sus metas es simple y limitada, y la continua acción perturba al jugador en todo momento, impidiendo el razonamiento más profundo. De este modo el juego se concentra básicamente en enfrentar al jugador con obstáculos y antagonistas. En este género se encuentran los shooters (acción basada en disparo y evasión), juegos de plataformas (estilo Mario Bros.) y algunos juegos de deportes, entre otros. Aventura: al igual que los juegos de acción, los de aventuras se desarrollan en universos interactivos con desarrollo en tiempo real, pero abarcan un mayor espectro de interacciones de juego, las cuales presentan exigencias menores en habilidades psico-motoras pero mayores en capacidades deductivas o decisionales. Estas decisiones tienen una incidencia mayor en el transcurso de la historia del juego, y para ello los jugadores disponen de un conjunto más complejo de información. Dentro de esta categoría se encuentran los juegos de rol, que permiten desarrollar habilidades como atributos a lo largo del juego, y las historias interactivas (o simplemente interactivos).

20 3 Estrategia: este género es definido por un desarrollo basado en resolución de problemas y planificación, con énfasis en el manejo de recursos y de riesgo. Una estrategia es un plan de acción elaborado en base a la información disponible, en función de conseguir un determinado objetivo [Fabr99]. La estrategia consiste en decidir qué acciones o políticas tomar, en contraste con lo que es considerado táctica que determina el cómo se ejecutan las tareas asignadas. No obstante, muchos videojuegos de estrategia proporcionan la posibilidad de intervenir en las tácticas. De cualquier modo, estos juegos se pueden basar en un sistema de tiempo real o por turnos. Representativos de este género son los juegos de combate y determinados juegos de deportes, entre otros. Simulación: tal como lo indica su nombre, el desarrollo del juego se centra en la simulación de sistemas y maquinarias realistas o ficticias, operados por el jugador y eventualmente por otras entidades. El rol del jugador consiste en comprender los controles disponibles y entender el comportamiento de los elementos simulados, y al mismo tiempo utilizarlos en escenarios de acción directa. En este género destacan principalmemente simuladores de vuelo y de naves espaciales, simuladores de sistemas complejos como ciudades e imperios, y deportes motorizados, entre otros. Puzzles y tableros: representan una expansión de los clásicos juegos de tablero, cartas e ingenio en general. Su principal diferencia con los demás géneros es el hecho de que no se basan en la interacción relevante a un mundo virtual habitado por entidades, y toda la oposición que el jugador encuentra está contenida en los problemas mismos que debe resolver [Fabr99]. Por otra parte los videojuegos se caracterizan por los diversos modos de visualizar el escenario actual de acontecimientos. La interfaz gráfica se compone de una o más vistas pricipales, acompañadas por otras secciones de información de estado del juego y del jugador. Los principales tipos de vista son los siguientes: Bi-dimensional (2D): es utilizada aún hoy en día ya sea por contener menores exigencias en recursos de sistema, menor costo de programación y construcción de escenarios, simplificación del espacio de movimientos y de cantidad de información en beneficio de la jugabilidad, o incluso como licencia aceptable en

21 4 favor de la inclusión de una mayor cantidad objetos animados e inteligentes y efectos especiales. Isométrica: si bien su propósito es representar escenarios en tres dimensiones, sus características propias permiten un costo de despliegue visual y modelación menor a una vista 3D tradicional en perspectiva, dado que la proyección de un objeto en pantalla es invariable al movimiento de la cámara de la vista, mientras que esta última no puede rotar. Eventualmente, esta técnica es mezclada con modelación real en 3D de algunos elementos. Perspectiva (3D): consistente en la proyección focalizada de un escenario en tres dimensiones sobre el plano de la pantalla. Destaca por la gran cantidad de recursos asignados al despliegue gráfico y las optimizaciones espaciales requeridas para obtener un rendimiento en cuadros por segundo competitivo, incluyendo los costos de modelación real 3D de los componentes del mundo virtual. 1.3 El problema del desarrollo de videojuegos En muchos casos la efectividad de un diseño debe ser medida lo antes posible, de modo de introducir los cambios adecuados en el producto o desecharlo en etapas preliminares del proceso de desarrollo. La solución clásica utilizada es la construcción de prototipos. De aquí surge el problema de lograr producirlos rápidamente, y encontrar para ello las herramientas adecuadas. En otros casos se plantea la necesidad de producir juegos rápidamente, al menor costo de desarrollo y mejor calidad, que son variables que marcan la diferencia entre el éxito y el fracaso. Para todos estos casos, la eficiencia de producción es necesaria. El reuso de componentes es factor clave para lograr estos objetivos [Mili95]. La aplicación de sistemas de reuso se ve dificultada a causa de la infancia en que se encuentra el desarrollo de software como disciplina científica [Mili95] [Dijk89] y de ingeniería [Mili95] [Shaw90], la falta de entrenamiento de los desarrolladores en procesos de desarrollo de software [Wood87] en comparación con su experiencia en programación de lenguajes específicos [Mili95], y la falta de

22 5 herramientas y metodologías para soportar el reuso y desarrollo de software en general [Fisc87]. Particular atención se da a los problemas de administración del desarrollo enfocado en reuso [Spar96, Grum88]. Pese a las dificultades existentes, la industria del software converge hacia una solución que consiste en crear sistemas de reuso basados en frameworks (conjunto base de clases o componentes) que proveen mayor capacidad de reuso que los tradicionales sistemas de bibliotecas de código [Spar96]. Los logros conseguidos hasta el momento por la industria del videojuego en términos de reuso y eficiencia se pueden clasificar en: Software Development Kits (SDKs): interfaces de programación (API s) específicas para una plataforma, proveen distintos servicios del sistema, como es DirectX para Windows [DirX99]. Pueden incluir ambientes de edición, compilación y debugging. Engines: bibliotecas especializadas dedicadas a la construcción de videojuegos. Existe una gran cantidad de ellas para computadores personales, desde un nivel profesional como Unreal [Unre98], hasta un nivel aficionado como Allegro [Alle99], mientras que para proyectos educacionales en plataformas portátiles y económicas se cuenta Sugoi Engine [Sugo97]. Muchos de ellos vienen acompañados por herramientas gráficas de apoyo a la construcción de escenarios y actores [Woed98]. En general, estos engines se construyen sobre APIs ya existentes como las mencionadas en el punto anterior. Lenguajes especializados como QuakeC [QuaC96] y UnrealScript [UnSc99] (este último basado en OO y concepto de estados), los cuales facilitan la creación de la lógica e inteligencia artificial del juego en base a componentes o engines existentes, permitiendo al diseñador acercarse a los procesos de implementación. Estos lenguajes trabajan sobre un framework relativamente básico de componentes especializadas en juegos del tipo 3D-Shooter, para computadores personales. También existen lenguajes de propósito más general como Lingo, inmerso en el editor multimedia Director [Ling99], adecuado para la creación rápida de aplicaciones multimediales interactivas 2D que no tienen fuertes

23 6 requerimientos de rendimiento. En el caso de juegos 2D para plataformas portátiles, no se dispone de semejantes lenguajes o frameworks básicos. Si bien se han logrado avances hacia el reuso de componentes por medio de enfoques orientados a objetos (OO) [Unre98], la excesiva especialización de estos frameworks permite por ahora pensar sólo en su propósito inmediato de crear variantes o nuevos niveles de juegos específicos, y no un sistema de reuso que abarque un subconjunto coherente de familias de videojuegos. En particular, no se dispone públicamente de medio alguno para la creación y reuso masivo de componentes de videojuegos para plataformas reducidas. De estas últimas consideraciones se desprende que existen necesidades particulares aún no cubiertas, y se carece de sistemas de reuso disponibles de buena calidad y adecuados para la creación masiva de videojuegos dentro de algún género determinado. Ante esta realidad, surge la siguiente pregunta de investigación: Se pueden aplicar métodos de reuso más de punta en el campo de los videojuegos, tal como está ocurriendo en el resto de la industria del software? El presente trabajo pretende dar una respuesta afirmativa a esta pregunta, contribuyendo con un sistema de reuso probado para un género particular de videojuegos. 1.4 Objetivos planteados Como conclusión, han quedado planteados los siguientes objetivos acerca del sistema de reuso a concebir: Involucrar costos y tiempo de desarrollo del sistema de reuso menores a los costos y tiempos que se ahorran en la subsecuente construcción de prototipos y videojuegos utilizando dicho sistema. También se debe considerar el beneficio de la disponibilidad del sistema en cuanto a abrir nuevas posibilidades de desarrollo, como la factibilidad de producir un mayor volumen de videojuegos. Seleccionar un género de videojuegos y eventualmente un subconjunto coherente de éste, que sea relevante en la práctica y que garantice una mejora en la calidad del diseño, con el menor impacto posible en el rendimiento de cada videojuego, dada su naturaleza de aplicación en tiempo real.

24 7 Alcanzar los niveles actuales de reuso planteados por las técnicas de la industria del software, en el sector de los videojuegos. Identificar los puntos esenciales del reuso en este tipo de aplicación. Incorporar eficazmente los preceptos de un buen diseño de videojuego, bajo el lente de estudios rigurosos y experiencia previa.

25 8 II. MARCO CONCEPTUAL 2.1 El proceso de software Modelos de proceso Atrás quedaron aquellos primeros tiempos de la programación en que ésta era relegada como una tarea secundaria en comparación con el diseño del hardware, además de ser considerada como una ciencia oscura y dominada sólo por algunos gurús. Hoy en día el software ha sobrepasado con holgura al hardware como industria, y una nueva disciplina ha surgido: la Ingeniería de Software. Ante la enorme complejidad de los proyectos que fueron surgiendo a medida que el hardware crecía en capacidad, se hizo evidente la necesidad de crear estándares y modelar el proceso de desarrollo de software, para poder controlar, administrar y evaluar estos proyectos. La programación dejó de ser tarea de una sola persona y equipos de desarrolladores fueron formados, introduciéndose el problema de la coordinación. Con el trascurso del tiempo surgieron los lenguajes de programación y nuevos paradigmas como la Orientación a Objetos, todos los cuales jugaron su papel en el desarrollo de los procesos de software. En la década de los 90 diversos autores en el tema [Larm98, Cole94, Mart95, Wirf90, Jaco92, Rumb91, Booc94, Pres93], coincidieron en señalar la existencia del siguiente grupo de etapas identificables dentro del proceso completo, bajo un prisma orientado a objeto: 1. Plan y elaboración: todo software es parte de un sistema mayor, por lo que el paso inicial fundamental consiste en determinar qué subconjunto de requisitos del sistema en el que se opera se asignan al software, y considerar las relaciones que deben existir entre el software y otros agentes del sistema como personas, bases de datos, etc. En conjunto con esta tarea, se realiza la planificación del proyecto y eventualmente se construyen prototipos para ayudar a identificar y comprender los requisitos. Con este mismo fin se construyen casos de uso y modelos conceptuales preliminares, de ser necesario. 2. Desarrollo: esta es la etapa técnica del desarrollo de software. Consiste en las siguientes fases:

Programación orientada a

Programación orientada a Programación orientada a objetos con Java Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Presentar los conceptos de la programación

Más detalles

Ingeniería de Software I

Ingeniería de Software I Ingeniería de Software I Agenda Objetivo. Unidades de aprendizaje. Formas de evaluación. Bibliografía. 2 Datos del profesor Correo electrónico: egonzalez@upemor.edu.mx Asesorías Jueves de 11:00 a 13:00

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software MSDN Ingeniería de Software...1 Ingeniería del Software_/_ Ingeniería y Programación...1 Análisis de Requerimientos...2 Especificación...3 Diseño...4 Desarrollo en Equipo...5 Mantenimiento...6

Más detalles

ADMINISTRACIÓN DE PROYECTOS

ADMINISTRACIÓN DE PROYECTOS ADMINISTRACIÓN DE PROYECTOS QUÉ ES LA ADMINISTRACIÓN DE PROYECTOS? Es la planeación, organización, dirección y control de los recursos para lograr un objetivo a corto plazo. También se dice que la administración

Más detalles

INGENIERIA DE SOFTWARE I INTRODUCCIÓN A LA INGENIERIA DE SOFTWARE

INGENIERIA DE SOFTWARE I INTRODUCCIÓN A LA INGENIERIA DE SOFTWARE INGENIERIA DE SOFTWARE I INTRODUCCIÓN A LA INGENIERIA DE SOFTWARE Agenda El software. Definición de software Dominios de aplicación Software heredado La naturaleza de las webapps Ingeniería del software

Más detalles

Rational Unified Process (RUP)

Rational Unified Process (RUP) Rational Unified Process (RUP) Este documento presenta un resumen de Rational Unified Process (RUP). Se describe la historia de la metodología, características principales y estructura del proceso. RUP

Más detalles

Contenidos. Parte I - Introducción Capítulo 1 - Evolución. Capítulo 2 Condiciones de trabajo en el Desarrollo de Software

Contenidos. Parte I - Introducción Capítulo 1 - Evolución. Capítulo 2 Condiciones de trabajo en el Desarrollo de Software IX Contenidos Prólogo... XIX Prefacio... XXI Guía de lectura...xxiii Parte I - Introducción Capítulo 1 - Evolución 1.1 Introducción... 2 1.2 Los hitos en la evolución histórica del desarrollo de software...

Más detalles

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1.1 Introducción Este método proporciona un soporte para el diseño creativo de productos de software, inclusive a escala industrial.

Más detalles

Programación Orientada a Objetos Profr. Pedro Pablo Mayorga

Programación Orientada a Objetos Profr. Pedro Pablo Mayorga Actividad 2 Unidad 1 Ciclo de vida del software y Diseño Orientado a Objetos Ciclo de Vida del Software Un modelo de ciclo de vida define el estado de las fases a través de las cuales se mueve un proyecto

Más detalles

DESARROLLO DE SOFTWARE CON CALIDAD PARA UNA EMPRESA

DESARROLLO DE SOFTWARE CON CALIDAD PARA UNA EMPRESA DESARROLLO DE SOFTWARE CON CALIDAD PARA UNA EMPRESA Resumen AUTORIA CARLOS CABALLERO GONZÁLEZ TEMATICA INFORMÁTICA ETAPA ESO-BACHILLERATO-CFGM(ESI,ASI,DSI) Se describe la revolución que supuso la incursión

Más detalles

Evolución histórica 60 -. Metodologías

Evolución histórica 60 -. Metodologías TEMA 1 INTRODUCCIÓN Historia Evolución de las técnicas de programación Qué es orientado a objetos? Factores cruciales que miden la calidad del software Externos Internos La familia Orientada a objetos

Más detalles

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado 1. Introducción Unified Modeling Languaje Fuente: Booch- Jacobson-Rumbauch y diversos sitios Internet, entre otros:

Más detalles

Sistemas de Información II. Introducción al Proceso Unificado de Desarrollo de Software. Autor: Ing. Silverio Bonilla 1

Sistemas de Información II. Introducción al Proceso Unificado de Desarrollo de Software. Autor: Ing. Silverio Bonilla 1 Introducción al Proceso Unificado de Desarrollo de Software Autor: Ing. Silverio Bonilla 1 James Rumbaugh et al. Concepto de Método Una metodología de ingeniería del software es un proceso para producir

Más detalles

Diseño del Sistema de Información

Diseño del Sistema de Información Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA... 7 Tarea DSI 1.1: Definición de Niveles de Arquitectura... 9 Tarea DSI

Más detalles

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente En este capítulo definimos los requisitos del modelo para un sistema centrado en la mejora de la calidad del código fuente.

Más detalles

El Proceso Unificado de Desarrollo de Software

El Proceso Unificado de Desarrollo de Software El Proceso de Desarrollo de Software Ciclos de vida Métodos de desarrollo de software El Proceso Unificado de Desarrollo de Software 1 Fases principales del desarrollo de software Captura de requisitos:

Más detalles

Preguntas y respuestas (rebatibles) sobre metodologías de desarrollo de software

Preguntas y respuestas (rebatibles) sobre metodologías de desarrollo de software Preguntas y respuestas (rebatibles) sobre metodologías de desarrollo de software Introducción Este documento recopila las preguntas, opiniones y respuestas que se produjeron en un pequeño curso sobre las

Más detalles

Diseño del Sistema de Información

Diseño del Sistema de Información Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS...2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA...7 Tarea DSI 1.1: Definición de Niveles de Arquitectura...9 Tarea DSI 1.2:

Más detalles

Brindar al alumno un marco teórico y práctico para el desarrollo de software bajo estándares de calidad.

Brindar al alumno un marco teórico y práctico para el desarrollo de software bajo estándares de calidad. Universidad Católica San Pablo Facultad de Ingeniería y Computación Programa Profesional de Ciencia de la Computación SILABO CS290T. Ingeniería de Software I (Obligatorio) 2012-2 1. DATOS GENERALES 1.1

Más detalles

Análisis del Sistema de Información

Análisis del Sistema de Información Análisis del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 2 ACTIVIDAD ASI 1: DEFINICIÓN DEL SISTEMA... 6 Tarea ASI 1.1: Determinación del Alcance del Sistema... 6 Tarea ASI 1.2: Identificación

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de: http://www.dsic.upv.es/~uml http://inst.eecs.berkeley.edu/~cs169/ entre otras fuentes. Definiciones

Más detalles

Glosario. actividad. 1. (tarea) 2. es un subproceso que no requiere mas descomposición.

Glosario. actividad. 1. (tarea) 2. es un subproceso que no requiere mas descomposición. Glosario Aclaraciones Los conceptos del glosario están ordenados alfabéticamente. Un concepto puede ser un único término como meta o una frase como ambiente de ingeniería de software centrado en procesos.

Más detalles

Departamento de Informática y Automática INGENIERÍA DEL SOFTWARE PARTE I: TEST EXAMEN FINAL

Departamento de Informática y Automática INGENIERÍA DEL SOFTWARE PARTE I: TEST EXAMEN FINAL Departamento de Informática y Automática INGENIERÍA DEL SOFTWARE PARTE I: TEST EXAMEN FINAL DNI Apellidos y nombre 1. Cuál de las siguientes afirmaciones no es una causa de los problemas del software?

Más detalles

Tema 1 Introducción a la Ingeniería de Software

Tema 1 Introducción a la Ingeniería de Software Tema 1 Introducción a la Ingeniería de Software Curso Ingeniería de Software UMCA Profesor Luis Gmo. Zúñiga Mendoza 1. Software En la actualidad todo país depende de complejos sistemas informáticos. Podemos

Más detalles

ANÁLISIS Y DISEÑO DE UN PORTAL DE VENTA DE LIBROS EDUCATIVOS

ANÁLISIS Y DISEÑO DE UN PORTAL DE VENTA DE LIBROS EDUCATIVOS INGENIERIA DE SOFTWARE Trabajo Final de Carrera ANÁLISIS Y DISEÑO DE UN PORTAL DE VENTA DE LIBROS EDUCATIVOS Jordi Cid Rodríguez - ETIG - Consultor: José Antonio Raya Martos Septiembre 2011 Objetivo El

Más detalles

CICLO DE VIDA DEL SOFTWARE

CICLO DE VIDA DEL SOFTWARE CICLO DE VIDA DEL SOFTWARE 1. Concepto de Ciclo de Vida 2. Procesos del Ciclo de Vida del Software 3. Modelo en cascada 4. Modelo incremental 5. Modelo en espiral 6. Prototipado 7. La reutilización en

Más detalles

Tema 2. Ingeniería del Software I feliu.trias@urjc.es

Tema 2. Ingeniería del Software I feliu.trias@urjc.es Tema 2 Ciclo de vida del software Ingeniería del Software I feliu.trias@urjc.es Índice Qué es el ciclo de vida del Software? El Estándar 12207 Modelos de proceso Qué es el Ciclo de Vida del SW? Definición

Más detalles

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA PROGRAMACIÓN DIDACTICA ANUAL Parte específica del módulo: 0485. Programación Departamento de Familia Profesional de Informática Curso: 2014-15

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software Tabla de Contenidos PARTE I INTRODUCCIÓN Capítulo 1: Evolución Los hitos en la evolución histórica del Desarrollo de Software Problemas y soluciones... Fallas, malas estimaciones

Más detalles

Modelos de desarrollo de software. septiembre de 2007 1

Modelos de desarrollo de software. septiembre de 2007 1 Modelos de desarrollo de software septiembre de 2007 1 Referencias básicas Ingeniería de software. Un enfoque práctico. Pressman, R. Quinta edición. Mc. Graw Hill 2002 Ingeniería de software. Sommerville,

Más detalles

http://www.cem.itesm.mx/extension/ms

http://www.cem.itesm.mx/extension/ms Diplomado Programación orientada a objetos con Java y UML Las empresas necesitan contar con sistemas de información modernos, ágiles y de calidad para alcanzar sus objetivos y ser cada vez más competitivos

Más detalles

Interacción Persona - Ordenador

Interacción Persona - Ordenador Interacción Persona - Ordenador Diseño de la interfaz en la Ingeniería del Software Dr. Pedro Latorre Dra. Sandra Baldassarri Dra. Eva Cerezo Ingeniería del Software Ingeniería del Software: Definición

Más detalles

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN Proceso de Negocio (Business Process) Conjunto estructurado, medible de actividades para producir un producto.

Más detalles

cilred.com CICLO DE VIDA DEL SOFTWARE & METODOLOGIAS DE DESARROLLO DE SOFTWARE ING. EDUARDO CRUZ ROMERO eduar14_cr@hotmail.com cilred.

cilred.com CICLO DE VIDA DEL SOFTWARE & METODOLOGIAS DE DESARROLLO DE SOFTWARE ING. EDUARDO CRUZ ROMERO eduar14_cr@hotmail.com cilred. cilred.com CICLO DE VIDA DEL SOFTWARE & METODOLOGIAS DE DESARROLLO DE SOFTWARE ING. EDUARDO CRUZ ROMERO eduar14_cr@hotmail.com cilred.com CICLO DE VIDA DEL SOFTWARE Para apreciar un poco más el problema

Más detalles

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática La Necesidad de Modelar Analogía Arquitectónica Tiene sentido poner ladrillos sin hacer antes los planos? El modelo, los planos, ayuda a afrontar la complejidad del proyecto. Cuál es el lenguaje adecuado

Más detalles

La Gestión por Procesos en las Organizaciones La forma en la que los resultados se logran

La Gestión por Procesos en las Organizaciones La forma en la que los resultados se logran La Gestión por Procesos en las Organizaciones La forma en la que los resultados se logran Deloitte S.C. 2014 Reflexiones Aplicando la Gestión por Procesos en nuestras organizaciones Por qué adoptar un

Más detalles

Un modelo de proceso es una representación abstracta de un proceso. Presenta una descripción de un proceso desde una perspectiva particular.

Un modelo de proceso es una representación abstracta de un proceso. Presenta una descripción de un proceso desde una perspectiva particular. El proceso software Un conjunto estructurado de actividades y resultados asociados que conducen a la creación de un producto de software Especificación: Definir la funcionalidad y las restricciones en

Más detalles

Capítulo 1. Introducción

Capítulo 1. Introducción Capítulo 1. Introducción El WWW es la mayor fuente de imágenes que día a día se va incrementando. Según una encuesta realizada por el Centro de Bibliotecas de Cómputo en Línea (OCLC) en Enero de 2005,

Más detalles

Proyecto Tutelkán Tutelkan Reference Process (TRP) Versión 2.0

Proyecto Tutelkán Tutelkan Reference Process (TRP) Versión 2.0 Proyecto Tutelkán Tutelkan Reference Process (TRP) Versión 2.0 Parte 3: TRP Avanzado MAYO 2009 Tabla de Contenidos PREFACIO...5 DESARROLLO Y MANTENCIÓN DE SOFTWARE...6 DESARROLLO DE REQUERIMIENTOS...7

Más detalles

Programación en Capas.

Programación en Capas. Programación en Capas. Ricardo J. Vargas Del Valle Universidad de Costa Rica, Ciencias de Computación e Informática, San José, Costa Rica, 506 ricvargas@gmail.com Juan P. Maltés Granados Universidad de

Más detalles

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos 2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven

Más detalles

Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta

Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta (Business Process Management, BPM). La Gerencia de los Procesos del Negocio: Se define como: "integración

Más detalles

Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre

Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre Cenditel, Mayo 2011 Licencia de Uso Copyright (c) 2010, Alvarez J., Solé S., Briceño R., Fundación CENDITEL. La Fundación CENDITEL

Más detalles

TRABAJO FINAL ESPECIALIDAD EN CONTROL Y GESTION DE SOFTWARE GESTIÓN DE CONFIGURACIÓN DE PRODUCTOS SOFTWARE EN ETAPA DE DESARROLLO

TRABAJO FINAL ESPECIALIDAD EN CONTROL Y GESTION DE SOFTWARE GESTIÓN DE CONFIGURACIÓN DE PRODUCTOS SOFTWARE EN ETAPA DE DESARROLLO TRABAJO FINAL ESPECIALIDAD EN CONTROL Y GESTION DE SOFTWARE GESTIÓN DE CONFIGURACIÓN DE PRODUCTOS SOFTWARE EN ETAPA DE DESARROLLO Autor: Lic. Claudio Jorge Rancán Directora: M.Ing. Paola Britos Julio 2003

Más detalles

Inicio de MO Inicio de MD Inicio de MF. Documento de Análisis. Base de datos de las especificaciones OMT. MO, MD, MF Detallados. Librería de Clases

Inicio de MO Inicio de MD Inicio de MF. Documento de Análisis. Base de datos de las especificaciones OMT. MO, MD, MF Detallados. Librería de Clases 3.2 TÉCNICA DE MODELADO DE OBJETOS (OMT) (JAMES RUMBAUGH). 3.2.1 Introducción. En este documento se trata tanto el OMT-1 como el OMT-2, el primero contenido en el Libro Modelado y Diseño Orientado (Metodología

Más detalles

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Página 1 de 23 Índice del Documento 1.- Introducción... Página 4 2.- Propuesta

Más detalles

RUP. Rational Unified Process

RUP. Rational Unified Process RUP Rational Unified Process Rational Unified Process Basado en 6 mejores prácticas de la industria de software: Desarrollo incremental Administración de requisitos Uso de arquitecturas basadas en componentes

Más detalles

UML 2 Iniciación, ejemplos y ejercicios corregidos

UML 2 Iniciación, ejemplos y ejercicios corregidos Ediciones ENI UML 2 Iniciación, ejemplos y ejercicios corregidos (3ª edición) Colección Recursos Informáticos Contenido Contenido 1 Capítulo 1 Introducción 1. Motivaciones de la obra.....................................

Más detalles

PROCESO Y PROYECTO DE INGENIERIA DE SOFTWARE. Carlos Barra Peñaloza *

PROCESO Y PROYECTO DE INGENIERIA DE SOFTWARE. Carlos Barra Peñaloza * 1 PROCESO Y PROYECTO DE INGENIERIA DE SOFTWARE Carlos Barra Peñaloza * El Ciclo de Vida del Software. El Ciclo de Vida del Software (CVS) describe todo el proceso de software de un sistema dado, desde

Más detalles

Introducción. http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art143.asp - Gráfica tomada del Artículo de José David Parra

Introducción. http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art143.asp - Gráfica tomada del Artículo de José David Parra Si en otros tiempos el factor decisivo de la producción era la tierra y luego lo fue el capital... hoy día el factor decisivo es cada vez más el hombre mismo, es decir, su conocimiento... Juan Pablo II

Más detalles

Tecnología VoIP integrada en Sistemas de Emergencia Policiales

Tecnología VoIP integrada en Sistemas de Emergencia Policiales Tecnología VoIP integrada en Sistemas de Emergencia Policiales Mariela E. Rodriguez 1, José Farfan 2, & José V. Zapana 3 Cátedra de Modelos de Desarrollo de Programas y Programación Concurrente / Facultad

Más detalles

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio). 1 GLOSARIO A continuación se definen, en orden alfabético, los conceptos básicos que se han abordado a lo largo del desarrollo de la metodología para la gestión de requisitos bajo la Arquitectura Orientada

Más detalles

Definir el problema/oportunidad. Desarrollar soluciones alternativas. Seleccionar la solución. Desarrollar / Seleccionar-Adquirirconfigurar

Definir el problema/oportunidad. Desarrollar soluciones alternativas. Seleccionar la solución. Desarrollar / Seleccionar-Adquirirconfigurar 1 Definir el problema/oportunidad Definir problema de negocio o la oportunidad de mejora utilizando el pensamiento sistémico. Mapa Conceptual Desarrollar soluciones alternativas Seleccionar la solución

Más detalles

CLASE 2: INTRODUCCIÓN A LA ING. DE SOFTWARE. MODELOS DE PROCESOS. MEJORES PRÁCTICAS. USB Ing. De Software. Prof. I. C. Martínez

CLASE 2: INTRODUCCIÓN A LA ING. DE SOFTWARE. MODELOS DE PROCESOS. MEJORES PRÁCTICAS. USB Ing. De Software. Prof. I. C. Martínez CLASE 2: INTRODUCCIÓN A LA ING. DE SOFTWARE. MODELOS DE PROCESOS. MEJORES PRÁCTICAS USB Ing. De Software. Prof. I. C. Martínez Ing. De Software Ingeniería de Software La Ingeniería de Software es la ciencia

Más detalles

Capítulo 1: Conceptos básicos de e-learning.

Capítulo 1: Conceptos básicos de e-learning. Capítulo 1: Conceptos básicos de e-learning. Todo aprendizaje humano requiere de tecnología y esto se ha hecho desde tiempos inmemoriales. En la última década, los sistemas de comunicaciones masivas y

Más detalles

Introducción a la Ingeniería de Software Capítulo 1

Introducción a la Ingeniería de Software Capítulo 1 Introducción a la Ingeniería de Software Capítulo 1 Curso de Ing. De Software FIIS UNAC Ing. Eddie Malca Vicente Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 No es más sabio aquel

Más detalles

Ofrezca la nueva tendencia de innovación empresarial con un entorno de red abierta

Ofrezca la nueva tendencia de innovación empresarial con un entorno de red abierta Descripción general de la solución Ofrezca la nueva tendencia de innovación empresarial con un entorno de red abierta Lo que aprenderá A medida que tecnologías como la nube, la movilidad, los medios sociales

Más detalles

Fundamentos de Ingeniería del Software. Capítulo 12. Herramientas CASE

Fundamentos de Ingeniería del Software. Capítulo 12. Herramientas CASE Fundamentos de Ingeniería del Software Capítulo 12. Herramientas CASE Herramientas CASE Estructura 1. Introducción 2. Características deseables 3. Componentes de una herramienta CASE 4. Taxonomías de herramientas

Más detalles

Gestión y Desarrollo de Requisitos en Proyectos Software

Gestión y Desarrollo de Requisitos en Proyectos Software Gestión y Desarrollo de Requisitos en Proyectos Software Ponente: María Jesús Anciano Martín Objetivo Objetivo Definir un conjunto articulado y bien balanceado de métodos para el flujo de trabajo de Ingeniería

Más detalles

Ingeniería de Negocios y Desarrollo de Sistemas de Información

Ingeniería de Negocios y Desarrollo de Sistemas de Información Ingeniería de Negocios y Desarrollo de Sistemas de Información Procesos de Negocios Modelos de negocio Ingeniería de Negocios: Notaciones Procedimientos Patrones Proceso de desarrollo de sistemas Metodologías

Más detalles

Tecnologías de componentes y proceso de diseño de aplicaciones basado en componentes

Tecnologías de componentes y proceso de diseño de aplicaciones basado en componentes Tecnologías de y proceso de diseño de aplicaciones basado en Programación orientada a objetos : Lenguajes, Tecnologías y Herramientas Master de Computación Santander, 2009 Patricia López Grupo de Computadores

Más detalles

I GE IERÍA DEL SOFTWARE. Mª Dolores Carballar Falcón 28935146L

I GE IERÍA DEL SOFTWARE. Mª Dolores Carballar Falcón 28935146L I GE IERÍA DEL SOFTWARE. Mª Dolores Carballar Falcón 28935146L REFERE CIA AL SISTEMA EDUCATIVO ACTUAL. Los contenidos de este tema, están enfocados a introducir al alumno en el concepto de Ingeniería del

Más detalles

BPMN vs UML. Los Requerimientos y el Modelo del Negocio. Autor: Norberto Figuerola

BPMN vs UML. Los Requerimientos y el Modelo del Negocio. Autor: Norberto Figuerola BPMN vs UML Autor: Norberto Figuerola Los Requerimientos y el Modelo del Negocio Normalmente, siempre que iniciamos un esfuerzo de desarrollo de software éste tiene como objetivo automatizar procesos del

Más detalles

Service Oriented Architecture

Service Oriented Architecture Programación Concurrente y Distribuida Ingeniería en Informática Service Oriented Architecture José Carlos Cortizo Pérez josecarlos.cortizo@uem.es http://www.esp.uem.es/jccortizo D. Sistemas Informáticos

Más detalles

Bienvenidos a la presentación: Introducción a conceptos básicos de programación.

Bienvenidos a la presentación: Introducción a conceptos básicos de programación. Bienvenidos a la presentación: Introducción a conceptos básicos de programación. 1 Los programas de computadora son una serie de instrucciones que le dicen a una computadora qué hacer exactamente. Los

Más detalles

IBM Rational Statemate ayuda a los ingenieros de sistemas a enfrentarse a los retos del mercado de sistemas integrados complejos

IBM Rational Statemate ayuda a los ingenieros de sistemas a enfrentarse a los retos del mercado de sistemas integrados complejos ZP09-0207, con fecha 2 de junio de 2009 IBM Rational Statemate ayuda a los ingenieros de sistemas a enfrentarse a los retos del mercado de sistemas integrados complejos Índice 1 Resumen de características

Más detalles

Metodologías de diseño de hardware

Metodologías de diseño de hardware Capítulo 2 Metodologías de diseño de hardware Las metodologías de diseño de hardware denominadas Top-Down, basadas en la utilización de lenguajes de descripción de hardware, han posibilitado la reducción

Más detalles

ARTÍCULO TÉCNICO. Los cinco pilares para controlar las ACL y reglas del cortafuegos

ARTÍCULO TÉCNICO. Los cinco pilares para controlar las ACL y reglas del cortafuegos ARTÍCULO TÉCNICO Los cinco pilares para controlar las ACL y reglas del cortafuegos Resumen Los principales expertos en redes y seguridad del mundo se enfrentan al mismo desafío: intentar controlar el complejo

Más detalles

agility made possible

agility made possible RESUMEN SOBRE SOLUCIÓN Solución de generación de reportes de capacidad actual de CA Technologies Puede automáticamente evaluar y administrar cuán eficientemente está utilizando sus recursos internos de

Más detalles

Fundamentos de Ingeniería del Software. Capítulo 11. Reutilización del software

Fundamentos de Ingeniería del Software. Capítulo 11. Reutilización del software Fundamentos de Ingeniería del Software Capítulo 11. Reutilización del software Reutilización del software. Estructura 1. Reutilización del software 2. Beneficios de la reutilización 3. Dificultades para

Más detalles

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 17 CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC303_3 Versión 5 Situación RD 1201/2007 Actualización Competencia

Más detalles

IBM Rational Software Architect V8.0.1 ofrece nuevos e innovadores enfoques para desarrollar arquitecturas de solución

IBM Rational Software Architect V8.0.1 ofrece nuevos e innovadores enfoques para desarrollar arquitecturas de solución con fecha de 14 de diciembre de 2010 IBM Rational Software Architect V8.0.1 ofrece nuevos e innovadores enfoques para desarrollar arquitecturas de solución Tabla de contenidos 1 Visión general 1 Fecha

Más detalles

SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para. Empresas en Crecimiento

SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para. Empresas en Crecimiento SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para Empresas en Crecimiento Portfolio SAP BusinessObjects Soluciones SAP para Empresas en Crecimiento Resumen Ejecutivo Inteligencia

Más detalles

Metodología y Framework para el Desarrollo de Aplicaciones Científicas con Computación de Alto Rendimiento a través de Servicios Web

Metodología y Framework para el Desarrollo de Aplicaciones Científicas con Computación de Alto Rendimiento a través de Servicios Web Metodología y Framework para el Desarrollo de Aplicaciones Científicas con Computación de Alto Rendimiento a través de Servicios Web J.Corral-García, D.Cortés-Polo, C.Gómez-Martín, J.L.González-Sánchez

Más detalles

UNIVERSIDAD DE GUAYAQUIL

UNIVERSIDAD DE GUAYAQUIL II UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería en Sistemas Computacionales Desarrollo de una VPN / Firewall de Software con Administración Vía Web TESIS DE

Más detalles

Ciclo de vida del Software

Ciclo de vida del Software Tema 2: Ciclo de vida del Software Marcos López Sanz Índice Qué es el ciclo de vida del Software? La norma 12207-2008 Modelos de desarrollo Qué es el Ciclo de Vida del SW? Es una sucesión de etapas por

Más detalles

PFC- Aplicaciones Web para trabajo colaborativo:

PFC- Aplicaciones Web para trabajo colaborativo: PFC- Aplicaciones Web para trabajo colaborativo: Aplicación para Control de una Integración de S.I. 2º Ciclo Ingeniería Informática Curso 2011-2012 Consultor : Fatos Xhafa Autor : Miguel Angel Pineda Cruz

Más detalles

CICLO DE VIDA DEL SOFTWARE. Una aproximación lógica a la adquisición, el suministro, el desarrollo, la explotación y el mantenimiento del software

CICLO DE VIDA DEL SOFTWARE. Una aproximación lógica a la adquisición, el suministro, el desarrollo, la explotación y el mantenimiento del software 3.010 CONCEPTO DE CICLO DE VIDA Una aproximación lógica a la adquisición, el suministro, el desarrollo, la explotación y el mantenimiento del software IEEE 1074 Un marco de referencia que contiene los

Más detalles

CA Mainframe Software Manager r3.1

CA Mainframe Software Manager r3.1 HOJA DEL PRODUCTO CA Mainframe Software Manager CA Mainframe Software Manager r3.1 CA Mainframe Software Manager (CA MSM) es un componente clave de la estrategia de Mainframe 2.0 de CA Technologies para

Más detalles

El Proceso Unificado

El Proceso Unificado El Proceso Unificado de Desarrollo de Software Prof. Gustavo J. Sabio Alcance de la presentación QA Entradas Proceso de desarrollo Salida equipo Cliente sistemas Cliente necesidades actividades varias

Más detalles

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Entidad Formadora: Plan Local De Formación Convocatoria 2010 Entidad Formadora: Enterprise Architect Comenzando Puede iniciar Enterprise Architect desde el ícono que se creó en su escritorio de Windows durante la instalación, o alternativamente: 1. Abrir el menú

Más detalles

CAPÍTULO IV - GUÍA PARA HACER ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS

CAPÍTULO IV - GUÍA PARA HACER ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CAPÍTULO IV - GUÍA PARA HACER ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS 4.1 Diferencias entre análisis y diseño La división entre el análisis y diseño es poco clara, el trabajo de los dos se mezcla continuamente

Más detalles

Título: El proyecto de Software Educativo. Algunas consideraciones. Autor: MSc. José Antonio Gutiérrez Lam. Profesor Auxiliar

Título: El proyecto de Software Educativo. Algunas consideraciones. Autor: MSc. José Antonio Gutiérrez Lam. Profesor Auxiliar Título: El proyecto de Software Educativo. Algunas consideraciones. Autor: MSc. José Antonio Gutiérrez Lam. Profesor Auxiliar Centro de trabajo: Universidad de Ciencias Pedagógicas Rafael María de Mendive

Más detalles

HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN

HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN HERRAMIENTAS Y ENTORNOS DE PROGRAMACIÓN Tema 2. Tecnologías CASE Escuela Superior de Informática 1 Tema 2. Tecnologías CASE. Tecnologías CASE (~ 4 horas) Introducción. Conceptos, Objetivos, Herramientas

Más detalles

INGENIERÍA DE SOFTWARE. Sesión 3: Tipos

INGENIERÍA DE SOFTWARE. Sesión 3: Tipos INGENIERÍA DE SOFTWARE Sesión 3: Tipos Contextualización Actualmente existe una gran variedad en los software que se pueden clasificar en varias categorías, como pueden ser, por tipo de licencia, tipo

Más detalles

Ingeniería de Software I. Sebastián Uchitel y Víctor Braberman 1er Cuatrimestre 2009

Ingeniería de Software I. Sebastián Uchitel y Víctor Braberman 1er Cuatrimestre 2009 Ingeniería de Software I Sebastián Uchitel y Víctor Braberman 1er Cuatrimestre 2009 Quienes somos? 2 Quienes son? 3 Objetivos del Curso Entender el rol fundamental que juega la construcción y análisis

Más detalles

Primer avance de proyecto de software para la gestión de inscripciones en cursos

Primer avance de proyecto de software para la gestión de inscripciones en cursos Primer avance de proyecto de software para la gestión de inscripciones en cursos 1. Introducción Andrés Felipe Bustamante García, Carolina Sarmiento González En este documento se presentan los resultados

Más detalles

Técnica para reusar artefactos de análisis y diseño en el modelamiento de software

Técnica para reusar artefactos de análisis y diseño en el modelamiento de software Revista de Investigación ULASALLE, Rev Inv ULASALLE, Número 1, 2012 (67-78) Universidad La Salle Arequipa, Perú Técnica para reusar artefactos de análisis y diseño en el modelamiento de software 1 Percy

Más detalles

Resumen General del Manual de Organización y Funciones

Resumen General del Manual de Organización y Funciones Gerencia de Tecnologías de Información Resumen General del Manual de Organización y Funciones (El Manual de Organización y Funciones fue aprobado por Resolución Administrativa SBS N 354-2011, del 17 de

Más detalles

Desarrollo de software

Desarrollo de software Agenda 1. Introducción 2. Aspectos Metodológicos del Desarrollo de Software 3. Aplicación Web (Modelo del Producto) 4. Modelo del proceso 5. Dos enfoques Metodológicos 6. Métodos Seleccionados 7. Evaluación

Más detalles

Boletín de Asesoría Gerencial* Arquitectura orientada a servicios (SOA)

Boletín de Asesoría Gerencial* Arquitectura orientada a servicios (SOA) Espiñeira, Sheldon y Asociados * No. 12-2009 *connectedthinking Haga click en los enlaces para navegar a través del documento Haga click en los enlaces para llegar directamente a cada sección 4 Introducción

Más detalles

Liberando el sistema. Ayudar a los usuarios a entender y usar el sistema. Entrenamiento Documentación Solución de Problemas Conversión Instalación

Liberando el sistema. Ayudar a los usuarios a entender y usar el sistema. Entrenamiento Documentación Solución de Problemas Conversión Instalación Liberando el sistema Ayudar a los usuarios a entender y usar el sistema Distintos tipos de usuarios Entrenamiento Documentación Solución de Problemas Conversión Instalación May-12 Ing. de Software Liberación

Más detalles

ASI. Análisis del Sistema de Información

ASI. Análisis del Sistema de Información ASI Análisis del Sistema de Información 1 ASI Análisis del Sistema de Información Introducción Objetivo Obtención de una especificación detallada del Sistema Información a través de: Catálogo de Requisitos

Más detalles

ITIL V3 Por dónde empezar?

ITIL V3 Por dónde empezar? ITIL V3 Por dónde empezar? Autor: Norberto Figuerola Introducción La gestión de servicios de TI (ITSM) suministra los servicios que necesita una empresa para cumplir sus objetivos de negocio. ITSM respalda

Más detalles

SISTEMAS DE INFORMACIÓN II TEORÍA

SISTEMAS DE INFORMACIÓN II TEORÍA CONTENIDO: CICLO DE VIDA VISIÓN TRADICIONAL DEL CICLO DE VIDA DEL DESARROLLO DE SISTEMAS DE INFORMACIÓN STEMAS DE INFORMACIÓN Material diseñado y elaborado por: Prof. Luis Eduardo Mendoza M. Material revisado

Más detalles

Diseño de Moda Informatizado

Diseño de Moda Informatizado L as políticas industriales en los países desarrollados del mundo inciden mucho en la tecnología y el diseño industrial. Ambos conceptos tienen gran importancia en la industria en general, pues hacen que

Más detalles

Patrones de software y refactorización de código

Patrones de software y refactorización de código Patrones de software y refactorización de código Introducción y antecedentes de los patrones de software Los patrones permiten construir sobre la experiencia colectiva de ingenieros de software habilidosos.

Más detalles

Software Reutilizable. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 18 Slide 1

Software Reutilizable. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reutilizable Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 18 Slide 1 Objetivos Para explicar los beneficios del software reutilizable y algunos de sus problemas Para discutir

Más detalles

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática Metodología Evolutiva Incremental Mediante Prototipo y Técnicas Orientada a Objeto (MEI/P-OO)

Más detalles