You are on page 1of 4

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 301404 INGENIERA DE SOFTWARE

ACTIVIDAD 4: LECCIN EVALUATIVA UNIDAD 1 CONTEXTO1 CARACTERSTICAS DEL SOFTWARE El software es un elemento del sistema que es lgico, 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. Aunque existen similitudes entre el desarrollo del software y la construccin del hardware, ambas actividades son fundamentalmente diferentes. En ambas actividades la buena calidad se adquiere mediante un buen diseo, pero la fase de construccin del hardware puede introducir problemas de calidad que no existen (o son fcilmente corregibles) en el software. Ambas actividades dependen de las personas, pero la relacin entre las personas dedicadas y el trabajo realizado es completamente diferente para el software. Ambas actividades requieren de la construccin de un producto, pero los mtodos son diferentes. Los costos del software se encuentran en la ingeniera. Esto significa que los proyectos de software no se pueden gestionar como si fueran proyectos de fabricacin. El software no se estropea. El software no es susceptible a los males del entorno que hacen que el hardware se estropee. Otro aspecto de ese deterioro ilustra la diferencia entre el hardware y el software. Cuando un componente se estropea, se sustituye por una pieza de repuesto. No hay pieza de repuesto para el software. Cada fallo en el software indica un error en el diseo o en el proceso mediante el que se tradujo el diseo a cdigo maquina ejecutable. Por tanto, el mantenimiento del software tiene una complejidad considerablemente mayor que la del mantenimiento del hardware. La mayora del software se construye a medida, en vez de ensamblar componentes existentes. No existen catlogos de componentes de software. Se puede comprar software ya desarrollado, pero solo como una unidad completa, no como componentes que pueden re ensamblarse en nuevos programas.

APLICACIONES DEL SOFTWARE El software puede aplicarse en cualquier situacin en la que se haya definido previamente un conjunto especifico de pasos procedimentales (es decir, un algoritmo). (Excepciones notables a esta regla son el software de los sistemas expertos y de redes neuronales). Las siguientes reas del software indican la amplitud de las aplicaciones potenciales: Software de Sistemas: El software de sistemas es un conjunto de programas que han sido escritos para servir a otros programas. El rea del Software de Sistemas se caracteriza por una fuerte interaccin con el hardware de la computadora; una gran utilizacin por mltiples usuarios; una operacin concurrente que requiere una planificacin, una comparticin de recursos y una sofisticada gestin de procesos; unas estructuras de datos complejas y mltiples interfaces externas. (p. Ej.: compiladores, editores, utilidades, ciertos componentes del sistema operativo, utilidades de manejo de perifricos, procesadores de telecomunicaciones). Software de Tiempo Real: El software que mide/analiza/controla sucesos del mundo real conforme ocurren, se denomina de tiempo real. Entre los elementos del software de tiempo real se incluyen: un componente de adquisicin de datos que recolecta y da formato a la informacin recibida del entorno externo, un componente de anlisis que transforma la informacin recibida del entorno externo, un componente de anlisis que transforma la informacin
1

Resumen organizado por: Ing. Pilar Alexandra Moreno. Docente ECBTI Cead Duitama. Zona centro Boyac. Julio de 2012

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 301404 INGENIERA DE SOFTWARE

segn lo requiera la aplicacin, un componente de control/salida que responda al entorno externo y un componente de monitorizacin que coordina todos los dems componentes, de forma tal que pueda mantenerse la respuesta en tiempo real. Software de Gestin: El procesamiento de informacin comercial constituye la mayor de las reas de aplicacin del software. Los sistemas discretos (p. Ej.: nominas, cuentas de haberes/dbitos, inventarios, etc.), han evolucionado hacia el software de sistemas de informacin de gestin (SIG), que accede a una o ms bases de datos grandes que contienen informacin comercial. Las aplicaciones en esta rea re estructuran los datos existentes para facilitar las operaciones comerciales o gestionar la toma de decisiones. Adems de las tareas convencionales de procesamiento de datos, las aplicaciones de software de gestin tambin realizan calculo interactivo (p. Ej. : el procesamiento de transacciones en puntos de ventas). Software de Ingeniera y Cientfico: El software de Ingeniera y Cientfico est caracterizado por los algoritmos de manejo de nmeros. Las aplicaciones van desde la astronoma a la vulcanologa, desde el anlisis de la presin de los automotores a la dinmica orbital de los lanzadores espaciales y desde la biologa molecular a la fabricacin automtica. Software Empotrado: El software Empotrado reside en memoria de solo lectura y se utiliza para controlar productos y sistemas de los mercados industriales y de consumo. El software empotrado puede ejecutar funciones muy limitadas y curiosas (p. Ej.: el control de las teclas de un horno de microondas) o suministrar una funcin significativa y con capacidad de control (p. Ej.: funciones digitales en un automvil, tales como control de la gasolina, indicaciones en el salpicadero, sistemas de frenado, etc.). Software de Computadoras Personales: El mercado del software de computadoras personales ha germinado en la pasada dcada. El procesamiento de textos, las hojas de clculo, los grficos por computadora, multimedia, entretenimientos, gestin de bases de datos, aplicaciones financieras de negocios y personales, y redes o acceso a bases de datos externas son algunas de los cientos de aplicaciones. Software de Inteligencia Artificial: El software de inteligencia artificial (IA) hace uso de algoritmos no numricos para resolver problemas complejos para los que no son adecuados el clculo o el anlisis directo. El rea ms activa de la IA es la de los sistemas expertos, tambin llamados sistemas basados en el conocimiento.

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. El desarrollo del software se realizaba sin ninguna planificacin, hasta que los planes comenzaron a descalabrarse y los costos a correr. Los programadores trataban de hacer las cosas bien, y con un esfuerzo heroico, a menudo salan con xito. El software se diseaba a medida para cada aplicacin y tenia una distribucin relativamente pequea. La mayora del software se desarrollaba y era utilizado por la misma persona u organizacin. La misma persona lo escriba, lo ejecutaba y si fallaba, lo depuraba. Debido a este entorno personalizado del software, el diseo era un proceso implcito, realizado en la mente de alguien y la documentacin normalmente no exista. La segunda era en la evolucin de los sistemas de computadora se extienden desde la mitad de la dcada de los sesenta hasta finales de los setenta. La multiprogramacin y los sistemas multiusuario introdujeron nuevos conceptos de interaccin hombre - mquina. Las tcnicas interactivas abrieron un nuevo mundo de aplicaciones y nuevos niveles de sofisticacin del hardware y del software. Los sistemas de tiempo real podan recoger, analizar y transformar datos de mltiples fuentes, controlando as los procesos y produciendo salidas en milisegundos en lugar de minutos. Los avances en los dispositivos de almacenamiento en lnea condujeron a la primera generacin de sistemas de gestin de bases de datos.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 301404 INGENIERA DE SOFTWARE

La segunda era se caracteriz tambin por el establecimiento del software como producto y la llegada de las "casas del software". Los patronos de la industria, del gobierno y de la universidad se aprestaban a "desarrollar el mejor paquete de software" y ganar as mucho dinero. Conforme creca el nmero de sistemas informticos, comenzaron a extenderse las bibliotecas de software de computadora. Las casas desarrollaban proyectos en los que se producan programas de decenas de miles de sentencia fuente. Todos 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 nuevos dispositivos hardware que se hubieran adquirido. Estas actividades se llamaron colectivamente mantenimiento del software. La tercera era en la evolucin de los sistemas de computadora comenz a mediados de los aos setenta y continu ms all de una dcada. El sistema distribuido, mltiples computadoras, cada una ejecutando funciones concurrentes y comunicndose con alguna otra, increment notablemente la complejidad de los sistemas informticos. Las redes de rea local y de rea global, las comunicaciones digitales de alto ancho de banda y 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 caracteriz por la llegada y amplio uso de los microprocesadores. El microprocesador ha producido un extenso grupo de productos inteligentes, desde automviles hasta hornos microondas, desde robots industriales a equipos de diagnsticos de grupo sanguneo. La cuarta era de la evolucin de los sistemas informticos se aleja de las computadoras individuales y de los programas de computadoras, dirigindose al impacto colectivo de las computadoras y del software. Potentes mquinas personales controladas por sistemas operativos sofisticados, en redes globales y locales, acompaadas por aplicaciones de software avanzadas se han convertido en la norma. La industria del software ya 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 construye programas informticos. Las tecnologas orientadas a objetos estn desplazando rpidamente los enfoques de desarrollo de software ms convencionales en muchas reas de aplicaciones. Sin embargo, un conjunto de problemas relacionados con el software ha persistido a travs de la evolucin de los sistemas basados en computadora, y estos problemas continan aumentando. Los avances del software continan dejando atrs la habilidad de desarrollar software para alcanzar el potencial del hardware. La habilidad de desarrollar nuevos programas no pueden ir al mismo ritmo de la demanda de nuevos programas, no se puede construir programas lo suficientemente rpido como para cumplir las necesidades del mercado y de los negocios. El uso extenso de computadoras ha hecho de la sociedad cada vez ms dependiente de la operacin fiable del software. Cuando el software falla, pueden ocurrir daos econmicos enormes y ocasionar sufrimiento humano. En respuesta a estos problemas, las prcticas de la Ingeniera del Software se estn adoptando en toda la industria. EL PROCESO El proceso de desarrollo de software no es nico. No existe un proceso de software universal que sea efectivo para todos los contextos de proyectos de desarrollo. Debido a esta diversidad, es difcil automatizar todo un proceso de desarrollo de software.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA 301404 INGENIERA DE SOFTWARE

A pesar de la variedad de propuestas de proceso de software, existe un conjunto de actividades fundamentales que se encuentran presentes en todos ellos: 1. Especificacin de software: Se debe definir la funcionalidad y restricciones operacionales que debe cumplir el software. 2. Diseo e Implementacin: Se disea y construye el software de acuerdo a la especificacin. 3. Validacin: El software debe validarse, para asegurar que cumpla con lo que quiere el cliente. 4. Evolucin: El software debe evolucionar, para adaptarse a las necesidades del cliente. Adems de estas actividades fundamentales, hay otras que se aplican a lo largo de todo el proceso del software. Ellas se sealan a continuacin:

Seguimiento y control de proyecto de software. Revisiones tcnicas formales. Garanta de calidad del software. Gestin de configuracin del software. Preparacin y produccin de documentos. Gestin de reutilizacin. Mediciones. Gestin de riesgos.

Estas actividades de proteccin, tales como garanta de calidad del software, gestin de configuracin del software y medicin, abarcan el modelo del proceso. Las actividades de proteccin son independientes de cualquier actividad del marco de trabajo y aparecen durante todo el proceso.