Análisis Análisis de de Sistemas Sistemas M.Sc. M.Sc. Lic. Lic. Aidee Aidee Vargas Vargas C. C. octubre octubre 2007 2007 Metodologías de Desarrollo de Software • Las metodologías existentes se dividen en dos grandes grupos: • Metodologías estructuradas • Metodologías Orientadas a objetos. Metodologías Metodologías Estructuradas 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. Metodologías Metodologías Estructuradas 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 Metodologías Metodologías Estructuradas 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. Metodologías Metodologías Estructuradas 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. Metodologías Metodologías Estructuradas Estructuradas Diagrama de Transición de Estados: Es un modelo gráfico que focaliza el comportamiento dependiente del tiempo de un sistema o de un recurso de un sistema. Diagrama Diagrama de de Flujo Flujo de de Datos Datos (DFD) (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. Descomposición Descomposición en en Niveles Niveles de de un un DFD DFD Componentes Componentes de de un un DFD 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. Procesos, Procesos, funciones funciones oo transformaciones 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. Almacenes Almacenes de de Datos 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). Almacenes Almacenes de de Datos Datos (Cont.) (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). Entidades Entidades Externas Externas Representación Representación gráfica 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. Entidades Entidades Externas Externas (Cont.) (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. Flujos Flujos de de Datos 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. Flujos Flujos de de Datos Datos (Cont.) (Cont.) Los flujos de datos que conectan componentes de un DFD deben respetar las siguientes restricciones: Destino PROCESO ALMACÉN ENTIDAD EXTERNA Fuente PROCESO SI SI SI ALMACÉN SI NO NO ENTIDAD EXETRNA SI NO NO Flujos Flujos de de Datos Datos (Cont.) (Cont.) Las diferentes conexiones entre procesos y almacenes que es posible realizar son: yyy Proceso A Proceso A Almacén temporal xxx Flujo de Consulta Almacén temporal Flujo de Actualización Almacén temporal Flujo de Diálogo zzz Proceso A Flujos Flujos de de Datos Datos (Cont.) (Cont.) El flujo de consulta muestra la utilización de la información del almacén por el proceso que consulta para: El flujo de actualización indica que el proceso va a alterar la información contenida en el almacén 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 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. Descomposición Descomposición en en Niveles Niveles de de un un DFD DFD Ejemplo: Ejemplo: Gestión Gestión de de un un Video Video Club Club DIAGRAMA DE CONTEXTO DIRECCIÓN VIDEOCLUB Datos Proveedores Datos Datos Datos Pedido Pago Bono Comprobante Pedido alquiler CLIENTES Devolución Compra Bono Envío Publicidad Sanción Informes Factura 0. GESTIÓN VIDEOCLUB Entrega Pedido Pago PROVEEDORES Gestión Gestión de de un un Video Video Club Club DIAGRAMA 0: GESTIÓN DEL VIDEO CLUB Datos Proveedores Datos Pagos PELÍCULAS Compra Bono Datos Pedido Pedido alquiler Devolución 1. GESTIONAR CLIENTES 2. GESTIONAR PROVEEDORES BONOS Envío Publicidad Pago Factura Entrega Sanción Facturas pendientes de pago 3. GESTIONAR BONOS Comprobante Informe de demanda Pedido Alquileres pendientes de devolución Datos Bono Entregas pendientes Facturación mensual Gestión Gestión de de un un Video Video Club Club DIAGRAMA 1: GESTIONAR CLIENTES Devolución Pedido alquiler PELÍCULAS Comprobante Informe de demanda Alquileres pendientes de devolución Sanción ALQUILERES BONOS Compra Bono 1.2 GESTIONAR DEVOLUCIONES 1.1 GESTIONAR ALQUILERES 1.3 ACTUALIZAR CRÉDITO CLIENTE CLIENTES 1.4 GENERAR ENVÍO PUBLICIDAD Envío Publicidad Gestión Gestión de de un un Video Video Club Club DIAGRAMA 1.1: GESTIONAR ALQUILERES PELÍCULAS Pedido alquiler 1.1.1 VALIDAR ALQUILER 1.1.2 GENERAR DEMANDA ALQUILERES Informe de demanda ALQUILERES Comprobante Alquileres BONOS CLIENTES 1.1.3 pendientes de GENERAR devolución ALQUILERES PENDIENTES DEVOLUCIÓN Gestión Gestión de de un un Video Video Club Club DIAGRAMA 1.2: GESTIONAR DEVOLUCIONES DEVOLUCIONES Devolución 1.2.1 REGISTRAR DEVOLUCIÓN 1.2.2 CALCULAR SANCIÓN ALQUILERES PELÍCULAS Sanción Gestión Gestión de de un un Video Video Club Club DIAGRAMA 2: GESTIONAR PROVEEDORES Datos Pedido Pedido Entrega PEDIDOS 2.1 GENERAR PEDIDO A PROVEEDOR 2.2 GESTIONAR ENTREGAS PELÍCULAS Entregas pendientes Datos Pagos PROVEEDORES Datos 2.4 Proveedores ACTUALIZAR PROVEEDORES 2.3 REALIZAR PAGOS FACTURAS PAGOS Pago Factura 2.5 GESTIONAR FACTURAS Facturas pendientes de pago Facturación mensual Gestión Gestión de de un un Video Video Club Club DIAGRAMA 2.5: GESTIONAR FACTURAS PAGOS Factura 2.5.1 REGISTRAR FACTURA 2.5.2 EMITIR FACTURAS PENDIENTES PAGO Facturas pendientes de pago FACTURAS 2.5.3 REALIZAR FACTURACIÓN MENSUAL Facturación mensual Gestión Gestión de de un un Video Video Club Club DIAGRAMA 2.2: GESTIONAR ENTREGAS PEDIDOS Entrega 2.2.1 EMITIR ENTREGAS PENDIENTES 2.2.1 REGISTRAR ENTREGA ENTREGAS PELÍCULAS Entregas pendientes Recomendaciones Recomendaciones en en la la creación creación de de un un DFD 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. Recomendaciones Recomendaciones en en la la creación creación de de un un DFD 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.