Está en la página 1de 3

1.

Definir el concepto de 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.

2. Elabora un formato para la documentación de una arquitectura de acuerdo con los


elementos de descripción arquitectónica presentados en la página 210. Pendiente

3. Elabora para cada uno de los estilos arquitectónicos presentados en la taxonomía, un


cuadro que contenga los siguientes elementos: Nombre de la arquitectura, Descripción,
Problema que soluciona, representación gráfica, ventajas y desventajas. (Anexo).

4. ¿Cuál es el objetivo de un diagrama de contexto arquitectónico?

Representar la estructura de datos y componentes del programa necesarios para construir


un sistema computacional, debe asumir el estilo arquitectónico que tomara el sistema y
las interacciones entre todos los componentes arquitectónicos del sistema.

5. ¿Que son los lenguajes de descripción de arquitectura, enuncia algunos ejemplos de ellos?

Son lenguajes descriptivos de modelados arquitectónicos de software que se focalizan en


la estructura de alto nivel de las aplicaciones antes que en los detalles de implementación
de sus módulos concretos. Su abreviatura es ADL.

Acme. Se define como una herramienta capaz de soportar el mapeo de especificaciones


arquitectónicas entre diferentes ADL, o, en otras palabras, como un lenguaje de
intercambio de arquitectura. Es considerado como un ADL de 2da generación.

Su código se encuentra disponible en los lenguajes de programación C++ y Java y puede


ser invocada por lo tanto desde cualquier lenguaje la plataforma clásica de Microsoft o
desde el Framework de .NET.

En el caso del lenguaje Java requiere la Máquina Virtual de Java que permite la ejecución
de programas Java sobre todas las plataformas soportadas.

UniCon ADL de propósito general con énfasis en conectores y estilos. Sus siglas
significan Conector Universal de Soporte.

Para la representación de los elementos arquitectónicos este ADL posee un entorno


gráfico para Windows, que además de modelar permite generar código en lenguaje C.
Jacal. ADL (Lenguaje de Descripción Arquitectónica) de propósito general que se basa en
la notación de alto nivel para descripción y prototipado de una arquitectura de software.

La herramienta grafica que actualmente está disponible para editar y animar arquitecturas
en Jacal es una aplicación Win32 que no requiere instalación, basta con copiar el archivo
ejecutable para comenzar a usarla. La misma brinda un entorno gráfico fácil de manipular,
representando todas sus características.

LEDA. Es un lenguaje de especificación y validación de arquitecturas de software que fue


desarrollado por el grupo de ingeniería de software de la Universidad de Málaga. Por sus
características se considera un ADL.

La semántica de LEDA está escrita en términos del cálculo pi, gracias a esto es posible que
las especificaciones sean analizadas y ejecutadas, lo que permite el prototipado de la
arquitectura, así como analizar si sus componentes presentan comportamientos
compatibles entre sí y pueden ser combinados correctamente para construir el sistema.

AESOP: Su objetivo es la exploración de las bases formales de la arquitectura de


software, el desarrollo del concepto de estilo arquitectónico y la producción de
herramientas útiles a la arquitectura, de las cuales Aesop es precisamente la más
relevante. La elaboración formal del proyecto ABLE, por otro lado, ha resultado en el
lenguaje Wright, que en este estudio se trata separadamente. Uno de los mejores
documentos sobre Aesop es el ensayo de David Garlan, Robert Allen y John Ockerbloom
que explora el uso de estilos en el diseño arquitectónico.

Rapide: Se puede caracterizar como un lenguaje de descripción de sistemas de


propósito general que permite modelar interfaces de componentes y su conducta
observable. Sería tanto un ADL como un lenguaje de simulación. La estructura de Rapide
es sumamente compleja, y en realidad articula cinco lenguajes: el lenguaje de tipos
describe las interfaces de los componentes; el lenguaje de arquitectura describe el flujo de
eventos entre componentes; el lenguaje de especificación describe restricciones
abstractas para la conducta de los componentes; el lenguaje ejecutable describe módulos
ejecutables; y el lenguaje de patrones describe patrones de los eventos. Los diversos sub-
lenguajes comparten la misma visibilidad, scoping y reglas de denominación, así como un
único modelo de ejecución.

Wright: Se puede caracterizar sucintamente como una herramienta de formalización de


conexiones arquitectónicas. Ha sido desarrollado por la Escuela de Ciencias Informáticas
de la Universidad Carnegie Mellon, como parte del proyecto mayor ABLE. Este proyecto a
su vez se articula en dos iniciativas: la producción de una herramienta de diseño, que ha
sido Aesop, y una especificación formal de descripción de arquitecturas, que es
propiamente Wright. Objetivo principal – Wright es probablemente la herramienta más
acorde con criterios académicos de métodos formales. Su objetivo declarado es la
integración de una metodología formal con una descripción arquitectónica y la aplicación
de procesos formales tales como álgebras de proceso y refinamiento de procesos a una
verificación automatizada de las propiedades de las arquitecturas de software.

6. ¿Cómo definirías el proceso de refinamiento del diseño arquitectónico???

Refinamiento es un proceso de elaboración. Se inicia con el enunciado de una función o


descripción de los datos que se define como un alto grado de abstracción.
Este describe los datos o función de manera conceptual pero no proporciona información
acerca de los trabajos internos de la función o estructura interna de los datos. El
refinamiento hace que el diseñador trabaje sobre el enunciado original y que proporcione
más y más detalles conforme se realiza cada refinamiento sucesivo

7. ¿Qué diferencias encuentras entre el diseño de un sistema y el diseño de una


arquitectura?

La Arquitectura abarca el diseño porque la arquitectura envuelve un conjunto de


decisiones estratégicas de diseño, lineamientos, reglas y patrones que restringen el diseño
y la implementación de un software.

La arquitectura se encarga de:

 Selección de tecnologías
 Requerimientos no funcionales
 Manejo de riesgos, etc.

El Diseño se encarga de:

 Los requerimientos funcionales


 Diseño detallado de componentes, etc.

También podría gustarte