25 Jun

Conceptos Fundamentales en Ingeniería Web

Ingeniería Web (IW): El marco de disciplinas que garantiza un enfoque para la construcción ágil de aplicaciones web.

Enfoque Ágil: Combina una filosofía y un conjunto de directrices para el desarrollo. Destaca la comunicación activa y continua entre cliente y desarrollador.

Objetivos de la Ingeniería Web (IW):

  • Intento de evitar el caos existente en el desarrollo de sitios web.
  • Objetivos y requisitos bien definidos.
  • Desarrollo de un producto en fases.
  • Planificación cuidadosa de dichas fases.
  • Diseño y desarrollo sistemático.
  • Producción de documentación.
  • Auditoría continua de todo el proceso.

Marco de la Ingeniería Web: Conjunto de actividades que siempre se llevarán a cabo para todos los proyectos de IW. Cada actividad se compone de:

  • Tareas de trabajo.
  • Productos de trabajo.
  • Puntos de control de calidad.
  • Hitos del proyecto.

Actividades (Paraguas) del Marco:

  • Comunicación: Recogida de requisitos implicando una gran colaboración con el cliente.
  • Planificación: Establece un plan gradual.
  • Modelado: Creación de modelos para ayudar a entender las necesidades de la aplicación web.
  • Construcción: Combina la generación de código con las pruebas.
  • Implementación: Proporciona información sobre la base de la evaluación.

Principios de Agilidad

  • Satisfacer al cliente con la entrega temprana y continua del software.
  • Entregar el software incrementalmente a plazos cortos.
  • Trabajar juntos los desarrolladores y la gente de negocios.
  • Dar un entorno agradable y motivar a los trabajadores.
  • Transmitir información cara a cara.
  • Mantener un ritmo constante de trabajo.
  • Prestar atención al diseño mejora la agilidad.
  • Reflexionar sobre cómo ser más eficaz y ajustarse.

Buenas Prácticas en Ingeniería Web (WebE)

  • Tomarse tiempo para entender los objetivos.
  • Describir con escenarios cómo actúan los usuarios.
  • Desarrollar un plan de proyecto.
  • Modelar lo que se va a construir.
  • Revisar los modelos de consistencia y calidad.
  • No reinventar cuando se puede reutilizar.
  • No confiar solo en las primeras depuraciones.

Proceso de Ingeniería Web (WebE)

Debe ser ágil y adaptable, pero también incremental, ya que los requisitos evolucionan con el tiempo, los cambios se producen con frecuencia y las líneas de tiempo son cortas. Se debe repetir el ciclo de desarrollo en cada incremento.

Fases del Proceso: Comunicación – Planificación – Modelado – Construcción – Despliegue.

Fase de Comunicación

Entender el problema antes de empezar a resolverlo. Se debe formular, elicitar y negociar.

Formulación

Se centra en la definición de las necesidades del proyecto y el alcance. Comienza con la identificación de una necesidad de negocio y define las principales características de la aplicación web y establece la base para la acción de elicitar.

Elicitación

Reúne los requisitos detallados en colaboración con las partes interesadas. Las tareas son:

  • Definir categorías de usuarios desarrollando descripciones para cada una.
  • Definir el contenido y la funcionalidad.
  • Considerar posibles limitaciones y problemas de rendimiento.
  • Escribir escenarios de usuario para cada tipo de usuario.

Restricciones

Restricciones Internas

En el entorno técnico de la aplicación web y en el entorno del proyecto en donde se construyó la aplicación:

  • Entorno Técnico: Protocolos de bases de datos, Problemas Cliente-Servidor.
  • Entorno del Proyecto: Herramientas WebE, Hardware, estándares de software.

Restricciones Externas

El entorno empresarial y uso de la aplicación web:

  • Reglas de negocio.
  • Exigencias de seguridad.
  • Problemas de privacidad.
  • Rendimiento en tiempo de ejecución.
  • Restricciones legales.

Casos de Uso

Los casos de uso describen cómo una categoría de usuario específica (actor) va a interactuar con la aplicación web para llevar a cabo una acción específica. Se desarrollan iterativamente. Permiten:

  • Proporcionar la información necesaria para la planificación y las actividades de modelado.
  • Ayudar a entender cómo los usuarios perciben su interacción con la aplicación web.
  • Ayudar a compartir el trabajo de Ingeniería Web (IW).
  • Orientar a quienes deben probar la aplicación web.

Negociación

Implica trabajar con los interesados para equilibrar la funcionalidad, el rendimiento y otras características contra el costo y tiempo de entrega. Consejos:

  • Reconocer que no es una competición.
  • Trazar una estrategia.
  • Escuchar activamente.
  • Centrarse en los intereses de la otra parte.
  • Ser creativo.
  • Comprometerse.

Fase de Planificación

Comprender el alcance antes de definir las tareas de trabajo o programar:

  • Filtrar actividades marco y tareas.
  • Tener un equipo adecuado.
  • Evaluar riesgos.
  • Definir el cronograma.
  • Identificar los criterios de calidad y cómo se va a gestionar el cambio.

Control de Riesgos

Se centra en la comprensión y manejo de los problemas, considera el riesgo en dos niveles de granularidad:

  • Impacto del riesgo en el proyecto de aplicación web completa.
  • Impacto de riesgo en el incremento actual de la aplicación web.

Tipos de Riesgos

  • Personales: Pueden estar directamente relacionados con una acción humana o no.
  • Del Producto: Asociados con el contenido, funciones, limitaciones o rendimiento de la aplicación web.
  • De Proceso: Están relacionados con las actividades del marco y las tareas.

Mecanismos para Asegurar la Calidad

  • Actividad reflexiva con comunicación profunda.
  • Reunir cuidadosamente los requisitos.
  • Utilizar pruebas para evaluar la calidad.
  • Crear una lista de verificación genérica para evaluar los modelos.

Revisión en Pareja (Pair Walkthrough)

  • Establecer una agenda y mantenerla.
  • Limitar el debate y la refutación.
  • Enunciar las áreas problemáticas.
  • Tomar notas escritas.
  • Dedicar tiempo a descubrir problemas de calidad.

Perspectivas en el Desarrollo Web

  • Estructura: Modelado de la estructura lógica de la información.
  • Navegación: Romper la estructura secuencial del diseño apoyándose en los modelos de hipertexto.
  • Funciones: Mostrar la funcionalidad al usuario en el momento preciso.
  • Seguridad: Modelar quién puede hacer qué y en qué contexto.
  • Usuarios: Análisis de usuarios y tareas.
  • Comportamiento: Funcionamiento interactivo del sistema.
  • Presentación: Visualización de la información por parte de los usuarios.

Clases de Aplicaciones Web

Clases por Tipo

  • De Información: Periódicos online, catálogos, manuales.
  • Interactivas: Juegos, formularios.
  • Transaccionales: Comercio electrónico, bancos electrónicos.
  • Flujo de Trabajo: Gestión de inventarios, monitoreo de estados.
  • Portales Web: Tiendas, intermediarios.
  • Servicios Web: Aplicaciones de empresa.
  • Sistemas Ubicuos: Servicios de localización.
  • Ambientes de Trabajo Colaborativo.

Clases Según Complejidad

  • Catálogos Web: Alta complejidad de datos y baja de la aplicación.
  • Sistemas de Información Basados en Web: Alta complejidad de datos y de aplicación.
  • Sitios de Presencia Web: Baja complejidad de datos y baja de la aplicación.
  • Sitios Web Orientados a Servicios: Baja complejidad de datos y alta de aplicación.

Deja un comentario