• No se han encontrado resultados

Gestión de la Información

N/A
N/A
Protected

Academic year: 2021

Share "Gestión de la Información"

Copied!
61
0
0

Texto completo

(1)

Departamento de Lenguajes y Sistemas Informáticos

Gestión de la Información

Patricio Martínez Barco

[email protected]

(2)

TEMA 2 (PARTE I)

METODOLOGÍA DE DISEÑO DE BASES DE

DATOS

(3)

Tema 2. Metodología de diseño de bases de datos

Objetivos

Introducción

Ciclo de vida del sistema de base de datos

Proceso de diseño de BDs

Diseño conceptual

Diseño lógico

(4)

OBJETIVOS

(5)

Objetivos

█ Enmarcar el contexto de la asignatura en el marco del

desarrollo de un sistema de información

█ Presentar una metodología de diseño

█ Estandarizar los proyectos de diseño

█ Separar y distinguir las tres fases

█ Conceptual █ Lógico

█ Físico

█ Saber hacer

█ validar el esquema conceptual contra los requisitos de la

organización

(6)

INTRODUCCIÓN

(7)

Introducción

¿Qué es una metodología de diseño?

Método planificado/estructurado

█ Procedimientos █ Técnicas

█ Herramientas █ Documentación

Ayuda al diseñador en el desarrollo del proyecto

█ Seleccionar █ Planificar █ Gestionar █ Controlar

(8)

Introducción

Factores críticos de éxito para una

metodología

Trabajar mucho con los

usuarios finales

Seguir una metodología durante todo el proceso

de modelado

Usar una aproximación

centrada en los datos

Incorporar consideraciones estructurales y de integridad en los modelos Incorporar técnicas de validación de la normalización, transacción y conceptualización Usar representaciones

gráficas (al máximo)

Usar lenguajes de diseño de BDs para representar toda semántica adicional Construir un diccionario de datos para complementar los diagramas de los modelos de datos

Estar abiertos a repetir pasos ya realizados

(9)

Introducción

Ciclo de vida desarrollo sistemas de información

Plan ific ac ió n An álisis Dise ño Imp le me nt ac ió n Pru eb as In st alac ió n / De sp lie gu e M an te nim ie nt o

(10)

Introducción

Ciclo de vida desarrollo sistemas de información

Plan ific ac ió n Ámbito del proyecto Estudio de viabilidad Análisis de riesgos Estimación Planificación temporal Asignación de recursos An álisis Dise ño Imp le me nt ac ió n Pru eb as In st alac ió n / De sp lie gu e M an te nim ie nt o

(11)

Introducción

Ciclo de vida desarrollo sistemas de información

Plan ific ac ió n An álisis Requisitos de información Requisitos de procesos Dise ño Imp le me nt ac ió n Pru eb as In st alac ió n / De sp lie gu e M an te nim ie nt o

(12)

Introducción

Ciclo de vida desarrollo sistemas de información

Plan ific ac ió n An álisis Dise ño Conceptual

• Parte estática: datos

• Parte dinámica: procesos Lógico • Esquema BD • Esquemas procesos y transacciones Físico • Desarrollo BD • Desarrollo procesos y transacciones Imp le me nt ac ió n Pru eb as In st alac ió n / De sp lie gu e M an te nim ie nt o

(13)

Introducción

Ciclo de vida desarrollo sistemas de información

Plan ific ac ió n An álisis Dise ño Imp le me nt ac ió n Adquisición de componentes Creación e integración de recursos • Carga de la BD • Creación procesos • Creación transacciones Pru eb as In st alac ió n / De sp lie gu e M an te nim ie nt o

(14)

Introducción

Ciclo de vida desarrollo sistemas de información

Plan ific ac ió n An álisis Dise ño Imp le me nt ac ió n Pru eb as Pruebas individuales Pruebas de integración Pruebas alfa • Por el cliente • Lugar de desarrollo Pruebas beta • Por el cliente

• Lugar del cliente

Test de aceptación • Verificación final Inst alac ió n / De sp lie gu e M an te nim ie nt o

(15)

Introducción

Ciclo de vida desarrollo sistemas de información

Plan ific ac ió n An álisis Dise ño Imp le me nt ac ió n Pru eb as In st alac ió n / De sp lie gu e Paso a explotación M an te nim ie nt o

(16)

Introducción

Ciclo de vida desarrollo sistemas de información

Plan ific ac ió n An álisis Dise ño Imp le me nt ac ió n Pru eb as In st alac ió n / De sp lie gu e M an te nim ie nt o Adaptativo • Ante cambios Correctivo • De defectos Perfectivo • Mejoras

(17)

Introducción

Alternativas metodológicas del ciclo de vida

█ Definen la forma de abordar cada una de las fases

Modelo en cascada o clásico

█ termina por completo cada fase antes de empezar la siguiente

Planificación Análisis Diseño Implementación Pruebas Instalación Mantenimiento

(18)

Introducción

Alternativas metodológicas del ciclo de vida

█ Modelo en cascada o clásico

█ Modelo en V

█ Flujo desarrollo + flujo validación

█ Modelo en espiral

█ Flujo se reinicia n veces para mejorar hasta dar por válido

█ Modelo iterativo

█ Como anterior, y crea versiones entregables en cada iteración

█ Modelos ágiles

█ Basados en prototipos…

Conclusión

(19)

Introducción

Asignatura “Gestión de la Información”

Plan ific ac ió n An álisis Dise ño Imp le me nt ac ió n Pru eb as In st alac ió n / De sp lie gu e M an te nim ie nt o

ÁMBITO:

Bases de datos

(20)

CICLO DE VIDA DE UNA BASE DE DATOS

(21)

Ciclo de vida de una base de datos

Análisis

• Requisitos de datos + transacciones

Diseño

• Conceptual + Lógico + Físico

Implementación

• Base de datos + transacciones

Carga y/o conversión de datos Pruebas

(22)

PROCESO DE DISEÑO DE BDS

(UNA ALTERNATIVA METODOLÓGICA)

(23)

Proceso de diseño de una BD

Objetivo

Atender las necesidades de información de la

organización

Método

Basado en la arquitectura por niveles del modelo

ANSI/SPARC

Hitos

Diseño de estructura y contenido de la BD

(24)

Proceso de diseño de una BD

Arquitectura de diseño: modelo

ANSI/SPARC

Diseño conceptual

Modelo de la información de una organización independiente de consideraciones físicas

Diseño lógico

Modelo de la información de una organización basado en un modelo de datos concreto, pero independiente de un SGBD concreto ni de consideraciones físicas

Diseño físico

Modelo de descripción de la implementación de una BD en memoria secundaria Organización de ficheros. Índices. Integridad. Seguridad Descripción de la implementación de las transacciones

(25)

Alternativa metodológica del ciclo de vida de la BDs

En cascada: versión particular para las BDs

Proceso de diseño de una BD

Orden 1 2 3 4 5 6 Fases Análisis de requisitos Diseño conceptual Elección del SGBD Diseño lógico Diseño físico Diseño de la carga

(26)

Alternativa metodológica del ciclo de vida de la BDs

Proceso de diseño de una BD

Orden 1 2 3 4 5 6 7 Fases Análisis de requisitos Diseño conceptual Elección del SGBD Diseño lógico Diseño físico Diseño de la carga Implantación

(27)

Fase 1: Análisis de requisitos

Objetivos

█ Recopilación todos los requisitos de datos y transacciones █ Completa: todos los servicios de usuario están especificados

█ Consistente: no hay definiciones ambiguas █ Racionalizar su utilidad (y priorizarlos)

Factores clave

█ Dimensionar correctamente

█ Funcionalidad insuficiente >> Inutiliza el resultado

█ Funcionalidad excesiva >> Igualmente hace inviable su uso █ Todos los agentes del sistema son clave

(28)

Fase 1: Análisis de requisitos

Tipos de requisitos a abordar

Según su función

█ Funcionales

█ Servicios que ha de proveer la BD █ Lo que debe y no debe hacer █ No funcionales

█ Asociados a las propiedades emergentes del sistema █ Fiabilidad

█ Tiempo de respuesta █ Seguridad

(29)

Fase 1: Análisis de requisitos

Tipos de requisitos a abordar

Según su naturaleza

█ Estáticos

█ Requisitos de información que se debe almacenar █ DATOS

█ Dinámicos

█ Requisitos de procesos que hacen evolucionar la información █ TRANSACCIONES

(30)

Fase 1: Análisis de requisitos

Algunas pistas…

█ ¿Cuál es el proceso básico de la organización? █ ¿Qué datos utiliza o produce este proceso?

█ ¿Cuáles son los límites impuestos por el tiempo y la carga de trabajo? █ ¿Qué controles de calidad utiliza?

█ ¿Cuál es la finalidad de la actividad? █ ¿Qué pasos se siguen para realizarla? █ ¿Dónde y quién realiza estos pasos? █ ¿Cuánto tiempo tardan en efectuarlos? █ ¿Con cuánta frecuencia lo hacen?

█ ¿Quiénes emplean la información resultante?

(31)

Fase 1: Análisis de requisitos

Ejemplo: requisitos de la ferretería FERRITER

(http://jezzsystemzone.blogspot.com.es ©Antonio Med Bar@blogger)

█ La ferretería FERRITER tiene la necesidad de contar con

un sistema que permita llevar un mejor control, que a su vez sea fácil de manejar; el control consiste en llevar a cabo un registro de todos los productos con los que se cuenta, los clientes frecuentes y los distintos proveedores de dicha ferretería.

█ El sistema registrará cualquier operación, tanto de cliente

como de productos. Es decir, operaciones de altas, bajas, modificaciones, descuentos a clientes frecuentes, clientes con crédito, etc.). También contara con un sistema de

(32)

Fase 1: Análisis de requisitos

Ejemplo: requisitos de la ferretería FERRITER

█ PRODUCTOS. Para poder dar de alta cada producto se

tendrán en cuenta: una clave o código del producto (esta se asignara tomando en cuenta el tipo del producto), el nombre, la cantidad, el precio.

█ El tipo o clasificación de los productos se da de la

siguiente manera: cemento, pisos y azulejos, yeso, de ferretería, herramientas Truper y acero.

█ CLIENTES CON CRÉDITO. En este inventario solo se

enlistaran los clientes que cuenten con el servicio de pago a crédito. Para este catalogo se asignaran datos como: el nombre, la dirección, el teléfono y la clave de la venta.

(33)

Fase 1: Análisis de requisitos

Ejemplo: requisitos de la ferretería FERRITER

█ PROVEEDORES. Dentro del registro de los proveedores se

ocupara la siguiente información: una clave de proveedor, clave del producto, la cantidad y el nombre o la empresa.

█ Asimismo es fundamental mencionar que no se cuenta

con un solo proveedor, pues éste es según el tipo de

productos faltantes y es cuando se hace el pedido, ya que estos no tienen visitas periódicas, sino que surten cuando la ferretería lo solicita.

(34)

Fase 1: Análisis de requisitos

Ejemplo: requisitos de la ferretería FERRITER

█ VENTAS. Además, se llevará un registro de las ventas

para facilitar el control de los productos, en este apartado se producirá una nota de remisión para luego imprimirla

después de haber terminado la venta para entregársela al cliente. Las ventas se dividirán en:

█ Ventas a crédito. Registrará datos como: una clave de la

venta, el nombre del cliente, la clave del producto,

cantidad, el total a pagar, el enganche dado, la fecha y hora.

█ Ventas al contado. En estas solo se registrará la venta, sin

tomar en cuenta al cliente; registrará datos como: la clave del producto, cantidad, el total a pagar, el descuento (si es que se hace) la fecha y hora.

(35)

Fase 1: Análisis de requisitos

Ejemplo: requisitos de la ferretería FERRITER

█ Es importante aclarar que además de los datos

mencionados la nota de remisión contendrá el nombre del cliente y su domicilio, nombre de los productos y sus

cantidades y precios correspondientes, así como el total a pagar.

█ COMPRAS. Conjuntamente se realizan surtidos dentro de

la ferretería; es por ello que se controlaran las

adquisiciones hechas, registrando: clave del proveedor, clave del producto, cantidad, precio de compra, precio de venta, la fecha y la hora.

(36)

Fase 1: Análisis de requisitos

Ejemplo: requisitos de la ferretería FERRITER

Requisitos de datos

█ Productos: id producto, nombre, precio, cantidad disponible █ Clientes con crédito: id cliente, nombre, dirección, teléfono █ Ventas a crédito: id venta, id cliente, id producto, cantidad,

importe total, fecha, importe señal (anticipo)

█ Ventas al contado: id producto, cantidad, total, fecha, hora █ Pagos: id venta, importe pagado, fecha

█ Proveedores: id proveedor, nombre, id producto

█ Compras: id producto, id proveedor, cantidad, precio

(37)

Fase 1: Análisis de requisitos

Ejemplo: requisitos de la ferretería FERRITER

Requisitos de transacciones

█ Cliente solicita producto a ferretería █ Cliente realiza pago a ferretería

█ Cliente solicita crédito a ferretería

█ Administrador solicita producto a proveedor █ Administrador realiza cobro a cliente

█ Administrador realiza pago a proveedor █ Administrador presta crédito a cliente █ Proveedor entrega producto a ferretería █ Proveedor realiza cobro a ferretería

(38)

Fase 1: Análisis de requisitos

Ejemplo: requisitos de la ferretería FERRITER

Requisitos no funcionales

█ Todas las operaciones se efectúan en tiempo real █ Hay una media de

█ 500 operaciones de venta al día

█ 100 operaciones de venta a crédito al día █ 150 operaciones de pago al día

█ Hay un total de

█ 25 proveedores █ 1000 clientes █ 1500 artículos

█ …

█ La BD debe estar activa 24h/365 días

(39)

Fase 1: Análisis de requisitos

Análisis de requisitos

Estrategias de recopilación

█ Centralizada █ Integrada █ Híbrido

(40)

Fase 1: Análisis de requisitos

Técnicas de recopilación

Centralizada

█ Cada usuario expresa sus

requisitos y se fusionan para arrancar una fase única de diseño

█ Útil en sistemas con alto

solapamiento de requisitos entre usuarios

█ En sistemas simples

Req.

Usu 1 Usu 2 Req. Usu 3 Req.

(41)

Fase 1: Análisis de requisitos

Técnicas de recopilación

Integrada

█ Cada usuario expresa sus

requisitos y se mantienen independientes arrancando fases de diseño

independientes

█ Útil en sistemas con bajo

solapamiento de requisitos entre usuarios

█ En sistemas complejos

Req.

Usu 1 Usu 2 Req. Usu 3 Req.

Diseño

(42)

Fase 1: Análisis de requisitos

Técnicas de recopilación

Híbrida

█ Algunos requisitos se funden

en una fase inicial para iniciar diseños únicos.

█ En una segunda fase

mantienen algunos diseños locales, otros se han fundido

█ Solución de compromiso para

la mayoría de los casos

Req.

Usu 1 Usu 2 Req. Usu 3 Req.

(43)

Alternativa metodológica del ciclo de vida de la BDs

Proceso de diseño de una BD

Orden 1 2 3 4 5 6 Fases Análisis de requisitos Diseño conceptual Elección del SGBD Diseño lógico Diseño físico Diseño de la carga

(44)

Fase 2: Diseño conceptual

Objetivos

█ Construcción del esquema conceptual

Factores clave

█ Capacidad de abstracción

█ Mundo real  mundo conceptual

█ Modelar únicamente requisitos (lo demás no es relevante)

█ No pensar en

█ Gestores de BDs, estructuras de datos, S.O., implementaciones,

ordenadores…

█ Incluir parte estática + parte dinámica

█ El esquema conceptual no separa

(45)

Fase 2: Diseño conceptual

Construcción esquema conceptual

2.1. Identificar tipos de entidades 2.2. Identificar tipos de relaciones

2.3. Identificar y asociar atributos con entidades o relaciones 2.4. Determinar los dominios de atributos

2.5. Determinar identificadores primarios y alternativos 2.6. Considerar el uso de otros mecanismos de abstracción 2.7. Comprobar redundancias

2.8. Identificar transacciones de usuario

(46)

Alternativa metodológica del ciclo de vida de la BDs

Proceso de diseño de una BD

Orden 1 2 3 4 5 6 7 Fases Análisis de requisitos Diseño conceptual Elección del SGBD Diseño lógico Diseño físico Diseño de la carga Implantación

(47)

Objetivo

█ Determinar el software que albergará nuestra BD

Factores de éxito

█ Elegir el modelo de datos lógico que nos interesa: relacional,

OO, XML, de propósito específico…

█ Elegir el sistema de acuerdo a criterios objetivos (tabla de

pros/contras):

█ Coste

█ Funcionalidades implementadas

█ Limitaciones de almacenamiento y/o usuarios █ Tiempos de respuesta

█ Facilidad/coste de mantenimiento

(48)

Ejemplo (tiempos / tolerancia / integridad)

█ Rojas, W. & González, M.A. Proyecto Metodología y resultados

de comparación entre MYSQL Server 4.1.11 y SQL Server 2000

http://www.monografias.com/trabajos29/comparacion-sistemas/comparacion-sistemas2.shtml

Fase 3: Elección del SGBD

P: Prueba en condiciones idénticas D: Velocidad ejecución normal CS: Velocidad sistema cargado con otros procesos TF: Tolerancia a fallos. Tiempo de recuperación ante corte eléctrico) I: Integridad de datos (invariante)

(49)

Ejemplo (funcionalidades)

(Rojas&González)

Fase 3: Elección del SGBD

Característica Mysql 4.1 Sql Server 2000 Observaciones

Tipos de datos Completo Incompleto Mysql Soporta Emun, Set, Date, Time y Año. Sql Server no los soporta

Vistas No Soporta Completo a partir de la versión 5.0 Disparadores No Soporta Completo a partir de la versión 5.0 Procedimientos

Almacenados No Soporta Completo a partir de la versión 5.0 Definición de Funciones No Soporta Completo a partir de la versión 5.0 Cursores No Soporta Completo a partir de la versión 5.0 Select, Update, delete, Join,

Insert, Union, Select anidado Completo Completo

XML No Soporta Completo

Funciones Estándares Sql Completo Completo

Integridad Referencial Completo Completo Mysql con el tipo de tabla Innodb Soporte Texto Largo Completo Completo

(50)

Alternativa metodológica del ciclo de vida de la BDs

Proceso de diseño de una BD

Orden 1 2 3 4 5 6 7 Fases Análisis de requisitos Diseño conceptual Elección del SGBD Diseño lógico Diseño físico Diseño de la carga Implantación

(51)

Fase 4: Diseño lógico

Objetivos

Construcción del esquema lógico

Diseñar la lógica de las transacciones

Factores clave

Abordar lógica de datos + transacciones

Mantener la independencia del SGBD concreto

elegido

Contemplar todo lo reflejado en el conceptual

█ Transformar en transacciones las restricciones integridad

(52)

Fase 4: Diseño lógico

También hablaremos más en detalle en el siguiente tema pero básicamente…

Construcción esquema lógico

4.1. Derivar relaciones

4.2. Validar normalización de relaciones 4.3. Validar relaciones contra

transacciones de usuario

4.4. Definir restricciones de integridad 4.5. Revisar esquema lógico con usuario

Diseño transacciones

4.7. Especificar pseudocódigo de operaciones lógicas sobre las relaciones

(53)

Alternativa metodológica del ciclo de vida de la BDs

Proceso de diseño de una BD

Orden 1 2 3 4 5 6 Fases Análisis de requisitos Diseño conceptual Elección del SGBD Diseño lógico Diseño físico Diseño de la carga

(54)

Fase 5: Diseño físico

Objetivos

Implementación y puesta en marcha de la base de

datos

Factores clave

Analizar todas las posibilidades del SGBD destino

█ ¿Qué implementa? ¿Qué límites tiene?...

Pensar en las necesidades de la organización

█ ¿Qué requisitos no funcionales?

█ ¿Tiempos de respuesta? ¿Capacidad de almacenamiento?

(55)

Fase 5: Diseño físico

También en siguientes temas pero básicamente… Traducción esquema

lógico al SGBD destino

5.1 Diseñar las relaciones base

5.2 Diseñar la representación de los datos derivados

5.3. Diseñar las restricciones generales

Diseño organizaciones de fichero e índices

5.4. Analizar transacciones (y sus frecuencias de uso)

5.5. Elegir organización del fichero

5.6. Seleccionar índices

5.7. Estimar necesidades de espacio en disco

Diseño del entorno

5.8. Diseñar vistas de usuario

5.9. Diseñar mecanismos de

seguridad: al sistema y a los datos 5.10. Considerar redundancia controlada (denormalización)

(56)

Alternativa metodológica del ciclo de vida de la BDs

Proceso de diseño de una BD

Orden 1 2 3 4 5 6 7 Fases Análisis de requisitos Diseño conceptual Elección del SGBD Diseño lógico Diseño físico Diseño de la carga Implantación

(57)

Fase 6: Diseño de la carga y transformación BD

█ Objetivos

█ Diseñar cómo se poblará la BD con datos iniciales

█ Factores clave

█ Considerar todas las fuentes posibles

█ BDs antiguas de la organización

█ Documentación no estructurada: textos, internet… █ Opendata y otras BDs compartidas

█ Diseñar todos los flujos de transformación

█ Tipos de datos. Ej: texto  decimal(10,2)

█ Atributos. Ej: <entidad type=customer …>  cliente.nombre █ Estructuras. Ej: Fichero clientes  relación clientes

(58)

Fase 6: Diseño de la carga y transformación BD

█ Formatos típicos estructurados y semi-estructurados en origen

█ Comma-separated values (CSV). █ eXtensible Markup Language (XML).

█ Ficheros de gráficos e imágenes (DXF, DWG, IFF, JPG, LAS...).

█ Ficheros geográficos (GDE, Shapefile –SHP-, ECW, GEOTIFF, XYZ…). █ Hyper Text Markup Language (HTML).

█ JavaScript Object Notation (JSON).

█ Microsoft Office (DOC, DOCX, XLS, XLSX…). █ Open Office (ODT).

█ Really Simple Syndication (RSS).

(59)

Alternativa metodológica del ciclo de vida de la BDs

Proceso de diseño de una BD

Orden 1 2 3 4 5 6 Fases Análisis de requisitos Diseño conceptual Elección del SGBD Diseño lógico Diseño físico Diseño de la carga

(60)
(61)

Herramientas

█ Herramientas CASE de ayuda al diseño de bases de datos

█ Microsoft Visio

█ Diseño conceptual: UML y ER simple + diccionario de datos █ Conexión con Excel, Access, SQL Server, ODBC…

█ MySQL Workbench

█ Diseño conceptual (más lógico que conceptual): ER Crow’s Foot

█ Directamente entidad = tabla + relación = clave ajena

█ Conexión con MySQL: opción de sincronización del modelo con la BD

█ RISE Editor

█ Diseño conceptual (con limitaciones): ER Crow’s Foot █ Generación de script SQL para creación BD.

Referencias

Documento similar

4. Los pasamanos tendrán una sección transversal o diámetro de 3 a 5 centímetros, pudiendo ser cilíndricos o de diseño anatómico que facilite un buen asidero. No se

Para terminar con los métodos se habla del diseño orientado a objetos (DOO), este diseño transforma el modelo del análisis orientado a objetos, en un modelo de diseño que sirve como

En este capítulo se realizó el análisis y diseño del sistema que en un futuro se desea construir, todos los diagramas; de análisis, de secuencia del diseño, de clases del diseño

Tradicionalmente en el análisis de requisitos que precede al diseño de bases de datos se tienen en cuenta los requisitos de información (datos) y se presta menos atención a los

Imagen 2. Esquema del amplificador de microondas.. El proceso de diseño tiene unos pasos de diseño iniciales que son comunes. El primer paso consiste en realizar el diseño

En el Capítulo 3 Requisitos se hacen las consideraciones necesarias para el análisis y diseño de la solución propuesta, así como las vistas donde serán

Por lo tanto, se propone una metodología donde la fase 1 y 2 involucran la primera etapa del diseño guiado por materiales (MDD), la fase 3 habla sobre la definición del usuario

El axioma de independencia y el axioma de información: su implicación para diseños múltiples 70 Diseño robusto .... DISEÑO AXIOMÁTICO EN EL DISEÑO DE PRODUCTOS