octubre 2007 Anlisis de Sistemas M.Sc. Lic. Aidee Vargas C. octubre 2007 Metodologas de Desarrollo de Software Las metodologas existentes se dividen en dos grandes grupos: Metodologas estructuradas Metodologas Orientadas a objetos. Metodologas Estructuradas Metodologas Estructuradas Proponen la creacin de modelos del sistema que representen los procesos, los flujos y las estructuras de los datos de una manera jerrquica o top-down. Pasan de una visin general del problema hasta llegar a un nivel de abstraccin menor. Este enfoque jerrquico se puede focalizar en las funciones o procesos del sistema, en la estructura de los datos, o en ambos aspectos, dando lugar a metodologas orientadas a procesos, a datos y mixtas. Metodologas Estructuradas Metodologas Estructuradas Basadas en tcnicas grficas dando lugar al concepto de especificacin estructurada. Una especificacin estructurada es un modelo grfico, particionado, descendente y jerrquico 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-Relacin (ER) - Diagrama de Transicin de Estados Metodologas Estructuradas Metodologas Estructuradas Diagramas de Flujo de Datos (DFD). Representan los procesos o funciones que debe llevar a cabo un sistema en distintos niveles de abstraccin y los datos que fluyen entre las funciones. Los procesos ms 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 DFDs durante el proceso de anlisis del sistema. Metodologas Estructuradas Metodologas Estructuradas Especificacin de un Proceso o Miniespecificacin. Define cmo se obtienen las salidas de un proceso sencillo o elemental en funcin de las entradas al mismo. Existen varias alternativas: el empleo de lenguajes estructurados, diagramas de accin, de flujo, rboles de decisin, tablas de decisin, etc.. Diagrama Entidad-Relacin: Se focaliza en los datos del sistema modelado, brindando una visin 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. Metodologas Estructuradas Metodologas Estructuradas Diagrama de Transicin de Estados: Es un modelo grfico que focaliza el comportamiento dependiente del tiempo de un sistema o de un recurso de un sistema. 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 abstraccin, 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 ms detallada. Descomposicin en Niveles de un DFD Descomposicin en Niveles de un DFD Componentes de un DFD Componentes 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 informacin del sistema. Flujos de Datos: representan los datos que fluyen entre las funciones o procesos. Procesos, funciones o transformaciones Procesos, funciones o transformaciones Un proceso puede interpretarse como una funcin 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 informacin local. Un proceso se identifica mediante un nmero y un nombre, que deben ser nicos en el conjunto de DFDs que representan el sistema. El nombre debe ser breve y lo ms representativo posible de la funcin que describe. Normalmente se forma por un verbo y un sustantivo. Almacenes de Datos Almacenes de Datos Un almacn de datos representa informacin del sistema almacenada en forma temporal. Es un depsito lgico de almacenamiento que puede representar distintos tipos de informacin fsica (una bandeja con papeles, un archivador manual, un archivo en una computadora o una base de datos). Almacenes de Datos (Cont.) Almacenes de Datos (Cont.) Si en un DFD hay un almacn que slo tiene conexin 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 almacn debe representarse por primera vez en el nivel ms alto en el que sirve de interconexin entre dos o ms procesos. Adems, se representar en los niveles inferiores. El contenido de los almacenes se define en el diccionario de datos (DD). Si el contenido de un almacn es muy complejo, se puede representar en un diagrama Entidad-Relacin (ER). Entidades Externas Representacin grfica Entidades Externas Representacin grfica Una entidad externa representa un generador o consumidor de informacin del sistema, pero no pertenece al mismo. Puede representar un subsistema, persona, departamento, organizacin, 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 Externas (Cont.) Entidades Externas (Cont.) Normalmente, las entidades externas slo deberan 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 de Datos Flujos de Datos Se interpretan como un camino a travs del cual viajan datos de composicin conocida de una parte del sistema a otra. Son el medio de conexin de los restantes componentes del DFD. Se representan por arcos dirigidos, en donde la flecha indica la direccin de los datos. Deben tener un nombre o rtulo que los identifique. 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 ALMACN ENTIDAD EXTERNA PROCESO SI SI SI ALMACN SI NO NO ENTIDAD EXETRNA SI NO NO Flujos de Datos (Cont.) Flujos de Datos (Cont.) Las diferentes conexiones entre procesos y almacenes que es posible realizar son: ProcesoA Almacn temporal yyy Flujo de Consulta ProcesoA Almacn temporal xxx Flujo de Actualizacin ProcesoA Almacn temporal zzz Flujo de Dilogo Flujos de Datos (Cont.) Flujos de Datos (Cont.) El flujo de consulta muestra la utilizacin de la informacin del almacn por el proceso que consulta para: Utilizar los valores de uno o ms atributos de una ocurrencia del almacn Comprobar si los valores de los atributos seleccionados cumplen determinadas condiciones El flujo de actualizacin indica que el proceso va a alterar la informacin contenida en el almacn para: Crear una nueva ocurrencia de un dato (entidad o relacin) Borrar una ocurrencia de un dato Cambiar el valor de un atributo El flujo de dilogo involucra un flujo de consulta y uno de actualizacin. Descomposicin en Niveles de un DFD Descomposicin en Niveles de un DFD Ejemplo: Gestin de un Video Club Ejemplo: Gestin de un Video Club 0. GESTIN VIDEOCLUB DIRECCIN VIDEOCLUB PROVEEDORES CLIENTES Pedido alquiler Devolucin Compra Bono Envo Publicidad Sancin Comprobante Entrega Pedido Factura Pago Datos Proveedores Datos Pago Datos Pedido Informes DIAGRAMA DE CONTEXTO Datos Bono Gestin de un Video Club Gestin de un Video Club 1. GESTIONAR CLIENTES 2. GESTIONAR PROVEEDORES PELCULAS Pedido alquiler Devolucin Compra Bono Envo Publicidad Sancin Comprobante Informe de demanda Alquileres pendientes de devolucin Datos Proveedores Datos Pagos Datos Pedido Pedido Pago Factura Entrega Facturas pendientes de pago Facturacin mensual Entregas pendientes DIAGRAMA 0: GESTIN DEL VIDEO CLUB 3. GESTIONAR BONOS BONOS Datos Bono Gestin de un Video Club Gestin de un Video Club 1.1 GESTIONAR ALQUILERES PELCULAS ALQUILERES CLIENTES 1.3 ACTUALI ZAR CRDITO CLIENTE 1.4 GENERAR ENVO PUBLICIDAD 1.2 GESTIONAR DEVOLUCI ONES Pedido alquiler Comprobante Informe de demanda Alquileres pendientes de devolucin Compra Bono Envo Publicidad Devolucin Sancin DIAGRAMA 1: GESTIONAR CLIENTES BONOS Gestin de un Video Club Gestin de un Video Club 1.1.1 VALIDAR ALQUILER 1.1.2 GENERAR DEMANDA ALQUILERES 1.1.3 GENERAR ALQUILERES PENDIENTES DEVOLUCIN PELCULAS ALQUILERES CLIENTES Pedido alquiler Comprobante Informe de demanda Alquileres pendientes de devolucin DIAGRAMA 1.1: GESTIONAR ALQUILERES BONOS Gestin de un Video Club Gestin de un Video Club 1.2.1 REGISTRAR DEVOLUCIN 1.2.2 CALCULAR SANCIN DEVOLUCI ONES ALQUILERES PELCULAS Devolucin DIAGRAMA 1.2: GESTIONAR DEVOLUCIONES Sancin Gestin de un Video Club Gestin 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 PELCULAS FACTURAS 2.5 GESTIONAR FACTURAS Facturas pendientes de pago Facturacin mensual Factura Pago Datos Proveedores Datos Pagos Datos Pedido Pedido Entrega Entregas pendientes DIAGRAMA 2: GESTIONAR PROVEEDORES Gestin de un Video Club Gestin de un Video Club 2.5.1 REGISTRAR FACTURA 2.5.2 EMI TIR FACTURAS PENDIENTES PAGO 2.5.3 REALIZAR FACTURACIN MENSUAL FACTURAS Factura Facturas pendientes de pago Facturacin mensual PAGOS DIAGRAMA 2.5: GESTIONAR FACTURAS Gestin de un Video Club Gestin de un Video Club 2.2.1 REGISTRAR ENTREGA 2.2.1 EMITIR ENTREGAS PENDIENTES PEDI DOS ENTREGAS PEL CULAS Entrega Entregas pendientes DIAGRAMA 2.2: GESTIONAR ENTREGAS Recomendaciones en la creacin de un DFD Recomendaciones en la creacin de un DFD Normalmente la construccin 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 caractersticas del sistema, puede que haya que incluir nuevos requisitos o cambiar los existentes. Esto determina la realizacin de cambios en los DFDs. Es importante identificar correctamente las entidades externas y las caractersticas de la informacin que stas proporcionan. Recomendaciones en la creacin de un DFD Recomendaciones en la creacin de un DFD Al pasar de un nivel a otro debe verificarse la consistencia, es decir que la informacin que entra y sale de un proceso de nivel N sea consistente con la informacin 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.