|
Grado en Ingeniería Informática |
TRABAJOS FIN DE GRADO curso: 2023-24
Predicción del tamaño funcional del software mediante IA generativa. ¿Es fiable? |
Tecnologías Específicas
Ingeniería del Software
Descripcion y Objetivos
En la planificación de un proyecto software, el primer paso fundamental a realizar es la estimación del tamaño del producto. Existiendo varias metodologías, la más estandarizada y extendida es el método de medición del tamaño funcional FPA. Este es un método basado en reglas fijas pero algo susceptibles a la interpretación. Por eso, el instituto IFPUG certifica con el título CFPS a los expertos con gran dominio y experiencia en FPA, asegurando que entre certificados CFPS el cálculo del tamaño funcional no varía más de un 10%.
Por otro lado, en el último año hemos asistido al auge de la IA generativa, con especial énfasis ChatGPT. Este modelo puede recibir de manera interactiva un problema como entrada y devolver una propuesta de solución.
Relativo al método FPA, este TFG pretende averiguar hasta qué punto puede ser útil y fiable el uso de ChatGPT para acelerar el lento proceso de aplicación de FPA. Poder reducir el tiempo de medición del tamaño del software permitiría un proceso de planificación más rápido, permitiendo al equipo acortar los tiempos del proyecto.
Para responder a esta pregunta, se plantean 2 objetivos principales:
1. Construir herramienta que permita presentar descripciones textuales de requisitos funcionales, y obtener como resultado una tabla con los elementos de la cuenta FPA realizada por ChatGPT.
2. Validar una batería de mediciones realizadas por la aplicación, contrastándolas con una ground truth, y así encontrar respuesta la utilizada de ChatGPT para acelerar la aplicación de la cuenta FPA.
Como objetivos secundarios, en un principio tendríamos los siguientes:
- Desarrollar la herramienta dentro de un marco de Integración y Entrega Continua (CI/CD).
- Introducción de los enunciados de requisitos funcionales no solo en modo texto, sino también imagen.
- Publicación del resultado en la revista semestral de IFPUG, MetricViews.
Metodología y Competencias
Para realizar el TFG se va a emplear una metodología ágil. Se parte de un riesgo técnico grande, con lo cual se luchará con la incertidumbre mediante sprints cortos hasta aclarar qué limitaciones tecnológicas existen.
El Plan de Trabajo incluye las etapas generales que vienen marcadas por la metodología ágil: reuniones periódicas al inicio y al final de cada sprint, y realización de los objetivos de cada sprint.
Las competencias que serán potencialmente aplicadas son:
[IS1] Capacidad para desarrollar, mantener y evaluar servicios y sistemas software que satisfagan todos los requisitos del usuario y se comporten de forma fiable y eficiente, sean asequibles de desarrollar y mantener y cumplan normas de calidad, aplicando las teorías, principios, métodos y prácticas de la Ingeniería del Software
[IS2] Capacidad para valorar las necesidades del cliente y especificar los requisitos software para satisfacer estas necesidades, reconciliando objetivos en conflicto mediante la búsqueda de compromisos aceptables dentro de las limitaciones derivadas del coste, del tiempo, de la existencia de sistemas ya desarrollados y de las propias organizaciones.
[IS4] Capacidad de identificar y analizar problemas y diseñar, desarrollar, implementar, verificar y documentar soluciones software sobre la base de un conocimiento adecuado de las teorías, modelos y técnicas actuales.
Medios a utilizar
Medios a utilizar
Herramientas de control de versiones: GitHub.
Gestión visual del trabajo: ZenHub.
Jupyter notebook online: Google Colab.
Python
Bibliografía
Certified Function Point Specialist Examination Guide. David Garmus, Janet Russac y Royce Edwards. 2011
The Scrum Guide – V. September 2020.
Tutores BERMEJO LOPEZ, PABLO GAMEZ MARTIN, JOSE ANTONIO | Alumno RODRÍGUEZ LÓPEZ, ADRIAN
|
| |