Post on 30-Sep-2018
Ingeniería del Software de Gestión
Herramientas del Análisis Estructurado
Herramientas del Herramientas del Herramientas del AnAnAnááálisis Estructuradolisis Estructuradolisis Estructurado
Ingeniería del Software de Gestión2
Análisis Estructurado
Bibliografía
� Análisis y Diseño Detallado de Aplicaciones Informáticas de Gestión. Piattini et al., RA-MA, 2003.
� Análisis Estructurado Moderno. Yourdon, Prentice-Hall, 1985.
� Just Enough Structured Analysis. Yourdon.(http://www.yourdon.info/jesa/jesa.php )
Ingeniería del Software de Gestión3
Análisis Estructurado
Índice
� Herramientas para el Análisis Estructurado�Diagrama de Flujo de Datos�Diccionario de Datos�Especificación de Procesos
Ingeniería del Software de Gestión4
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): Introducción
� Representación gráfica en forma de red
� Cada nodo representa una función
� Las funciones se comunican mediante conductos que representan la información que se mueve
� Se apoya en otras técnicas de descripción textual� diccionario de datos
� especificaciones de proceso
� Distintos niveles de abstracción.� Niveles superiores: funciones del sistema de forma general
� Niveles inferiores: funciones del sistema de forma detallada
� También se denomina diagrama de burbujas, diagrama de flujo de trabajo o modelo funcional
Ingeniería del Software de Gestión5
Análisis Estructurado
DFD: componentes y notación
YOURDON /DE MARCO
GANE &SARSON
SSADMMETRICA
NOTACIÓN
Flujo de Datos
Proceso
Almacén de Datos
Entidad Externa
Ingeniería del Software de Gestión6
Análisis Estructurado
DFD: Ejemplo
� Simple e Intuitiva
� Uso de Herramientas
� Si aumenta la complejidad, podemos descomponer
Recuperada de: Just Enough Structured Analysis (Yourdon)
Ingeniería del Software de Gestión7
Análisis Estructurado
DFD: Procesos (burbujas, funciones, transformaciones …)
Representa una función que transforma los flujos de datos de entrada en uno o
varios flujos de datos de salida
� Regla de Conservación de Datos� ENTRADA + INFO LOCAL � SALIDA
� Error de conservación de datos: entrada insuficiente
� Pérdida de información: error en la salida
Ingeniería del Software de Gestión8
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): Procesos
� PROCESO� TRANSFORMACIÓN: cálculo, operación� FILTRO: verificación fecha, validación transacción� DISTRIBUCIÓN: menú, selección, transacción
� Identificación Única� Incluye un número y un nombre (únicos en el conjunto de DFD
que representan el sistema)
� Características de los nombres: � Lo más representativo posible: VERBO + OBJETO (�DD)� Dar un nombre que englobe a toda la función� Suprimir nombres con poca significación: REALIZAR
OPERACIÓN, GESTIONAR ACCIÓN� Vocabulario usado por usuarios/clientes
Ingeniería del Software de Gestión9
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): Almacén de Datos
Representan una colección de (paquetes de) datos almacenada de forma temporal
� Datos en reposo (VS flujos)� Almacenes lógicos: independientes del
dispositivo utilizado � Ejemplos: un cajón con papeles, un archivador
manual, un fichero o una base de datos, etc.
� Su contenido se define en el Diccionario de Datos
� Surgen de la necesidad de guardar datos temporalmente
Ingeniería del Software de Gestión10
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): Almacén de Datos
� Nombre:� Lo más representativo posible, lógico, plural� No asociado a connotaciones físicas� En plural: “CLIENTES”
� Se puede representar varias veces (y en distintos niveles) de un DFD
� Si es local a un proceso, se representará en el DFD en el que se especifique dicho proceso
� Estructura Simple o Compleja
Ingeniería del Software de Gestión11
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): Entidades Externas o Terminadores
� Definen la interfaz entre el sistema y el mundo exterior
� Resultan fáciles de identificar y no pueden ser modificados
� Relaciones entre las entidades externas no son objeto del estudio del modelo
Representa un generador o consumidor de información del sistema y que no pertenece al
mismo
Ingeniería del Software de Gestión12
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): Entidades Externas
� El nombre debe ser representativo. � Se pueden dibujar varias veces en un DFD
� Duplicados identificados con un asterisco
� Normalmente las entidades externas sólo van a aparecer en el DFD de mayor nivel llamado diagrama de contexto.
CLIENTE
DEPARTAMENTO
COMPRAS*
Representación de una entidad externa de cardinalidad simple y repetida en un DFD
Representación opcional de entidades externas de cardinalidad N
Ingeniería del Software de Gestión13
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): Flujos de Datos
Camino a través del cual viajan datos de composición conocida de una parte
del sistema a otra
� MOVIMIENTO (vs Almacenes de Datos) � Conectan los componentes del DFD � Se representan por arcos dirigidos � Según la persistencia de los datos pueden ser
discretos o continuos
Flujo de datos discreto
Flujo de datos continuo
Ingeniería del Software de Gestión14
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): Flujos de Datos
Conexiones permitidas
NoNo*SiEntidad Externa
No*NoSiAlmacén
SiSiSiProceso
Entidad Externa
Almacén ProcesoFUENTE
DESTINO
Ingeniería del Software de Gestión15
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): Flujos de Datos
Formas de Paso de Datos entre procesos
ALMACEN TEMPORAL
PROCESOA
PROCESOA
PROCESO B
PROCESOB
Paso síncrono de informaciónentre procesos
Paso asíncrono de informaciónentre procesos
Ingeniería del Software de Gestión16
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): Flujos de Datos
Conexiones entre procesos y Almacenes
FLUJO DE CONSULTA
FLUJO DE ACTUALIZACION
FLUJO DEDIALOGO
Ingeniería del Software de Gestión17
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): Flujos de Datos
Flujos de Dialogo
GESTIONAR PETICIONES DE
USUARIO
USUARIO
LIBROS
PRESTAMOS
Petición de libro
Par dialogo
GESTIONAR PETICIONES DE
USUARIO
CLIENTE INFORMES
Informe aCliente
CLIENTES
Petición de informe
Ingeniería del Software de Gestión18
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): Flujos de Datos
Caso Particular de FlujoAlmacenes ���� Entidades Externas
GESTIONAR PRESTAMOS DE
BIBLIOTECAUSUARIO
Petición de libro
SISTEMA DEMANTENIMIENTO
DE PUBLICACIONES
LIBROSResguardo de
aceptación
Ingeniería del Software de Gestión19
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): Flujos de Datos
Flujos de Datos Convergentes y Divergentes
Sólo los procesos pueden separar Flujos de Datos !!!
DATOS
PERSONALES
Ingeniería del Software de Gestión20
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): Flujos de Datos
� No especifica detalles procedimentales� El proceso pide el flujo de
datos??� El proceso transmite el flujo
de datos o responde a una petición??
� Cuál es la secuencia en la que llegan y salen los flujos de datos??
� No lo sabemos y NO nos importa� Es tarea de la Especificación de procesos
Ingeniería del Software de Gestión21
Análisis Estructurado
Resumen
� Deben tener un nombre representativo (salvo almacenes de estructura simple)
� Distintos tipos de datos � distintos flujos� No indican el control de ejecución de los procesos� Contenido de varios tipos:
� Elemento � Grupo � Par de diálogo� Múltiple
� Convergentes/Divergentes
Diagrama de Flujos de Datos (DFD): Flujos de Datos
Ingeniería del Software de Gestión22
Análisis Estructurado
Descomposición en Niveles de un DFD
IDEA GENERAL� Se sigue una aproximación
descendente (top-down) � Partir de un modelo inicial e
ir refinándolo� Diagrama de Contexto (nivel F0)
� Representación del sistema como un todo
� Debería tener un único proceso y todas las entidades externas
� Descomposición en procesos primitivos
� Numerar los procesos
DFD: descomposición en niveles
Recuperada de: JustEnough
StructuredAnalysis(Yourdon)
Ingeniería del Software de Gestión23
Análisis Estructurado
DFD: descomposición en niveles
Ventajas de la descomposición en niveles� Ayuda a construir la especificación de
arriba abajo � Distintos niveles pueden ir dirigidos a
personas diferentes (directivos y usuarios) � Facilita el trabajo de los analistas (trabajo
paralelo de modelado)� Facilita la documentación del sistema
Ingeniería del Software de Gestión24
Análisis Estructurado
DFD: descomposición en niveles
GESTION
SISTEMA
X
DIAGRAMA DE CONTEXTO
E1
E2
E3
A
B
C
D
E
0
1 2
A1
A2
A
B
E
D
C
DIAGRAMA 0: GESTION SISTEMA X
DIAGRAMA 1: DIAGRAMA 2:A2A1
A
E
BA3
1.1 1.2
1.3
A1
A2
A3
B
1.2.1 1.2.2
1.2.3
DIAGRAMA 1.2:
Diagrama de ContextoEn este diagrama sólo hay un proceso que representa el sistema completo
Niveles Medios • Diagrama de Sistema
Representa las funciones principales o subsistemas• Otros diagramas cada vez más detallados
Funciones PrimitivasProcesos que no se explotan en nuevos DFD
Ingeniería del Software de Gestión25
Análisis Estructurado
Convenciones sobre la numeración
� Cada diagrama recibe el número y el nombre del proceso que descompone (proceso padre)
� El proceso del diagrama de contexto siempre es numerado como cero
� Diagrama del sistema � [1 – N]� Restos de Niveles � [1.1 – 1.N] , [2.1 – 2.N] …
DFD: descomposición en niveles
Ingeniería del Software de Gestión26
Análisis Estructurado
Diagrama de Contexto (Diagrama de Nivel 0)
El objetivo de este diagrama es delimitar la frontera entre el sistema y el mundo exterior, y definir sus interfaces (flujos de datos de entrada y salida del
sistema con el entorno o contexto)
Está formado por:� Un proceso que representa una “caja negra” del
sistema completo � Un conjunto de entidades externas� Un conjunto de flujos de datos
DFD: descomposición en niveles
Ingeniería del Software de Gestión27
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): ejercicio
�Ejercicio:Diagrama de Contexto para el Sistema
de Matriculación
� Un estudiante envía un formulario de solicitud relleno donde figuran sus datos personales y el curso en el que desea matricularse.
� La Universidad debe cotejar esa petición con la lista de cursos para saber si el curso está disponible aún.
� En caso afirmativo, el alumno es matriculado en el curso, hecho que le es comunicado mediante una carta de confirmación.
� En caso contrario también es informado mediante la correspondiente carta de denegación
Ingeniería del Software de Gestión28
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): ejercicio
�Ejercicio:Diagrama de Contexto para el Sistema
de Matriculación
SISTEMA
DE
MATRICULACIÓN
ESTUDIANTE
Formulario
de
Matrícula
Carta
de
Aceptación
Carta
de
Denegación
Ingeniería del Software de Gestión29
Análisis Estructurado
Diagrama de Flujos de Datos (DFD)
� Ejercicio:Construir el Diagrama de Contexto para el
caso del ejercicio de especificación de requisitos
(Aplicación para la gestión de sanciones)
Ingeniería del Software de Gestión30
Análisis Estructurado
Diagrama de Flujos de Datos (DFD)
Diagrama de contexto
Aplicación Gestión de Sanciones
Denuncia = fecha + hora + codigo-denuncia + [ nombre-conductor | matrícula-coche ]Fecha = dia + mes + añoDia = [1-31]Mes = [1-12]Año = [1900 – 2000]Codigo-Denuncia = 3{[A-Z]}3 + 6{[0-9]6}Matricula-Coche = [ 1{[A-Z]}2 + - + 4{[0-9]}4 + - + 1{[A-Z]}2] | 3{[A-Z]}3 + - + 4{[0-9]}4 ]
Diccionario de Datos
Ingeniería del Software de Gestión31
Análisis Estructurado
Diagrama de Sistema (Diagrama de Nivel 1)
Es la descomposición del diagrama de contexto y en él se representan las funciones principales del sistema, así como la relación entre ellas
� Funciones conceptualmente independientes entre sí
� Facilita la descomposición de cada una por personas (analistas) diferentes.
DFD: descomposición en niveles
Ingeniería del Software de Gestión32
Análisis Estructurado
Procesos primitivosSon aquellos procesos de un DFD que ya no se
descomponen en más diagramas de nivel inferior
� Por cada función primitiva habrá una especificación que la describa� La decisión de no descomponer más es una responsabilidad del
analista (decisión subjetiva)� Algunas reglas:
� Cuando la especificación del proceso cabe en una página� Cuando los procesos del diagrama tienen pocos flujos de datos
de entrada y salida� Cuando al descomponer una función de un nivel determinado,
se pierde el significado de lo que tiene que hacer esa función
DFD: descomposición en niveles
Ingeniería del Software de Gestión33
Análisis Estructurado
� METRICA 2.1 recomendaba realizar sólo cuatro niveles de descomposición� Nivel 0: diagrama de contexto
� Nivel 1: subsistemas� Nivel 2: funciones de cada subsistema
� Nivel 3: subfunciones asociadas a cada uno de los eventos del sistema
� Nivel 4: procesos necesarios para el tratamiento de cada subfunción
DFD: descomposición en niveles
Ingeniería del Software de Gestión34
Análisis Estructurado
DFD: descomposición en niveles
SISTEMADE
DISTRIBUCIÓN
CLIENTES
PROVEEDORES
ALMACÉN DE MATERIALESGERENCIA
Órdenes de venta
Avisos de orden de venta rechazada
Facturas
Estados de cuentas
Pagos de clientes
Compromisos
Órdenes de compra
Embarques
Facturas de proveedores
Estados de proveedores
Pagos de proveedores
Existencias
Estados de ingresos
Balance general
Informes de presupuesto
Otros informes
DFD de Contexto para un Sistema de DistribuciDFD de Contexto para un Sistema de Distribucióónn
Ingeniería del Software de Gestión35
Análisis Estructurado
DFD: descomposición en niveles
SURTIR PEDIDOS
1
2
ORDENAREXISTENCIAS
DEREABASTECIMIENTO
Órdenes de ventaVenta rechazada
Facturas
Estados de cuenta
Pagos de clientes
Datos de cuentas por cobrar
Datos de inventario
Datos de compraArtículos recibidos
Datos decuentas por pagar
Otros informes
Balancegeneral
Estadode
Ingresos
Compromisos
Órdenes de compra
Embarques
Estados de proveedores
Pagos a proveedores
Existencias
CLIENTES
MANTENERLIBRO MAYOR
3
GERENCIA ALMACÉN DEMATERIALES
PROVEEDORES
Factura de proveedoresInformes depresupuesto
DFD de Nivel 1DFD de Nivel 1para unpara un
Sistema de DistribuciSistema de Distribucióónn
• Se expande el proceso inicialDistribución en tres nuevos procesos
• Aparecen nuevos flujos de datos
Ingeniería del Software de Gestión36
Análisis Estructurado
DFD: descomposición en niveles
CLIENTES
1.1
CAPTURA DE
PEDIDOS
1.3
FACTURACIÓN
1.2
INVENTARIOS
1.4
CUENTAS POR
COBRAR Datos de cuentas por pagar
Pedidos facturados
Pa gos
de client es
Estatus
de cuenta
Facturas
Órdenes de venta
Órdenes de venta rechazadaPedidos aceptados
Artículos recibidos
Datos decompras
Pedidoscompletados
Pedidos surtidos
MANTENERLIBRO MAYOR
3 2
ORDENAREXISTENCIAS
DEREABASTECIMIENTO
Datos deInventario
DFD de Nivel 2 para un Sistema de DistribuciDFD de Nivel 2 para un Sistema de DistribucióónnSe expande el proceso 1:
Surtir Pedidos en tresnuevos procesos
Ingeniería del Software de Gestión37
Análisis Estructurado
DFD: descomposición en niveles
DFD de Nivel 3 para un Sistema de DistribuciDFD de Nivel 3 para un Sistema de Distribucióónn
Se expande el proceso 1.1 Captura de Pedidosen cuatro nuevos procesos:
• Aparecen procesos atómicos• Se incluyen almacenes de datos
CLIENTES
1.1.1EDITAR
DATOS DEPEDIDOS
1.1.2VERIFICACIÓNDE CRÉDITO
1.1.3ASENTARPEDIDOS
1.1.4MARCARPEDIDOS
SURTIDOS
1.2
1.3
ÓRDENES DE VENTA RECHAZADAS POR EDISIÓN
ARCHIVO DE CRÉDITODE CLIENTES
ÓRDENES DE VENTARECHAZADAS POR CRÉDITO
Órdenes de venta
Rechazos por edición
Pedidos editados
Datos de crédito
Rechazos por crédito
Datos de pedido
BITÁCORADE PEDIDOS
Fecha en que se surtióPedidos completados
Pedidos aceptados
Pedidos editados y verificados
Avisos de órdenDe venta
rechazadaCLIENTES
1.1
CAPTURA DE
PEDIDOS
1.3
FACTURACIÓN
1.2
INVENTARIOS
1.4
CUENTAS POR
COBRAR Datos de cuentas por pagar
Pedidos facturados
Pagos
de client es
Estatus
de cuenta
Facturas
Órdenes de venta
Órdenes de venta rechazadaPedidos aceptados
Artículos recibidos
Datos decompras
Pedidoscompletados
Pedidos surtidos
MANTENERLIBRO MAYOR
3
MANTENERLIBRO MAYOR
3 2
ORDENAREXISTENCIAS
DEREABASTECIMIENTO
2
ORDENAREXISTENCIAS
DEREABASTECIMIENTO
Datos deInventario
Ingeniería del Software de Gestión38
Análisis Estructurado
Consistencia entre niveles (Balanceo)Todos los flujos de datos que entran y salen de un proceso en un nivel
determinado (DFD padre) deben corresponderse con los flujos que entran y salen en el DFD que describe dicho proceso (DFD hijo)
Diagrama de Flujos de Datos (DFD): regla del balanceo
¿?A y D
¿?x - c – Q - P
Recuperada de: JustEnough
StructuredAnalysis(Yourdon)
Ingeniería del Software de Gestión39
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): proceso
� Diagrama de contexto:� Localizar las entidades externas que van a
proporcionar y/o consumir información
� Diagrama de sistema: � Identificar sus funciones principales
� Resto de diagramas:� No descomponer al máximo � Identificar las principales subfunciones de la
función del nivel superior
Ingeniería del Software de Gestión40
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): proceso
� Dividir el sistema de manera natural� Establecer conexiones simples� Limitar el número de procesos dentro de un
nivel de descomposición determinado� Explosionar cuanto sea necesario, a mayor
número de niveles, mejor comprensión� Descomponer procesos que tengan varios flujos
de E/S� Nombrar correctamente los objetos:
� Flujos de datos: sustantivo + adjetivo� Procesos: verbo + sustantivo� Almacenes de datos: sustantivo
Ingeniería del Software de Gestión41
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): recomendaciones
� Flujos divergentes: deben ser descompuestos por procesos
� Bucles: flujos de datos internos� Todos los flujos de datos deben empezar o terminar en
un proceso
DATOS
PERSONALES
DATOS
PERSONALES
Ingeniería del Software de Gestión42
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): recomendaciones
� Procesos Sumideros o Fuentes� Agujeros Negros
� Agujeros Grises� Milagros
Los datos ni se crean ni se destruyen
Ingeniería del Software de Gestión43
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): recomendaciones
� Los almacenes pueden aparecer a varios niveles� REGLA
Mostrarlo en el DFD de nivel más alto en el que sirva de interfaz entre dos procesos. A partir de ahí en todos los descendientes
ALMACEN
A
B
ALMACEN
A.1
A.2
ALMACEN
B.1
B.2
Ingeniería del Software de Gestión44
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): recomendaciones
� No deberían aparecer almacenes � READ-ONLY � WRITE-ONLY
� El origen odestino de unflujo ha de serun proceso
Recuperada de: Just Enough Structured Analysis (Yourdon)
Excepción a la regla paraalmacenes WRITE-ONLY
y origen/destino de un proceso
Ingeniería del Software de Gestión45
Análisis Estructurado
Diagrama de Flujos de Datos (DFD)
Modificaciones de un DFD� No resulta difícil si la independencia
funcional está bien conseguida � Ante la aparición de una nueva
funcionalidad� Estudiar el nivel de abstracción en el que se
encuentra
� Incluirla en el diagrama correspondiente� Asociar las interfaces con el resto de
componentes del DFD
Ingeniería del Software de Gestión46
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): ejercicio
�Ejercicio:Diagrama de Sistema para el Sistema
de Matriculación
� Un estudiante envía un formulario de solicitud relleno donde figuran sus datos personales y el curso en el que desea matricularse.
� La Universidad debe cotejar esa petición con la lista de cursos para saber si el curso está disponible aún.
� En caso afirmativo, el alumno es matriculado en el curso, hecho que le es comunicado mediante una carta de confirmación.
� En caso contrario también es informado mediante la correspondiente carta de denegación
Ingeniería del Software de Gestión47
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): ejercicio
� Ejercicio:Diagrama de Sistema para el sistema de
Matriculación
Ingeniería del Software de Gestión48
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): ejercicio
� Ejercicio:Construir el Diagrama de Nivel 2 para el
sistema de Matriculación, centrándose en el proceso 1 (Comprobar disponibilidad curso)
Ingeniería del Software de Gestión49
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): ejercicio
� Ejercicio:Construir el Diagrama de Nivel 2 para el
sistema de Matriculación, centrándose en el proceso 1 (Comprobar disponibilidad curso)
Ingeniería del Software de Gestión50
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): ejercicio
� Ejercicio:Construir el Diagrama de Sistema para
el caso del ejercicio de especificación de requisitos
(Aplicación para la gestión de sanciones)
Ingeniería del Software de Gestión51
Análisis Estructurado
Diagrama de Flujos de Datos (DFD): ejercicio
Diagrama de Sistema - Aplicación Sanciones DGT