Está en la página 1de 4

Arquitectura de software

La arquitectura de software es un conjunto de patrones que proporcionan un


marco de referencia necesario para guiar la construccin de un software,
permitiendo a los programadores, analistas y todo el conjunto de
desarrolladores del software compartir una misma lnea de trabajo y cubrir
todos los objetivos y restricciones de la aplicacin. Es considerada el nivel
ms alto en el diseo de la arquitectura de un sistema puesto que
establecen la estructura, funcionamiento e interaccin entre las partes del
software.

Componentes e interacciones
Componentes
La arquitectura de software se compone por:

Clientes y servidores.
Bases de datos.
Filtros.
Niveles en sistemas jerrquico.

Interacciones
Entre los componentes de la arquitectura de software existe un
conjunto de interacciones entre las que sobresalen:

Llamadas a procedimientos.
Comportamiento de variables.
Protocolos cliente servidor.
Transmisin asncrona de eventos.

Caractersticas
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 del software. Adems es un modelo
abstracto reutilizable que puede transferirse de un sistema a otro y
que representa un medio de comunicacin y discusin entre
participantes del proyecto, permitiendo as la interaccin 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 la arquitectura de software se sigue un conjunto de
patrones arquitectnicos, entre los cuales podemos encontrar:

Cliente-Servidor:
Modelo entre capas.
Intrprete.
Orientado a servicios.

Niveles de un diseos de
software
El diseo de software tiene varios niveles los cuales estn
relacionados entre s, cada nivel tiene sus propios problemas, tcnicas
de anlisis y componentes los que pueden ser simples o complejos,
reglas de composicin las cuales permiten construir componentes
complejos.

Planificacin
La importante tarea a la hora de crear un producto de software es obtener
los requisitos o el anlisis de los requisitos. Los clientes suelen tener una
idea ms bien abstracta del resultado final, pero no sobre las funciones que
debera cumplir el software.
Una vez que se hayan recopilado los requisitos del cliente, se debe realizar
un anlisis del mbito del desarrollo. Este documento se conoce como
especificacin funcional.

Implementacin, pruebas y documentacin


La implementacin es parte del proceso en el que los ingenieros de
software programan el cdigo para el proyecto.
Las pruebas de software son parte esencial del proceso de desarrollo
del software. Esta parte del proceso tiene la funcin de detectar
los errores de software lo antes posible.
La documentacin del diseo interno del software con el objetivo de
facilitar su mejora y su mantenimiento se realiza a lo largo del
proyecto. Esto puede incluir la documentacin de un API, tanto
interior como exterior.

Despliegue y mantenimiento

El despliegue comienza cuando el cdigo ha sido suficientemente


probado, ha sido aprobado para su liberacin y ha sido distribuido en
el entorno de produccin.
Entrenamiento y soporte para el software es de suma importancia y
algo que muchos desarrolladores de software descuidan. Los usuarios,
por naturaleza, se oponen al cambio porque conlleva una cierta
inseguridad, es por ello que es fundamental instruir de forma
adecuada a los futuros usuarios del software.
El mantenimiento o mejora del software de un software con
problemas recientemente desplegado, puede requerir ms tiempo
que el desarrollo inicial del software. Es posible que haya que
incorporar cdigo que no se ajusta al diseo original con el objetivo
de solucionar un problema o ampliar la funcionalidad para un cliente.
Si los costes de mantenimiento son muy elevados puede que sea
oportuno redisear el sistema para poder contener los costes de
mantenimiento.

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 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.

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.

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.

También podría gustarte