Fundamentos de software

Anuncio
Fundamentos de software
Introducción a la Informática
2010-2011
Objetivos
• Describir las 3 categorías principales de software y
su relación
• Explicar la correspondencia entre algoritmos y
programas
• Discutir los factores que hacen que una aplicación
sea útil
• Describir el papel del sistema operativo en un
ordenador actual
• Seguir la evolución de los interfaces entre las
personas y los ordenadores
4626. Introducción a la Informática
2
¿Cómo trabaja el software?
• Un programa es una secuencia de
instrucciones elementales sencillas
– Los programadores comienzan diseñando un
algoritmo: una “receta” en lenguaje natural
– Problema: el lenguaje natural es ambiguo
• Los algoritmos deben convertirse en
instrucciones inteligibles para la CPU
– Código fuente: lenguaje de programación
– Código binario: secuencias de 0s y 1s
4626. Introducción a la Informática
3
¿Cómo trabaja el software?
algoritmo
Pide un número al usuario
Multiplícalo por 2
Muestra en pantalla el resultado
4626. Introducción a la Informática
4
¿Cómo trabaja el software?
código fuente
#include <stdio.h>
int main()
{
int num, doble;
printf( "Introduce un número: " );
scanf( "%d", &num );
doble = num * 2;
printf( "Su doble es: %d\n", doble );
}
4626. Introducción a la Informática
5
¿Cómo trabaja el software?
código binario
01011001110111000000100000111101000111101111100010111110
0010001001001111001001101011100001111001001101011000110
11100100110011110001011001110001000101101101101101011101
0010100011111000011001000111000100011101111000101010010
100100110011111110011100111000111110111110110100011100001
11000010010111101001111011001001110000110111001011010011
01100011100010111110011000100011111110100010010100010011
1110101001100100010001000010011111000110010110101111000
00011011111101110111011000110101000110100101110001000100
00011101111011011011110000100010001011010110110101101100
00111100100101111000110101011010000001000110111101010111
11000100010000011100111101100001000011011111101011111000
00101011101111011111101001101001100101011011000111010100
10010000100001101111000010011111011111111100010001100011
0000011011000011010111000100
4626. Introducción a la Informática
6
Tipos de programas
• Software de desarrollo (compiladores y otros)
– Permiten a los programadores escribir nuevos programas
• Programas de aplicación
– Herramientas de productividad que
permiten a los usuarios resolver
sus problemas
• Software del sistema
– Coordina las operaciones del
hardware
– Más cercano al hardware
4626. Introducción a la Informática
7
Programas de aplicación
• ¿por qué utilizamos programas?
– Son metáforas visuales de herramientas del
mundo real
– Expanden las capacidades humanas
• Tipos de programas
– Software vertical o a medida
– Suites
– Paquetes integrados
4626. Introducción a la Informática
8
Software vertical o a medida
• Aplicaciones específicas de un sector:
– Ej.: software de facturación, sw de catalogación
para bibliotecas, administración de
restaurantes…
– Elevado coste por tener un mercado más
reducido
– Algunas veces incluso se desarrollan para un
único cliente
4626. Introducción a la Informática
9
Suites
• Aplicaciones de uso común
– Ej.: proc. de textos, hoja de cálculo, bases de datos.
– Uso extendido en ámbitos muy diversos: hogar, oficinas,
administración, educación,…
• Estas aplicaciones se reúnen en un único paquete
denominado “suite”
– Más económico que adquirir los programas por separado
– Ej.: MS Office y OpenOffice (ofimática), Macromedia
Studio (diseño web), Adobe Creative Suite (diseño
gráfico)
4626. Introducción a la Informática
10
Paquetes integrados
• Incorporan varias aplicaciones en un mismo
programa
– Comparten el mismo entorno  facilita el
aprendizaje
– Más limitado que las aplicaciones equivalentes
aisladas
– Menor coste que las suites
– Ej.: MS Works o AppleWorks
4626. Introducción a la Informática
11
Cuestiones sobre el sw de aplicación
• Documentación
–
–
–
–
–
–
Instrucciones para instalar la aplicación
Tutoriales
Manuales de referencia
Ficheros de ayuda
Ayuda en línea (a través de la web)
Servicios de soporte, FAQ, etc.
4626. Introducción a la Informática
12
Cuestiones sobre el sw de aplicación
• Actualización
– Periódicamente, las empresas comercializan
nuevas versiones de sus aplicaciones
– Motivos: mejoras, corrección de errores,
adaptación a otro software (S.O.)
– Número para indicar la versión. Decimales para
cambios menores
– En ocasiones, el usuario tiene derecho a
actualizaciones gratuitas durante un periodo de
tiempo
4626. Introducción a la Informática
13
Cuestiones sobre el sw de aplicación
• Compatibilidad
– Hardware:
• restricciones sobre el tipo de ordenador y
recursos necesarios
• Ej.: cpu, memoria, espacio libre en disco, etc.
– Software:
• Principalmente, el S.O. para el que está
diseñado: Windows, Mac, Linux…
• Además del S.O., es importante su versión:
Windows 95, 98, NT, Me, 2000, XP…
4626. Introducción a la Informática
14
Cuestiones sobre el sw de aplicación
• Licencias
– Al adquirir el software, lo que realmente se
compra es una licencia para utilizarlo
– Licencias individuales y corporativas
– Limitación principal en cuanto a la instalación en
varios ordenadores y a la copia de los discos
– EULA: End User License Agreement
• Condiciones de la licencia
• Términos de la garantía
4626. Introducción a la Informática
15
Cuestiones sobre el sw de aplicación
• Distribución: formas de comercializar las
aplicaciones
–
–
–
–
–
–
propietario: cerrado por su dueño y de pago
shareware: evaluación en tiempo limitado
de demostración: limitaciones en la funcionalidad
adware: financiado mediante publicidad (banners)
freeware: sw gratuito, pero cerrado
libre: sw que de puede usar, distribuir, copiar y modificar
libremente
– semilibre: sw libre para uso no lucrativo
– de dominio público: renuncia a los derechos de autor
4626. Introducción a la Informática
16
Software del sistema
• Gestiona la comunicación entre el hardware
y el software
• Permite abstraerse de los detalles del
hardware (máquina virtual)
• Incluye los siguientes tipos de programas
– Controladores de dispositivos o “drivers”
– Sistema operativo
– Programas de utilidad
4626. Introducción a la Informática
17
Controladores de dispositivos (drivers)
• Gestionan la comunicación entre el ordenador y los
dispositivos de E/S
• Facilitan la ampliación de los ordenadores
(arquitectura abierta)
• Actúan como intermediarios cuando el usuario
requiere el acceso al dispositivo (lector CD,
impresora, ratón, módem...)
• Cómo conseguirlos
– Algunos están incluidos en el propio S.O.
– Otros se proporcionan con el dispositivo (en un CD de
instalación)
– A veces son propiedad de otras empresas y es necesario
adquirirlos para poder usarlos.
4626. Introducción a la Informática
18
Sistema operativo
• Intermediario entre el usuario y los
programas de aplicación y el hardware
– Proporciona una capa de aislamiento
– Determina la compatibilidad de los programas
• Tareas principales
– Facilitar el manejo del ordenador
– Utilizar el hardware de forma eficiente
• Se ejecuta continuamente desde que
arranca el ordenador
4626. Introducción a la Informática
19
Funciones del sistema operativo
• Comunicación con los periféricos (E/S)
• Gestión de procesos:
– Coordina trabajos concurrentes (multitarea)
– Aprovecha mejor la CPU
• Administración de la memoria:
– Protección de la memoria de cada proceso
– Mecanismo de memoria virtual
• Monitorización de recursos para contabilidad y
seguridad
• Gestión de archivos
• Coordinación de las comunicaciones en red
4626. Introducción a la Informática
20
Programas de utilidad
• Herramientas de mantenimiento del
sistema
• Se ejecutan como programas separados
del S.O. (se cargan en la memoria cuando
se necesitan)
• Los encontramos
– Incorporados al S.O. (desfragmentador de disco)
– Suministrados por otros fabricante (cortafuegos)
4626. Introducción a la Informática
21
Interfaz de usuario
• Sistemas operativos de sobremesa
– Interfaz de caracteres: línea de comandos (MSDOS)
4626. Introducción a la Informática
22
Interfaz de usuario
–
Interfaz gráfica (GUI)
• controla cada punto de la pantalla de forma
individual
• Mac OS de Apple (1984)
– Metáforas: escritorio,
carpetas, documentos…
– Elementos activos: iconos,
botones, ventanas, menús,
barras de desplazamiento…
4626. Introducción a la Informática
23
Interfaz de usuario
• Administración de ficheros
– Carpetas específicas para los documentos de
cada usuario
– Herramientas de búsqueda por su nombre o su
contenido (Google y Copernic Desktop Search)
– Herramientas específicas para archivos
especiales
• iTunes, iMovie e iPhoto (Mac)
• Herramientas similares en la próxima versión
de MS Windows (Longhorn)
4626. Introducción a la Informática
24
Interfaz de usuario
• Sistemas operativos multiusuario
– UNIX
• S.O. preferido para mainframes y estaciones de
trabajo
• Versiones: Solaris (Sun) HP-UX (HP), AIX (IBM), IRIX
(Silicon Graphics)
– Linux:
• Versión de UNIX para ordenadores personales
• Numerosas distribuciones para PC
• MacOS X está construido sobre Linux (BSD)
– Son S.O. multiusuario: permiten varios usuarios
trabajando simultáneamente sobre la misma CPU
4626. Introducción a la Informática
25
Interfaz de usuario
• Plataformas hw+sw
– Windows XP (Pentium/Athlon): Home, Professional, Tablet
PC
– Windows Server 2003 (Xeon/Opteron)
– Windows CE (Pocket PC/telefonía móvil)
– Palm OS (Palm, Sony,telefonía móvil)
– MacOS X Panther (PowerPC)
– Linux (Intel/AMD/PowerPC/Alpha)
• Alternativas para la compatibilidad de aplicaciones
– Emulación
– Plataformas cruzadas
– Máquinas virtuales
4626. Introducción a la Informática
26
Descargar