Download Software - Facultad de Ciencias Económicas y Jurídicas

Document related concepts

Programa informático wikipedia , lookup

Portabilidad wikipedia , lookup

Programación wikipedia , lookup

Código fuente wikipedia , lookup

Grandes sistemas de Burroughs wikipedia , lookup

Transcript
Herramientas Informaticas I
Facultad Ciencias Economicas y Jurídicas. U.N.L.Pam.
SOFTWARE:

Conceptos.

Clasificación.

Funciones.

Caracteristicas.

Incorporación de Software:

Compra, Desarrollo, Compartido y/o Libre.

Restricciones Legales.
Software: Conceptos.
Sistema de Información:


La Contabilidad, Administración de Inventarios.
Sistema Informático:

Gestión Contabilidad por Computadora.

Gestión Inventarios Informatizados.

Procesamiento de Textos.
Soft-

Generación de Presentaciones.
ware

Gestión Datos con Planillas Electrónicas.

Comunicaciones: Internet, Email, Chat, etc.

Etc. Etc. Etc.
Software: Conceptos.
Problema
Informatizable

Reducción de Costos y Tiempos.

Menor Capacitación Operador.
Algoritmo

Código
Fuente

Código
Ejecutable

Conjunto de Acciones que
resuelven el Problema.
Algoritmo Traducido a un
lenguaje que luego será
compilado o interpretado.
Conjunto Códigos Binarios
entendibles por la máquina
Software: Conceptos.
Resolución de Algoritmos:

Metodología Lineal:


Aplicable a problemas simples o entornos de
programación especiales y/o restringidos.
Metodología Estructurada:


Algoritmo
Aplicable a cualquier tipo de problemas de
cualquier tamaño. Orientada a los procesos.
Metodología Orientada a Objetos:

Aplicable a cualquier tipo de problemas en cuanto
a tamaño o complejidad. Orientada a Conceptos.
Software: Conceptos.
Ejemplo Metodología Lineal:
Inicio
Almacenar
Proceso 2
imprimir
Lectura
?
SubPro 1
SubPro 2
?
Proceso 1
Mostrar
?
?
imprimir
Final
Software: Conceptos.
Ejemplo Metodología Estructurada:
Programa
Proceso 1
Proceso 2
SubPro 1.1 SubPro 1.2
Proceso k
Proceso N
SubPro k.1 SubPro k.2
SubPro 1.2.1 SubPro 1.2.2
Solución se enfoca en el concepto
Divide y Vencerás, si un proceso
es complejo, se subdivide en
subprocesos como sea necesario.
Un subroceso puede reutilizase.
Software: Conceptos.
Mensajes
Ejemplo Metodología Orientada a Objetos:
Clase B
Propiedad m
...
Propiedad z
Método m
...
Método z
Clase A
Propiedad 1
...
Propiedad k
Método 1
...
Método k
Clase C
Propiedad m
...
Propiedad z
Método m
...
Método z
Un Concepto
Genérico del
Negocio
Puede ser abstracto
Herencia
Clase D
Propiedad m
...
Propiedad z
Método m
...
Método z
La Herencia permite
reaprovechar todas
Las características
de la clase A en B
Se puede usar el todo abstrayéndose de las partes.
Alto Nivel Reaprovechamiento y reutilización.
Sub Conceptos
del Negocio
Al mínimo nivel se
Instancia (objetos)
Software: Conceptos.
Lenguajes de Programación:

Gramática y Semántica Características.

Palabras Claves/Reservadas.



Código
Fuente
IF, FOR, SWITCH, CASE, WHILE, etc.
Entornos de Desarrollo.

Editores de Texto.

Entornos Integrados (Edición, Depuración, etc.)
Entornos de Ejecución.

Directos → Código Binario

Indirectos → Código Interpretado y/o Pseudocódigo.
Software: Conceptos.
Lenguajes de Programación:
Clasificación Ámbito de Uso:

Código
Fuente
Científico: Capacitados para dar soluciones de cálculo matemático
avanzado aplicables en procesos científicos donde la herramienta
principal es Matemáticas de alto nivel.

Comercial: Destinados para dar soluciones a proceso de datos de
gestión de negocios, donde la cantidad de cálculo y de datos es muy
alta, y muy importante su presentación.

Mixto: Aplicables a dar respuestas equivalentes a las dos
clasificaciones anteriores. Tendencia de los nuevos lenguajes.

Especiales: Para necesidades especiales. BD, Gráficos.
Software: Conceptos.
Lenguajes de Programación:
Clasificación Evolutiva (1):

Código
Fuente
1° Generación: Código Binario. Orientado a la Máquina.
Instrucciones entendidas directamente.

2° Generación: Código Mnemotécnico. Orientado a la Máquina.
Instrucciones entendidas luego de ensamblaje. (Simbólico a Binario).

3° Generación: Código Tipo Humano. Orientado al Programador.
Instrucciones entendidas después de compiladas o por medio de
Interpretación.

4° Generación: Orientado al Usuario Capacitado. Instrucciones
interpretadas desde código fuente.
Software: Conceptos.
Lenguajes de Programación:
Código
Fuente
Clasificación Evolutiva (2):
Geneción
Entendido
luego de
Código
Orientado
Vigente
Ejemplos
1°
Binario
Máquina
Directamente
Máquinas
Específico cada
Máquina
2°
Mnemotécnico
Máquina
Ensamblaje
Especialistas
Específico
Arquitectura
3°
Tipo
Humano
Programador
Compilado
Interpretado
4°
Tipo
Usuario
Humano Capacitado
Interpretado
Basic, C,
PrograPascal, COBOL,
madores
C#, Java, Php
Usuarios
SQL, Planillas
de Cálculo
Software: Conceptos.
Ejecución del Código:

Directo: Código Binario (CB). Es el único
Código
Ejecutable
que la máquina ejecuta directamente. El programa debe cargase en memoria (si o si, no basta con estar en disco) y se
“corre” (el ensamblador se ensambla en lugar de compilarse).

Compilado: Código fuente se traduce a CB (por un programa
compilador) el cual se guarda por separado del fuente (v.g. archivo
Exe). Luego, se carga en memoria y es “corrido”.

Interpretado: Código fuente se traduce (por interprete o runtime)
instrucción a instrucción a CB, cada vez que se “corre” programa.

Mixto: Se pseudocompila en forma “compacta” (SC) y luego este
SC se interpreta por “runtimes” o máquinas virtuales (Java, .NET).
Software: Ejemplos.
Código Binario
Código Ensamble
0110 1110 1100 1011 1011
COUNT
EQU
2:3
0100 1010 1010 1010 0010
QLINK
EQU
2:3
0100 1010 1010 1011 1010
TOPSORT
IN
BUFFER(TAPEIN)
0100 1010 1010 1010 1010
0110 1110 1100 1011 1011
JBUS *(TAPEIN)
LD6
BUFFER+1
1100 1010 1011 1011 1010
J3P
3F
1010 1011 1010 1010 1010
J3Z
4F
1110 1010 1011 1011 0010
JMP
2B
LD4
1,5
LDA
X,4(COUNT)
1010 1010 1010 1010 1010
1100 1010 1010 1010 1010
1H
3H
Software: Ejemplos.
Código 3° Generación
Código 4° Generación
var a = clasifica(b);
SELECT c.idCliente,
c.cCliente, c.cTelefono,
c.cDireccion, y.cCiudad
Function clasifica (p) {
For (var i=1; i<count(p);
I++) {
If ( p[i]>p[i-1] ) {
var t = p[i-1];
p[i-1] = p[i];
p[i] = t;
} };
return p; }
FROM clientes c INNER JOIN
ciudades y ON (
c.codpostal=y.codpostal)
WHERE y.cProvincia='LA
PAMPA' AND cNombre LIKE
'%GARCIA%'
ORDER BY y.cCiudad ASC,
c.cCliente DESC
Software: Clasificación.
Sistemas Operativos o de Base:
→ Administran Recursos de la Máquina e Interfaz entre el hardware
(procesador, memoria y periféricos) con otros programas o con el
operador humano. Una computadora sin S.O. “no es operativa”.
Utilitarios o de Uso General:
→ Se utilizan para resolver problemas comunes a muchos tipos de
usuarios como procesamiento de texto, planillas de cálculo, edición
básica de gráficos y multimedia. Suelen encuadrarse esta categoría en
las otras dos, que no es un error si no un criterio diferente de
clasificación.
De Aplicación:
→ Gestionan problemas específicos de los usuarios. Como liquidaciones
de sueldos, facturación, control stock, etc.
Software: Funciones.
Sistemas Operativos:

Gestión Procesador:


Administración Memoria:


Asignación Total, Particionada, Virtual.
Interfaz con Dispositivos Periféricos:


Monotarea o Multitarea, y/o Monoprocesador y
Multiprocesador. Multiprograma o no.
Codificación. Compartimiento, Buffering, Spooling. Y
especialmente Sistema de Archivos (File System)
Comunicaciones y Seguridad del Sistema:

Validación Usuarios. Protocolos Comunicación. TCP/IP.
Software: Funciones.
Usuario/Operador
Dispositivos Dispositivos
de Entrada
de Salida
(Teclado,
Mouse...)
(Impresora,
Pantalla...)
Otros Programas
(Utilitarios,
de Aplicación)
SISTEMA OPERATIVO + Drivers de dispositivos
Procesador
(mono y multitarea)
Dispositivos de
Dispositivos de
Memoria
Comunicaciones
Almacenamiento
Principal
(tarjeta Red,
modem, protocolos)
(discos duros, CD,
DVD, cintas)
(RAM,
Virtual...)
(mono y
multiprocesador)
Placa
Madre
Software: Características.
Sistemas Operativos:


Interfaz de Caracteres:

Operador visualiza solamente texto en la pantalla.

Texto es generalmente monocromo.

Solo usa teclado, No se usa apuntadores (mouse).
Interfaz Gráfica:

Operador visualiza, imágenes, “ventanas” o “subventanas”
solapadas, etc. en la pantalla.

En la pantalla, se visualizan enumerable cantidad de
colores, la visualización es configurable.

Además de teclado usa apuntadores (mouse).
Software: Interfaz Caracteres.
A la derecha puede verse una
salida de una interfaz de
caracteres.
En este tipo de interfaz, la
comunicación entre usuario y
computadora se hace a través del
teclado, introduciendo comandos
específicos (verbos) y un conjunto
de parámetros simbólicos.
Adicionalmente, la interfaz puede
capturar algunas teclas especiales.
La salida se hace siempre en texto,
muchas veces con scrolling.
Software: Clasificación/Funciones.
Utilitarios o de Uso General:

Utilidades Complementarias al S.O.:



Gestión de Archivos. Sistemas Gestión Base de Datos.
Gestión general para Usuarios Estándar:

Calculadoras, Calendarios, Dibujo Básico, multimedia.

Editores/Procesadores de Textos y Planillas de Cálculo.

Navegadores Web. Comunicación básica.
Gestión para Usuarios Avanzados:

Entornos de Desarrollo. Compiladores.

Editores de Código de Programa. Depuradores.
Software: Clasificación/Funciones.
De Aplicación:
En esta categoría cae el resto del software que soluciona problemas
específicos que pueden resolverse con el uso de la computadora.
→ Gestión Comercial, Administrativa, Negocios, etc.
–
Gestión de: Contabilidad, Almacenes, Historias Clinicas,
Turnos (cualquier ámbito), Facturación, Recursos Humanos,
Liquidación de Sueldos, Seguimiento de Tareas, Vehículos...
→ Cálculo Científico y Estadístico de todos los Niveles.
–
Control de Clima, Astronomía, GPS, Control de
Etc., Etc.,
Laboratorios...
Etc, Etc,...
→ Entretenimiento y demás...
–
Juegos, Multimedia Avanzada, Educación...
Software: Características.
Versiones (nivel desarrollo y evolutivo):
→ El software tiene diferente niveles de desarrollo.
Cuando son prototipos (en desarrollo) se denominan α y β.
α (alfa): Prototipo sin garantías, con facilidades parciales.
β (beta): Prototipo con todos las facilidades, falta puesta a punto. Lo
que llevan a cabo generalmente los β testers
Γ (gamma) o producción: Listo para el uso en general.
→ Con el tiempo, salen nuevos “modelos” o evoluciones.
Estas se enumeran con enteros si el cambio es sustancial (1, 2, 3,...)
o incrementos decimales, si el cambio es parcial (1.01, 2.03,--.
Algunos proveedores dan nombres a sus nuevas versiones (NT, Vista)
Software: Características.
Plataformas:
Se denomina plataforma a la combinación de arquitectura de
computadora (procesador) y de S.O. (v.g. x86+Windows).
Monoplataforma: Es software que solo es ejecutable en una
única plataforma, algunos fabricantes sacan versiones específicas para
cada plataforma (Word p/Windows, Word p/Mac).
Multiplataforma: Es software que es ejecutable en cualquier
plataforma, solo necesitan el “runtime” o máquina virtual apropiado.
Propietarias: Es software exclusivo para ciertas equipos donde
tanto el S.O. como el hardware es provisto por un único fabricante.
IBM proveía 60% hardware comercial del mundo. Sus “mainframes”
tienen hardware y S.O. exclusivos. (v.g. AS/400 con OS/400).
Software: Incorporación.
COMPRA: Se compra a un 3°, la propiedad total o una licencia del
software, está puede ser para reventa o para su uso. No confundir
titularidad de software con derecho de autor (Demos y Completas)
DESARROLLO PROPIO: Cuando una empresa necesita
softwaree específico, puede optar por desarrollarlo por su cuenta, con
un conjunto de especialistas 'ad hoc', el software realizado queda de su
propiedad, circunstancialmente puede reconocer derechos de autor a
los integrantes del plantel de desarrollo (empleados o contratados)
COMPARTIDO o LIBRE: Corresponde a desarrollos
comunitarios, donde en general no se paga licencia, se contribuye.
RESTRICCIONES LEGALES: Para usar un software debe
ser propietario o tener una licencia del mismo, si no se es un usuario
“pirata”, en muchos países está penado por ley severamente.