51
25 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

CAPITULO II MARCO TEÓRICO CONCEPTUAL SOBRE …ri.ufg.edu.sv/jspui/bitstream/11592/7333/3/005.16-A473d... · 2015-10-03 · basada en esta la computadora procesa esta los datos devolviendo

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

25

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

26

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

27

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.

28

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.

29

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

30

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.

31

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

32

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.

33

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

34

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.

35

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.

36

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

37

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

38

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

39

(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.

40

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.

41

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 Lenguaje creado para la organización de datos. Sus únicos valores atómicos eran los bits

ENAC 1943 Kay Antonelli, Jean Bartik, Betty Holberton,

Marilyn Meltzer, Frances Spence y Ruth Teitelbawn

Lenguaje Maquina de propósito general, capaz de resolver 5,000 sumas y 360 multiplicaciones en 1 segundo

Tabla 5

42

Tabla 6

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

43

Tabla 7

Lenguajes de Programación de los años 60

Lenguaje Año Creador Descripción

APL

1962

Kenneth Iverson

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 Ole Johan Dahl

y Kristen Mygaard

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.

BASIC

1964

John George Kemeny y

Thomas Kurtz

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.

44

Lenguajes de Programación de los años 70

Lenguaje Año Creador Descripción

PASCAL 1970 Niklaus Wirth

Lenguaje de programación estructurado. El código está dividido

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.

SQL 1978 E. F. Codd

Lenguaje declarativo de acceso a base de datos relacionales

que permite el manejo de algebras y cálculos relacionales

permitiendo alcanzar consultas con el fin de recuperar

información de interés de una base de datos de una forma

sencilla

Tabla 8

45

Lenguajes de Programación de los años 80

Lenguaje Año Creador Descripción

ADA 1983 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).

C++ 1983 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 1987

Larry Wall,

Nicholas Clark y la

comunidad Perl

Perl es un lenguaje de propósito general originalmente desarrollado

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

46

Lenguajes de Programación de los años 90

Lenguaje Año Creador Descripción

PYTHON

1990

Guido van Rossum

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

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

JAVA 1991 Sun Microsystems

Está compilado en un bytecode, aunque la compilación en código

máquina nativo también es posible. No implementa Bases de Datos,

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.

RUBY 1993 Yukihiro

Matsumoto

Lenguaje de programación reflexivo y orientado a objetos es un

lenguaje de programación interpretado en una sola pasada y su

implementación oficial es distribuida bajo una licencia de software

libre.

Tabla 10

47

Lenguajes de Programación del siglo XXI

Lenguaje Año Creador Descripción

C# 2001 Microsoft

Corporation.

C# (pronunciado "si sharp", C sostenido o C almohadilla) es un

lenguaje de programación orientado a objetos desarrollado y

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

48

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.

49

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

50

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

51

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.

52

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.

53

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.

54

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.

55

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. 12JAMES A OBRIEN, GEORGE M. MARAKAS. Sistemas de información gerencial: McGran-Hill,

Mexico 2006, p. 2

56

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.

57

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

58

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

59

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

60

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

61

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

62

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.

63

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

64

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

65

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. 16Regularmente 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

66

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

67

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:

68

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

69

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

70

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.

71

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

72

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.

18http://www.tecnociencia.es/monograficos/biometria.html

Fig.11 Huella Dactilar

73

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.

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.

Fig.12 Iris

74

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.

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.

Fig.13 Rasgos faciales

75

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.

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 dactilares

Geometría 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

Fig. 14 Mano