Javier López García OBJETIVOS DEL PROYECTO Diseñar una nueva arquitectura para SERVIVOX que le proporcione mayor modularidad y flexibilidad. Reestructurar.

Slides:



Advertisements
Presentaciones similares
MODELOS ORIENTADOS A OBJETOS
Advertisements

U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.
INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
Fundamentos de Diseño de Software INFT.1
Sistema operativo Componentes de un sistema operativo
CALIDAD DE PRODUCTO PORTADA CALIDAD DE PRODUCTO.
Prototipo de compilador didáctico del lenguaje LC99
Monitorización de la Situación de Aprendizaje soportada por Entornos de Aprendizaje Virtual y Herramientas Externas María Jesús Rodríguez Triana Septiembre.
Aplicación Web para Control de una Integración de S.I.
INTRODUCCIÓN A JAVA.
Pruebas Orientadas a Objeto
Introducción a la Programación
Herramientas CASE.
Tipos de Datos Abstractos Modularidad
Framework Hexápodo PHP fácil, rápido y sin dolor
CONCEPTOS Y PRINCIPIOS DE DISEÑO
4/6/2001 Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla Autor: Javier López García.
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
Administración de Procesos de Pruebas
Ingeniería del Software
Desarrollo Orientado a Objetos con UML
Introducción al Software
HERRAMIENTAS CASE.
Tecnologías para el desarrollo de aplicaciones Web
Diseño del Software Diseño de datos Diseño arquitectónico
Arquitectura de una aplicación
DISEÑO DE SOFTWARE 1ª. Parte
Fundamentos de programación
Diseño e Implementación
Tema 1 Entorno de la programación. Conceptos elementales Algoritmo  Secuencia ordenada de pasos exentos de ambigüedad que conduce a la resolución de.
Introducción al modelo Cliente-Servidor Carlos Rojas Kramer Universidad Cristóbal Colón.
Fundamentos de programación Organización de una computadora.
Comunicación y Multimedia
Introducción a las Bases de Datos Relacionales Juan Alberto Sigüenza Escuela Técnica Superior de Informática Universidad Autónoma de Madrid.
CONCEPTOS BÁSICOS Diseño de Sistemas.
METODOLOGÍA OMT Diseño de sistemas.
Relator: Juan Bravo C. Doctor por la Universidad de Lleida Director Evolución, Centro de Estudios Avanzados Modelación de una solución.
INTRODUCCIÓN A JAVA. Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador?
Ingeniería en Sistemas de Información
Plan de Sistemas de Información (PSI)
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Diseño: Fundamento y Documentación ISF5501 Ingeniería de Software Semana 13/2.
 Un LENGUAJE DE PROGRAMACION es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas al cabo por maquinas como las computadoras.
FRAMEWORK VS Código fuente
INSTITUTO TECNOLOGICO DE MINATITLAN ASIGNATURA: FUNDAMENTOS DE PROGRAMACION DOCENTE: JOSE ANGEL TOLEDO ALVAREZ ALUMNA: ALEJANDRA OSORIO ARVISU SEMESTRE:
Importancia en la efectividad del:
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
Desarrollo de Software Orientado a Objetos (deficiencias)
UNIVERSIDAD LATINA BASES DE DATOS DISEÑO DE BASES DE DATOS (modelos para el diseño)
Facultad de Ingeniería
PROGRAMAS INFORMATICOS
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
Modelo OSI Surgimiento del Modelo OSI ¿Que es el Modelo OSI?
GESTION DE PROYECTOS INFORMATICOS Clase I I I
Ingeniería de Requisitos
Roles de Open UP.
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
Naime Cecilia del Toro Alvarez
Gestión de proyectos fin de carrera
FACULTAD DE CIENCIAS COMPUTACIONALES Y TELECOMUNICACIONES ASIGNATURA:
Proceso de desarrollo de Software
Arquitectura de una aplicación Arquitectur a: desarrolla un plan general del sistema, asegurando que las necesidades de los usuarios sean atendidas. Ingeniería.
UNIVERSIDAD LATINA (UNILA)
Software de Comunicaciones
CICLO DE VIDA DE UN SOFTWARE. Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de.
Objetivos de la prueba Los objetivos principales de realizar una prueba son: Detectar un error. Tener un buen caso de prueba, es decir que tenga más probabilidad.
Autores: Myriam Montes, Iván Viera, Carlos Caizaguano, José Sancho
Entregables del Proyecto
Entorno Colaborativo de Trabajo (ECT) Sv. Información y Evaluación.
Transcripción de la presentación:

Javier López García OBJETIVOS DEL PROYECTO Diseñar una nueva arquitectura para SERVIVOX que le proporcione mayor modularidad y flexibilidad. Reestructurar el software de TIDAISL de modo que se puedan integrar los módulos desarrollados en SERVIVOX. Ampliar la sintaxis del LDD. Generar documentación precisa sobre: La estructura actual de SERVIVOX. Los pasos a seguir para ampliarlo con software de TIDAISL.

Javier López García ANÁLISIS Y DISEÑO Análisis: Consiste en descomponer un sistema en los elementos que lo integran. Resuelve la pregunta qué es el problema, define el problema con precisión. Genera un modelo conceptual del sistema. Diseño: Se realiza después del análisis. Modifica los modelos generados en el análisis para reflejar decisiones relativas al entorno en que el sistema debe funcionar. Resuelve la pregunta cómo se resuelve el problema con las herramientas disponibles. Genera un modelo físico del sistema.

Javier López García ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS El análisis y el diseño orientados a objetos utilizan los objetos como elemento básico para la elaboración de modelos. Objeto: podemos definir formalmente un objeto como una abstracción de algún objeto en el mundo real, que incluye tanto los datos (atributos) que describen el objeto real, como las operaciones (métodos) que manipulan estos datos, y que son además las únicas autorizadas para hacerlo.

Javier López García ELEMENTOS DEL ANÁLISIS Modelo de requisitos: recoge las necesidades de los usuarios. Se compone de los entregables: Ámbito del proyecto. Diagrama de contexto. Guiones de casos de uso. Modelo de objetos: define las objetos en conexión con el mundo real (objetos entidad) que integrarán el sistema. Genera el entregable: Diagrama de objetos.

Javier López García ÁMBITO DE SERVIVOX Un sistema que permita editar, compilar, ejecutar, configurar, depurar, crear, analizar y supervisar aplicaciones multimedia que proporcionen un servicio automático de atención al cliente con síntesis y reconocimiento de habla, con acceso a bases de datos y utilidades de correo electrónico. El sistema será también una herramienta para los desarrolladores de aplicaciones. Será competencia de nuestro sistema el proporcionar un lenguaje de descripción de aplicaciones multimedia, junto con las herramientas necesarias para editar, compilar, ejecutar, etc, dichas aplicaciones. No será competencia del sistema el reconocimiento y la síntesis del habla, el proporcionar un servidor de mail o un servidor de bases de datos, pero sí definir una interfaz que se comunique con estos sistemas.

Javier López García DIAGRAMA DE CONTEXTO DE SERVIVOX

Javier López García LA ARQUITECTURA GALAXY (I) La arquitectura GALAXY consiste en: Una estructura cliente-servidor. Reparto normalizado de tareas entre servidores. Protocolos de comunicación normalizados. Módulo central (Hub) que canaliza las comunicaciones controlado por un lenguaje de script. Objetivos: Favorecer la interoperabilidad de equipos y el plug&play. Hacer flexible el diálogo, gracias a la configurabilidad del hub.

Javier López García LA ARQUITECTURA GALAXY (II)

Javier López García ARQUITECTURA DEL SERVIVOX (I)

Javier López García ARQUITECTURA DEL SERVIVOX (II) Estructura cliente-servidor: El kernel lleva la iniciativa del diálogo (cliente). Toda la funcionalidad reside en los servidores. Estructura de subsistemas intercambiables: Interfaz kernel-servidor normalizada (__funciones). Reparto normalizado de tareas entre los servidores. Kernel programable: se define el LDD para la descripción de aplicaciones multimedia. Log centralizado: seguimiento cronológico de la secuencia de trazas generadas por la aplicación.

Javier López García EL KERNEL (I) Se define un lenguaje de alto nivel especializado en la descripción de aplicaciones con interfaces vocales y multimedia (LDD). El código fuente LDD se traduce a un autómata. El kernel interpreta el autómata solicitando de los servidores la funcionalidad que necesite: Cargar el autómata en memoria. Para cada estado del autómata ejecutar la función de librería adecuada. Transitar de estado al terminar la ejecución de una función o al recibir el evento adecuado. Gestionar las situaciones especiales o errores.

Javier López García CARACTERÍSTICAS DEL LDD Instrucciones síncronas: aritméticas, strings, arrays. Instrucciones especializadas: Asíncronas: reco, agentes animados,... Síncronas: mail. Excepciones: colgado, timeout,... Variables: predefinidas, de usuario, locales. Instrucciones de control: IF, WHILE, SUBRUTINAS,....

Javier López García FUNCIONAMIENTO DEL KERNEL

Javier López García TIDAISL Plataforma donde se prueban los nuevos parametrizadores y reconocedores. Mains que integran: test bench + recono/param. Objetivos: Separar el test bench del recono/param. Proveer operaciones síncronas en trama. Crear librerías de recononocimiento integrables en SERVIVOX.

Javier López García CLASES DE RECONOCIMIENTO (I) Proponer una nueva arquitectura para las clases de reconocimiento de SERVIVOX. Reducir la herencia. Desposeerlas de la funcionalidad de reconocimiento: clases meramente interfaz. Integrar las librerías de TIDAISL disponibles. Realizar de forma práctica un reconocedor sencillo: TReconoNuevo.

Javier López García CLASES DE RECONOCIMIENTO (II)

Javier López García MATRICES DEL LDD (I) Dotar al LDD de arrays multidimensionales accesibles por índice y por clave. Diseño a medida para el módulo matrices. Implementación puramente orientada a objetos. Programación en C++ haciendo uso de la librería estándar (STL).

Javier López García MATRICES DEL LDD (II)

Javier López García EVALUADOR DE EXPRESIONES Evaluador de expresiones aritmético-lógicas. Incorpora las precedencias habituales en C. Integración en el LDD en dos fases: Función EVALUA. Ampliación de la sintaxis de la asignación. Diseño flexible para poder usarse más allá de la mera asignación: clase virtual TgestorVariables.

Javier López García RESUMEN Análisis de alto nivel de SERVIVOX. Diseño del kernel. Implementación del diseño del kernel. Funcionalidad añadida al LDD: Evaluador de expresiones aritmético-lógicas. Arrays multidimensionales. Paso de argumentos a subrutinas. Variables locales. Rediseño de TIDAISL y las clases de reconocimiento de SERVIVOX.

Javier López García CONCLUSIONES Y LÍNEAS FUTURAS Evitar la duplicación del código. Elaborar librerías con la funcionalidad común y una documentación que las describa. Acordar unas interfaces genéricas para los parametrizadores (y reconocedores) que respeten todos. Adoptar una arquitectura tipo GALAXY para SERVIVOX: División en subsistemas. Relaciones cliente(kernel)-servidor. Kernel programable.