Story Transcript
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