ARQUITECTURA DE SOFTWARE
La
Arquitectura del Software es el diseño de más alto nivel de la estructura de un
sistema. Una Arquitectura de Software, también denominada Arquitectura lógica,
consiste en un conjunto de patrones y abstracciones coherentes que proporcionan
el marco . La arquitectura de software define, de manera abstracta, los
componentes que llevan a cabo alguna tarea de computación, sus interfaces y la
comunicación entre ellos. Toda arquitectura debe ser implementable en una
arquitectura física, que consiste simplemente en determinar qué computadora
tendrá asignada cada tarea.
- MODELOS O
VISTAS
Toda arquitectura de software debe describir diversos aspectos del software.
Generalmente, cada uno de estos aspectos se describe de una manera más
comprensible si se utilizan distintos modelos o vistas. Es importante destacar
que cada uno de ellos constituye una descripción parcial de una misma arquitectura
y es deseable que exista cierto solapamiento entre ellos. Esto es así porque
todas las vistas deben ser coherentes entre sí, evidente dado que describen la
misma cosa.
- MODELOS Y
VISTAS
Cada paradigma de desarrollo exige diferente número y tipo de vistas o modelos
para describir una arquitectura. No obstante, existen al menos tres vistas
absolutamente fundamentales en cualquier arquitectura: La visión estática:
describe qué componentes tiene la arquitectura. La visión funcional: describe
qué hace cada componente. La visión dinámica: describe cómo se comportan los
componentes a lo largo del tiempo y como interactúan entre sí.
- CARACTERISTICAS
Las vistas o modelos de una arquitectura de software pueden expresarse mediante
uno o varios lenguajes. El más obvio es el lenguaje natural, pero existen otros
lenguajes tales como los diagramas de estado, los diagramas de flujo de datos,
etc. Estos lenguajes son apropiados únicamente para un modelo o vista.
Afortunadamente existe cierto consenso en adoptar UML (Unified Modeling
Language, lenguaje unificado de modelado) como lenguaje único para todos los
modelos o vistas. Sin embargo, un lenguaje generalista corre el peligro de no
ser capaz de describir determinadas restricciones de un sistema de información (o
expresarlas de manera incomprensible). •En los años 1960 ya se acercaba el
concepto de arquitectura de software en los círculos de investigación No
obstante, toma popularidad en los años 1990 tras reconocerse la denominada
crisis del software y como tema de interés de la incipiente disciplina de la
ingeniería del software.
No hay comentarios:
Publicar un comentario