martes, 15 de diciembre de 2015

SISTEMA GESTOR DE BASE DE DATOS

SISTEMA GESTOR DE BASE DE DATOS


Un SISTEMA GESTOR DE BASE DE DATOS es un conjunto de programas que permiten el almacenamiento, modificación y extracción de la información en una BASE DE DATOS además de proporcionar herramientas para añadir, borrar, modificar y analizar los datos. Los usuarios pueden acceder a la información usando herramientas específicas de interrogación y de generación de informes, o bien mediante aplicaciones al efecto.
Estos sistemas también proporcionan métodos para mantener la integridad de los datos, para administrar el acceso de usuarios a los datos y para recuperar la información si el sistema se corrompe. Permiten presentar la información de la base de datos en variados formatos. La mayoría incluyen un generador de informes. También pueden incluir un módulo gráfico que permita presentar la información con gráficos y tablas.
Hay muchos tipos distintos según cómo manejen los datos y muchos tamaños distintos de acuerdo a si operan en computadoras  y con poca memoria o grandes sistemas que funcionan en mainframes con sistemas de almacenamiento especiales.
Generalmente se accede a los datos mediante lenguajes de interrogación, lenguajes de alto nivel que simplifican la tarea de construir las aplicaciones. También simplifican la interrogación y la presentación de la información. Un SGBD permite controlar el acceso a los datos, asegurar su integridad, gestionar el acceso concurrente a ellos, recuperar los datos tras un fallo del sistema y hacer copias de seguridad. Las bases de datos y los sistemas para su gestión son esenciales para cualquier área de negocio, y deben ser gestionados con esmero.

FUNCIONES DEL SGBD

                                             FUNCIONES DEL SGBD
  • Un SGBD debe proporcionar a los usuarios la capacidad de almacenar datos en la base de datos, acceder a ellos y actualizarlos. Esta es la función fundamental de un SGBD y por supuesto, el SGBD debe ocultar al usuario la estructura física interna (la organización de los ficheros y las estructuras de almacenamiento).

  • Un SGBD debe proporcionar un catálogo en el que se almacenen las descripciones de los datos y que sea accesible por los usuarios. Este catálogo es lo que se denomina diccionario de datos y contiene información que describe los datos de la base de datos (metadatos).

  • Un SGBD debe proporcionar un mecanismo que garantice que todas las actualizaciones correspondientes a una determinada transacción se realicen, o que no se realice ninguna. Unatransacción es un conjunto de acciones que cambian el contenido de la base de datos. Una transacción en el sistema informático de la empresa inmobiliaria sería dar de alta a un empleado o eliminar un inmueble. Una transacción un poco más complicada sería eliminar un empleado y reasignar sus inmuebles a otro empleado. En este caso hay que realizar varios cambios sobre la base de datos. Si la transacción falla durante su realización, por ejemplo porque falla el hardware, la base de datos quedará en un estado inconsistente. Algunos de los cambios se habrán hecho y otros no, por lo tanto, los cambios realizados deberán ser deshechos para devolver la base de datos a un estado consistente.
  • Un SGBD debe proporcionar un mecanismo que asegure que la base de datos se actualice correctamente cuando varios usuarios la están actualizando concurrentemente. Uno de los principales objetivos de los SGBD es el permitir que varios usuarios tengan acceso concurrente a los datos que comparten. El acceso concurrente es relativamente fácil de gestionar si todos los usuarios se dedican a leer datos, ya que no pueden interferir unos con otros. Sin embargo, cuando dos o más usuarios están accediendo a la base de datos y al menos uno de ellos está actualizando datos, pueden interferir de modo que se produzcan inconsistencias en la base de datos. El SGBD se debe encargar de que estas interferencias no se produzcan en el acceso simultáneo.
  • Un SGBD debe proporcionar un mecanismo que garantice que todas las actualizaciones correspondientes a una determinada transacción se realicen, o que no se realice ninguna. Una transacción es un conjunto de acciones que cambian el contenido de la base de datos. Una transacción en el sistema informático de la empresa inmobiliaria sería dar de alta a un empleado o eliminar un inmueble. Una transacción un poco más complicada sería eliminar un empleado y reasignar sus inmuebles a otro empleado. En este caso hay que realizar varios cambios sobre la base de datos. Si la transacción falla durante su realización, por ejemplo porque falla el hardware, la base de datos quedará en un estado inconsistente. Algunos de los cambios se habrán hecho y otros no, por lo tanto, los cambios realizados deberán ser deshechos para devolver la base de datos a un estado consistente
  • Un SGBD debe proporcionar un mecanismo que garantice que sólo los usuarios autorizados pueden acceder a la base de datos. La protección debe ser contra accesos no autorizados, tanto intencionados como accidentales.
  •               
  • Un SGBD debe ser capaz de integrarse con algún software de comunicación. Muchos usuarios acceden a la base de datos desde terminales. En ocasiones estos terminales se encuentran conectados directamente a la máquina sobre la que funciona el SGBD. En otras ocasiones los terminales están en lugares remotos, por lo que la comunicación con la máquina que alberga al SGBD se debe hacer a través de una red. En cualquiera de los dos casos, el SGBD recibe peticiones en forma de mensajes y responde de modo similar. Todas estas transmisiones de mensajes las maneja el gestor de comunicaciones de datos. Aunque este gestor no forma parte del SGBD, es necesario que el SGBD se pueda integrar con él para que el sistema sea comercialmente viable.
  • Un SGBD debe proporcionar los medios necesarios para garantizar que tanto los datos de la base de datos, como los cambios que se realizan sobre estos datos, sigan ciertas reglas. La integridad de la base de datos requiere la validez y consistencia de los datos almacenados. Se puede considerar como otro modo de proteger la base de datos, pero además de tener que ver con la seguridad, tiene otras implicaciones. La integridad se ocupa de la calidad de los datos. Normalmente se expresa mediante restricciones, que son una serie de reglas que la base de datos no puede violar. Por ejemplo, se puede establecer la restricción de que cada empleado no puede tener asignados más de diez inmuebles. En este caso sería deseable que el SGBD controlara que no se sobrepase este límite cada vez que se asigne un inmueble a un empleado.

SISTEMA DE FICHEROS DE BASE DE DATOS

            SISTEMA DE FICHEROS DE BASE DE DATOS


Es un concepto nuevo de manejo de ficheros basado en bases de datos, como sustitutivo o añadido a la estructura jerárquica. Los ficheros se identifican por sus características, tipo, asunto, autor o meta-información similar. Un fichero puede ser accedido a través de una consulta SQL este donde este.

Ejemplos:
  • BFS
  • WinFS

OBJETIVOS DEL DISEÑO LÓGICO DE DATOS

                                OBJETIVOS DEL DISEÑO LÓGICO DE DATOS 

• Comprender la conveniencia y ventajas de disponer de un esquema lógico de BD independiente de un SGBD comercial particular 

• Conocer las reglas de transformación de un esquema conceptual en el MERE en un esquema lógico en el MR 

• Conocer cómo evitar la posible pérdida de semántica al traducir elementos del MERE a elementos del MR 

• Conocer estrategias de elección de la opción de diseño lógico más adecuada entre varias alternativas posibles 

• Conocer guías y recomendaciones para trasladar un esquema en el MR a un esquema en el modelo de datos específico soportado por el SGBD de implementación  

• Comprender la conveniencia y ventajas de disponer de un esquema lógico de BD independiente de un SGBD comercial particular 

• Conocer las reglas de transformación de un esquema conceptual en el MERE en un esquema lógico en el MR 

• Conocer cómo evitar la posible pérdida de semántica al traducir elementos del MERE a elementos del MR 

• Conocer estrategias de elección de la opción de diseño lógico más adecuada entre varias alternativas posibles 

• Conocer guías y recomendaciones para trasladar un esquema en el MR a un esquema en el modelo de datos específico soportado por el SGBD de implementación 

jueves, 10 de diciembre de 2015

METODOLOGÍAS DE DESARROLLO AGIL

METODOLOGÍAS DE DESARROLLO AGIL




Algunos desarrolladores creen que las metodologías tradicionales generan demasiada burocracia y
exigen demasiado esfuerzo.
Exige calidad, coste e innovación, sino también rapidez y flexibilidad. En este contexto, el mercado
necesita ciclos de desarrollo más cortos.
Para solucionar estos problemas se han propuesto una serie de principios y valores que aligeren la carga de las metodologías tradicionales.
Con el desarrollo de estas ideas y conceptos han aparecido un nuevo tipo de metodologías que se denominan de desarrollo ágil. consideran que el desarrollo ágil no constituye realmente una nueva metodología, sino un conjunto de recomendaciones y principios aplicables a las metodologías tradicionales para hacerlas más flexibles, rápidas y adaptables.
Las metodologías ágiles se basan en el trabajo en equipo y pretenden:
• Centrarse en el desarrollo y en satisfacer al cliente.
• Mejorar las predicciones y previsiones para cumplir plazos y ajustarse a los recursos.
• Eliminar riesgos .
• Disminuir costes.
Las metodologías ágiles están basadas fundamentalmente en:
metodologías orientadas a objetos, algunas de las más utilizadas son:
Programación Extrema (XP), Scrum (Schwaber y Beedle 2001), o Rational
Unified Process (RUP).
Desarrollo ágil: programación extrema.
La Programación extrema (eXtreme Programming XP) se trata de un proceso ágil de desarrollo de

software formulado por Kent Beck (1999).Es una de las metodologías de desarrollo de software más
exitosas en la actualidad, utilizada en proyectos de corto plazo, con equipo pequeño y que requieren
flexibilidad.
La metodología consiste en:
• Un desarrollo incremental.
• Dar mayor valor al individuo
• Los principios y prácticas que propone son de sentido común.
La programación extrema fue creada pensando en las siguientes
circunstancias:
• Proyectos en contextos de incertidumbre, 
• Proyectos con alto riesgo.
• Proyectos con un grupo pequeño de desarrolladores.
Las características fundamentales del método de programación extrema son:
• Desarrollo iterativo e incremental
• Pruebas continúas
• Programación por parejas
• Buen ambiente de trabajo
• Frecuente comunicación
• Corrección de todos los errores
• Refactorización del código
• Propiedad del código compartida
• Simplicidad
• Reutilización del código
El ciclo de vida ideal de XP consiste de seis fases:
• Exploración de las necesidades.
• Planificación de la entrega con estimaciones.
• Iteraciones de desarrollo.
• Implantación del producto.
• Mantenimiento del producto implantado.
• Muerte o abandono del proyecto.
En las iteraciones se siguen estos pasos:
• El cliente define sus necesidades.
• El programador estima el esfuerzo necesario para su implementación.
• El cliente selecciona qué desarrollar.
• El desarrollador realiza lo solicitado.

• planificación (planning).
• diseño (designing).
• codificación (coding).
• pruebas (testing).

METODOLOGÍAS PARA SISTEMAS EN TIEMPO REAL

METODOLOGÍAS PARA SISTEMAS EN TIEMPO REAL



Un sistema informático que debe captar señales en este caso del radar y de los sistemas de
comunicación de los aviones sin perder ninguna y que debe contestar a las mismas antes de un
determinado momento, es un sistema de tiempo real.
En estos sistemas la velocidad de respuesta es fundamental porque el usuario, en este caso el controlador aéreo y el piloto, no pueden esperar.
Para desarrollar estos sistemas será necesario disponer de metodologías de desarrollo del software que permitan especificar este tipo de situaciones de tiempo real y las posibles soluciones. ¿Qué incluirán estas metodologías?
Deberán establecer mecanismos para modelar sistemas que:
• Controlen la comunicación y sincronización entre tareas.
• Gestionen los procesos concurrentes que se ejecutan en paralelo.
• Respondan ante eventos externos como puede ser una nueva señal.
• Reciban datos y señales continuas que no pueden perderse.
• Interrumpan los procesos.

EUROMETODO

EUROMETODO


A lo largo de esta unidad hemos visto diferentes metodologías de desarrollo de software, que las
empresas y administraciones públicas pueden utilizar en función de sus intereses y necesidades. Cada
método aporta su estructura con unas particularidades determinadas. Cuando una empresa privada o un
organismo público pretenden adquirir un sistema de información informático debe establecerse una
buena colaboración y relación de entendimiento entre el proveedor y el cliente.