54572534 Metodologia Iweb Ingenieria Web

download 54572534 Metodologia Iweb Ingenieria Web

of 16

Transcript of 54572534 Metodologia Iweb Ingenieria Web

INGENIERIA WEB

PAGE 13INGENIERIA DEL SOFTWARE

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

21.- Caractersticas

22.- Categoras mas frecuentes de las WebApps:

23.- Atributos de calidad

24.- Tecnologas

25.- Proceso de IWeb

26.- Modelo del proceso IWeb

26.1.- Formulacin

26.2.- Anlisis

26.3.- Diseo

26.3.1.- Diseo Arquitectnico

26.3.2.- Diseo de navegacin

26.3.3.-Diseo de la interfaz

26.4.- Pruebas

27.- Problemas de Gestin

27.1.- El equipo IWeb

27.2.- Gestin del Proyecto

27.3.- Problemas GCS para la IWeb

28.- BIBLIOGRAFA

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

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:

Gracias a los sistemas basados en web, han avanzado bastante

Tres estndares:

CORBA

COM/DCOM

JavaBeans

Permiten usar y personalizar componentes de terceras partes.

Seguridad:

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.)

Medios:

Firewalls, Encriptacin, Protocolos Seguros

Estndares de Internet.

Los navegadores entienden protocolos HTML derivado del SGML

Tambin XML, lenguajes interpretados PHP, ASP, Cold Fusion, Javascript,... compilados Perl, C, Java ...

Futuro: XHTML: HTML mas estricto que el actual.

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:

Diseo del contenido y produccin: echas por personal NO tcnico. Recopilacin de informacin, medios audiovisuales, a integrar en la App.

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.

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.- AnlisisIdentifica 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.

Modularidad eficaz (cohesin alta y acoplamiento bajo)

Elaboracin paso a paso

Diseo orientado a objetos y diagramas UML

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

6.3.2.- Diseo de navegacinUna 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.

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.

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:

Normas para el buen funcionamiento

Procedimientos de soporte y realimentacin

Derechos de acceso

Medicin y anlisis del trafico

Coordinacin de los procedimientos de control de cambios

Coordinacin con especialistas de soporte

Ayuda a ingenieros web y especialistas de soporte

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.

cmo determinar la competencia de un proveedor?

cmo saber si un precio es razonable?

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.

cmo se derivan estimaciones fiables?

con que grado de seguridad se pueden cumplir los programas temporales definidos?

El anlisis de riesgos y la programacin temporal

cmo puede controlar los costes la organizacin contratista y el proveedor subcontratado?

cmo planificar el momento en que los requisitos cambien drsticamente?

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:

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.

Desarrollo de un diseo interiormente:

Planificacin temporal apropiada

Fechas finales

Fechas HITO

Identificar el grado de supervisin entre contratista y proveedor

Nombre de contacto

Responsabilidades

Puntos de revisin de calidad

Todo esto se tramita en solicitud de opciones que se transmite a los proveedores candidatos

Seleccin entre los proveedores de subcontratacin candidatos

Se debern consultar con antiguos clientes

Determinar el nombre del ingeniero web jefe

Examinar productos similares hechos por el proveedor

Realizar una reunin cara a cara

Evaluacin de la validez, ofertas, precios y fiabilidad de estimaciones

Se suelen incorporar mrgenes sustanciales de seguridad.

es el coste una buena oferta en relacin al beneficio esperado?

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

Tanto mayor cuanto mas grande sea el proyecto.

Evaluacin de riesgos, hitos, fechas y mtodos de comunicacin entre proveedor y contratista

Evaluacin de la planificacin temporal del desarrollo:

Periodo corto de tiempo (uno o dos meses) => alto grado de granularidad => los hitos menores se planifican da a da.

Gestin del mbito:

El modelo de proceso es incremental por la alta probabilidad de que el mbito cambie.

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:

Quin es el propietario de la web?

Quin asume la responsabilidad de la informacin del sitio web?

Quin asegura los procesos de control de calidad se han llevado a cabo?

Quin es el responsable de hacer los cambios?

Quin asume el coste del cambio?

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.pdfLista de enlaces relacionados:

http://www.rspa.com/spi/webe.htmlCurso 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.htmlEjemplo de Proyecto IWeb siguiendo el libro de Pressman:

http://www5.ulpgc.es/servidores/bib-inge/indices/647441.htmINGENIERIA WEB

GERARDO LICERAS ROMANIEGA