Está en la página 1de 12

Encabezado: LENGUAJE DESCRIPTOR Y PATRONES DE ARQUITECTURA DE

SOFTWARE.

Unidad 1. Evidencia de Aprendizaje. Lenguaje descriptor y patrones de arquitectura de software.


Por:
Jorge Ricardo Escobar Carrasco.
AL12509938@unadmexico.mx

Diseo y arquitectura de software.


Universidad abierta y a distancia de Mxico.
martes 24 de junio de 2014

Facilitador:
Cuitlahuac Vargas Millan.
FA1213075@unadmexico.mx

LENGUAJE DESCRIPTOR Y PATRONES DE ARQUITECTURA DE SOFTWARE.

Tabla de contenido
Sumario............................................................................................................................................3
Unidad 1. Evidencia de Aprendizaje. Lenguaje descriptor y patrones de arquitectura de software.
..........................................................................................................................................................4
Lenguajes descriptores de arquitectura............................................................................................5
Lenguajes descriptores de arquitectura y sus explicaciones..............................................5
Identificando los patrnes de arquitectura.......................................................................................6
Listado de patrones de arquitectura.................................................................................................7
Tabla de patrones de arquitectura......................................................................................7
Ejemplos de uso de la combinacin de lenguajes y patrones..........................................................9
Primer ejemplo. UML con modelo vista controlador. (MVC)....................................................9
Segundo ejemplo. UML con modelo punto a punto.................................................................10
Conclusin.....................................................................................................................................12
Bibliografa....................................................................................................................................12

LENGUAJE DESCRIPTOR Y PATRONES DE ARQUITECTURA DE SOFTWARE.


Sumario.
Como parte de la evaluacin de esta unidad, es necesario realizar un reporte donde se explique y
distinga los diferentes patrones de arquitectura de software, as como los lenguajes descriptores
de arquitectura y su aplicacin a cada modelo, de manera que investigues patrones y lenguajes
que no se hayan incluido en el desarrollo de esta primer unidad.

LENGUAJE DESCRIPTOR Y PATRONES DE ARQUITECTURA DE SOFTWARE.


Unidad 1. Evidencia de Aprendizaje. Lenguaje descriptor y patrones de arquitectura de
software.
Instrucciones:
1. Identifica y describe los diferentes lenguajes descriptores de arquitectura y agrega la
utilidad que tiene.
2. Identifica y describe los patrones de arquitectura y agrega la utilidad que tienen.
3. Elabora ejemplos de uso de la combinacin de lenguajes y patrones y describe cada
ejemplo (mnimo 2).
4. Investiga la aplicacin de lenguajes y patrones que no se hayan presentado en el
desarrollo de la unidad.

LENGUAJE DESCRIPTOR Y PATRONES DE ARQUITECTURA DE SOFTWARE.

Lenguajes descriptores de arquitectura.


Los lenguajes descriptores de arquitecturas , nos facilitan el modelado de los procesos del
negocio y tambin nos permiten abstraer las diferentes partes del mismo. El ms popular es
UML,el cual fue creado por los tres principales autores de lenguajes descriptores de arquitectura
de la poca, por lo que son muy usados actualmente.
A dems de ser una forma de representar un modelo de negocio y sistemas, los lenguajes
descriptores de arquitectura, son herramientas que nos permiten compartir ideas complejas con
relativa facilidad.
A continuacin, listo los principales lenguajes descriptores de arquitectura .(Ver tabla 1)
Tabla 1.
Lenguajes descriptores de arquitectura y sus explicaciones.
Lenguaje descriptor de arquitectura.
UML (unified modelling language)

DESCRIPCIN.

Este es el lenguaje descriptor de arquitectura


ms usado en la actualidad. Mediante UML es
posible establecer la serie de requerimientos y
estructuras necesarias para plasmar un sistema
de software previo al proceso intensivo de
escribir cdigo.
UML es una forma muy flexible de representar
los procesos de negocios y sistemas, pero por
esta misma razn puede ser muy imprecisa.[1]
(Uwe Zdun, 2005)

CHAM

La arquitectura de un compilador. Se
argumenta en efecto que CHAM proporciona
una base til para la descripcin de una
arquitectura debido a su capacidad de
componer especificaciones para las partes y
describir explcitamente las reglas de
composicin.
CHAM es un modelo de mquina abstracta
independiente de plataforma y del lenguaje o

LENGUAJE DESCRIPTOR Y PATRONES DE ARQUITECTURA DE SOFTWARE.


paradigma de programacin que se vaya a
utilizar en el sistema que se modela.
LILEANNA

Es oficialmente un lenguaje de interconexin


de mdulos (MIL), basado en expresiones de
mdulo propias de la programacin
parametrizada.
Utilizar descriptivamente. Para especificar y
analizar un diseo determinado. (Que
describen mdulos y relaciones entre ellos, y
que pueden incluir cdigo u otros objetos de
software).
Utiliza el lenguaje Ada para la implementacin
y Anna para la especificacin.
LILEANNA soporta diferentes estilos de
comunicacin.
LILEANNA (que habla de teoras, axiomas,
grafos, vistas, stacks, aserciones, estructuras
verticales y horizontales, packages y mquinas
virtuales en un sentido idiosincrtico a ese
paradigma).
LILEANNA son poderosos, pero no estn en
lnea con el estilo de arquitectura orientada a
servicios o con modelos igualmente robustos,
como los de C2 y Wright.

MetaH/AADL

As como LILEANNA es un ADL ligado a


desarrollos que guardan relacin especfica con
helicpteros.
Est basado en la estructura textual de MetaH.
Disponibilidad de Plataforma MetaH est
exclusivamente ligado a desarrollos hechos en
Ada en el dominio de referencia.

Identificando los patrnes de arquitectura.


Segn el material didctico de la [2]UNADM, (2014, pag. 14) un patrn de arquitectura

LENGUAJE DESCRIPTOR Y PATRONES DE ARQUITECTURA DE SOFTWARE.


deber entenderse como una gua que ofrece solucin a determinados problemas ya conocidos,
respecto a problemticas fundadas en la ingeniera de software.
A continuacin listo los patrones de arquitectura de software y su descripcin.
Listado de patrones de arquitectura.
En la siguiente tabla (Ver tabla 2) listo los patrones de arquitectura ms usados y su
descripcin.
Tabla 2.
Tabla de patrones de arquitectura.
Patrn de arquitectura.

Caractersticas principales.

Programacin por capas.

Segn Trygve Reenskaug y James O. Coplien,


(2009) [3]La programacin por capas es una
arquitectura cliente-servidor en el que el
objetivo primordial es la separacin de la
lgica de negocios de la lgica de diseo; un
ejemplo bsico de esto consiste en separar la
capa de datos de la capa de presentacin al
usuario.

Arquitectura en pizarra.

[4]La arquitectura en pizarra consta de


mltiples elementos funcionales, denominados
agentes, y un instrumento de control
denominado pizarra.
Los agentes suelen estar especializados en una
tarea concreta o elemental. Todos ellos
cooperan para alcanzar una meta comn, si
bien, sus objetivos individuales no estn
aparentemente coordinados.
El comportamiento bsico de cualquier agente
consiste en examinar la pizarra, realizar su
tarea y escribir sus conclusiones en la misma
pizarra. De esta manera, otro agente puede
trabajar sobre los resultados generados por
otro.
La computacin termina cuando se alcanza
alguna condicin deseada entre los resultados
escritos en la pizarra.

Arquitectura dirigida por eventos.

La Arquitectura dirigida por eventos, Event-

LENGUAJE DESCRIPTOR Y PATRONES DE ARQUITECTURA DE SOFTWARE.


driven architecture o EDA, es un patrn de
arquitectura software que promueve la
produccin, deteccin, consumo de, y reaccin
a eventos.
Un evento puede ser definido como "un
cambio significativo en un estado". Por
ejemplo, cuando un consumidor compra un
coche, el estado del coche pasa de "se vende" a
"vendido". La arquitectura del sistema del
vendedor de coches debe tratar este cambio de
estado como un evento, cuyo suceso puede ser
conocido en otras aplicaciones en la
arquitectura. Desde una perspectiva formal, lo
que es producido, publicado, propagado,
detectado o consumido es un mensaje
(tpicamente asncrono) llamado notificacin
del evento, y no el evento en s mismo, el cul
es el cambio de estado que dispar la emisin
del evento. Los eventos no viajan, solamente
ocurren. Por otro lado, el trmino evento es
frecuentemente usado para denotar el mensaje
de notificacin en s mismo, lo cual puede
llevar a algn tipo de confusin.
Punto a punto.

Una red peer-to-peer (punto a punto), red de


pares, red entre iguales, red entre pares o red
punto a punto (P2P, por sus siglas en ingls) es
una red de computadoras en la que todos o
algunos aspectos funcionan sin clientes ni
servidores fijos, sino una serie de nodos que se
comportan como iguales entre s. Es decir,
actan simultneamente como clientes y
servidores respecto a los dems nodos de la
red. Las redes P2P permiten el intercambio
directo de informacin, en cualquier formato,
entre los ordenadores interconectados.

Arquitectura orientada a servicios.

La 'Arquitectura Orientada a Servicios de


cliente' (en ingls Service Oriented
Architecture), es un concepto de arquitectura
de software que define la utilizacin de
servicios para dar soporte a los requisitos del
negocio.
Permite la creacin de sistemas de informacin
altamente escalables que reflejan el negocio de

LENGUAJE DESCRIPTOR Y PATRONES DE ARQUITECTURA DE SOFTWARE.

la organizacin, a su vez brinda una forma bien


definida de exposicin e invocacin de
servicios (comnmente pero no
exclusivamente servicios web), lo cual facilita
la interaccin entre diferentes sistemas propios
o de terceros.
Modelo vista-controlador. (MVC)

El Modelo Vista Controlador (MVC) es un


patrn de arquitectura de software que separa
los datos y la lgica de negocio de una
aplicacin de la interfaz de usuario y el mdulo
encargado de gestionar los eventos y las
comunicaciones.
Para ello MVC propone la construccin de tres
componentes distintos que son el modelo, la
vista y el controlador, es decir, por un lado
define componentes para la representacin de
la informacin, y por otro lado para la
interaccin del usuario.
Este patrn de diseo se basa en las ideas de re
utilizacin de cdigo y la separacin de
conceptos, caractersticas que buscan facilitar
la tarea de desarrollo de aplicaciones y su
posterior mantenimiento.

Ejemplos de uso de la combinacin de lenguajes y patrones.


A continuacin anexo un par de ejemplos de la combinacin de un lenguaje descriptor y
dos patrones de arquitectura de software.
Primer ejemplo. UML con modelo vista controlador. (MVC)
Esta es una de las combinaciones ms comunes actualmente, el modelo vista controlador
nos permite separar lo que el usuario de los controles que manipulan los datos.
Por ejemplo en una app de telfono inteligente, que permita acceder a redes sociales y
compartir fotografas. Esta app usa el modelo vista controlador para diferenciar la parte del
proyecto entre lo que el usuario ve y los mecanismos de control los cuales son los que realizan la

LENGUAJE DESCRIPTOR Y PATRONES DE ARQUITECTURA DE SOFTWARE.

10

manipulacin de datos.
En la figura 1, podemos ver el esquema de dicha app. Este
modelo, tiene la particularidad de ser representado por medio de
UML, esta representacin es muy bsica y sirve como un
mecanismo de abstraccin de la misma.
Es aqu donde podemos apreciar este modelo como una
vista, ya que representa de forma general el modelo de datos usado
Figura 1. Ejemplo del
modelo vista controlador en la app.
con UML.
Segundo ejemplo. UML con modelo punto a punto.
En el segundo ejemplo, tenemos un programa de para compartir archivos punto a punto,
este tipo de modelo, como ya se mencion en el trabajo, esta dedicado a usar cada nodo o
computadora, como un cliente de descarga y como servidor de archivos al mismo tiempo. Esto
significa que entre ms personas estn descargando el mismo archivo, ms rpidamente se
descarga el mismo.
En la prctica esto depende mucho del ancho de banda de subida como de descarga. En la
figura 2, usando UML, se describe este modelo en un diagrama de eventos, muy popular en
UML.

LENGUAJE DESCRIPTOR Y PATRONES DE ARQUITECTURA DE SOFTWARE.

11

Figura 2. Diagrama secuencial de programa para compartir archivos en una arquitectura punto
a punto.
En el segundo ejemplo, tenemos que el cliente y el servidor de archivos se comunican
entre s de forma directa, y se cuenta con agentes externos que autentifican las transacciones y
establecen las prioridades de cada cliente y servidor. En s, la poltica es recompensar con ms
ancho de banda de descarga a los clientes que compartan ms datos. Esto es un incentivo para
que las personas compartan ms y el modelo funcione.

LENGUAJE DESCRIPTOR Y PATRONES DE ARQUITECTURA DE SOFTWARE.

12

Conclusin.
En esta primera unidad, he ledo de forma general sobre estos lenguajes descriptores pero
su comprensin y estudi pertenecen a otras asignaturas. Supongo que el enfoque de esta
asignatura es sobre la fase de diseo, en la cual se aplicarn los diferentes patrones de
arquitectura de software que se han visto a lo largo de la primera unidad.
Solo me queda reflexionar hasta el momento lo que he trabajado desde el inicio. Veremos
si las siguientes unidades presentan estos patrones a detalle y su implementacin en la fase de
diseo de software.
Bibliografa
[1] Uwe Zdun. Architectural patterns revisited:a pattern language. 10th European Conference
on Pattern Languages of Programs, (julio 2005) . Avgeriou, Paris: EuroPlop.
[2] UNADM. Programa de la asignatura: Diseo y arquitectura de software., (2014) . Mxico:
Universidad abierta y a distancia de Mxico.
[3] Reenskaug, Trygve y O. Coplien, James, The DCI Architecture: A New Vision of ObjectOriented Programming, (2009, marzo 20), obtenido de:
http://www.artima.com/articles/dci_vision.html
[4] S. Kleine Stegemann, , (), obtenido de: http://openbbs.sourceforge.net/

También podría gustarte