05 enero 2006

Ingeniería de Software

El desarrollo de sitios Web ha evolucionado tanto en funcionalidad como en la ingeniería que hay detrás de los mismos para proveerla. Inicialmente se trasladaron conocimientos de programación en el modelo cliente / servidor a la Web, probando en corto tiempo que había un cambio de conceptos que requería una mirada distinta al proceso de desarrollo.El alcance original del desarrollo de software se fincó en la automatización de procesos, y en la generación de mejoramiento mediante la simplificación de procesos. Las aplicaciones estaban centradas en los datos y en la generación de información.El ambiente Web provee otro tipo de problemática, que se sale del alcance de este articulo manejar en detalle, pero involucra aspectos desde el manejo de sesiones para garantizar que la desconexión propia del modelo Web no afecte el flujo del proceso, hasta el control de acceso y manejo de seguridad, y más complejo aún la interacción con aplicaciones que no están en ambiente Web.Se hace más complejo todavía cuando no son solo los datos los que queremos manejar en un portal, sino que también se quiere manejar el contenido mismo del portal, y se tiene que hacer aplicaciones para esta funcionalidad. Existen hoy múltiples soluciones administradoras de contenido, inclusive gratuitas, pero ellas por sí solas no hacen la tarea. Esta administración del contenido tiene que ser dinámica, generando ítems en los menús, desplazando contenido viejo, y en general todas las funciones de manejo de información que hasta ahora eran completamente desconocidas en el mundo de la programación.Los ingenieros deben también analizar temas de alojamiento de los datos del portal, el alojamiento de los datos de las funciones transaccionales de la empresa, y la interacción de los dos. Adicionalmente se debe poner especial cuidado en la optimización de recursos, conexiones a bases de datos, y manejo de crecimientos exorbitantes e impredecibles, como no ocurre con los sistemas transaccionales tradicionales.Estos cambios radicales exigen un nuevo ingeniero de software, que al igual que los diseñadores especializados en ambientes Web, también empiezan a salir de las universidades con estas características. Dada la necesidad de interacción entre los diseñadores gráficos y los ingenieros de software, se generó un lenguaje unificado de modelamiento para que en una forma estándar se puedan dejar plasmadas las expectativas del usuario final, y puedan ser entendidas, interpretadas e implementadas tanto por el diseñador gráfico como el ingeniero de software.

No hay comentarios.: