metodologías y modelos análisis...
TRANSCRIPT
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
1
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2012.
Mg. María Mercedes Vitturini [[email protected]]
Dpto. Cs. e Ingeniería de la Computación
Universidad Nacional del Sur
Primer cuatrimestre 2012
ANÁLISIS Y DISEÑO DE SISTEMAS
Clase 13: Modelado Funcional – Diagrama de Flujo de Datos (DFD)
Repaso General
Recordamos …
• Los modelos de datos especifican la vista
sobre los datos que van a ser almacenados en
el sistema.
• Los modelos funcionales especifican:
– Por qué y dónde se usan los datos,
– cómo se recopilan los datos,
– cómo se transforman,
– cómo se transmiten,
– etc.
2 AyDS2012 - Clase 13- MMV
Metodologías y Modelos Funcionales
• Modelos del paradigma Orientados a Objetos
– Modelo de Casos de Uso
• Diagrama de Casos de Uso
– Diagrama de Casos de Uso Extendido
• Descripción de Casos de Uso
• Modelos de la filosofía Estructurada
– Diagrama de Flujo de Datos (DFD)
• Diagrama de Contexto.
• Diagrama de Flujo de Datos Extendido (de varios
niveles).
3 AyDS2012 - Clase 13- MMV AyDS2012 - Clase 13- MMV 4
Análisis Estructurado
• Propone 3 modelos:
– Modelo de funcional: modela las
funcionalidades de un sistema (¿Qué funciones
debe ofrecer el sistema?)
– Modelo de datos retenido: modela los datos
que maneja un sistema (¿Qué datos maneja y
como se relacionan?)
• Modelos Entidad/Relación, Relacional y
Normalización
– Modelo de comportamiento en el tiempo:
modela el comportamiento del sistema (¿Cómo
evoluciona un sistema?)
Modelos del Análisis Estructurado
AyDS2012 - Clase 13- MMV 5
Modelo Funcional
Modelo de Datos
Retenidos
Diccio-nario de
Datos
Modelo de
Comportamiento
+ Diagrama de contexto
+ Diagrama de Flujo de Datos (DFD).
+Descripción Estructuradas de
Proceso (DEP).
+Modelo Entidad-Relación
(MER)
+ Modelo Relacional
+Normalización
+ Diagrama de Transición
de Estados (DTE)
Tres modelos centrados en el
Diccionario de Datos El Diagrama de Flujo
de Datos (DFD)
DFD – El modelo funcional para la
metodología estructurada
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
2
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2012.
Modelo Funcional
Modelo de funcional – modela la vista de
funcionalidades ofrecidas por un sistema.
• Es el primer modelado propuesto por la
metodología estructurada.
• Durante el análisis del problema se construyen
• Diagrama de Flujo de Datos (DFD).
• Descripción estructurada de procesos (DEP’s).
• Transversalmente se construye el Diccionario de
Datos
AyDS2012 - Clase 13- MMV 7 AyDS2012 - Clase 13- MMV 8
El Diagrama de Flujo de Datos (DFD)
El diagrama de flujo de datos – es un modelo
donde se especifica el flujo de datos y las
transformaciones que se le aplican al mover desde
las entradas hacia la salidas.
• Pertenece a la vista funcional del sistema para la
metodología estructurada.
• El DFD es un diagrama que la particularidad de
organizarse en niveles según el grado de detalle.
Diagrama de Contexto
AyDS2012 - Clase 13- MMV 9
Sistema de
Inscripción
Exámenes Finales
Alumno
Docente
Alumno
Docente
Materia_código
Turno_Mesa
Novedades_Mesa_examen
Comprobante_de_inscripción
Consulta_Mesas_por_turno_
materia
Reporte_alumnos_inscriptos_a_una_
mesa
Novedades_inscripción_
examen
Diagrama de Contexto: DFD de Nivel 0
Sistema de Actas
de examen
Interfaz_SisIns_SisActas
AyDS2012 - Clase 13- MMV 10
DFD - Componentes
• Procesos: transforman los datos.
• Flujos de Datos: cañerías por donde fluyen los datos
• Terminadores: objetos que producen o consumen los datos.
• Almacenamientos: objetos que almacenan datos pasivamente.
Proceso P1
dato x
Terminador
almacenamiento
AyDS2012 - Clase 13- MMV 11
Registrar Ventas
1.1 Empleado
Ventas
VENTAS
Cerrar Caja 1.2
Empleado Ventas Reporte_Diario_Caja
Ejemplo DFD
ARTICULOS
CLIENTES
AyDS2012 - Clase 13- MMV 12
Procesos
Procesos – realizan la transformación de los flujos
de datos de entrada en los flujos de datos de
salida. La responsabilidad de los procesos es
transformar entradas en salidas.
• Los procesos tienen un nombre que describe la
función que realiza: “verbo en infinitivo + objeto”.
– Ejemplos: Actualizar Clientes; Calcular descuento.
• Los procesos se numeran. El número está en relación con el nivel del diagrama al que pertenece el proceso.
Sinónimos: burbuja, función, transformación.
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
3
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2012.
AyDS2012 - Clase 13- MMV 13
Flujos de datos
Flujo de Datos – es una “tubo” por donde fluye dato o información con estructura conocida.
• Se representan con un arco con dirección que
entra o sale de un proceso.
• Describen el movimiento de bloques o paquetes
de información de una parte del sistema a otra.
• Pueden tener un nombre que debe ser
representativo del flujo.
Ejemplos: factura_número, novedades_clientes, etc.
AyDS2012 - Clase 13- MMV 14
Flujos de Datos
• Los flujos de datos entran o salen de procesos
y conectan al proceso con:
– un terminador, ó.
– un almacenamiento, u.
– otro proceso.
• Observación: los flujos de datos que conectan
procesos con almacenamientos (entrante o
saliente) no llevan nombre.
AyDS2012 - Clase 13- MMV 15
Almacenamientos
Almacenamientos – representan a un depósito de
datos que perduran en el tiempo.
• Cada almacenamiento representa a un conjunto de
datos en reposo con características similares.
• Elementos que se corresponden con
almacenamientos en un sistema manual son
carpetas, ficheros, etc.
• Los almacenamientos pueden responder a un
requerimiento del usuario, o por algún aspecto
conveniente de la implementación del sistema.
Sinónimos: archivos, bases de datos. AyDS2012 - Clase 13- MMV 16
Flujos de Datos y Almacenamientos
• Los almacenamientos pueden:
– Escribirse con flujos de datos que vienen desde
los procesos al almacenamiento:
• Para agregar nuevos datos.
• Para borrar algunos de los datos existentes
• Para modificar el contenido de los datos existentes.
– Leerse con flujos de datos que salen desde el
almacenamiento y llevan la información hacia el
proceso que lo requiere.
P1 Almacen.
P1 Almacen.
AyDS2012 - Clase 13- MMV 17
Almacenamientos
• Los almacenamientos son pasivos:
– Los datos no viajan a los largo del flujo, a menos
que el proceso lo solicite.
– En el caso de escritura de un almacenamiento, es
el proceso el responsable de realizar los cambios.
• Los flujos conectados a un almacenamiento, sólo
pueden transportar los datos que el
almacenamiento guarda. Por esta razón los flujos
de datos desde/hacia almacenamiento no se
etiquetan.
AyDS2012 - Clase 13- MMV 18
Terminadores
Terminadores – representa a personas, sistemas u
organizaciones fuera del contexto del sistema
– Ejemplos: empleado de atención al público, departamento de
ventas, sistema de contabilidad, etc.
Características:
• Son externos al sistema.
• Los flujos con ellos representan la interface del sistema.
• No es posible que el analista o el sistema cambie el
contenido de un terminador, o la manera en que trabaja.
• Las relaciones entre terminadores no se muestran en el
DFD.
Sinónimos: Entidad Externa, (Actor en AOO)
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
4
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2012.
El diagrama de contexto
Recordamos:
• El diagrama de contexto es un modelo gráfico
del producto y sus límites para representar el
alcance del sistema.
• Se suele construir durante la primer etapa del
ciclo de vida de un proyecto.
• Es el primer diagrama de flujo de datos y
también se lo conoce como diagrama de flujo de
datos de nivel 0.
19 AyDS2012 - Clase 13- MMV
Ejemplo Diagrama de Contexto
AyDS2012 - Clase 13- MMV 20
Sistema de
Inscripción
Exámenes Finales
Alumno
Docente
Alumno
Docente
Turno_y_materia
Turno_y_materia
Novedades_Mesa_examen
Comprobante_de_inscripción
Consulta_Mesas_por_turno_
materia
Reporte_alumnos_inscriptos_a_una_
mesa
Novedades_inscripción_
examen
Sistema de Actas
de examen
Interfaz_SisIns_SisActas
El Diagrama de Flujo de Datos
• El Diagrama de Contexto (DC) es un caso
particular de Diagrama de Flujo de Datos (DFD).
• Vamos a ver:
– Que el DFD es un diagrama de varias “hojas”.
Cada hoja del diagrama está asociada a un “nivel
del DFD”.
– La primer hoja del DFD es el DC que se conoce
como “DFD de nivel 0” o “contexto”.
21 AyDS2012 - Clase 13- MMV AyDS2012 - Clase 13- MMV 22
Ejemplo: Venta Electrónica de Material Bibliográfico (VEMB)
Descripción:
• La funcionalidad es de uso público, pero se requiere que
los clientes estén registrados previamente.
• Los clientes podrán opcionalmente efectuar pedidos de
compra de uno o más libros.
• Cuando el cliente confirma el pedido deberá ingresar la
forma de pago y el domicilio donde enviar el pedido. El
sistema responde por mail informando el número de pedido
y el detalle de la compra.
• Desde el departamento de ventas en cualquier momento
podrá emitir un informe de los pedidos de compra de un
período informado por él.
DFD de Nivel 1
AyDS2012 - Clase 13- MMV 23
Actualizar _Clientes
1
Cliente Web
Registrar_Pedidos
2
Novedades_registración
Clientes
Pedidos
Confirmar_Pedido
3
Cliente Web
Notificación_recepción
Generar Reporte Ventas
4
Departamento Ventas
Libros
AyDS2012 - Clase 13- MMV 24
Diagrama de Flujo de Datos
• El modela la vista funcional de un sistema.
• La funcionalidad completa de un sistema puede
requerir de varias burbujas o procesos (por
ejemplo más 20).
• Un diagrama de más de 6 (+ - 4) burbujas no
resulta claro y pierde efectividad.
• La solución está en dividir el problema en sub-
problemas permite mostrar al sistema en
término de las piezas que lo componen,
organizados en niveles
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
5
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2012.
AyDS2012 - Clase 13- MMV 25
Niveles del DFD
• Que el DFD es un diagrama de varias “hojas”. Cada
hoja del diagrama está asociada a un nivel del DFD.
• Cada nivel proporciona sucesivamente más
detalles sobre una porción del nivel anterior.
• Niveles:
– Nivel Top
– Nivel Bottom
– Niveles intermedios
AyDS2012 - Clase 13- MMV 26
Niveles del DFD
• El nivel top es el llamado Diagrama de Contexto o
Diagrama de Nivel Cero. Consta de una sola
burbuja, que tiene el nombre del sistema.
• En el Diagrama de Contexto se muestran todos los
terminadores y las interfaces con ellos.
• El nivel que sigue, Nivel Uno, se muestran las
principales funciones del sistema y las interfaces
entre ellas.
• En el Nivel Dos, si individualizan las
funcionalidades de cada función del sistema.
• …
AyDS2012 - Clase 13- MMV 27
Diagrama de Contexto
Sistema XXX
A
B
C
A
FE_1
FE_2
FE_3
FS_1
FS_2
AyDS2012 - Clase 13- MMV 28
Diagrama de Nivel 1
Varios procesos que se
numeran .
Se dibujan en una hoja.
Primer división
funcional del sistema
P_1 P_2
P_3
P_4
P_5
archivo
FE_1
FE_2
FE_3
FS_1
FS_2
AyDS2012 - Clase 13- MMV 29
Nivel 2 - Proceso 3
P_3.1 P_3.3
P_3.2
P_1 P_2
P_3
P_4
P_5
archivo
FE_1
FE_2
FE_3
FS_1
FS_2
AyDS2012 - Clase 13- MMV 30
Tipos de Procesos
• Así en un DFD se pueden distinguir
– Procesos no primitivos: son los que van a
permitir definir próximos niveles en el DFD
(“explotan” en próximos niveles).
– Procesos o funciones primitivas: son aquellos
procesos con funcionalidad atómica.
• El limite de cuando se llego a una burbuja
primitiva no esta formalmente definido. Dependerá
de la política de documentación adoptada.
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
6
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2012.
Balanceo entre niveles
• El nivel n de un DFD debe balancear con su
nivel n+1:
– Todos los flujos que de entrada al proceso de
nivel n deben aparecer como flujo de entrada de
algún proceso de nivel n+1
– Todos los flujos que de salida del proceso de
nivel n deben ser flujo de salida de algún proceso
de nivel n+1.
31 AyDS2012 - Clase 13- MMV
Balanceo entre niveles
32 AyDS2012 - Clase 13- MMV
P_1
archivo
FE_1
FE_2
FS_1
P_1.1
archivo
FE_1
FE_2
FS_1 P_1.2
Nivel 1 Nivel 2
Organización del DFD en niveles
Un esquema de organización del DFD (convención)
• Un nivel para el Diagrama de Contexto.
• Un nivel para la división del sistema en subsistemas
(cuando el tamaño del sistema lo justifica).
• Un nivel para los módulos principales (actualizar
entidades, registrar eventos, resolver consultas,
generar informes, otros).
• Un nivel para la descomposición de los módulos en
sus funcionalidades detalladas.
33 AyDS2012 - Clase 13- MMV
El DFD + el DD
El DFD sin su DD no es un medio de
comunicación efectivo
AyDS2012 - Clase 13- MMV
El modelo funcional • La especificación funcional completa incluye:
– Diagrama de Flujo de Datos (DFD) +
– Diccionario de Datos (DD)+
– Descripción Estructurada de Procesos (DEP´s).
• El DFD solo no es una especificación suficiente.
– ¿Qué información tienen los flujos y
almacenamientos?
– Rta: Consultar el Diccionario de Datos.
35
Entradas en el DD
• En el DD deben existir entradas que describan:
– Cada uno de los flujos de datos con nombre del
DFD (entrada y salida)
– La composición de los almacenamientos.
– La composición de cualquier tipo estructurado de
un flujo o almacenamiento.
– Los datos elementales.
36 AyDS2012 - Clase 13- MMV
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
7
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2012.
AyDS2012 - Clase 13- MMV 37
Ejemplo: Flujo de Datos • Nombre: Nodedades_clientes
• Composición:
Novedades_clientes = [cliente_tipo-doc +
cliente_nro-doc + cliente_nombre +
cliente_dirección |
cliente_tipo-doc + cliente_nro-doc |
cliente_tipo-doc + cliente_nro-doc +
(cliente_nombre) + (cliente_dirección )]
AyDS2012 - Clase 13- MMV 38
Ejemplo: Almacenamientos de Datos
• Nombre: Clientes
• Composición:
clientes = cliente_tipo-doc + cliente_nro-
doc + cliente_nombre + cliente_dirección
+ cliente_fecha-alta
AyDS2012 - Clase 13- MMV 39
Ejemplo: Dato Elemental • Nombre: estado_civil
• Tipo: alfanumérico
• Longitud: 1
• Subconjunto válido / Significado
– S : soltero D : divorciado
– C : casado P : separado
– V : viudo O : otro
• Fórmula de Cálculo
• Unidad:
Guía para la construcción del DFD
Una propuesta para construir el diagrama
AyDS2012 - Clase 13- MMV 41
Pautas para Construir un DFD • Las siguientes reglas ayudan a confeccionar DFD´s
más claros:
1. Identificar entidades externas al sistema.
2. Identificar las entradas y salidas del sistema.
3. Elegir cuidadosamente los nombres para cada uno de los elementos del diagrama (procesos, flujos, etc.)
4. Numerar los procesos.
5. Revisar el diagrama con el usuario y volver a dibujarlo tantas veces como sea necesario.
6. Evitar DFD complejos y hacer uso de los niveles.
7. Estar preparado para corregir el modelo. AyDS2012 - Clase 13- MMV 42
I. Identificar entidades externas
• Ligado a la definición del alcance o contexto del
sistema.
• Identificar las personas o sistemas que van a
interactuar con sistemas y cómo (aportando y/o
consumiendo los datos que éste genere).
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
8
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2012.
AyDS2012 - Clase 13- MMV 43
II. Identificar las entradas y salidas del Sistema
• Ligado a la definición del alcance o contexto del
sistema. Se determina ¿qué información
requiere y genera el sistema?
• En caso de duda, “aclarar” con el usuario.
• El primer resultado es el diagrama de contexto.
AyDS2012 - Clase 13- MMV 44
III. Elegir cuidadosamente nombres
• No poner como nombre de proceso a nombres
de personas o sectores. Lo importante es la
tarea que se realiza y no quién la realiza.
• Elegir verbos que indiquen la acción específica
para los nombres de procesos. No verbos vagos,
como por ejemplo: procesar, manejar, hacer, ...
• No usar abreviaturas en los nombres.
• No usar términos de computación.
• Usar nombres claros, que den idea del
significado del componente.
AyDS2012 - Clase 13- MMV 45
Ejemplos de nombres
• Procesos: un verbo en infinitivo más un objeto.
– Ejemplos: Actualizar_Clientes, Calcular_Descuento
• Flujos de datos:
– Ejemplos: Novedades_Clientes, Cliente_Código,
Reporte_Alfabético_Clientes
• Almacenamientos: nombres representativos de la
información que tienen.
– Ejemplos: Clientes, Vendedores, Alquileres
• Terminadores: nombres del dominio de aplicación
– Ejemplos: Encargado_Compras, Clientes, Empleado_
Atención_al_Público
AyDS2012 - Clase 13- MMV 46
IV. Numerar los procesos
• Designar un número por proceso.
• Usar numeración jerárquica en base a los niveles
del DFD.
• La numeración no da idea de orden de proceso.
Se usa para referenciar a los procesos.
• Ejemplo:
– Si un proceso lleva el número 3.4 podemos afirmar que
se trata de un proceso que pertenece al segundo nivel
del DFD y que ese nivel está asociado con la
“explotación” de la burbuja 3 del nivel anterior.
AyDS2012 - Clase 13- MMV 47
V. Evitar los DFD´s complejos
• Un propósito del DFD es que debe ser leído y
comprendido por el usuario.
• El diagrama debe ser fácilmente entendido,
fácilmente asimilado, y placentero a la vista:
– No definir demasiados procesos en un nivel.
– Evitar en la medida de lo posible cruzar flujos en un
nivel.
– Ubicar las entradas a la izquierda y las salidas a la
derecha.
– El DFD debe caber cómodamente en una hoja.
– Usar 7 + -2 como límite. La excepción es el Diagrama
de Contexto. AyDS2012 - Clase 13- MMV 48
VI. Volver a dibujar el DFD
• Se debe dibujar tantas veces como sea
necesario, hasta que:
– Sea técnicamente correcto.
– Sea aceptado por el usuario.
– Sea claro, como para mostrarlo a los usuarios de
primer nivel.
• Pregunta Yourdon:
– ¿Le gustaría a usted volar en un avión diseñado por
ingenieros que se aburrieron de sus dibujos de
ingeniería luego de la segunda iteración?
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
9
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2012.
Temas de la Clase de Hoy
• Análisis Estructurado el DFD – Componentes,
– Niveles y balanceo entre niveles
• Relación entre el DFD y DD.
• Bibliografía: – “Análisis Estructurado Moderno”. Edward Yourdon –
Capítulos 8 y 9.
49 AyDS2012 - Clase 13- MMV