INGENIERÍA DE SOFTWARE II 1
Ingeniería WEB Contenido: 1. Definición de ingeniería Web 2. Diferencias y similitudes entre ingeniería de software e ingeniería Web 3. Atributos de las aplicaciones Web. 4. Modelo de proceso para la Web. 5. Control y Garantía de la Calidad 6. Control de la Configuración 7. Ejemplos de aplicaciones Web 8. Conclusiones 2
Ingeniería WEB 1. Definición de ingeniería Web La ingeniería web está relacionada con el establecimiento y utilización de principios científicos, de ingeniería y gestión, y con enfoques sistemáticos y disciplinados del éxito y desarrollo, empleo y mantenimiento de sistemas y aplicaciones basados en el web de alta calidad. Las metodologías, técnicas y herramientas que se utilizan en el desarrollo de Aplicaciones Web complejas y de gran dimensión en las que se apoya la evaluación, diseño, desarrollo, implementación y evolución de dichas aplicaciones, hacen referencia a la Ingeniería Web. 3
Ingeniería WEB 1. Definición de ingeniería Web El desarrollo de aplicaciones Web posee determinadas características que lo hacen diferente del desarrollo de aplicaciones o software tradicional sistemas de información La ingeniería web es la aplicación de metodologías sistemáticas, disciplinadas y cuantificables al desarrollo eficiente, operación y evolución de aplicaciones de alta calidad en la World Wide Web. 4
Ingeniería WEB 1. Definición de ingeniería Web La ingeniería web se debe al crecimiento desenfrenado que está teniendo la Web está ocasionando un impacto en la sociedad y el nuevo manejo que se le está dando a la información en las diferentes áreas en que se presenta ha hecho que las personas tiendan a realizar todas sus actividades por esta vía. 5
Ingeniería WEB 2. Diferencias ingeniería de software e ingeniería Web La ingeniería Web no es un clone de la Ingeniería del Software aunque ambos involucren programación y desarrollo de software El desarrollo del WebApps es distinto respecto al desarrollo de software de otras categorías Implica una mezcla de publicación impresa y desarrollo de software, marketing e informática, de comunicaciones internas y relaciones externas, y de arte y tecnología El desarrollo del un WebApp es un esfuerzo multidisciplinario debido al manejo de múltiples formatos, con una mezcla de atención social para saber su efecto ético y legal 6
Ingeniería WEB 2. Similitudes entre ingeniería de software e ingeniería Web Todas las actividades CGC (Control y Garantía de la Calidad) de la ingeniería software tradicional como son: establecimiento y supervisión de estándares, revisiones técnicas formales, análisis, seguimiento y registro de informes, etc, son igualmente aplicables a la Ingeniería Web. Sin embargo, en la Web toman especial relevancia para valorar la calidad aspectos como: Usabilidad, Funcionabilidad, Fiabilidad, Seguridad, Eficiencia y Mantenibilidad 7
Ingeniería WEB 3. Atributos de las aplicaciones Web El usuario puede acceder fácilmente a estas aplicaciones empleando un navegador web (cliente). Si es por internet, el usuario puede entrar desde cualquier lugar del mundo donde tenga un acceso a internet. Pueden existir miles de usuarios pero una única aplicación instalada en un servidor, por lo tanto se puede actualizar y mantener una única aplicación y todos sus usuarios verán los resultados inmediatamente. 8
Ingeniería WEB 3. Atributos de las aplicaciones Web Emplean tecnologías como Java, JavaFX, JavaScript, DHTML, Flash, Ajax... que dan gran potencia a la interfaz de usuario. Emplean tecnologías que permiten una gran portabilidad entre diferentes plataformas. Por ejemplo, una aplicación web flash podría ejecutarse en un dispositivo móvil, en una computadora con Windows, Linux u otro sistema, en una consola de videojuegos, etc.. 9
Ingeniería WEB 4. Modelo de proceso de la Ingeniería WEB Características como inmediatez, evolución y crecimiento continuos, nos llevan a un proceso incremental y evolutivo, que permite que el usuario se involucre activamente, facilitando el desarrollo de productos que se ajustan mucho lo que éste busca y necesita. 10
Ingeniería WEB 4. Modelo de proceso de la Ingeniería WEB 11
Ingeniería WEB 4. Modelo de proceso de la Ingeniería WEB 12 Identifica objetivos Establece el alcance de la primera entrega Genera estimación de costo Evaluación de riesgo Calendario de desarrollo y fechas de entrega Especifica los requerimientos Identifica el contenido Consta de dos partes: 1.Diseño y producción del contenido 2.Diseño de la arquitectura, navegación e interfaz del usuario Se integran arquitectura, navegación, e interfaz para la creación más visible del proyecto: las páginas Pruebas que buscan errores en todos los niveles: Contenido, funcional, navegacional, etc. El resultado final es sometido a evaluación del cliente!!!
Ingeniería WEB 4. Modelo de proceso de la Ingeniería WEB Formulación: identificación de metas y objetivos Planificación: estimación de costes, evaluación de riesgos y planificación temporal del proyecto Análisis: establecimiento de requisitos Ingeniería: dos grupos de tareas paralelas, Técnicas (diseño arquitectónico, de navegación y de interfaz) No técnicas (diseño del contenido y producción) 13
Ingeniería WEB 4. Modelo de proceso de la Ingeniería WEB Generación de páginas y pruebas El contenido se fusiona con los diseños arquitectónico, de navegación y de interfaz para elaborar páginas web ejecutables en HTML, JSP... Integración con el software intermedio (middleware) de componentes Evaluación con el cliente: revisión de cada incremento y solicitud de cambios 14
Ingeniería WEB 4. Modelo de proceso de la Ingeniería WEB 15 Formulación y Planeación Guía en el desarrollo del proyecto!!! Participantes Lema: “Comprender el problema antes de empezar a resolverlo, y estar seguro de que la solución concebida es aquella que la gente realmente quiere.”
Ingeniería WEB 4. Modelo de proceso de la Ingeniería WEB - Formulación 16 ClientesEquipo Formulación Permite Metas y Objetivos Establecer
Ingeniería WEB 4. Modelo de proceso de la Ingeniería WEB - Planeación 17 Planeación RiesgosProgramas Planeación Se consideran Controles Evita DestacaDefine DificultadesFracasoConfusiones Realizada por empleados de la empresa Se debe: 1.Entender el ámbito, las dimensiones y restricciones del proyecto 2.Definir un enfoque de gestión de cambio Se seleccionan subcontratistas Se validan cotizaciones, y la confiabilidad de las estimaciones. Compresión del grado de gestión del proyecto a realizar Gestión del grado de apoyo
Ingeniería WEB 4. Modelo de proceso de la Ingeniería WEB - Análisis 18 El Análisis especifica los requerimientos e identifica el contenido
Ingeniería WEB 4. Modelo de proceso de la Ingeniería WEB - Modelaje 19 El Modelaje se compone de dos secuencias paralelas de tareas. Una consiste en el diseño y producción del contenido que forma parte de la aplicación. La otra, en el diseño de la arquitectura, navegación e interfaz de usuario. Es conveniente resaltar la importancia del diseño de la interfaz. Independientemente del valor del contenido y servicios prestados, una buena interfaz mejora la percepción que el usuario tiene de éstos.
Ingeniería WEB 4. Modelo de proceso de la Ingeniería WEB – Generación de Páginas 20 Se integra contenido, arquitectura, navegación e interfaz para crear estática o dinámicamente el aspecto más visible de la aplicación, las páginas
Ingeniería WEB 4. Modelo de proceso de la Ingeniería WEB – Test 21 El Test busca errores a todos los niveles: contenido, funcional, navegacional, rendimiento, etc. El hecho de que las aplicaciones residan en la red, y que inter-operen en plataformas muy distintas, hace que el proceso de test sea especialmente difícil
Ingeniería WEB 4. Modelo de proceso de la Ingeniería WEB – Evaluación del Cliente 22 El resultados final es sometido a la evaluación del cliente y aceptación por el mismo.
Ingeniería WEB 4. Modelo de proceso de la Ingeniería WEB DISEÑO ARQUITECTONICO El diseño arquitectónico para para los sistemas y aplicaciones basados en web se centra en la definición de la estructura global y en la aplicación de las configuraciones de diseño y plantillas constructivas para popularizar la estructura que se representara como parte de la webapp. 23
Ingeniería WEB 4. Modelo de proceso de la Ingeniería WEB DISEÑO DE NAVEGACIÓN Una vez establecida la arquitectura de una webapp y establecidos sus componentes el diseñador deberá definir las rutas de navegación que permitan al usuario acceder al contenido y a los servicios de la webapp además definir la mecánica para la navegación. 24
Ingeniería WEB 4. Modelo de proceso de la Ingeniería WEB DISEÑO DE LA INTERFAZ Los conceptos, principios y métodos de diseño de interfaz son aplicables al diseño de interface de usuario sin embargo las características especiales de los sistemas y aplicaciones web requieren otras consideraciones adicionales. 25
Ingeniería WEB 5. Control y Garantía de la Calidad Una de las tareas colaterales que forman parte del proceso es el Control y Garantía de la Calidad (CGC). Todas las actividades CGC de la ingeniería software tradicional como son: establecimiento y supervisión de estándares, revisiones técnicas formales, análisis, seguimiento y registro de informes, etc,son igualmente aplicables a la Ingeniería Web. Sin embargo, en la Web toman especial relevancia para valorar la calidad aspectos como: o Usabilidad o Funcionabilidad Fiabilidad o Seguridad o Eficiencia o Mantenibilidad 26
Ingeniería WEB 6. Control de la Configuración La Web tiene características únicas que demandan estrategias y herramientas nuevas. Hay cuatro aspectos importantes a tener en cuenta en el desarrollo de tácticas de control de la configuración para la Web: o La dinamicidad con la que el contenido se genera, es tarea compleja organizar racionalmente los objetos que forman la configuración y establecer mecanismos de control. o Personal: Cualquiera realiza cambios. Hay mucho personal no especializado que no reconoce la importancia que tiene el control del cambio. o Escalabilidad: Es común encontrar aplicaciones que de un día para otro crecen considerablemente. Sin embargo, las técnicas de control no escalan de forma adecuada. o Política: ¿Quién posee la información?¿Quién asume la responsabilidad y coste de mantenerla? 27
Ingeniería WEB 7. Ejemplo de Aplicaciones WEB. Reserva de mesa online. 28
Ingeniería WEB 7. Ejemplo de Aplicaciones WEB. Reserva de mesa online. Se selecciona la fecha deseada en que se quiere reservar la mesa. 29
Ingeniería WEB 7. Ejemplo de Aplicaciones WEB. Reserva de mesa online. Después de seleccionar la fecha se selecciona el numero de personas y el área de donde necesita su mesa de fumador o no fumador. 30
Ingeniería WEB 7. Ejemplo de Aplicaciones WEB. Reserva de mesa online. Si la mesa es mayor a cinco personas la mesa será doble. 31
Ingeniería WEB 7. Ejemplo de Aplicaciones WEB. Reserva de mesa online. En la ubicación de no fumador se le asigna la mesa y quien reserva la mesa elige el lugar. 32
Ingeniería WEB 8. Conclusiones La aplicación de principios de ingeniería pueden evitar el caos potencial al que nos enfrentamos, y poner bajo control el desarrollo de las aplicaciones Web, minimizando riesgos y mejorando el mantenimiento y calidad. El proceso de ingeniería comienza con la formulación, planificación que estima el coste global, el análisis de aspectos técnicos y objetos de contenido, la generación de páginas mediante automatización y la comprobación. 33