Está en la página 1de 51

Herramientas del

An álisis Estructurado
Análisis

Ingeniería del Software de Gestión


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ón


2
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ón


3
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ón
4
Análisis Estructurado

DFD: componentes y notación

NOTACIÓN
YOURDON / GANE & SSADM
DE MARCO SARSON METRICA

Flujo de Datos

Proceso

Almacén de Datos

Entidad Externa

Ingeniería del Software de Gestión


5
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ón


6
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ón
7
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ón


8
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ón
9
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ón


10
Análisis Estructurado

Diagrama de Flujos de Datos (DFD): Entidades Externas o Terminadores

Representa un generador o consumidor de


información del sistema y que no pertenece al
mismo

 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

Ingeniería del Software de Gestión


11
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.

DEPARTAMENTO Representación de una entidad externa de


COMPRAS cardinalidad simple y repetida en un DFD
*

Representación opcional de entidades


externas de cardinalidad N CLIENTE

Ingeniería del Software de Gestión


12
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ón


13
Análisis Estructurado

Diagrama de Flujos de Datos (DFD): Flujos de Datos

Conexiones permitidas

FU
DE EN Entidad
ST T
I NO E Proceso Almacén
Externa
Proceso Si Si Si

Almacén Si No No*
Entidad
Si No* No
Externa

Ingeniería del Software de Gestión


14
Análisis Estructurado

Diagrama de Flujos de Datos (DFD): Flujos de Datos

Formas de Paso de Datos entre procesos

Paso síncrono de información


entre procesos

PROCESO PROCESO
A B

Paso asíncrono de información


entre procesos

PROCESO PROCESO
A ALMACEN TEMPORAL B

Ingeniería del Software de Gestión


15
Análisis Estructurado

Diagrama de Flujos de Datos (DFD): Flujos de Datos

Conexiones entre procesos y Almacenes

FLUJO DE FLUJO DE FLUJO DE


CONSULTA ACTUALIZACION DIALOGO

Ingeniería del Software de Gestión


16
Análisis Estructurado

Diagrama de Flujos de Datos (DFD): Flujos de Datos

Flujos de Dialogo
LIBROS

Petición de libro GESTIONAR


USUARIO PETICIONES DE
USUARIO

Par dialogo
PRESTAMOS

Petición de
informe
GESTIONAR INFORMES
CLIENTE PETICIONES DE
Informe a USUARIO
Cliente

CLIENTES

Ingeniería del Software de Gestión


17
Análisis Estructurado

Diagrama de Flujos de Datos (DFD): Flujos de Datos

Caso Particular de Flujo


Almacenes  Entidades Externas

SISTEMA DE
MANTENIMIENTO
DE PUBLICACIONES

Petición de libro

GESTIONAR LIBROS
USUARIO Resguardo de PRESTAMOS DE
aceptación BIBLIOTECA

Ingeniería del Software de Gestión


18
Análisis Estructurado

Diagrama de Flujos de Datos (DFD): Flujos de Datos

Flujos de Datos Convergentes y Divergentes

PERSONALES
DATOS

Sólo los procesos pueden separar Flujos de Datos !!!


Ingeniería del Software de Gestión
19
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ón


20
Análisis Estructurado

Diagrama de Flujos de Datos (DFD): Flujos de Datos

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

Ingeniería del Software de Gestión


21
Análisis Estructurado

DFD: descomposición en niveles


Descomposición en Niveles de un DFD

Structured Analysis (Yourdon)


Recuperada de: Just Enough
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
Ingeniería del Software de Gestión
22
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ón


23
Análisis Estructurado

DFD: descomposición en niveles


DIAGRAMA DE CONTEXTO
B
Diagrama de Contexto E1
A 0
GESTION
C
E2

En este diagrama sólo hay un proceso que SISTEMA


X
E
D

E3
representa el sistema completo

DIAGRAMA 0: GESTION SISTEMA X


A C
A1
1 2
E
Niveles Medios B D

• Diagrama de Sistema A2

Representa las funciones principales o


subsistemas
• Otros diagramas cada vez más detallados DIAGRAMA 1:
A1 A2
DIAGRAMA 2:

A
1.1 1.2
A3 B

1.3
E

Funciones Primitivas
Procesos que no se explotan en nuevos
DFD DIAGRAMA 1.2:

A1
A3
1.2.1 1.2.2
B
A2

1.2.3
Ingeniería del Software de Gestión
24
Análisis Estructurado

DFD: descomposición en niveles


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] …

Ingeniería del Software de Gestión


25
Análisis Estructurado

DFD: descomposición en niveles


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

Ingeniería del Software de Gestión


26
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ón


27
Análisis Estructurado

Diagrama de Flujos de Datos (DFD): ejercicio

Ejercicio:
Diagrama de Contexto para el Sistema
de Matriculación
Carta
de
Aceptación

Formulario SISTEMA
ESTUDIANTE de DE
Matrícula MATRICULACIÓN

Carta
de
Denegación

Ingeniería del Software de Gestión


28
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ón


29
Análisis Estructurado

Diagrama de Flujos de Datos (DFD)


Diagrama de contexto
Aplicación Gestión de Sanciones

Diccionario de Datos

Denuncia = fecha + hora + codigo-denuncia + [ nombre-conductor | matrícula-coche ]


Fecha = dia + mes + año
Dia = [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 ]

Ingeniería del Software de Gestión


30
Análisis Estructurado

DFD: descomposición en niveles


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.

Ingeniería del Software de Gestión


31
Análisis Estructurado

DFD: descomposición en niveles


Procesos primitivos
Son 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

Ingeniería del Software de Gestión


32
Análisis Estructurado

DFD: descomposición en niveles


 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

Ingeniería del Software de Gestión


33
Análisis Estructurado

DFD: descomposición en niveles

Órdenes de venta
CLIENTES Compromisos

Órdenes de compra
Avisos de orden de
venta rechazada

Facturas Embarques
SISTEMA
Estados de cuentas DE Facturas de proveedores
DISTRIBUCIÓN PROVEEDORES
Pagos de clientes Estados de proveedores
Pagos de proveedores
Estados de ingresos

Balance general
Existencias ALMACÉN DE
Informes de presupuesto MATERIALES
GERENCIA
Otros informes

DFD de Contexto para un Sistema de Distribució


Distribución

Ingeniería del Software de Gestión


34
Análisis Estructurado

DFD: descomposición en niveles


Órdenes de venta DFD de Nivel 1
Venta rechazada
para un
Facturas Sistema de Distribució
Distribución
CLIENTES Estados de cuenta
1 • Se expande el proceso inicial
Pagos de clientes
Distribución en tres nuevos procesos
SURTIR
Datos de cuentas por cobrar
PEDIDOS • Aparecen nuevos flujos de datos

Datos de inventario
Datos de compra
Artículos recibidos

2 Compromisos
3 Datos de
cuentas por pagar ORDENAR Órdenes de compra
MANTENER EXISTENCIAS Embarques PROVEEDORES
Otros informes
LIBRO MAYOR DE
REABASTECIMIENTO Factura de proveedores
Informes de
Estados de proveedores
presupuesto
Estado Balance Pagos a proveedores
de general
Ingresos ALMACÉN DE
GERENCIA
Existencias MATERIALES

Ingeniería del Software de Gestión


35
Análisis Estructurado

DFD: descomposición en niveles


Órdenes de venta DFD de Nivel 2 para un Sistema de Distribució
Distribución
Se expande el proceso 1:
CLIENTES Órdenes de venta rechazada Surtir Pedidos en tres
Pedidos aceptados nuevos procesos

1.1

CAPTURA
Estatus de cuenta
Pagos de clientes

DE
PEDIDOS
1.2
Pedidos Pedidos surtidos
INVENTARIOS
completados

Facturas 1.3

FACTURACIÓN Artículos
1.4 recibidos
Datos de Datos de
CUENTAS Pedidos facturados compras
3
Inventario
POR 2
Datos de cuentas por pagar
COBRAR MANTENER ORDENAR
LIBRO MAYOR EXISTENCIAS
DE
REABASTECIMIENTO

Ingeniería del Software de Gestión


36
Análisis Estructurado

DFD: descomposición en niveles


DFD de Nivel 3 para un Sistema de Distribució
Distribución

ÓRDENES DE VENTA
Rechazos por edición
RECHAZADAS
Órdenes de venta POR EDISIÓN
CLIENTES

1.1.1
Pedidos editados
EDITAR
Avisos de órden ARCHIVO DE CRÉDITO
Órdenes de venta DATOS DE DE CLIENTES
De venta
Órdenes de venta rechazada rechazada
PEDIDOS
CLIENTES
Pedidos aceptados
1.1 1.1.2 Datos de crédito
CAPTURA Pedidos editados y verificados VERIFICACIÓN
Estatus de cuenta
Pagos de clientes

DE DE CRÉDITO
PEDIDOS
1.2
Pedidos Pedidos surtidos ÓRDENES DE VENTA
INVENTARIOS 1.1.3 Rechazos por crédito
completados Pedidos aceptados RECHAZADAS
Facturas 1.3 1.2 ASENTAR Datos de pedido
POR CRÉDITO
Artículos PEDIDOS
FACTURACIÓN
1.4 recibidos
Datos de Datos de
CUENTAS Pedidos facturados compras
3
Inventario
POR
Datos de cuentas por pagar
2
1.1.4
COBRAR MANTENER ORDENAR
Fecha en que se surtió
LIBRO MAYOR EXISTENCIAS
DE
Pedidos completados MARCAR BITÁCORA
REABASTECIMIENTO 1.3 PEDIDOS DE PEDIDOS
SURTIDOS

Se expande el proceso 1.1 Captura de Pedidos


en cuatro nuevos procesos:
• Aparecen procesos atómicos
• Se incluyen almacenes de datos

Ingeniería del Software de Gestión


37
Análisis Estructurado

Diagrama de Flujos de Datos (DFD): regla del balanceo


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)

¿?
AyD

Structured Analysis (Yourdon)


Recuperada de: Just Enough
¿?
x-c–Q-P

Ingeniería del Software de Gestión


38
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ón


39
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:
 Flujosde datos: sustantivo + adjetivo
 Procesos: verbo + sustantivo
 Almacenes de datos: sustantivo
Ingeniería del Software de Gestión
40
Análisis Estructurado

Diagrama de Flujos de Datos (DFD): recomendaciones

 Flujos divergentes: deben ser descompuestos por


procesos

PERSONALES
PERSONALES

DATOS
DATOS

 Bucles: flujos de datos internos


 Todos los flujos de datos deben empezar o terminar en
un proceso
Ingeniería del Software de Gestión
41
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ón


42
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

B.1
ALMACEN
ALMACEN

A.1

B.2
A.2

Ingeniería del Software de Gestión


43
Análisis Estructurado

Diagrama de Flujos de Datos (DFD): recomendaciones

 No deberían aparecer almacenes


 READ-ONLY Excepción a la regla para
almacenes WRITE-ONLY
y origen/destino de un proceso
 WRITE-ONLY

 El origen o
destino de un
flujo ha de ser
un proceso

Recuperada de: Just Enough Structured Analysis (Yourdon)

Ingeniería del Software de Gestión


44
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ón
45
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ón


46
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ón


47
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ón


48
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ón


49
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ón


50
Análisis Estructurado

Diagrama de Flujos de Datos (DFD): ejercicio


Diagrama de Sistema - Aplicación Sanciones DGT

Ingeniería del Software de Gestión


51

También podría gustarte