Diferencia entre revisiones de «Desarrollo de frameworks»
(Página creada con « = 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 P...») |
(→Preparación para práctica sobre creación de frameworks) |
||
Línea 11: | Línea 11: | ||
En esta práctica recrearemos un desarrollo de un framework para el analisis de modelos de variabilidad. | 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. | ||
+ | Para | ||
+ | |||
+ | **Diseño | ||
+ | En este apartado crearemos una clase Feature y una clase Relación para definir los conceptos con los que trabajará el framework | ||
+ | |||
+ | <script> | ||
+ | Aqui aparecerá el código | ||
+ | </script> | ||
+ | |||
+ | También implementamos un primer plugin y el sistema dentro del core para la carga de pluggins | ||
+ | |||
+ | <script> | ||
+ | Aqui aparecerá el código | ||
+ | </script> | ||
+ | |||
+ | **Instanciación | ||
+ | Finalmente implementaremos una aplicación que consuma tanto nuestros módulos del core como el plugin creado. | ||
+ | <script> | ||
+ | Aqui aparecerá el código | ||
+ | </script> | ||
+ | |||
+ | 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ñaadiremos las clases necesarias para implementar distintos tipos de serializadores de ficheros. | ||
+ | |||
+ | |||
+ | **Diseño | ||
+ | En este apartado crearemos una clase Reader en el core | ||
+ | <script> | ||
+ | Aqui aparecerá el código | ||
+ | </script> | ||
+ | |||
+ | También implementamos extenderemos el soporte para añadir readers mediante plugins | ||
+ | |||
+ | <script> | ||
+ | Aqui aparecerá el código | ||
+ | </script> | ||
+ | |||
+ | **Instanciación | ||
+ | Finalmente implementaremos una aplicación que consuma tanto nuestros módulos del core como el nuevo plugin creado. | ||
+ | <script> | ||
+ | Aqui aparecerá el código | ||
+ | </script> |
Revisión del 10:53 13 ene 2021
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. Para
- Diseño
En este apartado crearemos una clase Feature y una clase Relación para definir los conceptos con los que trabajará el framework
<script> Aqui aparecerá el código </script>
También implementamos un primer plugin y el sistema dentro del core para la carga de pluggins
<script> Aqui aparecerá el código </script>
- Instanciación
Finalmente implementaremos una aplicación que consuma tanto nuestros módulos del core como el plugin creado. <script> Aqui aparecerá el código </script>
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ñaadiremos las clases necesarias para implementar distintos tipos de serializadores de ficheros.
- Diseño
En este apartado crearemos una clase Reader en el core <script> Aqui aparecerá el código </script>
También implementamos extenderemos el soporte para añadir readers mediante plugins
<script> Aqui aparecerá el código </script>
- Instanciación
Finalmente implementaremos una aplicación que consuma tanto nuestros módulos del core como el nuevo plugin creado. <script> Aqui aparecerá el código </script>