You are on page 1of 20

Tema 3: Software

operativo y de
desarrollo
MI Elizabeth Fonseca Chvez
FI UNAM
2010-2

Objetivo:
El alumno conocer y entender la
evolucin del software y la situacin
actual que ste presenta.
Asimismo distinguir los diferentes tipos
de programas (software) necesarios tanto
para operar la mquina como para realizar
desarrollos y aunado a esto tendr las
bases para seleccionar aquel software que
le permita resolver un problema.

Evolucin del software y su


situacin actual

el software se clasifica generalmente en tres grandes rubros:


sistemas operativos, lenguajes de programacin y programas de
aplicacin.
Tenemos software de base: sistemas operativos, lenguajes y
traductores y
Software
aplicativo:
laCharles
medidaBabbage,
y de propsito
general
La
mquina
analtica ade
incidentalmente,
tuvo su
software, y fue una amiga de ste, la legendaria lady Lovelace, quien
aport el software que no se lleg a usar, dado que la mquina nunca
se complet. En el ENIAC el control de las operaciones estaba
parcialmente integrado en el equipo. Dicho control era realizado por un
circuito que requera un alambrado especfico para cada aplicacin.
Imaginemos lo engorroso que resultaba realambrar el circuito cada vez
que cambiaba el uso del ENIAC.

ENIAC. para agilizar la labor del censo del ao 1890 en plena


revolucin industrial

Historia del software


Hasta este momento, no se perciba una diferencia sustancial entre
el equipo y el control de las operaciones. El concepto de programa
de control almacenado en memoria, aportacin popularmente
atribuida a John von Neumann, precipit el desarrollo de software.
En ste se perfilaron dos tendencias de desarrollo: los programas
de aplicacin y los de servicio. Estos ltimos tenan como propsito
facilitar el desarrollo de programas a partir de programas. Algunos
programas de servicio fueron simples cargadores que permitieron
emplear notaciones como el octal o hexadecimal ms compactas
que el binario. Otros como los ensambladores simplificaron ms el
proceso al reemplazar las notaciones numricas con los smbolos
mnemnicos que aportaron para describir a cada instruccin de la
mquina. El siguiente paso significativo fue la traduccin de
frmulas, que permiti el desarrollo de la historia del software y la
descripcin de los algoritmos con el empleo de expresiones
algebraicas.

Lenguaje Ensamblador

Historia del software


Dicha traduccin se realiza con programas que se denominan
compiladores, generan programas que al ejecutarse producen
los resultados. Es importante destacar que en tanto los
programas de aplicacin saturaron los recursos de los
equipos, imponiendo sus requerimientos en cuanto a
velocidad, precisin en la aritmtica y capacidad en los
almacenamientos; los programas de servicio repercutieron en
la evolucin de la arquitectura de los equipos (hardware).
Entre las aportaciones ms notables, podemos citar el empleo
de pilas y el reemplazo de referencias fsicas por lgicas. Con
la pila (Push Down List), se da lugar al manejo recursivo de los
procesos. Por ejemplo, esto ocurre en una oficina
administrativa, cuando se pospone la solucin de un problema
para resolver otro de mayor exigencia.

Historia del software


El problema original se suspende y se aborda nuevamente cuando el de
mayor exigencia ya ha sido resuelto. Con el reemplazo de referencias
fsicas por lgicas, se obtuvo un incremento ms real que virtual de los
recursos disponibles. Almacenamientos secundarios, registros
operacionales, memoria virtual, memoria cache e hizo translapes
(overlay), son algunas de las tcnicas que emplean este concepto. El
efecto es similar al de las operaciones bancarias nominales con que las
instituciones de crdito prestan varias veces su capital. Los elementos
aportados por los programas de servicio, al interrelacionarse configuran
el sistema operativo con el cual se administran los recursos disponibles
en las computadoras y se establecen lneas de produccin para el
proceso de programas con una mnima participacin del operario: la
automatizacin de la automatizacin. En los principios de la historia
del software, los sistemas operativos brotan como extensiones de los
lenguajes. Posteriormente, el fenmeno se invierte de modo que los
sistemas operativos configuren el ambiente en el que se desempean
las aplicaciones y los programas de servicio.

Definiciones
Sistema Operativo: El conjunto de programas
informticos que permite la administracin
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 conexin
a redes y el manejo de archivos.

Sistemas operativos
Windows, Unix, Linux, DOS, Mac OS, etc.

Caractersticas bsicas

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 grfica (GUI) o de texto (lnea de comandos
).
Los sistemas operativos forman una plataforma para que otros sistemas o aplicaciones la utilicen.
Aquellas aplicaciones que permiten ser ejecutadas en mltiples sistemas operativos son llamadas
multiplataforma.
La mayora de los sistemas operativos actuales son tambin multiusuario, aunque existen los
monousuario (por ejemplo, DOS)
Tambin pueden clasificarse en multitarea o monotarea. Cada programa que se ejecuta en un sistema
operativo, ya sea aplicacin 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 ms de una computadora al mismo tiempo.

Lenguajes
Lenguaje artificial que puede ser usado para controlar el comportamiento de una
mquina, especialmente una computadora. Estos se componen de un conjunto
de reglas sintcticas y semnticas que permiten expresar instrucciones que
luego sern interpretadas.

Debe distinguirse de lenguaje informtico, que es una definicin ms amplia,


puesto estos incluyen otros lenguajes como son el HTML o PDF que dan formato
a un texto y no es programacin en s misma.
El programador es el encargado de utilizar un lenguaje de programacin para
crear un conjunto de instrucciones que, al final, constituir un programa o
subprograma informtico.
Los lenguajes de programacin pueden clasificarse segn el paradigma que usan
en: procedimentales, orientados a objetos, funcionales, lgicos, hbridos, etc.
Son ejemplos de lenguajes de programacin: 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
cdigo llamado fuente y genera como salida otro programa en un
cdigo llamado objeto.
Algunos ejemplos de traductores son los compiladores (toma como
entrada cdigo en alto nivel y genera como salida cdigo en bajo
nivel), los interpretes (toma como entrada cdigo en alto nivel y
genera como salida un cdigo intermedio), los preprocesadores (toma
como entrada cdigo en alto nivel y genera como salida cdigo en
alto nivel) y el ensamblador (toma como entrada cdigo en
ensamblador y genera como salida cdigo en bajo nivel).
Su estructura podria ser expresada de la siguiente manera:
cdigo fuente ->> traductor -> cdigo objeto .
Un intrprete 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
compilacin previo.

Situacin Actual
El desempeo 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
combinacin de ellos .
Se han definido varios modelos basados en las experiencias exitosas
de la Ingeniera de Software que sirven de gua para las mejoras y
unifican los criterios de evaluacin de las empresas. Las normas ISO
de serie 9000, el modelo estadounidense conocido como CMM
(Capability Maturity Model), el BOOTSTRAP (Estndar Europeo para
Evaluacin 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 ms
reconocidos de estos modelos.

Antes en Mxico

En Mxico
La falta de especializacin 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
estratgico.
La falta de empleo de buenas metodologas.
La ausencia generalizada de mecanismos para medir y
evaluar el desempeo de las empresas. (ITAM 2008).

Software aplicativo: a la medida y de


propsito general

Software aplicativo: a la medida y de


propsito general

Software aplicativo: a la medida y de


propsito general

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 propsito general.
4. Enumera los lenguajes desde que
existieron?
4. Cual es el beneficio del Pas con saber
trabajar el software?

You might also like