Diseño estructurado 3ª edición (2000)



Documentos relacionados
Diseño orientado al flujo de datos

Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 9: CRITERIOS DE CALIDAD DE DISEÑO MODULAR

TEMA 12: CUALIDADES DE UN BUEN DISEÑO

Fundamentos del diseño 3ª edición (2002)

DISEÑO DE FUNCIONES (TRATAMIENTOS)

[PROYECTO] DOCUMENTO DE PRACTICA DE LAS NIIF. Aplicación de la Materialidad o Importancia Relativa en los Estados Financieros

Unidades temáticas de Ingeniería del Software. Fases del proceso de desarrollo 4ª edición (2008)

Proceso de desarrollo del software modelo en cascada

UNIÓN INTERNACIONAL DE TELECOMUNICACIONES

Evaluación del desempeño: los miembros de la familia, a examen

PROGRAMA DE EDUCACIÓN VIAL

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 5. Sistemas de Bases de Datos. frente a Sistemas de Ficheros

Resumen obtenido de: Roger S. Pressman, Ingeniería de Software. Un enfoque práctico, quinta edición, Introducción al Diseño de Software

SUPLEMENTO EUROPASS AL TÍTULO

Manual de Adminsitración Faranox Version WNS Versiones WNS-MultiBuss

Gestión de Riesgos - Introducción

CONFIGURACIÓN DE LA METODOLOGÍA OPENUP V1.0. Centro Ideoinformática

PROCEDIMIENTO OPERATIVO DESARROLLAR SISTEMAS INFORMÁTICOS PDO-COCTI-DTIN-04

SISTEMA InfoSGA Manual de Actualización Mensajeros Radio Worldwide C.A Código Postal 1060

Solución Examen Parcial, Ingeniería del Software I.

MODULO ADMINISTRATIVO

Estructuras de Control - Diagrama de Flujo

Manual de usuario. Modulo Configurador V.1.0.1

6. Gestión de proyectos

DIPLOMADO DE FORMACIÓN DE TUTORES TELEMÁTICOS

Introducción. Conceptos y principios. Introducción. Introducción. Elementos del modelo de análisis. Elementos del modelo de diseño.

Paso #2 Cambie sus cuentas bancarias y las de sus colaboradores a IBAN y BIC

La evaluación del desempeño es un aspecto

Diseño de materiales multimedia

SISTEMA DE GESTION AMBIENTAL Y DE SEGURIDAD Y SALUD EN EL TRABAJO: INTEGRACIÓN

Caso práctico de Cuadro de Mando con Tablas Dinámicas

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática

IAP ENTORNOS INFORMATIZADOS CON SISTEMAS DE BASES DE DATOS

PROCEDIMIENTO DE EVALUACIÓN Y ACREDITACIÓN DE LAS COMPETENCIAS PROFESIONALES CUESTIONARIO DE AUTOEVALUACIÓN PARA LAS TRABAJADORAS Y TRABAJADORES

Universidad Tec Milenio: Profesional SP04005 Reingeniería de procesos

Ingeniería del software I 6 - Diseño orientado a función

Programa 18 Eficiencia en la gestión académica

GUÍAS. Módulo de Diseño de software SABER PRO

UNIDAD DIDACTICA 1: SISTEMAS GESTORES DE BASES DE DATOS

1. Descripción y objetivos

Aplicación de la metodología de las 5 S al diseño de tarjetas de

Diseño Estructurado de Sistemas

PROPUESTA DE RESOLUCIÓN ESPECÍFICA PARA LOS PROGRAMAS DE ADMINISTRACION.

ANÁLISIS DE RIESGOS EN LA GESTIÓN DE PROYECTOS. Los riesgos son eventos o condiciones inciertas que, si se producen, tienen un

INGENIERÍA EN COMPUTACIÓN Reglamento para la realización de la Práctica Profesional Supervisada

ORIENTACIONES SIMCE TIC

Proceso Unificado de Rational

Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa.

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases

DOCUMENTO DE INGENIERIA DE SOFTWARE METRICAS. Proyecto: SISTEMA DE INFORMACIÓN WEB PARA LA ADMINISTRACIÓN DEL GIMNASIO FLEX GYM CENTER.

Anexos Trabajo de Fin de Grado curso

Documento técnico Sistemas según el principio de modularidad Automatización modular con terminales de válvulas

Capacitación YELL. Usabilidad. Jorge Vera Vargas Abril 2012

Organización como función administrativa Resumen para Administración y Gestión Profesor: Gonzalo V.

Técnicas de prueba 1. FUNDAMENTOS DE LA PRUEBA DEL SOFTWARE

GUÍA BÁSICA DE USO DEL SISTEMA RED

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

PRESENTACIÓN-ASPECTOS GENERALES DE LA MATERIA

Índice 1 Instalación de la herramienta 2 Descripción de la herramienta 2 Arranque de la aplicación 3 Proyecto 4 Diagrama de clases 5

En este capítulo se describe las herramientas, así como los procesos involucrados en el análisis y desarrollo de sistemas de información, por otro

Programa en Microsoft Visual Basic 6.0 para el análisis de riesgos eléctricos en oficinas y centros de cómputo. López Rosales, Juan Carlo.

UNIVERSIDAD DE ORIENTE FACULTAD DE ICIENCIAS ECONOMICAS LAS REDES I. Licda. Consuelo Eleticia Sandoval

Criterios para seleccionar tecnología de Modelos de Toma de Decisiones

Instrucción IrA (GoTo). Saltos no naturales en el flujo normal de un programa. Pseudocódigo y diagramas de flujo. (CU00182A)

Estructuras de Control - Diagrama de Flujo

PROCEDIMIENTO DE EVALUACIÓN Y ACREDITACIÓN DE LAS COMPETENCIAS PROFESIONALES CUESTIONARIO DE AUTOEVALUACIÓN PARA LAS TRABAJADORAS Y TRABAJADORES

El proyecto Reúnete ofrece videoconferencia basada en Web, colaboración y mensajería instantánea a todas las Administraciones Públicas.

CAPÍTULO I. Sistemas de Control Distribuido (SCD).

MARCO TEÓRICO Y MATRIZ COMPETENCIA COMUNICACIÓN LINGÜÍSTICA. INGLÉS

MODELAJE DE VESTUARIO ASISTIDO POR COMPUTADOR

DESARROLLO CURRICULAR DEL MÓDULO DISEÑO Y REALIZACIÓN DE SERVICIOS DE PRESENTACIÓN EN ENTORNOS GRÁFICOS CICLO FORMATIVO DE GRADO SUPERIOR

Instructivo: Diagnóstico Interno y Externo por análisis FODA

Universidad Católica Boliviana San Pablo Centro de Sistemas de Información

MANUAL DE MANTENIMIENTO

Diseño y desarrollo de el Generador de Tiendas virtuales usando Líneas de Diseño de productos

Introducción. Entre los modelos de análisis y diseño esta el estructurado.

PLIEGO DE PRESCRIPCIONES TÉCNICAS DEL CONTRATO DE SERVICIO DE TRADUCCIÓN E INTERPRETACIÓN TELEFÓNICA PARA EL CUERPO DE LA POLICÍA MUNICIPAL DE MADRID

TALLER 2. MEJORA CONTINUA

MODELACIÓN DE SISTEMAS TECNOLÓGICOS EN LA FORMACIÓN BÁSICA DE LOS INGENIEROS

Convocatoria 2014 Fundación para la Prevención de Riesgos Laborales AT-0116/2014. Pilares de Gestión para la Prevención de Riesgos Laborales

La importancia del desarrollo para el buen diseño del software


1 El plan de contingencia. Seguimiento

Diferencias entre nivel 2 y nivel 3 y una estrategia de implantación

Presupuesto Base Cero Metodología

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.1 UML: Introducción

GUÍA DOCENTE. Curso Ingeniería Informática en Sistemas de Información Doble Grado: M6: Tecnología Específica de Sistemas de Información

I.E.S. AGUADULCE PROGRAMACIÓN DIDÁCTICA. Programación CICLO FORMATIVO DE GRADO SUPERIOR DESARROLLO DE APLICACIONES WEB

Análisis e Ingeniería de Requisitos Tema 4: Análisis de Requisitos

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

Project Ing. Christian Ovalle

Software online de Gestión para Obras Sociales, Sindicatos, Prepagas, ART y Hospitales/Sanatorios con Consultorios Externos

ORDEN ORGANIZACIÓN ESTANDARIZACIÓN LIMPIEZA INTEGRACIÓN

Unidad Didáctica: WRITER. buscar texto en el documento, reemplazar texto por otro, duplicar párrafos, moverlos de lugar, seleccionar el texto,

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

ANÁLISIS Y DISEÑO DE SISTEMAS

DOCUMENTO DE OBSERVACIONES A LAS CUALIFICACIONES PROFESIONALES

Tabla de contenido. Manual B1 Time Task

UNIÓN INTERNACIONAL DE TELECOMUNICACIONES INTERFACES DE CENTRAL PARA OPERACIÓN, ADMINISTRACIÓN Y MANTENIMIENTO

Transcripción:

Unidades prácticas de Ingeniería del Software Diseño estructurado 3ª edición (2000) Facultad de Informática

diseñando el software El diseño estructurado es un método de diseño de software concebido por Page-Jones. El método debe aplicarse después de analizar el software mediante un método estructurado (p.e. método de Yourdon). El diseño del software se plantea como la organización de los módulos (procedimientos y funciones) para conseguir la funcionalidad descrita en el análisis; por ello, este método se considera dentro de la categoría de los métodos orientados por la función. El método proporciona un conjunto de herramientas para la representación del diseño del software, la organización de las actividades de diseño y criterios para comprobar la calidad del diseño. Diseño estructurado 2

contenido Parte I. Herramientas de representación Parte II. Guía de diseño Referencias bibliográficas Diseño estructurado 3

parte I. herramientas de representación Representación del diseño Diagrama de estructura Diagrama de estructura: ejemplo Especificación de módulos por interfaces Especificación de módulos por pseudocódigo Diseño estructurado 4

representación del diseño El método del diseño estructurado proporciona dos herramientas para representar el diseño: Diagrama de estructura, con el que se representa la estructura modular del software (diseño arquitectónico). Lenguaje de especificación de módulos, con el que se describe los detalles procedimentales de cada módulo, existiendo dos alternativas posibles: especificación de las interfaces de módulos o especificación por pseudocódigo. Estas herramientas permiten dividir el trabajo entre los miembros de un equipo de desarrollo al estar orientadas modularmente. Diseño estructurado 5

diagrama de estructura N Módulo Invocación o transferencia de control X Parámetro de entrada T Módulo contenido dentro del padre N N Módulo de librería Subsistema Invocación iterativa Activación de subtarea concurrente Conector Y Z F Parámetro de salida Parámetro de entrada/salida Flag T E F G Datos Módulo transaccional Agrupación de módulos Diseño estructurado 6

diagrama de estructura: ejemplo Main Realizar llamada ClearScreen Comunicador Número teléfono Iniciar modem Marcar nº Conexión Transferencia Desconexión EP Mensaje Comando Número teléfono (pag. n) (pag. n+1) Realizar llamada EP Write Escribir puerto Fichero: matra.unit Diseño estructurado 7

especificación de módulos por interfaces Interfaces de módulos Se define lo que se espera de un módulo como si fuera una especie de contrato. Se especifica para cada módulo: los datos de entrada, su propósito y la salida que se espera. Esta forma permite al diseñador definir la funcionalidad de un módulo sin entrar en excesivos detalles. La estructura de los datos se identifica al margen. Ejemplo Módulo. Seleccionar sitio de pasajeros. Propósito. Elegir para cada cliente el sitio que cumpla los requisitos de su clase y preferencias. Usa. Preferencias_sitio. Devuelve. Sitio_seleccionado, Preferencias_disponibles. Detalles funcionales. Buscar entre los sitios disponibles aquellos que cumplan las condiciones en el siguiente orden: clase, fumador y fila. Estructura de datos Preferencias_sitio Clase_asignada Fumador Fila *Primera, Negocios, Turista *S/N *Pasillo, Medio, Ventana Diseño estructurado 8

especificación de módulos por pseudocódigo Pseudocódigo Es una forma más detallada de describir un módulo. Con un lenguaje formal estructurado se especifica cómo tiene que funcionar el módulo. Al ser más detallada que la especificación de interfaces tiene un menor margen de error, pero implica más trabajo para el diseñador. No obstante, la especificación por pseudocódigo se puede complementar con la especificación de interfaces. Ejemplo Módulo. Seleccionar sitios de pasajeros. Call ObtenerPrimerSitio(Sitio,NoHaySitios) While Not NoHaySitios Comprobar Sitio con Preferencias_sitio Si es valido Añadir a la Lista_sitios Call ObtenerSiguienteSitio(Sitio,NoHaySitios) EndWhile Mostrar la lista al usuario para que seleccione el número de sitio. Accept Numero_sitio Sitio_seleccionado=Lista_sitios(Numero_sitio) Return Sitio_seleccionado Diseño estructurado 9

parte II. guía de diseño Estrategia Actividades Medidas Heurísticas Diseño estructurado 10

estrategia Las especificaciones desarrolladas durante el análisis estructurado pueden ayudar a derivar la estructura del diseño. La transición desde el diagrama de flujo de datos a la estructura del programa, representada en el diagrama de estructura, requiere la identificación del tipo de flujo de información. Flujo de transacción Flujo de transformación T Entrada Transformación Salida Diseño estructurado 11

actividades Si es transformación Aislar el centro de transformación de los procesos de entrada y salida. Realizar el primer nivel de factorización. Si es transacción Identificar el centro de transacción. Establecer una estructura software adecuada para el procesamiento de transacciones. Controlar Controlar Leer Procesar Emitir Leer datos Invocar Ejecutar el segundo nivel de factorización, convirtiendo los procesos de DFD en módulos de la estructura. Refinar la estructura resultante usando medidas y heurísticas de diseño. Desarrollar la estructura de cada una de las transacciones, incorporándola a la estructura anterior. Refinar la estructura resultante usando medidas y heurísticas de diseño. Diseño estructurado 12

medidas La cohesión y el acoplamiento son dos medidas que permiten evaluar la calidad de la partición de los módulos y, por lo tanto, ayudan a refinar el diseño. Un buen diseño se caracteriza por un acoplamiento bajo, es decir, poca interdependencia entre módulos, y una cohesión alta, significando que los elementos que componen un módulo están muy relacionados. Estas cualidades permiten reducir los errores y mejorar la comprensión del diseño, facilitando, por lo tanto, la tarea de mantener el software. Mejorar la cohesión Para asegurar que las funciones del software reflejen las originales y así facilitar la comprensión. Partir módulos que realicen actividades poco relacionadas entre sí. Asignar a los módulos tareas de control o de trabajo. Mejorar el acoplamiento Para reducir la posibilidad de transmisión de errores (efecto ripple) entre módulos. Eliminar relaciones innecesarias. Reducir el número de relaciones. Facilitar la claridad de las relaciones. Diseño estructurado 13

heurísticas Factorizar Separar la funcionalidad de un módulo en varios módulos. Reducir el tamaño de los módulos. Minimizar la duplicidad de código. Proporcionar módulos de uso general. Mejorar la cohesión. Formar estructuras reconocibles Tender hacia estructuras con formas básicas (p.e., entrada, transformación y salida) o estructuras inspiradas en las propias estructuras de datos. Inicialización y terminación Iniciar y terminar cada función en el momento preciso (evitar funciones de inicializar y terminar todo). Compromiso entre restrictividad y generalidad Los módulos muy restrictivos son difíciles de reusar. Los módulos muy general son muy complejos y poco eficientes. Reducir el número de subordinados Un módulo que posea más de siete módulos subordinados dificulta su comprensión. Diseño estructurado 14

referencias bibliográficas Yourdon, E. Modern Structured Analysis. Prentice-Hall, 1989. Page-Jones, M. Practical guide to structured systems design. Prentice-Hall, 1988. Pressman, R.S. Ingeniería del software. Un enfoque práctico. McGraw-Hill, 1993. Diseño estructurado 15