You are on page 1of 9

Diseo y arquitectura

Por extrao que parezca, no existe una definicin generalmente aceptada de la palabra
diseo. Recientemente se ha propuesto la siguiente definicin de este concepto:
El diseo es la especificacin de un objeto, creado por algn agente, que busca alcanzar
ciertos objetivos, en un entorno particular, usando un conjunto de componentes bsicos,
satisfaciendo un conjunto de requerimientos y sujetndose a ciertas restricciones.
Retomando la definicin de arquitectura de software presentada en la primera edicin de
esta serie de artculos, las correspondencias de los elementos de la definicin de diseo
con la arquitectura son las siguientes:

El objeto se refiere a las distintas estructuras (fsicas, lgicas, de ejecucin) que


componen a la arquitectura de software.

El agente es el (los) arquitecto(s) de software u otros encargados del diseo.

El entorno se refiere tanto al entorno de uso del sistema, por parte de los usuarios
finales, como al entorno en que se desarrolla el sistema.

Los objetivos son la satisfaccin de los requerimientos que influyen a la


arquitectura (los drivers) y la estructuracin con el fin de guiar el desarrollo.

Los componentes bsicos son los conceptos de diseo a partir de los cuales se
construye una arquitectura y que incluyen patrones de diseo y frameworks de
tecnologas particulares.

El conjunto de requerimientos, que se presentaron en la columna anterior, incluyen


tanto a los requerimientos funcionales como a los no-funcionales (principalmente
los atributos de calidad).

Las restricciones, que tambin se discutieron en la columna anterior, son todas


aquellas limitaciones impuestas ya sea por el cliente o bien por la organizacin
misma de desarrollo.

Diseo guiado por atributos (ADD)


Existen diversos mtodos de diseo de arquitectura de software. Uno que provee una
gua para realizar el diseo arquitectural de forma sistmica es el Diseo Guiado por
Atributos (Attribute Driven Design o ADD), que a continuacin estudiaremos.
Este mtodo recibe como entrada una lista de drivers arquitecturales y produce a su
salida una serie de estructuras que conforman al diseo de la arquitectura. Se va
aplicando de forma iterativa. Los pasos de ADD son los siguientes:
1. Revisar que se tiene suficiente informacin sobre los drivers arquitecturales.
2. Elegir un elemento a descomponer.

3. Elegir un sub-conjunto de drivers a satisfacer durante la iteracin.


4. Elegir conceptos de diseo para satisfacer los drivers.
5. Aplicar los conceptos de diseo y asignar responsabilidades a los elementos
resultantes.
6. Definir interfaces para los elementos resultantes.
7. Verificar la satisfaccin de los drivers seleccionados en el paso 3.
8. Repetir los pasos anteriores para elementos que requieran un mayor refinamiento
hasta cubrir la mayora de los drivers.
ADD es un mtodo que sigue un enfoque de divide y vencers; en la primera iteracin
del diseo, el elemento a descomponer es el sistema en s (paso 2). En iteraciones
subsecuentes, el elemento a descomponer es un sub-elemento resultante de iteraciones
previas. Generalmente se considera que el diseo de la arquitectura termina cuando se
han tomado decisiones de diseo para satisfacer la mayor parte de los drivers en el
tiempo permitido (pasos 7 y 8).
Conceptos de diseo
Al momento de realizar el diseo, el arquitecto dispone de una variedad de conceptos de
diseo que le facilitan la creacin de las diversas estructuras que conforman a la
arquitectura. En el paso 4 del mtodo, se eligen conceptos de diseo. A continuacin
describimos a qu se refiere esto.
Un concepto bsico de diseo son los patrones de diseo, que son soluciones
conceptuales a problemas recurrentes de diseo (tanto a nivel arquitectural como a nivel
de diseo detallado). Estos patrones se describen en catlogos que explican, entre otras
cosas, el contexto del problema, la solucin conceptual y las implicaciones de la
aplicacin de la solucin. Los patrones tienen nombres que permiten referirse a ellos de
manera sencilla, algunos nombres son cliente - servidor, capas, MVC, fbrica u
observador. Estos nombres dan lugar a un vocabulario de diseo que facilita la
comunicacin entre diseadores. Una vez seleccionado un patrn, es necesario adecuarlo
al contexto especfico del problema (paso 5). Existe una gran cantidad de catlogos de
patrones de diseo y un arquitecto experimentado debe conocer una buena cantidad de
ellos o, al menos, saber en donde puede encontrarlos.
Otro tipo de concepto de diseo son los frameworks (marcos de trabajo) enfocados a
tecnologas especficas. Estos frameworks, a diferencia de los patrones, no son
conceptuales sino que son soluciones a nivel de cdigo que se enfocan en resolver
problemticas particulares tales como la persistencia de objetos en bases de datos
relacionales (ej. Hibernate), el soporte de aspectos tales como la seguridad y las
transacciones (ej. Spring) o los aspectos de presentacin (ej. JSF). Generalmente los
frameworks son usados como libreras al momento de desarrollar cdigo. Cabe sealar
que los frameworks generalmente encapsulan a diversos patrones de diseo. Al igual que
con los patrones, el arquitecto debe conocer una variedad de frameworks y saber dnde
aplicarlos.

Existen tipos adicionales de conceptos de diseo que pueden ser usados durante el
proceso de diseo, ejemplos de ello son las arquitecturas de referencia, que son diseos
completos que sirven de punto de partida, o bien los componentes COTS (Commercial
Off-the-Shelf), que son aplicaciones completas listas para ser integradas. Ejemplos de
COTS incluyen middleware tales como buses de integracin de servicios (ESB).
Un ejemplo
Para ejemplificar la aplicacin del mtodo ADD, a continuacin mostraremos el resultado
de algunos de los pasos del proceso para una iteracin del diseo de arquitectura usando
como base el ejemplo introducido en la columna anterior. Recordando, el ejemplo haca
referencia a la compaa xyz que se dedica a la comercializacin de productos de
diversos fabricantes.
Para este ejemplo, supondremos que ya se tiene suficiente informacin sobre los drivers
(paso 1), que es la primera iteracin, que el elemento a descomponer es el sistema entero
(paso 2) y que se ha identificado el siguiente sub-conjunto de drivers para la iteracin:

Caso de uso primario: Realizar consultas del catlogo de productos.

Atributos de calidad: Escenario de modificabilidad relativo a la facilidad para


agregar nuevos sistemas externos de fabricantes de productos.

Restriccin: Uso de libreras y herramientas Open Source.

El siguiente paso (4) indica que debemos elegir conceptos de diseo para satisfacer los
drivers. Dado que se tienen escenarios de modificabilidad y que se est en una iteracin
inicial del diseo, en la cul se busca crear la estructuracin de alto nivel del sistema, se
elige como concepto de diseo el patrn de capas, que permite agrupar
responsabilidades generales del sistema. Por otro lado, se elige el concepto de diseo de
mdulos para agrupar funcionalidades a nivel de las distintas capas y soportar el caso
de uso elegido. Finalmente, se opta por aplicar el patrn Inversin de Control para
conectar los componentes que estarn contenidos en los mdulos y facilitar la integracin
de nuevos mdulos. Este patrn se aplica mediante la introduccin del framework
Spring, que es open source.
Posteriormente, en el paso 5 aplicamos los conceptos de diseo y asignamos
responsabilidades a los elementos resultantes. La figura 1 muestra un posible resultado
inicial de descomposicin de la arquitectura. Durante este paso del diseo, adems de
aplicar los conceptos de diseo, se asignan responsabilidades a los elementos
identificados. Ejemplos de asignaciones de responsabilidades seran:

La capa de integracin contendr el conjunto de elementos que permitir a la


aplicacin comunicarse con los diferentes sistemas externos a travs de diferentes
canales.

El mdulo de InterfazCatlogos contiene los componentes que permiten desplegar


las pantallas asociadas al caso de uso de consulta de catlogo de productos.

El siguiente paso (6) consiste en definir interfaces para los elementos resultantes. En
iteraciones iniciales, las interfaces entre los elementos no se detallan de forma extensa,

sin embargo en iteraciones subsecuentes, dichas interfaces deben documentarse de


forma ms detallada.
Ahora verificamos la satisfacfcin de los drivers seleccionados en el paso 3. El primer
nivel de descomposicin de la arquitectura cubre los requerimientos de la siguiente forma:
la solucin incluye mdulos que permitirn al usuario realizar las consultas al catlogo de
productos, adicionalmente la divisin en capas favorece la modificabilidad. La seleccin
tecnolgica tambin favorece la modificabilidad y se apega a las restricciones. Ver Figura
1.

Figura 1. Ejemplo de descomposicin del sistema.


Conclusin
Dadas las limitaciones de espacio, el ejemplo previo y la estructura resultante son muy
simples. Es importante sealar que la estructura mostrada tendra que seguir siendo
refinada en iteraciones subsecuentes para satisfacer el conjunto de drivers
arquitecturales. Por otro lado, como parte del diseo, tendran que producirse estructuras
adicionales para mostrar aspectos tales como la implantacin o la interaccin de los
componentes en ejecucin. En este sentido, hay que recalcar que el diseo de la
arquitectura no es solo un diseo de muy alto nivel que muchas veces es sinnimo de
poco detallado ya que ste debe ser tan detallado como se requiera a fin de satisfacer la
mayora de los drivers.
Por ltimo, vale la pena mencionar que la idea de documentar las decisiones que se
toman durante las actividades de diseo actualmente est cobrando cada vez ms
importancia. Esta documentacin es importante pues permite que posteriormente se
evale el diseo adems de que permite comprender la toma de decisiones del arquitecto
al momento de realizar el mantenimiento del sistema.
Referencias
[1] Ralph, P. y Wand, Y., A Proposal for a Formal Definition of the Design Concept,
Lecture Notes in Business Information Processing, Vol. 14, pp 103-136, 2009.
[2] Wojcik, R. et Al, Attribute Driven Design (ADD), Versin 2.0, CMU/SEI-2006-TR-023,
2006.
Bio:

COMO INFLUYE EL DISEO EN LA SOCIEDAD


ACTUAL?

Seguir
2 respuestas
Notificar abuso

Respuestas
Mejor respuesta: Depende del gran sentido que le des a tu diseo.... o del que el artista le de a
su diseo.
En la poca de los 60's a algn artista se le ocurri hacer los muebles con ese estilo y vestirse de
esa manera tan peculiar... cosa que influy demasiado, tanto como para llevar a la sociedad hacia
una actitud ms liberal, ms hermosa..... pero irresponsable; en los 70's a algn artista diseador
se le ocurri hacer esos peinados extravagantes y excelentes ;) y eso influy mucho, toda la gente
se peinaba igual xD.
En la actualidad, el diseo se usa de una manera diferente: con publicidad, comerciales, revistas,
ropa, las casas, los muebles de nuevo (hubo una poca en que los muebles no importaban y los
hacn co un diseo X, en la poca moderna xD, no te pas que tus paps tambin tenan de esos
muebles de madera con rayas raras en las patas y brazos?? bueno, pues esos malos diseos de
muebles influyeron en la gente para poner toda su casa caf, porque aunque o era un diseo
bueno.... era la "moda").
Los diseos SIEMPRE han influido en la sociedad, pero influyen en masa cuando se pone algo de
moda. La cosa est en que si el artista lo hace con una actitud de influir en alguna forma en la
sociedad.... o si eso no le importa y slo quiere ganar dinero. La primera opcin tendr resultados
tan grandes como en los 60's y 70's, y la segunda como en la poca "moderna" con los muebels
que te digo :/.
La cosa est en que si t ests haciendo un diseo y quieres influir de la sociedad, primero debes
pensar en qu quieres influir, luego colmarte de sensaciones conforme a eso..... y es entonces
cuando tebes expresarte con un atacaso artstico, el cual despus de expresarlo lo perfeccionars.
Yo me hice esta misma pregunta hace tiempo, y ahora tengo mi empresa de ropa con diseos muy
buenos, porque lo que yo quiero es que la gente exprese lo que siente con la ropa, ya no slo ropa
de cuadros y rayas y colores lisos, yo quiero que cada persona use ropa que lo identifica, si se
siente feliz, si se siente triste, que lo exprese vistindolo para que no se guarde eso dentro. De esa
manera quiero influir en el mundo..... y si no llego a hacerme rico o famoso (yo creo que si lo
lograr... pero si no...) entonces al menos dejar mi huella en esa persona que us mi diseo, pues
lo habr ayudado a sentirse mejor, a expresarse.
LOS DISEOS INFLUYEN CUANDO LES DAS UN MOTIVO, y con constancia es con la que
logrars influir en una sociedad ms grande. El motivo que le dars a tu diseo cul es? una
nueva moda? un nuevo estilo de vida? una nueva actitud hacia la naturaleza? (como el comercial
del nuevo diseo de labotella de agua de ciel :P).
LOS DISEOS INFLUYEN COMO EL ARTISTA QUE LO DISEA QUIERA..... segn el diseo que
l le de.... pero cuando disea por dinero... temina haciendo esos muebels feos xD.

Espero haberte ayudado.


Atte. The Gray Wizard
Fuente(s):Mi experiencia artstica y empresarial :D
Gray Wizard hace 5 aos
0
Pulgar hacia arriba
0
Pulgar hacia abajo
Comentario
Calificacin del solicitante
Notificar abuso

El diseo (arquitectonico, artistico, etc) se supone genera una persepcion en un individuo, por ello
es que te atrae o te disgusta algo, por ello si una escultura o edificio te atrae y te gusta, obviamente
te sentiras de mejor animo que pasando por lo contrario. esto genera emociones en el individuo
que es con lo que juega el artista y en su modo de ver el mundo, por ello la ciudad generalmente
influye en toda la sociedad, por ello esque en ciudades con rascacielos y muchos edificios, la gente
se siente cohibida por la monumentalidad de la ciudad y generalmente andan por las calles a paso
rapido.
al contrario en los pueblos y ciudades (no tan monumentales) la gente es mas tranquila y va a paso
ligero.
Es esto lo que se logra con el diseo, se crean los estados de animo en las personas o se pueden
modificar.
Taran...!!! espero y t haya ayudado

MPORTANCIA DEL DISEO ANTE LA


SOCIEDAD.

17 de sept. de 2015
101 visualizaciones
0 recomendaciones

0 comentarios
Compartir en LinkedIn

Compartir en Facebook

Compartir en Twitter

No todo el mundo es consciente de la importancia que el diseo


posee ante la sociedad, no todos comprenden la labor que
desempea un diseador.
Existe una sociedad en la que cantidad de comercios no
contratan los servicios de un diseador para crear la imagen de
su negocio. Vivimos en una sociedad en la que se piensa que un
logotipo, un cartel, la publicidad, el diseo de mobiliario o una
pgina web se crean solos, o tal vez presionando un par de
teclas del ordenador.
El diseador, tiene la responsabilidad de producir mensajes que
contribuyan positiva mente a la sociedad, as mismos la creacin
de objetos visuales que ayuden al desarrollo y la posibilidad de
identificar problemas con la capacidad de transformarlos.
Ms que hacer bocetos, o dibujitos, el diseo actual crea
comunicacin visual y fsica, transforma el entorno comn de
letras a icono, radicando a la vida social actual en como se
comunica a travs de imgenes y objetos.

El diseo es un proceso de creacin visual con un propsito, que


cumple una funcin muy importante con respecto a la
comunicacin y que puede afectar el conocimiento, las
actitudes, los afectos y el comportamiento en las personas.
Esta profesin es capaz de responder a un problema a travs de
una accin: comunicar visualmente con responsabilidad, con
conocimiento, con creatividad y con iniciativa, de tal manera
que los proyectos contribuyan a mejorar la realidad dentro de la
sociedad.
La importancia del diseo en la sociedad actual radica en su
poder de comunicar ideas a travs de la imagen, color, forma,
tipografa y las tcnicas adecuadas que se conocen como teora
del diseo.0p9p0p
El diseo no slo vende, el buen diseo sabe como vender y
sobre todo como comunicar e implantarse como parte de la
sociedad
Entonces podemos culminar garantizando que ofreceremos en
nuestros proyectos una buena esttica, una adecuada
presentacin, usabilidad y operatividad, y por supuesto un buen
diseo con el que se sentir conforme.
Podemos realizar todo lo que nosotros queramos, ya que la
imaginacin es el

lmite de nuestra creatividad

You might also like