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, proceso o sistema con los suficientes detalles como para permitir su realización física"
Proceso de Diseño
proceso mediante el que se traducen los requisitos
en una representación del software
tiene dos etapas
diseño preliminar
diseño detallado
es necesario además, un diseño de interfaz
Diseño y Calidad del Software
objetivos
Descubrir los errores en la función, la lógica o la implementación de cualquier representación del software.
Verificar que el software alcanza sus requisitos.
Garantizar que el software se ha representado según los estándares establecidos
Conseguir un software desarrollado de forma uniforme.
Hacer que los proyectos sean manejables
criterios de calidad
Un diseño debe tener una organización jerárquica
Un diseño debe ser modular, es decir, el software debe estar dividido en elementos que realicen funciones específicas
Un diseño debe tener representaciones distintas y separadas de los datos y de los procedimientos.
Un diseño debe llevar a módulos que exhiban características funcionales independientes
Un diseño debe conducir a interfaces que reduzcan la complejidad de las conexiones entre los módulos y el exterior.
Un diseño debe obtenerse mediante un método que sea reproducible y que esté dirigido por la información obtenida durante el análisis de requerimientos
Características Comunes de las Metodologías de Diseño
Notación para representar los componentes funcionales y sus interfaces
Heurísticas para el refinamiento y la partición
Mecanismo para la traducción de requisitos en una representación de diseño
Criterios para la valoración de la calidad
Ingeniería del Software y Diseño del Software
Diseño es técnicamente la parte central de la ingeniería del software
se realiza
diseño arquitectónico
diseño procedimental
diseño de datos
es la única forma mediante la que podemos traducir con precisión los requisitos del cliente
Es necesario para construir un sistema estable, modificable, dinámico, menos costoso, etc.
Fundamentos de 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
de tipo sucesivo
un programa se desarrolla en niveles sucesivos de refinamiento de los detalles procedimentales
modularidad
el software se divide en componentes con nombres y ubicaciones determinados
divide y vencerás
arquitectura del software
caraterísticas importantes
estructura jerárquica de los módulos del software
estructura de los datos
se obtiene mediante
un proceso de partición, que relaciona los problemas del mundo real con las soluciones de software
jerarquía de control
conocido como
estructura del programa
representa
la organización jerárquica de los módulos de un programa e implica una jerarquía de control
estructura de datos
es
una 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
sugiere
que los módulos deben especificarse de forma que la información contenida dentro de un módulo sea 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 de la aplicación, es decir ejecutan secuencialmente una tarea
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
es
una derivación directa de la modularidad, de la
abstracción y del ocultamiento de información
se adquiere
desarrollando módulos con una función
clara y con pocas relaciones con otros módulos
se mide con dos criterios
cohesión
un módulo cohesivo sólo hace (idealmente) una cosa
acoplamiento
es una medida de la interconexión entre los módulos de una estructura de programa