Metodologías + Modelo Análisis Estructurado

Post on 02-Jul-2022

30 views 0 download

Transcript of Metodologías + Modelo Análisis Estructurado

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 2013.

Mg. María Mercedes Vitturini

[mvitturi@cs.uns.edu.ar]

Dpto. Cs. e Ing. de la Computación

Universidad Nacional del Sur

ANÁLISIS Y DISEÑO DE

SISTEMAS

Clase XIII:

Modelo Funcional

Estruturado Primer Cuatrimestre 2013

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 + Modelo Funcional

• 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 tres modelos:

– Modelo de funcional: modela las

funcionalidades de un sistema (¿Qué funciones

debe ofrecer el sistema?)

– Modelo de datos retenidos: 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 Diagrama de Flujo de

Datos (DFD)

DFD – El modelo funcional de 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 2013.

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

Diagrama de Flujo de Datos-DFD

El diagrama de flujo de datos – es un modelo que

se centra en especificar el flujo de datos y las

transformaciones que se les aplican desde las

entradas hacia la salidas.

• Pertenece a la vista funcional del sistema para la

metodología estructurada.

• El DFD es un diagrama que tiene 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 a 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 2013.

AyDS2012 - Clase 13- MMV 13

Flujos de datos

Flujo de Datos – es una “tubo” por donde fluye datos 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.

• Todo flujo de datos debe tener su entrada en el DD.

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.

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.

• Los almacenamientos en un sistema manual se

corresponden con carpetas, ficheros, etc.

• Los almacenamientos responden a un requerimiento

del usuario o a algún aspecto conveniente de la

implementación del sistema.

• La estructura de los almacenamientos se describe en

el DD

Sinónimos: archivo, base de datos. AyDS2012 - Clase 13- MMV 16

Flujos de Datos y Almacenamientos

• Los almacenamientos pueden:

– Escribirse con flujos de datos que van 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 2013.

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

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

AyDS2012 - Clase 13- MMV 23

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 24

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.

• …

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 2013.

AyDS2012 - Clase 13- MMV 25

Diagrama de Contexto

Sistema XXX

A

B

C

A

FE_1

FE_2

FE_3

FS_1

FS_2

AyDS2012 - Clase 13- MMV 26

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 27

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 28

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.

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.

29 AyDS2012 - Clase 13- MMV

Balanceo entre niveles

30 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

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 2013.

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.

31 AyDS2012 - Clase 13- MMV AyDS2012 - Clase 13- MMV 32

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.

Modelo de Datos

Modelo Relacional

(almacenamientos)

• Cliente (usuario,

nombre, email)

• Pedido (nro_pedido,

fecha, forma_pago,

mail_envío, dom_envio,

estado, usuario)

• Libro (isbn, título, precio)

• Renglon_Pedido

(nro_pedido, isbn,

cantidad)

AyDS2013 - Clase 12- MMV 33

Cliente Pedido

Libro

ped_cli

Renglon_pedido

Usuario, Nombre, email

Nro_pedido, fecha, Forma_pago mail_envio, dom_envio Estado

isbn, titulo, precio

cantidad

Funcionalidad

• Entidades

– Clientes Actualizar Clientes

– Libros Actualizar Libros

• Actividades

– Pedidos Registrar Pedido

– Cancelar Pedido

• Informe

– Informe pedidos de un período

– Mail confirmación

AyDS2013 - Clase 12- MMV 34

AyDS2013 - Clase 12- MMV 35

Diagrama de Contexto

1

2 3

Nivel 1

AyDS2013 - Clase 12- MMV 36

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 2013.

Nivel 2 – Actualizar Entidades

AyDS2013 - Clase 12- MMV 37

1,1

1,2

AyDS2013 - Clase 12- MMV 38

Nivel 2 – Registrar Eventos

2,1

2.2

2,3

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.

40

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.

41 AyDS2012 - Clase 13- MMV AyDS2012 - Clase 13- MMV 42

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 )]

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 2013.

AyDS2012 - Clase 13- MMV 43

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 44

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 46

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 47

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).

AyDS2012 - Clase 13- MMV 48

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.

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 2013.

AyDS2012 - Clase 13- MMV 49

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 50

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 51

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 52

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 53

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?

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.

54 AyDS2012 - Clase 13- MMV