Caso Practico DFD PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 10

Construcción Sistemática del DFD

Al desarrollar sistemas grandes y complejos, en general, no existen medios que guíen al


analista de sistemas en el diseño de un DFD. El Analista se sienta en su mesa,
contemplando una hoja de papel, esperando por un momento de inspiración divina o
saturándose de ideas que le son imposibles de expresar todas a la vez. Esta incertidumbre
puede eliminarse intentando aplicar un método de construcción sistemático, asistido por
herramientas complementarias que ayudan a desglosar el problema en partes y tratarlas una
por vez en una manera organizada.
A continuación se desarrollará un ejemplo concreto de construcción sistemática de DFDs. El
método que aplicaremos es descripto de manera informal, a fin de presentar algunas otras
herramientas que asisten en la construcción de un modelo funcional de un sistema, expresado
en una jerarquía de DFDs.
Al desarrollar un sistema, cualquiera fuere su tamaño, es necesario contar en primer término,
con una narrativa textual y una declaración concisa de los objetivos del sistema (la
funcionalidad que se requiere, es decir lo que se espera que el sistema haga), por supuesto
validada con el usuario del sistema (las personas a las que él esta destinado).
A continuación, se presenta una narrativa textual, y su correspondiente declaración de
objetivos, referente al caso de estudio que abordaremos: el desarrollo de un sistema de
información para la administración de un hotel.

Caso de Estudio - Administración Hotelera

Un hotel acepta reservas de habitaciones y exige el pago de un adelanto del 50% de la tarifa
(precio de la habitación * cant. de días). En la operación de reservas, un pasajero, consulta
sobre sus necesidades de alojamiento. El recepcionista, para poder responder, arma un código
según lo que el cliente demande. Con este código verifica la disponibilidad, y se la comunica
al pasajero junto con el precio, o si no tiene lo requerido, pide alternativas. Al confirmar el
pasajero su reserva, el empleado toma los datos personales y le da un número de reserva. Ante
el pago de la reserva, se la registra junto con la fecha de pago y se envía un recibo a vuelta de
correo.
Este hotel tiene un concesionario en el servicio de bar y restaurante, cuyos comensales no
necesariamente están alojados. En el caso que sí lo estén, los vales firmados por los clientes
son procesados por la administración del hotel, que agregará el importe de esas
consumiciones a la factura que emita cuando el pasajero se retire del hotel. Ante el pago de
los clientes se confeccionan y entregan recibos. Una vez por semana la administración
confecciona un informe para el concesionario del bar con el detalle de las consumiciones
realizadas por los clientes, acompañado por el importe correspondiente.
La gerencia, semanalmente recibe un informe de la facturación emitida. A pedido de la misma
se confecciona un informe estadístico de ocupación de habitaciones.

Objetivos Funcionales:
• Administración de Información sobre Reservas.
• Administración de Información sobre Pasajeros.
• Administración de tarifas y ocupación de habitaciones.
• Facturación en línea.
• Generación de Informe Semanal de Servicios.
• Generación de Informe Semanal de Facturación.
• Generación de Estadísticas de Ocupación de Habitaciones.
A partir de esta narrativa, se debe obtener una descripción de los hechos, que ocurren en el
entorno o ambiente en el que el sistema funcionará, y a los que el sistema debe dar una
respuesta preplaneada. Es decir, podemos ver al sistema como un agente que reacciona ante
determinados estímulos que ocurren en su mundo exterior. Una vez conocido lo que estimula
al sistema, nuestra tarea consistirá en planificar sus reacciones acorde con los objetivos.
Utilizaremos, para describir y enumerar los hechos o eventos que estimulan al sistema y que
hacen a este reaccionar, una herramienta denominada lista de eventos.

Construcción de la Lista de Eventos

Para detectar los eventos se deben analizar todas las oraciones de la narrativa, analizando
fundamentalmente, los diferentes sustantivos que aparecen. A partir de ellos podremos
reconocer sujetos externos, es decir entidades que pueden generar estímulos al sistema, y
otros objetos candidatos de los cuales el sistema mantenga información, es decir que
constituirán su memoria esencial.
En la mayoría de los casos, el medio más facil para identificar los eventos relevantes para un
sistema es visualizar al sistema en acción: implica examinar cada sujeto (entidad, agente)
externo y preguntar cual es el efecto que sus acciones pueden tener en el sistema.
Al extraer los eventos de la narrativa y construir la lista de eventos, es necesario tener en
cuenta que un evento:
• Ocurre en el ambiente del sistema (es generado por algún sujeto externo al sistema).
• Genera una respuesta, del sistema, preplaneada.
• Ocurre en un punto del tiempo.

Los eventos detectados se redactan de la siguiente forma:


<sujeto> <verbo> <objeto>
Para los sujetos utilizaremos el artículo indefinido en forma singular (un, una).

Lista de Eventos construida para el Caso de Estudio:


1. Un pasajero realiza un pedido de reserva
2. Un pasajero acepta la reserva
3. Un pasajero paga la reserva
4. Un pasajero cancela la reserva
5. Un pasajero se presenta para alojarse
6. Un pasajero informa que se retira
7. Un pasajero paga la factura
8. El concesionario entrega vale por consumición
9. Es hora de confeccionar el informe para el concesionario y pagar (C.t.: ha pasado una semana desde el último
informe)
10. Es hora de confeccionar el informe de facturación para la Gerencia (C.t.: ha pasado una semana desde el
último informe)
11. La Gerencia realiza un pedido de estadísticas de ocupación
12. La Gerencia envía nuevas tarifas para habitaciones
Además de una descripción de los estímulos a los que el sistema responde, es necesaria
también, una descripción de los límites que separan al sistema de su medio ambiente. Con esta
descripción tendremos una buena comprensión de los alcances que tiene el sistema.
Utilizaremos para describir esto, el Diagrama de Contexto. Este diagrama es un caso especial
del diagrama de flujo de datos, en el cual una única burbuja representa al sistema entero. El
nombre que se le da a dicha burbuja (proceso) es normalmente, el nombre del sistema o una
sigla patrón o modelo.

Construcción del Diagrama de Contexto

La construcción del diagrama de contexto involucra los siguientes pasos:


• Para cada sujeto de la lista de eventos se dibuja una entidad externa.
• Para cada evento, buscar un nombre para el paquete de datos que sirve de estímulo.
• Para cada evento dibujar un flujo de la entidad externa al sistema, colocándole el nombre y
el número de evento que lo genera.
• Dibujar la respuesta del sistema a cada estímulo y colocarle el número de evento
correspondiente. (Si la respuesta es interna, es decir no sale del sistema, no se dibuja. Las
externas se dibujan todas, y pueden ser más de una por evento).
• Por último, se debe controlar la falta de estímulos necesarios, observando otras respuestas en
la narrativa.
Otra herramienta utilizada para describir los estímulos y respuestas del sistema es la tabla de
estímulo-respuesta, que generalmente se construye junto con el diagrama de contexto. Esta
tabla asocia cada estímulo que se produce en el ambiente con las respuestas que el sistema
produce, describiendo además las respuestas internas o actividades que el sistema realiza ante
cada evento.

Diagrama de Contexto y Tabla de Estímulo-Respuesta para el Caso de Estudio

Hasta aquí lo que se ha logrado es comprender mejor el problema, es decir el sistema que
debemos desarrollar. Conocemos los eventos que lo estimulan (Lista de Eventos) y las
respuestas que se generan por cada evento, como así también qué agentes externos están
involucrados (Diagrama de Contexto, figura 4). También tenemos una idea, aunque poco
precisa, de las actividades a desarrollar ante cada evento (respuestas internas en Tabla
Estímulo-Respuesta). Los modelos construidos hasta aquí se denominan comúnmente, en su
conjunto, Modelo Ambiental.
Al final de la etapa de construcción del modelo ambiental también se dispone de una primera
versión del Diccionario de Datos (DD) conteniendo, al menos, una descripción de cada uno de
los flujos de datos del diagrama de contexto. El DD será omitido por simplicidad, y a los
efectos de no saturar la exposición en desarrollo. La construcción del diccionario de datos será
objeto de una sección posterior.
A partir del modelo ambiental tendremos que descubrir y modelar la manera en que el sistema
trata los diferentes eventos que recibe para generar las respuestas deseadas por los agentes
externos y, también, se deben descubrir y modelar los depósitos persistentes que contendrán
la información esencial a ser manejada por el sistema. Esto es, tendremos que modelar todo lo
que acontece en el interior del único proceso del diagrama de Contexto, que representa al
sistema.
Diagrama de Contexto del caso de estudio

En este punto, podríamos aplicar un enfoque clásico de análisis estructurado para


descomposición descendente o top-down [DeMarco; Gane]. Este enfoque propone la
construcción de una jerarquía de DFDs, cada una representando un nivel de abstracción
diferente. Se comienza con la construcción de un DFD de primer nivel (o nivel 1), que
constituye la explosión del diagrama de contexto. Para la construcción del DFD de primer
nivel, el analista (o el grupo de analistas) estudia el diagrama de contexto y crea un DFD (de
nivel 1) sin una estrategia que lo asista. Utilizando su propio conocimiento del problema, o
del tipo de aplicación, y su sentido común, divide al sistema en "Burbujas Importantes"
(representando por ejemplo subsistemas). Estas burbujas importantes, o subsistemas
principales, son particionadas a su vez en otras, representando un nuevo nivel de descripción
acerca del detalle de las transformaciones que el sistema produce sobre los datos que recibe.
Este proceso de descomposición se aplica a cada burbuja en cada nivel, describiéndola con un
nuevo DFD, hasta alcanzar una burbuja que denominaremos “atómica” y que no requiere de
mayor descomposición, y cuyo funcionamiento pueda ser descripto por medio de una técnica
de especificación complementaria (estas se verán en detalle más adelante).
Tabla Estimulo-Respuesta del caso de estudio

Aunque el enfoque clásico de descomposición descendente constituye el pilar fundamental en


el que se apoya el análisis estructurado, en la práctica presenta varios problemas: parálisis e
incertidumbre en el análisis, partición física arbitraria del sistema, etc. Estos problemas se
deben fundamentalmente a la falta de una estrategia robusta que conduzca la descomposición.
Podríamos entonces, utilizar un enfoque más sistemático para hacer frente a los problemas
mencionados, intentando explotar la burbuja del diagrama de contexto utilizando el álgebra de
descomposición de procesos, descripta en la sección anterior.
Utilizaremos sin embargo, otro enfoque, con el objeto de presentarlo quedando su descripción
detallada para la sección que cubre la metodología de Análisis Estructurado Moderno. El
enfoque que utilizaremos aquí se denomina comúnmente Enfoque Medio, o como fuera
llamado por McMenamim y Palmer, “de partición por eventos” .
El enfoque de derivación del DFD por partición de eventos propone desarrollar un Diagrama
de Flujo de Datos Preliminar y al nivel de detalle dado por los eventos en la lista de eventos,
que describirá las transformaciones que el sistema produce sobre los datos como respuesta a
los eventos. Este enfoque, suele denominarse Enfoque Medio debido a que no es una
actividad puramente top-down ni tampoco es puramente bottom-up. Una vez que el DFD
preliminar está listo, puede ser necesario crear algunos niveles superiores (abstracción de
funciones) y/o algunos niveles inferiores (descomposición de funciones).
El DFD construido con este enfoque (DFD preliminar) presenta una burbuja por cada evento
existente en la lista de eventos, y estas burbujas no se comunican directamente unas con otras,
sino que la comunicación se da a través de depósitos de datos. Esto último se debe a que las
burbujas o procesos del DFD preliminar representan funciones que generan las respuestas que
el sistema da ante cada uno de los eventos, y los eventos que ocurren en el medio ambiente
externo son, en general, asincrónicos. Es decir, no hay forma de garantizar que dos eventos
ocurrirán en el mismo instante, o con segundos de diferencia, o con algún otro intervalo
específico de tiempo. Los eventos ocurren cuando tienen que ocurrir, por lo tanto, como la
respuesta a un evento puede requerir de datos producidos por otro proceso atendiendo otro
evento, la única manera de sincronizar los múltiples procesos interdependientes del DFD
preliminar es mediante depósitos de datos.

Derivación del DFD preliminar por eventos

Para cada evento:


• Dibujar una burbuja que se ocupe de él.
• Ponerle un nombre acorde con la transformación que el sistema realiza con el estímulo y
observando la respuesta que debe dar.
• Añadir los flujos existentes en el Diagrama de Contexto, asociados al evento.
• Contestar para cada burbuja la pregunta: ¿Qué datos necesita para producir la respuesta? y
agregar los flujos que se necesiten para aportar estos datos.
• Contestar para cada burbuja la pregunta: ¿Qué otros datos produce? y agregar los flujos que
se necesiten para producir y responder estos datos.
Estas últimas preguntas pueden ser contestadas apoyándose en la narrativa, y en la tabla de
estímulo-respuesta.
A continuación se presenta el resultado de aplicar estos pasos a los eventos en nuestro caso de
estudio.
Luego de desarrollar un diagrama por cada evento se deben conectar los diagramas en uno
único, agregando los repositorios necesarios entre los datos que una burbuja produce y que
otra consume. Conviene tener en cuenta en este paso, que toda información entrante a un
proceso que no proviene del medio ambiente externo, debe provenir necesariamente de un
almacenamiento. Por otra parte, toda información generada que no se emita directamente al
medio ambiente, deberá almacenarse. Este paso puede apoyarse también en la construcción de
un modelo de datos (objeto de estudio de una sección posterior) y en los objetos candidatos a
memoria esencial observados en la lista de eventos, para identificar los repositorios de datos.
En el caso de estudio, los repositorios identificados son: Reservas, Habitaciones, Pasajeros, y
Servicios.

DFD Preliminar – Administración Hotelera

También podría gustarte