Utilizaci n de Visible Analyst

Anuncio
'DWD)ORZ
3URFHVV (QWLW\
'DWD)ORZ
)LOH
'DWD6WRUH
'DWD(OHPHQW
'RPDLQ 'RPDLQ
6RXUFH6LQN
([WHUQDO(QWLW\
'DWD6WUXFWXUH
0LVFHOODQHRXV
(QWLW\5HODWLRQVKLS
0RGXOH )XQFWLRQ
$VVRFLDWLYH(QWLW\
$WWULEXWLYH(QWLW\
5HODWLRQVKLS
'DWD(OHPHQW
&RQWURO&RXSOH
&OXVWHU
(OPRGHORGH5HG
6WUXFWXUH&KDUW
)XQFWLRQDO
'HFRPSRVLWLRQ
/LEUDU\0RGXOH 3URFHVV
0DFUR
/LEUDU\0DFUR
'DWD2QO\0RGXOH
'DWD&RXSOH
*HQHULF&RXSOH
,QIRUPDWLRQ&OXVWHU
'DWD,QWHUIDFH7DEOH5RZ
&RQWURO,QWHUIDFH7DEOH5RZ
*HQHULF,QWHUIDFH7DEOH5RZ
3URJUDP
6HWUDWDGHXQPRGHORGHHQWLGDGUHODFLyQGRQGHWRGDVODVUHODFLRQHVVRQHVWULFWDPHQWHELQDULDVUHODFLRQHVGHO
WLSRPXFKRVDXQR
(QHVWHPRGHORVHGHILQHQWLSRVGHUHJLVWURVOyJLFRV HQOXJDUGHFRQMXQWRVGHHQWLGDGHV\IRUPDWRVGHUHJLVWUR
HQOXJDUGHHVTXHPDGHUHODFLRQHV/RVQRPEUHVGHFRPSRQHQWHVHQHOUHJLVWURVHGHQRPLQDQFDPSRV
(QOXJDUGH³UHODFLRQHVELQDULDVPXFKRVDXQR´KDEODPRVGHOLQNV HQHOPRGHORGHUHG
5HSUHVHQWDFLyQGH'LDJUDPDVGH(QWLGDG5HODFLyQHQHO0RGHORGH5HG
(QFDVRGHTXHXQDHQWLGDGHVWpGHWHUPLQDGDXQtYRFDPHQWHVRORDWUDYpVGHXQDUHODFLyQFRQRWUDHQWLGDG
GHEHPRVDJUHJDURWURFDPSRFRUUHVSRQGLHQWHDXQQ~PHURGHVHULHGHOFRQMXQWRGHHQWLGDGHVTXHLGHQWLILFD
XQtYRFDPHQWHDFDGDHQWLGDGHQODLPSOHPHQWDFLyQSRGUtDVHUODORFDOL]DFLyQItVLFDGHOUHJLVWURTXH
UHSUHVHQWHDODHQWLGDG
&,&/26'(/352<(&72<RXUGRQSDJ JUiILFRV
(QFXHVWD
$QiOLVLVGHVLVWHPDV
'LVHxR
,PSODQWDFLyQ
*HQHUDFLyQGHSUXHEDV
*DUDQWtDGHFD OLGDG
'HVFULSFLyQGHOSURFHGLPLHQWR
&RQYHUVLyQGHEDVHVGHGDWRV
,QVWDODFLyQ
&,&/26'(/352<(&72*DQH
')'
/LVWDGRGHHOHPHQWRVGHGDWRVTXHVHDOPDFHQDUiQHQHOVLVWHPD
0RGHOROyJLFR
'HILQLUODEDVHGHGDWRV\KDFHUODVORPiVVLPSOHVFRPRVHDSRVLEOHQ RUPDOL]DFLyQ
3DUWLFLRQDUHOPRGHORGHSURFHVRVHQXQLGDGHVGHSURFHGLPLHQWR
+(55$0,(17$6'(02'(/$'2
'LDJUDPDVGHIOXMRGHGDWRV5HSUHVHQWDODVIXQFLRQHVGHOVLVWHPD(VIiFLOPHQWH
FRPSUHQVLEOHSRUHOXVXDULR
&RPSRQHQWHVSDJ
3URFHVRWUDQVIRUP D(HQ6
)OXMRPRYLPLHQWRFRQGLUHFFLyQGHLQIRUPDFLyQ\PDWHULDOHVItVLFRV
$OPDFpQ\WHUPLQDGRU
'LFFLRQDULRGHGDWRV
(VSHFLILFDFLyQGHSURFHVR
'LDJUDPDGHHQWLGDG UHODFLyQ
'LDJUDPDVGHWUDQVLFLyQGHHVWDGRV
%DODQFHRGHPRGHORV
',6(f2'((6758&7 85$3DJH
'LVHxRWRSGRZQ3HUPLWHGHVFRPSRQHUXQVLVWHPDFRPSOHMRHQYDULRVVXEVLVWHPDVPiV
SHTXHxRV
(MHPSOR
Pago
Salarios
Reg.
empleado
Fin de Reg.
empleado
Reg. Pago x
hora
Pago Neto x
hora empleado
Calcular
Pago
x hora
Leer
registro
Emp
Calcular
Haberes
x hora
Calcular
Pago
Mensual
Calcular
Descue.
Imprimir
Cheque
Calcular
Haberes
mensual
02'8/2
&DMDQHJUDTXHKDFHSHURQRFRPRORKDFH&ROHFFLyQGHVHQWHQFLDVGHSURJUDPDVF RQ
FXDWURDWULEXWRVEiVLFRV
,QSXWRXWSXW
)XQFLyQ
0HFDQLVPR
'DWRLQWHUQR
Nombre del
módulo
Calcular
Descue.
02'8/22587,1$
02'8/235('(),1,'2
\DH[LVWHHQHOVLVWHPDR
ELEOLRWHFDGHODDSOLFDFLyQ
&21(;,21(6(175( 02'8/26
Las flechas que aparecen entre módulos representan llamadas a subrutinas, indicando mediante la
su dirección cuál módulo llama a cuál.
COMUNICACIÓN ENTRE MODULOS
Get
customer
details
Customer Name
Customer
Account
Number
Account Number OK
Find
customer
name
Flag (señal para indicar que la operación se ejecutó satisfactoriamente)
data couple (envio/retorno de dato)
Finalmente, el diagrama de estructura debe ser acompañado por una descripción de todo lo que
aparece en él, de manera de que el programador encardado de desarrollar el código cuente con
toda la documentación necesaria.
$&23/$0,(172 3DJH
Una de las maneras de medir la calidad del diseño, usando el diagrama de estructura, es
acoplamiento, el grado de interdependencia entre dos módulos. Nuestro objetivo es minimizar el
acoplamiento, es decir hacer que los módulos sena tan independientes como sea posible. Bajo
acoplamiento entre módulos significa que el sistema está bien particionado.
PRINCIPIOS DEL ACOPLAMIENTO: (extraído de Yourdon y Constantine)
Crear conexiones:
1. estrechas (narrow). Que entre dos módulos que se comunican, la información se transmita en
ambos sentidos una sola vez.
2. Directas. Utilizar nombres de conexiones que sean comprensibles directamente por el
observador. Por ejemplo CUST-DETAILS, requiere consultar primero su definición.
3. Locales. Adjuntar a la conexión toda la información requerida para su comprensión, por
ejemplo mediante listas de parámetros. Evitar especificaciones globales de información.
4. Claras, obvias. Utilizar criterios intuitivos que faciliten tareas de mantenimiento posteriores,
evitando definiciones intrincadas (Ej. Nº telefónico con el cod. de área al final).
5. Flexibles. Evitar conexiones rígidas que dificulten tareas de mantenimiento que generalmente
requieren cambios en los enlaces entre módulos y en la información que se transmite de uno a
otro.
CLASES DE ACOPLAMIENTO
1. Acoplamiento normal: Dos módulos, A y B, tiene acoplamiento normal si
x
x
x
A llama a B
B retorna a A
La información se transmite mediante:
x
parámetros incluidos en la llamada (acoplamiento de datos),
x estructuras (stamp coupling)
x controles. Un módulo controla la lógica interna de otro módulo mediante controles
(flags)
Fuera del rango de buena modularidad figuran:
2. Acoplamiento común (o global). Ambos módulos refieren al mismo área de datos
3. Acoplamiento de contenido: Cuando un módulo se ramifica hacia otro, refiere o cambia datos
dentro de otro, o bien altera sentencias en otro módulo.
&2+(6,213DJH
Cohesión es el medida de la fuerza de relación funcional de elementos dentro del módulo. (Revisar
apunte)
Elemento significa una instrucción , un grupo de instrucciones, una definición de datos o bien otro
módulo.
Se trata de aumentar el nivel de cohesión de módulos. Por otro lado los elementos de un módulo
no deben ser fuertemente cohesivos con los de otros módulos.
Tipos de cohesión:
1. Cohesión funcional
2. Cohesión secuencial
3. Cohesión comunicacional
Los que hay que evitar:
4. Cohesión procedural
5. Cohesión temporal
6. Cohesión lógica
7. Cohesión coincidental
Mejor cohesión determina mejor (menor) acoplamiento, que determina mejores sistemas (fáciles
de mantener).
)$&725,=$&,21
Factorización es la separación de funciones que se incluyen en la codificación de un módulo en un
nuevo módulo. Debe llevarse a cabo por alguna de las siguientes razones:
1. Reducir el tamaño del módulo
2. Aprovechar las ventajas del diseño top-down, facilitando la comprensión y modificación del
sistema .
3. Evitar que la misma función la cumplan más de un módulo
4. Separar funciones de cálculos y edición de aquellas de decisión y bifurcación.
5. Aumentar la usabilidad de módulos.
6. Simplificar la implantación.
',9,6,21'('(&,6,21
Una decisión tiene dos partes: la identificación de que acción hacer y la ejecución de la acción.
Ej If customer account number is not known
Then reject whole customer record
Endif
Evite la división de decisiones. La parte de ejecución de la decisión debe mantenerse tan cercana
como sea posible a la parte de reconocimiento, de manera tal que la información de
reconocimiento (ej account number) no tenga que navegar un trecho largo.
)250$6'(6,67(0$6
Para determinar la forma que tiene un sistema es necesario identificar los tipos de módulos,
dependiente a la dirección del flujo de datos. Estos tipos son:
x Afferent: el módulo envía información desde abajo hacia su superior
x Efferent: el módulo envía inforamción desde arriba hacia su subordinado
x transform: el módulo toma información de su superior, y la transforma en información que
retorna al superior
x coordinate: el módulo coordina la comunicación de sus subordinados
Afferent
Efferent
Transform
Coordinate
(67$%/(&(5/26/,0,7(6'(68%6,67(0$63DJH
Hay cuatro tipos de implementaciones de sistemas:
1. Implementación manual
Tiene 3 ventajas:
x No requiere difinición precisa de antemano
x Puede responder a estímulos no previstos
x Es culturalmente más aceptable.
x Desventaja: agotador, sobrecarga de trabajo
2. Implementación Batch vs On-Line
Resulta más conveniente contar con un sistema on-line, ya que es interactivo, discreto, no
programado (unscheduled), concurrente e inmediato. Los sistemas modernos deben ser
enteramente on-line, y solo en casos puntuales se deben programar procesos batch, por ejemplo
resúmenes estadísticos que no cambian en días o semanas.
3. Implementación On-line vs Tiempo Real.
Los sistemas de tiempo real se diferencian de los sistemas en línea, principalmente en el
estímulo que reciben y en la respuesta que generan. En los sistemas de tiempo real, el tiempo de
arribo del estímulo al sistema es en sí información. Por otro lado, la respuesta es una función
crítica en el tiempo. Ej de aplicaciones de sistemas de tiempo real son: misiles de defensa,
monitoreo de radioactividad, ordenamiento del tráfico.
4. Trazar los límites de la implementación.
Utilización de paquetes ya existentes
Conociendo las estadísticas del sistema, tipos de subsistemas y el hardware sobre el cual se va ha
instalar, se puede comenzar a buscar paquetes comerciales que cubran los requisitos del modelo
esencial. El paquete debe:
x Ser capaz de ejecutarse sobre hardware suficientemente grande y poderoso
x Tener suficiente poder y tamaño intrínseco (tablas y archivos)
x Ser capaz de soportar el modelo esencial
x Tener facilidades de adaptabilidad para compensar la omisión de datos y funciones
x Tener facilidades adicionales
Las ventajas de contar con un paquete son:
x Resulta más económico que un desarrollo propio
x Conlleva menos riegos que un desarrollo propio
x Puede estar disponible más rápidamente que un desarrollo propio
Sin embargo:
x Ningún paquete cubre las necesidades exactas del modelo esencial del sistema
x El mejor paquete puede no correr en el software/hardware actual
x No puede ser modificado como un software propio
RESUMEN AUTOR
1) Yourdon/DeMarco
2) Gane&Sarson
3) Yourdon/Constantine
Structure Analysis
Structure Desing
Yourdon
El Diccionario de Datos es un listado organizado de todos los datos pertinentes al sistema, con
definiciones precisas y rigurosas para que tanto el usuario como el analista tengan un
entendimiento común de todas las entradas, salidas, componentes de almacenes y cálculos
intermedios. El DICCIONARIO DE DATOS:
x describe el significado de los flujos y almacenes que se muestran en los DFD
x describe la composición de agregrados de paquetes de datos que se mueven a lo largo de los
flujos (Ej. domicilio está formado por: ciudad, estado y c.p.)
x los valores que puede tomar un dato, y si es elemental o puede descomponerse más.
x Describe los detalles de las relaciones entre almacenes del E-R
x Notación del DICCIONARIO DE DATOS: =,+,( ),[ ], { }, @,| (página 214)
(ejemplo escaneado de Yourdon).
E-R DIAGRAM. RAPID SYSTEM DEVELOPMENT GANE: 77
Recomienda analizar el E-R luego del DFD
Qué datos / entidades son relevantes para el sistema?
Que relaciones se reconocen entre las entidades? (1:1, 1:Many, Many:Many)
Algunos analistas difieren en la identificación de entidades y relaciones. Gane sostiene que es
entidad todo aquello que se almacenará en una o más tablas. Por lo tanto SALE es una entidad y
no una relación entre CUSTOMER y PRODUCTOS.
Cuando se detecta una relación uno a uno, la pregunta es: son ambas entidades realmente
distintas o pueden mezclarse?. Si tienen el mismo identificador (clave), como en el caso de
PRODUCTOS e INVENTARIO, hay una fuerte tendencia a fundirlas en una sola.
Conviene asegurarse de que toda relación1:1 se mantenga así en el futuro, caso contrario se
puede incurrir en errores, por ej. Jefe de División, puede darse el caso de que una persona esté a
cargo de 2 divisiones en forma temporaria.
Supplier
K Supplier-ID
NAME
ADDRESS
Product
?
K Supplier-ID
K Product-ID
PRICE
DELIVERY-TIME
K Product-ID
NAME
WEIGHT
Supplier-ProductOffering
Is assigned to
Employee
Project
Is staffed by
Puede no haber relación
Siempre hay un elemento de la relación
‘‘Un proyecto siempre debe tener como mínimo un empleado’’
Conviene fijar convenciones o criterios para la asignación de nombre a los Data element.
Dominios de los data element: ej temperatura: -273° to 5000°
Domain name:
Data type:
Discrete or continuous
Hight limit
Low limit
Other
PERSON WEIGHT
INTEGER
LENGHT:3
CONTINUOUS
500
80
…
Claves
Simplificación de tablas mediante la normalización (simplificación) (pag 110)
Codd Î teoría de conjuntos de matemáticas
1) Un solo valor por celda, o intersección fila/columna
Dada una relación R, el atributo Y de R es funcionalmente dependiente del atributo X de R, si y
solo si cada valor de X en R tiene asociado un único valor de Y en R.
N° Part Destino
Stock
Tel. Dest.
T232
Corriente 467
312-222-9876
s
T232
Chaco
319
313-675-9786
T232
Bs As.
147
305-745-0945
H995
Chaco
254
313-675-9786
H995
Corriente 784
312-222-9876
s
2) Nos preguntamos
x Cuál es la clave de esta relación?
x Si es una llave concatenada, debemos determinar si :
x Existe algun otra columna que no es clave que dependa de solo una parte de la clave?
x En el ejemplo de 1) tenemos claves concatenadas: N°Part. + Destino
x Para determinar el stock, necesitamos conocer N° Part. + Destino
x Para determinar el teléfono, necesitamos conocer solo Destino
x Decimos que laa tabla no cumple con la segunda forma normal
Un atributo Y de R depende funcionalmente en forma completa de un conjunto de atributos X de R,
si y solo sí, Y no depende funcionalmente de ningún subconjunto propio de X.
A first normal form table is also in second normal form if every non-key column depends on the
whole of the key.
Para evitar esto hay que dividir la tabla en 2 tablas:
Part #, Depot, Stock
Depot, Phone
3) A second normal form table is also in third normal form if no non-key column depends on any
other non-key column. Por ej. si tenemos otra columna de N° de cajas, esta sería función del
stock. Mucho depende de la interpretación que se tenga de los datos. Por ej.
Departamento/Edificio puede o no estar en la 3 forma normal, ya que si se muda el
departamento a otro edificio está todo bien. La simplificación de datos requiere conocer el
negocio o reglas del negocio y los posibles cambios que puedan darse.
4) Un problema con las tablas 3° normal form, aparece cuando una columna que no es key puede
tener múltiples valores para un valor de clave dado. (En el ej. siguiente, resulta difícil
actualizar, si Pepe toma 3 nuevos cursos).
Faculty member
Course-taught
Degree
Pepe
Biologia
AB
Pepe
Estadísticas
BS
Pepe
Estadísticas
MA
Pepe
Estadísticas
PhD
Juan
Estadísticas
AB
Juan
Poetry
Juan
Relativity
Î tengo que dividir en 2
- Faculy-member
Course-taught
- Faculty-member
Degree
A third normal form table is also in fourth normal form if it does not contain more than one multivalued fact about the entity described by the table.
th
th
5) A 4 normal form relation is in 5 normal form when its information content cannot be
contructed from several smaller relations, not having the same key.
FALTA:
JAPON: tablas de desición, DFD, sistema actual, etapas del analisis, importancia de cada etapa
(corrección de fallas a tiempo)
De APUNTES: modelo conceptual canonico, etc
MODELO FISICO DE DATOS
02'(/2'((17,'$' 5(/$&,21<285'21&DS Componentes
1) tipos de objetos
2) relaciones
3) indicadores asociativos de tipo de objeto
4) indicadores de supertipo/subtipo
Tipos de objeto: es la representación en el sistema de algo material del mundo real (clientes,
artículos, empleados).
Objeto: es algo material del mundo real, pero también podría ser algo no material: horarios, planes,
estandares, mapas.
Como descubrir que son los objetos y las relaciones:
1) compresión de la aplicación del usuario
2) entrevista con el usuario
3) cualquier otro tipo de investigación y recolección de información que pueda usar
A partir del DFD, del Diccionario de Datos, de alguna lista fruto del relevamiento efectuado se
procede a la asignación de datos a tipos de objetos. Durante este proceso pueden surgir nuevas
instancias de objetos, relaciones, subtipos y supertipos, etc.
El proceso de eliminar objetos incluídos en otros (datos del hijo y datos del padre) es parte de una
actividad de refinamiento llamada normalización.
NORMALIZACION: producir tipos de objetos, en los que cada instancia consisten en un valor llave
primario que identifica a alguna entidad, junto con un conjunto de valores de atributo
independientes que describen a la entidad de alguna manera.
Eliminar tipos de objetos. Situaciones comunes
1) Tipos de objetos que consisten solo en un identificador
2) Tipos de objetos para los cuales existe una sola instancia
3) Tipos asociativos de objetos flotantes (Por ejemplo: paciente que recibe tratamiento donde el
medicamento es igual para todos los pacientes)
4) Relaciones derivadas
Extensiones al Diccionario de Datos para los Diagramas E-R
Los objetos del DER corresponden con almacenes del DFD
Ej
CLIENTES = {CLIENTE}
CLIENTE = @nombre-del-cliente+domicilio+numero-de-telefono
Compras = la asociacion de un cliente y uno o mas articulos
@identidad-del-cliente+1{@identidad-del-articulo+cantidad-comprada}
El analista rara vez dibuja un DFD perfecto al primer intento; después de pensar sobre el sistema y
luego de entrevistas de seguimiento con el usuario, es inevitable que se encuentren errores en el
DFD que se está examinando
VENTAJAS DE LAS HERRAMIENTAS CASE (PAGE pad. 343)
x Facilitar la edición y modificación de modelos graficos de sistemas
x Preservar la consistencia de modelos
x Imponer estandares
x Monitoreo fácil de proyectos
x Mejorar tareas de dirección
x Facilitar el control
x Soporte de prototipos
DESVENTAJAS
x Las herramientas son costosas
x Favorece al trabajo sobre la computadora alejando al analista del trabajo de campo,
interactuando con el usuario mediante lapiz y papel
x Mal interpretar la herramienta como solución a todos los problemas
ESTADISTICAS (PAGE)
1) Determinar el número promedio de registros por cada almacén de datos
2) Por cada ejecución simple de cada proceso:
x Determinar el número de lecturas, actualizaciones, inserciones y eliminaciones por cada
clave
3) Determinar la cantidad de ejecuciones de cada proceso por período
4) A partir de los valores obtenidos en 2) y 3) calcular la tasa de lecturas, actualizaciones,
inserciones y eliminaciones por cada clave
El diseñador de base de datos utilizará estas estadísticas para decidir sobre la clave primaria,
conveniencia de mantener el ordenamiento de los datos, introducir datos redundantes para reducir
la velocidad de acceso, determinar requerimientos de almacenamiento y necesidades de
reorganización de datos.
1409.924
+0.1
16/07 1418.942
22/07/98 1419.853 +0.287
23/07/98 
Descargar