Modelo C4 y Diagramas de Arquitectura
45 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

¿Cuál de los siguientes patrones de diseño permite la comunicación entre dos interfaces incompatibles?

  • Facade
  • Bridge
  • Composite
  • Adapter (correct)
  • El patrón Composite permite la creación de estructuras de tipo árbol y trata a los objetos de estas estructuras como objetos individuales.

    True

    ¿Qué es el modelo C4 y cuál es su propósito?

    Es un modelo de diseño arquitectónico que ayuda a representar la estructura y relaciones entre los componentes de un sistema.

    El patrón __________ permite separar una abstracción de una implementación, optimizando el crecimiento del sistema.

    <p>Bridge</p> Signup and view all the answers

    Relaciona los patrones de diseño con su descripción:

    <p>Adapter = Permite la comunicación entre interfaces incompatibles Bridge = Separa una abstracción de una implementación Composite = Permite estructurar objetos en una jerarquía tipo árbol C4 = Modelo para representar arquitecturas de software</p> Signup and view all the answers

    ¿Cuál es el primer paso en el trabajo del bloque 2?

    <p>Realizar un diseño de solución aplicando el modelo C4</p> Signup and view all the answers

    Los patrones estructurales mejoran la eficiencia del sistema afectando a su parte funcional.

    <p>False</p> Signup and view all the answers

    ¿Qué se debe entregar el día viernes 26/01/2024?

    <p>Un diseño de solución que aplica el modelo C4 en formato PDF.</p> Signup and view all the answers

    ¿Cuál de los siguientes diagramas permite la visualización general del sistema?

    <p>Diagrama de Contexto</p> Signup and view all the answers

    El Diagrama de Componentes muestra todos los contenedores del sistema.

    <p>False</p> Signup and view all the answers

    ¿Qué ventaja ofrece el Modelo C4 en términos de comunicación?

    <p>Permite mantener una excelente fluidez de la comunicación entre la parte técnica y no técnica.</p> Signup and view all the answers

    El Diagrama de __________ es un diagrama de lujo de datos que identifica los límites del sistema.

    <p>Contexto</p> Signup and view all the answers

    Empareja los siguientes tipos de diagramas con su descripción:

    <p>Diagrama de Contenedores = Muestra interacciones entre altos niveles de componentes. Diagrama de Contexto = Proporciona una visión general del sistema. Diagrama de Componentes = Describe el funcionamiento interno de un contenedor. Diagrama de Despliegue = Representa la distribución física de los componentes del sistema.</p> Signup and view all the answers

    ¿Cuál de las siguientes afirmaciones es correcta sobre el Modelo C4?

    <p>Facilita la toma de decisiones basada en cambios de arquitectura.</p> Signup and view all the answers

    Los diagramas de alto nivel incluyen detalles específicos de cada función dentro del sistema.

    <p>False</p> Signup and view all the answers

    Los diagramas de __________ permiten obtener un panorama general del sistema que se va a desarrollar.

    <p>alto nivel</p> Signup and view all the answers

    ¿Cuál de los siguientes patrones permite agregar funcionalidades a objetos sin usar la herencia?

    <p>Decorator</p> Signup and view all the answers

    El patrón Flyweight se utiliza para crear objetos pesados y consume mucha memoria.

    <p>False</p> Signup and view all the answers

    ¿Qué patrón proporciona una interfaz simplificada a un grupo de interfaces en un sistema?

    <p>Facade</p> Signup and view all the answers

    El patrón ______ permite guardar y restaurar el estado previo de un objeto.

    <p>Memento</p> Signup and view all the answers

    Relaciona cada patrón con su descripción correspondiente:

    <p>Proxy = Controla el acceso al objeto original. Facade = Interfaz simplificada a un grupo de interfaces. Flyweight = Creación de objetos ligeros. Memento = Guardar y restaurar el estado de un objeto.</p> Signup and view all the answers

    ¿Qué debe hacerse antes de aplicar el patrón Flyweight?

    <p>Identificar problemas de rendimiento en memoria.</p> Signup and view all the answers

    El patrón Proxy permite realizar acciones antes y después de la ejecución del objeto original.

    <p>True</p> Signup and view all the answers

    ¿Qué rol desempeña el Caretaker en el patrón Memento?

    <p>Guardar el Memento.</p> Signup and view all the answers

    ¿Cuál es la función principal del patrón Builder?

    <p>Separar la construcción de un objeto complejo de su representación</p> Signup and view all the answers

    El patrón Prototype permite la creación de nuevos objetos basados en un objeto existente.

    <p>True</p> Signup and view all the answers

    ¿Qué objeto crea internamente el ObjectBuilder después de la primera llamada de creación?

    <p>TargetObject</p> Signup and view all the answers

    El patrón __________ permite la creación de nuevos objetos, pero partiendo de un prototipo.

    <p>Prototype</p> Signup and view all the answers

    Empareja los siguientes patrones de diseño con su descripción:

    <p>Chain of Responsibility = Permite pasar solicitudes a lo largo de una cadena de objetos Command = Encapsula una solicitud como un objeto Observer = Define una dependencia uno a muchos entre objetos State = Permite a un objeto alterar su comportamiento cuando su estado interno cambia</p> Signup and view all the answers

    ¿Cuál es la función principal del patrón Singleton en programación?

    <p>Asegurar que una clase tenga una única instancia.</p> Signup and view all the answers

    El patrón Memento permite restaurar el estado de un objeto sin exponer su implementación interna.

    <p>True</p> Signup and view all the answers

    ¿Qué método se utiliza para solicitar la instancia en un Singleton?

    <p>getInstance</p> Signup and view all the answers

    El __________ permite a los clientes acceder a la misma instancia de una conexión de la base de datos.

    <p>Singleton</p> Signup and view all the answers

    Empareja los conceptos de programación con su definición:

    <p>Singleton = Asegura una única instancia de una clase Memento = Restaura el estado de un objeto CareTaker = Administra el estado de los Mementos Originator = Crea y guarda el estado que puede ser restaurado</p> Signup and view all the answers

    ¿Qué ocurre si se llama a getInstance cuando ya existe una instancia del Singleton?

    <p>Se devuelve la instancia existente.</p> Signup and view all the answers

    El constructor de una clase Singleton debe ser público.

    <p>False</p> Signup and view all the answers

    ¿Cuál es el tipo de acceso que proporciona el Singleton a su instancia?

    <p>Acceso global</p> Signup and view all the answers

    ¿Qué método se utiliza para realizar consultas a la base de datos en la clase Application?

    <p>query()</p> Signup and view all the answers

    La clase Application crea diferentes instancias de Database al utilizar el método getInstance() varias veces.

    <p>False</p> Signup and view all the answers

    ¿Qué patrón de diseño permite la creación de familias de objetos relacionados sin especificar sus clases concretas?

    <p>Fábrica Abstracta</p> Signup and view all the answers

    El método de fábrica permite crear un objeto, pero deja que las __________ alteren el tipo de objeto a crear.

    <p>subclases</p> Signup and view all the answers

    Relaciona los siguientes conceptos con su descripción:

    <p>Método de Fábrica = Crea un objeto y permite que las subclases alteren el tipo Fábrica Abstracta = Crea familias de objetos relacionados Singleton = Una única instancia de una clase Producto = Instancia creada por la fábrica</p> Signup and view all the answers

    ¿Qué se debe hacer primero cuando se usa el patrón de Fábrica Abstracta?

    <p>Solicitar la creación de un ConcreteFactory</p> Signup and view all the answers

    El cliente puede solicitar productos de diferentes fábricas para asegurar compatibilidad.

    <p>True</p> Signup and view all the answers

    ¿Cuál es la función de la lógica de regulación (throttling) en el método query?

    <p>Controlar la cantidad de consultas enviadas a la base de datos</p> Signup and view all the answers

    Study Notes

    Modelo C4

    • Modelo de arquitectura de software, con diagramas de alto nivel para describir el sistema.
    • Incluye diagramas de contexto, contenedores, componentes y código.

    Diagrama de Contexto

    • Visualiza un panorama general del sistema.
    • Es un diagrama de flujo de datos (DFD) de alto nivel.
    • Identifica los alcances y límites del sistema.
    • Ejemplo: Sistema de cajeros automáticos, mostrando los sistemas de contabilidad, seguridad y mantenimiento, y las bases de datos de cuentas y de utilización, así como los usuarios.

    Diagrama de Contenedores

    • Especifica cada contenedor de alto nivel (bases de datos, servicios, aplicaciones).
    • Muestra las interacciones entre los mismos.
    • Representa el flujo y estructura del sistema.
    • Ejemplo: Diagrama de contenedores para un sistema bancario en línea, mostrando las interacciones entre la aplicación web, la aplicación móvil, el sistema de correo electrónico, las bases de datos, y sistemas adicionales como la banca principal.

    Diagrama de Componentes

    • Amplía la forma de trabajo de un contenedor, describiendo su funcionamiento interno.
    • No muestra todos los contenedores, solo uno con detalle de comunicación.
    • Ejemplo: Diagrama de componentes para la aplicación de API de un sistema bancario en línea, mostrando la comunicación entre el controlador, otros componentes para acceder a la base de datos, y los componentes relacionados con la aplicación web y la aplicación móvil.

    Código

    • Diagramas de clases del código fuente desarrollado.
    • Diagramas de paquetes.
    • Relaciones entre clases.
    • Se recomienda la generación de diagramas desde el IDE.

    Ventajas del Modelo C4

    • Jerarquía de abstracción clara y jerárquica para cada uno de los diagramas.
    • Comunicación efectiva entre la parte técnica y no técnica.
    • Enfoque en los aspectos claves de la arquitectura de software.
    • Escalable a cualquier tipo de sistema.
    • Facilita la toma de decisiones sobre el diseño y cambios en la arquitectura.

    Actividad en Clase

    • Grupos de 1-2 para investigar diagramas de alto nivel y plantear ejemplos.
    • Grupos de 3-4 para investigar diagramas de bajo nivel y plantear ejemplos.

    Diagramas de Arquitectura de Alto Nivel

    • Permiten obtener un panorama general del sistema a desarrollar.
    • Se utilizan diagramas de despliegue, servicios y componentes.

    Diagramas de Arquitectura de Bajo Nivel

    • Más específicos en cuanto a la funcionalidad y jerarquía de la interacción de los servicios del software.
    • Se utilizan diagramas de secuencia, clases y despliegue detallado.

    Patrones de Diseño Estructurales

    • Describen la estructura de clases y objetos.
    • Permiten crear estructuras más complejas y grandes.
    • Mejoran la flexibilidad y eficiencia del sistema.

    Adapter (Adaptador)

    • Se utiliza para comunicar interfaces o clases incompatibles.
    • Convierte una entrada de datos de un tipo a otro.
    • Ejemplo: Un adaptador entre un proveedor de información de Bolsa (XML) y un sistema de aplicación (JSON).

    Bridge (Puente)

    • Separa la abstracción de una implementación.
    • Permite un crecimiento independiente y óptimo.
    • Ejemplo: Separación de la forma (círculo, cuadrado) de su color (rojo, azul).

    Composite (Compuesto)

    • Crea estructuras de tipo árbol.
    • Los componentes se tratan como objetos individuales.
    • Ejemplo: Un pedido complejo con varios artículos (martillo, teléfono, auriculares).

    Decorator (Decorator)

    • Agrega funcionalidad a los objetos.
    • Extensión flexible a la herencia.
    • Ejemplo: Agregar funcionalidades de envío por SMS, Facebook o Slack a un sistema de notificaciones.

    Facade (Fachada)

    • Proporciona una interfaz simplificada a un grupo de interfaces.
    • Ejemplo: Interfaz para realizar un pedido en una tienda, que se comunica con varios departamentos (almacén, pagos, envío).

    Flyweight (Peso Ligero)

    • Crea objetos ligeros, reutilizando partes.
    • Mejora el rendimiento de la memoria.
    • Ejemplo: Objetos que comparten atributos o recursos.

    Proxy (Proxy)

    • Controla el acceso a objetos originales.
    • Permite ejecutar acciones antes o después de la solicitud.

    Memento (Recuerdo)

    • Permite guardar y restaurar el estado previo de un objeto.

    Patrones de Diseño Creacionales

    • Proporcionan mecanismos para la creación de objetos.
    • Mejoran la reutilización de código.

    Singleton

    • Se asegura que una clase tenga una sola instancia.
    • Proporciona un punto de acceso global.

    Factory Method (Método de Fábrica)

    • Define una interfaz para crear objetos.
    • Deja que las subclases decidan qué tipo de objeto crear.

    Abstract Factory (Fábrica Abstracta)

    • Crea familias de objetos relacionados.
    • Garantiza la compatibilidad entre objetos.

    Builder (Constructor)

    • Separa la construcción de un objeto complejo.
    • Permite crear diferentes representaciones del objeto.

    Prototype (Prototipo)

    • Crea nuevos objetos partiendo de un prototipo.

    Patrones de Diseño de Comportamiento

    • Relacionados con la manera en que los objetos interactúan e intercambian información.
    • Incluyen Cadena de responsabilidad, Comando, Iterator, Mediador, Memento, Observer, Estado, Strategy, Template method, Visitor.

    Actividad En Clase

    • Investigar sobre patrones y ejemplos.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    Modelo C4 PDF

    Description

    Explora el Modelo C4 de arquitectura de software a través de sus diferentes diagramas. Este cuestionario cubre desde el diagrama de contexto hasta el de contenedores, destacando su propósito y ejemplos prácticos. Ideal para quienes desean comprender cómo se estructuran y visualizan los sistemas complejos.

    More Like This

    c4
    30 questions

    c4

    GiftedRadiance avatar
    GiftedRadiance
    C4 Carbon Fixation Quiz
    5 questions

    C4 Carbon Fixation Quiz

    ExquisiteDravite avatar
    ExquisiteDravite
    C4: Principles of Radiation Protection
    15 questions
    Use Quizgecko on...
    Browser
    Browser