You are on page 1of 61

UNIVERSIDAD NACIONAL DE INGENIERIA

FACULTAD DE INGENIERIA ECONOMICA, ESTADISTICA Y CC.SS

Computación: SOFTWARE

Set 2017 V.M.C


SOFTWARE
Es el conjunto de instrucciones detalladas que
controlan la operación de un sistema de cómputo. Las
funciones que realiza son:
• Administrar los recursos de cómputo
• Proporcionar las herramientas a los seres humanos para
aprovechar el sistema de cómputo
• Actuar como intermediario entre la información almacenada y los
usuarios
Programa de computadora: Conjunto ordenado de
instrucciones de computadora para llevar a cabo un
proceso específico.
El concepto del programa almacenado. Es la idea de
que un programa no puede ser ejecutado por una
computadora a menos que se almacene en la memoria
primaria de ella junto con los datos requeridos.
SOFTWARE Componentes

Dentro del software del sistema encontramos los componentes


siguientes:

• Programa de arranque BIOS


• El cargador
• Sistema operativo
• La interfaz del usuario (Basa en caracteres ->Terminal, GUI)
• Programas de ayuda al sistema operativo (Pgm
diagnostico, mantenimiento,etc)
• Utilidades generales (Traductores, Depuradores, Editores
de programa.)
Que contiene el software ?
• El software contiene:

– Líneas de código de algún lenguaje


– Instrucciones de computadora.
– Descripción de las estructuras de datos.
– Algoritmos.
– Procedimientos y funciones.
– Componentes de software.
TIPOS DE SOFTWARE
 Software de sistemas
 Sistemas operativos
 Lenguajes de programación
• Bajo nivel: Lenguaje máquina, Ensamblador
• Alto nivel:
 Compilados: Lenguaje C, Pascal, Fortan
 Interpretados: Básica, Visual Basic.

 Utilerías/utilitarios
 Software de aplicación
 Especializados
 De uso general

Software de Internet

 Software del usuario final


 Sistemas de bases de datos
 Generadores de gráfica
 Lenguajes de 4ª. Generación
 Herramientas RAD
 Sistemas adaptables
SISTEMAS OPERATIVOS
Sistema operativo
 El objetivo fundamental de los sistemas
operativos es gestionar y administrar
eficientemente los recursos hardware,
permitiendo que se ejecuten
concurrentemente varios programas, sin
que haya conflictos en el acceso de cada
uno de ellos a cada uno de los recursos
que necesite, y sin que ningún programa
monopolice alguno de ellos.

 Un sistema operativo es un programa (o


conjunto de programas) de control que
tiene por objeto facilitar el uso de la
computadora y conseguir que ésta se
utilice eficientemente.
Las funciones más importantes de un
sistema operativo
 Aceptar los trabajos y conservarlos hasta su finalización.
 Detectar errores y actuar de modo apropiado en caso de que se produzcan.
 Controlar las operaciones de E/S.
 Controlar las interrupciones.
 Planificar la ejecución de tareas.
 Entregar y retirar recursos a las tareas.

 Proteger la memoria contra el acceso indebido de los programas.

 Proporcionar al usuario un sencillo manejo de todo el sistema.


 Aprovechar los tiempos muertos del procesador.
 Compartir los recursos de la máquina entre varios procesos al mismo tiempo.
 Administrar eficientemente el sistema de cómputo como un todo armónico.

 Permitir a los usuarios almacenar información durante plazos medianos o largos.


 Dar a los usuarios la facilidad de utilizar de manera sencilla todos los recursos,
facilidades y lenguajes de que dispone la computadora.
 Administrar y organizar los recursos de que dispone una computadora para la
mejor utilización de la misma, en beneficio del mayor número posible de
usuarios.
Sistemas Operativos
 Gestión de ejecución de aplicaciones: el S.O se encarga
de que las aplicaciones se ejecuten sin problemas
asignándoles los recursos que éstas necesitan para
funcionar. Esto significa que si una aplicación no responde
correctamente puede "sucumbir".
 Administración de autorizaciones: el S.O se encarga de la
seguridad en relación con la ejecución de programas
garantizando que los recursos sean utilizados sólo por
programas y usuarios que posean las autorizaciones
correspondientes.
 Gestión de archivos: el S.O gestiona la lectura y escritura
en el sistema de archivos, y las autorizaciones de acceso a
archivos de aplicaciones y usuarios.
 Gestión de la información: el S.O proporciona cierta
cantidad de indicadores que pueden utilizarse para
diagnosticar el funcionamiento correcto del equipo.
Sistemas Operativos
El sistema operativo está compuesto por un conjunto de paquetes de
software que pueden utilizarse para gestionar las interacciones con
el hardware
 El núcleo, que representa las funciones básicas del
sistema operativo, como por ejemplo, la gestión de la
memoria, de los procesos, de los archivos, de las
entradas/salidas principales y de las funciones de
comunicación.
 El intérprete de comandos, que posibilita la
comunicación con el sistema operativo a través de un
lenguaje de control, permitiendo al usuario controlar los
periféricos sin conocer las características del hardware
utilizado, la gestión de las direcciones físicas, etc.
 El sistema de archivos, que permite que los archivos
se registren en una estructura arbórea.
TIPOS DE SISTEMAS
OPERATIVOS

 Según la clase de interfaz


que proporcionan:
 Sistema de un solo
trabajo
 Multiprogramación
 Multiprocesamiento
 Batch processing
 Tiempo compartido
(interactivo-conversacional)
 Tiempo real
SELECCIÓN DE SISTEMAS OPERATIVOS

Aspectos que deben considerarse en la selección del sistema


operativo para una microcomputadora:
 Software de aplicaciones a correr
 Hardware requerido por el S. O.
 Rapidez del S. O.
 Facilidad de aprendizaje y uso
 Un solo usuario, multiusuario, redes
 Facilidad para manejo de redes
 Confiabilidad y estabilidad
 Costo de la instalación
 Necesidad de soporte técnico para instalación y uso
 Disponibilidad de soporte técnico
 Costo del sistema operativo (por usuario, por empresa)
TIPOS DE SISTEMAS OPERATIVOS
 DOS
 Microsoft Windows
 OS/2
 UNIX
 Mac Os
 Linux
 Solaris
 IBM Aix
 IOS
 Android
Sistemas Operativos
Windows
De pago (soft. Propietario/)
Es el SO mas utilizado
Fácil de Usar
Fácil de Configurar
Todos el software comercial tienen una
versión para Windows.
Tiene fama de ser Inestable
Tiene muchos problemas de seguridad
Sistemas Operativos
Sistemas Operativos
 Mac OS IOS
 De Pago
 Considerado el SO Mas sencillo de utilizar
 Mantiene una estética mas cuidada
 Es elegante y con altas prestaciones
 El Mouse solo tiene un boton
 Estable
 Seguro
 No dispone de tanto software como Windows
 Existen pocos juegos para esta plataforma
 Destaca por su gran desempeño en software de diseño.
 Su Valor comercial es mayor, ya que solo funciona bajo los
computadores de su propia compañía (que son mas caros pero
de calidad superior.)
Sistemas Operativos
Sistemas Operativos
 GNU Linux
 Sin Costo (Soft. Libre)
 SO Preferido por Profesionales de Informática
 Funciona bajo cualquier Hardware
 Mas Complejo de Utilizar
 Carece de software comercial
 Instalar un periférico no es tarea fácil
 Estable
 Seguro
 Existen menos juegos para esta plataforma
Sistemas Operativos
Software de Internet
• El Software de Internet hace referencia a
cualquier tipo de programa que me permita
tener acceso a información contenida en la
Web.
Software de Internet
• Navegadores (Firefox – Opera – Safari – Chrome –
Internet Explorer).
• Software de Comunicación (Skype – Msn – Icq – Irc)
• Clientes de Correo (Outlook - Thunderbird)
• Software P2P (Emule – Kazaa – Torrent - Ares)
• Gestores de Descarga (jdownloader - megamanager)
• Telefonía IP( Skype - TeamSpeak)
Software de Internet
• Dentro del Internet, existen Distintos tipos de paginas
Web, algunas de estas se pueden categorizar por:
– Entretención y Ocio
– Redes Sociales
– Educación
– Gubernamentales
– Grupos de Discusión
– Buscadores
– Foros
– Descarga de Archivos
– Bitácoras (blog, flog, vlog)
– Tiendas Online
– Publicidad
– Etc.
Software de Internet
• Existen también Distintos medios de Comunicación,
tales como:
– Skype
– Messenger
– e-mail
– Foros
– Blogs
– Flog
– Vlog
– Diarios online
– Radios Online
– Video Conferencias
– Redes Sociales
– Mensajeria de Texto a celulares
– etc
LENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACION

Son las herramientas que se utilizan para la creación de programas


de computadora. El programador escribe las instrucciones que
desea que se ejecuten en la computadora en un lenguaje
"parecido" al lenguaje común (el cual no entienden las
computadoras) , y por medio del lenguaje de programación estas
instrucciones se convierten al lenguaje de la computadora (lenguaje
máquina) y que pueden ser, posteriormente, ejecutadas por ella.

Este proceso de conversión al lenguaje máquina puede ser


realizado de dos principales maneras diferentes los lenguajes
compilados y los lenguajes interpretados.

Lenguajes de programación más conocidos son:


Lenguaje ensamblador, FORTRAN, COBOL, BASIC, PL/1,
PASCAL, ADA, C, LISP, PROLOG, Java, C++.
Traductores de lenguajes de programación

Un traductor es cualquier programa que toma como entrada un texto escrito


en un lenguaje, llamado Programa Fuente y da como salida otro texto en un
lenguaje, denominado Programa objeto.

Existen distintos tipos de traductores, entre ellos destacan:

Ensambladores
Preprocesadores
Intérpretes
Compiladores

http://traductoresune.blogspot.com/2007/05/compiladores.html
Definición:

“Se denominan Lenguajes de Programación


al conjunto de reglas, instrucciones y normas
necesarias por medio de las cuales el ser
humano puede transmitir órdenes a la
computadora” Redondo y Algara
Proceso de Compilación, Linkedición y Ejecución
Proceso de Compilación, Linkedición y Ejecución

Programa Fuente
(nomnbre.txt)
Clasificación de las Instrucciones:

Cada lenguaje de programación tiene un conjunto de


instrucciones, las cuales se dividen en las siguientes :

• Instrucciones de Entrada y Salida


• Instrucciones de Cómputo
• Instrucciones de Control
• Instrucciones de Asignación
• Instrucciones de Formato

Con este conjunto de instrucciones se


pueden diseñar software para las más
diversas tareas.
Clasificación de Los Lenguajes:

El desarrollo de los lenguajes de programación dio origen


a la siguiente clasificación:
• Lenguajes de Alto Nivel
Tiene un cierto parecido a la forma escrita como nos comunicamos
los seres humanos, por lo que acercan la computadora al hombre
• Lenguajes de Nivel Medio
Poseen una sintaxis parecida a los lenguajes de alto nivel y a la vez
incorpora instrucciones y funciones de bajo nivel permitiendo un
mayor control sobre el hardware
• Lenguajes de Bajo Nivel
Son en esencia muy parecidos al código binario que maneja la
computadora a través de una secuencia de ceros y unos que luego son
transformados en impulsos eléctricos
Tipos de Lenguajes de Programación:

• Lenguaje de Máquina: Se
construyen sobre la base de
secuencias de ceros y unos para
significar los caracteres que se
quieren generar en el computador,
este formato de programación se
conoce con el nombre de Código
ASCII
Tipos de Lenguajes de Programación:

• Lenguajes
Orientados a
Procedimientos:
Permiten escribir
una sola
instrucción en
lugar de
numerosas y
fastidiosas
instrucciones en
lenguaje de
máquina. (Ej:
Cobol y Fortran)
LENGUAJES DE PROGRAMACION
LENGUAJE AÑO EN AREA DE GPO. EN EL QUE VENTAJAS DESVENT APORTACIONES
QUE APLICACION SE USO AJAS
SURGE

ESTAR
AHÍ.ROMPER LA
BARRERA.PROVE
ER UN LENGUAJE
COMUN.
USUARIOS DE USO DEMASIA DEF.DE
IBM COMERCIAL GENERALIZAD DO SUBPROGRAMAS
Y CIENTIFICOS O DE PEGADO .FACILIDAD DE
FORTRAN 1954 CIENTIFICO BIBLIOTECAS. AL APRENDIZAJE.RU
CODIGO LENGUAJ TINAS DE
EFICIENTE E DE ENTRADA Y
MAQUINA SALIDA
IBM-704
LENGUAJES DE PROGRAMACION

LENGUAJE AÑO EN AREA DE GPO. EN EL VENTAJAS DESVENTAJAS APORTACIONES


QUE APLICACION QUE SE USO
SURGE

DISTINGUE ENTRE
AMBIENTE DATOS
Y
OPERACIONES.ME
TODOLOGIA PARA
LA DESCRIPCION
CLARIDAD,DES DE INFORMACION
CRPCION DE QUE SE ALEJA DE
DATOS, LA
COBOL 1959 COMERCIAL DEPTO.DE MANEJO DE COMPUTADORA.E
DEFENSA ARCHIVOS FICIENCIA EN EL
MANEJO DE
ARCHIVOS,AUTOD
OCUMENTACION Y
CLARIDAD.
LENGUAJES DE PROGRAMACION
LENGUAJE AÑO EN QUE AREA DE GPO. EN EL VENTAJAS DESVEN APORTACIONES
SURGE APLICACION QUE SE USO TAJAS

FUNCIONES
ELEMENTALES
PARA BUSQUEDA
Y MANIPULACION
DE PATRONES DE
CARACTERES
FUNCIONES APLICACIONES
ELEMENTALE NO NUMERICAS
S PARA EL NI
SNOBOL 1962 CADENAS LINGUISTAS MANEJO DE COMERCIALES.V
CADENAS ARIABLES
DINAMICAS TIPO
CADENA.EXTENSI
BILIDAD DEL
LENGUAJE A
TRAVES DE
OPERACIONES
DEFINIDAS POR
EL USUARIO
LENGUAJES DE PROGRAMACION
LENGUAJE AÑO EN QUE AREA DE GPO. EN EL VENTAJAS DESVEN APORTACIONES
SURGE APLICACION QUE SE USO TAJAS

ELEGANCIA
INTRODUCCION
PARA EL
DESARROLLO DE
UNA TEORIA
GENERAL DE
MANEJO COMPUTABILIDA
EFICIENTE D NOTACION A
DE LISTAS BASE DE
LISP 59-60 EXPRESIONE INTELIGENCI RECURSIVID FUNCIONES
S A ARTIFICIAL AD REPRESENTACIO
SIMBOLICAS N HOMOGENEA
MANEJO DE MANIPULACI
ON DE DATOS Y
LISTAS PROGRAMAS
SIMBOLICA
MANEJO
DINAMICO DE LA
MEMORIA
RECOLECCION
DE BASURA
LENGUAJES DE PROGRAMACION
LENGUA AÑO EN AREA GPO. EN VENTAJAS DESVENTAJAS APORTACIONES
JE QUE DE EL QUE
SURGE APLIC SE USO
ACIO
N

LENGUAJE DE
PUBLICACION
RELACIONAR CON
SU USO
(BLOQUES)
DIFICIL DE TIPIFICACION Y
CLARIDAD IMPLEMENTAR: DECLARACION DE
“NAME CALL” Y VARIABLES.
FACILIDAD ARREGLOS FORMATO LIBRE.
ALGOL 1960 GENE EUROPA DE CORRECCION VARIABLES I/0 NO
RAL EXTENSION DE
CONSISTENCIA ESTANDAR ITERACIONES.
DESARROLLO DE CONCEPTO DE
ARRIBA ABAJO BLOQUE.
ELEGANCIA RECURSIVIDAD
COTAS VARIABLES
NIVELES DE LENGUAJES DE
PROGRAMACION
Alto Nivel Lenguajes declarativos
(4ª. Generación)

Lenguajes de alto nivel


(Compilados o interpretados)

Lenguajes ensambladores

Bajo Nivel
Lenguajes máquina
Nivel de Abstracción de los Lenguajes

“Los programadores de verdad pueden escribir código


ensamblador en cualquier lenguaje.” - Larry Wall

Lenguajes de Bajo Nivel


Lenguaje de Máquina
Assembler

Lenguajes de Alto Nivel


C, Pascal, Cobol, Fortran
Java, C++, Smalltalk, C#
Perl, Python, Ruby, Shell
Scheme, Lisp, Prolog

Lenguajes de otros niveles...


de Medio Nivel (C, Fortran, Cobol)
de ¿Altísimo Nivel? (Visual Basic, etc)
1.7 Historia

50
FORTRAN
60 LISP
AlGOL 60 COBOL
Simula PL/I Prolog
70 Pascal
Smalltalk C
80 ML
Ada

90 Miranda
1.7 Historia
1950 1960 1970 1980 1990

PL/I(66) Eiffel (86)


Ada(95)

Ada(83)
Cobol(58)
ENSAMBLADOR

Pascal(70)
Java(96)
Algol(60)
C(72) C++(89)

Fortran(54)
Simula(67) Smalltalk(80)

Basic(66)
PERSPECTIVA HISTORICA DE VARIOS
LENGUAJES DE PROGRAMACION
Area de Origen
1960 1970 1980
aplicación lingüístico
FORTRAN I FORTRAN II FORTRAN IV ANS
FORTRAN IV ANS FORTRAN 77
Científica Algebra Algol 58 Algol 60
FORTRAN Pascal UCSD ANS
BASIC ANS ANS
APL BASIC Pascal Pascal
Inglés COBOL 58 COBOL 68
Procedimiento de datos ANS
PL/I PL/I ANS
PROPOSITO Lambda LISP PL/I (G)
GENERAL
calculo PROLOG
LISP 1,5
Inteligencia
artificial Algoritmo de SNOBOL 3 ICON
Markov SNOBOL SNOBOL 4
Procesamiento de
Maquina de
C
texto Ensamblador y ANS Ada
Von Neumann Lenguajes maquina Ada
Modula-2
Programación de Modula
sistemas
SOFTWARE DE APLICACIONES
SOFTWARE DE APLICACIONES
Son los programas elaborados usando algún lenguaje de programación
convencional que permiten el cumplimiento de las tareas específicas de
los usuarios finales. Estos programas pueden ser :
• Elaborados en la empresa
• Desarrollados externamente sobre medida
• Adquiridos como paquetes terminados.

Ejemplos de software de aplicaciones:


• Sistemas de Contabilidad
• Sistemas de Nóminas
• Sistemas de Reservaciones Aéreas
• Sistemas de Punto de venta
• Sistemas de administración de la producción
• Sistemas de diseño auxiliado por computadora
• Etc.
SOFTWARE DE USUARIO FINAL
SOFTWARE DE USUARIO FINAL
Son las herramientas de software que permite el desarrollo de aplicaciones por los
mismos usuarios finales con muy poca o nula intervención de programadores
profesionales, o que incrementan la productividad de los programadores
profesionales. Los principales ejemplos de este tipo de software son:
• Lenguajes de cuarta generación: Variedad de herramientas de software que
permiten a los usuarios finales desarrollar aplicaciones de software con una
mínima experiencia o asistencia técnica o que estimulan la productividad de
los programadores profesionales
• RAD (Rapid aplication development)
• Lenguajes de interrogación (SQL)
• Generadores de reportes
• Lenguajes de gráficas
• Generadores de aplicaciones
• Lenguajes de programación de muy alto nivel
• Paquetes de software especializado adaptable ( CONTROL DE
MANUFACTURA )
• Procesadores de documentos
• Hojas de cálculo
• Administradores de bases de datos
• Paquetes de software integrados
• Sistemas de información geográfica
Compilación e Interpretación
Los traductores de los lenguajes se
clasifican en:
Interpretes: analizan las instrucciones
una a una y las ejecutan directamente
Compiladores: convierten el código
fuente a código de maquina para ser
ejecutado posteriormente
Métodos de Implantación
 Lenguajes Compilados
Código de Fuente −! Binarios ejecutables
como C
 Lenguajes Interpretados
Código de Fuente −! Interpretado línea por línea
como Scheme, Basic.
 Lenguajes Híbridos
Se compilan a un lenguaje intermedio
Como al Bytecode de Java
Paradigmas de programación
 Orientado a aspectos
 Concurrente
 Declarativo
 Funcional
 Imperativo
 Lógico
 Multiparadigma
 Orientado a objetos
 Scripting
Lenguajes Declarativos
Describen un problema mas que definir
una solución
Todos los lenguajes puramente
funcionales y lógicos son Declarativos
Ejemplos: ABSET, Lustre, MetaPost,
Prolog, SQL, XSL Transformations
Lenguajes Funcionales
Definen programas y subrutinas como
funciones matematicas
Muchos de estos lenguajes estan unidos a
herramientas de calculo matematico
Ejemplos: Clean, Erlang, Haskell,
Mathematica
Lenguajes basados en logica
 Especifican un conjunto de atributos que una
solución debe tener, en vez de un conjunto de
pasos para obtener la solución
 En este paradigma se definen reglas lógicas y
luego un motor de inferencia lógico permite
extraer conclusiones o responder a preguntas
planteadas al sistema
 Ejemplos: ALF, Curry, Prolog, Oz
Scripts
 En sentido tradicional, los scripts están diseñados
para automatizar tareas usadas frecuentemente que
usualmente tienen que ver con llamar o pasar
comandos a programas externos
 Muchos programas de aplicación complejos dejan a
los usuarios implementar funciones personalizadas
proveyéndoles de un lenguaje propio.
 Muchos de estos deciden utilizar lenguajes de
scripting tradicionales como el Perl o Visual Basic
Scripts
Ejemplos:
ActionScript
JavaScript
Perl
PHP
Phyton
Ruby
Programación imperativa
Opuesta a la programación declarativa,
este paradigma describe la computación
en términos de un estado del programa y
de unas instrucciones que cambian dicho
estado.
Los programas imperativos son una
secuencia de comandos para que el
computador realice
Programación Estructurada
Hace uso de las estructuras de control de
flujo
 Secuencia: Sucesión simple de dos o
mas operaciones.
 Selección: bifurcación condicional de una o mas
operaciones.
 Repetición de una operación mientras se
cumple una condición.
 Es Turing completa, esto quiere decir que todo
algoritmo computable puede ser escrito en
términos de programación estructurada
Programación procedimental
 Es un paradigma de programación basado en el
concepto de “llamado de procedimientos”
 Procedimientos, tambien conocidos como
rutinas, subrutinas, metodos o funciones
simplemente consienen series de pasos
computacionales.
 Cualquier procedimiento puede ser llamado en
cualquier punto durante la ejecucion de un
programa, incluyendo otros procedimientos o en
él mismo
Programación procedimental
Ejemplos:
C
Basic
COBOL
Matlab
Pascal
Programación Orientada a
Objetos
 La idea detrás de la POO, es que un programa
de computador puede ser visto como
abarcando una colección de unidades
individuales, objetos, que actúan unos con otros
 Opuesto a la forma de ver tradicional en la cual
un programa debe ser visto como una colección
de procedimientos o simplemente una lista de
instrucciones para el computador
Programación Orientada a
Objetos
 Cada objeto es capaz de recibir
mensajes, procesar datos, y enviar
mensajes a otros objetos.
Es la unión de la programación
estructurada y procedimental con los tipos
de datos abstractos
Programación Orientada a
Objetos
Ejemplos:
C++
JAVA
Ruby
SmallTalk
C#
Delphi
•Gracias

You might also like