Title: Tema 4' Diseo Estructurado
1Fundamentos de Ingeniería del Software
- Tema 4. Diseño Estructurado.
Asignatura Fundamentos de Ingeniería del
Software Titulación Ingeniera Técnica de
Informática de Gestión Curso Académico
2004-2005 Curso 3º Cuatrimetres
Primero Créditos 6(33) Página Web
dis.um.es/lopezquesada Profesor Juan Antonio
López Quesada Departamento Informática y
Sistemas
2Tema 4. Diseño Estructurado. Índice de
Contenidos.
- El proceso de diseño.
- Diseño estructurado.
- Diagramas de estructura.
- Estrategias de diseño
- Análisis de transformaciones.
- Análisis de transacciones.
3Tema 4. Diseño Estructurado. Bibliografía.
- (Piattini et al. 96) Capítulo 8. Apartado 8.1.
- (Molina et al. 97) A. Molina, P. Letelier,
P.Sánchez, J. Sánchez. Metodología y Tecnología
de la Programación. Servicio de Publicaciones.
UPV. 1997. - (Pressman 01) Capítulo 13 y aptdos. 14.5 a 14.8.
- (MAP 95) Ministerio de Administraciones Públicas.
Guía de Técnicas de Métrica v.2.1. 1995. - (MAP 01) Guía de técnicas y prácticas de Métrica
v.3. http//www.map.es/csi/metrica3 - (Page-Jones 88) M. Page-Jones. The Practical
Guide to Structured Systems Design. Yourdon
Press. 1988. - Métrica 3 Diseño del Sistema de Información
(Proceso DSI).
4- Tema 4. Diseño Estructurado. Métrica 3 (II).
Estructura
5- Tema 4. Diseño Estructurado. Métrica 3 (II). DSI
- Objetivo especificación de la construcción del
sistema - Definición de la arquitectura del sistema
- arquitecturas multinivel (p.ej. C/S)
- Definición del entorno tecnológico
- Especificación detallada de los componentes del
SI - Especificación técnica del plan de pruebas
- Definición de los requisitos de implantación
- Diseño de los procedimientos de migración y carga
inicial (cuando proceda)
6- Tema 4. Diseño Estructurado.DSI.
- Diseño del Sistema de Información (Proceso
DSI)
7- Tema 4. Diseño Estructurado. Métrica 3 (II). DSI
- DSI 5.- Diseño de la Arquitectura de módulos del
Sistema
- Objetivo para cada uno de los subsistemas se
diseña la estructura modular de los procesos que
lo integran. - Pto. de partida modelo de procesos obtenido en
ASI y catálogo de requisitos. - Técnica Diagrama de Estructura de Cuadros de
Constantine (DEC) - Se realiza el diseño detallado de la interfaz de
usuario, de pantalla e impresa. - El interfaz de usuario debe corresponderse con la
estructura modular.
8 Visión Panorámica
9- Tema 4. Diseño Estructurado.
- El Proceso de Diseño.
- El proceso de aplicar distintas técnicas y
principios con el propósito de definir un
dispositivo, un proceso o un sistema con
suficiente detalle como para permitir su
realización física. - Proceso iterativo a través del cual se traducen
los requisitos en una representación del software.
10- Tema 4. Diseño Estructurado.
- El Proceso de Diseño.
Análisis (Qué) Lenguaje comprensible por el
usuario
E-R
DFD
Organización lógica
Enfoque funcional
Diseño de alto nivel (arquitectónico)
Enfoque de datos
Arquitectura de procesos Estructura detallada
programas y módulos
Modelo lógico de datos Modelo físico de datos
Diseño (Cómo)
Diseño de bajo nivel (detallado)
Decisiones concretas organización y rendimiento
Esquema de BD y ficheros
Cuadernos de carga
(Piattini et al. 96)
Implementación Lenguaje comprensible por la
máquina
Codificación y pruebas
11- Tema 4. Diseño Estructurado.
- El Proceso de Diseño.
- Diseño de datos. Transforma el modelo del dominio
de la información del análisis en las estructuras
de datos necesarias para la implementación.
Esquema Lógico de Datos Modelo Relacional. - Diseño arquitectónico. Estructura modular del
programa/aplicación. Diagramas de Estructuras. - Diseño de interfaz. Interfaces del sw. con otros
sistemas y con los usuarios. - Diseño procedimental. Descripción procedimental
de los componentes del sw.
12- Tema 4. Diseño Estructurado. Métrica 3 (II). DSI
- DSI 1.- Definición de la arquitectura del
sistema.
- Se define la arquitectura general del SI
- particiones físicas
- descomposición lógica en subsistemas de diseño
- ubicación de cada subsistema en cada partición
- especificación detallada de la infraestructura
tecnológica
13- Tema 4. Diseño Estructurado. Métrica 3 (II). DSI
- DSI 1.- Definición de la arquitectura del
sistema.
- Definición de niveles en la arquitectura
- definición de las ppales. particiones físicas del
SI (nodos y comunicaciones entre nodos) - gestores de datos
- tipos de puesto cliente
- tipos de dispositivos de impresión
- monitores de teleproceso
- servidores
- comunicaciones
- se usa un diagrama de representación (formato
libre) o de despliegue UML
14- Tema 4. Diseño Estructurado. Métrica 3 (II). DSI
- DSI 1.- Definición de la arquitectura del
sistema. Ejemplo.
15- Tema 4. Diseño Estructurado. Métrica 3 (II). DSI
- DSI 1.- Definición de la arquitectura del
sistema.
- Identificación de subsistemas de diseño
- normalmente, evolución directa de los subsistemas
de análisis, aunque se pueden adoptar otros
criterios. - en diseño estructurado, se describen con un
diagrama de estructura de alto nivel - subsistemas específicos funcionalidades propias
del SI - subsistemas de soporte servicios comunes, que
proporcionan un acceso transparente a los
recursos - Se ubican los subsistemas en nodos
- Se especifica el entorno tecnológico
- se determina la implementación concreta de los
nodos y comunicaciones especificados
16- Tema 4. Diseño Estructurado. Métrica 3 (II). DSI
- DSI 5.- Diseño de la arquitectura de módulos del
sistema.
- Objetivo para cada uno de los subsistemas se
diseña la estructura modular de los procesos que
lo integran. - Pto. de partida modelo de procesos obtenido en
ASI y catálogo de requisitos. - Técnica Diagrama de Estructura de Cuadros de
Constantine (DEC) - Se realiza el diseño detallado de la interfaz de
usuario, de pantalla e impresa. - El interfaz de usuario debe corresponderse con la
estructura modular.
17- Tema 4. Diseño Estructurado. Métrica 3 (II). DSI
- DSI 6.- Diseño físico de datos.
- Objetivo definir la estructura física de datos
que utilizará el sistema, a partir del modelo
lógico de datos normalizado o del modelo de
clases - Paso a tablas, si se usa un SGBDR.
- Se analizan los caminos de acceso a los datos
persistentes, por parte de cada módulo, con el
fin de mejorar los tiempos de respuesta y
optimizar recursos.
18- Tema 4. Diseño Estructurado. Métrica 3 (II). DSI
- DSI 7.- Verificación y aceptación de la
arquitectura del sistema.
- Objetivos garantizar la calidad de las
especificaciones del diseño y su viabilidad - Verificación de la calidad técnica de cada modelo
- Aseguramiento de la coherencia entre varios
modelos - Aceptación del diseño por parte de Explotación y
Sistemas
19- Tema 4. Diseño Estructurado. Métrica 3 (II). DSI
- DSI 8.- Generación de especificaciones de
construcción.
- A partir del diseño anterior, se generan las
especificaciones para la construcción del SI,
incluyendo - Especificación del entorno de construcción
- herramientas, compiladores, generadores de
código, etc. - Descripción de componentes
- Especificación detallada de componentes
- normalmente en pseudocódigo
- Especificación de la estructura física de datos
- definición y creación de los elementos del modelo
físico de datos con el DDL del SGBD escogido
20- Tema 4. Diseño Estructurado. Métrica 3 (II). DSI
- DSI 10.- Especificación técnica del plan de
pruebas.
- Se especifica en detalle el plan de pruebas del
SI, para los niveles de prueba - Pruebas unitarias
- Pruebas de integración
- Pruebas de implantación
- Pruebas de aceptación
- Se especifica el entorno de las pruebas
- Se definen los casos de prueba
21- Tema 4. Diseño Estructurado. Métrica 3 (II). DSI
- Catálogo de requisitos (se completa)
- Catálogo de excepciones
- Catálogo de normas para el diseño y construcción
- Diseño de la arquitectura del sistema
- Entorno tecnológico del sistema
- Procedimientos de operación y administración del
sistema - Procedimientos de seguridad y control de acceso
- Diseño detallado de los subsistemas de soporte
- Modelo físico de datos optimizado
- Asignación de esquemas físicos de datos a nodos
- Además, en diseño estructurado
- Diseño de la arquitectura modular
- Diseño de interfaz de usuario
- Además, en diseño orientado a objetos
- Diseño de la realización de los casos de uso
- Modelo de clases de diseño
- Comportamiento de clases de diseño
- Diseño de interfaz de usuario
22- Tema 4. Diseño Estructurado.
- El Proceso de Diseño.
- Objetivos
- Desarrollar la estructura modular del programa.
- Definir las relaciones entre módulos.
- Técnica Principal Diagrama de Estructura.
- Documentación de partida DFDs Análisis
Estructurado. - Estrategias de diseño - Tipos de Esquemas
- Análisis de transformaciones
- Análisis de transacciones
23- Tema 4. Diseño Estructurado.
- El Proceso de Diseño.
- Se dispone de
- Las entradas que suministran al sistema las
entidades externas. - Las salidas aportadas por el sistema a dichas
entidades externas. - Las funciones descompuestas que se han de
realizar en ese sistema. - El esquema lógico de datos del sistema.
24- Tema 4. Diseño Estructurado.
- El Proceso de Diseño.
- Tareas a realizar
- Módulos obtenidos en el análisis. Procesos
Terminales (primitivos). - Organizar la estructura de estos módulos y
definir las conexiones entre los mismos. - Describir el pseudocódigo para cada módulo.
Técnicas descritas en el Tema 2. - Se basa en los siguiente Principios
- Abstracción
- Modularidad
- Encapsulamiento y Ocultamiento de información
- No confundir con programación estructurada.
25- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine).
- Diseño de la Arquitectura del Sistema Diagrama
de módulos funcionales. - Identifica qué módulos se necesitan, así como sus
inputs/outputs (caja negra). - Refleja la comunicación de datos y control y la
jerarquía entre módulos. - Diagrama de estructura. Elementos constituyentes
- Módulos.
- Conexiones.
- Comunicaciones.
26- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Módulos.
- Aquella parte de código que se puede llamar.
- (Page-Jones 88).
- Representa un programa, subprograma o rutina,
dependiendo del lenguaje que se vaya a utilizar. - Admite parámetros de llamada y retorna algún
valor, si es preciso. - Tamaño ideal 40-50 líneas
- pero hay muchas opiniones!
- Se representa en el diagrama mediante un
rectángulo.
27- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Módulos.
MODULO PREDEFINIDO
MODULO
CONECTOR
IMPRIMIR CHEQUE DE PAGO
OBTENER DATOS CLIENTES
1
En Métrica también se dispone de
Almacenes de datos
NOMBRE
Dispositivos físicos
DISPOSITIVO
28- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Conexiones entre Módulos.
- La conexión entre módulos se representa mediante
una línea. - En la figura
- A llama a B.
- B hace su función.
- B retorna a A, inmediatamente después del lugar
donde se produjo la llamada de A a B. - El diagrama no dice nada sobre el código de A ni
sobre el de B, lo único que sabe es que en A
existe una sentencia del tipo CALL B.
MODULO QUE LLAMA
CONEXION
MODULO LLAMADO
B
29- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Conexiones entre Módulos.
A
C
B
Orden de ejecución de los módulos de izquierda a
derecha y de arriba abajo (Piattini et al. 96). ?
Según (Molina et al. 97) el orden no importa.
30- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Conexiones entre Módulos.
Ejemplo típico de menú
Menú login
Procesos Generales
Procesos para departamentos
Procesos para Agentes externos
31- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Comunicación entre Módulos.
- Los signos para llevar a cabo la comunicación
entre módulos son
Flags o controles
Datos
32- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Flag o Controles.
- Mediante los flags o controles, se puede
representar - Paso de control entre módulos un módulo comunica
a otro módulo que ha terminado su proceso y
traspasa al módulo llamado el control del
sistema. - Comunicación de que se ha producido un error en
el proceso. - Comunicación de que se puede proceder a una
operación concreta.
33- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Diferencias entre comunicadores.
- Los datos se procesan.
- Los datos son la información compartida por los
módulos. La posición de la flecha (hacia arriba o
hacia abajo) indica el sentido de la
comunicación. - Los datos tienen importancia para el mundo
exterior, están relacionados con el problema.
- Los controles sólo sirven para comunicar
condiciones entre los módulos. - Los controles indican al módulo que llama la
terminación EOF, o un error del módulo llamado, y
deben ir siempre en sentido ascendente. - Los flags tienen importancia en la comunicación
de información en el interior son los que
sincronizan la operativa de los módulos.
34- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Parámetros.
- Se pueden representar mediante tablas de interfaz.
Uso P ? procesado M ? modificado (...)
35- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Ejmeplo.
36- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Ejemplo.
Jerarquía Iterativa
Cuerpo del Bucle
EL ENTERO ES VÁLIDO
CONSEGUIR ENTERO VÁLIDO ... LEER_ENTERO(
fin_fichero, entero ) ... if VALIDAR_ENTERO(
entero ) then ... ...
FIN DE FICHERO
37- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Ejemplo.
38- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Ejemplo.
- program EMISION_CHEQUES
- type
- treg_pago RECORD...END
- treg_jornalero RECORD...END
- treg_empleado RECORD...END
- var
- importe real
- importe_pago_jorn, importe_pago_empl real
- registro_pago treg_pago
- registro_empleado treg_empleado
- registro_jornalero treg_jornalero
- fin_registros boolean
- numero_empleado integer
- nombre_empleado string
- begin
- OBTENER_REGISTRO_PAGO (registro_pago,
fin_registros) - ...
- importe_pago_jorn CALCULAR_NETO_JORN
(registro_jornalero) - ...
procedure OBTENER_REG_PAGO ( var rp treg_pago
var fin_reg boolean ) function
CALCULAR_NETO_JORN ( rj treg_jornalero ) real
function CALCULAR_NETO_EMPL ( re
treg_empleado ) real function
CALCULAR_BRUTO_JORN ( ret_diaria, jorn_trab
real ) real function CALCULAR_BRUTO_EMPL (
sueldo_base, complem real ) real function
CALCULAR_DEDUCCIONES ( pago_bruto, irpf real )
real procedure IMPRIMIR_CHEQUE_PAGO( num_emp
integer nom_emp string importe real )
39- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Especificación de los Módulos.
- Interfaz-función (módulo, entradas, salidas,
función). - Pseudo-código.
- Más preciso que el usado en análisis
- Deja cierto grado de libertad al programador
- No trata aspectos de eficiencia, a menos que
estén directamente relacionados con requisitos - Permite verificar la calidad del diseño
- Herramientas complementarias
- Diagramas de flujo
- Nassi-Schneiderman
- Tablas y árboles de decisión
40- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Estrategias de Diseño.
- A veces hay que refinar el DFD de partida.
- Dos estrategias
- Análisis de transformaciones.
- Análisis de transacciones.
- Importante diseñar el DE de forma que
- Los módulos de nivel superior toman las
decisiones de ejecución (coordinan). - Los de nivel inferior realizan la mayor parte del
trabajo de entrada, de cálculo y de salida.
41- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Estrategias de Diseño.
- Revisar el modelo fundamental del sistema
- DFD procesos primitivos
- no hace falta crear el DFD de procesos
primitivos - se añaden procesos, si hace falta
- recomendado, como mínimo, tener 3 niveles de
profundidad - Determinar si el DFD tiene características de
transformación o de transacción. - indica expresamente la característica del DFD!
42- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Estrategias de Diseño.
- Según sea de transformación o transacción
- Aislar el centro de la transformación,
especificando los límites del flujo de llegada y
de salida - ...o bien...
- b) Identificar el centro de la transacción y las
características del flujo de cada camino de
acción. - indica expresamente los elementos anteriores!
43- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Estrategias de Diseño.
- Realizar el primer corte del diagrama de
estructuras. - Realizar el segundo nivel de factorización.
- Refinar la estructura del programa.
- Asegurarse del trabajo realizado por el diseño
obtenido.
44- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Análisis de Transformación.
45- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Análisis de Transformación. 1º
Nivel de Factorización.
46- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Análisis de Transformación. 2º
Nivel de Factorización.
47- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Análisis de Transacción.
48- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Análisis de Transacción. 1º Nivel
de Factorización.
49- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Análisis de Transacción. 2º Nivel
de Factorización.
50- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Análisis de Transformación. Ejemplo.
51- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Análisis de Transformación. Ejemplo.
52- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Análisis de Transacción. Ejemplo.
53- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Análisis de Transacción. Ejemplo.
54- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Centros de Transacción.
- Normalmente el esquema de transacción no es tan
claro - el proceso de transacción no aparece
explícitamente en el DFD - ? solución examinar el diagrama de contexto y la
lista de eventos para determinar los tipos de
transacciones en el sistema
55- Tema 4. Diseño Estructurado. Diagrama de
estructura (Diagrama de estructura de cuadros de
Constantine). Centros de Transacción.
(Molina et al. 97) p.172
...
- Seleccione la opción deseada
- Realizar venta
- Realizar devolución
- Admitir pago