Please enable JavaScript.
Coggle requires JavaScript to display documents.
Fundamentos del diseño de software, Abstracción procedimental - Coggle…
Fundamentos del diseño de software
Ingeniería del software y diseño del software
El diseño es técnicamente la parte central de la ingeniería del software
Metodologías de diseño
Diseño de datos
Diseño arquitectónico
Diseño procedimental.
El diseño, codificación y prueba absorben el 75% o más del coste de la ingeniería del software
El diseño de software es la base de todas las partes posteriores el desarrollo y de la fase de prueba
El proceso de diseño
Es un proceso mediante el que se traducen los requisitos en una representación del software
Diseño preliminar
Transformación de los requisitos en los datos y la arquitectura del software
Diseño detallado
Se ocupa del refinamiento y de la representación arquitectónica
DISEÑO Y CALIDAD DEL SOFTWARE
La calidad del diseño se evalúa mediante una serie de revisiones técnicas formales
Organización jerárquica
Ser modular
Debe tener representaciones distintas y separadas de los
datos y de los procedimientos
Debe conducir a interfaces que reduzcan la complejidad
Características
Mecanismo para la traducción de requisitos
Notación para representar los componentes funcionales y sus interfaces
Heurísticas para el refinamiento y la partición
Criterios para la valoración de la calidad
Fundamentos del diseño
Abstracción
Nivel superior
Solución en lenguaje natural
Abstracción de datos
Nivel inferior
Orientación procedimental
Nivel más bajo
Se genera el código fuente
Refinamiento
Refinamiento sucesivo
Descripción de una función
Modularidad
El software se divide en módulos
Facilita el desarrollo de un software
Arquitectura del software
Estructura de los módulos
Estructura de los datos
Jerarquía de control
Estructura del programa
Se suele representar con diagramas de arbol
Estructura de datos
Dicta la organización, los métodos de acceso, el grado de asociatividad y las alternativas para el tratamiento de la información
Elementos escalares
Arrays
Listas y árboles
Procedimientos del software
Debe proporcionar una especificación precisa del procesamiento
El procedimiento es por capas, es decir módulo a módulo
Ocultamiento de información
Facilita las modificaciones, prueba y mantenimiento del software
Diseño modular efectivo
Tipos de módulos
Módulos secuenciales
Ejecutan secuencialmente una tarea
Módulos paralelos
se ejecuta a la vez que otro módulo en entornos
multiprocesadores
Módulos 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ó
Independencia funcional
Es una derivación de la modularidad
Acoplamiento
Es la interconexión entre los módulos de una estructura de programa
Cohesión
Un módulo cohesivo sólo hace una cosa
Abstracción procedimental