Tema III. Software operativo y de...

84
Tema III. Software operativo y de desarrollo Objetivo: El alumno conocerá y entenderá la evolución y la situación actual que éste presenta. Asimismo distinguirá los diferentes tipos de programas (software) necesarios tanto para operar la máquina como para realizar desarrollos y aunado a esto tendrá las bases para seleccionar aquel software que le permita resolver un problema.

Transcript of Tema III. Software operativo y de...

Page 1: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

Tema III. Software operativo y

de desarrollo

Objetivo: El alumno conocerá y entenderá la evolución y la situación

actual que éste presenta. Asimismo distinguirá los diferentes tipos de

programas (software) necesarios tanto para operar la máquina como para

realizar desarrollos y aunado a esto tendrá las bases para seleccionar

aquel software que le permita resolver un problema.

Page 2: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

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

Ing. Tanya Arteaga Ricci

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.

(Voz ingl.). 1. m. Inform. Conjunto de programas, instrucciones y reglas informáticas para ejecutar

ciertas tareas en una computadora.

Diccionario de la Real Academia de la Lengua Española.

Page 3: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

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

Page 4: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

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

•Manipula

•Organiza los archivos

Page 5: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

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.

Sistema Operativo

Page 6: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Evolución

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.

Page 7: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Tarjeta Perforada

Page 8: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Evolución

Sistemas de Tiempo Compartido

Para utilizar los recursos del sistema de computación eficientemente, se introdujo la multiprogramación. La idea es mantener varias tareas en memoria y sólo asignar un recurso a una tarea que lo necesite con la condición de que el recurso está disponible. La multiprogramación trajo la idea del tiempo compartido. Estas dos características mejoraron en gran medida la eficiencia de un sistema de computación. No obstante, ésta requería un sistema operativo más complejo. El sistema operativo ahora tenía que hacer una planificación: asignación de los recursos a los distintos programas y decidir cuál programa debería utilizar cuál recurso y cuándo. Durante esta época, la relación entre una computadora y un usuario también cambió. El usuario podía interactuar directamente con el sistema sin pasar por el operador. Un nuevo término también se acuñó: proceso. Una tarea es un programa a ejecutar; un proceso es un programa que está en la memoria en espera de recursos.

Page 9: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Page 10: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Evolución

Sistemas personales

Cuando las computadoras personales se introdujeron, había una necesidad de un sistema operativo de este tipo de computadora. Durante esta época, se introdujeron los sistemas operativos monousuario tales como DOS (Disk Operating System)

Page 11: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Sistemas paralelos

La necesidad de una mayor velocidad y eficiencia condujo al diseño de los sistemas paralelos: varios CPU en la misma máquina. Cada CPU podía utilizarse para servir a un programa o a una parte de un programa, lo cual significa que muchas tareas pueden lograrse en paralelo en vez de en forma serial. El sistema operativo para estos sistemas es más complejo que en aquellos con un solo CPU.

Page 12: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Sistema de Procesamiento Paralelo

Page 13: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Sistemas Distribuidos

Una tarea realizada previamente por completo en una computadora ahora podía compartirse entre computadoras que podían estar a miles de kilómetros de distancia. Un programa puede ejecutarse parcialmente en una computadora y parcialmente en otra si éstas están conectadas mediante un conjunto de redes interconectadas como Internet. Además, los recursos pueden distribuirse. Un programa puede necesitar archivos localizados en distintas partes del mundo.

Page 14: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Page 15: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Sistema Operativo

Administrador de memoria

Administrador de procesos

Administrador de dispositivos

Administrador de archivos

Interfaz de usuario

Page 16: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Ejemplos de Sistemas Operativos

MS-DOS

Windows

Linux

Unix

BSD

Page 17: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

MS-DOS •Apareció en los años 70’s

• No es multiusuario o multitarea

• Se regía por medio de comandos

Page 18: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Page 19: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

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 20: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Page 21: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Page 22: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Page 23: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 24: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 25: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 26: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 27: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 28: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 29: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 30: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 31: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

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

Page 32: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 33: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 34: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 35: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 36: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 37: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 38: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 39: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 40: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 41: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

GNOME

KDE

LOOKINGLASS

ENLIGHTENMENT

XFCE

ICEWM

Page 42: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Richard Stallman

Licencia GNU

Dennis Ritchie

Unix

Bryan Kerniganh

Dos

Robert Pike Linus Torvalds

Linux

Personajes que ya hicieron historia

Page 43: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

¿Qué es LINUX?

Linux es el núcleo de un sistema operativo libre, desarrollado y lanzado al mundo por Linus Benedict Torvalds en 1991.

Torvalds eligió distribuir Linux con una licencia de software de código libre denominada GNU General Public License (GPL).

Page 44: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Uno de los primeros conceptos que aparecen al iniciarse en Linux es el concepto de distribución.

Una distribución es un agrupamiento del núcleo del sistema operativo Linux (la parte desarrollada por Linus Torvalds) y otra serie de aplicaciones de uso general o no tan general. En principio las empresas que desarrollan las distribuciones de Linux están en su derecho al cobrar una cierta cantidad por el software que ofrecen, aunque en la mayor parte de las ocasiones se pueden conseguir estas distribuciones desde Internet, de revistas o de amigos, siendo todas estas formas gratuitas y legales.

Page 45: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

Ing. Tanya I. Arteaga Ricci | F.I. 2009 (R)

Page 46: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Richard Matthew Stallman

Fundador del proyecto GNU

Creador Emacs

Compilador GCC

Creador de las licencias GNU: GPL, LGPL

Page 47: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

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.

WWW

Page 48: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Software

Drivers

Colores

Modo gráfico

Kernel

Shell

Vi

gcc

Hardware

Núcleo y lo demás…

http://bellard.org/jslinux/

Page 49: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

UNIX

• Principios de los años setentas.

• Creado por Ken Thompson y Dennis Ritchie.

• Capacidad de soportar Multiprogramación.

• Capacidad de tiempo compartido.

Page 50: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 51: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 52: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 53: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 54: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 55: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 56: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 57: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

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.

Page 58: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 59: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 60: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 61: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

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 62: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Desarrollo del Sistema

Análisis Diseño Imple –menta –

ción Pruebas

Page 63: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Fase de Análisis

El proceso de desarrollo comienza con

la fase de análisis, la cual muestra qué debe hacer el paquete. En esta fase, el analista de sistemas define los requisitos que especifican lo que el sistema propuesto va a lograr.

Los requisitos por lo general se establecen en los términos que el usuario comprende.

Definición del Usuario

Definición de las necesidades

Definición de los requisitos

Definición de los métodos

Page 64: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Fase de Análisis

Para poder identificar y definir bien un problema es conveniente responder a las siguientes preguntas:

¿Qué entradas se requieren? Tipo de datos con los cuales se trabaja y cantidad

¿Cuál es la salida deseada? Tipo de datos de los resultados y cantidad

¿Qué método produce la salida deseada?

Requisitos o requerimientos adicionales y restricciones a la solución.

Page 65: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Fase de Diseño

La fase de diseño define cómo

logrará el sistema lo que se definió

en la fase de análisis. En la fase de

diseño, se determinan los sistemas y

el diseño de archivos y/o bases de

datos se completa.

Modularidad

Herramientas

Se ayuda de dos características en esta etapa:

Page 66: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Fase de Implementación

En la fase de implementación se

crean los problemas reales.

Herramientas

Codificación

Page 67: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Fase de Prueba

Una vez que los programas se han escrito, deben probarse. La fase de prueba puede ser muy tediosa y consumir parte del tiempo de desarrollo del programa. Los programadores son completamente responsables de probar sus programas. En los proyectos de desarrollo grandes, con frecuencia hay especialistas llamados Ingenieros de Pruebas quienes son responsables de probar el sistema como un todo.

Page 68: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

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).

Page 69: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Calidad de Software

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ó.

Page 70: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Calidad del Software

Operabilidad

Eficiencia Fiabilidad

Facilidad de uso Pertinencia

Precisión Seguridad

Capacidad de mantenimiento

Capacidad de corrección

Capacidad de pruebas

Flexibilidad

Variabilidad

Capacidad de transferencia

Interoperabilidad

Portabilidad

Reutilización del código

Page 71: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 72: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

Ing. Tanya Arteaga Ricci

Lenguaje de programación 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.

3.2 Software de base: sistemas operativos, lenguajes y traductores

Page 73: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

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.

Page 74: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

M: EQU $00

DATO: EQU $01

ORG $100

INICIO: LDY #$1000

LDS #$03FF

LDAA #$00 ;CARGAR EN A EL DATO CERO

LDAB DATO,Y

LDX #$000A

IDIV ;EL ENTERO SE QUEDA EN IX Y EL RESIDUO EN

D

XGDX ;D TIENE LA PARTE ENTERA E IX EL RESIDUO

LDAA #$06

MUL ; EL RESIDUO QUEDA EN D

STAA M,Y ;CARGO EN MEMORIA EL DATO QUE SE QUIERE

PASAR A DECIMAL

ADDD M,Y ;TENEMOS EL RESULTADO EN D

XGDX ;CAMBIA EL DATO DE D A IX

LDAA DATO,Y

CMPA #$64 ;HACE LA OPERACION DATO-64

BHS SUMA ;SI DATO >= 64, BRINCA

XGDX ;CAMBIO IX A D

STD $18,Y ;RESULTADO PARA NUMEROS MENORES DE 64H

FIN: END

BRA INICIO

SUMA: LDAB #$C0

ABX ;SE HACE LA SUMA DE AJUSTE MAYOR A 64H

STX $18,Y ;DATO EN DECIMAL

BRA FIN

Lenguaje Ensamblador

Page 75: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

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.

#include <stdio.h>

main( ){

printf (“%f”,42/2);

}

Page 76: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

C C++ Java VB

.NET ASP PERL PHP

Delphi …

Page 77: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

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 como piensa un ser humano, para luego compilarlo a un programa más manejable por una computadora.

Page 78: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

0101010101010101 10101110101110110 1010010011100010 0101010101010101 0101010101010100

hola.c hola.obj hola.exe

#include <stdio.h> main() { printf(“hola mundo”); }

#include <stdio.h> main() { printf(“hola mundo”); }

0101010101010101 10101110101110110 1010010011100010 0101010101010101 0101010101010100

enlazador compilador

Compilación

Creando un programa en C

Page 79: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

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.

Page 80: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

3.2 Software de base: sistemas operativos, lenguajes y traductores

Ing. Tanya Arteaga Ricci

Com

pila

dos

VS

Inte

rpre

tados

Lenguaje Compilado/interpretado

ADA Lenguaje compilado

BASIC Lenguaje interpretado

C Lenguaje compilado

C++ Lenguaje compilado

Cobol Lenguaje compilado

Fortran Lenguaje compilado

Java Lenguaje intermediario

MATLAB Lenguaje interpretado

LISP Lenguaje intermediario

Pascal Lenguaje compilado

PHP Lenguaje interpretado

Perl Lenguaje interpretado

Page 81: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

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

Ing. Tanya Arteaga Ricci

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.

Page 82: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

Ing. Tanya Arteaga Ricci

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.3 Software aplicativo: a la medida y de propósito general

Page 83: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del
Page 84: Tema III. Software operativo y de desarrolloprofesores.fi-b.unam.mx/tanya/CPI/Presentaciones/Tema-III.pdf · aquel software que le permita resolver un problema. 3.1 Evolución del

Ing. Tanya Arteaga Ricci

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.3 Software aplicativo: a la medida y de propósito general

Ir a Tema IV