
Ingenieria Web
Roger Pressman[PRE98] moderó una mesa redonda virtual con representantes de la ingeniería software tradicional y del desarrollo software basado exclusivamente en Internet. El debate principalmente se centró en discutir si valía la pena aplicar un proceso de ingeniería a las aplicaciones con base en internet, o qué características tenían éstas que justificaran el no utilizarlo. La conclusión general fue que aplicar un proceso de ingeniería nunca es una mala idea pero que éste debería adaptarse alos requerimientos de cambio continuo y rapidez siempre presentes en el proceso de desarrollo Web. De iniciativas como ésta y de otras como la organización de congresos y talleres especializados en el desarrollo para la Web, surge el nacimiento de una nueva disciplina denominada Ingeniería Web.
Qué es la Ingeniería Web?
Murugesan et al. [MUR01],promotores iniciales del establecimiento, dan la siguiente definición:“Web Engineering is the establishment and use of sound scientific, engineering and managementprinciplesanddisciplinedandsystematic approaches to the successfuldevelopment,deploymentandmaintenance of high quality Web-basedsystems and applications.”Y que escuetamente podemos “traducir” como el proceso utilizado para crear, implantar y mantener aplicaciones y sistemas Web de alta calidad. Esta breve definición nos lleva a abordar un aspecto clave de cualquier proyecto como es determinar que tipo de proceso es más adecuado en función de las características del mismo.
El Proceso de Ingeniería Web
Características como inmediatez y evolución y crecimiento continuos, nos llevan a un proceso incremental y evolutivo, que permite que el usuario se involucre activamente, facilitando el desarrollo de productos que se ajustan mucho lo que éste busca y necesita.Según Pressman [PRE00], las actividades que formarían parte del marco de trabajo incluirían las tareas abajo enumeradas. Dichas tareas serían aplicables a cualquier aplicación Web,independientemente del tamaño y complejidad de la misma.Las actividades que forman parte del proceso son:formulación,planificación análisis, modelización,generación de páginas, test y evaluacióndel cliente.
La Formulación identifica objetivos y establece el alcance de la primera entrega. La Planificación generala estimación del coste general delproyecto, la evaluación de riesgos y elcalendario del desarrollo y fechas deentrega.
El Análisis especifica los requerimientos e identifica el contenido.La Modelización se compone de dossecuencias paralelas de tareas. Una consiste en el diseño y producción del contenido que forma parte de la aplicación. La otra, en el diseño de la arquitectura, navegación e interfaz de usuario. Es importante destacar laimportancia del diseño de la interfaz.Independientemente del valor delcontenido y servicios prestados, unabuena interfaz mejora la percepción queel usuario tiene de éstos. En laGeneración de páginas se integra contenido, arquitectura, navegación e interfaz para crear estática o dinámicamente el aspecto más visible delas aplicación, las páginas. El Test busca errores a todos lo niveles: contenido,funcional, navegacional, rendimiento,etc. El hecho de que las aplicacionesresidan en la red, y que interoperen enplataformas muy distintas, hace que elproceso de test sea especialmente difícil. Finalmente, el resultado essometido a la evaluación del cliente.
2.2 Control y Garantía de la Calidad
Una de las tareas colaterales queforman parte del proceso es el Control y Garantía de la Calidad (CGC). Todas las actividades CGC de la ingeniería software tradicional como son:establecimiento y supervisión deestándares, revisiones técnicas formales,análisis, seguimiento y registro deinformes, etc, son igualmente aplicablesa la Ingeniería Web. Sin embargo, en la Web toman especial relevancia para valorar la calidad aspectos como:Usabilidad, Funcionabilidad, Fiabilidad,Seguridad, Eficiencia y Mantenibilidad[OLS01].
2.3 Control de la Configuración
Establecer mecanismos adecuados de control de la configuración para la Ingeniería Web es uno de los mayores desafíos a los que esta nueva disciplina se enfrenta. La Web tiene características únicas que demandan estrategias y herramientas nuevas. Hay cuatro aspectos importantes a tener en cuenta en el desarrollo de tácticas de control de la configuración para la Web [DAR99]:
Contenido:Considerando la dinamicidad con la que el contenido segenera, es tarea compleja organizarracionalmente los objetos que forman laconfiguración y establecer mecanismosde control.
Personal: Cualquiera realizacambios. Hay mucho personal no especializado que no reconoce laimportancia que tiene el control delcambio.
Escalabilidad: Es comúnen contrar aplicaciones que de un día para otro crecen considerablemente. Sin embargo, las técnicas de control no escalan de forma adecuada. Política:¿Quién posee la información? ¿Quién asume la responsabilidad y coste de mantenerla?
2.4 La Gestión del Proceso
En un proceso tan rápido como es el proceso de Ingeniería Web, donde los tiempos de desarrollo y los ciclos de vida de los productos son tan cortos,¿merece la pena el esfuerzo requerido por la gestión? La respuesta es que dada su complejidad es imprescindible. Entre los aspectos que añaden dificultad a la gestión destacamos: - alto porcentaje de contratación a terceros, - el desarrollo incluye una gran variedad de personal técnico y no técnico trabajando en paralelo, - el equipo de desarrollo debe dominar aspectos tan variopintos como,software basado en componentes, redes,diseño de arquitectura y navegación,diseño gráfico y de interfaces, lenguajesy estándares en Internet, test deaplicaciones Web, etc, lo que hace que elproceso de búsqueda y contratación depersonal sea arduo.
3. ¿Qué marca la diferencia?A modo de breve resumen enumeramos las siguientes diferencias: -Confluencia de disciplinas: Sistemas de Información, Ingeniería Software y Diseño Gráfico que requiere equiposmultidisciplinares y polivalentes. –Ciclos de vida y tiempo de desarrollo muy cortos - Cambio continuo:Necesidad de soluciones que permitan flexibilidad y adaptación conforme el proyecto cambia. – Requisitos fuertes deSeguridad, Rendimiento y Usabilidad.
4. ¿Por qué es necesaria?La Web evoluciona y crece sin diseño alguno. Prácticas tan pobres de calidad pueden introducir defectos que dejen al efecto 2000 como un juego de niños. Es deber de todos proporcionar cimientos firmes a una tecnología que“mágicamente” nos permite acceder acualquier hora a cualquier punto del planeta para obtener bienes tan valiosos como son los Servicios y la Información.
No hay comentarios:
Publicar un comentario