ebook img

TFG-G 2264 PDF

133 Pages·2016·6.15 MB·Spanish
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview TFG-G 2264

Universidad de Valladolid Escuela Técnica de Ingeniería Informática de Valladolid GradodeIngenieroInformáticoconmenciónenIngenieríadelSoftware TRABAJODEFINDEGRADO BUSY: UnaplataformaparalagestióndereservasporhoraenPyMes Autor:JuanCarlosGonzálezCabrero Tutora:YaniaCrespoCarvajal 15dejuliode2016 Resumen Elobjetivodeesteproyectoconsisteeneldesarrollodeunaplataformasoftwareenfocada a pequeñas y medianas empresas (PyMEs), para llevar a cabo la organización de servicios ofrecidosalosclientes. buSy es una herramienta cómoda y sencilla para la gestión de reservas y control de horariosconunámbitodenegociogeneralista,yaquesuenfoqueglobalpermitelautilización deestaaplicaciónaunaampliagamadecategoríasdeempresa. Se trata de un proyecto web desarrollado en Java y HTML5, utilizando el framework Springcomobasedelproyecto. Siguiendo la filosofía del desarrollo ágil, se han aplicado los principios TDD y BDD desde el principio del proyecto. Gracias a ello, la implementación ha sido guiada a través delaspruebasquedefinenelcomportamientodecadafuncionalidad,loquehafacilitadola determinacióndelámbitooscopedecadahistoriadeusuariodelproyecto. Sehanaplicadoademásvariospatronesdediseñosobrelaarquitecturasoftware,como sonlaprogramaciónencapasyelpatrónmodelo-vista-controlador. «A la memoria de mi padre, un hombre fuerte y emprendedor, cuyos sueños se vieron truncadosporunahorribleenfermedad.» Agradecimientos Ami familia,por aguantarmeen mismomentos deestrés, yporque sinellos nohabría podidollegarhastaaquí. A mi tutora Yania, por su entusiasmo e implicación con los alumnos, siendo así una profesoraejemplar. A mis amigos y compañeros de carrera, con los que he aprendido mucho, tanto como ingenieroinformáticocomopersona. AminoviaBeatriz,porayudarmeyapoyarmeenlarealizacióndeesteproyecto. Y por último, a todos aquellos que me han animado y han creído en mí en esta etapa final. Gracias Índice general 1. Introducción 1 1.1. Objetivosdelproyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2. Contextodelaaplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Planificaciónygestióndelproyecto 5 2.1. PaaS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2. Behaviour-Driven-Development . . . . . . . . . . . . . . . . . . . . . . . 7 2.3. Test-Driven-Development . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.4. EstimaciónbasadaenSprints . . . . . . . . . . . . . . . . . . . . . . . . . 8 3. Herramientasytecnologíasutilizadas 11 3.1. Gestióndelproyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.1.1. PivotalTracker . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.1.2. Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.1.3. Github . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.1.4. Heroku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2. Diseñoydesarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 i ii ÍNDICEGENERAL 3.2.1. Draw.io . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.2.2. BalsamiqMockups . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.2.3. Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.2.4. Atom.io . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.2.5. ShareLaTeX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.3. Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.3.1. JUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.3.2. Mockito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.3.3. DBUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.3.4. SeleniumWebDriver . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.3.5. Cucumber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.4. Back-End . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.4.1. Maven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.4.2. Spring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.4.3. JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.4.4. PostgreSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.5. Front-End . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.5.1. BootstrapCSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.5.2. Thymeleaf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.5.3. JQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4. Arquitecturabasedelaaplicación 23 4.1. Visióngeneral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2. SpringFramework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 ÍNDICEGENERAL iii 4.3. PatrónMVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.4. Construccióndelentornodedesarrollo . . . . . . . . . . . . . . . . . . . . 27 5. DiseñodeUserStories 31 5.1. HistoriasdeusuariosobreGestióndecuentas . . . . . . . . . . . . . . . . 31 5.2. HistoriasdeusuariosobreGestióndeempresa . . . . . . . . . . . . . . . 35 5.3. HistoriasdeusuariorelacionadasconReservadeservicios . . . . . . . . . 41 5.4. HistoriasdeusuariorelacionadasconAdministración . . . . . . . . . . . . 42 6. DiseñodelaInterfazgráfica 47 6.1. InterfazdelaGestióndecuentas . . . . . . . . . . . . . . . . . . . . . . . 47 6.2. InterfazdelaGestióndeempresa . . . . . . . . . . . . . . . . . . . . . . . 49 6.3. InterfazparalazonadeReservadeservicios . . . . . . . . . . . . . . . . . 50 6.4. InterfazparalazonadeAdministración . . . . . . . . . . . . . . . . . . . 55 7. DiseñoFinal 57 7.1. Capadepresentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 7.1.1. Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 7.1.2. Vista . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 7.1.3. Controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 7.2. Capadelógicadenegocio . . . . . . . . . . . . . . . . . . . . . . . . . . 59 7.3. Capadepersistenciadedatos . . . . . . . . . . . . . . . . . . . . . . . . . 60 7.4. Visiónglobal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 7.5. Modelosdinámicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 7.5.1. Identificacióndeusuario . . . . . . . . . . . . . . . . . . . . . . . 62 iv ÍNDICEGENERAL 8. Arquitecturadelosdatos 69 8.1. Restriccionesdelabasededatos . . . . . . . . . . . . . . . . . . . . . . . 69 8.1.1. Tablaperson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 8.1.2. Tablaaddress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 8.1.3. Tablacity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 8.1.4. Tablacountry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 8.1.5. Tablaverification . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 8.1.6. Tablacategory . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 8.1.7. Tablacompany . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 8.1.8. Tablabranch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 8.1.9. Tablarole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 8.1.10. Tablanotification . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 8.1.11. Tablaservice_type . . . . . . . . . . . . . . . . . . . . . . . . . . 73 8.1.12. Tablaservice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 8.1.13. Tablatime_slot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 8.1.14. Tablaschedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 8.1.15. Tablabooking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 8.2. Modeloentidad-relación . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 9. Pruebasdecalidaddesoftware 77 9.1. Pruebasunitarias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 9.2. Pruebasdeintegración . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 10.Seguimiento 83

Description:
20. 3.5.2. Thymeleaf . Thymeleaf [41] tiene una potente integración con el framework Spring, y su flexibilidad permite construir plantillas altamente
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.