martes, 24 de julio de 2012

Actividad 17

ACTIVIDAD 17

Actividades Obligatorias
    • Indique cinco ejemplos de sistemas de tiempo real basados en computadora. Indique que "estímulos" alimentan al sistema y qué dispositivos o situaciones controla o supervisa el sistema.
**Un sistema operativo de tiempo real es un sistema operativo que ha sido desarrollado para aplicaciones de tiempo real. Como tal, se le exige corrección en sus respuestas bajo ciertas restricciones de tiempo. Si no las respeta, se dirá que el sistema ha fallado. Para garantizar el comportamiento correcto en el tiempo requerido se necesita que el sistema sea predecible.
Usado típicamente para aplicaciones integradas, normalmente tiene las siguientes características:
  • No utiliza mucha memoria
  • Cualquier evento en el soporte físico puede hacer que se ejecute una tarea
  • Multi-arquitectura
  • Muchos tienen enfermedades predecibles para eventos electrónicos
Se caracterizan por presentar requisitos especiales en cinco áreas generales:
  • Determinismo
  • Sensibilidad
  • Control del usuario
  • Fiabilidad
  • Tolerancia a los fallos
  • consecuentemente mas fallos dados
En la actualidad hay un debate sobre qué es tiempo real. Muchos sistemas operativos de tiempo real tienen un programador y diseños de controladores que minimizan los periodos en los que las interrupciones están deshabilitadas, un número llamado a veces duración de interrupción. Muchos incluyen también formas especiales de gestión de memoria que limitan la posibilidad de fragmentación de la memoria y aseguran un límite superior mínimo para los tiempos de asignación y retirada de la memoria.
    • Proporcione tres ejemplos en los que los semáforos sean un mecanismo apropiados de sincronización de tareas.
**Un semáforo binario es un indicador (S) de condición que registra si un recurso está disponible o no. Un semáforo binario sólo puede tomar dos valores: 0 y 1. Si, para un semáforo binario, S = 1 entonces el recurso está disponible y la tarea lo puede utilizar; si S = 0 el recurso no está disponible y el proceso debe esperar.
Los semáforos se implementan con una cola de tareas o de condición a la cual se añaden los procesos que están en espera del recurso.
Sólo se permiten tres operaciones sobre un semáforo
- Inicializar
- Espera (wait)
- Señal (signal)
En algunos textos, se utilizan las notaciones P y V para las operaciones de espera y señal respectivamente.
Así pues, un semáforo binario se puede definir como un tipo de datos especial que sólo puede tomar los valores 0 y 1, con una cola de tareas asociada y con sólo tres operaciones para actuar sobre él.
    • Obtenga información sobre una o más herramientas de análisis formales para sistemas de tiempo real.
**El modelado formal de sistemas ofrece grandes ventajas. En primer lugar, permite eliminar la ambiguedad en la especificacion de un sistema, reduciendo de esa forma la posibilidad de malentendidos entre los diferentes componentes del grupo de desarrollo. Tambien posibilita la aplicacion de tecnicas de analisis formales que garanticen matematicamente la correcci´on del sistema, frente a los metodos tradicionales de prueba y error, que son utiles para detectar la presencia de errores, pero no garantizan su ausencia.
    • Describa las bases de datos en tiempo real
Como muchos sistemas de procesamiento de datos, los sistemas de tiempo real, frecuentemente, van junto con una función de gestión de base de datos. Sin embargo, puede parecer que las bases de datos distribuidas constituyen el método preferido en los sistemas de tiempo real, debido a que multitarea es muy común y que los datos se procesan frecuentemente en paralelo.
Actividades sugeridas
    • Explique los sistemas operativos en tiempo real
Hoy, dos amplias clases de sistemas operativos se utilizan los trabajos de tiempo real. Un sistema operativo de tiempo real diseñado exclusivamente para aplicaciones de tiempo real y sistemas operativos de propósito general que se han reforzado para suministrar capacidades de tiempo real.
    • ¿Cuáles son las características de un lenguaje de tiempo real?
Varias características a un lenguaje de tiempo real diferente de un lenguaje de propósito general. Estas incluyen la capacidad de multitarea, construcciones para implementación directa de funciones de tiempo real y características modernas de programación que ayuden a asegurar la corrección del programa.
    • Mencione los requisitos funcionales de un sistema de tiempo real
  • Manejo de interrupciones y cambio de contexto.
  • Tiempo de respuesta.
  • Razón de transferencia de datos y tiempo invertido.
  • Asignación de recursos y manejo de prioridades
  • Sincronización de tareas y comunicaciones entre tareas.

Autoevaluación
1.¿En qué consiste el diseño en tiempo real?
El software de tiempo real esta muy acoplado con el mundo externo, esto es, el software de tiempo real debe responder al ámbito del problema en un tiempo dictado por el ámbito del problema.
2. ¿Qué son los sistemas de tiempo real?
Los sistemas de tiempo real generan alguna acción en respuesta a sucesos externos. Para realizar esta función, ejecutan una adquisición y control de datos a alta velocidad bajo varias ligaduras de tiempo y fiabilidad.
3. ¿Cuáles son los sistemas operativos en tiempo real?
Hoy, dos amplias clases de sistemas operativos se utilizan los trabajos de tiempo real. Un sistema operativo de tiempo real diseñado exclusivamente para aplicaciones de tiempo real y sistemas operativos de propósito general que se han reforzado para suministrar capacidades de tiempo real. El uso de un ejecutivo de tiempo real hace factible el rendimiento en tiempo real para un sistema operativo de propósito general comportándose como software de aplicación, el ejecutivo ejecuta varias funciones del sistema operativo, particularmente las que afectan al rendimiento de tiempo real de una forma más rápida y eficiente que el sistema operativo de propósito general.
4. ¿En qué consiste la sincronización y comunicación de tareas? 
Un sistema de multitarea debe suministrar un mecanismo por que el que las tareas se pasen información unas a otras, así como para asegurar su sincronización. Para estas funciones, los sistemas operativos y los lenguajes con soporte de tiempo real, utilizan frecuentemente semáforos de colas, buzones o sistemas de mensajes. Los semáforos suministran sincronización y señalización pero no contienen información. Los mensajes son similares a los semáforos, excepto en aquellos que llevan una información sino que la contienen.


jueves, 19 de julio de 2012

Actividad 16

ACTIVIDAD 16


Actividades Obligatorias
    • Empleando publicaciones comerciales o recursos de internet de información de fondo, defina un conjunto de criterios pra evaluar herramientas para la ingeniería de software cliente/servidor.
**Las tecnologías de hardware, de software, de bases de datos y de redes contribuyen todas ellas a las arquitecturas de computadoras distribuidas y cooperativas. **
    • Investigue los últimos avances en el software para trabajo en grupo y desarrolle un resumen breve.
**Un sistema raíz típicamente será una gran computadora, actúa como deposito de los datos corporativos. El sistema raíz esta conectado con servidores (típicamente son estaciones de trabajo potentes, o PC) y que poseen un doble papel. Los servidores actúan para actualizar y solicitar los datos corporativos mantenidos por el sistema raíz. Además mantienen sistemas departamentales locales y desempeñan un papel clave al poner en red los PC de nivel de usuario a través de una red de área local (LAN). **
    • Ofrezca ejemplos de de tres o cuatro mensajes que pudieran dar lugar a una solicitud de un metodo de cliente mantenido en el servidor
 Servidor, mantener al cliente.
Cliente no perder servidor.
    • Investigue cuales son los componentes de software para sistemas cliente/servidor

**Servidores de archivos. El cliente solicita registros específicos de un archivo. El servidor transmite estos registros al cliente a través de la red.
Servidores de base de datos. El cliente envía solicitudes en lenguaje de consulta estructurado (SQL) al servidor. Estas se transmiten como mensajes a través de la red. El servidor procesa la solicitud SQL y halla la información solicitada, pasando únicamente los resultados al cliente.
Servidores de transacciones. El cliente envía una solicitud que invoca procedimientos remotos en el centro servidor. Los procedimientos remotos pueden ser una conjunto de sentencias SQL. Se produce una transacción cuando una solicitud da lugar a la ejecución de procedimientos remotos y a la transmisión del resultado devuelto al cliente.
Servidores de grupos de trabajo. Cuando el servidor proporciona un conjunto de aplicaciones que hacen posible la comunicación entre clientes (y entre las personas que los usan) mediante el uso de texto, imágenes, boletines electrónicos, vídeo y otras representaciones, existe una arquitectura de grupos de trabajo.**
Actividades sugeridas
    • Sugiera cinco aplicaciones en las cuales un servidor principal parezca una estrategia de diseño adecuada. 
    • Sugiera cinco aplicaciones en las cuales el cliente principal parezca ser una estrategia de diseño adecuada
    • Investigue un lenguaje de consulta estructurado (SQL) y proporcione un breve ejemplo de la forma en que se podría caracterizar una transacción empleando ese lenguaje.
El lenguaje de consulta estructurado o SQL (por sus siglas en inglés structured query language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en estas. Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo efectuar consultas con el fin de recuperar -de una forma sencilla- información de interés de una base de datos, así como también hacer cambios sobre ella.

Autoevaluación
¿En qué consiste el diseño en ambiente de redes?
**Las tecnologías de hardware, de software, de bases de datos y de redes contribuyen todas ellas a las arquitecturas de computadoras distribuidas y cooperativas. **
¿Cómo se debe ser la estructura de los sistemas cliente / servidor?
Una estructura cliente/servidor, la computadora que reside de otra computadora se denomina servidor, y las computadoras de nivel inferior se denominan clientes. Los clientes solicitan servicios, y el servidor los proporciona. Sin embargo, en el contexto de la arquitectura representada en la siguiente figura, se pueden llevar a cabo un cierto numero de implementaciones distintas.
Servidores de archivos. El cliente solicita registros específicos de un archivo. El servidor transmite estos registros al cliente a través de la red.
Servidores de base de datos. El cliente envía solicitudes en lenguaje de consulta estructurado (SQL) al servidor. Estas se transmiten como mensajes a través de la red. El servidor procesa la solicitud SQL y halla la información solicitada, pasando únicamente los resultados al cliente.
Servidores de transacciones. El cliente envía una solicitud que invoca procedimientos remotos en el centro servidor. Los procedimientos remotos pueden ser una conjunto de sentencias SQL. Se produce una transacción cuando una solicitud da lugar a la ejecución de procedimientos remotos y a la transmisión del resultado devuelto al cliente.
Servidores de grupos de trabajo. Cuando el servidor proporciona un conjunto de aplicaciones que hacen posible la comunicación entre clientes (y entre las personas que los usan) mediante el uso de texto, imágenes, boletines electrónicos, vídeo y otras representaciones, existe una arquitectura de grupos de trabajo.
¿Cuáles son las cinco configuraciones diferentes para la asignación de componentes de software? 
Presentación distribuida. En este enfoque la lógica de la base de datos y la lógica de la aplicación permanecen en el servidor, típicamente en una computadora central. El servidor contiene también la lógica para preparar información de pantalla, empleando un software tal como CICS. Se utiliza un software especial basado en PC para transformar la información de pantalla basada en caracteres que se transmite desde el servidor en una presentación IGU en un PC.
Presentación remota. La lógica primaria de la base de datos y de la aplicación permanecen en el servidor, y los datos enviados por el servidor serán utilizados por el cliente para preparar la presentación del usuario.
Lógica distribuida. Se asignan al cliente todas las tareas de presentación del usuario y también los procesos asociados a la introducción de datos tales como la validación de nivel de campo, la formulación de consultas de servidor, y las solicitudes de informaciones de actualizaciones del servidor. Se asignan al servidor las tareas de gestión de las bases de datos, y los procesos para las consultas del cliente, para actualizaciones de archivos del servidor, para control de versión de clientes, y para aplicaciones de ámbito general de la empresa.
Gestión de datos remota. Las aplicaciones del servidor crean una nueva fuente de datos dando formato a los datos que se han extraído de alguno otro lugar. Las aplicaciones asignadas al cliente se utilizan para explotar los nuevos datos a los que se ha dado formato mediante el servidor.
Bases de datos distribuidas. Los datos de que consta la base de datos se distribuyen entre múltiples clientes y servidores. Consiguientemente, el cliente debe de admitir componentes de software de gestión de datos así como componentes de aplicación y de IGU.
 ¿Cómo debe ser el diseño para sistemas cliente/servidor?
Cuando se diseña software para su implementación empleando una arquitectura cliente/servidor, el enfoque de diseño debe de ser "personalizado" para adecuarlo a los problemas siguientes:
  • El diseño de datos domina el proceso de diseño. Para utilizar efectivamente las capacidades de un sistema de gestión de bases de datos relacional (SGBDR) o un sistema de gestión de bases de datos orientado a objetos (SGBDOO) el diseño de los datos pasa a ser todavía más significativo que en las aplicaciones convencionales.
  • Cuando se selecciona el paradigma controlado por sucesos, el modelado del comportamiento (una actividad de análisis), deberá de realizarse y será preciso traducir los aspectos orientados al control implícitos en el modelo de comportamiento al modelo de diseño.
  • El componente de interacción/presentación del usuario de un sistema C/S implementa todas aquellas funciones que se asocian típicamente con una interfaz gráfica de usuario (IGU).
  • Suele seleccionarse un punto de vista orientado a objetos para el diseño. En lugar de la estructura secuencial que proporciona un lenguaje de procedimientos se proporciona una estructura de objetos mediante la vinculación entre los sucesos iniciados en la IGU y una función de gestión de sucesos que reside en el software basado en el cliente.
¿Para qué es necesario el diseño de bases de datos en el ambiente de redes?
**El diseño de bases de datos se utiliza para definir y después especificar la estructura de los objetos de negocios que se emplean en el sistema cliente/servidor. **
 

martes, 17 de julio de 2012

Actividad 15

ACTIVIDAD 15
Actividades Obligatorias
    • Liste algunos ejemplos de entidades y sus atributos.
-ENTIDAD: Empleado / -ATRIBUTOS: id_empleado, nombre, apellido, direccion.
-ENTIDAD: Cliente / -ATRIBUTOS: id_cliente, nombre, apellido, direccion.
-ENTIDAD: Producto / -ATRIBUTOS: id_producto, nombre, compañia, presentacion.
    • Defina el término metadato ¿cuál es su propósito?.
-Son datos acerca de los datos del archivo o base de datos. Los metadatos describen el nombre dado y la longitud asignada a cada concepto de datos. Los metadatos también describen la longitud y composición de cada uno de los registros.
    • ¿Cuáles son las ventajas de organizar el almacenamiento de datos como archivos separados?
**Organización de archivos de dispersión. La dispersión (hashing) es el proceso de calcular una dirección a partir de la llave de registro.
Hay muchas técnicas de dispersión. Una común es dividir el numero original entre un numero primo que se aproxime a las posiciones de almacenamiento y luego usar el residuo como la dirección.**

    • ¿Cuáles son las ventajas de organizar el almacenamiento de datos usando un enfoque de base de datos?
    • Liste los tipos de archivo usados comunmente en archivos convencionales ¿cuáles de éstos son archivos temporales?
-Archivo de Ventas. 
-Archivo de Personal.
Actividades sugeridas
    • ¿Qué sucede frecuentemente cuando se usa luna organización de archivos revuelta?
-Un archivo contiene grupos de registros usados para proporcionar información para operación, planeación administración y toma de decisiones.
    • Nombre los tres tipos principales de organización de base de datos
-La realidad.
-Los datos.
-Los metadatos.
    • Indique las diferencias entre "ordenar" e "indexar".
-ORDENAR: Ordena y tiene un orden en cuanto a una busqueda.
-INDEXAR: Divide su busqueda y la lleva a una especie de indice y asi mejora su busqueda.

Autoevaluación
 ¿Cual es el diseño de base de datos? 
-Primero, los datos tienen que estar disponibles cuando el usuario quiere usarlos. Segundo, los datos deben ser precisos y consistentes (deben poseer integridad). Aparte de esto, los objetivos del diseño de base de datos incluyen el almacenamiento eficiente de los datos, así como su eficiente actualización y recuperación.
 ¿Qué son las bases de datos? 
-Es una fuente central de datos que esta pensada para que sea compartida por muchos usuarios con una diversidad de aplicaciones.
 ¿cuáles son los tipos de archivos? 
-Los archivos pueden ser usados para guardar datos durante un periodo indefinido de tiempo o pueden ser usados para guardar datos temporalmente para un propósito específico. Los archivos maestros y los archivos de tablas son usados para guardar datos durante un periodo largo. Los archivos temporales son llamados, por lo general, archivos de transacciones, archivos de trabajo o archivos de reporte.
 ¿En que consiste la organización secuencial?
-Cuando los registros están físicamente en orden en un archivo se dice que el archivo es un archivo secuencial. Cuando es actualizado un archivo secuencial es necesario recorrer todo el archivo. Debido a que los registros no pueden ser insertados en la parte media del archivo, el archivo secuencial es por lo general, copiado durante el proceso de actualización.
¿Cuáles son las listas encadenadas?
-Cuando se guardan archivos en dispositivos de acceso directo, tales como disco o tambor, las opciones se expanden. Los registros pueden ser ordenados en forma lógica, en vez de física, usando listas encadenadas. Las listas encadenadas se logran usando un juego de apuntadores para dirigirse al siguiente registro lógico que se encuentre ubicado en cualquier parte del archivo.

jueves, 5 de julio de 2012

Actividad 14

ACTIVIDAD 14

Actividades Obligatorias
    • ¿Cuáles son los objetivos del diseño para las formas y pantallas del entrada?.
    • Liste los cuatro lineamientos para el buen diseño de formas.
      1. Haga que las formas sean fáciles de llenar.
      2. Asegúrese de que las formas satisfacen el objetivo para el que fueron diseñadas.
      3. Diseñe formas que aseguren el llenado preciso.
      4. Mantenga las formas atractivas.
    • ¿Cuáles son las siete secciones de una buena forma?
      1. Encabezado.
      2. Identificación y acceso.
      3. Instrucciones
      4. Cuerpo
      5. Firma y verificación
      6. Totales
      7. Comentarios.
    • Liste cuatro tipos de titulos que se usan en formas
    • Flujo de formas.
    • Secciones de una forma.
    • Diseño de Formas Atractivas
    • Diseño de Formas con Ayuda de Computadoras.
Actividades sugeridas
    • ¿Qué es una forma especial?
    • ¿Cuáles son las 3 secciones simples para simplificar una pantalla?
      • La parte superior de la pantalla tiene una sección de encabezado, parte de la cual está escrita en el software para describir al usuario en que parte del paquete se encuentra. El resto del encabezado puede consistir del nombre de archivo creado por el usuario.
      • La sección media es llamada el cuerpo de la pantalla. Este puede ser usado para la captura de datos, y es organizado de izquierda a derecha y de arriba hacia abajo. Los títulos e instrucciones deben ser proporcionados en esta sección parta que ayuden al usuario a dar los datos adecuados en el lugar correcto. También se deben proporcionar al usuario las definiciones de campos que muestren que tantos datos se permite en cada campo de la pantalla.
      • La tercera sección de la pantalla es la sección de comentarios e instrucciones: esta sección puede desplegar un menú corto de comandos que recuerden al usuario los puntos básicos, tales como cambiar pantallas o funciones, guardar el archivo o terminar la captura. La inclusión de estos puntos básicos puede hacer que los usuarios sin experiencia se encuentren mucho mas seguros acerca de su habilidad para operar la computadora sin causar un error fatal.
    • Liste 4 elementos de diseño de interfaz gráfica. Junto concada uno, decriba cuando podría ser adecuado incorporar en el diseño de pantalla.
    • Buen Diseño de Pantalla
      Mucho de lo que ya hemos dicho acerca del buen diseño de formas se aplica también al diseño de pantallas. Nuevamente, el usuario debe permanecer presente en los pensamientos del analista durante el diseño de pantallas de terminales de desplegado visual (VDT). Bien diseñadas deben satisfacer los objetivos de efectividad, precisión, facilidad de uso, consistencia, simplicidad y atractivo. Todos estos objetivos se logran mediante el uso de principios básicos de diseño, conocimiento de lo que es necesario como entrada para el sistema y una comprensión sobre la manera en que responden los usuarios a los diferentes elementos de las formas y pantallas.
  • Lineamientos para el diseño de pantalla
    Hay cuatro lineamientos para el diseño de pantalla.
    1. Mantener la pantalla simple.
    2. Mantener consistente la presentación de la pantalla.
    3. Facilitar al usuario el movimiento entre pantallas.
    4. Crear una pantalla atractiva.
    Secciones de una Pantalla
    La pantalla cuenta con tres secciones:
    • La parte superior de la pantalla tiene una sección de encabezado, parte de la cual está escrita en el software para describir al usuario en que parte del paquete se encuentra. El resto del encabezado puede consistir del nombre de archivo creado por el usuario.
    • La sección media es llamada el cuerpo de la pantalla. Este puede ser usado para la captura de datos, y es organizado de izquierda a derecha y de arriba hacia abajo. Los títulos e instrucciones deben ser proporcionados en esta sección parta que ayuden al usuario a dar los datos adecuados en el lugar correcto. También se deben proporcionar al usuario las definiciones de campos que muestren que tantos datos se permite en cada campo de la pantalla.
    • La tercera sección de la pantalla es la sección de comentarios e instrucciones: esta sección puede desplegar un menú corto de comandos que recuerden al usuario los puntos básicos, tales como cambiar pantallas o funciones, guardar el archivo o terminar la captura. La inclusión de estos puntos básicos puede hacer que los usuarios sin experiencia se encuentren mucho mas seguros acerca de su habilidad para operar la computadora sin causar un error fatal.