Está en la página 1de 13

Diseo y Arquitectura de Software Unidad 1.

Arquitectura
Evidencia de aprendizaje. Lenguaje descriptor y patrones de arquitectura de software Alumno: Jernimo Coln Ortiz, Matrcula: AL10506040
1. Identifica y describe los diferentes lenguajes descriptores de arquitectura y agrega la utilidad que tiene.

Lenguajes descriptores de arquitectura ADL


Lenguaje ACME ARMANI Descripcin ACME es una herramienta que soporta el mapeo de especificaciones arquitectnicas entre diferentes ADLs. Caractersticas 1. Soporta la definicin de cuatro tipos de arquitectura: 2. Estructura (organizacin de un sistema en sus partes constituyentes) 3. Propiedades de inters (informacin que permite razonar sobre el comportamiento local o global, tanto funcional como no funcional) 4. Restricciones (lineamientos sobre la posibilidad del cambio en el tiempo) 5. Tipos y estilos. 1. Se describe mediante la definicin de subtipos de los tipos arquitectnicos bsicos: Componente, Conector, Puerto, Rol, Configuracin y Binding 2. Los puntos de interfaz se llaman puertos (ports). 3. Slo soporta nativamente desarrollos realizados en C++. 4. Genera cdigo C++. 1. Tiene la capacidad de modelar ciertos aspectos de una arquitectura. 2. Puede generarse un modelo a partir de una instancia particular de uso. Permite definir vnculos con objetos externos a la arquitectura (fundamentacin racional, diseos, componentes, etc.), as como interactuar con diversos repositorios de industria, tales como las especificaciones de OASIS relativas a esquemas para SWIFT, IFX, OFX/OFE, BIPS, OTP, OMF, HL7, RosettaNet o similares. Fecha de aparicin 1995 Desarrolladores Monroe & Garlan (CMU), Wile (USC) Utilidad Sirve como lenguaje de intercambio de arquitectura.

AESOP

Su objetivo es explorar las bases formales de la arquitectura de software, el desarrollo del concepto de estilo arquitectnico y la produccin de herramientas tiles a la arquitectura.

1994

Garlan (CMU)

Es una herramienta para construir ambientes de diseo de software basada en principios de arquitectura.

ARTEK

Se lo conoce tambin como ARDEC/Teknowledge Architecture Description Language. El propsito de ADML (Architecture Description Markup Language) es estandarizar la descripcin de arquitecturas en base a XML, de modo que pueda ser leda por cualquier parser de XML.

1994

ADML

2000

Terry, Hayes-Roth, Erman (Teknowledge, DSSA) The Open Group Architectural Framework

Lenguaje especfico de dominio No es ADL Vincular descripciones arquitectnicas y modelos directamente con cualquier binario, scripting o entidad en cualquier plataforma y en cualquier lenguaje.

Diseo y Arquitectura de Software Unidad 1. Arquitectura


Evidencia de aprendizaje. Lenguaje descriptor y patrones de arquitectura de software Alumno: Jernimo Coln Ortiz, Matrcula: AL10506040
Lenguaje CHAM Descripcin Proporciona la base para la Descripcin de una arquitectura debido a su capacidad de componer especificaciones para las partes y describir explcitamente las reglas de composicin. Describe un tipo de componente mediante una interfaz consistente en una coleccin de servicios que son ya sea provistos (declarados por ese componente) o requeridos (o sea, que se espera ocurran en el entorno). Las configuraciones se desarrollan instanciando las declaraciones de componentes y estableciendo vnculos entre ambas clases de servicios. C2 o Chiron-2 no es estrictamente un ADL sino un estilo de arquitectura de software que se ha impuesto como estndar en el modelado de sistemas que requieren intensivamente pasaje de mensajes y que suelen poseer una interfaz grfica dominante. Caractersticas 1. CHAM es un modelo de mquina abstracta independiente de plataforma y del lenguaje o paradigma de programacin que se vaya a utilizar en el sistema que se modela. Fecha de aparicin 1990 Desarrolladores Berry / Boudol Utilidad Lenguaje especificacin de

DARWIN

1. Soporta la descripcin de arquitecturas que se reconfiguran dinmicamente a travs de dos construcciones. 2. Cada servicio de Darwin se modeliza como un nombre de canal, y cada declaracin de binding es un proceso que trasmite el nombre del canal al componente que requiere el servicio.

1991

Magee, Dulay, Eisenbach, Kramer

ADL con nfasis en dinmica

C2 SADL

1. Los mensajes de requerimiento slo se pueden enviar hacia arriba en la arquitectura, y los de notificacin slo hacia abajo. 3. La comunicacin es a travs de MENSAJES.

1996

Taylor/Medvidovic (UCI)

ADL estilo

especfico

de

Diseo y Arquitectura de Software Unidad 1. Arquitectura


Evidencia de aprendizaje. Lenguaje descriptor y patrones de arquitectura de software Alumno: Jernimo Coln Ortiz, Matrcula: AL10506040
Lenguaje Jacal Descripcin El objetivo principal de Jacal es animacin de arquitecturas. Esto es, poder visualizar una simulacin de cmo se comportara en la prctica un sistema basado en la arquitectura que se ha representado. Cuenta con una representacin grfica que permite a simple vista transmitir la arquitectura del sistema, sin necesidad de recurrir a informacin adicional. LILEANNA es un ADL (o ms estrictamente un MIL) que utiliza el lenguaje Ada para la implementacin y Anna para la especificacin. Fue desarrollado como parte del proyecto DSSA ADAGE, patrocinado por ARPA. MetaH modela arquitecturas en los dominios de gua, navegacin y control (GN&C) y en el diseo aeronutico. Es un lenguaje de descripcin de sistemas de propsito general que permite modelar interfaces de componentes y su conducta observable. Caractersticas 1. Puede ser utilizado para expresar arquitecturas de distintos estilos. 2. Cada componente cuenta con puertos (ports) que constituyen su interfaz y a los que pueden adosarse conectores. Fecha de aparicin 1997 Desarrolladores Kicillof , Yankelevich (Universidad de Buenos Aires) Utilidad ADL - Notacin de alto nivel para descripcin y prototipado

LILEANNA

MetaH

1. Soporta diferentes estilos de comunicacin, tales como variables compartidas, tuberas, paso de mensajes y blackboarding. 2. Mediante un sistema auxiliar llamado TOOR, se hace el rastreo (tracing) de dependencias entre objetos potencialmente evolutivos y relaciones entre objetos en funcin del tiempo. 1. MetaH est exclusivamente ligado a desarrollos hechos en Ada en el dominio de referencia. 1. En Rapide los puntos de interfaz de los componentes se llaman constituyentes. 2. En Rapide (al igual que en Darwin) no es posible poner nombre, sub-tipear o reutilizar un conector.

1993

Tracz (Loral Federal)

Lenguaje de conexin de mdulos

1993

Binns, Englehart (Honeywell)

ADL especfico dominio

de

Rapide

1990

Luckham (Stanford)

ADL & simulacin

Diseo y Arquitectura de Software Unidad 1. Arquitectura


Evidencia de aprendizaje. Lenguaje descriptor y patrones de arquitectura de software Alumno: Jernimo Coln Ortiz, Matrcula: AL10506040
Lenguaje UniCon Descripcin Proporciona una herramienta de diseo para construir configuraciones ejecutables basadas en tipos de componentes, implementaciones y conexiones expertas que soportan tipos particulares de conectores. Caractersticas 1. El propsito de UniCon es generar cdigo ejecutable a partir de una descripcin, a partir de componentes primitivos adecuados. 2. Capacidad de manejo de mtodos de anlisis de tiempo real a travs de RMA (Rate Monotonic Analysis). 3. Proporciona medios para describir o delinear familias de sistemas o estilos. 4. Soporta notacin grfica. 1. En Wright (igual que en Acme y Aesop) los puntos de interfaz se llaman puertos (ports). 2. Permite modelar la conducta de sus componentes. 3. Permite analizar los conectores para verificar que no haya deadlocks. Fecha de aparicin 1995 Desarrolladores Shaw (CMU) Utilidad ADL de propsito general, nfasis en conectores y estilos

Wright

Es una herramienta de formalizacin de conexiones arquitectnicas.

1994

Garlan (CMU)

ADL de propsito general, nfasis en comunicacin

Diseo y Arquitectura de Software Unidad 1. Arquitectura


Evidencia de aprendizaje. Lenguaje descriptor y patrones de arquitectura de software Alumno: Jernimo Coln Ortiz, Matrcula: AL10506040
2. Identifica y describe los patrones de arquitectura y agrega la utilidad que tienen.

BlackBoard
Es una aplicacin de inteligencia artificial basada en una base comn de conocimientos llamada el pizarrn. A partir de la especificacin de un problema se plantea la solucin. Cada sistema experto enva a la pizarra una posible solucin. Si la solucin es aplicable queda como un borrador. Cada sistema experto interacta con el borrador hasta hallar una solucin final.

Cliente-Servidor
Se tiene una mquina cliente, que requiere un servicio de una mquina servidor, y ste realiza la funcin para la que est programado. El sistema queda distribuido entre mltiples procesadores donde hay clientes que solicitan servicios y servidores que los proporcionan. Los servicios se separan situndolos en su plataforma ms adecuada. Esto permite a los usuarios finales obtener acceso a la informacin en forma transparente an en entornos multiplataforma. En el modelo cliente servidor, el cliente enva un mensaje solicitando un determinado servicio a un servidor (hace una peticin), y este enva uno o varios mensajes con la respuesta (provee el servicio).

Diseo y Arquitectura de Software Unidad 1. Arquitectura


Evidencia de aprendizaje. Lenguaje descriptor y patrones de arquitectura de software Alumno: Jernimo Coln Ortiz, Matrcula: AL10506040

Computo Distribuido
Las computadoras interactan entre s, para lograr un objetivo en comn. Utiliza un gran nmero de computadoras organizado en racimos por medio de una estructura de telecomunicaciones. Cada usuario comparte tiempo de procesamiento de su mquina para manejar grandes volmenes de informacin.

Front-End, Back-End
Front-End.- Es la parte del software que interacta con los usuarios Back-End.- Es la parte que procesa la entrada de datos proveniente del Front-End El Front-End es responsable de recolectar los datos de entrada y los procesa conforme a las especificaciones del Back-End para que este las pueda utilizar. La conexin del Frot-End y el Back-End es de tipo interface ya sea de manera fsica o virtual.

Diseo y Arquitectura de Software Unidad 1. Arquitectura


Evidencia de aprendizaje. Lenguaje descriptor y patrones de arquitectura de software Alumno: Jernimo Coln Ortiz, Matrcula: AL10506040

Monoltico
Toda la estructura y grupo funcional est en un mismo lugar. Existen interfaces grficas de usuario (GUI). Servicios de presentacin, negocio y persistencia en la misma mquina. No hay concurrencia de usuarios. Alto acoplamiento entre niveles.

Tres capas
Cada capa est separada, nicamente puede comunicarse con la siguiente capa. Es la ms utilizada debido a su escalabilidad y flexibilidad La interfaz del usuario, la lgica funcional del proceso, almacenamiento de datos y acceso a los datos son desarrollados y mantenidos como mdulos independientes comnmente en plataformas separadas. Permite que cualquiera de sus capas sea reemplazada sin afectar a las dems.

Diseo y Arquitectura de Software Unidad 1. Arquitectura


Evidencia de aprendizaje. Lenguaje descriptor y patrones de arquitectura de software Alumno: Jernimo Coln Ortiz, Matrcula: AL10506040
4. Elabora ejemplos de uso de la combinacin de lenguajes y patrones y describe cada ejemplo (mnimo 2).

Caso 1
Problema:
Varios usuarios manipulan la misma informacin almacenada en un Server, conectndose intermitentemente a dicho Server.

Principio de usabilidad:
Cada computadora es provista de un Sync Engine.

Contexto:
Se debe desarrollar un sistema que permita tener informacin idntica almacenada en diferentes equipos los cuales se encuentran conectados intermitentemente a la red. Muchos usuarios aplican cambios a la informacin de manera simultnea.

Fuerza:
La informacin almacenada en los equipos de cada usuario pierde el sincronismo cuando el usuario aplica cambios a su copia local y los equipos se conectan intermitentemente a la red.

Solucion:
El Sync Engine mantiene un seguimiento de las modificaciones que se aplican a la informacin local, intercambia modificaciones con otros dispositivos cada vez que se reconectan y detecta conflicto e implementa una estrategia de resolucin

Usuario

Usuario

Consecuencias:
Este patrn puede ser utilizado cuando la informacin almacenada en diferentes equipos no tiene que estar actualizada en tiempo real. La informacin poco estructurada debe ser comparada registro por registro lo que incrementa la probabilidad de conflictos no deseados. Este patrn no es aplicable a informacin de video o audio.

Diseo y Arquitectura de Software Unidad 1. Arquitectura


Evidencia de aprendizaje. Lenguaje descriptor y patrones de arquitectura de software Alumno: Jernimo Coln Ortiz, Matrcula: AL10506040

Caso 2
Problema:
Dada la gran cantidad de tareas que debe de realizar un usuario, tiene la necesidad de tener abiertos al mismo tiempo varios ventanas.

Principio de usabilidad: Guiar al usuario y dar el control de la interaccin al usuario. Contexto:


El usuario tiene dificultades para acceder directamente a las ventanas del sistema informtico y desconoce cul de entre ellas es la ventana actual de trabajo. Fuerza: El sistema debe siempre mostrar la lista de ventanas navegables

Solucion:
1. Retroalimentacin visual de navegacin directa: 2. Permite al usuario seleccionar directamente la ventana de la interfaz y mostrar de forma continua la ventana activa y desactiva.

Consecuencias:
El acceso directo a las ventanas del sistema no solo beneficia la manipulacin directa de ellas sino tambin la manipulacin de los objetos que retienen ya que cada ventana es definida en trminos de sus objetos de interaccin (e.g. iconos, tems de men, radio botones) los cuales permiten la adquisicin y la restitucin de informacin que requiere el usuario

Diseo y Arquitectura de Software Unidad 1. Arquitectura


Evidencia de aprendizaje. Lenguaje descriptor y patrones de arquitectura de software Alumno: Jernimo Coln Ortiz, Matrcula: AL10506040
4. Investiga la aplicacin de lenguajes y patrones que no se hayan presentado en el desarrollo de la unidad.

5. En un archivo de texto, redacta un reporte con los elementos solicitados en los puntos 1, 2, 3 y 4.

Diseo y Arquitectura de Software Unidad 1. Arquitectura


Evidencia de aprendizaje. Lenguaje descriptor y patrones de arquitectura de software Alumno: Jernimo Coln Ortiz, Matrcula: AL10506040

Diseo y Arquitectura de Software Unidad 1. Arquitectura


Evidencia de aprendizaje. Lenguaje descriptor y patrones de arquitectura de software Alumno: Jernimo Coln Ortiz, Matrcula: AL10506040
1.- Identifica y describe qu es un patrn de arquitectura.
Los patrones de arquitectura, son patrones de diseo de software que ofrecen soluciones a problemas en un contexto. Un patrn codifica conocimiento especfico acumulado por la experiencia en un dominio. Cada patrn describe un problema y una solucin de manera que se puede usar esa solucin un nmero infinito de veces sin tener que hacer la misma cosa dos veces. Los elementos que componen a un patrn son los siguientes: 1. 2. 3. 4. Nombre: Define un vocabulario de diseo y facilita su abstraccin Problema: Describe cuando aplicar el patrn, el objetivo y los requisitos Solucin: Incluye los elementos que constituyen el diseo (template), la forma cannica para resolver fuerzas Consecuencias: Resultados, extensiones y tradeoffs

2. Redacta una lista de manera tabular para cada patrn de arquitectura, incluyendo sus principales caractersticas.

Comentario Patrones de Arquitectura Relacionados a la interaccin de objetos dentro o entre niveles arquitectnicos Conceptos de ciencia de computacin en general, independiente de aplicacin

Problema Problemas arquitectnicos, adaptabilidad a requerimientos cambiantes, performance, modularidad, acoplamiento Claridad de diseo, multiplicacin de clases, adaptabilidad a requerimientos cambiantes, etc

Solucin Patrones de llamadas entre objetos (similar a los patrones de diseo), decisiones y criterios arquitectnicos, empaquetado de funcionalidad Comportamiento de factora, Clase-ResponsabilidadContrato (CRC)

Etapa de desarro

Diseo i

Patrones de Diseo

Diseo de

Patrones de Anlisis

Usualmente especficos de aplicacin o industria

Patrones de Proceso o de Organizacin

Desarrollo o procesos de administracin de proyectos, o tcnicas, o estructuras de organizacin

Modelado del dominio, completitud, integracin y equilibrio de objetivos mltiples, planeamiento para capacidades adicionales comunes Productividad, comunicacin efectiva y eficiente

Modelos de dominio, conocimiento sobre lo que habr de incluirse (p. ej. logging & reinicio

Anli

Armado de equipo, ciclo de vida del software, asignacin de roles, prescripciones de comunicacin

Planeam

Diseo y Arquitectura de Software Unidad 1. Arquitectura


Evidencia de aprendizaje. Lenguaje descriptor y patrones de arquitectura de software Alumno: Jernimo Coln Ortiz, Matrcula: AL10506040
Estndares de codificacin y proyecto Idiomas Operaciones comunes bien conocidas en un nuevo ambiente, o a travs de un grupo. Legibilidad, predictibilidad. Sumamente especficos de un lenguaje, plataforma o ambiente

Implemen Mantenimiento

También podría gustarte