Está en la página 1de 54

Ingeniería Web (IWeb)

Ingeniería Web (IWeb)

Los sistemas y aplicaciones basados en Web (WebApps) ofrecen un complejo

arreglo de contenido y funcionalidad.

Como la Ingeniería Web es un área de relativa creación, existen algunas

indefiniciones, sin embargo establece algunos puntos los cuales deben de

contemplar los desarrolladores de aplicaciones Web.

Ingeniería Web (IWeb)

Escenario

La IWeb es el proceso con el que se crean WebApps

(Aplicaciones Web) de alta calidad.

La IWeb no es un clon perfecto de la ingeniería de software.

Es cierto que la IWeb al igual que la ingeniería de

software acentúa actividades técnicas y

administrativas.

Sin embargo existen sutiles diferencias en la manera

en como se dirigen las actividades para el desarrollo

del Software, pero el método primordial dicta un

enfoque disciplinado para el desarrollo del sistema

Ingeniería Web (IWeb)

Iniciemos contestando las siguientes preguntas:

¿Se pueden aplicar principios, conceptos y métodos de la ingeniería de software al desarrollo Web?

¿Qué ocurre si persiste un enfoque sin disciplina?

Ingeniería Web (IWeb)

¿Se pueden aplicar principios, conceptos y

métodos de la ingeniería de software al

desarrollo Web?

Si, ya que la ingeniería de software establece

principios, métodos, técnicas, métricas, etc.

las cuales pueden ser aplicadas en cualquier

construcción de software, sin embargo un

desarrollo de un sistema en tiempo real, un

sistema inteligente, así como un sistema Web

o aplicación Web tiene sus particularidades.

Ingeniería Web (IWeb)

¿Qué ocurre si persiste un enfoque sin disciplina?

La ingeniería establece efectuar las actividades basados en fundamentos teóricos, uso de métodos, técnicas,

herramientas, etc. que permiten asegurar

un grado de éxito del software desarrollado

Atributos de los Sistemas y Aplicaciones Basados en Web

Atributos de los Sistemas y Aplicaciones Basados en Web

Intensidad de red

– Internet, intranet, red, …

Concurrencia

Carga impredecible

Desempeño

Espera prolongada

Disponibilidad

24/7/365 (24 horas, 7 días a la semana, 365 días al año)

Gobernada por los datos

Texto, gráficos, audio y video

Sensibilidad al contenido

Calidad y naturaleza estética

Atributos de los Sistemas y Aplicaciones Basados en Web

Evolución continua

Análogo a la jardinería (constante crecimiento,

poda, evaluar frutos si no sirve se elimina)

Inmediatez

Poner software en el mercado rápidamente

Respuesta inmediata, etc.

Seguridad

Estética

Presentación y disposición de los elementos agradable de fácil uso

Categorías de Aplicaciones

Informativa

Contenido de sólo lectura

De descarga

Personalizable

De interacción

Cuartos de charla, tableros de anuncios, mensajería instantánea, etc.

Entrada del usuario

– La entrada de datos del usuario con base en formularios…

Transaccional (Orientada a transacciones)

Operaciones de la organización, ejemplo ventas,

De servicios (Orientada a servicios)

Asesoría en línea, gestión de trámites

Portal

pedidos, entrada, etc.

Menú que canaliza al usuario hacia otra página, aplicación o servicio web

Acceso a bases de datos (consulta, actualización, etc.)

Almacén de datos ( Colección de grandes volúmenes de datos)

Estratos de la Ingeniería de WebApp

Se une la IS (Ingeniería de Software) y la IWeb

(Ingeniería Web) para desarrollar aplicaciones

más eficaces y eficientes.

Métodos de IS

Aplicación de conjunto de técnicas, métodos

para construir una WebApp de alta calidad

Modelos de Proceso

Los modelos de procesos IWeb adoptan la filosofía de desarrollo ágil, reduciendo el ciclo de

desarrollo

Aplicación de Herramientas y Tecnología

Estratos de la Ingeniería de WebApp

Proceso

A pesar de la rapidez de los ciclos de

desarrollo es importante que:

Adopte el cambio

Aliente la creatividad y la independencia del equipo de desarrollo y fortalezca la interacción

con los accionistas de la WebApp

Construya sistemas que utilicen pequeños

equipos de desarrollo

Subraye el desarrollo evolutivo o incremental mediante el uso de cortos ciclos de desarrollo

Estratos de la Ingeniería de WebApp

Aplique los Métodos:

Comunicación: Para facilitar la comunicación entre ingenieros Web y los demás

participantes. Recolección de necesidades y

requisitos. Evaluación de solicitudes y cambios.

Análisis de requisitos: Para proporcionar una base que permita comprender la función que

proporcionará la App al usuario final y los

modos de interacción que cada clase de

usuario requerirá o necesitará

Estratos de la Ingeniería de WebApp

Aplique los Métodos:

Diseño: Para establecer el contenido de la aplicación, la arquitectura de la aplicación,

los datos de entrada y salida que permitirán

generar información al usuario, …

Prueba: Para asegurar la fiabilidad de la App y que esta cumpla con los requerimientos

establecidos. Se aplican técnicas formales de

pruebas, verificación de la navegación,

seguridad, etc.

Estratos de la Ingeniería de WebApp

Aplique Herramientas y Tecnología:

Uso de lenguajes que permitan se visualice la

App en diferentes Navegadores, leguajes de programación estandar y actuales como

HTML5, etc.

Recomendado establecer arquitectura

basados en componentes, lo cual facilita el

mantenimiento actualización

Navegadores, herramientas multimedia, etc., estándar.

El Proceso de Ingeniería Web

El Proceso de la Ingeniería Web

Recuerde que:

Los atributos de los sistemas y aplicaciones de la Web, ya que tienen una profunda

influencia sobre el proceso de IWeb que se

elija

La inmediatez y la evolución continua son atributos que están ligados a una

WebApp, se debe elegir un modelo de

proceso ágil que produzca liberaciones a

un ritmo vertiginoso

El Proceso de Ingeniería Web

Se establece el proceso en dos fases las

cuales contienen varias actividades, las fases son:

Definición del Marco de Trabajo

Refinamiento del Marco de Trabajo

El Proceso de Ingeniería Web

Definición del Marco de trabajo

Cualquiera de los modelos de proceso ágil se

pueden aplicar como un proceso Iweb

La efectividad de cualquier proceso de ingeniería depende de su adaptabilidad

Antes de definir un marco de trabajo se debe

reconocer que:

Las WebApps con frecuencia se entregan de manera incremental o de forma evolutiva (va creciendo) Los cambios ocurrirán frecuentemente

Los plazos son cortos

El Proceso de Ingeniería Web

Definición del Marco de Trabajo (continuación)

Actividades involucradas:

Comunicación con el cliente

Análisis del negocio: define el contexto empresarial-

organizativo para la WebApp

Formulación: es una actividad de recopilación de requisitos

que involucra a todos los participantes

Planeación

Se crea el plan de proyecto para el desarrollo e incremento de la WebApp

Modelado

Abarca las tareas de análisis y diseño

Construcción

Despliegue

La webApp se configura para su ambiente operativo

El Proceso IWeb

El Proceso IWeb

El Proceso de Ingeniería Web

Refinamiento del marco de trabajo:

Se ha advertido que el modelo de proceso IWeb puede ser adaptable

Las tareas asociadas con las actividades del marco de trabajo IWeb pueden modificarse,

eliminarse o extenderse con base en

características del problema, el producto, el

proyecto y la gente en el equipo.

ADAPTE LAS MEJORES PRÁCTICAS PARA ASEGURAR ÉXITO EN EL PROCESO DE CREACIÓN DE UNA

APPWEB

Mejores Prácticas en Ingeniería Web

Mejores Prácticas en Ingeniería Web

Tomar tiempo para entender las

necesidades del negocio y los objetivos

del producto

Describir como interactuarán los usuarios con la WebApp aplicando un

enfoque basado en escenarios

Desarrollar un plan del proyecto

Mejores Prácticas en Ingeniería Web

Utilizar algún tiempo para modelar lo que se

construirá

Diagrame o modele la arquitectura de su AppWeb

Se recomienda en especial usar diagramación de UML

Revisar la consistencia y calidad de los modelos (diagramas UML)

RTF

Utilizar herramientas y tecnología que permitan construir el sistema con componentes reutilizables

Diseñar pruebas amplias y ejecutarlas antes de liberar el sistema.

Modelado de Análisis

para Aplicaciones Web

Modelado de Análisis para Aplicaciones Web

Un equipo de ingeniería Web debe emprender el

modelado del análisis (comprender los

requerimientos del usuario), cobra relevancia si:

La WebApp es grande o compleja

El número de clientes es grande

El número de ingenieros Web participando es

grande

Las metas y los objetivos afectarán la línea principal de negocio de la empresa.

El éxito de la WebApp tendrá fuerte conexión con el negocio de la empresa

Etc

Requisitos para el Análisis de las WebApps

El análisis de requisitos para las WebApps abarca:

Formulación

Recopilación de requisitos

Modelado de análisis

Requisitos para el Análisis de las WebApps

La jerarquía de usuario

Desarrollo de casos de uso Afinación del modelo de caso de uso

A continuación se describen

Requisitos para el Análisis de las WebApps

La jerarquía de usuario

Las categorías de usuarios finales que interactuarán con la WebApp se

identifican como parte de las tareas de

formulación y de recopilación de requisitos

Cuando el número de usuarios es grande

es aconsejable desarrollar una jerarquía de

usuarios

Requisitos para el Análisis de las WebApps

Desarrollo de casos de uso

– Conocidos también como “haces de funcionalidad”

Los casos de uso se desarrollan para cada categoría de usuario descrita en la jerarquía de usuario

Requisitos para el Análisis de las WebApps

Afinación del modelo de caso de uso

Los casos de uso se organizan en paquetes funcionales y cada paquete se valora para

verificar que es:

Comprensible

Cohesivo

Libremente acoplados

Jerárquicamente superficial

El Modelado de Análisis para WebApps

Actividades de análisis:

Análisis de contenido

Análisis de interacción

Análisis de funciones

Análisis de configuración

El Modelo de Contenido

Definición de objetos de contenido

Relaciones y jerarquía de contenido

Clases de análisis para WebApps

A continuación se explican

El Modelo de Contenido

Definición de objetos de contenido

El tipo y forma del contenido abarca un

amplio espectro de elaboración y

complejidad.

El contenido puede desarrollarse antes de la implementación de la WebApp

Un objeto de contenido puede ser una descripción textual de un producto…

Los objetos de contenido se extraen de los casos de uso.

El Modelo de Contenido

Relaciones y jerarquía de contenido

Una simple lista de objetos de contenido,

asociada con una breve descripción de cada objeto

Diagramas de relación de entidades o árboles de datos

El Modelo de Contenido

Clases de análisis para WebApps

El Modelo de Contenido • Clases de análisis para WebApps

El Modelo de Interacción

A este modelo de interacción lo componen 4 elementos:

Casos de uso

Diagramas de secuencia

Diagramas de estado

Prototipo de interfaz de usuario

El Modelo Funcional

Aborda 2 elementos de procesamiento de la WebApp y cada uno representa

un grado diferente de abstracción de

procedimiento:

1) Funcionalidad observable respecto al

usuario

2) Operaciones dentro de las clases de análisis que implementan comportamientos

asociados a la clase

El Modelo de Configuración

En algunos casos, el modelo de

configuración no es mas que una lista

de atributos tanto del lado del servidor

como del lado del cliente

Análisis Relación-Navegación

• “La navegación no sólo es la acción de saltar de página a página, sino la idea de moverse

a través de un espacio de información”.

El análisis relación-navegación proporciona

una serie de pasos de análisis que luchan por

identificar relaciones entre los elementos

descubiertos como parte de la creación del

modelo de análisis

Análisis Relación-Navegación

El enfoque ARN se organiza en 5 pasos:

Análisis de los participantes

Análisis de elementos

Análisis de relaciones

Análisis de navegación

Análisis de evaluación

RESUMEN PROCESO DE DESARROLLO DE UNA WEBAPP

RESUMEN PROCESO DE DESARROLLO DE UNA WEBAPP

Planificación inicial del sitio Web

Planificación General del proyecto

Definición del equipo de trabajo

Creación del comité Web - Establecerá relación con autoridades y áreas

involucradas y funciones.

Definición de instrumentos de seguimiento de avances

Arranque del proyecto

RESUMEN PROCESO DE DESARROLLO DE UNA WEBAPP

Definición del sitio Web, Arquitectura

del Sitio

Definición de objetivos del sitio

Tipo de audiencia que tendrá

Contenidos

Estructura

Sistema de navegación que soportara

Planificación

Definición de la vista del sitio o diseño visual

RESUMEN PROCESO DE DESARROLLO DE UNA WEBAPP

Diseño Web y estándares

Definición y diseño del(os) acceso(s)

rápido(s)

Accesibilidad (acceso a personas con

capacidades diferenciadas)

Definición de las nomas para facilitar los accesos (usabilidad)

Definición y diseño de elementos gráficos y

de multimedia

Definición y diseño de interacción con otros

sistemas

RESUMEN PROCESO DE DESARROLLO DE UNA WEBAPP

Diseño Web y elección de estándares a

seguir

Definición y diseño del(os) acceso(s) rápido(s)

Accesibilidad (acceso a personas con

capacidades diferenciadas)

Definición de las nomas para facilitar los accesos

(usabilidad)

Definición y diseño de elementos gráficos y de

multimedia

Definición y diseño de interacción con otros

sistemas

Diseño de actividades que desarrollara el sitio Web

RESUMEN PROCESO DE DESARROLLO DE UNA WEBAPP

Diseño Web y elección de estándares a

seguir

Definición actores

Definición de procesos

Definición si el proceso se va a ejecutar en el lado

cliente o en el lado servidor

Análisis de casos de uso

Diseño del espacio y estructura navegacional (que

objetos pueden ser visitados y alcanzados a través de

la Aplicación Web)

Diseño de la presentación, flujo de la presentación o

storyboarding (contenido y estructura de la

presentación)

RESUMEN PROCESO DE DESARROLLO DE UNA WEBAPP

Diseño Web y elección de estándares a

seguir

Diseño del plan de pruebas

Pruebas de interfaces y contenidos Pruebas de funcionalidad y operación

Pruebas de carga Pruebas de seguridad

Pruebas de respaldos y recuperación

RESUMEN PROCESO DE DESARROLLO DE UNA WEBAPP

Diseño Web y elección de estándares a seguir

Diseño del plan de lanzamiento de la Aplicación Web

Plan de comunicación para involucrar a las áreas

relacionadas

Diseño del plan de capacitación al usuario

Plan de subir o cargar el Sitio al Servidor

Plan de seguimiento

Plan para la liberación

Plan de difusión y promoción

Plan para la evaluación del desempeño

RESUMEN PROCESO DE DESARROLLO DE UNA WEBAPP

Generación o desarrollo del sitio Web

Desarrollo de la Aplicación Web siguiendo lo

establecido en el diseño