Introducción
El análisis de
requerimientos de un sistema de software es una fase importante dentro del plan
de desarrollo de un software. Uno de los puntos más importantes a tomar en
cuenta es el flujo de datos y las entidades externas que actúan en el sistema
así como los diversos procesos con los que se relacionan para que este funcione
de manera óptima.
Una de las
técnicas para analizar estos requerimientos, es el análisis estructurado, el
cual se auxilia de diversos diagramas de flujo de datos los cuales ilustran las
interacciones que existe entre los procesos, entidades externas y
almacenamiento de datos del sistema que se está trabajando.
La orientación de las metodologías estructuradas se dirige hacia los
procesos que intervienen en el sistema a desarrollar, es decir, cada función a
realizar por el sistema se descompone en pequeños módulos individuales.
Es más fácil resolver problemas pequeños, y luego unir cada una de las
soluciones, que abordar un problema grande.
Es las metodologías estructuradas las principales herramientas
utilizadas son:
Diagramas de flujo de datos
(DFD): Representan la forma en la que los
datos se mueven y se transforman. Incluye:
–Procesos
–Flujos de datos
–Almacenes de datos
–Flujos de datos
–Almacenes de datos
Los procesos individuales se pueden
a su vez descomponer en otros DFD de nivel superior.
Especificaciones de procesos: Es lo que se escribe para uno de los procesos definidos en el DFD cuando no se puede descomponer más. Puede hacerse en pseudocódigo, con tablas de decisión o en un lenguaje de programación.
Diccionario de datos: Son los nombres de todos los tipos de datos y almacenes de datos junto con sus definiciones
Diagramas de transición de estados: Modelan procesos que dependen del tiempo
Diagramas entidad-relación: Los elementos del modelo E/R se corresponden con almacenes de datos en el DFD. En este diagrama se muestran las relaciones entre dichos elementos
Especificaciones de procesos: Es lo que se escribe para uno de los procesos definidos en el DFD cuando no se puede descomponer más. Puede hacerse en pseudocódigo, con tablas de decisión o en un lenguaje de programación.
Diccionario de datos: Son los nombres de todos los tipos de datos y almacenes de datos junto con sus definiciones
Diagramas de transición de estados: Modelan procesos que dependen del tiempo
Diagramas entidad-relación: Los elementos del modelo E/R se corresponden con almacenes de datos en el DFD. En este diagrama se muestran las relaciones entre dichos elementos
Para ayudar a una mejor comprensión a continuación respondemos algunas preguntas que podrían presentarse muy a menudo:
.
¿Cuáles son los componentes principales de un DFD?
· Proceso.- Se le
conoce así al primer componente de un DFD. El proceso muestra una parte del
sistema que transforma entradas en salidas.
· Flujo.- Un
flujo se representa gráficamente por medio de una flecha que entra o sale de un
proceso. El flujo se usa para describir el movimiento de bloques o paquetes de
información de una parte del sistema a otra.
· Almacenes.- El almacén se utiliza para modelar una colección de paquetes de
datos en reposo. Se denota por dos líneas paralelas.
· Terminador.-
Gráficamente se representa como un rectángulo. Los terminadores representan
entidades externas con las cuales el sistema se comunica.
¿Cuál es el propósito de un DFD?
·
Mostrar de forma visual el análisis que se hace sobre un sistema
de software que abarca el flujo de datos que existen entre los procesos,
entidades externas y almacenes que conforman al software.
¿Cuál es la diferencia entre un diagrama de flujo y un DFD?
·
En el diagrama de flujo se especifica los procesos y subprocesos
así como los pasos a seguir de un algoritmo o bien de un sistema que se va a
implementar. Mientras que en el diagrama de flujo de datos se trabaja con las
entidades externas identificadas y con los procesos que tengan flujo de datos
entre ellos. Una diferencia más es la simbología utilizada, pues en los DFD
solo se limita a usar rectángulos, flechas y línea paralelos, mientras que en
un diagrama de flujo se auxilia de más figuras que representan distintos
procesos que se ejecuten en el sistema.
¿Qué otras herramientas además de los DFD son representativas
del paradigma estructurado?
·
Diccionario de datos
·
Modelo Entidad-Relación
·
Especificación de proceso
Ejemplo
A continuación resolveremos un problema con ayuda de las metodologías estructuradas, de este modo podremos saber como emplearlas a nuestro proyecto:
Sistema de un videoclub
Un videoclub, desea incorporar sus productos en un sistema de software automatizado, que incluya los procesos de:
• Alquiler de películas
• Administración de clientes y
• Gestión de pedidos a los proveedores.
El funcionamiento requerido del sistema es el siguiente:
Clientes y alquiler
Un cliente del videoclub alquila los ejemplares que desee y los hace de conocimiento del encargado.
Para alquilar debe comprar unos bonos que indican, por un lado, el crédito (o número de alquileres), y por otro el período de alquiler, que puede ser de 24 horas, 48 horas y semanales.
Un cliente puede comprar varios bonos del mismo tipo, en cuyo caso se acumulan sus créditos.
Cada alquiler de un ejemplar relativo a una película consume un crédito sobre el tipo de bono elegido por el cliente. Una vez que el sistema comprueba que el cliente dispone de crédito respecto al pedido de alquiler, lo acepta emitiendo un comprobante al cliente en el que se especifican los ejemplares solicitados y la fecha de su devolución, indicado además el crédito disponible.
Clientes y devolución
Los clientes realizan la devolución de los ejemplares alquilados, que puede no estar completa, es decir, devuelve menos ejemplares de los solicitados en un alquiler.
El sistema no aceptará nuevos alquileres de aquellos clientes que no hayan devuelto todos los ejemplares.
El sistema debe calcular una sanción económica respecto a todos los ejemplares entregados fuera de plazo, cargando un costo por ejemplar y día.
Proveedores
El sistema realiza pedidos de películas a los proveedores.
Estos pedidos pueden ser sobre películas nuevas o sobre aumento de ejemplares de películas existentes en el videoclub. Los proveedores pueden satisfacer cada pedido en una o varias entregas.
Cuando el sistema tiene nuevos ejemplares o aumenta de ejemplares debe asignar un código a cada ejemplar, que además identifica a cada película.
Por cada pedido, el proveedor emite una factura, que el videoclub puede pagar en uno o varios pagos.
Administradores del videoclub:
• Indican al sistema los datos de los proveedores con los que va a trabajar el videoclub.
• Determinan los pedidos a los proveedores y las cantidades pagadas de cada factura.
• Establece los datos de los tipos de bono (crédito y período, coste, etc.) con los que trabaja el videoclub.
Para gestionar el proceso, los administradores del Videoclub necesitan un conjunto de reportes:
• Reporte de demanda de películas: que le indica el porcentaje de utilización de cada película en un período, teniendo en cuenta su número de ejemplares.
• La facturación mensual: el resultado de lo que nos han facturado los proveedores al mes.
• Las entregas de películas pendientes: son las películas que quedan por entregar de cada pedido.
• Las facturas pendientes de pago: que indica las facturas que el videoclub no ha pagado todavía o que están pagadas de forma parcial.
Solución
Planteamiento del problemaEl videoclub necesita de un software que lleve a cabo los controles necesarios sobre diversos módulos como son el registro de los pedidos y la renta de sus películas así como el control sobre los usuarios que quieran alquilar títulos. Se necesita tener de manera oportuna y organizada esta información para que el establecimiento opere con un mayor control sobre sus activos.
·
Entidades externas: Cliente, proveedor y
administrador
· Flujo de datos:
◦
Compra de tickets para alquiler
◦
Movimiento de alquiler de
película
◦
Devolución de alquileres.
◦
Registro de pedidos.
◦
Registro de nuevas
adquisiciones.
◦
Facturación mensual.
◦
Reporte de demanda de
películas.
· Procesos:
▪
Registro de alquiler, emisión
de ticket.
▪
Asignación de código a
películas.
▪
Emisión de facturas por
concepto de nuevas adquisiciones.
▪
Validación para el alquiler de
películas.
· Almacenamiento:
◦
Clientes
◦
Proveedores
◦
Películas
Reglas de negocio
Requisitos funcionales
Requisitos funcionales
RN1. Un cliente puede alquilar los
ejemplares que desee siempre y cuando no deba películas ni dinero por multas al
videoclub.
RN2. Para que un cliente pueda alquilar una
película debe comprar un bono, en el cual se le indica el número de alquileres
del que dispone y el periodo válido del alquiler, éste puede ser de 1 día, 2
días o semanal.
RN3. Un cliente puede comprar varios bonos
del mismo tipo e ir acumulando sus créditos (número de alquileres).
RN4. Si un cliente ya cuenta con un bono y
desea alquilar otra película será necesario contar con suficiente crédito para
poder llezvársela, de lo contrario deberá comprar otro bono. Cada película
tiene un crédito establecido.
RN5. Si no hay ningún problema acerca de
los bonos y el crédito, el cliente puede llevarse la película y se le hará
entrega de un ticket en el cual se le especifica la fecha de salida de la
película, la fecha de regreso, el total de ejemplares que se lleva y el total
de créditos del que dispone.
RN6. Si el usuario no regresa los
ejemplares en tiempo y forma se le sancionará con una multa por incumplimiento,
éste se calculará con respecto a los días de retraso y al número de ejemplares.
RN7. El videoclub puede realizar pedidos de
ejemplares al proveedor ya sea por aumento de unidades existentes o sobre
películas nuevas que deberá pagar conforme al convenio establecido con el
proveedor.
RN8. Cada película del videoclub debe
contar con un código para identificarla.
RN9. Al administrador se le debe de
entregar un reporte de demanda de películas, facturación mensual, entregas de
películas pendientes y facturas pendientes de pago por parte del videoclub.
Este reporte debe ser por periodos no largos a un mes. Y él dará un reporte
informativo en base a la información anterior en tiempo y forma de los
movimientos del videoclub.
RF1. El sistema debe de registrar los
alquileres de películas así como su devolución de las mismas.
RF2. El sistema genere bonos que puedan ser
vendidos a los clientes para poder realizar un alquiler.
RF3. El sistema debe generar un comprobante
cada vez que sea alquilada una película al cliente, el cual contenga
información relevante acerca del alquiler.
RF4. El
sistema comprueba
que el cliente dispone de crédito respecto al pedido de alquiler.
RF5. El sistema no aceptará
nuevos alquileres de aquellos clientes que no hayan devuelto todos los
ejemplares.
RF6. El sistema debe
calcular una sanción económica respecto a todos los ejemplares entregados fuera
de plazo, cargando un costo por ejemplar y día.
RF7. El sistema realiza pedidos
de películas a los proveedores.
RF8. Cuando el sistema
tiene nuevos ejemplares o aumenta de ejemplares debe asignar un código a cada
ejemplar, que además identifica a cada película.
RF9. Reporte de demanda de
películas.
RF10. Facturación mensual
de los proveedores.
RF11. Informe de las entregas
de películas pendientes.
RF12. Total de las facturas
pendientes de pago.
RNF1. Debe ser rápido.
RNF2. La interfaz debe tener un color
formal, gris por ejemplo.
RNF3. El formato de los comprobantes debe
contener solo la información necesaria y un tamaño pequeño.
RNF4. Deberá ser desarrollado para Windows.
Diagrama de flujo de datos
Conclusiones
Conclusiones Mitchel
Conclusiones Alan
Diagrama de contexto
Diagrama Entidad-Relación