6.3. Diccionario de datos



Documentos relacionados
Fundamentos de Ingeniería del Software. Capítulo 3. Análisis de Requisitos Análisis Estructurado

Análisis de Sistemas. M.Sc. Lic. Aidee Vargas C. C. octubre 2007

NOTAS SOBRE DIAGRAMAS DE FLUJOS DE DATOS

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Técnica - Diagrama de Flujo de Datos (DFD)

Documentación Técnica. Diseño de interfaces. Conciliación Contable. Cash Flow Manager

2.- Diseño del comportamiento: Diagrama de actividades. Mª Antonia Zapata

GENERACIÓN DE ANTICIPOS DE CRÉDITO

BANCO NACIONAL DE PANAMÁ, BANCO DE DESARROLLO AGROPECUARIO Y BANCO HIPOTECARIO NACIONAL

BANCO NACIONAL DE PANAMÁ, BANCO DE DESARROLLO AGROPECUARIO Y BANCO HIPOTECARIO NACIONAL

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

Modelado Avanzado con Casos de Uso. Diseño de Software Avanzado Departamento de Informática

GedicoPDA: software de preventa

Manual de Usuario Comprador. Módulo Compra Express. Iconstruy e S.A. Serv icio de Atención Telefónica:

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

GENERACIÓN DE TRANSFERENCIAS

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Proceso de desarrollo del software modelo en cascada

rg.o El l c i c c i l c o l o de d vi v d i a d a cm a l@ rza e de d u n u n si s s i t s e t ma m a de d in i f n or o ma m c a i c ó i n ó b

Tesorería. Tesorería Diapositiva 1

UNIVERSIDAD DE JAÉN Servicio de Gestión Académica. Nuevo proceso en la tramitación de las devoluciones de precios públicos a través de UXXI-AC

Administración Local Soluciones

Guía del Gestor de anuncios por Acuerdo de Publicación

ÍNDICE 1 DESCRIPCIÓN 3 2 OPERATIVA DE LA FUNCIÓN 3 3 REGISTRO DE FACTURAS 4 4 REGISTRO MASIVO DE FACTURAS 10

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

Capítulo 9. Archivos de sintaxis

Guía paso a paso para la cumplimentación del formulario de candidatura

Traslado de Copias y Presentación de Escritos. Manual de Usuario V.3.1

Manual Oficina Web de Clubes (FBM)

Ejemplo de Análisis Orientado a Objetos ATMs

FOROS. Manual de Usuario

SOROLLA2 GUÍA PRÁCTICA SIMPLIFICADA. Relaciones de transferencias. Marzo del 2014

BANCOS. Manejo de Bancos. Como crear una ficha de Banco? Como modificar los datos de una ficha de Banco? Como borrar una ficha de Banco?

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

Manual de usuario Sistema DeclarINEGI v. 2.0

DATOS PRINCIPALES DE LA PRE INSCRIPCIÓN COMO EL

Elementos requeridos para crearlos (ejemplo: el compilador)

UAM MANUAL DE EMPRESA. Universidad Autónoma de Madrid

5.8. REGISTRO DE FACTURAS.

Manual Agencia Virtual Empresas

Resumen manejo lista de precios en Discovery 3.70 / 3.71

ESTE EJERCICIO ES DE TIPO MIXTO.

Departamento de Informática Segundo semestre de Repaso para Certamen 1

Empresas Cómo consultar su factura digital?

II. Relación con Terceros

1. Se debe plantear sobre el papel la solución del ejercicio.

Haga clic en los recuadros donde indica la mano y regrese al inicio del capítulo al hacer clic en el título de la sección donde se encuentra

Guía Metodológica para el diseño de procesos de negocio

Contabilidad Tabla de Pagos / Cobros.

BENEFICIAR ENTIDAD COOPERATIVA MANUAL DE USUARIO SOLICITUD DE CREDITO VÍA WEB

Solución Integrada y Centralizada para la Gestión de Clínicas Odontológicas

Tema 11 Bases de datos. Fundamentos de Informática

Operación de Microsoft Word

I. T. en Informática de Sistemas. Facultad de Informática

SERVICIO BODINTERNET GUÍA DE ACCESO AL MÓDULO DE CONFIGURACIÓN

COMUNICADO Nro /11/2010. Ref.: Tarjetas de crédito. Tasas y costos promedio de las tarjetas de crédito a agosto de Tarjetas de Crédito

Elementos del modelo de análisis. Modelado del análisis

Introducción a la Firma Electrónica en MIDAS

Gestión de Ficheros en ruralvía Recibos

Resumen ÁREA DE FACTURACIÓN::INFORMES::Pedidos Detalle Resumen ÁREA DE

Contabilidad. Introducción. Contabilidad Diapositiva 1

Tema VII: Herramientas del Análisis Estructurado Diagramas de Flujos de Datos (DFD s)

Manual de Usuario Comprador Presupuesto

Manual del Sistema Extranet de Proveedores. Extranet de Proveedores. Versión 3.0. Manual de Usuario

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online

DISEÑO DE FUNCIONES (TRATAMIENTOS)

ANÁLISIS DE LA SITUACIÓN ACTUAL DEL SISTEMA DE CONTROL DE RECLAMOS DE LA EMPRESA PROTOTIPO

Manual del usuario del Módulo de Administración de Privilegios del Sistema Ingresador (MAPSI)

MANUAL DE CONTABILIDAD ELECTRÓNICA

rg.o cm a Espec e i c fica c ci c ó i n ó n d e e r e r q e uer e i r mi m en e tos o l@ rza e b Di D s i e s ño d e b as a e s s s d e d at a o t s

HBE MANUAL DEL USUARIO PAGO DE SUELDOS

Formularios. Formularios Diapositiva 1

Manual del Sitio Web de Administración RIA. Versión 1.0

Guía rápida de uso de Openbravo

SIIGO Pyme. Templates. Cartilla I

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

Gestión de la Información

Guía del usuario. Centro de facturación de UPS

Manual de usuario del Centro de Control

ÍNDICE...1. Pág. 1/21

El control de la tesorería consiste en gestionar desde la aplicación los cobros y pagos generados a partir de las facturas de venta y de compra.

Obtenga acceso a efectivo en más de cajeros MasterCard/Maestro/Cirrus en el mundo.

MANUAL DE REFERENCIA DEL SERVICIO DE MONITOREO WEB DE VENTAS

Capítulo 12: Indexación y asociación

Manual de usuario. Modulo Configurador V.1.0.1

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

Ejercicio Guiado de Análisis y Diseño Orientado a Objetos. Ejemplo: CAJERO AUTOMÁTICO

Sistemas de Gestión de Documentos Electrónicos de Archivo (SGDEA)

Sub Sistema Contabilidad Financiera

Cómo ingresar a la Sucursal Electrónica?

NOTAS TÉCNICAS SOBRE EL SIT: Definición y Configuración de Usuarios

Manual de Usuario Comprador Módulo de Almacén

01 GUIA e INICIO al introducir la aplicación 1 GUIA ARCHIVOS 9 GENERACION DE TALLAS-COLORES GRUPOS DE CAJA DEPENDIENTES...

Preguntas Frecuentes Pedidos en MYHERBALIFE.COM Costa Rica, Agosto-2012

(Soluciones ADSL e-comercio) GUIA DE USUARIO. Versión 2.1. Parte 3. Manual del servicio Crea tu Tienda de Telefónica Net, ver 2.

SINAUTO. (Captura Requirimientos) GRUPO 03

P&S consulting HERRAMIENTA TECNOLÓGICA PARA LA VENTA ON LINE

BPMN Business Process Modeling Notation

Manual de Usuario Internet

3.1 Alta de clientes.

Transcripción:

6.3. Diccionario de datos 6.1. Introducción - Visión panorámica del AE 6.2. Diagramas de flujo de datos 6.3. Diccionario de datos 6.4. Modelado de la lógica de los procesos 6.5. Modelado de datos 6.6. Historia de vida de las entidades 6.7. El proceso de Yourdon

Diccionario de datos (DD) Es un conjunto de información (datos) sobre datos Objetivos del DD: Glosario de términos Establecer terminología estándar Proporcionar referencias cruzadas Proporcionar control centralizado para cambios Evolución histórica: desde el directorio/diccionario de datos hasta el diccionario de recursos de información

Posibles elementos para definir en el DD Flujos de datos Procesos Ficheros Entidades externas Estructuras de datos Datos elementales Mínimo necesario Cualquier otra cosa que el analista considere conveniente

Información requerida para cada elemento del DD Nombre Tipo de elemento Breve descripción Sinónimos Observaciones Mínimo necesario

Información requerida para cada elemento del DD (II) Frecuencias y fechas Volúmenes (Ks estimadas, nº líneas impresas, etc.) Cuellos de botella, valores máximos y mínimos (tablas, ficheros, impresos, entradas de datos) Referencia o código de impreso Rango de valores permitido y clase (numérico, alfanumérico, etc.) Miniespecificaciones (sólo procesos) Referencias cruzadas Usuarios afectados Cualquier otra información que se considere de interés

Soporte del DD Manual Editor/procesador de textos Base de datos Automático e integrado (sw. específico)

Descomposición top-down de datos A = B + C B = B1 + B2 + B3 C = C1 + C2 A, B, C, B1, B2, B3, C1, C2 todos están definidos en el DD Ejemplos de descomposición: Ficheros en subficheros o registros Procesos en subprocesos Flujos en subflujos Estructuras de datos en datos elementales

Operadores relacionales = es equivalente a + y <> o (inclusivo: al menos una de las opciones) [ ], o (exclusivo: sólo una de las opciones) 1{ }N iteraciones entre 1 y N veces del término entre llaves ( ) opcional

Operadores relacionales (II) Actualmente (Yourdon 93) <> no se usa (en System Architect tampoco) Se utiliza [ ], con combinaciones de ( ) y + Ejemplos: direccion-cliente = <direccion-envio, direccion-facturacion> * se puede expresar como * dirección-cliente = [direccion-envio direccion-facturacion direccion-envio + direccion-facturacion] * si se admite que direccion-cliente esté vacio * direccion-cliente = (direccion-envio) + (direccion-facturacion)

Operadores relacionales (III) *...* comentario @ identificador de campo clave en un almacén (también, alternativamente, se puede subrayar la clave) Ejemplos: Solicitud-destino = @nºascensor + (nºplanta) = nºascensor + (nºplanta) * ambas definiciones son equivalentes *

Ejemplos DD pedido = cupon-correos + (pago-previo) etiqueta = 1{carácter}8 nº-de-telefono = *cualquier secuencia correcta de dígitos que provoca una llamada * [extension-local 9 + numero-exterior] extension-local = * sólo dentro del edificio * primer-digito + 3{ cualquier-digito}3 primer-digito = [1 2 3 4 5 6 7] cualquier-digito = [0 1 2 3 4 5 6 7 8 9]

Hasta cuándo especificar? El proceso de descomposición finaliza en los términos autocontenidos Ejemplo persona = apellidos + nombre + nºss + edad edad es autocontenido? edad = 1{digito}2

Sinónimos Origen: Distintos usuarios dan distintos nombres a los mismos objetos El analista introduce, por error, un nombre distinto para un objeto ya nombrado Distintos analistas que trabajan en el mismo proyecto dan nombres distintos a un mismo objeto Los sinónimos deben evitarse siempre que sea posible

Ejemplos DD (II) Nombre: hoja-verde Sinónimos: petición, solicitud Tipo: sinónimo Observaciones: Nombre: estado Sinónimos: estado-cliente, EST$ Tipo: elemento de datos Valores y significado: OK.- Cuenta en buen estado C.- Cuenta cerrada D.- Cuenta en números rojos * cliente moroso * Observaciones:

Ejemplos DD (III) Nombre: peticion Sinónimos: solicitud, hoja-verde Tipo: flujo de datos Composición: [peticion-estado-cliente peticion-stock peticion-estado-de-un- pedido petición-de-materia-prima] Pertenece a: * ninguno * Observaciones: Nombre: Contabilidad de proyectos Sinónimos: Cuentas Tipo: fichero Composición: { @nº-de-proyecto + descripción-proyecto + cuenta-delgabinete + { nombre-del-empleado + fecha-ingreso } } Organización: * secuencial, por número de proyecto * Observaciones:

Elementos y estructuras de datos Son la base sobre la que se definen los flujos de datos, los almacenes y las entidades del diagrama E/R. Un elemento de datos es una pieza de información atómica. Una estructura de datos es un registro, compuesto por otras estructuras o elementos de datos.

Ejemplos DD (IV) (Flujo de datos) Libros prestados = [ Libros entregados Libros devueltos ] donde Libros entregados y Libros devueltos son estructuras de datos. Libros entregados = {ISBN + Copia-ID } Libros devueltos = { ISBN + Copia-ID } donde ISBN y Copia-ID son elementos de datos

6.4. Modelado de la lógica de los procesos 6.1. Introducción - Visión panorámica del AE 6.2. Diagramas de flujo de datos 6.3. Diccionario de datos 6.4. Modelado de la lógica de los procesos 6.5. Modelado de datos 6.6. Historia de vida de las entidades 6.7. El proceso de Yourdon

Miniespecificaciones (ME) Proceso primitivo miniespecificación La ME describe las reglas sobre cómo realizar el proceso para transformar las entradas en salidas La ME indica el proceso a realizar, la transformación de datos, no el algoritmo (que se selecciona en el proceso de diseño)

Herramientas para describir la lógica de los procesos Lenguaje estructurado Tablas de decisión Árboles de decisión Pre y post-condiciones (son alternativas no excluyentes)

Lenguaje estructurado Vocabulario (restringido) de una lengua (español, inglés, etc.) Verbos imperativos Términos definidos en el DD Palabras reservadas para formulación lógica (mayúsculas) Sintaxis de la programación estructurada

Lenguaje estructurado (II) Los objetos de una ME (sujetos de las sentencias) serán términos del DD o bien términos locales Los términos locales se definen explícitamente dentro de una ME, y son conocidos, relevantes y significativos sólo dentro de esa ME (por tanto, no es imprescindible su inclusión en el DD) Ejemplo: variables utilizadas para cálculos intermedios, como sumas parciales, dentro de un proceso.

Lenguaje estructurado - Sintaxis Sentencia declarativa simple (secuencia) Estructura de decisión Estructura de repetición Combinaciones de las estructuras anteriores

Sentencias declarativas Concisión Evitar verbos ambiguos (manejar, realizar, procesar, etc.) Utilizar verbos precisos que describan acciones concretas (imprimir, enviar, acumular...) Mencionar expresamente el objeto de la sentencia, preferiblemente utilizando los términos del DD Ejemplos: Recoger INF-CLIENTE Separar PETICION Archivar PETICION en F-PETICION *fichero* Enviar DATOS-CLIENTE a DPTO-CLIENTES

Estructura de decisión SI Condición Acción(es) SINO Acción(es) CASO Condición:Acción(es) Ejemplos: a) SI Valor-capital-actual es menor que 600 Asignar Cantidad-depreciada = Valor-capital-actual = 0 SINO Asignar Cantidad-depreciada = 10% de Valor-capital-actual b) Seleccionar la política que se aplica: Caso 1: (Costo-de-pedido > 1000 ) : enviar por avión Caso 2: (Costo-de-pedido entre 100 y 1000 ) : enviar por correo urgente Caso 1: (Costo-de-pedido < 100 ) : enviar por correo normal

Estructura repetitiva REPETIR (condición de selección) Acción(es) HASTA (condición de terminación) MIENTRAS (condición) Acción(es) FIN MIENTRAS Ejemplo: REPETIR para cada registro-de-pasajero en fichero-de-reservas Acumular Cantidad-debida en Total Construir registro Nuevo-débito Escribir Nuevo-débito en el diario HASTA final de fichero-de-reservas

Estructura repetitiva (II) a) PARA CADA cliente en fichero-cuentas b) Acceder al registro de cuenta del fichero-cuentas Si estado-cuenta es moroso y balance < 10 Poner estado-cuenta en pendiente Acumular balance-cuenta en total-pendiente Asignar a fecha-última-transacción la fecha de hoy REPETIR para cada cliente en fichero-cuentas Acceder al registro de cuenta del fichero-cuentas Si estado-cuenta es moroso y balance < 10 Poner estado-cuenta en pendiente Acumular balance-cuenta en total-pendiente Asignar a fecha-última-transacción la fecha de hoy HASTA que no haya más clientes

Lenguaje estructurado - Observaciones Utilizar funciones o subrutinas Subrayar los términos del DD o usar con mayúsculas en SA, usar comillas Evitar sentencias largas e imprecisas Usar indentación o notación de bloque Usar paréntesis para las combinaciones de condiciones lógicas (and, or, not)

Lenguaje estructurado. Ejemplos (I) (Yourdon 93) Apéndice F PROCESO 3.1: PRODUCIR RECIBOS EFECTIVO COMIENZA efectivo-recolectado = 0 MIENTRAS haya más registros en DINERO LEER siguiente registro en DINERO ENVIAR dinero *en (Yourdon 93) pone DESPLEGAR * efectivo-recolectado = efectivo-recolectado + cantidad-dinero FIN-MIENTRAS reporte-efectivo = efectivo-recolectado ENVIAR reporte-efectivo TERMINA D DINERO P3 PRODUCIR RECIBOS EFECTIVO dinero + reporte-efectivo

Lenguaje estructurado. Ejemplos (II) (Yourdon 93) Apéndice F reporte-diario-ventas reporte-mensual-ventas P2 PRODUCIR REPORTE DIARIO VENTAS P1 PRODUCIR REPORTE MENSUAL VENTAS D CREDITOS D PEDIDOS D DEVOLUCIONES

Lenguaje estructurado. Ejemplos (III) (Yourdon 93) Apéndice F PROCESO 3.2: PRODUCIR REPORTE DIARIO VENTAS COMIENZA total-diario = 0 MIENTRAS haya más pedido en PEDIDOS con fecha-pedido= fecha actual LEER siguiente pedido con fecha-pedido = fecha actual SUMAR numero-factura, nombre-cliente, nombre-compañía, pedido-total como nuevo renglón en reporte-diario- ventas SUMAR total-pedidos a total-diario FIN_MIENTRAS SUMAR total-diario como nuevo renglón en reporte-diario-ventas ENVIAR reporte-diario-ventas TERMINA

Lenguaje estructurado. Ejemplos (IV) (Yourdon 93) Apéndice F PROCESO 3.3: PRODUCIR REPORTE MENSUAL VENTAS COMIENZA total-ventas = 0 total-devoluciones = 0 total-créditos = 0 MIENTRAS haya más pedido en PEDIDOS con fecha-pedido de este mes SUMAR total-pedidos a total-ventas FIN_MIENTRAS MIENTRAS haya más devolución en DEVOLUCIONES con fecha-devolución de este mes SUMAR valor-devolución a total-devoluciones FIN_MIENTRAS MIENTRAS haya más crédito en CREDITOS con fecha-crédito de este mes SUMAR monto-de-crédito a total-créditos FIN_MIENTRAS reporte-mensual-ventas = total-ventas, total-devoluciones, total-créditos ENVIAR reporte-mensual-ventas TERMINA

Lenguaje estructurado. Ejemplos (V) (Yourdon 93) Apéndice F D LIBROS id-imprenta + fact-imprenta factura-imprenta P4 PROCESAR FACTURAS IMPRENTA factura-imprenta-aprobada autorizacion-fact-imprenta respuesta-fact-imprenta

Lenguaje estructurado. Ejemplos (VI) (Yourdon 93) Apéndice F PROCESO 4.4: PROCESAR FACTURA IMPRENTA COMIENZA ENCONTRAR libro en LIBROS con clave-libro que corresponda con clave-libro en fact-imprenta SI no se encuentra registro respuesta-fact-imprenta = No existen pedidos pendientes para este libro ENVIAR respuesta-fact-imprenta OTRO ENVIAR factura-imprenta (a administración para su aprobación) ACEPTAR autorización-factura-imprenta SI autorización-factura-imprenta = NO FIN_SI OTRO TERMINA respuesta-fact-imprenta = Factura rechazada; comuníquese con la administración para discutirlo ENVIAR respuesta-fact-imprenta respuesta-factura-imprenta = Factura aceptada ENVIAR respuesta-factura-imprenta factura-imprenta-aprobada = fact-imprenta ENVIAR factura-imprenta-aprobada FIN_SI

Lenguaje estructurado. Ejemplos (VII) (Yourdon 93) Apéndice F PROCESO 6.1: PRODUCIR ETIQUETAS ENVIO COMIENZA ORDENAR CLIENTES por código-postal en etiquetas-envío ENVIAR etiquetas-envío TERMINA etiquetas-envío solicitud-etiquetas P6 PRODUCIR ETIQUETAS ENVIO D CLIENTES

Tablas de decisión Encabezamiento Reglas Estados de condición Anotación de condición Sentencia de acción Autorización de tarjeta de crédito 1 2 3 4 Compra inferior a 50 Y N N N Compra entre 50 y 100 Y N N Compra superior a 100 Y N Autorizado automáticamente X Dar número de autorización X X Anotar en la cuenta X Error X Anotación de acción Se han desarrollado procesadores de tablas de decisión que generan automáticamente el código del proceso correspondiente. Autorización de tarjeta de crédito 1 2 3 Valor de la compra p p > 100 50 < p < 100 0< p < 50 Autorizar automáticamente X Asignar autorización X X

Árboles de decisión Cuotas de socio tipo pendiente asociado de grado año primero segundo tercero primero segundo tercero primero segundo tercero cuota a pagar 2 3 4 3 4 6 5 6 7 senior primero segundo tercero 3 4 5

Comparativa Uso AD TD Lenguaje estructurado Lenguaje narrado simplificado Verificación Moderada Muy buena Buena Moderada lógica Visualización de la Muy buena (pero sólo Moderada (sólo Buena (para todo) Moderada (para todo, estructura lógica decisiones) decisiones) pero depende del autor) Simplicidad Muy buena Muy pobre Moderada Buena Validación por Buena el usuario Pobre- Moderada Buena Pobre (si el usuario no está formado en TD) Especificación Moderada Muy buena Muy buena Moderada de programa Editable por Pobre Muy buena Moderada Pobre la máquina (necesita sintaxis) Cambios Moderada Pobre Buena Buena

Pre y post-condiciones (Yourdon 93) Útiles para representar la acción a realizar sin entrar en los detalles del algoritmo Particularmente útiles cuando: El usuario tiene tendencia a describir el proceso en términos de un algoritmo particular El analista está razonablemente seguro de que existen muchos algoritmos alternativos El analista desea que el diseñador/programador explore varios algoritmos, pero no quiere enredarse con el usuario en discusiones acerca del mérito relativo de cada uno

Precondiciones Entradas disponibles llega el dato X * en (Yourdon 93) pone ocurre * Relaciones entre las entradas llegan detalles de pedido y detalles de envío con el mismo número de cuenta llega un pedido con fecha de entrega de más de 60 días Relaciones entre entradas y almacenes hay un pedido-de-cliente con número-de-cta-de-cliente que corresponde con un número-de-cta-de-cliente del almacén de clientes Relaciones entre almacenes distintos (o dentro del mismo almacén) hay un pedido en el almacén de pedidos cuyo número-de-cta-delcliente corresponde con un número-de-cta-del-cliente en el almacén de clientes existe un pedido en el almacén de pedidos con fecha-de-envío igual a la fecha actual z x y a

Post-condiciones Salidas producidas se producirá una factura Relaciones entre entradas y salidas la factura-total se calcula como suma de precios-unitarios- de-artículos más costos-de-envío Relaciones entre salidas y almacenes el balance-actual en el almacén INVENTARIO se incrementará con cantidad-recibida, y el nuevo balanceactual se producirá como salida de este proceso Cambios en los almacenes el pedido se anexará al almacén de PEDIDOS el registro de clientes se eliminará del almacén de clientes

Pre y post-condiciones Ejemplos (Yourdon 93) ESPECIFICACIÓN DE PROCESO 3.5: CALCULAR EL IMPUESTO SOBRE VENTAS Precondición 1 Llega DATOS-VENTA con TIPO-ITEM que corresponde con CATEGORÍA-ITEM en CATEGORÍAS-IMPUESTO Postcondición 1 IMPUESTO-SOBRE-VENTA se hace igual a MONTO-VENTA * IMPUESTO Precondición 2 Llega DATOS-VENTA con TIPO-ITEM que no concuerda con CATEGORÍA-ITEM en CATEGORÍAS-IMPUESTO Postcondición 2 Se genera mensaje de error

Pre y post-condiciones Ejemplos (II) (Yourdon 93) Precondición 1 El comprador llega con un número-de-cta que corresponde con un número de cuenta en CUENTAS, cuyo código-de-status es válido Postcondición 1 Se produce una factura con número-de-cuenta y monto-deventa Precondición 2 La precondición 1 falla por algún motivo (el número-de-cta no se encuentra en CUENTAS, o el código-de-status no es válido ) Postcondición 2 Se produce un mensaje de error

ME Otras técnicas Grafos y diagramas propios del usuario Si son claros, se pueden agregar a la especificación como redundantes. Diagramas Nassi-Shneiderman Flowcharts Lenguaje narrativo No recomendadas Sirve para descripción breve

6.5 Modelado de datos 6.1. Introducción - Visión panorámica del AE 6.2. Diagramas de flujo de datos 6.3. Diccionario de datos 6.4. Modelado de la lógica de los procesos 6.5. Modelado de datos 6.6. Historia de vida de las entidades 6.7. El proceso de Yourdon

Objetivo Obtener una representación de la información del sistema independiente de aplicaciones y dispositivos físicos Facilitar cambios en los requisitos, SGBD, equipos físicos Con el análisis estructurado moderno de Yourdon el modelado de datos cobra la misma importancia que el modelado de procesos. Técnicas de modelado de datos en AE: E/R RECOMENDADO DED (Diagramas de Estructura de Datos) Representa esquemas relacionales, jerárquicos, CODASYL

DED BD lógica, no simplificada ni optimizada, a efectos de validación por el usuario (esta especificación pasaría al implementador de la BD) Diseño externo, lógico BD optimizada y normalizada, lista para ser implementada físicamente Diseño físico

DED (II) E/R limitado Sólo interrelaciones de grado 2 Ternarias: descomponer Cardinalidad sólo 1:N Otras cardinalidades: Cardinalidad 1:1 Agrupar las dos entidades Conservar las dos entidades, con una interrelación en cualquier sentido Cardinalidad M:N EQUIPO Entidad auxiliar con dos relaciones 1:N JUGADOR

DED. Ejemplo Departamento (1,n) pertenece Diagrama E-R Notación [EN2002] (Chen) Elmasri, R.; Navathe, S.B. : "Fundamentos de Sistemas de Bases de Datos". 3ª Ed. Madrid [etc.]: Addison-Wesley, Pearson Educación, 2002. (1,1) Empleado (0,n) asignado (1,m) Proyecto Departamento Proyecto DED pertenece requiere Empleado tiene Asignación

DED. Interrelaciones Interrelaciones OPCIONALES Interrelación opcional en el extremo B y obligatoria en el A A B ocurrencia de A pueden o no una o varias ocurrencias de B, y para cada ocurrencia de B existe una ocurrencia de A asociada

DED. Interrelaciones (II) Interrelaciones EXCLUSIVAS Dos o más interrelaciones entre varias entidades son exclusivas si la existencia de una implica la no existencia de la otra P.ej. En la CARM... EMPRESA EXTERNA TRABAJADOR CONSEJERÍA (notación De Miguel Piattini)

6.6. Historia de vida de las entidades 6.1. Introducción - Visión panorámica del AE 6.2. Diagramas de flujo de datos 6.3. Diccionario de datos 6.4. Modelado de la lógica de los procesos 6.5. Modelado de datos 6.6. Historia de vida de las entidades 6.7. El proceso de Yourdon

HVE. Bibliografía Para todo este apartado: Guía de técnicas de Métrica v.2.1. Ministerio de Administraciones Públicas. 1996. (HVE no es mencionada en Métrica 3)

HVE Describe la posible evolución de las entidades de datos del sistema VISIÓN DEL COMPORTAMIENTO, que complementa: Visión estática (E/R o DED) Visión de procesos y flujos (funcional) (DFDs) HVE se basa en entidades de datos (identificadas en DED), y transacciones o eventos (de los DFDs) Deben ser coherentes HVE, DED, DFD

HVE. Objetivos Registrar la secuencia de los cambios de las entidades en el tiempo Determinar los estados posibles Determinar los cambios de estado Identificar interacciones producidas por eventos

HVE (En principio) existe una HVE por cada entidad del sistema Realmente es necesario? HVE describe la sucesión de eventos que afectan a dicha entidad, cuyos efectos pueden ser: Crear/dar de baja a la entidad Modificar sus atributos

HVE. Elementos Entidades de datos Cualquier objeto sobre el que el sistema guarda información (tienen atributos) Eventos Sucesos que activan un proceso que afecta los datos del sistema Efectos Resultado de la acción de un evento sobre una entidad Nodo Agrupación de eventos en una caja Cajas vacías Representan el caso en que ningún evento afecta a la entidad

Eventos EXTERNOS. Por activación externa ej. solicitudes de alta, baja, modificación, etc. PERIÓDICOS. Activación dependiente del tiempo (automáticos) sin estímulo externo ej. back up periódico TRIGGERING. Activados internamente por cumplimiento de determinadas condiciones ej. alarma activada

Efectos Un evento puede tener distintos efectos sobre entidades diferentes. Ej.: SOLICITAR APERTURA CTA. BANCARIA Crea (o actualiza) entidad CLIENTE Crea entidad CUENTA Un evento puede tener efectos distintos sobre ocurrencias de una misma entidad. Ej.: entidad CUENTA; ev. REALIZAR TRANSFERENCIA Efectos: para una ocurrencia: HACER APUNTE EN EL DEBE Para la otra ocurrencia: HACER APUNTE EN EL HABER

Efectos (II) Tipos de efectos: I : insertar M : modificar B : borrar

Nodo Es una abstracción gráfica que mejora la legibilidad. ENTIDAD CREAR MODIFICAR BORRAR Entidad es un nodo que agrupa todos los eventos que le afectan

HVE. Notación (MAP 95) CUENTA ABRIR cta. ab. VIDA CERRAR cierre BORRAR cta.borr. SECUENCIA TRANSACCIÓN ITERACIÓN TRANS. PAGO TRANS. DEPÓSITO TRANS. ABONO SELECCIÓN

HVE. Notación (II) (MAP 95) CUENTA EVENTO EVENTO EVENTO NODO EFECTO EFECTO EFECTO ESTRUCTURA PARALELA NODO 1 EVENTO N EFECTO N EVENTO K EFECTO K EVENTO L EFECTO L EVENTO M EFECTO M También se pueden poner saltos: R Q (En general, RX QX)

HVE. Ejemplo (MAP 95) solicitud reserva 1 ACEPTAR RESERVA datos cliente D1 CLIENTES CLIENTE datos reserva 2 DET. DISPONIBILIDAD VEHICULOS D2 RESERVAS reserva conforme 3 CONFIRMAR RESERVA confirmación

HVE. Construcción 1. IDENTIFICAR EVENTOS En el DFD anterior... E1: SOLICITUD DE RESERVA E2: SOLICITUD DE RESERVA EFECTUADA POR CLIENTE NUEVO E3: CONFIRMACIÓN DE RESERVA E4: ASIGNACIÓN DE UN CONDUCTOR A LA RESERVA Se te ocurren más eventos?

HVE. Construcción (II) (MAP 95) 2. CONSTRUIR MATRIZ ENTIDAD/ EVENTO I : Insertar M : Modificar B : Borrar ENTIDADES EVENTOS E1 E2 E3 E4 CLIENTE I I RESERVA I M M CONDUCTOR M

HVE. Construcción (III) (MAP 95) 3. CONSTRUIR HVE INICIALES PARA TODAS LAS ENTIDADES RESERVA SOLICITUD RESERVA crea reserva CONFIRMACIÓN RESERVA reserva confirm. CONDUCTOR ASIGNACIÓN CONDUCTOR ------------- conductor asig.

HVE. Construcción (IV) (MAP 95) 4. REFINAMIENTO DE LAS HVE NUEVO EVENTO E5: ENVÍO DE FACTURA RESERVA SOLICITUD RESERVA crea reserva CONFIRMACIÓN RESERVA reserva confirm. CONDUCTOR ENVÍO FACTURA actualizar res. ASIGNACIÓN CONDUCTOR ------------- conductor asig.

HVE. Construcción (V) (MAP 95) 4. REFINAMIENTO DE LAS HVE NUEVO EVENTO E6: PETICIÓN DE CAMBIO RESERVA SOLICITUD RESERVA crea reserva CONFIRMACIÓN RESERVA reserva confirm. CONDUCTOR CAMBIOS * ENVÍO FACTURA actualizar res. ASIGNACIÓN CONDUCTOR ------------- PETICIÓN CAMBIO CONFIRMACIÓN CAMBIO conductor asig. cambio reserva reserva confirmada

HVE. Construcción (VI) (MAP 95) 5. AÑADIR INDICADORES DE ESTADO RESERVA SOLICITUD RESERVA crea reserva -/1 CONFIRMACIÓN RESERVA reserva confirm. 1/2 CONDUCTOR CAMBIOS * ENVÍO FACTURA actualizar res. 5/6 FIN ASIGNACIÓN CONDUCTOR ------------- PETICIÓN CAMBIO CONFIRMACIÓN CAMBIO ARCHIVO RESERVA ARCHIVO CLIENTE conductor asig. 2/3 2/2 cambio reserva 2,3,5/4 reserva confirmada 4/5 borrar reserva 6/- 6/- borrar reserva

Modo de construcción Para cada entidad, en principio, debe haber un HVE Empezar por las entidades detalle MAESTRO DETALLE Y al final... examinar los efectos de los eventos del maestro en los detalles

HVE. Relaciones con otras técnicas Asegurar coherencia vista evolutiva (dinámica o de comportamiento) (HVE) con Vista estática o de datos (E/R o DED) Vista funcional (DFD) Para ello, comprobar: DFD: para cada evento en el HVE, existe un proceso en los DFDs del sistema que lo trata E/R o DED: el modelo de datos permite reflejar las repercusiones que la actuación de un evento sobre una entidad tiene sobre otras entidades del sistema