Documentos de Académico
Documentos de Profesional
Documentos de Cultura
P1
ENTIDAD EXTERNA Proceso
flujo de datos
D ALMACN DE DATOS
1.- Introduccin: Visin panormica del AyDE. Caractersticas Amplia difusin Descomposicin funcional
(Originariamente) Orientada a procesos (Originariamente) Top/down
Bibliografa
Texto principal
Mario Piattini,Jose Calvo-Manzano,Joaqun Cervera,Luis Fernandez, Anlisis y diseo detallado de Aplicaciones Informticas de gestin. Edit. Ra-ma Yourdon, E., Anlisis estructurado moderno. 1993: Prentice-Hall Hispanoamericana
Bibliografa (II)
Entre la bibliografa bsica...
MAP, MTRICA versin 2.1. Gua de Tcnicas. 1995, Madrid: Ministerio de Administraciones Pblicas. Secretara de Estado para la Administracin Pblica. Consejo Superior de Informtica.
Referencias clsicas...
DeMarco, T., Structured analysis and system specification. 1979, Englewood Cliffs, New Jersey: Yourdon Press. Gane, C. and T. Sarson, Anlisis estructurado de sistemas. 1990, Buenos Aires: El Ateneo (traduccin de Gane, C. and T. Sarson, Structured systems analysis, tools and techniques. Software series. 1979, New Jersey: Prentice-Hall.)
DFD (Diagrama de Flujo de Dato Dataflow diagram) Diagrama E-R (Entidad-Relacin), o alternativamente, DED (Diagrama de Estructura de Datos)
Diagramas HVE (Historia de Vida de las Entidades) Diagramas de Transicin de Estados (STD, State Transition Diagram)
Lgica de procesos
Lenguaje estructurado Pre y post-condiciones Tablas de decisin rboles de decisin
P1
ENTIDAD EXTERNA Proceso
flujo de datos
D ALMACN DE DATOS
Visin general de las funciones y transformaciones de datos en una organizacin Modelo lgico y grfico del sistema
tambin como modelo fsico
flujo de datos
D ALMACN DE DATOS
Ejemplo
Sistema de distribucin 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 captulo 2 de Gane, C. and T. Sarson, Anlisis estructurado de sistemas. 1990, Buenos Aires: El Ateneo.
Diagrama de contexto
CLIENTE pedidos rdenes de compra libros entregados 0. Sistema de Pedidos
EDITOR
libros pedidos
1.- Introduccin: Visin panormica del AE. DFD: Ejemplo Prctico 0. Sistema de pedidos
pedidos
D LIBROS
rdenes de compra pedidos vlidos
D PEDIDOS PENDIENTES
D RDENES DE COMPRA
pedidos en lote
libros entregados
libros entregados = albarn + lista-novedades
libros pedidos
DD
DD
1.- Introduccin: Visin panormica del AE. Diccionario de Datos Es un conjunto de metadatos, es decir, de informacin (datos) sobre datos Contiene las definiciones de todos los elementos de los diagramas Implementacin
Manual Procesador de textos Base de datos Automtico e integrado
Diagramas E-R y DED (Diagrama de Estructura de Datos) DED es, bsicamente, un E-R limitado:
no relaciones ternarias slo cardinalidades 1:N no atributos multivaluados ni compuestos
Diagrama E-R
[EN2002] (Chen)
asignado (1,m)
Proyecto
Departamento
Proyecto
DED
pertenece
requiere
Empleado
tiene
Asignacin
Lenguaje estructurado
SI la factura excede de 300
SI la cuenta del cliente tiene alguna factura sin pagar ms de 60 das, dejar la confirmacin pendiente de este pago. SI NO (la cuenta est en buen estado) hacer confirmacin y factura
FIN-SI.
Pre y post-condiciones
Pre1 (la factura excede de 300) Y (la cuenta del cliente tiene alguna factura sin pagar ms de 60 das) Pos1 (confirmacin pendiente de este pago) Pre2 (la factura excede de 300) o (la cuenta del cliente no tiene ninguna factura sin pagar ms de 60 das) Pos2 (confirmacin y factura realizadas) Pre3 (la factura no excede de 300) Y (la cuenta del cliente tiene alguna factura sin pagar ms de 60 das) Pos3 (confirmacin y factura realizadas) Y (mensaje impreso sobre informe de crdito)
Pre4 (la factura no excede de 300) Y (la cuenta del cliente no tiene ninguna factura sin pagar ms de 60 das) Pos4 (confirmacin y factura realizadas)
Tablas de decisin
ESTADO DE LA CUENTA NETO-FACTURA CONFIRMACIN PENDIENTE HACER CONFIRMACIN HACER FACTURA ESCRIBIR MENSAJE CORRECTO >300 IMPAGADO >300 CORRECTO <=300 IMPAGADO <=300
x x x x x x x x
rboles de decisin
Cuentas impagadas ms de 60 das Factura excede de 300
Poltica contable
3. Hacer confirmacin y factura y escribir mensaje sobre informe de crdito 4. Hacer confirmacin y factura
Evaluar peticiones
informe prstamo
Recibir peticiones
Elaborar informe
Informar peticin
pet prstamo
pet rechazada
pet prstamo
ok
Leer peticiones
Consultar stock
Rechazar peticin
Paso al diseo
Diagrama de estructuras
Descrip. E. E.
Definicin del FD
Diccionario de Datos
Definiciones de la BD Definiciones de los mdulos
Transformaciones o procesos (funciones, clculo, seleccin) Terminadores (Fuentes o Destinos) (personas, entidades) Flujos de informacin (inputs-outputs) Flujos de control (Ward & Mellor 85) Ficheros o depsitos temporales de informacin (base de datos, armario, clasificador, etc.)
Entidad Externa
Flujo de datos
Flujo de eventos
D ALMACN DE DATOS
ID
Localizacin
Proceso
Transformaciones o procesos Terminadores (Fuentes o Destinos) Flujos de informacin Ficheros o depsitos temporales de informacin
Entidad Externa
Flujo de datos
ALMACN DE DATOS
Procesos
TRANSFORMACIN (clculo, operacin) FILTRO (verificacin fecha, validacin transaccin) DISTRIBUCIN (men, seleccin transaccin)
E1 P E2 E3 S1 S2
Transformacin
Procesos (II)
Nombres nicos, significativos y concisos Preferiblemente expresados en funcin de las entradas y salidas Recomendacin: verbo (no ambiguo) + objeto
Evitar verbos ambiguos
Diagrama de contexto
Es el DFD ms 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
Entidades externas
Sealan los lmites del sistema y establecen sus relaciones con el entorno
FUENTE DESTINO
FUENTE
Sistema
DESTINO
FUENTE
DESTINO
Los identificadores (nombres) de las entidades externas sern nicos, significativos y concisos
Flujos de datos
Los nombres de los FD deben ser nicos, significativos y concisos Son datos, as que nmbralos 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 slo para identificar los datos, sino tambin la informacin que se tiene sobre ellos
P.ej. Informacin (fecha-vlida) > Informacin (fecha)
denegacin crdito
Las flechas dobles con sentidos opuestos que transportan los mismos datos pueden sustituirse por flechas doblemente encabezadas
Pero slo si transportan los mismos datos!
P A X P B P A P B
pedidos de libros nuevos libros nuevos P2 Examinar nuevos libros P3 ajuste de inventario D3 INVENTARIO
D4
SIGNATURAS
libros nuevos
D9
libros nuevos
libros nuevos
P Validar Telef.
Observaciones: Slo los procesos pueden separar FD (Piattini et al. 96) No poner FD como seales de activacin (Yourdon 89)
historial de crdito
criterios valoracin
No lo sabemos, no importa:
Los aspectos procedurales no se manifiestan en los DFDs Si tales aspectos son relevantes, se deben incluir en las miniespecificaciones
Flujos de control
Almacenes de datos
Para facilitar validaciones cruzadas entre DFDs y E-R (o DED)... Correspondencia entre los almacenes de datos principales (permanentes) del DFD y las entidades del E-R Cada almacn de un DFD representa una o varias entidades del E-R Cada entidad del E-R pertenece a un nico almacn principal de un DFD
Descomposicin funcional
Cada proceso se puede explotar, refinar o descomponer en un DFD ms detallado El DFD de un sistema es realmente un conjunto de DFDs dispuestos jerrquicamente Los niveles de la jerarqua estn determinados por la descomposicin funcional de los procesos La raz de la jerarqua es el diagrama de contexto, que es el ms general de todos
Descomposicin funcional
A FUENTE P f2 V Y A P f1 W P f3 X P f4 Z P Sist B DESTINO P f5
x1 X P f41
P f43
x2
P f45
y2 y1 P f44
P f42
Consistencia en el DFD
Cada proceso en un diagrama padre es una consolidacin 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
Descomposicin paralela
Descomposiciones de funciones
Proceso en subprocesos (DFD)
Descomposicin de flujos de datos La regla de balanceo se aplica teniendo en cuenta la descomposicin paralela
pedido P4 P3
autorizacin
envo P6.2
cupn de pedido
P6.1
P6.3 pago
Jerarqua de DFDs
En un DFD completo cada proceso tiene un nmero nico que lo identifica en funcin de su situacin en la jerarqua Cada DFD tiene tambin un nmero 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 miniespecificacin.
Localizacin Proceso
DFD 1.2
P 1.2.2 f2 X
V P 1.2.1 f1 A W Y P 1.2.3 f3
El primer diagrama general que sigue al de contexto es el nmero 0 por convenio En el DFD 0 se hace una descomposicin en subsistemas, es decir, se indican los procesos ms importantes en el sistema
Han de ser SUBSISTEMAS
Los almacenes aparecen lo ms tarde posible En un nivel superior nicamente cuando son interfaz entre procesos Una vez que aparezca en un DFD, el almacn aparecer otra vez en cada DFD de nivel ms bajo relacionado
P A
FICH
P B
P A.1
P B.1
D
P A.2
FICH
FICH
P B.2
Cada DFD debera tener alrededor de 7 procesos o menos (Miller 57) En general, habr varios niveles intermedios, dependiendo del tamao y complejidad del sistema que se est modelando Cuntos niveles son convenientes?
Yourdon: depende del problema
Mtrica
Diagrama Diagrama Diagrama Diagrama de de de de contexto / sistema subsistemas funciones subfunciones
CLIENTE
CENTROS DE INVESTIGACIN
datos de investigacin
Identificar todos los elementos exgenos Identificar sus relaciones con el sistema Trabajar segn alguna de las siguientes filosofas:
De inputs a outputs De outputs a inputs Desde una posicin intermedia hacia delante o hacia atrs
2.- Diagramas de Flujo de Datos Ideas tiles para construir el DFD (II)
Nombrar adecuadamente todos los objetos del DFD Numerar adecuadamente procesos y diagramas Realizar una correcta divisin en subsistemas (DFD 0) Utilizar la descomposicin funcional jerrquica hasta alcanzar las funciones primitivas
DFDs - Conclusiones
Fcil de entender y de aprender Facilita las relaciones con el usuario Amplia difusin
El control no aparece hasta el final de la especificacin estructurada No es inmediato el paso a la codificacin y prueba Diseo estructurado
til para el anlisis y para el diseo del nuevo sistema Ms adecuado para el nivel lgico, aunque tambin puede ser adecuado para el nivel fsico (indicando personas concretas, lugares geogrficos, formatos de datos, etc.)
Concepto y Principios del Diseo Inicios del Diseo Efectividad del Diseo
Factores de calidad
Tipos de Acoplamiento Tipos de Cohesin Consideraciones para un Diseo de Calidad Resultados del Diseo
Elementos Diagrama de Estructura Particin Estructural de un Diagrama de Estructura Estrategias de Diseo Construccin del Diagrama de Estructura
El diseo debe exhibir una organizacin jerrquica con mecanismos de control que no atenten contra la independencia relativa de cada componente de la jerarqua.
verificado, programado, depurado, mejorado y alterado por partes. Mdulos que pueden ser desarrollados con relativa
independencia. - Disminucin complejidad. - Programas que pueden evaluarse por partes, por lo cual todo test se hace ms fcil. - Programas ms fciles de alterar ya que son menores las lneas de cdigo a considerar para incorporar los cambios. - Mdulos de funcin nica que pueden ser reutilizados. de la posibilidad de errores al reducir la
Un
mdulo
que
controla
otro
se
dice
que
es
"superordinado" a ste y, recprocamente, un mdulo controlado por otro se dice que es "subordinado".
Mdulo Superordinado
Mdulo Subordinado
Fan-out : 2 Fan-in : 1
N Mdulos
Costos Mnimos
A1
A2
Factores de Calidad
- Acoplamiento
Corresponde al grado de independencia entre dos mdulos. Entendido as, minimizar el acoplamiento aparece entonces como una
Factores de Calidad
-
Cohesin
Corresponde a la medida de relacin funcional de los elementos de un mdulo, Los elementos de un mdulo corresponden a instrucciones,
Factores de Calidad
Acoplamiento
Cohesin
Tipos de Acoplamiento
1. Acoplamiento Normal
Tipos de Acoplamiento
Mejor Acoplamiento NORMAL DATOS ESTAMPADO
CONTROL
EXTERNO (caso especial de COMN) COMN CONTENIDO Grado de Acoplamiento
Tipos de Acoplamiento
1.Acoplamiento Normal Dos Mdulo A y B estn Normalmente Acoplados si: Un Mdulo A llama a otro B B retorna el control a A
No se produce traspaso de parmetros entre ellos, slo existe la llamada de uno a otro.
A
Tipos de Acoplamiento
2. Acoplamiento por Datos Dos mdulos estn acoplados por datos si ellos se comunican por Obtener Datos Cliente
Rut_cliente
Leer Rut
corresponde a la comunicacin de datos necesaria entre mdulos. Toda vez que los mdulos tienen que comunicarse entre s, la ligazn por datos es inevitable y sern adecuadas si se mantienen a niveles mnimos.
Tipos de Acoplamiento
3. Acoplamiento por Estampado o Imagen Dos mdulos por aparecen o
Cliente
acoplados
estampado
Tipos de Acoplamiento
4. Acoplamiento de Control Obtener Datos Cliente
Tipo_dato Cliente
Leer Cliente
otro.
No es muy recomendable.
Tipos de Acoplamiento
5. Acoplamiento Comn Los mdulos presentan Actualizar Stock Video Obtener Nombre Video
Tipos de Acoplamiento
6. Acoplamiento por Contenido Este es un tipo de Acoplamiento Inaceptable. acoplamiento Dos mdulos presentan de contenido (o A .. Srch: Move.. .. . . B .. .. Jump to Srch .
patolgico) si uno hace referencia al interior del otro. Esto ocurre si por ejemplo, en un mdulo se desva la secuencia de instrucciones al interior de otro o si un mdulo altera un comando de otro.
Tal acoplamiento torna el concepto de mdulos configurados bajo el criterio de la caja negra sin sentido, ya que fuerza a un mdulo a conocer explcitamente los contenidos y la implementacin de otro.
Tipos de Acoplamiento
Dos mdulos pueden estar relacionados por ms de un tipo de
acoplamiento. Si esto ocurre, el acoplamiento que caracteriza la relacin entre ellos queda definido por el peor tipo que presenten. Por ejemplo, si dos mdulos estn ligados por acoplamiento de imagen y acoplamiento
comn a la vez, se dir que los mdulos estn ligados por acoplamiento
comn.
Tipos de Cohesin
Mayor Cohesin FUNCIONAL SECUENCIAL COMUNICACIONAL PROCEDURAL TEMPORAL LGICA COINCIDENTAL Grado de Cohesin Mdulo Transparente Mdulo como Caja Negra
Tipos de Cohesin
1. Cohesin Funcional
Ejemplos Se puede decir que un mdulo funcional contiene con es cohesin aquel que que Calcular el coseno de un ngulo
elementos
relacionada
al
problema
objeto de diseo,.
Tipos de Cohesin
2. Cohesin Secuencial
Ejemplo: Calcular Salario Un mdulo secuencialmente es aquel cuyos 1. Obtener sueldo base 2. Verificar nmero de cargas 3. Revisar das con permiso 4. Revisar das con licencia 5. Calcular horas de trabajo 6. Descontar horas de atraso 7. Agregar horas extras .... cohesionado
elementos estn envueltos en actividades tales que los datos de salida de una actividad sirven como datos de entrada para la
prxima actividad.
Tipos de Cohesin
3. Cohesin Comunicacional Ejemplo: Un mdulo presenta cohesin comunicacional elementos cuando sus a contribuyen Video 1. Obtener nombre video 2. Obtener stock video 3. Obtener ubicacin 4. Obtener precio .... Obtener datos
Tipos de Cohesin
4. Cohesin Procedimental un mdulo cohesionado por Ejemplos: una oficina 1. Hablar por telfono 2. Tomar un caf 3. Leer correo electrnico 4. Solicitar cotizacin Actividades en
....
Tipos de Cohesin
5. Cohesin Temporal Ejemplo: Un mdulo es con cohesin cuyos 1. Apagar despertador 2. Tomar una ducha 3. Vestirse 4. Hacer la cama momento en que se realizan. estn temporal actividades aquel que Actividades al iniciar el da
5. Tomar desayuno
....
Tipos de Cohesin
6. Cohesin Lgica Un mdulo tiene cohesin Ejemplo: Registrar Pago 1. Registrar pago con tarjeta de crdito 2. Registrar pago con cheque 3. Registrar pago con efectivo ....
lgica,
donde
la
actividad
las
Tipos de Cohesin
7. Cohesin Coincidental Un mdulo coincidentemente cohesionado es aquel cuyos elementos actividades sin desarrollan relacin Ejemplo: 1. Comprar un libro
significativa entre s.
....
rbol de Cohesin
1. La necesidad de reducir el tamao de un mdulo. 2. Obtener las ventajas de la modularizacin mediante un diseo "top_down". => Sistema ms comprensible el sistema y facilitamiento de cambios 3. Evitar que una misma funcin aparezca en diferentes partes del sistema, es decir, en ms de un mdulo. 4. Proveer mdulos de uso general. 5. Simplificar la implementacin.
Diseo Arquitectnico
Diccionario de Datos
Clave_votante_vlida: Flag que indica que la combinacin ingresada por el cliente es vlida, y puede llevar a emitir su voto.
Especificacin de procesos
Interfaz
Nombre : REGISTRAR DATOS ACTUALIZACIN Entradas : Datos_actualizacin Salidas :Datos_actualizacin, datos_actualizacin_registrados. Procedimiento: Recibir Datos_actualizacin. Abrir archivo INFORMACIN MUNICIPAL. Escribir en archivo los Datos_actualizacin. Cerrar archivo INFORMACIN MUNICIPAL. Mandar mensaje indicando Datos_actualizacin_registrados.
Pseudocdigo
Diseo de Datos
clave_Vot Id_P art ido Rut _Vot candidat os Nom _Cand Id_Vot o Nom _Cand P art _Cand
Vot ant e
Vot o
Nom _Vot
cont iene
Direccin
Servicios
Municipalidad Fono
Nom_Organ
Id_Organ
Com una
Diseo de Datos
Votante Clave_Vot A10 Rut_Vot A10 Nom_Vot A30 Voto Id_Voto A10 Detalle_Voto Id_Voto A10 Id_Partido A30
Candidato Id_Partido Nom_Cand Municipalidad Id_Orga A10 Nom_Orga A30 Servcio A30 Direccin A30 Fono N10 Comuna A20 A30 A30
Diseo de Interfaz
Mdulo
Mdulo Predetermina do
MDULO JEFE (INVOCADOR)
Leer Cliente
Un dispositivo fsico es cualquier dispositivo mediante el cual se puede recibir o enviar datos necesarios para el sistema
Un almacn de datos corresponde a la instancia real en la cual van a estar los datos que precisa el sistema
Iteracin
Anlisis
Diseo
Estrategia de Diseo
Diseo Centrado en Transformaciones Los datos entran al sistema mediante caminos que se llaman flujos de entrada
4.2 2.1 2.2
1.1
1.2
3 4.1
En el ncleo ocurre la
transformacin de los datos, que entraron anteriormente Finalmente los datos se mueven por caminos llamados flujos de salida
Estrategia de Diseo
Diseo Centrado en
Transacciones Se presenta un centro de transaccin, como centro de flujo de informacin
1 3.1 3.2 Camino de Accin 2 2.1 2.2 Camino de Accin 1
Desde el centro de flujo de Informacin, surgen muchos caminos de accin alternativos Los caminos de accin alternativos, son de forma
excluyentes
4. Realizar el primer corte del diagrama de estructura Primer nivel de factorizacin, se incorporan mdulos coordinadores
2.1
2.2
Informacin de Entrada, Ce
Mdulo controlador del centro de transformacin, que
Cp
los datos, Ct
Mdulo controlador, de del la Ce Ct Cs
procesamiento
informacin de salida, Cs
Nombres representativos
Leer a
Leer b
Escribir z
Estrategia de Diseo:
Transaccin
Mdulos a incorporar Mdulo principal Cp, que
controla mdulos Mdulo el resto de los
a A D
z P Q
coordinador
de
la
Informacin de Entrada, Ce
Mdulo gestor del centro de transaccin, D Mdulo controlador, los Ce
Cp
C1
C2
C3
Estrategia de Diseo:
Transaccin
Leer b
Estrategia de Diseo:
Transaccin
6. Refinar la estructura obtenida, utilizando las guas, principios y conceptos, para un diseo de calidad
Aumentar o Disminuir el N de mdulos Incorporar flujos de datos (DFD) y de control 7. Asegurarse del trabajo realizado, representado en el diseo construido Verificar funcionalidad, orden de mdulos, etc.
Diseo Detallado
1. Especificacin por interfaz-funcin
Ejemplo:
Mdulo: SELECCIONAR ASIENTO DE PASAJERO Entrada: PREFERENCIA_ASIENTO_PONDERADA Salidas: ASIENTO_SELECCIONADO, PREFERENCIA_DISPONIBLE Funcin: Seleccionar un asiento para un pasajero considerando que sus preferencias de ubicacin sean lo ms cercanas (ponderadamente) al asiento elegido.
Diseo Detallado
2. Especificacin Mediante las Miniespecificaciones del Anlisis
Este mtodo
generadas durante la fase de anlisis sirven tambin como especificacin que de de mdulos. de es Se considera, burbuja en del para
general, diagrama
cada
suficiente
especificar
seleccionado un asiento fumador, intentar mover en una fila atrs la seccin de no fumadores en la clase del cliente (si es posible).
Si la diferencia entre el asiento preferido y el asiento seleccionado es 0, realizar la asignacin PREFERENCIA-DISPONIBLE=Y; de lo contrario asgnele N.
Diseo Detallado
2. Especificacin por pseudocdigo Pseudocdigo es un lenguaje informal similar al lenguaje estructurado, el cual es ms preciso y detallado que la especificacin por interfaz-funcin. Tiene sintaxis fija para constructores, declaracin de datos y mdulos, y sintaxis libre para describir caractersticas de procesamiento