Arquitectura de software
La arquitectura de software es un conjunto de patrones que proporcionan un marco de referencia necesario para guiar la construcción de un software, permitiendo a los programadores, analistas y todo el conjunto de desarrolladores del software compartir una misma línea de trabajo y cubrir todos los objetivos y restricciones de la aplicación. Es considerada el nivel másalto en el diseño de la arquitectura de un sistema puesto que establecen la estructura, funcionamiento e interacción entre las partes del software.
Componentes
La arquitectura de software se compone por:
Clientes y servidores.
Bases de datos.
Filtros.
Niveles en sistemas jerárquico.
Interacciones
Entre los componentes de la arquitectura de software existe un conjunto de interacciones entre las quesobresalen:
Llamadas a procedimientos.
Comportamiento de variables.
Protocolos cliente servidor.
Transmisión asíncrona de eventos.
Características
La arquitectura de software forma la columna vertebral para construir un sistema de software, es en gran medida responsable de permitir o no ciertos atributos de calidad del sistema entre los que se destacan la confiabilidad y el rendimiento delsoftware. Además es un modelo abstracto reutilizable que puede transferirse de un sistema a otro y que representa un medio de comunicación y discusión entre participantes del proyecto, permitiendo así la interacción e intercambio entre los desarrolladores con el objetivo final de establecer el intercambio de conocimientos y puntos de vista entre ellos.
Tipos de arquitecturas
Para utilizar laarquitectura de software se sigue un conjunto de patrones arquitectónicos, entre los cuales podemos encontrar:
Niveles de un diseño de software
El diseño de software tiene varios niveles los cuales están relacionados entre sí, cada nivel tiene sus propios problemas, técnicas de análisis y componentes los que pueden ser simples o complejos, reglas de composición las cuales permiten construircomponentes complejos.
Modelos de la arquitectura de software
La arquitectura de software cuenta con varios modelos, ellos son:
Modelos estructurales
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 composición. Los modelos de framework a menudo se refieren a dominios o clases deproblemas específicos. El trabajo que ejemplifica esta variante incluye arquitecturas de software específicas de dominios, como CORBA, o modelos basados en CORBA, o repositorios de componentes específicos, como PRISM.
Modelos dinámicos
Enfatizan la cualidad conductual de los sistemas, “Dinámico” puede referirse a los cambios en la configuración del sistema, o a la dinámica involucrada en el progresode la computación, tales como valores cambiantes de datos.
Modelos de proceso
Se concentran en la construcción de la arquitectura, y en los pasos o procesos involucrados en esa construcción. En esta perspectiva, la arquitectura es el resultado de seguir un argumento (script) de proceso. Esta vista se ejemplifica con el actual trabajo sobre programación de procesos para derivar arquitecturas.Estándares de Red (IEEE)
El Comité 802, o proyecto 802, del Instituto de Ingenieros en Eléctrica y Electrónica (IEEE) definió los estándares de redes de área local (LAN). La mayoría de los estándares fueron establecidos por el Comité en los 80´s cuando apenas comenzaban a surgir las redes entre computadoras personales.
Muchos de los siguientes estándares son también EstándaresISO 8802. Por ejemplo, el estándar 802.3 del IEEE es el estándar ISO 8802.3.
802.1 Definición Internacional de Redes. Define la relación entre los estándares 802 del IEEE y el Modelo de Referencia para Interconexión de Sistemas Abiertos (OSI) de la ISO (Organización Internacional de Estándares). Por ejemplo, este Comité definió direcciones para estaciones LAN de 48 bits para todos los estándares...
Regístrate para leer el documento completo.