005.16-A473d-Capitulo II

Anuncio
CAPITULO II
MARCO TEÓRICO CONCEPTUAL SOBRE INFORMÁTICA,
BIOMETRÍA, ANÁLISIS Y DISEÑO DE UN SISTEMA.
A. INFORMÁTICA.
El correr de los años y el constante desarrollo y progreso técnico ha llevado al ser
humano a desarrollar formas de producción más avanzadas, y diferentes formas de
consumo. A partir del siglo XVIII, los avances tecnológicos han comenzado a
plantear dificultades de control, debido a esto la cantidad de información respectiva a
personas,
datos
técnicos,
estadísticos,
documentación
han
aumentado
considerablemente haciendo más difícil calcular, almacenar o procesar todos estos
datos de manera que hace al hombre buscar nuevas y modernas alternativas que le
permitan, aumentar la capacidad de almacenaje, la rapidez en los cálculos y
minimizar el margen de error a través de la tecnología.
Esta demanda de eficiencia en los procesos ha llevado al hombre a inventar un
aparato que sea capaz, de asemejarse a algunos aspectos de la capacidad humana,
y que debido a esto sea capaz de servir al hombre como su mejor y mas confiable
asistente, este aparato o maquina es lo que el hombre desarrollo y al mismo tiempo
denominó “computadora”
1. Definición de informática.
Los términos computación e informática son equivalentes, solo que su uso depende
de la zona geográfica; el vocablo computación se deriva del idioma Inglés y estudia
el tratamiento automático de la información en computadoras, dispositivos
electrónicos y esta ligado a la actividad de realizar de cálculos. Por otra parte, el
vocablo informática se deriva del idioma Francés y es la ciencia que estudia el
tratamiento automático y racional de la información. Debido a que los vocablos se
relacionan entre si dando como resultado el concepto de computación e informática
25
que se maneja en estos días que es la realización de cálculos y el procesamiento de
datos por medio de una máquina conocida como computadora.
2.
Antecedentes.
A través de la historia el hombre se vio en la necesidad de realizar cálculos básicos
para diferentes tareas; la primera herramienta de cálculo conocida y la más antigua
es el ábaco, su nombre se deriva del griego que significa “superficie plana”. Se
conoce que los griegos utilizaban tablas para contar desde el siglo V antes de Cristo.
Tras el ábaco de los griegos en el siglo XVI, un matemático escocés llamado John
Napier (1550 – 1617)
inventó un dispositivo que consistía en unos palillos con
números impresos que por medio de un ingenioso y complicado mecanismo permitía
realizar operaciones de multiplicación y división.
El primer calculador mecánico apareció en el año de 1642, el creador de esta
máquina fue el filosofo francés Blaise Pascal (1623 – 1662). A los 18 años Pascal
deseaba dar con la forma de reducir el trabajo de cálculo de su padre que era un
funcionario de impuestos. La máquina de cálculo que inventó Pascal tenía el tamaño
de un cartón de tabaco y su principio de funcionamiento era el mismo que rige los
cuentakilómetros de los coches actuales; una serie de ruedas tales que cada una de
las cuales hacía avanzar un paso a la siguiente al completar una vuelta. Las ruedas
estaban marcadas con números del 0 al 9 y había dos para los decimales y 6 para
los enteros con lo que podía manejar números entre 000.000 01 y 999.999 99. A este
calculador mecánico se le conoce como “Pascalina”.
En el año 1672 aparece la máquina de calcular de Leibnitz (1646 – 1716), Leibnitz
fue uno de los genios de su época; a sus 26 años aprendió matemáticas de modo
autodidacta y procedió a inventar el cálculo, inventó su máquina de calcular por el
simple hecho de que nadie le enseñó las tablas de multiplicar. La máquina de Libnitz
26
se diferenciaba de la pascalina en varios aspectos fundamentales el más importante
era que podía multiplicar, dividir y obtener raíces cuadradas.
Entre los años de (1673 – 1801) se realizaron algunos avances significativos siendo
uno de los más fundamentales el invento de Joseph Jacquard (1752 – 1834) que
inventó una máquina que utilizaba un mecanismo de tarjetas perforadas para colocar
el dibujo formado por los hilos de las telas confeccionadas por una máquina de tejer.
Jacquard fue el primero en emplear tarjetas perforadas para almacenar la
información sobre el dibujo del tejido y además controlar la máquina.
Aunque en el correr de la historia hubo muchos precursores de los actuales sistemas
informáticos para muchos especialistas la historia empieza con el matemático e
inventor inglés Charles Babbage quien al principio del siglo XIX predijo muchas de
las teorías en que se basan los actuales ordenadores.
En 1822 diseñó su máquina diferencial para el cálculo de polinomios. Esta máquina
se utilizó con éxito para el cálculo de tablas de navegación y artillería lo que permitió
a Babbage conseguir una subvención del gobierno para el desarrollo de una segunda
y mejor inversión de la máquina. Durante 10 años Babbage trabajó en una segunda
máquina sin llegar a conseguir completarla y en 1833 tuvo una idea mejor. Mientras
que su primera máquina mejor conocida como la máquina diferencial era un aparato
de proceso único Babbage decidió construir una máquina de propósito general que
pudiese resolver casi cualquier problema matemático. Todas estas máquinas eran
por supuesto mecánicas movidas por vapor. De todas formas la velocidad de cálculo
de las máquinas no era tal como para cambiar la naturaleza del cálculo además la
ingeniería entonces no estaba lo suficientemente desarrollada como para permitir la
fabricación de los delicados y complejos mecanismos requeridos por el ingenio de
Babbage. La sofisticada organización de esta segunda máquina la máquina
diferencial según se la llamó es lo que hace que muchos consideren a Babbage
padre de la informática actual.
27
Como los modernos computadores la máquina de Babbage tenía un mecanismo de
entrada y salida por tarjetas perforadas una memoria una unidad de control y una
unidad aritmético-lógica. Preveía tarjetas separadas para programa y datos. Una de
sus características más importantes era que la máquina podía alterar su secuencia
de operaciones en base al resultado de cálculos anteriores algo fundamental en los
ordenadores modernos la máquina sin embargo nunca llegó a construirse. Babbage
no pudo conseguir un contrato de investigación y pasó el resto de su vida inventando
piezas y diseñando esquemas para conseguir los fondos para construir la máquina.
Murió sin conseguirlo.
Otro inventor digno de mención es Herman Hollerith. A los 19 años en 1879 fue
contratado como asistente en las oficinas del censo norteamericano que por aquel
entonces se disponía a realizar el recuento de la población para el censo de 1880.
Este tardó 7 años y medio en completarse manualmente. Hollerith fue animado por
sus superiores a desarrollar un sistema de cómputo automático para futuras tareas.
El sistema inventado por Hollerith utilizaba tarjetas perforadas en las que mediante
agujeros se representaba el sexo, la edad, raza, etc. En la máquina las tarjetas
pasaban por un juego de contactos que cerraban un circuito eléctrico activándose un
contador y un mecanismo de selección de tarjetas. Estas se leían a ritmo de 50 a 80
por minuto.
Ante las posibilidades comerciales de su máquina Hollerith dejó las oficinas del
censo en 1896 para fundar su propia Compañía la Tabulating Machine Company. En
1900 había desarrollado una máquina que podía clasificar 300 tarjetas por minuto
una perforadora de tarjetas y una máquina de cómputo semiautomática.
28
3. Evolución de las Computadoras.
3.1 Primera generación: Esta generación se desarrollo entre los años de (1940
– 1952) las computadoras que estaban constituidas por tubos de vacío, desprendían
bastante calor y tenían una vida relativamente corta. Máquinas grandes y pesadas. A
esta generación pertenece el ENIAC, el EDSAC y UNIVAC
entre otros. El
almacenamiento de la información era en un tambor magnético interior. El tambor
magnético estaba ubicado en el interior del ordenador, recogía y memorizaba los
datos y los programas que se le suministraban. La programación era en lenguaje
máquina, consistía en largas cadenas de bits, de ceros y unos, por lo que la
programación resultaba larga y compleja. Se usaban tarjetas perforadas para
suministrar los datos y los programas. Estos ordenadores carecían de sistema
operativo. En general, tenían un alto costo.
3.2
Segunda generación: Esta generación se desarrolló entre los años de
(1952-1964). Los tubos de vacío fueron sustituidos por los transistores; ya que los
transistores eran más económicos y mas pequeños que las válvulas que en ese
entonces ya habían sido miniaturizadas, que consumían menos electricidad y
producían menos calor. Por estos motivos, la densidad del circuito podía ser
aumentada sensiblemente, lo que quería decir que los componentes podían
colocarse mucho más cerca unos a otros y ahorrar mucho más espacio. Evolucionan
los modos de direccionamiento y surgen los lenguajes de programación de más alto
nivel. Algunos ordenadores de esta época son el UNIVAC 1004, el CDC 6600 y el
PDP-1.
3.3 Tercera generación: Esta generación se
desarrolló entre los años de
(1964 – 1971). En esta generación aparece el circuito integrado (chip). Aumenta la
capacidad de almacenamiento y se reduce el tiempo de respuesta. Se generalizan
los lenguajes de programación de alto nivel. Se consigue compatibilidad para
compartir software entre diversos equipos. Aparece la posibilidad de trabajar en
29
tiempo compartido. Pertenecen a
estos años las máquinas UNIVAC 1100 y
PDP-8.
3.4 Cuarta generación: Esta generación se desarrolló entre los años de (1971
– 1981). En esta generación surge el microcircuito integrado. Se construye el
microprocesador: El proceso de reducción del tamaño de los componentes llega a
operar a escalas microscópicas. La micro miniaturización permite construir dicho
microprocesador, circuito integrado que rige las funciones fundamentales del
ordenador. Comienzan a proliferar las redes de computadores. Aparecen los
sistemas operativos en red y distribuidos. Ordenadores de esta generación son el
Cray-1, IBM PC, SPARC, etc.
3.5 Quinta generación: Esta generación data desde el año de 1981 hasta
nuestros días en esta generación se ha desarrollado la Inteligencia Artificial. El
propósito de la Inteligencia Artificial es equipar a las Computadoras con "Inteligencia
Humana" y con la capacidad de razonar para encontrar soluciones. Otro factor
fundamental del diseño, la capacidad de la computadora para reconocer patrones y
secuencias de procesamiento que haya encontrado previamente (programación
heurística) que permita a la computadora recordar resultados previos e incluirlos en
el procesamiento. En esencia, la computadora aprenderá a partir de sus propias
experiencias usará sus datos originales para obtener la respuesta por medio del
razonamiento
y
conservará
esos
resultados
para
posteriores
tareas
de
procesamiento y toma de decisiones.
4. Clasificación de Informática.
En la actualidad cuando la informática se refiere se puede hablar de dos grandes
grupos que son:
¾ Hardware.
30
¾ Software.
4.1 Hardware: Componentes electrónicos, tarjetas, periféricos y equipo que
conforman un sistema de computación, que proporcionan capacidad de cálculos y
funciones rápidas, exactas y efectivas (Computadoras, censores, maquinarias,
lectores y circuitos), que proporcionan una función externa dentro de los sistemas.
8
Cuando un usuario interactúa con una computadora, proporciona una entrada
basada en esta la computadora procesa esta los datos devolviendo una respuesta
llamada salida. La entrada se puede realizar en formato de órdenes o instrucciones
dadas, texto, números o imágenes (escaneadas). La salida no es más que el
resultado ya sea en forma de cálculos en una hoja de cálculo, una carta impresa o un
auto moviéndose por la pantalla en un juego de carreras de autos.
Una computadora necesita disponer de un conjunto de funcionalidad y proporcional a
la capacidad de:
¾ Aceptar la entrada.
¾ Visualizar o presentar la salida.
¾ Almacenar la información en un formato consistente lógicamente.
¾ Ejecutar operaciones aritméticas o lógicas bien sobre datos de entrada o bien
sobre datos de salida.
¾ Monitorizar, controlar y dirigir las operaciones globales y de secuencia del
sistema.9
8
BRYAN PFAFFENBERGER, Diccionario de Términos de Computación. Prentice Hall, Mexico 1999,
p. 25
9
LUIS JOYANES AGUILAR. Fundamentos de Programación. McGraw-Hill Mexico 2003, p 5
31
La figura 5 representa los componentes más importantes que soportan las
propiedades o capacidades mencionadas.
Fig. 5 Esquema del funcionamiento de las PCs
4.1.1
Micro-procesador: Es el dispositivo ubicado en el interior de la
computadora que ejecuta las instrucciones del programa, mejor conocido como CPU
por sus siglas en ingles Central Processing Unit (Unidad Central de Procesamiento) o
también es conocido como chip. El procesador sólo puede ejecutar instrucciones
simples, tales como cálculos aritméticos sencillos o desplazamientos de números por
diferentes posiciones. Sin embargo la velocidad a la cual se realizan estos cálculos
debe ser muy veloz y esta característica le permite ejecutar instrucciones que
realizan cálculos complejos.
El CPU dirige y controla el proceso de información realizado por la computadora. El
CPU procesa o manipula la información almacenada en memoria, puede recuperar
información desde memoria, también almacena resultados de procesos en memoria
para ser utilizados posteriormente.
32
Cuando hablamos de CPU podemos citar la palabra microprocesador que es un
chip que controla y realiza las funciones y operaciones con los datos. En resumen el
microprocesador es la representación de la Unidad Central de Procesamiento o
mejor conocida como CPU. La velocidad del procesador o microprocesador se mide
en
Megahertz
(MHZ)
y
en
la
actualidad
se
fabrican
procesadores
o
microprocesadores medidos en Gigahertz (GHZ).
4.1.2 Dispositivos de entrada / salida: Para que el usuario pueda introducir
la entrada de datos o información, la computadora tiene varios dispositivos de
entrada como parte de su hardware tales como: teclado, ratón, son los dispositivos
mas populares. La salida al usuario le proporciona mediante dispositivos de salida,
tales como impresora o pantalla.
Los dispositivos de Entrada/Salida (E/S) permiten la comunicación entre la
computadora y el usuario. Los dispositivos de entrada, como su nombre indica,
sirven para introducir datos en la computadora para su proceso. Los datos se leen de
los dispositivos de entrada y se almacenan en la memoria central o interna. Los
dispositivos de entrada convierten la información de entrada en señales eléctricas
que se almacenan en la memoria central.
Algunos de los dispositivos de Entrada más populares son: El ratón, teclado, lectores
de tarjetas, lectores de código de barras, scanner, micrófonos, etc. Algunos de los
dispositivos de Salida más populares son: Monitor, impresoras, trazadores gráficos,
altavoces, etc.
4.1.3 Memoria Central: Con el fin de almacenar información y operaciones
realizadas, la computadora cuenta con una gran colección de pequeños circuitos
electrónicos capaces de almacenar un bit.
La memoria Central o memoria Interna se divide de la siguiente manera
33
¾ Memoria RAM (Random, Access Memory) es normalmente volátil, lo que
significa que todo cuanto se almacena o guarda en ella se pierde cuando se
apaga la computadora.
¾ Memoria ROM (Read Only Memory) memoria de solo lectura contiene
instrucciones fundamentales que no se pueden modificar o perder de modo
accidental por el usuario.
4.2 Software: El software es el conjunto de instrucciones que las computadoras
emplean para manipular datos. Sin el software, la computadora sería un conjunto de
medios electrónicos que no se podrían utilizar. Al cargar los programas en una
computadora, la maquina actuará como si recibiera un adiestramiento instantáneo;
de pronto "sabe" cómo pensar y cómo operar.
El Software es un conjunto de programas, documentos, procedimientos, y rutinas
asociados con la operación de un sistema de cómputo. Distinguiéndose de los
componentes físicos llamados hardware. Comúnmente a los programas de
computación se les llama software; el software asegura que el programa o sistema
cumpla por completo con sus objetivos, opera con eficiencia, esta convenientemente
documentado, y suficientemente sencillo de operar.
Es simplemente el conjunto de instrucciones individuales que se le proporciona al
microprocesador para que pueda procesar los datos y generar los resultados
esperados.
El hardware por si solo no puede hacer nada, pues es necesario que exista el
software, que es el conjunto de instrucciones que hacen funcionar al hardware.
34
4.2.1 Clasificaciones del software: Los software se puede clasificar en 4
diferentes Categorías:
¾ Sistemas Operativos.
¾ Lenguajes de Programación.
¾ Software de uso general.
¾ Software de Aplicación. (Algunos autores consideran al software de uso
general y el software de aplicación como una sola clasificación).
4.2.1.1 Sistemas Operativos: Un Sistema Operativo es un programa que actúa
como intermediario entre el usuario y el hardware de un computador y su propósito
es proporcionar un entorno en el cual el usuario pueda ejecutar programas. El
objetivo principal de los Sistemas Operativos es lograr que el software de
computación se use de manera cómoda, el objetivo secundario es que el hardware
del computador se emplee de una manera eficiente.
Se puede decir que un Sistema Operativo posee las siguientes características:
¾ Conveniencia: Un Sistema Operativo hace más conveniente el uso de una
computadora.
¾ Eficiencia: Un Sistema Operativo permite que los recursos de la computadora
se usen de la manera más eficiente posible.
¾ Habilidad para evolucionar: Un Sistema Operativo deberá construirse de
manera que permita el desarrollo, prueba o introducción efectiva de nuevas
funciones del sistema sin interferir con el servicio.
35
¾ Encargado de administrar el hardware: El Sistema Operativo se encarga de
manejar de manera correcta los recursos de la computadora en cuanto a
hardware se refiere, asigna a cada proceso una parte del procesador para
poder compartir los recursos.
¾ Relacionar dispositivos: El Sistema Operativo se debe encargar de
comunicar a los dispositivos periféricos, cuando el usuario así lo requiera.
4.2.1.2
Lenguajes de programación: Un lenguaje de programación es un
lenguaje que puede ser utilizado para controlar el comportamiento de una máquina,
particularmente una computadora. Consiste en un conjunto de símbolos y reglas
sintácticas y semánticas que definen su estructura y el significado de sus elementos
y expresiones.
4.2.1.2.1 Clasificación de lenguajes de programación: Los lenguajes de
programación se clasifican dependiendo de:
¾ El nivel de abstracción.
¾ La forma de ejecución.
¾ El paradigma de programación que poseen.
4.2.1.2.1.1 Lenguajes de programación por su nivel de abstracción:
¾ Lenguajes de bajo nivel: Los lenguajes de bajo nivel son lenguajes de
programación que se acercan al funcionamiento de una computadora. El
lenguaje de más bajo nivel es, por excelencia, el código de máquina. A éste le
sigue el lenguaje ensamblador, ya que al programar en ensamblador se
trabajan con los registros de memoria de la computadora de forma directa.
¾ Lenguajes de medio nivel: Hay lenguajes de programación que son
considerados por algunos expertos como lenguajes de medio nivel (como es el
caso del lenguaje C) al tener ciertas características que los acercan a los
36
lenguajes de bajo nivel pero teniendo, al mismo tiempo, ciertas cualidades que
lo hacen un lenguaje más cercano al humano y, por tanto, de alto nivel.
¾ Lenguajes de alto nivel: Los lenguajes de alto nivel son normalmente fáciles
de aprender porque están formados por elementos de lenguajes naturales,
como el inglés. Por desgracia para muchas personas esta forma de trabajar es
un poco frustrante, dado que a pesar de que las computadoras parecen
comprender un lenguaje natural, lo hacen en realidad de una forma rígida y
sistemática.
4.2.1.2.1.2 Lenguajes de programación según la forma de ejecución:
¾ Lenguajes compilados: Los programas que son escritos en un lenguaje
de alto nivel también tienen que ser traducidos a un lenguaje que la
computadora pueda entender es decir a un lenguaje de maquina. Los
programas traductores que pueden realizar esta operación se llaman
compiladores. Éstos, como los programas ensambladores avanzados,
pueden generar muchas líneas de código de máquina por cada proposición
del programa fuente. Se requiere una corrida de compilación antes de
procesar los datos de un problema.
Los compiladores son aquellos cuya función es traducir un programa
escrito en un determinado lenguaje a un idioma que la computadora
entienda (lenguaje máquina con código binario). Al usar un lenguaje
compilado, el programa desarrollado nunca se ejecuta mientras existan
errores, sino hasta que luego de haber compilado el programa, ya no
aparecen errores en el código.
¾ Lenguajes interpretados: Se puede también utilizar una alternativa
diferente de los compiladores para traducir lenguajes de alto nivel. En vez
de traducir el programa fuente y grabar en forma permanente el código
37
objeto que se produce durante la corrida de compilación para utilizarlo en
una corrida de producción futura, el programador sólo carga el programa
fuente en la computadora junto con los datos que se van a procesar. A
continuación, un programa intérprete, almacenado en el Sistema Operativo
del disco, o incluido de manera permanente dentro de la máquina,
convierte cada proposición del programa fuente en lenguaje de máquina
conforme vaya siendo necesario durante el proceso de los datos. No se
graba el código objeto para utilizarlo posteriormente.
La siguiente vez que se utilice una instrucción, se le debe interpretar otra
vez y traducir a lenguaje máquina. Por ejemplo, durante el procesamiento
repetitivo de los pasos de un ciclo, cada instrucción del ciclo tendrá que
volver a ser interpretado cada vez que se ejecute el ciclo, lo cual hace que
el programa sea más lento en tiempo de ejecución (porque se va revisando
el código en tiempo de ejecución) pero más rápido en tiempo de diseño
(porque no se tiene que estar compilando a cada momento el código
completo). El intérprete elimina la necesidad de realizar una corrida de
compilación después de cada modificación del programa cuando se quiere
agregar funciones o corregir errores; pero es obvio que un programa objeto
compilado con antelación deberá ejecutarse con mucha mayor rapidez que
uno que se debe interpretar a cada paso durante una corrida de
producción.
4.2.1.2.1.3 Lenguajes de programación de acuerdo al paradigma de
programación que poseen:
¾ Lenguajes orientados a objetos: En la Programación Orientada a Objetos
(POO u OOP según siglas en inglés) se definen los programas en términos de
"clases de objetos", objetos que son entidades que combinan estado (es decir,
datos) comportamiento (esto es, procedimientos o métodos) e identidad
38
(propiedad del objeto que lo diferencia del resto). La programación orientada a
objetos expresa un programa como un conjunto de estos objetos, que
colaboran entre ellos para realizar tareas. Esto permite hacer los programas
módulos más fáciles de escribir, mantener y reutilizar.
¾ Lenguajes de programación estructurada:
Mediante la programación
Estructurada todas las bifurcaciones de control de un programa se encuentran
estandarizadas, de forma tal que es posible leer la codificación del mismo
desde su inicio hasta su terminación en forma continua, sin tener que saltar de
un lugar a otro del programa siguiendo el rastro de la lógica establecida por el
programador, como es la situación habitual con codificaciones desarrolladas
bajo otras técnicas.
Programación Estructurada es una técnica en la cual la estructura de un
programa, esto es, la interpelación de sus partes realiza tan claramente como
es posible mediante el uso de tres estructuras lógicas de control:
a. Secuencia: Sucesión simple de dos o mas operaciones.
b. Selección: bifurcación condicional de una o mas operaciones.
c. Interacción: Repetición de una operación mientras se cumple
una condición.
Estos tres tipos de estructuras lógicas de control pueden ser combinados para
producir programas que manejen cualquier tarea de procesamiento de
información. Un programa estructurado esta compuesto de segmentos, los
cuales puedan estar constituidos por unas pocas instrucciones o por una
página o más de codificación. Cada segmento tiene solamente una entrada y
una salida, estos segmentos, asumiendo que no poseen lazos infinitos y no
tienen instrucciones que jamás se ejecuten, se denominan programas propios.
Cuando varios programas propios se combinan utilizando las tres estructuras
básicas de control mencionadas anteriormente, el resultado es también un
programa propio.
39
La programación Estructurada esta basada en el Teorema de la Estructura, el
cual establece que cualquier programa propio (un programa con una entrada y
una salida exclusivamente) es equivalente a un programa que contiene
solamente las estructuras lógicas mencionadas anteriormente.
Una característica importante en un programa estructurado es que puede ser
leído en secuencia, desde el comienzo hasta el final sin perder la continuidad
de la tarea que cumple el programa, lo contrario de lo que ocurre con otros
estilos de programación. Esto es importante debido a que, es mucho más fácil
comprender completamente el trabajo que realiza una función determinada, si
todas las instrucciones que influyen en su acción están físicamente contiguas
y encerradas por un bloque. La facilidad de lectura, de comienzo a fin, es una
consecuencia de utilizar solamente tres estructuras de control y de eliminar la
instrucción de desvío de flujo de control, excepto en circunstancias muy
especiales tales como la simulación de una estructura lógica de control en un
lenguaje de programación que no la posea.
40
4.2.1.2.2 Evolución de los lenguajes de programación
Lenguajes de Programación de los años 40
Lenguaje
Año
Creador
Descripción
Plankakül
1943
Honrad Zuse
ENAC
1943
Kay Antonelli, Jean Bartik, Betty Holberton,
Marilyn Meltzer, Frances Spence y Ruth
Teitelbawn
Lenguaje creado para la organización de datos. Sus
únicos valores atómicos eran los bits
Lenguaje Maquina de propósito general, capaz de
resolver 5,000 sumas y 360 multiplicaciones en 1
segundo
Tabla 5
41
Lenguajes de Programación de los años 50
Lenguaje
Año
Creador
Descripción
Fortran
1954
Grupo de cientificos de la
empresa IBM liderados
por John W. Backus
Utilizado especialmente para aplicaciones científicas y análisis
numéricos, en sus inicios fue diseñado para ser escritos en tarjetas
perforadas de 80 columnas
Lisp
1958
John McCarthy
Lenguaje de programación orientado a objetos, es del tipo aplicativo
y funcional porqué se basa en la aplicación de funciones, los
elementos fundamentales son listas tanto los datos como los
programas están presentados en listas.
Cobol
1959
CODASYL
Fue diseñado con excelentes capacidades de auto documentación,
una buena gestión de archivos y una excelente gestión de los tipos
de datos. Emplea números en base a diez
Tabla 6
42
Tabla 7
Lenguajes de Programación de los años 60
Lenguaje
Año
Creador
APL
1962
Kenneth Iverson
Descripción
Lenguaje conciso con sintaxis sencilla, orientado a trabajos con matrices con la
que se puede realizar todo tipo de operaciones lógicas y matemáticas. Puede
crear, ejecutar y compilar en tiempo de ejecución desde una sola rutina.
SIMULA
1962
BASIC
1964
Ole Johan Dahl
y Kristen
Mygaard
John George
Kemeny y
Thomas Kurtz
Lenguaje de programación Orientado a Objetos fue el primer lenguaje de
programación que utilizo términos como clase, objetos, instancia, herencia,
polimorfismo, etc.
Programa diseñado para poder ser utilizado por principiantes, permitía que
estudiantes escribieran programas usando terminales de computador de
tiempo compartido. Sintaxis sencilla; algunos comando que se utilizan son Left,
Print, If, Goto.
43
Lenguajes de Programación de los años 70
Lenguaje
Año
Creador
Descripción
Lenguaje de programación estructurado. El código está dividido
PASCAL
1970
Niklaus Wirth
por funciones o procedimientos. El tipo de dato de todas las
variables debe ser declarado previamente.
C
1972
Dennis Ritchie y
Ken Thompson
Lenguaje orientado a la implementación de Sistemas Operativos
en concreto UNIX, es el lenguaje más popular para la creación
de software de sistemas.
Lenguaje declarativo de acceso a base de datos relacionales
que permite el manejo de algebras y cálculos relacionales
SQL
1978
E. F. Codd
permitiendo alcanzar consultas con el fin de recuperar
información de interés de una base de datos de una forma
sencilla
Tabla 8
44
Lenguajes de Programación de los años 80
Lenguaje
ADA
C++
Año
1983
1983
Creador
Descripción
Jean Ichbiah
Fue diseñado con la seguridad en mente y con una filosofía orientada a
la reducción de errores comunes y difíciles de descubrir. Para ello se
basa en un tipado muy fuerte y en chequeos en tiempo de ejecución
(desactivables en beneficio del rendimiento).
Bjarne Stroustrup
Es el soporte para programación orientada a objetos y el soporte de
plantillas o programación genérica. Abarca tres paradigmas de la
programación: la programación estructurada, la programación genérica
y la programación orientada a objetos.
Perl es un lenguaje de propósito general originalmente desarrollado
Larry Wall,
Perl
1987
Nicholas Clark y la
comunidad Perl
para la manipulación de texto y que ahora es utilizado para un amplio
rango de tareas incluyendo administración de sistemas, desarrollo web,
programación en red, desarrollo de GUI y más.
Tabla 9
45
Lenguajes de Programación de los años 90
Lenguaje
Año
Creador
Descripción
Python permite dividir el programa en módulos reutilizables desde
otros programas Python. Viene con una gran colección de módulos
estándar que se pueden utilizar como base de los programas (o como
ejemplos para empezar a aprender Python). También hay módulos
PYTHON
1990
Guido van
Rossum
incluidos que proporcionan E/S de ficheros, llamadas al sistema,
sockets y hasta interfaces a GUI (interfaz gráfica con el usuario) como
Tk, GTK, Qt entre otros
Está compilado en un bytecode, aunque la compilación en código
máquina nativo también es posible. No implementa Bases de Datos,
JAVA
1991
Sun Microsystems
ya que solo es un lenguaje de programación, pero implementa
funciones que permiten al programador realizar conexiones entre la
interfaz de usuario y el Gestor de Base de Datos.
Lenguaje de programación reflexivo y orientado a objetos es un
RUBY
1993
Yukihiro
lenguaje de programación interpretado en una sola pasada y su
Matsumoto
implementación oficial es distribuida bajo una licencia de software
libre.
Tabla 10
46
Lenguajes de Programación del siglo XXI
Lenguaje
Año
Creador
Descripción
C# (pronunciado "si sharp", C sostenido o C almohadilla) es un
C#
2001
Microsoft
lenguaje de programación orientado a objetos desarrollado y
Corporation.
estandarizado por Microsoft como parte de su plataforma .NET, que
después fue aprobado como un estándar por la ECMA e ISO
Tabla 11
47
4.2.1.3 Software de uso general.
El software para uso general ofrece la estructura para un gran número de
aplicaciones empresariales, científicas y personales. El software de hoja de cálculo,
de diseño asistido por computadoras (CAD), de procesamiento de texto, de manejo
de Bases de Datos, pertenece a esta categoría. La mayoría de software para uso
general se vende como paquete; es decir, con software y documentación orientada a
los usuarios (manuales de referencia, plantillas, manuales de usuario).
El software de uso general más común es:
4.2.1.3.1 Bases de Datos.
Los DBMS (Data Base Management System) es la herramienta que las
computadoras utilizan para realizar el procesamiento y almacenamiento ordenado de
los datos. Una base de datos es un recipiente para colecciones relacionadas de
datos. Cualquier conjunto de datos organizados para su almacenamiento en la
memoria de un ordenador o computadora, diseñado para facilitar su mantenimiento y
acceso de una forma estándar. Los datos suelen aparecer en forma de texto,
números o gráficos.
4.2.1.3.2 Tipos de bases de datos.
4.2.1.3.2.1 Bases de datos estáticas: Éstas son bases de datos de sólo
lectura,
utilizadas
primordialmente
para
almacenar
datos
históricos
que
posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de
datos a través del tiempo, realizar proyecciones y tomar decisiones.
4.2.1.3.2.2 Bases de datos dinámicas: Éstas son bases de datos donde la
información almacenada se modifica con el tiempo, permitiendo operaciones como
actualización y adición de datos, además de las operaciones fundamentales de
consulta.
48
4.2.1.3.3 Modelos de bases de datos.
Algunos modelos que con frecuencia son utilizados en las bases de datos son:
4.2.1.3.3.1 Bases de datos jerárquicas: Éstas son bases de datos que,
como su nombre indica, almacenan su información en una estructura jerárquica. En
este modelo los datos se organizan en una forma similar a un árbol, en donde un
nodo padre de información puede tener varios hijos. El nodo que no tiene padres es
llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas. (Figura
6).10
Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones
que manejan un gran volumen de información y datos muy compartidos permitiendo
crear estructuras estables y de gran rendimiento.
Una de las principales limitaciones de este modelo es su incapacidad de representar
eficientemente la redundancia de datos.
Fig. 6 Bases Jerárquicas
4.2.1.3.3.2 Base de datos de red: Éste es un modelo ligeramente distinto del
jerárquico; su diferencia fundamental es la modificación del concepto de nodo: se
10
http://es.wikipedia.org/wiki/Base_de_datos
49
permite que un mismo nodo tenga varios padres; posibilidad no permitida en el
modelo jerárquico. (Figura 7)
Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución
eficiente al problema de redundancia de datos; pero, aun así, la dificultad que
significa administrar la información en una base de datos de red ha significado que
sea un modelo utilizado en su mayoría por programadores más que por usuarios
finales.
Fig. 7 Modelo Bases de Datos de Red
4.2.1.3.3.3 Base de datos relacional: Éste es el modelo más utilizado en la
actualidad para modelar problemas reales y administrar datos dinámicamente. Tras
ser postulados sus fundamentos en 1970 por Edgar Frank Codd, de los laboratorios
IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en
los modelos de base de datos. Su idea fundamental es el uso de "relaciones". Estas
relaciones podrían considerarse en forma lógica como conjuntos de datos llamados
"tuplas". Pese a que ésta es la teoría de las bases de datos relacionales creadas por
Edgar Frank Codd, la mayoría de las veces se conceptualiza de una manera más
fácil de imaginar. Esto es pensando en cada relación como si fuese una tabla que
está compuesta por registros, que representarían las tuplas, y campos. (Figura 8).
En este modelo, el lugar y la forma en que se almacenen los datos no tienen
relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene
la considerable ventaja de que es más fácil de entender y de utilizar para un usuario
50
esporádico de la base de datos. La información puede ser recuperada o almacenada
mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la
información.
El lenguaje más habitual para construir las consultas a bases de datos relacionales
es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un
estándar implementado por los principales motores o sistemas de gestión de bases
de datos relacionales.
Durante su diseño, una base de datos relacional pasa por un proceso al que se le
conoce como normalización de una base de datos.
Fig. 8 Modelo Base de Datos Relacional
4.2.1.3.3.4 Bases de datos orientadas a objetos: Este modelo, bastante
reciente, y propio de los modelos informáticos orientados a objetos, trata de
almacenar en la base de datos los objetos completos.
Una base de datos orientada a objetos es una base de datos que incorpora todos los
conceptos importantes del paradigma de objetos:
¾
Encapsulación: Propiedad que permite ocultar la información al resto de los
objetos, impidiendo así accesos incorrectos o conflictos.
¾
Herencia: Propiedad a través de la cual los objetos heredan comportamiento
dentro de una jerarquía de clases.
51
¾
Polimorfismo: Propiedad de una operación mediante la cual puede ser
aplicada a distintos tipos de objetos.
En bases de datos orientadas a objetos, los usuarios pueden definir operaciones
sobre los datos como parte de la definición de la base de datos. Una operación
(llamada función) se especifica en dos partes. La interfaz (o signatura) de una
operación incluye el nombre de la operación y los tipos de datos de sus argumentos
(o parámetros). La implementación (o método) de la operación se especifica
separadamente y puede modificarse sin afectar la interfaz. Los programas de
aplicación de los usuarios pueden operar sobre los datos invocando a dichas
operaciones a través de sus nombres y argumentos, sea cual sea la forma en la que
se han implementado. Esto podría denominarse independencia entre programas y
operaciones.
4.2.1.3.3.5 Bases de datos documentales: Permiten la indexación a texto
completo, y en líneas generales realizar búsquedas más potentes. Tesaurus es un
sistema de índices optimizado para este tipo de bases de datos.
4.2.1.3.3.6 Base de datos deductivas: Un sistema de base de datos
deductivas, es un sistema de base de datos pero con la diferencia de que permite
hacer deducciones a través de inferencias. Se basa principalmente en reglas y
hechos que son almacenados en la base de datos. También las bases de datos
deductivas son llamadas base de datos lógica, a raíz de que se basan en lógica
matemática.
4.2.1.3.3.7 Gestión de bases de datos distribuida: La base de datos está
almacenada en varias computadoras conectadas en red. Surgen debido a la
existencia física de organismos descentralizados. Esto les da la capacidad de unir las
bases de datos de cada localidad y acceder así a distintas universidades, sucursales
de tiendas, etc.
52
4.2.1.4 Software de aplicaciones.
El software de aplicación esta diseñado y escrito para realizar tareas específicas
personales, empresariales como el procesamiento de nóminas, la administración de
los recursos humanos o el control de inventarios. Todas estas aplicaciones procesan
datos y generan información para el usuario.
Algún software de aplicaciones más comunes son:
4.2.1.4.1 Procesadores de Palabras: Son utilizados para escribir cartas,
memorándums y otros documentos, El usuario teclea una serie de letras o párrafos, y
son mostradas en la pantalla. El usuario puede fácilmente adherir, borrar y cambiar el
texto hasta que el documento quede exactamente como se desea. Algunas
características avanzadas que encontramos en la actualidad en los procesadores de
texto son: corrector de ortografía, diccionario de sinónimos, presentación preliminar
del texto antes de imprimir.
4.2.1.4.2 Hojas de Cálculo: Una Hoja de Cálculo es una herramienta para
calcular y evaluar números. También ofrece capacidades para crear informes y
presentaciones para comunicar lo que revelan los análisis; el usuario teclea los datos
y las fórmulas que serán usadas para obtener los resultados; después el programa
aplica las fórmulas a los datos y así obtiene los resultados; una de sus características
mas importantes es la habilidad de preguntar (Sentencias condicionales), cambiando
los datos y rápidamente re- calculando los nuevos resultados. La mayoría de las
Hojas de Cálculo cuentan también con la posibilidad de graficar estos resultados en
diferentes estilos de gráficas.
4.2.1.4.3 Paquetes de Presentación: Software que permite al usuario diseñar
presentaciones para desplegarlas a través de la misma computadora o imprimir
diapositivas y acetatos. Contienen opciones avanzadas para integrar efectos en cada
cambio de diapositiva.
53
4.2.1.4.3.1 Shareware: Software distribuido de forma gratuita para ser probado.
Si el usuario decide quedarse con el programa y seguir usándolo, debe pagar al
desarrollador.
Normalmente,
el
shareware
es
desarrollado
por
compañías
relativamente pequeñas o inclusive por programadores individuales, y generalmente
es barato.
4.2.1.4.3.2 Freeware: Programas gratuitos que los desarrolladores ponen a
disposición de otros usuarios sin ningún costo. En algunos casos el desarrollador no
reclama derechos de autor y el programa se convierte en software del dominio
público. En otros casos, el software tiene derechos de autor pero el desarrollador ha
permitido a otra gente usarlos y copiarlo gratuitamente.
B.
SISTEMAS.
1 Definición de Sistemas.
“Es una colección organizada de componentes que se optimizan para que funcionen
como un todo”.11
2 Clasificación de sistemas.
Los sistemas de información son desarrollados con propósitos diferentes
dependiendo de las necesidades del negocio. Los sistemas de procesamiento de
transacciones (TPS por sus siglas en inglés) funcionan al nivel operacional de la
organización, los sistemas de automatización de oficina (OAS por sus siglas en
ingles) y los sistemas de trabajo de conocimiento (KWS) que dan lugar al trabajo a
nivel de conocimiento. Los sistemas de más alto nivel incluyen a los sistemas de
apoyo a decisiones (DSS) así como a los sistemas de información gerencial (MIS).
Los sistemas expertos aplican la experiencia de los tomadores de decisiones para
11
BRYAN PFAFFENBERGER. ob. Cit. , p. 45.
54
resolver
problemas
específicos
estructurados.
Al
nivel
estratégico
de
la
administración encontramos sistemas de apoyo a ejecutivos (ESS) y los sistemas de
apoyo a decisiones de grupo (GDSS) ayudan a la toma de decisiones al mismo nivel,
en una forma sin estructura o semiestructurada.12 (Figura 9)
Fig. 9 Clasificación de los Sistemas de Información.
2.1 Sistemas de procesamiento de transacciones: Los sistemas de
procesamiento de transacciones (TPS) son sistemas de información computarizados
desarrollados para procesar gran cantidad de datos para transacciones rutinarias de
los negocios, tales como nómina e inventario. Los TPS eliminan lo aburrido y
cansado de las transacciones operacionales necesarias y reducen el tiempo que
alguna vez se requirió para ejecutarlas manualmente, aunque la gente todavía debe
alimentar datos a los sistemas computarizados.
Los sistemas de procesamiento de transacciones son sistemas que traspasan
fronteras y que permiten que la organización interactúe con ambientes externos. Los
administradores consultan constantemente los datos generados por el TPS para
saber que esta pasando en sus compañías, es esencial para las operaciones diarias
que estos sistemas funcionen lentamente y sin interrupción.
12
JAMES A OBRIEN, GEORGE M. MARAKAS. Sistemas de información gerencial: McGran-Hill,
Mexico 2006, p. 2
55
2.2 Sistemas de automatización de oficina y sistemas de manejo de
conocimiento: A nivel de conocimiento de la organización hay dos clases de
sistemas. Los sistemas de automatización de oficina (OAS) que dan soporte a los
trabajadores de datos, quienes, por lo general, no crean un nuevo conocimiento sino
que usan los datos para analizarlos y transformarlos en información, o para
manejarla en alguna forma y luego compartirla o diseminarla formalmente por toda la
organización y algunas veces más allá de ella. Los aspectos familiares de los OAS
incluyen procesamiento de palabras, hojas de cálculo, editor de publicaciones,
agenda electrónica y comunicación mediante correo de voz, correo electrónico y
video conferencias.
Los sistemas de manejo de conocimiento (KWS) dan soporte a los trabajadores
profesionales, tales como científicos, ingenieros y doctores, les ayudan a crear un
nuevo conocimiento que contribuya a la organización o a toda la sociedad.
2.3 Sistemas de información gerencial: Los sistemas de información
gerencia (MIS) no reemplazan a los sistemas de procesamiento de transacciones,
sino que todos los MIS incluyen procesamiento de transacciones. Los MIS son
sistemas de información computarizada que trabajan debido a la interacción resuelta
entre personas y computadoras. Requieren que las personas, el software y el
hardware trabajen al unísono. Los sistemas de información dan soporte a un
espectro más amplio de tareas organizacionales que los sistemas de procesamiento
de transacciones, incluyendo el análisis de decisiones y la toma de decisiones.
Para poder integrar la información, los usuarios de un sistema de información
gerencial comparten una base de datos común. La base de datos guarda modelos
que ayudan a los usuarios a interpretar y aplicar esos mismos datos. Los sistemas de
información gerencial producen información que es usada en la toma de decisiones.
Un sistema de información gerencial también puede llegar a unificar algunas de las
funciones de información computarizada, aunque no exista como una estructura
singular en ningún lugar de negocio.
56
2.4 Sistemas de apoyo a decisiones: Una clase de más alto nivel en los
sistemas de información computarizada son los sistemas de apoyo a decisiones
(DSS). El DSS es similar al Sistema de Información Gerencial tradicional en que
ambos dependen de una base de datos como fuente. Un sistema de apoyo a
decisiones se aparta del sistema de información gerencial tradicional en que enfatiza
el apoyo a la toma de decisiones en todas sus fases, aunque la decisión actual
todavía es del dominio del tomador de decisiones. Los sistemas de apoyo a
decisiones están más hechos a la medida de la persona o grupo que los usa que los
sistemas de información gerencial tradicionales.
2.5 sistemas expertos e inteligencia artificial: La inteligencia artificial (AI)
puede ser considerada la meta de los sistemas expertos. El empuje general de la AI
ha sido desarrollar máquinas que se comporten de forma inteligente. Dos caminos de
la investigación de la AI son la comprensión del lenguaje natural y el análisis de la
habilidad para razonar un problema y llegar a conclusiones lógicas. Los sistemas
expertos usan los enfoques del razonamiento de la AI para resolver los problemas
que les plantean los usuarios de negocios.
Los sistemas expertos son un caso muy especial de un sistema de información, cuyo
uso ha sido factible para los negocios a partir de la reciente y amplia disponibilidad
de hardware y software tal como las microcomputadoras y sistemas expertos. Un
sistema experto (también llamado un sistema basado en conocimiento) captura en
forma efectiva y usa el conocimiento de un experto para resolver un problema
particular experimentado en una organización. Observe que a diferencia del DSS,
que deja la decisión hasta el momento final para poder tomar una decisión concreta,
un sistema experto selecciona la mejor solución a un problema o a una clase
específica de problemas.
Los componentes básicos de un sistema experto son la base de conocimiento, una
máquina de inferencia que esta al usuario con el sistema, procesando consultas por
medio de lenguajes tales como SQL (Lenguaje de consultas estructurado), y la
57
interfaz de usuario. Personas llamadas ingenieros de conocimiento capturan la
experiencia de los expertos, construyen un sistema de computadora donde incluyen
el conocimiento del experto y luego la implementan. Es totalmente posible que la
construcción e implementación de sistemas expertos sea el trabajo futuro de muchos
analistas de sistemas.
2.6 Sistemas de apoyo a decisiones de grupo: Cuando los grupos de
personas involucradas en un proceso necesitan trabajar juntos para tomar decisiones
semiestructuradas o sin estructura, un sistema de apoyo a decisiones de grupo
(GDSS) son usados en cuartos especiales, equipados en varias configuraciones
diferentes, que consienten que los miembros del grupo interactúen con apoyo
electrónico, frecuentemente en forma de software especializado y con una persona
que da facilidades al grupo. Los sistemas para decisiones de grupo están orientados
para reunir a un grupo, a fin de que resuelva un problema con la ayuda de varios
apoyos como votaciones, cuestionarios, aportación de ideas y creación de
escenarios. El software GDSS puede ser diseñado para minimizar el comportamiento
negativo típico de un grupo, tal como la falta de participación debido al miedo a
represiones por expresar un punto de vista no popular o conflictivo, dominación por
miembros del grupo con voz dominante y la toma de decisiones de “ pensamiento en
grupo “. Algunas veces los GDSS son tratados bajo el término más general trabajo
colaborativo apoyado por computadora (CSCW) que puede incluir el apoyo de
software llamado “groupware” para la colaboración en equipo por medio de
computadoras en red.
2.7 Sistemas de apoyo ejecutivos: Cuando los ejecutivos se acercan a la
computadora, frecuentemente están buscando formas que les ayuden a tomar
decisiones a nivel estratégico. Un sistema de apoyo a ejecutivos (ESS) ayuda a los
ejecutivos, para organizar sus interacciones con el ambiente externo, proporcionando
apoyo de gráficos y comunicaciones en lugares accesibles tales como salas de
juntas u oficinas personales corporativas. Aunque los ESS se apoyan en la
información generada por los TPS y los MIS, los sistemas de apoyo a ejecutivos
58
ayudan a sus usuarios a que ataquen problemas de decisión sin estructura, que no
son específicos de una aplicación, creando un ambiente que ayude a pensar acerca
de los problemas estratégicos de una manera informada.
C. CICLO DE VIDA DEL DESARROLLO DE UN SISTEMA.
Para lograr un mejor entendimiento de la información que se presenta en este
capítulo supongamos la existencia de un departamento de sistemas en una
organización, el cual se encuentra organizado como se muestra a continuación, la
coordinación de desarrollo de sistemas se encargará de cumplir cada una de las
fases del ciclo de vida del desarrollo de un sistema, auxiliándose de cada uno de sus
equipos. La coordinación de operación de sistemas, se encargará de tener en un
buen estado el equipo que se ocupará para poder manipular la herramienta
proporcionada por la coordinación de desarrollo de sistemas13. Figura 10
Fig.10 Ciclo de Vida de un Sistema
1. Análisis.
El primer paso del ciclo de vida de un proyecto consiste en un análisis de las
características y el comportamiento del sistema del cual el software va a formar
parte.
13
KENNETH E. KENDALL; JULIE E. KENDALL.. Análisis y Diseño de Sistemas: Prentice Hall, Mexico
1997, p. 8
59
Esta fase se divide en tres factores importantes: La identificación del problema,
oportunidades y objetivos.
La identificación del problema requiere que el analista observe honestamente lo que
esta sucediendo en un negocio. Resaltando los problemas que frecuentemente ya
han sido vistos por los demás, y son la razón por la cual el analista fue llamado
inicialmente. Las oportunidades son situaciones que el analista considera puede ser
mejoradas por medio del uso de sistemas de información computarizado. El
aprovechar las oportunidades puede permitir que el negocio genere un avance
competitivo o ponga un estándar de la industria.
La identificación de los objetivos es también un componente importante de la primera
fase. En primer lugar el analista debe descubrir lo que esta tratando de hacer el
negocio. Luego será capaz de ver si algún aspecto de la aplicación de los sistemas
de información puede ayudar para que el negocio alcance sus objetivos atacando
problemas específicos u oportunidades. Las personas involucradas en la primera
fase son los usuarios, analista y administradores de sistema que coordina el
proyecto. Las actividades de esta fase consisten en entrevistas a los administradores
de los usuarios, sumarización del conocimiento obtenido, estimación del alcance del
proyecto y documentación de los resultados.
La salida de esta fase es un estudio de factibilidad que contiene una definición del
problema y la sumarización de los objetivos. Luego los administradores deben tomar
una decisión por ver si continúan con el proyecto propuesto, la investigación
preliminar contiene tres partes:
1.1
Aclaración de la solicitud: Muchas solicitudes que provienen de
empleados y usuarios, no están formuladas de manera clara. Por consiguiente, antes
de considerar cualquier investigación de sistemas, la solicitud de proyecto debe
examinarse para determinar con precisión lo que el solicitante desea. Si este tiene
60
una buena idea de lo que se necesita pero no esta seguro como expresarlo,
entonces bastara con hacer una llamada telefónica. Por otra parte, si el solicitante
pide ayuda sin saber que es lo que esta mal o donde se encuentra el problema, la
aclaración del mismo se vuelve más difícil. En cualquier caso, antes de seguir
adelante, la solicitud de proyecto debe estar claramente planteada.14
1.2
Estudio de factibilidad: Un resultado importante de la investigación
preliminar, es la determinación de que el sistema solicitado sea factible, En general
los análisis de factibilidad se completan durante la fase de diseño de sistemas,
durante esta fase se evalúa las diferentes alternativas de solución propuestas.
Los estudios de factibilidad consideran la factibilidad técnica, económica y
operacional de cada alternativa, así como si el proyecto es o no apropiado dados los
factores políticos y otros del contexto institucional.
1.2.1 Factibilidad técnica: El análisis de factibilidad técnica evalúa si el equipo
y software están disponibles (o, en el caso del software, si puede desarrollarse) y si
tienen las capacidades técnicas requeridas por cada alternativa del diseño que se
esté considerando.
Los estudios de factibilidad técnica también consideran si la organización tiene el
personal que posee la experiencia técnica requerida para diseñar, implementar,
operar y mantener el sistema propuesto. Si el personal no tiene esta experiencia,
puede entrenársele o pueden emplearse nuevos o consultores que la tengan. Sin
embargo, una falta de experiencia técnica dentro de la organización puede llevar al
rechazo de una alternativa particular.
14
JAMES A. SENN. Análisis y diseño de sistemas de Información: McGraw Hill, Mexico 2001,
p. 34
61
1.2.2 Factibilidad económica: Los estudios de factibilidad económica incluyen
análisis de costos y beneficios asociados con cada alternativa del proyecto. Un
análisis de costos/beneficio, todos los costos y beneficios de adquirir y operar cada
sistema alternativo se identifican y se hace una comparación de ellos. Primero se
comparan los costos esperados de cada alternativa con los beneficios esperados
para asegurarse que los beneficios excedan a los costos. Luego se evalúan cada
una de las alternativas para identificar la alternativa que sea más atractiva en su
aspecto económico.
1.2.3 Factibilidad operacional: Esta factibilidad comprende una determinación
de la probabilidad de que un nuevo sistema se use como se supone. Se consideran
algunos aspectos de la factibilidad operacional.
¾
El sistema puede ser demasiado complejo para los usuarios de la organización
o los operadores del sistema. Si lo es, los usuarios pueden ignorar el sistema o
bien usarlo en tal forma que cause errores o fallas en el sistema.
¾
El sistema puede hacer que los usuarios se resistan a él como consecuencia de
una técnica de trabajo, miedo a ser desplazados, intereses en el sistema
antiguo u otras razones.
¾
El sistema puede introducir cambios demasiado rápido para permitir al personal
adaptarse a él y aceptarlo. Un cambio repentino que se ha anunciado, explicado
y “vendido” a los usuarios con anterioridad puede crear resistencia. Sin importar
qué tan atractivo pueda ser un sistema en su aspecto económico si la
factibilidad operacional indica que tal vez los usuarios no aceptarán el sistema o
que uso resultará en muchos errores o en una baja en la moral, el sistema no
debe implantarse.
62
1.3
Aprobación de la solicitud: Las organizaciones reciben solicitudes para
el desarrollo de proyectos sin embargo no todas las solicitudes son aprobados para
desarrollar los proyectos por parte de la unidad de informática solo aquellos que son
deseables y factibles, son incorporados en los planes. En el caso que el equipo de
sistemas se encuentren ocupado en otros proyectos, es la administración es quien
decide que proyectos son los mas importantes.
Después de aprobada la solicitud de un proyecto se estima su costo, el tiempo
necesario para terminarlo y las necesidades de personal; con esta información se
determina donde ubicarlo dentro de la existencia de proyectos.
2. Diseño.
El diseño de un sistema de información produce los detalles que establecen la forma
en la que el sistema cumplirá con los requerimientos identificados durante la etapa
de análisis de la información.15
El equipo de análisis entrega como resultado de la fase, el modelo real de operación
de la organización, en base a éste, el equipo de diseño se enfoca a trabajar en la
solución al problema definido en el modelo real para generar un modelo a proponer
denominado modelo propuesto.
Para obtener el modelo propuesto el equipo de diseño se enfoca en dos sentidos: el
diseño operativo y el diseño computacional.
El proceso de diseño operativo se refiere a lo relacionado con la identificación de
usuarios, reportes, pantallas, procedimientos y salidas que debe producir el sistema.
Es común que los diseñadores elaboren un bosquejo o formato de pantalla y reportes
para determinar colores y estructura de los mismos. Los procedimientos que se
escriben indican cómo procesar los datos y producir las salidas.
15
KENNETH E. KENDALL; JULIE E. KENDALL. Ob.cit., p. 10
63
El proceso de diseño computacional está orientado a determinar los datos
específicos para cada reporte y salida. El diseño computacional también abarca los
datos de entrada, aquellos que serán calculados y los que deben ser almacenados.
Se escriben a detalle los procedimientos de cálculo y los datos individuales. Se
seleccionan las estructuras de archivo.
Los documentos que contienen las especificaciones de diseño, tanto computacional
como operativo, representan a éste de muchas maneras (diagramas, tablas y
símbolos especiales). La información detallada del diseño se proporciona en el
modelo propuesto al equipo de programación para comenzar la fase de desarrollo de
software.
El equipo de diseño es el responsable de dar a través del modelo propuesto a los
programadores las especificaciones de software completas y claramente delineadas.
Los encargados de dar visto bueno al modelo propuesto son los usuarios finales,
coordinador de desarrollo de sistemas y el jefe de sistemas.
3 Programación.
Una vez comenzada la fase de programación el equipo de diseño contesta
preguntas, aclara dudas y maneja los problemas que enfrentan los programadores
cuando utilizan las especificaciones de diseño.
La programación (en ocasiones también llamada codificación) consiste en la
traducción del diseño a un formato que sea legible para la computadora. Si el diseño
es lo suficientemente detallado, la programación es relativamente sencilla, y puede
hacerse de forma automática, usando generadores de código.
Podemos observar que estas primeras fases del ciclo de vida consisten básicamente
en una traducción: en el análisis del sistema, los requisitos, la función y la estructura
64
de este se traducen a un documento: el análisis del sistema que está formado en
parte por diagramas y en parte por descripciones en lenguaje natural. En el análisis
de requisitos se profundiza en el estudio del componente software del sistema y esto
se traduce a un documento, también formado por diagramas y descripciones en
lenguaje natural obteniendo el modelo real.
En el diseño, los requisitos del software se traducen a una serie de diagramas que
representan la estructura del sistema software, de sus datos, de sus programas y de
sus interfaces teniendo como resultado el modelo propuesto.
Por último, en la programación se traducen estos diagramas de diseño a un lenguaje
fuente, que luego se traduce (compila) para obtener un programa ejecutable.
Esta fase de programación es realizada por el equipo de implementación, en
conjunto con los diseñadores, para observar, aclarar dudas y hacer que se respete el
modelo propuesto.
4 Pruebas.
La prueba de un sistema no es una actividad trivial para aprender, algunos lo
consideran un arte; y aprender a hacerlo bien requiere práctica y experiencia.
Este proceso de evaluación del sistema se puede realizar por medios manuales y
automáticos, con el objeto de verificar que se satisfagan los requerimientos y de
identificar diferencias entre los resultados esperados y los que produce el sistema.
16
Regularmente se sugiere que se conforme un equipo para esta fase, conformado
por:
¾ Equipo de diseño.
¾ Usuarios finales.
¾ Equipo de implementación
16
JAMES A. SENN. Ob. Cit., p. 37
65
¾ Gestor de calidad. (Que puede ser el coordinador de desarrollo de sistemas o el
jefe de sistemas).
Este personal se encarga de aplicar las pruebas necesarias al sistema de
información que se esté desarrollando.
Se debe tomar muy en cuenta el diferenciar entre una prueba y una depuración. Una
prueba es el proceso mediante el cual se establece la existencia de errores y una
depuración es el proceso mediante el cual se localizan errores. La prueba puede
demostrar existencia de errores, no la ausencia de ellos.
5 Documentación.
La documentación de sistemas de información es el conjunto de información que nos
dice qué hacen los sistemas, cómo lo hacen y para quién lo hacen.
La documentación es un material que explica las características técnicas y la
operación de un sistema de información. Es esencial para proporcionar
entendimiento de un sistema y para enseñar a los usuarios como interactuar con los
servicios y su funcionamiento. Existen varios tipos de documentación. La primera es
la información acerca de programas, que explica la lógica de un programa e incluye
descripciones, diagramas de flujo, listados de programas y otros documentos; y la
segunda es referente a los usuarios que contiene de forma general la naturaleza y
capacidades del sistema.
En muchas organizaciones tienen lo que se conoce como un programa de
documentación, el cual consiste en una política formal cuya documentación se
muestra como algo que debe prepararse en forma rutinaria para cada programa de
cómputo, archivo y nuevos sistemas. Esta fase de documentación es de real
importancia a tal grado que puede ser comparada con la existencia de una póliza de
seguro. La documentación adecuada y completa de una aplicación que se desea
implantar, mantener y actualizar en forma satisfactoria, es esencial en cualquier
66
sistema de información, aunque frecuentemente es la parte a la cual se dedica
menor tiempo y se le presta menos atención durante el ciclo de vida del desarrollo de
sistemas de información.
Para esta etapa se verán involucrados los equipos de diseño e implementación y los
usuarios finales, puesto que son quienes utilizarán los manuales. Si la
documentación del sistema de información es incompleta el diseñador continuamente
estará involucrado y siempre al tanto de las situaciones que se les presenten a los
usuarios finales.
6 Implementación.
Una vez superada la fase de pruebas, el software se entrega al cliente y comienza la
vida útil del mismo. La implementación es el proceso de asegurarse de que el
sistema de información sea operacional, y permitir que luego tomen los usuarios
finales el control de la operación para su uso y evaluación.
El equipo de análisis observará como a través de tres enfoques se llega a la
culminación de la implementación. El primer enfoque para la implementación se
refiere a la utilización de diferentes estrategias para el entrenamiento de los usuarios
y el personal que se verá involucrado en los procesos administrativos con el sistema
nuevo. Otro enfoque importante en esta fase es la selección de una estrategia de
conversión, el analista necesita ponderar la situación proponer un plan de conversión
que sea adecuado para la organización particular del sistema de información.
El último enfoque involucra la evaluación del sistema de información nuevo o
modificado. El analista deberá formular medidas de desempeño con las cuales
evaluar al sistema de información implementado en la organización.
7 Mantenimiento.
El sistema de información sufrirá cambios a lo largo de su vida útil. Estos cambios
pueden ser debidos a tres causas:
67
¾ Que durante la utilización el cliente detecte errores en el software: Los errores
latentes.
¾
¾ Que se produzcan cambios en alguno de los componentes del sistema
informático: Por ejemplo cambios en la máquina, en el sistema operativo o en los
periféricos.
¾ Que el cliente requiera modificaciones funcionales (normalmente ampliaciones)
no contempladas en el proyecto.
En cualquier caso, el mantenimiento supone volver atrás en el ciclo de vida, a las
etapas de programación, diseño o análisis dependiendo de la magnitud del cambio.
D. CONTROL DE PERSONAL.
Los objetivos centrales de esta técnica es controlar las entradas y salida del
personal, cumplimiento del horario de trabajo, controlar horas extras, permisos,
vacaciones, tardanzas, licencias, etc.
Este proceso técnico se aplica desde el momento en que el colaborador ingresa a
laborar a la institución, ya que su ingreso debe registrarse en una ficha personal
pre elaborada por el área de desarrollo de recursos humanos, complementándose
inmediatamente con su tarjeta de asistencia diaria.
1 Definición.
Es el procedimiento administrativo, que consiste en la puesta en práctica de una
serie de Instrumentos, que tienen como finalidad el registrar y controlar al personal
que labora en una determinada empresa o institución. Con el control y registro del
68
personal, se trata de asegurar que las diversas unidades de la organización marchen
de acuerdo con lo previsto.
Es la función administrativa que consiste en medir el desempeño individual y
organizacional para asegurar que los acontecimientos se adecuen a las metas y
planes institucionales.
2 Importancia.
Hoy en día todas las empresas buscan formas innovadoras y eficientes para mejorar
su productividad. El hecho de controlar la entrada y salida del personal es de vital
importancia, desde el punto de vista productivo y financiero para cualquier empresa.
Desde el punto de vista producción, el empleado es la principal causante de alcanzar
o superar las metas trazadas por la administración.
Desde el punto de vista financiero, no alcanzar las metas trazadas por la
administración produce perdidas económicas.
3 Métodos y técnicas.
En la actualidad existe diversidad de métodos tecnológicos que facilitan el registro,
entrada y salida de personal. Todas las empresas o instituciones poseen diferentes
métodos para dicho control, desde formas prácticas y sencillas hasta formas
innovadores, el método que se utiliza depende de muchos factores anterior mente
mencionados, lo que las empresas buscan es controlar a un 100% la asistencia del
personal.
Entre los métodos que se utilizan para el control de entrada y salida de personal se
encuentran:
¾ Métodos Tradicionales
69
¾ Métodos No Tradicionales.
3.1 Métodos Tradicionales.
Son los métodos mas utilizados en las medianas y pequeñas empresas debido a su
valor económico así como a su facilidad de adquisición y manejo, por que no se
requiere a un especialista para realizar esta labor, pero se olvidan de que estos
métodos son muy vulnerables y fácilmente pueden ser falsificados por cualquier
individuo. Entre estos métodos cabe mencionar.
3.1.1 Firmas en libros: Es un sistema antiguo y útil a la vez, consiste en que la
persona al llegar a la empresa o institución de trabajo plasma su firma, así como la
hora de llegada en un libro donde se encuentra la nomina del personal que labora.
Este método es muy utilizado en las pequeñas y medianas empresas donde el
personal que labora es poco y por este motivo es muy fácil verificar a simple vista la
realidad.
3.1.2 Boletas perforadas: Fueron las primeras utilizadas por la mayoría de
instituciones, construidas de material de corta duración, como cartulina o cartoncillo.
El método consiste en que la persona al llegar a su lugar de trabajo perforaba la
tarjeta en una máquina, lo cual indicaba la hora de llegada, de la misma manera lo
hacia al salir para registrar su hora de salida de la institución.
3.1.3 Tarjetas de código de barra: Estas tarjetas son utilizadas por muchas
empresas, por su bajo costo y por su fácil manejo, el método consiste en asignar al
empleado número de carné el cual contiene un código cifrado en barras, cuando este
llega a la empresa pasa su carné por un scanner este lee el código y lo busca en la
nomina de los empleados se encuentra guardada en una base de datos al
encontrarlo lo registra y de igual manera lo hace a la hora de salida.
70
3.1.4 Tarjetas banda magnética: El uso de las tarjetas es muy empleado por
diversas empresas, la banda magnética es una banda negra o marrón, esta banda
esta hecha de finas partículas magnéticas en una resina. Las partículas pueden ser
aplicadas directamente a la tarjeta o pueden ser hechas en forma de banda
magnética y después ser adherida a la tarjeta. Las tarjetas de banda magnética
utilizan diferentes dispositivos de control o diferentes tipos de scanner para chequear
el acceso de personal, todo depende de la estabilidad y necesidad de una empresa
para poner un sistema de control de este tipo. Una de las desventajas de las tarjetas
es que un empleado puede deslizar o chequear la entrada a otro empleado.
3.2 No tradicionales: Son los métodos mas utilizados alrededor del mundo en
la actualidad, por su confiabilidad y su estabilidad, estos métodos son objeto de
estudio de la ciencia y la tecnología para formar técnicas eficientes y seguras que se
basan en biometría, es decir en el estudio de métodos automáticos para el
reconocimiento único de humanos basados en uno o más rasgos conductuales o
físicos. La biometría se basa en los rasgos y características únicas e irrepetibles de
los seres humanos, es por eso que la biometría estudia e investiga cada uno de los
diferentes rasgos del individuo, de tal forma que, dichos elementos se constituyen en
la única alternativa, técnicamente viable, para identificar positivamente a una persona
y de esta manera dejar por obsoleto el uso de aquellos métodos que son vulnerables
como lo son los métodos tradicionales.17 La biometría consiste en guardar
digitalmente en una base de datos aquellos rasgos de las personas que son únicos,
para que estos sean utilizados como una clave en el momento de que una persona
quiera entrar o salir de la institución.
Entre las características físicas utilizadas podemos mencionar:
¾ Huellas digitales.
17
http://www.oap1.com/Biomet.htm
71
¾ La voz.
¾ Geometría de la mano.
¾ La topografía del iris del ojo.
¾ Rasgos faciales.
3.2.1 La huella dactilar: Según Faulds y Galton. La capa externa de la piel
forma unos patrones en la yema de los dedos de la mano, integrados por crestas y
valles que generalmente, siguen caminos paralelos, A simple vista, el patrón que
siguen las líneas y surcos de una huella se puede clasificar según tres rasgos
mayores: arco, lazo y espiral. Figura 1118. De tal manera podemos afirmar que no
existe en todo el mundo, dos huellas que sean iguales y gracias a los estudios
realizados y los avances de la
tecnología,
hoy en día podemos utilizar estas
características como un método muy útil y eficiente para el control de entrada y
salida
de personal en diferentes empresas, por medio de sistemas informáticos
encargados de digitalizar y archivar huellas dactilares. El funcionamiento es simple
pero a la vez complejo, las huellas dactilares de los empleados son archivados en
una base de datos, ya digitalizados por medio de un scanner. Cuando el empleado
quiere ingresar a las instalaciones de la empresa coloca su huella en el scanner y
este lo busca en la base de datos. Una de las mayores desventajas de este método
es que al tener una herida o deformación en la huella, el scanner no puede
reconocerla. Según la historia las huellas dactilares fueron las primeras en ser
utilizadas por el ser humano, como método para controlar de forma eficaz la entrada
y salida del personal a las instituciones de trabajo.
Fig.11 Huella Dactilar
18
http://www.tecnociencia.es/monograficos/biometria.html
72
3.2.2 El iris: El iris no sólo es la parte pigmentada del ojo que rodea a la pupila.
También se trata de la estructura indivisible del cuerpo humano más distintiva
matemáticamente. Mide aproximadamente 11 milímetros de diámetro en los cuales
cada iris concentra más de 400 características que pueden ser usadas para
identificar a su propietario (criptas, surcos, anillos, fosos, pecas, corona entre
cruzadas);19
La ciencia y la tecnología aprovechan todas estas características para crear un
sistema informático sofisticado y avanzado para un control estricto y de alta
seguridad en el control de entrada y salida de personal en empresas o instituciones
de máxima seguridad. Figura 12. El método es sencillo, consiste en digitalizar las
características del iris y a su vez almacenarlas en una base de datos, por medio de
un scanner especializado el cual sirve para controlar y verificar a la persona.
Cuando quiere ingresar a la institución el scanner es pasado y comprueba si la
persona existe en la base de datos o no.
Fig.12 Iris
3.2.3 Reconocimiento facial: De todos los rasgos anatómicos, el rostro es sin
lugar a duda el elemento que con más frecuencia los seres humanos utilizamos para
identificar a otra persona. Aunque parezca increíble la estructura del rostro es
diferente en cada individuo y es por este motivo que es un área de estudio de la
19
http://www.tecnociencia.es, ob., cit.
73
biometría. Figura 13.
Hoy en día existen sistemas biométricos basados en
reconocimiento facial, en concreto, ciertos software interpretan cada imagen facial
como un conjunto bidimensional de patrones brillantes y oscuros, con diferentes
intensidades de luz en el rostro.20
El procedimiento de todos los sistemas basados en biometría son similares y el
reconocimiento facial no es la excepción, consiste en guardar las características
faciales partiendo de puntos estratégicos del rostro estos sirven de base para la
estructura del individuo y cuando el rostro es pasado por un scanner estos puntos
son digitalizados y guardados en una base de reconocimiento intervienen muchos
factores como la luz y la expresión del rostro, colocación.
Fig.13 Rasgos faciales
3.2.4 Anatomía de la mano: También la forma de la mano puede ser de gran
valor en biometría. A diferencia de las huellas dactilares, la mano humana no es
única, y sus características individuales no son suficientes para identificar a una
persona. Sin embargo, su perfil resulta útil si el sistema biométrico lo combina con
imágenes individuales de algunos dedos, extrayendo datos como las longitudes,
anchuras, alturas, posiciones relativas, articulaciones. Estas características se
transforman en una serie de patrones numéricos que pueden ser comparados. Su
principal aplicación es la verificación de usuarios21. Figura 14.
20
http://www.tecnociencia.es, ob., cit.
21
http://www.tecnociencia.es, ob., cit.
74
El funcionamiento es similar al de la huella digital, reconocimiento facial y el de el iris,
por que parte del mismo punto, que son características intrínsecas del individuo con
la diferencia que es la mano la que se utiliza para detectar rasgos de la persona por
medio de un scanner.
Fig. 14 Mano
3.3
Comparación entre sistemas biométricos: En la tabla 12 se
representan algunas diferencias de seguridad
entre los diferentes sistemas
biométricos. 22
Ojo (Iris)
Huellas
Geometría
dactilares
de la mano
Rostro
Fiabilidad
Muy alta
Alta
Alta
Alta
Facilidad de uso
Media
Alta
Alta
Alta
Prevención
Muy alta
Alta
Alta
Media
Aceptación
Media
Media
Alta
Muy alta
Tabla 12
22
http://es.wikipedia.org/wiki/Biometr%C3%ADa
75
Descargar