Vous êtes sur la page 1sur 9

Breve anlisis de la

arquitectura del software


ING Informtica
Seccin ES01
Barina 06-05-2016

Integrantes:
Mayerlin Mendoza CI: 24.322.469
Mirleth Rodrguez CI: 22.685.660
Kenen Sols CI: 22.983.049
Wilson Cordero CI: 14.712.767

HISTORIA DE LA ARQUITECTURA DEL SOFTWARE

La arquitectura al software surge a medida de los aos 1960 no siendo tan continua su
historia luego de los aportes de Edsger Dijkstra, de David Parnas y de Fred Brooks, la
arquitectura al software quedo en un estado de vida latente donde se le da una gran
importancia. Hubo el aporte de muchos colaboradores que dieron el salto, xito y la
creacin de lo que es hoy en da la arquitectura al software como tambin se le conoce
como ingeniera al software. En cuanto a los aportes que se le realizaron a esta materia se
destaca el de Edsger Dijkstra quien propuso que se establezca una estructuracin correcta
de los sistemas de software antes de lanzarse a programar, escribiendo cdigo de cualquier
manera.
Disjkstra adems sostena que las ciencias de la computacin eran una rama aplicada
de las matemticas y sugera seguir pasos formales para descomponer problemas mayores,
fue uno de los introductores de la nocin de sistemas operativos organizados en capas que
se comunican slo con las capas adyacentes y que se superponen como capas de cebolla.
Invent o ayud a precisar adems docenas de conceptos: el algoritmo del camino ms
corto, los stacks, los vectores, los semforos, los abrazos mortales. De sus ensayos arranca
la tradicin de hacer referencia a niveles de abstraccin.

CONCEPTOS FUNDAMENTALES
La Arquitectura del software se basa en una serie de conceptos, principios y
herramientas esenciales para su desarrollo entre ellos se pueden destacar los siguientes:
Estilos: Definen una forma de articulacin u organizacin arquitectnica. El conjunto de
los estilos cataloga las formas bsicas posibles de estructuras de software, mientras que las
formas complejas se articulan mediante composicin de los estilos fundamentales. Los
estilos y patrones ayudan al arquitecto a definir la composicin y el comportamiento del
sistema de software, y una combinacin adecuada de ellos permite alcanzar los
requerimientos de calidad.

Algunos estilos tpicos son las arquitecturas basadas en flujo de datos, las peer-topeer, las de invocacin implcita, las jerrquicas, las centradas en datos o las de intrpretemquina virtual.
Por otra parte, el autor Buschmann et al (1996) expresa que la AS una serie de
componentes y las relaciones entre estos, con las restricciones de su aplicacin y la
composicin asociada, as como tambin las reglas para su construccin.

LOS LENGUAJES DE DESCRIPCIN DE ARQUITECTURAS, O ADSL:


Se considera como un lenguaje descriptivo de modelado arquitectnico de software
que se focaliza en la estructura de alto nivel de la aplicacin antes que en los detalles de
implementacin de sus mdulos concretos; proporciona un modelo explcito de
componentes, conectores y sus respectivas configuraciones para el anlisis y las decisiones
tempranas de diseo. En otras palabras, suministra soporte de herramientas para el
desarrollo de soluciones basadas en arquitectura y su posterior evolucin.
Adems, este tipo de lenguaje provee un mecanismo para la construccin de la
arquitectura como artefacto, transferible a otros sistemas, de manera tal que pueda ser
tomada como marco de referencia o como punto de partida para el resto de las tareas del
proceso de desarrollo.
El lenguaje de descripcin arquitectnica tambin sirve de soporte para el anlisis y
las decisiones tempranas de diseo, y sera factible la construccin de herramientas que
asistan en el proceso de desarrollo.
Los ADL permiten modelar una arquitectura mucho antes que se lleve a cabo la
programacin de las aplicaciones que la componen, analizar su adecuacin, determinar sus
puntos crticos y eventualmente simular su comportamiento. tambin son bien conocidos en
los estudios universitarios de AS, pero muy pocos arquitectos de industria parecen
conocerlos y son menos an quienes los utilizan como instrumento en el diseo
arquitectnico de sus proyectos.

FRAMEWORKS Y VISTAS:
Los Frameworks se pueden interpretar como el conjunto de organismos de
estndares (ISO, CEN, IEEE, OMG) que han regido durante aos la AS, con el propsito de
homogeneizar y de simplificar la terminologa, los modelos y los procedimientos. Los
emergentes del trabajo de sus comits son especificaciones y recomendaciones de variada
naturaleza, como RM-ODP, RUP, RDS, MDA, MOF, MEMO, XMI o IEEE 1471-2000.
Una vista: Es, un subconjunto resultante de practicar una seleccin o abstraccin
sobre una realidad, desde un punto de vista determinado. Tanto los marcos arquitectnicos
como las metodologas de modelado de los organismos acostumbran ordenar las diferentes
perspectivas de una arquitectura en trminos de vistas. La mayora de los frameworks y
estrategias reconoce entre tres y seis vistas.
ABSTRACCIN
Una abstraccin denota las caractersticas esenciales de un objeto que lo distingue
de otras clases de objeto y provee de este modo delimitaciones conceptuales bien definidas,
relativas a la perspectiva del observador, por lo general consiste en extraer las propiedades
esenciales, o identificar los aspectos importantes, o examinar selectivamente ciertos
aspectos de un problema, posponiendo o ignorando los detalles menos sustanciales,
distractivos o irrelevantes. En un estilo, menos es ms: Si una decisin se pospone hasta
el momento de tratar las cosas a bajo nivel, entonces, sta no es una decisin arquitectnica.
ESCENARIO
Es una breve descripcin de la interaccin de alguno de los involucrados en el
desarrollo del sistema con ste. Por ejemplo, un usuario har la descripcin en trminos de
la ejecucin de una tarea; un encargado de mantenimiento har referencia a cambios que
deban realizarse sobre el sistema; un desarrollador se enfocar en el uso de la arquitectura
para efectos de su construccin o prediccin de su desempeo.

CAMPOS DE LA ARQUITECTURA DE SOFTWARE


La arquitectura al software en sus inicios fue actuando por si sola en cuanto a los
requerimientos que se necesitaban para realizar lo que era el diseo, posteriormente a
medidas que pasa el tiempo se sincroniza formando una estructura de campos, segn
ciertos personajes como David Garlan y Dewayne Perry, en su introduccin al volumen de
abril de 1995 de IEEE Transacciones en Software Engineering dedicado a la arquitectura al
software enumeran las siguientes ramas o campos como lo son:
Lenguajes de descripcin de arquitecturas,
Fundamentos formales de la AS (bases matemticas, caracterizaciones formales de
propiedades

extra-funcionales

tales

como

mantenibilidad,

teoras

de

la

interconexin, etctera),
Tcnicas de anlisis arquitectnicas,
Mtodos de desarrollo basados en arquitectura
Recuperacin y reutilizacin de arquitectura,
Codificacin y gua arquitectnica
Herramientas y ambientes de diseo arquitectnico,
Estudios de casos.

LOS MODELOS EN LA ARQUITECTURA DEL SOFTWARE


1) Modelos Estructurales: Sostienen que la AS est compuesta por componentes,
conexiones entre ellos y (usualmente) otros aspectos tales como configuracin, estilo,
restricciones,

semntica,

anlisis,

propiedades,

racionalizaciones,

requerimientos,

necesidades de los participantes. El trabajo en esta rea est caracterizado por el desarrollo
de lenguajes de descripcin arquitectnica (ADLs).
2) Modelos de framework: Son similares a la vista estructural, pero su nfasis primario
radica en la (usualmente una sola) estructura coherente del sistema completo, en vez de
concentrarse en su composicin. Los modelos de framework a menudo se refieren a
dominios o clases de problemas especficos. El trabajo que ejemplifica esta variante incluye
arquitecturas de software especficas de dominios, como CORBA, o modelos basados en
CORBA, o repositorios de componentes especficos, como PRISM.

3) Modelos Dinmicos: Enfatizan la cualidad conductual de los sistemas. Dinmico


puede referirse a los cambios en la configuracin del sistema, o a la dinmica involucrada
en el progreso de la computacin, tales como valores cambiantes de datos.
4) Modelos de Proceso: Se concentran en la construccin de la arquitectura, y en los pasos
o procesos involucrados en esa construccin. En esta perspectiva, la arquitectura es el
resultado de seguir un argumento (script) de proceso. Esta vista se ejemplifica con el actual
trabajo sobre programacin de procesos para derivar arquitecturas.
5) Modelos Funcionales: Una minora considera la arquitectura como un conjunto de
componentes funcionales, organizados en capas que proporcionan servicios hacia arriba. Es
tal vez til pensar en esta visin como un framework particular.

DIFERENCIAS ENTRE ARQUITECTURA Y DISEO


La arquitectura es el primer paso en la produccin de un diseo de software (Shaw y
Garlan, 1996), en donde los pasos que la distinguen son:
Arquitectura.: Asocia los requerimientos con los componentes del sistema que habrn
de implementarla. Estilos complejos a partir de estilos simples, es decir, sistemas a partir de
subsistemas. Diseo de cdigo. Comprende algoritmos y estructuras de datos; los
componentes son primitivos de los lenguajes de programacin (nmeros, caracteres,
punteros, entre otros).
Diseo ejecutable: Remite el diseo a un nivel de detalle ms bajo (asignacin de
memoria, formato de datos, etc.). La arquitectura concierne a un nivel de abstraccin ms
elevado; se ocupa de componentes y no de procedimientos; de las interacciones de esos
componentes y no de las interfaces; de las restricciones a ejercer sobre los componentes y
de las interacciones y no de los algoritmos, los procedimientos y los tipos. (Dewayne Perry,
1997).

REPOSITORIOS
Existen unos cuantos repositorios de informacin arquitectnica, cuyas direcciones
son ms o menos permanentes. El ms importante hoy en da parece ser el del Software
Engineering Institute en la Universidad Carnegie Mellon de Pittsburgh, Pennsylvania.

RELEVANCIA DE LA ARQUITECTURA DE SOFTWARE


Aunque todava no se ha constituido un repositorio uniformizado de estudios de
casos en base al cual se pueda extraer una conclusin responsable, la AS ha resultado
instrumental en un nmero respetable de escenarios reduciendo costos, evitando errores,
encontrando fallas, implementando sistemas de misin crtica. Cada uno de los documentos
que describen lenguajes de descripcin arquitectnica, por ejemplo, subraya su utilizacin
exitosa en proyectos de gran envergadura requeridos por organizaciones de gobierno o por
grandes empresas. Relevancia de la Arquitectura de Software An cuando aqu y all se
sealen dificultades ocasionales, nadie duda de la necesidad de una visin arquitectnica.
Escribe Barry Boehm, especialista mximo en gestin de riesgo y bien conocido creador
del COCOMO y del mtodo de desarrollo en espiral: Si un proyecto no ha logrado una
arquitectura del sistema, incluyendo su justificacin, el proyecto no debe empezar el
desarrollo en gran escala. Si se especifica la arquitectura como un elemento a entregar, se la
puede usar a lo largo de los procesos de desarrollo y mantenimiento.
DEFINICIONES DE ESTILOS
Estilo tambin se utiliza en la informtica: las hojas de estilo en cascada (Cascading
Style Sheets, CSS segn sus siglas en ingls) componen un lenguaje que se emplea para
estipular cmo se presentar un documento que ha sido desarrollado en XML, HTML o
XHTML. Es la forma en que el autor plasma lo que escribe usando rasgos propios y
particulares. El estilo es la expresin de la personalidad del autor. Es el rostro del alma. Es
el hombre. Es su Vida. Cada autor es un estilo nuevo. Exactamente inimitable., inevitable,
absoluto dirase. Dos autores pueden parecerse al escribir pero jams sus estilos sern copia
exacta uno de otro. Ni que traten sobre el mismo tema. Ni que usen palabras iguales. Ni que
pongan en sus obras el mismo fervor. Dos elementos fundamentales lo integran, el espritu

y la tcnica literaria. Predominando el espritu, que es como decir, el dolor, la alegra, la


angustia, la esperanza, el odio, el amor, el cinismo, la fraternal sinceridad.

LOS ESTILOS ARQUITECTNICOS


Es la clasificacin arquitectnica en los trminos de forma, tcnicas, materiales,
perodo, regin, etc. Surgen del estudio de la evolucin y la historia de la arquitectura. El
estilo arquitectnico es una manera de clasificar la arquitectura que da nfasis a las
caractersticas del diseo, dando lugar a una terminologa Es un estilo bastante sencillo. No
lleva molduras (detalles en relieve) ni detalles recargados, es de lneas rectas y simples. La
decoracin transmite una sensacin de informalidad y juventud. Es simple y funcional, se
caracteriza por crear espacios amplios y luminosos. Se puede optar por colores claros en
paredes y muebles. Es un estilo muy prctico, los muebles son de lneas puras y detalles
discretos. Un mobiliario apropiado sera: Sillas. De madera laqueada, sola o con base de
acero. Podramos usar, asimismo, sillas en plstico decolores, con tapicera tambin
colorida y diseos modernos. Mesas. Las mesas pueden ser de plstico, enchape me
amnico o madera de acabado laqueado; preferentemente redondas, pues son menos rgidas.
Mobiliario de apoyo. Como en los estilos anteriores, slo para colocar vajilla y mantelera.
Pueden ser sencillas, en madera o enchape me lumnico, con puertas y divisiones para
guardar utensilios.
DESCRIPCIN LOS ESTILOS
Slo se manifiestan en arquitectura terica descripta de alto nivel de abstraccin; los
patrones, por todas partes. Los partidarios de los estilos se definen desde el inicio como
arquitectos; los que se agrupan en torno de los patrones se confunden a veces con
ingenieros y diseadores, cuando no con programadores con conciencia sistemtica o lo
que alguna vez se llam analistas de software El primer grupo ha abundado en taxonomas
internas de los estilos y en reflexin terica; el segundo se ha mantenido, en general,
refractario al impulso taxonmico, llevado por una actitud resueltamente emprica. Ambos,
con mayor o menor plenitud y autoconciencia, participan del campo abarcativo de la
arquitectura de software.

LOS PATRONES ARQUITECTNICOS

1.

Por su parte, se han materializado con referencia a lenguajes y paradigmas tambin


especficos de desarrollo, mientras que ningn estilo presupone o establece preceptivas al
respecto. Si hay algn cdigo en las inmediaciones de un estilo, ser cdigo del lenguaje de
descripcin arquitectnica o del lenguaje de modelado; de ninguna manera ser cdigo de
lenguaje de programacin Los patrones de arquitectura estn claramente dentro de la
disciplina arquitectnica, solapndose con los estilos

2.

Patrones Arquitectnicos Segn Buschmann los patrones de arquitectura se pueden


ver como la descripcin de un problema en particular y recurrente de diseo, que aparece
en contextos de diseo arquitectnicos especficos, y representa un esquema genrico
demostrado con xito para su solucin. El esquema de solucin se especifica mediante la
descripcin de los componentes que la constituyen, sus responsabilidades y desarrollos, as
como tambin la forma en que estos colaboran entre s. (Buschmann, et al., 1996). Los
patrones arquitectnicos se definen sobre aspectos fundamentales de la estructura del
sistema software, donde se especifican un conjunto de subsistemas con sus
responsabilidades y una serie de recomendaciones para organizar los distintos
componentes.

3.

Patrn de Diseo Un patrn de diseo provee un esquema para refinar los


subsistemas o componentes de un sistema de software, o las relaciones entre ellos. Describe
la estructura comnmente recurrente de los componentes en comunicacin, que resuelve un
problema general de diseo en un contexto particular (Buschmann, et al., 1996). Son
menores en la escala de abstraccin que los patrones arquitectnicos, adems tienden a ser
independientes de los lenguajes y paradigmas de programacin.

Vous aimerez peut-être aussi