Sei sulla pagina 1di 40

Anlisis Estructurado

Juan Pablo Salazar F.


INFO 265
Fuente: Anlisis Estructurado Moderno
Edward Yourdon
Antecedentes
50s y 60s las organizaciones grandes (Fortune 500) en
EEUU desarrollan sistemas operacionales en entornos
Mainframe.
Sistemas en general son manejados por centros de
procesamiento de datos.
Complejidad y costo creciente de mantencin.
Sistemas no documentados o documentacin no actualizada e
inconsistente (creen posible mantener documentacin
desarrollada con mquinas de escribir?)
80s aparecen herramientas de desarrollo ms
modernas, grandes empresas comienzan a trabajar en
reemplazo de sistemas operacionales.
Antecedentes
Comienzan a masificarse los lenguajes de
programacin estructurados (se sataniza
el GOTO!!!).
Aparece el PC y los entornos grficos.
Es ahora posible terminar con la utilizacin de
especificaciones del tipo Novela Victoriana
(Alguien recuerda a Joaqun Edwards Bello
o a Mariano Latorre?).
Es posible realizar y mantener en el tiempo
los diagramas a un costo razonable.
Antecedentes
Qu suceda antes de contar con herramientas
grficas?
Despus de la segunda o tercera revisin, el analista
se tornaba cada vez ms renuente al cambio.
La especificacin generada no alcanzaba el nivel de
detalle necesario y el programador deba refinar el
anlisis.
Exista un desfase entre la llegada de nuevos
requerimientos y su incorporacin en la
especificacin.
La redundancia en la especificacin textual derivaba
en inconsistencias difciles de detectar a tiempo.
Anlisis Estructurado
Tcnica originalmente pensada para sistemas
monolticos.
Tcnica til especialmente para sistemas
operacionales, donde es posible separar
claramente un problema en 3 componentes
principales, existiendo herramientas apropiadas
para especificarlas:
Datos: Modelo Entidad-Relacin y Diccionario de
Datos.
Funciones: Diagrama de Flujo de Datos y
Especificacin de Procesos.
Comportamiento: Diagramas de Transicin de
Estados.
Diagrama de Flujo de Datos (DFD).
Son de gran importancia en sistemas
operacionales donde las funciones tienen mayor
importancia y son ms complejas que los datos
que manejan.
Tcnicas similares han sido utilizadas
prcticamente casi un siglo por otras ramas de
la ingeniera y por la investigacin de
operaciones (modelos de procesos, relaciones
causa-efecto).
Son bastante intuitivos y fcilmente
comprensibles por usuarios y clientes.
Diagrama de Flujo de Datos (DFD).
Los diagramas caben generalmente en
una pgina y son legibles.
Los diagramas hacen ver el sistema
relativamente simple.
No es necesario leer el documento
completo para comprender aspectos clave
del anlisis.
Los diagramas son mantenibles.
Diagrama de Flujo de Datos (DFD)
Componentes Principales
Burbuja:
Denota un proceso.
En general, su nombre
es una frase sencilla,
cuya palabra principal
es un verbo (indica lo
que hace), por
ejemplo
Calcular_Impuesto.
Preparar
Pastel
Diagrama de Flujo de Datos (DFD)
Componentes Principales
Flujo:
Flecha que entra o
sale de un proceso.
Representa
movimiento de datos.
Cada flujo representa
un nico tem de
datos.
Los flujos pueden
converger o diverger.
Preparar
Pastel
Harina
Azcar
Huevos
Leche
Pastel
Diagrama de Flujo de Datos (DFD)
Componentes Principales
Almacn:
Modela un conjunto de
paquetes de datos en
reposo (archivo, tabla
de una base de datos,
krdex, etc.).
Puede existir como
consecuencia de un
requerimiento
especfico del usuario
o para traspaso de
informacin entre
procesos.
Clientes
Diagrama de Flujo de Datos (DFD)
Componentes Principales
Terminador:
Representa una entidad
externa (personas,
organizaciones, reas, otros
sistemas).
No es necesario ni
conveniente mostrar las
relaciones entre
terminadores en un DFD.
Cajero
Construccin de un DFD
Escoger nombres con significado para procesos, flujos,
almacenes y terminadores.
Identificar roles, no personas.
Evitar verbos ambiguos como hacer, manejar, procesar.
Utilizar trminos del espacio del problema.
Numerar los procesos.
Redibujar los DFDs tantas veces como sea necesario
estticamente.
Evitar los DFD excesivamente complejos.
Diagrama debe caber cmodamente en una hoja normal.
Asegurar la consistencia interna y externa.
Burbujas sin entradas o sin salidas son sospechosas.
Todos los flujos y procesos deben ser etiquetados.
Construccin de un DFD
El resultado debe ser un DFD por
niveles.
1. Diagrama de Contexto.
Una nica burbuja identifica al sistema.
2. Diagrama de Nivel 0.
Identifica los 4-6 mdulos principales.
3. Diagrama de Nivel 1,2..N.
Refina uno de los diagramas del nivel anterior.
Construccin de un DFD
Cuntos niveles?

Deben tener todas las partes del sistema el
mismo nivel de detalle?

Cmo se muestran los almacenes de datos en
los diferentes niveles?

Cmo se realiza la particin del DFD en
niveles?
Construccin de DFDs
Problemas del enfoque descendente:
Parlisis del anlisis.

Fenmeno de los 6 analistas.

Particin fsica arbitraria.
Construccin de DFDs
Enfoque Top-Bottom
Identificar funciones principales del sistema.
Identificar entradas y salidas
Realizar nivelaciones ascendentes y
refinamiento segn sea necesario.
Agrupar procesos relacionados.
Esconder almacenes de datos que debiesen
aparecer en un nivel inferior.
Dividir burbujas preliminares cuando el proceso lo
amerite.
Realizar una breve especificacin de cada
burbuja, una vez que se ha logrado el nivel de
detalle esperado.
Diagrama Entidad-Relacin
En sistemas operacionales puede ser
importante revisar las estructuras de datos
y sus relaciones de manera independiente
de los procesos.
La informacin clave de una organizacin
puede ser responsabilidad de personas
distintas a los dueos de los procesos.
Las relaciones entre los datos no son
posibles de ver claramente en un DFD.
Componentes de un diagrama E-R
Conjuntos de
entidades.
Conjuntos de
relaciones.

Relaciones de
clasificacin
(tipo/subtipo)

Cajeros
Compra
Empleado
Es
Empleado por
Horas
Empleado
Asalariado
Diccionario de datos
Es importante identificar los atributos de
cada uno de los almacenes de datos.
Es importante identificar los atributos que
constituyen las claves primarias y
forneas de cada una de las entidades.
Las relaciones N-M conducen a relaciones
que poseen atributos.
Diagramas de transicin de
estados.
Son relevantes cuando existe comunicacin
asncrona entre procesos.
Son utilizados comnmente en el modelamiento
de sistemas en tiempo real.
Los diagramas incluyen los estados por los que
pasa un sistema y las transiciones entre stos.
En general, tienen un estado inicial, uno o ms
estados intermedios, y uno o ms estados
finales.
Es conveniente dividir los diagramas complejos
en niveles (igual que un DFD).
Diagramas de Transicin de
Estados (DTE)
Estado Inicial.

Estado Final.

Estado intermedio.


Transicin
Ingresado
Generado
Terminado
Reglas para validar un DTE
Todos los estados deben ser alcanzables.
Debe ser posible salir de todos los
estados no finales.
El sistema debe responder, dado cada
estado, a todas las condiciones posibles.
Ejemplo: Meses de morosidad.
Balanceo de Modelos
Historia de los 3 ciegos tocando un
elefante.
Riesgo de desarrollar interpretaciones
inconsistentes de la realidad.
Si los modelos son desarrollados por
diferentes analistas, es posible que tengan
acceso a informacin distinta del problema.
Error ms comn: Definiciones faltantes
en alguno de los modelos.
Balanceo de Modelos
Los almacenes de datos en el DFD deben
corresponder a conjuntos de entidades o
conjuntos de relaciones del modelo E-R o
a archivos de interfaz.
Debe existir coincidencia de nombres
entre los diferentes modelos.
Debe existir coincidencia entre los niveles
de los DFDs y DTEs.
Ejemplo. (Utilizar VISIO Software
DataFlow Model Diagram
1. Ingresar
Pedido
Cajero
Clientes
Detalle de Pedidos
Pedidos
Artculos
Pedido
Actualiza stock
3. Enviar
Pedido
Pedidos no despachados
2. Ingresar
Nuevo Cliente
Datos del cliente
Datos del Cliente
Datos del cliente
Lista de artculos
Cliente
Factura, Gua
Ejemplo2
1. Calcular
races
ax2+bx+c=0
Usuario
b
c
a
Usuario
X1
X2
X1
Usuario
a
Usuario
b
c
X2
1.1 Raz(B2 -
4ac)
1.2 -b
b
1.3 (N+m)/2a
m
n
a
1.4 (N-m)/2a m
n
a
Diseo Estructurado
Juan Pablo Salazar F.
INFO 265
Qu es el Diseo?
Proceso mediante el cual se traducen los requisitos
especificados durante la etapa de anlisis en una
representacin de software, con un nivel de detalle
suficiente de modo tal que permita que su
implementacin sea un proceso ms bien mecnico.
El diseo de un sistema debe abarcar los aspectos
arquitectnico, procedimental y de datos, as como
tambin la definicin de la interfaz hombre-mquina,
elemento fundamental en aplicaciones cliente/servidor.
Dicho proceso tcnico permite traducir con precisin los
requisitos del cliente en un producto o sistema acabado,
de modo de asegurar su calidad.
Cartas de Estructura
Describen al sistema como una jerarqua de
partes y lo muestran grficamente como un
rbol.
Documentan cmo se pueden aplicar los
elementos de un diagrama de flujo de datos
como una jerarqua de unidades de programa.
Un diagrama de estructura muestra las
relaciones entre las unidades de programa sin
incluir ninguna informacin acerca del orden de
activacin de dichas unidades.
Cartas de Estructura
Su simbologa consiste en
Unidades de programa
(mdulos), denotadas por
rectngulos.
Conexiones entre mdulos,
denotadas por flechas.
Paso de parmetros entre
mdulos, denotado por flechas
cuyo origen est en el mdulo
que produce el dato y el destino
est en el mdulo que lo recibe.
Fuentes de datos (archivos o
tablas), denotadas por
rectngulos con bordes laterales
dobles.
A
B C
D
x
w y
z
Tareas principales
Diseo Estructurado
Transformar DFDs en Cartas de Estructura.
Flujo de Transaccin
a
b
c
d
e
f
Control de
transaccin
Camino de
Recepcin
Distribuidor
a b
c
d
e
f
Flujo de Transformacin
Flujo entrante Flujo de transformacin Flujo saliente
Tareas principales
Diseo Estructurado
Acercar diagramas E-R y Diccionario de
Datos al lenguaje de implementacin.
Modelo Fsico, definicin de tipos de datos,
restricciones de integridad.
Diseo de Sistemas Cliente
Servidor y Multicapa
Desafos metodolgicos.
Divisin de funcionalidad o abstracciones
entre cada capa.
Ubicar las reglas de negocio en aquella parte del
sistema que tenga mayor conocimiento respecto
del impacto de dichas reglas.
Proveer mecanismos que permitan ocultar dichas
decisiones.
Lo anterior implica realizar extensiones al proceso
de Anlisis y Diseo Estructurados.
Diseo de Sistemas Cliente
Servidor y Multicapa
Extensin para DFD.
Diseo de Sistemas Cliente
Servidor y Multicapa
Extensin para E-R.
Diseo de Sistemas Cliente
Servidor y Multicapa
Extensin para Cartas de Estructura.
Qu problemas tiene lo anterior?
Diseo de Sistemas Cliente
Servidor y Multicapa
Problemas:
Mantenibilidad.
Mtodo no incorpora necesidad de mdulos adicionales de
interfaz (no es posible ocultar localizacin de los mdulos a
nivel de diseo).
Diseo de Sistemas Cliente
Servidor y Multicapa
Desafos metodolgicos.
Mecanismos de manejo de transacciones.
Se recomienda centralizar el manejo de
transacciones en el servidor.
Las cartas de estructura no proveen mecanismos
que permitan centralizar los accesos al servidor,
stos tendern a quedar dispersos en el cdigo.
No se incorpora notacin especial ni se da
tratamiento particular a elementos de conectividad
(ODBC, ADO, etc.).
Diseo de Sistemas Cliente
Servidor y Multicapa
Desafos metodolgicos.
Diseo de aplicaciones cliente.
El Diseo Estructurado fue desarrollado cuando se
daba mayor importancia al diseo de datos y
procesos y no al de la interfaz a usuario.
Las Cartas de Estructura no estn preparadas
para modelar una interfaz dirigida por eventos.
Solucin: No utilizar Cartas de Estructura para
modelar aplicaciones Cliente.
Ejercicio
Suponga que se requiere un sistema de arriendo de
pelculas en un VideoClub. Suponga que la nica
informacin relevante que interesa registrar respecto de
las pelculas es el ttulo y la cantidad de copias.
Suponga que debe implementar el sistema utilizando
una base de datos relacional que soporta
procedimientos almacenados y un lenguaje visual para
la interfaz a usuario.
Se le pide:
Modelo E-R
DFD del proceso de arriendo de pelculas
Carta de Estructura, indicando qu mdulos quedarn en el
cliente y cules en el servidor.

Potrebbero piacerti anche