SlideShare una empresa de Scribd logo
1 de 12
Historia de la Arquitectura
Estilos de Arquitectura
Son una transformación que se impone al diseño
de todo el sistema. El objetivo es establecer una
estructura para todos los componentes del
sistema
Arquitectura ADL
ADL-Lenguaje descriptivo de modelado
arquitectónico de software que se focaliza en la
estructura de alto nivel de la aplicación antes
que en los detalles de implementación de sus
módulos concretos. Su abreviatura es ADL
Frameworks, Vistas, Proceso,
Metodologias, Abstraccion y Escenarios
Arquitectura Dentro de este aspecto, podemos basarnos en el modelo MVC (Controlador => Modelo =>
Vista), ya que debemos fragmentar nuestra programación. Tenemos que contemplar estos aspectos
básicos en cuanto a la implementación de nuestro sistema:
Modelo Este miembro del controlador maneja las operaciones lógicas, y de manejo de información
(previamente enviada por su ancestro), para resultar de una forma explicable y sin titubeos. Cada
miembro debe ser meticulosamente llamado, con su correcto nombre y en principio, con su verdadera
naturaleza: el manejo de información, su complementación directa. VistaAl final, a este miembro de la
familia le corresponde dibujar, o expresar la última forma de los datos: la interfaz gráfica que interactúa
con el usuario final del programa (GUI). Después de todo, a este miembro le toca evidenciar la
información obtenida hasta hacerla llegar al controlador. Solo (e inicialmente), nos espera demostrar la
información. Controlador Con este apartado podemos controlar el acceso (incluso todo) a
nuestra aplicación, y esto puede incluir: archivos, scripts, y/o programas; cualquier tipo de información
que permita la interfaz. Así, podremos diversificar nuestro contenido de forma dinámica, y estática (a la
vez); pues, sólo debemos controlar ciertos aspectos (como se ha mencionado antes).
Estructura Dentro del controlador, modelo o vista podemos manejar lo siguiente: datos. Depende de
nosotros como interpretar y manejar estos 'datos'. Ahora, sabemos que el único dato de una dirección
estática web es: conseguir un archivo físico en el disco duro o de internet, entre otros. e interpretado o
no, el servidor responde.
El modelo, al igual que el controlador y la vista, maneja todos los datos que se relacionen consigo (solo
es el proceso medio de la separación por capas que ofrece la arquitectura MVC). Y sólo la vista, puede
demostrar dicha información. Con lo cual ya hemos generado la jerarquía de nuestro programa:
Controlador, Modelo y Vista.
Campos de Arquitectura
Arquitectura de las computadoras
La cibernetica
la robotica
la computacion
Base de datosMinería de datos
Almacén de datos
Sistema de gestión de base de
datos
Modelo relacional
Computación científica
Bioinformática
Computación Cuántica
Neurociencia computacional
Comunicación y seguridad
Red de computadoras
Servidores
Seguridad informática

Compiladores y lenguajes de
programación
Compilador
Lenguajes de programación
Teoría de lenguajes de programación
Semántica formal
Ingeniería de software
ingeniería de software
Programación
Diseño de algoritmos
Análisis de algoritmos
Ingeniería inversa
Inteligencia artificial
Inteligencia artificial
Razonamiento automatizado
Robótica
Modalidades y Tendencias
Planear
Proyectar
Diseñar
Construir espacios
No solo la capacidad diseñar los espacios si no
tambien la ciencia de construir los volumenes
necesarios
Diferencias entre Arquitectura y
Diseño
Una postura afirma que arquitectura y diseño son lo
mismo.
Otra, en cambio, alega que la arquitectura se
encuentra en un nivel de abstracción por
encima del diseño, o es simplemente otro paso (un
artefacto) en el proceso de desarrollo de software.
Una tercera establece que la arquitectura es algo
nuevo y en alguna medida diferente del diseño
(pero de qué manera y en qué medida se dejan sin
especificar)
Repositorios
Existen unos cuantos repositorios de información arquitectónica, cuyas direcciones
son
más o menos permanentes. El más importante hoy en día parece ser el del Software
Engineering Institute en la Universidad Carnegie Mellon de Pittsburgh, Pennsylvania
(http://www.sei.cmu.edu/ata/ata_init.html). El sitio del SEI incluye abundante
literatura
académica y todas las especificaciones o recomendaciones metodológicas.
Entre los organismos que definen estándares, son esenciales los servicios de
información
de RM-ODP en http://www.dstc.edu.au/Research/Projects/ODP/ref_model.html,
TOGAF
en http://www.software.org/pub/architecture/togaf.asp, DoDAF (hogar del C4ISR) en
http://www.software.org/pub/architecture/dodaf.asp. El estándar IEEE 1471-2000 se
puede encontrar en http://www.techstreet.com/cgi-bin/detail?product_id=879737. El
marco de referencia empresarial de Zachman se puede acceder desde
http://www.software.org/pub/architecture/zachman.asp.
Estilos Arquitectonicos
La mayoría de las arquitecturas de software de sistemas grandes no
utilizan un único estilo, por tanto, se pueden diseñarse diferentes
partes del sistema utilizando distintos estilos arquitectónicos, de este
modo se obtiene una arquitectura compuesta gracias a la combinación
de los diferentes estilos.
CUALIDADES DEL SOFTWARE QUE PROPICIAN
CLASIFICACIÓN DE LOS ESTILOS ARQUITECTÓNICOS
PRINCIPALES ESTILOS ARQUITECTÓNICOS
ESTILOS DE FLUJO DE DATOS
ESTILOS CENTRADOS EN DATOS
ESTILOS DE LLAMADA Y RETORNO
ESTILOS DERIVADOS ESTILOS DE CÓDIGO MÓVIL
ESTILOS HETEREOGÉNEOS
ESTILOS PER TO PER
CRITERIOS PARA LA SELECCIÓN DE UN ESTILO ARQUITECTÓNICO
Patrones Arquitectonicos
Programación por capas
Tres niveles
Pipeline
Invocación implícita
Arquitectura en pizarra
Arquitectura dirigida por eventos, Presentaciónabstracción-control
Peer-to-peer
Arquitectura orientada a servicios
Objetos desnudos
Modelo Vista Controlador
Patrones de Diseño
Los patrones de diseño pretenden:
Proporcionar catálogos de elementos reusables en el diseño de sistemas software.
Evitar la reiteración en la búsqueda de soluciones a problemas ya conocidos y
solucionados anteriormente.
Formalizar un vocabulario común entre diseñadores.
Estandarizar el modo en que se realiza el diseño.
Facilitar el aprendizaje de las nuevas generaciones de diseñadores condensando
conocimiento ya existente.
Asimismo, no pretenden:
Imponer ciertas alternativas de diseño frente a otras.
Eliminar la creatividad inherente al proceso de diseño.
No es obligatorio utilizar los patrones, solo es aconsejable en el caso de tener el
mismo problema o similar que soluciona el patrón, siempre teniendo en cuenta que
en un caso particular puede no ser aplicable. "Abusar o forzar el uso de los patrones
puede ser un error".

Más contenido relacionado

La actualidad más candente

Fundamentos arquitectura del software
Fundamentos arquitectura del softwareFundamentos arquitectura del software
Fundamentos arquitectura del softwarevenezuela2015
 
IIS Unidad 3B Proceso de desarrollo de software
IIS Unidad 3B Proceso de desarrollo de softwareIIS Unidad 3B Proceso de desarrollo de software
IIS Unidad 3B Proceso de desarrollo de softwareFranklin Parrales Bravo
 
TOGAF 9.2 - Transforming Business
TOGAF 9.2  -  Transforming BusinessTOGAF 9.2  -  Transforming Business
TOGAF 9.2 - Transforming BusinessReal IRM
 
Diseño Logico de base de datos
Diseño Logico de base de datosDiseño Logico de base de datos
Diseño Logico de base de datosRobert Rodriguez
 
Learn Togaf 9.1 in 100 slides!
Learn Togaf 9.1 in 100 slides!Learn Togaf 9.1 in 100 slides!
Learn Togaf 9.1 in 100 slides!Sam Mandebvu
 
EA Intensive Course "Building Enterprise Architecture" by mr.danairat
EA Intensive Course "Building Enterprise Architecture" by mr.danairatEA Intensive Course "Building Enterprise Architecture" by mr.danairat
EA Intensive Course "Building Enterprise Architecture" by mr.danairatSoftware Park Thailand
 
Análisis y diseño de sistemas estructurado
Análisis y diseño de sistemas estructuradoAnálisis y diseño de sistemas estructurado
Análisis y diseño de sistemas estructuradojr_palaciosg
 
Arquitectura en Capas
Arquitectura en CapasArquitectura en Capas
Arquitectura en CapasHelenSaravia
 
1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseñolandeta_p
 
Arquitectura de software orientada a patrones
Arquitectura de software orientada a patronesArquitectura de software orientada a patrones
Arquitectura de software orientada a patronesGustavo De la Cruz Tovar
 
Arquitecturas de software - Parte 1
Arquitecturas de software - Parte 1Arquitecturas de software - Parte 1
Arquitecturas de software - Parte 1Marta Silvia Tabares
 
Doing Enterprise Architecture
Doing Enterprise ArchitectureDoing Enterprise Architecture
Doing Enterprise ArchitectureJohn Macasio
 

La actualidad más candente (20)

Fundamentos arquitectura del software
Fundamentos arquitectura del softwareFundamentos arquitectura del software
Fundamentos arquitectura del software
 
Togaf 9 overview
Togaf 9 overviewTogaf 9 overview
Togaf 9 overview
 
IIS Unidad 3B Proceso de desarrollo de software
IIS Unidad 3B Proceso de desarrollo de softwareIIS Unidad 3B Proceso de desarrollo de software
IIS Unidad 3B Proceso de desarrollo de software
 
TOGAF 9.2 - Transforming Business
TOGAF 9.2  -  Transforming BusinessTOGAF 9.2  -  Transforming Business
TOGAF 9.2 - Transforming Business
 
Diseño Logico de base de datos
Diseño Logico de base de datosDiseño Logico de base de datos
Diseño Logico de base de datos
 
Ingeniería Web
Ingeniería WebIngeniería Web
Ingeniería Web
 
Learn Togaf 9.1 in 100 slides!
Learn Togaf 9.1 in 100 slides!Learn Togaf 9.1 in 100 slides!
Learn Togaf 9.1 in 100 slides!
 
EA Intensive Course "Building Enterprise Architecture" by mr.danairat
EA Intensive Course "Building Enterprise Architecture" by mr.danairatEA Intensive Course "Building Enterprise Architecture" by mr.danairat
EA Intensive Course "Building Enterprise Architecture" by mr.danairat
 
Qué es el modelado de negocios
Qué es el modelado de negociosQué es el modelado de negocios
Qué es el modelado de negocios
 
Vista lógica
Vista lógicaVista lógica
Vista lógica
 
Análisis y diseño de sistemas estructurado
Análisis y diseño de sistemas estructuradoAnálisis y diseño de sistemas estructurado
Análisis y diseño de sistemas estructurado
 
Arquitectura en Capas
Arquitectura en CapasArquitectura en Capas
Arquitectura en Capas
 
1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño
 
Arquitectura de software orientada a patrones
Arquitectura de software orientada a patronesArquitectura de software orientada a patrones
Arquitectura de software orientada a patrones
 
Arquitectura del software
Arquitectura del softwareArquitectura del software
Arquitectura del software
 
2 modelos de datos
2 modelos de datos2 modelos de datos
2 modelos de datos
 
Metodologías agiles
Metodologías agilesMetodologías agiles
Metodologías agiles
 
System design
System designSystem design
System design
 
Arquitecturas de software - Parte 1
Arquitecturas de software - Parte 1Arquitecturas de software - Parte 1
Arquitecturas de software - Parte 1
 
Doing Enterprise Architecture
Doing Enterprise ArchitectureDoing Enterprise Architecture
Doing Enterprise Architecture
 

Destacado

Cruzando Fronteras - Respuestas revolucionarias a la crisis de las web-applic...
Cruzando Fronteras - Respuestas revolucionarias a la crisis de las web-applic...Cruzando Fronteras - Respuestas revolucionarias a la crisis de las web-applic...
Cruzando Fronteras - Respuestas revolucionarias a la crisis de las web-applic...Esteban Lorenzano
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 
Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Marta Silvia Tabares
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)josecuartas
 
Estilos de Software
Estilos de SoftwareEstilos de Software
Estilos de Softwarebjjuarez
 
Tendencias de Simulación
Tendencias de SimulaciónTendencias de Simulación
Tendencias de Simulaciónpaolapinasoto12
 
Justificación de un equipo de trabajo
Justificación de un equipo de trabajoJustificación de un equipo de trabajo
Justificación de un equipo de trabajoJennyreina
 
Arquitecturas empresariales para Ingenieros de Sistemas/Informáticos/de Software
Arquitecturas empresariales para Ingenieros de Sistemas/Informáticos/de SoftwareArquitecturas empresariales para Ingenieros de Sistemas/Informáticos/de Software
Arquitecturas empresariales para Ingenieros de Sistemas/Informáticos/de SoftwareMarta Silvia Tabares
 
Estilos arquitectonicos
Estilos arquitectonicosEstilos arquitectonicos
Estilos arquitectonicosjprada_10
 
Introducción a TOGAF para el desarrollo de Enterprise Architecture
Introducción a TOGAF para el desarrollo de Enterprise ArchitectureIntroducción a TOGAF para el desarrollo de Enterprise Architecture
Introducción a TOGAF para el desarrollo de Enterprise Architecturenetmind
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareJosé Antonio Sandoval Acosta
 

Destacado (15)

Cruzando Fronteras - Respuestas revolucionarias a la crisis de las web-applic...
Cruzando Fronteras - Respuestas revolucionarias a la crisis de las web-applic...Cruzando Fronteras - Respuestas revolucionarias a la crisis de las web-applic...
Cruzando Fronteras - Respuestas revolucionarias a la crisis de las web-applic...
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2
 
Concepto generador
Concepto generadorConcepto generador
Concepto generador
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)
 
Estilos de Software
Estilos de SoftwareEstilos de Software
Estilos de Software
 
Tendencias de Simulación
Tendencias de SimulaciónTendencias de Simulación
Tendencias de Simulación
 
El paisaje
El paisajeEl paisaje
El paisaje
 
Estilos Arquitectonicos-Capas
Estilos Arquitectonicos-CapasEstilos Arquitectonicos-Capas
Estilos Arquitectonicos-Capas
 
Justificación de un equipo de trabajo
Justificación de un equipo de trabajoJustificación de un equipo de trabajo
Justificación de un equipo de trabajo
 
Principios diseño del software
Principios diseño del software Principios diseño del software
Principios diseño del software
 
Arquitecturas empresariales para Ingenieros de Sistemas/Informáticos/de Software
Arquitecturas empresariales para Ingenieros de Sistemas/Informáticos/de SoftwareArquitecturas empresariales para Ingenieros de Sistemas/Informáticos/de Software
Arquitecturas empresariales para Ingenieros de Sistemas/Informáticos/de Software
 
Estilos arquitectonicos
Estilos arquitectonicosEstilos arquitectonicos
Estilos arquitectonicos
 
Introducción a TOGAF para el desarrollo de Enterprise Architecture
Introducción a TOGAF para el desarrollo de Enterprise ArchitectureIntroducción a TOGAF para el desarrollo de Enterprise Architecture
Introducción a TOGAF para el desarrollo de Enterprise Architecture
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de software
 

Similar a Arquitectura del software (20)

Nuevas tecnologías reingsys 31_3_09
Nuevas tecnologías reingsys 31_3_09Nuevas tecnologías reingsys 31_3_09
Nuevas tecnologías reingsys 31_3_09
 
Framework
FrameworkFramework
Framework
 
1127082.ppt
1127082.ppt1127082.ppt
1127082.ppt
 
Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 
Presentación1
Presentación1Presentación1
Presentación1
 
Framework
FrameworkFramework
Framework
 
Fr amework
Fr ameworkFr amework
Fr amework
 
DiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del SoftwareDiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del Software
 
Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 
Tarea semana 1
Tarea semana 1Tarea semana 1
Tarea semana 1
 
Tareasemana1
Tareasemana1Tareasemana1
Tareasemana1
 
Framework presentacion
Framework presentacionFramework presentacion
Framework presentacion
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
Introduccion a la ingenieria de software
Introduccion a la ingenieria de softwareIntroduccion a la ingenieria de software
Introduccion a la ingenieria de software
 
Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 

Arquitectura del software

  • 1.
  • 2. Historia de la Arquitectura
  • 3. Estilos de Arquitectura Son una transformación que se impone al diseño de todo el sistema. El objetivo es establecer una estructura para todos los componentes del sistema
  • 4. Arquitectura ADL ADL-Lenguaje descriptivo de modelado arquitectónico de software que se focaliza en la estructura de alto nivel de la aplicación antes que en los detalles de implementación de sus módulos concretos. Su abreviatura es ADL
  • 5. Frameworks, Vistas, Proceso, Metodologias, Abstraccion y Escenarios Arquitectura Dentro de este aspecto, podemos basarnos en el modelo MVC (Controlador => Modelo => Vista), ya que debemos fragmentar nuestra programación. Tenemos que contemplar estos aspectos básicos en cuanto a la implementación de nuestro sistema: Modelo Este miembro del controlador maneja las operaciones lógicas, y de manejo de información (previamente enviada por su ancestro), para resultar de una forma explicable y sin titubeos. Cada miembro debe ser meticulosamente llamado, con su correcto nombre y en principio, con su verdadera naturaleza: el manejo de información, su complementación directa. VistaAl final, a este miembro de la familia le corresponde dibujar, o expresar la última forma de los datos: la interfaz gráfica que interactúa con el usuario final del programa (GUI). Después de todo, a este miembro le toca evidenciar la información obtenida hasta hacerla llegar al controlador. Solo (e inicialmente), nos espera demostrar la información. Controlador Con este apartado podemos controlar el acceso (incluso todo) a nuestra aplicación, y esto puede incluir: archivos, scripts, y/o programas; cualquier tipo de información que permita la interfaz. Así, podremos diversificar nuestro contenido de forma dinámica, y estática (a la vez); pues, sólo debemos controlar ciertos aspectos (como se ha mencionado antes). Estructura Dentro del controlador, modelo o vista podemos manejar lo siguiente: datos. Depende de nosotros como interpretar y manejar estos 'datos'. Ahora, sabemos que el único dato de una dirección estática web es: conseguir un archivo físico en el disco duro o de internet, entre otros. e interpretado o no, el servidor responde. El modelo, al igual que el controlador y la vista, maneja todos los datos que se relacionen consigo (solo es el proceso medio de la separación por capas que ofrece la arquitectura MVC). Y sólo la vista, puede demostrar dicha información. Con lo cual ya hemos generado la jerarquía de nuestro programa: Controlador, Modelo y Vista.
  • 6. Campos de Arquitectura Arquitectura de las computadoras La cibernetica la robotica la computacion Base de datosMinería de datos Almacén de datos Sistema de gestión de base de datos Modelo relacional Computación científica Bioinformática Computación Cuántica Neurociencia computacional Comunicación y seguridad Red de computadoras Servidores Seguridad informática Compiladores y lenguajes de programación Compilador Lenguajes de programación Teoría de lenguajes de programación Semántica formal Ingeniería de software ingeniería de software Programación Diseño de algoritmos Análisis de algoritmos Ingeniería inversa Inteligencia artificial Inteligencia artificial Razonamiento automatizado Robótica
  • 7. Modalidades y Tendencias Planear Proyectar Diseñar Construir espacios No solo la capacidad diseñar los espacios si no tambien la ciencia de construir los volumenes necesarios
  • 8. Diferencias entre Arquitectura y Diseño Una postura afirma que arquitectura y diseño son lo mismo. Otra, en cambio, alega que la arquitectura se encuentra en un nivel de abstracción por encima del diseño, o es simplemente otro paso (un artefacto) en el proceso de desarrollo de software. Una tercera establece que la arquitectura es algo nuevo y en alguna medida diferente del diseño (pero de qué manera y en qué medida se dejan sin especificar)
  • 9. Repositorios Existen unos cuantos repositorios de información arquitectónica, cuyas direcciones son más o menos permanentes. El más importante hoy en día parece ser el del Software Engineering Institute en la Universidad Carnegie Mellon de Pittsburgh, Pennsylvania (http://www.sei.cmu.edu/ata/ata_init.html). El sitio del SEI incluye abundante literatura académica y todas las especificaciones o recomendaciones metodológicas. Entre los organismos que definen estándares, son esenciales los servicios de información de RM-ODP en http://www.dstc.edu.au/Research/Projects/ODP/ref_model.html, TOGAF en http://www.software.org/pub/architecture/togaf.asp, DoDAF (hogar del C4ISR) en http://www.software.org/pub/architecture/dodaf.asp. El estándar IEEE 1471-2000 se puede encontrar en http://www.techstreet.com/cgi-bin/detail?product_id=879737. El marco de referencia empresarial de Zachman se puede acceder desde http://www.software.org/pub/architecture/zachman.asp.
  • 10. Estilos Arquitectonicos La mayoría de las arquitecturas de software de sistemas grandes no utilizan un único estilo, por tanto, se pueden diseñarse diferentes partes del sistema utilizando distintos estilos arquitectónicos, de este modo se obtiene una arquitectura compuesta gracias a la combinación de los diferentes estilos. CUALIDADES DEL SOFTWARE QUE PROPICIAN CLASIFICACIÓN DE LOS ESTILOS ARQUITECTÓNICOS PRINCIPALES ESTILOS ARQUITECTÓNICOS ESTILOS DE FLUJO DE DATOS ESTILOS CENTRADOS EN DATOS ESTILOS DE LLAMADA Y RETORNO ESTILOS DERIVADOS ESTILOS DE CÓDIGO MÓVIL ESTILOS HETEREOGÉNEOS ESTILOS PER TO PER CRITERIOS PARA LA SELECCIÓN DE UN ESTILO ARQUITECTÓNICO
  • 11. Patrones Arquitectonicos Programación por capas Tres niveles Pipeline Invocación implícita Arquitectura en pizarra Arquitectura dirigida por eventos, Presentaciónabstracción-control Peer-to-peer Arquitectura orientada a servicios Objetos desnudos Modelo Vista Controlador
  • 12. Patrones de Diseño Los patrones de diseño pretenden: Proporcionar catálogos de elementos reusables en el diseño de sistemas software. Evitar la reiteración en la búsqueda de soluciones a problemas ya conocidos y solucionados anteriormente. Formalizar un vocabulario común entre diseñadores. Estandarizar el modo en que se realiza el diseño. Facilitar el aprendizaje de las nuevas generaciones de diseñadores condensando conocimiento ya existente. Asimismo, no pretenden: Imponer ciertas alternativas de diseño frente a otras. Eliminar la creatividad inherente al proceso de diseño. No es obligatorio utilizar los patrones, solo es aconsejable en el caso de tener el mismo problema o similar que soluciona el patrón, siempre teniendo en cuenta que en un caso particular puede no ser aplicable. "Abusar o forzar el uso de los patrones puede ser un error".