Tema 8 - Diseño estructurado

35
 Ingeniería del Software de I. T. I.S . Departamento de Informática y Automática Universidad de Salamanca Tema 8: Diseño estructurado Universidad de Salamanca – Departamento de Informática y Automática Ingeniería del Software Dr. Franc isco Jos é García Pe ñalvo ([email protected]) Tema 8: Diseño estructurado I.T.I.S. Fecha de última modificación: 15-12-2005  2 Universidad de Salamanca Departamento de Informática y Automática © Dr. Francisco J. García Peñalvo Ingeniería del Software Dis eño estructurado Resumen El objetivo principal de este tema es explicar la forma cor recta de pasar del análisis al diseño dentro del paradigma estr ucturado, haciendo hinc apié en el uso de los denominados diagramas de estructuras que provienen de los diagramas de flujo de datos, es decir, en el diseño arquitectón ico. Aunque también se hará un ligero repaso del paso de un modelo conceptual de datos a su correspondien te modelo lógico relacional. En el primero de los cuatro apartados principales en que se organiza el tema se hace una introducción al diseño estructurado. El segundo apartado se dedica al estudio de la técnica fundamental del diseño arquitectónico dentro del paradigma estructurado, los diagramas de estructura . En el tercero se estudian las estrategias de diseño, que son aquéllas que se emplean para la transformación del modelo func ional basado en DFDs en los diagramas de estructuras que constituyen el diseño arquitectónico. Por último, en el cuarto apartado se aborda el paso del modelo conceptual al modelo lógico de datos y la teoría de la normalización Resumen [Piat tini et al., 2004] Capítu lo 8 [Pressman, 2002] Capítulo 14 Bibliografía Diseño estructurado; Diagrama de estructuras; Tabla de interfaz; Estrategias de diseño; Análisis de transformación; Análisis de transacción; Centro de transformación; Centro de transacción; Modelo relacional; Normalización Descriptores

Transcript of Tema 8 - Diseño estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del SoftwareTema 8: Diseo estructurado

Dr. Francisco Jos Garca Pealvo ([email protected])3 I.T.I.S. Fecha de ltima modificacin: 15-12-2005 Universidad de Salamanca Departamento de Informtica y Automtica

Ingeniera del Software Diseo estructurado

ResumenEl objetivo principal de este tema es explicar la forma correcta de pasar del anlisis al diseo dentro del paradigma estructurado, haciendo hincapi en el uso de los denominados diagramas de estructuras que provienen de los diagramas de flujo de datos, es decir, en el diseo arquitectnico. Aunque tambin se har un ligero repaso del paso de un modelo conceptual de datos a su correspondiente modelo lgico relacional. En el primero de los cuatro apartados principales en que se organiza el tema se hace una introduccin al diseo estructurado. El segundo apartado se dedica al estudio de la tcnica fundamental del diseo arquitectnico dentro del paradigma estructurado, los diagramas de estructura. En el tercero se estudian las estrategias de diseo, que son aqullas que se emplean para la transformacin del modelo funcional basado en DFDs en los diagramas de estructuras que constituyen el diseo arquitectnico. Por ltimo, en el cuarto apartado se aborda el paso del modelo conceptual al modelo lgico de datos y la teora de la normalizacin Diseo estructurado; Diagrama de estructuras; Tabla de interfaz; Estrategias de diseo; Anlisis de transformacin; Anlisis de transaccin; Centro de transformacin; Centro de transaccin; Modelo relacional; Normalizacin [Piattini et al., 2004] Captulo 8 [Pressman, 2002] Captulo 14

Resumen

Descriptores Bibliografa

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

2

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Esquema Introduccin Diagrama de estructuras Diseo arquitectnico Diseo de datos Aportaciones principales del tema Ejercicios Lecturas complementarias Referencias

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

3

Ingeniera del Software Diseo estructurado

1. Introduccin

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

4

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Introduccin (i) Objetivos principalesDesarrollo de una estructura modular de programa Representacin de las relaciones entre mdulos

Combinacin de la estructura de programa y de la estructura de datos Posibilita el establecimiento de la transicin de los modelos del anlisis a los modelos del diseoFundamentalmente de los DFDs a una descripcin de la estructura del programa El diseo estructurado est muy centrado en el diseo arquitectnico

Diagrama de estructuras

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

5

Ingeniera del Software Diseo estructurado

Introduccin (ii)

Diseo Procedimental

e Esp

de Da tos

cri pc in

Diseo de InterfazDiseo Arquitectnico

o ces Pro de i n cac cifi FD

D

De s

DE R

DDDTE

s

Especificacin de Control

Diseo de DatosModelo de diseo dise Dr. Francisco J. Garca Pealvo

Modelo de anlisis anUniversidad de Salamanca Departamento de Informtica y Automtica

6

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Relacin entre las actividades de diseoERS E-REnfoque de datos Diseo de alto nivel (arquitectnico) Diseo de bajo nivel (detallado)Anlisis (Qu)

Lenguaje comprensible para el usuario/cliente Enfoque funcional Decisiones generales y abstractas (organizacin lgica) Arquitectura de procesosDiseo (Cmo)

DFD

Modelo lgico de datos

Modelo fsico de datos

Estructura detallada: programas y mdulos

Decisiones concretas y especficas (optimizacin y rendimiento)

Esquema de BD y ficheros

Cuadernos de carga Implementacin

Codificacin

Lenguaje comprensible por la mquina

[Piattini et al., 2004]Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo

7

Ingeniera del Software Diseo estructurado

Definicin de diseo estructurado

Es el arte de disear los componentes de un sistema y la relacin entre ellos de la mejor forma posible [Yourdon y Constantine, 1979] Es el proceso de decidir la forma en la cual componentes interconectados resolvern un problema bien especificado [Yourdon y Constantine, 1979]

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

8

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

2. Diagrama de estructuras

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

9

Ingeniera del Software Diseo estructurado

Introduccin Tcnica tambin conocida comoStructure chartDiagrama de Estructura de Cuadros de Constantine (Mtrica v3) [MAP, 2001]

Tcnica que permite definir cundo, bajo qu condiciones y cuntas veces se tienen que realizar los tratamientos identificados en los procesos de un DFD [MAP, 1995] Los datos se contemplan como la interfaz entre tratamientos sucesivos Ofrece una visin de arquitectura de sistemas Paso de anlisis a diseo ms sencillo cuanto mayor sea el nivel de detalle al que se haya llegado en los DFD Un diagrama de estructuras no es un organigramaUniversidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo

10

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Elementos de un diagrama de estructuras MduloRepresenta una rutina, subprograma o programa Se representa mediante un rectngulo con el nombre del mdulo

Conexiones entre mdulosSe representan mediante flechas

Comunicacin entre mdulosLos mdulos pueden comunicarse entre s por medio de estructuras de datos o de controlcontrol datos

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

11

Ingeniera del Software Diseo estructurado

Comunicacin entre mdulosControles o flagsPaso de control entre mdulosUn mdulo comunica a otro mdulo que ha terminado su proceso y traspasa al mdulo el control del sistema

Comunicacin de que se ha producido un error en el proceso Comunicacin de que se puede proceder a una operacin concreta

Diferencias entre datos y flagsLos datos son la informacin compartida por los mdulos, tanto por el llamado como por el que llama Algo esencial es que los datos se van a procesar, mientras que los controles no Los controles van a indicar al mdulo que llama la terminacin, o error del mdulo llamado Los controles deben ir siempre en sentido ascendente Los datos tienen gran importancia para el sistema en s mismo, hacia exterior. Los controles tienen importancia en la comunicacin de informacin en el interior; son los que sincronizan la operativa de los mdulosUniversidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo

12

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Notacin (i) Secuencia

Iteracin

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

13

Ingeniera del Software Diseo estructurado

Notacin (ii) Decisin

Mdulo predefinidoNombre

Almacn de datosNombre

Dispositivo fsicoDispositivo

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

14

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

EjemploMdulo Conexin intermodular Estructura repetitivapet _aceptada pet _aceptada

Gestionar pedidos

Nombre del mdulo DatosInformePrestamo

InformePrestamo

Consultar stockpet _prestamo

Tratar peticinpet _rechazada

Informar peticin

Leer peticin prstamo

Rechazar peticin

Mdulo Predefinido

Estructura alternativaUniversidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo

15

Ingeniera del Software Diseo estructurado

Tabla de interfaz (i) Representa los parmetros que se pasan los diferentes mdulos Apoyo a los diagramas de estructurasFacilitan su compresin

Recoge para cada llamadaEl mdulo llamado Cada parmetro formal Si el parmetro es de entrada (marcando la columna correspondiente) Si el parmetro es de salida (marcando la columna correspondiente) El uso de cada parmetro El significado de cada parmetro

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

16

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Tabla de interfaz (ii)Mdulo Parmetro Entrada formalf(x, y) x y S No

SalidaNo S

UsoP M

Significado parmetroFecha-Nacimiento Edad

NemotcnicoP M T C

SignificaEl parmetro es PROCESADO: a = b + 2 El parmetro es MODIFICADO: a = 3 + b El parmetro es TRANSFERIDO por el mdulo llamado a otro mdulo que ste llama, sin modificar su valor El parmetro es usado como una VARIABLE DE CONTROL, quizs para actuar como ndice conmutador, como un valor de un flag o para la especificacin de una funcin que es usada por el mdulo llamado El parmetro es TRANSFERIDO a otro mdulo y es MODIFICADO en este segundo mdulo Dr. Francisco J. Garca Pealvo

I

Universidad de Salamanca Departamento de Informtica y Automtica

17

Ingeniera del Software Diseo estructurado

3. Diseo arquitectnico

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

18

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Estrategias de diseoContar exclusivamente con un conjunto de principios y reglas convertira el proceso de diseo en una tarea tediosa Estrategias para convertir un DFD en una estructura de programa1. 2. 3. 4. 5.

Se Se Se Se Se

establece el tipo de flujo de informacin indican los lmites del flujo convierte el DFD en la estructura del programa define la jerarqua de control descomponindola mediante particiones refina la estructura resultante usando medidas y heursticas de diseo

Tipos de flujoFlujo de transformacinAnlisis de transformacin

Flujo de transaccinAnlisis de transaccin

Estrategias de diseo

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

19

Ingeniera del Software Diseo estructurado

Flujo de transformacin (i) Flujo de transformacinLa informacin entra en el sistema mediante caminos que transforman los datos externos a un formato interno y se identifica como flujo de entrada En el interior del software se produce una transformacin La informacin entrante se pasa a travs de un centro de transformacin y empieza a moverse a lo largo de caminos que ahora conducen hacia el exterior del software Los datos que se mueven a lo largo de estos caminos se denominan flujos de salida El flujo general de datos ocurre de manera secuencial y sigue uno, o unos pocos, caminos directos

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

20

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Flujo de transformacin (ii)Flujo de salida

Representacin externa

Flujo de entrada

Informacin

Flujo de transformacin

Representacin interna

Tiempo[Pressman, 1997]

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

21

Ingeniera del Software Diseo estructurado

Flujo de transformacin (iii)

1.1

1.2 3 2.2 4.1 4.2Flujo de entrada Flujo de transformacin Flujo de salida

2.1

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

22

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Flujo de transaccin (i) El flujo de informacin est caracterizado a menudo por un nico elemento de datos denominado transaccinDesencadena otros flujos de informacin a lo largo de los muchos caminos posibles

El flujo de transaccin se caracteriza por datos que se mueven a lo largo de un camino de entrada que convierte la informacin del mundo exterior en una transaccin La transaccin se evala y, basndose en ese valor, se inicia el flujo a lo largo de uno de muchos caminos de accin El centro del flujo de informacin del que parten los caminos de accin se denomina centro de la transaccinUniversidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo

23

Ingeniera del Software Diseo estructurado

Flujo de transaccin (ii)Camino de accin 1 Centro de Transaccin

2.1

2.2Camino de accin 2

1

3.1

3.2Camino de accin 3

4.1

4.2

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

24

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Anlisis de transformacin (i) Conjunto de pasos de diseo que permiten convertir un DFD obtenido en la fase de anlisis, con caractersticas de flujo de transformacin, en una estructura (o plantilla) predefinida del sistema Un DFD con caractersticas de transformacin es aqul en que se pueden distinguir tres zonas Flujo de llegada Flujo de transformacin o centro de transformacin Flujo de salida

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

25

Ingeniera del Software Diseo estructurado

Anlisis de transformacin (ii)

Datos de entrada

Informacin de salida Sentido descendente

Datos de entrada

Proceso de datos Informacin de entrada Sentido ascendente Nuevos datos

Datos de salida

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

26

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Anlisis de transformacin (iii) Pasos del anlisis de transformacinRevisin del modelo fundamental del sistema Determinar si el DFD tiene caractersticas de transformacin o de transaccin Aislar el centro de transformacin, especificando los lmites del flujo de llegada y de salida Realizar el primer nivel de factorizacin del diagrama de estructuras Elaboracin del segundo nivel de factorizacin Refinamiento de la estructura del sistema utilizando medidas y guas (heursticas de diseo) para mejorar la calidad del software Asegurarse del trabajo realizado por el diseo obtenido

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

27

Ingeniera del Software Diseo estructurado

Anlisis de transformacin (iv)Revisin del modelo fundamental del sistemaDFD de nivel 0 y la informacin que lo soporta Evaluacin de la especificacin del sistema y de la especificacin de requisitos del software Mnimo tres niveles de profundidad (diagrama de contexto, diagrama de sistema y diagramas de nivel 2) en el anlisis estructurado para poder aplicar el diseo estructurado con el nivel suficiente detalle

Determinar si el DFD tiene caractersticas de transformacin o de transaccinEl flujo de informacin dentro del sistema puede representarse siempre como transformacin

Aislar el centro de transformacin, especificando los lmites del flujo de llegada y de salidaEl centro de transformacin es la parte del DFD que contiene las funciones esenciales del sistema, independientemente de la implementacin particular de la entrada y de la salida Hay que especificar los lmites del flujo de llegada y salida Los lmites del flujo de llegada y salida estn abiertos a interpretacinUniversidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo

28

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Anlisis de transformacin (v)

a

1.1

b

1.2e

c

1.4g

f h

1.5

d

1.3

1.6i

1.7Centro de la transformacin

j

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

29

Ingeniera del Software Diseo estructurado

Anlisis de transformacin (vi) Realizar el primer nivel de factorizacin de diagrama de estructurasEl propsito del anlisis de transformacin es convertir un DFD en un diagrama de estructuras para este tipo de operacin Esta traduccin es necesaria, pues el diagrama de estructuras describe una estructura jerrquica y el DFD no La estructura del sistema representa una distribucin descendente del control Da como resultado una estructura del sistema en la que los mdulos de nivel superior toman las decisiones de ejecucin y los mdulos de nivel inferior ejecutan la mayora del trabajo de entrada, de clculo y de salida Mdulos de nivel intermedio ejecutan algn control y realizan cantidades de trabajo moderadas

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

30

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Anlisis de transformacin (vii)Entrada a Transformacin

1.1

b

1.2e

c

1.4g

f h

1.5

d

1.3

1.6i

1.7Salida

Primer nivel de factorizacin

Cm

j

Ce

Ct

Cs Dr. Francisco J. Garca Pealvo

Universidad de Salamanca Departamento de Informtica y Automtica

31

Ingeniera del Software Diseo estructurado

Anlisis de transformacin (viii) Elaboracin del segundo nivel de factorizacinConversin de las transformaciones de cada proceso de un DFD en los mdulos correspondientes del diagrama de estructuras Se comienza en el lmite del centro de transformacin, dirigindose hacia fuera a lo largo de los caminos de llegada y salida Las transformaciones (procesos del DFD) se convierten en mdulos subordinados de la estructura Ser necesario la introduccin de mdulos predefinidos que proporcionen las diferentes entradas y/o salidas que necesita y/o genera el sistema

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

32

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Anlisis de transformacin (ix)Cme c e c i i

Cec e

Ct

Csi

1.2b

1.3

e

g g h f h i

1.7j

c d

f

1.1a

Leer

Leer

1.4

1.5

1.6

Escribir

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

33

Ingeniera del Software Diseo estructurado

Anlisis de transformacin (x) Refinamiento de la estructura del sistema utilizando medidas y guas (heursticas de diseo) para mejorar la calidad del softwareSe puede aumentar o disminuir el nmero de mdulosProducir una factorizacin lgica que tenga una buena calidad y una estructura que se implemente sin dificultad, se pruebe sin confusin y se mantenga sin problemas

Los refinamientos estn dictados por consideraciones prcticas y de sentido comn, adems de por los requisitos del software

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

34

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Anlisis de transformacin (xi)Cmc e e c i i

1.2

1.3

Ct

Csi

b d

e c

g g f f h h i

1.7j

1.1a

Leer

Leer

1.4

1.5

1.6

Escribir

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

35

Ingeniera del Software Diseo estructurado

Anlisis de transaccin (i) Un solo elemento de datos determina caminos alternativos por los que puede transitar el flujo de informacin Dependiendo del camino tomado vara la funcin realizada sobre el dato tratado El elemento de datos se denomina transaccin Este elemento desencadena otro flujo de datos a lo largo de uno de los muchos caminos El centro del flujo de informacin desde el que emanan muchos caminos de accin, exclusivos entre s, se llama centro de transaccin El flujo de informacin a lo largo de un camino de accin puede ser tanto de transformacin como de transaccinUniversidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo

36

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Anlisis de transaccin (ii) Pasos similares a los pasos para el anlisis de transformacinRevisin del modelo fundamental del sistema Determinar si el DFD tiene caractersticas de transformacin o de transaccin Aislar el centro de transaccin y las caractersticas del flujo de cada camino de accin Realizar el primer nivel de factorizacin del diagrama de estructuras Elaboracin del segundo nivel de factorizacin Refinamiento de la estructura del sistema utilizando medidas y guas (heursticas de diseo) para mejorar la calidad del software Asegurarse del trabajo realizado por el diseo obtenido

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

37

Ingeniera del Software Diseo estructurado

Anlisis de transaccin (iii)Identificacin del centro de transaccin y la caractersticas del flujo de cada camino de accinEl centro de transaccin est ligado al origen de varios caminos de informacin que fluyen radialmente de l Normalmente, el proceso del DFD que corresponde a la transaccin no se refleja en dicho DFDConocer bien el sistema para darse cuenta de que se tienen entradas al sistema que son exclusivas entre s

El camino de llegada y todos los caminos de accin debe ser aislados tambin Cada camino de accin debe evaluarse en funcin de las caractersticas individuales de flujo (tipo transformacin o tipo transaccin)

Realizar el primer corte del diagrama de estructurasEl flujo de transacciones se convierte en una estructura de programa formada por una bifurcacin de entrada y una bifurcacin de salidaPara el caso de la entrada se hace igual que en el anlisis de transformacin Para el caso de la salida, se aade un mdulo controlador por cada camino de flujo de accin

El mdulo que se corresponde con el centro de transaccin refleja la exclusividad de los diferentes caminos por medio de un rombo del cual parten los diferentes mdulos controladores de cada camino de accinUniversidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo

38

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Anlisis de transaccin (iv)a

A

b

Cm

D

P

CeQ

D

C1Rz Camino 3 Camino 2 Camino 1

C2

C3

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

39

Ingeniera del Software Diseo estructurado

Anlisis de transaccin (v) Realizar el segundo nivel de factorizacinSe desarrolla cada camino de accin dependiendo de su tipo de flujoa

A

Cmb

D

P

Ce A Q C1Leer a

D

C2 Q

C3 REscribir z

P Rz Camino 3 Camino 2 Camino 1 Leer b

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

40

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

4. Diseo de datos

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

41

Ingeniera del Software Diseo estructurado

Paso del diagrama E/R al modelo relacional (i) Todo tipo de entidad se convierte en una relacin Todo tipo de asociacin (relacin) N:N se transforma en una relacin Todo tipo de asociacin (relacin) 1:N se traduce en el fenmeno de propagacin de clave o se crea una nueva relacin Todo tipo de asociacin (relacin) 1:1 se traduce en el fenmeno de propagacin de clave o se crea una nueva relacin. Se considera una particularizacin de 1:N

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

42

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Paso del diagrama E/R al modelo relacional (ii) Relaciones ISAPosibilidad 1El conjunto de entidades correspondiente a la generalizacin se modela como una tabla en la que cada campo se corresponde con un atributo de dicho conjunto de entidades El conjunto de entidades correspondiente a las especializaciones toma sus atributos de la unin de los atributos de la generalizacin con sus propios atributos

Posibilidad 2Crear una nica tabla que tenga por campos la unin de los campos de la generalizacin y de las especializaciones

Posibilidad 3Crear una tabla con todos los datos comunes de la generalizacin, y otras tablas relacionadas con la primera, con los atributos especializados de cada especializacin

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

43

Ingeniera del Software Diseo estructurado

Normalizacin (i)El procedimiento de normalizacin es la reduccin sucesiva de un conjunto dado de relaciones a una forma ms deseable [Date, 1995] Difundida Aplicable en un plano conceptual y en un plano lgico Ayuda a los diseadores a prevenir problemas de redundancias y anomalas de modificacin, insercin o borrado en los esquemas de datos Penaliza la recuperacin de datos Consiste en ir descomponiendo los registros en otros de menor tamao de forma que satisfagan una serie de restricciones especficas que definen lo que se conoce como forma normal

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

44

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Normalizacin (ii)

Relaciones

1NF 2NF 3NF BCNF 4NF 5NF DKNF

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

45

Ingeniera del Software Diseo estructurado

Normalizacin (iii) Se dice que una relacin est en primera forma normal (1FN) si no existen en ella grupos repetitivos, es decir, si cada atributo tiene un nico valor1FN obliga que todos los campos sean atmicos

Se dice que una relacin est en segunda forma normal (2FN) cuando, adems de estar en 1FN, todos los campos que no formen parte de ninguna clave candidata suministran informacin acerca de la clave completaVENTA (Cod_Pieza, Cod_Almacn, Cantidad, Direccin_Almacn)VENTA (Cod_Pieza, Cod_Almacn, Cantidad) ALMACEN (Cod_Almacn, Direccin_Almacn)

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

46

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Normalizacin (iv) Se dice que una relacin est en tercera forma normal (3FN) cuando, adems de estar en 2FN, los campos que no forman parte de la clave candidata deben facilitar informacin slo acerca de la(s) clave(s) candidata(s), y no acerca de otros campos Los campos del registro deben ser mutuamente independientes y completamente dependientes de la(s) clave(s) candidatas EMPLEADO (Cod_Empleado, Cod_Dpto, Nombre_Dpto)EMPLEADO (Cod_Empleado,Cod_Dpto) DEPARTAMENTO (Cod_Dpto, Nombre_Dpto)

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

47

Ingeniera del Software Diseo estructurado

Normalizacin (v) La 3FN falla porHay varias claves candidatas Esas claves candidatas son compuestas Las claves compuestas se solapan, es decir, tienen por lo menos un atributo en comn

Forma normal Boyce/Codd (FNBC)Formal normal Boyce/Codd si y slo si todo determinante es una clave candidataUn determinante es atributo del cual depende funcionalmente por completo algn otro atributo

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

48

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

4. Aportaciones principales del temaUniversidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo

49

Ingeniera del Software Diseo estructurado

Aportaciones principalesSe distinguen dos tipos de flujos de datos: el flujo de transformacin y el flujo de transaccin El flujo de transformacin reproduce fielmente el patrn entrada/proceso/salida, de manera que las decisiones las toman los mdulos de mbito superior y las operaciones se llevan a cabo por los mdulos de orden inferior El flujo de transaccin establece dos mdulos principales, uno que analiza la transaccin a ser tratada y otro que encamina hacia el mdulo que la trataEn estos sistemas se tienen diferentes caminos de accin, independientes los unos de los otros, de forma que la transaccin servir de elemento discriminador para determinar el camino a elegir

La existencia de dos tipos de flujos de datos origina dos estrategias de diseo, la primera de ellas, el anlisis de transformacin, se aplica en aquellos sistemas donde la caracterstica fundamental sea de flujo de trasformacin, mientras que la segunda, el anlisis de la transaccin, se aplica en los sistemas cuya caracterstica principal sea de transaccin Llama la atencin lo artificial del proceso seguido para pasar de un DFD a diagrama de estructuras, que obliga a cambiar de modelo subyacente en la tcnica de modelado: de los procesos del DFD se pasa a la jerarqua de mdulosUniversidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo

50

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

5. Cuestiones y ejercicios

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

51

Ingeniera del Software Diseo estructurado

Ejercicios resueltos (i)Se va a desarrollar una aplicacin que apoye a la gestin de una central de compras que permita hacer pedidos globales por temporadas (juguetes en Navidad, material de acampada en verano...). La funcin de la central de compras consiste en obtener, a partir del catlogo de los proveedores y del archivo histrico de ventas de los almacenes, el pedido global teniendo en cuenta los pedidos individuales (pedido rellenado). No obstante, la central de compras puede modificar al alta o a la baja la cantidad pedida por almacn en funcin de una serie de factores (umbrales de descuento por diversas cantidades...), notificndoselo a cada almacn (notificacin de pedido) a la vez que comunica el pedido global (cantidades definitivas de los productos) de todos los almacenes a cada proveedor seleccionadoEl flujo principal de este sistema es de transformacin. As que se llevar a cabo un Anlisis de transformacinUniversidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo

52

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Ejercicios resueltos (ii) Se tiene el siguiente diccionario de datosDocumentos Almacn = Histrico de Ventas + Pedido Rellenado Pedido Global = Notificacin PedidoDocumentos Almacn0 Gestionar Central de Compras

Almacn

Pedido Global

Almacn

Notificacin PedidoPreveedor

Catlogo

Preveedor

Diagrama de contextoUniversidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo

53

Ingeniera del Software Diseo estructurado

Ejercicios resueltos (iii)Mejores Ofertas

Documentos Almacn

1 Seleccionar Mejores Ofertas

2 Hacer Pedidos Segn Ofertas

Pedido Global

Notificacin Pedido

Diagrama de sistema

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

54

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Ejercicios resueltos (iv)Histrico Ventas2.1 Recibir histrico ventas

Histrico Ventas RecibidoHistrico

Histrico Ventas Recibido

2.3 Ajustar pedidos almacn

CorregidoPedidos Corregidos

Corregido Pedido Rellenado RecibidoPedidos 2.4 Hacer pedido global

Pedido Rellenado

2.2 Recibir Pedidos Rellenados

Pedido Rellenado Recibido Pedido Global

Mejor Oferta Notificacin Pedido Catlogo1.1 Recibir Catlogo

Catlogo Recibido

Catlogos

Catlogo Recibido

1.2 Calcular mejores ofertas

Mejor OfertaMejores Ofertas

DFD extendido

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

55

Ingeniera del Software Diseo estructurado

Ejercicios resueltos (v)

Histrico Ventas

2.1 Recibir histrico ventas

Histrico Ventas RecibidoHistrico

Histrico Ventas Recibido

2.3 Ajustar pedidos almacn

CorregidoPedidos Corregidos

Corregido Pedido Rellenado RecibidoPedidos 2.4 Hacer pedido global

Pedido Rellenado

2.2 Recibir Pedidos Rellenados

Pedido Rellenado Recibido Pedido Global

Mejor Oferta Notificacin Pedido Catlogo1.1 Recibir Catlogo

Catlogo Recibido

Catlogos

Catlogo Recibido

1.2 Calcular mejores ofertas

Mejor OfertaMejores Ofertas

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

56

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Ejercicios resueltos (vi)Gestionar Central de ComprasPRR HVR CR PRR HVR Corregido CR MO MO Corregido

Recibir DocumentacinHVR PRR Catlogo

Recibir Catlogo

Ajustar Pedidos Almacn

Calcular Mejores OfertasNotificacin Pedido

Hacer Pedido GlobalPedido Global

Recibir Histrico Ventas

Recibir Pedidos RellenadosPR

Leer Catlogo

Imprimir Notificacin Pedido

Imprimir Pedido Global

HV

Leer Histrico Ventas

Leer Pedidos Rellenados

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

57

Ingeniera del Software Diseo estructurado

Ejercicios resueltos (vii)Gestionar Central de Compras

Recibir DocumentacinCat

Recibir CatlogoCR HVR

Ajustar Pedidos AlmacnCorregido PRR

Calcular Mejores Ofertas

Hacer Pedido Global

NP MO

PG

Recibir Histrico VentasHV HVR

Recibir Pedidos RellenadosPR PRR

Leer Cat.

Escr. Cat.

Leer H

Leer. Cat.

Escr. PCo.MO CR

Impr. NP

Impr. PG

Corregido

Leer HV

Escr.H

Leer PR

Escr. P

Leer Cat.

E/L MO

Leer PCo.

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

58

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Ejercicios resueltos (viii) La gestin de una determinada piscina municipal ha decidido permitir el acceso gratuito a los recintos de la piscina a los usuarios que sean estudiantes o trabajadores locales. Dependiendo del tipo de usuario (estudiante o trabajador) se realizarn diferentes tratamientosEl flujo principal de este sistema es de transaccin. As que se llevar a cabo un Anlisis de transaccin

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

59

Ingeniera del Software Diseo estructurado

Ejercicios resueltos (ix)CarnetUsuario 0 Gestionar Piscina

EntradaUsuario

Diagrama de contexto2 Tratar Estudiante

Carnet Estudiante

Entrada

Carnet

1 Seleccionar Tipo Carnet

Diagrama de sistemaCarnet Trabajador3 Tratar Trabajador

Entrada

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

60

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Ejercicios resueltos (x)

Carnet Estudiante

2.1 Comprobar Carnet Estudiante

Carnet Estudiante Vlido

Entrada Estudiante2.2 Numerar Taln Estudiante 2.3 Entregar Entrada Estudiante

Entrada

Carnet

1 Seleccionar Tipo Carnet

Carnet Trabajador

3.1 Comprobar Carnet Trabajador

Carnet Trabajador Vlido

3.2 Numerar Taln Trabajador

Entrada Trabajador

3.3 Entregar Entrada Trabajador

Entrada

DFD extendido

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

61

Ingeniera del Software Diseo estructurado

Ejercicios resueltos (xi)Gestionar PiscinaCarnet Carnet

Leer CarnetCarnet estudiante

Seleccionar Tipo CarnetCarnet trabajador

Tratar Estudiante Tratar Estudiante

Tratar Trabajador Tratar Trabajador

Tratar EstudianteCarnet estudiante Carnet validado Entrada estudiante

Entrada estudiante

Tratar TrabajadorCarnet trabajador Carnet validado Entrada trabajador

Entrada trabajador

Comprobar Carnet Estudiante

Numerar Taln Estudiante

Entregar Entrada EstudianteEntrada

Comprobar Carnet Trabajador

Numerar Taln Trabajador

Entregar Entrada TrabajadorEntrada

Coger Entrada

Coger Entrada

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

62

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

Ejercicios resueltos (xii)Gestionar PiscinaTipo Carnet Tipo Carnet

Leer Carnet

Seleccionar Tipo Carnet

Tratar Estudiante Tratar Estudiante

Tratar Trabajador Tratar Trabajador

Tratar EstudianteCarnet validado Entrada estudiante

Entrada estudiante

Tratar TrabajadorCarnet validado Entrada trabajador

Entrada trabajador

Comprobar Carnet Estudiante

Numerar Taln Estudiante

Entregar Entrada EstudianteEntrada

Comprobar Carnet Trabajador

Numerar Taln Trabajador

Entregar Entrada TrabajadorEntrada

Carnet estudiante

Carnet trabajador

Leer Carnet Estudiante

Coger Entrada

Leer Carnet Trabajador

Coger Entrada

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

63

Ingeniera del Software Diseo estructurado

Cuestiones y ejerciciosDeterminar cul es el flujo dominante en los ejercicios de modelado de flujos de datos del Tema 5 Realizar los diagramas de estructuras correspondientes a los DFDs de los ejercicios de modelado funcional del Tema 5

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

64

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

6. Lecturas complementarias

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

65

Ingeniera del Software Diseo estructurado

Lecturas complementariasMinisterio de Administraciones Pblicas. MTRICA 3.0, Volmenes 13. Ministerio de Administraciones Pblicas, 2001Es interesante destacar la parte de diseo estructurado de esta metodologa

Miguel, A. de, Piattini, M. Fundamentos y Modelos de Bases de Datos. Ra-ma, 1997Libro clsico de diseo de bases de datos, en el que se puede seguir el paso al modelo relacional de un diagrama entidad-relacin, as como la teora de la normalizacin

Yourdon, E., Constantine, L. Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design. Prentice-Hall, 1979Libro dedicado al diseo estructurado del software

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

66

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del Software Diseo estructurado

7. Referencias

Universidad de Salamanca Departamento de Informtica y Automtica

Dr. Francisco J. Garca Pealvo

67

Ingeniera del Software Diseo estructurado

Referencias [Date, 1995] Date, C. J. An Introduction to Database Systems. 6th Edition, Addison-Wesley, 1995 [MAP, 1995] Ministerio de las Administraciones Pblicas. Metodologa Mtrica 2.1. Volmenes 1-3. Editorial Tecnos, 1995 [MAP, 2001] Ministerio de Administraciones Pblicas. MTRICA 3.0, Volmenes 1-3. Ministerio de Administraciones Pblicas, 2001 [Piattini et al., 2004] Piattini, M., Calvo-Manzano, J. A., Cervera, J., Fernndez, L. Anlisis y Diseo Detallado de Aplicaciones Informticas de Gestin. Ra-ma, 2004 [Pressman, 1997] Pressman, R. S. Software Engineering: A Practitioners Approach. 4th Edition. McGraw Hill, 1997 Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. 68 [Yourdon y Constantine, 1979] Yourdon, E.,Garca Pealvo

Tema 8: Diseo estructurado

Ingeniera del Software 3 de I.T.I.S. Departamento de Informtica y Automtica Universidad de Salamanca

Ingeniera del SoftwareTema 8: Diseo estructurado

Dr. Francisco Jos Garca Pealvo ([email protected])3 I.T.I.S. Fecha de ltima modificacin: 15-12-2005 Universidad de Salamanca Departamento de Informtica y Automtica

Tema 8: Diseo estructurado