Está en la página 1de 34

ARQUITECTURA DE

SOFTWARE
DEFINICION

Una arquitectura de software, tambin denominada Arquitectura Lgica,
consiste en un conjunto de patrones y abstracciones coherentes que
proporcionan el marco de referencia necesario para guiar la construccin
del software.
Toda arquitectura de software debe describir diversos aspectos del
software.

Generalmente, cada uno de estos aspectos se describe de una manera
ms comprensible si se utilizan distintos modelos o vistas
EXISTEN AL MENOS TRES VISTAS
ABSOLUTAMENTE FUNDAMENTALES EN
CUALQUIER ARQUITECTURA:
La visin esttica: describe qu componentes tiene la arquitectura.

La visin funcional: describe qu hace cada componente.

La visin dinmica: describe cmo se comportan los componentes a lo
largo del tiempo y como interactan entre s.

COMPONENTES DE SOFTWARE

DEFINICIN
En la especificacin UML, es una unidad modular con interfaces bien
definidas, que es reemplazable dentro del contexto. As, un componente
define su comportamiento en trminos de interfaces provedas y requerida;
y dicho componente ser totalmente reemplazable por otro que cumpla
con las interfaces declaradas.

UML no coloca ninguna restriccin respecto a la granularidad del
componente, de esta forma un componente podr ser tan simple como un
convertidor de moneda o tan complejo como un sistema de ayuda
semntico.

CARACTERSTICAS
Un componente de software debe poseer las siguientes caractersticas:
Ser reutilizable.
Ser intercambiable.
Poseer interfaces definidas.
Ser cohesivos

IMPLEMENTACIONES
Los componentes de software son la piedra angular de diferentes
paradigmas de programacin. Esto ha generado la aparicin en el
mercado de diferentes especificaciones que plantean la forma de construir,
utilizar y distribuir componentes

PARADIGMAS
Los componentes de software son tiles en:

Programacin Orientada a Componentes
Programacin Orientada a Objetos
Arquitectura Orientada a Servicios
CONECTORES
CONECTORES
Tipos sencillos de conectores pueden ser:
llamados a procedimientos entre dos objetos o entre un cliente y
un servidor,
mensajes asincrnicos,
multicast de eventos entre componentes que se comunican mediante
publicacin-suscripcin,
tubos que representan datos asincrnicos que preservan el orden.
Pero existen conectores mucho ms complejos:
canal de comunicacin orientado a Ias transacciones entre un
servidor de bases de datos y un cliente.
En general los tipos complejos pueden expresarse en trminos de componentes y
conectores ms sencillos.

TIPOS DE CONECTORES
Todo conector tiene un tipo que define Ia naturaleza de Ia interaccin que
ste soporta.
Tambin indica Ia forma que puede tomar el conector:
cuntas componentes puede conectar
EI tipo y nmero de sus interfaces
propiedades requeridas
Generalmente el tipo de interaccin se define mediante un protocolo
patrones de eventos o acciones que suceden durante Ia interaccin.

INTERFACES Y ROLES
Las interfaces de los conectores se denominan roles.
Los roles definen Ias formas en que Ias componentes pueden usar los
conectores para interactuar:
un conector cliente-servidor tiene los roles invocar-servicio y proporcionar-
servicio;
un tubo puede tener los roles lector y escritor;
un conector de publicar y suscribir tiene los roles publicador suscriptor.
Un rol define Ias expectativas de un participante en Ia interaccin.

CONFIGURACIN
CONFIGURACION
Consiste habitualmente en establecer una serie de parmetros para el uso
del Software. Estos parmetros permiten ajustar el funcionamiento.
Ejemplo:
Los directorios de trabajo (localizacin en disco que se almacena por defecto)
En ocasiones esta configuracin es necesaria para que funcionen
correctamente.
Actualizaciones
Compatibilidad
Distribucin
PATRON ARQUITECTONICO
ESTILO ARQUITECTNICO
Un estilo arquitectnico expresa los componentes y las relaciones entre ellos,
con las limitaciones de su aplicacin, as como la composicin y el diseo
de normas asociadas a su construccin.

Sistemas de componentes Comunicacin entre procesos
independientes - Cliente/ servidor
Basados en eventos
Sistemas de llamada Programa principal y subrutinas
retorno Orientado a objetos
Organizado en capas
Sistemas de flujo de Procesamiento por lotes
datos Filtros y pipes
Estilos arquitectnicos
Sistemas heterogneos Localmente heterogneos
Jerrquicamente heterogneos
Simultneamente heterogneos
Mquinas virtuales Intrpretes
Basados en reglas
Sistemas centrados en Repositorios
los datos Pizarras
Estilo arquitectnico de llamada y respuesta,

Orientado a objetos

Capas
Los componentes son las capas o niveles
(conceptualmente) que pueden estar
implementadas internamente por objetos o
procedimientos.
Cada nivel tiene asociado una funcionalidad:
Niveles bajos: Funciones simples, ligadas
al hardware o al entorno.
Niveles altos: Funciones ms abstractas.
Mecanismos de interaccin entre
componentes:
Llamadas a procedimientos.
Llamadas a mtodos.
Restricciones
-Solo llamadas de niveles superiores a
inferiores
-(variante) slo llamadas entre niveles
adyacentes
Cliente-Servidor
El estilo arquitectnico cliente-servidor es preferentemente un modelo de
aplicacin distribuida en el que las tareas se reparten entre los proveedores
de recursos o servicios, llamados servidores, y los demandantes, llamados
clientes. Un cliente realiza peticiones a otro programa, el servidor, quien le
da respuesta.

CLIENTE-SERVIDOR EN WEB
ESTILO PIZARRA
En esta arquitectura hay dos componentes principales: una estructura de datos que
representa el estado actual y una coleccin de componentes independientes que
operan sobre los datos de forma directa.
En base a esta distincin se han definidos dos subcategoras principales del estilo:
Repositorio. Los tipos de operaciones definen los procesos a ejecutar, el
repositorio es una base de datos tradicional.
Pizarra. Si el estado actual de la estructura de datos dispara los procesos a
ejecutar, el repositorio es lo que se llama una pizarra pura o un tablero de
control.

PROCESOS
Conjunto de procesamientos o funciones que tienen uno o mas objetivos.

LOS PROCESOS SON GESTIONADOS POR
EL SISTEMA OPERATIVO Y ESTN FORMADOS
POR:
Las instrucciones de un programa destinadas a ser ejecutadas por
el microprocesador.
Su estado de ejecucin en un momento dado, esto es, los valores de
los registros de la unidad central de procesamiento para dicho programa.
Su memoria de trabajo (memoria crtica), es decir, la memoria que ha
reservado y sus contenidos.
Otra informacin que permite al sistema operativo su planificacin.

PREGUNTAS

Qu es arquitectura de software?
R=conjunto de patrones y abstracciones coherentes que proporcionan el marco de
referencia necesario para guiar la construccin del software
Como se denomina la interface de conectores?
R= Roles
En que consiste la configuracin?
R=establecer una serie de parmetros para el uso del Software.
Cmo se modela un patrn arquitectnico?
R=lenguajes de descripcin, UML y diagrama de bloques de alto nivel
Caractersticas de componente de software?
R=Ser reutilizable, intercambiable y cohesivos.

También podría gustarte