Universidad Técnica de Manabí
Facultad de Ciencias InformáticasCarrera en Ingeniería en Sistemas Informáticas
TEMA:
Tarea de arquitectura de software sobre patrones de
diseño
POR:
David Fabián Rodríguez Molina.
NIVEL: Cuarto Semestre PARALELO:”A”
DOCENTE:
Ing. Patricio Loor Z.
MATERIA:
Arquitectura del Software
Portoviejo-Manabí-Ecuador
2012
CLASIFICACIÓN DE LOS PATRONES DE DISEÑO
Patrones de arquitectura Un patrón arquitectónico es más un concepto que captura elementos esenciales de una arquitectura de software.
Proporcionan un conjunto de subsistemas o módulos predefinidos, con reglas y guías para organizar las relaciones entre ellos. Ejemplo:
o Capas (Layers)o Aplicaciones: JVM, API, Windows NIo Pipes and Filterso Aplicaciones: UNIXo Pizarrón (Blackboard)o Aplicaciones: Hearsay, Inteligencia Artificial
USOS
Estos patrones pueden ser usados para representar soluciones a problemas de rendimiento y otros pueden ser utilizados con éxito en sistemas de alta disponibilidad.
VENTAJAS
Muchas arquitecturas diferentes pueden implementar el mismo patrón.
Dichas arquitecturas comparten las mismas características.
Pueden encarnan diferentes atributos de calidad.
DESVENTAJA
Aunque un patrón arquitectónico comunica una imagen de un sistema, no es una arquitectura como tal.
Patrones de diseño
Proporciona un esquema para refinar los subsistemas o componentes de un sistema software, o las relaciones entre ellos.
Describe estructuras repetitivas de comunicar componentes que resuelven un problema de diseño en un contexto particular.
Son utilizados para representar sistemas de software.
VENTAJAS
Son aplicables a diferentes problemas de diseño en distintas circunstancias.
Proporcionan catálogos de elementos reusables en el diseño de sistemas software.
Facilitan el aprendizaje de las nuevas generaciones de diseñadores condensando conocimiento ya existente.
DESVENTAJAS
No pueden ser aplicables en algunos casos.
Patrones de programación
Un idioma es un patrón de bajo nivel de un lenguaje de programación específico.
Describe como implementar aspectos de componentes o de las relaciones entre ellos utilizando las facilidades del lenguaje de programación dado.
Estos patrones son muy utilizados para representar el código fuente de alguna aplicación
Un ejemplo de estos patrones de programación es la acumulación. Este patrón se usa para realizar cálculos como la suma de varios valores calculados en las iteraciones de un ciclo:
suma= val1 + val2 + val3 + ... + valnproducto= fac1 * fac2 * fac3 * ... * facn
VENTAJAS
Reutilizan elementos de programas conocidos.Organizan las instrucciones que se repiten una y otra vez.Son muy útiles para concebir nuevos programas.
Patrones de análisis
Describen un conjunto de prácticas destinadas a elaborar modelos de los conceptos principales de la aplicación que se va a construir.
La intención principal de estos patrones es ayudar a las personas que realizan el trabajo de modelado, pues no siempre tienen experiencia al respecto y, en la mayoría de los casos, construyen sus modelos sin referencia alguna.
Los patrones de análisis son valiosos porque permiten un mejor comienzo cuando se trabaja con un dominio nuevo.
Lo interesante sobre los patrones de análisis es que se aparecen en los lugares más inesperados.
Patrones organizacionales
Describen la estructura y prácticas de las organizaciones humanas, especialmente en las que producen, usan o administran software.
Un patrón de organización es aquél que determina la estructura, orden y relación de las ideas (variables), puede denominársele también secuencia lógica. Existen variedad de estos:
* Tiempo * Espacio* Causa- Efecto * Problema - Solución* Comparación – Contraste * Comparación-Relación* Clasificación simple o jerárquica * Cambio-Transformación* Proceso * División- Clasificación* General – Específico * Específico – General
Conclusión
Como conclusión podemos decir que los patrones de diseño son muy importantes por que nos dan la posibilidad de que un software pueda cambiar de una forma independiente sin afectar a las demás partes.
Por otro lado los patrones de diseño también nos ayudan a poder estructurar clases y objetos para poder resolver ciertos problemas y así poder adaptarlos al código de la aplicación.
Top Related