Ingeniería Web
Universidad Católica de SaltaUniversidad Católica de SaltaDirección de IngenieríaDirección de Ingeniería
Ingeniería de SoftwareIngeniería de Software
Lic. Cecilia Palazzolo – Lic. Gustavo PontorieroLic. Cecilia Palazzolo – Lic. Gustavo Pontoriero
2
Ingeniería Web
En el mundo virtual se puede hacer todo lo que se necesite
Se puede decir que Internet y la Web son los avances más importantes en la historia de la informática.
Estas tecnologías informáticas nos han llevado a toda la humanidad a la era de la informática.
Durante los primeros años del siglo veintiuno estas tecnologías han llegado casi a formar parte de nuestra vida diaria.
3
¿Pueden aplicarse principios, conceptos y métodos de ingeniería en el desarrollo de la Web?
Con objeto de lograr un mayor éxito en el desarrollo y aplicación de sistemas basados en Web complejos y a gran escala, existe una necesidad apremiante de enfoques de ingeniería Web disciplinada y de métodos y herramientas nuevos para el desarrollo, empleo y evaluación de sistemas y aplicaciones basados en Web.
Tales enfoques y técnicas deberán tener en cuenta las características especiales en el medio nuevo, en los entornas y escenarios operativos, y en la multiplicidad de perfiles de usuario implicando todo ello un reto adicional para el desarrollo de aplicaciones basadas en Web.
4
Ingeniería Web
La Ingeniería Web (IWeb) está relacionada con el establecimiento y utilización de principios
científicos, de ingeniería y de gestión, y con enfoques sistemáticos y disciplinados del éxito
del desarrollo, empleo y mantenimiento de sistemas y aplicaciones basados en Web de alta
calidad
5
Ingeniería de SW vs. Ingeniería Web
Los sistemas basados en Web implican:
una mezcla de publicación impresa y desarrollo de software
de marketing e informáticade comunicaciones internas y relaciones
externasde arte y tecnología
6
Atributos de las WebApps:
Intensivas de RedControlada por el contenidoEvolución continuaInmediatezSeguridadEstética
7
Categorías de WebApps
Informativa: se proporciona un contenido solo de lectura con navegación y enlaces simples
Descarga: un usuario descarga la información desde el servidor apropiado
Personalizable: el usuario personaliza el contenido a sus necesidades específicas
Interacción: la comunicación entre una comunidad de usuarios ocurre mediante un espacio chat (charla), tablones de anuncios o mensajería instantánea
Entrada del usuario: la entrada basada en formularios es el mecanismo primario de la necesidad de comunicación
Orientada a transacciones: el usuario hace una solicitud (por ejemplo, la realización un pedido) que es cumplimentado por la WebApp
8
Categorías de WebApps (cont.)
Orientado a servicios: la aplicación proporciona un servicio al usuario, (por ejemplo, ayuda al usuario a calcular intereses sobre un determinado importe)
Portal: la aplicación canaliza al usuario llevándolo a otros contenidos o servicios Web fuera del dominio de la aplicación del portal
Acceso a bases de datos: el usuario consulta en una base de datos grande y extrae información
Almacenes de datos: el usuario hace una consulta en una colección de bases de datos grande y extrae información
9
Atributos de calidad
Árbol de Calidad - Olsina
10
La Tecnología de las WebApps
Desarrollo basado en componentes
Seguridad
Estándares de Internet
11
El Proceso de IWeb
12
El Proceso de Iweb
Formulación Planificación Análisis Ingeniería
Diseño del Contenido Diseño Arquitectónico Diseño de la Interfaz Producción
Generación de páginas y pruebas Evaluación del cliente
13
El Proceso de IWeb
Formulación¿Cuál es la motivación principal para la
WebApp?¿Por qué es necesaria la WebApp?¿Quién va a utilizar la WebApp?
Planificación
14
Análisis
Análisis del contenido: Se trata de la identificación del espectro completo de contenido que se va a proporcionar. (datos de texto, gráficos, imágenes, vídeo y sonido)
Análisis de la interacción. Se trata de la descripción detallada de la interacción del usuario y la WebApp.
Análisis funcional. Los escenarios de utilización (casos de uso) creados como parte del análisis de interacción definen las operaciones que se aplicarán en el contenido de la WebApp e implicarán otras funciones de procesamiento. Aquí se realiza una descripción detallada de todas las funciones y operaciones.
Análisis de la configuración. Se efectúa una descripción detallada del entorno y de la infraestructura en donde reside la WebApp. La WebApp puede residir en Internet, en una intranet o en una Extranet.
15
Diseño
Principios y métodos de diseño. Los conceptos y principios del diseño del desarrollo de SW se aplican a todas las WebApps. La modularidad eficaz (exhibida con una cohesión alta y con un acoplamiento bajo), la elaboración paso a paso, y cualquier otra heurística de diseño del software conducirá a sistemas y aplicaciones basados en Web
Diseño Arquitectónico (Estructuras de las WebApps):
Lineales Reticulares Jerárquicas De Red
16
Estructuras de WebApps
17
Diseño de la Interfaz
La velocidad de lectura del monitor de una computadora es aproximadamente un 25 por 100 más lento que leer una copia impresa. Por tanto, no hay que obligar al usuario a leer cantidades voluminosas de texto, particularmente cuando el texto explica la operación de la WebApp o ayuda a navegar por la red.
Evite los símbolos «bajo construcción» -levantan expectación y provocan un enlace innecesario que seguramente sea decepcionante-.
Los usuarios prefieren no tener que recorrer la pantalla. Los menús de navegación y las barras de cabecera se deberán
diseñar consecuentemente y deberán estar disponibles en todas las páginas a las que el usuario tenga acceso.
El diseño no deberá depender de las funciones del navegador para ayudar en la navegación.
La estética nunca deberá sustituir la funcionalidad. Las opciones de navegación deberán ser obvias, incluso para el
usuario casual.
18
Pruebas
El enfoque de las pruebas de las WebApps adopta los principios básicos de todas las pruebas del software y aplica estrategias y tácticas que ya han sido recomendadas para los sistemas OO. El modelo de contenido de la WebApp es revisado para descubrir
errores. El modelo de diseño para la WebApp es revisado para descubrir
errores de navegación. Se aplican pruebas de unidad a los componentes de proceso
seleccionados y las páginas Web. Se construye la arquitectura, se realizan las pruebas de integración. La WebApp ensamblada se prueba para conseguir una funcionalidad
global y un contenido La WebApp se implementa en una variedad de configuraciones
diferentes de entornos y comprobar así la compatibilidad con cada configuración.
La WebApp se comprueba con una población de usuarios finales controlada y monitorizada.
19
El equipo de Iweb
Desarrolladores y proveedores de contenido
Editores Web
Ingeniero Web
Especialistas de soporte
Administrador
20
Gestión de Proyectos
Las métricas de procesos y proyectos, la planificación de proyectos (y estimación), el análisis y gestión de riesgos, la planificación temporal y el rastreo, SQA y CGS, de la Ingeniería de SW se aplican al desarollo IWeb.
Inicio de un proyecto. Búsqueda del proveedor: Se deberá desarrollar internamente un diseño aproximado de la WebApp. Se deberá desarrollar una planificación temporal aproximada del proyecto,
incluyendo no solo las fechas finales de entrega, sino también las fechas hito (significativas).
Se deberá identificar el grado de supervisión e interacción del contratista con el proveedor.
Selección entre los proveedores de subcontratación candidatos: Entrevistar a los clientes antiguos para determinar la profesionalidad del proveedor de
Web, la habilidad de cumplir los compromisos de horarios y costes, y la habilidad de comunicarse eficazmente;
Determinar el nombre del ingeniero jefe de Web del proveedor de proyectos anterior con éxito (y después cerciorarse de que esta persona se vea obligada mediante contrato a su implicación en el proyecto)
Examinar cuidadosamente las muestras de trabajo del proveedor similar en aspecto e interacción (y en área de negocios)
Evaluación de la validez de las ofertas de precios y de la fiabilidad de las estimaciones.
El grado de gestión del proyecto que se puede esperar o realizar
21
Problemas GCS para la IWEb
Las WebApps han evolucionado y han pasado de utilizar dispositivos informales para la difusión de información a utilizar sitios sofisticados para el comercio electrónico.
A medida que las WebApps van creciendo también crece el control de la configuración.
Sin controles eficaces cualquier cambio inadecuado en una WebApp (inmediatez y evolución) puede conducir a: una ubicación no autorizada de la información del producto nuevo; Una funcionalidad errónea y pobremente comprobada que frustra a
los visitantes del sitio Web; agujeros de seguridad que ponen en peligro a los sistemas internos
de las compañías, y otras consecuencias económicamente desagradables e incluso desastrosas.
22
Problemas GCS para la IWEb
Se pueden aplicar las estrategias generales para la GCS, pero las tácticas y herramientas deberán adaptarse y ajustarse a la naturaleza única de las WebApps.
Considerar: el contenido: organizar un mar de contenido en un conjunto
razonable de objetos de configuración
las personas: cualquier persona que esté implicada en la WebApp puede crear el contenido.
la escalabilidad: el rigor de los mecanismos de control de la configuración deberán ser directamente proporcionales a la escalabilidad de la aplicación
la política: ¿Quién es el propietario de una WebApp?