lunes, 7 de octubre de 2013

Metodologíasstructuradas

1. Introducción

El proceso de construcción del software requiere, identificar las tareas que se han de realizar sobre el software y aplicar esas tareas de una forma ordenada y efectiva.

El desarrollo del software se debe realizar por un conjunto coordinado de personas simultáneamente, y por lo tanto sus esfuerzos deben estar dirigidos por una misma metodología que permita estructurar las diferentes fases del desarrollo.

Una metodología debe tener al menos las siguientes características:

·         Define como se divide un proyecto en fases y las tareas a realizar en cada una.
·         Para cada una de las fases está especificado cuales son las entradas que reciben y las salidas que producen.
·         Tienen alguna forma de gestionar el proyecto.
·         Teniendo esto en cuenta establecemos la siguiente definición:

Metodología es un modo sistemático de producir software.

1.1 Metodología estructurada.

Es la primera aproximación al problema. Está orientada a procesos, es decir, se centra en especificar y descomponer la funcionalidad del sistema.

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.




Los lenguajes de programación también reflejan esta dicotomía que existe entre la metodologías, así existen lenguajes para la programación estructurada. Los más famosos son: Cobol, Fortran, C, Pascal y Modula 2.



1.2 Principales componentes de un diagrama de flujo de datos.

Un DFD (diagrama de flujo de datos) es una herramienta que permite visualizar un sistema como una red de procesos funcionales, conectados entre sí por  “Conductos” y “Tanques de almacenamiento”  de datos.

El diagrama de flujo de datos era una herramienta comúnmente utilizada, sobre todo por sistemas operacionales en los cuales las funciones del sistema son más complejas que los datos que este maneja.

Se componen de:
·         Procesos.
·         Flujos de datos.
·         Almacenes de datos.
·         Terminadores (Entidades externas).


1.3 Diferencias entre diagramas de flujo y diagramas de flujo de datos.

El diagrama de flujo o diagrama de actividades es una representación grafica del algoritmo o el proceso de negocio. La diferencia que hay entre esté y los DFD radica en que los diagramas de flujo representan los flujos de trabajo paso a paso del proceso mientras que el diagrama de flujo de datos, como su nombre lo indica, representa los procesos conectados mediante un conducto o flujo que representa los datos que se mueven durante el proceso de negocio.

1.4 Herramientas utilizadas en el paradigma estructurado.

Existen tres herramientas principales que se utilizan en el paradigma estructurado.

1.      Diagrama de Flujos de datos: Ilustra las funciones que el sistema debe realizar.
2.      Diagramas Entidad Relación: Hacen énfasis en las relaciones entre los datos.
3.      Diagrama de Transición de Estados: Se enfoca al comportamiento dependiente del tiempo del sistema.
4.      Diccionario de datos: listado organizado de los datos.

  


2. Planteamiento del problema


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.


3. Reglas del negocio


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.                             
4. Requerimientos Funcionales

Id requerimiento
Descripción
1
El sistema permitirá dar de alta a los nuevos clientes.
2
El sistema permitirá hacer el registro de los alquileres de las películas.
3
El sistema emitirá los bonos al alquilar un ejemplar.
4
El sistema verificara si el cliente cuenta con crédito suficiente para realizar el alquiler de un ejemplar
5
El sistema deberá ser capaz de emitir un comprobante de alquiler.
6
El sistema permitirá registrar la devolución de los ejemplares.
7
El sistema deberá calcular una sanción económica respecto a todos los ejemplares entregados fuera de plazo.
8
El sistema permitirá hacer el registro de los proveedores.
9
El sistema realizara pedidos  de películas a los proveedores.
10
El sistema permitirá el registro de nuevos ejemplares.
11
El sistema permitirá registrar las facturas emitidas por los proveedores.
12
El sistema deberá llevar un registro de los pagos realizados a los proveedores.
13
El sistema deberá permitir cambiar los tipos de bono así como dar de alta nuevos tipos.
14
El sistema deberá generar reportes sobre la demanda de las películas.
15
El sistema permitirá observar las facturas mensuales que ha hecho el proveedor, mostrar pagos y monto de adeudo.









5. Requerimientos no Funcionales

Id requerimiento
Descripción
1
Para realizar el alquiler de algún ejemplar el cliente deberá tener al menos un crédito en el bono registrado en el sistema.                                   
2
No se podrá efectuar ningún alquiler si el cliente que lo solicita no ha hecho la devolución de todos los ejemplares que alquiló anteriormente.
3
Solo los administradores del establecimiento tendrán acceso al sistema y podrán realizar todas las acciones que se especifican.
4
Antes de utilizar el sistema se debe impartir una capacitación y realizar ejercicios prácticos para que sea más fácil de manejar por el usuario (min 2 días de capacitación).
5
El sistema no deberá tener ningún fallo al calcular los montos de adeudo con los proveedores, deudas de los clientes, sanciones económicas y pagos.
6
El sistema debe ser compatible con  las plataformas Windows 7 y Windows 8.
7
Los usuarios podrán trabajar con el sistema de manera concurrente, el número máximo de usuarios que trabajen con el sistema al mismo tiempo se verá limitado a 10 usuarios.
8
El sistema ofrecerá una interfaz que permita el acceso rápido a los datos requeridos en las distintas actividades del proceso.


6. Diagrama de Flujo de Datos

6.1 Actividades

Cliente.
·         Alquilar ejemplares.
·         Comprar bonos.
·         Devolver ejemplares alquilados.
·         Pagar cuota de alquiler.
·         Pagar cuota de sanción (según sea el caso).

Proveedores
·         Llevar pedidos al establecimiento.
·         Emitir Factura de pago por ejemplares.

Administradores del videoclub.
·         Registrar proveedor.
·         Generar pedidos.
·         Establecer tipos de Bono.
·         Generar reporte de demanda de ejemplares.
·         Realizar facturación mensual.
·         Reporte de películas pendientes por pedido.
·         Consultar facturas pendientes de pago

6.2 Procesos.
El proceso muestra una parte del sistema que transforma las entradas en salidas; es decir, muestra como una o más entradas se transforman en salidas.

·         Alquilar ejemplares.
·         Comprar bonos.
·         Realizar pagos.
·         Llevar pedidos.
·         Facturar pedidos.
·         Generar reportes
·         Registrar proveedores.



6.3 Flujos de datos.
El flujo se utiliza para describir el movimiento de bloques o paquetes de información de una parte del sistema a otra. Por ello los flujos representan datos en movimiento y los almacenes representan datos en reposo.

·         Bonos.
·         Comprobante.
·         Película.
·         Pagos.
·         Pedidos.
·         Factura de pedido.
·         Datos de proveedores.
·         Reporte de demanda.

6.4 Almacén de datos.
El almacén se utiliza para modelar una colección de paquetes de datos en reposo.
·         Bonos.
·         Clientes
·         Películas.
·         Comprobante.
·         Pedidos.
·         Proveedores.
·         Facturas Pedido.
·         Pagos Clientes.
·         Pagos Proveedores.
·         Reporte Demanda Películas.
·         Empleados.




6.5 Terminadores.
Los terminadores representan entidades externas con las cuales el sistema se comunica. Comúnmente un terminador es una persona o un grupo o un grupo o departamento que este dentro de la misma campaña u organización, pero fuera del control del sistema que se este modelando.

·         Clientes.
·         Proveedores.
·         Empleados.





  

7. Diagrama Entidad Relación

El diagrama entidad relación es un modelo de red que describe con un alto nivel de abstracción la distribución de datos almacenados en el sistema.

Tiene cuatro tipos de componentes:
  • Tipo de objetos: se representa mediante un rectángulo y representa una colección o un conjunto de objetos del mundo real.
  •  Relaciones: Los objetos se conectan entre si mediante relaciones, una relación representa un conjunto de conexiones entre los objetos y se representa por medio de un rombo.
  • Indicadores asociativos del tipo objeto: Representa algo que funciona como objeto y como relación. Otra forma de verlo es considerando que representa una relación acerca de la cual se desea mantener alguna información.
  • Indicadores de subtipo/supertipo: consisten en los tipos de objetos de una o mas subcategorias, conectados por una 












8. Diccionario de Datos
      
El diccionario de datos es un listado organizado de todos los datos pertinentes al sistema, con definiciones precisas y rigurosas para que el usuario como el analista tengan un entendimiento común de todas las entradas, salidas, componentes de almacenes y cálculos intermedios. El diccionario de datos define lo siguiente:
·         Describe el significado de los flujos de datos que se muestran en el DFD.
·         Describe la composición de agregados de paquetes de datos que se mueven a lo largo de los flujos, es decir, paquetes completos que pueden descomponerse en unidades más elementales.
·         Describen la composición de paquetes de datos en los almacenes.
·         Especifica los valores y unidades relevantes de piezas elementales de información de los flujos de datos y en los almacenes de datos.
·         Describe los detalles de las relaciones entre almacenes que se enfatizan en un diagrama entidad relación.


8.1  Diccionario.

·         Bonos = [crédito | numero de alquileres] + periodo del alquiler.
·         Comprobante = ejemplares solicitados + fecha devolución + crédito disponible.
·         Película = titulo de película + genero + clasificación                            
·         Pagos = Cantidad de pago + cliente.
·         Pedidos = Numero Ejemplares + Proveedor
·         Factura de pedido  = Numero Factura + Fecha + Numero Ejemplares
·         Datos de proveedores = Nombre proveedor + dirección + Teléfono
·         Reporte = numero de rentas + Periodo Fecha +  Película.


9. Conclusiones.

En conclusión, las metodologías estructuradas están orientadas a procesos, es decir, se centra en especificar y descomponer la funcionalidad del sistema. Para esto, esta metodología se apoya en cuatro herramientas principales:
1.      Diagrama de Flujos de datos: Ilustra las funciones que el sistema debe realizar.
2.      Diagramas Entidad Relación: Hacen énfasis en las relaciones entre los datos.
3.      Diagrama de Transición de Estados: Se enfoca al comportamiento dependiente del tiempo del sistema.
4.      Diccionario de datos: listado organizado de los datos.

El diagrama de flujo de datos es una representación gráfica de los procesos y entidades externas conectadas entre sí mediante conductos que representan los flujos de datos.

Los diagramas entidad-relación muestran la relación que existe entre los datos y las entidades que interactúan con los procesos, este nos sirve para diseñar una base de datos.

Los diccionarios de datos es un listado de todos los datos pertinentes al sistema, con definiciones precisas y rigurosas para que tanto el usuario como el analista tengan un entendimiento común de todas las entradas, salidas, componentes de almacenes y cálculos intermedios.

Este metodología era muy usada pero ha quedado en el pasado gracias a las nuevas metodologías como las orientadas a objetos que se apegan mas a como los humanos hacen las abstracciones de los objetos del mundo real, aunque las herramientas de la metodología siguen siendo muy útiles al modelar un sistema.



Alumnos:
Álvarez Delgado Christian de Jesús
Zamora Marín René

Referencias:
Yourdon Edward (1989) Análisis Estructurado Moderno Prentice Hall.



No hay comentarios:

Publicar un comentario