Capítulo II Fundamentos Teóricos

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

Download "Capítulo II Fundamentos Teóricos"

Transcripción

1 Capítulo II Fundamentos Teóricos 2.1 Antecedentes En el ámbito internacional, Abuyang (2007), en su tesis de maestría de la Universidad Radboud Nijmegen en los Países Bajos, desarrolló un proyecto titulado Banca Móvil en países en Desarrollo: Un framework seguro para la entrega de servicios de banca SMS. Luego de investigar y analizar propuso un prototipo de implementación que toma en cuenta los problemas de seguridad encontrados luego de indagar en la situación actual. Utilizó Java como lenguaje de programación bajo el estándar J2ME gracias al alto porcentaje de teléfonos móviles que vienen con una máquina virtual de java predeterminada. Presentó un modelo seguro para servicios de banca móvil SMS capaz, adaptable para los usuarios de teléfonos celulares. Este antecedente se relaciona con el presente trabajo de aplicación profesional, debido a que se desarrolló una herramienta para proporcionar servicios de banca a los usuarios de una determinada institución bancaria, tomando en cuenta el importante nivel de usuarios que poseen dispositivos móviles con una máquina virtual de Java incorporada que soportan este tipo de aplicaciones. Gandica (2009), realizó un trabajo de aplicación profesional en la Universidad Nacional Experimental del Táchira denominado Aplicación para Dispositivos Móviles orientada a la recolección y procesamiento de datos socioeconómicos. Este trabajo consistió en el desarrollo de una aplicación para la ejecución de encuestas haciendo uso de dispositivos móviles, con la finalidad de optimizar factores como resultados, confianza y veracidad, entre otros, ahorrando tiempo, dinero y esfuerzo sin dañar el medio ambiente. Utilizó como metodología de desarrollo Scrum, UML como herramienta de modelado, Java como lenguaje de programación, Java ME como plataforma de desarrollo y

2 Netbeans como IDE. Como resultado se presentó una aplicación capaz de recolectar y procesar los datos obtenidos en encuestas móviles inteligentes alojadas en dispositivos móviles. El trabajo realizado por Gandica (2009), se considera como un antecedente importante para esta investigación porque consistió en el desarrollo de una aplicación para dispositivos móviles, utilizando Java como lenguaje de programación. Así mismo, fue desarrollado utilizando la metodología Scrum para el desarrollo de Software, metodología seleccionada para el desarrollo de éste trabajo. Sánchez y Oviedo (2006), en su proyecto Desarrollo de perfiles para dispositivos móviles para la migración de datos a una Grid, en la Universidad Nacional Experimental del Táchira, contemplaron el desarrollo de perfiles para dispositivos móviles para la migración de datos a una Grid, que permite la conexión ente un servidor de servicios Web y un cliente J2ME a través de un Proxy y un cliente java, permitiendo resolver diversos tipos de problemas a través de los servicios Web. El desarrollo de este trabajo siguió la metodología del modelo en espiral la cual permite dirigir y evaluar el desempeño en cada una de las etapas del proyecto. Dando continuidad al trabajo de investigación recién mencionado, Ramírez y Zambrano (2007), en la Universidad Nacional Experimental del Táchira, desarrollaron un proyecto denominado Agente para la Comunicación entre Dispositivos Móviles y la Grid, con el fin de lograr que los usuarios de dichos dispositivos puedan tener acceso a los diferentes recursos que posee una Grid, aumentando de esta manera las capacidades que dichos equipos poseen. Adoptaron la metodología de desarrollo en espiral y al culminar la implementación del agente, se evaluó su funcionalidad efectuando pruebas de integración Agente-Grid. El trabajo realizado por Sanchez y Oviedo (2006) que posteriormente fue punto de partida para Ramírez y Zambrano (2007), se encuentran entre los

3 primeros desarrollos orientados a los dispositivos móviles llevados a cabo en la Universidad Nacional Experimental del Táchira. 2.2 Bases Teóricas INFINIX Suite INFINIX Suite, es una solución multicanal desarrollada en lenguaje de programación Java sobre la plataforma J2EE, orientada a soportar los diferentes canales de distribución de las instituciones financieras, tales como agencias bancarias, oficinas, sucursales bancarias, Internet banking, call centers, ATM, kioscos y terminales móviles entre otros, integrando todos ellos entre sí en conjunto con los diversos sistemas empresariales con los que cuente una institución, utilizando un esquema centralizado. Figura 2: Arquitectura de INFINIX Suite Fuente: WINCOR NIXDORF C.A. INFINIX Suite tiene una arquitectura net-centric, cada una de sus capas está descrita de la siguiente manera:

4 - Presentation Layer: Es el punto de entrada a los servicios de la aplicación de cara al usuario o a un sistema externo. En un primer nivel representa la transformación de las solicitudes recibidas desde un dispositivo externo al mecanismo utilizado internamente por el sistema, ofreciendo un acceso homogéneo que independiza a la capa de deployment y businesslogic de las particularidades asociadas a los diferentes dispositivos que actúan como clientes del sistema. A su vez, esta capa representa las interfaces de usuario necesarias para acceder a los servicios publicitados y los mecanismos de acceso a la aplicación por otros sistemas. - Deployment Layer: Esta capa actúa como la puerta de entrada a los servicios ofrecidos por la lógica de negocio. Actúa como una fachada de la lógica de negocio donde se publican las funcionalidades ofrecidas a la capa de presentación. Esta capa, principalmente tecnológica, condiciona la forma en que los servicios son invocados desde la capa de presentación. - Business Logic Layer: Implementa la lógica de negocio de la aplicación, alberga los componentes que combinan las reglas de negocio y los datos. Los elementos en esta capa modelan los objetos y procesos de negocios interactuando con las capas inferiores para la obtención o persistencia de datos o para la solicitud de servicios a otros sistemas que formen parte del proceso de negocio. Esta capa está definida para ser independiente de la tecnología utilizada en la capa de deployment de forma de buscar su máxima reusabilidad y flexibilidad. - Data Access Layer: Esta capa abstrae a la aplicación del acceso a diferentes mecanismos de persistencia de datos. Cumplen la función de conocer la forma de interactuar con el mecanismo de persistencia y

5 transformar los datos obtenidos a un Value Object que pueda ser transportado y manipulado dentro de los procesos de la lógica de negocio o presentado al usuario o sistema externo. - Value Object Layer: Esta capa define los objetos que transportan los datos entre las diferentes capas y componentes que conforma el sistema. Todo el intercambio de información entre las diferentes capas que definen la aplicación y los componentes que la conforman se realizará utilizando Value Object (también denominados Data Transfers Objects ). Los objetos en esta capa están orientados a encapsular grupos de datos necesarios para realizar un proceso de negocio de forma de transportarlos a lo largo de la aplicación como un único elemento, aportando a su vez funcionalidad específica a lo largo de la arquitectura. - Arquitectura Component Layer: Esta capa ofrece al sistema un conjunto de componentes que simplifican diferentes necesidades dentro de la aplicación. En esta capa se encuentran componentes comunes que por su comportamiento o complejidad tiende a ser elementos reutilizables e independientes de la lógica de negocio y por ellos requieren ser diseñados e implementados de forma independiente. A su vez, los elementos aquí contenidos condicionan el desarrollo, debido a que es en ellos donde se define la forma de interacción entre las diferentes capas, así como la forma de interacción entre INFINIX y elementos externos al sistema, tales como base de datos o sistemas externos. Por otro lado, también da soporte a diferentes mecanismos ampliamente utilizados en el sistema buscando una mayor eficiencia y abstracción para el resto del sistema.

6 El principal propósito de INFINIX Suite es alinearse con el negocio, es decir, ser una solución orientada al ROI (Retorno de la Inversión), incrementando ventas y reduciendo costos, implementando las principales operaciones que los sistemas bancarios necesitan: - Tracing y Logging - Diario electrónico del sistema - Autorizaciones remotas - Seguridad (autenticación, autorización y permisos) - Manejo de dispositivos financieros - Generación de reportes (PDF, Excel entre otros) Robusto y Escalable Enfoque CRM & Multicanal Arquitectura Multicanal Modular & Flexible Estrategia CRM Multicanal Tecnología Correcta Solución Bancaria Flexible Multicanal Estrategia de Negocios Correcta CRM Ventaja Competitiva Capaz de alinearse a los requerimientos del negocio Capaz de responder a las necesidades cambiantes del negocio - Manejo de imágenes digitales (firmas, fotografías ente otros) Figura 3. Estrategia bancaria CRM (relación con el cliente multicanal) Fuente: WINCOR NIXDORF C.A.

7 Dispositivo Móvil Inteligente (Smartphone) La definición de Smartphone no está estandarizada y varía dependiendo de a quien se le pregunte. Para la mayoría de los usuarios, un Smartphone es un dispositivo móvil que ofrece más capacidades que un teléfono celular típico. Versiones modernas incluyen funcionalidades similares a un computador personal. La mayoría de los modelos más nuevos han desarrollado sistemas operativos y software asociado que provee una interfaz estándar. Casi todos los Smartphone tienen características avanzadas como correo electrónico, acceso a Internet, mensajería instantánea, sincronización con computadoras de escritorio etc. Estos dispositivos permiten acceso instantáneo a la Web, lo que se traduce en capacidad de colaboración inmediata. Rittinghouse y Ransom (2010). Firtman (2010), expone que los Smartphones son definidos en la actualidad como dispositivos con características como sistema operativo multitareas, un navegador de escritorio, redes inalámbricas LAN o WAN conocidas como WiFi y conexiones 3G, reproducción de música y algunas de las mencionadas a continuación: - GPS Sistema de Posicionamiento Global o A-GPS Sistema de Posicionamiento Global Asistido) - Brújula digital - Cámara con capacidad de grabar video - Salida de TV - Bluetooth - Sensibilidad al tacto - Aceleración de video 3D - Acelerómetro -

8 BlackBerry BlackBerry es una línea de productos de la empresa canadiense RIM (Research in Motion) que incluye tablets, dispositivos móviles inteligentes, software para negocios y accesorios lanzada al mercado en Java Desarrollado por Sun Microsystems a principios de los años 90, Java es un lenguaje de programación creado por inicialmente por un equipo de 13 personas, guiado por James Gosling en una operación denominada The Green Proyect. La promesa inicial era Write One Run Anywhere (Escríbelo una vez, ejecútalo en cualquier lugar), proporcionando así un lenguaje independiente de la plataforma y un entorno de ejecución ligero y gratuito. Es un lenguaje de programación de propósito general, concurrente, basado en clases y orientado a objetos. Está diseñado lo suficientemente simple para que los programadores adquieran destreza en el lenguaje. Está relacionado con C y C++ pero está organizado de forma diferente, con algunos aspectos de estos lenguajes omitidos y algunas otras ideas de otros lenguajes incluidas. Pretende ser un lenguaje de producción, no de investigación (Gosling, Joy, Steele y Bracha, 2005). Posee una Máquina Virtual de Java (JVM), ejecutable en una plataforma específica que es capaz de interpretar y ejecutar instrucciones expresadas en Java bytecode, generadas por el compilador del lenguaje JAVA. La JVM está situada en un nivel superior de Hardware, y es capaz de entender tanto el bytecode como el sistema sobre el que se pretende ejecutar, por tanto, es capaz de convertir el lenguaje generado por el compilador de Java en el lenguaje nativo del dispositivo final.

9 Java Micro Edition (JME) JME es una plataforma de Java diseñada por Sun Microsystems, ahora subsidiaria de Oracle, en reemplazo la similar Personal Java, licenciado por el General Public License (GNU) en el año Es una colección de tecnologías y especificaciones que se ajustan a los requerimientos de dispositivos móviles, que pueden ser combinadas para la creación de un Java Runtime Environment específico para alcanzar los requerimientos de algún dispositivo particular en el mercado. La plataforma Java ME sido dividida a lo largo del tiempo en dos configuraciones, una para dispositivos móviles pequeños conocida como Connectec Limited Device Configuración (CLDC) y otra llamada Connected Device Cofniguration (CDC) para otros dispositivos móviles con mayor capacidad como Smartphones y codificadores de señal de televisión (Oracle, 2011). BlackBerry Java SDK 6.0 Es un equipo de herramientas de desarrollo de software de Java que permite incluir características del sistema operativo 6 de BlackBerry en las aplicaciones. Incluye mejoras en las APIs del Explorador BlackBerry, elementos de interfaz de usuario prefabricados, localización geográfica mediante WiFi y tiempo de viaje (RIM, 2011). BlackBerry MDS Simulator Es un simulador de prueba que permite simular conectividad a redes y la funcionalidad proporcionada por BlackBerry Enterprise Server (RIM, 2011). Entorno de Desarrollo Integrado (IDE) Mejor conocido por su nombre en inglés Integrated Development Environment, es un conjunto de herramientas que soporta el desarrollo de aplicaciones. La mayoría de los IDEs proporcionan instrumentos que permiten

10 escribir y editar código fuente, visualizar errores en código mientras se escribe, automatizar tareas repetitivas, compilar código entre otras. (Oracle, 2011) El desarrollo de los IDE está destinado a maximizar la productividad de los desarrolladores de software, mediante un entorno de programación presentado como una aplicación. Entre los más conocidos se pueden destacar: NetBeans, JDeveloper, Eclipse, Delphi y C++Builder. BlackBerry Java plug-in for Eclipse Es un complemento de Java para Eclipse que mejora la productividad del desarrollo mediante un desarrollo específico de BlackBerry integrado, depuración y simulación. La versión 1.3 del complemento utilizada para el desarrollo de este proyecto, aumenta la productividad integrando las características y ofertas de ahorro de tiempo de Eclipse Helios 3.6 con la Perspectiva de Desarrollo BlackBerry de Eclipse que organiza las vistas de desarrollo y menús de fácil acceso.

11 Figura 4.Entorno BlackBerry java plug-in for eclipse Fuente: propia. BlackBerry Torch 9800 Simulator Es un simulador que permite cargar las aplicaciones desarrolladas en java para dispositivos móviles BlackBerry. Permite visualizar el funcionamiento de la aplicación mediante una interfaz que simula el sistema operativo 6 de BlackBerry (RIM, 2011). Figura 5. BlackBerry 9800 Simulator Fuente: Propia Desarrollo ágil En el ámbito del desarrollo de software, recientemente han surgido nuevos paradigmas basados en metodologías y procesos catalogados como ágiles. Schuh (2005), expone el desarrollo ágil, como un método de desarrollo de software que delega funciones a las demás personas y tiene confianza, reconociendo el cambio como norma y promoviendo constante retroalimentación.

12 Beck et al (2011), resumieron los valores detrás del desarrollo ágil en el Manifiesto por el Desarrollo Ágil de Software de la siguiente manera: - Individuos e interacciones sobre procesos y herramientas - Software funcionando sobre documentación extensiva - Colaboración con el cliente sobre negociación contractual - Respuesta ante el cambio sobre seguir un plan Scrum Es una metodología de desarrollo de software cuya concepción es relativamente reciente. Su nombre, en español melé, proviene de la analogía con una posición del deporte rugby, que consiste en el trabajo en equipo como un solo hombre por un fin común. Ésta metodología tiene como horizonte, elaborar pequeños prototipos funcionales que puedan ser revisados en el menor tiempo posible y al menor costo. Scrum entra dentro de las metodologías que se pueden clasificar como ágiles y es definida por Schuh (2005) como: un cambio en los paradigmas tradicionales de los proyectos sobre cómo organizar el trabajo, aplicar talentos, incluir al cliente, y generar calidad a todos los beneficiarios del proyecto(p. 267). Schwaber (2004), que forma parte del grupo conocido como la Alianza Ágil que participó en la creación del Manifiesto por el Desarrollo Ágil de Software, afirma que el corazón de Scrum son las iteraciones. El equipo de trabajo revisa los requerimientos, y luego selecciona cuales de estos consideran que pueden transformarse en un incremento funcional, potencial y entregable al final de cada iteración. Scrum maneja distintos factores que intervienen dentro del proceso de desarrollo de cada iteración, estos son, roles, flujos y los denominados artefactos. Schwaber (2004), define estos factores de la siguiente manera: - Roles: Existen tres (3) roles Scrum, denominados por Schwaber como cerdos o gallinas según el grado de compromiso con el proyecto. El

13 Product Owner es responsable de representar los intereses de todos los que estén involucrados en el proyecto y el sistema resultante. Es quien marca o define cuales serán los requerimientos, los objetivos de retorno de inversión (ROI) y los planes de entrega. El Team o equipo, es el responsable de desarrollar la funcionalidad. Estos equipos se encargan de gestionarse y organizarse e intercambiar funciones entre ellos mismos, para encontrar la manera de tener el mayor éxito posible en la iteración. Por último, el Scrum Master es el responsable del proceso de Scrum, de enseñar ésta metodología a todos los involucrados en el proyecto para su implementación y de asegurarse que siguiendo estas reglas, obtengan buenos resultados en el marco de la cultura de la organización. - Flujos: El proyecto comienza con una visión del sistema que se va a desarrollar, un poco vaga al principio y probablemente presentada en términos de mercadeo y no en términos de sistema. El Product Owner realiza un plan que incluye un Product Backlog, una lista de requerimientos funcionales y no funcionales que definen la visión que se quiere materializar. Todo el trabajo es realizado en Sprints, iteraciones de 30 días consecutivos aproximadamente. Cada Sprint inicia con una reunión de planificación del Sprint, Sprint Planning, donde el Product Owner y el Team definen cual será el alcance contemplado en el próximo Sprint y su duración no debe exceder las ocho (8) horas. El Sprint planning consta de dos (2) partes, en las primeras cuatro (4) horas está pautado que el Product Owner presente el Product Backlog con mayor prioridad al equipo. El Team aclara sus dudas respecto al contenido, propósito, significado e intenciones de dicho Product Backlog. Antes de finalizar este primer bloque de horas, el Team

14 luego de manejar la información suficiente selecciona qué tanto Product Backlog será capaz de entregar al final del Sprint. Durante el segundo bloque de cuatro (4) horas, se planea el Sprint, el equipo elabora un plan tentativo inicial y las taras de dicho plan pasan a formar parte del Sprint Backlog. Todos los días el equipo asiste a una reunión de Scrum llamada Daily Scrum. En cada reunión los miembros del equipo responden estas tres (3) preguntas: Qué has hecho en el proyecto desde el último DailyScrum? Qué planeas hacer en el proyecto entre éste y el próximo DailyScrum? Qué impedimentos se interponen para que alcances el compromiso adquirido para este Sprint y el proyecto? Al final de cada Sprint, una revisión de Sprint o Sprint Review es sostenida. Es una reunión de cuatro (4) horas en las que el Team presenta al Product Owner o cualquier otro stakeholder o involucrado que desee asistir, qué tanto se desarrolló durante el Sprint. Antes de comenzar la próxima reunión de Sprint Planning, el Scrum Master hace una reunión de retrospectiva Sprint con el equipo, para animarlos a que revisen el proceso de desarrollo para hacerlo más efectivo y cómodo para el próximo Sprint. - Artefactos: El Product Backlog o Pila de Producto, lista los requerimientos del sistema o producto que serán desarrollados por el proyecto. El Product Owner se encarga de sus conceptos, prioritización y disponibilidad. Está sujeto a los cambios que puedan ocurrir a lo largo del desarrollo. El Sprint Backlog o Pila de Sprint, por su parte, define el trabajo o tareas que el Team define como transformar un Product Backlog seleccionado en un incremento funcional. El equipo plantea una lista inicial en el segundo bloque de horas de la reunión de Sprint Planning. El

15 Sprint Backlog es altamente visible, se puede decir que una fotografía en tiempo real del trabajo que el Team planea llevar a cabo en el Sprint. Figura 6. Metodología de desarrollo Scrum Fuente: fund-aprendizaje-tec.blogspot.com El Burndown Chart o Diagrama de Quemado, finalmente, busca plasmar en un gráfico la cantidad de trabajo pendiente a lo largo del tiempo. Es una excelente forma de visualizar la correlación entre el trabajo faltante en cualquier punto en el tiempo y el progreso del Team reduciendo el mismo. Desarrollo Guiado por Pruebas (TDD) TDD es una técnica de programación que consiste en desarrollar primero el código que pruebe una característica antes del código que implementa dicha funcionalidad. Fue probada en sus inicios en Programación Extrema, y su objetivo es lograr que no exista ninguna funcionalidad que no esté avalada por una prueba. Beck (2003), planteó esta metodología en su libro Test-driven development: by example, en español, Desarrollo guiado por pruebas: en ejemplo, y expuso la siguiente frase buscando resumir el por qué del uso de

16 esta metodología: divide y vencerás. Afirmó que primero se debe resolver la parte que funcione del problema y después la parte código limpio, llevando esto a su concepción del ciclo de TDD: - Escribir una prueba; pensar cómo debería plasmarse una operación en código. - Hacer que corra; buscar una solución simple que corra en el menor tiempo posible. - Hacerlo correctamente; remover las duplicaciones de código, hacer que el código este limpio. Figura 7. Desarrollo guiado por pruebas Fuente: Goodpasture (2009), tiene una concepción similar a la de Beck en cuanto al ciclo de TDD. Divide el mismo en pasos y los define de la siguiente manera: - Documentar los requerimientos de desarrollo con pruebas - Correr la prueba, realizando modificaciones hasta que el código pase la prueba. - Refinar los detalles de diseño. Otra forma de denominar a estas tres (3) etapas del ciclo TDD es mediante los colores rojo, verde y refactorizar (Blé et al, 2010). Lenguaje Unificado de Modelado (UML) Según Quatrani (2003), es un lenguaje que pretende estandarizar los elementos de análisis y diseño: modelos semánticos, notación sintáctica y diagramas. Complementando esta definición Fowler, Scott y Scott (1999),

17 definen UML como un lenguaje de modelado y no como un método; una notación (principalmente gráfica) de que se valen los métodos para expresar los diseños. Siendo UML actualmente un lenguaje de modelado estándar adoptado por el Object Management Group (OMG), es un lenguaje que ha tenido gran aceptación a nivel mundial y está siendo utilizado por grandes corporaciones de desarrollo de software para el desarrollo de aplicaciones en diferentes ámbitos. Proceso Unificado de Rational (RUP) Según Rumbaugh et al. (1999), RUP es un ejemplo de un modelo de proceso moderno que proviene del trabajo en el UML y el asociado Proceso Unificado de Desarrollo de Software. Es una metodología que captura muchas de las mejores prácticas modernas de desarrollo de software para adaptarse a una amplia gama de proyectos y organizaciones, siendo una guía para utilización de UML de forma efectiva. RUP describe buenas prácticas de la ingeniería del software que son aconsejables en el desarrollo de sistemas. Se recomiendan seis buenas prácticas fundamentales definidas por Sommerville (2005) de la siguiente manera: - Desarrolle software de forma iterativa. Planifique incrementos del sistema basado en las prioridades del usuario y desarrollo y entregue las características del sistema de más alta prioridad al inicio del proceso de desarrollo. - Gestione los requerimientos. Documente explícitamente los requerimientos del cliente y manténgase al cambio de estos requerimientos. Analice el impacto de los cambios en el sistema antes de aceptarlos. - Utilice arquitectura basadas en componentes. Estructure la arquitectura del sistema en componentes.

18 - Modele el software visualmente. Utilice modelos gráficos UML para presentar vistas estáticas y dinámicas del software. - Verifique la calidad del software. Asegure que el software cumple los estándares de calidad organizacionales. - Controle los cambios de software. Gestione los cambios de software usando un sistema de gestión de cambios y procedimientos y herramientas de gestión de configuraciones. El modelo de RUP está dividido en fases que según Sommerville (2005) están mucho más relacionadas con asuntos de negocio más que técnicos, las cuales se describe como sigue: - Inicio: el objetivo de la fase de inicio es el de establecer un caso de negocio para el sistema. Se deben identificar las entidades externas (personas y sistemas) que interactuaran con el sistema y definir estas interacciones. - Elaboración: los objetivos de la fase de elaboración son desarrollar una comprensión del dominio del problema, establecer un marco de trabajo arquitectónico para el sistema, desarrollar el plan del proyecto e identificar los riesgos clave del proyecto. Al final de esta fase debe tener un modelo de requerimientos del sistema (casos de uso UML). - Construcción: la fase de construcción fundamentalmente comprende el diseño del sistema, la programación y las pruebas. - Transición: la fase final de RUP se ocupa de mover el sistema desde la comodidad de desarrollo a la comunidad del usuario y hacerlo trabajar en un entorno real. Al terminar esta fase se debe tener un software documentado que funciona correctamente en su entorno operativo.

19 Figura 8. Proceso RUP en 2 direcciones. Fuente: La figura 8 da una idea de la forma en que interactúan las buenas prácticas de la ingeniería del software y las fases de RUP. Lo que se busca es implementar una estructura de proceso de dos dimensiones, es decir, implementar dichas prácticas a lo largo de las fases del método. Diagrama de Caso de Uso Son diagramas que sirven para representar de forma gráfica las funciones de un sistema de software enfocadas en la interacción con un actor, que según Campderrich (2003), simbolizan la visión que tiene el sistema de una entidad exterior, es decir el conjunto de papeles que dicha entidad puede tener en cada interacción con el sistema. Los casos de uso son un lenguaje, un medio para la comunicación entre los usuarios y los desarrolladores, que permiten de forma detallada englobar la funcionalidad del sistema y como es la interacción con los usuarios. Son de gran importancia en las etapas de recolección de requisitos y según Fowler,

20 Scott y Scott (1999), es lo primero que se debe hacer antes de comenzar con el desarrollo del sistema. Lenguaje de Marcas Extensible (XML) Según W3C (2011), fue desarrollado por la World Wide Consortium en 1996, es un formato basado en texto para representar información estructurada: documentos, datos, configuración, libros, transacciones, facturas entre otros. Fue derivado de un estándar anterior con el fin de adaptarlo al uso Web llamado Estándar de Lenguaje de Marcado Generalizado (SGML) que fue normalizado por la Organización Internacional de Estándares bajo el número Los objetivos de diseño de XML son: - XML debe ser utilizable directamente sobre Internet - XML debe soportar una amplia variedad de aplicaciones - XML debe ser compatible con SGML - Debe ser fácil de escribir programas que procesen documentos XML - El número de características opcionales en XML debe ser mantenido en un mínimo, idealmente cero (0). - Los documentos XML deben ser legibles por un humano y razonablemente claros. - El diseño de XML debe ser preparado rápidamente - El diseño de XML debe ser formal y conciso - Los documentos XML deben ser fáciles de crear - La brevedad en la marcación es de mínima importancia Físicamente un documento XML está compuesto por unidades llamadas entidades, que pueden referirse a otras entidades con el fin de causar su inclusión en el documento. Todo documento debe comenzar en una raíz, y puede estar compuesto de declaraciones, elementos, comentarios, referencias de carácter e instrucciones de proceso.

21 Figura 9. Ejemplo de un XML desde el punto de vista lógico Fuente: Un objeto de datos es un documento XML si es bien formado y si adicionalmente es válido cumpliendo con algunas restricciones adicionales: - Documentos XML bien formados: Un objeto de texto es un documento XML bien formado si: o Tomado como un todo, se empareja con la producción marcada como documento, es decir, contiene uno o más elementos y existe exactamente un elemento llamado la raíz. o Cumple todas las restricciones acerca de buena-formación o Cada una de las entidades procesadas referenciadas directa o indirectamente en el documento es bien formada. - Documentos XML válidos: Un documento de XML es válido si: o Tiene asociada una declaración de tipo de documento, que son declaraciones de marcación que proveen gramática para una clase de documentos, tales como declaración de tipo de elemento, declaración de lista de atributos, declaración de entidad, o de notación. o La declaración de tipo de documento es conforme con las restricciones que en ella se expresan.

22 Figura 10. XML bien formado y válido Fuente: Java Servlet Un servlet puede ser visto como una extensión de un servidor. Es una clase de Java que puede ser cargada dinámicamente para expandir la funcionalidad de un servidor. Siendo una amplificación del servidor se ejecuta en una Máquina Virtual de Java en un servidor, por tanto es seguro y portátil. Sus predecesores, los Programas de Interface común de pasarela (GCI), a pesar de ser los únicos programas que permitían ejecutar código en servidores Web y capturar información Web, en la actualidad resultan menos eficaces y ofrecen menos posibilidades que los servlets; se siguen utilizando, aunque cada vez menos. Según Hunter y Crawford (2001), la utilización de los servlets en el desarrollo Web ofrece numerosas ventajas por encima de otros alcances y es una elección viable. Estas ventajas incluyen características como portabilidad, poder, eficiencia, fortaleza, seguridad, elegancia, integración, extensibilidad y flexibilidad.

CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR

CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR En este capítulo se describe el análisis y diseño de un sistema, denominado e-commerce Constructor, el cual cumple con los siguientes objetivos: Fungir

Más detalles

Visualización y modelado de elementos geográficos en dispositivos móviles. Capítulo 5: Aplicaciones cliente

Visualización y modelado de elementos geográficos en dispositivos móviles. Capítulo 5: Aplicaciones cliente Capítulo 5: Aplicaciones cliente 46 5.1 La aplicación cliente en la Pocket PC La aplicación desarrollada para el cliente en un dispositivo móvil como corresponde a la Pocket PC necesita una capa muy delgada

Más detalles

MEMORIA DE LAS ACTIVIDADES DESARROLLADAS PROYECTOS DE INNOVACIÓN EDUCATIVA CURSO 2014/2015

MEMORIA DE LAS ACTIVIDADES DESARROLLADAS PROYECTOS DE INNOVACIÓN EDUCATIVA CURSO 2014/2015 MEMORIA DE LAS ACTIVIDADES DESARROLLADAS PROYECTOS DE INNOVACIÓN EDUCATIVA CURSO 2014/2015 DATOS IDENTIFICATIVOS: 1. Título del Proyecto Herramienta para el Desarrollo de Aplicaciones Software con Metodologías

Más detalles

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

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

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

Desarrollo de Aplicaciones Móviles. Java

Desarrollo de Aplicaciones Móviles. Java Java Java es la base para prácticamente todos los tipos de aplicaciones de red, además del estándar global para desarrollar y distribuir aplicaciones móviles y embebidas, juegos, contenido basado en web

Más detalles

Curso de Android con Java

Curso de Android con Java Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 1 Este es un tiempo único para el mundo de los celulares, en particular de los Smartphones. Este tipo de dispositivos

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

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

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

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

Historia de revisiones

Historia de revisiones Binary Rain Glosario Versión 1.1 Historia de revisiones Fecha Versión Descripción Autor 17/08/2012 1.0 Creación del documento Carolina Trias 18/08/2012 1.1 Revisado y corregido por SQA Mercedes Marzoa

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

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el Capitulo II. Análisis de herramientas y tecnologías de desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el lenguaje de Modelo de Objetos llamado UML (Unified

Más detalles

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Página 1 de 21 CUALIFICACIÓN DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC154_3 Versión 5 Situación RD 1087/2005 Actualización

Más detalles

Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes.

Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes. SISTEMAS DISTRIBUIDOS DE REDES 2.- MODELOS ORIENTADOS A OBJETOS DISTRIBUIDOS 2.1. Tecnologías de sistemas distribuidos Para la implementación de sistemas distribuidos se requiere de tener bien identificados

Más detalles

1. INTRODUCCIÓN Y OBJETIVOS

1. INTRODUCCIÓN Y OBJETIVOS 1. INTRODUCCIÓN Y OBJETIVOS Los teléfonos móviles son ya parte esencial en nuestra forma de vida y cada día son más los usuarios de estos terminales. Hasta ahora nos han acompañado a todas partes y nos

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

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

Capítulo I. Marco Teórico

Capítulo I. Marco Teórico 1 Capítulo I. Marco Teórico 1. Justificación Hoy en día existe una gran diversidad de aplicaciones que corren sobre la World Wide Web (WWW o Web), y cada una orientada a un fin en particular, el cuál depende

Más detalles

Simulador de Protocolos de Red a tráves de WEB

Simulador de Protocolos de Red a tráves de WEB Simulador de Protocolos de Red a tráves de WEB Propuesta de Estudio 20071608 Director Ing. Francisco Antonio Polanco Montelongo Resumen Introducción Actualmente, el desarrollo tecnológico a alcanzado niveles

Más detalles

MIDDLEWARE: Arquitectura para Aplicaciones Distribuidas Dr. Víctor J. Sosa Sosa vjsosa@tamps.cinvestav.mx

MIDDLEWARE: Arquitectura para Aplicaciones Distribuidas Dr. Víctor J. Sosa Sosa vjsosa@tamps.cinvestav.mx MIDDLEWARE: Arquitectura para Aplicaciones Distribuidas Dr. Víctor J. Sosa Sosa vjsosa@tamps.cinvestav.mx Contenido Middleware: Introducción Definición Genealogía Aplicaciones actuales: Servicios Web Computación

Más detalles

Integración de Metodologías Ágiles en el Desarrollo de un Sistema de Monitoreo Inalámbrico para Medir la Contaminación del Aire en Tiempo Real.

Integración de Metodologías Ágiles en el Desarrollo de un Sistema de Monitoreo Inalámbrico para Medir la Contaminación del Aire en Tiempo Real. Integración de Metodologías Ágiles en el Desarrollo de un Sistema de Monitoreo Inalámbrico para Medir la Contaminación del Aire en Tiempo Real. Walter Fuertes, Diego Carrera, César Villacís, Fernando Galárraga,

Más detalles

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo. GLOSARIO Actor: Un actor es un usuario del sistema. Esto incluye usuarios humanos y otros sistemas computacionales. Un actor usa un Caso de Uso para ejecutar una porción de trabajo de valor para el negocio.

Más detalles

JAVA EE 5. Arquitectura, conceptos y ejemplos.

JAVA EE 5. Arquitectura, conceptos y ejemplos. JAVA EE 5. Arquitectura, conceptos y ejemplos. INTRODUCCIÓN. MODELO DE LA APLICACIÓN JEE5. El modelo de aplicación Java EE define una arquitectura para implementar servicios como lo hacen las aplicaciones

Más detalles

Programador en Plataforma Java y XML

Programador en Plataforma Java y XML Programador en Plataforma Java y XML Java Fundamentos Módulo 1: Java Básico Introducción En la presente unidad, se detalla los fundamentos de la tecnología Java, reconociendo las 3 plataformas que la conforman.

Más detalles

La Arquitectura de las Máquinas Virtuales.

La Arquitectura de las Máquinas Virtuales. La Arquitectura de las Máquinas Virtuales. La virtualización se ha convertido en una importante herramienta en el diseño de sistemas de computación, las máquinas virtuales (VMs) son usadas en varias subdiciplinas,

Más detalles

Capítulo III. Análisis y diseño.

Capítulo III. Análisis y diseño. Capítulo III. Análisis y diseño. 3.1 Análisis. El análisis es el intermediario entre los requisitos del sistema y el diseño, esta sección definiremos el análisis con una serie de modelos técnicos del sistema,

Más detalles

Modernización del escritorio

Modernización del escritorio Modernización del escritorio Una guía para abordar los requisitos del usuario final y los desafíos de TI con la virtualización de escritorio de VMware Contenido Capítulo 1: El dilema de los escritorios

Más detalles

Introducción En este apartado se va a proporcionar una apreciación global del SRS.

Introducción En este apartado se va a proporcionar una apreciación global del SRS. INTRODUCCIÓN Se pretende desarrollar una aplicación web para la gestión de un restaurante que ofrece espectáculos en fechas determinadas con el fin de poner en práctica los principios de planificación

Más detalles

GLOSARIO DE TERMINOS

GLOSARIO DE TERMINOS GLOSARIO DE TERMINOS A Aplicaciones Legacy.- Conjunto de aplicaciones desarrolladas o implementadas en plataformas de sistemas anteriores o antiguos. B Bases de Datos.- Organización y conservación de datos

Más detalles

SOFTWARE PROJECT MANAGEMENT PLAN

SOFTWARE PROJECT MANAGEMENT PLAN SOFTWARE PROJECT MANAGEMENT PLAN HERRAMIENTA PARA LA ADMINISTRACIÓN DE REQUERIMIENTOS DE LOS PROYECTOS DE LAS ASIGNATURAS DE INGENIERÍA Y ARQUITECTURA DE SOFTWARE DE LA PONTIFICIA UNIVERSIDAD JAVERIANA.

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Paradigmas de programación 2 Paradigmas de programación Paradigma de programación estructurada Enfatiza la separación datos de un programa

Más detalles

CAPÍTULO 5. Hemos utilizado la técnica de programación orientado a objetos por su

CAPÍTULO 5. Hemos utilizado la técnica de programación orientado a objetos por su 88 CAPÍTULO 5 5. IMPLEMENTACIÓN 5.1 Modelo Utilizado en Programación. Hemos utilizado la técnica de programación orientado a objetos por su eficiencia y eficacia en el modelo mvc, ya que permite la reutilización

Más detalles

Oracle Application Server 10g

Oracle Application Server 10g Oracle Application Server Oracle Application Server 10g La plataforma de aplicaciones más completa e integrada del mercado Puntos a comparar Lo más importante antes de realizar un análisis comparativo

Más detalles

3. Horario laboral referencial: Lunes Viernes 8:00 a.m. a 6:00 p.m.

3. Horario laboral referencial: Lunes Viernes 8:00 a.m. a 6:00 p.m. Arquitecto de Datos 1. Línea de Negocios: Soluciones de Negocios 2. Funciones Específicas: Participar en la realización de las actividades técnicas de actualización y migraciones a versiones mejoradas

Más detalles

BASES DE DATOS. Ivon Tarazona Oriana Gomez

BASES DE DATOS. Ivon Tarazona Oriana Gomez BASES DE DATOS Ivon Tarazona Oriana Gomez Introducción Introducción Ventajas e (Unified Modeling Language) Es un lenguaje usado para especificar, visualizar y documentar los diferentes aspectos relativos

Más detalles

Trabajo Final de Graduación para optar por el título. Bachiller en Ingeniería en Computación

Trabajo Final de Graduación para optar por el título. Bachiller en Ingeniería en Computación Trabajo Final de Graduación para optar por el título Bachiller en Ingeniería en Computación Migración del Módulo de Inventario del Sistema Business Advance Víctor Guzmán Alfaro Carrera Ingeniería en Computación

Más detalles

Sistema Web con Acceso a Bases de Datos Multiplataforma a Través de Teléfonos Celulares

Sistema Web con Acceso a Bases de Datos Multiplataforma a Través de Teléfonos Celulares TELEPROCESO Y SISTEMAS DISTRIBUIDOS Sistema Web con Acceso a Bases de Datos Multiplataforma a Través de Teléfonos Celulares L I C. S E R G I O A N D R É S S O T O Guía de la Presentación Marco Conceptual

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

Capitulo VI. GetME: Módulo de Software de Lectura de Mensajes de Texto para un Ambiente de Aprendizaje.

Capitulo VI. GetME: Módulo de Software de Lectura de Mensajes de Texto para un Ambiente de Aprendizaje. Capitulo VI. GetME: Módulo de Software de Lectura de Mensajes de Texto para un Ambiente de Aprendizaje. 6.1. Arquitectura General de GetME. La inclusión de tecnología de voz en teléfonos celulares y/o

Más detalles

4.1.1_Reunión de Planificación de Sprint (Sprint Planning Meeting) 4.1.2_Objetivo del Sprint (Sprint Goal) 4.1.4_Revisión de Sprint (Sprint Review)

4.1.1_Reunión de Planificación de Sprint (Sprint Planning Meeting) 4.1.2_Objetivo del Sprint (Sprint Goal) 4.1.4_Revisión de Sprint (Sprint Review) 1_Visión general de SCRUM 2_Teoría de Scrum 3_El Equipo Scrum (Scrum Team) 3.1_El Dueño de Producto (Product Owner) 3.2_El Equipo de Desarrollo (Development Team) 3.3_El Scrum Master 4_Eventos de Scrum

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

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

Capítulo 5 Introducción al Desarrollo de Aplicaciones Móviles usando J2ME

Capítulo 5 Introducción al Desarrollo de Aplicaciones Móviles usando J2ME Telemática TEL-352 Seminario de Telemática II Introducción al Desarrollo de Aplicaciones Móviles usando J2ME CHM-2008 Seminario de Telemática II 1 Objetivos Introducir los principales conceptos de la plataforma

Más detalles

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

Más detalles

Capítulo 1. Componentes de CORBA.

Capítulo 1. Componentes de CORBA. Capítulo 1. Componentes de CORBA. La OMA (Object Management Architecture) define en alto nivel de abstracción las reglas necesarias para la distribución de la computación orientada a objetos (OO) en entornos

Más detalles

PROPUESTA DE PROYECTO DE DESARROLLO DE PÁGINA WEB PARA GESTIÓN DE PROYECTOS CON METODOLOGÍA SCRUM

PROPUESTA DE PROYECTO DE DESARROLLO DE PÁGINA WEB PARA GESTIÓN DE PROYECTOS CON METODOLOGÍA SCRUM Universidad Rafael Landivar Campus Quetzaltenango Facultad de Ingeniería PROPUESTA DE PROYECTO DE DESARROLLO DE PÁGINA WEB PARA GESTIÓN DE PROYECTOS CON METODOLOGÍA SCRUM Linda Estrella Córdova Monterroso

Más detalles

ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES Y DE TELECOMUNICACIÓN

ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES Y DE TELECOMUNICACIÓN ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES Y DE TELECOMUNICACIÓN Titulación: INGENIERO EN INFORMÁTICA Título del proyecto: DESARROLLO DE UNA APLICACIÓN MÓVIL ORIENTADA A LA GEOLOCALIZACIÓN DE

Más detalles

Arquitectura de Software

Arquitectura de Software Arquitectura de Software (Estilos Arquitectónicos) Universidad de los Andes Demián Gutierrez Mayo 2011 1 Diseño Arquitectónico Diseño Arquitectónico Arquitectura del Software Estilos Arquitectónicos Frameworks

Más detalles

Taller de Programación de Dispositivos Móviles. José Miguel Rubio L. Oficina 3-20 http://www.inf.ucv.cl/~jrubio jose.rubio.l@ucv.

Taller de Programación de Dispositivos Móviles. José Miguel Rubio L. Oficina 3-20 http://www.inf.ucv.cl/~jrubio jose.rubio.l@ucv. Taller de Programación de Dispositivos Móviles José Miguel Rubio L. Oficina 3-20 http://www.inf.ucv.cl/~jrubio jose.rubio.l@ucv.cl Parte 1 1.Programación de dispositivos 2.Limitaciones de los dispositivos

Más detalles

Capitulo 4. JavaFX. Se da a conocer la plataforma de desarrollo JavaFX, los niveles en el cual se encuentra

Capitulo 4. JavaFX. Se da a conocer la plataforma de desarrollo JavaFX, los niveles en el cual se encuentra Capitulo 4. JavaFX Se da a conocer la plataforma de desarrollo JavaFX, los niveles en el cual se encuentra estructurado el lenguaje de programación, se realiza el análisis del código Helloworld.fx para

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

Anexo 4 Documento de Arquitectura

Anexo 4 Documento de Arquitectura Anexo 4 Documento de Arquitectura 1. Introducción El anexo se describe el propósito y alcance referentes al proyecto correspondiente al documento de arquitectura. 2. Propósito El propósito del anexo de

Más detalles

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 6. Actualización

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 6. Actualización Página 1 de 19 CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC303_3 Versión 6 Situación Contraste externo Actualización

Más detalles

Diplomado Java. Descripción. Objetivo. A quien está dirigido. Requisitos. Beneficios

Diplomado Java. Descripción. Objetivo. A quien está dirigido. Requisitos. Beneficios Diplomado Java Descripción El lenguaje de programación Java es uno de los más utilizados hoy en día. Su potencia, simplicidad, funcionalidad y capacidad hacen que este lenguaje sea una de las herramientas

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

SISTEMAS DE PLANEACIÓN DE RECURSOS EMPRESARIALES 2008

SISTEMAS DE PLANEACIÓN DE RECURSOS EMPRESARIALES 2008 SISTEMAS DE PLANEACIÓN DE RECURSOS EMPRESARIALES 2008 Por qué es Necesario Implementar un ERP? Las tendencias actuales y futuras están obligando a las empresas a aumentar su competitividad, por lo que

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

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

White Paper Help Desk Intranet

White Paper Help Desk Intranet 2004 Koala Developers Versión del documento: 2.0.8 White Paper Help Desk Intranet Autor: Departamento de Comercialización Última modificación: Abril de 2004 1 Contenido 2 Quién debería leer este documento?...3

Más detalles

Por qué su mesa de servicios actual no es eficaz para su negocio y qué se puede hacer al respecto

Por qué su mesa de servicios actual no es eficaz para su negocio y qué se puede hacer al respecto INFORME OFICIAL Septiembre de 2012 Por qué su mesa de servicios actual no es eficaz para su negocio y qué se puede hacer al respecto agility agility made possible made possible Tabla de contenido Resumen

Más detalles

SISTEMAS DISTRIBUIDOS DE REDES 3.- ESTANDAR CORBA. 3.1. Características

SISTEMAS DISTRIBUIDOS DE REDES 3.- ESTANDAR CORBA. 3.1. Características SISTEMAS DISTRIBUIDOS DE REDES 3.- ESTANDAR CORBA 3.1. Características La tendencia hacia el futuro es el de lograr la integración total de componentes realizados por terceras partes, para lo cual es necesario

Más detalles

Antes de imprimir este documento piense en el medio ambiente!

Antes de imprimir este documento piense en el medio ambiente! Versión 1.0 Página 1 de 14 1. OBJETIVO: Suministrar la metodología que se aplicará para la estimación de esfuerzo para los desarrollos nuevos en el ICBF, para lo cual se detallan los aspectos a tener en

Más detalles

Programación Java. M.C. Jorge Eduardo Ibarra Esquer Universidad Autónoma de Baja California jorgeeie@uabc.mx

Programación Java. M.C. Jorge Eduardo Ibarra Esquer Universidad Autónoma de Baja California jorgeeie@uabc.mx Programación Java M.C. Jorge Eduardo Ibarra Esquer Universidad Autónoma de Baja California jorgeeie@uabc.mx Febrero de 2006 Objetivos Conocer las características de la Tecnología Java Comprender las características

Más detalles

Qué significan los errores más habituales que devuelve Apache y cómo solucionarlos?

Qué significan los errores más habituales que devuelve Apache y cómo solucionarlos? Qué significan los errores más habituales que devuelve Apache y cómo solucionarlos? Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com Para que las páginas web puedan estar

Más detalles

UNIVERSIDAD SIMÓN BOLÍVAR Ingeniería de la Computación DESARROLLO DE SISTEMA DE ADMINISTRACIÓN DE PRECIOS PARA LA EMPRESA CENTRAL MADEIRENSE

UNIVERSIDAD SIMÓN BOLÍVAR Ingeniería de la Computación DESARROLLO DE SISTEMA DE ADMINISTRACIÓN DE PRECIOS PARA LA EMPRESA CENTRAL MADEIRENSE UNIVERSIDAD SIMÓN BOLÍVAR Ingeniería de la Computación DESARROLLO DE SISTEMA DE ADMINISTRACIÓN DE PRECIOS PARA LA EMPRESA CENTRAL MADEIRENSE Por Mariana Gamboa Sansón INFORME FINAL DE CURSOS EN COOPERACION

Más detalles

Notas técnicas de JAVA Nro. 4 White Paper

Notas técnicas de JAVA Nro. 4 White Paper Tema: Notas técnicas de JAVA Nro. 4 White Paper (Lo nuevo, lo escondido, o simplemente lo de siempre pero bien explicado) JAVA Basics : Entendiendo la Java Virtual Machine (JVM) Java, JVM, objetos, introducción,

Más detalles

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Antes de analizar lo que es un servidor Web y llevara a cabo su instalación, es muy importante identificar diferentes elementos involucrados

Más detalles

Para el desarrollo de aplicaciones Web se han generado múltiples tecnologías entre ellas se encuentran:

Para el desarrollo de aplicaciones Web se han generado múltiples tecnologías entre ellas se encuentran: Desarrollo de aplicaciones y servicios web Cinxgler Mariaca Minda Cinxgler@udistrital.edu.co Presidente Capítulo de Computadores Rama IEEE Universidad Distrital Francisco José de Caldas Resumen: Este articulo

Más detalles

Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz

Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1 Gerardo Lecaros Felipe Díaz Problemática Petición de salas de forma tradicional Solución J2EE Java 2 Platform, Enterprise Edition

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

Soluciones Corporativas para Smartphones

Soluciones Corporativas para Smartphones Libro Blanco Soluciones Corporativas para Smartphones Análisis de las soluciones de movilidad disponibles en el mercado y la contribución de soluciones de mensajería para el desarrollo del mercado móvil

Más detalles

GENERADOR DE APLICACIONES J2ME PARA DISPOSITIVOS MÓVILES

GENERADOR DE APLICACIONES J2ME PARA DISPOSITIVOS MÓVILES Revista de investigación Editada por Área de Innovación y Desarrollo, S.L. Envío: 12-07-2013 Aceptación: 4-08-2013 Publicación: 30-09-2013 GENERADOR DE APLICACIONES J2ME PARA DISPOSITIVOS MÓVILES J2ME

Más detalles

Versión 4.0 BOLETÍN (ABRIL 2010) a2 Herramienta Administrativa Configurable (Arquitectura Cliente Servidor) a2 softway C. A.

Versión 4.0 BOLETÍN (ABRIL 2010) a2 Herramienta Administrativa Configurable (Arquitectura Cliente Servidor) a2 softway C. A. Versión 4.0 BOLETÍN (ABRIL 2010) a2 Herramienta Administrativa Configurable (Arquitectura Cliente Servidor) a2 softway C. A. VERSIÓN 4.0 a2 Herramienta Administrativa Configurable e-mail a2softway@cantv.net

Más detalles

Tema 2: La Tecnología Java

Tema 2: La Tecnología Java Tema 2: La Tecnología Java 0 La Tecnología de Java Es : Un lenguaje de programación Similar a C/C++ sin los problemas de manejo de memoria. Un ambiente de desarrollo Compilador, intérprete, generados de

Más detalles

UNIVERSIDAD TECNOLÓGICA PRIVADA DE SANTA CRUZ FACULTAD DE CIENCIAS Y TECNOLOGIA. CARRERA: Ingeniería en Sistemas

UNIVERSIDAD TECNOLÓGICA PRIVADA DE SANTA CRUZ FACULTAD DE CIENCIAS Y TECNOLOGIA. CARRERA: Ingeniería en Sistemas UNIVERSIDAD TECNOLÓGICA PRIVADA DE SANTA CRUZ FACULTAD DE CIENCIAS Y TECNOLOGIA CARRERA: Ingeniería en Sistemas Perfil de Tesis para Proyecto Empresarial Aplicación para mejorar la evaluación del desempeño

Más detalles

Un Repositorio basado en Servicios Web para el Sistema Generador de Ambientes de Aprendizaje AMBAR

Un Repositorio basado en Servicios Web para el Sistema Generador de Ambientes de Aprendizaje AMBAR Un Repositorio basado en Servicios Web para el Sistema Generador de Ambientes de Aprendizaje AMBAR María Gertrudis López 1, Yosly Hernández 1, Cira Beleño 1, Doris Pernalete 2, Vanessa Miguel 3, Nora Montaño

Más detalles

Capítulo II. Arquitectura del Software

Capítulo II. Arquitectura del Software Capítulo II. Arquitectura del Software Después de un cuidadoso análisis de los objetivos del proyecto, se determinó que la mejor manera de estructurar el sistema era haciendo uso del muy famoso patrón

Más detalles

TECNOLOGÍAS DE DESARROLLO: JAVA

TECNOLOGÍAS DE DESARROLLO: JAVA Página 1 de 13 TECNOLOGÍAS DE DESARROLLO: JAVA Java es un lenguaje de programación de Sun Microsystems originalmente llamado "Oak", que fue concebido bajo la dirección de James Gosling y Bill Joy, quienes

Más detalles

2.1 Compuertas para Bases de Datos

2.1 Compuertas para Bases de Datos 1 Colección de Tesis Digitales Universidad de las Américas Puebla Romero Martínez, Modesto Uno de los aspectos mas importantes en un sistema multibase de datos es la forma en como llevar a cabo la comunicación

Más detalles

NCR CONNECTIONS. CxBanking

NCR CONNECTIONS. CxBanking CxBanking NCR CONNECTIONS Nuestra solucio n multicanal que permite a los bancos implementar de forma ra pida servicios comerciales personalizados a trave s de canales fi sicos y digitales. Una guía de

Más detalles

UNIVERSIDAD PONTIFICIA DE SALAMANCA DOCTORADO EN INGENIERÍA INFORMÁTICA

UNIVERSIDAD PONTIFICIA DE SALAMANCA DOCTORADO EN INGENIERÍA INFORMÁTICA UNIVERSIDAD PONTIFICIA DE SALAMANCA Campus de Madrid Facultad de Informática DOCTORADO EN INGENIERÍA INFORMÁTICA Programa en Ingeniería del Software BIENIO 2003-2005 ASIGNATURA: Diseño Avanzado de Sistemas

Más detalles

Software CRM On Premise ó CRM On Demand (SaaS)

Software CRM On Premise ó CRM On Demand (SaaS) Software CRM On Premise ó CRM On Demand (SaaS) 5 factores a considerar antes de tomar una decisión. Las alternativas de software disponibles en el mercado para apoyar una estrategia de CRM son muy amplias.

Más detalles

Proyecto de Grado SoReWa (Social Restaurant Wall) DOCUMENTO ARTICULADOR

Proyecto de Grado SoReWa (Social Restaurant Wall) DOCUMENTO ARTICULADOR Proyecto de Grado SoReWa (Social Restaurant Wall) DOCUMENTO ARTICULADOR Elaborado Por: Alejandro Arbeláez Acevedo Elaborado Para: Proyecto de Grado Versión: 1.0 Mayo, 2014 Confidencial Eafit UP. Versión

Más detalles

Servicio Web. Estándares empleados. Ventajas de los servicios web. Inconvenientes de los servicios Web

Servicio Web. Estándares empleados. Ventajas de los servicios web. Inconvenientes de los servicios Web Servicio Web Un servicio web (en inglés, Web services) es una tecnología que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones

Más detalles

Notas técnicas de JAVA Nro. 7 Tip Breve

Notas técnicas de JAVA Nro. 7 Tip Breve Notas técnicas de JAVA Nro. 7 Tip Breve (Lo nuevo, lo escondido, o simplemente lo de siempre pero bien explicado) Tema: JAVA Basics: Diferencias conceptuales entre JavaBeans y Enterprise JavaBeans (EJB)

Más detalles

DPTO. DE CIENCIAS DE LA COMPUTACIÓN CARRERA DE INGENIERÍA EN SISTEMAS E INFORMÁTICA

DPTO. DE CIENCIAS DE LA COMPUTACIÓN CARRERA DE INGENIERÍA EN SISTEMAS E INFORMÁTICA DPTO. DE CIENCIAS DE LA COMPUTACIÓN CARRERA DE INGENIERÍA EN SISTEMAS E INFORMÁTICA ANÁLISIS, DESARROLLO E IMPLANTACIÓN DE UN SISTEMA ORIENTADO A LA WEB PARA GESTIÓN ACADÉMICA. CASO PRÁCTICO: JOHN OSTEEN

Más detalles

Formación a distancia de EXPERTO EN PROGRAMACIÓN EN JAVA

Formación a distancia de EXPERTO EN PROGRAMACIÓN EN JAVA Instituto de Formación Profesional CBTech Estudie desde su hogar y obtenga un certificado universitario Formación a distancia de EXPERTO EN PROGRAMACIÓN EN JAVA 1 Introducción al Lenguaje JAVA Integrado

Más detalles

Desarrollo de Aplicaciones Windows Con Visual Studio 2010

Desarrollo de Aplicaciones Windows Con Visual Studio 2010 Desarrollo de Aplicaciones Windows Con Visual Studio 2010 (.NET FRAMEWORK 4.0) ACERCA DEL CURSO: Esta Especialidad está diseñado para desarrollar los conocimientos y habilidades para el desarrollo de aplicaciones

Más detalles

Programación para sistemas en red IV. Conceptos básicos II

Programación para sistemas en red IV. Conceptos básicos II Conceptos básicos II Maquina virtual de java (JVM): Una Máquina virtual Java (en inglés Java Virtual Machine, JVM) es un programa nativo, es decir, ejecutable en una plataforma específica, capaz de interpretar

Más detalles

Herramienta para la Administración y Estimación Ágil de Desarrollo de Software

Herramienta para la Administración y Estimación Ágil de Desarrollo de Software Herramienta para la Administración y Estimación Ágil de Desarrollo de Software Mario R. MORENO SABIDO Depto. de Sistemas y Computación, Instituto Tecnológico de Mérida Mérida, Yucatán 97118, México y Jorge

Más detalles

Herramientas de Software que posibilitan el BPM

Herramientas de Software que posibilitan el BPM Qué es BPM? BPM (Business Process Management) no es solamente una tecnología, sino en términos generales, una disciplina gerencial que trata a los procesos como bienes tangibles que contribuyen al desempeño

Más detalles

Gestionando Agile/Scrum con Sciforma

Gestionando Agile/Scrum con Sciforma agile Gestionando Agile/Scrum con Sciforma El desarrollo ágil de software son métodos de ingeniería del software basados en el desarrollo iterativo e incremental, donde los requerimientos y soluciones

Más detalles

EXPERTO EN DESARROLLO DE APLICACIONES PARA DISPOSITIVOS MÓVILES

EXPERTO EN DESARROLLO DE APLICACIONES PARA DISPOSITIVOS MÓVILES Instituto de Formación Profesional CBTech Estudie desde su hogar y obtenga un certificado universitario Formación a distancia de EXPERTO EN DESARROLLO DE APLICACIONES PARA DISPOSITIVOS MÓVILES 1 Introducción

Más detalles

ESCUELA POLITÉCNICA NACIONAL

ESCUELA POLITÉCNICA NACIONAL ESCUELA POLITÉCNICA NACIONAL ESCUELA DE INGENIERÍA DESARROLLO DE UN SISTEMA DE ENCUESTAS BASADO EN DISPOSITIVOS DE TELEFONÍA MÓVIL. PROYECTO PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO EN SISTEMAS INFORMÁTICOS

Más detalles

www.microsoft.com/office/sharepointserver www.abd.es Contenido empresarial administrado en una interfaz de usuario basada en Web.

www.microsoft.com/office/sharepointserver www.abd.es Contenido empresarial administrado en una interfaz de usuario basada en Web. Microsoft Office SharePoint Server 2007 es un conjunto integrado de características de servidor que puede contribuir a mejorar la eficacia organizativa al ofrecer completas funciones de administración

Más detalles

Capitulo 1: Plataforma Android

Capitulo 1: Plataforma Android Capitulo 1: Plataforma Android Elaborado por: Gary Briceño http://gary.pe http://gary.pe 1 Temario 1. Android 2. Evolución 3. Arquitectura Android 4. Paquetes de Trabajo 5. Android y Java http://gary.pe

Más detalles