Please enable JavaScript.
Coggle requires JavaScript to display documents.
Fundamentos del diseño de software - Coggle Diagram
Fundamentos del diseño de software
Definición
Según Taylor
proceso de aplicar distintas técnicas y principios con el propósito de definir un dispositivo...
surgió a principio de los 60
Ingeniería del software
establecido los requisitos
diseño
diseño arquitectónico
relaciona entre los principales elementos estructurales del programa
diseño procedimental
una descripción procedimental del software
diseño de datos
estructura de datos que se van a requerir
codificacion
prueba
absorbe el 75% de coste de la ingeniería de software
proceso de diseño
diseño preliminar
transforma los requisitos en los datos y la arquitectura el software
diseño detallado
se ocupa de la representación arquitectónica
diseño de interfaz
Calidad del software
revisión de técnicas formales
descubrir errores de función
Verificar que el alcanza sus requisitos
Criterios a tener en cuenta
Que esté dirigido por la información obtenida durante el análisis de
requerimientos
Un diseño debe ser modular
Un diseño debe tener una organización jerárquica
Abstracción
niveles
abstracción de datos
es un conjunto de datos que describen un
objeto
abstracción procedimental
es una determinada secuencia de
instrucciones que tienen una función limitada y específica
Refinamiento
se desarrolla en
niveles sucesivos de refinamiento de los detalles procedimentales
propuesto por Niklaus Wirth
Modularidad
componentes con nombres y ubicaciones
determinados
Diseño modular efectivo
Reduce la complejidad
Permite el desarrollo paralelo de partes diferentes de un sistema
Implementación más sencilla
Facilita los cambios
tipos de módulos
Módulos secuenciales
Se ejecutan sin interrupción aparente por parte del software
Módulos incrementales
pueden ser interrumpidos antes de que terminen por el software de la aplicación y restablecerse
Módulos paralelos
Un módulo paralelo se ejecuta a la vez que otro módulo
INDEPENDENCIA FUNCIONAL
Módulos independientes fáciles de desarrollar
Creación de interfaces sencillas
Se reduce la propagación de errores
JERARQUÍA DE CONTROL
representa la organización jerárquica de los módulos de un programa e implica una jerarquía de control
OCULTAMIENTO DE INFORMACIÓN
sugiere que los módulos deben especificarse de forma que la información (procedimientos y datos) contenida dentro de un módulo sea inaccesible a otros módulos que no necesiten tal información
facilitará las modificaciones,
prueba y mantenimiento del software
cohesión
evitar la baja
cohesión en el diseño de los módulos
un módulo cohesivo sólo hace (idealmente) una cosa
extensión del concepto de ocultamiento de información
Acoplamiento
interconexión entre los módulos de una
estructura de programa
depende de la complejidad de las interfaces
los módulos
los datos