Professional Documents
Culture Documents
Resumen
El 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
Esquema Introduccin Diagrama de estructuras Diseo arquitectnico Diseo de datos Aportaciones principales del tema Ejercicios Lecturas complementarias Referencias
1. Introduccin
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 diseo
Fundamentalmente de los DFDs a una descripcin de la estructura del programa El diseo estructurado est muy centrado en el diseo arquitectnico
Diagrama de estructuras
Introduccin (ii)
Diseo Procedimental
e Esp
de Da tos
cri pc in
Diseo de Interfaz
Diseo Arquitectnico
De s
DE R
DD
DTE
Especificacin de Control
Diseo de Datos
Modelo de diseo dise
Dr. Francisco J. Garca Pealvo
Modelo de anlisis an
Universidad de Salamanca Departamento de Informtica y Automtica
Lenguaje comprensible para el usuario/cliente Enfoque funcional Decisiones generales y abstractas (organizacin lgica) Arquitectura de procesos
Diseo (Cmo)
DFD
Esquema de BD y ficheros
Codificacin
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]
2. Diagrama de estructuras
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 organigrama
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo
10
11
Comunicacin de que se ha producido un error en el proceso Comunicacin de que se puede proceder a una operacin concreta
12
Iteracin
13
Mdulo predefinido
Nombre
Almacn de datos
Nombre
Dispositivo fsico
Dispositivo
14
Ejemplo
Mdulo Conexin intermodular Estructura repetitiva
pet _aceptada pet _aceptada
Gestionar pedidos
InformePrestamo
Consultar stock
pet _prestamo
Tratar peticin
pet _rechazada
Informar peticin
Rechazar peticin
Mdulo Predefinido
Estructura alternativa
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo
15
Tabla de interfaz (i) Representa los parmetros que se pasan los diferentes mdulos Apoyo a los diagramas de estructuras
Facilitan su compresin
16
Salida
No S
Uso
P M
Significado parmetro
Fecha-Nacimiento Edad
Nemotcnico
P M T C
Significa
El 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
17
3. Diseo arquitectnico
18
Estrategias de diseo
Contar 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 programa
1. 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 flujo
Flujo de transformacin
Anlisis de transformacin
Flujo de transaccin
Anlisis de transaccin
Estrategias de diseo
19
20
Representacin externa
Flujo de entrada
Informacin
Flujo de transformacin
Representacin interna
Tiempo
[Pressman, 1997]
21
1.1
2.1
22
Flujo de transaccin (i) El flujo de informacin est caracterizado a menudo por un nico elemento de datos denominado transaccin
Desencadena 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 transaccin
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo
23
2.1
2.2
Camino de accin 2
3.1
3.2
Camino de accin 3
4.1
4.2
24
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
25
Datos de entrada
Datos de entrada
Datos de salida
26
27
Aislar el centro de transformacin, especificando los lmites del flujo de llegada y de salida
El 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 interpretacin
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo
28
1.1
1.2
e
1.4
g
f h
1.5
1.3
1.6
i
1.7
Centro de la transformacin
29
30
1.1
1.2
e
1.4
g
f h
1.5
1.3
1.6
i
1.7
Salida
Cm
Ce
Ct
Cs
Dr. Francisco J. Garca Pealvo
31
32
Ce
c e
Ct
Cs
i
1.2
b
1.3
g g h f h i
1.7
j
c d
1.1
a
Leer
Leer
1.4
1.5
1.6
Escribir
33
Anlisis de transformacin (x) Refinamiento de la estructura del sistema utilizando medidas y guas (heursticas de diseo) para mejorar la calidad del software
Se puede aumentar o disminuir el nmero de mdulos
Producir 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
34
1.2
1.3
Ct
Cs
i
b d
e c
g g f f h h i
1.7
j
1.1
a
Leer
Leer
1.4
1.5
1.6
Escribir
35
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 transaccin
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo
36
Anlisis de transaccin (ii) Pasos similares a los pasos para el anlisis de transformacin
Revisin 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
37
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)
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 accin
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo
38
Cm
Ce
Q
C1
R
z Camino 3 Camino 2 Camino 1
C2
C3
39
Cm
b
Ce A Q C1
Leer a
C2 Q
C3 R
Escribir z
P R
z Camino 3 Camino 2 Camino 1 Leer b
40
4. Diseo de datos
41
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
42
Posibilidad 2
Crear una nica tabla que tenga por campos la unin de los campos de la generalizacin y de las especializaciones
Posibilidad 3
Crear una tabla con todos los datos comunes de la generalizacin, y otras tablas relacionadas con la primera, con los atributos especializados de cada especializacin
43
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
44
Normalizacin (ii)
Relaciones
45
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 valor
1FN 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 completa
VENTA (Cod_Pieza, Cod_Almacn, Cantidad, Direccin_Almacn)
VENTA (Cod_Pieza, Cod_Almacn, Cantidad) ALMACEN (Cod_Almacn, Direccin_Almacn)
46
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)
47
48
49
Aportaciones principales
Se 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 trata
En 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 mdulos
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo
50
5. Cuestiones y ejercicios
51
52
Almacn
Pedido Global
Almacn
Notificacin Pedido
Preveedor
Catlogo
Preveedor
Diagrama de contexto
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo
53
Documentos Almacn
Pedido Global
Notificacin Pedido
Diagrama de sistema
54
Corregido
Pedidos Corregidos
Pedido Rellenado
Catlogo Recibido
Catlogos
Catlogo Recibido
Mejor Oferta
Mejores Ofertas
DFD extendido
55
Histrico Ventas
Corregido
Pedidos Corregidos
Pedido Rellenado
Catlogo Recibido
Catlogos
Catlogo Recibido
Mejor Oferta
Mejores Ofertas
56
Recibir Documentacin
HVR PRR Catlogo
Recibir Catlogo
Leer Catlogo
HV
57
Recibir Documentacin
Cat
Recibir Catlogo
CR HVR
NP MO
PG
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.
58
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 tratamientos
El flujo principal de este sistema es de transaccin. As que se llevar a cabo un Anlisis de transaccin
59
Entrada
Usuario
Diagrama de contexto
2 Tratar Estudiante
Carnet Estudiante
Entrada
Carnet
Diagrama de sistema
Carnet Trabajador
3 Tratar Trabajador
Entrada
60
Carnet Estudiante
Entrada Estudiante
2.2 Numerar Taln Estudiante 2.3 Entregar Entrada Estudiante
Entrada
Carnet
Carnet Trabajador
Entrada Trabajador
Entrada
DFD extendido
61
Leer Carnet
Carnet estudiante
Tratar Estudiante
Carnet estudiante Carnet validado Entrada estudiante
Entrada estudiante
Tratar Trabajador
Carnet trabajador Carnet validado Entrada trabajador
Entrada trabajador
Coger Entrada
Coger Entrada
62
Leer Carnet
Tratar Estudiante
Carnet validado Entrada estudiante
Entrada estudiante
Tratar Trabajador
Carnet validado Entrada trabajador
Entrada trabajador
Carnet estudiante
Carnet trabajador
Coger Entrada
Coger Entrada
63
Cuestiones y ejercicios
Determinar 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
64
6. Lecturas complementarias
65
Lecturas complementarias
Ministerio de Administraciones Pblicas. MTRICA 3.0, Volmenes 13. Ministerio de Administraciones Pblicas, 2001
Es interesante destacar la parte de diseo estructurado de esta metodologa
Yourdon, E., Constantine, L. Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design. Prentice-Hall, 1979
Libro dedicado al diseo estructurado del software
66
7. Referencias
67
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