Please enable JavaScript.
Coggle requires JavaScript to display documents.
Fundamentos diseño de software, image, image, image, image - Coggle Diagram
Fundamentos diseño de software
Ingeniería y diseño del software
Diseño arquitectonico
Definición de relaciones entre principales elementos estructurales del programa
Diseño procedimental
Transforma elementos estructurales en una descripción procedimental del software
Diseño de datos
Modelo de campo de información, en estructuras de datos
Definición según Taylor
"Proceso de aplicar distintas técnicas y principios con el propósito de definir un dispositivo, proceso o sistema con los suficientes detalles como para permitir su realización física"
Proceso de diseño
2 etapas:
Diseño preliminar
Transformación de los requisitos en los datos y la arquitectura del software
Diseño detallado
Refinamiento y representación arquitectónica del software
Diseño y calidad del software
La calidad del diseño se evalúa con una serie de Revisiones Técnicas Formales (RTF)
Verificar que el software alcanza sus requisitos.
Garantizar que el software se ha representado según los estándares
establecidos.
Hacer que los proyectos sean manejables.
Descubrir los errores en la función, la lógica o la implementación
Conseguir un software desarrollado de forma uniforme.
Características comunes de las metodologías de diseño
Heurísticas para el refinamiento y la partición
Criterios para la valoración de la calidad
Notación para representar los componentes funcionales y sus
interfaces
Mecanismo para la traducción de requisitos
Fundamentos del diseño
Abstracción
De datos
Conjunto de datos que describen un
objeto
Procedimental
Secuencia de instrucciones que tienen una función limitada y específica
Refinamiento
Se desarrolla una jerarquía descomponiendo una función de forma sucesiva hasta que se llega a las sentencias del lenguaje de programación
Modularidad
Componentes con nombres y ubicaciones
determinados que se integran para satisfacer los requisitos
Mientras menos, mejor, pero hasta cierto punto
Arquitectura del software
Se obtiene mediante un proceso de partición, que relaciona los problemas del mundo real con las soluciones software
Se divide en dos
La estructura jerárquica de los módulos del software
La estructura de los datos
Jerarquía de control
Representa la
organización jerárquica de los módulos de un programa
Se suele representar con diagramas de árbol
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 y las alternativas para el tratamiento de la información
Procedimientos del software
Se centra en los detalles de procesamiento de cada módulo individual
Debe proporcionar una especificación precisa del procesamiento
Ocultamiento de información
La información contenida dentro de un módulo debe ser inaccesible a otros módulos que no necesiten tal información
Diseño modular efectivo
Tipos de módulos
Secuenciales
Se ejecutan sin interrupción aparente por parte del software
Incrementales
Pueden ser interrumpidos antes de
que terminen por el software de la aplicación, y restablecerse posteriormente su ejecución en el punto en que se interrumpió.
Paralelos
Se ejecuta a la vez que otro módulo en entornos multiprocesadores
Independencia funcional
Cohesión
Un módulo cohesivo realiza, idealmente, una función
Se busca una alta cohesión
Acoplamiento
Medida de la interconexión entre los módulos de una estructura de programa
Se busca un bajo acoplamiento