Please enable JavaScript.
Coggle requires JavaScript to display documents.
Fundamentos de Diseño del Software, Programa principal, 280px-Binary…
Fundamentos de Diseño del Software
Primer paso de la fase desarrollo
Es tecnicamente la parte central de la ingeniería de software
Metodologia de Diseño
Diseño de Datos
Del modelo de datos a las estructuras de datos que se usaran para implementación
Diseño Arquitectonico
Transforma los elementos estructurales en una descripción procedimental del software.
Diseño Procedimental
Define las relaciones entre los principales elementos estructurales del programa
en aplicaciones modernas
Diseño de la Interfaz
Se enfoca en la experiencia de usuario y la interacción
El diseño de software es la base de todas las partes posteriores del desarrollo
El
no tener diseño
es un riego inminente para las fases posteriores de desarrollo
Gestion del proyecto
etapas
Diseño preliminr
transformación de los requisitos en los datos y la arquitectura del software.
Diseño detallado
representación arquitectónica que lleva a una estructura de datos refinada y a las representaciones algorítmicas del software.
Diseño y calidad
se evalua mediante
Revisiones Técnicas Formales (RTF)
1
Descubrir los errores en la función, la lógica o la implementación de cualquier representación del software.
Se evalúan en reuniones
2
Verificar que el software alcanza sus requisitos.
3
Garantizar que el software se ha representado según los estándares establecidos.
4
Conseguir un software desarrollado de forma uniforme.
5
Hacer que los proyectos sean manejables.
Características comunes
Mecanismo para la traducción de requisitos en una representación de diseño.
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
Abstracción de Datos
Conjunto de datos que describen un objeto
Abstracción Procedimental
determinada secuencia de instrucciones que tienen una función limitada y específica
Refinamiento
Refinamiento sucesivo
Se detalla sucesivamente la arquitectura hasta llegar a las sentencias del lenguaje de programación.
Modularidad
Dividir el software en distintos componentes que juntos integran los requisitos propuesto por el cliente
Tecnica clave
Divide y vencerás
Arquitectura del Software
Estructura Jerarquica de modulos
La estructura de los datos
Proceso de partición, que lleva un problema real a ser solucionado mediante la creación del software
Jerarquia de Control
o
Estructura del Programa
Representa la organización jerárquica de los módulos de un programa
Procedimientos del Software
El procedimiento del software se centra en los detalles de procesamiento de cada módulo individual
Estructura y Procedimiento
representación procedimental del software por capas
Ocultamiento de información
Se define una serie de módulos independientes que se comuniquen sólo a través de la
información necesaria
para realizar la función de software
MODULOS
Modulos Secuenciales
Se ejecutan
sin interrupción
aparente por parte del software de la aplicación,
Modulos 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ó.
Modulos Paralelos
Un módulo paralelo
se ejecuta a la vez
que otro módulo en entornos multiprocesadores.
Interdependencia Funcional
Cohesión
un módulo cohesivo sólo hace (idealmente) una cosa
Mientras
más cohesion
en los modulos,
mejor.
Acoplamiento
El acoplamiento es
una medida de la interconexión entre los módulos
de una estructura de programa.
Mientras
menos cohesion entre
los modulos,
mejor
.
Programa principal
Subproblema 1
Subproblema 2
Subproblema 3
Subproblema N