Please enable JavaScript.
Coggle requires JavaScript to display documents.
Fundamentos del diseño de software - Coggle Diagram
Fundamentos del diseño de software
Ingeniería del software y diseño del software
Diseño
Parte central de la ingeniería del software, sigue algunas metodologías del diseño. Podemos traducir con precisión los requisitos del cliente en un producto .
Diseño de Datos
Define las relaciones entre los principales elementos estructurales del programa
Diseño procedimental
Transforma los elementos estructurales en una descripción procedimental del software
Diseño arquitectónico
Transforma el modelo de campo de información
Importancia del diseño
Proceso de diseño
Se traducen los requisitos en una representación del software. Se define en distintas etapas.
Diseño preliminar
Se centra en la transformación de los requisitos en los datos y la arquitectura del software.
Diseño detallado
Se ocupa del refinamiento y de la representación arquitectónica.
Diseño y calidad del software
La calidad del diseño se evalúa mediante una serie de revisiones técnicas formales.
Se requieren una serie de criterios al momento de determinar la calidad del software.
Características comunes de las metodologías del diseño
Independiente de la metodología a utilizar el desarrollador tiene que aplicar una serie de conceptos fundamentales al diseño de datos, arquitectónico y procedimental.
Prueba
Codificación
Fundamentos del diseño
Los fundamentos ayudan al desarrollador de software en los criterios a utilizar, en la estructura, el funcionamiento, entre otras cosas.
Abstracción
Se forman varios niveles de abstracción al momento de considerar una solución modular.
Abstracción de datos
Conjunto de datos que describen un objeto, que está compuesto de partes de información.
Abstracción procedimental
Determinada secuencia de instrucciones que tienen una función limitada y específica.
Refinamiento
Refinamiento sucesivo es una estrategia de diseño descendente.
La estructura de un programa se desarrolla en niveles sucesivos de refinamiento de los detalles procedimentales.
Modularidad
El software se divide en componentes con nombres y ubicaciones determinados, que se denominan módulos y que se integran para satisfacer los requisitos del proveedor.
Arquitectura del software
La estructura jerárquica de los módulos del software
La estructura de los datos
Se obtiene mediante un proceso de participación, que relaciona los problemas del mundo real con las soluciones del software para resolver los problemas.
Jerarquía de control
Representa la organización jerárquica de los módulos de un programa e implica una jerarquía de control.
Procedimiento del software
Diseño modular efectivo
Tipos de módulos
El historial de incorporación es el momento en el que se incluye el módulo en la descripción del software en un lenguaje fuente.
Módulos secuenciales
Se ejecutan sin interrupciones aparente por parte del software de la aplicación.
Módulos incrementales
Pueden ser interrumpidos antes de que terminen por el software de la aplicación.
Módulos paralelos
Se ejecuta a la vez que otro módulo en entornos multiprocesadores.
Independencia funcional
Es una derivación directa de la modularidad, de la abstracción y del ocultamiento de información.
Cohesión
Extensión del concepto de ocultamiento de información.
Acomplamiento
Es una medida de la interconexión entre los módulos de una estructura del programa.