Esta Leccin Evaluativa tiene un mximo puntaje de 25 puntos sobre un total
de 500. Se espera que el estudiante haya realiado con anterioridad una lectura completa de la !nidad ". Para poder comprender lo que es el software (y consecuentemente la Ingeniera del Software), es importante examinar las caractersticas del software que lo diferencian de otras cosas que los hombres pueden construir. l software es un elemento del sistema que es l!gico, en lugar de fsico. Por lo tanto el software tiene unas caractersticas considerablemente distintas a las del hardware" El software se desarrolla, no se fabrica en un sentido clsico. #unque existen similitudes entre el desarrollo del software y la construcci!n del hardware, ambas acti$idades son fundamentalmente diferentes. n ambas acti$idades la buena calidad se adquiere mediante un buen dise%o, pero la fase de construcci!n del hardware puede introducir problemas de calidad que no existen (o son f&cilmente corregibles) en el software. #mbas acti$idades dependen de las personas, pero la relaci!n entre las personas dedicadas y el traba'o reali(ado es completamente diferente para el software. #mbas acti$idades requieren de la construcci!n de un producto, pero los m)todos son diferentes. *os costos del software se encuentran en la ingeniera. sto significa que los proyectos de software no se pueden gestionar como si fueran proyectos de fabricaci!n. El software no se estropea. l software no es susceptible a los males del entorno que hacen que el hardware se estropee. +tro aspecto de ese deterioro ilustra la diferencia entre el hardware y el software. ,uando un componente se estropea, se sustituye por una pie(a de repuesto. -o hay pie(a de repuesto para el software. ,ada fallo en el software indica un error en el dise%o o en el proceso mediante el que se tradu'o el dise%o a c!digo maquina e'ecutable. Por tanto, el mantenimiento del software tiene una comple'idad considerablemente mayor que la del mantenimiento del hardware. La mayora del software se construye a medida, en vez de ensamblar componentes existentes. -o existen cat&logos de componentes de software. Se puede comprar software ya desarrollado, pero solo como una unidad completa, no como componentes que pueden reensamblarse en nue$os programas Pgina 5 - Evolucin del Software Durante los primeros aos de la era de la computadora, el software se contemplaba como un aadido. La programacin de computadoras era un "arte de andar por casa" para el que existan pocos mtodos sistemticos. l desarrollo del software se reali!aba sin ninguna planificacin, "asta que los planes comen!aron a descalabrarse # los costos a correr. Los programadores trataban de "acer las cosas bien, # con un esfuer!o "eroico, a menudo salan con xito. l software se diseaba a medida para cada aplicacin # tenia una distribucin relati$amente pequea. La ma#ora del software se desarrollaba # era utili!ado por la misma persona u organi!acin. La misma persona lo escriba, lo e%ecutaba # si fallaba, lo depuraba. Debido a este entorno personali!ado del software, el diseo era un proceso implcito, reali!ado en la mente de alguien # la documentacin normalmente no exista. La segunda era en la e$olucin de los sistemas de computadora se extienden desde la mitad de la dcada de los sesenta "asta finales de los setenta. La multiprogramacin # los sistemas multiusuario introdu%eron nue$os conceptos de interaccin "ombre & mquina. Las tcnicas interacti$as abrieron un nue$o mundo de aplicaciones # nue$os ni$eles de sofisticacin del "ardware # del software. Los sistemas de tiempo real podan recoger, anali!ar # transformar datos de m'ltiples fuentes, controlando as los procesos # produciendo salidas en milisegundos en lugar de minutos. Los a$ances en los dispositi$os de almacenamiento en lnea condu%eron a la primera generacin de sistemas de gestin de bases de datos. La segunda era se caracteri! tambin por el establecimiento del software como producto # la llegada de las "casas del software". Los patronos de la industria, del gobierno # de la uni$ersidad se aprestaban a "desarrollar el me%or paquete de software" # ganar as muc"o dinero. (onforme creca el n'mero de sistemas informticos, comen!aron a extenderse las bibliotecas de software de computadora. Las casas desarrollaban pro#ectos en los que se producan programas de decenas de miles de sentencia fuente. )odos esos programas, todas esas sentencias fuente tenan que ser corregidos cuando se detectaban fallos, modificados cuando cambiaban los requisitos de los usuarios o adaptados a nue$os dispositi$os "ardware que se "ubieran adquirido. stas acti$idades se llamaron colecti$amente mantenimiento del software. Pgina 6 - Continuacin de Evolucin La tercera era en la e$olucin de los sistemas de computadora comen! a mediados de los aos setenta # continuo mas all de una dcada. l sistema distribuido, m'ltiples computadoras, cada una e%ecutando funciones concurrente # comunicndose con alguna otra, increment notablemente la comple%idad de los sistemas informticos. Las redes de rea local # de rea global, las comunicaciones digitales de alto anc"o de banda # la creciente demanda de acceso "instantneo" a los datos, supusieron una fuerte presin sobre los desarrolladores del software. La conclusin de la tercera era se caracteri! por la llegada # amplio uso de los microprocesadores. l microprocesador "a producido un extenso grupo de productos inteligentes, desde autom$iles "asta "ornos microondas, desde robots industriales a equipos de diagnsticos de grupo sanguneo. La cuarta era de la e$olucin de los sistemas informticos se ale%a de las computadoras indi$iduales # de los programas de computadoras, dirigindose al impacto colecti$o de las computadoras # del software. *otentes mquinas personales controladas por sistemas operati$os sofisticados, en redes globales # locales, acompaadas por aplicaciones de software a$an!adas se "an con$ertido en la norma. La industria del software #a es la cuna de la economa del mundo. Las tcnicas de la cuarta generacin para el desarrollo del software estn cambiando en la forma en que la comunidad del software constru#e programas informticos. Las tecnologas orientadas a ob%etos estn despla!ando rpidamente los enfoques de desarrollo de software ms con$encionales en muc"as reas de aplicaciones. +in embargo, un con%unto de problemas relacionados con el software "a persistido a tra$s de la e$olucin de los sistemas basados en computadora, # estos problemas contin'an aumentando. los a$ances del software contin'an de%ando atrs la "abilidad de desarrollar software para alcan!ar el potencial del "ardware. La "abilidad de desarrollar nue$os programas no pueden ir al mismo ritmo de la demanda de nue$os programas, no se puede construir programas lo suficientemente rpido como para cumplir las necesidades del mercado # de los negocios. l uso extenso de computadoras "a "ec"o de la sociedad cada $e! ms dependiente de la operacin fiable del software. (uando el software falla, pueden ocurrir daos econmicos enormes # ocasionar sufrimiento "umano. n respuesta a estos problemas, las practicas de la ,ngeniera del +oftware se estn adoptando en toda la industria. n la primera era de la e$olucin del software estos posean una documentacin bien completa. Su respuesta - .also (orrecto, el diseo era implicito # estaba en la mente del programador /ctualmente el desarrollo del software $a a la par con el desarrollo del "ardware. Su respuesta - .also (orrecto, en un pricipio s, pero a"ora con la microelectrnica las cosas cambiaron Pgina 9 - El Proceso l proceso de desarrollo de software no es .nico. -o existe un proceso de software uni$ersal que sea efecti$o para todos los contextos de proyectos de desarrollo. /ebido a esta di$ersidad, es difcil automati(ar todo un proceso de desarrollo de software. # pesar de la $ariedad de propuestas de proceso de software, existe un con'unto de acti$idades fundamentales que se encuentran presentes en todos ellos" 0. Especificacin de software- +e debe definir la funcionalidad # restricciones operacionales que debe cumplir el software. 1. Diseo e !"ple"entacin- +e disea # constru#e el software de acuerdo a la especificacin. 2. #alidacin- l software debe $alidarse, para asegurar que cumpla con lo que quiere el cliente. 3. Evolucin- l software debe e$olucionar, para adaptarse a las necesidades del cliente. #dem&s de estas acti$idades fundamentales, hay otras que se aplican a lo largo de todo el proceso del software. llas se se%alan a continuaci!n" +eguimiento # control de pro#ecto de software. 4e$isiones tcnicas formales. 5aranta de calidad del software. 5estin de configuracin del software. *reparacin # produccin de documentos. 5estin de reutili!acin. 6ediciones. 5estin de riesgos. stas acti$idades de protecci!n, tales como garanta de calidad del software, gesti!n de configuraci!n del software y medici!n, abarcan el modelo del proceso. *as acti$idades de protecci!n son independientes de cualquier acti$idad del marco de traba'o y aparecen durante todo el proceso. Sin importar el contexto del proyecto software, siempre se aplica el mismo proceso. Su respuesta - .also (orrecto, 7o existe un proceso de software uni$ersal para todos los pro#ectos. l cliente debe adaptarse a las limitaciones y restricciones del software desarrollado. Su respuesta - .also (orrecto, /l contrario el sofware debe "acerse a la medida del cliente. +i desea puede "acer otro intento desde el pricipio. 84ecuerde son 1 intentos9 l software que reside en memoria de solo lectura # que es utili!ado para controlar productos # sistemas de los mercados industriales, se le denomina- Su respuesta - mpotrado (orrecto. :n software diseado para me%orar los procesos de la b'squeda de informacin en ,nternet basado en ciertos patrones establecidos, estara dentro de la categora- Su respuesta - ,nteligencia /rtificial (orrecto, l rea ms acti$a de la ,/ es la de los sistemas expertos, tambin llamados sistemas basados en el conocimiento. :na de las caractersticas de la primera era de la e$olucin del software es- Su respuesta - La documentacin del software desarrollado no exista. (orrecto, el diseo era implicito # estaba en la mente del programador La tecnologa que actualmente est despla!ando rpidamente los enfoques de desarrollo de software ms con$encionales, se le denomina- Su respuesta - ;rientada a ;b%etos (orrecto. :n software diseado para el (ontrol de la <ora de ntrada # +alida a los traba%adores de una empresa # que utili!a la tecnologa touc" screen para facilitar su interaccin, estara dentro de la categora- Su respuesta - +istemas (orrecto. :na de las caractersticas de la tercera era de la e$olucin del software es- Su respuesta - La *rogramacin (oncurrente. (orrecto, /plicada a sistemas distribuidos, m'ltiples computadoras, donde cada una e%ecuta funciones concurrentes # se comunican entre s. La /cti$idad Especificacin de software presente en el proceso de desarrollo de software, se refiere a" Su respuesta - Definir la funcionalidad # restricciones operacionales que debe cumplir el software. (orrecto. De acuerdo a la lectura anterior se puede inferir que, existe un estndar 'nico para el desarrollo de software que es suministrado por la disciplina ,ngeniera de +oftware. Su respuesta - .also (orrecto, 7o existe un proceso de software uni$ersal que sea efecti$o para todos los contextos de pro#ectos de desarrollo. :na de las siguientes opciones es una caracterstica del software. Su respuesta - +e constru#e a la medida (orrecto, 7o existen catlogos de componentes de software. l software de 0esti!n hace uso de algoritmos no num)ricos para resol$er problemas comple'os para los que no son adecuados el calculo o el an&lisis directo. Su respuesta - .also (orrecto, ste es el software de inteligencia artificial