You are on page 1of 13

Documento bajado de http://www.desarrollos-mecame.com/.

La propiedad intelectual de cada documento pertenece al creador del mismo, no a Desarrollos Mecame

INGENIERA WEB

Gerardo Liceras Romaniega


INGENIERIA DE TELECOMUNICACIN

INGENIERIA DEL SOFTWARE

1.- Caractersticas..........................................................................................3 2.- Categoras mas frecuentes de las WebApps:..............................................3 3.- Atributos de calidad..................................................................................3 4.- Tecnologas.............................................................................................4 5.- Proceso de IWeb......................................................................................5 6.- Modelo del proceso IWeb.........................................................................5 6.1.- Formulacin.......................................................................................5 6.2.- Anlisis..............................................................................................6 6.3.- Diseo...............................................................................................6 6.3.1.- Diseo Arquitectnico..................................................................7 6.3.2.- Diseo de navegacin..................................................................8 6.3.3.-Diseo de la interfaz.....................................................................8 6.4.- Pruebas.............................................................................................9 7.- Problemas de Gestin.............................................................................10 7.1.- El equipo IWeb................................................................................10 7.2.- Gestin del Proyecto.........................................................................11 7.3.- Problemas GCS para la IWeb ...........................................................12 8.- BIBLIOGRAFA.......................................................................................13

INGENIERIA WEB

GERARDO LICERAS ROMANIEGA

INGENIERIA DEL SOFTWARE

1.- Caractersticas
1.- Intensivas de Red: Estn y operan en redes (Internet, intranets, extranets) 2.- Controladas por el contenido: Muchas veces son solo objeto de difundir ciertos contenidos a travs de hipermedia (grficos, sonidos, textos, video...) 3.- Evolucin continua: Tanto las WebApps como los medios para desarrollarlas cambian a un ritmo vertiginoso (contenidos que se actualizan cada hora, tcnicas nuevas de desarrollo, etc) 4.- Inmediatez: Distintamente a como ocurre con otros tipos de software, el desarrollo y comercializacin de las WebApps puede ser de das o semanas. 5.- Seguridad: Son altamente inseguras y se hace necesario implementar mecanismos de seguridad. 6.- Esttica: Cada vez mas relacionada con el diseo de WebApps. Nuevas tcnicas de animacin e interaccin hacen que se compita tambin por la esttica de la aplicacin.

2.- Categoras mas frecuentes de las WebApps:


Informativa: solo lectura o navegacin. Descarga de informacin. Personalizable segn las necesidades Interaccin: con chats, mensajera instantnea, o foros Entrada del usuario: mediante formularios. Orientada a transacciones: compra de productos va Internet Orientada a Servicios: Portal: ndice de servicios y contenidos fuera de la aplicacin del portal Acceso a Base de datos: consulta y recopilacin de info contenida en una BBDD Almacenes de datos: Igual que la anterior pero con conjuntos de BBDD.

3.- Atributos de calidad


Desde el punto de vista del usuario, la calidad es completamente subjetiva. Algunos prefieren WebApps vistosas, otros muy simples, unos prefieren que se actualicen cada poco tiempo, otros que se mantenga una imagen constante... Pero intentando objetivizar dicha calidad para conseguir compaginar una buena apariencia para el usuario y unas buenas caractersticas tcnicas para el ingeniero web, se le acaban aplicando los criterios de calidad del software tpicos, haciendo hincapi en Usabilidad: Capacidad de comprensin del sitio global Servicios de ayuda y realimentacin en lnea Capacidades estticas y de interfaz

INGENIERIA WEB

GERARDO LICERAS ROMANIEGA

INGENIERIA DEL SOFTWARE

Servicios especiales Funcionalidad: Capacidad de recuperacin y de bsqueda Servicios de bsqueda y navegacin Servicios relacionados con el dominio de aplicacin Fiabilidad: Proceso correcto de enlace Recuperacin de errores Validacin y recuperacin de la entrada del usuario (formularios) Eficiencia: Rendimiento del tiempo de respuesta Velocidad de generacin de pginas Velocidad de generacin de grficos Mantenimiento: Facilidad de correccin Adaptabilidad Extensibilidad

4.- Tecnologas
Para construir WebApps de calidad, un ingeniero web, debe estar familiarizado con: Desarrollo basado en componentes: o Gracias a los sistemas basados en web, han avanzado bastante o Tres estndares: CORBA COM/DCOM JavaBeans o Permiten usar y personalizar componentes de terceras partes. Seguridad: o Es necesario evitar intrusiones de ajenos y propios a zonas a las que se les restringe el acceso dentro de la WebApp (zona admin., zona solo propio, etc.) o Medios: Firewalls, Encriptacin, Protocolos Seguros Estndares de Internet. o Los navegadores entienden protocolos HTML derivado del SGML o Tambin XML, lenguajes interpretados PHP, ASP, Cold Fusion, Javascript,... compilados Perl, C, Java ... o Futuro: XHTML: HTML mas estricto que el actual.

INGENIERIA WEB

GERARDO LICERAS ROMANIEGA

INGENIERIA DEL SOFTWARE

5.- Proceso de IWeb


Es claramente incremental y evolutivo. Por la naturaleza intensiva, tendremos: - Amplia y diversa poblacin de usuarios (obtencin y modelado de requisitos) - Arquitectura altamente especializada (exigencias en el diseo)

6.- Modelo del proceso IWeb


A grandes rasgos: Formulacin: Se identifican las metas y objetivos Planificacin: Estimacin del coste global del proyecto, riesgos, etapas y subetapas. Anlisis: Establecimiento de los requisitos tcnicos y de diseo (estticos) e identificacin de los elementos de contenido. Ingeniera: Dos tareas paralelas: o Diseo del contenido y produccin: echas por personal NO tcnico. Recopilacin de informacin, medios audiovisuales, a integrar en la App. o Diseo arquitectnico, de navegacin y del interfaz: hecho por tcnicos Generacin de paginas: Se adecua al diseo arquitectnico, de navegacin y de interfaz, el contenido provisto para sacar las paginas HTML, XML, etc. Es en esta fase donde se integra la WebApp con el software intermedio (CORBA, DCOM, JavaBeans. Pruebas: Se hace una navegacin intensiva sobre la aplicacin para descubrir errores, visualizarla en otros navegadores y ser consciente cuanto menos de las limitaciones y posibles bugs. Evaluacin del cliente: No es la ultima fase. Es una fase a ejecutar cada vez que se termina alguna de las anteriores. Los cambios se hacen efectivos por el flujo incremental del proceso.

6.1.- Formulacin Para hacer una correcta formulacin, debemos preguntarnos, entre otras cosas: Por que y para que hacer la WebApp? Como es de necesaria? Quien la va a usar?

Las respuestas sern muy generales, y no entraran en detalles. Podemos clasificar las metas especificas en: Metas Informativas: Definen los objetivos sobre el contenido e informacin que se dar al usuario.
GERARDO LICERAS ROMANIEGA

INGENIERIA WEB

INGENIERIA DEL SOFTWARE

Metas Aplicables: Son los servicios o tareas que puede realizar la WebApp.

Despus de las metas, haremos el Perfil del Usuario, determinando las principales caractersticas de los potenciales navegadores y clientes. Mas adelante, se hace la Afirmacin del mbito, con la que vemos la posible integracin con sistemas ya existentes, como pueden ser bases de datos. 6.2.- Anlisis Identifica los datos y requisitos funcionales y de comportamiento para la WebApp. Durante la IWeb, se realizan 4 tipos de anlisis: Anlisis del contenido: Se puede utilizar el modelado de datos, y en esta etapa se identifica todo el contenido que se va a proporcionar. (texto, grficos, imgenes, video y sonido) Anlisis de la interaccin: Se realizan casos prcticos y sus casos de uso para la descripcin detallada de la interaccin usuario-WebApp. Anlisis funcional: Se detallan las funciones y operaciones de procesamiento adicionales que se aplicaran en el contenido de la WebApp Anlisis de la configuracin: Se detalla y describe el lugar donde va a residir la App. (Intranet, Internet o Extranet). Tambin se tiene que identificar la infraestructura de los componentes y el grado de utilizacin de la base de datos para generar el contenido.

En todo caso es recomendable hacer un documento que recoja la informacin de todo el proceso de anlisis y que ser revisado y modificado para hacer otro documento que pasarle a los diseadores de la WebApp. En el caso de una App grande no es recomendable hacer un documento muy extenso, porque los requisitos estarn cambiando continuamente, y quedara obsoleto antes de terminarlo. 6.3.- Diseo La caracterstica de inmediatez obliga a que los diseos se hagan rpidamente y a que sean evolucionables. Muchas veces la rapidez o precipitacin en el diseo nos cierra puertas a la evolucin de la aplicacin. Los ingenieros Web, trabajan bajo los siguientes elementos tcnicos: Principios y mtodos de diseo: Facilitaran la adaptacin, pruebas, mejoras y uso. o Modularidad eficaz (cohesin alta y acoplamiento bajo) o Elaboracin paso a paso o Diseo orientado a objetos y diagramas UML
GERARDO LICERAS ROMANIEGA

INGENIERIA WEB

INGENIERIA DEL SOFTWARE

Reglas de oro: que se han ido construyendo desde los inicios de Internet Configuraciones de diseo: Aplicables a los elementos funcionales y a los documentos, grficos y esttica general. Plantillas: Dotan de una estructura similar cada elemento, configuracin de diseo, o documento a utilizar dentro de la WebApp. Se hace posible pasando como parmetros a esa plantilla, los datos relevantes, que darn cuerpo al esquema.

6.3.1.- Diseo Arquitectnico Se encarga de la definicin de la estructura global hipermedia y en la aplicacion de las configuraciones de diseo y plantillas. Dicha estructura depende de las metas establecidas, del contenido y de la filosofa de navegacin. Tpicamente hay: Estructuras lineales: cuando es predecible la sucesin de interacciones. Por ejemplo en la entrada, y validacin de datos, hay una estructura lineal. Tambin existen lineales con flujo opcional, y lineal con desviaciones. Estructuras reticulares: Solo si el contenido de la Web puede ser organizado en dos o mas dimensiones. Para ellos el contenido debe ser muy regular. Por ejemplo, marcas de electrodomsticos y tipos de electrodomsticos. Estructuras jerrquicas: Son las mas comunes. En las jerarquas de software tradicionales se fomentan el flujo de control solo a lo largo de las ramas verticales. En una WebApp se pueden enlazar por hipertexto ramas verticales de la misma estructura. Es el Acoplamiento. Estructura en red (o de web pura): Es como la arquitectura en evolucin de los sistemas OO. Se enlaza todo con todo. Da mucha flexibilidad de navegacin, aunque a veces es confusa para el usuario.

Es comn combinar varias de las estructuras, dando lugar a estructuras hbridas. Los patrones de diseo pueden aplicarse en el nivel de componente (cuando se requiere la funcionalidad del proceso de datos), jerrquico, y de navegacin (que tratan sobre como el usuario podr moverse por el contenido de la aplicacin) Entre estos ltimos, estn: Ciclo: Se devuelve al usuario al nodo de contenido visitado anteriormente. Anillo de Web: Se enlazan paginas de un mismo tema. Contorno: Cuando varios ciclos inciden en otro Contrapunto: durante la narracin se aaden comentarios de hipertexto. Mundo de espejo: Varias narraciones desde puntos de vista distintos Tamiz: Se presentan opciones que el usuario va eligiendo, hasta llegar a un punto que el mismo habr provocado con sus decisiones. Vecindario: Marco de navegacin uniforme por todas las paginas web
GERARDO LICERAS ROMANIEGA

INGENIERIA WEB

INGENIERIA DEL SOFTWARE

6.3.2.- Diseo de navegacin Una vez establecida la arquitectura se define la ruta que permitir acceder al contenido y a los servicios. Se deber identificar una semntica para segn que usuarios y definir una sintaxis (mecnica) para la navegacin. Se tendrn, habitualmente, varios papeles: visitante, cliente, cliente registrado, cliente privilegiado, administrador, etc. La semntica para cada rol ser distinta. El diseador crea una USN (Unidad Semntica de Navegacin) para cada meta asociada a cada rol de usuario. Cada USN tiene unas formas de navegacin (WoN) para que cada usuario llegue a cada meta que se proponga. Entre las opciones de enlaces (texto, iconos, botones, interruptores, metforas grficas, etc) deberemos elegir la que mas se adecuen al interfaz de nuestra web. Desde el punto de vista de los buscadores hoy por hoy es mejor un enlace texto con la palabra con la que nos gustara dotar de importancia a la pagina web enlazada que cualquier otra cosa. Sin embargo, desde nuestra visin de diseo, los botones, imgenes e iconos que usemos debern tener un aspecto clickable. Los enlaces de texto debern tener un color caracterstico, diferenciador del resto del documento. Tambin se harn necesarias ayudas a la navegacin por el sitio: una vista de esquema, un mapa web, tabla de contenidos, mecanismos de bsqueda y servicios dinmicos de ayuda. 6.3.3.-Diseo de la interfaz Adems de las consideraciones de diseo de interfaces de cualquier otro software, en WebApps es necesario considerar nuevos factores, todos ellos, bastante subjetivos. Algunas sugerencias uy generalizadas son: Los errores de servidor deben ser mnimos. El usuario tiene poca paciencia, y generalmente muchos otros recursos en la Web. No se debe obligar a hacer leer grandes cantidades de texto, sobre todo si estamos en alguna de las secciones de Ayuda de nuestra App. Evitar poner En construccin. Crea expectativas decepcionantes. Evitar el scroll. Un usuario poco experto no sabe que existe el scroll. Todo lo que se le pueda dar en un pantallazo sera mejor entendido por la mayora. Los mens de navegacin estarn disponibles en todas las paginas. Las funciones de navegacin no debern depender del navegador que se este usando. LA ESTETICA NUNCA DEBERA SUSTITUIR LA FUNCIONALIDAD.
GERARDO LICERAS ROMANIEGA

INGENIERIA WEB

INGENIERIA DEL SOFTWARE

Las opciones de navegacin y el resto de funcionalidades debern ser obvias.

6.4.- Pruebas Son el proceso de ejercitar el software con el fin de encontrar y corregir los errores. En las WebApps, es un reto, debido a la variedad de navegadores, sistemas operativos, plataformas hardware y protocolos de comunicacin. Las estrategias y tcticas a seguir son: 1. El modelo de contenido es revisado para descubrir errores: similar a un corrector ortogrfico. 2. El modelo de diseo es revisado para descubrir errores de navegacin: Se revisan los posibles errores 404 de navegacin, y vemos si cada enlace lleva a la correspondiente USN de la meta del rol de usuario a la que pertenece. 3. Se aplican pruebas de unidad a los componentes de proceso seleccionado y las paginas Web: en muchos casos la unidad comprobable mas pequea es la propia pagina web. Muchas veces no es posible o practico comprobar elementos mas pequeos como formularios, objetos, mapas de imgenes, etc. 4. Se construye la arquitectura y se realizan las pruebas de integracin: La estrategia para la prueba de integracin depende de la arquitectura que se haya elegido. En estructuras jerrquicas lineales, reticulares o sencillas, es muy similar a como se integran los mdulos del software convencional. En jerarquas mezcladas o arquitecturas de red, es similar a los sistemas OO. 5. La WebApp ensamblada se prueba para conseguir un a funcionalidad global y un contenido: Se hace una prueba de acciones visibles y de salidas reconocibles para el usuario. 6. Se implementa la WebApp en una variedad de configuraciones diferentes de entornos y comprobar as la compatibilidad con cada configuracin: Se lleva hace una matriz de referencias cruzadas con sistemas operativos, plataformas de hardware, navegadores y protocolos de comunicacin. Se hacen pruebas para cubrir los errores asociados con todas y cada una de las configuraciones posibles. 7. La WebApp se comprueba con una poblacin de usuarios finales controlada y monitorizada: Se hacen grupos de usuarios segn los posibles roles, se hace un uso intensivo y se evalan los resultados, para ver errores de contenido y navegacin, usabilidad, compatibilidad, fiabilidad y rendimiento.

INGENIERIA WEB

GERARDO LICERAS ROMANIEGA

INGENIERIA DEL SOFTWARE

10

7.- Problemas de Gestin


El trabajo en paralelo, las numerosas personas implicadas en un proyecto IWeb, la combinacin de tareas tcnicas y no tcnicas, hacen necesario una buena planificacin y gestin del proyecto. 7.1.- El equipo IWeb Para la creacin de una WebApp se hace necesario un amplio abanico de conocimientos. Nace la figura del renacentista, que es el que se encuentra cmodo trabajando en varias disciplinas. Los equipos IWeb se pueden organizar similarmente a como se organizan otros equipos de software. Entre los miembros deben repartirse conocimientos de ingeniera del software basada en componentes, realizacin de redes, diseo arquitectnico y de navegacin, lenguajes y estndares, diseo de interfaces, diseo grafico, disposicin de contenido y pruebas de la WebApp, y legislacin al respecto de la aplicacin y de Internet. Para ello, surgen las siguientes personalidades: Desarrolladores y proveedores de contenido: Gente que se encargue de proveer de aquello que el usuario vera o usara. Ellos y los diseadores pueden ser personas ajenas al software. Editores de Web: Son los que organizan el contenido. Tambin son intermediarios entre los proveedores de contenido, diseadores y personal tcnico, y tiene conocimientos tcnicos y no tcnicos sobre su aplicacin. Ingeniero de Web: Cada vez se ve mas involucrado en cada una de las actividades de la WebApp. (obtencin de requisitos, modelado de anlisis, diseo arquitectnico, de navegacin y de interfaces, implementacin y pruebas. Tambin tiene conocimientos tcnicos: tecnologas de componentes, arquitecturas cliente/servidor, HTML/XML, bases de datos, multimedia, plataformas hw/sw, seguridad de redes, soporte web, etc. Especialistas de soporte: Es el responsable de las correcciones, adaptaciones y mejoras del sitio web, entre ellas las actualizaciones de contenido, implementacin de productos, formularios nuevos y cambios de patron de navegacin. Administrador :Webmaster, es el responsable del funcionamiento diario: o Normas para el buen funcionamiento o Procedimientos de soporte y realimentacin o Derechos de acceso o Medicin y anlisis del trafico o Coordinacin de los procedimientos de control de cambios o Coordinacin con especialistas de soporte o Ayuda a ingenieros web y especialistas de soporte

INGENIERIA WEB

GERARDO LICERAS ROMANIEGA

INGENIERIA DEL SOFTWARE

11

7.2.- Gestin del Proyecto Las mtricas de procesos y proyectos, la planificacin de proyectos, el anlisis y gestin de riesgos, la planificacin temporal y el rastreo SQA y CGS se aplican tambin en IWeb Sin embargo hay diferencias: Se subcontratan servicios partes de las WebApps a especialistas en el desarrollo de sistemas y aplicaciones basados en Web. Encontrar un precio fijo como exige el cliente, suele ser una labor difcil. o cmo determinar la competencia de un proveedor? o cmo saber si un precio es razonable? o qu grado de planificacin se puede esperar? Hasta ahora no se ha publicado ninguna mtrica para IWeb y es difcil la estimacin, que se suele hacer por comparacin con proyectos anteriores. Pero como casi todas las WebApps tienen que ser innovadoras, sigue hacindose difcil dicha estimacin. o cmo se derivan estimaciones fiables? o con que grado de seguridad se pueden cumplir los programas temporales definidos? El anlisis de riesgos y la programacin temporal o cmo puede controlar los costes la organizacin contratista y el proveedor subcontratado? o cmo planificar el momento en que los requisitos cambien drsticamente? o cmo controlar el cambio de mbito?

Lneas generales en la planificacin de proyectos: Inicio de un proyecto: Antes de buscar una subcontratacin (lo tpico) se har: o Actividades de anlisis realizadas interiormente: Se identifica el publico, los intereses internos, metas globales, informacin y servicios a proporcionar Se identifican sitios web rivales y se definen las medidas para obtener xito sobre ellos. o Desarrollo de un diseo interiormente: o Planificacin temporal apropiada Fechas finales Fechas HITO o Identificar el grado de supervisin entre contratista y proveedor Nombre de contacto Responsabilidades Puntos de revisin de calidad o Todo esto se tramita en solicitud de opciones que se transmite a los proveedores candidatos
GERARDO LICERAS ROMANIEGA

INGENIERIA WEB

INGENIERIA DEL SOFTWARE

12

Seleccin entre los proveedores de subcontratacin candidatos o Se debern consultar con antiguos clientes o Determinar el nombre del ingeniero web jefe o Examinar productos similares hechos por el proveedor o Realizar una reunin cara a cara Evaluacin de la validez, ofertas, precios y fiabilidad de estimaciones o Se suelen incorporar mrgenes sustanciales de seguridad. o es el coste una buena oferta en relacin al beneficio esperado? o es el proveedor de la oferta una muestra clara de la profesionalidad y experiencia requeridos? Grado de gestin del proyecto que se puede esperar o realizar o Tanto mayor cuanto mas grande sea el proyecto. o Evaluacin de riesgos, hitos, fechas y mtodos de comunicacin entre proveedor y contratista Evaluacin de la planificacin temporal del desarrollo: o Periodo corto de tiempo (uno o dos meses) => alto grado de granularidad => los hitos menores se planifican da a da. Gestin del mbito: o El modelo de proceso es incremental por la alta probabilidad de que el mbito cambie. o Lo tpico: hacer una instantnea del mbito en el momento del anlisis

7.3.- Problemas GCS para la IWeb Para la Gestin de la Configuracin del Software, se consideraran: Contenido: El elevado numero de componentes de contenido, obliga a una correcta gestin y disposicin de los mismos. Se usan tcnicas convencionales del modelado de datos clasificndolos segn ciertas propiedades (existencia temporal o fija, etc) A los objetos permanentes se les aplicaran mecanismos de control distintos Personas: Cualquiera puede crear el contenido de la WebApp. Para que la aplicacin no crezca de forma incontrolada, se hace necesario un control. Escalabilidad: Una WebApp sencilla tiene peor escalabilidad que una grande. Y los mecanismos de control de la configuracin deben ser directamente proporcionales a la escalabilidad del la aplicacin Poltica: o Quin es el propietario de la web? o Quin asume la responsabilidad de la informacin del sitio web? o Quin asegura los procesos de control de calidad se han llevado a cabo? o Quin es el responsable de hacer los cambios? o Quin asume el coste del cambio?

INGENIERIA WEB

GERARDO LICERAS ROMANIEGA

INGENIERIA DEL SOFTWARE

13

La mayora de las herramientas convencionales GCS no son apropiadas para aplicarlas a la IWeb. Existen las siguientes necesidades: Proceso de gestin de la configuracin que contemple la inmediatez y evolucin continua de las WebApps Para los que no estn familiarizados con la tecnologa, aplicacin de mejores conceptos y herramientas de gestin. Soporte para los equipos distribuidos de desarrollo de WebApps Suministro de control en un entorno de continuo cambio. Gestin de cambios en objetos que tienen enlaces con otros objetos.

8.- BIBLIOGRAFA
Fuente del documento: - R. S. PRESSMAN, Ingeniera del software. Un enfoque prctico, Madrid, McGraw-Hill / Interamericana de Espaa, 1997 Consultas adicionales: http://www.informandote.com/jornadasIngWEB/articulos/jiw01.pdf

Lista de enlaces relacionados: http://www.rspa.com/spi/webe.html

Curso de doctorado sobre Ingenieria Web: http://www.geocities.com/rcascos/

Unas de las pocas mtricas existentes: http://gidis.ing.unlpam.edu.ar/personas/olsinal/olsinal.html

Ejemplo de Proyecto IWeb siguiendo el libro de Pressman: http://www5.ulpgc.es/servidores/bib-inge/indices/647441.htm

INGENIERIA WEB

GERARDO LICERAS ROMANIEGA

You might also like