document2

6
17-8-2013 SOFTWARE OPERATIVO Y DE DESARROLLO COMPUTACIÓN PARA INGENIEROS Tarea: 2 Leal Villavicencio Fernando Abel Correo: [email protected] Contenido: 3.1 Evolución del software y su situación actual 3.2 Software de base: sistemas operativos, lenguajes y traductores 3.3 Software aplicativo: a la medida y de propósito general

Upload: fernando-leal

Post on 26-Jul-2015

68 views

Category:

Documents


0 download

TRANSCRIPT

17-8-2013

SOFTWARE

OPERATIVO Y

DE

DESARROLLO COMPUTACIÓN PARA INGENIEROS

Tarea: 2

Leal Villavicencio Fernando Abel

Correo:

[email protected]

Contenido:

3.1 Evolución del software y su situación actual

3.2 Software de base: sistemas operativos, lenguajes y

traductores

3.3 Software aplicativo: a la medida y de propósito

general

3.1 EVOLUCIÓN DEL SOFTWARE Y SU SITUACIÓN ACTUAL

El software que se ha desarrollado, va íntimamente ligado a las cuatro décadas de evolución de los sistemas informáticos. La evolución del software dentro del contexto de las áreas de aplicación de los sistemas basados en computadoras se veía únicamente como un añadido, la programación se veía simplemente como algo pasajero sin ninguna planificación pues se utilizaba todavía la utilización de sistemas basados en lotes. Fue cuando se empezó a diseñar software o programas desarrollados para ser vendidos a uno o más clientes pero con especificaciones. Fue cuando se dieron cuenta que se necesitaba desarrollar un plan para diseñar, programar y depurar los sistemas que iban desarrollando, pero seguía sin existir la documentación completa del programa.

Primera etapa de Ingeniera del Software (1950-1960)

Orientación por lotes

Distribución limitada

Software a medida

A lo largo de estos años se aprendió de la implementación de los sistemas informáticos, pero poco sobre la ingeniería de las computadores, aunque cabe mencionar que en esta época sobresalieron algunos sistemas excepcionales que revolucionaron la ingeniería del software.

La segunda etapa que abarca de finales de 1960 hasta finales de los 70´s introdujeron nuevos conceptos de interacción hombre máquina, las técnicas interactivas abrieron un nuevo mundo de aplicaciones y nuevos niveles de sofisticación del software. Los sistemas de tiempo real podían recoger, analizar y transformar datos de múltiples fuentes, controlando así los procesos y produciendo salidas en milisegundos en vez de minutos. Los avances en los dispositivos de almacenamiento en línea condujeron a la primera generación de gestión de bases de datos.

Segunda etapa de ingeniería del software (1960-1970)

Multiusuario

Tiempo real

Bases de datos

Producción de software.

En esta misma etapa aparecen los llamados "desarrolladores de software" el cual se diseñaba para una amplia cantidad de mercados multidisciplinarios, se distribuía tanto para computadores grandes como para minicomputadores, conforme fue creciendo el número de sistemas informáticos comenzaron a extenderse las bibliotecas de software de computadoras y de esta manera a crecer en forma radical por lo que aparece el "mantenimiento del software" que es depurar los sistemas y darles soluciones rápidas a los errores que se presentaban una compañía que hizo gala de su rapidez en la compostura de los sistemas es IBM con sus famosos PTF´s que son parches temporales al sistema para que estos mismos funcionaran en forma correcta parcialmente

La tercera etapa de evolución del software única a mediados de los años 70´s es cuando se inicia los sistemas distribuidos (computadoras múltiples, cada una ejecutando funciones correctamente y comunicándose con alguna otra), esto incremento notablemente la complejidad de los sistemas informáticos. Redes de área local y global, comunicaciones digitales de todo ancho de banda y creciente demanda de acceso "instantáneo" a los datos lo cual presiono a los desarrolladores de software, en esta etapa se incrementa el uso de los microprocesadores y computadoras personales, en muchos casos la tecnología del software es integrada al hardware como un producto integral. (No siempre funciona así). La tercera etapa de ingeniería del software (mediados de los años 70 a mediados de los años 90) Sistemas distribuidos

"Inteligencia" empotrada

Hardware de bajo coste

Impacto en el consumidor

El uso del software de aplicación y de desarrollo marca las diferencias en esta etapa pues van apareciendo las diferentes áreas de desarrollo de sistemas en conjunto con el personal que requieren analistas de sistemas, programadores junior, master, sinior, líder de proyecto, capturistas, usuarios. Cada uno con sus respectivas características de desempeño. La cuarta etapa del software es la que está empezando aunque literalmente estamos en la “quinta Generación" de las computadoras y su correspondiente software tendrán un profundo impacto en el equilibrio en las técnicas industriales ya propiamente como técnicas de la cuarta generación se construyen sistemas expertos y de inteligencia artificial en aplicaciones prácticas en un amplio rango de problemas del mundo real.

SITUACIÓN ACTUAL

El desempeño de los proyectos de sistemas actualmente es: 26% de ellos son exitosos, un 46% son proyectos cuestionables y un 28% son proyectos fallidos, arrojando una cifra de 97 Miles de Millones de USD de desperdicio, (Standish Group International). Casi el 25% de los proyectos de software son cancelados por atraso o por salirse del presupuesto, o por tener una baja calidad, o por experimentar alguna combinación de ellos.

3.2 SOFTWARE DE BASE: SISTEMAS OPERATIVOS, LENGUAJES Y TRADUCTORES

SISTEMAS OPERATIVOS

En computadoras, el sistema operativo comienza a funcionar cuando finaliza el trabajo del BIOS al encenderse o reiniciar la computadora.

Los sistemas operativos poseen una interfaz que puede ser gráfica (GUI) o de texto (línea de comandos).

Los sistemas operativos forman una plataforma para que otros sistemas o aplicaciones la utilicen. Aquellas aplicaciones que permiten ser ejecutadas en múltiples sistemas operativos son llamadas multiplataforma.

La mayoría de los sistemas operativos actuales son también multiusuario, aunque existen los monousuario (por ejemplo, DOS)

También pueden clasificarse en multitarea o monotarea. Cada programa que se ejecuta en un sistema operativo, ya sea aplicación o servicio de fondo, es llamado proceso. (Windows emula la multitarea)

Los sistemas operativos pueden ser centralizados, si permiten utilizar recursos de una sola computadora, o distribuido si permiten utilizar recursos de más de una computadora al mismo tiempo.

LENGUAJES

Lenguaje artificial que puede ser usado para controlar el comportamiento de una máquina, especialmente una computadora. Estos se componen de un conjunto de reglas sintácticas y semánticas que permiten expresar instrucciones que luego serán interpretadas.

Debe distinguirse de “lenguaje informático”, que es una definición más amplia, puesto estos incluyen otros lenguajes como son el HTML o PDF que dan formato a un texto y no es programación en sí misma.

El programador es el encargado de utilizar un lenguaje de programación para crear un conjunto de instrucciones que, al final, constituirá un programa o subprograma informático. Los lenguajes de programación pueden clasificarse según el paradigma que usan en: procedimentales, orientados a objetos, funcionales, lógicos, híbridos, etc. Son ejemplos de lenguajes de programación: php, prolog, ASP, ActionScript, ada, python, pascal, c, Basic, JAVA, JavaScript, etc.

TRADUCTORES

• Es un software que toma como entrada un programa escrito en un código llamado fuente y genera como salida otro programa en un código llamado objeto.

• Algunos ejemplos de traductores son los compiladores (toma como entrada código en alto nivel y genera como salida código en bajo nivel), los interpretes (toma como entrada código en alto nivel y genera como salida un código intermedio), los preprocesadores (toma como entrada código en alto nivel y genera como salida código en alto nivel) y el ensamblador (toma como entrada código en ensamblador y genera como salida código en bajo nivel).

• Su estructura podría ser expresada de la siguiente manera:

• código fuente -→>> traductor -→> código objeto.

• Un intérprete es un programa que ejecuta un programa escrito en un determinado lenguaje examinando y ejecutando cada sentencia del programa una a una, por separado y sin realizar un proceso de compilación previo.

3.3 SOFTWARE APLICATIVO: A LA MEDIDA Y DE PROPÓSITO GENERAL