lunes, marzo 05, 2007

Primera lectura de ingenieria de software

Este en realidad es la segunda lectura pero yo considero que se debe de saber primero esto ¿porque? Porque este articulo es de los 70's y las otras lecturas son más recientes asi se puede ver un poco la evolucion con respecto a estos temas.

La ingeniería de software se define como la aplicación practica del conocimiento científico en el diseño y construcción de programas de computadora y su documentación asociada.

En el articulo se habla del estado de la ingeniería de software en el momento en que se escribió, verán como nosotros, al trabajar de manera "artesanal" (o por lo menos yo) hemos estado o estamos en un estado similar a la que se encontraban los ingenieros de software(IS) en esa época, nos describe varias situaciones a la que se enfrentaban los IS, las medidas que se estaban tomando para enfrentarse a esas situaciones y las fallas de estos sistemas así como unas cuantas predicciones para la década de los ochenta(recordemos que el articulo se escribió en los 70's)acerca de como se resolverían estas fallas y la evolución que tendrían las herramientas disponibles en ese momento. Personalmente creo muchas de las situaciones que se mencionan como problemas aun no se han resuelto pero hay grandes avances actualmente para algunos campos.


Por ejemplo, mencionan el problema de la recolección de requerimientos, yo he estado viendo este problema con "mis clientes" y varias de las técnicas que nos han explicado me han servido para darme cuenta que es un gran problema. Ya que ahora nuestros clientes son personas, que no son como nuestros maestros, porque practica-mente no tienen idea de como es el proceso de crear un sistema, no tienen nociones de programación(si saben algo al respecto, tienen conocimientos muy básicos), y esperan que nosotros hagamos un sistema, que convierta una computadora en una cajita mágica que les resuelvan todos los problemas que tienen (aunque no saben cuales son) y que sea segura, confiable, expandible, etc(etc puede ser algo como: que tenga acceso por internet).

Ahí dicen que en ese momento se empezaban a desarrollar lenguajes para el levantamiento de requerimientos, y la automatización de la creación de software(ahora no se si se usen ese tipo de lenguajes pero creo que eso ya no es necesario con el uso del UML)pero cada uno con sus propias deficiencias debido a su diseño en cada implementación.

Después hablan de la importancia de un buen diseño y documentación, debido a la relación del costo de los errores cometidos y su corrección en las distintas fases del proceso de software(que se define en la próxima entrada) además de la falta de herramientas para el diseño automatizado del software

A continuación habla brevemente del futuro de los lenguajes de programación, de la importancia de las pruebas del software en donde se señalan los diferentes tipos de pruebas que se pueden realizar para detección de errores, de como el mantenimiento del software, siendo la etapa de un software que mayor costo tiene, típicamente es menospreciado al momento del diseño, señalando la importancia que tiene en esta fase:

Una buena documentación para la comprensión del software y diagnosticar si se le aplicara mantenimiento correctivo(procesos, desempeño, fallas de implementación), adaptativo(procesos, ambiente de datos) ó de perfeccionamiento(desempeño, mantenibilidad), en cualquier caso destacan 3 aspectos asociados al software existente :entender, modificar y revalidar.

Y por ultimo la administración de un proyecto de software donde se destaca que uno de los factores más importantes para el éxito o fracaso de un proyecto radica en la administración(planeación, estimacion de costos, tecnología asociada al manejo de los proyectos, y nos da una idea de como es llevada acabo una aproximación a este problema por parte de IBM(chief programmer teams) este tema me parece de lo más interesante, ya que da una idea clara de como organizar un proyecto de software basado en un lider de proyecto(Chief)

Bueno espero que lo hallen interesante ahi les dejo el link para que descarguen el pdf(en ingles) si necesitan más dellates


http://mihd.net/ew5xra

Escrito por Ricardo Rodríguez Garcia

No hay comentarios.: