Base de datos OZZO
jueves, 26 de julio de 2012
martes, 24 de julio de 2012
Actividad 17
Actividades
Obligatorias
- Indique
cinco ejemplos de sistemas de tiempo real basados en computadora. Indique
que "estimulos" alimentan al sistema y qué dispositivos o
situaciones controla o supervisa el sistema.
· LynxOS
· RedHat Embedded Linux
· eCos (Linux)
· SOOS
· Ubuntu Studio (Linux)
· VxWorks
· Windows CE
· Linchos
- Proporcione
tres ejemplos en los que los semaforos sean un mecanismo apropiados de
sincronización de tareas.
La
computadora digital se ha convertido en una maquina omnipresente en al vida
diaria de todos nosotros. Las computadoras nos permiten ver juegos, así como
contar el tiempo, optimizar el gasto de gasolina de nuestras ultimas
generaciones de coches y programar a nuestros aparatos.
Todas estas
interacciones con las computadoras sean útiles o intrusivas son ejemplos de
computación de tiempo real. La computadora esta controlando algo que interactua
con la realidad sobre una base de tiempo de hecho, el tiempo es la esencia de
la interacción.
- Obtenga
información sobre una o más herramientas de análisis formales para
sistemas de tiempo real.
Describa las bases de datos en tiempo real
Los sistemas SCADA por ser multitareas (realizan operaciones de lectura/escritura I/O, registro de datos, alarmas, tendencias, cálculos, etc al mismo tiempo) poseen una memoria o base de datos de tiempo real basada en su mayoría, en el valor de tags/variables que el sistema tiene configurado y que pueden cambiar de forma externa (lectura desde un PLC) o interna (ingresada por el usuario). Estos datos cambiantes viven en esa base de datos de tiempo real para ser usada por cualquier otra aplicación o variable dentro del SCADA que pueda necesitarla (son de uso público).
Actividades
sugeridas
- Explique
los sistemas operativos en tiempo real
· LynxOS
· RedHat Embedded Linux
· eCos (Linux)
· SOOS
· Ubuntu Studio (Linux)
· VxWorks
· Windows CE
· Linchos
- ¿Cuáles
son las carácteristicas de un lenguaje de tiempo real?
Básicamente los sistemas de tiempo real se definen como sistemas informáticos que tienen la capacidad de interactuar rápidamente con su entorno físico, el cual puede realizar funciones de supervisión o control para su mismo beneficio.
Todos los sistemas de tiempo real tienen la facultad de ejecutar actividades o tareas en de intervalos de tiempo bien definidos.
Todas las tareas son ejecutadas inmediatamente en una forma concurrente, esto es para sincronizar el funcionamiento del sistema con la simultaneidad de acciones que se presentan en el mundo físico.
En los sistemas de tiempo real los intervalos de tiempo en que se ejecutan las tareas se definen por un esquema de activación y por un plazo de ejecución. En lo que respecta al esquema de activación puede ser periódico, es decir en intervalos regulares, o también puede ser aperiódico, es decir,en respuesta a sucesos externos que ocurren de forma irregular.
La mayoría de los STR son utilizados cuando existen requerimientos de tiempo muy rígidos en las operaciones o en el flujo de datos, generalmente son requeridos como sistemas de control en una aplicación dedicada.
- Mensione
los requisitos funcionales de un sistema de tiempo real
Es
importante que el lenguaje de programación soporte directamente la multitarea
debido a que los sistemas de tiempo real deben responder a sucesos asíncronos
que ocurren simultáneamente. Aunque sistemas operativos de tiempo real dan
capacidad multitarea, frecuentemente existe software de tiempo real empotrado
sin un sistema operativo. En vez de ello, las aplicaciones se escriben en un
lenguaje que da un soporte de tiempo real suficiente para la ejecución del
programa de tiempo real. El soporte de tiempo de ejecución requiere menos
memoria que un sistema operativo y puede ser adaptado a una aplicación,
incrementando así el rendimiento.
Autoevaluación
1. ¿En qué consisite 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. Debido a que el software de tiempo real debe operar bajo
restricciones de rendimiento muy rigurosas, el diseño del software esta
conducido frecuentemente, tanto por la arquitectura del hardware como por la
del software, por las características del sistema operativo, por los requisitos
de la aplicación y tanto por los extras del lenguaje de programación como
prospectos de diseño.
2. ¿Qué son los sistemas de tiempo
real?
Como
cualquier sistema basado en computadora, un sistema de tiempo real debe
integrar hardware, software, hombres y elementos de una base de datos, par
conseguir adecuadamente un conjunto de requisitos funcionales y de rendimiento.
El problema
para los sistemas de tiempo real es realzar la asignación importante como la
función, pero las decisiones de asignación relativas al rendimiento son
frecuentemente difíciles de hacer con seguridad.
3. ¿Cuáles son los sistemas operativos
en tiempo real?
QNX
· LynxOS
· RedHat Embedded Linux
· eCos (Linux)
· SOOS
· Ubuntu Studio (Linux)
· VxWorks
· Windows CE
· Linchos
4. ¿En qué consiste la siscronizació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.
Los semáforos
de colas son primitivos de software que ayudan a gestionar el trafico.
Suministran un método para dividir varias colas. Por ejemplo colas de tareas en
espera de recursos, acceso a bases de datos o dispositivos, así como colas de
recursos y dispositivos. Los semáforos coordinan (sincronizan) las tareas en
espera con lo que estén esperando, sin dejar que las tareas o recursos
interfieran entre sí.
jueves, 19 de julio de 2012
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.
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.
Investigue los últimos avances en el software para trabajo en grupo y desarrolle un resumen breve.
MySQL: Licencia Dual, depende del uso. No se sabe hasta cuándo permanecerá así, ya que ha sido comprada por Oracle. Sin embargo, existen 2 versiones: una gratuita que sería equivalente a la edición "express" SQL server de Microsoft Windows, y otra más completa de pago.
Advantage Database
dBase
FileMaker
Fox Pro
gsBase
IBM DB2: Universal Database (DB2 UDB)
IBM Informix
Interbase de CodeGear, filial de Borland
MAGIC
Microsoft Access
Microsoft SQL Server
NexusDB
Open Access
Oracle
Paradox
PervasiveSQL
Progress (DBMS)
Sybase ASE
Sybase ASA
Sybase IQ
WindowBase
IBM IMS Base de Datos Jerárquica
CA-IDMS
Ofrezca ejemplos de de tres o cuatro mensajes que pudieran dar lugar a una solicitud de un metodo de cliente mantenido en el servidor
Investigue cuales son los componentes de software para sistemas cliente/servidor
Actividades sugeridas
Sugiera cinco aplicaciones en las cuales un servidor principal parezca una estrategia de diseño adecuada.
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.
Sugiera cinco aplicaciones en las cuales el cliente principal parezca ser una estrategia de diseño adecuada
Extracción manual. Se permite al usuario copiar manualmente los datos adecuados de un servidor a un cliente. Este enfoque resulta útil cuando el usuario requiere unos datos estáticos, y cuando se puede dejar el control de la estación en manos del usuario.
Instantánea. Esta tecnica automatiza la extracción malual al especificar una "instantánea" de los datos que deberan de transferirse desde un cliente hasta un servidor a intervalos predefinidos. Este enfoque es útil para distribuir unos datos relativemtne estaticos que solamente requieran actualizaciones infrecuentes.
Duplicación. Se puede utilizar esta tecnica cuando es preciso mantener multiples copias de los datos en distintos centros. En este caso, el nivel de complejidad se incomplementa porque la consistencia de los datos, las actualizaciones, la seguridad, y el procesamiento deben de coordinarse entre los multiples centros.
Fragmentación. Este enfoque, la base de datos del sistema se fragmenta entre multiples máquuienas. Aunque resulta intrigante en teoria, la fragmentación es excepcionalmente dificil de implementar, y haste el momento no es frecuente encontrarla.
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.
Es el lenguaje que se utiliza para realizar las consultas a las base de datos... ingresar, modificar, borrar registros, hacer reportes y todo tipo de operacion etc...
Es utilizado por los lenguajes de programacion... osea estan casados...
ahora... la base de datos se encuentra en un servidor... el cual puede ser, SQL SERVER, MYSQL, POSTGRESQL, INFORMIX, ORACLE etc...
entonces el flujo seria...
yo programo un sistema en un lenguaje de programacion, entonces conecto el sistema al servidor de la base de datos, y mediante comandos SQL, obtengo, modifico o elimino datos...
entonces..
SQL es un lenguaje utilizado por los lenguajes de progamacion para interactuar con las bases de datos...
A lo que te tienes que enfocar, es a la instalacion de estos servidores que mencione, al backup de sus bases de datos, restauracion de las mismas, osea importacion/exportacion... y a la creacion de usuarios... y por que no al tunning de estas tambien... existes software pa mejorar el rendimiento y eso...
Autoevaluación
1. ¿En qué consiste el diseño en ambiente de redes?
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.
2. ¿Cómo se debe ser la estructura de los sistemas cliente / servidor?
3. ¿Cuáles son las cinco configuraciones diferentes para la asignación de componentes de software?
Extracción manual. Se permite al usuario copiar manualmente los datos adecuados de un servidor a un cliente. Este enfoque resulta útil cuando el usuario requiere unos datos estáticos, y cuando se puede dejar el control de la estación en manos del usuario.
Instantánea. Esta tecnica automatiza la extracción malual al especificar una "instantánea" de los datos que deberan de transferirse desde un cliente hasta un servidor a intervalos predefinidos. Este enfoque es útil para distribuir unos datos relativemtne estaticos que solamente requieran actualizaciones infrecuentes.
Duplicación. Se puede utilizar esta tecnica cuando es preciso mantener multiples copias de los datos en distintos centros. En este caso, el nivel de complejidad se incomplementa porque la consistencia de los datos, las actualizaciones, la seguridad, y el procesamiento deben de coordinarse entre los multiples centros.
Fragmentación. Este enfoque, la base de datos del sistema se fragmenta entre multiples máquuienas. Aunque resulta intrigante en teoria, la fragmentación es excepcionalmente dificil de implementar, y haste el momento no es frecuente encontrarla.
4. ¿Cómo debe ser el diseño para sistemas cliente/servidor?
5. ¿Para qué es necesario el diseño de bases de datos en el ambiente de redes?
Un buen diseño de bases de datos nos lleva a tener datos confiables, robustos y que no requieres de reingeniería en mucho tiempo a menos que así se decida en algún momento de la vida útil de la base de datos; en otro lado la importancia de tener acervo del diseño en medios magnéticos y en papel, para tener la información del diseño disponible y que sea comprensible para otras personas que interactúen con la base de datos. Además de conocer la responsabilidad del administrador de base de datos pues este es pieza importante en el mantenimiento y aseguramiento de los archivos que conforman la base de datos, es quien dará la garantía que la información esté disponible en cualquier momento o bien asesorar en el uso de esta misma.
martes, 17 de julio de 2012
Actividad 15
Actividades Obligatorias
Liste algunos ejemplos de entidades y sus atributos.
Entidades: Empleado Atributos:Id_empleado,Nombre Apellido,Direccion
Entidades: Cliente Atributo: Id_cliente,Nombre Cliente Apellido Direccion
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 usando un enfoque de base de datos?
Liste los tipos de archivo usados comunmente en archivos convencionales ¿cuáles de éstos son archivos temporales? Si el archivo maestro es guardado usando métodos de archivo convencional, se reserva un área de expansión al final de cada registro. Esto proporciona espacio para la adición de nuevos campos al registro si es que cambian las necesidades del negocio. Si el archivo es parte de una estructura de base de datos, no se requiere el área de expansión.
¿Qué sucede frecuentemente cuando se usa luna organización de archivos revuelta?
Los tipos principales de organización de base de datos Si el archivo maestro es guardado usando métodos de archivo convencional, se reserva un área de expansión al final de cada registro. Esto proporciona espacio para la adición de nuevos campos al registro si es que cambian las necesidades del negocio. Si el archivo es parte de una estructura de base de datos, no se requiere el área de expansión.
Indique las diferencias entre "ordenar" e "indexar".
Relación uno a uno (indicada como 1:1).
Relación de uno a muchos (indicada 1:M), por ejemplo un medico tiene asignados muchos pacientes, pero un paciente tiene asignado un solo medico.
Relación muchos a muchos (indicada M:N) describe la posibilidad de que las entidades tengan muchas asociaciones en cualquier dirección. Los archivos maestros secuenciales se usan cuando el hardware lo requiere o cuando el acceso normal requiere que sean accesados la mayor parte de los registros. La organización secuencial es usada normalmente para todos los tipos de archivos, a excepción de los archivos maestros.
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.
Contienen registros de un grupo de entidades. Los atributos pueden ser actualizados frecuentemente, pero los registro mismos son relativamente permanentes. Estos archivos tienden a tener grandes registros que contienen toda la información acerca de una entidad de datos. Cada registro contiene, por lo general, una llave primaria y varias llaves secundarias. Frecuentemente, los archivos maestros son guardados como archivos indexados o secuenciales con índice.
la ventaja de permitir que los usuarios tengan su propia vista de los datos. Los usuarios no necesitan preocuparse de la estructura actual de la base de datos o de su almacenamiento físico.
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.
Archivos maestros. Contienen registros de un grupo de entidades. Los atributos pueden ser actualizados frecuentemente, pero los registro mismos son relativamente permanentes. Estos archivos tienden a tener grandes registros que contienen toda la información acerca de una entidad de datos. Cada registro contiene, por lo general, una llave primaria y varias llaves secundarias. Frecuentemente, los archivos maestros son guardados como archivos indexados o secuenciales con índice.
Archivos de tablas. Un archivo de tabla contiene datos usados para calcular mas datos o mediadas de desempeño. Los archivos de tablas por lo general son leídos solamente por un programa.
Archivos de transacción. Se usa para capturar cambios para actualizar el archivo maestro y para producir reportes. Los archivos de transacción son mantenidos, por lo general, a una longitud mínima. Pueden contener varios tipos de registro diferentes.
Archivos de trabajo. Un programa puede a veces ejecutar mas eficientemente si se usa un archivo de trabajo. Un ejemplo común de un archivo de trabajo es aquel que sido reordenado para que los registros puedan ser accesado mas rápidamente.
Archivos de reporte. Cuando es necesario ejecutar un programa, pero no se dispone de impresora (o esta ocupada imprimiendo otros trabajos), se usa un archivo de reporte. El enviar la salida a un archivo en vez de a la impresora es llamado spooling. Posteriormente, cuando el dispositivo se encuentra listo, se puede imprimir el documento. Los archivos de reporte son muy útiles, debido a que los usuarios pueden llevar los archivos a otros sistemas de computadora y hacer la salida en dispositivos especiales, tales como graficadores, impresoras láser, unidades de microficha y hasta maquinas de composición tipográfica computarizadas.
Actividades sugeridas
Tipo 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.
Archivos maestros. Contienen registros de un grupo de entidades. Los atributos pueden ser actualizados frecuentemente, pero los registro mismos son relativamente permanentes. Estos archivos tienden a tener grandes registros que contienen toda la información acerca de una entidad de datos. Cada registro contiene, por lo general, una llave primaria y varias llaves secundarias. Frecuentemente, los archivos maestros son guardados como archivos indexados o secuenciales con índice.
Archivos de tablas. Un archivo de tabla contiene datos usados para calcular mas datos o mediadas de desempeño. Los archivos de tablas por lo general son leídos solamente por un programa.
Autoevaluación
1. ¿Cual es el diseño de base de datos?
Entidades. Una entidad puede ser una persona, lugar o cosa. Cualquier entidad también puede ser un evento o unidad de tiempo.
Relaciones. Las relaciones son asociaciones entre entidades (también llamadas asociaciones de datos):
Atributos. Es alguna característica de una entidad. Puede haber muchos atributos para cada cantidad. Son de hecho las unidades más pequeñas en un archivo o base de datos. Pueden tener valores, los cuales pueden ser de longitud fija o variable, pueden ser alfabéticos, numéricos o alfanuméricos.
Registros. Es un conjunto de conceptos de datos que tienen algo en común con la entidad descrita. La mayoría de los registros son de longitud fija y, por lo tanto, no hay necesidad de determinar la longitud del registro cada vez.
Llaves. Es uno de los conceptos de atributos de un registro. Cuando una llave identifica en forma única a un registro es llamada la llave primaria.
2. ¿Qué son las bases de datos?
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar fácilmente. A continuación te presentamos una guía que te explicará el concepto y características de las bases de datos.
3. ¿cuáles son los tipos de archivos?
Archivos de tablas. Un archivo de tabla contiene datos usados para calcular mas datos o mediadas de desempeño. Los archivos de tablas por lo general son leídos solamente por un programa.
Archivos de transacción. Se usa para capturar cambios para actualizar el archivo maestro y para producir reportes. Los archivos de transacción son mantenidos, por lo general, a una longitud mínima. Pueden contener varios tipos de registro diferentes.
Archivos de trabajo. Un programa puede a veces ejecutar mas eficientemente si se usa un archivo de trabajo. Un ejemplo común de un archivo de trabajo es aquel que sido reordenado para que los registros puedan ser accesado mas rápidamente.
Archivos de reporte. Cuando es necesario ejecutar un programa, pero no se dispone de impresora (o esta ocupada imprimiendo otros trabajos), se usa un archivo de reporte. El enviar la salida a un archivo en vez de a la impresora es llamado spooling. Posteriormente, cuando el dispositivo se encuentra listo, se puede imprimir el documento. Los archivos de reporte son muy útiles, debido a que los usuarios pueden llevar los archivos a otros sistemas de computadora y hacer la salida en dispositivos especiales, tales como graficadores, impresoras láser, unidades de microficha y hasta maquinas de composición tipográfica computarizadas.
4. ¿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.
5. ¿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, 28 de junio de 2012
Actividad 12
Actividades Obligatorias
Explique brevemente con sus palabras ¿como pasar del analisis al diseño?.
Cuales son las decisiones que el diseñador deber tomar?
Organizar el sistema en subsistemas.
Identificar la concurrencia inherente al problema.
Asignar los subsistemas a los procesadores y tareas.
Seleccionar una aproximación para la administración de almacenes de datos.
Manejar el acceso a recursos globales.
Seleccionar la implementación de control en software.
Manejar las condiciones de contorno.
Establecer la compensación de prioridades.
Describa cada uno de ellas.
Explique que es la arquitectura del sistema
Explique que es la arquitectura global?
¿Cuál es la diferencia entre arquitectura del sistema y arquitectura global?
El análisis debe indicar como realizar y aplicar el diseño
El diseño de sistemas es la primera fase de diseño en la cual se selecciona la aproximación básica para resolver el problema. Durante el diseño del sistema, se decide la estructura y el estilo global. La arquitectura del sistema es la organización global del mismo en componentes llamados subsistemas. La arquitectura proporciona el contexto en el cual se toman decisiones más detalladas en una fase posterior del diseño. Al tomar decisiones de alto nivel que se apliquen a todo el sistema, el diseñador desglosa el problema en subsistemas, de tal manera que sea posible realizar más trabajo por parte de varios diseñadores que trabajaran independientemente en distintos subsistemas. El diseñador de sistemas debe tomar decisiones
Actividades sugeridas
l. La arquitectura del sistema es la organización global del mismo en componentes llamados subsistemas.
Con frecuencia, la arquitectura global de un sistema se puede se puede seleccionar basándose en su similitud con otros sistemas anteriores.
La arquitectura proporciona el contexto en el cual se toman decisiones más detalladas en una fase posterior del diseño.
Autoevaluación
Actividad 11
Actividades Obligatorias
Describa con sus propias palabras que es el diseño.
El diseño es el proceso de determinar cual de muchas posibles soluciones es la mejor para lograr lo que se necesita hacer, respetando las restricciones tecnológicas y de presupuesto del proyecto
Diga con sus propias palabras cual es el objetivo del diseño.
proceso de determinar cual de muchas posibles soluciones es la mejor para lograr lo que se necesita hacer, respetando las restricciones tecnológicas
Describa brevemente las caracteristicas de las buenas metodologías
El buen diseño debe motivar la toma de decisiones ayudando a evaluar alternativas. Todo el diseño es acerca de compromisos. Una técnica de diseño debe permitir que el diseñador evalúe su decisión contra otras posibilidades. Por ejemplo, usando el modelo de análisis de eventos acoplado con el esquema de diseño de datos, el diseñador puede simular el volumen de lecturas y escrituras a la base de datos para cualquier evento de negocios dado. Esto permite que el equipo evalúe la factibilidad y desempeño proyectado de una disposición de tabla de base de datos dada y de un esquema de distribución de datos antes de construirlos. El diseño necesita ser completo, de tal forma que cubra cada uno de los aspectos principales del software que necesita construirse. Esto causara que se tengan varios tipos diferentes de modelos en la documentación del diseño. Cada modelo está especializado para mostrar un aspecto particular del sistema. Encontrará que los modeladores son particularmente adeptos de la articulación de esos aspectos para los que está orientada la técnica de modelado, pero fallan miserablemente cuando se trata de estirar el modelo más allá de su propósito original. Ningún modelo puede mostrar todas las facetas del sistema funcional completo. Ese sería el sistema mismo. El diseño debe ser verificable antes de su construcción. Uno de los propósitos principales del diseño es revisar y discutir la solución antes de lanzarse a la carga y codificarla. Parte del proceso de verificación es su rastreabilidad. Con una buena especificación del diseño se debe ser capaz de demostrar que se satisfarán los requerimientos del proyecto y así mismo se distinguirá entre varias versiones del diseño en cualquier momento. Una buena metodología de diseño crea productos diferenciados que son mensurables. Una de las tareas más difíciles de cualquier proyecto es estimar cuando se terminará. Para hacer una estimación el gerente del proyecto debe tomar medidas, la cual involucra el conteo de cosas que necesitan hacerse y la aplicación de algún tipo de medida sobre ellas para estimar que tanto tiempo se llevara el hacerlas. La medición viene, por supuesto, de haber contado estas cosas en el pasado y haber medido que tanto tardo el hacerlas anteriormente. Por lo tanto, una metodología de diseño debe producir componentes discretos lo más pronto posible.
Por último, pero no menos importante, el diseño debe ser fácilmente aprovechado en el producto final. Debe expresar el uso y la estructura del sistema en una forma muy cercana al resultado pretendido. Este punto puede parecer obvio, pero se ha visto proyectos que trataron de usar técnicas de diseño que fueron completamente inadecuadas para el lenguaje de destino en el que se codifico el sistema. Usted no querría que su arquitecto casero le presentara un plano que fuera tan esotérico que no le diera idea de la forma que tendría la casa en su terreno. El lema de un diseñador es: hacer un mapa de la técnica hacia el destino. Si el sistema va a operar con una base datos relacional se deben escoger técnicas que sean particularmente adecuadas para el diseño de bases de datos relacionales. Si el sistema empleara un lenguaje orientado a objetos, entonces se deberán usar técnicas de diseño orientado a objetos para las partes del sistema que requieren objetos para lograr sus tareas. Si el sistema incluirá componentes más tradicionales, tales como funciones estructuradas en las rutinas cliente o por lotes en el servidor, entonces son adecuadas técnicas de diseño estructurado más tradicionales para esas partes del sistema.
Actividades sugeridas
¿Se diseña software cuando se escribe un programa?
El diseño consiste en decidir la manera en que se debe construir el sistema
El diseño necesita ser complejo ¿porque?
No porque tiene que ser entendible para las demas personas o programadores
Autoevaluación
1. ¿Qué es el diseño?
Del italiano disegno, la palabra diseño se refiere a un boceto, bosquejo o esquema que se realiza, ya sea mentalmente o en un soporte material, antes de concretar laproducción de algo. El término también se emplea para referirse a la apariencia de ciertos productos en cuanto a sus líneas, forma y funcionalidades.
2. ¿En que consiste el diseño?
El diseño web es una actividad que consiste en la planificación, diseño e implementación de sitios web. No es simplemente una aplicación del diseño convencional, ya que requiere tener en cuenta la navegabilidad, interactividad, usabilidad, arquitectura de la información y la interacción de medios como el audio, texto, imagen, enlaces y vídeo. Se lo considera dentro del diseño multimedia.
3. ¿Cuáles son las tres características de las 5 buenas metodologías del diseño?
El diseño necesita ser completo
El diseño debe ser verificable antes de su construcción
Una buena metodología de diseño crea productos diferenciados que son mensurables.
4. ¿Por qué el diseño debe ser verificable antes de su construcción?
para saber si el sistema cumple con los requerimientos y especificaciones requeridas
5. ¿Por qué el diseño debe ser aprovechado en el producto final?
Debe expresar el uso y la estructura del sistema en una forma muy cercana al resultado pretendido. Este punto puede parecer obvio, pero se ha visto proyectos que trataron de usar técnicas de diseño que fueron completamente inadecuadas para el lenguaje de destino en el que se codifico el sistema. Usted no querría que su arquitecto casero le presentara un plano que fuera tan esotérico que no le diera idea de la forma que tendría la casa en su terreno. El lema de un diseñador es: hacer un mapa de la técnica hacia el destino. Si el sistema va a operar con una base datos relacional se deben escoger tecnicas que sean particularmente adecuadas para el diseño de bases de datos relacionales. Si el sistema empleara un lenguaje orientado a objetos, entonces se deberán usar técnicas de diseño orientado a objetos para las partes del sistema que requieren objetos para lograr sus tareas. Si el sistema incluirá componentes más tradicionales, tales como funciones estructuradas en las rutinas cliente o por lotes en el servidor, entonces son adecuadas técnicas de diseño estructurado más tradicionales para esas partes del sistema.
martes, 26 de junio de 2012
Actividad 10
Diagrama de casos de uso
En el Lenguaje de Modelado Unificado, un diagrama de casos de uso es una especie de diagrama de comportamiento. UML mejorado El Lenguaje de Modelado Unificado define una notación gráfica para representar casos de uso llamada modelo de casos de uso. UML no define estándares para que el formato escrito describa los casos de uso, y así mucha gente no entiende que esta notación gráfica define la naturaleza de un caso de uso; sin embargo una notación gráfica puede solo dar una vista general simple de un caso de uso o un conjunto de casos de uso. Los diagramas de casos de uso son a menudo confundidos con los casos de uso. Mientras los dos conceptos están relacionados, los casos de uso son mucho más detallados que los diagramas de casos de uso.
Diagramas de clases
Un diagrama de clases es un tipo de diagrama estático que describe la estructura de un sistema mostrando sus clases, atributos y las relaciones entre ellos. Los diagramas de clases son utilizados durante el proceso de análisis y diseño de los sistemas, donde se crea el diseño conceptual de la información que se manejará en el sistema, y los componentes que se encargaran del funcionamiento y la relación entre uno y otro.
Diagrama de Actividades
En el Lenguaje de Modelado Unificado, un diagrama de actividades representa los flujos de trabajo paso a paso de negocio y operacionales de los componentes en un sistema. Un Diagrama de Actividades muestra el flujo de control general.
En SysML el diagrama de Actividades ha sido extendido para indicar flujos entre pasos que mueven elementos físicos (e.g., gasolina) o energía (e.g., presión). Los cambios adicionales permiten al diagrama soportar mejor flujos de comportamiento y datos continuos.
Diagrama de Interacción
El diagrama de interacción, representa la forma en como un Cliente (Actor) u Objetos (Clases) se comunican entre si en petición a un evento. Esto implica recorrer toda la secuencia de llamadas, de donde se obtienen las responsabilidades claramente.
Dicho diagrama puede ser obtenido de dos partes, desde el Diagrama Estático de Clases o el de Casos de Uso (son diferentes).
Elementos
-
El rectángulo representa una instancia de un Objeto en particular, y la línea punteada representa las llamadas a métodos del objeto.
-
Se representa por una flecha entre un objeto y otro, representa la llamada de un método (operación) de un objeto en particular.
-
No solo llamadas a métodos de objetos externos pueden realizarse, también es posible visualizar llamadas a métodos desde el mismo objeto en estudio.
En el presente ejemplo, tenemos el diagrama de interacción proveniente del siguiente modelo estatico:
Aquí se representa una aplicación que posee una Ventana gráfica, y ésta a su vez posee internamente un botón.
Entonces el diagrama de interacción para dicho modelo es:
En donde se hacen notar las sucesivas llamadas a Draw() (entre objetos) y la llamada a Paint() por el objeto Botón.
Diagramas de casos de secuencia
El diagrama de secuencia es un tipo de diagrama usado para modelar interacción entre objetos en un sistema según UML. En inglés se pueden encontrar como "sequence diagram", "event-trace diagrams", "event scenarios" o "timing diagrams"
Un diagrama de secuencia muestra la interacción de un conjunto de objetos en una aplicación a través del tiempo y se modela para cada caso de uso. Mientras que eldiagrama de casos de uso permite el modelado de una vista business del escenario, el diagrama de secuencia contiene detalles de implementación del escenario, incluyendo los objetos y clases que se usan para implementar el escenario, y mensajes intercambiados entre los objetos.
Diagramas de Colaboración
Las colaboraciones representadas en la Figura 8 se dan de esta manera:
- 1. La GUI notifica al sistema operativo que se oprimió una tecla.
- 2. El sistema operativo le notifica a la CPU.
- 3. El sistema operativo actualiza la GUI.
- 4. La CPU notifica a la tarjeta de vídeo.
- 5. La tarjeta de vídeo envía un mensaje al monitor.
- 6. El monitor presenta el carácter alfanumérico en la pantalla, con lo que se hará evidente al usuario.Diagrama de estadoLos diagramas de estado son una técnica conocida para describir el comportamiento de un sistema. Describen todos los estados posibles en los que puede entrar un objeto particular y la manera en que cambia el estado del objeto, como resultado de los eventos que llegan a el.Los diagramas de estado muestran el conjunto de estados por los cuales pasa un objeto durante su vida en una aplicación en respuesta a eventos (por ejemplo, mensajes recibidos, tiempo rebasado o errores), junto con sus respuestas y acciones.En la mayor parte de las técnicas Orientadas a Objetos, los diagramas de estado se dibujan para una sola clase, mostrando el comportamiento de un solo objeto durante todo su ciclo de vida.
Diagramas de ImplementacionLos diagramas de implementación muestran las instancias existentes al ejecutarse así como sus relaciones. También se representan los nodos que identifican recursos físicos, típicamente un ordenador así como interfaces y objetos (instancias de las clases).Diagrama de Componentes
Un diagrama de componentes muestra las dependencias lógicas entre componentes software, sean éstos componentes fuentes, binarios o ejecutables. Los componentes software tienen tipo, que indica si son útiles en tiempo de compilación, enlace o ejecución. Se consideran en este tipo de diagramas solo tipos de componentes. Instancias específicas se encuentran en el diagrama de ejecución.Se representa como un grafo de componentes software unidos por medio de relaciones de dependencia (generalmente de compilación). Puede mostrar también contenencia de entre componentes software e interfaces soportadas. Un ejemplo es el siguiente:En este caso tenemos tres componentes, GUI dependiendo de la interfaz update provista por Planner, Planner dependiendo de la interfaz reservations provista por Scheduler.Diagrama de despliegueDescripción y conexión entre los componentes Hardware y Software: Los componentes Software de nuestro sistema son los programas que realizan las búsquedas en las páginas web, sobre una petición del cliente. El principal componente Hardware de nuestro sistema es “el servidor” que almacenará las URL’s visitadas y los datos de los usuarios registrados para saber las preferencias.
Suscribirse a:
Entradas (Atom)








