TRABAJOS FIN DE GRADO curso: 2022-23
Diseño y desarrollo de un módulo de Odoo para la gestión de consultas médicas. |
Tecnologías Específicas
Ingeniería del Software
Descripcion y Objetivos
Odoo es un ERP ampliamente usado en la empresa que cuenta no solo con una licencia comercial para empresas sino también con una versión desarrollada por la comunidad y de código abierto que permite su uso para fines no comerciales, como puede ser el entorno educativo.
Se enmarca dentro del tipo de software conocido como ERP (Enterprise Resource Planning), un software empresarial que cubre todas las necesidades de gestión de una empresa. Tradicionalmente está dividido en módulos que cubren áreas como CRM, compras, ventas, contabilidad, logística, gestión de proyectos, ...
Una característica interesante de los ERP, y de Odoo en particular, es que es posible adaptar el ERP a las necesidades de la empresa. Esto significa no solo que podemos modificar como vamos a trabajar con los módulos estándar de Odoo, sino también que podemos ampliar su funcionalidad desarrollando nuevos módulos que cubran necesidades específicas de nuestra empresa.
Para ello Odoo ofrece una arquitectura Modelo Vista Controlador (MVC), un estilo de arquitectura que separa los datos de la aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos. En el caso de Odoo el Modelo se especifica mediante la creación de clases de Python y la Vista mediante ficheros XML. El Controlador actúa como intermediario entre el Modelo y la Vista y gestiona el flujo de información entre ambos.
Por tanto un paso fundamental en todo el proceso es la realización de un análisis de requisitos previo que identifique las necesidades del negocio así como su organización e implantación a través de la información. A partir de los requisitos se utiliza el modelos de datos que se considere más adecuado para capturar las relaciones entre los datos, restricciones y la semántica de los datos.
Finalmente, para el desarrollo y despliegue de la solución utilizaremos un entorno de contenedores y máquinas virtuales mediante el uso de Vagrant y Docker.
Los objetivos principales del TFG son los siguientes:
- Revisión del estado del arte sobre uso y desarrollo de ERPs, y en particular de Odoo
- Revisión del estado del arte sobre desarrollo y despliegue de software utilizando contenedores y máquinas virtuales.
- Análisis de requisitos
- Definición y diseño del modelo de datos
- Diseño del interfaz del módulo
- Creación del entorno de trabajo utilizando Vagrant y Docker
- Desarrollo del módulo de Odoo a partir del modelo de datos realizado (clases) y del interfaz diseñado (vistas)
- Evaluación del sistema
Metodología y Competencias
Para la realización de este TFG se utilizará una metodología ágil que permita la evolución y adaptación de la solución planteada a lo largo de toda la vida del proyecto según avanzamos en su desarrollo.
Competencias de la Tecnología específica de Ingeniería del Software que se pretenden cubrir:
[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
Software: Todo el software necesario para el desarrollo del TFG está disponible de manera gratuita y libre.
Hardware: No se requiere una máquina con características especiales. Únicamente es necearia suficente memoria para poder ejecutar una máquina virtual.
Bibliografía
Odoo User Docs. https://www.odoo.com/documentation/15.0/applications.html
Odoo Tutorials: Building a Module. https://www.odoo.com/documentation/15.0/developer/howtos/backend.html
Odoo Tutorials: Web Services. https://www.odoo.com/documentation/15.0/developer/howtos/web_services.html
Fundamentos de Desarrollo de odoo 10. https://emperove.gitbooks.io/fundamentos-de-desarrollo-odoo-10/content/
The Python Tutorial. https://docs.python.org/3/tutorial/
Vagrant Documentation. https://www.vagrantup.com/docs
Docker Docs. https://docs.docker.com/
Diseño de Bases de Datos: problemas resueltos. Adoración de Miguel Castaño. Ed. Ra-Ma 2000
Tutores ROJO GUILLÉN, TOMÁS CAZORLA LÓPEZ, DIEGO | Alumno MARTÍNEZ LUCAS, MARÍA
|
|