1. Diseño de Software y su
Proceso
ISF5501 Ingeniería de Software
Semana 13/1
2. Aprendizajes Esperados:
Modela y Diseñar Sistemas de
acuerdo a requerimientos de negocio.
Contenidos:
Formula un proceso de diseño para el
desarrollo de aplicaciones informáticas
para la gestión.
4. Diseño del Software
El Diseño es la primera de tres actividades técnicas: Diseño,
Codificación y Pruebas.
Por definición, Diseño es el
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
si realización física.
5. Diseño del Software
Existen 3 metodologías de Diseño:
• Diseño de Datos: transforma el modelo del campo de
información, creado durante el análisis, en las
estructuras de datos que se van a requerir para
implementar el software.
• Diseño Arquitectónico: define las
relaciones entre los principales
elementos estructurales del programa.
• Diseño Procedimental: transforma los
elementos estructurales en una
descripción procedimental del
software.
6. Diseño del Software
Modelo Modelo de
Funcional Información
Diseño
Arquitectónico
Modelo de
Comportamiento
Diseño
Otros Diseño de
Requisitos Datos
Codificación
Módulos de
Programas
Diseño
Procedimental
Prueba
SW Integrado y
Diseño de Software e Ingeniería de Software Validado
7. Diseño del Software
a. Diseño de Datos:
• La actividad principal del Diseño de Datos es la
selección de las representaciones lógicas de los objetos
de datos, identificados durante la fase de definición y
especificación de requisitos.
• Los datos bien diseñados
pueden conducir a una
mejor estructura de
programa, a una
modularidad efectiva y a
una complejidad
procedimental reducida.
8. Diseño del Software
b. Diseño Arquitectónico:
• Su principio es desarrollar una estructura de programa
modular y representar las relaciones de control entre los
módulos.
• Este Diseño mezcla la
estructura de programas y
la estructura de datos y
define las interfaces que
facilitan el flujo de datos a
lo largo del programa.
9. Diseño del Software
c. Diseño Procedimental:
• Este Diseño se realiza una vez establecida la estructura
de programa y de datos.
• El Diseño debe especificar los detalles de los
procedimientos sin ambigüedad.
• Para representar los detalles procedimentales,
se deben utilizar una forma mas restringida:
Programación Estructurada
Notaciones Gráficas de Diseño: (DFD)
Generación de Tablas de Decisiones
Lenguaje de Diseño de Programas:
(Pseudocódigo).
10. Diseño del Software
En la fase de Diseño es donde se deben tomar decisiones
que afectarán finalmente el éxito de la implementación del
software y su facilidad de mantenimiento.
El Diseño es el proceso en el que se asienta la Calidad del
desarrollo del software.
El Diseño es la única forma mediante la cual podemos
traducir con precisión los requisitos del cliente en un
producto o sistema acabado.
El Diseño es la base de todas las siguientes etapas del
desarrollo y su posterior mantenimiento. Sin Diseño nos
arriesgamos a construir un sistema inestable, un sistema
que falle con pequeños cambios, un sistema difícil de
probar, un sistema cuya calidad no pueda ser evaluada, etc.
12. Proceso de Diseño
El Diseño del software se realiza en dos pasos:
• Diseño Preliminar: se centra en la transformación de los
requisitos en los datos y la arquitectura del software.
• Diseño Detallado: se ocupa del refinamiento de la
representación arquitectónica que lleva a una estructura
de datos detallada y a las representaciones algorítmicas
del software.
Si bien existe el diseño de datos, arquitectónico y
procedimental del software, hoy en día se requiere de una
actividad adicional distinta a las anteriores denominada
Diseño de Interfaz, que establece los mecanismo y la
disposición para la integración hombre-máquina.
13. Proceso de Diseño
Los criterios de calidad preliminar para un Diseño, incluye:
a. Debe exhibir una organización jerárquica
b. El Diseño al igual que el software, debe ser modular.
c. Debe contener representaciones distintas y separadas
de los datos y los procedimientos.
d. Debe llevar a módulos que tenga características
funcionales independientes.
e. Debe llevar a interfaces que reduzcan la complejidad de
las conexiones entre los módulos y el entorno exterior.
f. Debe obtenerse mediante un método reproducible y
que esté conducido por la información recolectada en el
Análisis de Requisitos.
15. Síntesis
• El Diseño del Software es la etapa de transición entre
lo Analizado y lo que será Codificado.
• Esta etapa es fundamental, ya que entregará a los
desarrolladores la información concreta sólo para
código.
• El Diseño está compuesto por tres tipos: el diseño de
datos, el arquitectónico y el procedimental.
• Si bien estos tipos de diseños son la base de esta
etapa, sobretodo en los proyectos actuales cobran
relevancia los denominados diseños de interfaz.