Está en la página 1de 4

Resolver los problemas 9.1, 9.2, 9.3, 9.4, 9.5 y 9.

6
9.1. Con el uso de la arquitectura de una casa o edificio como metáfora, establezca
comparaciones con la arquitectura del software. ¿En qué se parecen las disciplinas de la
arquitectura clásica y la del software? ¿En qué difieren?

Arquitectura en la Disciplina de un Edificio o Casa:


Cuando se crea un edificio o casa, es importante trabajar con varias personas para
considerar diferentes opiniones. El enfoque principal es hacer que el edificio sea atractivo
y rentable. Se hacen planos detallados para definir las dimensiones y se utilizan métodos
para asegurarse de que se cumplan requisitos de calidad. El arquitecto también debe
entender las necesidades del cliente y describir cómo el edificio las satisfará.

Arquitectura en la Disciplina de Desarrollo de Software:


En el desarrollo de software, es esencial comprender las perspectivas de todas las
personas involucradas. La meta principal es asegurar que el software cumpla con las
necesidades comerciales. Se establecen pautas claras para guiar el diseño del software y se
hace un seguimiento del proceso de desarrollo. Además, se describen en detalle las
personas que participan en el desarrollo del software.

Diferencias:
Arquitectura de Edificios o Casas se trata de diseñar y construir estructuras físicas,
considerando materiales palpables como concreto y madera. Se enfoca en cómo las
personas usarán el espacio, cumple con normativas de construcción, y busca la
combinación de apariencia y funcionalidad.

Arquitectura de Desarrollo de Software involucra diseñar programas digitales y sistemas en


dispositivos electrónicos. Utiliza elementos intangibles como código y algoritmos,
priorizando la interacción del usuario, cumpliendo con estándares y enfocándose en la
eficiencia funcional.

9.2. Diga dos o tres ejemplos de aplicaciones para cada uno de los estilos arquitectónicos
mencionados en la sección 9.3.1.

Arquitectura por capas:


-una aplicación web ya que está compuesta por una capa de presentación que es la que
interactúa con el usuario, y una capa de negociación que interfiere con el servidor y una
capa de datos que realiza la funcionalidad relacionada con el acceso a datos.

-El modelo OSI ya que se basa en un modelo por capas, en la capa inferior está el nivel más
básico ye n la capa superior están las aplicaciones que realizan su respectiva funcionalidad.
En donde cada capa realiza una respectiva función que actúa como una responsabilidad
para que la estructura en la red funcione correctamente.
Arquitecturas de flujo de datos:
-sistemas operativos basados en Unix en el manejo de archivos, en la ejecución de
comandos para concatenar textos ya que el proceso que realiza este, es recibir una
entrada por medio de comandos, donde por consiguiente realiza un procesamiento y por
último tiene una salida que es un archivo con un formato en específico.

-un compilador que realiza un proceso secuencial, iniciando con una entrada donde
empieza el código, después hace una verificación que revisa que el código este bien escrito
y tenga un buen orden, después viene la transformación del código y por último es la
generación de código maquina final que es interpretado por la máquina.

Arquitecturas de llamar y regresar:


-El Big Data requiere establecer conexiones remotas y basarse en otras aplicaciones a
través de la red para funcionar en paralelo y llevar a cabo diversas funciones. Sin una red,
no puede llevar a cabo llamadas a procedimientos.

9.3. Algunos de los estilos arquitectónicos citados en la sección 9.3.1 tienen naturaleza
jerárquica, mientras que otros no. Elabore una lista de cada tipo. ¿Cómo se
implementarían los estilos arquitectónicos que no son jerárquicos?

Estilos arquitectónicos con naturaleza jerárquica:


1. Arquitecturas centradas en los datos.
2. Arquitecturas de flujo de datos.
3. Arquitecturas de llamar y regresar.
4. Arquitecturas orientadas a objetos.
5. Arquitecturas en capas.

Estilos arquitectónicos no jerárquicos:


1. Arquitectura Peer-to-Peer (P2P).
2. Arquitectura Basada en Eventos (Event-Based).
3. Arquitectura Basada en Microservicios (Microservices-Based).

Los estilos no jerárquicos se implementan distribuyendo funciones y responsabilidades


equitativamente entre componentes o nodos interconectados. En la arquitectura P2P,
nodos colaboran compartiendo recursos. En la basada en eventos, componentes
reaccionan a eventos sin jerarquía fija. En el enfoque de microservicios, funciones se
descomponen en servicios autónomos que se comunican. Estos estilos promueven
descentralización y adaptabilidad, contrastando con estructuras jerárquicas.
9.4. Los términos estilo arquitectónico, patrón arquitectónico y marco (que no se estudia
en este libro) surgen con frecuencia en los análisis de la arquitectura del software.
Investigue y describa en qué difiere cada uno de ellos de los demás.

Los estilos arquitectónicos describen estructuras de sistemas, los patrones arquitectónicos


ofrecen soluciones generales y los marcos de trabajo definen arquitecturas adaptadas a
dominios específicos. Cada uno juega un papel importante en la creación y evaluación de
arquitecturas de software efectivas y reutilizables.

Estilos Arquitectónicos:
 Describen una categoría del sistema con componentes que cumplen funciones
específicas, conectores que permiten la comunicación y restricciones de
integración.
 Ayudan a sintetizar soluciones y patrones de aplicaciones, permitiendo evaluar
diferentes arquitecturas para requisitos específicos.
 Definen modelos globales de sistemas y propiedades de sus partes.

Patrón Arquitectónico:
 Solución general y reutilizable para problemas comunes en la arquitectura de
software en un contexto dado.
 Aborda un alcance más amplio que los patrones de diseño de software.
 Ejemplos comunes incluyen patrones de capas, cliente-servidor, maestro-esclavo,
filtro de tubería, intermediario, igual a igual, bus de evento, modelo-vista-
controlador, pizarra e intérprete.

Marco de Trabajo:
 Define una arquitectura adaptada a un dominio de aplicación específico.
 Proporciona componentes abstractos e interfaces con reglas y mecanismos de
interacción.
 Puede incluir implementaciones de algunos componentes o alternativas.
 Los usuarios seleccionan, instancian y reutilizan componentes del marco, y pueden
completar la arquitectura con nuevos componentes específicos.

9.5. Seleccione una aplicación con la que esté familiarizado. Responda cada una de las
preguntas planteadas para el control y los datos de la sección 9.3.3.

Ejemplo: WhatsApp
CONTROL:
Antes de enviar mensajes o realizar llamadas, se aplican validaciones.
Mensajes instantáneos: control de envío, almacenamiento temporal y recepción.
Estructura jerárquica: dispositivos, servidores y destinatario.
Transferencia gradual de control durante el proceso.
Sincronización precisa entre componentes para garantizar integridad.
DATOS:
Comunicación basada en protocolos TCP/UDP, usando tramas de paquetes.
Patrón esporádico debido a naturaleza instantánea; se activa por acciones de usuarios.
Datos validados a medida que viajan desde el remitente al receptor.
Interacción de datos cuando los componentes reciben información para enviar.

9.6. Investigue el ATAM (en [Kaz98]) y presente un análisis detallado de los seis pasos
presentados en la sección 9.5.1.

Los escenarios de investigación se centran en describir estilos arquitectónicos, recopilar


escenarios y evaluar atributos de calidad, considerando la sensibilidad de dichos atributos
y la identificación de riesgos para tomar decisiones informadas en el diseño
arquitectónico.

Escenarios de Investigación:
 Se enfoca en describir estilos de arquitectura y sus vistas en el sistema.
 Recopila y analiza escenarios considerados por los participantes del proyecto.
 Identifica riesgos y crea conciencia sobre ellos para cumplir con requerimientos de
calidad y seguridad del software.

Obtención de Requerimientos y Descripción del Ambiente:


 Interacción entre actores, arquitectos y equipo de evaluación.
 Genera información arquitectónica y disminuye costos para viabilidad del proyecto.

Descripción de Estilos o Patrones de Arquitectura Elegidos:


 Sensibilización de trade-offs para calidad.
 Discusión y exploración de escenarios para obtener información.
 Identificación de opciones no contempladas en el proyecto.

Evaluación de Atributos de Calidad:


 Descripción detallada de la arquitectura actual y atributos.
 Identificación de calidad y enfoques arquitectónicos específicos.

Identificación de Sensibilidad de Atributos de Calidad:


 Identificación de riesgos, sensibilidad y soluciones de compromiso.
 Documentación de grupos de riesgos, puntos sensibles y compensaciones
resultantes.

También podría gustarte