Please enable JavaScript.
Coggle requires JavaScript to display documents.
Fundamentos del diseño de software - Coggle Diagram
Fundamentos del diseño de software
Diseño modular efectivo
Un diseño modular
Facilita los cambios
Implementación más sencilla
Reduce la complejidad
Permite el desarrollo paralelo de partes diferentes de un sistema
TIPOS DE MÓDULOS
se utiliza la abstracción y ocultamiento de información
Módulos incrementales
pueden ser interrumpidos antes de
que terminen por el software de la aplicación
restablecerse posteriormente
su ejecución en el punto en que se interrumpió
Módulos paralelos
se ejecuta a la vez que otro módulo en entornos
multiprocesadores
Módulos secuenciales
ejecutan secuencialmente una tarea
INDEPENDENCIA FUNCIONAL
cada módulo se
centra en una subfunción específica de los requerimientos
Cohesión
modulo cohesivo ejecuta una tarea sencilla
evitar la baja
cohesión en el diseño de los módulos
Acoplamiento
medida de la interconexión entre los módulos de una
estructura de programa
el diseño de software buscamos el acoplamiento más bajo posible
conectividad sencilla entre módulos
Fundamentos del diseño
ARQUITECTURA DEL SOFTWARE
La estructura jerárquica de los módulos del software
La estructura de los datos
se obtiene mediante un proceso de partición, que
relaciona los problemas del mundo real
JERARQUÍA DE CONTROL
También se le conoce como estructura del programa
representa la
organización jerárquica de los módulos de un programa
se suele representar con diagramas de árbol
Grado de entrada
Visibilidad
Grado de salida
Conectividad
Anchura
Profundidad
MODULARIDAD
componentes con nombres y ubicaciones
divide y vencerás
la modularidad del
software facilita el desarrollo del mismo
El software monolítico
no puede ser estudiado fácilmente por un lector
código prácticamente indescifrable
REFINAMIENTO
refinamiento sucesivo
primera estrategia de diseño descendente
propuesta por Niklaus Wirth
ESTRUCTURA DE DATOS
representación de la lógica que existe entre los
elementos individuales de información
dicta la organización
los métodos de acceso
el grado
de asociatividad
las alternativas para el tratamiento de la información
ABSTRACCIÓN
varios niveles de abstracción
abstracción procedimental
determinada secuencia de
instrucciones que tienen una función limitada y específica
abstracción de datos
conjunto de datos que describen un
objeto
la ingeniería del software es un refinamiento del
nivel de abstracción
PROCEDIMIENTOS DEL SOFTWARE
estructura del programa define la jerarquía de control
procedimiento debe proporcionar una especificación precisa del
procesamiento
representación procedimental del software por
capas
diferencia
entre obtener un programa que funcione y uno que funcione correctamente
OCULTAMIENTO DE INFORMACIÓN
definir una serie de módulos independientes que se
comuniquen sólo a través de la información necesaria
de ocultamiento de información en el diseño facilitará las modificaciones,
prueba y mantenimiento del software
El proceso de diseño
se traducen los requisitos
en una representación del software
el diseño del software se
realiza en dos etapas
diseño preliminar
transformación de los requisitos
en los datos y la arquitectura del software
diseño detallado
refinamiento y de la representación
arquitectónica que lleva a una estructura de datos refinada
aplicaciones modernas requieren un diseño de la
interfaz
Ingeniería del software y diseño del software
parte central de la ingeniería del software
diseño da como resultado representaciones cuya
calidad puede ser evaluada
metodologías de diseño
diseño arquitectónico
diseño procedimental
diseño de datos
El diseño es la única forma mediante la que podemos traducir con precisión los
requisitos
Las fases de diseño, codificación y prueba absorben el 75% o más del coste de
la ingeniería del software
Proceso de aplicar distintas técnicas y principios con el propósito de definir un
dispositivo