Title: ANALISIS Y DISEO ESTRUCTURADO
1ANALISIS Y DISEÑO ESTRUCTURADO
2ANALISIS y DISEÑO ESTRUCTURADO
- Tiene como objetivo descubrir todos los detalles
relevantes del sistema en estudio. - Además pretende
- Que sea fácil de detectar y verificar la omisión
de detalles relevantes - Que distintos analistas ante el mismo sistema
actual determinen los mismos requerimientos. - Que los documentos generados sobre el sistema
actual sean vehículos eficientes de comunicación.
3- Aparece a finales de los 70
- Facilita la comunicación en el proceso de
desarrollo de un sistema de información - análisis y diseño
- usuarios y analistas
- Sencillo, fácil de entender y fácil de aprender
- Amplia difusión
- Descomposición funcional
- (Originariamente) Orientada a procesos
- (Originariamente) Top/down
- Presente en numerosas metodologías
- p.ej. Métrica, SSADM, information engineering,
Merise - Herramientas CASE disponibles
4Visión panorámica AEEsquema resumen
5- Los elementos del análisis y diseño estructurado
más relevantes son (algunos autores tienen
distintas visiones de la cantidad de elementos y
cuales son ellos) - DFD Diagráma de Flujo de Datos
- Diccionario de Datos
- DE Diagráma de Estructura
- Miniespecificaciones
6Diagramas de Flujo de Datos(DFDs)
7Símbolos del DFD(notación Yourdon/De Marco)
Transformaciones o procesos (funciones, cálculo,
selección)
Terminadores (Fuentes o Destinos)(personas,
entidades)
Flujos de información(inputs-outputs)
Flujos de control (Ward Mellor 85)
Ficheros o depósitos temporales de información
(base de datos, armario, clasificador, etc.)
8Símbolos del DFD(notación Métrica/SSADM)
Transformaciones o procesos
Terminadores (Fuentes o Destinos)
Flujos de información
Ficheros o depósitos temporales de información
9Procesos
- TRANSFORMACIÓN (cálculo, operación)
- FILTRO(verificación fecha, validación
transacción) - DISTRIBUCIÓN(menú, selección transacción)
10Procesos
- Nombres únicos, significativos y concisos
- Preferiblemente expresados en función de las
entradas y salidas - Recomendación verbo (no ambiguo) objeto
- Evitar verbos ambiguos procesar, gestionar,
manejar... - objeto está definido en el DD
- Los procesos se descomponen en subprocesos,
hasta llegar a los procesos primitivos
11Diagrama de contexto
- Es el DFD más general de todos
- Está formado por un solo macroproceso (el
sistema), las entidades externas (fuentes y
destinos) y sus relaciones con el macroproceso - Delimita el sistema y su entorno
12Entidades externas
Señalan los límites del sistema y establecen sus
relaciones con el entorno
DESTINO
FUENTE
P
DESTINO
FUENTE
Sistema
DESTINO
FUENTE
Los identificadores (nombres) de las entidades
externas serán únicos, significativos y concisos
13Diagrama de contexto
en principio, no son materiales, son datos
14Flujos de datos
- Los nombres de los FD deben ser únicos,
significativos y concisos - Son datos, así que nómbralos como datos.
- Pueden estar indistintamente en singular o en
plural, ya que en los DFDs no se representan
cantidades (Barranco 95) - Los nombres no sirven sólo para identificar los
datos, sino también la información que se tiene
sobre ellos - P.ej. Información (fecha-válida) gt Información
(fecha)
15- Los Flujos de datos pueden tener lugar
- Entre dos procesos
- Entre un Proceso y un almacén de datos
- Entre una entidad externa y un proceso
P
P
B
A
16Flujos de datos
- Flujos de datos interactivos (dialog flows)
- Cuando dos FD establecen un diálogo o comparten
una acción de estímulo-respuesta, pueden
dibujarse como un único FD de doble flecha, donde
ambos extremos deben llevar el nombre del FD que
representan.
17Descomposición funcional
- Cada proceso se puede explotar, refinar o
descomponer en un DFD más detallado - El DFD de un sistema es realmente un conjunto de
DFDs dispuestos jerárquicamente - Los niveles de la jerarquía están determinados
por la descomposición funcional de los procesos - La raíz de la jerarquía es el diagrama de
contexto, que es el más general de todos
18Descomposición funcional (II)
19Consistencia en el DFD
- Cada proceso en un diagrama padre es una
consolidación del DFD hijo - Balanceo de DFDs
- Las E/S de un proceso padre deben
corresponderse con las E/S del DFD hijo que lo
explica
20Jerarquía de DFDs
- En un DFD completo cada proceso tiene un número
único que lo identifica en función de su
situación en la jerarquía - Cada DFD tiene también un número único que
coincide con el proceso que describe - Las hojas o nodos terminales corresponden a
procesos primitivos o indescomponibles - Para cada proceso primitivo existirá una
miniespecificación.
21Jerarquía de DFDs (II)
22Jerarquía de DFDsDFD 0
- El primer diagrama general que sigue al de
contexto es el número 0 por convenio - En el DFD 0 se hace una descomposición en
subsistemas, es decir, se indican los procesos
más importantes en el sistema
? Han de ser SUBSISTEMAS
23Descomposición funcional y almacenes de datos
- Los almacenes aparecen lo más tarde posible
- En un nivel superior únicamente cuando son
interfaz entre procesos - Una vez que aparezca en un DFD, el almacén
aparecerá otra vez en cada DFD de nivel más bajo
relacionado
24Descomposición funcional y almacenes de datos (II)
P
P
B
A
D
FICH
25Ideas útiles para construir el DFD (II)
- Nombrar adecuadamente todos los objetos del DFD
- Numerar adecuadamente procesos y diagramas
- Realizar una correcta división en subsistemas
(DFD 0) - Utilizar la descomposición funcional jerárquica
hasta alcanzar las funciones primitivas
26 Diccionario de Datos
- Es un conjunto de metadatos, es decir, de
información (datos) sobre datos - Contiene las definiciones de todos los elementos
de los diagramas - Implementación
- Manual
- Procesador de textos
- Base de datos
- Automático e integrado
27Diccionario de Datos
- No sólo se considera un catalogo de datos del
sistema sino de flujos de datos, almacenes y
procesos, guardando descripciones y detalles de
todos estos elementos. - Los analistas utilizan el diccionario entre otras
finalidades para - Documentar las características del sistema
- Manejar detalles en grandes sistemas
- Dar un significado común para todos los elementos
del sistema - Localizar errores y omisiones
- Mantenimiento del sistema
28Preguntas que se hacen los analistas sobre los
datos
- Dónde se usa este elemento de datos?
- Qué mas hay que cambiar si lo modificamos?
- Cuál será el impacto general del cambio?
29- EL DICCIONARIO DE DATOS CONTIENE DOS TIPOS DE
DESCRIPCIONES PARA LOS FLUJOSDE DATOS DENTRO DEL
SISTEMA Elementos de datos y estructuras de
datos. - El nivel más importante de datos es el elemento
dato, bloque básico e indivisible para todos los
demás datos del sistema - Una estructura de datos es un grupo de datos
elementales relacionados, que el sistema trata
como un componente. Los flujos de datos y los
almacenes de datos son estructuras de datos. - DESCRIPCION DEL ELEMENTO DATO
- Incluye entre otras informaciones, nombre,
descripción, alias o nombre alternativo, longitud
y en aquellos procesos que lo necesiten valores
permitidos.
30- DESCRIPCION DE LAS ESTRUCTURAS DE DATOS
- Se construyen sobre cuatro relaciones de
componentes , que pueden ser a su vez elementos
dato o estructuras de datos. - Incluye nombre de la estructura, descripción y el
contenido (cuales son sus datos elementales y/o
estructuras) - DESCRIPCIÓN DE FLUJOS Y ALMACENES DE DATOS
- Los flujos y almacenes de datos son estructuras
de datos, una estaticas y otras dinámicas. Su
descripción se hace en base a esto, añadiendo
otras características relevantes. - Para el flujo nombre del flujo, descripción,
viene de los procesos, va hacia los procesos,
estructuras de datos. - Para el almacén nombre del almacén ,
descripción, flujos recibidos, flujos
proporcionados, descripción de datos, tipo de
acceso - DESCRIPCIÓN DE PROCESOS
- Se hace en base al resto de los componentes, en
el momento en que se pueden considerarse como
primitivas funcionales. - Nombre del proceso, descripción, entrada de
datos, salida de datos, resumen de la lógica.
31Notación utilizada para la descripción
32Notación..
- Permite representar una composición de datos en
una de las tres alternativas fundamentales que
pueden ser construidas - Como una secuencia de elementos de datos.
- Como una selección de entre un conjunto de
elementos de datos. - Como una agrupación repetitiva de elementos de
datos.
33Ejemplo ( 01327 546381)
- Nombre número de teléfono
- Alias Fono
- Donde se usa/cómo se usa
- Comprobar con ajustes iniciales (salida)
- Marcar número (entrada)
- Descripción
- número de teléfono prefijo número acceso.
- Prefijo un número de cuatro dígitos que
comience en 0 ó un número de cinco dígitos que
comience por () - Número de acceso secuencia numérica de
cualquier tamaño
34Diccionario de Datos
- Flujo de datos entrega
- Descripción Conjunto de libros enviados por un
proveedor a la biblioteca, basado en la relación
que previamente había recibido. - Sinónimos none
- Componente de none
- Composición
- Libros
- Albarán
- Información de entrada y salida
- Origen Destino
- Off the diagram Compra libros
- PROVEEDORES Biblioteca
35Diccionario de Datos
- Almacen Facturas
- Descripción Información, por número de factura,
sobre facturas en el sistema actual. - Sinónimos none
- Composición
- _at_Número-factura
- Fecha-factura
- Dirección-cliente
- Número-producto
- Cantidad-producto
- Costo-unidad-producto
- Costo-envío
- Tasa-de-descuento
- Neto-factura
- Estado-factura
- Procesos asociados Según DFD general
- Proc_cancelación Proc_pago
- Proc_consultas Adjuntar_albarán
36Diccionario de Datos Proceso Pseudocódigo.
- Proceso Verificar estado del socio
- Número 1.1.1
- Descripción Se examina si el socio no está
sancionado - Miniespecificación
- Recibir Socio ID del socio
- Leer SOCIOS para
- Leer Flag-de-precaución
- Si OK, enviar Socio ID válido
- Complejidad Prioridad
- Ratio de transacciones Memoria requerida (Kb)
- Tiempo de proceso
37Lógica de Proceso. Miniespecificaciones
- Técnicas para describir la lógica de los procesos
primitivos - Lenguaje estructurado
- Pre y post-condiciones
- Tablas de decisión
- Árboles de decisión
- Son una descripción detallada de los procesos
asociados al DFD de último nivel
38- Se debe evitar
- Descripciones confusas
- Ambiguedades
- Exceso de papel
- Especificaciones pobres o sobreespecificaciones
- Debe contar con
- Claridad
- Concisa y completa
- Lógica y no física
- Debe especificar el Qué y no el Cómo
- Relación armónica con los demás objetos del
diseño estructurado
39 - Lenguaje estructurado
- SI la factura excede de 300
- SI la cuenta del cliente tiene alguna factura sin
pagar más de 60 días, dejar la confirmación
pendiente de este pago. - SI NO (la cuenta está en buen estado) hacer
confirmación y factura - SI NO (la factura es de 300 o menos)
- SI la cuenta del cliente tiene alguna factura sin
pagar más de 60 días hacer la confirmación, la
factura y escribir un mensaje sobre informe de
crédito - SI NO (la cuenta está en buen estado)hacer
confirmación y factura - FIN-SI.
40 41Tablas de decisión
42Árboles de decisión
1. Dejar confirmación pendiente de los pagos
debidos.
Cuentas impagadas más de 60 días
Factura excede de 300
Cuentas en buen estado
2. Hacer confirmación y factura
Política contable
3. Hacer confirmación y factura y escribir
mensaje sobre informe de crédito
Factura menos de 300
4. Hacer confirmación y factura
43Ejemplo DFD
Sistema de distribución sin inventario Se trata
de un sistema que sirve pedidos de libros a unos
clientes, con la particularidad de que no
mantiene un stock o inventario interno. El
sistema puede agrupar los pedidos que clientes
distintos hacen a un mismo editor, de manera que
se puedan conseguir descuentos.
Adaptado del capítulo 2 de Gane, C. and T.
Sarson, Análisis estructurado de sistemas. 1990,
Buenos Aires El Ateneo.
44Análisis de los procesos del sistema
? Aplicamos la visión sistémica
Diagrama de contexto
en principio, no son materiales, son datos
45 Ejemplo Práctico
0. Sistema de pedidos
46Diagrama de Estructura
- Su propósito es definir la organización del
sistema en términos jerárquicos. - Se definen los módulos en que se compone el
sistema. - Se identifican las relaciones entre los módulo, y
además se identifican las interfaces, junto con
los métodos de control. - Eventualmente , lo módulos identificados dentro
del DE se relacionan directamente con los módulos
reales, implementados en el sistema. - Los datos son identificados en términos
conceptuales en el diagrama de estructura. De
esta forma , el DE incluye una descripción
descripción completa del sistema, respecto de los
módulos, datos, interrelaciones y control.
47Módulo
Nombre del módulo
Conexión Intermodular
Estructura repetitiva
Estructura Alaternativa
Dato
Módulo predefinido
48- La estructura estándar de los DE es
- Rama aferente recibe las entradas y las prepara
para su procesamiento - Transformación central realiza el procesamiento
y genera los datos de salida - Rama eferente formatea los datos para la salida
- El orden de las llamadas en un DE es de arriba
abajo y de izquierda a derecha
49ESTRATEGIAS DE DISEÑO
- El diseño estructurado ofrece dos estrategias
para conseguir una creación rápida de un buen
diseño - Diseño por Transformación los datos entran en
el sistema mediante caminos que se denominan
flujos de entrada. En el núcleo se produce una
transformación de los datos, y finalmente, los
datos se mueven por caminos que conducen a la
salida. - Diseño por transacción Existe un centro de
transacción que es el centro de flujo, desde el
que emanan muchos caminos alternativos de forma
exclusiva. - El diseño estructurado permite una transición del
DFD a una descripción de diseño de la estructura
del programa. Se definen unos pasos que están en
función del tipo de flujo de información de que
se trate.
50(No Transcript)
51(No Transcript)
52Criterios para evaluación de la calidad de una
Estructura
- Acoplamiento
- Medida de las relaciones que existente entre los
módulos de una estructura. No sólo a la cantidad
de relaciones , sino que se mide también por el
tipo de conexión entre los módulos y por el tipo
de información que fluye a través de esa
conexión. - Será más acoplado si se transmite datos de
control. - Se debe buscar el mínimo acoplamiento
53- Cohesión
- Medida del tipo de relación que existe entre
elementos del mismo módulo. - Mientras mayor sea el nivel de relación , en
mayor forma se puede ver el módulo como una sola
unidad. - Entre mayor sea la relación entre proceso, mayor
será la cohesión. - Se busca mayor cohesión.
54- Parsimonia
- Establece que un módulo NUNCA debe hacer más de
lo que se debe hacer. No construir módulos
generalizados. - Rango de efecto/rango de control
- El rango de efecto dividido por el rango de
control debe tender a 1 - Rango de Control es el módulo más la cantidad de
módulos subordinados a él. - Rango de Efecto consiste en todos los módulos que
son afectados por una decisión en él.
55- Capacidad de predicción
- Un módulo será predecible si para las entradas
idénticas produce siempre idénticas salidas. - La operación de un módulo es predecible sólo si
están identificadas todas las interfaces con ese
módulo. - Por lo tanto la capacidad de predicción esta
ligada con la completitud de la definición de las
interfaces - Tamaño
- No exige regla que relacione grados de calidad
con el tamaño específico de los módulo. - Debiera mas bien relacionarse el tamaño con la
capacidad de comprensión del módulo.
56- Manipulación de errores
- En la definición de los módulos de una estructura
se debe buscar que éstos sean capaces de
manipular sus propios mecanismos de detección y
corrección de errores. - Abstracción
- Durante las etapas iniciales del diseño, la
estructura debe ser independiente de las
restricciones reales de implementación, es decir,
no se debe forzar el diseño con ideas
preconcebidas respecto de cuál debería ser su
aspecto. - Las más accesibles y la que mas se usan son las
tres primeras
57(No Transcript)
58(No Transcript)
59(No Transcript)
60(No Transcript)
61(No Transcript)
62(No Transcript)
63(No Transcript)
64(No Transcript)
65(No Transcript)
66(No Transcript)