Base de datos • Conjunto unificado de información, que será compartida por diferentes usuarios de la organización • La función básica de una base de datos es permitir el almacenamiento y la recuperación de la información necesaria, para que las personas de la organización puedan tomar decisiones. Arquitectura de un SI Sistema Ejecutivo Estratégico Sistema Apoyo a las Planeamiento Decisiones Operativo Sistemas Transacciones Esquema Externo Esquema Externo Esquema Conceptual Esquema Interno Esquema Externo Lista de eventos Cursograma Diagrama de Flujo de Datos Modelo Relacional Diccionario de Datos Transformador Externo /Conceptual Transformador Conceptual / Interno Transformador Interno / Almacenado Basede Datos Sistema de Gestión de Base de Datos (SGBD o DBMS) • Son programas de software para la administración de las Bases de Datos; que permiten:almacenar, manipular y recuperar datos en una computadora. • El SGBD también se encargará de la comunicación entre el usuario y la base de datos, proporcionándole al usuario, los medios para: obtener información, introducir nuevos datos y actualizar los ya existentes. Estructura de una Base de Datos Llave primaria Entidad Legajo 1 2 3 4 Chile Perú Apellido Rimoli Lemos Salgado Ponce Atributos Edad 33 44 55 66 Dominio Nación Chile Perú Brasil Argentina Registros Estructura de una BD Estructura de una BD Tipos de archivos • Archivo Maestro: – Guarda información sobre entidades y eventos esenciales para la organización (proveedores, ventas históricas) • Archivo de Transacciones – acumular datos de eventos en el momento que ocurran (ventas, ordenes de compra, pagos, cobranzas) • Archivo de Control – Permiten el análisis de desempeño - Maestro + Transacciones (Volumen de ventas por: producto, vendedor, cliente ) • Archivo de Planeamiento – contienen datos referentes a los niveles esperados de los datos existentes en los archivos maestros y de transacciones (programa de : ventas, compras, producción, ppto. Financiero) Métodos para el desarrollo de Sistemas de Información Llave Primaria e índices de acceso Herramientas para el desarrollo de Sistemas • • • • • Lista de Eventos Diagrama de Flujo de Datos Diccionario de Datos Modelo Relacional de Datos Tablas de Decisión Modelo conceptual • Un modelo es una descripción capaz de ser comunicada y que busca: – – – – Comunicar un cierto aspecto (visión) De una parte de la realidad (sistema) Con cierto grado de detalle (abstracción) Conforme perseguido por alguien (autor del modelo) – Con el objetivo de servir a los propósitos del usuario. Modelo conceptual • El conocimiento sobre alguna cosa es la habilidad de formar un modelo mental que represente esta cosa como así también las acciones que ella puede realizar o se puede realizar sobre ella. Cuando el individuo verifica acciones sobre este modelo él puede predecir las implicaciones que estas acciones tendrán sobre el mundo real. • Al relacionar las cosas entre sí y al pensar en ellas nos lleva a un pensamiento estructurado y poder así, describir el funcionamiento de un sistema, y esto debería ser el propósito de todo modelo. Modelo conceptual • Los modelos pueden tener diferentes clases de estructuras; y las más comunes son la del – lenguaje natural, – la clase simbólica y – la clase matemática. Lista de eventos • Elegir el nivel apropiado de abstracción para los términos. • Evitar el uso de casos en lugar de conceptos generales. • Evitar las expresiones vagas o indirectas. • Elegir un estilo estandarizado de enunciado. • Verificar los sinónimos y los homónimos. • Hacer explícitas las referencias entre términos. • Hacer un Diccionario de Datos. EL DIAGRAMA DE FLUJO DE DATOS - OBJETIVOS • Describir el contexto del sistema, determinando lo que ocurrirá en cada una de las áreas de la empresa, denominadas Entidades externas, que participen de este sistema; • Detallar los procesos a ser realizados; • Enumerar los archivos de datos necesarios, en cada proceso; • Definir los flujos de datos, que participen en el procedimiento. TÉCNICA DE DISEÑO DEL DFD Diagrama de Flujo de Datos El diccionario de datos Es un listado organizado de todos los elementos de datos pertinentes al sistema, con definiciones precisas y rigurosas para que el usuario y el analista de sistemas puedan conocer todas las entradas, salidas, componentes de depósitos y cálculos intermediarios El DD define los elementos de datos • Describiendo : – el significado de los flujos y los depósitos – la composición de paquetes agregados de datos que se mueven por los flujos – la composición de los paquetes de datos de los depósitos • Especificando los valores relevantes y unidades de inf. de los flujos de datos y depósitos de datos La necesidad de la anotación de un DD Anotación del DD • = COMPUESTO DE • + Y • ( ) OPCIONAL • { } INTERACCIÓN • • • • [] ** @ | ELECCIÓN DE UNA DE LAS OPCIONES COMENTARIO IDENTIFICADOR (CAMPO LLAVE DE UN DEPÓSITO ) SEPARACIONES ALTERNATIVAS EN SEPARADORES [ ] EJEMPLO • nombre = titulo+primer_nombre+(nombre_intermedio)+último_ nombre • • • • • título = [Sr | Sra | Sras | Srta | Dr. | Profesor ] primer_nombre = { caracter_válido } nombre_intermedio = { caracter_valido } último_nombre = { caracter_valido } caracter_válido = { A_Z | a_z | 0_9 | } Definiciones • A=B+C • PESO = *Peso del paciente al llegar al hospital * * unidades:kilogramos; intervalo: 1-200 * • ALTURA = *Altura del paciente al llegar al hospital* *unidades:centímetros;intervalo:20-200* Elementos de datos elementales NO EXISTE DESCOMPOSICIÓN SIGNIFICATIVA EN EL CONTEXTO DEL AMBIENTE DEL USUARIO • altura_actual = ** * unidades:libras;intervalo:1-400* • peso_actual = ** *unidades:pulgadas;intervalo:1-96* • sexo = ** *valores: [ M | F ] * Elementos de datos opcionales • dirección_cliente = (dirección_envío)+(dirección_cobro) • dirección_cliente= [dirección_envío|dirección_cobro|dirección_embarq ue | dirección de cobro ] • dirección_cliente = dirección_envío+(dirección_cobro) Interacción, Selección y Sinónimos • Interacción pedido =nombre_cliente+dirección_envío+1{ítem}10 • Selección sexo = { masculino|femenino } tipo_cliente = { gobierno|industria|otros } • Sinónimos cliente = *parroquiano* CONTENIDO DEL DICCIONARIO DE DATOS Nombre Tipo de elemento Definición Estructura Estructura de un elemento Estructura en Excel Estructura en Access LA MODELIZACIÓN DE DATOS ALMACENADOS EL MODELO DATOS (RDM). RELACIONAL DE Componentes de un RDM MATERIALES Número de artículo Descripción del material Costo unitario Existencia PEDIDO DE MATERIALES Número de pedido Número de artículo Cantidad pedida • Entidades o Tipos de objetos • Relaciones TIPOS DE RELACIONES • Relación uno a varios – La relación uno a varios es el tipo de relación más común. En este tipo de relación, un registro de la Tabla A puede tener muchos registros coincidentes en la Tabla B, pero un registro de la Tabla B sólo tiene un registro coincidente en la Tabla A. • Relación varios a varios – En una relación varios a varios, un registro de la Tabla A puede tener muchos registros coincidentes en la Tabla B y viceversa. • Relación uno a uno – En una relación uno a uno, cada registro de la Tabla A sólo puede tener un registro coincidente en la Tabla B y viceversa. BENEFICIOS DEL RDM • Da una visión de alto nivel de los archivos • Ayuda a descubrir los elementos no detectadas en el DFD • Simplifica la estructuración de los datos • Facilita la definición y el análisis de las Llaves primarias y foráneas • Facilita la definición de las relaciones. RDM - Datos llave • Llave Primaria (PK) Conjunto de atributos que distingue cada ocurrencia de una entidad de forma inequívoca a las demás. Está subrayada en el RDM. • Llave Foránea (FK) Conjunto de atributos común a dos entidades que sirve como relación entre las dos entidades. No es un atributo de la entidad relacionada, pero es la llave-primaria de la entidad con la cual ésta se relaciona Es marcada como FK en el RDM. Las relaciones y sus llaves • Relación uno-a-uno y sus llaves: Las relaciones y sus Llaves • Relaciones uno-a-uno y sus llaves: – ¿La relación será siempre 1:1? – ¿En que archivos se deberá incluir la Llave-Foránea? Las relaciones y sus Llaves • Relación uno-a-varios y sus llaves: Las relaciones y sus Llaves • Relación uno-a-varios y sus llaves: Las relaciones y sus Llaves • Relación varios-a-varios y sus llaves: Las relaciones y sus Llaves • Relación varios-a-varios resuelta (entidad asociativa): Variación en el Tiempo • Se debe evaluar si los atributos de una entidad (datos) variarán en el tiempo. • En cada caso, se debe verificar la necesidad de almacenar los valores históricos que asumirán. • Cada vez que se almacenen los datos históricos se crea una entidad dependiente con una relación uno-avarios (inicio del datawarehouse). Modelado de Dados • Define el contenido exacto de cada archivo de dados. • Son detalladas las características de todos los datos que serán almacenados en cada tabla definida en el RDM. • Debe ser realizado un relevamiento detallado para definir cada dado. Modelado de Dados • Obtener el menor número posible de datos en cada tabla. • Esos datos deben ser suficientes para capturar todas las entradas. • También deben ser suficientes para derivar todas las salidas (informaciones necesarias). Modelado de Dados • Se debe visitar el lugar en donde las entidades y sus dados son “utilizados”. • El usuario debe participar y debe comprometerse con estas definiciones. • Se Debe definir el dominio y la regla de validación para cada dato. Modelado de Dados • Para cada dato de cada archivo se debe definir: – Nombre del dato – Descripción del dato – Tipo de dato – Calificador del tipo de dado (Ej.: extensión) – Formato del dato – Dominio – Reglas de validación – Origen del dato – Responsabilidad por el dato Modelado de Dados • En cada tabla se debe definir: – Llave-primaria – Llaves-foráneas – Llaves-secundarias Modelado de Dados • Para el RDM como un todo se debe analizar: – Nombres lógicos – Nombres físicos (nombres código) – Sinónimos – Homónimos – Estructuras de datos embutidas – Llaves múltiplas – Reglas de Validación (a nivel de datos, tablas y relaciones) Normalización • El proceso de normalización consiste en la aplicación de reglas para definir adecuadamente los datos que compondrán las tablas, observando: – Minimizar redundancias – Eliminar anomalías de actualización – Proveer mejor acceso a cualquier dato – Asegurar resistencia al mantenimiento en el modelo de datos Normalización • Las tres primeras reglas de normalización son suficientes para resolver la gran mayoría de los casos: – 1- Eliminar datos repetitivos – 2- Eliminar datos redundantes – 3- Eliminar datos no dependientes Modelado de las Reglas del Negocio • Definición de las reglas del negocio que deben ser utilizadas en los procesos. • Modeladas a través de: • Lógica Estructurada • Tablas de Decisión • Árboles de Decisión • Diagramas de Transición de Estado • Tablas de Transición de Estado Lógica Estructurada • Modelar la lógica de las reglas del negocio utilizando construcciones de la programación estructurada: • • • • • SI...ENTONCES CASO1...CASO2...CASO3...O ENTONCES ENCUANTO... HASTA QUE... DE 1 A N – Modela y describe la ejecución de acciones y define procedimientos de cálculo y de decisión. TABLAS DE DECISIÓN • SON TÉCNICAS DE APLICACIÓN EN EL ANÁLISIS DE SISTEMAS, EN EL DISEÑO DE PROCEDIMIENTOS Y EN LA DOCUMENTACIÓN DE LOS MISMOS • SON UN MEDIO DE COMUNICACIÓN Y UN INSTRUMENTO DE PROGRAMACIÓN CONCEPTOS BÁSICOS SOBRE TABLAS DE DECISIÓN • SON UN MEDIO DE COMUNICACIÓN ENTRE – LOS USUARIOS DE SISTEMAS – ANALISTAS Y – PROGRAMADORES ESTRUCTURA Y COMPONENTES DE LAS TABLAS DE DECISIÓN • DESCRIPCIÓN DE CONDICIONES – SON SITUACIONES VARIABLES QUE PUEDEN OCURRIR • DESCRIPCIÓN DE ACCIONES – SON LOS DISTINTOS COMPORTAMIENTOS O CONDUCTAS QUE SE ASUMIRÁN EN FUNCIÓN DE LOS VALORES QUE TOMEN LAS CONDICIONES • VALORES DE CONDICIONES • VALORES DE ACCIONES METODOLOGÍA PARA LA CONFECCIÓN DE TABLAS DE DECISIÓN • DEFINIR E INTERPRETAR EL PROBLEMA • • • • ELIMINAR LA INFORMACIÓN NO RELEVANTE DISTINGUIR LAS CONDICIONES Y LAS ACCIONES VERIFICAR LAS ALTERNATIVAS REGISTRAR LOS VALORES DE LAS CONDICIONES Y DE LAS ACCIONES. • ANALIZAR EL RESULTADO OBTENIDO (REDUNDANCIAS Y CONTRADICCIONES) Tablas de Decisión REGLAS DESCRIPCIÓN DE CONDICIONES VALORES DE CONDICIONES DESCRIPCIÓN DE ACCIONES VALORES DE ACCIONES Árboles de Decisión Simplificadas (sin considerar probabilidades) =1 2 SI Acción A =2 =3 Acción B 1 NO Acción C Acción D Permiten una mejor comunicación que tablas de decisión Reconstrucción del BPM y del RDM • Reconstrucción del BPM Nuevos archivos, flujos y procesos y reglas pueden aparecer en el desarrollo del proyecto, como resultado de estas etapas posteriores. • Reconstrucción del RDM Nuevas tablas, datos, relaciones y reglas pueden aparecer en el desarrollo del proyecto, como resultado de etapas posteriores. Desempeño del Sistema • Utilización de índices de acceso • Creación de tablas auxiliares o temporarias • Desnormalización. Definición de los Módulos del Sistema • Un módulo siempre es invocado como una unidad. • Constituye un procedimiento completo que el sistema debe ejecutar. • Debe ser una operación que pueda ser vista por los usuarios del sistema como una unidad. Definición de los Módulos del Sistema • La división de un sistema en módulos debe ser natural. • Determinados procedimientos que guarden entre sí una misma relación de contexto o función deben ser agrupados en un módulo. • Procesos del BPM y entidades del RDM pueden ser agrupados o categorizados para definir los módulos. Diagrama Jerárquico del Sistema • Diagrama semejante a un organigrama. • Identifica cada uno de los módulos y la jerarquía existente entre ellos. • Normalmente, determina la estructura de menús de operación del sistema. MENÚ NÓMINAS COMPRAS VENTAS INFORMES Especificación de los Módulos del Sistema • Varía de acuerdo con el tipo de implementación: Una persona Varias personas • Varía de acuerdo con la tecnología utilizada: Arquitectura tradicional Arquitectura Cliente/Servidor Orientada para Objetos Especificación de los Módulos del Sistema • Nombre • Descripción • Características temporales y geográficas del procesamiento • Parte (explotada) del BPM • Parte del RDM • Tablas utilizadas (matriz CRUD) Especificación de los Módulos del Sistema • Presentación de los dados: – Formato de pantallas (formularios) – Formato de informes • Detalles del Procesamiento: – Eventos – Transacciones/Reglas – Diálogo Sistema x Usuario • Toda información superflua debe ser eliminada Implementación • Prototipo – Descubierta – Refinamiento • Desarrollo Espiral • Desarrollo Incremental • Desarrollo Paralelo • Versionamiento • Tecnología – Programación Visual – Cliente/Servidor – Orientada a objetos – Web Convergen a los sistemas modernos Fin Bibliografía básica: Modern Systems Analysis and Design Hoffer, George & Valacich Benjamin/Cummings Publishing, 1996