UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE

Slides:



Advertisements
Presentaciones similares
¿Que es Yii ? Framework para PHP de alta performance basado en componentes web para desarrollar aplicaciones web de gran escala. Yii es un framework que.
Advertisements

Lcda. Ingrid Graü Diseño de Sistemas 1. Lcda. Ingrid Graü Diseño de Sistemas 2.
Alfa21 Outsourcing S.L. Un ejemplo de modelo de negocio basado en Software Libre 13 de julio de 2006
CMS ABIERTO Y CMS CERRADO MARÍA CAMILA MUÑOZ U TATIANA ARIAS CHAPARRO U CAROLINA FIGUEROA U
Carrera de Ingeniería en Electrónica en Redes y Comunicación de Datos “DESARROLLO DE UN SISTEMA DE INFORMACIÓN INTERACTIVO BASADO EN WEB 3.0” GRETA CAROLINA.
Aplicaciones para el manejo óptimo de la información.
Desarrollo de un Laboratorio remoto-virtual para la enseñanza de cursos de Ingeniería Ing. Angelo Velarde Profesor Auxiliar Ingeniería de las Telecomunicaciones.
COMUNICACIÓN Y TIC Ángela Espinosa Hayler Peñaranda.
BASE DE DATOS EN LA WEB POR- OSIRYS MARCIAGA JESUS NIETO.
Plataforma de administración para congresos
Servidor de aplicaciones
Tema: Análisis de una red trocal multiservicio para encriptación de información sobre MPLS basada en el estándar IETF con el protocolo GETVPN Autor:
Herencia Multiple en Java
INGENIERÍA DE INFORMACIÓN Y APLICACIONES
Enfoques Modernos de Enseñanza
Potente herramienta para el desarrollo de aplicaciones móviles
DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA
“Radar de Innovaciones Educativas del Tecnológico de Monterrey”
Tema DISEÑO E IMPLANTACIÓN DE UNA SOLUCIÓN INFORMÁTICA INTEGRADA QUE APOYE AL DESARROLLO DEL PENSAMIENTO CRÍTICO EN LA CARRERA DE INGENIERÍA EN SISTEMAS.
LOS DIFERENTES LENGUAJES DE PROGRAMACION PARA LA WEB
Sistema de Base de datos
Introducción a Javascript
U.T. 11: Introducción A Las Bases De Datos
Sistemas Distribuidos
Gestión del SAT de un taller con Android
LENGUAJE DE PROGRAMACIÓN Y SOFTWARE PROPIETARIO
Windows server 2008.
ARQUITECTURA DE COMPUTADORES
Customer Relationship Management
CARRERA DE INGENIERÍA EN SISTEMAS E INFORMÁTICA
Chanchay Tituaña Gabriel Dario SANGOLQUÍ – ECUADOR 2016
EDWIN SANTIAGO YACELGA MALDONADO SANGOLQUÍ – ECUADOR 2016
UNIVERSIDAD DE LAS FUERZAS ARMADAS-ESPE
UNIVERSIDAD MANUELA BELTRAN
 PhoneGap es un framework de código libre para el desarrollo de aplicaciones móviles. Su principal característica: multiplataforma, es decir, con un.
Software Es intangible, existe como información, ideas, conceptos, símbolos, pero no ocupa un espacio físico, se podría decir que no tiene sustancia. Se.
Propuesta Comercial dirigida a la
PROVEEDOR DATA WAREHOUSE TERADATA
Uso de conocimientos técnicos y las TIC para la información
QUE ES EL SOFTWARE Es un conjunto de programas de computo, procedimientos, reglas, documentación y datos asociados que forman parte de las operaciones.
INTRODUCCIÓN A JAVA.
Conceptos Relacionados Unidad I. Parte A.
TIC TECNOLOGIAS DE LA INFORMACION Y LA COMUNICACION
definición los productos digitales como las herramientas creadas a base de software, que surgen en base a la voluntad de ciertas personas (organizaciones.
FUNDAMENTOS DE PROGRAMACION EN ENTORNO WEB. Rodrigo Cabello Ing. Informático Director de proyectos Think – Ideas in Motion FUNDAMENTOS.
Conceptos básicos de.NET Explorar el entorno de desarrollo Crear un proyecto Visual Basic.NET Use Visual Studio.NET Acceso a datos Depurar e implantar.
LENGUAJE DE SCRIPTING EN SERVIDORES WEB INTEGRANTES :JOSTIN FRANCO DARYENIS ARAUZ PABLO CANDANEDO.
Java Enterprise edition
UNIVERSIDAD DE LAS FUERZAS ARMADAS-ESPE
Servidor de Reportes basado en Tecnología Java y XML
PROYECTO DE GRADUACIÓN
Oscar Navarrete J. Jorge Gutiérrez A.
IMPLEMENTACIÓN DE UN PORTAL WEB PARA LA AUTOMATIZACIÓN DEL PROCESO DE CONSULTORÍAS DE MENTORES GOLD DE LA REGIÓN LATINOAMERICANA DEL IEEE (R9), UTILIZANDO.
Conceptos relacionados con la interfaz gráfica Taller de diseño página Web.
Oscar Navarrete J. Jorge Gutiérrez A.
Spring Framework.
Nuestros canales de comunicación Gestión de la Calidad del Software Modelos y Estándares de Calidad en el Software.
Estructura de Sistemas Operativos CAMPOS CHACALTANA, ANTHONY.
AUTOR: SALGADO ESCOBAR STALIN SEBASTIAN DIRECTOR: ING. JOSE SANCHO
PROYECTO DE GRADUACIÓN
GC-F-004 V.01 CENTRO DE INDUSTRIA Y LA CONSTRUCCIÓN REGIONAL TOLIMA.
¿Qué es la celda de manufactura? La celda de manufactura es un conjunto de componentes electromecánicos, que trabajan de manera coordinada para el logro.
TRABAJO DE TITULACIÓN PREVIO A LA OBTENCIÓN DEL TÍTULO DE MAGÍSTER EN GERENCIA DE SISTEMAS TEMA: “DISEÑO DE UNA GUÍA CORPORATIVA PARA IMPLEMENTAR APLICACIONES.
PROYECTO DE GRADUACIÓN
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
Ha llegado el momento de dar una mirada al interior de los Sistemas Operativos. En las siguientes secciones examinaremos cuatro estructuras distintas.
Estructura de los Sistemas Operativos
Estructura de los Sistemas Operativos por: Omar Saravia Tasayco
Transcripción de la presentación:

UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE   DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN TEMA: “DESARROLLO DE UN SISTEMA DE TRUEQUE VIRTUAL PARA DISPOSITIVOS MÓVILES ANDROID, UTILIZANDO SOFTWARE LIBRE BASADO EN LENGUAJES DE PROGRAMACIÓN INTERPRETADOS” Pablo Patricio Villarruel Duque Carlos Isaac Naranjo Torres   SANGOLQUÍ – ECUADOR  2016

AGENDA 1.- Introducción 2.- Planteamiento del Problema 3.- Objetivos 4.- Marco Teórico 5.- Solución 6.- Conclusiones y Recomendaciones Roberto La agenda para este dia es la siguiente

¿Qué es el Trueque? Introducción Con la aparición de la propiedad privada(sedentarismo) aparecieron los diferentes productos y el comercio Las personas poseían recursos que no les eran necesarios Deseaban y necesitaban productos de diferente índole Surgió una necesidad

Introducción Planteamiento del problema Creciente mercado, social commerce El lento aumento de interesados por el producto Búsquedas manuales muy largas Procesos innecesarios para publicar un producto Falta de conocimiento de lenguajes interpretados “La basura de un hombre, es el tesoro de otro”

Planteamiento del Problema Justificación Mejorar la experiencia de trueque Innovación Tecnológica Reusabilidad. Roberto Medios físicos danos y perdidas

Objetivos Objetivo General. Desarrollar una aplicación móvil para trueque virtual en dispositivos móviles Android, utilizando software libre (Ruby on Rails, Sencha Touch) basado en lenguajes de programación interpretados. Diego

Objetivos Objetivos Específicos Diseñar un software con el lenguaje de programación Ruby, usando tecnología web service Rest, que permita la interacción de usuarios al momento de intercambiar información para hacer trueque. Diseñar un cliente con el lenguaje de programación JavaScript para consumir Web service Rest, de fácil implementación que permitan divulgar, buscar, eliminar publicaciones de bienes o servicio para realizar trueque. Mejorar la interacción de comunicación con el cliente al momento de diseñar software utilizando el modelo Product Canvas. Identificar una línea de productos software con las funcionalidades necesarias, que permitan reutilizar código existente; para reducir tiempo de trabajo en el desarrollo de software. Documentar la información recopilada para fomentar el uso de herramientas innovadoras para el desarrollo de software. Roberto

Marco Teórico Modelo Product Cavas Diego

Modelo Product Cavas 1. Visión Cual es la razón o la idea del producto 2. Nombre del producto Un nombre que describa el producto 3. Usuarios A quien va dirigido el producto, y que características deben tener lo usuarios. 4. Tareas UX Historias de usuarios Funcionalidades del producto Diseños Restricciones Reglas de negocio

Modelo Product Cavas 5. Historial de usuario Retroalimentación Tareas hechas Hitos Mejoras

Marco Teórico Ruby on Rails Roberto

Ruby como lenguaje Lenguajes Interpretados Lenguajes Compilados Un lenguaje interpretado es aquel en el que las instrucciones se traducen o interpretan una a una en tiempo de ejecución. Portabilidad Independencia de plataforma Lenguajes Compilados Se traduce a partir de su código fuente por medio de un compilador en un archivo ejecutable para una determinada plataforma compilados. Mas rápidos. Gran cantidad de recursos.

Marco Teórico Arquitectura Ruby on Rails

Gemas Gemas mysql2 device Una gema es la forma en que Ruby provee un estándar para distribución de librerías y programas con funcionalidades específicas. Gemas mysql2 device carrierwave Sass es un lenguaje de hoja de estilos en ruby funciona con scss Coffee-rails= responder a peticinoes js a través de coffeeScript

Gema mysql2 Características Uso mandatario de codificación UTF-8 Esta librería servir principalmente para uso muy común de conexión, consulta, almacenamiento, modificación y eliminación de registro de la base. Características Uso mandatario de codificación UTF-8 Uso de api para gestión de cuentas Client - la conexión con la base de datos. Result – regresa el resultado de un consulta Statement – Retorna el estado de la conexión

Gema devise Características Encripta y almacena contraseñas Es una gema solución de autenticación flexible para Rails basado en Warden (gema de autentificación) Características Encripta y almacena contraseñas Envío de correo de confirmación. Recuperación de contraseña Editar y eliminar cuentas Permite restear usuarios a través de la Ip.

Gema carrierwave Características Facilita carga de archivos. Ofrece una manera simple y extremadamente flexible para subir archivos e imágenes. Características Facilita carga de archivos. Commit en la base

Marco Teórico Sencha Touch Roberto

¿Qué es Sencha? Sencha touch es un framework Javascript para crear aplicaciones web móviles con un rendimiento espectacular. Utiliza el patron MVC (Model-View-Controller) para generar la estructura de tu aplicación y hace uso del lenguaje Javascript para crear las aplicaciones.

Marco Teórico Arquitectura Sencha Touch

Marco Teórico Base de Datos Sistema de gestión de bases de datos objeto-relacional Se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia Es multiplataforma Replicación Velocidad al realizar las operaciones, lo que le hace uno de los gestores con mejor rendimiento.

Marco Teórico Servidor de Aplicaciones Cordova Roberto

Marco Teórico Arquitectura Sencha Touch

Marco Teórico Herramientas Diego

Marco Teórico

Solución Casos de Uso Diego

Solución Diseño Product Canvas Roberto

Solución Ninjamock

5.- Solución Aplicativo

Conclusiones y Recomendaciones Debido a la amplia aceptación que han tenido las herramientas de programación Ruby y JavaScript, con sus frameworks Rails y Sencha Touch respectivamente, y después de la investigación que hemos realizado podemos decir que estas en conjunto son capaces de proporcionar una arquitectura bastante robusta y evolutiva.

Conclusiones y Recomendaciones La mayor fortaleza del entorno de trabajo con lenguajes interpretados, es la forma en que se aprovecha la Convención sobre Configuración; es decir, que siempre se tendrá una homogeneidad de desarrollo en los proyectos y casi nunca se tendrá código ambiguo. Este principio permite enfoques intuitivos, por ejemplo: cambios en el código se vuelve sencillo debido al aislamiento o centralización de ciertos componentes (gemas) ya que el entorno se basa en lugares predeterminados, donde se debe ubicar cierta funcionalidad. Por lo que si se reutiliza código, este no afectará casi en nada al modelo del negocio que se está desarrollando

Conclusiones y Recomendaciones Sencha Touch CMD, proporciona una gran ventaja al momento de querer migrar el código a otra plataforma, posee una gran cantidad de controles IU para desarrollar pantallas bastante complejas e interactivas. Ha sido diseñado específicamente para dispositivos táctiles por lo que incluye una amplia gama de eventos táctiles. Sencha CMD a pesar de ser una plataforma reciente posee la suficiente documentación, soporte, APIs, librerías, entre otros; que permiten una desarrollar una plataforma robusta basada en el lenguaje javascript.

Conclusiones y Recomendaciones El Product Canvas permite hacer partícipe al cliente en cualquier momento del desarrollo, maneja un lenguaje simple y común por lo que el cliente no necesariamente debe estar siempre presente físicamente en las reuniones de trabajo; este modelo le permite al cliente estar lejos de la organización y tener una comunicación lineal, ya que todos están hablando el mismo lenguaje. Al reutilizar código de terceros, se garantiza que el desarrollo de los proyectos se lo implemente en menor tiempo y con más facilidad. La filosofía de los lenguajes interpretados es generar la menor carga posible en el desarrollo, por otro lado al ser de software libre se puede modificar todos los recursos para que realicen alguna tarea en específico. También al reutilizar código se fomenta la investigación en el desarrollador ya que el implementar código de terceros tiene su complejidad y encontrar justo el código que se necesita conlleva una responsabilidad.

Conclusiones y Recomendaciones Realizar capacitación oportunidad sobre el desarrollo en Ruby on Rail y Java Script, si bien en internet hay mucha información sobre las herramientas; esta información no siempre es orientada a lo que se desea realizar por lo cual se necesita una guía idónea para empezar con estos lenguajes. Implementar mecanismo de seguridad para la conexión entra cliente y servidor. Ruby ayuda a tener la información cifrada y tiene muchas gemas que ayudan a bloquear el acceso a personas no deseadas. Realizar aplicaciones móviles que no tengan ninguna información respecto a clientes o datos del servidor, la aplicación móvil deberá obtenerla toda la información desde el servidor.

Conclusiones y Recomendaciones Trabajar con objetos JSON es una forma muy viable para optimizar el consumo de recursos ya que no ocupan mucha memoria y los objetos pueden ser renderizados fácilmente. Para empezar con el estudio de estos lenguajes se debe seleccionar de forma adecuado las fuentes de información, en el desarrollo de la tesis se puede revisar los ejemplos con los códigos, sin embargo en la web se pueden encontrar muchos tutoriales y ejemplos cada vez más elaborados. Rails hereda algunas de las debilidades del lenguaje utilizado para su construcción. Más específicamente, la falta de apoyo de concurrencia; obstaculiza de cierta forma el potencial de escalabilidad de una aplicación construida usando Ruby on Rails. Además, la gestión de memoria no es tan eficiente como otros idiomas disponibles. Por ejemplo, Java exhibe un mejor comportamiento al momento de recolectar basura en comparación con Ruby on Rails. Por lo que, en caso de tener un sistema bastante robusto; se deberá incluir procesos de optimación en el rendimiento.

¿Preguntas?

Muchas Gracias