Sistemas Administrativos II –Modelo de Comportamiento Unidad 4: MODELO DE COMPORTAMIENTO OBJETIVO DEL MODELO DE COMPORTAMIENTO Describir las respuestas que debe dar el sistema. CARACTERÍSTICAS DEL MODELO DE COMPORTAMIENTO El modelo de comportamiento está compuesto por el Esquema de transformaciones y el Esquema de datos. Se deberá determinar cuál de los dos esquemas es el dominante para después desarrollarlo primero. El esquema dominante será aquel que por sí mismo describa mejor el comportamiento del sistema (es decir proporciona mayor cantidad de información). ESQUEMA DE TRANSFORMACIONES OBJETIVO DEL ESQUEMA DE TRANSFORMACIONES Describe las transformaciones que el sistema produce como respuesta a los estímulos. CARACTERÍSTICAS DEL ESQUEMA DE TRANSFORMACIONES Es una visión activa del sistema, y necesita mostrar: • Las transformaciones. • Lo que se transforma. • De dónde viene y a dónde va lo transformado. • Qué se almacena. • Detalles de las transformaciones. • Detalles de los datos. La mayor parte de las herramientas que se describen a continuación son gráficas y todas son estructuradas, utilizan un conjunto reducido de símbolos y/o reglas que permiten reducir la ambigüedad y la distorsión en la comunicación de información durante la construcción de sistemas. 1 Sistemas Administrativos II –Modelo de Comportamiento DIAGRAMA DE FLUJO DE DATOS (D.F.D.) CARACTERÍSTICAS DEL DIAGRAMA DE FLUJO DE DATOS Esta herramienta permite expresar el funcionamiento de un sistema (existente o no) obteniendo un modelo que describa la situación desde el punto de vista del fluir de los datos que es el más útil. En un D.F.D. se ve el conjunto de caminos por los que pueden transitar los datos y se asume que el sistema se encuentra en actividad. El uso de un D.F.D. permite mostrar al sistema como un conjunto de particiones del mismo y sus interrelaciones, que pueden ser flujos y/o almacenamientos. Un D.F.D. muestra los procesos, almacenamientos y las necesidades de información de los procesos para que estos puedan operar. Las características principales de esta herramienta son: • Es una herramienta gráfica. • Es particionable (lo que significa que permite mostrar detalles del proceso). • Enfatiza el flujo de datos. Las ventajas del uso de un D.F.D. son: El sistema en estudio puede ser observado con distintos niveles de detalle. Cada página es una representación completa de lo que se está analizando (no existen conectores). Posibilita una representación uniforme de todos los documentos involucrados. Sirve como material de discusión con el usuario para detectar errores de interpretación. Posibilita una buena comunicación dentro del grupo de desarrollo y de mantenimiento. Pueden construirse D.F.D. con distinto grado de detalle. Construimos un D.F.D. de nivel superior, varios de nivel medio que muestran detalles de burbujas de D.F.D. de nivel superior y por último, tendremos un D.F.D. de nivel inferior, con burbujas que ya no convienen ser descompuestas conocidas con el nombre de primitivas funcionales. Existen algunos puntos sumamente importantes a tener en cuenta cuando se construye un D.F.D. El D.F.D. hijo debe mostrar una vista detallada de la burbuja padre. Deberá existir balanceo, lo que significa que la red de entradas y salidas de un D.F.D. hijo debe ser igual a la de la burbuja padre, puede no cumplirse esta regla en el caso de condiciones de excepción que figuran en el D.F.D. hijo y no en la burbuja padre. El D.F.D. hijo recibe el número de la burbuja padre además de agregar un punto decimal y un número único local. Los almacenamientos son mostrados por primera vez en un D.F.D., cuando son usados como interfaces entre dos procesos y no antes; en el nivel donde se muestra, deben indicarse todas las referencias de entrada y salida al mismo. 2 Sistemas Administrativos II –Modelo de Comportamiento No deben existir almacenamientos actualizados y nunca leídos, o leídos y nunca actualizados. No existe una regla que determine el número máximo de burbujas por nivel de D.F.D., deberá ser tal que no dificulte la comprensión del D.F.D., una cantidad razonable de burbujas es siete (más / menos dos), pues se asegura que es esta la cantidad de elementos máxima que puede manejar un ser humano. La herramienta D.F.D. está formada por tres símbolos y una serie de reglas de construcción. FLUJO DE DATOS Muestran la comunicación entre las componentes de un D.F.D., y es representado por una línea con una flecha y un nombre. Se la puede asimilar a una cañería a través de la cual fluyen paquetes de información de composición conocida. El nombre del flujo debe indicar la información y no el soporte físico de la misma (la idea es escribir datos cliente, y no carpeta del cliente) Dos flujos pueden tener el mismo nombre si transportan información de igual tipo y calidad. Dos flujos con la misma composición de información pueden tener distintos nombres, si la calidad de dicha información es distinta (por ejemplo datos cliente y datos cliente validado). Un flujo de datos puede diverger y converger. Los flujos de datos hacia o desde almacenamientos, no deben tener nombre pues el nombre del almacenamiento será suficiente para indicar el contenido, el flujo sólo indica la accesibilidad. Los flujos de datos deben tener una dirección única entre burbujas, pueden tener doble dirección entre burbuja y almacenamiento. Los flujos de datos por excepción y/o error, cuando aparecen por primera vez se marcan con una X antes de la flecha. 3 Sistemas Administrativos II –Modelo de Comportamiento PROCESOS Los procesos muestran la transformación de los flujos de datos de entrada en los flujos de datos de salida. El nombre debe dar una muy buena idea de qué es lo que hace el proceso. Un verbo y un objeto en singular, es una buena estructura para el nombre del proceso. Si no se encuentra un buen nombre, quizás deba de realizarse una nueva partición del proceso. Si al escribir el nombre tengo dos o más verbos, debo particionar el proceso. Si el proceso es de validación, un buen nombre será validar datos entrada. Un proceso debe tener por lo menos un flujo de entrada. Un proceso debe tener por lo menos un flujo de salida. Los flujos de salida de un proceso deben poder generarse en base a la información de entrada. Un proceso debe ser perceptible, es decir que mirando sus entradas y salidas se debe poder interpretar su función. ALMACENAMIENTOS Así como los flujos muestran los datos en movimiento, los almacenamientos muestran los datos en reposo. El nombre debe identificar la entidad u objeto a la cual está asociada la información. Los datos que salen, alguna vez tienen que haber entrado y los datos que entran, alguna vez deben ser consultados. La dirección de la flecha es significativa, sólo debe mostrarse lo relevante, si se va a actualizar y se tiene que leer antes sólo se indica que se está actualizando. ENTIDAD EXTERNA Las entidades externas muestran las organizaciones, personas, sistemas, etc; con las cuales el sistema interactúa (entregan o reciben información) pero están fuera del control del sistema. Las entidades externas sólo aparecen en el nivel superior. DIAGRAMA DE FLUJO DE DATOS PRELIMINAR Un D.F.D. preliminar se encuentra particionado por eventos. Para su construcción se deberá realizar por cada evento lo siguiente: a) Dibujar una burbuja que trate el evento. b) Balancear los flujos a partir del diagrama de contexto. c) Dibujar los almacenamientos, los mismos indican restricciones impuestas por el ambiente, y no son retardos de información por problemas de implementación. d) Mejorar la comprensión de la función que representa la burbuja, agregando al dibujo todo almacenamiento que ella pueda consultar. 4 Sistemas Administrativos II –Modelo de Comportamiento DIAGRAMA DE FLUJO DE DATOS NIVEL 0 Su función es mostrar las principales funciones del sistema, ya que en el D.F.D. preliminar se perdió el poder de síntesis. El D.F.D. nivel 0 no es obligatorio en el caso de existir pocos eventos, en cambio si lo es el D.F.D. preliminar. Existen dos criterios que se pueden tener en cuenta para agrupar burbujas: 1) Agrupamiento por funciones: es decir de aquellas burbujas que tienen un objetivo en común. 2) Agrupamiento por datos o a través de almacenamientos compartidos: Entre grupos habrá almacenamientos compartidos y no compartidos. El nombre del proceso debe ser tal que sintetice la función del grupo. Los almacenamientos internos a cada grupo no se dibujan, lo que no significa que hayan sido eliminados. Se deben agrupar las burbujas ocultando la mayor cantidad de almacenamientos posibles, pero verificando que tengan un propósito específico e identificable. DIAGRAMA DE FLUJO DE DATOS NIVEL 1 El D.F.D. nivel 1 está compuesto por la descomposición del D.F.D. nivel 0. Ejemplos de nombres de procesos: Emitir listado de estadística diaria. Actualizar datos del cliente Validar datos del socio. DIAGRAMAS DE FLUJO DE DATOS NIVELES 2 EN ADELANTE Son los D.F.D. formados por la descomposición de cada una de las burbujas que son parte del D.F.D. de nivel anterior. A estos diagramas de flujo de datos, se los conoce como D.F.D. nivel 2, D.F.D. nivel 3, D.F.D. nivel 4, etc. Existen algunos criterios a tener en cuenta para parar con la explosión: 1) Cuando la descripción de una burbuja (proceso) puede realizarse en una miniespecificación no mayor a una página. 2) Hasta que la burbuja tenga una sola entrada y una sola salida sin tener en cuenta excepciones o errores. 3) Según M.Jackson, hay que detener la explosión cuando la relación entre flujos de entrada y salida sea de 1:1 o N:1. 5 Sistemas Administrativos II –Modelo de Comportamiento Después de haber terminado con la construcción de los diferentes niveles de D.F.D., se utilizan herramientas más específicas como ser Tablas de Decisión, Árboles de decisión, Pseudocódigo, Lenguaje comprimido o Mini-especificación. DICCIONARIO DE DATOS DEL ESQUEMA DE TRANSFORMACIONES Se incluyen en el diccionario de datos todos los flujos de datos y almacenamientos que formen parte de los D.F.D.. La notación que se usa aquí es la misma que la señalada en el diccionario de datos del Modelo Ambiental. Ejemplos de flujos de datos: FACTURA = nro factura + (nro remito) + {nro producto + descripción producto + cantidad + precio unitario} + nro vendedor. PAGO = nro producto + descripción producto + monto + [efectivo | tarjeta] + (nro tarjeta). SOLICITUD DE SALDO = *Intención de conocer el saldo de una cuenta* nro tarjeta + ext tarjeta + clave acceso + tipo transacción + cod cuenta. HERRAMIENTAS TERMINALES En muchas situaciones la herramienta D.F.D. es insuficiente para expresar en forma clara la lógica del problema. Para solucionar estos problemas aparecen las llamadas herramientas terminales, entre ellas: Árboles de decisión. Tablas de decisión. Pseudocódigo. Mini-especificación o lenguaje comprimido. ÁRBOLES DE DECISION: La función del árbol de decisión es la de expresar un proceso decisorio en un grafo que muestra la secuencia de condiciones. Es una herramienta muy fácil de usar, y también es apta para que el usuario verifique la lógica, supongamos la siguiente situación: Toda factura cuyo monto supere los $3000 tendrá un descuento de 5%, si el monto es mayor que $5000 el descuento será de 10%, estos descuentos se aplicarán siempre y cuando la factura se abone antes del día 10 de cada mes. 6 Sistemas Administrativos II –Modelo de Comportamiento Tal situación representada en un árbol de decisión queda: Pago antes del dia 10. > $5000. %10 descuento. > $3000 y <= $5000. %5 descuento. Sin descuento.. <= $3000. Pago de la Factura Pago después del dia 10. Sin descuento.. TABLAS DE DECISIÓN Una tabla de decisión es utilizada cuando el árbol de decisión no puede mostrar en forma clara el proceso decisorio. La siguiente situación representada en una tabla de decisión sería: Los clientes que compren productos por más de $5000 y que han comerciado con nosotros por más de 10 años y tienen una buena historia de pagos (lo que significa que ningún pago de factura se excedió más de 30 días en los últimos 6 meses), podrán pagar con un cheque a 30 días, igual situación a la anterior pero la compra es por $5000 o menos el pago podrá ser hecho con un cheque a 15 días. Cualquier otra situación sólo se aceptará un cheque en efectivo. La tabla de decisión anterior puede ser transformada en una más reducida. 7 Sistemas Administrativos II –Modelo de Comportamiento PSEUDOCÓDIGO: Los árboles y las tablas de decisión son muy útiles en la descripción de procesos ramificados complejos. Existen otros procesos en los que es necesario describir situaciones como las siguientes: hacer las siguientes operaciones mientras ocurra una determinada condición, decisiones binarias como ser: Si ocurre esta situación hacer esto, sino aquello o también operaciones como sumar o mover, etc. Estas estructuras son la base de la programación estructurada, cuya efectividad está dada por la simplicidad y normalización como resultado del uso de unas pocas estructuras. Ejemplos de estas estructuras conocidas por el alumno son: Instrucciones secuenciales: entendiendo por esta estructura a toda instrucción o grupo de instrucciones que no tienen repetición o ramificación. "Multiplicar horas trabajadas por salario horario para obtener el pago bruto" "Sumar importe por flete al total de la factura" Instrucciones de decisión: SI es menor de edad sumar al total de menores SINO sumar al total de mayores. Instrucciones repetitivas: REPETIR multiplicar cantidad por precio unitario HASTA QUE todas las líneas hayan sido procesadas. MINI-ESPECIFICACIÓN O LENGUAJE COMPRIMIDO El pseudocódigo si bien es muy preciso, posee una notación poco común para que pueda ser presentado ante un usuario que no conoce esta herramienta. Luego una nueva herramienta llamada Mini-especificación o Lenguaje Comprimido trata de aprovechar los beneficios de la precisión del pseudocódigo. Esto se logra utilizando las estructuras de la programación estructurada pero desechando las partes molestas de la notación y escribiendo en un lenguaje de uso común pero en 8 Sistemas Administrativos II –Modelo de Comportamiento forma comprimida. Se pueden incluir en una descripción mediante Lenguaje Comprimido, Árboles de Decisión, siempre y cuando no dificulte la comprensión por cualquier persona sin conocimiento de estas herramientas. COMPARACIÓN DE HERRAMIENTAS TERMINALES Los Árboles de Decisión son fáciles de usar y de comprender, muy apto para presentar proyectos a usuarios. Se recomienda cuando el proceso decisorio a describir posee una secuencia de condiciones simples o con pocas combinaciones. Las Tablas de Decisión son necesarias cuando los Árboles de Decisión no pueden describir con la claridad necesaria la lógica del problema, y cuando la secuencia de condiciones a describir son combinadas. El Pseudocódigo es muy útil cuando la lógica del proceso exige que se describan situaciones a repetir hasta que se cumpla una determinada condición combinadas con decisiones. No muy apta para que pueda ser presentado ante una persona sin conocimientos básicos de esta herramienta. La Mini-especificación o Lenguaje Comprimido resulta de gran utilidad para que el usuario comprenda la lógica del proceso, es de fácil comprensión, aunque al no ser una herramienta bien estructurada dependerá de quien la utilice la calidad de lo que se desea describir. 9