tarea 2

14
23-8-2013 SOFTWARE OPERATIVO Y DE DESARROLLO COMPUTACIÓN PARA INGENIEROS Tarea: 2 Leal Villavicencio Fernando Abel Correo: [email protected]

Upload: fernando-leal

Post on 13-Jun-2015

82 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Tarea 2

23-8-2013

SOFTWARE OPERATIVO Y

DE DESARROLLO

Tarea: 2

Correo:

[email protected]

Page 2: Tarea 2

3 SOFTWARE OPERATIVO Y DE DESARROLLO

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

Software

El término “evolución” del software se utiliza desde los sesenta para denominar la dinámica de crecimiento del software.

Una definición atribuida a Lehman y Ramil dice que la evolución del software es “todas las actividades de programación que se orientan a generar una nueva versión de un software a partir de una versión anterior operativa.

La industria del software ya es la cuna de la economía del mundo. Las técnicas de la cuarta generación para el desarrollo del software están cambiando en la forma en que la comunidad del software construye programas informáticos. Las tecnologías orientadas a objetos están desplazando rápidamente los enfoques de desarrollo de software más convencionales en muchas áreas de aplicaciones.Sin embargo, un conjunto de problemas relacionados con el software ha persistido a través de la evolución de los sistemas basados en computadora, y estos problemas continúan aumentando:

1. Los avances del software continúan dejando atrás nuestra habilidad de construir software para alcanzar el potencial del hardware.

2. Nuestra habilidad de construir  nuevos programas no pueden ir al mismo ritmo de la demanda de nuevos programas, ni podemos construir programas lo suficientemente rápido como para cumplir las necesidades del mercado y de 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. Luchamos por construir  software informático que tengan fiabilidad y alta calidad.

5. Nuestra habilidad de soportar y mejorar los programas existentes se ve amenazada por diseños pobres y recursos inadecuados.

3.2 Software de base: sistemas operativos, lenguajes y traductores.

Page 3: Tarea 2

Clasificación

Según su función Software de base Software aplicativos Por su uso o estandarización El software aplicativo El software a la medida El software de acuerdo al cliente Libre y propietario

Software de Base

Software básico que controla una computadora. El sistema operativo tiene tres grandes funciones:

•Coordina •Manipula•Organiza los archivos

Sistema Operativo

Los sistemas operativos controlan diferentes procesos de la computadora. Un proceso importante es la interpretación de los comandos que permiten al usuario comunicarse con la computadora.

Algunos intérpretes de instrucciones están basados en texto y exigen que las instrucciones sean tecleadas. Otros están basados en gráficos, y permiten al usuario comunicarse señalando y haciendo clic en un icono. Por lo general, los intérpretes basados en gráficos son más sencillos de utilizar.

Page 4: Tarea 2

Sistemas por Lotes

Estos sistemas se diseñaron en la década de 1950 para controlar las computadoras mainframe. Cada programa a ejecutarse se llamaba tarea. Un programador que deseaba ejecutar una tarea enviaba una solicitud a la sala de operaciones junto con tarjetas perforadas para el programa y los datos. El programador no tenía ningún control o interacción con el sistema. Un operador procesaba las tarjetas perforadas. Si el programa era satisfactorio, el resultado se enviaba al programador, de lo contrario, se enviaba un listado de error.

Ejemplos de Sistemas Operativos

MS-DOS

Page 5: Tarea 2

Windows Linux Unix BSD

MS-DOS •Apareció en los años 70’s• No es multiusuario o multitarea• Se regía por medio de comandos

Windows

Aparición el 20 de noviembre de 1985

Dispone de una interfaz gráfica que facilita el manejo de los procedimientos: cada comando puede ser visualizado en una pantalla mediante una imagen que lo representa.

Mayor difusión en el mercado actual, y su imponente popularidad se torna elemento indispensable para la inserción de todo nuevo usuario informático.

Page 6: Tarea 2

LINUX

•Aparición en 1991.

•Creado por Linus Torvalds

•Sistema informático libre, gratuito y de código fuente abierto.

•Flexibilidad de configuración

•Estabilidad

UNIX

• Principios de los años setentas.

• Creado por Ken Thompson y Dennis

Ritchie.

• Capacidad de soportar

Multiprogramación.

• Capacidad de tiempo compartido.

BSD

• Berkeley Software Distribution.

• En 1977 Bill Joy, entonces un estudiante de grado en Berkeley, grabó y envió cintas del primer BSD.

• Nacido a partir de los aportes realizados a ese sistema por la Universidad de

California en Berkeley.

• Manejo de memoria virtual paginado por demanda.

• Control de trabajos.

Lenguaje de programación

Page 7: Tarea 2

Cualquier lenguaje artificial que puede utilizarse para definir una secuencia de instrucciones para su procesamiento por una computadora.

Conjunto de normas «lingüísticas» que permiten escribir un programa y que éste sea entendido por la computadora y pueda ser trasladado a computadoras similares para su funcionamiento en otros sistemas.

Lenguaje de bajo nivel

Lenguaje de programación que la computadora puede entender a la hora de ejecutar programas, lo que aumenta su velocidad de ejecución, pues no necesita un intérprete que traduzca cada línea de instrucciones.

Lenguaje de alto nivel

Lenguaje de programación en el que las instrucciones enviadas para que la PC ejecute ciertas órdenes son similares al lenguaje humano.

Dado que la PC no es capaz de reconocer estas órdenes, es necesario el uso de un intérprete que traduzca el lenguaje de alto nivel a un lenguaje de bajo nivel que el sistema pueda entender.

3.3 Software aplicativo

Software Aplicativo

Programa informático diseñado para facilitar al usuario la realización de un determinado tipo de trabajo.

Posee ciertas características que le diferencia de un S.O., como por ejemplo, suele resultar una solución informática para la automatización de ciertas tareas complicadas como puede ser la contabilidad o la gestión de un almacén.

3.1.1 Software a la medida

Page 8: Tarea 2

Software a la medida

Son ciertas aplicaciones desarrolladas ‘a medida’ que ofrecen una gran potencia, ya que, están exclusivamente diseñadas para resolver un problema en específico.

3.1.2 Software de propósito general

Software de propósito general

Son paquetes integrados de software que incluyen varias aplicaciones, como por ejemplo:

•Procesadores de Texto

•Hoja de Cálculo

•Base de datos

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

Los objetivos específicos de este subtema son que el alumno:

• Defina el concepto de software

Es la estructura lógica de una computadora, todo lo intangible, es decir, son los programas de aplicación, sistemas operativos que no son tangibles para el usuario.

Page 9: Tarea 2

• Identifique las diferentes clasificaciones del software

• Según su función

• Por uso o estandarización

Si bien esta distinción es, en cierto modo, arbitraria, y a veces confusa, a los fines prácticos se puede clasificar al software en tres grandes tipos:

Software de sistema: Su objetivo es desvincular adecuadamente al usuario y al programador de los detalles del sistema informático en particular que se use, aislándolo especialmente del procesamiento referido a las características internas de: memoria, discos, puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc. El software de sistema le procura al usuario y programador adecuadas interfaces de alto nivel, herramientas y utilidades de apoyo que permiten el mantenimiento del sistema global. Incluye entre otros:

Sistemas operativos

Controladores de dispositivos

Herramientas de diagnóstico

Herramientas de Corrección y Optimización

Servidores

Utilidades Software de programación: Es el conjunto de herramientas que permiten

al programador desarrollar programas informáticos, usando diferentes alternativas y lenguajes de programación, de una manera práctica. Incluyen básicamente:

Editores de texto

Compiladores

Intérpretes

Enlazadores

Depuradores

Entornos de Desarrollo Integrados (IDE): Agrupan las anteriores

herramientas, usualmente en un entorno visual, de forma tal que el

programador no necesite introducir múltiples comandos para compilar,

interpretar, depurar, etc. Habitualmente cuentan con una

avanzada interfaz gráfica de usuario (GUI). Software de aplicación: Es aquel que permite a los usuarios llevar a cabo

una o varias tareas específicas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial énfasis en los negocios. Incluye entre muchos otros:

Aplicaciones para Control de sistemas y automatización industrial

Aplicaciones ofimáticas

Page 10: Tarea 2

Software educativo

Software empresarial

Bases de datos

Telecomunicaciones (por ejemplo Internet y toda su estructura lógica)

Videojuegos

Software médico

Software de cálculo numérico y simbólico.

Software de diseño asistido (CAD)

Software de control numérico (CAM)

3.3 Software de base: sistemas operativos, lenguajes y traductores

Los objetivos específicos de este subtema son que el alumno:

• Describa a los lenguajes de programación y su clasificación de acuerdo:

• Al nivel

Libertades del Software Libre

Libertad 0: la libertad de usar el programa, con cualquier propósito.

Libertad 1: la libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidades.

Libertad 2: la libertad de distribuir copias, con lo que puedes ayudar a tu vecino.

Libertad 3: la libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie.

Ciclo de Vida del Software

El software primero se desarrolla por un grupo de desarrolladores/programadores. Por lo general, está en uso durante algún tiempo antes de que se requiera hacerle modificaciones. Las modificaciones a menudo son necesarias debido a errores encontrados en el software, a cambios en las normas o leyes, o a cambios en la compañía misma. El software debe modificarse antes para su uso posterior. Estos dos pasos, usar y modificar, continúan hasta que el software se vuelve obsoleto.

Page 11: Tarea 2

Calidad de Software

“La calidad del software es el grado con el que un sistema, componente o proceso cumple los requerimientos especificados y las necesidades o expectativas del cliente o usuario”. (IEEE, std. 610-1990).

Software que satisface los requerimientos explícitos e implícitos del usuario, está bien documentado, cumple con las normas operativas de la organización y se ejecuta de manera eficiente en el hardware para el cual se desarrolló.

• Al tipo de traductor (compilador o intérprete)

Compilador

Un compilador es un programa que permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje de máquina).

De esta manera un programador puede diseñar un programa en un lenguaje mucho más cercano a cómo piensa un ser humano, para luego compilarlo a un programa más manejable por una computadora.

• A la aplicación

Intérprete

Es un programa capaz de analizar y ejecutar programas escritos en un lenguaje de alto nivel.

Los intérpretes se diferencian de los compiladores en que los primeros sólo realizan la traducción a medida que sea necesaria, típicamente, instrucción por instrucción y normalmente no guardan el resultado de dicha traducción.