Diseño de sofware
Fundamentos del diseño de Software
Diseño: Definir un
Dispositivo, proceso o sistema con los suficientes detalles como para permitir su realización física.
Ingeniería del software y diseño del software
• El diseño de datos transforma el modelo de campo de información, creado durante el análisis, en las estructuras de datos que se van a requerir para implementar elsoftware.
• El diseño arquitectónico define las relaciones entre los principales elementos estructurales del programa.
• El diseño procedimental transforma los elementos estructurales en una descripción procedimental del software.
El proceso de diseño
• El diseño preliminar se centra en la transformación de los requisitos en los datos y la arquitectura del software.
• El diseño detalladose ocupa del refinamiento y de la representación arquitectónica que lleva a una estructura de datos refinada y a las representaciones algorítmicas del software.
DISEÑO Y CALIDAD DEL SOFTWARE
CARACTERÍSTICAS COMUNES DE LAS METODOLOGÍAS DE DISEÑO
Fundamentos del diseño
• ¿Qué criterios puedo utilizar para dividir el software en componentes individuales?
• ¿Cómo se separan los detalles deuna función o de la estructura de los datos de la representación conceptual del software?
• ¿Existen criterios uniformes que definan la calidad técnica de un diseño de software?
ABSTRACCIÓN
REFINAMIENTO
MODULARIDAD
ARQUITECTURA DEL SOFTWARE
JERARQUÍA DE CONTROL
ESTRUCTURA DE DATOS
PROCEDIMIENTOS DEL SOFTWARE
OCULTAMIENTO DE INFORMACIÓN
Diseño modular efectivo
• Reducela complejidad
• Facilita los cambios
• Implementación más sencilla
• Permite el desarrollo paralelo de partes diferentes de un sistema
TIPOS DE MÓDULOS
describimos a continuación:
el
INDEPENDENCIA FUNCIONAL
Diseño de datos
• Mejor estructura de programa
• Modularidad efectiva
• Complejidad procedimental reducida
PRINCIPIOS PARA LA ESPECIFICACIÓN DE DATOSDiseño arquitectónico
El objetivo principal del diseño arquitectónico es desarrollar una estructura de programa modular y representar las relaciones de control entre los módulos.
Diseño procedimental
EL diseño procedimental se realiza después de que se ha establecido la estructura del programa y de los datos. La especificación procedimental que
define los algoritmos, cabe pensar que se podríaespecificar en lenguaje natural, pero debido a la cantidad de ambigüedades que este lenguaje acarrea, es necesario utilizar una forma más restringida de representación.
PROGRAMACIÓN ESTRUCTURADA
Documentación del diseño
Diseño orientado al flujo de datos
En el diseño estructurado orientado al flujo de datos, partimos de la representación del flujo de
la información obtenida en la fasede análisis, donde la información puede representarse como un
flujo continuo que sufre una serie de transformaciones conforme va de la entrada a la salida.
DISEÑO DE DATOS
DISEÑO ARQUITECTÓNICO
EL PROCESO DEL DISEÑO ARQUITECTÓNICO
ANALISIS DE TRANSFORMACIÓN
• El diseño orientado a objetos es un diseño con ocultamiento de información. La representación puede cambiarse sincambios muy extensos.
• Un objeto tiene un estado privado con un constructor asociado y operaciones de acceso. Los objetos proveen servicios (operaciones) a otros objetos.
• La identificación de objetos es un proceso difícil. La identificación de sustantivos y verbos en lenguaje natural es útil para identificar objetos.
• Las interfaces de objetos deben ser precisamente definidas.Un lenguaje de
• programación como Ada, C++ o JAVA puede usarse para esto
• Documentación útil para el diseño orientado a objetos incluyen, gráficas de jerarquía de objetos y diagramas de interacción de objetos.
• Los objetos puede implementarse como entidades secuenciales o concurrentes.
HEURÍSTICAS DE DISEÑO
DISEÑO PROCEDIMENTAL
El impacto de la estructura de datos...
Regístrate para leer el documento completo.