Introducción al Análisis Estructurado Moderno

Anuncio
MTP
Tema 2: Introducción al Análisis Estructurado
MTP
Tema 2:
Introducción al Análisis Estructurado
Objetivos
Contenidos:
■
◆
Introducción.
◆
Diagrama de Flujo de Datos.
■
✦
Elementos en un DFD.
✦
Explosión de un Proceso.
✦
Niveles de DFDs.
✦
Guías para realizar los DFDs.
◆
Diccionario de Datos.
◆
Especificación de Procesos.
◆
Realización de un ejercicio.
■
EUI-FI UPV
MTP
Tema 2: Introducción al Análisis Estructurado
El alumno conocerá el Análisis Estructurado como técnica
para llevar a cabo la primera fase del ciclo de vida clásico.
El alumno aprenderá qué es el Análisis Estructurado y qué
herramientas utiliza.
El alumno aprenderá a interpretar el Análisis de un sistema
especificado mediante la metodología Estructurada.
EUI-FI UPV
1
Tema 2: Introducción al Análisis Estructurado
MTP
Bibliografía
2
Tema 2: Introducción al Análisis Estructurado
Introducción al Análisis Estructurado
Introducción
■
Bibliografía básica:
◆
◆
◆
■
Metodología y Tecnología de la Programación. Capítulo 8. SPUPV97.498, 1997.
Ingeniería del Software. Capítulos 5, 6 y 7. R. Pressman. McGraw Hill,
1993 (3ª ed.) y 1997 (4ª ed.).
Ejercicios Solucionados de Metodología y Tecnología de la
Programación. SPUPV-97.960, 1997.
Propósitos del Análisis de Requisitos
◆
◆
◆
■
Bibliografía complementaria:
◆
◆
◆
Análisis Estructurado Moderno. E. Yourdon. Prentice Hall, 1994.
Software Engineering. Capítulos 4, 5, 6. I. Sommerville. AddisonWesley, 1996.
The Practical Guide to Structured System Design. M. Page-Jones.
Prentice Hall, 1988.
EUI-FI UPV
3
Obtener una descripción lógica del sistema a
desarrollar.
Descripción del ámbito del sistema.
Especificación:
• funcional
• de datos
• de rendimiento
• de interfaz
• de pruebas
EUI-FI UPV
4
MTP
■
◆
Introducción al Análisis Estructurado
Introducción
■
Analista → entender con precisión lo que el usuario
quiere.
Usuario → entender con precisión el producto que se le
ofrece.
Clave del éxito
◆ Buena comunicación Usuario - Analista
MTP
◆
◆
◆
◆
Qué es el Análisis Estructurado
◆ Técnica de modelado del flujo, contenido y
transformación de la información que fluye por un
sistema.
◆ Nació como complemento al Diseño Estructurado.
◆ El término “Análisis Estructurado” fue popularizado por
DeMarco a fines de los 70, quien presentó y denominó
los símbolos gráficos que permitirían al analista crear
modelos de flujos de información.
◆ Yourdon, Gane y Sarson y otros presentaron
variaciones a la propuesta original.
◆ A mediados de los 80 Ward y Mellor proponen
ampliaciones para su aplicación en sistemas de tiempo
real.
EUI-FI UPV
5
Tema 2: Introducción al Análisis Estructurado
MTP
6
Tema 2: Introducción al Análisis Estructurado
Introducción al Análisis Estructurado
Introducción al Análisis Estructurado
Introducción
Diagrama de Flujo de Datos (DFD)
Qué Herramientas utiliza el Análisis Estructurado
◆
Tema 2: Introducción al Análisis Estructurado
Introducción
EUI-FI UPV
■
MTP
Introducción al Análisis Estructurado
Desafíos del Análisis
◆
■
Tema 2: Introducción al Análisis Estructurado
■
Diagramas de Flujo de Datos (DFD)
Diccionario de Datos
Especificaciones de Procesos
Diagramas Entidad-Relación
Diagramas de Transición de Estados
El DFD representa un modelo del flujo de información del
sistema y se caracteriza porque:
◆
◆
◆
◆
◆
◆
◆
EUI-FI UPV
7
Muestra el flujo de la información.
Muestra las transformaciones aplicadas a los datos
desde la entrada hasta la salida.
Especifica QUÉ hace el sistema.
Es gráfico.
Es comprensible por los usuarios.
Se puede usar a cualquier nivel de detalle.
Permite el particionamiento del sistema en diferentes
niveles de detalle.
EUI-FI UPV
8
MTP
■
Tema 2: Introducción al Análisis Estructurado
MTP
Tema 2: Introducción al Análisis Estructurado
Introducción al Análisis Estructurado
Introducción al Análisis Estructurado
Diagrama de Flujo de Datos (DFD)
Elementos de un DFD
Un ejemplo de DFD
Entidades Externas
◆ Algo o alguien que envía o recibe información.
◆ Marcan los límites del sistema.
■ Notación
Libros
Editores
Cliente
pedido
detalle libro
Nombre
de Entidad
Externa
dirección
Estado de crédito
2.2
Crear
Petición
a editores
2.1
Verificar si
el pedido
es válido
pedido valido
Clientes
orden de compra
pedido por lote
■
Ejemplos
Departamento
de ventas
Editor
Jefe
de Personal
Cliente
Proveedor
Pedidos Pendientes
EUI-FI UPV
MTP
EUI-FI UPV
9
Tema 2: Introducción al Análisis Estructurado
MTP
10
Tema 2: Introducción al Análisis Estructurado
Introducción al Análisis Estructurado
Introducción al Análisis Estructurado
Elementos de un DFD
Elementos de un DFD
Almacenes de datos
◆ Depósito (computacional o no) donde se guardan datos
para uso posterior.
◆ P.e. Un fichero, una Base de Datos, un archivador
■ Notación
Procesos
◆ Algo o alguien que transforma y/o manipula flujos de
datos.
Número
■ Notación
identificador
Nombre del almacén
■
■
Ejemplos
n
Nombre
del
proceso
del proceso
Ejemplos
Solicitudes de becas
Proveedores
EUI-FI UPV
Facturas pendientes
11
1.2
Actualizar
Inventario
5.3.1
Imprimir
Expediente
EUI-FI UPV
3
Calcular
Retención
1.1
Pedir
Nombre de
Usuario
12
MTP
Tema 2: Introducción al Análisis Estructurado
Introducción al Análisis Estructurado
Elementos de un DFD
Conexiones permitidas en un DFD
Entidades Procesos Almacenes
✓
Entidades
X
X
✓
✓
✓
Procesos
✓
Almacenes
X
X
flujo de datos
Ejemplos
DNI Válido
Nombre
de usuario
Informe de
Ventas del mes
EUI-FI UPV
MTP
■
■
■
Tema 2: Introducción al Análisis Estructurado
Introducción al Análisis Estructurado
Flujos de datos
■ Representan movimientos de información dentro del
sistema.
■ Pueden tener 2 o más destinos simultáneamente.
■ Notación
Nombre del
■
MTP
EUI-FI UPV
13
Tema 2: Introducción al Análisis Estructurado
MTP
14
Tema 2: Introducción al Análisis Estructurado
Introducción al Análisis Estructurado
Introducción al Análisis Estructurado
Explosión de un proceso
Explosión de un proceso
Consiste en desagregar un proceso padre en un nuevo DFD
de mayor detalle.
Se produce a medida que se conocen más actividades
internas a dicho proceso.
Normas a seguir al explosionar un proceso:
✦
✦
✦
Numeración: Al explosionar el proceso “n”, se
numerarán los procesos hijos como n.1, n.2, ...
DFD Balanceado: Todos los flujos que entraban o
salían del proceso padre deberán entrar y salir del
conjunto de procesos hijos.
Del DFD obtenido por explosión pueden surgir
nuevos flujos correspondientes al tratamiento de
errores y excepciones. Asimismo pueden aparecer
almacenes de datos privados.
EUI-FI UPV
15
■
Otras normas de construcción de DFDs
◆
No debe tenerse en cuenta aspectos de iniciación o
terminación de funciones.
◆
Generalmente, no habrá almacenes de datos en los que
sólo se escriba.
◆
Todos los procesos, almacenes de datos, flujos de
datos y entidades deben tener asignado un nombre.
◆
Todos los procesos deben tener al menos un flujo de
entrada y otro de salida.
◆
Los DFD deben ser independientes de la
implementación.
EUI-FI UPV
16
MTP
Tema 2: Introducción al Análisis Estructurado
MTP
Tema 2: Introducción al Análisis Estructurado
Introducción al Análisis Estructurado
Introducción al Análisis Estructurado
Niveles de un DFD
Niveles de un DFD
■
La cantidad de niveles depende de la complejidad y
magnitud del sistema.
■
Un proceso no debe explosionarse si lo que realiza se
puede describir con detalle en no más de media página.
■
Normalmente en los DFDs de último nivel se muestra el
tratamiento de errores y excepciones.
■
■
■
■
EUI-FI UPV
Diagrama de Contexto (Nivel 0)
◆ Es un resumen genérico del sistema.
◆ Un único proceso y las entidades externas.
DFD 0 (Nivel 1)
◆ Modelo con toda la funcionalidad del sistema.
DFD 1,..., DFD 2,... (Nivel 2)
◆ DFDs que corresponden a la explosión de cada proceso
padre del Nivel 1.
Niveles Adicionales (3, 4,...)
◆ DFDs que representan la explosión de procesos
contenidos en los DFDs del nivel inmediatamente
anterior.
EUI-FI UPV
17
MTP
Tema 2: Introducción al Análisis Estructurado
MTP
18
Tema 2: Introducción al Análisis Estructurado
Introducción al Análisis Estructurado
Introducción al Análisis Estructurado
Niveles de un DFD
Guías para construir los DFDs
Diagrama de Contexto
b
0
a
■
Estudio inicial mediante: entrevistas a usuarios, lectura de
documentos relacionados con el área en estudio
■
Identificar: alcance del sistema, información relevante,
entidades externas.
■
Elaborar primer borrador de DFD 0, identificando procesos,
flujos, almacenes de datos y entidades externas.
■
Revisión con el equipo informático. Verificar nombres
adecuados en procesos y flujos de datos, verificar que
cada proceso y almacén de datos tiene entradas.
DFD del Nivel 0
explosión de proceso 0
DFD 0
d1
1
3
DFD del Nivel 1
2
explosión de proceso 2
DFD 2
2.1
2.2
2.4
EUI-FI UPV
2.3
d2
DFD del Nivel 2
19
EUI-FI UPV
20
MTP
Tema 2: Introducción al Análisis Estructurado
MTP
Tema 2: Introducción al Análisis Estructurado
Introducción al Análisis Estructurado
Introducción al Análisis Estructurado
Guías para construir los DFDs
■
Obtener un segundo borrador de DFD 0 incorporando
posibles modificaciones.
■
Revisión con el usuario para asegurar que el DFD refleja el
sistema. Obtener confirmación por parte del usuario.
■
Elaborar DFDs de segundo nivel.
■
Confirmar DFD 0 verificándolo con respecto a DFDs de
segundo nivel. Verificar que los DFDs están balanceados.
■
Revisión final para validar DFD 0 y DFDs de más bajo nivel.
EUI-FI UPV
MTP
■
■
◆
Introducción.
◆
Diagrama de Flujo de Datos.
✦
Elementos en un DFD.
✦
Explosión de un Proceso.
✦
Niveles de DFDs.
✦
Guías para realizar los DFDs.
◆
Diccionario de Datos.
◆
Especificación de Procesos.
◆
Realización de un ejercicio.
EUI-FI UPV
21
Tema 2: Introducción al Análisis Estructurado
MTP
22
Tema 2: Introducción al Análisis Estructurado
Introducción al Análisis Estructurado
Introducción al Análisis Estructurado
Diccionario de Datos
Diccionario de Datos
El Diccionario de Datos contiene la descripción detallada de
cada dato del sistema.
◆ Existirá una entrada por cada flujo de datos o almacén
de datos que aparezca en los DFDs del sistema.
◆ Se especificará cada estructura de datos hasta el nivel
más elemental.
Cada dato debería tener una definición que incluya:
◆ Comentario que explique el significado en el contexto
del sistema.
◆ Composición, si no es un dato elemental.
◆ Valores posibles, si es un dato elemental.
EUI-FI UPV
23
■
Notación
=
+
()
{}
[]
**
@
|
está compuesto de
concatenación de datos
dato opcional
repetición
selección de una de las alternativas
comentario
campo clave para un almacén de datos
separador de alternativas en el constructor []
EUI-FI UPV
24
MTP
■
Tema 2: Introducción al Análisis Estructurado
◆
◆
◆
◆
◆
Introducción al Análisis Estructurado
Diccionario de Datos
Diccionario de Datos
MTP
■
■
■
Ejemplos
◆ estado_civil = [s|c|v|d|x|o]
◆
título_cortesía = [Sr| Sra.|Don|Doña]
primer_nombre = {caracter_permitido}
segundo_nombre = {caracter_permitido}
apellido_paterno = {caracter_permitido}
apellido_materno = {caracter_permitido}
caracter_permitido = [A-Z|a-z|0-9|‘|-| |]
EUI-FI UPV
■
Tema 2: Introducción al Análisis Estructurado
Introducción al Análisis Estructurado
Ejemplos
◆ nombre = título_cortesía +
primer_nombre +
(segundo_nombre) +
apellido_paterno +
apellido_materno
◆
MTP
registro_empleado =* datos de un empleado *
nombre_empleado +
num_empleado +
fecha_nacimiento +
(num_teléfono) +
dirección +
estado_civil +
{nombre_hijo}
EUI-FI UPV
25
Tema 2: Introducción al Análisis Estructurado
MTP
26
Tema 2: Introducción al Análisis Estructurado
Introducción al Análisis Estructurado
Introducción al Análisis Estructurado
Especificación de procesos
Lenguaje Estructurado
Son descripciones de la lógica interna de los procesos de
los DFDs de último nivel.
Definen qué debe hacerse para transformar las entradas en
salidas.
Herramientas:
◆ lenguaje estructurado o pseudocódigo,
◆ árboles de decisión,
◆ tablas de decisión,
◆ diagramas de Nassi-Schneiderman,
◆ diagramas de flujo,
◆ descripción narrativa.
EUI-FI UPV
27
■
Lenguaje estructurado
◆ Implica utilizar el lenguaje natural con algunas
restricciones.
◆ Equilibrio entre la precisión de un lenguaje formal y la
informalidad y legibilidad del lenguaje natural.
◆ Una sentencia del lenguaje estructurado debería ser:
✦ una ecuación algebraica, p.e. X = (Y*Z)/(Q+14)
✦ una sentencia imperativa consistente de un verbo y
un objeto.
✦ Combinación de constructores estructurados.
EUI-FI UPV
28
MTP
◆
◆
◆
Tema 2: Introducción al Análisis Estructurado
MTP
Tema 2: Introducción al Análisis Estructurado
Introducción al Análisis Estructurado
Introducción al Análisis Estructurado
Lenguaje Estructurado
Lenguaje Estructurado
Verbos tipo:
obtener (aceptar o leer)
mover
borrar
poner (escribir)
reemplazar
ordenar
encontrar (buscar o localizar) calcular
validar
Objetos:
✦ elementos descritos en el Diccionario de Datos
✦ datos locales al proceso.
Constructores estructurados
SI condición
sentencias-1
SI NO
sentencias-2
FINSI
EUI-FI UPV
MTP
Ejemplo
Nombre Proceso: Verificar_Crédito
Id_cliente
Número
: 3.5
pedido_de_pago_previo
Definición : Decidir tratamiento de
pago para pedidos. Sin
pedidos
previo pago o si debe
3.5
pedidos_con_crédito_ok
pedirse el pago al cliente.
Verificar
Crédito
Entradas : pedidos
historia_de_pagos
Salidas : pedido_de_pago_previo
historia_de_pagos
pedidos_con_credito_ok
pedido_rechazado
pedido_rechazado
■
EUI-FI UPV
29
Tema 2: Introducción al Análisis Estructurado
MTP
Introducción al Análisis Estructurado
30
Tema 2: Introducción al Análisis Estructurado
Introducción al Análisis Estructurado
Lenguaje Estructurado
Lógica Interna:
Árboles de decisión
■
INICIO
LEER historia_de_pagos
Se recomienda el uso del árbol de decisión cuando el número de
acciones es pequeño y no son posibles todas las combinaciones.
primer orden
más de 12 días
EN CASO
hacer pedido
CASO cliente es nuevo
ENVIAR pedido_de_pago_previo
CASO cliente es corriente (*promedio de dos pedidos
mensuales*)
OBTENER balance
total órdenes
< 100
SI balance esta vencido más de dos meses
total órdenes
>= 100
ENVIAR pedido_rechazado
SI NO ENVIAR pedido_con_credito_ok
FIN_SI
FINCASO
TÉRMINO
EUI-FI UPV
primer orden
12 días o menos
descuento
editor
sin descuento
editor
31
esperar
calcular descuento
y hacer pedido
hacer pedido
EUI-FI UPV
32
MTP
Tema 2: Introducción al Análisis Estructurado
MTP
Tema 2: Introducción al Análisis Estructurado
Ejercicio:
Construir el Diagrama de Contexto
Introducción al Análisis Estructurado
Tablas de decisión
■
CLIENTES
Se utiliza la tabla de decisión cuando existen muchas
combinaciones.
1
2
3
4
5
6
7
8
edad > 21
Y
Y
Y
Y
N
N
N
N
sexo
V
V
M
M
V
V
M
M
peso > 60
Y
N
Y
N
Y
N
Y
N
Medicamento 1
X
Medicamento 2
X
X
Medicamento 3
Ninguno
1.
Leer
Pedido
X
MTP
No_existe
Artículos
X
33
Tema 2: Introducción al Análisis Estructurado
Ejercicio:
Construir el Diagrama de Contexto
CLIENTES
Línea_pedido
Línea_impresión
SISTEMA
EUI-FI UPV
Cod_cliente
6.
7.
4.
Formatear
%_Descuento Calcular
Ver
Importe
Importe
Descuento
Importe_Neto
Neto
Neto
Cliente
35
No_existe
Importe_Total
Importe_Total
Cod_Artículo
3.
5.
Importe_Artículo
2.
Válido
Calcular
Calcular
Validar
Importe
Importe
Artículo
Artículo
Total
X
EUI-FI UPV
Importe
Neto
Formateado
Cantidad
Cod_Artículo
X
X
8.
Escribir
Línea_Impresión Imp. Neto
Formateado
Línea_Pedido
X
X
Tarifa_Descuentos
CLIENTES
Tarifa_Artículos
EUI-FI UPV
34
Descargar