Sistema de entrega Deliverit: prototipo

Mareca Mínguez, Andrés (2020). Sistema de entrega Deliverit: prototipo. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S. de Ingenieros Informáticos (UPM), Madrid, España.

Description

Title: Sistema de entrega Deliverit: prototipo
Author/s:
  • Mareca Mínguez, Andrés
Contributor/s:
  • Herranz Nieva, Ángel
Item Type: Final Project
Degree: Grado en Ingeniería Informática
Date: April 2020
Subjects:
Faculty: E.T.S. de Ingenieros Informáticos (UPM)
Department: Lenguajes y Sistemas Informáticos e Ingeniería del Software
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (418kB) | Preview

Abstract

En este trabajo he implementado un sistema de entrega y comprobación de prácticas de programación seguro, flexible, usable y moderno. Su nombre: Deliverit (entrégalo). Cada una de estas características se ha conseguido mediante la aplicación de diferentes tecnologías y procesos de desarrollo: Docker: Las prácticas entregadas por los estudiantes se ejecutarán en contenedores Docker. De esta forma, potenciales errores o código malicioso en cada entrega se ejecutan de forma aislada del resto del sistema. Esto ayuda en aspectos de seguridad y flexibilidad (cada asignatura podrá emplear un entorno de ejecución diferente de las otras). Erlang/OTP: Concurrencia, distribución y tolerancia a fallos son aspectos soportados por la tecnología Erlang/OTP utilizada para desarrollar este proyecto. Esto nos ayuda en aspectos de seguridad y modernización del sistema en comparación con otros sistemas anteriormente implementados en Perl o PHP. Phoenix/Elixir: Sobre Erlang/OTP se han construido el lenguaje de programación Elixir y el framework de desarrollo Web Phoenix. Ambas tecnologías mejoran la productividad y ayudan a introducir cambios de forma rápida, lo que a su vez ayuda a que el sistema sea flexible y pueda ser usado bajo la exigencia de diferentes asignaturas. Hay que ser consciente de que ninguna tecnología es una bala de plata en la lucha contra las dificultades fundamentales del desarrollo del software. Además a toda tecnología debemos añadir una buena arquitectura que también explicaré en detalle. Este trabajo comencé a realizarlo con el profesor Ángel Herranz en julio de 2019 con la construcción de un protoipo usable en menos de un mes. Dicho prototipo fue evolucionado por mi compañero Aaron Contreras, que se centró en la mejora de la experiencia e interfaz de usuario. En enero de 2020 retomé el trabajo centrándome en dar estabilidad y flexibilidad al sistema, especialmente en relación a las entregas, ejecuciones y comprobaciones de las mismas.---ABSTRACT---In this end of degree project I have implemented a modern, secure, flexible, usable and modern programming practice delivery and testing system. His name: Deliverit (hand it in). Each of these characteristics has been achieved through the application of different technologies and development processes: Docker: The practices delivered by the students will be carried out in Docker containers. In this way, potential errors or malicious code in each delivery are executed in isolation from the rest of the system. This helps in security and flexibility aspects (each subject may use a different execution environment from the others). Erlang/OTP: Concurrency, distribution and fault tolerance are aspects supported by the Erlang/OTP technology used to develop this project. This helps us in aspects of security and modernization of the system (using as reference other systems implemented in Perl or PHP). Phoenix/Elixir : The Elixir programming language and the Phoenix Web development framework have been built on Erlang/OTP. Both technologies improve productivity and help to introduce changes quickly, which helps to make the system flexible and can be used under the demands of different subjects. I am aware that no technology is a silver bullet in the fight against the fundamental difficulties of software development. To all this we must add a good architecture that I will explain in detail. I started doing this project with Professor Ángel Herranz in July 2019 and then I built a usable prototype in less than a month. This prototype was evolved by my partner Aaron Contreras, who focused on improving the experience and user interface. In January 2020, I resumed my work focusing on giving stability and flexibility to the system, especially in relation to the deliveries, executions and checks of the same.

More information

Item ID: 63096
DC Identifier: http://oa.upm.es/63096/
OAI Identifier: oai:oa.upm.es:63096
Deposited by: Biblioteca Facultad de Informatica
Deposited on: 20 Jul 2020 11:00
Last Modified: 20 Jul 2020 11:00
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM