Está en la página 1de 24

DISEÑO DE LA

ARQUITECTURA DE
SOFTWARE
¿QUE ES LA ARQUITECTURA DE
SOFTWARE?
 la Arquitectura de Software se refiere a “las estructuras de
un sistema, compuestas de elementos con propiedades
visibles de forma externa y las relaciones que existen
entre ellos”.
 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ás
alto en el diseño de la arquitectura de un sistema puesto
que establecen la estructura, funcionamiento e interacción
entre las partes del software.
CARACTERISTICAS
 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. 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.
DISEÑO ARQUITECTONICO
 El diseño arquitectónico representa la estructura de
los datos y de los componentes del programa que
se requieren para construir un sistema basado en
computadora. Considera el estilo de arquitectura
que adoptará el sistema, la estructura y las
propiedades de los componentes que lo
constituyen.
 Cuando comienza el diseño arquitectónico, el
software que se va a desarrollar debe situarse en
contexto, es decir, el diseño debe definir las
entidades externas (otros sistemas, dispositivos,
personas, etc.) con las que interactúa el software y
la naturaleza de dicha interacción.
DESCRIPCIONES
ARQUITECTONICAS
Cada uno de nosotros tiene una imagen mental de lo que
significa la palabra arquitectura. Sin embargo, la realidad
es que tiene significados diferentes para distintas
personas. La conclusión es que los diversos participantes
verán una arquitectura desde puntos de vista diferentes.
Esto implica que una descripción arquitectónica en
realidad es un conjunto de productos del trabajo que
reflejan puntos de vista distintos del sistema.
Por ejemplo, el arquitecto de un gran edificio de
oficinas debe trabajar con distintos participantes.
La preocupación principal del propietario de la edificación
(un participante) es garantizar el placer estético y que brinde
suficiente espacio de oficinas e infraestructura para garantizar
su rentabilidad. Por tanto, el arquitecto debe desarrollar una
descripción con el empleo de perspectivas del edificio que se
apeguen a las preocupaciones del dueño. Los puntos de vista
empleados son dibujos del edificio en tres dimensiones (para
ilustrar el aspecto estético) y un conjunto de planos en dos
dimensiones que expliquen la preocupación por el espacio de
oficinas y la infraestructura. Pero también tienen otros
participantes como el fabricante del acero que se usara en
el edificio y el arquitecto hará un plano especializado en la
estructura de acero. Todas estas preocupaciones representan
distintos puntos de vista de la arquitectura.
La descripción de la arquitectura de un sistema basado en
software debe tener características análogas a las
mencionadas para el edificio de oficinas.
 “Los desarrolladores desean lineamientos claros y
decisivos sobre la forma de proceder con el
diseño. Los consumidores desean la comprensión
clara de los cambios ambientales que deben
ocurrir y las garantías de que la arquitectura
satisfará las necesidades de negocios. Otros
arquitectos desean una comprensión clara y
notable de los aspectos clave de la arquitectura.”
 Cada uno de estos “deseos” se refleja en un punto
de vista diferente representado con el uso de una
perspectiva distinta.
TAXONOMIA DE ESTILOS
ARQUITECTONICOS

 ARQUITECTURA CENTRADA EN DATOS:

En el centro de esta arquitectura se halla un


almacenamiento de datos (como un archivo o base de
datos) al que acceden con frecuencia otros
componentes que actualizan, agregan, eliminan o
modifican los datos de cierto modo dentro del
almacenamiento.
ARQUITECTURA DE FLUJO DE DATOS:

Esta arquitectura se aplica cuando datos de


entrada van a transformarse en datos de salida
a través de una serie de componentes
computacionales o manipuladores. tiene un
conjunto de componentes, llamados filtros,
conectados por tubos que transmiten datos de
un componente al siguiente. se diseña para
esperar una entrada de datos de cierta forma y
produce datos de salida (al filtro siguiente) en
una forma especificada.
 ARQUITECTURAS DE LLAMAR Y REGRESAR:

Contiene varios subestilos:

 Arquitectura de programa principal/subprograma:


descompone una función en una jerarquía de control
en la que un programa “principal” invoca cierto
número de componentes de programa que a su vez
invocan a otros.

 Arquitectura de llamadas de procedimiento remoto:


Los componentes están distribuidos a través de
computadoras múltiples en una red.
Arquitectura de programa
principal/subprograma
REPRESENTACION DEL SISTEMA
EN CONTEXTO
el arquitecto del software usa un diagrama de contexto
arquitectónico (DCA) para modelar la manera en la que el
software interactúa con entidades más allá de sus fronteras.
 LOS SISTEMAS QUE INTERACTÚAN CON EL SISTEMA
OBJETIVO SON:

 Sistemas superiores: aquellos que utilizan al sistema


objetivo como parte de algún esquema de procesamiento de
alto nivel.

 Sistemas subordinados: Proveen datos necesarios para


completar el sistema objetivo.

 Sistemas entre iguales: Son los que interactúan sobre una


base de igualdad.

 Actores: entidades (personas, dispositivos, etc.) que


interactúan con el sistema objetivo
CON UN EJEMPLO:
ARQUETIPOS

 Un arquetipo es una clase o un patrón que


representa una abstracción fundamental de
importancia crítica para el diseño de una
arquitectura para el sistema objetivo. En general,
se requiere de un conjunto relativamente pequeño
de arquetipos a fin de diseñar sistemas incluso
algo complejos.
Arquetipos de casa segura
(EJEMPLO)
NODO:
 un nodo podría comprender 1) varios sensores y 2) varios
indicadores de alarma (salida).

DETECTOR:
 incluye todos los equipos de detección que alimentan con
información al sistema objetivo.

INDICADOR:
 representa todos los mecanismos (como la sirena de alarma,
luces, campana, etc.)

CONTROLADOR:
 ilustra el mecanismo que permite armar o desarmar un nodo.
Refinamiento de la arquitectura
hacia los componentes
 el dominio de aplicación (negocio) es una fuente
para la obtención y refinamiento de los
componentes. Otra fuente es el dominio de la
infraestructura. La arquitectura debe albergar
muchas componentes de la infraestructura que
hagan posible los componentes de la aplicación,
pero que no tengan conexión con el dominio de
ésta. Por ejemplo, los componentes de
administración de memoria, de comunicación, de
base de datos y de administración de tareas con
frecuencia están integrados en la arquitectura del
software.
LENGUAJES DE DESCRIPCION
ARQUITECTONICA
 El lenguaje de descripción arquitectónica (LDA) provee la
semántica y sintaxis para describir una arquitectura de
software. Se sugiere que un LDA debe brindar al
diseñador la capacidad de desintegrar los componentes
arquitectónicos, integrar componentes individuales en
bloques arquitectónicos más grandes y representar las
interfaces (mecanismos de conexión) que hay entre los
componentes. Una vez establecidas las técnicas
descriptivas basadas en lenguaje para el diseño de la
arquitectura, es más probable que, a medida que el
diseño evoluciona, se obtengan métodos de evaluación
eficaces para las arquitecturas.
ARQUITECTURA CON EL USO DE
FLUJO DE DATOS
 Una técnica de mapeo llamada diseño estructurado se caracteriza
con frecuencia como método de diseño orientado al flujo porque
provee una transición conveniente de un diagrama de flujo de
datos a la arquitectura del software. La transición del flujo de la
información (representada con el diagrama de flujo de datos o
DFD) a estructura de programa se consigue como parte de un
proceso de seis pasos:
 1) se establece el tipo de flujo de información,
 2) se indican las fronteras del flujo,
 3) se mapea el DFD en la estructura del programa,
 4) se define la jerarquía del control,
 5) se refina la estructura resultante con el empleo de criterios de
medición para el diseño y heurísticos, y
 6) se mejora y elabora la descripción arquitectónica
FLUJO DE DATOS (EJEMPLO)
MUCHAS GRACIAS!
:3

También podría gustarte