arquitectura de un módulo i/o para objetos 3d

Click here to load reader

Upload: virginia-guerrero

Post on 02-Jan-2016

13 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Slide 1

Andrs Harker GutirrezDirector: Cesar Julio Bustacara Medina MSc.Asesor: Oscar Xavier Chavarro MSc.Arquitectura de un mdulo I/O para objetos 3DPontificia Universidad Javeriana Bogot D.C.Departamento de Ingeniera de SistemasGrupo de investigacin TAKINAModalidad: Aplicacin PracticaEnero de 2012

AgendaIntroduccinObjetivosMetodologaApropiacin de conceptosRecoleccin y anlisis de requerimientosAnlisis y diseo arquitectnicoAnlisis y diseo detalladoImplementacin del prototipoPruebas y anlisisVideo demostrativo del prototipoSugerencias y trabajo futuroIntroduccinProblemticaAlmacenamiento y recuperacin de objetos 3D.Modulo de almacenamiento y recuperacin de objetos 3D para VITRAL.

3IntroduccinNecesidadUna recuperacin eficiente de objetos 3D en las aplicaciones de computacin grfica.

4IntroduccinCon base en esta problemtica y en la necesidad surge la pregunta generadora del trabajo de grado.Qu aspectos y factores involucra la construccin e implementacin de una arquitectura de software para el almacenamiento y recuperacin eficiente de objetos 3D?Introduccin

Introduccin

IntroduccinPor qu?Por la necesidad y las problemtica encontradas.Para qu?Aterrizar en VITRAL los conceptos necesarios para solucionar la problemtica y suplir la necesidad encontradas.Cmo?Partiendo de una metodologa investigativa, como insumo de una metodologa de desarrollo de software.Qu se obtuvo?La arquitectura del modulo de I/O basada en los requerimientos definidos, junto con un prototipo inicial.ObjetivosGeneralDisear e implementar la arquitectura de software del modulo de I/O para la arquitectura VITRAL.Objetivos especficosFormalizar los requerimientos del modulo de I/O basados en la apropiacin de conceptos de modelado de objetos 3D.

Formalizacin de requerimientos SRS

Conceptos obtenidos en fase de investigacin.Anlisis de las necesidades funcionales y no funcionales del modulo. 10Objetivos especficosDisear y validar la arquitectura del modulo.Anlisis y formalizacin de la arquitectura SAD.Implementacin del prototipo.

Anlisis basados en VITRAL y en el SRS.

Objetivos especficosDisear y validar a nivel detallado la arquitectura del modulo.Formalizacin del diseo detallado, de los componentes mas relevantes, del modulo SDDImplementacin del prototipo.

Hay que resaltar que es basado en el SAD12Objetivos especficosImplementar el prototipo.

Implementacin en java de los componentes seleccionados de la arquitectura.

Objetivos especficosFormalizar las conclusiones de las pruebas del prototipo.

Realizacin y formalizacin de pruebas tanto funcionales como no funcionales sobre el prototipo.

MetodologaInvestigacinApropiacin de conceptos de modelado de objetos 3D y repositorios para estos.

Anlisis de modelos de datos existentes.

Anlisis de arquitecturas existentes.

Desarrollo de software.Anlisis y de sntesis Disear el modelo de base de datos. Modelo de datos. ScrumConstruccin del modulo de softwareSRS.SAD.SDD.Prototipo.Experimental Definicin y aplicacin de un plan de pruebas. Resultados de las pruebas del producto .

Apropiacin de conceptosEn esta fase se apropiaron y aclararon conceptos del rea de computacin grfica, en torno a objetos 3DObjeto 3D.Descriptor de objeto 3D.Representacin de objetos 3D en disco.Distincin de objetos 2D de los 3D.Bsqueda sobre descriptores de objetos.__________________________________________

Un objeto 3D puede representarse por medio de varios tipos de descriptores y comparado mediante estos.La forma de poder filtrar estos objetos de forma rpida y eficiente es agruparlos mediante similitudes en los descriptores.Un descriptor de un tipo especifico no es comparable con uno de otro tipo, ejemplo uno de forma con uno textual.Un objeto 3D puede estar compuesto de uno o varios archivos en disco para su representacin grfica.De forma directa no es comparable un objeto 3D con uno 2D. Es necesario usar descriptores y vistas intermedias para dicha comparacin.Al tratar con objetos 2D y 3D en el mismo repositorio hay que poder diferenciar los objetos 2D que son vistas de objetos 3D y los que son imgenes independientes.

18Recoleccin y anlisis de requerimientosEsta fase se realiz un anlisis de los conceptos adquiridos en la fase de apropiacin de conceptos que se llevaba hasta el momento y conforme a stos conceptos, se realiz un levantamiento de requerimientos funcionales. Recoleccin y anlisis de requerimientosRequerimientos funcionales

Requerimientos funcionales principales.RF01: El sistema debe estar en capacidad de guardar un objeto 3D en el repositorio.RF02: El sistema debe estar en capacidad de buscar un objeto 3D especifico.RF03: El sistema debe estar en capacidad de filtrar un conjunto de objetos 3D dada una cantidad de descriptores como parmetro.RF05: El sistema debe asignar un ndice nico para cada objeto 3D que se ingrese al repositorio.RF12: El sistema debe estar en capacidad de eliminar un objeto 3D y toda su informacin asociada.RF14: El sistema debe estar en capacidad de eliminar un objeto 2D y toda su informacin asociada.RF15: El sistema debe estar en capacidad de comparar los descriptores de varios objetos 3D con un margen de error dado.RF18: El sistema debe estar en capacidad de marcar como eliminado un objeto 3D, sin eliminarlo realmente de la base de datos.RF19: El sistema debe estar en capacidad de marcar como eliminado un objeto 2D, sin eliminarlo realmente de la base de datos.

20Recoleccin y anlisis de requerimientosRequerimientos no funcionales

Requerimientos no funcionales de prioridad alta.RNF01: El sistema debe proveer un medio de parametrizacin del sistema de base de datos.RNF02: El sistema debe proveer una interface que permita la insercin de objetos 3D al repositorio.RNF03: El sistema debe proveer una interface que permita la insercin de objetos 2D al repositorio.RNF07: El sistema debe manejar las operaciones sobre el repositorio de objetos 3D como operaciones transaccionales ACID.RNF08: El sistema debe contar con una interfaz grfica de usuario que permita validar cada uno de los requerimientos funcionales.RNF09: Se debe contar con una interfaz web para las funcionalidades CRUD del repositorio.

21Recoleccin y anlisis de requerimientosAtributos de calidad contemplados.QA01: Extensibilidad de la aplicacin. Esta extensibilidad en cuanto a los mtodos a utilizar para el clculo 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 aplicacin. 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.Desempeo de la base de datos para la recuperacin.Espacio en disco de cada uno de los modelos 3DRecursos de red necesarios para el transporte de modelos 3D.

Anlisis y diseo arquitectnico

I/OEn esta diapositiva, va una explicacion breve de lo que hace cada componente de la arquitectura23Anlisis y diseo arquitectnicoCLIENTEDESCRIPTORESPERSISTENCIAACCESO A DATOSBUSQUEDASMODELOSPUBLICACIONESSERVIDOREn esta diapositiva, va una explicacion breve de lo que hace cada componente de la arquitectura24Anlisis y diseo arquitectnicoArquitectura en componentes independientes.Patrones arquitectnicos principalesPublicador-suscriptor

forwarder-receiver

Se explican los patrones fundamentales que guiaron la arquitectura

Ese publicador suscriptor adems de ayudar con la distribucin de la carga, ayudo con la ejecucin asincrnica de tareas pesadas como el clculo de descriptores o la comparacin de los mismos.

forwarder-receiverEsto permite al cliente no tener una espera bloqueante mientras se realizan las bsquedas.

25Anlisis y diseo detalladoEn esta fase se realizo el diseo de clases de los componentes ms relevantes del sistema.

Dentro de los patrones de diseo mas destacados en el sistema se encuentran:

Anlisis y diseo detallado

Implementacin del prototipoDecisiones de implementacinJDK 1.6GlassFish 3.1JMSJPATodos los mdulos a excepcin de las interfaces web y las colas de mensajes fueron implementados en JSE.Componentes contemplados en el prototipoClienteSe implemento un cliente web para el prototipo y las pruebasServidorImplementacin en el servidor de aplicaciones para el prototipo webPublicacionesServicios de mensajera en el servidor de aplicaciones que soportan el patrn publicador,-suscriptorDescriptoresEnvolventes necesarias para descriptores de objetos 2D y su correcto guardadoModelosInsercin de modelos 3D o 2D en la persistenciaBsquedasBsquedas de modelos 2DAcceso a datosEntidades de negocio correspondientes a la base de datos, con su correspondiente acceso a la base de datosPersistenciaScript de base de datos de las tablas para el modulo.

28Implementacin del prototipoEtapas de la implementacin de los componentes contemplados en el prototipo.Anlisis del diseo del modulo.Anlisis de las tecnologas necesarias para el funcionamiento del modulo.Anlisis de la implementacin de las tecnologas necesarias.Pruebas de concepto de las tecnologas desconocidas necesarias para la implementacin del modulo.Implementacin del cdigo fuente del modulo.Realizacin de correcciones de diseo detallado y arquitectnico de ser necesarios.Realizacin de pruebas unitarias sobre el cdigo fuente implementado.

29Pruebas y anlisisPruebas funcionalesPruebas y anlisisConcurrencia

El modulo recibe peticiones de insercin de modelos 2D, aumentando el nmero de usuarios.

31Pruebas y anlisisConcurrenciaEl modulo recibe peticiones de consulta de modelos 2D, aumentando el nmero de usuarios.

32Pruebas y anlisisDesempeo

El modulo recibe peticiones de consulta de modelos 2D de un solo usuario pero aumentando el nmero de modelos en la base de datos.

33Video demostrativo del prototipo I

Video demostrativo del prototipo II

Video demostrativo del prototipo III

ConclusionesLa 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 futuroPruebas tericas de las mejoras que ofrece el modelo arquitectnico y el uso de base de datos frente al sistema de archivos.Terminar la implementacin completa de la arquitectura.Aplicaciones graficas implementadas y ejecutadas en VITRAL que consuman este tipo de funcionalidades.Implementacin a nivel del VSDK de VITRAL las funcionalidades de agrupamiento de objetos 3D.Eliminar la dependencia del servidor de aplicaciones que gnero esta primera iteracin del producto.