2.1 Diseño Arquitectonico De Software Flashcards

1
Q

¿Qué es el diseño arquitectónico de software?

A

Es el proceso de definir la estructura, componentes, sus interrelaciones y las pautas que regirán el desarrollo del sistema, asegurando que se cumplan requisitos funcionales y no funcionales.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Cuáles son los objetivos principales del diseño arquitectónico?

A

Establecer una estructura robusta, escalable y mantenible, facilitar la comunicación entre stakeholders y servir como guía para la implementación y evolución del sistema.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Qué se entiende por “separación de preocupaciones” en el diseño arquitectónico?

A

Es el principio de dividir el sistema en módulos o capas independientes, donde cada uno se enfoca en una responsabilidad específica, facilitando la gestión, el mantenimiento y la escalabilidad.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Qué es un patrón arquitectónico?

A

Es una solución general y reutilizable a problemas comunes en la arquitectura de software, que proporciona un marco para estructurar sistemas de forma eficaz.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Qué caracteriza a una arquitectura monolítica?

A

Se trata de un diseño en el que todos los componentes del sistema se integran en una única aplicación, lo que simplifica el desarrollo inicial pero puede dificultar la escalabilidad y el mantenimiento a medida que el sistema crece.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Qué ventajas ofrece la arquitectura de microservicios?

A

Permite desarrollar, desplegar y escalar componentes de forma independiente, lo que mejora la flexibilidad, resiliencia y facilita la actualización de funcionalidades sin afectar al sistema completo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Qué es la arquitectura cliente-servidor?

A

Es un patrón donde la carga del procesamiento se divide entre el cliente (interfaz de usuario) y el servidor (procesamiento y almacenamiento de datos), permitiendo centralizar funciones críticas en el servidor.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Cómo se organiza la arquitectura de capas?

A

Divide el sistema en capas (por ejemplo, presentación, lógica de negocio, acceso a datos) en las que cada una interactúa solo con las adyacentes, promoviendo la modularidad y facilidad de mantenimiento.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Por qué es importante la escalabilidad en el diseño arquitectónico?

A

Porque garantiza que el sistema pueda crecer y adaptarse a aumentos en la carga de usuarios o datos sin degradar el rendimiento, lo que es esencial en entornos dinámicos y de alto tráfico.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿Qué significa la reutilización de componentes en la arquitectura de software?

A

Es la práctica de diseñar módulos o servicios que puedan ser empleados en distintos contextos o aplicaciones, reduciendo duplicidad y acelerando el desarrollo de nuevas funcionalidades.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Qué herramientas de modelado se utilizan para documentar la arquitectura?

A

Se emplean diagramas UML (casos de uso, clases, secuencia, componentes) y BPMN, que ayudan a visualizar la estructura, el flujo de información y las interacciones dentro del sistema.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿Qué es la documentación arquitectónica y qué elementos suele incluir?

A

Es el conjunto de documentos que describen la arquitectura del sistema, incluyendo diagramas, descripciones de componentes, interfaces, decisiones clave y pautas para el desarrollo y la integración.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Qué rol juegan los requisitos no funcionales en el diseño arquitectónico?

A

Determinan características como rendimiento, seguridad, usabilidad y disponibilidad, las cuales deben estar integradas en la estructura del sistema para cumplir con estándares de calidad.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Qué es la arquitectura orientada a servicios (SOA)?

A

Es un enfoque que organiza el sistema como un conjunto de servicios interoperables y autónomos, permitiendo la integración flexible y la reutilización de funcionalidades.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Cuáles son las ventajas y desventajas de la arquitectura de microservicios?

A

Ventajas: Escalabilidad, despliegue independiente, resiliencia y facilidad para adoptar nuevas tecnologías.

Desventajas: Complejidad en la gestión de la comunicación entre servicios, mayor necesidad de infraestructura y desafíos en la consistencia de datos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Qué es el middleware y cuál es su función en la arquitectura de software?

A

Es una capa de software que facilita la comunicación y gestión de datos entre componentes o aplicaciones distribuidas, actuando como intermediario que simplifica la integración.

17
Q

¿Qué se entiende por “diseño basado en componentes”?

A

Es un enfoque en el que el sistema se construye a partir de componentes autónomos y reutilizables que se integran para formar una solución completa, mejorando la mantenibilidad y la escalabilidad.

18
Q

¿Qué papel juega la seguridad en el diseño arquitectónico?

A

La seguridad debe integrarse desde las primeras etapas del diseño, definiendo mecanismos de autenticación, autorización, encriptación y protección contra vulnerabilidades para salvaguardar la información y el sistema.

19
Q

¿Cómo se evalúa y valida el diseño arquitectónico?

A

A través de revisiones, prototipos, pruebas de concepto y análisis de impacto, asegurando que el diseño cumple con los requisitos y pueda adaptarse a cambios futuros.

20
Q

¿Qué importancia tiene la documentación de decisiones arquitectónicas?

A

Registrar las decisiones y razones detrás de la elección de ciertos patrones y tecnologías ayuda a entender el contexto del diseño, facilita futuras modificaciones y mejora la comunicación entre el equipo de desarrollo.