

<!DOCTYPE html>

<html lang="es-CO">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=Edge">

  <link rel="stylesheet" href="/arqsoft-reto-2/assets/css/just-the-docs-default.css">

  <link rel="stylesheet" href="/arqsoft-reto-2/assets/css/just-the-docs-head-nav.css" id="jtd-head-nav-stylesheet">

  <style id="jtd-nav-activation">
  
    .site-nav ul li a {
      background-image: none;
    }

  </style>

  

  
    <script src="/arqsoft-reto-2/assets/js/vendor/lunr.min.js"></script>
  

  <script src="/arqsoft-reto-2/assets/js/just-the-docs.js"></script>

  <meta name="viewport" content="width=device-width, initial-scale=1">

  



  <!-- Begin Jekyll SEO tag v2.9.1 -->
<title>Arqsoft Reto 2 | Wiki de documentación del reto 2 de Arquitectura de Software.</title>
<meta name="generator" content="Jekyll v4.4.1" />
<meta property="og:title" content="Arqsoft Reto 2" />
<meta property="og:locale" content="es_CO" />
<meta name="description" content="Wiki de documentación del reto 2 de Arquitectura de Software." />
<meta name="twitter:description" property="og:description" content="Wiki de documentación del reto 2 de Arquitectura de Software." />
<link rel="canonical" href="https://mati-mbit.github.io/arqsoft-reto-2/assets/css/just-the-docs-head-nav.css" />
<meta property="og:url" content="https://mati-mbit.github.io/arqsoft-reto-2/assets/css/just-the-docs-head-nav.css" />
<meta property="og:site_name" content="Arqsoft Reto 2" />
<meta property="og:type" content="website" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Arqsoft Reto 2" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"WebPage","description":"Wiki de documentación del reto 2 de Arquitectura de Software.","headline":"Arqsoft Reto 2","url":"https://mati-mbit.github.io/arqsoft-reto-2/assets/css/just-the-docs-head-nav.css"}</script>
<!-- End Jekyll SEO tag -->


  <!-- Visor de diagramas Mermaid y de todas las imágenes del contenido: botón «Ampliar» y pantalla completa con zoom y arrastre. -->
<script src="https://cdn.jsdelivr.net/npm/svg-pan-zoom@3.6.2/dist/svg-pan-zoom.min.js" defer></script>
<style>
  .mmd-wrap { position: relative; padding-top: 2.4rem !important; }
  .mmd-btn {
    position: absolute; top: .5rem; right: .5rem; z-index: 2;
    font: .75rem/1.2 system-ui, -apple-system, sans-serif; padding: .3rem .7rem; cursor: pointer;
    border: 1px solid #d0d7de; border-radius: 4px; background: #fff; color: #24292f;
    opacity: .85;
  }
  .mmd-btn:hover { opacity: 1; }
  .mmd-overlay {
    position: fixed; inset: 0; z-index: 1000; background: #fff;
    display: flex; flex-direction: column;
  }
  .mmd-bar {
    display: flex; gap: .5rem; justify-content: flex-end; align-items: center;
    padding: .5rem .75rem; border-bottom: 1px solid #d0d7de; font: .8rem system-ui, -apple-system, sans-serif; color: #57606a;
  }
  .mmd-bar span { margin-right: auto; }
  .mmd-bar button {
    font-size: .8rem; padding: .25rem .6rem; cursor: pointer;
    border: 1px solid #d0d7de; border-radius: 4px; background: #fff;
  }
  .mmd-stage { flex: 1; min-height: 0; }
  .mmd-stage svg { width: 100%; height: 100%; max-width: none !important; }
  .img-wrap { position: relative; display: block; padding-top: 2.4rem; border: 1px solid #eaecef; border-radius: 4px; }
  .img-wrap img { display: block; cursor: zoom-in; }
</style>
<script>
  document.addEventListener("DOMContentLoaded", function () {
    function abrir(svgOriginal) {
      var overlay = document.createElement("div");
      overlay.className = "mmd-overlay";
      overlay.innerHTML =
        '<div class="mmd-bar"><span>Rueda o pellizco para acercar · arrastra para mover · Esc para cerrar</span>' +
        '<button data-a="in">+</button><button data-a="out">−</button>' +
        '<button data-a="fit">Ajustar</button><button data-a="close">Cerrar</button></div>' +
        '<div class="mmd-stage"></div>';
      var svg = svgOriginal.cloneNode(true);
      svg.removeAttribute("style");
      svg.removeAttribute("width");
      svg.removeAttribute("height");
      overlay.querySelector(".mmd-stage").appendChild(svg);
      document.body.appendChild(overlay);
      document.body.style.overflow = "hidden";

      var pz = window.svgPanZoom
        ? svgPanZoom(svg, { zoomScaleSensitivity: 0.3, minZoom: 0.2, maxZoom: 20, fit: true, center: true })
        : null;

      function cerrar() {
        if (pz) pz.destroy();
        overlay.remove();
        document.body.style.overflow = "";
        document.removeEventListener("keydown", tecla);
      }
      function tecla(e) { if (e.key === "Escape") cerrar(); }
      document.addEventListener("keydown", tecla);

      overlay.querySelector(".mmd-bar").addEventListener("click", function (e) {
        var a = e.target.getAttribute("data-a");
        if (a === "close") cerrar();
        if (!pz) return;
        if (a === "in") pz.zoomIn();
        if (a === "out") pz.zoomOut();
        if (a === "fit") { pz.resize(); pz.fit(); pz.center(); }
      });
    }

    // Envuelve una imagen en un SVG para usar el mismo visor.
    function svgDeImagen(img) {
      var ns = "http://www.w3.org/2000/svg";
      var w = img.naturalWidth || img.width, h = img.naturalHeight || img.height;
      var svg = document.createElementNS(ns, "svg");
      svg.setAttribute("viewBox", "0 0 " + w + " " + h);
      var im = document.createElementNS(ns, "image");
      im.setAttribute("href", img.currentSrc || img.src);
      im.setAttribute("width", w);
      im.setAttribute("height", h);
      svg.appendChild(im);
      return svg;
    }

    function prepararImagen(img) {
      if (img.dataset.mmdListo || img.closest(".mmd-overlay")) return;
      img.dataset.mmdListo = "1";
      var wrap = document.createElement("span");
      wrap.className = "img-wrap";
      img.parentNode.insertBefore(wrap, img);
      wrap.appendChild(img);
      var btn = document.createElement("button");
      btn.type = "button";
      btn.className = "mmd-btn";
      btn.textContent = "Ampliar";
      var ver = function () { abrir(svgDeImagen(img)); };
      btn.addEventListener("click", ver);
      img.addEventListener("click", ver);
      wrap.appendChild(btn);
    }

    function preparar(code) {
      var svg = code.querySelector("svg");
      var pre = code.closest("pre") || code;
      if (!svg || pre.dataset.mmdListo) return;
      pre.dataset.mmdListo = "1";
      pre.classList.add("mmd-wrap");
      var btn = document.createElement("button");
      btn.type = "button";
      btn.className = "mmd-btn";
      btn.textContent = "Ampliar";
      btn.addEventListener("click", function () { abrir(code.querySelector("svg")); });
      pre.appendChild(btn);
    }

    // Mermaid dibuja los SVG después de cargar la página: se espera a que aparezcan.
    function revisar() {
      document.querySelectorAll(".language-mermaid").forEach(preparar);
      // Todas las imágenes del contenido: diagramas, capturas de las pruebas y tableros.
      document.querySelectorAll('.main-content img').forEach(prepararImagen);
    }
    new MutationObserver(revisar).observe(document.body, { childList: true, subtree: true });
    revisar();
  });
</script>


</head>

<body>
  <a class="skip-to-main" href="#main-content">Skip to main content</a>
  <svg xmlns="http://www.w3.org/2000/svg" class="d-none">
  <symbol id="svg-link" viewBox="0 0 24 24">
  <title>Link</title>
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-link">
    <path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path>
  </svg>
</symbol>

  <symbol id="svg-menu" viewBox="0 0 24 24">
  <title>Menu</title>
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-menu">
    <line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line>
  </svg>
</symbol>

  <symbol id="svg-arrow-right" viewBox="0 0 24 24">
  <title>Expand</title>
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-right">
    <polyline points="9 18 15 12 9 6"></polyline>
  </svg>
</symbol>

  <!-- Feather. MIT License: https://github.com/feathericons/feather/blob/master/LICENSE -->
<symbol id="svg-external-link" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-external-link">
  <title id="svg-external-link-title">(external link)</title>
  <path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line>
</symbol>

  
    <symbol id="svg-doc" viewBox="0 0 24 24">
  <title>Document</title>
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file">
    <path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"></path><polyline points="13 2 13 9 20 9"></polyline>
  </svg>
</symbol>

    <symbol id="svg-search" viewBox="0 0 24 24">
  <title>Search</title>
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search">
    <circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line>
  </svg>
</symbol>

  
  
    <!-- Bootstrap Icons. MIT License: https://github.com/twbs/icons/blob/main/LICENSE.md -->
<symbol id="svg-copy" viewBox="0 0 16 16">
  <title>Copy</title>
  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-clipboard" viewBox="0 0 16 16">
    <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z"/>
    <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z"/>
  </svg>
</symbol>
<symbol id="svg-copied" viewBox="0 0 16 16">
  <title>Copied</title>
  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-clipboard-check-fill" viewBox="0 0 16 16">
    <path d="M6.5 0A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3Zm3 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3Z"/>
    <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1A2.5 2.5 0 0 1 9.5 5h-3A2.5 2.5 0 0 1 4 2.5v-1Zm6.854 7.354-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708.708Z"/>
  </svg>
</symbol>

  
</svg>

  
    <header class="side-bar">
  <div class="site-header">
    <a href="/arqsoft-reto-2/" class="site-title lh-tight">
  Arqsoft Reto 2

</a>
    <button id="menu-button" class="site-button btn-reset" aria-label="Menu" aria-expanded="false">
      <svg viewBox="0 0 24 24" class="icon" aria-hidden="true"><use xlink:href="#svg-menu"></use></svg>
    </button>
  </div>

  <nav aria-label="Main" id="site-nav" class="site-nav">
  
  
    <ul class="nav-list"><li class="nav-list-item"><a href="/arqsoft-reto-2/" class="nav-list-link">Inicio</a></li><li class="nav-list-item"><a href="/arqsoft-reto-2/quality-attributes.html" class="nav-list-link">ASRs de disponibilidad y seguridad</a></li><li class="nav-list-item"><a href="/arqsoft-reto-2/architecture.html" class="nav-list-link">Problema que resuelve la arquitectura</a></li><li class="nav-list-item"><a href="/arqsoft-reto-2/stakeholders.html" class="nav-list-link">Stakeholders</a></li><li class="nav-list-item"><a href="/arqsoft-reto-2/constraints.html" class="nav-list-link">Restricciones</a></li><li class="nav-list-item"><a href="/arqsoft-reto-2/requirements.html" class="nav-list-link">Historias de usuario</a></li><li class="nav-list-item"><a href="/arqsoft-reto-2/glossary.html" class="nav-list-link">Glosario</a></li><li class="nav-list-item"><a href="/arqsoft-reto-2/experiments.html" class="nav-list-link">Experimentos E01 y E02</a></li><li class="nav-list-item"><a href="/arqsoft-reto-2/results.html" class="nav-list-link">Resultados de E01 y E02</a></li><li class="nav-list-item"><a href="/arqsoft-reto-2/modelos/adrs-ccp-reto2.html" class="nav-list-link">ADRs — CCP, Reto 2</a></li><li class="nav-list-item"><a href="/arqsoft-reto-2/modelos/diagramas-ccp-reto2.html" class="nav-list-link">Diagramas de arquitectura — Reto 2 CCP (v7)</a></li><li class="nav-list-item"><a href="/arqsoft-reto-2/estructuracion_tecnica.html" class="nav-list-link">Estructuración Técnica - Experimentos E01 y E02</a></li><li class="nav-list-item"><a href="/arqsoft-reto-2/modelos/vista-componentes.html" class="nav-list-link">Vista de componentes — Reto 2 CCP (v7)</a></li><li class="nav-list-item"><a href="/arqsoft-reto-2/modelos/vista-concurrencia.html" class="nav-list-link">Vista de concurrencia — Reto 2 CCP (v7)</a></li><li class="nav-list-item"><a href="/arqsoft-reto-2/modelos/vista-despliegue.html" class="nav-list-link">Vista de despliegue — Reto 2 CCP (v7)</a></li><li class="nav-list-item"><a href="/arqsoft-reto-2/modelos/vista-informacion.html" class="nav-list-link">Vista de información — Reto 2 CCP (v7)</a></li></ul>
  
</nav>


<div class="d-md-block d-none site-footer">
  
  
    This site uses <a href="https://github.com/just-the-docs/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll.
  
  </div>
</header>

  
  <div class="main" id="top">
    <div id="main-header" class="main-header">
  
    

<div class="search" role="search">
  <div class="search-input-wrap">
    <input type="text" id="search-input" class="search-input" tabindex="0" placeholder="Search Arqsoft Reto 2" autocomplete="off">
    <label for="search-input" class="search-label">
      <span class="sr-only">Search Arqsoft Reto 2</span>
      <svg viewBox="0 0 24 24" class="search-icon" aria-hidden="true"><use xlink:href="#svg-search"></use></svg>
    </label>
  </div>
  <div id="search-results" class="search-results"></div>
</div>

  
  
  
    <nav aria-label="Auxiliary" class="aux-nav">
  <ul class="aux-nav-list">
    
      <li class="aux-nav-list-item">
        <a href="https://github.com/MATI-MBIT/arqsoft-reto-2" class="site-button"
          
          target="_blank" rel="noopener noreferrer"
          
        >
          Repositorio en GitHub
        </a>
      </li>
    
  </ul>
</nav>

  
</div>

    <div class="main-content-wrap">
      
      <div id="main-content" class="main-content">
        <main>
          
            <h.site-nav ul li a {
  background-image: linear-gradient(-90deg, rgb(92.0784313725%, 92.8705882353%, 96.0392156863%) 0%, rgba(92.0784313725%, 92.8705882353%, 96.0392156863%, 0.8) 80%, rgba(92.0784313725%, 92.8705882353%, 96.0392156863%, 0) 100%);
}

          

          
            
          
        </main>
        
<hr>
<footer>
  
    <p><a href="#top" id="back-to-top">Volver arriba</a></p>
  

  <p class="text-small mb-0">Arquitectura de Software · Reto 2 · <a href="https://github.com/MATI-MBIT/arqsoft-reto-2">MATI-MBIT/arqsoft-reto-2</a></p>

  
    <div class="d-flex mt-2">
      
      
        <p class="text-small mb-0">
          <a href="https://github.com/MATI-MBIT/arqsoft-reto-2/edit/main/docs/assets/css/just-the-docs-head-nav.css" id="edit-this-page">Editar esta página en GitHub</a>
        </p>
      
    </div>
  <div class="d-md-none mt-4 fs-2">
    
    
      This site uses <a href="https://github.com/just-the-docs/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll.
    
  </div>
</footer>

      </div>
    </div>
    
      
<button id="search-button" class="search-button btn-reset" aria-label="Focus on search">
  <svg viewBox="0 0 24 24" class="icon" aria-hidden="true"><use xlink:href="#svg-search"></use></svg>
</button>


<div class="search-overlay"></div>

    
  </div>

  
    





<script type="module">
  
  import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.esm.min.mjs';
  

  var config = {}
;
  mermaid.initialize(config);
  mermaid.run({
    querySelector: '.language-mermaid',
  });
</script>



  
</body>
</html>

