Você está na página 1de 78

Fundamentos de

Ingeniería del Software

Capítulo 3. Análisis de Requisitos


Análisis Estructurado
Situación en el
programa de teoría

1. Actividades iniciales.
2. Técnicas de recogida de la información.
3. Requisitos y análisis de requisitos.
4. Actividades generales de análisis de requisitos.
5. Documentos de especificación de requisitos.
6. Análisis estructurado.
7. Introducción a los casos de uso.
8. Prototipado.
6.1. Introducción – Visión
panorámica del AE

ANÁLISIS ESTRUCTURADO
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
Introducción

„Análisis Estructurado
„Método clave en el “desarrollo estructurado”
o “convencional”
„Aparece a finales de los 70
„Facilita la comunicación en el proceso de
desarrollo de un sistema de información
− análisis y diseño
− usuarios y analistas
„Sencillo, fácil de entender y fácil de aprender
Características principales

„Amplia difusión
„Descomposición funcional
„(Originariamente) Orientada a procesos
„(Originariamente) Top/down
„Presente en numerosas metodologías
„p.ej. Métrica, SSADM, information
engineering, Merise
„Herramientas CASE disponibles
Bibliografía
„ Texto de referencia
„ Yourdon, 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.
Bibliografía (II)

„ Entre la bibliografía básica...


„ Piattini, M., et al., Análisis y diseño detallado de Aplicaciones Informáticas de
Gestión. 2004: Ra-ma.
„ MAP, 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.

„ En castellano y en la biblioteca...
„ Barranco de Aruba, J., Metodología del Análisis Estructurado de Sistemas (2ª
edición). 2001, Madrid: Publicaciones de la Universidad Pontificia de Comillas.
„ Hawryszkiewycz, I. T. Introducción al análisis y diseño de sistemas con
ejemplos prácticos. 1ª ed., Madrid : Anaya Multimedia, 1990.

„ Referencias clásicas...
„ DeMarco, T., Structured analysis and system specification. 1979, Englewood
Cliffs, New Jersey: Yourdon Press.
„ Gane, 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.)
AE utiliza...

„ Modelado funcional
„ DFD (Diagrama de Flujo de Datos, Dataflow diagram)
„ Modelado de datos
„ Diagrama E-R (Entidad-Relación), o alternativamente,
DED (Diagrama de Estructura de Datos)
„ Modelado del comportamiento
„ Diagramas HVE (Historia de Vida de las Entidades)
„ Diagramas de Transición de Estados (STD, State Transition
Diagram)
AE utiliza...

„Lógica de procesos
„Lenguaje estructurado
„Pre y post-condiciones
„Tablas de decisión
„Árboles de decisión
„Diccionario de Datos (DD)
Visión panorámica AE
DFDs

„Visión general de las funciones y


transformaciones de datos en una
organización
„Modelo lógico y gráfico del sistema
„también como modelo físico
„Identifica entradas, salidas, procesos y
relaciones con el exterior
„...a nivel general
„ ...por refinamiento, a nivel detallado
Visión panorámica AE
DFDs (II)

Tipos de símbolos en los DFDs


(notación de Yourdon/De Marco)

P1
ENTIDAD Proceso
EXTERNA

flujo de datos D ALMACÉN DE


DATOS
Visión panorámica AE
DFDs (III)
Ejemplo

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

Adaptado del capítulo 2 de Gane, C. and T. Sarson, Análisis estructurado de sistemas.


1990, Buenos Aires: El Ateneo.
Visión panorámica AE
DFDs (IV)

Análisis de los procesos del sistema


⇒ Aplicamos la visión sistémica

Diagrama de contexto
CLIENTE pedidos

órdenes de compra

libros entregados
0.
Sistema de
Pedidos EDITOR
en principio, no
son materiales, libros pedidos

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

∈ DD ∈ DD
Visión panorámica AE
DFDs (V)
0. Sistema de pedidos
pedidos
D LIBROS
órdenes de compra
pedidos válidos
2.
1.
Armar
Verificar D PEDIDOS
estado del crédito pedidos
validez PENDIENTES D ÓRDENES DE
a editores
de pedido COMPRA
D CLIENTES pedidos en lote
pedidos por título
dirección
4. 3.
5. libros por Asignar libros Verificar libros pedidos
Armar clientes libros a recibidos
libros entregados envío
entrega pedidos de editores
a clientes
Visión panorámica AE
DFDs (VI)
„ El DFD del ejemplo pertenece al nivel lógico
„ un FD puede estar contenido en una nota, una factura, una
llamada telefónica, etc.
„ un almacén de datos puede ser una BD o un fichero en papel
„ no se dice qué deberá ser automático o manual.
... en el nivel lógico
„ se evita caer en decisiones físicas prematuras
„ se maneja la complejidad
„ En un DFD 0 real, se haría una auténtica división en
subsistemas
„ Se obvian los FD de error
„ En el ej. no se muestran las funciones de creación,
mantenimiento y consulta de almacenes de datos
Visión panorámica AE
Diccionario de Datos

„ “Es un conjunto de metadatos, es decir, de


información (datos) sobre datos”
„ Contiene las definiciones de todos los elementos
de los diagramas
„ Implementación
„ Manual
„ Procesador de textos
„ Base de datos
„ Automático e integrado ⇐
Visión panorámica AE
Diccionario de Datos (II)
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
Origen Destino
*** Off the diagram *** Compra libros
PROVEEDORES Biblioteca
Visión panorámica AE
Diccionario de Datos (III)
Fichero o base de datos: Facturas
Descripción: Información, por número de factura, sobre
facturas en el sistema actual.
Sinónimos: *** none ***
Composición:
@Número-factura
+ 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ón Proc_pago
Proc_consultas Adjuntar_albarán
Visión panorámica AE
Diccionario de Datos (IV)
Proceso: Verificar estado del socio
Número: 1.1.1
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:
Visión panorámica AE
Modelado de datos

„Diagramas E-R y DED (Diagrama de


Estructura de Datos)
„DED es, básicamente, un E-R limitado:
„no relaciones ternarias
„sólo cardinalidades 1:N
„no atributos multivaluados ni compuestos
„Por defecto, usaremos diagramas E-R
DED. Ejemplo
Diagrama E-R
Departamento

(1,n) [EN2002] (Chen)


pertenece

(1,1)
Empleado asignado Proyecto
(0,n) (1,m)

Departamento Proyecto

DED pertenece requiere

Empleado tiene Asignación


Visión panorámica AE
Lógica de procesos

„Técnicas para describir la lógica de los


procesos primitivos
„Lenguaje estructurado
„Pre y post-condiciones
„Tablas de decisión
„Árboles de decisión
Visión panorámica AE
Lógica de procesos (II)

„Lenguaje estructurado
„ SI 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
„ SI 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
„ FIN-SI.
Visión panorámica AE
Lógica de procesos (III)
„Pre 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)
Visión panorámica AE
Lógica de procesos (IV)
Tablas de decisión
ESTADO DE LA CORRECTO IMPAGADO CORRECTO IMPAGADO
CUENTA
NETO-FACTURA >300€ >300€ <=300€ <=300€

CONFIRMACIÓN x
PENDIENTE
HACER x x x
CONFIRMACIÓN
HACER FACTURA x x x

ESCRIBIR MENSAJE x
Visión panorámica AE
Lógica de procesos (V)
Árboles de decisión
1. Dejar confirmación
Cuentas impagadas pendiente de los pagos
más de 60 días debidos.
Factura
excede de
300€ Cuentas en buen estado 2. Hacer confirmación y
factura
Política
contable

3. Hacer confirmación y factura y


Factura Cuentas impagadas escribir mensaje sobre informe de
menos de más de 60 días crédito
300€
Cuentas en buen estado 4. Hacer confirmación y
factura
¿Y después del AE?

„DISEÑO ESTRUCTURADO (DE)


„El 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.
„En el paso AE ⇒ DE,
− Análisis de transacciones
− Análisis de transformaciones
Ejemplo de diagrama de
estructuras

Evaluar
peticiones

pet aceptada
informe préstamo
pet aceptada informe préstamo

Recibir Elaborar Informar


peticiones informe petición

pet préstamo pet rechazada

pet préstamo ok

Leer Consultar Rechazar


peticiones stock petición
Visión panorámica AE
Esquema resumen
Diagrama de B DESTINO
flujo de datos Z PROC
X
PROC PROC
V
Y Paso al
FUENTE A PROC W diseño
PROC D ALMACÉN DE
DATOS Diagrama de
estructuras

Descrip. Descripción Definición


E. E. del FD
del proceso Diagrama E-R
(o DED)

Diccionario
de Datos
Definiciones
de la BD

Definiciones de
los módulos
Visión panorámica AE
Proceso de aplicación

„ Aproximación “clásica”
1. Análisis del sistema actual
− Modelo físico, modelo lógico
2. Análisis de requisitos del nuevo sistema
3. Diseño de soluciones alternativas
4. Evaluación de las soluciones
5. Selección y documentación de una solución
6. Diseño estructurado
7. Codificación y pruebas
6.2 Diagramas de Flujo de
Datos (DFDs)

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
Símbolos del DFD
(notación Yourdon/De Marco)

P
Proceso Transformaciones o procesos (funciones,
cálculo, selección)

Entidad Externa Terminadores (Fuentes o Destinos)


(personas, entidades)

Flujo de datos
Flujos de información
(inputs-outputs)

Flujo de eventos Flujos de control (Ward & Mellor 85)

Ficheros o depósitos temporales de


D ALMACÉN DE
DATOS
información (base de datos, armario,
clasificador, etc.)
Símbolos del DFD
(notación Métrica/SSADM)

ID Localización

Proceso Transformaciones o procesos

Entidad Terminadores (Fuentes o Destinos)


Externa

Flujo de datos Flujos de información

D ALMACÉN DE Ficheros o depósitos temporales de


DATOS
información
Procesos

„TRANSFORMACIÓN
(cálculo, operación)
„FILTRO
(verificación fecha, validación transacción)
„DISTRIBUCIÓN
(menú, selección transacción)
E1 S1
P

Un consejo: Keep it simple!


Transformación
E2 S2

E3
Procesos (II)

„ Nombres únicos, significativos y concisos


„ Preferiblemente expresados en función de las
entradas y salidas
„ Recomendación:
verbo (no ambiguo) + objeto
„ Evitar verbos ambiguos
procesar, gestionar, manejar...
„ “objeto” está definido en el DD
„ Los procesos se descomponen en “subprocesos”,
hasta llegar a los procesos primitivos
Diagrama de contexto

„Es el DFD más general de todos


„Está formado por un solo macroproceso
(el sistema), las entidades externas
(fuentes y destinos) y sus relaciones con
el macroproceso
„Delimita el sistema y su entorno
Entidades externas
Señalan los límites del sistema y
establecen sus relaciones con el entorno
FUENTE DESTINO

P
FUENTE Sistema DESTINO

FUENTE DESTINO

Los identificadores (nombres) de las entidades externas serán


únicos, significativos y concisos
Límites del sistema
Actividad crítica y difícil
Puede haber problemas,
tanto por ser demasiado ambicioso, como poco ambicioso

Entorno Facturación

P Gestión de
Sistema caja (pagos)
de
pedidos

Información
sobre el crédito
Gestión del
Entorno
almacén
Flujos de datos

„ Los nombres de los FD deben ser únicos,


significativos y concisos
„ Son datos, así que nómbralos como datos.
„ Pueden estar indistintamente en singular o en
plural, ya que en los DFDs no se representan
cantidades (Barranco 95)
„ Los 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)
Flujos de datos (II)

„Flujos de datos interactivos (dialog flows)


„ Cuando 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 petición estado pedido
estado
pedido respuesta estado pedido

pago denegación
autorización crédito crédito
P P
Aceptar pago solicitud crédito Analizar
Petición
recibo crédito
Flujos de datos (III)

„Las 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 X P P P
A B A B
X
X
Flujos de datos (IV)

„ Se puede representar, si se desea, el FLUJO DE


MATERIAL, usando flechas de trazo grueso
P1
Selecc. y
pedir nuevos
EDITORIALES nuevas ofertas
libros
INTERVENTOR Notación Gane & Sarson

pedidos de libros nuevos

libros nuevos

D3 INVENTARIO
P2 P3 ajuste de inventario
Examinar Registrar libros
nuevos libros nuevos ajuste de signaturas
D4 SIGNATURAS
libros nuevos

nuevos libros D1 LISTA MAESTRA


DE ISBN

P4 P5
libros nuevos
libros nuevos D9 CARRITO libros nuevos
Enviar al dpto. Poner libros
LIBROS NUEVOS
comprador nuevos en D2 ESTANTES
libros nuevos estantes
Flujos de datos (V)

Se pueden considerar flechas convergentes o


divergentes, con un mismo nombre P
Validar
P cod postal
cod postal
A
dirección cli
telef
número de cuenta
calle P
Validar
P P Telef.
B Validar
calle

Observaciones:
Sólo los procesos pueden separar FD (Piattini et al. 04)
No poner FD como señales de activación (Yourdon 93)
Flujos de datos (VI)

Notación System Architect. Ejemplos


FD divergentes (conectores XOR y AND)
P
Imprimir
P
lista Rellenar
empaquetado prescripción
datos de P
P empaquetado
Determinar datos de envío Determinar prescripción
prods.para prescripción
datos de facturación
enviar XOR AND
cuando los datos son cuando todos los datos
divididos en subconjuntos P siguen por ambos caminos P
Imprimir Actualizar
factura registro
cliente paciente
Flujos de datos (VII)

Notación System Architect. Ejemplos


FD convergentes (conectores XOR y AND)

P P
Aceptar pago Confirmar
en metálico empleo
historial de
P historia P
datos de pago empleo
Transferir historial combinada Conceder
pago de crédito tarjeta de
P XOR crédito
AND
Aceptar pago cuando los mismos P cuando los subconjuntos
a crédito datos provienen de Confirmar son combinados en uno
cualquier dirección historial de
crédito
Flujos de datos (VIII)

¿El proceso “pide” el FD “pedido”?


P
pedido
Evaluar pedido

criterios valoración ¿El proceso “necesita” ambos FD?

„No lo sabemos, no importa:


„Los aspectos procedurales no se manifiestan
en los DFDs
„Si tales aspectos son relevantes, se deben
incluir en las miniespecificaciones
Flujos de control

„ En los DFDs no se muestra el control ni el orden


de ejecución
„ No se puede mostrar:
„ Procesos que se realizan antes que otros
„ Sincronización
„ Periodificación
„ Extensiones al AE para sistemas en tiempo real:
„ (Ward & Mellor 85)
„ (Hatley & Pirbhai 87)
Flujos de control (II)

„ Señales de activación “ON/OFF”


„ Sirven para “Habilitar/Deshabilitar” procesos
„ También hay:
„ Procesos de control
− Coordinan el resto de procesos
− Usualmente uno por DFD
− Se describen mediante Diagramas de transición de estados
„ Almacenes de control
− Almacenes de eventos
„ FD discretos
„ FD continuos
Flujos de control (III)

clave codificada
P
Verificar
clave
D CUENTAS
clave
CLIENTE
clave OK
cantidad saldo

pago
P
Efectuar
reintegro
Flujos de control (IV)

P datos satélite
Monitorizar datos
habilitar proc satélite satélite

P
señal satélite
Controlar sistema
vigilancia D DATOS DE
VIGILANCIA
señal radar

P
Monitorizar datos
habilitar proc radar datos radar
radar
Almacenes de datos

„ Nombre único, significativo y conciso


„ Convenciones de nombres en los FD a/desde un
almacén:
„ No lleva etiqueta
− El FD se refiere a un paquete (instancia) completo de la
información contenida en el almacén
„ La 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
„ La 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
Consistencia DFD / E-R (MAP 95)

„ Para facilitar validaciones cruzadas entre DFDs y


E-R (o DED)...

„ Correspondencia entre los almacenes de datos


“principales” (permanentes) del DFD y las
entidades del E-R
„Cada almacén de un DFD representa una o
varias entidades del E-R
„Cada entidad del E-R pertenece a un único
almacén principal de un DFD
Consistencia DFD / E-R (II)

„ETIQUETA DE LOS ALMACENES


„Según explosione a
− Entidad de datos ⇒ Plural nombre entidad
− Diagrama E-R (o DED) ⇒ Nombre diagrama

„ DEFINICIÓN DE LOS ALMACENES


1. Pocos almacenes
„ Para cada uno, diagrama E-R (o DED)
2. Tantos almacenes como entidades se hayan
identificado
„ Preferible (si no hay muchas entidades)
Descomposición funcional

„ Cada proceso se puede explotar, refinar o


descomponer en un DFD más detallado
„ El DFD de un sistema es realmente un conjunto
de DFDs dispuestos jerárquicamente
„ Los niveles de la jerarquía están determinados
por la descomposición funcional de los procesos
„ La raíz de la jerarquía es el “diagrama de
contexto”, que es el más general de todos
Descomposición funcional (II)
P B DESTINO
A Sist
FUENTE B
P
f5
Z
P X P
f2 f4
V
Y
P
A f1 W P
f3

Z
P x2 P
x1 f43 f45

P
X f41
y2

P
y1 f44
P
Y f42
Descomposición funcional (II)
P B DESTINO
A Sist
FUENTE B
P
f5
Z
P X P
f2 f4
V
Y
P
A f1 W P
f3

Z
P x2 P
x1 f43 f45

P
X f41
y2

P
y1 f44
P
Y f42
Consistencia en el DFD

„Cada proceso en un diagrama “padre” es


una consolidación del DFD “hijo”
„Balanceo de DFDs
„Las E/S de un proceso “padre” deben
corresponderse con las E/S del DFD “hijo”
que lo explica
„Excepciones: errores y salidas triviales
Descomposición paralela

„Descomposiciones de funciones
„Proceso en subprocesos (DFD)
„Descomposición de flujos de datos
„La regla de balanceo se aplica teniendo en
cuenta la descomposición paralela
Descomposición paralela (II)

„ Ejemplo: pedido = autorización + cupón de pedido + pago


P2

P1
envío

P6

P5
pedido envío
autorización
P6.2
P4
P3
cupón de P6.1
pedido

P6.3
pago
Jerarquía de DFDs

„ En un DFD completo cada proceso tiene un


número único que lo identifica en función de su
situación en la jerarquía
„ Cada DFD tiene también un número único que
coincide con el proceso que describe
„ Las hojas o nodos terminales corresponden a
“procesos primitivos” o indescomponibles
„ Para cada proceso primitivo existirá una
miniespecificación.
Localización
Proceso Proceso primitivo en Métrica
Jerarquía de DFDs (II)
P 1.2 B
Proceso A B = X + Y ∈ DD
A

DFD 1.2
P 1.2.2
f2 X

P 1.2.1 Y
f1 P 1.2.3
A W f3
Jerarquía de DFDs
DFD 0

„El primer diagrama general que sigue al


de contexto es el número 0 por convenio
„En 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


Descomposición funcional y
almacenes de datos

„Los almacenes aparecen lo más tarde


posible
„En un nivel superior únicamente cuando
son interfaz entre procesos
„Una vez que aparezca en un DFD, el
almacén aparecerá otra vez en cada DFD
de nivel más bajo relacionado
Descomposición funcional y
almacenes de datos (II)

P P
A B
D FICH

P
P B.1
A.1

D FICH
D FICH

P
P
A.2
B.2
Tamaño de la jerarquía de
DFDs
„ Cada DFD debería tener alrededor de 7 procesos
o menos (Miller 57) Miller, G.A. The magical number seven, plus or minus two: Some limits on
our capacity for processing information. Psycological Review, vol. 63, pp.81-97.

„ En general, habrá varios niveles intermedios,


dependiendo del tamaño y complejidad del
sistema que se está modelando
„ ¿Cuántos niveles son convenientes?
Yourdon: depende del problema
Diagrama de contexto / sistema
Diagrama de subsistemas
Métrica Diagrama de funciones
Diagrama de subfunciones
Diagrama de procesos (opcional)
Reglas sintácticas en DFDs
„El origen y/o el destino de un FD es
siempre un proceso
„ Excepción: almacenes en el diagrama de contexto
(Yourdon 93)
CLIENTE
datos del mercado
CLIENTES
CORPORATIVOS informes anuales
D DATOS DEL
MERCADO

CENTROS DE datos de P datos del mercado


INVESTIGACIÓN investigación SIST. DE
INVESTIG. DE
MERCADOS
Reglas sintácticas en DFDs
(II)

„Todo almacén y todo proceso tienen uno o


más FD de E y uno o más FD de S
„ EXCEPCIÓN: un almacén puede no tener FD de salida,
por simplificación (p.ej. BD Histórica)
„ RECOMENDACIÓN: si aparece un proceso fuente o
sumidero, replantearse los límites del sistema

P P
Fuente Sumidero

„Regla de Balanceo
Localización de los procesos
STAFF PLANNING CONTROL DE ADMIN REGIONES ESCÁNER D600
CALIDAD W, S, N
P P
Copia de
P Fotocopiar Form 55 Revisar
P Revisar Form 55 Form 55
Crear Form 55
Form 55 Form 55 revisado
Formulario
Form 55 autorizado
55
Form 55 Form 55 revisado regionalmente
P

Revisar
Form 55

Det. estado
Form 55
Form 55 no autorizado Form 55 aceptado
P

Form 55 no aceptado Crear


Xact 55
Xact 55

DESTINO P

Informe 55 Crear
Informe 55
informe 55
DESTINO
Ideas útiles para construir el
DFD

„Identificar todos los elementos exógenos


„Identificar sus relaciones con el sistema
„Trabajar según alguna de las siguientes
filosofías:
„De inputs a outputs
„De outputs a inputs
„Desde una posición intermedia hacia delante
o hacia atrás
Ideas útiles para construir el
DFD (II)

„Nombrar adecuadamente todos los


objetos del DFD
„Numerar adecuadamente procesos y
diagramas
„Realizar una correcta división en
subsistemas (DFD 0)
„Utilizar la descomposición funcional
jerárquica hasta alcanzar las funciones
primitivas
Ideas útiles para construir el
DFD (III)

„ La descomposición top/down adolece de


problemas
SOLUCIÓN: partición de eventos
„ Es importante que sea preciso y completo, pero
¡es muy importante que sea legible!
„ El convenio de nombres de FD a/desde almacenes
ayuda a hacer el DFD más legible
„ Agregar FD en los niveles superiores
„ Un poco de sentido común…
confirmación subasta

Prácticas sept. 2004


NAVEGANTE datos de prducto

datos de anuncio
solicitud de anuncio

confirmación de cancelación

solicitud de cancelación
notificación de pujas
confirmación de baja MEGASUBASTA PÚBLICA
1
solicitud de baja
3
confirmación GESTIONAR USUARIOS

GESTIONAR ANUNCIOS
datos de usuario

datos usuario
BANCO
datos bancarios

autorización
2
identificación confirmación id.
confirmación de cobro ADMINISTRAR PUJAS
solicitud de puja datos bancarios usuarios
D1 PARTICIPANTES
cobro de participación
nº serie nombres usuarios
borrado usuario
DFD 0 (Ejemplo a).

consulta de datos
datos puja
registro usuario id. usuario e-mail adjudicatario
nº de serie
nº cuenta
registro de puja revisión pujas login usuario id. adjudicatario

borrado datos anuncio e-mail


petición anuncio
D PUJAS información anuncio
D ANUNCIOS
datos de revisión listado de resultados
anuncio referencia de artículo

confirmación de referencia solicitud de resultados


datos resultados
datos de subasta
anuncio a cancelar
D RESULTADOS consulta de resultados
fecha fin edición

anuncio revisado resultados de pujas


id. creador
cargo de penalización

confirmación de penalización

impago de participación n. anuncio


registro anuncio 4
puja adjudicataria
cargo
VALIDAR SUBASTA
nº anuncio pujado
confirmación de cargo nº subasta
listado pujas relacionadas
ADMINISTRADOR pujas relacionadas
num. anuncio

datos de penalización

impago puja adjudicataria

cierre edición
confirmación de cierre
Prácticas sept. 2004 La Mega Subasta Pública

D EDICIONES

peticiónSobreParticipante P1 P2 P3
peticiónSobreEdicionesYSubasta peticiónSobrePujas
peticiónValidarTarjeta Gestionar Gestionar Gestionar
s D SUBASTAS
Participantes acciónSobreEdicionesYSubastasO Edición y Pujas respuestaPuja
tarjetaValidadaOK Subastas CIEGAS
K
acciónSobreParticipanteOK avisoAnulamiento
avisoPujaExtendid
a
D SUBASTAS
EXTENDIDAS

D PRODUCTOS
DFD 0 (Ejemplo b).

D PARTICIPANTES
D PUJAS

D EDICIONES

D SUBASTAS
CIEGAS

D SUBASTAS
EXTENDIDAS

peticiónConsultaResultados peticiónDevolverProducto
P4 P5
productoDevueltoOK
respuestaConsultaResultados Seleccionar Genstionar
productosAEntregar
Ganadores Tranferencia de
peticiónControlResultados productoEntregadoOK
Productos
avisoAdministrador
respuestaControlResultados
D LISTA DE validarTranferencia
RESULTADOS tranferenciaOK

avisoGanador
DFDs - Conclusiones

„Valiosa herramienta de comunicación


„Usuario, analista, diseñador, programador
„Se puede combinar con el uso de prototipos
„Fácil de entender y de aprender
„Facilita las relaciones con el usuario
„Amplia difusión
DFDs – Conclusiones (II)

„Superado por las metodologías OO,


pero todavía vigente:
− educación
− industria,
− administración (Métrica 2.1 y 3),
− cuerpo de conocimiento de ingeniería del software
(SWEBOK, SEEK, etc.)
„El control no aparece hasta el final de la
especificación estructurada
„No es inmediato el paso a la codificación y
prueba ⇒ Diseño estructurado
DFDs – Conclusiones (III)

„Útil para el análisis y para el diseño del


nuevo sistema
„Má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.)
DFDs – Conclusiones (IV)

„Según algunos autores, la aproximación


top-down no es la más correcta para
analizar los sistemas de información
„Aunque no es intrínsecamente mala: se
puede usar en proyectos pequeños
„Alternativamente, se puede usar:
− bottom-up
− de un nivel intermedio hacia arriba o hacia abajo
„En proyectos grandes, partición de eventos

Você também pode gostar