1. ¿Cuál es la primera ley de la arquitectura del software?
  • Todo en arquitectura es una solución de compromiso
  1. ¿Cuál es la segunda ley de la arquitectura de software?
  • El por qué es más importante que el cómo
  1. La mayoría de decisiones de la arquitectura del software vienen determinadas por
  • Los atributos de calidad o requisitos no funcionales
  1. Las restricciones…
  • Es bueno conocerlas porque limitan alternativas a considerar
  1. Los stakeholders…
  • Son personas interesadas en el proyecto
  1. Un sistema greenfield…
  • Es un proyecto nuevo
  1. ¿Existe arquitectura de software ágil?
  • Sí, cuando la arquitectura puede reaccionar a cambios en el entorno
  1. Etimológicamente, arquitecto viene de…
  • Creador jefe
  1. La “building block view” de Arc42…
  • Puede contener varios diagramas de cajas negras y blancas combinadas
  1. La mayoría de decisiones de arquitectura del software vienen determinadas por…
  • Los atributos de calidad o requisitos no funcionales
  1. ¿Quién dijo que los pilares de una buena arquitectura eran Utilidad, durabilidad y elegancia?
  • Vitruvio en 15 al 30 a. de C.
  1. Big design Up-front
  • Es un problema al generar demasiados documentos o diagramas innecesarios
  1. Los requisitos funcionales
  • Son una entrada que el arquitecto de software puede considerar
  1. ISO-25010 contiene…
  • Una lista de posibles atributos de calidad
  1. Una representación del sistema respecto a ciertas preocupaciones…
  • Es una vista
  1. Es posible utilizar bocetos para documentar una vista?
  • Sí, pero se recomienda que se registren, aunque sea con una foto
  1. Un ADL es un…
  • Lenguaje de descripción de arquitecturas
  1. ¿Cuál de las siguientes NO es una propuesta para la documentación de arquitecturas software?
  • Modelo 5+1 de Kruchten
  1. Los sistemas brownfield…
  • Son proyectos que consisten en cambiar sistemas ya existentes
  1. ¿Cuántos diagramas de contexto se suelen incluír en Arc42?
  • Dos: el de negocio que es obligatorio y el técnico que es opcional
  1. ¿Cómo se definen los requisitos de calidad?
  • Mediante escenarios de calidad
  1. En Arc42…
  • Las 3 primeras secciones describen el problema, las 8 siguientes la solución
  1. La primera sección de Arc42…
  • Consta de repaso de requisitos, objetivos de calidad y stakeholders
  1. La segunda sección de Arc42…
  • Describe las restricciones
  1. La vista de despliegue en Arc42…
  • Contiene un mapeo de los bloques de construcción software e infraestructura
  1. En Arc42…
  • Hay una sección específica para riesgos y deuda técnica
  1. Un buen arquitecto de software intenta…
  • Mover cosas que no sabe que no sabe a cosas que sabe que no sabe
  1. En general, un buen arquitecto de software tiene…
  • Más amplitud técnica que profundidad
  1. Según Google, los 3 pilares de una buena interacción social son:
  • Humildad, confianza y respeto
  1. El factor del autobús es…
  • Número de personas que si son atropelladas por un autobús, el proyecto fracasa
  1. Un arquitecto de software efectivo debe encontrar un balance entre…
  • Friki de control y arquitecto de sillón
  1. Según la ley de Conway, las organizaciones que diseñan sistemas…
  • producen diseños que son copias de las estructuras de estas organizaciones
  1. La maniobra inversa de conway consiste en…
  • Evolucionar equipos para promover la arquitectura deseada
  1. La pérdida por proceso es…
  • Diferencia entre potencial de grupo y productividad actual del equipo
  1. Se produce ignorancia colectiva cuando
  • Todos están públicamente de acuerdo en algo pero privadamente no
  1. La difusión de responsabilidad puede hacer que
  • Exista confusión sobre quién es responsable de qué
  1. Las preocupaciones de los stakeholders
  • Pueden ser contradictorias
  1. Los atributos de calidad
  • Cualifican la funcionalidad
  1. Un taller de atributos de calidad
  • Es una reunión con stakeholders para identificar atributos de calidad
  1. Una técnica para representar atributos de calidad es
  • Un diagrama MindMap
  1. ¿Cuál de las siguientes frases es correcta?
  • Muchos atributos de calidad tienen significados vagos
  1. La calidad de un sistema es
  • El grado en que un sistema satisface unas necesidades
  1. Un escenario de calidad define
  • Un estímulo y respuesta medible a dicho estímulo
  1. Los escenarios de calidad pueden clasificarse en…
  • Escenarios de uso, de cambio o moficación y de fallo
  1. Los escenarios de calidad deben…
  • Priorizarse de acuerdo a la importancia para el éxito y la dificultad
  1. En ISO-25010, la calidad…
  • Se divide en 2 dimensiones: Calidad de producto y calidad en uso
  1. MTBF y MTBR
  • Son tiempo medio entre fallos y tiempo medio de recuperación
  1. La complejidad ciclomática de McCabe…
  • Es una métrica de la complejidad de un código
  1. En arquitecturas del software evolutivas…
  • Puede definirse la función de encaje que mide atributos de calidad
  1. Las métricas de software
  • Son medidas objetivas de ciertos aspectos de calidad
  1. ATAM (Architecture Trade-off Analysis Method)
  • Es una técnica para evaluar arquitecturas usando atributos de calidad
  1. CBAM (Cost Benefit Analysis Method)
  • Cuantifica costes y beneficios de estrategias arquitectónicas
  1. Las tácticas en arquitectura del software…
  • Dependen del atributo de calidad
  1. Se recomienda que los registros de decisiones arquitectónicas sean
  • Inmutables
  1. ADD es una…
  • Metodología para crear una arquitectura basada en atributos de calidad
  1. Algo malo que podría ocurrir pero que todavía no ha ocurrido es…
  • Un riesgo
  1. Una deuda técnica…
  • Puede ser de varios tipos: código, diseño, implementación...
  1. Para mitigar el deterioro arquitectónico puede utilizarse…
  • Código arquitectónicamente evidente
  1. Una diferencia entre estilo y patrón arquitectónico es…
  • Que los estilos suelen ser independientes entre sí y los patrones no
  1. COTS (Commercial Off The Self)
  • Se refiere a software comercial ya existente
  1. BDD
  • Realiza pruebas de aceptación con historias de usuario
  1. La recomendación FIRST se refiere a…
  • Que las pruebas sean Fast, Independent, Repeatable, Self-Checking y Timely
  1. La integración continua
  • Automatiza la ejecución de las pruebas en entornos externos
  1. La gestión de configuraciones de software
  • Permite observar la evolución del software
  1. ¿Cuál es la CCD en el esquema de módulos de la figura? Nota: El CCD es la suma de dependencias de todos los componentes (cada componente depende de sí mismo)

  • 8
  1. ¿Cuál es la CCD en el esquema de módulos de la figura?

  • 13
  1. ¿Cuál de los siguientes es un sistema de control de versiones distribuido?
  • git
  1. Utilizando versionado semántico, al pasar de la versión 1.2.3 a 1.3.0
  • Se espera una nueva funcionalidad compatible con la anterior
  1. En git, el nombre del primer repositorio remoto que se clona es…
  • origin
  1. ¿Cuál es el comando que permite cambiar de una rama a otra en git?
  • checkout
  1. ¿Cuál de los siguientes NO es un sistema de automatización de la construcción?
  • groovy
  1. Los ficheros de configuración usados en Maven…
  • Son ficheros XML
  1. Las dependencias de paquetes en npm se declaran en…
  • Fichero package.json
  1. La diferencia entre “npm install paquete” y “npm install -g paquete”
  • El primero instala dependencias en carpeta node_modules y el segundo lo hace de forma global
  1. Integration hell se produce cuando…
  • Se espera mucho tiempo sin integrar código de diferentes desarrolladores
  1. La inercia en el estilo Big ball of mud hace que…
  • Unos pocos desarrolladores "de prestigio" sepan mantener el sistema
  1. ¿Tiene algún atributo de calidad positivo el estilo big ball of mud?
  • Sí, el time-to-market y el bajo coste inicial
  1. La S de SOLID indica que…
  • No debe haber más de un motivo para cambiar un módulo
  1. El principio de Liskov indica que…
  • Los subtipos deben respetar el contrato de los supertipos
  1. Según el principio de segregación de interfaces
  • Los clientes no deberían depender de métodos que no utilicen
  1. Según el principio de inversión de dependencia
  • Los módulos de alto nivel no dependen de módulos de bajo nivel
  1. Se recomienda…
  • Alta cohesividad y bajo acoplamiento
  1. En la métrica LCOM
  • Cuanto menor sea, mejor, porque hay más cohesividad
  1. Dada una clase como la de la figura, ¿cuál sería el valor de LCOM?

  • 1
  1. Según los principios de cohesividad de Robert Martin, REP se refiere a
  • Equivalencia entre unidad de reutilización y de release
  1. Según los principios de cohesividad de Robert Martin, CCP se refiere a
  • Juntar en un módulo las unidades que cambian por la misma razón
  1. Según diagrama de tensión de cohesividad de componentes, un fallo de CRP supone…
  • Demasiadas releases innecesarias
  1. Según el principio de acoplamiento SDP de Robert Martin
  • Un componente debería depender de componentes más estables
  1. Según el diagrama de módulos de la figura, la inestabilidad de B y C son…

  • ==I(B)=0.5, I(C)=0==
  1. Según la figura del principio de abstracciones estables, la zona de inutilidad
  • Son módulos abstractos e inestables
  1. El conacimiento entre 2 elementos puede hacer que
  • Un cambio en uno obliga a un cambio en otro para mantener el sistema correcto
  1. El principio de Robustez de Postel recomienda que
  • Un módulo sea liberal en lo que acepta y conservador en lo que envía
  1. La ley de Demeter recomienda…
  • Que un módulo invoque elementos de módulos cercanos
  1. La variante laxa del estilo de capas
  • Indica que la capa N puede acceder a elementos de las capas 1 a N -1
  1. Un ejemplo de “crosscutting concern” es
  • Logging
  1. En Domain Driven Design se pone gran énfasis en identificar
  • Un lenguaje ubicuo entre expertos de dominio y desarrolladores
  1. Una restricción en Domain Driven Design es
  • Que los Objetos valor sean inmutables
  1. ¿Cuál de los siguientes estilos son similares?
  • Estilo hexagonal y arquitectura limpia
  1. En la propuesta naked objects
  • La aplicación se genera automáticamente a partir de objetos de dominio
  1. En el estilo hexagonal
  • La base de datos y frameworks está en el exterior
  1. Una ventaja del estilo batch es
  • Bajo acoplamiento
  1. En el estilo pipes and filters
  • Se admite la ejecución concurrente de hilos
  1. Backpressure ocurre cuando
  • Los consumidores reciben más datos de los que pueden procesar
  1. ¿Cuál es una de las ventajas de pipes and filters con una interfaz uniforme?
  • Reconfigurabilidad
  1. Uno de los beneficios de Master-slave es
  • Computación paralela
  1. Una ventaja de MVC
  • Facilidad para crear nuevas vistas y controladores
  1. En PAC
  • Se utiliza una jerarquía de agentes
  1. ¿Cuál puede ser un reto a resolver en el estilo Datos compartidos?
  • Punto de fallo único
  1. En el estilo Blackboard se utilizan
  • Fuentes de conocimiento que resuelven parcialmente un problema
  1. Una de las ventajas de los sistemas basados en reglas es
  • La utilización de conocimiento declarativo de expertos de dominio
  1. Una restricción del estilo cliente-servidor es
  • Los clientes se comunican con el servidor, no al revés
  1. En la variante cliente-servidor sin estado
  • Ante la misma petición se devuelve siempre la misma respuesta
  1. En Event-driven architecture
  • Un evento es algo que ha sucedido
  1. Publish-subscribe es una variante de
  • Modelos basados en eventos
  1. Una ventaja de los modelos de actores es
  • Paralelismo
  1. CQRS separa el interfaz en
  • Comandos que realizan acciones y consultas que leen datos
  1. Event sourcing captura los cambios de estado mediante
  • Eventos inmutables
  1. Una ventaja de Event sourcing es que
  • Si aparecen errores se puede reconstruir la Base de datos
  1. Una ventaja de utilizar plugins es
  • La adaptación del sistema a recursos impredecibles en el futuro
  1. Un problema del estilo Microkernel es
  • Punto de fallo único
  1. Reflection permite
  • Realizar cambios al sistema sin detener la ejecución
  1. ¿Cuál de las siguientes NO es una ventaja de los DSLs?
  • Rendimiento
  1. Código móvil
  • Es código que se transfiere de una máquina a otra para que lo ejecute
  1. Habitualmente, código bajo demanda
  • Es código que se transmite del servidor al cliente
  1. Los agentes móviles consisten en
  • Código y datos que se envía de una máquina a otra para su ejecución
  1. ¿Cuál de las siguientes NO es una falacia de la computación distribuida?
  • La invocación a un procedimiento remoto puede pasar parámetros
  1. Hub and spoke
  • Es una topología de mensajería con un bróker central
  1. Una consecuencia del patrón Bróker es
  • Separación de incumbencias
  1. Una consecuencia de Peer-to-peer es
  • Evita el single point of failure
  1. ¿Cuál de las siguientes NO es una ventaja de SOA?
  • Seguridad
  1. En WS-*
  • Se proponía UDDI como páginas amarillas para publicar servicios web
  1. En REST, la operación DELETE
  • Es idempotente pero no segura
  1. HATEOAS
  • Incluye URIs en respuestas con más opciones del estado de la aplicación
  1. En las arquitecturas basadas en servicios
  • Existen varios frameworks disponibles para facilitar el time-to-market
  1. En la propuesta de microservicios
  • Cada microservicio gestiona su propia base de datos
  1. Un microservicio trabaja
  • Con un dominio acotado
  1. El deterioro estructural de microservicios puede aparecer al utilizar
  • Demasiadas librerías compartidas entre microservicios
  1. En la propuesta Serverless
  • Se persigue escalabilidad automática
  1. ¿Cuál de las siguientes NO es una ventaja de Serverless?
  • Vendor lock-in
  1. Los tipos de la función map y reduce en MapReduce son:
  • ==map: (K1,V1) => [(K2, V2)] reduce: (K2,[V2]) => (K2,V2)==
  1. MapReduce
  • Utiliza un sistema de ficheros distribuido con replicación
  1. La arquitectura Lambda
  • Permite procesar big data en tiempo real
  1. En la arquitectura lambda, la serving layer
  • Combina las vistas en tiempo real con las vistas precomputadas batch
  1. La arquitectura Kappa utiliza
  • Un log distribuido y replicado como almacenamiento de eventos
  1. En la arquitectura Kappa
  • Un reto son requisitos de espacio al duplicarse el log y la base de datos
  1. Una desventaja de la coordinación mediante transferencia de ficheros es
  • Bajo acoplamiento porque productor y consumidor pueden ser independientes
  1. ETL
  • Consiste en 3 fases: extracción, transformación y carga
  1. En la coordinación mediante Mensajería
  • Se suele utilizar una comunicación asíncrona
  1. La escalabilidad en aplicaciones microservicios puede conseguirse mediante
  • Distribución de microservicios en servidores y replicación bajo demanda
  1. Una variante peer-to-peer es
  • El uso de super-peers
  1. Cuando la computación se realiza “on premises”
  • Es necesario invertir en hardware, licencias, espacios...
  1. En un diagrama de despliegue
  • Se asocian artefactos a cajas que representan nodos computacionales
  1. Cuando la computación se realiza en la nube
  • Se facilita el acceso a hardware caro
  1. La metáfora “pets vs cattle”
  • Identifica a los servidores tradicionales como mascotas
  1. Edge computing
  • Pretende mejorar la latencia y el ancho de banda
  1. Los multi-armed bandits
  • Ajustan dinámicamente el tráfico para ofrecer buenas alternativas
  1. ¿Cuál de los siguientes sistemas puede utilizarse para realizar pruebas de carga?
  • Gatling
  1. ¿Cuál de las siguientes frases es verdadera?
  • Docker se basa en el aislamiento de procesos a nivel de kernel
  1. La arquitectura de alto nivel de docker
  • Se basa en cliente-servidor
  1. Una imagen docker es
  • Una plantilla de sólo lectura con instrucciones para crear 1 contenedor
  1. El modelo de capas de docker
  • Permite crear imágenes a partir de otras imágenes
  1. El concepto de infraestructura inmutable permite
  • Describir los estados deseados de una infraestructura en imágenes
  1. Una ventaja de utilizar contenedores es
  • Rendimiento
  1. ¿Cuál de las siguientes frases es verdadera?
  • Kubernetes puede utilizarse para la orquestación de contenedores
  1. El concepto de “deployment pipeline” promueve
  • la automatización de las tareas de construcción, despliegue, pruebas, etc
  1. El lema del “continuous deployment” es
  • Si duele, hazlo más frecuentemente
  1. El patrón timeout añade un limitador temporal a
  • las peticiones para detenerlas y, a veces, reintentarlas
  1. En el patrón circuit breaker, cuando se producen…
  • demasiados errores se deja de atender peticiones x tiempo
  1. Con el patrón bulkhead se pretende
  • seguir el funcionamiento aunque una parte falle
  1. Una solución basada en “steady state” o estado estacionario es
  • Limpiar los recursos del sistema automáticamente
  1. El patrón “Fail fast” promueve chequear
  • que recursos necesarios estén disponibles para no realizar trabajo inútil
  1. Alguna de las condiciones para que se pueda aplicar el patrón “Let it crash” es
  • Que los componentes puedan sustituirse rápidamente por otros
  1. El patrón Handshaking
  • Permite realizar un control cooperativo de las demandas computacionales
  1. ¿Cuál de las siguientes NO es una estrategia para backpressure?
  • Balanceo de carga
  1. En el patrón Governor se puede
  • ralentizar la velocidad de acciones automatizadas para permitir acción humana
  1. Las propuestas de Ingeniería del caos
  • introducen fallos en un sistema a propósito para probar resiliencia
  1. Un “canary release” consiste en
  • introducir nuevas releases progresivamente a subconjuntos de usuarios
  1. El uso de “Feature toggles” permite
  • modificar comportamiento del sistema sin cambiar código
  1. ¿Cuál de las siguientes es una expectativa sobre un arquitecto de software?
  • Comprender y navegar la política empresarial
  1. ¿Cuál de los siguientes NO forma parte del rol del arquitecto de software?
  • Definir la estrategia empresarial y de negocio
  1. En las compañías basadas en producto en dominios diferentes del software
  • Se produce un compromiso entre departamento IT interno o outsourcing
  1. Un arquitecto empresarial
  • da soporte a la estrategia de negocio y soluciones TI
  1. El marco Zachman
  • Es una técnica de arquitectura empresarial basada en un modelo
  1. TOGAF
  • Es un marco y metodología de arquitecturas empresariales
  1. La parte superior de la curva en las representaciones de Gartner
  • Es el pico de expectativas sobredimensionadas
  1. Una posible ventaja de adoptar ERP para una empresa
  • Calidad y eficiencia utilizando mejores prácticas
  1. ABAP
  • Es un lenguaje de dominio específico utilizado en SAP
  1. El software que gestiona los calls centers se enmarca en la categoría
  • CRM
  1. ¿Qué tipo de software puede utilizarse para control de inventario?
  • SCM
  1. ¿Qué tipo de software puede utilizarse para la gestión automatizada de almacenes?
  • WMS
  1. Los gestores documentales se enmarcan en
  • ECM
  1. BPM
  • Se utiliza para gestionar el ciclo de vida de procesos de negocio
  1. OLAP
  • Son herramientas de inteligencia de negocios con análisis multidimensional
  1. BPMN
  • Es una notación visual para la definición de procesos de negocio
  1. PLM
  • Engloba herramientas que gestionan el ciclo de vida de productos
  1. EAI
  • Engloba herramientas de integración de software empresarial
  1. Las líneas de producto software requieren
  • Identificar soluciones genéricas a problemas comunes de varios productos
  1. ¿Cuál de las siguientes afirmaciones es correcta?
  • Un SLO es un objeto para un SLI
  1. La ley de cambio continuo de Lehman dice que
  • Un sistema debe adaptarse continuamente o cada vez es menos satisfactorio
  1. Refactorizar consiste en
  • Modificar la estructura de software preservando su comportamiento externo
  1. Un proyecto “legacy”
  • Suele ser software valioso que se tiene miedo a cambiar
  1. Un “hotspot” en el análisis de comportamiento de software es+
  • Un componente complejo que cambia frecuentemente
  1. Las funciones de encaje
  • Se utilizan en las arquitecturas evolutivas para analizar la evolución
  1. ¿En qué año se acuñó el término hipertexto?
  • 1965
  1. ¿En qué año se inventó la web?
  • 1989
  1. ¿En qué año nace el World Wide Web Consortium?
  • 1994
  1. ¿En qué año nace Javascript?
  • 1995
  1. ¿En qué año nace Amazon?
  • 1995
  1. ¿Cuáles son los 3 pilares de la web?
  • Protocolo HTTP, URIs y lenguajes de representación
  1. ¿Cómo se denomina el tipo asociado a los recursos en la Web?
  • MIME
  1. curl es una herramienta que permite
  • navegar por la web sin navegador
  1. ¿Qué es el árbol DOM?
  • Una representación en memoria del contenido de una página web
  1. HTML nació como un vocabulario de…
  • SGML
  1. ¿Cuál es la etiqueta que permite en HTML indicar un elemento de cabecera de primer nivel?
  • h1
  1. Las declaraciones CSS están formadas por…
  • selector de elementos y lista de propiedades y valores
  1. ¿En cuál de los siguientes lenguajes podemos definir nuestro propio vocabulario de etiquetas?
  • XML
  1. Los documentos XML pueden ser validados mediante
  • DTDs o XML Schema
  1. ¿Cuál de los siguientes es un vocabulario XML?
  • SVG
  1. Un archivo JSON
  • Representa un objeto Javascript
  1. Javascript
  • Se usa para computación en el cliente y servidor
  1. express
  • Es un framework javascript sobre nodejs
  1. En el fichero package.json
  • Se declaran dependencias que srán resueltas al ejecutar npm install
  1. Para la computación en el servidor
  • Hay mucha libertasd para elegir lenguajes y frameworks
  1. NodeJs
  • Es un entorno de ejecución de Javascript en servidor
  1. npm
  • Es un gestor de paquetes para NodeJs
  1. REST
  • Es un estilo de arquitectura basado en el uso de recursos
  1. La operación DELETE
  • Es idempotente pero no segura
  1. Una buena práctica al hacer code-review es…
  • Centrarse en el código
  1. ¿Cuál de los siguientes aspectos puede considerarse deuda técnica?
  • Errores detectados que cuya solución se pospone
  1. La U de propuesta CUPID consiste en
  • proponer seguir filosofía UNIX
  1. ¿Qué dos modelos existen de infraestructura como código?
  • Imperativos o declarativos
  1. ¿Cuál de las siguientes herramientas se utiliza para análisis de comportamiento de código?
  • CodeScene
  1. La ley de Lehman de Crecimiento continuo establece que
  • La funcionalidad de un sistema aumenta para satisfacer a los usuarios
  1. Los micro-frontends son aplicaciones…
  • de front-end entregadas independientemente y se componen para generar otra
  1. ¿Cuál de los siguientes puede ser un problema de los sistemas serverless?
  • Cold-start
  1. ¿Cuál de las siguientes es una de las 4 métricas claves?
  • Tiempo medio de recuperación
  1. En la propuesta reciente de Web3
  • se sustituye el backend por persistencia basada en blockchain
  1. Los mapas Wardley representan
  • en un eje el valor para el usuario y en otro la evolución
  1. ¿Cuál de los siguientes es un patrón de Microservicios?
  • El patrón "Estrangulador"

Preguntas de seminarios

  1. ¿Cuál de los siguientes puede formar parte de la deuda técnica?
  • Todo el código, incluido el código de pruebas
  • Sólo el código que forma parte del ejecutable
  • Sólo el código que aparece en la cobertura de código
  • Sólo el código de las dependencias
  1. ¿Qué lenguaje usa internamente la librería libCurl?
  • PHP
  • C
  • Java
  • Rust
  1. ¿Cuál de las siguientes sirve para mejorar la productividad de los desarrolladores?
  • DX
  • UX
  • XML
  • RDF
  1. Según John Ousterhout, una buena descomposición modular utiliza módulos…
  • profundos, con poca interfaz y mucha funcionalidad
  • anchos, con poca interfaz y mucha funcionalidad
  • redondos, con muchas dependencias cíclicas
  • concretos y estables
  1. ¿Cuál de las siguientes es una falacia de la computación distribuida?
  • La latencia es cero
  • La latencia aumenta con el tiempo
  • La latencia disminuye con el tiempo
  • La latencia es negativa
  1. Un ejemplo de antipatrón DevOps es:
  • Fatiga por alerta
  • Cultura por consenso
  • Caja de herramientas completa
  • Cortocircuito
  1. Disponer de una capacidad para cometer errores cumpliendo con los SLOs se conoce como
  • Presupuesto de error (Error budget)
  • SLA
  • SLI
  • Error de latencia
  1. Un ejemplo de sistema que cumple con la arquitectura inmutable sería
  • Blockchain
  • Bases de datos relacionales
  • Linux
  • Windows
  1. El software con el que se implementó eBay
  • Se re-escribió varias veces en varios lenguajes
  • Se diseñó usando arquitectura de microservicios
  • Es un ejemplo de arquitectura basada en 3 capas
  • Está implementado en PHP
  1. En el proyecto Software Heritage Archive
  • Se utiliza un identificador único intrínseco para cada objeto
  • Se utiliza un registro de identificadores extrínsecos
  • Se almacena la lista de mejores arquitectos de software
  • No es necesario utilizar identificadores únicos

Preguntas examen 2021/22

  1. CQRS separa el interfaz en
  • peticiones y respuestas
  • comandos que realizan acciones y consultas que leen datos
  • comandos que realizan acciones y consultas que escriben datos
  1. MTBF y MTTR
  • Son tiempo medio entre fallos y tiempo medio de recuperación
  • Son dos técnicas utilizadas para identificar stakeholders
  • Se utilizan para medir la complejidad ciclomática
  1. El conacimiento entre 2 elementos puede hacer que
  • un cambio en uno obliga a crear el otro para que el sistema sea correcto
  • un cambio en uno obliga a un cambio en otro para mantener sistema correcto
  • sea necesario crear ambos al mismo tiempo
  1. En Event-driven architecture
  • Los consumidores de eventos esperan que los productores envíen eventos
  • Los eventos son invocaciones síncronas
  • Un evento es algo que ha sucedido
  1. La arquitectura Kappa utiliza
  • un log distribuido y replicado como almacenamiento de eventos
  • una capa batch para almacenar los logs distribuidos
  • un log de eventos que pueden modificarse durante la ejecución
  1. En las compañías basadas en producto en dominios diferentes del software
  • El software es lo más importante de la empresa
  • La inversión suele ser realizada por business angels o capital riesgo
  • Se produce un compromiso entre departamento IT interno o outsourcing
  1. La Vista de bloques de construcción de Arc42
  • Se basa en diagramas de despliegue de UML
  • Contiene un único diagrama que combina cajas blancas y negras
  • Puede contener varios diagramas de cajas blancas y cajas negras combinados
  1. El modelo de capas de docker
  • Permite definir imágenes a partir de otras imágenes
  • Permite que los contenedores estén aislados
  • Permite crear un dockerd a partir de una imagen
  1. ¿Quién dijo que los pilares de una buena arquitectura eran Utilidad, durabilidad y elegancia?
  • Martin Fowler en el s. XX
  • Vitruvio en 15 al 30 a. de C.
  • Aristóteles en 300 a. de C.
  1. Una solución basada en “steady state” o estado estacionario es
  • Crear una réplica del servidor
  • Utilizar un monitor que limite las peticiones que ocupan mucho tiempo
  • Limpiar recursos del sistema automáticamente
  1. Las líneas de producto software requieren
  • técnicas de análisis del comportamiento del código
  • identificar soluciones genéricas a problemas comunes de varios productos
  • crear sistemas que evolucionan con el tiempo
  1. Se recomienda que los registros de decisiones arquitectónicas sean
  • Revisados y actualizados continuamente
  • Actualizados en cada etapa del desarrollo
  • Inmutables
  1. En las arquitecturas de microservicios, cuando hay varios nodos computacionales, la escalabilidad se obtiene
  • replicando todos los microservicios en cada nodo
  • replicando cada microservicio de forma independiente en diferentes nodos
  • utilizando la ley de Conway
  1. La Ley de Lehman de Crecimiento Continuo establece que
  • El número de usuarios de un sistema software aumenta con el tiempo
  • La funcionalidad de un sistema aumenta para satisfacer a los usuarios
  • El número de desarrolladores de un sistema software aumenta con el tiempo
  1. En REST, la operación PUT
  • No es ni idempotente ni segura
  • Es idempotente pero no segura
  • Es idempotente y segura
  1. Los mapas de Wardley representan
  • en un eje la capacidad computacional y en otro la época
  • en un eje el valor para el usuario y en otro la evolución
  • tipos de arquitecturas basadas en serverless
  1. La diferencia entre “npm install paquete” y “npm install -g paquete”
  • El segundo instala dependencias en carpeta node_modules
  • El primero instala dependencias en carpeta node_modules
  • El primero instala paquetes en node y el segundo en docker
  1. En los escenarios de calidad
  • se identifican stakeholders
  • se crean diagramas de cajas blancas/negras relacionando componentes con nodos computacionales
  • se definen estímulos, respuestas y medidas esperadas de dichas respuestas
  1. Según la ley de Conway, las organizaciones que diseñan sistemas…
  • producen diseños que copian el resto de organizaciones
  • producen diseños que son copias de las estructuras de estas organizaciones
  • producen diseños basados en 3 capas
  1. Una restricción en Domain Driven Design es
  • Que los Objetos valor sean inmutables
  • Que los aspectos capturen crosscutting concerns
  • Que el modelo de dominio sea independiente del sistema de persistencia

Preguntas examen 2018/19

  1. La arquitectura serverless
  • Propone aplicaciones descentralizadas en las que no exista un servidor único
  • Consiste en que los desarrolladores gestionan la escalabilidad de las aplicaciones
  • Se conoce también como function-as-a-service
  1. La especificación ISO25010:
  • …define una lista de restricciones que toda arquitectura del software debe satisfacer
  • ...define un modelo de calidad que incluye una lista de atributos de calidad
  • …define la lista de requisitos funcionales del sistema
  1. Un escenario de calidad debe especificar:
  • Las restricciones del software
  • Una medida de la respuesta
  • El patrón arquitectónico que se va a utilizar
  1. La deuda técnica…
  • …es una restricción impuesta por los stakeholders
  • …consiste en utilizar arquitecturas de referencia
  • …es el efecto de tomar una decisión de diseño equivocada
  1. Un profiler
  • Es un sistema de control de versiones con integración continua
  • Es una herramienta que informa sobre el uso de recursos durante la ejecución de un software
  • Es una herramienta utilizada para BDD
  1. Utilizar canary releases consiste en:
  • Desarrollar versiones de software en ramas que puedan ser borradas posteriormente
  • Introducir nuevas versiones mostrando cambios lentamente a un subconjunto de los usuarios
  • Utilizar integración continua para producir versiones de forma continua con pruebas de aceptación
  1. La ley de Conway dice que…
  • …“es necesario definir módulos que sean liberales en lo que aceptan de otros y conservadores en lo que envían”
  • ..."las organizaciones que diseñan sistemas acaban produciendo sistemas que son copias de las estructuras de comunicación de dichas organizaciones"
  • …“los subtipos deben seguir el contrato de los supertipos”
  1. ¿Cuál de los siguientes sistemas tiene un estilo arquitectónico peer-to-peer?
  • Asciidoctor
  • Mocha
  • IPFS
  1. Una ventaja del estilo arquitectónico Batch es:
  • Acoplamiento débil entre componentes
  • Interactividad
  • Concurrencia
  1. ¿Cuál de las siguientes frases es correcta?:
  • Todos los atributos de calidad son buenos.
  • Los atributos de calidad tienen un valor booleano, o se cumplen o no.
  • Los atributos de calidad son independientes entre sí.
  1. La ingeniería del caos…
  • …es un antipatrón de arquitectura del software que puede surgir al no utilizar control de versiones
  • …propone inyectar fallos adrede en sistemas distribuidos para comprobar la resiliencia
  • …consiste en realizar pruebas de carga hasta que el sistema no tenga más capacidad
  1. Un WMS:
  • Es un sistema de balanceo de carga en aplicaciones Web
  • Es un sistema de gestión del conocimiento de una empresa
  • Es un tipo de software que permite gestionar almacenes
  1. Gherkin
  • Es un lenguaje utilizado para definir historias de usuario
  • Es un sistema de integración continua
  • Es una herramienta para realizar pruebas de navegación en aplicaciones Web
  1. En Arc42, una vista estática del sistema formada por una jerarquía de cajas blancas y negras es la…
  • Vista en tiempo de ejecución ó runtime view
  • Vista de bloques de construcción ó building block view
  • Vista de despliegue ó deployment view
  1. Un escenario de calidad…
  • …es una restricción del sistema planteada por uno de los stakeholders
  • …es también conocido como deuda técnica o technical debt
  • …describe qué debería ocurrir cuando llega un estímulo
  1. ATAM
  • Es un método de evaluación de arquitecturas del software
  • Es un patrón arquitectónico
  • Es una metodología de desarrollo de software ágil