Curso de Fundamentos de
Ingeniería del Software
Parte VII: Modelado funcional (OMT
de Rumbaugh)
Dr. Pedro Pablo González
e-mail: [email protected]
El modelado funcional en OMT
Descripción del módulo
El modelado funcional
Especificación de operaciones Diagramas de
El modelado funcional en OMT
El modelado funcional
• El modelado funcional describe los cálculos existentes dentro del
sistema, mostrando la forma en que se derivan los valores producidos en el cálculo a partir de los valores introducidos, sin tener en cuenta el
orden en el cual se calculan los valores.
• Consta de múltiples diagramas de flujo de datos, que muestran el flujo de valores desde las entradas externas, a través de las operaciones y almacenes internos de datos hasta las salidas externas. Este también incluye restricciones entre valores dentro del modelo de objetos.
• Es decir, mientras el modelo del objeto especifica a qué le sucede y
El modelado funcional en OMT
El modelado funcional
• El modelado funcional abarca dos principales tareas:
•
El modelado del flujo de datos (diagramas de flujo de
datos).
El modelado funcional en OMT
Diagramas de flujo de datos
El modelado funcional en OMT
Diagramas de flujo de datos
Diagramas de flujo de datos genérico
E1
E2
E3 P1
E1 P2
P3 P4
P5
El modelado funcional en OMT
Diagramas de flujo de datos
Notación
El rectángulo representa una entidad externa originadora o receptora de información
El círculo representa un proceso
La flecha representa un flujo de datos
El modelado funcional en OMT
Diagramas de flujo de datos: elementos
• Las entidades externas originadoras y receptoras de información son objetos actores que producen y reciben datos.
• Los procesos se implementan como métodos (o fragmentos de métodos) de operaciones que se aplican a clases de objetos.
• El flujo de datos conecta la salida de un objeto o proceso con la entrada de otro objeto o proceso. Este representa un valor de datos intermedio dentro de un cálculo que no es modificado por el flujo de datos. La
misma salida de un proceso puede ser enviada a diferentes objetos o procesos.
El modelado funcional en OMT
Refinamiento del diagrama de un flujo de datos
• En un DFD cada una de las burbujas puede ser refinada o estratificada para describir más detalles.
Reglas para el refinamiento de un DFD
• El modelo del flujo debe ser representado en diferentes niveles de
abstracción. Esto es, cada nivel debe elaborar sobre el nivel precedente, mostrando más detalles.
• El flujo de datos o control mostrado en un nivel debe ser mantenido en los niveles más bajos.
• El primer nivel de un modelo de flujo debe contener una única burbuja que represente la función del elemento software completo.
• Una regla empírica para la expansión entre niveles es que una burbuja en el nivel n debe expandir aproximadamente entre tres o cinco
El modelado funcional en OMT
Refinamiento del diagrama de un flujo de datos
F A B F1 F2 F3 F4 F5 F6 F7 F41 F43 F42 F44 F45 A B V W Y X Z P Q R X Y Z e g f h
Nivel de mayor abstracción
Nivel de mayor detalle
Nivel de refinamiento
Diagrama de flujo de datos: Sistema VUELA (nivel 1)
Usuario Sistema VUELA
Datos del itinerario de vuelo
Datos personales
Sistema de Autorización
de pago
Autorización de pago Datos de la Tarjeta de
Crédito Usuario
Sistema de Autorización
de pago
Comprobante de reservación
y factura Solicitud de autorización
Diagrama de flujo de datos: Sistema VUELA (nivel 2)
Usuario Vuelo Reservación BD Vuelos Pago Datos del itinerario de vuelo Datos del vueloDatos de los vuelos disponibles BD Reservaciones Datos personales
Datos de la reservación Datos de la
reservación
Sistema de Autorización
de pago
Autorización de pago Datos de la Tarjeta de
Crédito Usuario Sistema de Autorización de pago Comprobante de reservación y factura
Solicitud de autorización
Diagrama de flujo de datos: Sistema VUELA (nivel 3)
Usuario Establecer itinerario de vuelo Seleccionar vuelo BD Vuelos Crear reservación Datos del itinerario de vuelo Datos del itinerario de vueloDatos de los vuelos disponibles Datos del vuelo particular Completar y registrar reservación BD Reservaciones Datos
personales reservaciónDatos de la
Datos de la reservación Asiento y otras
preferencias Sistema de Autorización de pago Pagar reservación
Datos de la reservación
Autorización de pago Datos de la Tarjeta de
Crédito Usuario Sistema de Autorización de pago Comprobante de reservación y factura Solicitud de
Diagrama de flujo de datos: Cajero Automático (nivel 1)
Usuario
Cajero Automático Código de
banco código de tarjeta
Tarjeta bancaria
Banco
Usuario
Banco
Contraseña, tipo de cuenta, tipo de transacción, monto
Autorización
Dinero, recibo, mensajes
Diagrama de flujo de datos: Cajero Automático (nivel 2)
Usuario
Procesar entradas
Efectuar transacción
Generar salidas
Código de banco código
de tarjeta
Tarjeta bancaria
Banco
Usuario
Banco
Contraseña, tipo de cuenta, tipo de transacción, monto
Autorización
Dinero, recibo, mensajes
El modelado funcional en OMT
Especificación de operaciones
• Los procesos de los diagramas de flujo de datos deben ser
implementados eventualmente como operaciones que se aplican a
objetos. Todo proceso atómico del más bajo nivel es una operación. Los procesos de nivel superior también se pueden considerar operaciones. Toda operación se puede especificar de diferentes formas, entre las que se encuentran:
• Funciones matemáticas.
• Tablas de valores de entrada y salida.
• Ecuaciones que especifican la salida en términos de la entrada.
• Condiciones previas y posteriores (definición axiomática).
• Tablas de decisión.
• Pseudo código.
El modelado funcional en OMT
Especificación de operaciones
• La especificación de una operación incluye una signatura y una transformación.
• La signatura define la interfaz de la operación: los argumentos que
requiere (número, orden y tipos) y los valores que proporciona (número, orden y tipos).
El modelado funcional en OMT
Especificación de operaciones: Sistema VUELA
Especificación de la operación establecerItinerario
establecerItinerario () {
introducir tipo de vuelo (sencillo, redondo);
introducir clase (turista, negocios, primera clase); introducir aeropuerto ciudad de origen;
introducir fecha de vuelo de ida;
introducir aeropuerto ciudad de destino; introducir fecha de regreso;
El modelado funcional en OMT
Especificación de operaciones: Sistema VUELA
Especificación de la operación seleccionarVuelo
seleccionarVuelo (itinerario) {
buscar en la BD Vuelos todos los vuelos que coincidan con el vuelo de ida especificado en itinerario;
listar en pantalla todos los vuelos de ida encontrados;
buscar en la BD Vuelos todos los vuelos que coincidan con el vuelo de regreso especificado en itinerario;
listar en pantalla todos los vuelos de regreso encontrados; seleccionar vuelo de ida deseado;
El modelado funcional en OMT
Material consultado
• Rumbaugh, J. Blaha, M., Premerlani, W., Eddy, F. y Lorensen, W.
Modelado y Diseño Orientado a Objetos: Metodología OMT,
Prentice Hall, 1996.
• Jacobson, I., G. Booch, J. Rumbaugh. El Proceso Unificado de Desarrollo de Software, Pearson Addison Wesley, Madrid, 2000.
• Fowler, M. UML gota a gota, Pearson Addison Wesley, 1999.