El diseño de software es el conjunto de actividades creativas mediante las cuales los requerimientos se traducen en una representación del software.
Hay diferentes niveles de abstracción para diseñar software:
- Diseño arquitectónico: describe cómo se descompone y organiza el software en componentes abstractos partiendo de la especificación de requerimientos.
- Diseño detallado: describe el comportamiento específico de esos componentes tomando en cuenta el ambiente en el cual se codifica.
Es importante conocer los patrones de diseño y patrones arquitectónicos, la forma de representar el diseño con ayuda de los modelos y especificar actividades para lograr el diseño de software.
Sommerville (2016) menciona que la idea de los patrones es representar, compartir y reusar conocimiento sobre sistemas de software que han sido adoptados en diferentes áreas de ingeniería de software. Un patrón es la descripción del problema y la esencia de su solución, así que la solución puede ser reusada en diferentes configuraciones.
Un patrón arquitectónico es una descripción abstracta de una buena práctica, el cual ha sido probado en diferentes sistemas y ambientes. Así que un patrón arquitectónico describe la organización de un sistema que ha sido exitoso en sistemas anteriores.
La diferencia entre un patrón arquitectónico y un patrón de diseño, es que este último se usa en un nivel de abstracción de diseño detallado mientras un patrón arquitectónico es usado en un nivel de abstracción de diseño arquitectónico. La arquitectura Modelo-Vista-Controlador es un ejemplo de patrón arquitectónico.
Comentarios
Publicar un comentario