Unidad 2: Análisis Estructurado de sistemas

Slides:



Advertisements
Presentaciones similares
DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
Advertisements

Métrica v2.1 : Técnica - Diagrama de Flujo de Datos (DFD)
Fundamentos de Diseño de Software INFT.1
También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
Análisis y Diseño Estructurado
ANÁLISIS DE REQUERIMIENTOS
Diagrama de Flujo de Datos (DFD)
Elementos para Interpretar el Modelo Conceptual de Datos
Diseño orientado al flujo de datos
DIAGRAMA DE FLUJO DE DATOS
MODELADO DE ANALISIS Y DISEÑO
Fundamentos de Ingeniería de Software
Introducción a la programación orientada a aspectos.
Prof. César Luza Montero
Tipo de Dato Abstracto Tipos de datos:
CONCEPTOS Y PRINCIPIOS DE DISEÑO
UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
DIAGRAMAS DE CLASES Completando los diagramas de interacción, es posible identificar la especificación de las clases que participarán en la solución indicando.
Ingeniería del Software
METODOLOGIA DE LA PROGRAMACION
Profesor: Miguel Angel Vidal
VHDL.
Laura Patricia Pinto Prieto Ingeniera de sistemas.
Semana 5 Subprogramas..
Diseño del Software Diseño de datos Diseño arquitectónico
Métrica v2.1 : Técnica - Diagrama de Flujo de Datos (DFD)
DISEÑO DE SOFTWARE 1ª. Parte
Bases de Datos Modelamiento.
El Modelo Esencial.
5.3 APROXIMACIONES AL DISEÑO
PROGRAMACIÓN PROCEDIMENTAL
Diseño de algoritmos La computadora puede realizar procesos y darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza. Con.
Tecnológico de Estudios Superiores Huixquilucan Fundamentos de Sistemas Ingeniería en Sistemas Computacionales Lic.: Lydia Villavicencio Gómez “Paradigmas.
Comunicación y Multimedia
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
Análisis de Sistemas.
Ingeniería en Sistemas de Información
Organización y Estructuración de Datos
Diseño: Fundamento y Documentación ISF5501 Ingeniería de Software Semana 13/2.
Diccionario de Datos.
DIAGRAMA DE FLUJO ERIKA SUAREZ lozano Sergio Ortiz caballero Arturo González Yesica mariana regueros Paola García sanchez.
Organización y Estructuración de Datos Profesor Titular: Mg Carlos G. Neil 2009.
Ingeniería de software
Diseño de Software y su Proceso
Programación orientada a objetos Capítulo 6 Diseño de clases.
Representación de Algoritmos
Trainning DFD.
El modelo de análisis tiene como objetivo generar una arquitectura de objetos que sirva como base para el diseño posterior del sistema. Dependiendo del.
Explica con tus propias palabras
Facultad de Ingeniería
TEMA 9: DIAGRAMA DE CLASE EN UML
Universidad Metropolitana Introducción a la Computación
Diseño de Sistemas.
Introducción al análisis de sistemas
Ingeniería de Requisitos
Diseño del Software e Ingeniería del Software
Diseño Orientado al Flujo de Datos
Elaboración de algoritmos usando lógica de programación
TIPOS DE PRUEBAS DEL SOFTWARE
¿QUE ES EL DIAGRAMA DE ESTADO ?
UNIDAD 2: “Características del Modelado UML” CONTENDIDO Elaborado por: Ingeniero Harold Cabrera Meza Actualizado por: Ingeniero Nilson Albeiro Ferreira.
FUNDAMENTOS DE PROGRAMACION
Proceso de desarrollo de Software
República Bolivariana de Venezuela Universidad Nacional Experimental Politécnica de la Fuerza Armada (UNEFA) Carrera: Ingeniería de Sistemas Cátedra: Análisis.
Fundamentos de Ingeniería de Software
Objetivos de la prueba Los objetivos principales de realizar una prueba son: Detectar un error. Tener un buen caso de prueba, es decir que tenga más probabilidad.
La programación modular es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible.
Entregables del Proyecto
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Profesor: Jesús Chaparro Bachilleres: Perez, emibeliz Prada, Rainer Villahermosa, José Abril 2014.
Transcripción de la presentación:

Unidad 2: Análisis Estructurado de sistemas

Conceptos Básicos ¿Qué es analizar? Es estudiar un problema antes de tomar alguna acción. ¿Qué son datos? Es un hecho o valor a partir del cual se puede inferir una conclusión; información. ¿Qué son estructuras de datos? Son un conjunto de datos elementales organizados de alguna forma, con el objetivo de facilitar su manipulación.

¿Qué es el análisis estructurado de sistemas? Conceptos Básicos ¿Qué es el análisis estructurado de sistemas? Es el estudio de un sistema separando los componentes para su fácil comprensión. El análisis estructurado se concentra en especificar lo que se requiere que haga el sistema o la aplicación. Permite que las personas observen los elementos lógicos separados de los físicos.

Método de desarrollo por análisis estructurado Es para grandes sistemas. Se divide el sistema en componentes. Se construye un modelo del sistema.

Método de desarrollo por análisis estructurado - Elementos Descripción Grafica Diagramas de Flujo de Datos Diccionario de Datos Utiliza símbolos o iconos para crear un modelo grafico del sistema. Sin introducir procesos manuales o informatizados, archivos etc. Tienen la misión de: Mostrar las fuentes y destinos de los datos. Identificar y dar nombre a los procesos. Dar nombre a los grupos de datos que relacionan una función con otra. Señalar los almacenes de datos a los que se tiene acceso. Descripción Descendente TOP DOWN. Se definen flujo de datos, procesos y almacenes de datos. Maestro de Cuentas Nro de Cta Válido Verificar Monto Cheque Nro Cta Rechazo

Fundamentos del Análisis y Diseño Abstracción: Indica la generalización o detalle con que se representa el diseño. Se puede dividir en: Abstracción procedimental: Hace referencia a una secuencia de instrucciones con una funcionalidad específica y limitada. Ejem: Abrir. Abstracción de datos: hace referencia a una colección de datos que describe un objeto de datos. Ejem: Puerta. Puede verse que las procedimentales pueden usar la información de las de datos (Abrir la puerta).

Fundamentos del Análisis y Diseño Refinamiento: Es la base del diseño. Es un proceso de elaboración que comienza con un nivel de abstracción alto y van descendiendo sucesivamente de nivel de abstracción hasta llegar a un nivel bajo. Modularidad: Es la propiedad de un sistema que ha sido descompuesto en un conjunto de módulos coherentes e independientes.

Fundamentos del Análisis y Diseño Abstracción Manejo de conceptos generales y no de instancias particulares Refinamiento Seguir una estrategia de diseño descendente Niveles de abstracción Código Diseño procedimental Requisitos familiares en el ámbito del problema Nómina Nómina Mensual Personal Confianza Nómina Modularidad División del software en unidades con entidad propia tales como funciones o subrutinas. Mensual Semanal Confianza Confianza Obreros Obreros

Diseño estructurado Es el proceso de decidir qué componentes forman parte del sistema y la interconexión entre los mismos, para solucionar un problema específico.

Diagrama de estructura Es una descripción de la relación entre entidades (personas, lugares, eventos y objetos) de un sistema y el conjunto de información relacionado con la entidad.

Diagrama de estructura La diferencia que hay entre el DFD y el diagrama de estructuras, es que el primero representa secuencialidad y el segundo representa jerarquía. Propiedades del diagrama de estructuras: Hay niveles de complejidad en el mismo nivel, son iguales. La cantidad de niveles me define la profundidad. Profundidad: es la cantidad de niveles que tiene el diagrama. Grado de salida: es una característica de un modulo no de el diagrama. Es la cantidad de subordinados directamente al modulo. Grado de entrada: también se mide sobre un modulo, es la cantidad de módulos que llaman a un modulo determinado. Amplitud global o anchura: el nivel que tiene mas módulos me da la anchura. Alcance de control o visibilidad: se mide por modulo, es la cantidad de módulos que el llama directa o indirectamente. No se puede repetir el nombre de un modulo.

Finalidad Verificar los requerimientos de información. Describir los datos asociados con las entidades. Mostrar la relación entre entidades. Comunicar los requerimientos de datos a un diseñador de archivos o administrador de la base de datos.

Módulos Un módulo se define como un conjunto de sentencias de programa con cuatro atributos básicos: Entradas/Salidas: Datos que recibe cuando lo invocan y datos que devuelve al módulo que lo llamo. Función: Qué hace con las entradas para producir las salidas. Mecánica: La lógica mediante la cual lleva a cabo su función. Datos internos: Zona de datos a los que únicamente puede referirse él. Además posee otros atributos adicionales cómo: Un nombre, por el cual puede ser referenciado como un todo. Puede invocar o ser invocado por otros módulos.

Módulos Un módulo puede ser clasificado como: Secuencial: se ejecuta sin interrupción. Incremental: puede ser interrumpido y posteriormente, restablecida su ejecución en el punto en que se interrumpió. Paralelo: se ejecuta a la vez que otro modulo.

Módulos En programación un módulo representa un programa, subprograma o rutina, Representado por: Conexión entre módulos. Representado por: Comunicación entre módulos. Representado por: Flags Datos

Relación entre módulos La conexión entre módulos se representa mediante una línea. En la figura: A llama a B. B hace su función. B retorna a A, inmediatamente después del lugar donde se produjo la llamada de A a B. El diagrama no dice nada sobre el código de A ni sobre el de B, lo único que sabe es que en A existe una sentencia del tipo CALL B. A MODULO QUE LLAMA CONEXION B MODULO LLAMADO Según (Molina et al. 97): en el diagrama no se conoce cuántas veces puede A invocar a B. Sólo se dice que A es capaz de invocar a B. Tal vez no realice ninguna invocación.

Comunicación entre módulos

Comunicación entre módulos

Comunicación entre módulos

Comunicación entre módulos INTERFAZ Conjunto de comandos y/o métodos que permiten la intercomunicación del programa con cualquier otro programa o entre partes (módulos) del propio programa o elemento interno o externo. De hecho los periféricos son controlados por interfaces.

Comunicación entre módulos

Comunicación entre módulos

Comunicación entre módulos

Comunicación entre módulos

Criterios de validación de calidad Los diagramas de estructura son simplemente una herramienta para modelar los módulos de un sistema y sus relaciones y, junto con las especificaciones de funcionalidad de los módulos, componen un diseño inicial que deberá ser analizado y mejorado. A continuación se describen los criterios utilizados para mejorar un diseño: Acoplamiento Cohesión Descomposición

Acoplamiento Se refiere al grado de interconexión entre módulos, depende del número de parámetros que se intercambian para su comunicación En la práctica puede interpretarse como la probabilidad de que en la codificación, depuración o modificación de un determinado módulo, el programador necesite tomar conocimiento acerca de partes de otro módulo

Acoplamiento De acuerdo a la fortaleza de sus interconexiones, se clasifican en: Módulos Altamente Acoplados: unidos por fuertes interconexiones. Módulos Débilmente Acoplados: pocas y débiles interconexiones. Módulos Desacoplados: independientes y sin interconexiones entre ellos.

Factores que afectan al acoplamiento Los principales son: Conexión de información entre módulos. Información que pasa de un módulo a otro. Entrada y salida al módulo. Complejidad de la información que se transmite.

Niveles de acoplamiento Existen varios niveles de acoplamiento, de mejor a peor: Acoplamiento Normal: De Datos, entre el módulo que llama y el llamado, ha de establecerse al menos una comunicación básica. Por estampado, si se pasan datos entre módulos con estructura de registro, no es deseable si del registro, el módulo que recibe el registro sólo necesita parte de los datos. De control, cuando los datos de comunicación son flags de control, supone una ruptura en el principio de caja negra, ya que el módulo inferior tiene detalles de funcionamiento del superior, esto es malo si se cambia el módulo inferior  

Niveles de acoplamiento Existen varios niveles de acoplamiento, de mejor a peor: Acoplamiento Común, cuando más de dos módulos hacen referencia a un área  común de datos. Puede dar problemas si los módulos acceden sin demasiado control a ese área común Acoplamiento de contenido, cuando un módulo cualquiera, accede a parte del código de otro rompiendo jerarquía 

Se refiere a que tan integrados están los componentes de un módulo. Cohesión Se refiere a que tan integrados están los componentes de un módulo. Estudiando la Relacion que existe entre los elementos del mismo. “Cohesión es la Medida de la relación Funcional de los elementos (cualquier pieza) de un módulo.” 31

Cohesión Tip´s: Elementos que tengan una mayor Relación (Alta Cohesión) Mismo Módulo. Elementos No Relacionados (Baja o Ninguna Cohesión Módulos Separados. Idealmente un Mòdulo Coherente debe hacer una sola cosa. 32

Reglas para clasificar Elegir el criterio de mejor cohesión: cuando todas las actividades se relacionan por los mismos criterios. Elegir el criterios de peor cohesión: cuando algunas actividades se relacionan con unos criterios de cohesión y otras con otros.

Resumen de cohesión 1. Funcional 2. Secuencial 3. Comunicacional ¿Realiza una sola función? Mejor si 1. Funcional no 2. Secuencial si ¿Importa la Secuencia? Bueno Por datos no 3. Comunicacional ¿Cómo están relacionadas las actividades? si 4. Procedural ¿Importa la Secuencia? Por flujo de control Medio no 5. Temporal Ninguna de Las dos si 6. Lógica Malo ¿Actividades del mismo tipo no 7. Coincidencial Peor

Descomposición La descomposición es la separación de una función contenida en un módulo, para un nuevo módulo. Puede ser hecha por cualquiera de las siguientes razones: Reducir el tamaño del módulo Hacer el sistema más claro Minimizar la duplicación de código Separar el trabajo de la ‘administración’ Crear módulos más generales

Unidad 2: Análisis Estructurado de sistemas Profesor: Lcdo. Luis Peña https://tsuluispena.wordpress.com Carrera: TSU En Análisis y Diseño de Sistemas. Asignatura: Procesamiento de datos Universidad Nacional Experimental Politécnica de las Fuerzas Armadas.