Desarrollo de frameworks

De Wiki de EGC
Revisión del 11:01 13 ene 2021 de Jagalindo (discusión | contribuciones) (Ejercicio)
Saltar a: navegación, buscar

Prerrequisitos

Para esta práctica solo será necesario que nos aseguremos de tener instalada una versión igual o mayor a Python 3.8.

Para verificar la versión de Python que tenemos instalada podemos ejecutar:

python -V

Preparación para práctica sobre creación de frameworks

En esta práctica recrearemos un desarrollo de un framework para el analisis de modelos de variabilidad.

Ejercicio

Iteración 1


  • Análisis: Identificamos los frozen points de nuestro framework
    • Clases del dominio: El dominio sobre el que desarrollaremos nuestro framework es el del analisis de modelos de características. Para ello, comenzaremos por conocer los elementos básicos de los mismos según lo visto en teoría.
    • Gestión de plugins: También analizaremos que partes del framework permitirán extensivilidad basandonos en plugins.
  • Diseño: En este apartado crearemos una clase Feature y una clase Relación para definir los conceptos con los que trabajará el framework
Aqui aparecerá el código

También implementamos un primer plugin y el sistema dentro del core para la carga de pluggins

Aqui aparecerá el código
  • Instanciación: Finalmente implementaremos una aplicación que consuma tanto nuestros módulos del core como el plugin creado.
Aqui aparecerá el código

Iteración 2


  • Análisis: Identificamos los frozen points de nuestro framework al solicitarnos la implementación de un sistema de lectura de los modelos en json.
    • Clases del dominio: Añadiremos las clases necesarias para implementar distintos tipos de serializadores de ficheros.


  • Diseño: En este apartado crearemos una clase Reader en el core
Aqui aparecerá el código

También implementamos extenderemos el soporte para añadir readers mediante plugins

Aqui aparecerá el código
  • Instanciación: Finalmente implementaremos una aplicación que consuma tanto nuestros módulos del core como el nuevo plugin creado.
Aqui aparecerá el código