Ingeniera Web Docente: Ing. Francisco Rodrguez Novoa 2 En este contexto definimos: un gil, pero marco de trabajo disciplinado para la construccin de calidad en la industria de WebApps. Debemos entender el significado de: Agil Marco de trabajo Calidad en la industria 3 Por qu agilidad? Las estrategias de negocio y reglas cambian rpidamente. Las exigencias de gestin de forma requieren casi instantneas respuestas (incluso cuando esas exigencias son irracionales) Los interesados a menudo no entienden las consecuencias de la Web y mantienen su mentalidad casi siempre lo que ellos demandan tengan entrega rpida. Un mtodo gil ayuda a hacer frente a esta fluidez y a la incertidumbre 4 Qu es un proceso agil? La ingeniera Web gil combina una filosofa y un conjunto de directrices de desarrollo. La filosofa anima a: Satisfaccin del cliente la entrega incremental y temprana de las WebApp Pequeos y muy motivados equipos de proyecto Mtodos informales Mnimos productos de trabajo generales de desarrollo con simplicidad. Un proceso gil destaca la entrega de anlisis y diseo (aunque estas actividades no estn aprobadas) y activa y continua comunicacin entre desarrolladores y clientes 5 Que es un marco de trabajo de IWeb? Un marco de trabajo es un conjunto de actividades que se realizar para cada proyecto de ingeniera Web, aunque la naturaleza de las actividades podran variar para adaptarse a cada proyecto. En cada marco de trabajo, las actividades estn compuestas por un conjunto de acciones. Las acciones abarcan: tareas de trabajo productos de trabajo puntos de garanta de calidad y los hitos del proyecto Un marco de trabajo tambien tiene un conjunto de actividades sombrilla These slides are designed to accompany Web Engineering: A Practitioners Approach (The McGraw-Hill Companies, Inc.) by Roger Pressman and David 6 Un marco de trabajo genrico 7 El marco de trabajo de la Iweb: Actividades Comunicacin. Implica mucha interaccin y la colaboracin con el cliente (y otras partes interesadas) y que abarca recopilacin de requisitos y otras actividades conexas Planificacin. Establece un plan incremental de trabajo para la Iweb. Modelado. Abarca la creacin de modelos que ayuden a los desarrolladores y el cliente WebApp para comprender mejor los requisitos y el diseo Construccin. Combina tanto la generacin de HTML, XML, Java y cdigo similar con las pruebas que se requieren para encontrar errores en el cdigo. Despliegue. Proporciona una WebApp incremental al cliente que evala y proporciona informacin basada en la evaluacin 8 Adaptando el marco de trabajo Adaptarse al problema, al proyecto, al equipo, y a la cultura organizacional y seguir adaptndose a lo largo de todo el proyecto al cambiar las circunstancias. La adaptacin lleva a: Flujo general de actividades, acciones y tareas y las interdependencias entre ellas Grado en que las tareas estn definidas dentro de cada actividad del marco de trabajo. Grado en el cual los productos sean identificados y requeridos Forma en que las actividades de aseguramiento de calidad son aplicadas Forma en que las actividades del control y seguimiento de los proyectos son aplicadas. Grado general de detalle y el rigor con que el cual los procesos son descritos. Grado en el cual los clientes y otros interesados estn involucrados con el proyecto Nivel de autonoma otorgado al equipo de proyecto software Grado en que el equipo organizacin y sus funciones estas descritos. 9 Agilidad: Principios Subyacentes - I Nuestra prioridad es satisfacer al cliente mediante la entrega continua de software valioso. Bienvenidos los cambios en los requerimientos aun cuando se den tardamente en el desarrollo. Los procesos agiles utilizan continuos cambios para la ventaja competitiva de los clientes. Ofrecer incrementos de software con frecuencia, tan a menudo desde pocos das a pocos meses con una preferencia de plazos ms cortos. Gente del negocio y los desarrolladores deben trabajar juntos diariamente a lo largo de todo el proyecto. Generar proyectos alrededor de gente motivada. Dar el entorno y el apoyo que necesitan y confiar en ellos para hacer el trabajo. El ms eficiente y eficaz mtodo para transmitir informacin a y dentro de un equipo de desarrollo es la comunicacin cara a cara. 10 Agilidad: Principios Subyacentes - II El software es la principal medida de progreso. Los procesos giles promueven el desarrollo sostenible. Los patrocinadores, los desarrolladores y los usuarios deben ser capaces de mantener un ritmo constante indefinidamente. Atencin Continua en excelencia tcnica y buen diseo mejora la agilidad. Simplicidad - el arte de maximizar la cantidad de trabajo no realizado, es esencial. Las mejores arquitecturas requisitos y diseos surgen de la organizacin de equipos. A intervalos regulares el equipo reflexiona sobre cmo ser ms eficaces, a continuacin, refina y ajusta su desempeo por consiguiente. 11 La influencia de la Ingeniera de Software Calidad: fomentar una cultura de mejora continua de los procesos Proceso: el engranaje que mantiene la tecnologa de capas Mtodos: brindar las tcnicas del cmo Herramientas son el soporte para los procesos y los mtodos 12 Mtodos de la Ingeniera Web Mtodos de comunicacin Mtodos de anlisis de requisitos Diseo de mtodos mtodos de construccin mtodos de prueba 13 Qu hay acerca de las herramientas y tecnologa? Herramientas y tecnologa son muy importantes, pero ambos funcionarn bien slo si se usa en el contexto de un marco de trabajo gil para ingeniera Web y en conjuncin con mtodos probados para una mejor comprensin del problema, diseo de una solucin y pruebas a fondo 14 Mejores practicas de la Ingeniera Web Tome el tiempo para comprender las necesidades del negocio y objetivos del producto, incluso si los detalles de la WebApp son imprecisos. Describir cmo los usuarios interactan con la WebApp mediante un escenario aproximado. Siempre desarrollar un plan de proyecto, incluso si es muy breve. Invertir algn tiempo en el modelado que indicar que es lo que esta por desarrollar. Revisar los modelos de coherencia y calidad. Utilizar las herramientas y la tecnologa que permiten construir el sistema con el mayor nmero posible de componentes reutilizables. No reinventar cuando puede reusar. No se confe en la primera los usuarios para depurar la WebApp. Disear y usar pruebas completas antes de liberar el sistema FIN