Please enable JavaScript.
Coggle requires JavaScript to display documents.
Fundamentos de Diseño de Software - Coggle Diagram
Fundamentos de Diseño de Software
Fundamentos del Diseño
Modularidad
Software se divide en módulos ➗
Dividir facilita el desarrollo del software 😃
Software monolítico: Programa de un solo modulo 1️⃣
Estructura de Datos 📚
Representación de la lógica que existe entre elementos de información
Refinamiento 🔧
Refinamiento Sucesivo
La arquitectura se desarrolla en niveles sucesivos de refinamiento
Procedimientos del Software 📝
Detalles de procesamiento de cada modulo
Jerarquía de Control 👑
Organización jerárquica de módulos, se usan diagramas de árbol 🌳
Abstracción
Se forman niveles de abstracción
Nivel alto = Solución en términos generales
Abstracción de Datos
Conjunto de datos que describen un objeto
Abstracción procedimental
Secuencia de instrucción con función limitada
Arquitectura del Software
Estructura Jerárquica de los módulos
Estructura de los datos
Ocultamiento de la información ❌
Información debe ser inaccesible a otros módulos que no necesiten la información
Ingeniería y Diseño de Software
Diseño Procedimental 🔢
Transforma elementos estructurales en descripción procedimental
Diseño Arquitectónico 🏛️
Define relaciones entre principales elementos estructurales 🖇️
Diseño de Datos 🗄️
Transforma modelo de campo de información a estructura de datos
Diseño Modular Efectivo
Tipos de Módulos
Módulos Incrementales ⏏️
Pueden ser interrumpidos y luego restablecen su ejecución
⏹️
Módulos Secuenciales 🔢
Se ejecutan sin interrupción por parte del software 🟢
Módulos Paralelos ⏸️
Se ejecuta a la vez que otro modulo
Independencia Funcional
Cohesión
Un módulo cohesivo hace una cosa ①
Importante conseguir una cohesión alta ⬆️
Evitar cohesión baja para conseguir una mayor independencia funcional
Acoplamiento
Medida de interconexión entre módulos 🔗
Depende de la complejidad de las interfaces
Se busca el acoplamiento más bajo posible ⬇️
Proceso de Diseño
Etapas
Diseño Preliminar
Transformación de requisitos en los datos y arquitectura
Diseño Detallado 🔍
Refinamiento y presentaciones arquitectónica
Diseño y Calidad del Software
Revisiones Técnicas Formales (RTF)
Descubrir errores 🪲
Verificar ✅
Garantizar según estándares 😊
Conseguir software desarrollado 👨💻
Hacer que proyectos sean manejables
Criterios para determinar la calidad
Debe obtenerse mediante un método reproducible 🔁
Organización jerárquica 👑
Modular ➗
Representaciones distintas y separables 🧩
Llevar a módulos con características funcionales independientes
Conducir a interfaces que reduzcan complejidad 🆗
Características Comunes de las Metodologías
Criterios para valoración de calidad 👍
Notación para representar componentes e interfaces
Mecanismo de traducción de requisitos
Heurística para refinamiento y la partición💡