Diseño y Arquitectura de Software

Unidad 1. Arquitectura
Actividad 3.- Patrones de arquitectura
Alumno: Jerónimo Colín Ortiz, Matrícula: AL10506040


1.- Identifica y describe qué es un patrón de arquitectura.
Los patrones de arquitectura, son patrones de diseño de software que ofrecen soluciones a
problemas en un contexto. Un patrón codifica conocimiento específico acumulado por la
experiencia en un dominio.
Cada patrón describe un problema y una solución de manera que se puede usar esa solución un
número infinito de veces sin tener que hacer la misma cosa dos veces.
Los elementos que componen a un patrón son los siguientes:
1. Nombre: Define un vocabulario de diseño y facilita su abstracción
2. Problema: Describe cuando aplicar el patrón, el objetivo y los requisitos
3. Solución: Incluye los elementos que constituyen el diseño (template), la forma canónica
para resolver fuerzas
4. Consecuencias: Resultados, extensiones y tradeoffs

2. Redacta una lista de manera tabular para cada patrón de arquitectura, incluyendo sus
principales características.


Comentario Problema Solución Etapa de
desarrollo
Patrones de
Arquitectura

Relacionados a la
interacción de objetos
dentro o entre niveles
arquitectónicos
Problemas arquitectónicos,
adaptabilidad a
requerimientos cambiantes,
performance, modularidad,
acoplamiento
Patrones de llamadas entre
objetos (similar a los patrones
de diseño), decisiones y
criterios arquitectónicos,
empaquetado de funcionalidad
Diseño inicial

Patrones de
Diseño

Conceptos de ciencia de
computación en general,
independiente de
aplicación
Claridad de diseño,
multiplicación de clases,
adaptabilidad a
requerimientos cambiantes,
etc
Comportamiento de factoría,
Clase-Responsabilidad-
Contrato (CRC)
Diseño detallado

Patrones de
Análisis

Usualmente específicos
de aplicación o industria
Modelado del dominio,
completitud, integración y
equilibrio de objetivos
múltiples, planeamiento
para capacidades
adicionales comunes
Modelos de dominio,
conocimiento sobre lo que
habrá de incluirse (p. ej. logging
& reinicio
Análisis
Patrones de
Proceso o de
Organización

Desarrollo o procesos de
administración de
proyectos, o técnicas, o
estructuras de
organización

Productividad,
comunicación efectiva y
eficiente

Armado de equipo, ciclo de
vida del software, asignación
de roles, prescripciones de
comunicación

Planeamiento

Idiomas
Estándares de
codificación y proyecto
Operaciones comunes bien
conocidas en un nuevo
ambiente, o a través de un
grupo. Legibilidad,
predictibilidad.
Sumamente específicos de un
lenguaje, plataforma o
ambiente
Implementación,
Mantenimiento,
Despliegue