1 / 54

PWA – Prototyping of Web Applications

PWA – Prototyping of Web Applications. Una Herramienta de Soporte a la Ingeniería de Requerimientos. Universidad Nacional de Asunción Facultad Politécnica. PWA – Prototyping of Web Applications. Una Herramienta de Soporte a la Ingeniería de Requerimientos. TRABAJO DE FIN DE GRADO Autores.

aida
Download Presentation

PWA – Prototyping of Web Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PWA – Prototyping of Web Applications Una Herramienta de Soporte a la Ingeniería de Requerimientos Universidad Nacional de Asunción Facultad Politécnica

  2. PWA – Prototyping of Web Applications Una Herramienta de Soporte a la Ingeniería de Requerimientos TRABAJO DE FIN DE GRADO Autores DANIEL EDUARDO RIVAS LÓPEZ. LEPOLDO ARSENIO POLETTI OJEDA. Tutor: Prof. M.Sc. LUIS GILBERTO SALINAS. ASUNCIÓN - 2011 PWA – Prototyping of Web Applications 2

  3. Agenda Justificación. Objetivos. Introducción a la Ingeniería del Software. Ingeniería Web. Ingeniería de Requerimientos. Prototipado. Propuesta. PWA. Prototipo Generado. Caso de Estudio. Conclusiones y Trabajos Futuros. PWA – Prototyping of Web Applications 3

  4. Justificación 1 PWA – Prototyping of Web Applications 4

  5. La primera etapa dentro de la concepción de un sistema consiste en entender y representar de un modo apropiado los requerimientos que presenta el usuario. Sin embargo, uno de los desafíos más importantes con el que se encuentra el ingeniero de software es comprender las verdaderas necesidades de los clientes. Ocurren problemas a causa de especificaciones incompletas, mal estructuradas, escasa participación de usuarios, etc. Las aplicaciones web no escapan a estos problemas, siendo una de las más desarrolladas, hoy en día, y con escasas herramientas enfocadas a la especificación de requerimientos. Todo esto hace que se pierda una gran cantidad de tiempo y dinero durante el proceso de desarrollo de software. Justificación Introducción PWA – Prototyping of Web Applications 5

  6. La ingeniería de requerimientos nace de manera tal a ofrecer una posible solución a estos problemas. Una opción propuesta por la ingeniería de requerimientos es mediante el prototipado de aplicaciones. El prototipo de un producto software es una versión inicial que permite llegar de manera eficaz al entendimiento de los requisitos, reducir la complejidad del problema y ofrecer una pronta validación del diseño del sistema. Una herramienta que permita generar estos prototipos, permitiría a los desarrolladores optimizar el tiempo, capturando y validando requerimientos de manera tal a entregar el producto final con una mayor calidad y dentro de los plazos establecidos. Justificación Justificación PWA – Prototyping of Web Applications 6

  7. Objetivos 2 PWA – Prototyping of Web Applications 7

  8. Objetivos Objetivos Objetivo General • Desarrollar una herramienta, basada en modelos de proceso de la ingeniería web, que permita la generación automática de prototipos de manera a satisfacer los objetivos propuestos por la ingeniería de requerimientos. Objetivos Específicos • Mejorar la obtención y el análisis de los requerimientos. • Facilitar la validación de los requerimientos. • Automatizar el proceso del prototipado de manera a agilizar las etapas iníciales del desarrollo de software. PWA – Prototyping of Web Applications 8

  9. Ingeniería del Software 3 PWA – Prototyping of Web Applications 9

  10. La Ingeniería del Software es una disciplina de la ingeniería o área de la informáticaque concierne a todos los aspectos de la producción de software. Concierne a teorías, métodos y herramientas para el desarrollo profesional de software. Ingeniería del Software Conceptos Básicos • Entre las metas que se propone podemos citar: • Obtener un producto exitoso. • Aumentar la productividad. • Realizar el proceso de desarrollo de manera eficiente. • Definimos como Proceso del Software a un conjunto estructurado de actividades requeridas para desarrollar un sistema de software. • Las actividades varían dependiendo de la organización y del tipo de sistema a desarrollarse. PWA – Prototyping of Web Applications 10

  11. Ingeniería del Software Modelos de Proceso Metodologías Tradicionales • Modelo en Cascada. • Modelo Evolutivo. • Prototipado. • Modelo en Espiral. Metodologías Ágiles • SCRUM. • Programación Extrema (XP). PWA – Prototyping of Web Applications 11

  12. Ingeniería Web 4 PWA – Prototyping of Web Applications 12

  13. Ingeniería Web Ingeniería Web • La ingeniería web podría definirse como el proceso utilizado para crear, implantar y mantener aplicaciones web de alta calidad [Murugesan2001]. Metodologías Web • Object Oriented Hypermedia Design Method - OOHDM. • UML-Based Web Engineering - UWE. • Agile Web Applications - AWA. PWA – Prototyping of Web Applications 13

  14. Ingeniería Web Metodologías Web OOHDM - Object Oriented Hypermedia Design Method • Diseño Conceptual. • Diseño Navegacional. • Diseño de Interfaz Abstracto. • Implementación. UWE - UML-Based Web Engineering • Análisis de Requerimientos. • Modelado Conceptual. • Diseño Navegacional. • Modelado de Presentación. PWA – Prototyping of Web Applications 14

  15. Ingeniería Web Metodologías Web AWA – Agile Web Applications • Requerimientos. • Planificación. • Modelado. • Implementación. • Evaluación y Retroalimentación. PWA – Prototyping of Web Applications 15

  16. Ingeniería de Requerimientos 5 PWA – Prototyping of Web Applications 16

  17. Se denomina Ingeniería de Requerimientos al conjunto de todas las actividades involucradas al descubrimiento, análisis, documentación y mantenimiento de los requerimientos para un producto. Las actividades del Proceso de la Ingeniería de Requerimientos incluyen la extracción de requerimientos, el análisis, la negociación y la validación. El objetivo principal es entregar una especificación de requisitos de software correcta y completa. El costo de detección de errores tiene un aumento exponencial a medida que el desarrollo avanza en sus etapas [Boehm1981]. Ingeniería de Requerimientos Conceptos Básicos PWA – Prototyping of Web Applications 17

  18. Ingeniería de Requerimientos Costo de detección de errores Costo Tiempo Requerimientos Implementación Diseño Validación Evolución PWA – Prototyping of Web Applications 18

  19. Ingeniería de Requerimientos Procesos Principales PWA – Prototyping of Web Applications 19

  20. Prototipado 6 PWA – Prototyping of Web Applications 20

  21. Para muchos usuarios resulta difícil imaginar cómo se verá el sistema a partir de solamente la especificación de requerimientos. Una manera de visualizar y entender mejor estas especificaciones de requerimientos es desarrollando un prototipo del sistema. Prototipado Conceptos Básicos • Algunos beneficios que se obtienen al desarrollar un prototipo son: • Los mal entendidos son detectados tan pronto como las funciones del prototipo son demostradas. • Servicios que el usuario olvida mencionar son detectados rápidamente. • El prototipo sirve como una base para escribir las especificaciones de manera a garantizar la calidad del sistema. PWA – Prototyping of Web Applications 21

  22. Prototipado Prototipo de Software Propósito • El propósito principal del prototipado es capturar y validar los requerimientos del software. Enfoque de Desarrollo • Enfoque cerrado o prototipo desechable. • Enfoque abierto o prototipo evolutivo. PWA – Prototyping of Web Applications 22

  23. Propuesta 7 PWA – Prototyping of Web Applications 23

  24. Basado en la investigación del estado del arte. En este trabajo se propone una herramienta de soporte a la Ingeniería de Requerimientos que permita mejorar la calidad del software. Basado exclusivamente en técnicas, notaciones y mecanismos de extensión UML (Unified Modeling Lenguage) y la metodología UWE. Prototyping of Web Applications - PWA Propuesta Propuesta PWA – Prototyping of Web Applications 24

  25. Mejorar la obtención y el análisis de los requerimientos. Facilitar la validación de los requerimientos. Utilización de un lenguaje sencillo. Mejorar la calidad del software. Disminuir los costos y retrasos del proyecto. Evitar rechazos de usuarios finales. Soporte para el proceso de prototipado evolutivo. Generación de un sistema robusto. Diseñado con una arquitectura actual y muy competente en el mercado mundial. Propuesta Características de la Herramienta Propuesta PWA fue diseñada enfatizando los siguientes puntos: PWA – Prototyping of Web Applications 25

  26. Propuesta Proceso de Desarrollo PWA PWA – Prototyping of Web Applications 26

  27. Propuesta Proceso de Desarrollo PWA • Se obtienen los requerimientos a grandes rasgos. • Se van definiendo mejor a medida que avance el ciclo de vida. PWA – Prototyping of Web Applications 27

  28. Propuesta Proceso de Desarrollo PWA • Modelo de Datos. • Modelo de Navegación. • Modelo de Presentación. PWA – Prototyping of Web Applications 28

  29. Propuesta Proceso de Desarrollo PWA PWA – Prototyping of Web Applications 29

  30. Propuesta Salida Entrada Prototipo del Sistema PWA Modelado Conceptual Navegación Presentación Proceso de Desarrollo PWA Generación de Prototipo: PWA – Prototyping of Web Applications 30

  31. Propuesta Proceso de Desarrollo PWA PWA – Prototyping of Web Applications 31

  32. Caso de Estudio 10 PWA – Prototyping of Web Applications 32

  33. A continuación se presenta el proceso de desarrollo de una aplicación web utilizando la herramienta PWA y la metodología AWA. El proyecto consiste en el desarrollo de un sistema web para una cooperativa. La cooperativa se encuentra compuesta por socios de la familia Viveros, que desean una mejor forma de administrar su capital construyendo su propia cooperativa familiar. Los usuarios del sistema son básicamente los socios y funcionarios de la misma. Los funcionarios pueden realizar aperturas de libretas de ahorro, operaciones de depósitos, extracciones, créditos, aportes y solidaridad. Los socios pueden acceder a verificar el estado de sus cuentas y realizar operaciones sobre las mismas. Caso de Estudio Caso de Estudio PWA – Prototyping of Web Applications 33

  34. Caso de Estudio Desarrollo del Caso de Estudio CoFaVi Equipo Cliente • Lic. Ramón Rojas: Director de la cooperativa. • Lic. Carmelo Ramírez: encargado de la sección de informática. Equipo de Desarrollo • Leopoldo Poletti. • Eduardo Rivas. PWA – Prototyping of Web Applications 34

  35. Caso de Estudio Desarrollo del Caso de Estudio CoFaVi Herramientas de Desarrollo • Sistema Operativo: Windows XP, Vista y Seven. • Entorno de Desarrollo: Netbeans 6.7. • Herramienta de Diseño y Modelado: ArgoUML 0.28. • Servidor de Aplicaciones: Glassfish v2.1 y Tomcat 6.0.18. • Base de Datos: PostgreSQL 8.1.4. • Controlador de Versiones: Subversion. PWA – Prototyping of Web Applications 35

  36. Caso de Estudio Desarrollo del Caso de Estudio CoFaVi Requerimientos Iniciales • Administración de Usuarios: crear, editar, visualizar, listar, borrar. • Administración de Socios, Familiares y Funcionarios: crear, editar, visualizar, listar, borrar. • Administración de Roles: crear, editar, visualizar, listar, borrar. • Control de Acceso. • Apertura de libretas de ahorro. • Realizar operaciones de depósito y extracción (ahorros). • Realizar operaciones de créditos. • Registro de aporte y solidaridad. • Realizar operaciones de préstamos. PWA – Prototyping of Web Applications 36

  37. Caso de Estudio Iteración Nº 1 Fecha de Inicio de la Iteración: 05/03/2011 • Administración de Usuarios: crear, editar, listar, visualizar, borrar. • Administración de Socios y Funcionarios: crear, editar, listar, visualizar, borrar. • Administración de Roles: crear, editar, listar, visualizar, borrar. • Control de Acceso. • Apertura de libretas de ahorro. • Realizar operaciones de depósito y extracción (ahorros). • Realizar operaciones de créditos. Funcionalidades Implementadas PWA – Prototyping of Web Applications 37

  38. Caso de Estudio Resumen de la Iteración Nº 1 Fecha de Fin de la Iteración: 19/03/2011 Resumen de Tiempo PWA – Prototyping of Web Applications 38

  39. Caso de Estudio Iteración Nº 2 Fecha de Inicio de la Iteración: 21/03/2011 • Administración de Aportes: crear, editar, visualizar, listar, borrar. • Administración de Solidaridad: crear, editar, visualizar, listar, borrar. • Administración de Tipos de Ahorros: crear, editar, visualizar, listar, borrar. • Consulta de Cuentas por Socios. Funcionalidades Implementadas PWA – Prototyping of Web Applications 39

  40. Caso de Estudio Resumen de la Iteración Nº 2 Fecha de Fin de la Iteración: 02/04/2011 Resumen de Tiempo PWA – Prototyping of Web Applications 40

  41. Caso de Estudio Iteración Nº 3 Fecha de Inicio de la Iteración: 04/04/2011 • Administración de Familiares de Socios: crear, editar, visualizar, listar, borrar. • Proyección de Préstamos para Socios. Funcionalidades Implementadas PWA – Prototyping of Web Applications 41

  42. Caso de Estudio Resumen de la Iteración Nº 3 Fecha de Fin de la Iteración: 16/04/2011 Resumen de Tiempo PWA – Prototyping of Web Applications 42

  43. Caso de Estudio Resumen de la Iteración Nº 4 Fecha de Inicio de la Iteración: 18/04/2011 Fecha de Fin de la Iteración: 30/04/2011 Resumen de Tiempo PWA – Prototyping of Web Applications 43

  44. Caso de Estudio Análisis Final del Desarrollo del Proyecto Total de Funcionalidades Implementadas: 29. Tiempo Total Utilizado: 90 Hs. 20 min. Estimación del Tamaño del Proyecto con CMMI • S: Salidas. • T: Tecnología Utilizada. • O: Optimización. • R: Reusabilidad. • D: Dominio del Problema. En donde: • C: Clasificación. • AV: Actor Visual. • ASW: Actores de Software. • AHW: Actores de Hardware. PWA – Prototyping of Web Applications 44

  45. Caso de Estudio Estimación del Tamaño del Proyecto con CMMI PWA – Prototyping of Web Applications 45

  46. Caso de Estudio Estimación del Tiempo con CMMI PWA – Prototyping of Web Applications 46

  47. Caso de Estudio Estimación del Tiempo Ahorrado • Total de horas sin implementación con AWA: 90 hs. • Total de horas de implementación estimada: 426 hs. • Total de horas necesarias con AWA puro: 90 + 426 = 516 hs. • Total de horas con CMMI: 1044 hs. • Total de horas con PWA + AWA: 90.33 hs. PWA permite ahorrar las horas de implementación con cualquier metodología utilizada. Para este caso: 426 hs. PWA – Prototyping of Web Applications 47

  48. Caso de Estudio Estimación del Tiempo Ahorrado PWA – Prototyping of Web Applications 48

  49. Conclusiones y Trabajos Futuros 11 PWA – Prototyping of Web Applications 49

  50. No se encontró ninguna herramienta enfocada directamente a la obtención de requerimientos y el prototipado de aplicaciones web. Entre las distintas metodologías estudiadas se encontró que el UWE se ajustaba más a las características deseadas debido a las notaciones UML utilizadas. PWA nace en base a los estudios y metodologías expuestos. La arquitectura propuesta por PWA ha demostrado ser bastante aceptable, actual y eficiente en cuanto a las arquitecturas utilizadas hoy en día para el desarrollo de aplicaciones web. PWA y la metodología AWA han demostrado ser una propuesta adecuada y válida para el prototipado de aplicaciones web. PWA permite ahorrar un alto porcentaje de tiempo en comparación a otras metodologías tradicionales. Conclusiones y Trabajos Futuros Conclusiones PWA – Prototyping of Web Applications 50

More Related