3.1 INGENIERIA WEB
MODULO III
Ingeniería de SoftwareINF - 163
Resumen preparado por Miguel Cotaña18/11/10
Los sistemas y aplicaciones basados en
Web (WebApps) ofrecen un complejo
arreglo de contenido y funcionalidad a
una amplia población de usuarios
finales.
La ingeniería Web (IWeb) es el proceso
con el que se crean WebApps de alta
calidad
La IWeb no es un clon perfecto de la IS,
pero toma prestados muchos conceptos
y principios fundamentales de ella.
Además, el proceso IWeb acentúa
actividades técnicas y administrativas
similares.
Al igual que cualquier disciplina de
ingeniería, la IWeb aplica un enfoque
genérico que se suaviza mediante
estrategias, táctica y métodos
especializados.
Powell establece, que los sistemas
basados en Web ”involucran una
mezcla entre publicación impresa y
desarrollo de software, entre
marketing e informática, entre
comunicaciones internas y relaciones
externas, y entre arte y tecnología”.
Atributos de los sistemas y aplicaciones basados en Web
En la mayoria de las WebApps se
encuentran los siguientes atributos:Intensidad de red;
Concurrencia;
Carga impredecible;
Desempeño;
Disponibilidad;
Gobernada por los datos;
Sensibilidad de contenido;
Evolución continua;
Inmediatez;
Seguridad;
Estética.
En el trabajo IWeb es usual encontrar
las siguientes categorías de
aplicaciones:Informativo;
Descarga;
Personalizable;
Interacción;
Entrada del usuario;
Orientada a transacciones;
Orientada a servicios;
Portal;
Acceso a una BD;
Almacén de datos.
El desarrollo de sistemas y aplicaciones
basados en Web incorpora modelos de
proceso especializados, métodos de IS
adaptados a las características del
desarrollo de WebApps y un conjunto
de importantes tecnologías
habilitadoras. Los procesos, métodos y
tecnologías (herramientas)
proporcionan un enfoque en estratos
de la IWeb.
Estratos de ingeniería de WebApps
Los modelos de procesos IWeb
adoptan la filosofía del desarrollo ágil.
Aoyama, describe la motivación para
el desarrollo ágil: Internet cambió la
prioridad principal del desarrollo de
software de qué a cuándo. El
reducido tiempo para el mercado se
ha convertido en el límite competitivo
por las que luchan las compañías.
Proceso
Aún cuando rápidos ciclos de tiempo
dominan la reflexión acerca del
desarrollo, es importante realizar el:
Análisis
Diseño
Implementación en forma
incremental
Prueba.
Abarca un conjunto de labores
técnicas para construir las WebApps:
Métodos de comunicación;
Métodos de análisis de requisitos;
Métodos de diseño;
Métodos de prueba.
Métodos
Tecnología-lenguaje del lado del cliente:
Navegadores para Web;
HTML;
Javascript y Vbscript;
Applets en Java;
Flash (lenguaje ActionScript);
XML;
AJAX, acrónimo de AsynchronousJavaScript And XML (JavaScriptasíncrono y XML).
Herramientas y tecnología
El proceso de ingeniería Web
Cualquiera de los modelo de proceso
ágil (PE, DSA, Melé, SCRUM, etc.) se
pueden aplicar de manera exitosa
como un proceso IWeb. El marco de
trabajo del proceso que se presenta
aquí es una amalgama de los
principios e ideas tratados en
capítulos anteriores.
W2000: Un marco para el diseño
Autoweb: Una metodología
WSDM: Web Site Design Method
OO-H: Object-Oriented
Hipermedia Method
OOWS: Object Oriented Web-
Solutions
UWE: UML Based Web
Engineering
OOHDM: Object Oriented
Hypermedia Design Method
Antes de definir un marco de trabajo
de proceso para IWeb, se debe
reconocer que:
Las WebApps con frecuencia se
entregan de manera
incremental;
Los cambios ocurrirán
frecuentemente;
Los plazos son cortos.
El conjunto de mejores prácticas a
aplicar son:
1. Tomar tiempo para entender las
necesidades del negocio y los
objetivos del producto, incluso si
los detalles de la WebApp son
vagos;
2. Describir cómo interactuarán los
usuarios con la WebApp aplicando
un enfoque basado en escenarios;
Mejores prácticas en ingeniería Web
3. Desarrollar un plan del proyecto,
incluso si es muy breve;
4. Utilizar algún tiempo para modelar lo
que construirá;
5. Revisar la consistencia y calidad de los
modelos;
6. Utilizar herramientas y tecnología que
permitan construir el sistema con
componentes reutilizables;
7. No apoyarse en usuarios anteriores
para depurar.
Los métodos de ingeniería para
sistemas hipermedia y web, plantean
un modelo de proceso iterativo e
incremental y centrado en el usuario
con el objeto de mejorar la usabilidad
de las aplicaciones resultantes.
Características de desarrollo Hipermedia
¿Qué es la usabilidad?
• La usabilidad es la cualidad de un sistema respecto a:
su facilidad de usosu facilidad de aprendizajey la satisfacción del usuario
[Rosson y Carroll, 2002]
Objetivos de la usabilidad
• Que sea efectivo• Que sea eficiente• Que sea seguro• Que sea útil• Que se pueda aprender fácilmente• Que sea fácil de recordar cómo se usa
[Preece 2002]
Principios de usabilidad
• Visibilidad del estado del sistemaSiempre mantiene al usuario informadosobre qué se está haciendoproporcionando un “feedback” apropiadoen un tiempo razonable.
• Coincidencia entre el sistema y el mundoreal
Hablar con el lenguaje del usuario.
• Control del usuario y libertadSe debe proporcionar a los usuariosmecanismos de escape cuando se llegana situaciones no deseadas.
• Consistencia y estandarizaciónEvitar que diferentes palabras, acciones ysituaciones signifiquen la misma cosa.
• Ayudar a los usuarios a reconocer,diagnosticar y recuperar la situacióncuando se produce un errorUsar un lenguaje sencillo para describir lanaturaleza del error y sugerir la forma deresolverlo
• Impedir erroresIntentar impedir cometer errores cuandosea posible.
• Reconocimiento antes que recuerdoHacer los objetos, acciones y opcionesvisibles
• Estética y diseño minimalistaProhibir el uso de información que no es relevante o que se necesite raramente.
• Flexibilidad y eficiencia en el usoProporcionar aceleradores que seaninvisibles a los novatos
• Ayuda y documentaciónProporcionar información que se puedaalcanzar fácilmente y que proporcioneayuda siguiendo unos pasos concretos.
Ingeniería de la usabilidad
• Conjunto de conceptos y técnicas paraplanificar, realizar y verificar los objetivosde usabilidad de un sistema. [Rosson yCarroll, 2002]
• Busca conocer exactamente que criteriosse usarán para juzgar la usabilidad de unproducto.