380 likes | 493 Views
Arquitectura de un módulo I/O para objetos 3D. Andrés Harker Gutiérrez Director: Cesar Julio Bustacara Medina MSc. Asesor: Oscar Xavier Chavarro MSc. Pontificia Universidad Javeriana – Bogotá D.C. Departamento de Ingeniería de Sistemas Grupo de investigación TAKINA
E N D
Arquitectura de un módulo I/O para objetos 3D Andrés Harker Gutiérrez Director: Cesar Julio Bustacara Medina MSc. Asesor: Oscar Xavier ChavarroMSc. • Pontificia Universidad Javeriana – Bogotá D.C. • Departamento de Ingeniería de Sistemas • Grupo de investigación TAKINA • Modalidad: Aplicación Practica • Enero de 2012
Agenda • Introducción • Objetivos • Metodología • Apropiación de conceptos • Recolección y análisis de requerimientos • Análisis y diseño arquitectónico • Análisis y diseño detallado • Implementación del prototipo • Pruebas y análisis • Video demostrativo del prototipo • Sugerencias y trabajo futuro
Introducción • Problemática • Almacenamiento y recuperación de objetos 3D. • Modulo de almacenamiento y recuperación de objetos 3D para VITRAL.
Introducción • Necesidad • Una recuperación eficiente de objetos 3D en las aplicaciones de computación gráfica.
Introducción Con base en esta problemática y en la necesidad surge la pregunta generadora del trabajo de grado. • ¿Qué aspectos y factores involucra la construcción e implementación de una arquitectura de software para el almacenamiento y recuperación eficiente de objetos 3D?
Introducción • Por qué? • Por la necesidad y las problemática encontradas. • Para qué? • Aterrizar en VITRAL los conceptos necesarios para solucionar la problemática y suplir la necesidad encontradas. • Cómo? • Partiendo de una metodología investigativa, como insumo de una metodología de desarrollo de software. • Qué se obtuvo? • La arquitectura del modulo de I/O basada en los requerimientos definidos, junto con un prototipo inicial.
Objetivos • General • Diseñar e implementar la arquitectura de software del modulo de I/O para la arquitectura VITRAL.
Objetivos específicos • Formalizar los requerimientos del modulo de I/O basados en la apropiación de conceptos de modelado de objetos 3D. • Formalización de requerimientos – SRS
Objetivos específicos • Diseñar y validar la arquitectura del modulo. • Análisis y formalización de la arquitectura – SAD. • Implementación del prototipo. • Análisis basados en VITRAL y en el SRS.
Objetivos específicos • Diseñar y validar a nivel detallado la arquitectura del modulo. • Formalización del diseño detallado, de los componentes mas relevantes, del modulo – SDD • Implementación del prototipo.
Objetivos específicos • Implementar el prototipo. • Implementación en java de los componentes seleccionados de la arquitectura.
Objetivos específicos • Formalizar las conclusiones de las pruebas del prototipo. • Realización y formalización de pruebas tanto funcionales como no funcionales sobre el prototipo.
Investigación • Apropiación de conceptos de modelado de objetos 3D y repositorios para estos. • Análisis de modelos de datos existentes. • Análisis de arquitecturas existentes.
Desarrollo de software. • Análisis y de síntesis • Diseñar el modelo de base de datos. • Modelo de datos. • Scrum • Construcción del modulo de software • SRS. • SAD. • SDD. • Prototipo. • Experimental • Definición y aplicación de un plan de pruebas. • Resultados de las pruebas del producto .
Apropiación de conceptos • En esta fase se apropiaron y aclararon conceptos del área de computación gráfica, en torno a objetos 3D • Objeto 3D. • Descriptor de objeto 3D. • Representación de objetos 3D en disco. • Distinción de objetos 2D de los 3D. • Búsqueda sobre descriptores de objetos. __________________________________________
Recolección y análisis de requerimientos • Esta fase se realizó un análisis de los conceptos adquiridos en la fase de apropiación de conceptos que se llevaba hasta el momento y conforme a éstos conceptos, se realizó un levantamiento de requerimientos funcionales.
Recolección y análisis de requerimientos • Requerimientos funcionales
Recolección y análisis de requerimientos • Requerimientos no funcionales
Recolección y análisis de requerimientos • Atributos de calidad contemplados. • QA01: Extensibilidad de la aplicación. Esta extensibilidad en cuanto a los métodos a utilizar para el cálculo de los descriptores y los posibles archivos a tener en cuenta para subir al repositorio. Esta extensibilidad se realizó por medio de Plug-in's para cada uno. • QA02: Modularidad de la aplicación. Esta modularidad en cuanto a las funcionalidades fundamentales para un posible funcionamiento basado en cajas negras y que cada una sea un componente independiente. • QA03: Eficiencia En 3 aspectos fundamentales. • Desempeño de la base de datos para la recuperación. • Espacio en disco de cada uno de los modelos 3D • Recursos de red necesarios para el transporte de modelos 3D.
Análisis y diseño arquitectónico DESCRIPTORES CLIENTE SERVIDOR PUBLICACIONES MODELOS BUSQUEDAS ACCESO A DATOS PERSISTENCIA
Análisis y diseño arquitectónico • Arquitectura en componentes independientes. • Patrones arquitectónicos principales • Publicador-suscriptor • forwarder-receiver
Análisis y diseño detallado • En esta fase se realizo el diseño de clases de los componentes más relevantes del sistema. • Dentro de los patrones de diseño mas destacados en el sistema se encuentran:
Implementación del prototipo • Decisiones de implementación • JDK 1.6 • GlassFish 3.1 • JMS • JPA • Todos los módulos a excepción de las interfaces web y las colas de mensajes fueron implementados en JSE.
Implementación del prototipo • Etapas de la implementación de los componentes contemplados en el prototipo.
Pruebas y análisis • Pruebas funcionales
Pruebas y análisis • Concurrencia
Pruebas y análisis • Concurrencia
Pruebas y análisis • Desempeño
Conclusiones • La Arquitectura expone las interfaces necesarias para que VITRAL tengas las funcionalidades del modulo. • El almacenamiento en la base de datos permite un mejor seguimiento de los objetos. • Las funcionalidades del repositorio son extensibles a tomar nuevos descriptores sin necesidad de alterar el codigo.
Sugerencias y trabajo futuro • Pruebas teóricas de las mejoras que ofrece el modelo arquitectónico y el uso de base de datos frente al sistema de archivos. • Terminar la implementación completa de la arquitectura. • Aplicaciones graficas implementadas y ejecutadas en VITRAL que consuman este tipo de funcionalidades. • Implementación a nivel del VSDK de VITRAL las funcionalidades de agrupamiento de objetos 3D. • Eliminar la dependencia del servidor de aplicaciones que género esta primera iteración del producto.