TEMA: LECTURA 110114 LA INGENIERA DEL SOFTWARE Y SU EVOLUCIN
DOCENTE: ING REMBRANDT UBALDE ENRIQUEZ El software a nivel mundial se empieza a desarrollar en la dcada de los 40; El acto de programar estas mquinas en los aos 40 tena poco de soft y muco de hard! dado que se realiza"a primero mediante la manipulaci#n del propio ca"leado y luego mediante instrucciones en tar$etas de cart#n perforado %elementos fsicos todos&'( En ese momento! el reto mayor era programar los algoritmos para que los computadores icieran los clculos! procesos y reportes que se requeran para las diferentes funciones( )ue a mediados de la dcada de los *0 y asta +,-. que se genera la crisis del software( Esta crisis se evidencia en el estudio del /tandis 0roup %1eporte del 2aos'&3 4ttp566www(pro$ectsmart(co(u76docs6caos3 report(pdf8! en donde se muestra que solo el +*9 de los proyectos de software son e:itosos( En general! los proyectos de software tuvieron fuertes so"recostos y los tiempos fueron varias veces ms altos de los planeados( ;dicionalmente! los errores en el software llevaron a prdidas en las empresas e incluso de vidas( En este momento! nace la conciencia que desarrollar es muco ms que codificar5 se le ace nfasis a la calidad( <entro del concepto de calidad! ca"e la definici#n intuitiva que el software no contenga errores! pero tam"in incluye el eco que los proyectos cumplan los tiempos y los costos planeados( ; este tema ay que sumarle el avance que a tenido la tecnologa y el concepto de sistemas de informaci#n( =nicialmente! los programas eran una cola de programas a e$ecutar! uno detrs de otro! en donde la salida de uno era la entrada del otro( ;ctualmente los sistemas de informaci#n estn orientados a la interacci#n con el usuario! con respuestas en tiempo real y fuerte integraci#n con otros sistemas! dentro de la misma empresa o fuera de ella( >a intercone:i#n es cada vez mayor! aumentando los riesgos de seguridad! los caminos posi"les de utilizaci#n del software y por tanto la pro"a"ilidad de errores en las aplicaciones( >a crisis del software lleva a la necesidad de crear e implantar metodologas de software( /e ve por e$emplo! que las revistas de la ;2=/ desde +,?? se refieren principalmente a algortmica y mquinas de c#mputo( Es s#lo asta +,-.! que ay un artculo de ;l"erto 0arca so"re la @etodologa 2=)= A Bnidades para el desarrollo de sistemas de informaci#n'! en donde se incluyen las fases "asados en la metodologa de Com de @arco! de ;nlisis de la situaci#n actual! <iseo l#gico! <iseo fsico! Drogramaci#n! =mplantaci#n y Eperaci#n y mantenimiento! "sicamente en un concepto cascada puro %llama la atenci#n que no e:iste la fase de Drue"as&( Empiezan a nacer las empresas de desarrollo de software lo que implica adems que se de"en encontrar formas de contrataci#n de software! so"retodo desarrollos a la medida( /i "ien! se crean varias empresas de software! tam"in se encuentran fuertes fracasos en los proyectos y tam"in en las empresas( Estos fracasos se de"en a que las contrataciones son a precio fi$o! en donde la mtrica del tra"a$o a realizar no es clara! adems del pro"lema de la calidad de software ace que en varias ocasiones la correcci#n de errores genere ms errores! o que aya errores que realmente son cam"ios en requerimientos( 2omo se tiene un enfoque cascada! los errores s#lo se detectan en la Fltima fase del desarrollo; estos errores en varias ocasiones se refieren a pro"lemas de diseo! o imprecisiones de requerimientos( ;l ser detectados al final! se de"e volver a acer muco del software! e incluso se cancelan los proyectos por la cantidad de tra"a$o perdido que a"ra que desarrollar nuevamente( Esto conlleva a que las empresas de software tengan fuertes riesgos y en la mayora de las ocasiones se quie"ran en menos de . aos( >as metodologa cascada evoluciona al mtodo en G! donde se recalca la importancia de prue"as e incluye cuatro estados de prue"as5 Bnitarias! =ntegraci#n! /istema y ;ceptaci#n( Empieza entonces la especializaci#n de las tareas5 requerimientos! diseo! prue"as( /in em"argo! las empresas estn dispuestas a asumir la inversi#n requeridas para prue"asH Ia aora! no s#lo se necesitan ingenieros que desarrollen! tam"in aora ay ingenieros que s#lo se dedican a prue"as( /e requiere tam"in infraestructura y erramientas para efectuar el control de calidad de forma adecuada( 2uando los sistemas eran programas a e$ecutar uno tras otro! el concepto de requerimientos era ms claro y controla"le! ya que se de"a especificar que dadas unas entradas! se realiza un procesamiento y produce una salida( Dor ese motivo! se realiza"a un control de calidad en donde se realiza una verificaci#n de la producci#n de la operadora'! de forma aleatoria! como si fuera el control de calidad de una f"rica de medicamentos( ;ctualmente! el software se refiere principalmente a interacci#n con el usuario! con gran cantidad de caminos y fuerte integraci#n con otras aplicaciones( Esto ace que aya mayor posi"ilidad de funcionalidades! pero tam"in mayor posi"ilidad de error en las aplicaciones( /e requieren prue"as de lo nuevo! prue"as para demostrar que no se da# lo que antes funciona"a! y prue"as de lo que aora se llama Jo funcional'( Jo funcionalH Ku es estoH /e refiere a las caractersticas del sistema que no son de procesamiento! validaciones! ni salidas del sistema sino referentes a temas llamados tcnicos( Estas caractersticas se solucionan a travs de "uenos diseos! que cimentan la ;rquitectura del /oftware'( En resumen! la crisis unida con la evoluci#n del software genera varios conceptos que se tra"a$an aora en la ingeniera de software5 las metodologas! los procesos de software y el software para desarrollar software( /e incluyen en las formas de desarrollo! disciplinas adicionales a la codificaci#n! como lo es ;nlisis y especificaci#n de requerimientos! Drue"as! 0erencia de proyecto! ;rquitectura de /oftware! despliegue e incluso aora temas como ;rquitectura Empresarial y @odelamiento de Jegocio( /e crean modelos para medir la madurez del proceso de producir software! como lo son 2@@! 2@@= y /D=2E( >lama la atenci#n que 2@@ nace desde la necesidad de un cliente %el departamento de defensa de EEBB& so"re el :ito de sus proyectos de software( I es que son varios los clientes que an tenido grandes prdidas de dinero y de tiempo originados por proyectos que nunca salen a producci#n! o que salen muco ms tarde de lo planeado %supe incluso del caso de un proyecto planeado en dos aos! que dur# catorce aos en desarrollarseLL&( Jacen procesos y metodologas como @etrica M! D/D! C/D! 1BD! @/)! EBD entre otros( Estos procesos tienen como "ase principal definir las disciplinas que ay que tener en cuenta dentro del desarrollo de software( Dero al momento de implementarlas! en algunas ocasiones! clientes y empresas de software los $uzgan como muy pesados y llenos de documentaci#n( 2onozco varios casos en que se contrataron proyectos con 1BD! y despus de varios aos lo Fnico que se produ$o fueron modelos y documentos( /e genera entonces la corriente de las metodologas giles! que tienen su "ase en el manifiesto gil! en donde se prefieren5 =ndividuos e interacciones so"re procesos y erramientas! /oftware funcionando so"re documentaci#n e:tensiva! 2ola"oraci#n con el cliente so"re negociaci#n contractual! 1espuesta ante el cam"io so"re seguir un plan( Esta corriente promete que los desarrollos se realizan ms rpido y con "uena calidad( En estas corrientes se identifican mucos ms sa"ores como son /crum! ND! Oan"an! EpenBD! ;BD! EssBD! )<<! >ean /oftware <evelopment! entre otros( /in em"argo! tam"in se genera una nueva necesidad5 de"ido a la integralidad de las aplicaciones y el acceso por medio de redes! las nuevas aplicaciones e:igen fuertes requerimientos no funcionales de seguridad! por lo que nace la corriente de <esarrollo /eguro'( El desarrollo seguro consiste en una serie de reglas en el proceso de desarrollo de software para que el software sea de "uena calidad y cumpla los requerimientos de forma adecuada! y reglas a validar para que la aplicaci#n tenga "uena arquitectura y "a$a suscepti"ilidad a ataques de seguridad por medio de la red( /on varias las inquietudes que surgen alrededor del tema de ingeniera de software! teniendo en cuenta la evoluci#n de la tecnologa! las diferentes corrientes metodol#gicas! las nuevas caractersticas de los usuarios y una demanda de software con un ciclo de desactualizaci#n cada vez ms corto5 /on realmente me$ores las metodologas gilesH 2uando las puedo aplicarH Codas las metodologas giles son igualesH @etodologas como 1BD que tuvieron tanto auge! funcionan o noH /i no! porqu no funcionaronH 2uando las puedo aplicarH /on compati"les las metodologas giles con el esquema de <esarrollo /eguroH 2#mo se de"e acer la contrataci#n de desarrollo de software para disminuir riesgosH 2#mo se ace la contrataci#n de software cuando se quiere tra"a$ar con metodologas gilesH 2uantas personas se requieren para acer software de calidadH! y para desarrollo seguroH 2#mo se ace la estimaci#n de proyectos de desarrollo de softwareH >os clientes de"en sa"er de metodologas de softwareH