La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Ingeniería del Software Tema 3. Análisis Estructurado II Profesor: Juan Antonio López Quesada. Facultado de Informática.

Presentaciones similares


Presentación del tema: "Ingeniería del Software Tema 3. Análisis Estructurado II Profesor: Juan Antonio López Quesada. Facultado de Informática."— Transcripción de la presentación:

1

2 Ingeniería del Software Tema 3. Análisis Estructurado II Profesor: Juan Antonio López Quesada. Facultado de Informática. Diagrama de Flujo de Datos

3 Análisis Estructurado II Introducción - Visión panorámica del AE. Diagramas de Flujo de Datos.

4 1.- Introducción: Visión panorámica del AE 1.- Introducción: Visión panorámica del AE nAnálisis Estructurado nMétodo clave en el desarrollo estructurado o convencional nAparece a finales de los 70 nFacilita la comunicación en el proceso de desarrollo de un sistema de información análisis y diseño usuarios y analistas nSencillo, fácil de entender y fácil de aprender

5 nAmplia difusión nDescomposición funcional n(Originariamente) Orientada a procesos n(Originariamente) Top/down nPresente en numerosas metodologías np.ej. Métrica, SSADM, information engineering, Merise nHerramientas CASE disponibles 1.- Introducción: Visión panorámica del AE. Características

6 Bibliografía nTexto principal nYourdon, E., Análisis estructurado moderno. 1993: Prentice-Hall Hispanoamericana Introducción Capítulo 4. Herramientas del análisis estructurado Capítulo 7. Cambios en el análisis de sistemas Técnicas Capítulo 9. Diagramas de flujo de datos. Capítulo 10. El diccionario de datos. Capítulo 11. Especificaciones de proceso. Capítulo 14. Balanceo de modelos. El proceso de análisis Capítulo 17. El modelo esencial. Capítulo 18. El modelo ambiental. Capítulo 19. Construcción de un primer modelo de comportamiento. Capítulo 20. Completando el modelo de comportamiento.

7 Bibliografía (II) nEntre la bibliografía básica... nPiattini, M., et al., Análisis y diseño detallado de Aplicaciones Informáticas de Gestión. 1996: Ra-ma. nMAP, MÉTRICA versión 2.1. Guía de Técnicas. 1995, Madrid: Ministerio de Administraciones Públicas. Secretaría de Estado para la Administración Pública. Consejo Superior de Informática. nEn castellano y en la biblioteca... nBarranco de Aruba, J., Metodología del Análisis Estructurado de Sistemas (2ª edición). 2001, Madrid: Publicaciones de la Universidad Pontificia de Comillas. nHawryszkiewycz, I. T. Introducción al análisis y diseño de sistemas con ejemplos prácticos. 1ª ed., Madrid : Anaya Multimedia, nReferencias clásicas... nDeMarco, T., Structured analysis and system specification. 1979, Englewood Cliffs, New Jersey: Yourdon Press. nGane, C. and T. Sarson, Análisis estructurado de sistemas. 1990, Buenos Aires: El Ateneo (traducción de Gane, C. and T. Sarson, Structured systems analysis, tools and techniques. Software series. 1979, New Jersey: Prentice-Hall.)

8 nDFD (Diagrama de Flujo de Dato Dataflow diagram) nDiagrama E-R (Entidad-Relación), o alternativamente, DED (Diagrama de Estructura de Datos) nDiagramas HVE (Historia de Vida de las Entidades) nDiagramas de Transición de Estados (STD, State Transition Diagram) 1.- Introducción: Visión panorámica del AE. Componentes 1.- Introducción: Visión panorámica del AE. Componentes

9 nLógica de procesos nLenguaje estructurado nPre y post-condiciones nTablas de decisión nÁrboles de decisión nDiccionario de Datos (DD) 1.- Introducción: Visión panorámica del AE. componentes

10 1.- Introducción: Visión panorámica del AE. DFD nVisión general de las funciones y transformaciones de datos en una organización nModelo lógico y gráfico del sistema ntambién como modelo físico nIdentifica entradas, salidas, procesos y relaciones con el exterior n...a nivel general n...por refinamiento, a nivel detallado

11 Tipos de símbolos en los DFDs (notación de Yourdon/De Marco) 1.- Introducción: Visión panorámica del AE. DFD

12 Adaptado del capítulo 2 de Gane, C. and T. Sarson, Análisis estructurado de sistemas. 1990, Buenos Aires: El Ateneo. Sistema de distribución sin inventario Se trata de un sistema que sirve pedidos de libros a unos clientes, con la particularidad de que no mantiene un stock o inventario interno. El sistema puede agrupar los pedidos que clientes distintos hacen a un mismo editor, de manera que se puedan conseguir descuentos. Ejemplo 1.- Introducción: Visión panorámica del AE. DFD: Ejemplo Práctico

13 Diagrama de contexto Análisis de los procesos del sistema en principio, no son materiales, son datos 0. Sistema de Pedidos EDITOR libros entregados pedidos CLIENTE órdenes de compra libros pedidos Aplicamos la visión sistémica 1.- Introducción: Visión panorámica del AE. DFD: Ejemplo Práctico

14 0. Sistema de pedidos 1. Verificar validez de pedido pedidos 2. Armar pedidos a editores pedidos en lote 3. Verificar envío de editores libros pedidos 4. Asignar libros a pedidos 5. Armar entrega a clientes pedidos por título libros recibidos libros por clientes D CLIENTES estado del crédito dirección D LIBROS libros entregados libros entregados = albarán + lista-novedades DD libros recibidos = {título + cantidad} pedidos válidos D PEDIDOS PENDIENTES órdenes de compra D ÓRDENES DE COMPRA 1.- Introducción: Visión panorámica del AE. DFD: Ejemplo Práctico

15 nEs un conjunto de metadatos, es decir, de información (datos) sobre datos nContiene las definiciones de todos los elementos de los diagramas nImplementación nManual nProcesador de textos nBase de datos nAutomático e integrado 1.- Introducción: Visión panorámica del AE. Diccionario de Datos

16 Flujo de datos: entrega Descripción: Conjunto de libros enviados por un proveedor a la biblioteca, basado en la relación que previamente había recibido. Sinónimos: *** none *** Componente de: *** none *** Composición: Libros + { Albarán } Información de entrada y salida OrigenDestino *** Off the diagram ***Compra libros PROVEEDORESBiblioteca 1.- Introducción: Visión panorámica del AE. Diccionario de Datos

17 Visión panorámica AE Diccionario de Datos (III) Almacen: Facturas Descripción: Información, por número de factura, sobre facturas en el sistema actual. Sinónimos: *** none *** + Fecha-factura + Dirección-cliente + { Número-producto + Cantidad-producto + Costo-unidad-producto } + Costo-envío + Tasa-de-descuento + Neto-factura + Estado-factura Procesos asociados: Según DFD general Proc_cancelaciónProc_pago Proc_consultasAdjuntar_albarán

18 Proceso: Verificar estado del socio Número: Descripción: Se examina si el socio no está sancionado Miniespecificación: Recibir Socio ID del socio Leer SOCIOS para Leer Flag-de-precaución Si OK, enviar Socio ID válido Complejidad: Prioridad: Ratio de transacciones: Memoria requerida (Kb): Tiempo de proceso: 1.- Introducción: Visión panorámica del AE. Pseudocódigo.

19 nDiagramas E-R y DED (Diagrama de Estructura de Datos) nDED es, básicamente, un E-R limitado: nno relaciones ternarias nsólo cardinalidades 1:N nno atributos multivaluados ni compuestos nPor defecto, usaremos diagramas E-R 1.- Introducción: Visión panorámica del AE. Modelado de Datos

20 Diagrama E-R Proyecto Empleado Departamento asignado pertenece (1,n) (1,1) (0,n) (1,m) [EN2002] (Chen) Asignación Departamento Empleado Proyecto requiere tiene pertenece DED 1.- Introducción: Visión panorámica del AE. Ejemplo de E/R.

21 nTécnicas para describir la lógica de los procesos primitivos nLenguaje estructurado nPre y post-condiciones nTablas de decisión nÁrboles de decisión 1.- Introducción: Visión panorámica del AE. Lógica de Proceso.

22 nLenguaje estructurado nSI la factura excede de 300 SI la cuenta del cliente tiene alguna factura sin pagar más de 60 días, dejar la confirmación pendiente de este pago. SI NO (la cuenta está en buen estado) hacer confirmación y factura nSI NO (la factura es de 300 o menos) SI la cuenta del cliente tiene alguna factura sin pagar más de 60 días hacer la confirmación, la factura y escribir un mensaje sobre informe de crédito SI NO (la cuenta está en buen estado) hacer confirmación y factura nFIN-SI. 1.- Introducción: Visión panorámica del AE. Lógica de Proceso.

23 nPre y post-condiciones Pre1 (la factura excede de 300) Y (la cuenta del cliente tiene alguna factura sin pagar más de 60 días) Pos1 (confirmación pendiente de este pago) Pre2 (la factura excede de 300) o (la cuenta del cliente no tiene ninguna factura sin pagar más de 60 días) Pos2 (confirmación y factura realizadas) Pre3 (la factura no excede de 300) Y (la cuenta del cliente tiene alguna factura sin pagar más de 60 días) Pos3 (confirmación y factura realizadas) Y (mensaje impreso sobre informe de crédito) Pre4 (la factura no excede de 300) Y (la cuenta del cliente no tiene ninguna factura sin pagar más de 60 días) Pos4 (confirmación y factura realizadas) 1.- Introducción: Visión panorámica del AE. Lógica de Proceso.

24 Tablas de decisión 1.- Introducción: Visión panorámica del AE. Lógica de Proceso.

25 Árboles de decisión Política contable Factura excede de 300 Factura menos de 300 Cuentas impagadas más de 60 días Cuentas en buen estado Cuentas impagadas más de 60 días Cuentas en buen estado 1. Dejar confirmación pendiente de los pagos debidos. 2. Hacer confirmación y factura 3. Hacer confirmación y factura y escribir mensaje sobre informe de crédito 4. Hacer confirmación y factura 1.- Introducción: Visión panorámica del AE. Lógica de Proceso.

26 ¿Y después del AE? nDISEÑO ESTRUCTURADO (DE) DIAGRAMA DE ESTRUCTURA nEl diseño lógico de los requisitos del nuevo sistema de información se convierte en un modelo de la aplicación, plasmado en un DIAGRAMA DE ESTRUCTURA. nEn el paso AE DE, Análisis de transacciones Análisis de transformaciones

27 Diseño Estructurado: DIAGRAMA DE ESTRUCTURA. Diseño Estructurado: DIAGRAMA DE ESTRUCTURA. Ejemplo de diagrama de estructuras Informar petición Elaborar informe Rechazar petición Leer peticiones Consultar stock Recibir peticiones Evaluar peticiones informe préstamo pet rechazada ok pet préstamo pet aceptada pet préstamo

28 Definiciones de la BD Visión panorámica AE Esquema resumen Diccionario de Datos Diagrama de flujo de datos PROC B Z Y X W V A FUENTE DESTINO D ALMACÉN DE DATOS Diagrama E-R (o DED) Diagrama de estructuras Paso al diseño Descripción del proceso Definición del FD Definiciones de los módulos Descrip. E. E.

29 2.- Diagramas de Flujo de Datos (DFDs)

30 Símbolos del DFD (notación Yourdon/De Marco) P Proceso Entidad Externa D ALMACÉN DE DATOS Flujo de eventos Flujo de datos Transformaciones o procesos (funciones, cálculo, selección) Terminadores (Fuentes o Destinos) (personas, entidades) Flujos de información (inputs-outputs) Flujos de control (Ward & Mellor 85) Ficheros o depósitos temporales de información (base de datos, armario, clasificador, etc.) 2.- Diagramas de Flujo de Datos

31 Símbolos del DFD (notación Métrica/SSADM) Entidad Externa DALMACÉN DE DATOS Flujo de datos Transformaciones o procesos Terminadores (Fuentes o Destinos) Flujos de información Ficheros o depósitos temporales de información Localización Proceso ID 2.- Diagramas de Flujo de Datos

32 Procesos nTRANSFORMACIÓN (cálculo, operación) nFILTRO (verificación fecha, validación transacción) nDISTRIBUCIÓN (menú, selección transacción) P Transformación E2E2 E3 E1 S2S2 S1 2.- Diagramas de Flujo de Datos

33 Procesos (II) nNombres únicos, significativos y concisos nPreferiblemente expresados en función de las entradas y salidas nRecomendación: verbo (no ambiguo) + objeto nEvitar verbos ambiguos procesar, gestionar, manejar... nobjeto está definido en el DD nLos procesos se descomponen en subprocesos, hasta llegar a los procesos primitivos 2.- Diagramas de Flujo de Datos

34 Diagrama de contexto nEs el DFD más general de todos nEstá formado por un solo macroproceso (el sistema), las entidades externas (fuentes y destinos) y sus relaciones con el macroproceso nDelimita el sistema y su entorno 2.- Diagramas de Flujo de Datos

35 Entidades externas Señalan los límites del sistema y establecen sus relaciones con el entorno P Sistema DESTINO FUENTE Los identificadores (nombres) de las entidades externas serán únicos, significativos y concisos 2.- Diagramas de Flujo de Datos

36 Límites del sistema Actividad crítica y difícil Puede haber problemas, tanto por ser demasiado ambicioso, como poco ambicioso P Sistema de pedidos Facturación Gestión de caja (pagos) Gestión del almacén Información sobre el crédito Entorno 2.- Diagramas de Flujo de Datos

37 Flujos de datos nLos nombres de los FD deben ser únicos, significativos y concisos nSon datos, así que nómbralos como datos. nPueden estar indistintamente en singular o en plural, ya que en los DFDs no se representan cantidades (Barranco 95) nLos nombres no sirven sólo para identificar los datos, sino también la información que se tiene sobre ellos P.ej. Información (fecha-válida) > Información (fecha) 2.- Diagramas de Flujo de Datos

38 Flujos de datos (II) nFlujos de datos interactivos (dialog flows) nCuando dos FD establecen un diálogo o comparten una acción de estímulo-respuesta, pueden dibujarse como un único FD de doble flecha, donde ambos extremos deben llevar el nombre del FD que representan. P Determinar estado pedido respuesta estado pedido petición estado pedido denegación crédito P Analizar Petición crédito P Aceptar pago solicitud crédito autorización crédito recibo pago 2.- Diagramas de Flujo de Datos

39 Flujos de datos (III) nLas flechas dobles con sentidos opuestos que transportan los mismos datos pueden sustituirse por flechas doblemente encabezadas ¡Pero sólo si transportan los mismos datos! P B P A X X P A P B X 2.- Diagramas de Flujo de Datos

40 Flujos de datos (IV) nSe puede representar, si se desea, el FLUJO DE MATERIAL, usando flechas de trazo grueso Notación Gane & Sarson 2.- Diagramas de Flujo de Datos

41 Flujos de datos (V) Se pueden considerar flechas convergentes o divergentes, con un mismo nombre P B P A número de cuenta P Validar calle P Validar cod postal P Validar Telef. calle dirección cli cod postal telef Observaciones: Sólo los procesos pueden separar FD (Piattini et al. 96) No poner FD como señales de activación (Yourdon 89) 2.- Diagramas de Flujo de Datos

42 Flujos de datos (VI) Notación System Architect. Ejemplos FD divergentes (conectores XOR y AND) P Imprimir factura cliente P Imprimir lista empaquetado P Determinar prods.para enviar XOR cuando los datos son divididos en subconjuntos datos de facturación datos de empaquetado datos de envío P Determinar prescripción P Rellenar prescripción P Actualizar registro paciente AND cuando todos los datos siguen por ambos caminos prescripción 2.- Diagramas de Flujo de Datos

43 Flujos de datos (VII) Notación System Architect. Ejemplos FD convergentes (conectores XOR y AND) P Aceptar pago en metálico P Transferir pago P Aceptar pago a crédito XOR cuando los mismos datos provienen de cualquier dirección datos de pago P Confirmar historial de crédito P Conceder tarjeta de crédito P Confirmar empleo AND cuando los subconjuntos son combinados en uno historial de empleo historial de crédito historia combinada 2.- Diagramas de Flujo de Datos

44 Flujos de datos (VIII) nNo lo sabemos, no importa: nLos aspectos procedurales no se manifiestan en los DFDs nSi tales aspectos son relevantes, se deben incluir en las miniespecificaciones ¿El proceso pide el FD pedido? ¿El proceso necesita ambos FD? P Evaluar pedido criterios valoración pedido 2.- Diagramas de Flujo de Datos

45 Flujos de control nEn los DFDs no se muestra el control ni el orden de ejecución nNo se puede mostrar: nProcesos que se realizan antes que otros nSincronización nPeriodificación nExtensiones al AE para sistemas en tiempo real: n(Ward & Mellor 85) ( Hatley & Pirbhai 87) 2.- Diagramas de Flujo de Datos

46 Almacenes de datos nNombre único, significativo y conciso nConvenciones de nombres en los FD a/desde un almacén: nNo lleva etiqueta El FD se refiere a un paquete (instancia) completo de la información contenida en el almacén nLa etiqueta es la misma que la del almacén El FD se refiere a uno o más paquetes completos (instancias) de la información contenida en el almacén nLa etiqueta es distinta de la del almacén El FD se refiere a uno o más componentes (atributos) de una o más instancias del almacén 2.- Diagramas de Flujo de Datos

47 Consistencia DFD / E-R (MAP 95) nPara facilitar validaciones cruzadas entre DFDs y E-R (o DED)... nCorrespondencia entre los almacenes de datos principales (permanentes) del DFD y las entidades del E-R nCada almacén de un DFD representa una o varias entidades del E-R nCada entidad del E-R pertenece a un único almacén principal de un DFD 2.- Diagramas de Flujo de Datos

48 Consistencia DFD / E-R (II) nETIQUETA DE LOS ALMACENES nSegún explosione a Entidad de datos Plural nombre entidad Diagrama E-R (o DED) Nombre diagrama nDEFINICIÓN DE LOS ALMACENES 1.Pocos almacenes nPara cada uno, diagrama E-R (o DED) 2.Tantos almacenes como entidades se hayan identificado nPreferible (si no hay muchas entidades) 2.- Diagramas de Flujo de Datos

49 Descomposición funcional nCada proceso se puede explotar, refinar o descomponer en un DFD más detallado nEl DFD de un sistema es realmente un conjunto de DFDs dispuestos jerárquicamente nLos niveles de la jerarquía están determinados por la descomposición funcional de los procesos nLa raíz de la jerarquía es el diagrama de contexto, que es el más general de todos 2.- Diagramas de Flujo de Datos

50 Descomposición funcional (II) P f5 P f4 P f3 P f2 P f1 B Z Y X W V A P f45 P f44 P f43 P f42 P f41 Z y2 x2 y1 x1 Y X P Sist B A FUENTE DESTINO 2.- Diagramas de Flujo de Datos

51 Consistencia en el DFD nCada proceso en un diagrama padre es una consolidación del DFD hijo nBalanceo de DFDs nLas E/S de un proceso padre deben corresponderse con las E/S del DFD hijo que lo explica 2.- Diagramas de Flujo de Datos

52 Descomposición paralela nDescomposiciones de funciones nProceso en subprocesos (DFD) nDescomposición de flujos de datos nLa regla de balanceo se aplica teniendo en cuenta la descomposición paralela 2.- Diagramas de Flujo de Datos

53 Descomposición paralela (II) nEjemplo: pedido = autorización + cupón de pedido + pago P6P6 P5P5 P4P4 P3P3 P2P2 P1P1 envío pedido P6.3 P6.2 P6.1 pago envío cupón de pedido autorización 2.- Diagramas de Flujo de Datos

54 Jerarquía de DFDs nEn un DFD completo cada proceso tiene un número único que lo identifica en función de su situación en la jerarquía nCada DFD tiene también un número único que coincide con el proceso que describe nLas hojas o nodos terminales corresponden a procesos primitivos o indescomponibles nPara cada proceso primitivo existirá una miniespecificación. Localización Proceso Proceso primitivo en Métrica 2.- Diagramas de Flujo de Datos

55 Jerarquía de DFDs (II) P 1.2 Proceso A B A P f3 P f1 Y W V A X P f2 DFD Diagramas de Flujo de Datos

56 Jerarquía de DFDs DFD 0 nEl primer diagrama general que sigue al de contexto es el número 0 por convenio nEn el DFD 0 se hace una descomposición en subsistemas, es decir, se indican los procesos más importantes en el sistema Han de ser SUBSISTEMAS 2.- Diagramas de Flujo de Datos

57 Descomposición funcional y almacenes de datos nLos almacenes aparecen lo más tarde posible nEn un nivel superior únicamente cuando son interfaz entre procesos nUna vez que aparezca en un DFD, el almacén aparecerá otra vez en cada DFD de nivel más bajo relacionado 2.- Diagramas de Flujo de Datos

58 Descomposición funcional y almacenes de datos (II) P B P A DFICH P A.2 P A.1 DFICH P B.2 P B.1 DFICH 2.- Diagramas de Flujo de Datos

59 Tamaño de la jerarquía de DFDs nCada DFD debería tener alrededor de 7 procesos o menos (Miller 57) nEn general, habrá varios niveles intermedios, dependiendo del tamaño y complejidad del sistema que se está modelando n¿Cuántos niveles son convenientes? Yourdon: depende del problema Diagrama de contexto / sistema Diagrama de subsistemas Diagrama de funciones Diagrama de subfunciones Diagrama de procesos (opcional) Métrica 2.- Diagramas de Flujo de Datos

60 Reglas sintácticas en DFDs nEl origen y/o el destino de un FD es siempre un proceso nExcepción: almacenes en el diagrama de contexto (Yourdon 89) P SIST. DE INVESTIG. DE MERCADOS CENTROS DE INVESTIGACIÓN CLIENTECLIENTES CORPORATIVOS DDATOS DEL MERCADO informes anuales datos de investigación datos del mercado 2.- Diagramas de Flujo de Datos

61 Reglas sintácticas en DFDs (II) nTodo almacén y todo proceso tienen uno o más FD de E y uno o más FD de S nEXCEPCIÓN: un almacén puede no tener FD de salida, por simplificación (p.ej. BD Histórica) nRECOMENDACIÓN: si aparece un proceso fuente o sumidero, replantearse los límites del sistema P Sumidero P Fuente 2.- Diagramas de Flujo de Datos

62 Ideas útiles para construir el DFD nIdentificar todos los elementos exógenos nIdentificar sus relaciones con el sistema nTrabajar según alguna de las siguientes filosofías: nDe inputs a outputs nDe outputs a inputs nDesde una posición intermedia hacia delante o hacia atrás 2.- Diagramas de Flujo de Datos

63 Ideas útiles para construir el DFD (II) nNombrar adecuadamente todos los objetos del DFD nNumerar adecuadamente procesos y diagramas nRealizar una correcta división en subsistemas (DFD 0) nUtilizar la descomposición funcional jerárquica hasta alcanzar las funciones primitivas 2.- Diagramas de Flujo de Datos

64 DFDs - Conclusiones nValiosa herramienta de comunicación nUsuario, analista, diseñador, programador nSe puede combinar con el uso de prototipos nFácil de entender y de aprender nFacilita las relaciones con el usuario nAmplia difusión 2.- Diagramas de Flujo de Datos

65 DFDs – Conclusiones (II) nSuperado por las metodologías OO, pero todavía vigente: se enseña en 12 de 15 ppales. universidades españolas, industria, administración (Métrica 2.1 y 3), cuerpo de conocimiento de ingeniería del software (SWEBOK, SEEK, etc.) nEl control no aparece hasta el final de la especificación estructurada nNo es inmediato el paso a la codificación y prueba Diseño estructurado 2.- Diagramas de Flujo de Datos

66 DFDs – Conclusiones (III) nÚtil para el análisis y para el diseño del nuevo sistema nMás adecuado para el nivel lógico, aunque también puede ser adecuado para el nivel físico (indicando personas concretas, lugares geográficos, formatos de datos, etc.) 2.- Diagramas de Flujo de Datos


Descargar ppt "Ingeniería del Software Tema 3. Análisis Estructurado II Profesor: Juan Antonio López Quesada. Facultado de Informática."

Presentaciones similares


Anuncios Google