Evolucion De La Ingenieria De Software
james20133 de Julio de 2014
18.824 Palabras (76 Páginas)266 Visitas
EVOLUCION DE LA
INGENIERIA DEL SOFTWARE
El software de la computadora, se ha convertido en el alma mater. Es la máquina que conduce a la toma de decisiones comerciales. Sirve como la base de investigación científica moderna y de resolución de problemas de ingeniería. Es el factor clave que diferencia los productos y servicios modernos. Está inmerso en sistemas de todo tipo: de transportes, médicos, de telecomunicaciones, militares, procesos industriales, entretenimientos, productos de oficina, etc., la lista es casi interminable. A medida que transcurra el siglo XXI, será uno de los pilares que conduzca a grandes cambios, desde la educación elemental hasta la ingeniería genética.
1. EVOLUCIÓN DEL SOFTWARE
Actualmente el software desempeña un doble papel. Es un producto y, al mismo tiempo, el vehículo para hacer entrega de un producto. Como producto, hace entrega de la potencia informática del hardware, en este entorno el software es un transformador de información, produciendo, gestionando, adquiriendo, modificando, mostrando o transmitiendo información que puede ser tan simple como un solo bit, o tan complejo como una simulación en multimedia. Como vehículo utilizado para hacer entrega del producto, el software actúa como la base de control de la computadora (sistemas operativos), la comunicación de información (redes), y la creación y control de otros programas (herramientas de software y entornos).
El siguiente conjunto de problemas relacionados con el software ha persistido a través del tiempo, en la evolución de los sistemas basados en computadoras. Estos problemas continúan en aumento:
1. Los avances del software continúan dejando atrás la habilidad de construir software para alcanzar el potencial del hardware.
2. La habilidad de construir nuevos programas no puede ir al ritmo de la demanda de nuevos programas, ni se puede construir programas lo suficientemente rápidos como para cumplir las necesidades del mercado y los negocios.
3. El uso extenso de computadoras ha hecho de la sociedad cada vez más dependiente de la operación fiable del software. Cuando el software falla, pueden ocurrir daños económicos enormes y ocasionar sufrimiento humano.
4. Se lucha por construir software informático que tenga fiabilidad y alta calidad.
5. La habilidad de soportar y mejorar los programas existentes se ve amenazada por diseños pobres y recursos inadecuados.
2. CARACTERÍSTICAS DEL SOFTWARE
Existen en libros de texto diferentes definiciones de software:
1. instrucciones que cuando se ejecutan proporcionan la función y el rendimiento deseados.
2. estructuras de datos que permiten a los programas manejar adecuadamente la información y
3. documentos que describen la operación y uso de los programas.
El software es un elemento lógico del sistema, a diferencia del hardware que es un elemento físico, y presenta las siguientes características:
1. Se desarrolla no se fabrica en un sentido clásico.
2. No se estropea, se deteriora hasta la obsolescencia.
3. Se construye a medida, en lugar de ensamblarse a partir de componentes existentes.
3. COMPONENTES DEL SOFTWARE
La reutilización es una característica importante para un componente de software de alta calidad. Los componentes de software se construyen mediante un lenguaje de programación que tiene un vocabulario limitado, una gramática definida explícitamente y reglas bien formadas de sintaxis y semántica. En el nivel más bajo el lenguaje refleja el conjunto de instrucciones del hardware, en el nivel medio los lenguajes de programación tales como Ada, C, Smalltalk, se utilizan para crear una descripción procedimental del programa, en el nivel más alto el lenguaje utiliza iconos gráficos u otra simbología para representar los requisitos de una solución.
4. APLICACIONES DEL SOFTWARE
El software puede aplicarse en cualquier situación en la que se haya definido previamente un conjunto especifico de pasos procedimentales (algoritmo). El contenido y determinismo de la información son factores importantes a considerar para determinar la naturaleza de una aplicación de software. El contenido se refiere al significado y a la forma de la información de entrada y salida. El determinismo de la información se refiere a la predecibilidad del orden y del tiempo de llegada de los datos.
Las siguientes áreas del software indican la amplitud de las aplicaciones potenciales:
1. De sistemas. Se caracteriza por la fuerte interacción con el hardware de la computadora y su gran uso por múltiples usuarios, los más representativos son: compiladores, editores y utilitarios de gestión de archivos, utilidades para el manejo de periféricos, procesadores de telecomunicaciones.
2. De tiempo real. Mide, analiza o controla sucesos del mundo real conforme ocurren.
3. De gestión. Las aplicaciones en esta área estructuran los datos existentes para facilitar las operaciones comerciales o gestionar la toma de decisiones. El procesamiento de información comercial constituye la mayor de las áreas de aplicación del software. Los sistemas discretos (nominas, cuentas de haberes, inventarios, etc.) han evolucionado hacia el software de sistemas de información de gestión (SIG).
4. De ingeniería y científico. Caracterizado por los algoritmos de manejo cuantitativo (numérico). Sus aplicaciones van desde la astronomía a la vulcanología, desde el análisis de la presión de los automotores a la dinámica orbital de las lanzaderas espaciales y desde la biología molecular a la fabricación automática.
5. Empotrado. Reside en memoria solo de lectura y se utiliza para controlar productos y sistemas de los mercados industriales y de consumo.
6. De computadoras personales. El procesamiento de textos, las hojas de calculo, los gráficos por computadora, multimedia, entretenimientos, gestión de base de datos, aplicaciones financieras, acceso a bases de datos externas, son algunas de sus cientos de aplicaciones.
7. De inteligencia artificial. Utilizan conocimiento, sus aplicaciones están en las áreas de sistemas expertos, reconocimiento de patrones, pruebas de teoremas, teoría de juegos, redes neuronales, algoritmos genéticos, etc.
5. CRISIS DEL SOFTWARE
Al haberse alcanzado la etapa de crisis en el software, lo que realmente se tiene es una aflicción crónica, en el sentido de que es una crisis duradera y que vuelve a aparecer con frecuencia. El término crisis alude a un conjunto de problemas que aparecen en el desarrollo del software de las computadoras. Los problemas no se limitan al software que "no funciona correctamente". Es más, el mal abarca los problemas relacionados a como desarrollar software, como realizar el mantenimiento del volumen cada vez mayor de software existente y como poder atender la demanda creciente del software.
6. MITOS DEL SOFTWARE
Muchas de las causas de la crisis del software se pueden encontrar en una mitología que surge durante los primeros años del desarrollo del software. A diferencia de los mitos antiguos, que ofrecían a los hombres lecciones dignas de tener en cuenta, los mitos del software propagaron información errónea y confusión. Los mitos del software tienen varios atributos que los hacen insidiosos; por ejemplo, aparecieron como declaraciones razonables de hechos, tuvieron un sentido intuitivo y frecuentemente fueron promulgados por expertos que "estaban al día". Existen varios mitos clasificados en tres áreas: de gestión, del cliente y de los desarrolladores.
6.1 Mitos de gestión
Los gestores con responsabilidad sobre el software están normalmente bajo la presión de cumplir los presupuestos, hacer que no se retrase el proyecto y mejorar la calidad.
Mito: Se tiene ya un libro que está lleno de estándares y procedimientos para construir software. ¿No le proporciona ya a los desarrolladores todo lo que necesitan saber?
Realidad: Esta muy bien que el libro exista, pero ¿Se utiliza? ¿Conocen los trabajadores de su existencia? ¿Refleja las prácticas modernas de desarrollo de software? ¿Es completo? . En muchos casos las respuestas a estas preguntas es un rotundo ¡no!.
Mito: Los desarrolladores disponen de las herramientas de desarrollo de software más avanzadas; después de todo, cuentan con las computadoras más modernas.
Realidad: Se necesita mucho más que el último modelo de computadora grande para hacer desarrollo de software de gran calidad. La herramienta de ingeniería de software asistida por computadora (CASE) es más importante que el hardware para conseguir buena calidad y productividad.
Mito: Si se falla en la planificación, se puede adicionar más programadores y adelantar el tiempo perdido (horda mongoliana)
Realidad: El desarrollo de software no es un proceso mecánico como la fabricación. Cuando se añaden nuevas personas al proyecto de software retrasado, la necesidad de aprender y comunicarse con el equipo puede y hace que se reduzca la cantidad de tiempo gastado en el desarrollo productivo. Puede añadirse gente, pero solo de una manera planificada y bien coordinada.
6.2 Mitos del cliente
Un cliente que solicita una aplicación de software puede ser una persona del despacho de al lado, un grupo técnico de la sala de abajo, el departamento de ventas o una compañía exterior que solicita un software bajo contrato. Los mitos conducen a que el cliente se cree una falsa expectativa y finalmente, quede insatisfecho con el que desarrolla el software.
Mito: Una declaración general de los objetivos es suficiente
...