1 Consejos

  • Lo que tienes a continuación son las transparencias empleadas en clase de teoría.
  • En clase se amplía de palabra el contenido que tienes en ellas.
  • Es importante que no te limites a escuchar y que tomes apuntes y preguntes dudas sobre lo que se explica. Cualquiera que te surja, por simple que te parezca.

2 Temario

2.1 Tema-0: Presentación de la asignatura.

2.2 Tema-1: Estructura equipo desarrollo - 1 semana

2.3 Tema-2: Despliegue / Instalación - 1 semana

2.4 Tema-3: Bugtracking (bugzilla, trac, etc…) - 1 semana

2.5 Tema-4: Sistemas de paquetes - 1 semana

2.6 Tema-5: Compilación de grandes proyectos - 2 semanas

2.7 Tema-6: Configuración y adaptación automática de proyectos - 2 semanas

2.8 Tema-7: Generación y paso de tests - 2 semanas

2.9 Tema-8: Diseño por contrato - 1 semana

2.10 Tema-9: Internacionalización (I18N) - 1 semana

2.11 Tema-10: Sistemas de Control de Versiones de última generación - 1..3 semanas

3 Ejemplos de preguntas de examen

  • Plataformas para alojar código como Github o Gitlab:

    • Necesitan de un sistema de bugtracking externo.
    • [*] Disponen de su propio sistema de bugtracking.
    • Por su naturaleza no necesitan de sistemas de bugtracking.
    • Ninguna de las anteriores.
  • Un sistema de empaquetado basado en TAR+BZIP2:

    • Es igual de eficaz que uno basado en RPM.
    • Es igual de eficaz que uno basado en DEB.
    • [*] Es menos eficaz que DEB o RPM por determinados motivos.
    • Ninguna de las anteriores.
  • Make puede lanzar trabajos en paralelo:

    • Tantos como núcleos de proceso tengamos
    • [*] Tantos como queramos.
    • Tantos como núcleos de proceso tengamos menos uno.
    • Solo si tenemos mas de un núcleo de proceso.
  • Las mejoras en tiempo de recompilación con ccache:

    • Solo se observan si usamos un Makefile.
    • Solo se observan si usamos un Makefile recursivo.
    • Solo se observan si usamos un archivo Ninja.
    • [*] Ninguna de las anteriores.
  • Autoconf necesita a Automake:

    • Obligatoriamente si desarrollamos en lenguaje C++.
    • Obligatoriamente si desarrollamos en lenguaje C.
    • [*] Opcionalmente.
    • Ninguna de las anteriores.
  • Cmake respecto a los out-of-source-builds:

    • Los hace obligatorios.
    • [*] Los hace opcionales.
    • No los permite
    • Los permite si todo el código está en una única carpeta.
  • Boost::Test forma parte de:

    • La biblioteca estándard de C++.
    • La biblioteca STL de C++.
    • [*] De un proyecto externo a C++.
    • Todas las anteriores son válidas.
  • En el lenguaje D podemos tener invariantes de:

    • [*] Clase.
    • Clase y bucles.
    • Bucles pero no de clase.
    • D no soporta invariantes de ningún tipo.
  • En el soporte de i18n estudiado:

    • Gettext forma parte del lenguaje empleado.
    • [*] Gettext es una biblioteca externa.
    • Gettext es la única solución existente hoy en dia.
    • Ninguna de las anteriores.