Sie sind auf Seite 1von 18

20/02/2007

Tema 2: Introduccin al Anlisis Estructurado


Metodologa y Tecnologa de la Programacin DSIC UPV

Facultad de Informtica

MTP

Tema 1: Introduccin al Anlisis Estructurado

Objetivos
El alumno conocer el Anlisis Estructurado como tcnica para llevar a cabo la primera fase del ciclo de vida clsico. El alumno aprender qu es el Anlisis Estructurado y qu herramientas utiliza. El alumno aprender a interpretar el Anlisis de un sistema especificado mediante la metodologa Estructurada.

FI - UPV

20/02/2007

MTP

Tema 1: Introduccin al Anlisis Estructurado

Contenidos
Introduccin. Diagrama de Flujo de Datos.
Elementos en un DFD. Descomposicin en niveles. Normas para la construccin de DFDs. Guas para realizar los DFDs.

Diccionario de Datos. Especificacin de Procesos.


Lenguaje Estructurado rboles de Decisin Tablas de Decisin

FI - UPV

MTP

Tema 1: Introduccin al Anlisis Estructurado

Bibliografa
Bibliografa bsica:
Metodologa y Tecnologa de la Programacin. Captulo 8. SPUPV97.498, 1997. Ingeniera del Software. Captulos 5, 6 y 7. R. Pressman. McGraw Hill, 1993 (3 ed.) y 1997 (4 ed.). Ejercicios Solucionados de Metodologa y Tecnologa de la Programacin. SPUPV-97.960, 1997. Boletn de cuestiones y problemas.

Bibliografa complementaria:
Anlisis Estructurado Moderno. E. Yourdon. Prentice Hall, 1994. Software Engineering. Captulos 4, 5, 6. I. Sommerville. AddisonWesley, 1996. The Practical Guide to Structured System Design. M. Page-Jones. Prentice Hall, 1988.
FI - UPV

20/02/2007

MTP

Tema 1: Introduccin al Anlisis Estructurado

Introduccin
Propsitos del Anlisis de Requisitos
Obtener una descripcin lgica o modelo del sistema que se va a desarrollar. Descripcin del mbito del sistema. Especificacin:
funcional de datos de rendimiento de interfaz de pruebas

Desafos del Anlisis


Analista entender con precisin lo que el usuario quiere. Usuario entender con precisin el producto que se le ofrece.

Clave del xito


Buena comunicacin Usuario - Analista

FI - UPV

MTP

Tema 1: Introduccin al Anlisis Estructurado

Qu es el Anlisis Estructurado
Tcnica de modelado del flujo, contenido y transformacin de la informacin que fluye por un sistema. Naci como complemento al Diseo Estructurado. El trmino Anlisis Estructurado fue popularizado por DeMarco a fines de los 70, quien present y denomin los smbolos grficos que permitiran al analista crear modelos de flujos de informacin. Yourdon, Gane y Sarson, y otros, presentaron variaciones a la propuesta original. A mediados de los 80, Ward y Mellor proponen ampliaciones para su aplicacin en sistemas de tiempo real.

FI - UPV

20/02/2007

MTP

Tema 1: Introduccin al Anlisis Estructurado

Herramientas del Anlisis Estructurado


Diagramas de Flujo de Datos (DFD) Diccionario de Datos (DD) Especificaciones de Procesos Diagramas Entidad-Relacin Diagramas de Transicin de Estados

FI - UPV

MTP

Tema 1: Introduccin al Anlisis Estructurado

Diagrama de Flujo de Datos (DFD)


El DFD representa un modelo del flujo de informacin del sistema y se caracteriza porque:
Muestra el flujo de la informacin. Muestra las transformaciones aplicadas a los datos desde la entrada hasta la salida. Especifica QU hace el sistema. Es grfico. Es comprensible por los usuarios. Se puede usar a cualquier nivel de detalle. Permite el particionamiento del sistema en diferentes niveles de detalle.

FI - UPV

20/02/2007

MTP

Tema 1: Introduccin al Anlisis Estructurado

Diagrama de Flujo de Datos (DFD)


Un ejemplo de DFD
Libros Editores Cliente pedido detalle libro direccin
2.1 Verificar si el pedido es vlido 2.2 Crear Peticin a editores

Estado de crdito

orden de compra pedido por lote

pedido valido Clientes

Editor

Pedidos Pendientes

FI - UPV

MTP

Tema 1: Introduccin al Anlisis Estructurado

Elementos de un DFD
Entidades Externas
Algo o alguien que enva o recibe informacin. Marcan los lmites del sistema.

Notacin Nombre de Entidad Externa Ejemplos

Departamento de ventas

Jefe de Personal

Cliente

Proveedor

FI - UPV

20/02/2007

MTP

Tema 1: Introduccin al Anlisis Estructurado

Elementos de un DFD
Almacenes de datos
Depsito (computacional o no) donde se guardan datos para uso posterior. P.e. Un fichero, una Base de Datos, un archivador

Notacin

Nombre del almacn Ejemplos

Solicitudes de becas

Proveedores

Facturas pendientes

FI - UPV

MTP

Tema 1: Introduccin al Anlisis Estructurado

Elementos de un DFD
Procesos
Algo o alguien que transforma y/o manipula flujos de datos.

Notacin Nmero identificador del proceso

Ejemplos

n Nombre del proceso

1.2 Actualizar Inventario

5.3.1 Imprimir Expediente


FI - UPV

3 Calcular Retencin

1.1 Pedir Nombre de Usuario

20/02/2007

MTP

Tema 1: Introduccin al Anlisis Estructurado

Elementos de un DFD
Flujos de datos
Representan movimientos de informacin dentro del sistema. Pueden tener 2 o ms destinos simultneamente.

Notacin Nombre del flujo de datos Ejemplos


Informe de Ventas del mes

Nombre de usuario DNI Vlido

FI - UPV

MTP

Tema 1: Introduccin al Anlisis Estructurado

Elementos de un DFD
Conexiones permitidas entre elementos de un DFD

Entidades Entidades Procesos Almacenes X X

Procesos

Almacenes X X

FI - UPV

20/02/2007

MTP

Tema 1: Introduccin al Anlisis Estructurado

Descomposicin en niveles
La funcionalidad de un proceso complejo puede detallarse en un nuevo DFD de nivel inferior. Este procedimiento se conoce como explosin de procesos. El proceso explosionado se denomina proceso padre y el DFD resultante se denomina DFD hijo. Se produce a medida que se conocen ms actividades internas a dicho proceso. 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 ms de media pgina.

FI - UPV

MTP

Tema 1: Introduccin al Anlisis Estructurado

Descomposicin en niveles
Diagrama de Contexto (Nivel 0)
Es un resumen genrico 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 explosin de cada proceso padre del Nivel 1.

Niveles Adicionales (3, 4,...)


DFDs que representan la explosin de procesos contenidos en los DFDs del nivel inmediatamente anterior.

FI - UPV

20/02/2007

MTP

Tema 1: Introduccin al Anlisis Estructurado

Niveles de un DFD
Diagrama de Contexto
a c

e1

0
d

e2

DFD del Nivel 0

explosin de proceso 0 DFD 0


d1
b

3 2
a

DFD del Nivel 1

explosin de proceso 2 DFD 2


2.1
d a

2.2 2.4
FI - UPV

2.3 d2

DFD del Nivel 2

MTP

Tema 1: Introduccin al Anlisis Estructurado

Reglas para la Construccin de DFDs


Regla del Diagrama de Contexto:
Debe aparecer un nico proceso + entidades externas + flujos de entrada y salida al sistema. No aparecen almacenes de datos.

Regla de Nombre:
Todos los elementos de un DFD deben ir etiquetados mediante un nombre que los identifique. Excepcin: cuando un flujo de datos que accede a un almacn de datos no se etiqueta se supone que se transfiere la estructura (registro completo) del almacn.

Regla de la Numeracin:
Al explosionar el proceso padre n, se numerarn los procesos del DFD hijo como n.1, n.2, ...

FI - UPV

20/02/2007

MTP

Tema 1: Introduccin al Anlisis Estructurado

Reglas para la Construccin de DFDs


Regla del Balanceo:
Cuando un proceso se explosiona en un nuevo DFD, todas las entradas y salidas de dicho proceso deben estar presentes como entradas y salidas en dicho DFD. Las diferencias existentes deben ser contrastadas con la informacin del Diccionario de Datos.

Regla del Almacn:


Cuando se explosiona un proceso pueden aparecer almacenes de datos privados. Un almacn de datos aparece en el primer nivel en el que es usado por ms de un proceso. La excepcin a esta regla es que slo se use por un proceso que no se explosiona, en cuyo caso s que se incluye el almacn.

Regla de la Transaccin:
Dado un DFD, todos los procesos conectados entre s de forma directa o a travs de otros procesos forman una transaccin. Dos transacciones pueden estar conectadas entre s por almacenes de datos.

FI - UPV

MTP

Tema 1: Introduccin al Anlisis Estructurado

Reglas para la Construccin de DFDs


Otras normas de construccin de DFDs
No debe tenerse en cuenta aspectos de iniciacin o terminacin de funciones. Generalmente, no habr almacenes de datos en los que slo se escriba. Todos los procesos deben tener al menos un flujo de entrada y otro de salida. Los DFDs deben ser independientes de la implementacin. Del DFD obtenido por explosin pueden surgir nuevos flujos correspondientes al tratamiento de errores y excepciones.

FI - UPV

10

20/02/2007

MTP

Tema 1: Introduccin al Anlisis Estructurado

Guas para construir los DFDs


Estudio inicial:
entrevistas a usuarios. lectura de documentos relacionados con el rea en estudio.

Identificar:
alcance del sistema, informacin relevante, entidades externas.

Elaborar primer borrador de DFD 0:


identificando procesos, flujos, almacenes de datos y entidades externas.

Revisin con el equipo informtico:


verificar nombres adecuados en procesos y flujos de datos, verificar que cada proceso y almacn de datos tiene entradas.

FI - UPV

MTP

Tema 1: Introduccin al Anlisis Estructurado

Guas para construir los DFDs


Obtener un segundo borrador de DFD 0 incorporando posibles modificaciones. Revisin con el usuario para asegurar que el DFD refleja el sistema. Obtener confirmacin por parte del usuario. Elaborar DFDs de segundo nivel. Confirmar DFD 0 verificndolo con respecto a DFDs de segundo nivel. Verificar que los DFDs estn balanceados. Revisin final para validar DFD 0 y DFDs de ms bajo nivel.

FI - UPV

11

20/02/2007

MTP

Tema 1: Introduccin al Anlisis Estructurado

Diccionario de Datos
El Diccionario de Datos contiene la descripcin detallada de cada dato del sistema.
Existir una entrada por cada flujo de datos o almacn de datos que aparezca en los DFDs del sistema. Se especificar cada estructura de datos hasta el nivel ms elemental.

Cada dato debera tener una definicin que incluya:


Comentario que explique el significado en el contexto del sistema. Composicin, si no es un dato elemental. Valores posibles, si es un dato elemental.

FI - UPV

MTP

Tema 1: Introduccin al Anlisis Estructurado

Diccionario de Datos
Notacin = + () [] @ | est compuesto de concatenacin de datos dato opcional seleccin de una de las alternativas campo clave para un almacn de datos separador de alternativas en el constructor []

{ } repeticin * * comentario

FI - UPV

12

20/02/2007

MTP

Tema 1: Introduccin al Anlisis Estructurado

Diccionario de Datos
Ejemplos
nombre = ttulo_cortesa + primer_nombre + (segundo_nombre) + apellido_paterno + apellido_materno ttulo_cortesa = [Sr| Sra.|Don|Doa] primer_nombre = {caracter_permitido} segundo_nombre = {caracter_permitido} apellido_paterno = {caracter_permitido} apellido_materno = {caracter_permitido} caracter_permitido = [A-Z|a-z|0-9||-| ]
FI - UPV

MTP

Tema 1: Introduccin al Anlisis Estructurado

Diccionario de Datos
Ejemplos
estado_civil= [s|c|v|d|x|o] registro_empleado = * datos de un empleado * nombre_empleado + num_empleado + fecha_nacimiento + (num_telfono) + direccin + estado_civil + {nombre_hijo}

FI - UPV

13

20/02/2007

MTP

Tema 1: Introduccin al Anlisis Estructurado

Especificacin de procesos
Son descripciones de la lgica interna de los procesos de los DFDs de ltimo nivel. Definen qu debe hacerse para transformar las entradas en salidas. Herramientas:
lenguaje estructurado o pseudocdigo, rboles de decisin, tablas de decisin, diagramas de Nassi-Schneiderman, diagramas de flujo, descripcin narrativa.

FI - UPV

MTP

Tema 1: Introduccin al Anlisis Estructurado

Lenguaje Estructurado
Lenguaje estructurado
Implica utilizar el lenguaje natural con algunas restricciones. Equilibrio entre la precisin de un lenguaje formal y la informalidad y legibilidad del lenguaje natural. Una sentencia del lenguaje estructurado debera ser:
una ecuacin algebraica, p.e. X = (Y*Z)/(Q+14) una sentencia imperativa consistente de un verbo y un objeto. Combinacin de constructores estructurados.

FI - UPV

14

20/02/2007

MTP

Tema 1: Introduccin al Anlisis Estructurado

Lenguaje Estructurado
Verbos tipo:
obtener (aceptar o leer) poner (escribir) encontrar (buscar o localizar) mover reemplazar calcular borrar ordenar validar

Objetos:
elementos descritos en el Diccionario de Datos. datos locales al proceso.

Constructores estructurados (seleccin)


SI condicin sentencias-1 SI NO sentencias-2 FINSI

FI - UPV

MTP

Tema 1: Introduccin al Anlisis Estructurado

Lenguaje Estructurado
Ejemplo
Nombre Proceso: Verificar_Crdito
Id_cliente

Nmero

: 3.5

pedidos

Definicin : Decidir tratamiento de pedido_de_pago_previo pago para pedidos. Sin previo pago o si debe pedirse el pago al 3.5 pedidos_con_crdito_ok cliente. Verificar Crdito Entradas : pedidos historia_de_pagos
pedido_rechazado

historia_de_pagos

Salidas : pedido_de_pago_previo pedidos_con_credito_ok pedido_rechazado


FI - UPV

15

20/02/2007

MTP

Tema 1: Introduccin al Anlisis Estructurado

Lenguaje Estructurado
Lgica Interna:
INICIO LEER historia_de_pagos EN CASO CASO cliente es nuevo ENVIAR pedido_de_pago_previo CASO cliente es corriente (*promedio de dos pedidos mensuales*) OBTENER balance SI balance esta vencido ms de dos meses ENVIAR pedido_rechazado SI NO FIN_SI FINCASO FINPROCESO
FI - UPV

ENVIAR pedido_con_credito_ok

MTP

Tema 1: Introduccin al Anlisis Estructurado

rboles de decisin
Se recomienda el uso del rbol de decisin cuando el nmero de acciones es pequeo y no son posibles todas las combinaciones. primer orden ms de 12 das total rdenes < 100 descuento editor total rdenes >= 100 sin descuento editor
FI - UPV

hacer pedido

primer orden 12 das o menos

esperar

calcular descuento y hacer pedido hacer pedido

16

20/02/2007

MTP

Tema 1: Introduccin al Anlisis Estructurado

Tablas de decisin
Se utiliza la tabla de decisin cuando existen muchas combinaciones.

Combinaciones posibles
1 2 3 4 5 6 7 8

Condiciones

edad > 21 sexo peso > 60 Medicamento 1 Medicamento 2 Medicamento 3 Ninguno


FI - UPV

Y Y Y Y N N N N V V M M V V M M Y N Y N Y N Y N X X X X X X X X X X

Acciones

Asignacin de acciones Asignaci

MTP

Tema 1: Introduccin al Anlisis Estructurado

Ejercicio: Construir el Diagrama de Contexto


CLIENTES CLIENTES Tarifa_Descuentos 8. Escribir Imp. Neto Formateado Importe Neto Formateado Cod_cliente 6. 4. %_Descuento Calcular Ver Importe Descuento Neto Cliente No_existe Importe Artculo Importe Total 5. Calcular Importe Total Importe Neto 7. Formatear Importe Neto

Lnea Impresin

Lnea Pedido

1. Leer Pedido Cod_Artculo

Cantidad Importe Total

No_existe

Cod_Artculo 3. 2. Vlido Calcular Validar Importe Artculo Artculo

Artculos

Tarifa_Artculos FI - UPV

17

20/02/2007

MTP

Tema 1: Introduccin al Anlisis Estructurado

Ejercicio: Construir el Diagrama de Contexto

CLIENTES Lnea_pedido

Lnea_impresin
SISTEMA

FI - UPV

18

Das könnte Ihnen auch gefallen