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

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

INGENIERÍA WEB

Gerardo Liceras Romaniega
INGENIERIA DE TELECOMUNICACIÓN

...........................12 7............Pruebas.8 6..........Modelo del proceso IWeb.................................................................................................Diseño......................6 6........................................3...................1...4...................-Diseño de la interfaz........................................9 6....................El equipo IWeb............................2.3..........INGENIERIA DEL SOFTWARE 2 1..............................................................................................................................14 8........15 INGENIERIA WEB GERARDO LICERAS ROMANIEGA .....................3 3............3.............................................................Tecnologías......................Atributos de calidad...............................................6 6.....................................Categorías mas frecuentes de las WebApps:...........................................7 6........Diseño de navegación......................................BIBLIOGRAFÍA.3 2........................................3.............................................................................Proceso de IWeb...Formulación.............13 7..9 6............................................................2....1...............3 4...................Análisis..........7 6....2...................6 6........................3..........12 7............................................Gestión del Proyecto.........3.............................1.......................................10 7..................................................Problemas GCS para la IWeb .Diseño Arquitectónico...Características..........................Problemas de Gestión...4 5............................

etc) 4. intranets. otros que se mantenga una imagen constante. otros muy simples.Atributos de calidad Desde el punto de vista del usuario. la “calidad” es completamente subjetiva.Intensivas de Red: Están y operan en redes (Internet.INGENIERIA DEL SOFTWARE 3 1. Algunos prefieren WebApps vistosas. o foros Entrada del usuario: mediante formularios.Categorías mas frecuentes de las WebApps: Informativa: solo lectura o navegación.. video.Inmediatez: Distintamente a como ocurre con otros tipos de software.Evolución continua: Tanto las WebApps como los medios para desarrollarlas cambian a un ritmo vertiginoso (contenidos que se actualizan cada hora. INGENIERIA WEB GERARDO LICERAS ROMANIEGA . Nuevas técnicas de animación e interacción hacen que se compita también por la estética de la aplicación. el desarrollo y comercialización de las “WebApps” puede ser de días o semanas. Personalizable según las necesidades Interacción: con chats..Características 1.Controladas por el contenido: Muchas veces son solo objeto de difundir ciertos contenidos a través de hipermedia (gráficos. 6.. sonidos.Seguridad: Son altamente inseguras y se hace necesario implementar mecanismos de seguridad.. 3.... Descarga de información.. mensajería instantánea... técnicas nuevas de desarrollo. Pero intentando objetivizar dicha calidad para conseguir compaginar una buena apariencia para el usuario y unas buenas características técnicas para el ingeniero web.) 3. 2. textos.. extranets) 2. unos prefieren que se actualicen cada poco tiempo.. 5.Estética: Cada vez mas relacionada con el diseño de WebApps. Orientada a transacciones: compra de productos vía Internet Orientada a Servicios: Portal: Índice de servicios y contenidos fuera de la aplicación del portal Acceso a Base de datos: consulta y recopilación de info contenida en una BBDD Almacenes de datos: Igual que la anterior pero con conjuntos de BBDD..

debe estar familiarizado con: Desarrollo basado en componentes: o Gracias a los sistemas basados en web. Protocolos Seguros - INGENIERIA WEB GERARDO LICERAS ROMANIEGA . 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.. Encriptación. haciendo hincapié en Usabilidad:  Capacidad de comprensión del sitio global  Servicios de ayuda y realimentación en línea  Capacidades estéticas y de interfaz  Servicios especiales Funcionalidad:  Capacidad de recuperación y de búsqueda  Servicios de búsqueda y navegación  Servicios relacionados con el dominio de aplicación Fiabilidad:  Proceso correcto de enlace  Recuperación de errores  Validación y recuperación de la entrada del usuario (formularios) Eficiencia:  Rendimiento del tiempo de respuesta  Velocidad de generación de páginas  Velocidad de generación de gráficos Mantenimiento:  Facilidad de corrección  Adaptabilidad  Extensibilidad - - - - 4. etc.. un ingeniero web.INGENIERIA DEL SOFTWARE 4 se le acaban aplicando los criterios de calidad del software “típicos”. han avanzado bastante o Tres estándares:  CORBA  COM/DCOM  JavaBeans o Permiten usar y personalizar componentes de terceras partes.) o Medios:  Firewalls.Tecnologías Para construir WebApps de calidad. zona solo propio.

INGENIERIA WEB GERARDO LICERAS ROMANIEGA . Javascript.. Cold Fusion. lenguajes interpretados PHP. o Futuro: XHTML: HTML mas estricto que el actual. o Los navegadores entienden protocolos HTML derivado del SGML o También XML... compilados Perl.. Java .. C.INGENIERIA DEL SOFTWARE 5 - Estándares de Internet. ASP.

Es en esta fase donde se integra la WebApp con el software intermedio (CORBA.Formulación Para hacer una correcta formulación. Recopilación de información. etc. Evaluación del cliente: No es la ultima fase. JavaBeans.Amplia y diversa población de usuarios (obtención y modelado de requisitos) . entre otras cosas: Por que y para que hacer la WebApp? Como es de necesaria? Quien la va a usar? Las respuestas serán muy generales. el contenido provisto para sacar las paginas HTML.Arquitectura altamente especializada (exigencias en el diseño) 6.INGENIERIA DEL SOFTWARE 6 5. Ingeniería: Dos tareas paralelas: o Diseño del contenido y producción: echas por personal NO técnico. y no entraran en detalles. medios audiovisuales. visualizarla en otros navegadores y ser consciente cuanto menos de las limitaciones y posibles “bugs”.. Pruebas: Se hace una navegación intensiva sobre la aplicación para descubrir errores. Por la naturaleza intensiva. debemos preguntarnos. riesgos. etapas y subetapas.1. a integrar en la App.. DCOM. XML. o Diseño arquitectónico. - - 6. Análisis: Establecimiento de los requisitos técnicos y de diseño (estéticos) e identificación de los elementos de contenido. Podemos clasificar las metas especificas en: Metas Informativas: Definen los objetivos sobre el contenido e información que se dará al usuario. de navegación y del interfaz: hecho por técnicos Generación de paginas: Se adecua al diseño arquitectónico.. tendremos: . Los cambios se hacen efectivos por el flujo incremental del proceso.Proceso de IWeb Es claramente incremental y evolutivo. de navegación y de interfaz. Es una fase a ejecutar cada vez que se termina alguna de las anteriores. INGENIERIA WEB GERARDO LICERAS ROMANIEGA .Modelo del proceso IWeb A grandes rasgos: Formulación: Se identifican las metas y objetivos Planificación: Estimación del coste global del proyecto.

y en esta etapa se identifica todo el contenido que se va a proporcionar. También se tiene que identificar la infraestructura de los componentes y el grado de utilización de la base de datos para generar el contenido.Análisis Identifica los datos y requisitos funcionales y de comportamiento para la WebApp. Muchas veces la rapidez o precipitación en el diseño nos cierra puertas a la evolución de la aplicación. (texto. (Intranet. Los ingenieros Web.Diseño La característica de inmediatez obliga a que los diseños se hagan rápidamente y a que sean evolucionables.3. como pueden ser bases de datos.INGENIERIA DEL SOFTWARE 7 - Metas Aplicables: Son los servicios o tareas que puede realizar la WebApp. En todo caso es recomendable hacer un documento que recoja la información de todo el proceso de análisis y que será revisado y modificado para hacer otro documento que pasarle a los diseñadores de la WebApp. Durante la IWeb. se realizan 4 tipos de análisis: Análisis del contenido: Se puede utilizar el modelado de datos. con la que vemos la posible integración con sistemas ya existentes. imágenes.. y quedaría obsoleto antes de terminarlo. video y sonido) Análisis de la interacción: Se realizan casos prácticos y sus casos de uso para la descripción detallada de la interacción usuario-WebApp. 6. gráficos. Internet o Extranet). determinando las principales características de los potenciales navegadores y clientes.. se hace la Afirmación del Ámbito. haremos el Perfil del Usuario. Análisis funcional: Se detallan las funciones y operaciones de procesamiento adicionales que se aplicaran en el contenido de la WebApp Análisis de la configuración: Se detalla y describe el lugar donde va a residir la App.2. Después de las metas. trabajan bajo los siguientes elementos técnicos: INGENIERIA WEB GERARDO LICERAS ROMANIEGA . En el caso de una App grande no es recomendable hacer un documento muy extenso. 6. porque los requisitos estarán cambiando continuamente. Mas adelante.

Es el “Acoplamiento”. También existen lineales con flujo opcional. pruebas. Por ejemplo en la entrada. Se enlaza todo con todo.1. jerárquico. que darán cuerpo al esquema. están: INGENIERIA WEB GERARDO LICERAS ROMANIEGA . hay una estructura lineal. Da mucha flexibilidad de navegación. o Modularidad eficaz (cohesión alta y acoplamiento bajo) o Elaboración paso a paso o Diseño orientado a objetos y diagramas UML Reglas de oro: que se han ido construyendo desde los inicios de Internet Configuraciones de diseño: Aplicables a los elementos funcionales y a los documentos. Estructuras jerárquicas: Son las mas comunes. y de navegación (que tratan sobre como el usuario podrá moverse por el contenido de la aplicación) Entre estos últimos. 6. del contenido y de la filosofía de navegación.Diseño Arquitectónico Se encarga de la definición de la estructura global hipermedia y en la aplicacion de las configuraciones de diseño y plantillas. y lineal con desviaciones.INGENIERIA DEL SOFTWARE 8 - - Principios y métodos de diseño: Facilitaran la adaptación. Plantillas: Dotan de una estructura similar cada elemento. - - - Es común combinar varias de las estructuras. aunque a veces es confusa para el usuario. o documento a utilizar dentro de la WebApp. los datos relevantes. En las jerarquías de software tradicionales se fomentan el flujo de control solo a lo largo de las ramas verticales. Se hace posible pasando como parámetros a esa plantilla. dando lugar a estructuras híbridas. Por ejemplo.3. Los patrones de diseño pueden aplicarse en el nivel de componente (cuando se requiere la funcionalidad del proceso de datos). y validación de datos. gráficos y estética general. mejoras y uso. Típicamente hay: Estructuras lineales: cuando es predecible la sucesión de interacciones.. marcas de electrodomésticos y tipos de electrodomésticos. Estructuras reticulares: Solo si el contenido de la Web puede ser organizado en dos o mas dimensiones. configuración de diseño. Dicha estructura depende de las metas establecidas. Para ellos el contenido debe ser muy regular. Estructura en red (o de web pura): Es como la arquitectura “en evolución” de los sistemas OO. En una WebApp se pueden enlazar por hipertexto ramas verticales de la misma estructura.

Sin embargo. Se deberá identificar una semántica para según que usuarios y definir una sintaxis (mecánica) para la navegación. Vecindario: Marco de navegación uniforme por todas las paginas web 6. Se tendrán.-Diseño de la interfaz INGENIERIA WEB GERARDO LICERAS ROMANIEGA . El diseñador crea una USN (Unidad Semántica de Navegación) para cada meta asociada a cada rol de usuario.3. varios papeles: visitante. cliente registrado. interruptores.INGENIERIA DEL SOFTWARE 9 - Ciclo: Se devuelve al usuario al nodo de contenido visitado anteriormente. 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.3. 6.Diseño de navegación Una vez establecida la arquitectura se define la ruta que permitirá acceder al contenido y a los servicios. cliente. botones. Los enlaces de texto deberán tener un color característico. Desde el punto de vista de los buscadores hoy por hoy es mejor un enlace texto con la palabra con la que nos gustaría dotar de importancia a la pagina web enlazada que cualquier otra cosa. Entre las opciones de enlaces (texto. un mapa web. mecanismos de búsqueda y servicios dinámicos de ayuda. etc) deberemos elegir la que mas se adecuen al interfaz de nuestra web. Anillo de Web: Se enlazan paginas de un mismo tema. Cada USN tiene unas “formas de navegación” (WoN) para que cada usuario llegue a cada meta que se proponga. habitualmente. Contorno: Cuando varios ciclos inciden en otro Contrapunto: durante la narración se añaden comentarios de hipertexto. cliente privilegiado. iconos. La semántica para cada rol será distinta. diferenciador del resto del documento. tabla de contenidos. los botones.. metáforas gráficas. También se harán necesarias ayudas a la navegación por el sitio: una vista de esquema.3. desde nuestra visión de diseño. etc. administrador. imágenes e iconos que usemos deberán tener un aspecto clickable.2.

INGENIERIA DEL SOFTWARE 10 Además de las consideraciones de diseño de interfaces de cualquier otro software. debido a la variedad de navegadores. todos ellos. LA ESTETICA NUNCA DEBERA SUSTITUIR LA FUNCIONALIDAD.. Los menús de navegación estarán disponibles en todas las paginas. Las opciones de navegación y el resto de funcionalidades deberán ser obvias. Se aplican pruebas de unidad a los componentes de proceso seleccionado y las paginas Web: en muchos casos la unidad comprobable mas pequeña es la propia pagina web. y vemos si cada enlace lleva a la correspondiente USN de la meta del rol de usuario a la que pertenece. etc. Muchas veces no es posible o practico comprobar elementos mas pequeños como formularios. En las WebApps. Las estrategias y tácticas a seguir son: 1. El usuario tiene poca paciencia. En INGENIERIA WEB GERARDO LICERAS ROMANIEGA . Evitar poner “En construcción”. Un usuario poco experto “no sabe que existe el scroll”. El modelo de contenido es revisado para descubrir errores: similar a un corrector ortográfico. Se construye la arquitectura y se realizan las pruebas de integración: La estrategia para la prueba de integración depende de la arquitectura que se haya elegido. en WebApps es necesario considerar nuevos factores. sistemas operativos. es un reto. Las funciones de navegación no deberán depender del navegador que se este usando. Algunas sugerencias uy generalizadas son: Los errores de servidor deben ser mínimos. El modelo de diseño es revisado para descubrir errores de navegación: Se revisan los posibles errores 404 de navegación. Crea expectativas decepcionantes. 2. 6. y generalmente muchos otros recursos en la Web. mapas de imágenes. sobre todo si estamos en alguna de las secciones de Ayuda de nuestra App. objetos. Todo lo que se le pueda dar en un “pantallazo” sera mejor entendido por la mayoría. No se debe obligar a hacer leer grandes cantidades de texto.Pruebas Son el proceso de ejercitar el software con el fin de encontrar y corregir los errores. Evitar el scroll. bastante subjetivos. es muy similar a como se integran los módulos del software convencional. plataformas hardware y protocolos de comunicación.4. 4. En estructuras jerárquicas lineales. 3. reticulares o sencillas.

navegadores y protocolos de comunicación. 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. compatibilidad. se hace un uso intensivo y se evalúan los resultados. 7. Se hacen pruebas para cubrir los errores asociados con todas y cada una de las configuraciones posibles. es similar a los sistemas OO. 6. La WebApp se comprueba con una población de usuarios finales controlada y monitorizada: Se hacen grupos de usuarios según los posibles roles. 5. para ver errores de contenido y navegación. fiabilidad y rendimiento. usabilidad.INGENIERIA DEL SOFTWARE 11 jerarquías mezcladas o arquitecturas de red. INGENIERIA WEB GERARDO LICERAS ROMANIEGA . plataformas de hardware. Se implementa la WebApp en una variedad de configuraciones diferentes de entornos y comprobar así la compatibilidad con cada configuración: Se lleva hace una matriz de referencias cruzadas con sistemas operativos.

HTML/XML. de navegación y de interfaces.Problemas de Gestión El trabajo en paralelo. y tiene conocimientos técnicos y no técnicos sobre su aplicación. modelado de análisis. disposición de contenido y pruebas de la WebApp. arquitecturas cliente/servidor. Ellos y los diseñadores pueden ser personas ajenas al software. diseño arquitectónico y de navegación. Ingeniero de Web: Cada vez se ve mas involucrado en cada una de las actividades de la WebApp. surgen las siguientes “personalidades”: Desarrolladores y proveedores de contenido: Gente que se encargue de proveer de aquello que el usuario vera o usara. Especialistas de soporte: Es el responsable de las correcciones. implementación y pruebas. la combinación de tareas técnicas y no técnicas. multimedia. También son intermediarios entre los proveedores de contenido. También tiene conocimientos técnicos: tecnologías de componentes. hacen necesario una buena planificación y gestión del proyecto. que es el que se encuentra cómodo trabajando en varias disciplinas. etc. Los equipos IWeb se pueden organizar similarmente a como se organizan otros equipos de software.INGENIERIA DEL SOFTWARE 12 7. diseñadores y personal técnico. las numerosas personas implicadas en un proyecto IWeb. diseño grafico. diseño arquitectónico. formularios nuevos y cambios de patron de navegación. Administrador :Webmaster. 7. entre ellas las actualizaciones de contenido. implementación de productos. bases de datos. (obtención de requisitos. Entre los miembros deben repartirse conocimientos de ingeniería del software basada en componentes.. Nace la figura del “renacentista”. y legislación al respecto de la aplicación y de Internet. es el responsable del funcionamiento diario: o Normas para el buen funcionamiento o Procedimientos de soporte y realimentación o Derechos de acceso o Medición y análisis del trafico o Coordinación de los procedimientos de control de cambios o Coordinación con especialistas de soporte o Ayuda a ingenieros web y especialistas de soporte GERARDO LICERAS ROMANIEGA - - - INGENIERIA WEB . seguridad de redes. Para ello.El equipo IWeb Para la creación de una WebApp se hace necesario un amplio abanico de conocimientos. adaptaciones y mejoras del sitio web.. soporte web. plataformas hw/sw. realización de redes. diseño de interfaces. lenguajes y estándares. Editores de Web: Son los que organizan el contenido.1.

los intereses internos. Pero como casi todas las WebApps tienen que ser innovadoras. o Desarrollo de un diseño interiormente: o Planificación temporal apropiada  Fechas finales  Fechas HITO o Identificar el grado de supervisión entre contratista y proveedor  Nombre de contacto  Responsabilidades INGENIERIA WEB GERARDO LICERAS ROMANIEGA .INGENIERIA DEL SOFTWARE 13 7. o ¿cómo determinar la competencia de un proveedor? o ¿cómo saber si un precio es razonable? o ¿qué grado de planificación se puede esperar? Hasta ahora no se ha publicado ninguna métrica para IWeb y es difícil la estimación. sigue haciéndose difícil dicha estimación. suele ser una labor difícil. que se suele hacer por comparación con proyectos anteriores. información y servicios a proporcionar  Se identifican sitios web rivales y se definen las medidas para obtener éxito sobre ellos.Gestión del Proyecto Las métricas de procesos y proyectos. el análisis y gestión de riesgos. metas globales. la planificación temporal y el rastreo SQA y CGS se aplican también 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. la planificación de proyectos.. Encontrar un precio fijo como exige el cliente. o ¿cómo se derivan estimaciones fiables? o ¿con que grado de seguridad se pueden cumplir los programas temporales definidos? El análisis de riesgos y la programación temporal o ¿cómo puede controlar los costes la organización contratista y el proveedor subcontratado? o ¿cómo planificar el momento en que los requisitos cambien drásticamente? o ¿cómo controlar el cambio de ámbito? - - Líneas generales en la planificación de proyectos: Inicio de un proyecto: Antes de buscar una subcontratación (lo típico) se hará: o Actividades de análisis realizadas interiormente:  Se identifica el publico.2.

Y los mecanismos de control de la configuración deben ser directamente proporcionales a la escalabilidad del la aplicación Política: o ¿Quién es el propietario de la web? - - INGENIERIA WEB GERARDO LICERAS ROMANIEGA . o Evaluación de riesgos. Se usan técnicas convencionales del modelado de datos clasificándolos según ciertas propiedades (existencia temporal o fija.3. se consideraran: Contenido: El elevado numero de componentes de contenido. hitos. o ¿es el coste una buena oferta en relación al beneficio esperado? o ¿es el proveedor de la oferta una muestra clara de la profesionalidad y experiencia requeridos? Grado de gestión del proyecto que se puede esperar o realizar o Tanto mayor cuanto mas grande sea el proyecto. precios y fiabilidad de estimaciones o Se suelen incorporar márgenes sustanciales de seguridad.INGENIERIA DEL SOFTWARE 14 - - - - -  Puntos de revisión de calidad o Todo esto se tramita en solicitud de opciones que se transmite a los proveedores candidatos Selección entre los proveedores de subcontratación candidatos o Se deberán consultar con antiguos clientes o Determinar el nombre del ingeniero web jefe o Examinar productos similares hechos por el proveedor o Realizar una reunión cara a cara Evaluación de la validez. se hace necesario un control. Gestión del ámbito: o El modelo de proceso es incremental por la alta probabilidad de que el ámbito cambie. ofertas.. o Lo típico: hacer una “instantánea” del ámbito en el momento del análisis 7. fechas y métodos de comunicación entre proveedor y contratista Evaluación de la planificación temporal del desarrollo: o Periodo corto de tiempo (uno o dos meses) => alto grado de granularidad => los hitos menores se planifican día a día. etc) A los objetos permanentes se les aplicaran mecanismos de control distintos Personas: “Cualquiera” puede crear el contenido de la WebApp.Problemas GCS para la IWeb Para la Gestión de la Configuración del Software. Para que la aplicación no crezca de forma incontrolada. obliga a una correcta gestión y disposición de los mismos. Escalabilidad: Una WebApp sencilla tiene peor escalabilidad que una grande.

com/spi/webe.ar/personas/olsinal/olsinal.BIBLIOGRAFÍA Fuente del documento: . Madrid. PRESSMAN.ing.com/jornadasIngWEB/articulos/jiw01. S. 1997 Consultas adicionales: http://www.geocities. Soporte para los equipos distribuidos de desarrollo de WebApps Suministro de control en un entorno de continuo cambio. aplicación de mejores conceptos y herramientas de gestión. 8.html Curso de doctorado sobre Ingenieria Web: http://www. Gestión de cambios en objetos que tienen enlaces con otros objetos.R.es/servidores/bib-inge/indices/647441.ulpgc.rspa.com/rcascos/ Unas de las pocas métricas existentes: http://gidis. Ingeniería del software.informandote.html Ejemplo de Proyecto IWeb siguiendo el libro de Pressman: http://www5.unlpam..htm GERARDO LICERAS ROMANIEGA INGENIERIA WEB .p df Lista de enlaces relacionados: http://www. Un enfoque práctico.INGENIERIA DEL SOFTWARE 15 o ¿Quién asume la responsabilidad de la información del sitio web? o ¿Quién asegura los procesos de control de calidad se han llevado a cabo? o ¿Quién es el responsable de hacer los cambios? o ¿Quién asume el coste del cambio? La mayoría de las herramientas convencionales GCS no son apropiadas para aplicarlas a la IWeb. McGraw-Hill / Interamericana de España.edu. Existen las siguientes necesidades: Proceso de gestión de la configuración que contemple la inmediatez y evolución continua de las WebApps Para los que no están familiarizados con la tecnología.

INGENIERIA DEL SOFTWARE 16 INGENIERIA WEB GERARDO LICERAS ROMANIEGA .

Sign up to vote on this title
UsefulNot useful