Vous êtes sur la page 1sur 19

Introduccin a la Arquitectura de software

Definiciones generales de Arquitectura de software


La mayora de los autores coinciden en que una arquitectura de software define la estructura general del sistema, entendiendo estructura como los componentes que nacen de la abstraccin del sistema, que cumple funciones especficas, e interactan entre s con un comportamiento definido. (Bass, 199 ! "a#man, 199 ! $ofmeister, 199%! Lane, 199&! Busc'man, 199(! Booc', 1999! )bowd, 199%*. La arquitectura de software puede ser +ista como la estructura del sistema en funcin de la definicin de los componentes y sus interacciones, considerando los requerimientos y restricciones del sistema, ,unto a los argumentos que ,ustifiquen que la estructura definida satisface los requerimientos del sistema. (Bass, 199 , Boe'm, 199%, Boe'm, 199%! Lane, 199&*. La arquitectura de software puede considerarse entonces como el -puente. entre los requerimientos del sistema y la implementacin. ($ofmeister, /&&&*.

Introduccin a la Arquitectura de software


Definiciones generales de Arquitectura de software
0na estructura compuesta por componentes de software y reglas que caracteri#an la interaccin entre estos componentes (1ones, 1992*. 0n con,unto de elementos arquitecturales que tienen una forma particular. 3stos elementos se di+iden en tres clases4 elementos de procesamiento, elementos de datos y elemento de cone5in. (6erry y 7olf, 199/*. 0na coleccin de componentes computacionales 8 o, simplemente, componentes 9 en con,unto con una descripcin de las interacciones entre estos componentes, es decir, de los conectores.(:arlan y ;'aw, 1992*. 0na estructura organi#acional de un sistema de software que incluye componentes, cone5iones, restricciones y una e5posicin ra#onada de los requerimientos que ella satisface o de algunos otros aspectos de la arquitectura ("ogut y <lements, 199=*.

Introduccin a la Arquitectura de software


Definiciones generales de Arquitectura de software
La arquitectura de software se refiere a grandes rasgos, a una +ista del sistema que incluye los componentes principales del mismo, la conducta de esos componentes segn se le percibe desde el resto del sistema y las formas en que los componentes interactan y se coordinan para alcan#ar la misin del sistema. (<lements, /&&%*. La arquitectura de software tiene que +er con el dise>o y la implementacin de estructuras de software de alto ni+el. 3s el resultado de ensamblar un cierto nmero de elementos arquitectnicos de forma adecuada para satisfacer la mayor funcionalidad y requerimientos de desempe>o de un sistema, as como requerimientos no funcionales, como la confiabilidad, escalabilidad, portabilidad y disponibilidad. ("ruc'ten, 199=*

Introduccin a la Arquitectura de software


Definiciones generales de Arquitectura de software
La ?333 1=@19/&&& define arquitectura de software como la organi#acin fundamental de un sistema encarnada en sus componentes, las relaciones entre ellos, el ambiente y los principios que orientan su dise>o y e+olucin. La arquitectura de software, refiere la especificacin de la estructura del sistema, entendida como la organi#acin de componentes y relaciones entre ellos! los requerimientos que debe satisfacer el sistema y las restricciones a las que estA su,eto, as como las propiedades no funcionales del sistema y su impacto sobre la calidad del mismo! las reglas y decisiones de dise>o que gobiernan esta estructura y los argumentos que ,ustifican las decisiones tomadas.

Introduccin a la Arquitectura de software


Arquitectura de software como puente

La )rquitectura de software asocia las capacidades del sistema especificadas en el requerimiento con los componentes del sistema que 'abrAn de implementarla.

Introduccin a la Arquitectura de software


Arquitectura de software en el proceso de desarrollo

Introduccin a la Arquitectura de software


Caractersticas de la Arquitectura de software
6arte del dise>o de software. Bi+el del dise>o de software donde se definen la estructura y propiedades globales del sistema. ?ncluye sus componentes, las propiedades obser+ables de dic'os componentes y las relaciones que se establecen entre ellos. Cepresentacin de alto ni+el de la estructura del sistema describiendo las partes que lo integran. 6uede incluir los patrones que super+isan la composicin de sus componentes y las restricciones al aplicar los patrones. Drata aspectos del dise>o y desarrollo que no pueden tratarse adecuadamente dentro de los mdulos que forman el sistema.

Introduccin a la Arquitectura de software


Caractersticas de la Arquitectura de software
Doda aplicacin tiene una arquitectura, aunque no sea e5plcita. $ace e5plcito con rigor el repertorio de tEcnicas, patrones y e5presiones para estructurar sistemas de software comple,os. ?ncluye modelos, lengua,es y 'erramientas para la descripcin y desarrollo prActico de arquitecturas de software. La arquitectura de software no se ocupa del dise>o detallado, dise>o de algoritmos y dise>o de estructuras de datos.

Introduccin a la Arquitectura de software


Objetivos de la Arquitectura de software
<omprender (abstraccin* y me,orar la estructura de las aplicaciones comple,as. Ceutili#ar dic'a estructura (o partes de ella* para resol+er problemas similares. )nali#ar la correccin de la aplicacin y su grado de cumplimiento respecto a los requisitos iniciales. 6ermitir el estudio de algunas propiedades especficas del dominio. 6lanificar la e+olucin de la aplicacin, identificando las partes mutables e inmutables de la misma, as como los costos de los posibles cambios. 6ermitir la adaptacin al cambio por composicin, reconfiguracin, reutili#acin, escalabilidad, mantenibilidad, etc.

Introduccin a la Arquitectura de software


Objetivos de la Arquitectura de software
Frgani#acin a alto ni+el del sistema, incluyendo aspectos como4 la descripcin, el anAlisis de propiedades relati+as a su estructura y control global, los protocolos de comunicacin, los protocolos de sincroni#acin utili#ados, la distribucin fsica del sistema y sus componentes, etc.

Introduccin a la Arquitectura de software


Importancia de la Arquitectura de software

Introduccin a la Arquitectura de software


Importancia de la Arquitectura de software
La necesidad del mane,o de la arquitectura de un sistema de software nace con los sistemas de mediana o gran en+ergadura y con la tendencia al crecimiento de los sistemas en cuanto al +olumen de datos, cdigos y aspectos funcionales y no funcionales. 3n la medida que los sistemas de software crecen en comple,idad, bien sea por nmero de requerimientos o por el impacto de los mismos, se 'ace necesario establecer medios para el mane,o de esta comple,idad. ?ncrementos en la e+oluti+idad de los sistemas de software en cuanto a partes o componentes del negocio (globali#aciones, concentraciones, reorgani#aciones, competencia, etc* y de la plataformas de e,ecucin. ?ncremento de la 'eterogeneidad de los sistemas en cuanto a lengua,es y paradigmas, mane,adores de datos y protocolos de acceso, sistemas operati+os, plataformas intermediarias y sistemas operati+os .

Introduccin a la Arquitectura de software


Importancia de la Arquitectura de software
6ermite descomponer el sistema en pie#as. Los componentes definidos agrupan aspectos especficos del sistema. 3s producto de un proceso de abstraccin. Frgani#a y constituye la base de la solucin de un problema.

Una arquitectura de software define la estructura del sistema.

Introduccin a la Arquitectura de software


Importancia de la Arquitectura de software
Frigen de los problemas (comple,idad*

Introduccin a la Arquitectura de software


Importancia de la Arquitectura de software
3+olucin acelerada del $ardware4 ?ncremento constante de la capacidad de operacin (Frdenadores potentes* Giniaturi#acin (3quipos pueden lle+arse en el bolsillo* Ceduccin de costes para la produccin de 'ardware. )+ance de las comunicaciones entre sistemas. (3n permanente cone5in con grandes sistemas, redes comunicacin pblicas, sistemas de locali#acin :6;, etc.*. ?ncremento de tasa de surgimiento de tecnologas (no parece decrecer con el tiempo*, en las que las tecnologas +ie,as no mueren, solo se ocultan en capas mas profundas del software.

Introduccin a la Arquitectura de software


Evolucin de la Arquitectura de software

Introduccin a la Arquitectura de software


El Arquitecto de software
3l arquitecto de software es el responsable por la arquitectura de software lo que incluye las decisiones tEcnicas que rigen sobre el dise>o e implementacin del proyecto.

Introduccin a la Arquitectura de software


El Arquitecto de software
3l arquitecto de software es el responsable por las decisiones tEcnicas e5presadas como la arquitectura de software. 3sto tpicamente incluye identificar y documentar los aspectos arquitecturalmente significantes del sistema, incluidos los requerimientos, dise>o, implementacin y +istas del despliegue del sistema. 3l arquitecto de software es responsable por pro+eer ra#ones fundamentales por las decisiones tEcnicas tomadas, balancear los intereses de +arios staHe'olders (interesados*, mane,ar los riesgos tEcnicos del proyecto y asegurar que las decisiones sean efecti+amente comunicadas, +alidadas y adoptadas.

Introduccin a la Arquitectura de software


El Arquitecto de software

Vous aimerez peut-être aussi