Este documento presenta una introducción a las metodologías de desarrollo de software, dividiéndolas en estructuradas y orientadas a objetos. Describe las metodologías estructuradas, incluyendo diagramas de flujo de datos, diccionarios de datos, diagramas de entidad-relación y más. También incluye un ejemplo de la aplicación de diagramas de flujo de datos para gestionar un video club.
1. Análisis de Sistemas
M.Sc. Lic. Aidee Vargas C.
octubre 2007
Análisis de Sistemas
M.Sc. Lic. Aidee Vargas C.
octubre 2007
2. Metodologías de Desarrollo de Software
• Las metodologías existentes se dividen
en dos grandes grupos:
• Metodologías estructuradas
• Metodologías Orientadas a objetos.
3. Metodologías EstructuradasMetodologías Estructuradas
• Proponen la creación de modelos del sistema que representen los
procesos, los flujos y las estructuras de los datos de una manera
jerárquica o “top-down”.
• Pasan de una visión general del problema hasta llegar a un nivel de
abstracción menor.
• Este enfoque jerárquico se puede focalizar en las funciones o
procesos del sistema, en la estructura de los datos, o en ambos
aspectos, dando lugar a metodologías orientadas a procesos, a datos
y mixtas.
4. Metodologías EstructuradasMetodologías Estructuradas
Basadas en técnicas gráficas dando lugar al concepto de
especificación estructurada.
Una especificación estructurada es un modelo gráfico,
particionado, descendente y jerárquico de los procesos del sistema
y de los datos utilizados por los procesos. Se compone de:
- Diagrama de Flujo de Datos (DFD)
- Diccionario de Datos (DD)
- Especificaciones o miniespecificaciones de procesos
- Diagrama Entidad-Relación (ER)
- Diagrama de Transición de Estados
5. Metodologías EstructuradasMetodologías Estructuradas
Diagramas de Flujo de Datos (DFD). Representan los
procesos o funciones que debe llevar a cabo un sistema en
distintos niveles de abstracción y los datos que fluyen entre
las funciones. Los procesos más complejos se descomponen
en nuevos diagramas hasta llegar a procesos sencillos.
Diccionario de Datos (DD). Es el conjunto de las
definiciones de todos los datos que aparecen en el DFD, ya
sea almacenados o indicados en los diferentes flujos de
datos. El diccionario de datos se crea a la vez que los DFD´s
durante el proceso de análisis del sistema.
6. Metodologías EstructuradasMetodologías Estructuradas
Especificación de un Proceso o Miniespecificación. Define
cómo se obtienen las salidas de un proceso sencillo o elemental
en función de las entradas al mismo. Existen varias alternativas:
el empleo de lenguajes estructurados, diagramas de acción, de
flujo, árboles de decisión, tablas de decisión, etc..
Diagrama Entidad-Relación: Se focaliza en los datos del
sistema modelado, brindando una visión unificada de los
mismos. Los principales elementos de este modelo, como su
nombre lo indica, son las entidades y las relaciones, a las
que se suman los atributos, de ambas.
8. Diagrama de Flujo de Datos (DFD)Diagrama de Flujo de Datos (DFD)
Un DFD es un diagrama en forma de red que representa el flujo
de datos y las transformaciones que se aplican sobre ellos al
moverse desde la entrada hasta la salida del sistema.
Se emplea para modelar, en distintos niveles de abstracción, las
funciones de un sistema y los datos que flujen entre ellas.
En los niveles superiores se definen las funciones del sistema en
forma general y en los niveles inferiores se definen dichas
funciones de manera más detallada.
10. Componentes de un DFDComponentes de un DFD
Procesos, funciones o transformaciones: son los
componentes funcionales del sistema.
Almacenes: representan datos almacenados o en reposo.
Entidades externas: representan la fuente y/o el destino
de la información del sistema.
Flujos de Datos: representan los datos que fluyen entre
las funciones o procesos.
11. Procesos, funciones o transformacionesProcesos, funciones o transformaciones
•Un proceso puede interpretarse como una
función que debe llevar a cabo el sistema.
•Debe ser capaz de generar los flujos de datos de salida a
partir de los flujos de datos de entrada y de una
información local.
•Un proceso se identifica mediante un número y un
nombre, que deben ser únicos en el conjunto de DFDs que
representan el sistema.
•El nombre debe ser breve y lo más representativo posible
de la función que describe. Normalmente se forma por un
verbo y un sustantivo.
12. Almacenes de DatosAlmacenes de Datos
Un almacén de datos representa información del sistema
almacenada en forma temporal.
Es un depósito lógico de almacenamiento que puede
representar distintos tipos de información física (una
bandeja con papeles, un archivador manual, un archivo en
una computadora o una base de datos).
13. Almacenes de Datos (Cont.)Almacenes de Datos (Cont.)
Si en un DFD hay un almacén que sólo tiene conexión con
un único proceso, se dice que es local a dicho proceso.
Luego, no debe aparecer en ese nivel. Debe representarse
en el diagrama donde se detalla el proceso.
Cada almacén debe representarse por primera vez en el
nivel más alto en el que sirve de interconexión entre dos o
más procesos. Además, se representará en los niveles
inferiores.
El contenido de los almacenes se define en el diccionario
de datos (DD).
Si el contenido de un almacén es muy complejo, se puede
representar en un diagrama Entidad-Relación (ER).
14. Entidades Externas
Representación gráfica
Entidades Externas
Representación gráfica
Una entidad externa representa un
generador o consumidor de información
del sistema, pero no pertenece al mismo.
Puede representar un subsistema, persona, departamento,
organización, etc., que proporcione datos al sistema o que
los reciba de él.
Los flujos que parten de o llegan a las entidades externas
definen la interfaz entre el sistema y el mundo exterior.
15. Entidades Externas (Cont.)Entidades Externas (Cont.)
Normalmente, las entidades externas sólo deberían
aparecen en el diagrama de mayor nivel (Diagrama de
Contexto).
Pueden incluirse en otros niveles si mejoran la legibilidad
de los diagramas..
Toda entidad externa se identifica con un nombre.
16. Flujos de DatosFlujos de Datos
Se interpretan como un camino a través del cual viajan
datos de composición conocida de una parte del sistema a
otra.
Son el medio de conexión de los restantes componentes del
DFD.
Se representan por arcos dirigidos, en donde la flecha
indica la dirección de los datos.
Deben tener un nombre o rótulo que los identifique.
17. Flujos de Datos (Cont.)Flujos de Datos (Cont.)
Los flujos de datos que conectan componentes de un
DFD deben respetar las siguientes restricciones:
Destino
Fuente
PROCESO ALMACÉN ENTIDAD EXTERNA
PROCESO SI SI SI
ALMACÉN SI NO NO
ENTIDAD EXETRNA SI NO NO
18. Flujos de Datos (Cont.)Flujos de Datos (Cont.)
Las diferentes conexiones entre procesos y
almacenes que es posible realizar son:
Proceso A Almacén temporal
yyy
Flujo de Consulta
Proceso A Almacén temporal
xxx
Flujo de
Actualización
Proceso A Almacén temporal
zzz
Flujo de Diálogo
19. Flujos de Datos (Cont.)Flujos de Datos (Cont.)
El flujo de consulta muestra la utilización de la
información del almacén por el proceso que consulta para:
Utilizar los valores de uno o más atributos de una ocurrencia
del almacén
Comprobar si los valores de los atributos seleccionados
cumplen determinadas condiciones
El flujo de actualización indica que el proceso va a
alterar la información contenida en el almacén para:
Crear una nueva ocurrencia de un dato (entidad o relación)
Borrar una ocurrencia de un dato
Cambiar el valor de un atributo
El flujo de diálogo involucra un flujo de consulta y uno
de actualización.
21. Ejemplo: Gestión de un Video ClubEjemplo: Gestión de un Video Club
0.
GESTIÓN
VIDEOCLUB
DIRECCIÓN
VIDEOCLUB
PROVEEDORESCLIENTES
Pedido alquiler
Devolución
Compra Bono
Envío Publicidad
Sanción
Comprobante
Entrega
Pedido
Factura
Pago
Datos
Proveedores Datos
Pago
Datos
Pedido Informes
DIAGRAMA DE CONTEXTO
Datos
Bono
22. Gestión de un Video ClubGestión de un Video Club
1.
GESTIONAR
CLIENTES
2.
GESTIONAR
PROVEEDORES
PELÍCULAS
Pedido alquiler
Devolución
Compra Bono
Envío Publicidad
Sanción
Comprobante
Informe de
demanda
Alquileres
pendientes de
devolución
Datos Proveedores
Datos Pagos
Datos Pedido
Pedido
Pago
Factura
Entrega
Facturas
pendientes de
pago
Facturación
mensual
Entregas
pendientes
DIAGRAMA 0: GESTIÓN DEL VIDEO CLUB
3.
GESTIONAR
BONOS
BONOS
Datos
Bono
23. Gestión de un Video ClubGestión de un Video Club
1.1
GESTIONAR
ALQUILERES
PELÍCULAS
ALQUILERES
CLIENTES
1.3
ACTUALIZAR
CRÉDITO
CLIENTE
1.4
GENERAR
ENVÍO
PUBLICIDAD
1.2
GESTIONAR
DEVOLUCIONES
Pedido alquiler
Comprobante
Informe de
demanda
Alquileres
pendientes de
devolución
Compra Bono
Envío Publicidad
Devolución
Sanción
DIAGRAMA 1: GESTIONAR CLIENTES
BONOS
24. Gestión de un Video ClubGestión de un Video Club
1.1.1
VALIDAR
ALQUILER
1.1.2
GENERAR
DEMANDA
ALQUILERES
1.1.3
GENERAR
ALQUILERES
PENDIENTES
DEVOLUCIÓN
PELÍCULAS
ALQUILERES
CLIENTES
Pedido alquiler
Comprobante
Informe de
demanda
Alquileres
pendientes de
devolución
DIAGRAMA 1.1: GESTIONAR ALQUILERES
BONOS
25. Gestión de un Video ClubGestión de un Video Club
1.2.1
REGISTRAR
DEVOLUCIÓN
1.2.2
CALCULAR
SANCIÓN
DEVOLUCIONES
ALQUILERES
PELÍCULAS
Devolución
DIAGRAMA 1.2: GESTIONAR DEVOLUCIONES
Sanción
26. Gestión de un Video ClubGestión de un Video Club
2.1
GENERAR
PEDIDO A
PROVEEDOR
PEDIDOS
PROVEEDORES
PAGOS
2.3
REALIZAR
PAGOS
2.4
ACTUALIZAR
PROVEEDORES
2.2
GESTIONAR
ENTREGAS
PELÍCULAS
FACTURAS
2.5
GESTIONAR
FACTURAS
Facturas
pendientes de
pago
Facturación
mensual
Factura
Pago
Datos
Proveedores
Datos Pagos
Datos Pedido
Pedido
Entrega
Entregas
pendientes
DIAGRAMA 2: GESTIONAR PROVEEDORES
27. Gestión de un Video ClubGestión de un Video Club
2.5.1
REGISTRAR
FACTURA
2.5.2
EMITIR
FACTURAS
PENDIENTES
PAGO
2.5.3
REALIZAR
FACTURACIÓN
MENSUAL
FACTURAS
Factura
Facturas
pendientes de
pago
Facturación
mensual
PAGOS
DIAGRAMA 2.5: GESTIONAR FACTURAS
28. Gestión de un Video ClubGestión de un Video Club
2.2.1
REGISTRAR
ENTREGA
2.2.1
EMITIR
ENTREGAS
PENDIENTES
PEDIDOS
ENTREGAS
PELÍCULAS
Entrega
Entregas
pendientes
DIAGRAMA 2.2: GESTIONAR ENTREGAS
29. Recomendaciones en la creación de un DFDRecomendaciones en la creación de un DFD
Normalmente la construcción se realiza mediante un
procedimiento de refinamiento iterativo.
Es imposible crear los DFD correctamente en un primer
intento.
Dado que al comenzar el modelado no se conocen todas las
características del sistema, puede que haya que incluir nuevos
requisitos o cambiar los existentes. Esto determina la
realización de cambios en los DFDs.
Es importante identificar correctamente las entidades
externas y las características de la información que éstas
proporcionan.
30. Recomendaciones en la creación de un DFDRecomendaciones en la creación de un DFD
• Al pasar de un nivel a otro debe verificarse la
consistencia, es decir que la información que entra y
sale de un proceso de nivel N sea consistente con la
información que entra y sale del DFD en que este
proceso se descompone.
• Todos los flujos de datos que entran en un diagrama
hijo deben estar representados en el padre por el
mismo flujo de datos.