Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

27
Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM

Transcript of Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

Page 1: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

Tema 3: Software operativo y de desarrollo

MI Elizabeth Fonseca ChávezFI UNAM

Page 2: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

Objetivo:

Page 3: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

Evolución del software y su situación actual

• Definiciones. (real academia española)Hardware: (hard=duro)Conjunto de los

componentes que integran la parte material de una computadora.

Software: (soft=blando)Conjunto de programas, instrucciones y reglas informáticas para ejecutar ciertas tareas en una computadora.

Page 4: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

HISTORIA DE LAS COMPUTADORASVARAS,MUESCASABACOTABLAS DE MULTIPLICARREGLA DE CALCULOMaquina de PascalMaquina de LeibnitzTelares de JacquardMaquina de diferencias y analítica de BabageCalculadoras perfeccionadasCalculadoras electromecánicas, MARK l, mark ll y mark lll (1944)Primera computadora UNIVAC, ENIAC

Generación de las computadoras:1ª. Bulbos, espacios grandes2. Transistores. Menos espacio3. Circuitos Integrados 4. Microprocesador5. (Inteligencia Artificial)5ª. nanotecnología

Page 5: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

La pascalina de Blaise Pascal calculate with 8 figures and carrying of 10's , 100's, and 1000's etc. 1642

Leibintz realiza maquina con las cuatro operaciones básicas 1671

Page 6: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

Telares de Jacquard. Controlado por tarjetas perforadas

Charles Babage crea maquina de diferencial(vista en foto)y analítica.

Page 7: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

Electronic Numerical Integrator And Computer ENIAC. 27 toneladas, 167 m^2, y 160 Kw. 1946

Page 8: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

UNIVAC 1951 - La primera computadora comercial

Page 9: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

Primer Programa de ADA

• 1841 Charles Babbage anuncia en conferencia La máquina analítica.

• lady Lovelace, matemática leyó articulo e hizo un plan de cómo su maquina calculara los números de Bernoulli(*): Primer programa, primer software, software que no se llegó a usar, dado que la máquina nunca se completó.

• August Ada Byron, Lady Lovelace,• http://www.thocp.net/biographies/lovelace_a

da.html*para la suma de las k-ésimas potencias de los

primeros n enteros positivos, cuando k = 1,2,3 y 4** ADA nombre de un lenguaje Prog

Page 10: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

1949 - El matemático húngaro John Von Neumann resolvió el problema de tener que cablear la máquina para cada tarea. La solución fue poner las instrucciones en la misma memoria que los datos, escribiéndolas de la misma forma, en código binario.

Refiriéndose a esta innovación, se habla de la "arquitectura de VonNeumann". Su EDVAC fue el modelo de las computadoras de este tipo.

1957 - Un equipo de IBM, dirigido por John Backus, creó el primer lenguaje de programación, llamado Fortran , formulado para el IBM 704.

Page 11: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

1969 - Kenneth Thompson y Dennis Ritchie, de Bell Labs, desarrollaron el sistema operativo Unix . (y lenguaje C 1972)

1981 IBM lanzó al mercado el IBM PC ; su sistema operativo, el DOS 1.0, era de Microsoft, y el microprocesador, un Intel 8088MSDOS= MicroSoft Disk Operating System.

1975 Bill Gates y Paul Allen se unen para crear Microsoft

1975 - Steve Jobs desarrolló el lenguaje de programación Basic

1975 - Steve Jobs y Steven Wozniak, crearon la primera computadora Apple

Page 12: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

Clasificación Software

El software se clasifica : • sistemas operativos, • lenguajes de programación • y programas de aplicación.

• Tenemos software de base: 1)sistemas operativos, 2)lenguajes y traductores y

3)Software aplicativo: 3ª) a la medida y 3b)de propósito general

Page 13: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

Definiciones• Sistema Operativo: El conjunto de programas

informáticos que permite la administración eficaz de los recursos de una computadora.

Permite controlar las asignaciones de memoria, ordenar las solicitudes al sistema, controlar los dispositivos de entrada y salida, facilitar la conexión a redes y el manejo de archivos.

DMADirect memory access

Page 14: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

Sistemas Operativos

Page 15: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

Lenguajes de programación• Los lenguajes de programación pueden clasificarse según el

paradigma que usan en: • Imperativas: procedimentales1, Orientado a objetos2,• Declarativas: funcionales3(func. aritméticas), lógicos4, híbridos,

etc.

Son ejemplos de lenguajes de programación: 1php, 2ASP, ActionScript, 2ada, python, 1pascal, 1c, 1basic,1y 2JAVA, JavaScript, 3lips, 2c++, 4prolog

• Un paradigma de programación es una colección de modelos conceptuales que juntos modelan el proceso de diseño y determinan, al final, la estructura de un programa.

Page 16: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

Tipos de paradigmas por FLOYDFloyd describió tres categorías de paradigmas de programación:

a) Los que soportan técnicas de programación de bajo nivel (ej.: copia de ficheros frente estructuras de datos compartidos)

b) Los que soportan métodos de diseño de algoritmos (ej.: divide y vencerás, programación dinámica, etc.)

c) Los que soportan soluciones de programación de alto nivel, como los descritos en el punto anterior

Floyd también señala lo diferentes que resultan los lenguajes de programación que soportan cada una de estas categorías de paradigmas. Sólo comentaremos los paradigmas relacionados con la programación de alto nivel.

Se agrupan en tres categorías de acuerdo con la solución que aportan para resolver el problema

a) Solución procedimental u operacional. Describe etapa a etapa el modo de construir la solución. Es decir señala la forma de obtener la solución.

b) Solución demostrativa. Es una variante de la procedimental. Especifica la solución describiendo ejemplos y permitiendo que el sistema generalice la solución de estos ejemplos para otros casos. Aunque es fundamentalmente procedimental, el hecho de producir resultados muy diferentes a ésta, hace que sea tratada como una categoría separada.

c) Solución declarativa. Señala las características que debe tener la solución, sin describir cómo procesarla. Es decir señala qué se desea obtener pero no cómo obtenerlo.

Page 17: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

Lenguajes por nivel

Page 18: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.
Page 19: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

El lenguaje Ensamblador es un tipo de lenguaje de bajo nivel utilizado para escribir programas informáticos y constituye la representación más directa del código de maquina específico para cada arquitectura de computadoras legible por un programador.

Page 20: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

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

Page 21: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

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 .

• Se han definido varios modelos basados en las experiencias exitosas de la Ingeniería de Software que sirven de guía para las mejoras y unifican los criterios de evaluación de las empresas. Las normas ISO de serie 9000, el modelo estadounidense conocido como CMM (Capability Maturity Model), el BOOTSTRAP (Estándar Europeo para Evaluación y Mejoras de Procesos de Desarrollo de Software) y la norma ISO 15504, conocida como SPICE, (Software Process Improvement and Capability determination) son los ejemplos más reconocidos de estos modelos.

Page 22: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

Antes en México

Page 23: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

En México

• • La falta de especialización o enfoque de los competidores, en lo que respecta a servicios y a mercados.

• • La ausencia de estrategia referente al esquema con que venden los servicios (por proyectos o como mano de obra) y al lugar en que éstos se realizan (en las instalaciones de los clientes o fuera de ellas).

• • La diversidad de precios de cada tipo de servicio.• • El manejo de los recursos humanos sin un enfoque

estratégico.• • La falta de empleo de buenas metodologías.• • La ausencia generalizada de mecanismos para medir y evaluar

el desempeño de las empresas. (ITAM 2008).

Page 24: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

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

Page 25: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

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

Page 26: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

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

Page 27: Tema 3: Software operativo y de desarrollo MI Elizabeth Fonseca Chávez FI UNAM.

Cuestionario de Examen3

• 1. ¿Donde, cuando y con quien se dice que comenzó la historia del software?

• 2.¿Que es un sistema operativo, un lenguaje y un traductor?

• 3. Diferencia entre software a la medida y de propósito general.

• 4. ¿Enumera los lenguajes desde que existieron?• 4.¿ Cual es el beneficio del País con saber

trabajar el software?