scieee AI-readable full text Open interactive document viewer

Plataforma crowdfunding para proyectos fin de carrera

Sánchez Araña, Kevin Manuel

Abstract

Este trabajo fin de grado está relacionado con el concepto de microfinanciación de proyectos denominado "crowdfunding" consiste en apoyar económicamente el desarrollo de nuevas propuestas por medio de pequeñas contribuciones realizadas por un gran número de personas. Es importante conocerlo debido a que el principal objetivo de este proyecto es llevar a cabo la planificación, diseño y desarrollo de una plataforma web dirigida al patrocinio de proyectos fin de carrera, realizados por estudiantes empleando esta vía de financiación.

Full text

Autor: Kevin Manuel Sánchez Araña. Tutor académico: Jacques Bulchand Gidumal Afiliación académica: Profesor Titular del Departamento de Economía y Dirección de Empresas. Tutor empresarial: Izzat Sabbagh Rodríguez. Afiliación empresarial: Jefe de proyectos de SingularFactory S.L. Titulación: Grado en Ingeniería Informática. Universidad: Universidad de Las Palmas de Gran Canaria. Lugar de la presentación: Escuela de Ingeniería Informática. Fecha de la presentación: 14 de Diciembre de 2015. Índice I. Resumen ejecutivo. .................................................................................................................... 1 II. Introducción. ............................................................................................................................. 2 Capítulo 1: Motivación, estado actual y objetivo. ......................................................................... 4 1. Motivación. ........................................................................................................................... 4 2. Estado actual. ........................................................................................................................ 5 2.1. Definición. ...................................................................................................................... 5 2.2. Historia. .......................................................................................................................... 6 2.3. Funcionamiento. ............................................................................................................. 8 2.4. Tipología. ....................................................................................................................... 9 2.5. Casos relevantes basados en crowdfunding. ................................................................ 10 2.5. Ventajas e inconvenientes. ........................................................................................... 13 2.7. Plataformas de crowdfunding claves en el mercado actual. ......................................... 15 3. Objetivos del proyecto. ....................................................................................................... 18 3.1. Finalidades y utilidades del proyecto. .......................................................................... 18 3.2. Actitudes y capacidades logradas tras acabar el proyecto. ........................................... 19 Capítulo 2: Competencias. .......................................................................................................... 20 1. CII01 Capacidad para diseñar, desarrollar, seleccionar y evaluar aplicaciones y sistemas informáticos, asegurando su fiabilidad, seguridad y calidad, conforme a principios éticos y a la legislación y normativa vigente. .......................................................................................... 20 1.1. Selección y evaluación. ........................................................................................... 20 1.2. Diseño. ......................................................................................................................... 24 1.3. Desarrollo. .................................................................................................................... 24 2. CII02 Capacidad para planificar, concebir, desplegar y dirigir proyectos, servicios y sistemas informáticos en todos los ámbitos, liderando su puesta en marcha y su mejora continua y valorando su impacto económico y social. ............................................................ 25 2.1. Planificación y concepción. .......................................................................................... 25 2.2. Despliegue. ................................................................................................................... 25 2.3. Dirección. ..................................................................................................................... 25 3. CII04 Capacidad para elaborar el pliego de condiciones técnicas de una instalación informática que cumpla los estándares y normativas vigentes. ............................................... 26 4. CII18 Conocimiento de la normativa y la regulación de la informática en los ámbitos nacional, europeo e internacional. ........................................................................................... 26 5. TFG01 Ejercicio original a realizar individualmente y presentar y defender ante un tribunal universitario, consistente en un proyecto en el ámbito de las tecnologías específicas de la Ingeniería en Informática de naturaleza profesional en el que se sinteticen e integren las competencias adquiridas en las enseñanzas. ........................................................................... 26 Capítulo 3: Aportaciones. ............................................................................................................ 28 Capítulo 4: Normativa y legislación. ........................................................................................... 30 Capítulo 5: Análisis. .................................................................................................................... 34 Capítulo 6: Requisitos hardware y software................................................................................ 35 Capítulo 7: Desarrollo. ................................................................................................................ 40 1. Diseño. ................................................................................................................................ 40 1.1. Front-end. ..................................................................................................................... 41 1.2. Back-end. ..................................................................................................................... 56 2. Implementación. .................................................................................................................. 57 2.1. Sprint 1: Base de datos. ................................................................................................ 60 2.2. Sprint 2: Universidades, administradores e invitaciones. ............................................. 65 2.3. Sprint 3: Estudiantes. .................................................................................................... 69 2.4. Sprint 4: Proyectos. ...................................................................................................... 72 2.5. Sprint 5: Financiadores. ................................................................................................ 79 2.6. Sprint 6: Pantalla inicial y buscador. ............................................................................ 82 2.7. Sprint 7: Publicaciones en los proyectos. ..................................................................... 84 2.8. Sprint 8: Información estática. ..................................................................................... 86 Capítulo 8: Mejoras futuras. ........................................................................................................ 88 Capítulo 9: Conclusiones y líneas de trabajo futuras. ................................................................. 89 Capítulo 10: Manual de usuario y software................................................................................. 90 1. Usuarios anónimos. ............................................................................................................. 90 2. Usuarios registrados. ........................................................................................................... 91 2.1 Funcionalidades comunes. ............................................................................................ 91 2.2. Funcionalidades específicas. ........................................................................................ 91 III. Bibliografía. .......................................................................................................................... 94 IV. Terminología. ........................................................................................................................ 97 V. Anexos. ................................................................................................................................... 99 1. Plataformas de crowdfunding en España ............................................................................ 99 2. Prototipo. ............................................................................................................................. 99 3. Diagrama de casos de uso. ................................................................................................ 110 4. Detalles de cada uno de los casos de uso. ......................................................................... 111 4.1 Detalle de los actores involucrados en el sistema. ...................................................... 111 4.2 Detalle de los casos de uso. ......................................................................................... 112 5. Diagrama Entidad-Relación. ............................................................................................. 124 6. Diagrama de clases UML. ................................................................................................. 125 Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 1 Diciembre de 2015 I. Resumen ejecutivo. Este trabajo fin de grado está relacionado con el concepto de micro financiación de proyectos denominado “crowdfunding”. Consiste en apoyar económicamente el desarrollo de nuevas propuestas por medio de pequeñas contribuciones realizadas por un gran número de personas. Es muy importante conocerlo, debido a que el principal objetivo de este proyecto es llevar a cabo la planificación, diseño y desarrollo de una plataforma web dirigida al patrocinio de proyectos fin de carrera, realizados por estudiantes universitarios a través de esta vía de financiación. Esta idea se ha propuesto en la empresa Singular Factory S.L. con la intención de introducir diferentes formas de financiación de proyectos donde actualmente las fuentes de financiación tradicionales no facilitan el apoyo económico necesario. El concepto de crowdfunding necesita de la colaboración de multitud de patrocinadores. Para reunirlos se ha planteado escoger Internet, siendo uno de los medios de comunicación más empleados en todo el mundo. Actualmente existen multitud de plataformas que implantan este medio de financiación pero ninguna de ellas está orientada exclusivamente al patrocinio de proyectos fin de carrera realizados por alumnos matriculados en cualquier universidad. Por lo tanto, se pretende cubrir este hueco dotando a los alumnos con una gran herramienta que les dé la oportunidad de poder llevar a cabo sus proyectos con los recursos adecuados. Para el desarrollo de la parte software de la plataforma se ha empleado la metodología ágil SCRUM con la intención de realizar una implementación incremental, validando cada uno de los requisitos en los períodos de tiempo establecidos. Además, con respecto a la elección de las adecuadas tecnologías software para su desarrollo se ha apoyado principalmente en la experiencia de la propia organización con otros proyectos similares de éxito. Por otro lado, toda la parte hardware ha sido proporcionada por la empresa. Sin embargo, ¿Por qué es necesario incorporar una plataforma de micro-pagos a proyectos con origen académico? Hay alumnos que proponen ideas innovadoras, creativas y excelentes como trabajo fin de titulación. En muchas ocasiones los centros de enseñanzas superiores no disponen de suficientes recursos económicos o bien no existe la tecnología que el alumno requiere para desarrollar su proyecto. Esto provoca que se desperdicie el talento de los mismos debido a que deben optar por otras alternativas de menor magnitud. Por ello, con el uso de esta plataforma podrían eliminar este tipo de barreras adquiriendo los recursos necesarios ayudando a los estudiantes a desarrollar todo su potencial. Por otro lado, permite a los alumnos demostrar todos los conocimientos adquiridos durante su carrera académica/profesional ante multitud de caza talentos que podrán abrir un amplio abanico de oportunidades al estudiante tras acabar su titulación. En conclusión, la finalidad de este proyecto es mejorar considerablemente el último paso que deberán realizar todos los alumnos matriculados en centros superiores estrechando distancias con el mercado laboral y dando la oportunidad de crear proyectos excelentes con los recursos adecuados. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 2 Diciembre de 2015 II. Introducción. Este proyecto fin de carrera pretende realizar una plataforma web que implementa la forma de financiación denominada crowdfunding o basada en micro-pagos. El crowdfunding es una forma de financiación donde se necesita la realización de multitud de pequeños pagos llevados a cabo por un gran número de personas con el objetivo de apoyar económicamente a proyectos que requieren fondos para poder llegar a convertir una idea en un producto o servicio real. Existen distintos tipos de crowdfunding según el compromiso que imponen los creadores de los proyectos con los propios financiadores una vez se haya realizado un pago. En nuestro caso, nos centraremos en el crowdfunding basado en donaciones, es decir, el financiador realiza un pago voluntario porque desea que se realice el proyecto sin recibir ninguna recompensa, interés o derecho sobre él mismo. Esta forma de financiación se ha hecho bastante popular en todo el mundo, principalmente en Estados Unidos aunque cada vez más en Europa. Existen multitud de plataformas orientadas a este tipo de financiación. Sin embargo, esta plataforma se diferencia del resto principalmente por su orientación a un segmento de clientes específico. En concreto está destinada a alumnos de universidades que están cursando su trabajo fin de título. Se pretende mejorar la forma de aprendizaje de los trabajos fin de carrera de cualquier titulación universitaria debido a que los alumnos podrían realizar proyectos más innovadores e interesantes. Esto se debe a que pueden recibir una financiación externa no disponible en muchas universidades, acortar distancias con el mercado laboral, validar su proyecto ante clientes reales, entre otros muchos factores positivos ventajosos para el alumno. En el sistema existirán diferentes usuarios asociados a un conjunto de funcionalidades como por ejemplo mantener la integridad de la información de la plataforma, publicar proyectos, realizar contribuciones sobre dichos proyectos, establecer seguimientos durante el transcurso del desarrollo de proyectos que han recibido financiación entre muchos otros. En concreto, se recogen los siguientes actores:  Internautas anónimos que puedan acceder a proyectos publicados por los estudiantes. Estos pueden convertirse en potenciales financiadores de proyectos una vez realicen alguna contribución.  Administrador que se encargue del alta de estudiantes y la inserción/mantenimiento de datos sensibles en el sistema.  Financiadores que realicen pagos voluntarios en proyectos publicados por los estudiantes.  Los estudiantes que gestionen y publiquen sus proyectos ante cualquier internauta que acceda a la plataforma. En conclusión, este trabajo fin de título será una buena alternativa para ampliar los conocimientos de los alumnos universitarios que acaban sus respectivas titulaciones. Además, se pretende dar a los alumnos la oportunidad de ser reconocidos ante diferentes entidades una vez lo desarrollen. Por otro lado, aquellas universidades que usen la plataforma tendrán una herramienta diferente que ayudará a mejorar y modernizar la forma de aprendizaje de sus alumnos. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 3 Diciembre de 2015 A continuación, se explicará en detalle cada uno de los pasos realizados para elaborar dicha plataforma. Para ello se ha empleado procesos de ingeniería del software, buenas prácticas y metodologías de desarrollo ágiles aprendidas durante el transcurso de la titulación. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 4 Diciembre de 2015 Capítulo 1: Motivación, estado actual y objetivo. Para comprender la esencia de este proyecto se necesita conocer el concepto de crowdfunding o micro financiación en masa. Se basa en una alternativa revolucionaria destinada a la puesta en marcha de nuevos proyectos. La idea principal es conseguir financiar un proyecto a través de micro aportaciones originadas por multitud de inversores en un período de tiempo determinado. Figura 1.1: Forma de pago crowdfunding. Disponible en http://investigauned.uned.es/crowdfunding-una-nueva-forma-de-financiar-tuinvestigacion. Accedido el 02/10/2015. Este proyecto va ligado completamente a este concepto, debido a que se pretende realizar una plataforma orientada a esta forma de financiación. En ella, deben existir una serie de patrocinadores que puedan emitir una serie de pagos sobre proyectos publicados por alumnos que estén realizando su trabajo fin de carrera. Con ello, se logrará convertir un conjunto de ideas y conocimientos en un producto o servicio real que podrá ser explotado en el mercado actual. 1. Motivación. Esta plataforma está orientada exclusivamente para alumnos que están acabando sus titulaciones. Por lo tanto, para comprender la relevancia de este proyecto, nos pondremos en la piel de un estudiante llamado “Felipe” que está acabando sus estudios universitarios. Felipe está cursando los últimos créditos para finalizar sus estudios, aunque aún le queda realizar el proyecto fin de titulación. Se le ocurren multitud de ideas interesantes que podrían llevarse a cabo y se lo comunica a su tutor académico. Sin embargo, el tutor le comunica que la universidad no tiene los medios económicos necesarios para ponerlas en marcha. Su tutor académico le recomienda que publique sus ideas en un canal público de micro financiaciones donde existen millones de personas que pueden patrocinar y validar su proyecto. Unos días más tarde, muchas personas están interesadas en su propuesta. Por ello, realizan diferentes contribuciones para conseguir materializar su idea lo antes posible. Entre todos aportan la cantidad necesaria para poder llevar a cabo el proyecto. El estudiante obtiene el capital comprometiéndose a desarrollar todas aquellas ideas que ha puesto encima de la mesa informando de los progresos a los interesados. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 5 Diciembre de 2015 Además, distintas organizaciones del sector se han puesto en contacto con el estudiante para ofrecerle su apoyo y facilitar su futura inserción al mercado laboral. El estudiante elabora su proyecto con gran euforia y los interesados lo adquieren rápidamente sin tener que invertir en estudios de viabilidad o grandes campañas de marketing debido a que el mercado ya lo ha validado. Para resolver el problema de financiación externa sobre proyectos con orígenes académicos, se ha plateado este proyecto fin de carrera. En el mercado actual existen multitud de plataformas de este tipo, aunque ninguna centra su modelo de negocio en este tipo de proyectos. 2. Estado actual. Tras hacernos una idea inicial hablaremos en profundidad de las verdaderas cuestiones interesantes que rodean a este innovador concepto del crowdfunding en el entorno actual. Para ello se plantean las siguientes cuestiones: ¿Qué es exactamente crowdfunding? ¿Para qué nos sirve? ¿Qué nos proporciona? ¿Cómo y dónde surgió? ¿Se usa hoy en día? ¿Quiénes lo usan? ¿Reciben algún tipo de incentivo los financiadores? ¿Qué es una plataforma crowdfunding? Para resolverlas se plantean los siguientes epígrafes relacionados con el concepto:  Definición.  Historia.  Funcionamiento.  Tipología.  Ventajas e inconvenientes.  Plataformas de crowdfunding claves en el mercado actual.  Casos relevantes basados en crowdfunding. 2.1. Definición. Hay distintas definiciones pronunciadas por distintos medios. Por lo tanto, a continuación se presentarán una pequeña recopilación de las más relevantes: “Cooperación colectiva, llevada a cabo por personas que realizan una red para conseguir dinero u otros recursos, se suele utilizar Internet para financiar esfuerzos e iniciativas de otras personas u organizaciones”. Wikipedia. “La financiación colectiva o crowdfunding es un sistema de cooperación que permite a cualquier persona creadora de proyectos, reunir una suma de dinero entre muchas personas para apoyar una determinada iniciativa”. Asociación Española de crowdfunding. “El crowdfunding o financiación en masa, también llamado financiación colectiva, microfinanciación colectiva o micromecenazgo consiste en conseguir múltiples pequeñas Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 6 Diciembre de 2015 donaciones para conseguir dinero u otros recursos para financiar proyectos”. IDaccion business news. “Fenómeno de las personas que hacen red para conseguir dinero u otros recursos para un proyecto o propósito. Es utilizado para multitud de actividades industriales o creativas, campañas políticas, creación de empresas, y también para proyectos sociales y culturales”. Asociación española de Fundraising. “The practice of funding a project or venture by raising many small amounts of money from a large number of people, typically via the Internet”. Revista Forbes “Crowdfunding is a way to raise money by asking many individuals to contribute funds, often in small amounts, to a specific business venture or cause”. Canal de televisión CNBC económico. Como conclusión, podemos decir que prácticamente todas definen el concepto como una nueva fuente de financiación para proyectos, con la gran característica de que se necesita de un gran número de personas para intentar conseguir el objetivo planteado para desarrollar el proyecto. Por todo ello, uno de los medios más empleados para atraer a un gran número de personas con el mínimo coste es Internet. En estos últimos años se han puesto en marcha muchísimas plataformas de crowdfunding con diferentes enfoques, pero con la misma esencia. Por otro lado, este tipo de plataformas capta a dos tipos de usuarios:  Personas que necesitan financiación para llevar a cabo un proyecto.  Inversores que estén dispuestos a realizar contribuciones económicas en proyectos bajo una serie de condiciones específicas. El principal cometido de este proyecto es mediar entre ambos aportándoles un sistema de información rico en proyectos interesantes para los inversores y concurrida por el mayor número de personas interesadas en financiar proyectos. Además, las plataformas no son responsables de incumplimientos de acuerdos entre el financiador y el financiado, es decir, si un proyecto consigue financiación y en el tiempo estipulado no cumple con su parte el inversor no puede reclamar la devolución del pago a la plataforma. Solamente se garantiza el pago al financiado por parte del patrocinador. Por último aclarar que el flujo de ingresos de este tipo de plataformas depende bastante de su modelo de negocio aunque normalmente sigue un mismo patrón, adquirir un porcentaje de las inversiones destinas a los proyectos. 2.2. Historia. El término crowdfunding tiene como objetivo obtener financiación a través de micro donaciones por parte de personas realmente interesadas. En un principio, sobre finales de los años 90 y principio del siglo XXI tanto la industria de la música como el cinematográfico pusieron en marcha campañas en donde se Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 13 Diciembre de 2015 2.5. Ventajas e inconvenientes. En este apartado, se explicarán las principales ventajas e inconvenientes del uso de la financiación basada en crowdfunding: Ventajas Inconvenientes Posibilidad de conseguir financiación sobre proyectos más creativos y menos convencionales que los grandes inversores o bancos descartarían. Genera inseguridad a las personas o empresas dispuestas a invertir ya que muchos proyectos son meras ideas sin un gran fundamento previo. El solicitante o solicitantes del proyecto no depositan todos los recursos económicos necesarios ya que podrán ayudarse de las abundantes aportaciones de los patrocinadores. No se conoce con exactitud al equipo o integrantes del proyecto. Esto ocasiona bastante inseguridad al inversor. Se da a conocer el proyecto, validando la idea propuesta ante potenciales clientes. Con lo cual, se podrá evaluar el éxito antes de entrar en el proceso de desarrollo. Los inversores y emprendedores temen que la idea sea copiada ya que cualquier empresa con recursos pueda ponerla en marcha antes que los propios solicitantes. Se puede definir el segmento de cliente durante el proceso de recaudación. Si el proyecto que se oferta es financiado y no cumple su propósito quedará reflejado ante muchas personas u organizaciones. Esto supone un fracaso público que afecta a los solicitantes. Publicitar el proyecto ante un gran número de personas que puedan estar interesadas. El inversor nunca puede conocer con exactitud cuál es el presupuesto real del proyecto. Por ello, existe el temor a que el dinero invertido no se gaste con honestidad. Se consiguen los primeros compradores del servicio o producto a desarrollar. Además, estos pequeños inversores creerán realmente en la idea y la promocionarán sin coste alguno. En muchas ocasiones, una vez el proyecto entre en fase de desarrollo, el inversor pierde totalmente el control de su inversión. Si ocurre cualquier problema no puede exigir un reembolso. Si la idea del proyecto no es buena no originará deudas ni pérdidas de capital a los integrantes del proyecto. El financiador pierde un porcentaje del capital recaudado debido al coste de las plataformas y medios de pago. Se puede definir antes de crear el proyecto cual va a ser el verdadero alcance que podría tener. Exige al financiado llevar a cabo un proyecto verdaderamente atractivo para que pueda destacar entre los inversores. Se puede llevar el control total del proyecto ya que los financiadores invierten voluntariamente. Normalmente se necesita ofrecer algún tipo de incentivo para atraer a un gran número de financiadores. No se requiere estrictamente un acuerdo económico para atraer a financiadores ya que existen recompensas de cualquier índole o donaciones. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 14 Diciembre de 2015 Retroalimentación honesta por parte de clientes potenciales para mejorar el proyecto y enfocarlo a las verdaderas necesidades que se exigen El inversor puede recibir parte del beneficio o solamente el mero hecho de haber participado en la puesta en marcha de un proyecto exitoso. La cantidad de dinero a invertir puede ser relativamente pequeña por parte de un patrocinador. Darse a conocer ante el mercado ofreciendo las grandes capacidades personales o del equipo. No se necesita a ningún intermediario que venda el proyecto ya que los mismos integrantes pueden hacerlo. Tabla 2.6.1: Ventajas e inconvenientes del crowdfunding. Como conclusiones de los aspectos citados anteriormente, se puede observar que existe cierto temor por parte de los financiadores a llevar a cabo aportaciones debido a la falta de integridad en la información aportada por los financiados. Por otra parte, aunque puedan existir multitud de estafas o acciones ilícitas, aquellas personas u organizaciones que las lleven a cabo quedarán marcadas para siempre en la red. Este hecho, es muchísimo peor que una multa económica o cualquier otro tipo de castigo. Sin embargo, este tipo de fuente de financiación elimina bastantes obstáculos a la hora de llevar y validar un proyecto ante el mercado. Esta validación prematura puede suponer el ahorro de millones ya que nadie invertirá en un proyecto que no tiene éxito ante el público. Además, otro de los grandes logros que nos aporta el crowdfunding es la oportunidad de demostrar las capacidades y destrezas del equipo. Esto significa que grandes compañías podrían estar interesadas en nuestros conocimientos personales dando la posibilidad a la generación de futuras ofertas de empleos o cualquier otro beneficio directo hacia los solicitantes. En nuestro caso, aprovecharemos todas estas ventajas y contrarrestemos las desventajas para que el alumno que curse la asignatura de proyecto fin de grado o de titulación pueda:  Validar su proyecto con honestidad ante el mercado.  Introducir al estudiante en el mundo laboral, dándose a conocer por multitud de organizaciones interesadas en sus capacidades y destrezas.  Ofrecer al alumno la posibilidad de tener mayor cantidad de recursos para poder desarrollar ideas que verdaderamente le motiven o le interesen.  Dar al estudiante la capacidad de llevar a cabo presupuestos objetivos sobre proyectos reales en períodos de tiempos acordados.  Definir el alcance de su proyecto citando todos los requisitos que debe implantar una vez realizado. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 15 Diciembre de 2015  Aportar la información exacta, fiable e integra sobre su proyecto ante cualquier financiador interesado. Con ello, se aumentará la seguridad de los inversores a la hora de realizar las contribuciones. 2.7. Plataformas de crowdfunding claves en el mercado actual. Existen una gran cantidad de plataformas dedicadas al crowdfunding distribuidas por todo el mundo. Sin embargo, cada plataforma tiene su modelo de negocio que la diferencia del resto. Ya existen competidores con una gran cuota de mercado orientado a cualquier tipo de proyecto. Por ello, las empresas que se dedican a la elaboración de plataformas de este tipo han decidido segmentar el mercado pivotando su modelo de negocio hacia sectores específicos. Existen tantos sectores como se nos puedan ocurrir. Por ejemplo: para deportistas, startups, belleza, automóviles, cine, música, etc. Casi todas las plataformas de crowdfunding que se van a proponer se basan en la tipología de recompensas. Esto se debe a que los inversores prefieren tener alguna ventaja o beneficio tras realizar un pago. Las recompensas son dependientes del proyecto y se establecen por parte de los solicitantes. A continuación se presentarán las cuatro plataformas más importantes en todo el mundo debido a la cantidad de proyectos publicados y patrocinadores en las mismas: KICKSTARTER Es la principal plataforma web dedicada al crowdfunding en todo el mundo localizada en Estados Unidos. En marzo de 2014 llegaron a 1000 millones de dólares de recaudaciones gracias al apoyo de 5.7 millones de patrocinadores. Ha reunido más capital que todas las demás plataformas juntos del mundo. Figura 2.7.1: Logo KickStarter. Disponible en http://www.elandroidelibre.com/2015/05/kickstarter-llega-a-espana-espanoles-ainventar.html. Accedido 20/10/2015. Esta plataforma está orientada a recompensas. Tanto es así que no se aceptan proyectos de caridad o basados en la buena fe de los inversores. El sistema de recompensas supone un coste para los integrantes del proyecto ya que deben pagar a una financiadora que se las gestione. Su principal modelo de negocio es dividir los proyectos en categorías generales. Entre ellas se encuentra: Arte, Comics, Danza, Diseño, Moda, Cine, Gastronomía, Juegos, Música, Fotografía, Publicaciones, Tecnología y Teatro. Por lo tanto, acoge prácticamente cualquier segmentación posible haciendo que los inversores tengan una mayor facilidad para encontrar un proyecto donde se desea invertir. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 16 Diciembre de 2015 Su metodología de pago es bastante sencilla. Los integrantes del proyecto establecen la cifra exacta del capital necesario para desarrollar el proyecto y los días que va a estar publicado (hasta el máximo de 60). Si el proyecto iguala o supera dicha cantidad, la plataforma se queda con el 5% de las contribuciones y entrega el resto a los integrantes. Sin embargo, si no llegan al cupo mínimo Kickstarter no cobrará su parte ni tampoco los creadores del proyecto devolviendo el capital aportado a los financiadores. KickStarter da una segunda oportunidad a los proyectos que no hayan conseguido financiación de ser modificados para que puedan volver a publicarse. Los proyectos que se pueden publicar deben ser creativos y atractivos. Además, deben tener como objetivo llevar a cabo un bien o servicio si consiguen la financiación. Esta plataforma además de ayudar a lanzar proyectos, se compromete a crear una comunidad que ayude a alcanzar el éxito después de la puesta en marcha. El problema es que solo admite proyectos que vengan de EEUU, Canadá, Reino Unido, Australia y Nueva Zelanda. Eso en teoría no debía ser un problema ya que hay empresas como SYBIC (Start Your Business Internet Consulting) que ayudan a lanzar proyectos en Kickstarter desde España gestionando también el cobro de las recompensas. INDIEGOGO Plataforma estadounidense con la que se puede conseguir financiación para el desarrollo de proyectos en cualquier parte del mundo. Similar a KickStarter excepto por algunas cuestiones que veremos a continuación. Está totalmente traducida al castellano por lo tanto alcanza a un mayor público. Sin embargo, debido a su internacionalidad es mejor publicar los proyectos en inglés para aumentar el ratio de posibles patrocinadores. Figura 2.7.2: Logo Indiegogo. Disponible en https://www.indiegogo.com/about/brand. Accedido 20/10/2015. La forma de pago a los financiados de los proyectos es distinto al de KickStarter. Si un proyecto no llega al objetivo que se propone no se devuelve el capital obtenido a los inversores sino que se les entrega a los participantes del proyecto. Aunque no se consiga todos los recursos propuestos se tiene que desarrollar el proyecto acordado. Esto supone que si necesitas todo el dinero solicitado puedas quedarte sin presupuesto durante el desarrollo. Esta plataforma da la posibilidad a la publicación de proyectos destinados puramente a donaciones sin recompensa alguna o de intereses particulares. Además, dispone categorías especiales para emprendedores. Indiegogo se lleva un porcentaje de la recaudación del proyecto. Este porcentaje varía dependiendo de si el proyecto consigue llegar al objetivo propuesto. Si los integrantes consiguen igualar o superar el objetivo planteado Indiegogo cobrará un 4% del total Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 17 Diciembre de 2015 recaudado, sino es así, cobrará un 9%. Esto supone, que se penalizará a aquellos proyectos que no consigan el presupuesto establecido. Dentro de los gastos hay que tener en cuenta el 3% para procesamientos con tarjeta de crédito más un cargo de 25 dólares por transferencia para las campañas externas a Estados Unidos. También pueden aplicar cargos por cambio de divisas. LÁNZANOS. Primera plataforma de crowdfunding española. Muchos la categorizan como el KickStarter español. Creada en 2010, ha llevado al éxito a más de 300 proyectos. Además, ha logrado recaudar cifras superiores a tres millones de euros. Figura 2.7.3: Logo Lánzanos. Disponible en http://www.culturamas.es/blog/2010/12/15/%C2%BFtienes-un-proyecto-en-mentelanzanos-lo-hace-realidad. Accedido 20/10/2015. Su modelo de negocio está orientado a dar solamente la oportunidad de conseguir financiación a proyectos que necesite el mercado. Para verificar esa necesidad se ha creado el concepto de “caja”. Cada vez que se crea un nuevo proyecto se introduce en la “caja” con el objetivo de ser validado por los contribuidores. Para que el proyecto salga de la caja y pase a poder ser financiado debe recibir 100 votos positivos de posibles financiadores. Una de las principales diferencias de Lánzanos es que también puedes recaudar en el mundo offline (sin Internet) para favorecer la financiación de tu proyecto. Esto se hace por medio de unos vales que serán generados por el creador de cada proyecto en función de los apoyos vía offline que vaya a recibir. ULULE Es la principal plataforma de crowdfunding de toda Europa. Además, abrió en 2013 una delegación en España en un coworking en Barcelona. Es una plataforma multi-idiomas ampliando el abanico de patrocinadores para casi cualquier nacionalidad. Ha conseguido financiar a 2000 proyectos por valor de más de 6 millones de euros. Figura 2.6.4: Logo Ulule. Disponible en https://es.ulule.com/about/press. Accedido 20/10/2015. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 18 Diciembre de 2015 En esta plataforma se dividen los proyectos por diversas como música, películas, juegos, deportes, comics, arte, ecología, niños, entre otros. La forma de pago a los fundadores de los proyectos es similar a KickStarter. Si no llega se llega a la recaudación que se ha pedido no se piden las recompensas a los aportadores. Para los fondos recaudados mediante tarjeta de crédito o débito, Ulule aplica una comisión del 8% con el IVA, sobre la cantidad total recaudada para los proyectos exitosos. Incluye los costes de las transacciones financieras. En los fondos recaudados por PayPal y por medio de cheque Ulule aplica una comisión del 4,18% IVA excluido, sobre la cantidad total recaudada por los proyectos exitosos. En todo caso si el proyecto no alcanza su objetivo de financiación, no cobran ningún tipo de comisión. En este apartado no podemos estudiar todas las plataformas del mercado ya que existen muchísimas en todo el mundo. Por ello, se han recopilado todas las plataformas de España. Para acceder al listado se ha puesto un enlace en el anexo denominado “1. Listado de plataformas crowdfunding en España”. 3. Objetivos del proyecto. A continuación se establecerán los principales objetivos de este proyecto. Existen distintos tipos de objetivos:  Finalidades y utilidades del proyecto.  Actitudes y capacidades logradas tras acabar el proyecto. 3.1. Finalidades y utilidades del proyecto.  Desarrollar una plataforma de crowdfunding especializada en el sector de la educación. En concreto orientada a proyectos fin de carrera de cualquier universidad. En un principio se centrará en universidades españolas pero su cometido es ampliarse hacia cualquiera parte del mundo.  Crear un portal web multiplataforma en el cual los estudiantes de último curso puedan describir sus proyectos ante cualquier patrocinador potencial.  Facilitar a los alumnos su incorporación en el mercado laboral dándose a conocer entre multitud de empresas de su sector.  Mejorar la asignatura de “Proyecto fin de título” o “Trabajo fin de grado” ya que la plataforma añadirá una motivación extra a los alumnos. Esto se debe a que la plataforma les aportarán una oportunidad clara de conseguir posibles ofertas de trabajo, mejorar su reputación y adquirir experiencia laboral considerablemente.  El alumno tiene la oportunidad de demostrar todo lo que ha aprendido ante cualquier persona interesada.  Las ideas de los proyectos serán mucho más creativas y personalizadas ya que la intención del alumno es crear proyectos atractivos para el mercado.  El alumno podrá validar su idea ante el mercado sin coste alguno.  La reputación y diferenciación de las universidades que usen esta plataforma aumentará. Esto se debe a que los alumnos finalizarán su carrera con habilidades y destrezas que solamente se aprenden en un entorno profesional.  Se podrán desarrollar proyectos mucho más interesantes si el estudiante consigue financiación. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 19 Diciembre de 2015  Capacitar a los alumnos de realizar presupuestos reales justificados.  El sistema se compondrá de tres actores principales: estudiantes, financiadores y administrador.  El sistema simulará una plataforma de crowdfunding donde el estudiante podrá crear sus proyectos y publicarlos. Cada proyecto tiene asociado un capital mínimo para su desarrollo y un período de tiempo no superior a dos meses. Los financiadores podrán realizar donaciones durante el período establecido.  Todos los proyectos al acabar su período de recaudación pasan a un estado de desarrollo. Una vez alcanzado, se creará para cada uno de ellos una sección en la plataforma donde los integrante/s del equipo se encargarán de publicar los progresos del desarrollo hasta su finalización. Esta zona será accesible para todos aquellos financiadores que han contribuido en el proyecto.  Cada vez que se realice una contribución sobre un proyecto determinado, se almacenará en una cuenta temporal hasta que finalice el período de recaudación. Una vez acabado la plataforma cobrará un interés del total recaudado, más los intereses de las plataformas de pago utilizadas para gestionar los pagos y se entregará el resto a la universidad que será la responsable de administrarlo con los fundadores del mismo. 3.2. Actitudes y capacidades logradas tras acabar el proyecto.  Aprender a realizar portales web utilizando el framework Modelo-VistaControlador Symfony2 basado en PHP.  Aplicar los conocimientos de diseño e implementación de base de datos relacionales. En concreto, MySQL.  Aprender a utilizar ORM para acoplar la aplicación con la base de datos.  Llevar a cabo el proyecto utilizando la metodología de ágil SCRUM.  Utilizar la aplicación Git para el control de versiones.  Diseñar aplicaciones web.  Analizar los requisitos mediante diagramas de casos.  Manejo de distintos entornos: local o desarrollo, pruebas y pre-producción.  Uso de sistemas Linux para publicar el proyecto.  Aprender las bases de la fuente de financiación basada en crowdfunding ya que es unas de las alternativas más utilizadas por las startups en la actualidad.  Consolidar el conocimiento en leguajes del lado del cliente como: JavaScript, HTML5 y CSS3.  Aprender a planificar y desplegar proyectos.  Facilitar el mantenimiento de la plataforma para futuras versiones. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 20 Diciembre de 2015 Capítulo 2: Competencias. A continuación se establecerán cada uno de los hechos que demuestran el adecuado cumplimiento de las distintas competencias solicitadas. Para ello, se establecerán las pautas realizadas para cada tipo de competencia en concreto. 1. CII01 Capacidad para diseñar, desarrollar, seleccionar y evaluar aplicaciones y sistemas informáticos, asegurando su fiabilidad, seguridad y calidad, conforme a principios éticos y a la legislación y normativa vigente. En este caso se va a explicar cómo se han desarrollado cada una de las capacidades citadas durante el transcurso del proyecto. En concreto, las siguientes:  Selección y evaluación.  Diseño.  Desarrollo. 1.1. Selección y evaluación. Partiendo de los objetivos plasmados anteriormente, se debe establecer que tecnologías y pautas de desarrollo se van a usar para construir el sistema. Por lo tanto, aparecen distintas áreas funcionales importantes a tener en cuenta:  Modelo de datos.  Aplicación.  Entorno de prueba, desarrollo y producción.  Control de versiones.  Metodología de desarrollo. 1.1.1. Modelo de datos. Debido al alto nivel de interconexiones entre los distintos datos almacenados y el alto nivel de concurrencia que se plantea se ha optado por emplear una base de datos relacional. En concreto, el uso de MySQL. ¿Por qué MySQL? MySQL es la base de datos Open-Source más utilizada en todo el mundo. Su continuo desarrollo está consiguiendo ser un gran competidor frente a otros proveedores más robustos como Oracle. Además dispone de unas características extraordinarias:  Robusto soporte transaccional. Ofrece uno de los motores de bases de datos transaccionales más potentes del mercado.  Alta disponibilidad. Aporta un gran abanico de posibilidades para resolver el problema de la pérdida de disponibilidad empelando servidores de clúster especializados u ofertas de terceros.  Fuerte protección de datos. Ofrece soporte a los protocolos de SSH y SSL, gestión de copias de seguridad y diferentes formas de autenticación. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 21 Diciembre de 2015  Escalabilidad y flexibilidad. Esta sistema de base de datos puede manejar base de datos de cualquier tamaño sin ningún un problema. Además, soporta distintos sistemas operativos.  Alto rendimiento. Una arquitectura de motores de bases de datos permite a los administradores configurar el servidor MySQL a medida para cualquier tipo de aplicación mejorando considerablemente su rendimiento. 1.1.2. Aplicación. El propio concepto de crowdfunding se define como una fuente de financiación basada en micro-aportaciones, originadas por un gran número de personas. Por ello, necesitamos un medio en el cual podamos reunir a un número considerable de posibles inversores sin paliar grandes costes. Por lo tanto, hemos decidido utilizar tecnología web para su desarrollo debido a las grandes ventajas que proporciona. Para ello, recurrimos en la famosa arquitectura de software: “Cliente-Servidor”. Se constituye en un modelo distribuido donde existen dos partes diferencias:  Servidor: gestiona los servicios o recursos solicitados por los clientes.  Cliente: encargado de realiza las peticiones de los recursos hacia los servidores. ¿Por qué debemos usar la tecnología web? Tras pensarlo detenidamente, se ha concluido que nos aportará las siguientes ventajas:  Compatibilidad: los clientes solo deben tener instalado un navegador para poder acceder a la plataforma.  Multiplataforma: Se abstrae de las especificaciones de cualquier sistema operativo ya que solamente necesitamos tener un navegador instalado.  Escalabilidad: la relación coste-número de usuarios no es proporcional, es decir, los costes no aumentan drásticamente al aumentar el número de usuarios que usen en el sistema. Figura 1.1.2.1: Arquitectura cliente-servidor. Disponible en http://anagaldo.blogspot.com.es/2011/05/modelo-cliente-servidor.html. Accedido 23/10/2015.  Bajo consumo de recursos en el lado del cliente: Dado que el servidor se encarga de llevar a cabo la gestión de los recursos. La parte del cliente solamente Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 22 Diciembre de 2015 se encargará de presentar y pedir la información. Esto supone que los requisitos hardware de las máquinas usadas por el cliente no tienen por qué ser altos.  Centralización de los datos: Siempre se almacenan los datos en la parte del servidor. Esto proporciona un mayor control sobre la información. Además, el cliente nunca tiene que almacenar grandes volúmenes de datos ya que desde cualquier navegador puede acceder a ellos directamente pidiéndoselos al servidor.  Garantizar la disponibilidad empleando sistemas de alta disponibilidad como por ejemplo el uso de clústeres o sistemas redundantes RAIDs.  Actualizaciones sencillas: Al acceder a la plataforma siempre se encuentra en la última versión estable. Esto se debe, a que toda la información se encuentra en el servidor.  Integridad: Para garantizar la integridad de la información se establecerán protocolos seguros como HTTPS donde toda la información circulará por la red siempre cifrada. Además, al tener toda la información centralizada en el servidor es más sencillo protegerla ante posibles amenazas o accidentes.  Fiabilidad: El servicio prestado al cliente dependerá fundamentalmente de la parte servidora. Por ello, los proveedores de los servicios tienen la responsabilidad absoluta del sistema.  Portabilidad: Se pierde la dependencia que conlleva cualquier dispositivo ya que solamente se necesita tener acceso a internet y el uso de un navegador. ¿Y por qué no realizar una aplicación móvil? Debido al gran contenido que se puede generar en la plataforma pensamos que una web sería más apropiada para desarrollar la plataforma ya que se puede difundir más contenido y funcionalidades que en un terminal móvil. Otras plataformas de crowdfunding del mercado como Kickstarter e Indiegogo aportan ambas opciones. Poseen una web y además dan soporte a los principales sistemas operativos de los dispositivos móviles. Por ello, no quiere decir que en un futuro se pueda desarrollar una aplicación móvil para este proyecto. Una vez establecida la tecnología, debemos decidir los lenguajes de programación más adecuado para implementar la aplicación. Al tratarse de una aplicación web, se distinguen dos partes:  Front-end: Parte de la aplicación encargada de recoger y presentar la información al cliente. Se interconecta con el back-end a través de una API (Application Programming Interface).  Back-end: Parte de la aplicación encargada de implementar el modelo de negocio de la plataforma, la gestión de la base de datos y presentar una API para ser llamada desde el front-end. Muchos desarrolladores web las califican como aplicaciones totalmente distintas que interaccionan entre sí para conformar el sistema. Por lo tanto, para el front-end se emplearán:  HTML5: para la estructura de las vistas.  CSS3: para mejorar la estética de la aplicación.  Javascript: para enriquecer la vista haciéndola mucho más dinámica y atractiva. En concreto se usará el framework JQuery y la librería AJAX. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 29 Diciembre de 2015 Por último, el estudiante tendrá que llevar a cabo un contacto directo con las personas que han contribuido ya que debe informarles del progreso. Con ello se pretende mejorar las habilidades sociales útiles en el día a día de cualquier organización. Por lo tanto, de estas ventajas se beneficiará tanto el propio estudiante como la universidad que ofrece el servicio aprovechando al máximo el talento de los alumnos. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 30 Diciembre de 2015 Capítulo 4: Normativa y legislación. Para este proyecto existe un gran abanico de leyes, tanto nacionales como internacionales. Las más importantes salvaguardan los datos personales de cada usuario que integran el sistema o se relacionan con el comercio electrónico. Por último, se explicarán las leyes específicas que afectan a las fuentes de financiación basadas en crowdfunding. A continuación se desglosarán cada una de las normativas vigentes que afectan al proyecto describiendo los aspectos más relevantes a tener en cuenta para su adecuado cumplimiento: En primer lugar se describirá la Ley Orgánica de Proyección de Datos (LOPD). Esta normativa afecta a cualquier individuo u organización que recabe datos personales de cualquier tipo. En nuestro caso, se almacenan datos personales de los estudiantes que se dan de alta en el sistema, como por ejemplo su correo electrónico, nombre, apellidos, dirección entre otros. Además, se le pide información a los patrocinadores para mantener el contacto después de su contribución. Por ello, debemos adaptar nuestra plataforma a los requisitos establecidos por la LOPD para garantizar la protección y buen tratamiento de datos de carácter personal. Esta normativa clasifica distintos niveles de protección y tratamiento de datos:  Básicos: Si la información de carácter personal que se almacena son datos identificativos del usuario. Por ejemplo, identificador legal, correo electrónico, dirección, teléfono, firma, código postal, número de tarjeta, etc.  Intermedios: Información asociada a solvencias o créditos, intereses personales como costumbres, gustos o aficiones, datos tributarios o de la seguridad social, datos de prestación de servicios financieros, etc. En nuestro caso, almacenaremos datos de nivel básico ya que en la plataforma se recogerán los datos identificativos de los estudiantes y financiadores exclusivamente. Para llevar a cabo las contribuciones destinadas a cualquier proyecto, realizar pagos a los estudiantes y cobrar los intereses impuestos por la plataforma se usará una pasarela de pago externa que asumirá toda la responsabilidad en cuanto al movimiento de capital. Por ello, nos eximimos de las normativas que cubren las transacciones económicas. Ahora bien, ¿Qué se necesita para implantar correctamente la LOPD asegurando que nuestro sistema cumple el reglamento estipulado? Para cumplir adecuadamente con la LOPD, debemos seguir cada uno de los siguientes pasos:  Identificar los recursos que reúnan o almacenen cualquier dato de carácter personal. En nuestro caso, se encuentran exclusivamente localizados en la base de datos.  Identificar los niveles de protección que se les debe aplicar a cada uno de ellos.  Asociar un responsable encargado de salvaguardar el contenido de los recursos.  Elaboración de un informe claro y conciso de seguridad. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 31 Diciembre de 2015  Formar al responsable de los recursos de carácter personal.  Informar y explicar detalladamente a los usuarios afectados la existencia de dichos recursos.  Inscripción de los recursos en el Registro de la Agencia Española de Protección de Datos.  Elaborar y publicar la política de privacidad y aviso legal de la organización.  Desarrollar una vía por la cual los usuarios afectados puedan dar o denegar el consentimiento de su información personal localizada en esos recursos. Explícitamente la ley se compone de distintas obligaciones que recaen sobre el responsable del recurso o tratamiento. Éste será el responsable de velar por el cumplimiento de la Ley en su organización. Entre otros debe:  Notificar de la existencia de los ficheros ante el Registro General de Protección de Datos, para que se proceda a su inscripción.  Asegurarse de que los datos sean adecuados y veraces, obtenidos de forma lícita y legítimamente.  Garantizar el cumplimiento de los deberes de secreto y seguridad.  Informar a los titulares de los datos personales en la recogida de éstos.  Obtener el consentimiento para el tratamiento de los datos personales.  Facilitar y garantizar el ejercicio de los derechos de oposición al tratamiento, acceso, rectificación y cancelación.  Informar a los usuarios afectados si la información sensible se ha compartido con terceros. Además, estos terceros deben cumplir lo dispuesto en la LOPD. Además, en la propia normativa se incluye un régimen sancionador para aquellos individuos u organizaciones que no cumplan cualquiera de los artículos citados anteriormente. Según la naturaleza de los derechos personales afectados como por ejemplo los beneficios obtenidos, al grado de intencionalidad, al volumen de tratamientos efectuados, a la reincidencia o a cualquier otra circunstancia relevante que demuestre el grado de culpabilidad, se establecen distintos niveles de infracciones: Leve: Sanciones entre 600 € y 60.000 €  No solicitar la inscripción del fichero en la Agencia Española de Protección de Datos (AGPD).  Recopilar datos personales sin informar previamente.  No atender a las solicitudes de rectificación o cancelación.  No atender las consultas por parte de la AGPD. Graves: Sanciones entre 60.000 € y 300.000 €  No inscribir los ficheros en la AGPD.  No tener el consentimiento del interesado para recabar sus datos personales.  No permitir el acceso a los ficheros.  No seguir los principios y garantías de la LOPD.  Tratar datos especialmente protegidos sin la autorización del afectado.  Mantener los ficheros sin las debidas condiciones de seguridad. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 32 Diciembre de 2015 Son infracciones muy graves: Sanciones entre 300.000 € y 600.000 €  Crear ficheros para almacenar datos que revelen datos especialmente protegidos.  Recogida de datos de manera engañosa o fraudulenta.  Recabar datos especialmente protegidos sin la autorización del afectado.  Vulnerar el secreto sobre datos especialmente protegidos.  La comunicación o cesión de datos cuando ésta no esté permitida.  La transferencia temporal o definitiva de datos de carácter personal con destino a países sin nivel de protección equiparable o sin autorización Como podemos observar, se tienen que cumplir cada una de las obligaciones estipuladas ya que las sanciones son bastante altas si desobedecemos la ley. Por otro lado, nos enfrentamos a la Ley de Servicios de la Sociedad de la Información y Comercio Electrónico (LSSICE). Como su propio nombre indica, regula los servicios de la sociedad de la información y contratación por vía electrónica en España. En concreto, se encarga de salvaguardar:  Las obligaciones de los prestadores de servicios incluidos los que actúen como intermediarios en la transmisión de contenidos por las redes de telecomunicaciones.  Cualquier comunicación con intereses comerciales por vía electrónica.  Aportar la información necesaria antes y después de la celebración de contratos electrónicos.  Explicar las condiciones relativas a su validez y eficacia.  El régimen sancionador aplicable a los prestadores de servicios de la sociedad de la información. Esta ley se aplica a las empresas o individuos que desarrollan una actividad económica de comercio electrónico en la red, siempre y cuando sea accesible a cualquier usuario que posea una conexión a internet. La LSSICE parte de la aplicación a las actividades realizadas por medios electrónicos. Por ello, la LSSICE es de vital importancia para entender el entorno jurídico que rodea esta práctica comercial y financiera. Para ser más exactos, se establecen una serie de obligaciones y responsabilidades al prestador del servicio localizado en internet recogidas en la propia ley. Por ello, la plataforma web del prestador está obligada a indicar en un lugar accesible, fácil de encontrar, gratuito y de manera permanente la siguiente información:  Su nombre o denominación social y datos de contacto.  Indicar el número de inscripción del registro mercantil si la empresa está registrada.  Su número de identificación fiscal o código de identificación fiscal dependiendo de si existe una empresa responsable.  Información sobre el precio de los productos o servicios, indicando si incluye o no los impuestos aplicables y los gastos de envío. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 33 Diciembre de 2015  Los códigos de conducta a los que esté adherido, en su caso, y la forma de consultarlos electrónicamente También se recoge el deber de colaboración y responsabilidades de los prestadores de servicios intermediarios: Los prestadores de servicios de intermediación no tienen obligación de supervisar los contenidos que alojan, transmiten o clasifican pero deben colaborar con las autoridades competentes cuando se les requiera para interrumpir la prestación de un servicio relacionado con internet o para retirar un contenido de la red. Los prestadores de servicios de intermediación no son, en principio, responsables por los contenidos ajenos que transmiten, alojan o a los que facilitan acceso. No obstante, sí que pueden incurrir en responsabilidad si toman una participación activa en su elaboración o si, conociendo la ilegalidad de un determinado material, no actúan con rapidez para retirarlo o impedir el acceso al mismo. Por otro lado queda destacar que a todos los prestadores de servicios visibles en internet están sujetos al régimen sancionador previsto en la propia LSSICE por parte de las inspecciones del Ministerio de Industria, Energía y Turismo. Por lo tanto, nuestra plataforma debe existir una zona donde se describa la información asociada al prestador de servicios y al uso de intermediarios como son las plataformas de pago. Por último, cabe recalcar la nueva ley que cubre las competencias del crowdfunding. Se recogen todas en Proyecto de Ley de Fomento de la Financiación Empresarial en su Título V donde regula el régimen jurídico de las plataformas de financiación participativa definiéndolas como sociedades que ponen en contacto a través de páginas web a una pluralidad de inversores con promotores de proyectos de financiación participativa. Sin embargo, esta ley se aplica exclusivamente a dos tipologías dentro del crowdfunding, en concreto a las orientadas a inversiones y préstamos quedando fuera de la ley aquellas que ofrecen recompensas o donaciones. Por ello, no afecta a nuestra plataforma ya que se basará principalmente en donaciones con el incentivo de poder llevar un seguimiento del proyecto una se haya puesto en marcha. En conclusión, se han establecido las leyes más relevantes, citando las características relacionadas con los objetivos o propósitos del proyecto. Esto no quiere decir que solamente se tenga que cumplir lo propuesto anteriormente ya que existen otros artículos establecidos que pueden afectar en situaciones muy específicas. Para más información, en la bibliografía se ha introducido los accesos a los principales portales web de las distintas leyes donde se encuentran todos los artículos en detalle. Por todo ello, debemos cumplimentar en la plataforma cada una de las obligaciones anteriores propuestas en cada ley o seremos sancionados ya que el desconocimiento de las mismas no nos exime de su cumplimiento. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 34 Diciembre de 2015 Capítulo 5: Análisis. Una vez establecido la idea del proyecto, se ha tenido que realizar una serie de pasos para definir todos y cada uno de los requisitos necesarios. Para debatir y adquirir toda la información posible sobre el modelo de negocio de la plataforma se han llevado a cabo una serie de reuniones dentro de la organización de Singular Factory S.L. En concreto, nos hemos reunido el CEO de la organización y el tutor de la empresa. Ellos se han encargado de detallar todos los detalles que debe cumplimentar el proyecto. Por ello, no he tenido que ponerme en contacto directamente con clientes potenciales ya que se encargan otros compañeros dentro de la propia organización. Durante el transcurso de las reuniones se ha recolectado y recopilado sobretodo requisitos funcionales. Para la elección de los requisitos no funcionales se ha encargado la compañía de salvaguardarlos. Para modelar los requisitos funcionales se ha realizado un diagrama de casos de uso donde se plasman cada una de las actividades necesarias para llevar a cabo los distintos procesos dentro de la plataforma. Cada “Caso de uso”, se asocia directamente a unos roles o también conocidos como actores que interactúan con el sistema. En el anexo se introduce el “3. Diagrama de casos de uso” elaborado y el “4. Detalle de cada uno de los casos de uso” que ayudarán a identificar a la perfección todos los requisitos funcionales que debe incorporar la plataforma de crowdfunding. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 35 Diciembre de 2015 Capítulo 6: Requisitos hardware y software. Para desarrollar esta plataforma se tienen que establecer varios requisitos tanto en hardware como en software. A continuación, se clasificarán cada uno de los requisitos por su relevancia, estableciendo una escala del uno al diez. A mayor magnitud más relevancia incurre en el desarrollo del proyecto, es decir, se le dará más importancia a requisitos específicos que se necesiten en el desarrollo del proyecto que a requisitos genéricos menos importantes empleados en este tipo proyectos. Además, se explicará la utilidad de cada uno de ellos. En primer lugar se establecerán los requisitos de hardware y posteriormente los de software: Requisitos de hardware: Nombre Utilidad Especificaciones Prioridad Equipo informático para el desarrollo. Necesario para desarrollar la plataforma en todas sus vertientes. En cuanto a requisitos del equipo, es recomendable tener al menos 4GB de memoria RAM y un alto ritmo de trasferencia con la memoria secundaria para acelerar la gestión de la información reduciendo los tiempos de latencias tras el acceso. Además, se requiere un espacio de 10GB de memoria no volátil para almacenar el código fuente, recursos de prueba y la base de datos. No es una plataforma que necesite un elevado esfuerzo del procesador. Por ello con un procesador Intel i3, a 1.80 GHz es más que suficiente. 10 Servidor de pruebas/ preproducción. Necesario para probar la plataforma en un entorno accesible por cualquier miembro autorizado de la organización. Requisitos desconocidos ya que existen otros perfiles dentro de la organización que se encargan de ello. 5 Servidor de producción. Se emplea para desplegar la plataforma ante el cliente final. Por ello, debe ser accesible desde cualquier red. Requisitos desconocidos ya que existen otros perfiles dentro de la organización que se encargan de ello. 5 Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 36 Diciembre de 2015 Sistema de red interna y externa. Se emplea para establecer una comunicación tanto en el interior de la organización como con el exterior. Requisitos desconocidos ya que existen otros perfiles dentro de la organización que se encargan de ello. 10 Tabla 6.1: Requisitos de hardware. Requisitos software: Nombre Utilidad Especificaciones Prioridad Sistema operativo en equipo local. Necesario para interconectar la parte hardware con la software. Entre multitud de funcionalidades necesarias como gestión de memoria, procesador, entrada/salida, archivos, privilegios, etc. Además, da soporte al resto del software que se va a utilizar para el desarrollo de la plataforma. Cualquier sistema operativo Linux, Windows o MAC OS. En este caso se ha empleado Windows 8.1 por su gran variedad de software compatible para el desarrollo. 7 Sistema operativo en servidores. Necesario para interconectar la parte hardware con la software. Entre multitud de funcionalidades necesarias como gestión de memoria, procesador, entrada/salida, archivos, privilegios, etc. Sistema Linux. Sin embargo, los requisitos específicos son desconocidos ya que existen otros perfiles dentro de la organización que se encargan de ello. 3 Entorno de desarrollo integrado (IDE) compatible con la tecnología empleada. Entorno gráfico que facilita al programador el desarrollo de software basándose en un editor de código fuente, herramientas de depuración, construcción automática de En este caso se ha empleado un IDE comercial denominado PhpStorm. Da soporte a los lenguajes PHP, HTML y JavaScript. Además, de 10 Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 37 Diciembre de 2015 sentencias, autocompletado, generar documentación, refactorización de código, entre muchos otras ventajas. Suelen estar asociados a uno o varios lenguajes de programación. Además, usualmente dan soporte a los principales frameworks. incorporar todas las características habituales de cualquier IDE, tiene un gran soporte a diversos plugins que pueden ser utilizarlos para integrar distintos frameworks o librerías necesarias para el desarrollo. Por último indicar, que integra software de control de versiones e integración con diferentes bases de datos. Servidor web compatible con la tecnología empleada. Software encargado de realizar desde el lado del servidor conexiones bidireccionales y/o unidireccionales tanto asíncronas como síncronas con el cliente, generando o cediendo una respuesta a través del protocolo HTTP en cualquier lenguaje o aplicación del lado del cliente. Depende del lenguaje empleado en el lado del servidor. En este caso, se ha empleado el servidor web Apache2 versión 2.4. Esto se debe, a que soporta perfectamente el lenguaje PHP. Actualmente es el servidor más utilizado del mundo y es gratuito. 10 Sistema de gestión de base de datos relacional (SGBD). Conjunto de software que permite gestionar el almacenamiento, extracción y modificación de la información en la base de datos. Por lo tanto, nos sirve para administrar la estructura de datos Para ello, se ha empleado MySQL. Además, para gestionar gráficamente el conjunto de tablas se ha usado la aplicación PhpMyAdmin. Con ella, se 10 Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 38 Diciembre de 2015 definida por el modelo de negocio. facilita considerablemente la visualización e interacción con el SGBD. Aplicación para desarrollo del diagrama de casos de usos y diagrama de clases basados en Lenguaje Unificado Modelado (UML). Se ha utilizado para generar el diagrama de casos de usos gráficamente. Para ello, se ha usado StartUML. Esta aplicación se basa en representar fácilmente cualquier diagrama basado en UML. 8 Gestor gráfico para elaboración de diagramas Entidad Relación (ER) Se ha empleado para definir gráficamente el diagrama EntidadRelación con el que se describe todo el modelo de datos. Para su desarrollo se ha usado la aplicación gratuita “Dia” bajo licencia GPLv2 destinada a elaborar diagramas estructurados de todo tipo. En ellos se incluyen los diagramas ER. 8 Control de versiones Durante el desarrollo se ha empleado software de control de versiones para registrar los cambios que se van realizando, almacenar el código en lugares más seguros, histórico de progresos, realizar cambios sobre los registros almacenados entre muchos otros. Para ello, se ha empleado Git. Soporta cada una de las características citadas tanto en entornos locales como de forma distribuida. 7 Framework para desarrollar mejor software en menos tiempo siguiendo los principales patrones de diseño. Es una parte fundamental para desarrollar cualquier tipo de software. Esto se debe a que ayuda al desarrollador a seguir métricas o pautas revalidadas por la comunidad que lo soporta. Mejora la Se ha usado Symfony2. Es un framework que sigue el patrón de diseño Modelo-VistaControlador (MVC) y uno de los más utilizados 10 Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 45 Diciembre de 2015 Figura 1.1.2.1: Cabecera de la plataforma para usuarios en sesión.  Cerrar sesión: acción encargada de cerrar la sesión asociada al usuario que haya previamente accedido al sistema.  Acceso a mi sitio web: Tras acceder al sistema aparecerán cada una de las funcionalidades permitidas dependiendo del rol que posea el usuario. 1.1.3. Pie de la plataforma. En esta sección se define toda la información estática de la plataforma.  Acerca de nosotros. Se informa a los internautas cual es modelo de negocio, objetivos, funcionamiento de la plataforma y quienes somos. Con ello se pretende cumplir la ley LSSICE.  Soporte. Se aporta un servicio de ayuda ante cualquier problema encontrado o similares. Se crea un canal entre cualquier internauta y la plataforma como indica la ley LOPD mediante correos electrónicos.  Legal. En esta sección se establecen los términos de uso y la política de privacidad de la plataforma. Como indica las LOPD se debe informar a los usuarios del uso que se le da a su información personal y como se va a savaguardar.  Redes sociales. Acceso a las distintas redes sociales institucionales de la plataforma. 1.1.4. Resultados de búsquedas.  Proyectos encontrados tras realizar la búsqueda. Esta pantalla es similar a la principal. Sin embargo, en ella se despliegan todos los proyectos relacionados con los criterios de búsqueda establecidos. Como se ha explicado en la vista principal, se mostrará un pequeño detalle de cada proyecto encontrado. Además al cliquear encima del proyecto se accederá a su detalle. 1.1.5. Detalle del proyecto. Sin duda alguna la vista más importante del proyecto. En ella, se describe con detalle el proyecto planteado por cada estudiante y se le da la opción al inversor la posibilidad de contribuir económicamente. En primer lugar, todos los proyectos deben tener un breve video promocional que presente y describa las intenciones u objetivos que pretende alcanzar cada uno de los proyectos. El video debe estar disponible en Youtube, ya que la plataforma no se encarga de almacenarlos sino de anexarlos externamente a travéz de su url. Este video, debe ser sencillo de entender por parte de los inversores y atractivo ya que es uno de los recursos más importantes a la hora de atraer al mayor número de financiadores. Además, se describen todos y cada uno de los atributos asociados a todos los proyectos como por ejemplo: estado del proyecto, objetivo, contribución actual, descripción, fecha de publicación, número de financiadores y tiempo restante para finalizar la recaudación. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 46 Diciembre de 2015 Por otro lado, se describen diferentes subsecciones donde se recoge toda la información necesaria para que los financiadores apuesten por el proyecto. En el prototipo se definen cuatro secciones diferentes: o Descripción detallada: se debe explicar perfectamente en qué consiste el proyecto y que pretende conseguir una vez esté desarrollado completamente. o Integrantes: aparecerán todos los integrantes del proyecto. Siempre estarán disponible el alumno o alumnos responsables del proyecto con la finaliadad de poder darse a conocer ante los patrocinadores. Por otro lado, se podrán añadir a los tutores o miembros externos colaboradores si dan su concentimiento previamente. o Actualizaciones: se pretendía dar la opción al estudiante de poder modificar o añadir nuevos contenidos al proyecto una vez estuviese en fase de recaudación. En esta sección quedarían registradas todas y cada una de las actualizaciones registradas por el alumno. Sin embargo, esta sección se ha planteado dejarla para futuras versiones ya que se saldría del número máximo de horas estipuladas en la realización de este trabajo fin de grado. o Recursos adjuntos: en esta sección se desplegarán todos los recursos adjuntos asociados al proyecto. Entre ellos, se podrá anexar documentos e imágenes de interés para los financiadores. o Justificación presupuestaria: Esta sección no aparece en el prototipo ya que ha sido añadida posteriormente tras estudiar con mayor profundidad el modelo de negocio de la plataforma. En ella se debe explicar por qué y para qué se necesitan los recursos solicitados. Esto aportará una mayor confianza a los patrocinadores a la hora de contribuir. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 47 Diciembre de 2015 Figura 1.1.5.1: Detalle de un proyecto publicado. 1.1.6. Forma de pago. En esta sección se recoge la información asociada al financiador, selección de la plataforma de pago que gestionará tanto las transacciones económicas como su facturación y el envió opcional de comentarios al fundador del proyecto. El flujo de ingresos de esta plataforma se asemeja al empleado por la web dedicada al crowdfunding Indiegogo. Por cada uno de los pagos realizados por los financiadores el sistema cobrará unos determinados intereses porcentuales independientemente de si el alumno ha llegado a conseguir el objetivo esperado. Por lo tanto, no se devolverá dinero Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 48 Diciembre de 2015 a los financiadores como ocurre en Kickstarter. Esto se debe a que los estudiantes deben desarrollar su proyecto de todas formas para que puedan acabar la titulación consigan financiación o no. Por otro lado, para la gestión de las transacciones económicas y de su facturación se pretende emplear plataformas de pago externas como por ejemplo PayPal. Por lo tanto, otra parte de los pagos serán destinados a cubrir los intereses de estos intermediarios. Con ello cabe recalcar que la responsabilidad que conlleva el proceso económico recae sobre terceros. Una vez acabe la recaudación se entregarán todos los recursos restantes a la universidad para que gestione junto con los alumnos el uso del mismo cumpliendo el presupuesto acordado. En el prototipo inicial, se ha introducido un formulario que pide la cuenta bancaria del financiador. Sin embargo, se ha impuesto el requisito de no guardar nunca información bancaria sobre ningún usuario. Por lo tanto, se ha sustituido por enlaces a plataformas de pago externas. Por otro lado, esta misma pantalla se ha dividido en tres diferentes para establecer un orden natural a la hora de llevar a cabo contribuciones y mejorar la usabilidad de la plataforma. Están ordenadas por orden de aparición:  Información de registro del financiador.  Formas de pagos.  Comentario destinado a los integrantes del proyecto. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 49 Diciembre de 2015 Figura 1.1.6.1: Formas de pago. 1.1.7. Crear/Editar proyectos. Esta funcionalidad está asociada exclusivamente a los estudiantes. Estos, podrán insertar y editar toda la información asociada a un determinado proyecto. Una vez creado el proyecto pasa a un estado de borrador con la finalidad de verificar la información propuesta antes de hacerlo visible para los internautas. En la creación o edición de proyectos se han incluido diferentes secciones con la finalidad de dar la posibilidad a los alumnos de enriquecer considerablemente sus propuestas. Con ello, se pretende atraer a un mayor número de financiadores. A continuación se detallarán cada una de las secciones disponibles para el estudiante:  Introducir información general. En esta sección se puede añadir el título del proyecto (debe ser único en la plataforma), una breve descripción e insertar el video promocional. Esta descripción será utilizada para el resumen del proyecto. En un principio se daba la opción de subir cualquier video a nuestra plataforma. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 50 Diciembre de 2015 Sin embargo, se preveía que se necesitaría demasiado espacio de almacenamiento para almacenarlos. Por ello, se ha optado por anexar videos desde la plataforma Youtube.  Introducir la información recaudatoria. El objetivo monetario y período de recaudación. Se ha planteado en reuniones dentro de la organización no permitir ampliar más de dos meses el período de recaudación debido a que los estudiantes no tienen demasiado tiempo para esperar por los recursos necesarios ya que deben ponerse a desarrollarlo lo antes posible. Sin embargo, se ha dejado preparado para que en el futuro sea totalmente configurable por el administrador.  Descripción detallada. Se debe explicar detalladamente el objetivo pretendido con el proyecto dando todos los detalles interesantes para que el inversor apueste por dicho proyecto. Está información se mostrará en la sección del detalle del proyecto.  Otros integrantes. Es una sección totalmente opcional. En ella se pueden añadir otros colaboradores como por ejemplo tutores académicos o de empresa siempre y cuando den su consentimiento. Para cada uno de ellos se puede definir su profesión y nombre completo. Con ello, los posibles financiadores podrán contrastar la veracidad del proyecto al reconocer a los integrantes.  Información académica. En ella se relaciona el proyecto con una titulación, rama del conocimiento y universidad. Esto se debe a que los proyectos son los que pertenece a una determinada universidad no el propio estudiante. Esto permite que el alumno pueda crear proyectos para distintas universidades, titulaciones o ramas. En el prototipo no se puede observar el campo “titulación” debiéndose a que fue introducido posteriormente. Esto es debido a que es de suma relevancia permitir la búsqueda de proyectos por este criterio con el objetivo de mostrar a los posibles financiadores los proyectos que realmente le interesan.  Recursos adjuntos. Se pueden anexar un número máximo de documentos e imágenes. Sin embargo, como vemos en el prototipo aparecen videos anexos. Anteriormente se ha comentado que la plataforma no almacenará videos debido a su gran tamaño, por lo tanto en esta sección no estarán permitidos. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 51 Diciembre de 2015 Figura 1.1.7.1: Secciones para crear/editar proyectos. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 52 Diciembre de 2015 Figura 1.1.7.2: Secciones para crear/editar proyectos. 1.1.8. Mis proyectos. En esta pantalla se mostrarán el listado de proyectos creados en la vista anterior. Desde ella, se pueden administrar los distintos proyectos donde se presenta la información más relevante de cada proyecto. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 53 Diciembre de 2015 A cada proyecto se le atribuyen una serie de acciones, entre ellas cabe destacar la opción de editar, publicar, eliminar, actualizar y acceder al repositorio de publicaciones. El repositorio de publicaciones es una zona de la plataforma donde el estudiante deberá ir publicando los avances del desarrollo del proyecto. Los patrocinadores que hayan apostado por dicho proyecto serán los únicos que tendrán acceso a esta información. Se ha eliminado la opción de añadir una actualización sobre un proyecto en fase de recaudación ya que no se ha desarrollado esta funcionalidad por los motivos comentados. Además, cada opción estará activada dependiendo del estado en el que se encuentre el proyecto:  Borrador: ver, eliminar, editar y publicar.  Publicado: ver.  Desarrollo: ver.  Finalizado: ver. Figura 1.1.8.1: Listado de todos los proyectos creados. El acceso al repositorio de publicaciones se ha introducido como una nueva sección fuera de este panel de administración con la finalidad de mejorar el acceso por parte de los estudiantes. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 54 Diciembre de 2015 1.1.9. Perfil del estudiante. En esta sección se recoge toda la información relevante del estudiante. Tanto el correo electrónico como el alias deben ser únicos ya que se usan para acceder al sistema. Se podrá suministrar la siguiente información:  Información personal. En ella se describe la información personal del estudiante como nombre, apellidos, descripción, lugar de residencia, fotografía representativa entre otras.  Información de contacto. Este apartado es totalmente opcional. Se ha introducido con la finalidad de que el estudiante pueda recibir retroalimentación externa por parte de los internautas interesados. En ella se pueden introducir redes sociales asociadas, sitios web y números de teléfonos para contactar directamente. Figura 1.1.9.1: Editar perfil del estudiante. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 61 Diciembre de 2015 /** * Proyectos * * @ORM\Table() * @ORM\Entity(repositoryClass="\CrowfundingTfg\WebBundle\Repository\ProyectosRepository") * @UniqueEntity(fields={"titulo"}, message="El título del proyecto ya está registrado en el sistema") * @ORM\HasLifecycleCallbacks */ class Proyectos { /** * @var integer * * @ORM\Column(name="id", type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") */ private $id; /** * @var string * * @ORM\Column(name="titulo", type="string", length=255, nullable=true) */ private $titulo; /** * @var string * * @ORM\Column(name="descripcion", type="string", length=400, nullable=true) */ private $descripcion; /** * @var \DateTime * * @ORM\Column(name="fechaPublicacion", type="datetime", nullable=true) */ private $fechaPublicacion; /** * @ORM\OneToMany(targetEntity="Contribuciones", mappedBy="proyecto") */ protected $contribuciones; /** * @ORM\OneToMany(targetEntity="Integrantes", mappedBy="proyecto", cascade={"persist"}) */ protected $integrantes; Figura 2.1.1: Resumen de la entidad Proyectos. La entidad es mucho más extensa, sin embargo para verla completamente se debe acceder al código fuente anexado junto a esta memoria. Como podemos observar, cada campo asociado a una tabla se representa mediante un atributo. Para indicar las restricciones y relaciones se emplean las denominadas anotaciones precedidas de un “@”. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 62 Diciembre de 2015 Por ejemplo, el atributo “objetivo” representa el la cantidad de recursos económicos necesarios para llevar a cabo el proyecto: /** * @var float * * @ORM\Column(name="objetivo", type="float", nullable=true) */ private $objetivo; Figura 2.1.2: Código de un atributo y su restricción de nulidad en la entidad Proyectos. En primer lugar, se indica el tipo de dato al atributo o columna, “Float” en este caso. El ORM lo interpreta y lo convierte al tipo de datos correspondientes en el sistema de base de datos. Figura 2.1.3: Tabla Proyectos en la base de datos real. El campo objetivo, en la base de datos real corresponde a “Double”. Además, se le asigna una restricción de nulidad “nullable=true” pudiendo comprobar en la base de datos real que admite valores nulos para esta columna. Por otro lado, tenemos varios ejemplos que representan relaciones entre distintas entidades. Por ejemplo: Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 63 Diciembre de 2015 /** * @ORM\OneToMany(targetEntity="RecursosAdjuntos", mappedBy="proyecto", cascade={"remove", "persist", "refresh"}) */ protected $recursosAdjuntos; Figura 2.1.4: Código de relación uno-a-muchos en la entidad proyectos. En este caso, la entidad Proyectos tiene asociada una relación uno-a-muchos con la entidad RecursosAdjuntos. Además, posee una clave ajena que indica si el proyecto asociado a un recurso adjunto, se elimina, crea o actualiza lo hará también en la entidad RecursosAdjuntos. Con ello, se quiere plasmar que un proyecto posee muchos recursos adjuntos. Para completar la relación, en la entidad RecursosAdjuntos debe existir la siguiente relación: /** * * @ORM\ManyToOne(targetEntity="Proyectos", inversedBy="recursosAdjuntos") */ private $proyecto; Figura 2.1.5: Código de relaciones muchos-a-uno en la entidad RecursosAdjuntos. Existe una relación muchos-a-uno. Esto implica que un recurso adjunto tiene como máximo un proyecto asociado. Por otro lado, además de definir las restricciones y columnas de las diferentes tablas se deben introducir al menos los métodos de acceso y modificación de los atributos: /** * Set objetivo * @param float $objetivo * @return Proyectos */ public function setObjetivo($objetivo) { $this->objetivo = $objetivo; return $this; } /** * Get objetivo * @return float */ public function getObjetivo() { return $this->objetivo; } Figura 2.1.6: Código de métodos de acceso y modificación de atributos. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 64 Diciembre de 2015 Por último, se pueden añadir otros métodos que estén asociados a las diferentes columnas para inicializar y tratar los datos como deseemos según los requisitos a implantar en la aplicación: /** * @ORM\PrePersist() * @ORM\PreUpdate() */ public function preUpload() { if (null !== $this->getRecurso()) { // do whatever you want to generate a unique name $this->nombrecifrado = sha1(uniqid(mt_rand(), true)); $this->path = $this->getUploadDir().'/'.$this->nombrecifrado . '.' . $this->getRecurso()- >guessExtension(); } } Figura 2.1.7: Código de otros métodos relacionados con las entidades. En este método, está relacionado con el atributo “recurso” localizado en la entidad RecursosAdjuntos. Su finalidad es realizar un resumen del nombre del documento cada vez que se inserte o actualice esta entidad en la base de datos. Esto es útil, para no tener nombres de recursos repetidos a la hora de guardarlos en el servidor. Como podemos observar se emplea el algoritmo SHA1. Una vez desarrolladas todas las entidades y sus relaciones correspondientes Doctrine 2 posee diferentes comandos que se encargan de generar la base de datos, los esquemas y las tablas en la base de datos real a partir de las entidades creadas. Figura 2.1.8: Base de datos real generada. Una vez ejecutados se obtiene la base de datos en perfectas condiciones para realizar todo tipo de transacciones desde la aplicación. Con ello, se da por concluido el primer sprint. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 65 Diciembre de 2015 2.2. Sprint 2: Universidades, administradores e invitaciones. En este nuevo sprint se han desarrollado todos aquellos requisitos asociados a las universidades y administradores. Además, se ha desarrollado la funcionalidad de registro de estudiantes por medio de invitaciones por los motivos comentados en capítulos anteriores. Se ha incluido en este sprint ya que es una labor asociada al administrador siendo el responsable de velar por la autenticidad de los estudiantes. Además, el administrador también es el encargado de gestionar la información relacionada con los centros donde se imparte la docencia. Por esta misma razón, se encuentran encapsulados en el mismo sprint. En este período de desarrollo, se van a realizar las siguientes funcionalidades:  Registro de usuarios administradores.  Alta de universidades.  Registro de estudiantes.  Menú del administrador. 2.2.1. Registro de usuarios administradores. Esta plataforma está pensada para que exista un único o grupo reducido de administradores encargados de gestionar todos los centros universitarios y el registro de estudiantes. Su principal motivo es intentar centralizar la inserción de datos delicados en el sistema. Si la información de una universidad es errónea los estudiantes perderán la confianza en este soporte conllevando a que disminuya el número de financiadores. Por otro lado, si se da de alta en el sistema como estudiante alguien que en realidad no lo es, los financiadores podrían sentirse engañados causando un daño irreparable a la imagen de la plataforma. Por ello, la labor del administrador es muy importante. Con ello se pretende que los estudiantes encuentren la información correcta y los financiadores apoyen los proyectos de estudiantes reales. Por otro lado, para registrar administradores en el sistema se ha desarrollado un proceso automático o script. Se introducen el alias, contraseña y correo electrónico como parámetros de entrada y como resultado lo inserta en la base de datos con el rol “Administrador”. Nunca se guarda la contraseña en texto plano sino que se emplea un “algoritmo de hash” para ocultarla. Tanto el alias como el correo electrónico deben ser únicos en el sistema. En este sprint no estará disponible el “Inicio de sesión” ya que se desarrollará en el sprint siguiente. Por ello, el administrador desde la web no podrá acceder a todas las funcionalidades desarrolladas hasta el momento. Una vez creado el “Inicio de sesión” se le mostrará un menú desplegable donde podrá acceder exclusivamente a las funcionalidades establecidas en el “Menú del administrador” descrito al final de este sprint. 2.2.2. Alta de universidades. Antes de comenzar a explicar esta funcionalidad, se debe explicar cómo se representa una universidad y de qué se compone. Todos los centros de enseñanza superior imparten una serie de titulaciones vinculadas a grandes ramas de conocimiento. Las universidades están relacionadas con al menos una rama del conocimiento. Tras una serie de reuniones se han aprobado cinco ramas del conocimiento que deben englobar todas las titulaciones: Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 66 Diciembre de 2015  Arquitectura e ingeniería.  Ciencias sociales y jurídicas.  Ciencias de la salud.  Ciencias.  Artes y humanidades. El administrador podrá asignar a cada una de estas ramas las titulaciones que correspondan. Por ejemplo, el “Grado en Ingeniería Informática” está relacionada con la rama del conocimiento “Arquitectura e ingeniería”. Para que la información relacionada con las universidades sea integra y fiable se pretende centralizar su inserción en el sistema. Por ello, esta labor se le asignará al administrador. Figura 2.2.2.1: Alta de universidades y titulaciones. Como podemos observar, el administrador es el encargado de dar de alta a cualquier universidad que se quiera incorporar a la plataforma. En primer lugar debe introducir los datos específicos de la universidad y a continuación para cada una de las ramas del conocimiento que se impartan, las titulaciones que le correspondan. 2.2.3. Registro de estudiantes. El administrador será el encargado de dar de alta a los estudiantes que cursan el trabajo fin de título por medio de invitaciones vía correo electrónico. Esto es así porque se pretende ejercer un mayor control sobre la autenticidad de los alumnos que acceden a la plataforma. Si se permitiese un registro masivo podría darse el caso de que cualquier internauta se hiciese pasar por un alumno violando el modelo de negocio de este proyecto. Además, cualquier financiador piensa que los autores de los proyectos son alumnos, si ocurriese lo contrario se dañaría considerablemente la imagen de la plataforma. Por ello, se ha optado por la centralización del registro de estudiantes usando invitaciones enviadas por el administrador. Para enviar una invitación se le aporta al administrador un breve formulario en el cual podrá introducir el correo electrónico del estudiante, nombre, apellidos y el documento nacional de identidad (DNI) que se utilizará como alias para identificar a los alumnos con mayor facilidad. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 67 Diciembre de 2015 Figura 2.2.3.1: Alta de estudiantes por invitación. Una vez establecidos, el administrador emitirá un correo electrónico destinado al alumno dándole la bienvenida al sistema. Además, en dicho correo se incorpora un enlace para que el estudiante acepte la invitación. Figura 2.2.3.2: Correo electrónico de acceso al sistema para los estudiantes. Al cliquear en “Me gustaría unirme a la plataforma SingularFunding” accederá a una pantalla de registro donde vendrán rellenos sus alias (Correo electrónico y DNI) y un pequeño formulario donde debe generar su contraseña para entrar en el sistema. Si el correo electrónico o el DNI son incorrectos el estudiante puede ir al pie de página donde se encuentra la sección “Soporte”. En ella, está disponible un enlace denominado “Contacta” donde se encuentra la dirección de correo electrónico empleada para atender a los usuarios. También la invitación posee el enlace “Contacta”. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 68 Diciembre de 2015 Figura 2.2.3.3: Aceptar invitación y registro del estudiante. Por otro lado, solamente se registran en el sistema aquellos usuarios que completen este formulario. El resto de alumnos que son invitados no se registrarán hasta que no acepten la invitación introduciendo su contraseña. En el siguiente sprint se desarrollará el “Login” o “Inicio de sesión” para permitir el acceso de los usuarios en la plataforma. Una vez desarrollado, con el DNI o correo electrónico y la contraseña recién creada podrán acceder a las funcionalidades asociadas a su rol dentro del sistema. 2.2.4. Menú del administrador. Se ha elaborado un menú específico para el administrador. Está formado por varios enlaces que le permiten acceder a sus funcionalidades: enviar invitaciones a los estudiantes, dar de alta a cualquier universidad y cambiar su contraseña. Esta última se desarrollará en el siguiente sprint ya que afecta a todos los usuarios que se pueden dar de alta en el sistema Figura 2.2.4.1: Menú del administrador. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 69 Diciembre de 2015 2.3. Sprint 3: Estudiantes. En este tercer sprint, se van a elaborar las principales funcionalidades relacionadas con los “Estudiantes”. En concreto, se va a realizar lo siguiente:  Implantación de los usuarios del sistema en la base de datos.  Acceso y salida del sitio personal por parte de los estudiantes.  Perfil privado del estudiante.  Cambio y recuperación de contraseña para los usuarios.  Menú del estudiante. Los “Estudiantes” son los actores fundamentales de la plataforma. Esto se debe a que su principal cometido es poder publicar proyectos interesantes para cualquier persona con la finalidad de conseguir reconocimiento y los recursos económicos necesarios para poner en marcha sus proyectos. Este capital será destinado a la elaboración de proyectos mucho más ricos y originales que sin ayuda de un apoyo externo serían imposibles de subvencionar para muchas universidades. A continuación se detallarán cada una de las funcionalidades citadas anteriormente: 2.3.1. Implantación de los usuarios del sistema en la base de datos. Una vez desarrolladas todas las entidades que representan al modelo de datos, se ha realizado un estudio previo para el desarrollo de la gestión de usuarios. Symfony2 nos aporta un plugin o bundle (Nomenclatura de Symfony2) para este cometido. Tiene una gran cantidad de funcionalidades, tales como el acceso/salida al sistema de usuarios, cambios de contraseña, registros, recuperación de contraseña, notificaciones vía email, cifrado de contraseñas, entre otras. Además, aporta una capa de seguridad excepcional siendo de los más recomendados por la propia comunidad. Por todo ello, se ha optado por emplearlo en la plataforma. Para que funcione correctamente, precisa de una pequeña configuración y la creación de una entidad ya implementada para representar a los usuarios. Este bundle nos proporciona una gran cantidad de campos que se crean directamente en la base de datos como por ejemplo “alias”, “email”, “activo” entre otros. En nuestro código, solamente tenemos que extender a la clase BaseUser implementada por el propio bundle: class Usuarios extends BaseUser { ….. } Figura 2.3.1.1: Código para utilizar plugins externos. En el sprint 1, se han creado las relaciones existentes entre la entidad Usuarios y sus descendientes: financiadores, administradores y estudiantes. En concreto, cada uno de los roles representan lo siguiente:  Estudiantes: alumnos que cursan trabajos fin de título invitados por los administradores. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 70 Diciembre de 2015  Administradores: usuarios encargados de llevar la gestión y control de la de la plataforma.  Financiadores: cualquier internauta o usuario del sistema que realice alguna donación sobre al menos un proyecto. Con el acoplamiento del bundle a la entidad Usuarios podremos gestionar cualquier rol del sistema aunque se añada con posterioridad, ya que si queremos crear uno nuevo, solamente tendremos que extender de ella y elaborar la relación. 2.3.2. Iniciar, cerrar sesión y restablecer contraseña. Figura 2.3.2.1: Iniciar sesión. Para que cualquier usuario (financiador, estudiante y administrador) pueda acceder al sistema, debe introducir sus credenciales. Cada usuario posee dos identificadores que los distinguen del resto, su dirección de correo electrónico y su alias. En el primer campo de texto, se podrá introducir cualquiera de los dos para acceder al sistema. Además, debe introducirse la contraseña para garantizar la autenticidad del usuario. Por otro lado, las contraseñas nunca se almacenarán en base de datos en texto plano sino que se empleará un “algoritmo de hash” que generará una ristra de caracteres que representarán la clave cumpliendo con las obligaciones que se establecen en la LOPD como se ha comentado anteriormente. Por otro lado, se le da la posibilidad a cualquier usuario de poder restablecer su contraseña en caso de olvido. Para ello, se emplea el enlace de “¿Has olvidado contraseña?”. Este enlace llevará a otra vista donde el usuario debe introducir el correo electrónico o el alias empleado en la plataforma. El sistema envía un correo electrónico con un enlace donde se podrá restablecer la contraseña. Por lo tanto, para poder cambiar la contraseña la única forma es tener acceso al correo utilizado para darse de alta. Figura 2.3.2.2: Restablecer contraseña. Como en este sprint no tenemos implementado los roles “Estudiantes” y “Financiadores” se han realizado pruebas exclusivamente con el rol “Administrador” desde el portal web. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 77 Diciembre de 2015 Esta última funcionalidad permite anexar a un proyecto diferentes recursos para dar más información y hacerlo más atractivo. En concreto, documentos e imágenes. También, es la sección donde se define la imagen de portada del proyecto. Una vez creado el proyecto pasa a estado “Borrador” a la espera de ser publicado. Además, solamente puede ser editado en este mismo estado. 2.4.2. Listado de proyectos creados. Cuando se crea un proyecto se introduce en un listado de administración. En él, se podrá editar, eliminar y publicar dependiendo del estado en el que se encuentre. Además, se puede comprobar su estado, su recaudación actual, el tiempo restante para que finalice su etapa de publicación y más información relevante del proyecto. Figura 2.4.2.1: Listado de proyectos creados. En esta vista se han creado bastantes proyectos con la finalidad de mostrar la paginación elaborada en la tabla. Sin embargo, normalmente el estudiante tendrá asociado uno por cada proyecto fin de carrera que desarrolle. Por ello, el número de proyectos será muchísimo menor. 2.4.3. Cambiar los estados de progreso de los proyectos. Como se ha indicado en otras ocasiones, los proyectos tienen un ciclo de vida. Este ciclo va marcado por diferentes estados:  Borrador: estado inicial una vez creado. Se puede editar, eliminar y publicar. Además, solamente serán accesibles por el estudiante que lo ha elaborado.  Publicado: es el siguiente estado. Se genera una vez publicado un proyecto en estado “borrador”. En este estado, hace que el proyecto sea visible para cualquier internauta comenzando su período de recaudación durante los días especificados. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 78 Diciembre de 2015  Desarrollo: este estado se alcanza una vez acaba el plazo de recaudación. Aquellos financiadores que han contribuido en proyectos con este estado tendrán acceso a sus publicaciones (elaboradas por los estudiantes durante el desarrollo).  Finalizado: El estudiante finalizará el proyecto cuando acabe su desarrollo. Por lo tanto el sistema se encarga de generar tanto el estado “borrador” y “desarrollo” automáticamente. El estudiante se encarga de publicar y finalizar un proyecto. 2.4.4. Ver detalles de proyectos abiertos al público. En esta sección se ha desarrollado el detalle de los proyectos accesibles al público “publicados”, “desarrollo” y “finalizado”. Figura 2.4.4.1: Detalle de un proyecto publicado. Cualquier internauta puede acceder al detalle de cualquier proyecto publicado donde se reflejarán todas y cada una de las secciones elaboradas por los distintos estudiantes. Para ello, deben cliquear sobre el resumen de un proyecto localizados en la pantalla principal o tras realizar una búsqueda. Lo más importante de esta vista es la zona de contribución donde se pueden introducir las donaciones sobre el proyecto. En la parte inferior se encuentran una serie de pestañas encargadas de mostrar toda la información asociada al proyecto:  Descripción: En esta sección se incluye la descripción detallada del proyecto elaborada por los estudiantes.  Justificación presupuestaria: En esta sección se describen las distintas causas por las que el estudiante necesita el capital solicitado.  Integrantes: Creador del proyecto más los integrantes introducidos si los hubiese.  Recursos adjuntos: documentos e imágenes anexadas para enriquecer el proyecto. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 79 Diciembre de 2015 Figura 2.4.4.2: Listado de proyectos creados. En el siguiente sprint se incluirá una nueva pestaña donde se generará un listado con todos los comentarios emitidos por los financiadores una vez se realice una contribución. 2.5. Sprint 5: Financiadores. En este sprint se han desarrollado todas aquellas funcionalidades relacionadas con los casos de uso de los financiadores. Son una parte fundamental de la plataforma, ya que sin ellos los estudiantes no publicarían sus proyectos y la plataforma no tendría ingresos. Estas personas son las encargadas de realizar pagos de forma voluntaria a cualquier proyecto publicado que les interese. Además, tienen como recompensa el acceso a diferentes publicaciones realizadas por los estudiantes una vez puesto en desarrollo el proyecto. Cabe destacar, que solamente se pueden realizar contribuciones en proyectos con estado “Publicado”. En concreto, se van a llevar a cabo los siguientes requisitos:  Salvaguardar la información del financiador una vez se realice el pago.  Formas de pago.  Realizar comentarios para los estudiantes.  Ver proyectos financiados. Para acceder a ciertas funcionalidades previamente se tienen que haber llevado a cabo otras. Por ejemplo, para llegar a seleccionar la forma de pago el financiador ha tenido previamente que salvaguardar su información en el sistema. 2.5.1. Salvaguardar información del financiador una vez realizado el pago. Si un proyecto se encuentra en estado “Publicado” al acceder a su detalle veremos que existe la opción de realizar una contribución. Para ello, se debe introducir el importe con el que se quiere apoyar al proyecto. Si no hay ningún usuario en sesión cuando se realice significará que está contribuyendo un usuario anónimo. Por ello, se mostrará un formulario de registro donde debe introducir sus datos personales para darse de alta como Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 80 Diciembre de 2015 “Financiador” en el sistema. Una vez registrado, se pasará a la siguiente etapa del pago (“Pantalla formas de pago”). En caso de que exista un usuario en sesión no hará falta esta información ya que anteriormente se ha tenido que registrar en el sistema saltando directamente a la selección de las formas de pago. Figura 2.5.1.1: Registro del financiador. 2.5.2. Formas de pago. Una vez realizada una contribución por parte de un financiador, esta es la siguiente etapa que se encontrará. Al realizar un pago, nos lleva a una pantalla con las diferentes formas de pago, en este caso, solamente PayPal. Para realizar pagos, se necesita estar registrado en PayPal ya que es el encargado de ingresar las contribuciones en una cuenta asociada a la plataforma. Cuando los proyectos publicados alcancen el estado de desarrollo tanto PayPal como nuestra plataforma cobrará el porcentaje de interés que le corresponde. El resto se entregará al estudiante, poniéndose en contacto manualmente con la universidad responsable para realizar la transferencia. Una vez realizado el pago correctamente se pasará a la siguiente etapa. Sin embargo, en esta versión no se realizarán pagos reales, por ello, siempre se accederá a la siguiente etapa. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 81 Diciembre de 2015 Figura 2.5.2.1: Seleccionar la forma de pago y realizar el pago. 2.5.3. Realizar comentarios para los estudiantes. Esta es la última etapa que puede realizar cualquier financiador tras realizar un pago. Una vez formalizada la contribución a través de las plataformas de pago existentes, se permitirá al financiador realizar un comentario destinado al estudiante. Es totalmente opcional. Su finalidad es conseguir retroalimentación y apoyo por parte de los financiadores. Figura 2.5.3.1: Emitir un comentario. Estos comentarios serán accesibles desde una nueva pestaña en el detalle del proyecto abierto al público. En ella se muestra el historial de todos los comentarios ordenados por fecha de contribución. Figura 2.5.3.2: Listado de comentarios enviados por los financiadores. 2.5.4. Ver proyectos financiados. Por último, una vez finalizado el proceso de contribuciones pueden ocurrir dos situaciones: Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 82 Diciembre de 2015  Si el usuario que ha realizado el pago es anónimo podrá acceder al sistema como rol “Financiador”. Ello implica que se le abrirá una sección donde podrá consultar todos y cada uno de los proyectos en los que ha participado. Una vez el proyecto alcance el estado de desarrollo tendrá acceso a las publicaciones del mismo.  Si el usuario que ha realizado el pago estaba en sesión en el sistema, es decir, es un estudiante o un financiador ya registrado aparecerá el nuevo proyecto en la lista de proyectos financiados. Figura 2.5.4.1: Listado de proyectos financiados por un usuario. 2.6. Sprint 6: Pantalla inicial y buscador. En este sprint, se realizarán dos funcionalidades importantes de cara a facilitar la accesibilidad y búsqueda de proyectos en el sistema. Estas funcionalidades estarán disponibles para cualquier internauta que acceda a la plataforma. Por ello a continuación veremos el desarrollo:  Pantalla inicial.  Buscador de proyectos. 2.6.1. Pantalla inicial. Una vez desarrolladas las acciones fundamentales para cada uno de los actores del sistema, se ha elaborado la pantalla principal de la aplicación. Es muy importante, ya que es lo primero que se encontrará cualquier internauta al acceder a la plataforma. El objetivo principal es causar una buena impresión a los posibles financiadores para que accedan al mayor número de proyectos posibles. Se ha decidido que el contenido de esta vista sea un resumen de los proyectos más financiados, es decir, aquellos que tengan más beneficios. Cada proyecto tiene asociada una rama del conocimiento. Por ello, se han creado tantas secciones como ramas existan en el sistema, con la finalidad de introducir los cuatro proyectos más financiados correspondientes a su rama. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 83 Diciembre de 2015 Figura 2.6.1.1: Resumen de proyectos más financiados por ramas del conocimiento. 2.6.2. Buscador de proyectos. Por otro lado, se ha desarrollado un buscador de proyectos con la finalidad de que cualquier posible financiador pueda localizar fácilmente los proyectos que realmente le interesen. Para ello, es necesario establecer diferentes filtros de búsqueda donde los internautas pueden introducir información específica que facilite la búsqueda de proyectos. En concreto, se han establecido los siguientes:  Título del proyecto.  Nombre del estudiante.  Universidades.  Titulación.  Intervalo de fechas de publicación.  Ramas del conocimiento.  Estados del proyecto. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 84 Diciembre de 2015 Figura 2.6.2.1: Buscador de proyectos. Una vez realizada la búsqueda se mostrarán todos los proyectos relacionados de forma similar a la pantalla principal. Figura 2.6.2.2: Resultados de búsqueda. 2.7. Sprint 7: Publicaciones en los proyectos. Este sprint está orientado exclusivamente a aquellos proyectos que han alcanzado el estado de “Desarrollo”, implicando que ha acabado su período de recaudación. Como se ha comentado en sprints anteriores, tras formalizar un pago en un determinado proyecto se crea un vínculo entre el financiador y el proyecto financiado. Una vez alcance el estado de “Desarrollo” todos y cada uno de los financiadores que han contribuido en el proyecto tendrán acceso a una serie de publicaciones expuestas por el creador del proyecto. La finalidad de estas publicaciones es informar a los financiadores del progreso del mismo. Por lo tanto, los estudiantes pueden explicar los avances, problemas, sugerencias y siguientes pasos a los financiadores. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 85 Diciembre de 2015 En concreto, se van a realizar las siguientes funcionalidades:  Zona de publicaciones para estudiantes.  Zona de publicaciones para financiadores. 2.7.1. Zona de publicaciones para estudiantes. Para cada uno de los estudiantes, se ha creado una nueva sección donde se listan todos los proyectos en estado “Desarrollo” creados por el mismo. Figura 2.7.1.1: Proyectos en estado desarrollo para un mismo estudiante. Desde esta pantalla, se podrán realizar tres acciones: 2.7.1.1. Crear una nueva publicación. Figura 2.7.1.1.1: Crear nueva publicación. El estudiante debe rellenar estos campos para informar a los financiadores. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 86 Diciembre de 2015 2.7.1.2. Finalizar el proyecto. Cuando en un proyecto se han implantado todos los requisitos detallados en la solicitud del mismo el alumno podrá marcarlo como finalizado. Esto ocasiona que cambie su estado de “Desarrollo” a “Finalizado”. 2.7.1.3. Ver el historial de publicaciones realizadas. Figura 2.7.1.3.1: Detalle de una publicación. Una vez haya creado cualquier publicación se generará un listado con cada una de ellas para que puedan ser accesibles en cualquier momento. Esta misma vista, se utilizará para que los patrocinadores puedan acceder a las publicaciones de sus proyectos financiados. 2.7.2. Zona de publicaciones para financiadores. Una vez se haya realizado un pago, los financiadores tendrán acceso a un listado de proyectos financiados. Cuando estos proyectos alcancen el estado de “Desarrollo” se podrá acceder a sus publicaciones. La pantalla es similar al historial de publicaciones realizadas por el estudiante como se ha comentado anteriormente. 2.8. Sprint 8: Información estática. Figura 2.8.1: Información estática. En este último sprint, se ha desarrollado el pie de página de la plataforma donde se incluye toda la información estática. En concreto se han realizado las siguientes secciones: Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 93 Diciembre de 2015 informar a los financiadores que han contribuido. Para crear y lanzar la publicación se debe cliquear en el botón “Publicar”.  Ver historial de publicaciones: Una vez se haya accedido al sistema, situarse en el menú desplegable “Mi sitio” y cliquear en “Proyectos en desarrollo”. A nivel de proyecto, se debe cliquear en el botón “Ver publicaciones”. Podremos ver el resumen de todas las publicaciones asociadas al proyecto.  Ver detalle de una publicación: Una vez se haya accedido al sistema, situarse en el menú desplegable “Mi sitio” y cliquear en “Proyectos en desarrollo”. A nivel de proyecto, se debe cliquear en el botón “Ver publicaciones”. A nivel de publicación, se tiene que cliquear en el botón “Ver detalle completo” para ver toda la información relativa a una publicación. 2.2.3. Rol financiador.  Ver proyectos financiados por mí: Una vez se haya accedido al sistema, situarse en el menú desplegable “Mi sitio” y cliquear en “Proyectos financiados”. Encontraremos todos los proyectos en los que hemos contribuido.  Ver historial de publicaciones: Una vez se haya accedido al sistema, situarse en el menú desplegable “Mi sitio” y cliquear en “Proyectos financiados”. A nivel de proyecto, se debe cliquear en el botón “Ver publicaciones”. Podremos ver el resumen de todas las publicaciones asociadas al proyecto (si el proyecto se encuentra en estado desarrollo).  Ver detalle de una publicación: Una vez se haya accedido al sistema, situarse en el menú desplegable “Mi sitio” y cliquear en “Proyectos financiados”. A nivel de proyecto, se debe cliquear en el botón “Ver publicaciones” (si el proyecto se encuentra en estado desarrollo). A nivel de publicación, se tiene que cliquear en el botón “Ver detalle completo” para ver toda la información relativa a una publicación. Por último, aclarar que los usuarios con rol “Estudiante” pueden alcanzar el rol “Financiador” ya que pueden realizar pagos sobre cualquier proyecto publicado. Por lo tanto, si se produce esta eventualidad ambos roles tendrán acceso a las acciones del financiador. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 94 Diciembre de 2015 III. Bibliografía. A continuación se establecerán todos los enlaces de terceros consultados: SpainCrowdFunding (2015). Objetivos. Disponible en http://web.spaincrowdfunding.org/objetivos. Accedido el 20 de octubre de 2015. Forbes (2012). What Is Crowdfunding And How Does It Benefit The Economy. Disponible en www.forbes.com/sites/tanyaprive/2012/11/27/what-iscrowdfunding-and-how-does-it-benefit-the-economy. Accedido el 16 de octubre de 2015. Wikipedia (2015). Micromecenazgo. Disponible en https://es.wikipedia.org/wiki/Micromecenazgo. Accedido el 18 de octubre de 2015. AEFR (2013).Financiación colectiva en clave de participación. Disponible en http://www.compromisoempresarial.com/wpcontent/uploads/Crowdfunding_financiacion_colectiva.pdf. Accedido el 20 de octubre de 2015. VANACCO (2015). Guía básica de crowdfunding: Tipos de crowdfunding. Disponible en https://vanacco.com/guia-tipos-de-crowdfunding/. Accedido el 20 de octubre de 2015. CNBC (2013). You hear lots about crowdfunding, but what is it?. Disponible en http://www.cnbc.com/2013/10/23/crowdfunding-definition-from-cnbc.html. Accedido el 20 de octubre de 2015. SpainCrowdFunding (2013). Información básica sobre el crowdfunding. Disponible en http://web.spaincrowdfunding.org/wpcontent/uploads/2013/09/informaci%C3%B3n-b%C3%A1sica1.pdf. Accedido el 22 de octubre de 2015. Gestión (2015). Ventajas e inconvenientes del crowdfunding. Disponible en http://www.gestion.org/economia-empresa/gestion-contable/42225/ventajas-einconvenientes-del-crowdfunding. Accedido el 24 de octubre de 2015. Rincón del emprendedor (2014). Las 6 mejores plataformas de crowdfunding. Disponible en http://rincondelemprendedor.es/6-mejores-plataformas-decrowdfunding. Accedido el 24 de octubre de 2015. EFPA (2015). Entrevista a Francisco Marín, presidente del Comité de Servicios Asociados de EFPA España: “El crowdfunding puede tener un crecimiento exponencial en España en los próximos años”. Disponible en http://www.efpa.es/noticia/1134/entrevista-a-francisco-marin-el-crowdfundingpuede-tener-un-crecimiento-exponencial-en-espanya-en-los-proximos-anyos-. Accedido el 26 de octubre de 2015. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 95 Diciembre de 2015 Oracle (2015). MySQL. Disponible http://www.oracle.com/us/products/mysql/resources/index.html. Accedido el 26 de octubre de 2015. Wikipedia (2015). Arquitectura cliente-servidor. Disponible en https://es.wikipedia.org/wiki/Cliente-servidor. Accedido el 2 de noviembre de 2015. Wikipedia (2015). Aplicaciones web. Disponible en https://es.wikipedia.org/wiki/Aplicaci%C3%B3n_web. Accedido el 2 de noviembre de 2015. Programación (2015). Ventajas y desventajas de PHP. Disponible en http://programacion.net/articulo/por_que_elegir_php_143. Accedido el 2 de noviembre de 2015. Wikipedia (2015). Control de versiones. Disponible en https://es.wikipedia.org/wiki/Control_de_versiones. Accedido el 4 de noviembre de 2015. Wikipedia (2015). Metodología ágil SCRUM. Disponible en https://es.wikipedia.org/wiki/Scrum. Accedido el 4 de noviembre de 2015. AGPD (2015). Obligaciones LOPD. Disponible en https://www.agpd.es/portalwebAGPD/canalresponsable/obligaciones/index-idesidphp.php. Accedido el 4 de noviembre de 2015. LSSI (2015). Obligaciones y responsabilidades de los prestadores de servicios relacionados con Internet. Disponible en http://www.lssi.gob.es/la-ley/aspectosbasicos/Paginas/obligaciones-responsabilidades.aspx. Accedido el 4 de noviembre de 2015. BOE (2015). Ley 5/2015, de 27 de abril, de fomento de la financiación empresarial. Disponible en https://www.boe.es/boe/dias/2015/04/28/pdfs/BOE-A-2015-4607.pdf. Accedido el 4 de noviembre de 2015. Wikipedia (2015). Wireframe. Disponible en https://es.wikipedia.org/wiki/Wireframe_%28Dise%C3%B1o_web%29. Accedido el 6 de noviembre de 2015. Wikipedia (2015). Patrones de diseño. Disponible en https://es.wikipedia.org/wiki/Patr%C3%B3n_de_dise%C3%B1o. Accedido el 6 de noviembre de 2015. UTFSM (2015). Modularidad. Disponible en http://www.inf.utfsm.cl/~smoreno/documentos/8_Tema.pdf. Accedido el 6 de noviembre de 2015. OMG (2015). UML. Disponible en http://www.omg.org/spec/UML/2.5. Accedido el 6 de noviembre de 2015. Symfony (2015). Libro oficial de Symfony. Disponible en http://librosweb.es/libro/symfony_2_4. Accedido el 9 de noviembre de 2015. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 96 Diciembre de 2015 Doctrine (2015). Doctrine 2. Disponible en http://www.doctrineproject.org/projects/orm.html. Accedido el 10 de noviembre de 2015. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 97 Diciembre de 2015 IV. Terminología. Wireframe: es una guía visual que representa el esqueleto o estructura visual de un sitio web. El wireframe esquematiza el diseño de página u ordenamiento del contenido del sitio web, incluyendo elementos de la interfaz y sistemas de navegación, y cómo funcionan en conjunto. Framework (Marco de trabajo): es una estructura conceptual y tecnológica de soporte definido, normalmente con módulos de software concretos estandarizados, que puede servir de base para la organización y desarrollo de del software. Normalmente, estos módulos son comunes a todas las aplicaciones que utilicen una cierta tecnología. Con ello se pretende la reutilización de código y llevar a cabo proyectos en la menor brevedad posible. Symfony2: framework PHP modelo-vista-controlador que aporta herramientas de desarrollo que te permiten programar más rápido, construir aplicaciones más robustas afectando lo mínimo en la forma de trabajar. Bundle: concepto similar al de los plugins en otras aplicaciones. La diferencia clave es que en Symfony2 todo es un bundle, incluyendo tanto la funcionalidad básica de la plataforma como el código escrito para tu aplicación. Permiten utilizar funcionalidades construidas por terceros o empaquetar tus propias funcionalidades para distribuirlas y reutilizarlas en otros proyectos. Además, facilitan mucho la activación o desactivación de determinadas características dentro de una aplicación. Metodología de desarrollo SCRUM: marcos de desarrollo ágiles basados en una estrategia de desarrollo incremental, en lugar de la planificación y ejecución completa del producto y solapamiento de las diferentes fases del desarrollo, en vez de llevar a cabo una tras otra en un ciclo secuencial o de cascada. La planificación del desarrollo se divide en distintos períodos de tipo denominados sprints. En el comienzo del proyecto, se describen los requisitos que debe abarcar cada uno de ellos. Doctrine2: Doctrine es un mapeador de objetos-relacional (ORM) escrito en PHP que proporciona una capa de persistencia para objetos PHP. Es una capa de abstracción que se sitúa justo encima de un sistema de gestión de base de datos con la finalidad de aislar al programador de los conocimientos específicos necesarios para cada base de datos. UML (Lenguaje Unificado de Modelado): es el lenguaje de modelado de sistemas de software más conocido en la actualidad. Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema. Además, se emplea para especificar o para describir métodos o procesos. Diagrama casos de uso: el diagrama de casos de uso representa la forma en como un cliente (actor) opera con el sistema en desarrollo, además de la forma, tipo y orden en como los elementos interactúan (operaciones o casos de uso). Diagrama Entidad/Relación: un diagrama o modelo entidad-relación es una herramienta para el modelado de datos que permite representar las entidades relevantes de un sistema de información así como sus interrelaciones y propiedades. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 98 Diciembre de 2015 Algoritmo de hash o funciones hash: Son funciones matemáticas que se encargan de transformar un parámetro de entrada en un conjunto de caracteres de finitos, normalmente de longitud fija. Con una misma entrada siempre se consigue el mismo conjunto de caracteres. Sin embargo, a partir del conjunto de caracteres resultante jamás se podrá obtener el parámetro de entrada. Se utilizan para innumerables situaciones como por ejemplo la firma electrónica, representación de contraseñas, autenticación, control de acceso entre otras. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 99 Diciembre de 2015 V. Anexos. 1. Plataformas de crowdfunding en España Para acceder al listado completo de plataformas crowdfunding registradas en España se debe acceder al siguiente enlace: “http://www.crowdacy.com/crowdfunding-espana/” No se incluyen en el anexo ya que son demasiadas. 2. Prototipo. En esta sección se detalla el prototipo (wireframe) inicial del proyecto. Sin embargo, se han añadido y modificado bastantes elementos. En capítulo 7 apartado Implementación se muestran todos y cada uno de los cambios realizados sobre este prototipo. Figura 2.1: Crear una nueva cuenta para un estudiante (Posteriormente se cambió la forma de darse de alta en la plataforma usando invitaciones). Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 100 Diciembre de 2015 Figura 2.2: Acceso al sistema por parte de los usuarios registrados. Figura 1.3: Alta de universidades. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 101 Diciembre de 2015 Figura 2.4: Perfil del estudiante. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 102 Diciembre de 2015 Figura 2.5: Editar perfil del estudiante (se ha unificado con la figura anterior). Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 109 Diciembre de 2015 Figura 2.13: Realizar un pago sobre un proyecto. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 110 Diciembre de 2015 3. Diagrama de casos de uso. 3.1: Diagrama de casos de usos. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 111 Diciembre de 2015 4. Detalles de cada uno de los casos de uso. A continuación se detallarán cada uno de los casos de uso descritos en el diagrama anterior. 4.1 Detalle de los actores involucrados en el sistema. Un usuario del sistema puede tener más de un rol. Por ejemplo, un estudiante fin de título puede ser además financiador. Nombre Estudiante fin de título Descripción Alumno/a matriculado en la asignatura “Trabajo fin de Grado o similar”, en cualquier universidad dada de alta en el sistema. Generalmente estos usuarios podrán registrarse, gestionar su perfil, gestionar sus proyectos fin de carrera, publicarlos ante el mercado, recibir el importe obtenido para su desarrollo, informar a los financiadores del progreso en sus proyectos y acabarlos cumpliendo los requisitos estipulados en su definición. Son el motor principal del sistema. Tabla 4.1.1: Actor Estudiante fin de título. Nombre Financiador Descripción Cualquier persona que done algún importe económico sobre un proyecto publicado por un estudiante fin de título. Generalmente estos usuarios serán capaces de registrarse, financiar proyectos y obtener información sobre aquellos proyectos que ha financiado. Actor fundamental que ayudará al estudiante fin de título a desarrollar mejores proyectos fin de carrera. Tabla 4.1.2: Actor Financiador. Nombre Administrador Descripción Encargado de supervisar el sistema y mantener la integridad de los datos para el correcto funcionamiento del mismo. Además, es el encargado de dar de alta a las universidades asociadas a una serie de ramas con sus respectivas titulaciones. Por otro lado, será el responsable de dar de alta a los estudiantes en el sistema para garantizar la autenticidad de los mismos. Tabla 4.1.3: Actor Administrador. Nombre Anónimo Descripción Cualquier internauta que acceda directamente a la plataforma. Este tipo de usuario no se podrá dar de alta en el sistema. Solamente tendrá acceso a los proyectos publicados por los diferentes estudiantes de fin de título. Tienen la posibilidad de convertirse en financiadores si realizan algún pago sobre los proyectos publicados. Tabla 4.1.4: Actor Anónimo. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 112 Diciembre de 2015 4.2 Detalle de los casos de uso. Nombre Registrar universidades. Autor Kevin Manuel Sánchez Araña. Fecha 22/09/2015 Descripción Permite registrar en el sistema distintas universidades asociadas a diferentes ramas del conocimiento que imparte. Cada rama del conocimiento está dividida en una serie de titulaciones. Actores Administrador. Precondiciones El administrador debe estar logueado en el sistema. Flujo normal 1. Acceder al menú desplegable y cliquear en “Alta Universidades”. 2. Rellenar los campos asociados a la universidad. 3. Rellenar las titulaciones asociadas a una serie de ramas del conocimiento según se requiera. 4. Cliquear en el botón “Guardar” para comprometer el proceso. Flujo alternativo 4. A. Si se insertan los datos incorrectamente se notificará al administrador para que los corrija. Poscondiciones Los datos asociados a la universidad, rama y titulación se almacenarán en base de datos si el proceso concluye correctamente. Si ocurre algún altercado te avisará con un mensaje de error. Tabla 4.2.1: Registro de universidades. Nombre Recuperar contraseña. Autor Kevin Manuel Sánchez Araña. Fecha 22/09/2015 Descripción Proceso que permite a cualquier usuario registrado en el sistema generar una nueva contraseña en caso de olvido o pérdida. Actores Administrador, estudiante fin de título y financiador. Precondiciones El usuario debe estar registrado en el sistema. Con lo cual ya debe tener asignada una contraseña previa. Flujo normal 1. Acceder a la pantalla principal. 2. Cliquear en el botón entrar. 3. Cliquear en “¿Has olvidado contraseña?”. 4. Introducir el alias o correo electrónico del usuario afectado. 5. Acceder al correo electrónico asociado al usuario para recibir un acceso al formulario de generar una nueva contraseña. 6. Insertar una nueva contraseña y verificarla. 7. Cliquear en “Enviar” para completar el proceso. Flujo alternativo 4. A. Si el alias o correo electrónico no es correcto el sistema notificará de ello. 7. A. Si la nueva contraseña no coincide con su verificación el sistema notificará de ello. Poscondiciones Los actores involucrados podrán modificar su contraseña actual. Con ello, el usuario podrá acceder al sistema si ha olvidado la contraseña. Tabla 4.2.2: Recuperar contraseña. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 113 Diciembre de 2015 Nombre Cambiar contraseña. Autor Kevin Manuel Sánchez Araña. Fecha 22/09/2015 Descripción Formulario que permite a cualquier usuario registrado en el sistema modificar su contraseña. Actores Administrador, estudiante fin de título y financiador. Precondiciones El usuario debe estar registrado en el sistema. Con lo cual ya debe tener asignada una contraseña previa. Flujo normal 1. Acceder como financiador, estudiante fin de título o administrador. 2. Acceder al menú desplegable “Mi sitio” y cliquear en “Cambiar contraseña”. 3. Introducir la contraseña actual y la nueva contraseña. 4. Cliquear en “Cambiar contraseña” para completar el proceso. Flujo alternativo 3. A. Si la contraseña actual es incorrecta el sistema notificará de ello. Poscondiciones Los actores involucrados podrán modificar su contraseña actual. Tabla 4.2.3: Cambiar contraseña. Nombre Registrar estudiante Autor Kevin Manuel Sánchez Araña Fecha 22/09/2015 Descripción Permite introducir nuevos estudiantes fin de título a la plataforma. Actores Administrador. Precondiciones Haber accedido al sistema como administrador. Flujo normal 1. Acceder al menú desplegable y cliquear en el apartado “Registrar estudiantes”. 2. Rellenar las credenciales de un nuevo estudiante fin de título “Alias, correo electrónico y contraseña de acceso”. 3. Cliquear en el botón “Registrar” para guardar el usuario y enviarle un correo electrónico con las credenciales de acceso al estudiante. Flujo alternativo 3. A. Si ya existe un usuario con registrado en el sistema con las mismas credenciales se notificará con un error. Poscondiciones El estudiante fin de título obtendrá las credenciales de acceso a la plataforma quedando registrado en el sistema. Tabla 4.2.4: Registrar estudiante. Nombre Acceder al sistema Autor Kevin Manuel Sánchez Araña Fecha 22/09/2015 Descripción El administrador, financiadores y estudiantes de fin de título puedan acceder a su sitio personal en la plataforma donde se encuentran todos los recursos disponibles para cada rol, creando una nueva sesión. Actores Administrador, estudiantes fin de título y financiadores. Precondiciones Estar registrado en el sistema. Flujo normal 1. Acceder a la cabecera de la plataforma mientras no se haya iniciado sesión previamente. 2. Cliquear en el botón “Entrar”. 3. Rellenar el formulario con las credenciales asociadas al usuario (“Alias o correo electrónico y contraseña). Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 114 Diciembre de 2015 4. El sistema valida las credenciales y muestra para cada usuario su sitio personal. Flujo alternativo 4. A. Si las credenciales son incorrectas el sistema notifica de ello. Poscondiciones Los usuarios registrados podrán acceder a su sitio personal en la plataforma, mostrándole todos los recursos accesibles correspondientes a su rol. Tabla 4.2.5: Acceder al sistema. Nombre Salir del sistema Autor Kevin Manuel Sánchez Araña Fecha 22/09/2015 Descripción Acción que permite cerrar la cuenta del usuario que está actualmente en sesión. Actores Administrador, financiadores y estudiantes fin de título. Precondiciones Tener una sesión abierta en el sistema. Flujo normal 1. Cliquear en la cabecera de la plataforma la opción “Salir”. Flujo alternativo Poscondiciones La sesión abierta se cerrará quedando inaccesible la información relativa al usuario en cuestión. Tabla 4.2.6: Salir del sistema. Nombre Buscar proyecto Autor Kevin Manuel Sánchez Araña Fecha 22/09/2015 Descripción Proceso que permite buscar proyectos con estado “Publicado, Desarrollo y Finalizado” generados por los estudiantes de fin de título. Para ello, se presentan diferentes filtros como “Nombre del proyecto, intervalo de fechas de publicación, estados en los que se encuentra, ramas del conocimiento, titulaciones y nombre del estudiante”. Actores Todos. Precondiciones Flujo normal 1. Acceder a la cabecera de la plataforma y accionar el botón “Buscar”. 2. Introducir los filtros por los que se desea buscar. 3. Cliquear en el botón “Buscar” para completar la búsqueda relacionada con dichos filtros. 4. El sistema muestra los resultados de los proyectos que coinciden con dichos filtros. Flujo alternativo Poscondiciones El usuario podrá acceder a todos los proyectos resultantes de la búsqueda realizada. Tabla 4.2.7: Buscar proyecto. Nombre Contribuir en un proyecto Autor Kevin Manuel Sánchez Araña Fecha 22/09/2015 Descripción Poder contribuir en determinados proyectos creados por diferentes estudiantes fin de título. Actores Todos Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 115 Diciembre de 2015 Precondiciones Haber seleccionado un proyecto con estado “Publicado”. Este estado significa que el proyecto se encuentra recaudando entre los plazos disponibles. Flujo normal 1. Acceder al detalle de un proyecto, cliqueando en la imagen principal o en su título. 2. Introducir el importe en el sistema y cliquear en el botón “Contribuir”. Flujo alternativo Poscondiciones El usuario que intenta contribuir puede registrarse en el sistema como rol financiador o realizar directamente un pago económico seleccionando las formas de pagos disponibles. Tabla 4.2.8: Contribuir en un proyecto. Nombre Registrar financiador Autor Kevin Manuel Sánchez Araña Fecha 22/09/2015 Descripción Registrar a cualquier usuario que no esté dado de alta en el sistema como financiador. Actores Anónimo. Precondiciones Haber iniciado el proceso de contribución citado en el caso de uso “Contribuir en un proyecto” sin estar logueado en el sistema. Flujo normal 1. Insertar la información personal en el formulario de registro. 2. Insertar las nuevas credenciales de acceso para poder acceder al sistema. 3. Cliquear en “Guardar” para dar de alta al nuevo financiador. Flujo alternativo 1. A. Si existe algún error al introducir los parámetros personales el sistema notificará de ello. 2. A. Si ya existe el financiador en el sistema se notificará de ello. Poscondiciones El nuevo financiador queda registrado en el sistema y es dado de alta. Tabla 4.2.9: Registrar financiador. Nombre Realizar pago Autor Kevin Manuel Sánchez Araña Fecha 22/09/2015 Descripción Poder realizar pagos a determinados proyectos por parte de los usuarios. Actores Financiador. Precondiciones Haber iniciado el proceso de contribución detallado en el caso de uso “Contribuir en un proyecto”. Además, si el actor es “Anónimo” se debe haber realizado el caso de uso “Registrar financiador”. Flujo normal 1. Seleccionar la plataforma de pago (PayPal inicialmente). 2. Dependiendo de cada plataforma, realizar pago y recibir factura. Flujo alternativo 2. A. Si ocurre cualquier inconveniente en la plataforma de pago y no se realiza correctamente el pago el sistema lo notificará. Poscondiciones Una vez llevada a cabo correctamente la plataforma obtendrá un porcentaje de la misma. El financiador recibirá una factura del pago realizado gestionada por la propia plataforma de pago. Tabla 4.2.10: Realizar pago. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 116 Diciembre de 2015 Nombre Emitir un comentario. Autor Kevin Manuel Sánchez Araña Fecha 22/09/2015 Descripción Emitir cualquier tipo de comentario al estudiante fin de título que ha creado el proyecto subvencionado. Actores Financiador. Precondiciones Haber realizado un pago detallado en el caso de uso “Realizar pago”. Flujo normal 1. Introducir en el campo de texto el comentario. 2. Cliquear en “Enviar” para emitir el comentario. Flujo alternativo Poscondiciones El financiador emite un comentario asociado al proyecto donde ha realizado el pago. Este comentario es accesible para cualquiera que acceda al detalle del proyecto. Tabla 4.2.11: Emitir un comentario. Nombre Ver detalle del proyecto. Autor Kevin Manuel Sánchez Araña Fecha 22/09/2015 Descripción Acceder a la información detallada de un proyecto en estado “Publicado, Desarrollo o Finalizado”. Actores Todos Precondiciones Haber seleccionado algún proyecto en estado “Publicado, en desarrollo o finalizado”. Flujo normal 1. Acceder a la pantalla principal o realizar una búsqueda para obtener los proyectos. 2. Cliquear en el “título” de un proyecto o en la “imagen de portada”. Flujo alternativo Postcondiciones Acceder a la información relativa a un proyecto: “Video promocional, plazo de recaudación, objetivo plateado, cantidad recaudada, descripción, presupuesto, comentarios, integrantes, recursos adjuntos entre otros”. Tabla 4.2.12: Ver detalle del proyecto. Nombre Ver integrantes. Autor Kevin Manuel Sánchez Araña Fecha 22/09/2015 Descripción Ver todos los integrantes asociados al proyecto donde se incluyen descripciones personales y dedicación de los componentes. Actores Todos. Precondiciones Haber accedido al detalle de cualquier proyecto. Flujo normal 1. Cliquear en botón “Integrantes”. Flujo alternativo Poscondiciones Obtener la información de los integrantes asociados al proyecto. Tabla 4.2.13: Ver integrantes. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 117 Diciembre de 2015 Nombre Ver recursos adjuntos. Autor Kevin Manuel Sánchez Araña Fecha 22/09/2015 Descripción Acceder a los recursos adjuntos (documentos o imágenes) publicadas por el estudiante fin de título. Actores Todos Precondiciones Haber seleccionado algún proyecto en estado “Publicado, Desarrollo o Finalizado”. Flujo normal 1. Cliquear en el botón “Recursos adjuntos”. Flujo alternativo Poscondiciones Obtener la información ordenada de los distintos recursos adjuntos anexados al proyecto. Tabla 4.2.14: Ver recursos adjuntos. Nombre Ver justificación del presupuesto. Autor Kevin Manuel Sánchez Araña Fecha 22/09/2015 Descripción Describir la información detallada que justifica el capital necesario para desarrollar el proyecto. Actores Todos. Precondiciones Haber seleccionado algún proyecto en estado “Publicado, Desarrollo o Finalizado”. Flujo normal 1. Cliquear en el botón “Justificación presupuestaria”. Flujo alternativo Poscondiciones Obtener la información que explica la justificación del objetivo monetario solicitado. Tabla 4.2.15: Ver justificación del presupuesto. Nombre Ver descripción detallada. Autor Kevin Manuel Sánchez Araña Fecha 22/09/2015 Descripción Obtener información detallada de todo el proyecto para que los posibles financiadores inviertan en él. Actores Todos. Precondiciones Haber seleccionado algún proyecto en estado “Publicado, Desarrollo o Finalizado”. Flujo normal 1. Cliquear en el botón “Descripción”. Flujo alternativo Poscondiciones Obtener toda la información relevante del proyecto. Tabla 4.2.16: Ver descripción detallada. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 118 Diciembre de 2015 Nombre Ver comentarios. Autor Kevin Manuel Sánchez Araña Fecha 22/09/2015 Descripción Obtener un listado con todos los comentarios realizados por parte de los financiadores tras haber realizado un pago. Actores Todos. Precondiciones Haber seleccionado algún proyecto en estado “Publicado, Desarrollo o Finalizado”. Flujo normal 1. Cliquear en el botón “Comentarios”. Flujo alternativo Poscondiciones Obtener un listado con todos los comentarios ordenados por fecha de publicación. Tabla 4.2.17: Ver comentarios. Nombre Ver listado de proyectos Autor Kevin Manuel Sánchez Araña Fecha 22/09/2015 Descripción Ver el listado de todos los proyectos asociados a un estudiante fin de título. Aparecen todos los estados posibles. Actores Estudiante fin de título. Precondiciones Estar logueado como estudiante fin de título. Flujo normal 1. Acceder al menú desplegable “Mi sitio” sección “Proyectos” apartado “Mis proyectos”. Flujo alternativo Poscondiciones Obtener el listado de todos los proyectos asociados al estudiante fin de título. Tabla 4.2.18: Ver listado de proyectos. Nombre Finalizar proyecto Autor Kevin Manuel Sánchez Araña Fecha 22/09/2015 Descripción Permite finalizar un proyecto. Esto implica que el proyecto se ha desarrollado en su totalidad. Actores Estudiante fin de título. Precondiciones Estar logueado en el sistema como un estudiante fin de título. Además, debe tener proyectos en estado “Desarrollo” para poder finalizarlos. Flujo normal 1. Acceder al menú desplegable sección “Blog” apartado “Proyectos en desarrollo”. 2. Cliquear a nivel de proyecto el botón “Finalizar proyecto”. Flujo alternativo 1. A. Si el estudiante fin de título no tiene ningún proyecto en desarrollo asociado dicha opción no estará disponible. Poscondiciones El proyecto cambia al estado “Finalizado” indicando que ya se ha desarrollado todos los requisitos planteados en la definición del mismo. Tabla 4.2.19: Finalizar proyecto. Nombre Crear proyecto Autor Kevin Manuel Sánchez Araña Fecha 22/09/2015 Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 124 Diciembre de 2015 5. Diagrama Entidad-Relación. Figura 5.1: Diagrama entidad-relación que representa el modelo de datos. Plataforma de crowdfunding para proyectos fin de carrera. | Autor: Kevin Manuel Sánchez Araña. 125 Diciembre de 2015 6. Diagrama de clases UML. Figura 6.1: Diagrama de clases UML