El software a nivel mundial se empieza a desarrollar en la dcada de los 40; El
acto de programar estas mquinas se realizaba primero mediante la manipulacin del propio cableado y luego mediante instrucciones en tarjetas de cartn perforado . En ese momento, el reto mayor era programar los algoritmos para que los computadores hicieran los clculos, procesos y reportes que se requeran para las diferentes funciones. Fue a mediados de la dcada de los 60 y hasta 1985 que se genera la crisis del software. Esta crisis se evidencia en el estudio del Standish Group (Reporte del Caos), en donde se muestra que solo el 16% de los proyectos de software son exitosos. En general, los proyectos de software tuvieron fuertes sobrecostos y los tiempos fueron varias veces ms altos de los planeados. Adicionalmente, los errores en el software llevaron a prdidas en las empresas e incluso de vidas. En este momento, nace la conciencia que desarrollar es mucho ms que codificar: se le hace nfasis a la calidad. Dentro del concepto de calidad, cabe la definicin intuitiva que el software no contenga errores, pero tambin incluye el hecho que los proyectos cumplan los tiempos y los costos planeados. La crisis del software lleva a la necesidad de crear e implantar metodologas de software. Se ve por ejemplo, que las revistas de la ACIS desde 1977 se refieren principalmente a algortmica y mquinas de cmputo. Es slo hasta 1985, que hay un artculo de Alberto Garca sobre la Metodologa CIFI Uniandes para el desarrollo de sistemas de informacin, en donde se incluyen las fases basados en la metodologa de Tom de Marco, de Anlisis de la situacin actual, Diseo lgico, Diseo fsico, Programacin, Implantacin y Operacin y mantenimiento, bsicamente en un concepto cascada puro (llama la atencin que no existe la fase de Pruebas). Empiezan a nacer las empresas de desarrollo de software lo que implica adems que se deben encontrar formas de contratacin de software, sobretodo desarrollos a la medida. Si bien, se crean varias empresas de software, tambin se encuentran fuertes fracasos en los proyectos y tambin en las empresas. Estos fracasos se deben a que las contrataciones son a precio fijo, en donde la mtrica del trabajo a realizar no es clara, adems del problema de la calidad de software hace que en varias ocasiones la correccin de errores genere ms errores, o que haya errores que realmente son cambios en requerimientos. Como se tiene un enfoque cascada, los errores slo se detectan en la ltima fase del desarrollo; estos errores en varias ocasiones se refieren a problemas de diseo, o imprecisiones de requerimientos. Al ser detectados al final, se debe volver a hacer mucho del software, e incluso se cancelan los proyectos por la cantidad de trabajo perdido que habra que desarrollar nuevamente. Las metodologa cascada evoluciona al mtodo en V, donde se recalca la importancia de pruebas e incluye cuatro estados de pruebas: Unitarias,
Rivas Carrillo Maria Elizabeth
.Fundamentos de ing de software HISTORIA DE ING DE SOFTWARE 9:00-10:00 Am
Integracin, Sistema y Aceptacin. Empieza entonces la especializacin de las
tareas: requerimientos, diseo, pruebas. Sin embargo, las empresas estn dispuestas a asumir la inversin requerida para pruebas. Ya ahora, no slo se necesitan ingenieros que desarrollen, tambin ahora hay ingenieros que slo se dedican a pruebas. Se requiere tambin infraestructura y herramientas para efectuar el control de calidad de forma adecuada. Cuando los sistemas eran programas a ejecutar uno tras otro, el concepto de requerimientos era ms claro y controlable, ya que se deba especificar que dadas unas entradas, se realiza un procesamiento y produce una salida. Por ese motivo, se realizaba un control de calidad en donde se realiza una verificacin de la produccin de la operadora, de forma aleatoria. Actualmente, el software se refiere principalmente a interaccin con el usuario, con gran cantidad de caminos y fuerte integracin con otras aplicaciones. Esto hace que haya mayor posibilidad de funcionalidades, pero tambin mayor posibilidad de error en las aplicaciones. Se crean modelos para medir la madurez del proceso de producir software, como lo son CMM, CMMI y SPICE. Llama la atencin que CMM nace desde la necesidad de un cliente (el departamento de defensa de EEUU) sobre el xito de sus proyectos de software. Nacen procesos y metodologas como Metrica 3, PSP, TSP, RUP, MSF, EUP entre otros. Estos procesos tienen como base principal definir las disciplinas que hay que tener en cuenta dentro del desarrollo de software. Pero al momento de implementarlas, en algunas ocasiones, clientes y empresas de software los juzgan como muy pesados y llenos de documentacin. Se genera entonces la corriente de las metodologas giles, que tienen su base en el manifiesto gil que promete que los desarrollos se realizan ms rpido y con buena calidad como son Scrum, XP, Kanban, OpenUP, AUP, EssUP, FDD, Lean Software Development, entre otros. Sin embargo, tambin se genera una nueva necesidad: debido a la integralidad de las aplicaciones y el acceso por medio de redes, las nuevas aplicaciones exigen fuertes requerimientos no funcionales de seguridad, por lo que nace la corriente de Desarrollo Seguro. El desarrollo seguro consiste en una serie de reglas en el proceso de desarrollo de software para que el software sea de buena calidad y cumpla los requerimientos de forma adecuada, y reglas a validar para que la aplicacin tenga buena arquitectura y baja susceptibilidad a ataques de seguridad por medio de la red. Son varias las inquietudes que surgen alrededor del tema de ingeniera de software, teniendo en cuenta la evolucin de la tecnologa, las diferentes corrientes metodolgicas, las nuevas caractersticas de los usuarios y una demanda de software con un ciclo de desactualizacin cada vez ms corto.
Rivas Carrillo Maria Elizabeth
.Fundamentos de ing de software HISTORIA DE ING DE SOFTWARE 9:00-10:00 Am