Please enable JavaScript.
Coggle requires JavaScript to display documents.
FUNDAMENTOS DE DISEÑO DE SOFTWARE (Grados de acoplamiento (Acoplamiento de…
FUNDAMENTOS DE DISEÑO DE SOFTWARE
¿Qué es el diseño de software?
Es la parte central de la ingeniería del software. Durante el diseño se desarrollan, revisan y se documentan los refinamientos progresivos de las estructuras de datos, de la estructura del programa y de los detalles procedimentales.
¿Qué es el diseño preliminar?
Se centra en la transformación de los requisitos en los datos y la arquitectura del software.
Diseño
¿Qué es el diseño preliminar?Se centra en la transformación de los requisitos en los datos y la arquitectura del software.
¿Qué es el diseñado detallado?Se ocupa del refinamiento y de la representación arquitectónica que lleva a una estructura de datos refinada y a las representaciones algorítmicas del software.
En que consiste el diseño arquitectónico:
Define las relaciones entre los principales elementos estructurales del programa.
En que consiste el diseño de datos.
Transforma el modelo de campo de información, creado durante el análisis, en las estructuras de datos que se van a requerir para implementar el software.
En que consiste el diseño procedimental:
Transforma los elementos estructurales en una descripción procedimental del software.
Criterios para diseño de Software
• Un diseño debe tener una organización jerárquica.
• Un diseño debe ser modular, es decir, el software debe estar dividido en elementos que realicen funciones específicas.
• Un diseño debe tener representaciones distintas y separadas de los datos y de los procedimientos.
Un buen diseño de software no se consigue fácilmente, resultando de la aplicación de principios fundamentales de diseño, de una metodología sistemática y de una revisión exhaustiva.
Fundamentos del diseño
ABSTRACCIÓN
REFINAMIENTO
MODULARIDAD
ARQUITECTURA DEL SOFTWARE
JERARQUÍA DE CONTROL
ESTRUCTURA DE DATOS
PROCEDIMIENTOS DEL SOFTWARE
Los fundamentos del diseño ayudan al desarrollador de software a responder a estas preguntas: ƒ ¿Qué criterios puedo utilizar para dividir el software en componentes individuales? ¿Cómo se separan los detalles de una función o de la estructura de los datos de la representación conceptual del software? ¿Existen criterios uniformes que definan la calidad técnica de un diseño de software?
¿Qué es la cohesión de diseño?
es una extensión del concepto de ocultamiento de información. Un módulo cohesivo ejecuta una tarea sencilla de un procedimiento de software y requiere poca interacción con procedimientos que ejecutan otras partes de un programa.
¿Cuáles son los grados de la cohesión?
Cohesión lógica: realiza tareas relacionadas lógicamente (produce todas las salidas).
Cohesión temporal: contienen tareas relacionadas por el hecho de que todas deben hacerse en el mismo intervalo de tiempo.
Cohesión procedimental: cuando los elementos de procesamiento están relacionados y deben ejecutarse en un orden específico.
Cohesión de comunicación: todos los elementos de procesamiento se concentran en un área de la estructura de datos.
Grados de acoplamiento
Acoplamiento de datos: está subordinado al módulo y se accede a él por medio de una lista convencional de argumentos a través de la cual se pasan los datos.
Acoplamiento de marca: cuando en vez de argumentos simples se pasa una porción de la estructura de datos se pasa por la interfaz del módulo.
Acoplamiento de control: se pasa un indicador de control (una variable que controla las decisiones en el módulo subordinado).
Acoplamiento externo: cuando los módulos están atados a un entorno externo al software. Por ejemplo, las I/O y los dispositivos.
Acoplamiento común: varios módulos hacen referencia a un área global de datos.