El documento describe los diferentes niveles de diseño de software, incluyendo el diseño de arquitectura, el diseño de alto nivel y el diseño detallado. También explica el diseño estructurado de sistemas y cómo se utilizan los diagramas de estructura para modelar la estructura de control de un programa a través de un árbol de invocación de módulos.
1. 4. Diseño e Implementación
de Software
Ingeniería de Software
UTM 2017
Mayo 2015
2. Diseño de Software
La conversión de los
requerimientos en un
diseño claro de software
que pueda ser
implementado en código.
2
3. Diseño de Software
Para evaluar los requerimientos de usuario, se generó un documento SRS
(Software Requirement Specification), mientras que para la codificación e
implementación, existe la necesidad de requerimientos más detallados en
términos de software. El resultado de este proceso puede ser útil para la
implementación en un lenguaje de programación.
El Diseño de Software es el siguiente paso en Ciclo de Vida de Software, en
donde nos movemos desde el dominio del problema hacia la solución del
mismo. Especifica cómo implementar los requerimientos de usuario.
3
4. 4.1 Niveles de Diseño
Diseño de Arquitectura
Diseño de Alto Nivel
Diseño Detallado
4
5. Diseño de Arquitectura
El diseño de arquitectura es la visión más abstracta del sistema. Identifica el
software como un sistema con muchos componentes interactuando entre ellos.
En este nivel, los diseñadores obtienen la idea del dominio de la solución.
5
7. Diseño de Alto Nivel
El diseño de alto nivel detalla el concepto de diseño de arquitectura único en
vistas de diseño de arquitectura en subsistemas y módulos y muestra sus
interacciones entre ellos mismo. El diseño de alto nivel se enfoca en ver cómo
el sistema se puede implementar por módulos. Reconoce la estructura modular
de cada subsistema y su relación entre ellos.
7
9. Diseño Detallado
El diseño detallado trata sobre la parte de implementación que se visualizó
como sistema o subsistemas en los diseños anteriores. Es un diseño más
detallado en cuando a los módulos y su implementación. Define la estructura
lógica de cada módulo y sus interfaces para comunicarse con otros módulos.
9
11. 4.2 Aplicación del Diseño Estructurado
El diseño estructurado de sistemas se ocupa de la identificación, selección y
organización de los módulos y sus relaciones. Se comienza con la especificación
resultante del proceso de análisis, se realiza una descomposición del sistema en
módulos estructurados en jerarquías, con características tales que permitan la
implementación de un sistema que no requiera elevados costos de mantenimiento.
La idea original del diseño estructurado fue presentada en la década de los '70, por
Larry Constantine, y continuada posteriormente por otros autores: Myers, Yourdon y
Stevens.
Diseño Estructurado de Sistemas - http://www.exa.unicen.edu.ar/catedras/prog1/
introprog2/sites/default/files/ApuntesDiagramaEstructura.pdf
11
12. Diseño Estructurado
El diseño estructurado es un enfoque disciplinado de la transformación de qué
es necesario para el desarrollo de un sistema, a cómo deberá ser hecha la
implementación.
La definición anterior implica que el análisis de requerimientos del usuario
(determinación del qué) debe preceder al diseño y que, al finalizar el diseño se
tendrá medios para la implementación de las necesidades del usuario (el cómo),
pero no se tendrá implementada la solución al problema.
12
14. Los diagramas de estructura (DE) sirven para el modelamiento top-down de la
estructura de control de un programa a través de un árbol de invocación de
módulos. Fueron presentados en la década de los 70 como la principal
herramienta utilizada en diseños estructurados, por autores como Constantine,
Myers, Stevens e Yourdon.
La notación usada se compone básicamente de tres símbolos:
• Módulos
• Invocaciones (Relaciones)
• Cuplas (Comunicación entre módulos)
14