domingo, 24 de febrero de 2013

ORGANIZACIÓN DE ARCHIVOS


  1.              Organización Secuencial
    El término organización secuencial implica que lógicamente los registros del archivo están almacenados consecutivamente; esto es, en forma adyacente, en el orden en que el usuario final los percibe. En particular se puede hacer una distinción entre archivos secuenciales ordenados y archivos secuenciales desordenados. Una organización de archivo secuencial ordenada almacena los registros lógicos secuencialmente pero en orden creciente (o decreciente) de acuerdo con los valores de alguna de sus claves, mientras que la organización de archivo secuencial no ordenada almacena los registros lógicos consecutivamente pero sin un orden específico.
    La organización secuencial es la organización de archivo más común. Los registros son almacenados uno tras otro en orden de llegada. Para acceder un registro determinado se deben leer todos los registros que están almacenados antes de éste. Cuando el orden secuencial coincide con el orden físico se dice que existe un orden serial (en una cinta magnética siempre se cumple esta característica).
    Operaciones:
    • La operación de inserción de un registro en un archivo organizado secuencialmente puede ser realizada de dos maneras:

    • Crear un nuevo archivo. Es costoso (en términos de número de transferencias de datos entre memoria principal y secundaria), pero puede la única forma posible en caso de que el archivo se encuentre organizado secuencialmente ordenado.

    • Agregarlo al final. De bajo costo. Puede NO ser útil en el caso de que el archivo encuentre organizado secuencialmente ordenado.

    • La operación de eliminación puede ser realizada de dos maneras:

    • Creando un nuevo archivo secuencial que no contenga el registro eliminado. Es de alto costo.

    • Marcar el registro en cuestión, es decir, realizar una eliminación lógica. Normalmente esta operación no es posible de realizar en dispositivos de acceso secuencial como las cintas magnéticas.

    A nivel físico, los bloques están almacenados "consecutivamente" ya sea:
    • Almacenados de tal forma que ellos están físicamente adyacentes y por lo tanto residen en la misma sola extensión (archivo secuencial físico); o

    • Almacenados de tal forma que pertenezcan a grupos (clusters) diferentes y, por lo tanto, pertenezcan a más de una extensión, con su adyacencia lógica mantenida vía punteros de disco. (archivo secuencial enlazado físico)
    Debido a que las operaciones que modifican el estado del archivo secuencial (sobre todo eliminación y modificación ) son costosas (en términos de tiempo de respuesta), la mayoría de las veces se postergan hasta que se hayan acumulado un cierto número de este tipo de operaciones, en un archivo especial llamado archivo de transacciones (el cuál en sí mismo puede ser un archivo organizado secuencialmente). Llegado un momento, todas las operaciones pendientes (almacenadas en el archivo de transacciones) son aplicadas "juntas", generando un nuevo archivo.
    Por todo lo anterior, se tiene que los archivos de organización secuencial se desempeñan bien para operaciones Batch (recuperar muchos registros) y Recuperar_Todos (recuperar todos los registros), y normalmente requieren de un espacio de almacenamiento bastante pequeño (por ejemplo, no necesitan de estructuras auxiliares como ocurre en los archivos ordenados de forma secuencial indexada).
    Como desventaja se tiene que no existe una manera rápida de acceder a un registro lógico específico (en contraste, por ejemplo, con lo que sucede en los archivos relativos y en los archivos indexados, en dónde es posible acceder a un registro determinado en pocos accesos).
    Un archivo almacenado en una cinta magnética está siempre organizado secuencialmente.
    En un disco duro, la organización secuencial puede ser lograda mediante una capa de "abstracción" de software; sin embargo, un archivo organizado en forma secuencial desaprovecha las características de acceso directo que proporciona el disco duro.
      
    1. Organización de Archivos Relativos
    En un archivo relativo existe una relación predecible entre la clave utilizada para identificar al registro en particular y la localización del registro dentro del archivo. El ordenamiento lógico de los registros no necesita tener ninguna relación con su secuencia física. Los registros no necesariamente aparecen físicamente ordenados de acuerdo con el valor de sus llaves.
    Cuando un archivo relativo se establece debe definirse una relación que será utilizada para obtener una dirección física a través de un valor de clave. Esta relación es llamada función de mapeo (también conocida como transformación KTA, Key-To-Address).
    R(Valor de Clave) -> Dirección
    Cuando se debe guardar un registro en un archivo relativo, la función de mapeo R se utiliza para traducir el valor de clave del registro en una dirección que indica dónde deberá almacenarse el registro.
    Cuando se desea recuperar un registro, el valor de clave de éste es entregado a la función R la cual traduce el valor de clave a una dirección en la cual está el registro.
    En general, los archivos organizados en forma relativa permiten acceder a registros en un número de accesos igual o cercano a uno.
    Los archivos relativos deben ser almacenados en medios de almacenamiento de acceso directo (como los discos duros).
    http://www.educacioninformatica.com/modules/tutorials/tutoriales/arch_sec_rel/arch_sec_relativos.htm

    PRUEBAS

                         PRUEBAS

    • UNITARIAS:Probar los modulos de forma individual partiendo de lo general a lo individual 
    • INTEGRALES:Es la prueba de los modulos en conjunto
    TIPOS DE PRUEBAS DEL SISTEMAS
    • P. FUNCIONALES:tienen por objetivo probar que los sistemas desarrollados, cumplan con las funciones específicas para los cuales han sido creados, es común que este tipo de pruebas sean desarrolladas por analistas de pruebas con apoyo de algunos usuarios finales, esta etapa suele ser la ultima etapa de pruebas y al dar conformidad sobre esta el paso siguiente es el pase a producción.
    • P. DE LA CAJA BLANCA: como pruebas de caja de cristal o pruebas estructurales) se centran en los detalles procedimentales del software, por lo que su diseño está fuertemente ligado al código fuente. El testeador escoge distintos valores de entrada para examinar cada uno de los posibles flujos de ejecución del programa y cerciorarse de que se devuelven los valores de salida adecuados
    • P. DE LA CAJA NEGRA:se denomina caja negra a aquel elemento que es estudiado desde el punto de vista de las entradas que recibe y las salidas o respuestas que produce, sin tener en cuenta su funcionamiento interno. En otras palabras, de una caja negra nos interesará su forma de interactuar con el medio que le rodea (en ocasiones, otros elementos que también podrían ser cajas negras) entendiendo qué es lo que hace, pero sin dar importancia a cómo lo hace.
    • P.BETA:Se llevan a cabo por los usuarios finales del software en los lugares de trabajo de los clientes. A diferencia de la prueba alfa, el desarrollador no está presente normalmente. Así, la prueba beta es una aplicación en vivo del software en un entorno que no puede ser controlado por el desarrollador. El cliente registra todos los problemas que encuentra durante la prueba beta e informa a intervalos regulares al desarrollador.
    • P.ALFA:Se lleva a cabo, por un cliente, en el lugar de desarrollo. Se usa el software de forma natural con el desarrollador como observador del usuario y registrando los errores y problemas de uso. Las pruebas alfa se llevan a cabo en un entorno controlado.
    • P. DE ESTRES:Esta prueba se utiliza normalmente para romper la aplicación. Se va doblando el número de usuarios que se agregan a la aplicación y se ejecuta una prueba de carga hasta que se rompe. Este tipo de prueba se realiza para determinar la solidez de la aplicación en los momentos de carga extrema y ayuda a los administradores para determinar si la aplicación rendirá lo suficiente en caso de que la carga real supere a la carga esperada.
    • P. FUNCIONAL:s una prueba basada en la ejecución, revisión y retroalimentación de las funcionalidades previamente diseñadas para el software. Las pruebas funcionales se hacen mediante el diseño de modelos de prueba que buscan evaluar cada una de las opciones con las que cuenta el paquete informático.
    • P. DE REGRESION: A cualquier tipo de pruebas de software que intentan descubrir las causas de nuevos errores (bugs), carencias de funcionalidad, o divergencias funcionales con respecto al comportamiento esperado del software, inducidos por cambios recientemente realizados en partes de la aplicación que anteriormente al citado cambio no eran propensas a este tipo de error. Esto implica que el error tratado se reproduce como consecuencia inesperada del citado cambio en el programa.
    • Prueba de estabilidad (soak testing)Esta prueba normalmente se hace para determinar si la aplicación puede aguantar una carga esperada continuada. Generalmente esta prueba se realiza para determinar si hay alguna fuga de memoria en la aplicación
    • Pruebas de picos (spike testing)
      La prueba de picos, como el nombre sugiere, trata de observar el comportamiento del sistema variando el número de usuarios, tanto cuando bajan, como cuando tiene cambios drásticos en su carga. Esta prueba se recomienda que sea realizada con un software automatizado que permita realizar cambios en el número de usuarios mientras que los administradores llevan un registro de los valores a ser monitorizados 
    • ETC.....
    http://es.wikipedia.org/wiki/Pruebas_de_rendimiento_del_software
    http://200.69.103.48/comunidad/grupos/arquisoft/fileadmin/Estudiantes/Pruebas/HTML%20-%20Pruebas%20de%20software/node56.html
     http://www.calidadysoftware.com/testing/pruebas_funcionales.php
     http://es.wikipedia.org/wiki/Pruebas_de_software#Pruebas_est.C3.A1ticas


    P. FUNCIONALES:son las pruebas que se realizan para revisar el programa en su etapa final para probar que tenga un buen funcionamiento.
    P. DE LA CAJA BLANCA:se basa en verificar que este correcto el código
    P. DE LA CAJA NEGRA:solo revisa la entrada y la salida sin importar lo interno.
    P.BETA: es la prueba que se realiza en un lugar no controlado por los desarolladores.
    P.ALFA: se lleva acabo en un lugar controlado por el desarollador.
    P. DE ESTRÉS: llevar  al punto extremo al programa.
    P. FUNCIONAL:es verificar el sistema mediante su ejecución.
    P. DE REGRESIÓN: es realizar una prueba  a la prueba.
    Prueba de estabilidad : sirve para determinar si puede aguantar un uso constante.
    Pruebas de picos (spike testing):para monitorear los cambios que hay en el sistema con un numero de usuarios.







    lunes, 28 de enero de 2013

    Una estructura de datos es una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulación.

    http://es.wikipedia.org/wiki/Estructura_de_datos

    La estructura de datos es una forma practica de  administrar los datos para tener un acseso mas ordenado a ellos y facilitar su manipulacion.

    ALAN JONATHAN MARTINEZ OSEGUERA

     

    Estructura de Datos Estaticas:Son aquellas en las que el tamaño ocupado en memoria se define antes de que el programa se ejecute y no puede modificarse dicho tamaño durante la ejecución del programa.
    Estas estructuras están implementadas en casi todos los lenguajes.
    Su principal característica es que ocupan solo una casilla de memoria, por lo tanto una variable simple hace referencia a un único valor a la vez, dentro de este grupo de datos se encuentra:
    a)Enteros
    b)Reales
    c)Caracteres
    d)Boléanos
    e)Enumerados
    f)Subrangos

    ESTRUCTURAS DE DATOS ESTÁTICAS
    1.- Simples o primíticas
    a) Boolean
    b) Char
    c) Integer
    d) Real

    2.- Compuestas
    a) Arreglos
    b) Conjuntos
    c) Strings
    d) Registros
    e) Archivos


    Estructura de Datos Dinamicas:
    No tienen las limitaciones o restricciones en el tamaño de memoria ocupada que son propias de las estructuras estáticas.
    Mediante el uso de un tipo de datos especifico, denominado puntero, es posible construir estructuras de datos dinámicas que no son soportadas por la mayoría de los lenguajes, pero que en aquellos que si tienen estas características ofrecen soluciones eficaces y efectivas en la solución de problemas complejos.
    Se caracteriza por el hecho de que con un nombre se hace referencia a un grupo de casillas de memoria.
    Es decir un dato estructurado tiene varios componentes.

    ESTRUCTURA DE DATOS DINAMICAS
    1.- Lineales
    a) Pila
    b) Cola
    c) Lista

    2.- No lineales
    a) Árboles
    b) Grafos
     
     
    http://wwwtemarioestructuradedatos.blogspot.mx/p/estructura-de-datos-dinamicas-y.html