Please enable JavaScript.
Coggle requires JavaScript to display documents.
Fundamentos del diseño de software - Coggle Diagram
Fundamentos del diseño de software
Pilar fundamental del desarrollo de software, junto con la implementación y las pruebas.
El diseño de software
es la base de todas las partes posteriores del desarrollo
En ciertas metodologías se divide en tres.
Diseño arquitectonico
Diseño procedimental
Diseño de datos
Proceso del diseño
La calidad del diseño se evalúa mediante RTF con el fin de descubrir errores en la lógica, verificar cumplimiento de requisitos, garantizar que el software cumpla con los estándares, etc.
Criterios para determinar la calidad del software: Organización jerárquica, diseño modular, módulos independientes
Divido en
Diseño preliminar
Diseño detallado
Fundamentos
Abstracción
El diseño se generar desde el nivel más alto de abstracción hacia el más bajo, primero planteando las características que debe cumplir una función sin detallarla, hasta posteriormente llegar a el como implementarla en el lenguaje de programación.
Modularidad
El software debe dividirse en componentes con nombres y propósitos específicos para reducir la complejidad de entender el código.
Estructura de Datos
Debido a que la forma en la que se almacenan y trabajan los datos influenciara todas las funciones del software es importante definirla lo antes posible
Ocultamiento de información
Cada modulo solo debe poder acceder a la información relevante para su propio funcionamiento sin poder interferir en la funcionalidad de otros módulos, esto para evitar que un cambio en un modulo afecte el funcionamiento de otros
Diseño Modular efectivo
Un buen diseño modular reduce la complejidad, facilita los cambios, permite el desarrollo en paralelo de varias partes del sistema
Tipos de modulos
Módulos secuenciales
Módulos incrementales
Módulos paralelos
Independencia funcional
Se adquiere desarrollando módulos con una función clara y con pocas relaciones con otros módulos, de forma que cada módulo se centra en una subfunción específica de los requerimientos
Cohesión
Un modulo cohesivo es un módulo que se encarga de una sola cosa, se busca tener una cohesividad alta
Acoplamiento
El acoplamiento depende de la complejidad de las conexiones entre los módulos, se busca tener un acoplamiento bajo