domingo, 15 de septiembre de 2013

METODOLOGIAS ESTRUCTURADAS

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

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

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 problema
El 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
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.

Requisitos funcionales
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.

Requisitos funcionales
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



Diagrama de contexto

Diagrama Entidad-Relación

Conclusiones 

Conclusiones Itzel

Las buenas herramientas de modelado suelen emplear una notación sencilla, con pocas reglas, símbolos y vocabulario nuevo que el usuario tenga que aprender. El diagrama de flujo de datos es una herramienta gráfica de modelado. Permite visualizar un sistema como una red de procesos funcionales conectados entre sí. También se encuentra el modelo entidad relación, el cual ya hemos trabajado con él en el modelado de los datos, a diferencia del DFD que modela procesos o funcionalidad del sistema.  El diccionario de datos es muy importante ya que si quisiéramos saber a qué hace referencia un dato acudimos hacia el diccionario para saber su significado, como cuándo estábamos en la primaria y hacíamos uso de él. Su formato es distinto pero sirve para poder hablar en el mismo lenguaje y no perderse por ejemplo en el significado de un DFD o un ER. Vimos una parte sobre la especificación del proceso mediante pseudocódigo, que prácticamente es código descrito de la forma sencilla ya solo para implementarlo.

Conclusiones Mitchel

Las herramientas que pusimos en práctica son de gran ayuda para la planeación y construcción de un proyecto de software, ya que se analiza cada sección del problema y se va organizando de manera gráfica en un DFD para que así se tenga más clara la manera en que el sistema va a funcionar y cómo este debe ser desarrollado.
Nunca se debe de perder de vista los objetivos y requisitos funcionales del programa, así mismo se debe de ser cuidadoso con los requisitos no funcionales, se debe de identificar de manera precisa todas las entidades y los roles y funciones que éstas desempeñan en el sistema. Para todo esto nos ayudan los diferentes diagramas aplicados en esta práctica.

Conclusiones Alan

Para el proceso de construcción del software es necesario reconocer las actividades que se aplicaran a este, y efectuarlas de manera ordenada y precisa, el objetivo de las metodologías es estructuras las diferentes fases del desarrollo, para así un mismo grupo de personas pueda trabajar simultáneamente. Podemos decir así que la metodología estructurada es la primera aproximación al problema.
Las metodologías estructuradas están orientadas a procesos, en otras palabras, se centra en especificar y descomponer la funcionalidad del sistema. Por ello hacen uso de herramientas como DFD, Especificaciones de procesos, Diccionarios de datos, entre otras. Las cuales nos ayudan de gran manera a comprender los principales procesos, las funcionalidades y actividades  de una manera sencilla,  incrementando la productividad en el desarrollo e implantación de nuestros sistemas.

No hay comentarios:

Publicar un comentario