Inicio > Departamentos > Informática > Análisis de Sistemas II
Inicio
Presentación
Programa
Bibliografía
Docentes
Horarios
Exámenes
Apuntes

MODELO FUNCIONAL.

 CARACTERISTICAS GENERALES.

 El modelo funcional especifica lo que sucede, el modelo dinámico cuándo sucede, y el modelo de objetos sobre qué entidades sucede.

 Define el significado de:

Las operaciones y restricciones del Modelo de Objetos.

Las acciones del Modelo Dinámico.

 Sólo expresa qué valores de salida se derivan de qué valores de entrada.

 Consta de múltiples DFD´ s que muestran el flujo de valores desde las entradas externas, pasando por las operaciones y almacenes internos, hasta las salidas externas.

 DIAGRAMAS DE FLUJOS DE DATOS (DFD'S).

 Notación clásica para definir el Modelo Funcional a través de múltiples DFDs.

 Un DFD muestra la relación funcional de los valores que calcula el sistema.

 Sus elementos fundamentales son:

 Procesos.

 Flujos de Datos (y en ocasiones, de control).

 Entidades Externas (Actores).

 Almacenes de Datos.

Ejemplo de DFD.

 

 PROCESO.

 Un proceso es una transformación de datos.

Los procesos de más bajo nivel son funciones puras sin efectos laterales.

Pueden especificarse matemáticamente o en lenguaje natural.

Un DFD entero puede verse como un proceso de más alto nivel.

El Sistema puede verse como un proceso que se va descomponiendo por niveles.

 Los procesos definen patrones de entradas y salidas.

Se corresponden con operaciones de clases.

El objeto destino suele ser uno de los objetos de entrada, sobre todo si esa misma clase es también un flujo de salida.

 Se representan mediante elipses que contienen una descripción de la transformación, normalmente su nombre.

 ACTORES.

 Son objetos activos que conducen el DFD produciendo o consumiendo sus valores (terminadores).

 Definen los límites (el contexto) del sistema.

Pueden ser usuarios del sistema.

O elementos hardware en Sistemas de TR.

 Representados por un cuadrado con el nombre del actor.

 

 

 FLUJO DE DATOS.

 Representan valores o conjuntos de valores que se transmiten de un cálculo a otro.

 Conectan la salida de un actor o proceso con la entrada de otro.

 Pueden descomponerse o duplicarse para ser entrada de diferentes procesos.

 Varios flujos de datos pueden unirse en uno para convertirse en un dato agregado.

 ALMACENES DE DATOS.

 Objetos pasivos que almacenan datos.

Sólo responden a peticiones de obtener, eliminar o actualizar datos.

 Suelen ser conjuntos de datos heterogéneos a los que se puede acceder en orden diferente al de inserción.

 Se representan por un par de líneas paralelas que contienen el nombre del almacén.

 

 FLUJOS DE CONTROL.

 Un DFD no expresa relaciones temporales, de control, ni orden de ejecución. Sólo muestra los posibles caminos de cómputo.

 Existen funciones de decisión que no proporcionan datos pero sí son desencadenantes de otro proceso.

 Un flujo de control es un valor lógico que expresa un evento necesario para un cálculo.

 Sólo debemos usarlos cuando sean útiles, ya que duplican información del Modelo Dinámico.

 Existen Métodos basados en DFD’s con notaciones extendidas para denotar el control, como CODARTS, para diseño de sistemas de TR distribuidos.

 

 

 Niveles de descomposición de un DFD.

 El proceso de definición del Modelo Funcional es usualmente descendente (top-down).

 Cualquier proceso puede descomponerse como un nuevo DFD que detalla su funcionamiento.

 Cada entrada o salida del proceso debe existir en el nuevo DFD.

 El nuevo DFD puede contener Almacenes que no se mostraban en el DFD de nivel superior.

 Podemos estudiar separadamente cada DFD en cualquier nivel del árbol.

 

 Restricciones de un DFD.

 Muestran relaciones en un instante de tiempo:

Entre dos objetos (Ej.: frecuencia y longitud de onda).

Entre valores de un mismo objeto.

 Estas relaciones pueden ser:

Funciones totales: un valor se calcula a partir del otro.

Funciones parciales: un valor impone restricciones al otro.

 Una restricción sobre los valores (estado) de un objeto a lo largo del tiempo es un invariante.

Ejemplo: una transformación de coordenadas podría especificar que el factor de escala para las coordenadas x e y sea el mismo.

 

 Especificación de Operaciones.

 Cada proceso de bajo nivel es una operación en un objeto.

Un proceso de más alto nivel puede también ser una operación.

Las implementaciones pueden organizarse de otras maneras por motivos de optimización.

 La especificación de una operación incluye:

Signatura (interfaz): Parámetros y valores de retorno.

Transformación: Efectos de la operación.

 Formas de Especificar Operaciones.

 Funciones matemáticas o lenguajes funcionales.

 Tablas de valores de E/S (si sus rangos son finitos y reducidos).

 Pre y postcondiciones de un sistema axiomático.

 Tablas de decisión.

 Pseudocódigo.

 Lenguaje natural.

 Consistencias con otros Modelos.

Muchas veces, hay una correspondencia por niveles.

Un proceso de alto nivel se corresponde con una operación en un objeto compuesto, y sus procesos de segundo nivel corresponden con operaciones sobre los objetos contenidos.

Los Procesos indican relaciones funcionales entre clases.

De entre los flujos de datos entrantes a un Proceso, suele haber uno que es el objeto destino de la operación, y los demás son parámetros, es decir, objetos que son utilizados por el objeto destino. Se dice entonces que el objeto destino es un cliente de los demás, que son proveedores.

 

Los almacenes de datos son clases de objetos pasivos.

Si la entrada de un proceso viene de un almacén de datos, éste suele ser el destinatario de la operación.

 Si la salida de un proceso es un almacén de datos, el almacén es el objeto destino.

Los actores son clases del Modelo de Objetos, y sus flujos de datos, operaciones.

Por su carácter activo, suelen necesitar una definición dinámica.

Los flujos de datos son valores del M.O.

Bien sean datos básicos: números, cadenas, etc.

Bien objetos, que pueden ser los responsables de las operaciones que representan los procesos o parámetros de operaciones sobre otros objetos.