OBJETIVOS DE LA CAPTURA DE DATOS Es de fundamental importancia asegurarse de que los datos se capturen con precisión. Es un axioma establecido que la calidad de la captura de datos determine la calidad de la información de salida. El ingeniero de sistemas puede apoyar la entrada precisa de los datos mediante el logro de tres objetivos generales que son: la codificación eficaz, la captura y la entrada de datos eficientes y el aseguramiento de la calidad a través de la validación. La calidad de los datos es una medida de como la consistencia y corrección de los datos se encuentran dentro de ciertos limites preestablecidos. La codificación eficiente de los datos facilita la captura precisa al reducir el tiempo requerido para la entrada. Cuando los datos se introducen en forma eficiente, la captura satisface los parámetros establecidos de desempeño que se apegan a una relación entre el tiempo invertido en la captura y el número de datos capturados. Una captura eficiente de datos también indica que los capturistas pueden descifrar los datos con rapidez y sencillez. La codificación efectiva, la captura eficaz y eficiente de datos, y el aseguramiento de la calidad a través de procedimientos de validación, son los objetivos de la captura de datos que serán cubiertos en esta sección. Codificación efectiva Una de las maneras mediante las cuales pueden introducirse los datos, con más precisión y eficiencia es utilizando diversos códigos previamente establecidos. Al proceso de expresar datos ambiguos o complicados en dígitos o letras que se capturan con facilidad se le denomina codificación (no confundirlo con la codificación de programas). La codificación ayuda al ingeniero de sistemas a alcanzar el objetivo de eficiencia, ya que los datos que se encuentran codificados, requieren de menor tiempo para capturarse y reducen el número de elementos procesados. La codificación también puede facilitar el ordenamiento apropiado de los datos, en la etapa posterior del proceso de transformación. Además, los datos codificados pueden reducir espacio valioso de almacenamiento y de memoria. En resumen, la codificación es una manera de ser elocuente, pero a la vez conciso, en la captura de los datos. Además de proporcionar precisión y eficiencia, los códigos deben contar con un propósito. Los tipos específicos de códigos nos permiten manejar a los datos de una manera particular. Dentro de los propósitos. para los códigos tenemos: 1. 2. 3. 4. 5. Mantener el seguimiento de algo Clasificación de la información Ocultar información Revelar información Solicitar acciones apropiadas En las siguientes secciones se expondrán cada uno de estos objetivos de la codificación, así como algunos ejemplos de estos códigos. Seguimiento de algo En ocasiones queremos identificar a una persona, un sitio o algo, con el fin de darle seguimiento. Por ejemplo, un taller que fabrique mobiliario con un diseño ad hoc necesita asignar un número clave a un proyecto. El vendedor necesita conocer el nombre y la dirección del cliente, pero el gerente de producción o los trabajadores que ensamblan el mobiliario no necesitan saber quien es el cliente. En consecuencia, se asigna a la orden un número de fabricación arbitrario. El número puede ser escogido aleatoriamente y no de manera consecutiva como se describe a continuación. Códigos secuenciales simples El código secuencial simple es un código que se asigna a algo que necesita numerarse. Por lo tanto tal código carece de relación alguna con los datos mismos. La figura siguiente muestra cómo las órdenes de trabajo de un fabricante de muebles reciben un número de orden. Este es un número de fácil referencia, el cual permite dar seguimiento a las órdenes en proceso. Es más eficiente capturar la orden "5676", que "la silla mecedora blanca con negro, con su empaque para Juan Pérez El uso de códigos secuenciales, en lugar de un número aleatorio, ofrece ciertas ventajas. Primero, elimina la posibilidad de asignar dos veces un mismo número. Segundo, da a sus usuarios una idea aproximada de cuando recibirán la orden. Orden 5676 5677 5678 5679 Producto silla mecedora/con empaque silla de comedor/con funda sofá /con funda silla infantil mecedora/con ángulos Cliente Juan Pérez. Roberto González J. & D. Pare Lucinda Morely El código secuencial debe utilizarse cuando se necesite conocer el orden de procesamiento por medio del cual entran al sistema los artículos, o el orden en el cual se Ilevan a cabo los eventos. Un ejemplo de esto se presenta para un banco que ofrece una promoción especial y que hace hincapié en la importancia de saber cuando una persona solicita una préstamo hipotecario con bajo interés, ya que (para todos aquellos casos equivalentes) la asignación de préstamos especiales se ofrece con base en las primeras Ilegadas, primeras salidas. En este caso, la asignación correcta de un código secuencial es importante para cada solicitante. Códigos de origen alfabético En ocasiones no se desea utilizar códigos secuenciales. El caso más evidente se presenta cuando no desea que alguien identifique el código y se entere de cuántos números se le han asignado. Otra situación en la cual los códigos secuenciales pueden no ser útiles es cuando se desea contar con un código más completo que evite errores costosos. Un error posible sería la aceptación de un pago para la cuenta 223, cuando usted intentaba depositarlo en la cuenta 224 y tecleó un dígito de manera incorrecta. El código de origen alfabético es un enfoque de uso común para identificar un número de cuenta. El ejemplo mostrado a continuación proviene de la lista de correos de una revista. El código es en si, el número de cuenta. Los primeros cuatro dígitos se originan de los primeros cuatro dígitos del código postal del suscriptor, los siguientes tres son las primeras tres consonantes del nombre del suscriptor, los siguientes cuatro números conforman el domicilio y los últimos tres identifican a la revista. El propósito principal de este código es identificar una cuenta en particular. Observe que la fecha de expiración no forma parte del número de la cuenta, al variar ésta más que los otros datos. Código Explicación del código 3506KND7533TVG 9999XXX9999xxx Clasificación de la información Las clasificaciones son necesarias para múltiples propósitos. Por ejemplo, reflejar que cobertura de un plan de seguro médico que tiene un empleado, o demostrar que un estudiante ha concluido sus requisitos ordinarios del trabajo del curso. Los códigos permiten distinguir entre las clases de los artículos. Códigos de clasificación Los códigos de clasificación se utilizan para distinguir un grupo de datos con características especiales de otro grupo. Los códigos de clasificación pueden consistir aún de una sola letra o número. Llegan a ser una abreviatura para describir a una persona, un lugar, un artículo o un evento. Los códigos de clasificación se registran y ordenan en manuales o se difunden, de tal forma que los usuarios puedan localizarlos de manera sencilla. En muchas ocasiones, los usuarios se familiarizan tanto con ciertos códigos de uso frecuente que los Ilegan a memorizar. Un usuario clasificaría un artículo, luego introduciría directamente a la terminal el código, en un sistema en línea o en un documento fuente de un sistema en lote. Un ejemplo de un código de clasificación es aquel que utilizaría para agrupar los artículos deducibles de impuestos, para los propósitos de completar su declaración de impuestos sobre ingresos. El sistema de codificación es sencillo: tome la letra inicial de cada una de las categorías. Para las Contribuciones será C; para Pagos de Interés es P; para Suministros S. Todo va bien hasta que Ilegamos a otras categorías, tales como los accesorios de Cómputo, el Pago de Seguros y las Suscripciones. Estas categorías comienzan con las mismas letras que utilizamos previamente. La codificación debe ser modificada para utilizar una O para computadora; una G para seguros; y una U para suscripciones. Es obvio que esto se sale bastante de la perfección. Una forma de evitar la confusión de este tipo, es permitir que los códigos tengan más de una letra. Esto se expondrá más adelante bajo el encabezado de códigos mnemotécnicos. Códigos de bloques secuenciales Con anterioridad, expusimos los códigos secuenciales. Los códigos de bloques secuenciales son una extensión de los códigos secuenciales y funcionan básicamente como un plan de cuentas. Ocultar información Los códigos pueden utilizarse para ocultar o disfrazar la información que deseamos que otros no identifiquen. Existen muchas razones por las cuales una empresa querría hacerlo. Por ejemplo, una corporación no querrá proporcionar la información de archivos personales, cuando los capturistas tienen acceso a ellos. Una tienda querrá que sus vendedores conozcan el precio del distribuidor, para que se enteren hasta qué nivel de precio pueden negociar, pero que este precio se encuentre codificado en la etiqueta, para evitar que los clientes lo identifiquen. Los siguientes son ejemplos de información encubierta mediante códigos. Códigos cifrados Tal vez el método de codificación más sencillo es la sustitución directa de una letra por otra, de un número por otro o de una letra por un número. Un acertijo popular denominado criptograma, es un ejemplo característico de una sustitución por letras. Resaltar la información En ocasiones es deseable proporcionar información significativa a través de un código. En una tienda de ropa, la información referente al departamento, producto, color, y la talla se imprime junto con el precio. Por ejemplo los dos primeros dígitos señalan al departamento, los siguientes tres al producto, los siguientes tres el color, y los últimos tres a la talla. Los códigos de subconjuntos de dígitos significativos pueden consistir en información que en si describe al producto (por ejemplo, el número 10 significa la talla 10) o los números pueden asignarse de manera arbitraria (por ejemplo, 202 se asigna al departamento de prendas de maternidad). En este caso, la ventaja de utilizar un código de subconjunto de dígitos significativos es la habilidad para localizar los artículos que pertenecen a un cierto grupo o a una clase. Por ejemplo, si el gerente de la tienda decide ofrecer un descuento en toda la mercancía de invierno en la próxima promoción, el vendedor puede localizar todos los artículos que pertenezcan a los departamentos comprendidos entre el 310 y el 449. Códigos mnemotécnicos Un código mnemotécnico sirve como auxiliar en la memorización. Cualquier código que auxilie al capturista a recordar como introducir los datos o al usuario final a recordar como utilizar la información puede considerarse un código mnemotécnico. Mediante el uso de una combinación de letras y de símbolos se puede implantar un código claro y preciso para un producto, de tal forma, que el código sea fácil de utilizar y de comprender. Solicitud de acciones apropiadas Con frecuencia, los códigos son necesarios para instruir, ya sea a la computadora o al tomador de decisiones, sobre qué acciones realizar. En general, estos códigos se conocen como "códigos funcionales" y de manera típica toman la forma de una secuencia o de un código mnemotécnico. Códigos funcionales Aquellas funciones que el ingeniero o el programador desean que realice la computadora con los datos, se capturan haciendo uso de códigos funcionales. El uso de un código numérico o alfanumérico puede reemplazar la meticulosa transcripción de las actividades por realizar. Código 1 2 3 4 5 6 Función Entregado Vendido Destruido Perdido o robado Devuelto Transferido 7 8 Entrada de la revista (sumar) Salida de la revista (restar) La figura anterior muestra ejemplos de un código funcional para la actualización de los inventarios. Dependiendo de la función que se necesite, variarán los datos solicitados para la captura. Por ejemplo, anexar o actualizar un registro, requerirá solo del código funcional y de la tecla de registro, mientras que agregar un nuevo registro, requerirá que se capturen todos los datos básicos, incluyendo el código funcional. Lineamientos generales para la codificación En las secciones anteriores examinamos los objetivos para el uso de diferentes tipos de códigos, tanto en la captura como en el almacenamiento de los datos. Luego examinamos unos cuantos heurísticos para establecer un sistema de codificación. Al establecer un sistema de codificación, el ingeniero debe: I. Ser conciso al codificar 2. Mantener la estabilidad de los códigos 3. Asegurarse que los códigos sean únicos 4. Permitir que los códigos puedan ordenarse 5. Evitar el uso de códigos confusos 6. Mantener una codificación uniforme 7. Prevenir modificaciones 8. Crear códigos significativos Sea conciso Los códigos deben ser concisos, pues los códigos muy largos implican que se pulsen más teclas; y en consecuencia, aumente el riesgo del error. Los códigos largos también implican que el almacenamiento de la información en la base de datos requiera de más memoria. Los códigos breves son más fáciles de recordar y más fáciles de capturar. Si los códigos necesariamente tienen que ser largos, deben separarse en subcódigos. Por ejemplo 5678923453127 podría separarse, mediante guiones, de la siguiente manera: 5678-923-453-127. Este enfoque permite un mejor manejo y toma ventaja de la manera en que la gente procesa la información por tramos pequeños. Mantenga la estabilidad de los códigos Estabilidad significa que el código de identificación de un cliente no cambiará cada vez que se reciban nuevos datos de él. Con anterioridad, presentamos un código con derivación alfabética de una lista de suscripciones de una revista. La fecha de vencimiento no formaba parte del código de identificación del suscriptor, ya que era muy probable que cambiara periódicamente. En un sistema mnemotécnico no modifique las abreviaturas de los códigos. Una vez que haya elegido las abreviaturas de los códigos, no trate de modificarlos, ya que esto hace que se vuelva extremadamente difícil la adaptación de los capturistas. Asegúrese que los códigos sean únicos Con el fin de que los códigos funcionen, éstos deben ser únicos. Tome nota de todos los códigos que utilice en el sistema, con el propósito de asegurar que no se asignará el mismo número, código o nombre a varios artículos. Los códigos de números y de nombres son una parte esencial de las entradas de los diccionarios de datos. Todos los códigos deben de ser ordenables Si va a manejar los datos, los códigos deben ser clasificables. Por ejemplo, si decide codificar la fecha como MMMDDAA -donde los primeros tres símbolos significan el mes como una abreviatura de tres letras, los siguientes dos como el número de la fecha, y los últimos cuatro dígitos como el año y luego trata de ordenar la fecha en orden ascendente, obtendrá resultados desastrosos Tanto los años como los meses estarían fuera del ordenamiento. Asegúrese de que obtuvo lo que intentaba hacer con los códigos que haya creado. Los códigos numéricos son más fáciles de ordenar que los códigos alfanuméricos; en consecuencia, considere la utilización de códigos numéricos cada vez que sea práctico. Evite códigos confusos En los códigos alfanuméricos la letra O se confunde con el 0, la letra l con el 1, la Z con el 2 y así sucesivamente, si el parque a codificar es extenso y se comete un error de entrada es muy difícil encontrar el registro equivocado. Permita modificaciones Una característica fundamental de un buen código es su adaptabilidad. El ingeniero debe tener en mente que los sistemas evolucionan con el tiempo y que el sistema de codificación debe tener posibilidad de adaptarse a las circunstancias. El número de clientes crecerá, los nombres de los clientes cambiarán y los proveedores Ilegarán a modificar el esquema de clasificación de sus productos. El ingeniero necesita tener la capacidad de pronosticar las necesidades futuras de la organización y anticiparse con un diseño adaptable de los códigos para las necesidades futuras. Códigos con buena significación A menos que el ingeniero desee encubrir de manera intencional la información, los códigos deben de tener un significado. Los códigos efectivos no sólo contienen información, también tienen sentido para quienes los utilizan. Los códigos significativos son más fáciles de comprender, de trabajar con ellos y de recordar. La tarea de la captura de datos se vuelve más interesante cuando los códigos cuentan con un significado y no sólo se introduce una serie de números carentes del menor significado. CAPTURA DE DATOS EFICAZ Y EFICIENTE Es importante capturar los datos con efectividad con el fin de asegurar la calidad de los datos que entran al sistema. La captura de datos ha recibido mayor atención por ser la etapa del proceso informático, de la cual se pueden obtener grandes logros en productividad. En las últimas tres décadas, se ha progresado, al desplazarnos desde un proceso de pasos múltiples, lento y sujeto a errores, tal y como era el perforado de tarjetas, a otros más sofisticados, tales como el reconocimiento óptico de caracteres, los códigos de barras y las terminales en puntos de venta. Decidir que capturar La decisión de qué capturar precede a la interacción misma del usuario con el sistema. De hecho esto es vital para la relevancia de la interfaz a desarrollar, por aquella expresión muy cierta de que "si entra basura, sale basura". La decisión acerca de qué datos capturar, la realizan los ingenieros de sistemas junto con los usuarios del sistema. Gran parte de lo que se captura es específico del negocio. Debido al costo de mano de obra, la captura de los datos, su entrada, almacenamiento y registro son tareas de alto costo. Al considerarlos todos, se vuelve una importante decisión qué material capturar. Existen dos tipos de datos a introducir: los datos que cambian o varían en cada una de las transacciones y los datos que distinguen de otros artículos, de manera concisa, al artículo particular que se procesa. Un ejemplo de un dato variable es aquella cantidad de artículos adquiridos cada vez por una agencia de publicidad a su proveedor de papelería. Ya que el cambio de las cantidades depende del número de empleados en la agencia y de cuántos contadores estén en ejercicio, cada vez que se haga una solicitud deberá capturarse el dato de la cantidad. Un ejemplo de un dato distintivo sería la inclusión de tres letras que correspondan al apellido de un paciente, cuando se registre su número de obra social. De esta forma, el paciente se distingue de manera única de los otros pacientes dentro del mismo sistema. Dejemos que la computadora haga el resto Cuando considere qué datos capturar en cada una de las transacciones y que datos dejar que el sistema introduzca, es conveniente tomar ventaja de lo que las computadoras hacen mejor. En el ejemplo anterior de la agencia de publicidad que solicita suministros de oficina, no es necesario que el operador introduzca en la orden de papelería la descripción de cada artículo, cada vez que recibe una orden, pues la computadora puede almacenar y tener acceso de manera fácil a estos datos. Las computadoras realizan de manera automática las tareas repetitivas, como registrar la hora de la transacción, calcular nuevos valores para la entrada, y almacenar y registrar datos en el momento que se !e solicite. Al considerar las mejores cualidades de las computadoras, un diseño eficiente de la captura de datos evita que se capturen innecesariamente ciertos datos. Esto reducirá en gran medida el error humano y el aburrimiento. Se puede programar en el software que la fecha de la captura de los datos se tome automáticamente, de tal forma que el capturista no tenga que preocuparse por realizar tal acción para cada una de las transacciones que procese. De manera alternativa, el programa de cómputo puede solicitarle al usuario que le proporcione la fecha del día de hoy. Y una vez capturada, el sistema procederá a utilizar tal fecha en todas las transacciones procesadas en la sesión. Al decidir lo que no se captura, también debe tomarse en consideración la capacidad de la computadora para hacer operaciones. Las computadoras pueden realizar muchas operaciones con los datos que ya tienen capturados. Por ejemplo, la persona que captura los datos puede acceder el número de vuelo y el número de cuenta de un viaje aéreo, para un cliente que pertenece a un programa de incentivos por viajes frecuentes. La computadora calcula después el número de millas de cada vuelo, agrega estas millas a la cuenta del cliente y actualiza el total de millas que la cuenta acumula. La computadora hará saber también, si por algún motivo una cuenta no se debe considerar para un premio. Aunque toda esta información puede imprimirse en la hoja actualizada de la cuenta del cliente, sólo se proporcionan el número de vuelo, los vuelos realizados y el número de cuenta del cliente. Aunque los usuarios podrían sugerir qué datos son innecesarios, estas decisiones no deben realizarse en el momento de la captura, más bien, tal decisión la realizará el ingeniero de sistemas, en conjunto con los usuarios, en las primeras etapas del desarrollo del sistema. Con base en el análisis previo cuenta con una gran idea de lo que debe introducirse al sistema y por qué motivo. Cuando los análisis se concluyen, las entradas innecesarias se vuelven aparentes, así como la redundancia. Evitando cuellos de botella y pasos adicionales El cuello de botella en la captura de datos es una alusión a la apariencia física de una botella. Los datos se introducen rápidamente en una gran boca del sistema sólo para detenerse en el "'cuello", al generarse una instancia que lo provoque, que impide procesar con eficiencia el volumen o el detalle de los datos capturados. Una manera de evitar un cuello de botella es asegurarse de que se cuenta con suficiente capacidad para manejar los datos que se capturan. La manera de evitar pasos adicionales no sólo se determina en el momento del análisis, sino también en el momento mismo cuando los usuarios comienzan a interactuar con el sistema. Mientras se incluyan menos pasos en la captura de los datos, hay menor probabilidad de que se introduzcan errores. Con base en la consideración obvia de ahorrar trabajo, evitar pasos adicionales, es una forma de preservar la calidad de los datos. Una vez más el uso de un sistema en línea que captura los datos de los clientes sin necesidad de Ilenar formularios, es un excelente ejemplo de como evitar pasos en la captura de los datos. Arrancar con un buen formulario La captura eficaz de datos sólo se logra si se pensó con anterioridad sobre qué debería contener el documento fuente. Los capturistas introducen datos a partir del documento fuente (siendo en general un formulario de cierto tipo); este documento será la fuente de una gran cantidad de datos del sistema. Sistemas en línea (o métodos especiales de captura de datos, tales como los códigos de barras) pueden no requerir de un documento fuente, pero con frecuencia se tiene que crear cierto tipo de formularios impresos como un recibo. Los formularios eficaces no requieren recaptura de la información que la computadora ya contiene, como la fecha y la hora de la entrada, las cuales, determina la computadora de manera automática. La elección de un método de entrada de datos La perforación de las tarjetas era el caballo de batalla en el mundo del procesamiento de datos, pero ahora la superan métodos más eficientes y más precisos. La perforación era tediosa y los datos en las tarjetas tenían que capturarse dos veces: una vez para su perforación y la segunda para su verificación (el conjunto de errores en el juego del PRODE originó más de un problema). Además, si las tarjetas se introducían en otro orden, la tarea de cómputo o bien los datos carecían de sentido. En la actualidad se dispone de distintos métodos, todos eficientes para la entrada de datos, y la elección entre ellos queda determinada por diversos factores que incluyen la necesidad de velocidad, la precisión y la capacitación del operador; el costo del método de captura (ya sea intensivo en materiales o en mano de obra) y de los métodos de uso actual dentro de la organización. Reconocimiento óptico de caracteres El reconocimiento óptico de caracteres (OCR: Optical Character Recognition) es una forma de leer la entrada a partir de un documento fuente mediante un digitalizador óptico, en lugar de un medio magnético. El uso de dispositivos OCR (por soft o mejor por hard) puede acelerar la captura de los datos desde un 50 a un 75 % sobre el método del teclado. Lo que se necesita es un documento fuente que pueda digitalizarse de manera óptica cuando se Ilena, ya sea a través de la impresión de bloques o a mano. La manera de Ilenar el documento fuente depende de los requisitos del hardware particular y del software. El incremento en velocidad del OCR proviene de no tener que codificar o teclear los datos a partir de los documentos fuente. Elimina muchos de los pasos que Ilevan tiempo y que causan errores a los otros dispositivos de entrada. Al hacer esto, el OCR demanda del empleado muy pocas habilidades y asimismo, menos capacitación. Esto tiene como resultado reducción de errores, menor tiempo empleado y descentraliza la responsabilidad de la calidad de los datos capturados directamente a la unidad que los genera. Otros métodos de captura de datos Existen otros métodos para la captura de los datos que cada vez se utilizan más. La mayoría de estos métodos reducen los costos de mano de obra al requerir muy pocas habilidades del operador o muy poca capacitación; al acercar físicamente la captura de los datos a su fuente y al eliminar la necesidad de un documento fuente. Al hacer todo esto, el proceso se vuelve más rápido y mucho más confiable. Los métodos de captura de datos que expondremos en las siguientes secciones incluyen el reconocimiento de caracteres de tinta magnética, los formularios sensibles a marcas, los formularios perforadas, los códigos de barras y las cintas de datos, tipo tarjeta de crédito. Reconocimiento de caracteres en tinta magnética. Los caracteres en tinta magnética se encuentran en la parte inferior de los cheques de banco y de ciertas cuentas de tarjetas de crédito. Este método es similar al OCR, en el que caracteres los se leen pero su uso es limitado. La entrada de datos a través del reconocimiento de caracteres en tinta magnética (MICR: Magnetic Ink Character Recognition) se da a través de una máquina que lee e interpreta una línea sencilla de material codificado con tinta que contiene partículas magnéticas. Algunas de las ventajas del uso del MICR son: 1) confiables, operan a una gran velocidad, no son susceptibles de aceptar marcas extrañas que no están codificadas magnéticamente; 2) sirve como mecanismo de seguridad contra cheques defectuosos 3) el personal de captura de datos puede ver los números si requiriera verificarlos. Formularios sensibles a marcas. Los formularios sensibles a marcas permiten la captura de datos a través de un digitalizador que verifica el sitio de las marcas que el lápiz de plomo hizo sobre los formularios especiales. Un uso común es la toma de respuestas de cuestionarios de encuestas. El personal capturista necesita muy poca capacitación y puede procesar un gran volumen de informes de manera rápida. Dentro de los inconvenientes de los formularios sensibles a marcas se incluye el hecho de que mientras los lectores establecen que su marca fue bien hecha, no pueden interpretar la marca en la forma en que el lector óptico de caracteres lo haría. Las marcas extrañas en las formas pueden implicar datos incorrectos. Además, las selecciones a las respuestas proporcionadas en los formularios sensibles a marcas son limitadas; los formularios tienen la dificultad de capturar datos alfanuméricos, pues el espacio requerido es muy corto para un conjunto de letras y de números. Y es fácil que las formas tengan equivocaciones o haya confusión al registrar una marca en una posición incorrecta. Formas perforadas. Las formas perforadas son una alternativa rápida y conveniente para capturar e introducir una cantidad reducida de datos sin embargo las dificultades inherentes a la verificación de la correcta perforación la hacen desaconsejables. Códigos de barras. Los códigos de barras aparecen típicamente en las etiquetas de los productos, pero algunas veces aparecerán en brazaletes de identificación de pacientes en hospitales y casi en cualquier persona u objeto que necesite verificarse al entrar o al salir de cualquier tipo de sistema de inventario. Los códigos de barras pueden considerarse como "metacódigos" o códigos que codifican a otros códigos. Aparecen como una serie de bandas angostas y anchas en una etiqueta, la cual codifica números o letras. Estos símbolos, a su vez, tienen acceso a los datos del producto almacenados en la memoria de la computadora. Un haz de luz de un digitalizador o de un Iápiz óptico pasa sobre las bandas de las etiquetas para confirmar o registrar los datos del producto que se evalúa. Los códigos de barras permiten un alto grado de precisión en la captura de datos. Ahorran tiempo en mano de obra de los detallistas, cada vez que el artículo no tiene que marcarse con el precio individualmente. Además, el código de barras permite la captura automática de los datos, lo cual puede utilizarse para volver a arreglar, darle un seguimiento más preciso al inventario y pronosticar necesidades futuras. Los precios de venta u otros cambios en el significado de los códigos de barras se introducen en el procesador central, ahorrando las molestias de marcar todos los artículos particulares. Cintas de datos. Se usan comúnmente en las tarjetas de créditos y similares. Poseen información que permiten automatizar las operaciones de captura de datos personales. El uso de terminales inteligentes Las terminales inteligentes pueden considerarse un paso adelante de las terminales tontas. Un paso antes de las capacidades de las estaciones de trabajo inteligentes y de las microcomputadoras portátiles. En muchos casos, las terminales inteligentes pueden eliminar la necesidad de un documento fuente. La principal ventaja de la utilización de las terminales inteligentes es que a través del uso de un microprocesador, son capaces de aliviar la carga sobre el CPU para muchas de las tareas de edición, control, transformación y almacenamiento de datos, que requieren las terminales tontas. Las terminales tontas se conectan al CPU para todo manejo de los datos incluyendo la edición, actualización, etc. La configuración para las terminales inteligentes consiste en un microprocesador, un monitor y el teclado. Las terminales inteligentes tienen acceso al CPU a través de una línea de comunicación y pueden encontrarse en línea o en línea diferida. Una terminal inteligente en línea desarrolla de manera inmediata todos los pasos de entrada, el procesamiento, la verificación y la salida de los datos en el momento en el que el cliente se encuentra presente. Mientras más cerca se encuentre la captura de datos de la fuente de los datos se tendrá una mayor precisión (a un mayor costo en tecnología). Un buen ejemplo de una terminal en línea es el caso de los sistemas de pasajes aéreos. Las terminales inteligentes en línea diferida permiten que los datos se introduzcan y verifiquen inmediatamente, pero se procesen más tarde en lote, lo cual las hace menos caras. Las cajas registradoras electrónicas combinan estos atributos, con ambas capacidades de entrada y de salida, como terminales en el punto de venta. ASEGURAMIENTO DE LA CALIDAD DE LOS DATOS A TRAVES DE LA VALIDACIÓN DE LA ENTRADA Hasta este momento hemos expuesto el aseguramiento de la captura efectiva de los datos sobre los documentos fuente y la entrada eficiente al sistema, a través de varios dispositivos de entrada. Aunque estas son condiciones necesarias para asegurar la calidad de los datos, por si solas no son suficientes. Los errores no pueden evitarse por completo y la importancia fundamental de detectar los errores durante la entrada, previa al procesamiento y almacenamiento, no puede dejar de destacarse. La multiplicidad de problemas creados por una entrada incorrecta puede ocasionar toda una pesadilla, en vista de que los problemas Ilegan a requerir bastante tiempo para detectarse. No puede imaginar todo lo que puede ocurrir mal durante la captura, pero tiene que cubrir los tipos de errores que surjan en el porcentaje mayor de los casos. Validación de las transacciones de entrada La validación de las transacciones de entrada se da en buena medida a través del software, lo cual es responsabilidad del programador, pero es importante que el ingeniero de sistemas sepa que podría invalidar una transacción eventualmente. Las organizaciones comprometidas con la calidad incluyen pruebas de validación como parte integrante de su software de rutina. Existen tres problemas principales que pueden presentarse con las transacciones de entrada: capturar datos equivocados en el sistema, presentar datos a personas no autorizadas o pedir al sistema que realice una función inaceptable. Proporcionar datos incorrectos Un ejemplo de presentar datos incorrectos al sistema sería intentar acceder el número de obra social de un paciente en la nómina de pagos del hospital. Este es un error accidental común; sin embargo debe detectarse antes de procesar los datos. Proporcionar datos a personas no autorizadas El sistema debe ser capaz de descubrir si los datos que se solicitan, se encuentran a disposición de la persona que los solicita. Por ejemplo, sólo el supervisor de la farmacia debe proporcionar el total del inventario para sustancias de productos sujetos a control. Deben invalidarse las transacciones realizadas por individuos no autorizados y que infrinjan la privacidad y seguridad de sistemas tales como la nómina y los registros de evaluación de empleados que determinen los niveles de pago, las promociones o la disciplina; archivos que contengan secretos comerciales y archivos que cuenten con información confidencial, tales como los datos de defensa. Petición al sistema para realizar una función incorrecta El tercer error no válido en las transacciones de entrada, es pedir al sistema que realice una función incorrecta. Por ejemplo, sería Iógico para un gerente de recursos humanos actualizar los registros de un empleado. Sin embargo, no sería válido pedirle al sistema crear un nuevo archivo cuando sólo debe actualizar el registro existente. Validación de los datos de entrada Es esencial que los datos de entrada sean válidos por si mismos, así como las transacciones realizadas con ellos. Para asegurar lo anterior se pueden incorporar diferentes pruebas en el software. Consideraremos siete posibles alternativas para validar la entrada. Evaluación de datos faltantes El primer tipo de prueba de validación verifica que no falten datos. En ciertas situaciones, todos los datos deben estar presentes. Por ejemplo, un archivo de seguro social para el pago de indemnizaciones no sería válido si no incluyera el número de documento del asegurado. Además, el registro debe incluir al dato principal que distinga un registro de los demás y el código de función que indique a la computadora que hacer con tal dato. El ingeniero de sistemas necesita relacionarse con los usuarios para determinar qué datos son esenciales y percatarse si hay casos excepcionales en que se acepten como datos válidos, a pesar de encontrarse incompletos. Evaluación de la longitud correcta del campo Un segundo tipo de prueba de validación verifica que la entrada cuente con una longitud de campo correcta. Por ejemplo, si la estación meteorológica de Omaha, Nebraska, que le reporta al servicio nacional computarizado del clima, le proporciona equivocadamente el código de la ciudad con dos letras (OM), en lugar del código nacional de las ciudades de tres letras (OMA), tal dato puede considerarse inválido, y en consecuencia, no procesarse. Evaluación del tipo o composición Este tipo de prueba de validación, verifica en los datos proporcionados que exclusivamente se integren con cifras, sin incluir letras o viceversa. Por ejemplo, un número de cuenta de tarjeta de crédito para American Express no debe incluir letras. Mediante la prueba de composición, el programa de American Express no debería aceptar un número de cuenta que incluye letras y números. Evaluación del rango o de racionalidad Estas pruebas de validación en realidad son una medida de sentido común, que contestan a la pregunta de que cuando la respuesta cae dentro de un rango aceptable o cuando es razonable dentro de los parámetros preestablecidos. Por ejemplo, si un usuario trata de verificar una fecha propuesta de envío, la prueba del rango no deberá permitir una fecha de envío para el día 32 de octubre, ni debería de aceptar un envío para el mes decimotercero. Una prueba de racionalidad verifica si el dato tiene sentido para la transacción. Por ejemplo, no es razonable aceptar una edad de 120 años para un nuevo empleado que se registre en la nómina. Pruebas para valores no válidos La verificación en la entrada de valores no válidos, funciona si sólo conforman una pequeña fracción. Esta prueba es de poco valor, en el caso de que contemos con datos no restringidos o predecibles. La prueba es útil para verificar aquellas respuestas en donde los datos se dividen en un número limitado de clases. Por ejemplo, una casa de bolsa que divida las cuentas en tres tipos, tales como clase 1: cuenta activa; clase 2: cuenta inactiva, y clase 3: cuenta cerrada. Los valores serían no válidos si se asignaran datos diferentes a cualquiera de estas tres clases. Prueba para la comparación de datos ya almacenados La siguiente prueba para la validación de datos de entrada que consideraremos, los compara con los datos que la computadora ya almacenó. Por ejemplo, un nuevo número de refacción puede compararse con la lista de inventario de refacciones, con el fin de asegurarse de que tal número existe y se esto capturando en forma correcta. Establecimiento de códigos de autovalidación Otro método para asegurar la precisión de los datos, en particular para los números de identificación consiste en utilizar un dígito de verificación de un mismo código. Este procedimiento incluye el comienza con un código numérico original, la realización de ciertos cálculos matemáticos hasta Ilegar a la derivación de un dígito de verificación y luego la adición de tal dígito de verificación al código original. El proceso matemático incluye la multiplicación de cada uno de los dígitos en el código original por un cierto factor de ponderación, la suma de estos resultados y luego la división de esta suma por un número que representa el valor del módulo. Este número es necesario porque la suma Ilega a ser un número grande y se necesita reducir el resultado a uno o dos dígito. El uso de dígitos de verificación El sistema de dígitos de verificación funciona de la siguiente manera: suponga que tenemos un número de repuesto 53411, este número debe teclearse al sistema y mientras ocurre esto, se pueden presentar diferentes tipos de errores. Un error posible consiste en equivocarse en uno de los dígitos. Por ejemplo, que el empleado registre 54411 en vez de 53411. Aunque sólo el dígito de los millares esto equivocado, implicará el envío de una repuesto equivocada. Un segundo tipo de error es transponer un dígito. Es muy común que el número intentado 53411 se teclee como el número 54311, y sólo por presionar dos teclas en orden inverso. Los errores de transposición son difíciles de detectar por el ser humano pero fácilmente se pueden evitar mediante el uso de un dígito de verificación.