Taller de Programación

Documentos relacionados
Crear diagramas basados en UML para la representación de la solución a un problema mediante el Paradigma Orientado a Objetos.

Administering System Center Configuration Manager

Sistema de Administración de Farmacias Descripción de la Arquitectura Versión 1.1. Historia de revisiones

SERVICIO MIGRACIÓN SISTEMA DE AYUDA DEL PUESTO DE MANIOBRA DE TALLERES

NÚMERO DE HORAS: 160H PROGRAMACIÓN WEB EN EL ENTORNO CLIENTE OBJETIVO

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO

Capítulo 5. Desarrollo del Sistema

1) FUNDAMENTACIÓN DE LA MATERIA DENTRO DEL PLAN DE ESTUDIOS

Stalin Israel Masapanta Moreno Sthalin Paul Vega Molina

METODOLOGIA UNACAR BASADO EN SCRUM

PRESENTACIÓN TRABAJO FIN DE GRADO

PROGRAMA DE SISTEMAS DE INFORMACIÓN 2

Presentación del Curso Presencial. Programación Web con Java J2EE

UNIVERSIDAD LIBRE SECCIONAL PEREIRA

Aplicación Android con Web Service Catálogo de productos en Android. Aplicación dirigida a: Accesorios Alma Mística.

Perfil Profesional en formato de la SETEC

UNIVERSIDAD LIBRE SECCIONAL PEREIRA

ESPECIFICACIONES TÉCNICAS LICITACIÓN PÚBLICA MIGRACIÓN DE SOFTWARE SISTEMA DE GESTIÓN DE VESTUARIO

INGENIERIA DE SOFTWARE ING. FRANCISCO RODRIGUEZ

Tema 1. Introducción a UML C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA M A R Í A

PARTE 1: INTRODUCCIÓN DE LA PLANIFICACIÓN. Carrera y plan: Analista Programador Universitario Plan 2008.

TEMA 4. PROCESO UNIFICADO

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

Análisis, Diseño y Arquitectura del Sistema

Horas teóricas: 2 Horas prácticas: 4 Total de Horas: 6 INTRODUCCION A LA PROGRAMACION

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN: ÁREA SISTEMAS INFORMÁTICOS.

Fecha de elaboración: Julio de 2010 Fecha de última actualización:

Grado de Ingeniería Informática. Consultor: Juan José Cuadrado Gallego Alumno: Isabel Guerra Monclova

Competencias a desarrollar

1. Preparar al estudiante para desarrollar aplicaciones de software utilizando un enfoque orientado a objetos.

Capitulo 5. Diseño de MACLEN

Plan de Estudios Experto Desarrollo GIS

PROYECTOS 2011/12. No se puede hacer uso de ningún libro, apuntes, transparencias de clase, etc.

Guía docente de la asignatura

UNIVERSIDAD TECNOLÓGICA DE PEREIRA FUNDAMENTOS DE LA METODOLOGIA RUP RATIONAL UNIFIED PROCESS JUAN PABLO GOMEZ GALLEGO ING JORGE GALVES

MANUAL DE TALLERES INGENIERÍA DE SOFTWARE

Sistema de Asignación de Turnos y Cálculo de Nómina para los empleados de una empresa prestadora de servicios temporales

INGENIERÍA DEL SOFTWARE

Interacción Persona - Ordenador

Tema 9: Método de Craig Larman

Ingeniería de Software

VERIFICACIÓN DE LA HIPÓTESIS, CONCLUSIONES Y RECOMENDACIONES CAPÍTULO VIII VERIFICACIÓN DE LA HIPÓTESIS, CONCLUSIONES Y RECOMENDACIONES

UNIVERSIDAD DE LA HUASTECA

SYLLABUS de la Asignatura. : Programación I

Plan de Estudios Experto Desarrollo GIS

ASIGNATURA: ANALISIS Y DISEÑO ORIENTADO A OBJETOS

Tema 2. Casos de Uso C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA M A R Í A B E L

Especificación de Requerimientos <Nombre del Proyecto> Nombre del Grupo de Desarrollo o Asignatura Nombre del Autor

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

PROPUESTA DE PROYECTO

Administrador de Contenido Empresarial

Planeador de Torneos y Competencias: PLATYCO. Documentación de la Arquitectura de Software

Sistema de Administración de Farmacias Modelo de Diseño Versión 1.0. Historia de revisiones

Sistemas Informáticos del Valle

MODULO III. Análisis y Diseño de Sistemas de Información INF-162 III. RUP. 3.1 Introducción. Facilitador: Miguel Cotaña 26 de Abril

ANEXOS ANEXO 1 PLATAFORMA VIRTUAL DE APRENDIZAJE COLABORATIVO BASADO EN LA METODOLOGÍA POL. (PLAPOL+)

UNIVERSIDAD GERARDO BARRIOS Centro Regional de Usulután Facultad de Ciencia y Tecnología

INGENIERÍA DEL SOFTWARE

1. Preparar al estudiante para desarrollar aplicaciones de software utilizando un enfoque orientado a objetos.

Chávez Bosquez, Carlos Arturo Custodio Izquierdo, José Hernández Torruco Fecha de elaboración: 28 de Mayo de 2010 Fecha de última actualización:

Array Development. Array Development Plan de Pruebas de Aceptación Versión 1.0

Guía de curso Programación Orientada a Objetos

TFC J2EE. InterBiblioteca. Alumno: Alfonso Pascual Garrido. Tutor: Antoni Oller Arcas

DESCRIPCIÓN ESPECÍFICA

IMPLEMENTACIÓN DE INTEGRACIÓN DE SISTEMAS HEREDADOS UTILIZANDO WEB SERVICES

Departamento de Desarrollo Tecnológico. Sistema Administración de Compras y Control Financiero Manual de Instalación y Recuperación

Unidad V. UML. Tema I. Conceptos Básicos Tema II. Definición de UML. Vocabulario Tema III. Elementos UML Tema IV. Diagramas.

Capítulo III. Arquitectura del sistema.

Instructivo N 01 Instalar UBUNTU SERVER X en VM

Guía para la documentación de proyectos de software

3. DESARROLLO Y HERRAMIENTAS

Tema 4g: Proceso Unificado: Implementación

Sistema web de Gestión y Administración de los servicios en la biblioteca del Colegio Público Experimental México.

032 - IFC01CM14. DESPLIEGUE DE APLICACIONES WEB

Programa de Desarrollo Web Avanzado

Estudiaremos desde los fundamentos hasta conceptos más avanzados de la tecnología JSF.

Guía docente de la asignatura

Índice de contenido. Índice de contenido

Programador de Aplicaciones Web

Universidad Ricardo Palma

Tienda Online: WebCine. Jose Luis Del Hoyo Fernández Consultor: Antoni Oller Arcas 13/01/2014

Ingeniería de Software II. SETEPROS Plan de pruebas. Versión 1.0

Proceso Unificado de Desarrollo de Software. 13 de sep de 2006

Oscar Alberto, Custodio Izquierdo Carlos Arturo, Hernández Torruco José Fecha de elaboración: 28 de Mayo de 2010 Fecha de última actualización:

DIPLOMADO EN JAVA JSE Y JEE

UNIVERSIDAD TÉCNICA DEL NORTE

Curso Implementing and Managing Microsoft Server Virtualization (10215)

Experto en Desarrollo GIS

Escuela Superior de Ingeniería y Tecnología

BETMA3-M - Bloque de Especialización en Tecnologías Multimedia Aplicadas III

INFORME TÉCNICO PREVIO DE EVALUACIÓN DE SOFTWARE SOFTWARE VIRTUALIZADO DE CONTROL DE ACCESOS

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN: ÁREA SISTEMAS INFORMÁTICOS.

Transcripción:

Taller de Programación Descripción del Proyecto Curso 2021 1 Introducción Los objetivos del curso son: Profundizar en el uso de herramientas conceptuales para el análisis y diseño de sistemas orientados a objetos. Aplicar una metodología básica para el uso de dichas herramientas. Poner en evidencia problemas que surgen en la construcción de sistemas de software y plantear herramientas para su solución. Introducir un lenguaje de programación orientado a objetos adecuado al objetivo de la asignatura. Para lograr estos objetivos, se desarrollará una única aplicación dividida en un conjunto de tareas, cada una con objetivos específicos. Cada tarea dispondrá de una especificación de requerimientos que complementa este documento. 2 Descripción de la Realidad 2.1 Sinopsis La propagación del coronavirus en el mundo ha afectado considerablemente la salud de las personas tanto por los efectos del virus y los contagios, como por la suspensión de actividades deportivas en general y el cierre de clubes y gimnasios deportivos. Esta situación ha motivado que varias instituciones deportivas hayan comenzado a buscar alternativas en línea para ofrecer sus actividades. En particular, varias actividades deportivas han sido transmitidas a través de plataformas de Internet, tales como youtube, Instagram y Facebook, y disponibilizadas además para acceso on demand. Asimismo, han surgido plataformas virtuales que ofrecen programas completos con distintas actividades deportivas, calendarios y niveles de dificultad. Algunos ejemplos de plataformas con estas características son GymVirtual [1], Ictiva [2] y Gym-in [3]. El sistema a construir será una plataforma social de actividades deportivas a través de Internet. Se espera que la plataforma brinde, por un lado, alternativas para que las instituciones deportivas ofrezcan sus actividades deportivas en línea y, por otro lado, la posibilidad de que el público general pueda acceder a estas actividades deportivas tan importantes para la salud en tiempos de distanciamiento social y de actividades presenciales con aforos reducidos. La plataforma, denominada Entrenamos.uy, permitirá entonces ofrecer actividades deportivas brindadas por instituciones deportivas, así como comprar acceso a clases de dichas actividades. Edición 2021 1

Más concretamente, a través de la plataforma las instituciones deportivas podrán organizar, gestionar y promocionar actividades deportivas y dictado de clases asociadas. Los potenciales usuarios podrán comprar acceso tanto a clases puntuales en días y horarios definidos, como a paquetes que incluyen varias clases. Se contará también con características sociales como seguir usuarios, comentar clases y visualizar recomendaciones de clases. Habrá también una aplicación especial disponible para los administradores de la plataforma, que servirá para tareas de gestión en general. 2.2 Arquitectura La Figura 1 muestra una arquitectura propuesta para el sistema antes descrito. En el diagrama se hace un especial énfasis en la distribución física de los componentes. Figura 1: Arquitectura del sistema a construir A continuación, se describen algunas responsabilidades y roles de cada uno de los componentes que forman parte de la arquitectura. Habrá un solo nodo de Servidor Central y Servidor Web a los que se conectarán las aplicaciones de cliente: Dispositivos móviles y Clientes Web (Navegadores Web). Servidor Central Este nodo contiene todos los componentes de la lógica y los datos necesarios para administrar el sistema y una aplicación gráfica que permita la administración de los datos en el nodo. El Servidor Central mantiene todos los datos del sistema, incluyendo el listado de actividades deportivas, usuarios, dictado de clases, compras, etc. El nodo del Servidor Web pedirá los datos al Servidor Central usando una interfaz de acceso implementada con la tecnología Web Services de Java [9]. Como consecuencia de lo anterior el Servidor Central será el único nodo que tendrá todos los datos de forma centralizada. El Servidor Central también dispondrá de una aplicación para la administración: un cliente con una interfaz de usuario gráfica (GUI) en Swing que permitirá ejecutar los diferentes casos de uso que hacen a la administración del sistema de forma centralizada. Cabe destacar que a dicha aplicación solo podrán acceder administradores de la plataforma, no así los usuarios finales. Edición 2021 2

Servidor Web Este nodo contendrá un Sitio Web que permitirá a los usuarios finales hacer uso del sistema, por ejemplo, para definir actividades deportivas, buscar actividades y comprar acceso a clases asociadas. Se espera que este nodo se comunique con el Servidor Central para obtener los datos a visualizar en el Cliente Web y en los dispositivos móviles, con el fin de brindar las funcionalidades. De este modo, el servidor proveerá páginas web y otros recursos como imágenes, para hacer posible que desde el navegador web se puedan ejecutar los casos de uso. Cliente Web Este nodo contiene el navegador web de un usuario que accede a las funcionalidades provistas por el Servidor Web. Es importante aclarar que este cliente no se implementa ya que se usarán navegadores web para el acceso. El usuario ingresará la URL del sitio que expone el Servidor Web para acceder a las funcionalidades. Es responsabilidad del Servidor Web proveer las páginas web y los demás recursos necesarios para que el navegador muestre el contenido solicitado. Dispositivo Móvil Este nodo representa un dispositivo móvil de un usuario de la plataforma. Dicho dispositivo contendrá un navegador web que provea acceso a algunas de las funcionalidades, por ejemplo, buscar actividades deportivas. Se espera que la conexión con el sistema se realice a través del Servidor Web. 3 Proceso de Desarrollo 3.1 Introducción El proceso de desarrollo a seguir será un proceso Iterativo e Incremental como el visto en el curso de Programación 4, derivado de [4]. Tomando como base que el análisis preliminar de requerimientos (necesarios para describir los casos de uso del sistema) ya fue realizado, se realizarán tres ciclos de desarrollo, uno por cada tarea del Taller. Cada ciclo de desarrollo estará compuesto de las etapas de Análisis, Diseño, Implementación y Verificación (he aquí la característica de Iterativo). Terminado cada ciclo se tendrá un producto parcial a ser evaluado, así como un conjunto de documentos específicos siguiendo los lineamientos en [5]. Durante cada ciclo de desarrollo se incrementará la funcionalidad del producto parcial de la iteración anterior agregando nuevas funcionalidades, así como mejorando las ya existentes (he aquí la característica de Incremental). Terminadas las iteraciones se contará con el sistema completo, aunque sin soporte de hardware. Una última iteración está planificada para el despliegue de la solución en el hardware a utilizar y realizar las pruebas necesarias antes de poner el producto en producción. Sin embargo, esta última iteración queda fuera del alcance del proyecto. Edición 2021 3

3.2 Características Técnicas El sistema va a ser desarrollado en Java [6] y se van a utilizar algunas tecnologías particulares de las plataformas Java SE 8 [7] y Java EE [8]. En particular: Web Services [9], Servlets [10] y Java Server Pages (JSP) [11]. Dado el requerimiento de disponer de un sitio web se va a utilizar el servidor Web Tomcat [12] que contiene soporte para realizar las interfaces gráficas con páginas JSP y Servlets. La interfaz gráfica del administrador será desarrollada con Swing [13]. 4 Planificación El desarrollo total del proyecto será de 12 semanas, dividido en 3 iteraciones, más una semana al final de cada entrega. Al finalizar cada iteración (que se corresponde con una tarea) habrá una prueba del producto construido (con el docente de monitoreo) en la cual se verificará que se hayan cumplido con los requerimientos de cada tarea. Esta prueba se realizará en la misma semana de la entrega, agregando las 3 semanas de defensas al proyecto general. En cada tarea se contará con un conjunto de requerimientos obligatorios que son necesarios para poder determinar si se aprueba o no. La Figura 2 muestra la arquitectura definida y una asignación primaria de componentes a las etapas del desarrollo en las cuales se desarrollarán mayormente. 3 1,2,3 2,3 Figura 2: Desarrollo del sistema por iteraci!n Cada una de las tareas hará foco en una parte del sistema, como se indica a continuación: Tarea 1 (3 semanas): Desarrollo inicial del Servidor Central. Se desarrollarán los conceptos iniciales que forman parte de la plataforma, pero no se brindarán funcionalidades para los clientes, sólo la administración de algunos elementos del sistema. Para esto se desarrollará una aplicación Swing que permitirá la administración del Servidor Central por parte de los usuarios administradores. Vale la pena aclarar que la Tarea 1 constará de todas las actividades que se dieron en el curso de Programación 4, con la diferencia que la interfaz para interactuar con el sistema será una aplicación Swing convencional en vez de la consola. Tarea 2 (6 semanas): Desarrollo inicial del Servidor Web, en una modalidad donde no hay comunicación remota con el Servidor Central, por lo que la lógica necesaria se incorporará a la aplicación web como una librería.jar. Se Edición 2021 4

desarrollarán las páginas web para implementar los casos de uso correspondientes a los usuarios del sitio web. En esta tarea el foco será el desarrollo de una aplicación Web utilizando Servlets y páginas JSP para implementar los casos de uso definidos. Los usuarios definidos interactuarán con el sitio Web para realizar los CU. Esta tarea se divide en dos partes (cada una de 3 semanas), teniendo una entrega parcial sin defensa al finalizar las 3 primeras semanas. El corte será realizado durante la semana de parciales, la cual no se contará en la duración total de la tarea. Tarea 3 (3 semanas): Implementación de la distribución física de los componentes en diferentes máquinas utilizando Web Services. El Servidor Central proveerá una interfaz para que el Servidor Web pueda acceder a los datos. Asimismo, se agregarán nuevas funcionalidades al Servidor Web. Además, se realizará el desarrollo del sitio web para el Dispositivo Móvil con funcionalidades básicas para el uso de la plataforma. 5 Referencias [1] GymVirtual http://gymvirtual.com/ [2] Ictiva https://www.ictiva.com/ [3] Gym-in https://www.gym-in.com/ [4] Larman, Craig (2001). Applying UML and Patterns (2a Ed). Prentice Hall. ISBN: 9780130925695. [5] Plantillas de Documentación https://eva.fing.edu.uy/course/view.php?id=315 [6] Java Technology (Oracle) http://www.oracle.com/technetwork/java/index.html [7] JavaTM SE 8 Platform Documentation http://docs.oracle.com/javase/8/docs [8] Java EE 7 Documentation http://download.oracle.com/javaee [9] Web Services https://www.oracle.com/java/technologies/javase/webservices-jsp.html [10] Java Servlet Technology http://www.oracle.com/technetwork/java/javaee/servlet/index.html [11] Java Server Pages Technology http://www.oracle.com/technetwork/java/javaee/jsp/index.html [12] Apache Tomcat http://tomcat.apache.org [13] The Swing Tutorial http://download.oracle.com/javase/tutorial/uiswing/index.html Edición 2021 5