organizacion de congresos - core.ac.uk · 4.2.1 modelo entidad relación..... 26 4.2.2 modelo...
TRANSCRIPT
-
PROYECTOFINDECARRERA
INGENIERIATECNICAENINFORMATICADEGESTION
UNIVERSIDADCARLOSIIIDEMADRID
ESCUELAPOLITECNICASUPERIOR
OrganizacindeCongresos
Autor:VctorCobosSalido
Tutor:JessicaRiveroEspinosa
Julio2011
-
2 Organizacindecongresos
-
3 Organizacindecongresos
ndiceGeneral
1. INTRODUCCIN................................................................................5
1.1 Resumen.....................................................................................................................................5
1.2 Objetivos....................................................................................................................................6
2. ESTADODELARTE.............................................................................7
2.1 Sistemadegestindecontenidos.............................................................................................7
2.2 Apache........................................................................................................................................9
2.3 MySQL......................................................................................................................................10
2.4 PHP...........................................................................................................................................11
2.5 XAMPP......................................................................................................................................12
3. ANLISISDELSISTEMA....................................................................13
3.1 Definicindelosusuarios........................................................................................................13
3.1.1 Administrador..................................................................................................................13
3.1.2 Usuario.............................................................................................................................13
3.2 Especificacindeloscasosdeuso...........................................................................................14
3.2.1 Diagramasdecasosdeuso..............................................................................................14
3.2.2 Descripcintextualdeloscasosdeuso...........................................................................16
4. DISEODELSISTEMA......................................................................25
4.1 Modelocliente/servidor..........................................................................................................25
4.2 Diseodelabasededatos......................................................................................................26
4.2.1 Modeloentidadrelacin..................................................................................................26
4.2.2 Modelorelacional............................................................................................................27
4.2.3 Gestindeusuarios..........................................................................................................28
4.2.4 Gestindehoteles...........................................................................................................29
4.2.5 Gestindeactividades.....................................................................................................29
-
4 Organizacindecongresos
4.2.6 Otras.................................................................................................................................30
4.3 Diseocompletodelabasededatos......................................................................................31
5. CONCLUSIONES...............................................................................32
6. MANUALDEUSO............................................................................33
6.1 Todoslosusuarios....................................................................................................................33
6.2 Usuariosregistrados................................................................................................................35
reausuario:....................................................................................................................................35
Hoteles:............................................................................................................................................36
Actividades:......................................................................................................................................37
Pagos:...............................................................................................................................................38
Contacto:..........................................................................................................................................38
6.3 Administradores.......................................................................................................................39
Cuentas:...........................................................................................................................................39
Hoteles:............................................................................................................................................40
Actividades:......................................................................................................................................42
Pagos:...............................................................................................................................................43
Congreso:.........................................................................................................................................44
Tipos:................................................................................................................................................44
-
5 Organizacindecongresos
1. INTRODUCCIN
1.1 ResumenLaaplicacinWebendesarrollotienecomofinalidadlaautomatizacinysimplificacin
delastareasdegestindelportalWebparalaorganizacindecongresos,permitiendoasmismounamayorcoherenciaenlosdatosexistentes.
EstaaplicacinserdesarrolladamedianteellenguajedeprogramacinPHP,conuna
basededatosMySQLutilizandounservidorApache.LaspginasWebserngeneradaspormimismoutilizandoeleditordepginasWebDreamweaver8.Asmismolabasededatosser creada partiendo de las necesidades del cliente, ayudado por la aplicacinphpMyAdmin.Losdatosserncargadosyactualizadosatravsdeconexionesypeticionesconlabasededatos.
Se ha definido un sistema de usuarios con diferentes privilegios de acceso y
modificacindedatos,compuestopordos tiposdeusuario,dependiendodelperfilquenecesitenejercerenelsistema.Solamentepodrnmodificardatos,insertaroeliminarlosadministradoresdelsistema,mientrasquelosusuariosbsicossolamentepodrnrealizarconsultas y reservas tanto de hoteles como de actividades o peticiones de baja en elsistema.
Laaplicacinpermitircrear,modificaroborrarlainformacinalmacenadaenlabase
dedatosatravsdeformulariosHTML,estoslopodrserrealizadoporeladministradordelportal salvo la creacindeusuarios.Entre la informacindisponibleencontraremosdesdelosdatospersonalesydecuentaenelsistemadelosasistentesalcongresohastalainformacinsobreelcongreso,hoteles,actividadesypagosdereservaseinscripciones.
A lahoradecrear losusuarios, solamentedebern registrarse rellenandoun simple
formulario con sus datos personales. Los administradores de la aplicacin no tendrnaccesoaestosdatos,solamenteeladministradordelabasededatos.
Los usuarios bsicos tendrn la posibilidad de consultar tanto la informacin del
congreso,hotelesyactividades,yrealizarreservase inscripciones,como ladeconsultarlosgastosgeneradosporstas,ascomo laposibilidadderealizarmodificacionesensusdatospersonales.Larealizacindelospagosquedafueradelafuncionalidaddelportal.
Enesteproyectosedesarrollalapartedeentradadedatosdeunaaplicacindeltipo
conocidocomoSistemadeGestindeContenidos(CMS).Laaplicacinestdiseadaparagestionarlasdiversasfuncionalidadesquepodrnutilizartantolosusuariosbsicoscomolosadministradores.
-
6 Organizacindecongresos
1.2 ObjetivosEl objetivo principal del proyecto es, la realizacin de un portalWeb en el que se
pueda gestionar todo lo relativo a la organizacin de un congreso respecto a laorganizacindeasistentes,dndolestoda la informacinnecesariaacercadelcongresoydetalles de su organizacin, de hoteles y facilidades en reservas de habitaciones,actividadesque se desarrollarn durante la realizacin del congreso y la posibilidad deinscribirse en ellas y el control de gastos ocasionados por todo lo anterior de formapersonalizada.
El otro objetivo del proyecto es, poder gestionar toda esta informacin demanera
sencillaa travsde formulariosHTMLporpartede losadministradores,permitindolesintroducir,modificaroeliminardatossinnecesidaddemanejarunadministradordebasesdedatos.
-
7 Organizacindecongresos
2. ESTADODELARTE
2.1 SistemadegestindecontenidosUnsistemadegestindecontenidos(CMS,ContentManagerSystemeningls)esun
programaquepermitecrearunaestructuradesoporteparalacreacin,administracinycomparticindedistintostiposdecontenidosporpartedelosusuariosyelwebmasterdeunsitioWeb.Se tratadeun interfazquemanejaunaovariasbasesdedatosdondeseencuentran la informacin de la aplicacin. Un CMS tiene dos funciones principales:facilitar lacreaciny lapresentacindeesoscontenidos.Esto lohaceadministrandodeformaindependienteambascaractersticas:eldiseoyelcontenido.
Provee lasherramientasnecesariasparagestionarelciclodevidade loscontenidos:reaccin,gestin,presentacin,mantenimiento yactualizacin. Loswikis y los sistemasgroupwaretambinsonconsideradosCMS.
UnbuenCMSpermite,porejemplo,a losempleados sindemasiadosconocimientossobre este tema publicar pginas dinmicas, formularios, formaciones y todo tipo decontenidosdesdeprogramasdeedicincomoMicrosoftWord.
Lageneracin,publicacinyarchivodeunnmeroenormedepginasenlosportalesysitiosWebplantearetosquelosCMSintentanresolver:
Facilitar lageneracinyedicindecontenidospara laWebporpartedepersonalsinformacinespecficaenprogramacin.
Asegurarunaaparienciahomogneadetodosloscontenidosysupresentacindeacuerdoconundiseocorporativoyconunalneaeditorialpredefinida.
Mantener una coherencia en la estructura de los sitios Web, permitiendo laincorporacindenuevoscontenidosenlasseccionesadecuadastraslaaprobacinyelcontrolpreviodelaspersonasindicadas.
Mantenerunanavegacinconsistentequepermitaalosusuariosllegaracadaunodeloscontenidosqueestnpublicadosencadamomento.
Evitarlaexistenciadecontenidoduplicado(distintasdireccionesURLquemuestranunmismocontenido),contenidohurfano(archivosquequedanenelservidordeforma innecesaria ya que son pginas a las que ya no apunta ningn enlace oarchivosdeimagenomultimediaquesemostrabanenpginassuprimidas)obienenlacesrotos,queapuntanapginasquenoexistenenelservidor.
Los gestores de contenidos o CMS son herramientas de software que permiten
descentralizar las labores de mantenimiento del contenido de un portal, de forma quepersonalno tcnicode losdistintosdepartamentosdeunaempresapuedeaadir,editarygestionarsupropiocontenidoenunaWebcorporativa.
-
8 Organizacindecongresos
Endefinitiva,entrelosusosdelSistemadeGestindecontenidossepodanmencionar:1. Publicarcontenidosdeformasencilla.2. CreacindelaestructuradelaWeb.3. Controldeusuarios.4. Interaccinconlosusuarios.5. Seguridad.6. Adaptacinalosestndaresyalasnuevastecnologas.
Existenversionesgratuitasyversionespropietarias.
Lasversionesgratuitastienencomocaractersticas: Costedepropiedadmuyreducido. Accesolibrealcdigodelaaplicacin.
o Comunidaddeusuarios. Intercambiodeinformacin. Aveces,documentacinescasa.
Encuantoalasversionespropietarias: Pagoporlicenciasdeuso. Accesorestringidoalcdigodelaaplicacin. Empresa. Soporteprofesional. Documentacinhabitualmentecorrecta.
CabemencionardiferentestiposdeCMS: Genricos:Disponendelaplataformanecesariaparadesarrollareimplementar aplicaciones que dan soluciones a necesidades concretas. Ejemplos: Zope, MODx,
OpenCMS,TYPO3,ApacheLenya,Joomla,Drupal Foros:lugarquepermiteconversacionesenlneadondelosusuariospuedenreunirsey
discutirsobrealgunostemasenconcretoenlosqueestninteresados. Blogs:Publicacinonlineconhistoriaspublicadasconunaperiodicidadmuyaltaque
sonpresentadasenordencronolgicoinverso,esdecir,loltimoquesehapublicadoesloprimeroqueapareceenlapantalla.
Wikis:PginasWebconenlaces,imgenesycualquiertipodecontenidoquepuedeservisitadayeditadaporcualquierpersona.Ejemplo:Wikipedia
eCommerce:Distribucin,compra,ventaysuministrodeinformacincomplementariaparaproductososerviciosatravsderedesinformticascomoInternetuotras.
Portal:Esun lugarcentralenquesepuedeponer todo tipode informacinparaunpblicomuydiverso.
eLearning: Es un tipo de educacin virtual a distancia que se realiza a travs deInternet.
Publicaciones digitales: Publicacin electrnica y sin papel realizada a travs de lasnuevastecnologas.
-
9 Organizacindecongresos
2.2 ApacheEsunservidorWeb,detecnologaOpenSource,slidoyparausocomercialdesarrollado
por laApache Software Foundation.Esunode losmsutilizadosen Internet. Slo lehacecompetenciaelservidordeMicrosoftIIS.
Algunasdesuscaractersticasson: ServidorWebrpido,flexibleyeficiente. Est continuamente actualizado y adaptado a los nuevos protocolos (http 1.1,
WebDav). Implementalosltimosprotocolosaunquesebaseenhttp1.1. Modular: Fcil adaptacin a diferentes protocolos y necesidades, con diferentes
mdulos de apoyo y con laAPI de programacin demdulos.Actualmente existenmuchosmdulosApachequesonadaptablesaesteyqueestnahparaserinstaladascuando sea necesario. Otro aspecto destacable es que cualquiera que posea unaexperienciamnimaenprogramacinCoPerlpuedeescribirunmodulopararealizarunafuncindeterminada.
Promuevelacomunicacinconelusuarioconelfindeobtenernuevasideas,informesdefallosyparchesparasolucionarlosmismos.
Multiplataforma. Extensible:debidoa sermodular sehandesarrolladodiversasextensionesentre las
quedestacaPHP,lenguajedeprogramacindelladodelservidor. Seejecutaenunamultituddesistemasoperativos. ApachetrabajaconPerl,PHPyotros lenguajesdeScript.TambintrabajaconJavay
pginasJSP.Teniendotodoelsoportequesenecesitaparatenerpginasdinmicas. Tieneunaaltaconfigurabilidaden lacreaciny lagestinde logs.Apachepermite la
creacindeficherosdeLogamedidadeladministrador,deestemodosepuedetenerunmayorcontrolsobreloquesucedeenelservidor.
SisecomparaApacheconotrosservidoresdesoftwarelibrehaquedadodemostradoque
Apacheeselms rpido.Aunquede lacomparacindeApacheconservidorescomercialespuedaresultarqueApachenoeselmsrpido,nomerecelapenagastarsemilesdedlaresenunservidorporunadiferencianotangrandeenrapidez.
-
10 Organizacindecongresos
2.3 MySQLMySQLesunsistemagestordebasesdedatosrelacionalesenSQL[8],estosignificaque
permite la gestin de los datos de una BBDD relacional usando un lenguaje de consultaestructurado.Ypor tanto,apartirdeunaconsulta,MySQL llevaracabounadeterminadaaccin sobre una base de datos. Es un excelente gestor de bases de datos que la sitandespusdeOracle comomejor solucin anivel tcnicopor las caractersticas explicadas acontinuacin.
Susprincipalescaractersticasson: Velocidad:PorestudiosrecientessepuedeafirmarqueMySQLesunsistemaconuna
velocidadsuperiorasusrivales,incluidoOraclealahoradeejecutarconsultasSQL. Portabilidad:Puedeejecutarseen la inmensamayorade lossistemasoperativos,por
loquejuntoaun lenguajedeprogramacindel ladodelservidordealtaportabilidadcomoJava,PHP,Perletc.,permiteeldesarrollodeaplicacionesWebfcilesdemigraryelaccesoycopiadelosdatosdesdecualquierSistemaOperativo.
Seguridad:Unsistemadeprivilegiosycontraseasqueesmuyflexibleyseguro,yquepermite verificacinbasadaenelHost. Las contraseas son segurasporque todoeltrficodecontraseasestencriptadocuandoseconectaconunservidor.
Escalabilidady limites:Soporteagrandesbasesdedatos.Seusaconbasesdedatosquetienen50millonesderegistrosycon60.000tablas.Sepermitenhasta64ndicesportabla.
Funcionalidad:Talvezesteseaelpuntoenquemsdesventajatengaconsusrivales.Sin embargo dispone de muchas funciones vitales como duplicacin, volcadoonlineetc.
Conectividad: Los clientes pueden conectar con el servidorMySQL usando socketsTCP/IPencualquierplataforma.
Localizacin: El servidor puede proporcionar mensajes de error a los clientes enmuchosidiomas.
-
11 Organizacindecongresos
2.4 PHPPHPeselacrnimodeHypertextPreprocesor.Esun lenguajedeprogramacindel lado
del servidor gratuito e independiente de plataforma [19], [20], [21], rpido con una granlibreradefuncionesymuchadocumentacin.
Esun lenguajedeprogramacin interpretadoutilizadopara lacreacindepginasWeb
dinmicas, ampliamenteusado yque estdiseado especialmenteparadesarrollosWeb ypuedeser integradodentrodecdigoHTML.Aunquesuprincipal funcines lacreacindepginasWebtambinpuedeserutilizadoparacrearaplicacionesconunainterfazgrficaparael usuario y tambin puede ser usado desde la lnea de comandos. Permite la conexin adistintostiposdebasesdedatoscomo:MySQL,Postgres,Oracle,ODBC,DB2,MicrosoftSQLServer,FirebirdySQLite.PuedeserejecutadoenlamayoradelossistemasoperativoscomoUNIX(Linux,MACOS)yWindows.PuedeinteractuarconlosservidoresWebmspopularesyaqueexisteenversinCGI,mduloparaApacheeISAPI.Algunascaractersticasson:
Nonecesitadefinicindetiposdevariables. Tienemanejodeexcepciones. Todoelmundopuedeaccederalpuestoqueeslibre Disponedeunagrandocumentacin Multiplataforma. Esun lenguajemscercanoa JavaScriptoaCmsquea lenguajesdemarcascomo
podranserXML,HTMLoWML.PerosuprincipaldiferenciaconJavaScriptoCqueseejecutanenelnavegador,PHPseejecutaenelservidor.Esto permite acceder a cualquiera de los recursos que tenga el servidor como porejemplolabasededatos.Porlotantoelprogramaesejecutadoenelservidorperoelresultadodeestaejecucinesenviadaalnavegador.EsteresultadonormalmenteesunapginaHTMLperotambinpodraserunapginaWML.
Al ser PHP un lenguaje que se ejecuta en el servidor y que es independiente delnavegador no es necesario que el navegador del cliente lo soporte. Aunque si esnecesario que para que las pginas PHP funcionen el navegador del servidor si losoporte.
-
12 Organizacindecongresos
2.5 XAMPPXAMPP es un servidor independiente de plataforma, software libre, que consiste
principalmente en la base de datosMySQL, el servidorwebApache y los intrpretes paralenguajesdescript:PHPyPerl.ElnombreprovienedelacrnimodeX(paracualquieradelosdiferentessistemasoperativos),Apache,MySQL,PHP,Perl.
ElprogramaestliberadobajolalicenciaGNUyactacomounservidorweblibre,fcilde
usar y capaz de interpretar pginas dinmicas. Actualmente XAMPP est disponible paraMicrosoftWindows,GNU/Linux,SolarisyMacOSX.
XAMPP solamente requiere descargar y ejecutar un archivo zip, tar o exe, con unas
pequeas configuraciones en alguno de sus componentes que el servidorWeb necesitar.XAMPP se actualiza regularmente para incorporar las ltimas versiones deApache/MySQL/PHPyPerl.Tambin incluyeotrosmdulos comoOpenSSLyphpMyAdmin.Para instalarXAMPPserequieresolamenteunapequeafraccindeltiemponecesarioparadescargaryconfigurarlosprogramasporseparado.
Oficialmente,losdiseadoresdeXAMPPslopretendansuusocomounaherramientade
desarrollo,parapermitiralosdiseadoresdesitioswebsyprogramadorestestearsutrabajoensuspropiosordenadoressinningnaccesoaInternet.Enlaprctica,sinembargo,XAMPPesutilizadoactualmentecomoservidordesitiosWeb,yaque,conalgunasmodificaciones,esgeneralmente lo suficientemente seguro para serlo. Con el paquete se incluye unaherramientaespecialparaprotegerfcilmentelaspartesmsimportantes.
-
13 Organizacindecongresos
3. ANLISISDELSISTEMA
3.1 DefinicindelosusuariosPuedehaberinfinidaddeusuariosdelaaplicacin,cualquierpersonaquedeseeasistiral
congresopodrdarsedealtaenelsistema.Porestemotivohayquetenerencuentalostiposdeusuariosylasdiferentesfuncionalidadesquepuedanutilizar.
Demodoformalserequierendosperfilesdeusuario:administradoryusuario.
3.1.1 AdministradorEl administrador es el perfil encargado de ejecutar tareas de mantenimiento y
administracin del propio sistema. Se han de establecer mecanismos que permitan aladministradorcontrolarelbuenfuncionamientodelabasededatos,ascomodelaaplicacinengeneral(sistemasdebackups,sistemasdelogs,estadsticas,etc.).
Agrandesrasgos,susfuncionessonlassiguientes: Gestionar usuarios: bajas de los usuarios de la aplicacin, gestin de tipos de
asistentesygestindepagos. Gestionarhoteles:altas,bajasymodificacionesdeloshotelesdelabasededatos. Gestionar actividades:altas,bajas ymodificacionesde las actividadesde labasede
datos.
3.1.2 UsuarioEl usuario es un perfil con el que los asistentes al congreso, una vez registrados en el
sistema,podrn realizar reservasenhotelesyactividadesdurante lacelebracindelpropiocongreso.Dependiendodel tipode asistenteque sea, tendrdescuentos y facilidades a lahoraderealizarestasreservas.
-
14 Organizacindecongresos
3.2 Especificacindeloscasosdeuso
3.2.1 Diagramasdecasosdeuso
-
15 Organizacindecongresos
-
16 Organizacindecongresos
3.2.2 Descripcintextualdeloscasosdeuso
ID C1Nombre RegistroActores UsuarionologueadoFuncin RegistraunusuarioenelsistemaPrecondicionesPostcondiciones UsuarioregistradoEscena Este tipodeusuario,entraenelportalweby siest interesadoen
obtenermsinformacinacercadelcongresoe inscribirseslotienequerellenarelformularioderegistroyentrarenelreaprivada.
ID C2Nombre LoginActores UsuarionologueadoFuncin AccederalreaprivadadelportalPrecondiciones TeneruncuentaenelsistemaPostcondiciones UsuariologueadoEscena Elusuario registrado introduce su id y contrasea y si losdatos son
correctosaccedealreaprivadadelportal,sison incorrectos tendrquevolveraintroducirlosdatosdeacceso.
ID C3Nombre ConsultarcongresoActores Usuario,usuarionologueado,administradorFuncin ObtenerinformacinsobreelcongresoPrecondicionesPostcondiciones MuestrainformacindelcongresoEscena Alusuariose lemuestraen lapginaprincipaldelportal,tantoen la
zonaprivadacomoenlapblica,lainformacinrelativaalcongreso.
ID C4Nombre ConsultarHotelesActores Usuario,administradorFuncin ObtenerinformacinsobreloshotelesparaelcongresoPrecondiciones Usuariologueado,cuentavalida,seleccionarunhotelPostcondiciones MuestralainformacindelhotelEscena Elusuarioseleccionaelhotelenelqueestinteresadoyelsistemale
muestrainformacinsobreste.
-
17 Organizacindecongresos
ID C5Nombre ReservarhabitacinActores UsuarioFuncin Elusuarioreservaunahabitacinenelhotelseleccionado.Precondiciones Usuario logueado, cuenta valida, mostrar hoteles, seleccionar hotel,
elegirtipodehabitacinareservar.Postcondiciones ElusuarioreservaunahabitacinEscena Elusuarioseleccionaunhotel,pulsaelbotndereservayapareceun
formulario.Elusuario lo rellena con losdatos requeridosy si todoescorrecto la habitacin es reservada. Si ocurre algn error tendr quecorregirlo.
ID C6Nombre ConsultarActividadesActores Usuario,administradorFuncin ObtenerinformacinsobrelasactividadesdelcongresoPrecondiciones Usuariologueado,cuentavalida,seleccionarunaactividadPostcondiciones MuestralainformacindelaactividadEscena Elusuarioseleccionalaactividadenlaqueestinteresadoyelsistema
lemuestrainformacinsobresta.
ID C7Nombre ReservaractividadActores UsuarioFuncin Elusuarioreservaplazaenlaactividadenlaqueestinteresado.Precondiciones Usuario logueado, cuenta valida, mostrar actividades, seleccionar
actividad,elegirlaopcindereserva.Postcondiciones Elusuarioreservalaactividad.Escena El usuario selecciona una actividad, pulsa el botn de reserva y
apareceunformulario.Elusuariolorellenaconlosdatosrequeridosysi todo es correcto la actividad es reservada. Si ocurre algn errortendrquecorregirlo.
ID C8Nombre ModificarusuarioActores UsuarioFuncin Elusuariocambiasusdatospersonales.Precondiciones Usuariologueado,cuentavalida,seleccionarversusdatosPostcondiciones UsuarioactualizadosEscena Elusuarioselecciona laopcinparaversusdatos,si lodeseacambia
susdatosypresionaelbotnModify.Lainformacinseractualizada.
-
18 Organizacindecongresos
ID C9Nombre BorrarusuarioActores UsuarioFuncin Elusuarioeliminasucuenta.Precondiciones Usuariologueado,cuentavalida,seleccionarversusdatosPostcondiciones Elusuarioeliminasucuenta.Escena Elusuarioseleccionalaopcinparaversusdatos,sideseaeliminarsu
cuentapresionaelbotnUnsubscribe.La informacinsereliminadadelsistemayelusuarioserdesconectado.
ID C10Nombre VerpagosActores UsuarioFuncin ElusuariovelainformacinsobresuspagosPrecondiciones Usuariologueado,cuentavalida,seleccionarversuspagosPostcondiciones Elusuariovesuspagos.Escena Elusuarioselecciona laopcinparaversuspagosyelsistemase los
muestraporpantalla.
ID C11Nombre ContactarconeladministradorActores Usuario,usuarionologueadoFuncin ElusuariocontactaconeladministradorPrecondiciones SeleccionalaopcindecontactoPostcondiciones ElusuarioenvaunmensajealadministradorEscena Elusuarioseleccionalaopcindecontactoconeladministrador,el
usuariorellenaloscamposrequeridosypulsaelbotndeenviar,elcorreoserenviadoaladministrador.
ID C12Nombre ConsultarusuariosActores AdministradorFuncin Obtenerinformacinsobrelosusuariosdelsistema.Precondiciones Administrador logueado, cuenta valida, seleccionar cuentas de
usuario.Postcondiciones MuestrainformacindelascuentasdeusuarioEscena Eladministradorseleccionalaopcindeverlascuentasdeusuarioyel
sistemalemuestralalistadeusuarios.
-
19 Organizacindecongresos
ID C13Nombre InsertarhotelActores AdministradorFuncin El administrador inserta en la base de datos toda la informacin
relacionadaconunnuevohotel.Precondiciones Administrador logueado,cuentavalida,seleccionarhotel,seleccionar
insertarhotelPostcondiciones NuevohotelinsertadoenlabasededatosEscena EladministradorseleccionalaopcinHotelsypulsaInsertNewHotel,
rellenaelformulariocontoda la informacindelnuevohotelyhacerclickenInsert.Elnuevohotelseraadidoalabasededatos.
ID C14Nombre EliminarhotelActores AdministradorFuncin El administrador elimina de la base de datos la informacin de un
hotelPrecondiciones Administrador logueado,cuentavalida,seleccionarhotel,seleccionar
eliminarhotelPostcondiciones HoteleliminadodelabasededatosEscena EladministradorseleccionalaopcinHotels,elsistemamuestratodos
loshoteles,steeligeelquedeseaeliminaryhacerclickenDelete.Elhotelsereliminadodelabasededatos.
ID C15Nombre ModificarhotelActores AdministradorFuncin EladministradormodificalainformacindeunhoteldelabasededatosPrecondiciones Administrador logueado, cuenta valida, seleccionar hotel, seleccionar
modificarhotelPostcondiciones HotelmodificadoenlabasededatosEscena Eladministradorselecciona laopcinHotels,elsistemamuestratodos
loshoteles,steeligeelquedeseamodificar,cambia la informacinypulsaenModify.Elhotelseractualizadoenlabasededatos.
-
20 Organizacindecongresos
ID C16Nombre ConsultarhabitacinActores AdministradorFuncin ObtenerinformacinsobrelashabitacionesdeloshotelesPrecondiciones Administrador logueado, cuenta valida, seleccionar hotel, seleccionar
verhabitacionesPostcondiciones MuestralainformacindelashabitacionesEscena Eladministradorseleccionaelhotel,pulsaelbotnModifyRoomsyel
sistemamuestralainformacindelashabitaciones.
ID C17Nombre InsertarhabitacinActores AdministradorFuncin El administrador inserta en la base de datos toda la informacin
relacionadaconunanuevahabitacin.Precondiciones Administrador logueado,cuentavalida,seleccionarhotel,seleccionar
nuevahabitacinPostcondiciones NuevahabitacininsertadaenlabasededatosEscena EladministradorseleccionalaopcinHotels,elsistemamuestratodos
loshoteles,eligeeldeseadoypulsaNewRoom,rellenaelformulariocontodalainformacindelanuevahabitacinyhacerclickenInsert.Lanuevahabitacinseraadidaalabasededatos.
ID C18Nombre EliminarhabitacinActores AdministradorFuncin El administrador elimina de la base de datos la informacin de una
habitacinPrecondiciones Administrador logueado,cuentavalida,seleccionarhotel,seleccionar
modificarhabitacionesPostcondiciones HabitacineliminadadelabasededatosEscena EladministradorseleccionalaopcinHotels,elsistemamuestratodos
loshoteles,eligeeldeseadoypulsaModifyRooms.EligelahabitacinaeliminarypulsaenDelete.Lahabitacinsereliminadade labasededatos.
-
21 Organizacindecongresos
ID C19Nombre ModificarhabitacinActores AdministradorFuncin Eladministradormodificalainformacindeunahabitacindelabase
dedatosPrecondiciones Administrador logueado,cuentavalida,seleccionarhotel,seleccionar
modificarhabitacinPostcondiciones HabitacinmodificadaenlabasededatosEscena EladministradorseleccionalaopcinHotels,elsistemamuestratodos
los hoteles, elige el deseado y pulsa Modify Rooms. Cambia lainformacin y pulsa enModify. La habitacin ser actualizada en labasededatos.
ID C20Nombre ConsultartipoActores AdministradorFuncin ObtenerinformacinsobrelostiposdeasistentesPrecondiciones Administrador logueado, cuentavalida, seleccionar tipos, seleccionar
untipoPostcondiciones MuestrainformacindeltipoEscena EladministradorseleccionaeltipoypulsaelbotnAccept,elsistema
mostrarlainformacinreferidaaste.
ID C21Nombre InsertartipoActores AdministradorFuncin Eladministrador insertaen labasededatos la informacin sobreel
nuevotipodeasistente.Precondiciones Administrador logueado, cuentavalida, seleccionar tipos, seleccionar
nuevotipoPostcondiciones NuevotipoinsertadoenlabasededatosEscena El administrador selecciona la opcin Types y pulsa en New Type,
rellenaelformularioconlainformacinrelacionadaaltipoypresionaInsert.Elnuevotiposeraadidoalabasededatos.
-
22 Organizacindecongresos
ID C22Nombre EliminartipoActores AdministradorFuncin Eladministradoreliminade labasededatos la informacinsobreel
tipodeasistente.Precondiciones Administrador logueado, cuentavalida, seleccionar tipos, selecciona
untipoPostcondiciones TipoeliminadodelabasededatosEscena EladministradorseleccionalaopcinTypes,eligeunoypulsaAccept,
elsistemamuestralainformacindeltipoypulsaelbotnDelete.
ID C23Nombre ModificartipoActores AdministradorFuncin Eladministradormodificaen labasededatos la informacinsobreel
tipodeasistente.Precondiciones Administrador logueado, cuenta valida, seleccionar tipos, selecciona
untipoPostcondiciones TipomodificadoenlabasededatosEscena Eladministradorselecciona laopcinTypes,eligeunoypulsaAccept,
el sistemamuestra la informacin del tipo, cambia la informacin ypulsaModify.
ID C24Nombre ModificarpagosActores AdministradorFuncin El administrador modifica la informacin de la base de datos
relacionadaconlospagos.Precondiciones Administradorlogueado,cuentavalida,seleccionarpagos,seleccionar
unusuario,seleccionarunpago.Postcondiciones Pagomodificadoenlabasededatos.Escena El administrador selecciona la opcin Payments, elige un usuario y
pulsaContinue,seleccionaunpago,pulsaSelectyhacerclickenPaidsideseacambiarlo.
-
23 Organizacindecongresos
ID C25Nombre ModificarcongresoActores AdministradorFuncin El administrador modifica la informacin de la base de datos
relacionadaconelcongreso.Precondiciones Administradorlogueado,cuentavalida,seleccionarcongresoPostcondiciones Congresomodificadoenlabasededatos.Escena Eladministradorselecciona laopcinCongress,elsistemamuestra la
informacin del congreso, cambia la informacin y pulsaModify. Elcongresoseractualizadoenlabasededatos.
ID C26Nombre InsertaractividadActores AdministradorFuncin El administrador inserta en la base de datos toda la informacin
relacionadaconunanuevaactividad.Precondiciones Administrador logueado, cuenta valida, seleccionar actividad,
seleccionarinsertaractividadPostcondiciones NuevaactividadinsertadaenlabasededatosEscena El administrador selecciona la opcin Activities y pulsa Insert New
Activity, rellena el formulario con toda la informacin de la nuevaactividadyhacerclicken Insert.Lanuevaactividadseraadidaa labasededatos.
ID C27Nombre EliminaractividadActores AdministradorFuncin El administrador elimina de la base de datos la informacin de una
actividadPrecondiciones Administrador logueado, cuenta valida, seleccionar actividad,
seleccionareliminaractividadPostcondiciones ActividadeliminadadelabasededatosEscena El administrador selecciona la opcin Activities, el sistemamuestra
todaslasactividadesysteeligelaquedeseaeliminaryhacerclickenDelete.Laactividadsereliminadadelabasededatos.
-
24 Organizacindecongresos
ID C28Nombre ModificaractividadActores AdministradorFuncin Eladministradormodifica la informacindeunaactividadde labase
dedatosPrecondiciones Administrador logueado, cuenta valida, seleccionar actividad,
seleccionarmodificaractividadPostcondiciones ActividadmodificadaenlabasededatosEscena El administrador selecciona la opcinActivities, el sistemamuestra
todas las actividades ysteelige laquedeseamodificar, cambia lainformacin y pulsa enModify. La actividad ser actualizada en labasededatos.
ID C29Nombre Eliminarusuario(admin)Actores AdministradorFuncin El administrador elimina de la base de datos la informacin de un
usuarioPrecondiciones Administradorlogueado,cuentavalida,seleccionarcuentasPostcondiciones UsuarioeliminadodelabasededatosEscena EladministradoreligelaopcinAccounts,elsistemamuestratodoslos
usuarios,eligeelquequiereeliminaryhacerclickenDelete.Elusuariosereliminadodelabasededatos.
ID C30Nombre LogoutActores Usuario,administradorFuncin ElusuariosedesconectaysaledelreaprivadaPrecondiciones Usuariologueado,cuentavalidaPostcondiciones UsuariodesconectadoEscena El usuario selecciona la opcin Log Out, cerrara sesin en el rea
privadayvolveralreapblica.
-
25 Organizacindecongresos
4. DISEODELSISTEMA
4.1 Modelocliente/servidorComo sehaexplicadoa lo largodeestedocumento, se vaadesarrollarunaaplicacin
web.Dichaaplicacincumpletodoslosprincipiosdeunaarquitecturacliente/servidor.Laaplicacinestaralojadaenunservidorwebaccesibleatodoslosusuariosatravsde
Internet. Los usuarios podrn conectarse a la aplicacin mediante distintos dispositivoshardware,conlaayudadeunnavegadorweb,usandoelprotocoloHTTP.Todalainformacinutilizada por el sistema se almacenar en una base de datos relacional. El acceso a lainformacindedichabasededatosseharnicamenteatravsdelaaplicacin.
A continuacin semuestraunesquema con loselementosbsicosdeuna arquitectura
cliente/servidor.
-
26 Organizacindecongresos
4.2 DiseodelabasededatosEnesteapartadosedefinelaestructurafsicadelabasededatosatravsdeunmodelo
relacionaldondeseespecifican las relacionesy restriccionesde integridad referencialentrecadaunade lastablas.Para facilitar lacomprensindeldiagramarelacionalsehadividoenpequeosfragmentosquesedetallanacontinuacin.
4.2.1 Modeloentidadrelacin
-
27 Organizacindecongresos
4.2.2 Modelorelacional
-
28 Organizacindecongresos
4.2.3 GestindeusuariosTablaAccounts:tiene losdatosdecadaunade lascuentasdeusuariocreadasporestos,estatablaesnecesariaalahoraderealizarlaconexinporpartedelusuarioalportalWebyaquecontienetantoel iddelusuariocomoelpassword.Cadaunode losregistrosestreferenciadoasolamenteunusuariodelsistema.
Account(idAccount,idUser,password,dateIn)
TablaUsers:contienetoda la informacinreferentea losusuariosdelsistema,tanto losdatos personales como los datos de contacto. Cada usuario tiene un idUser que serutilizado para referenciarse con cada una de las tablas de la base de datos (Accounts,Payments, Books y Enrolls). Asmismo, cada usuario estar distinguido por un tipo deusuariodefinidoenlatablaType.
User (idUser, name, surname, idNumber, type, address, postalCode, city, country,company,phone,email)
TablaType:Enestatablaseencuentralainformacindecadaunodelostiposdeusuariosy asistentes al congreso. En ella obtendremos la informacin referente al precio deinscripcinalcongresodecadaunodelostiposylosdescuentosaplicablesenlasreservaseinscripciones.EstreferenciadoconelcampotypedelatablaUser.
Type(name,fee,discount)
TablaPayments: contiene la informacin de todos los gastos ypagos generadosenelportal Web resultantes de las inscripciones, reservas de habitaciones en hoteles einscripcionesenactividades.Losusuariosnopodrnsereliminadosdelabasededatossitienenpagospendientes.
Payments(idPayment,idUser,description,amount,paid)
-
29 Organizacindecongresos
4.2.4 GestindehotelesTablaHotels:contienetodalainformacinreferentealoshotelesdelcongreso,tantolosdatosde informacincomo losdatosdecontacto.Cadahotel tieneun idHotelqueserutilizadoparareferenciarsecon latabladehabitaciones.Esuna tablaqueslocontieneinformacin,perodependendeellalastablasRoomyBooks.
Hotels(idHotel,name,city,stars,description,address,phone,kidsDiscount)
TablaRoom:tienelainformacinreferentealashabitacionesdeloshotelesdelcongreso.Cada registro tiene un idRoom que ser utilizado para referenciarse con la tabla dereservas(Books).Asmismo,unahabitacinslopodrperteneceraunhotelyslopodrserreservadasielcampooccupiedtienevalorno.
Room(idRoom,idHotel,type,price,number,occupied,maxPersons)
Tabla Books: en esta tabla se encuentra toda la informacin referente a reservas dehabitacionesenhotelesdelcongreso.Encadaregistroseindicarelusuarioquerealizalareservaylahabitacinquereservaynopodrhaberdosreservasdelamismahabitacinyusuarioenlamismafecha.
Books(idHr,idRoom,idUser,dateIn,dateOut)
4.2.5 GestindeactividadesTabla Activities: contiene toda la informacin referente a las actividades del congreso.Cada actividad tiene un idAct que ser utilizado para referenciarse con la tabla deinscripciones.Esunatablaqueslocontiene informacin,perodependedeella latablaEnrolls.
Activities(idAct,name,description,places,city,date,hour,duration,price,occupied)
TablaEnrolls:enestatablaseencuentratodalainformacinreferenteainscripcionesdeasistentesalasactividadesdelcongreso.Encadaregistroseindicarelusuarioquerealizala inscripciny laactividadquereservaynopodrhaberdos inscripcionesde lamismaactividadyusuario.
Enrolls(idAe,idAct,idUser,persons)
-
30 Organizacindecongresos
4.2.6 OtrasTablaCongress:tienetodalainformacinrelativaalcongreso.SerutilizadaparagenerarlapginaprincipaldelportalWebde formadinmica.Noestreferenciadaconningunaotratabladelabasededatosyaqueslocontieneinformacin.
Congress (idCongress, nameCongress, place, congress_type, description, date,scheduleStart,scheduleEnd)
-
31 Organizacindecongresos
4.3 Diseocompletodelabasededatos
-
32 Organizacindecongresos
5. CONCLUSIONESUnavezfinalizadoelproyectopuedoconcluirquesehancumplidotodoslosobjetivosque
semarcaronmesesatrs,habiendo implementadounaaplicacinwebquefacilita lagestinde integralde laorganizacindeuncongreso.A lo largodelproyectohan idoapareciendodificultadesquehemosidosolventandosatisfactoriamente.
Para ello ha sido necesario estudiar y aprendermucho sobre tecnologas que se estn
empleando actualmente en el desarrollo de aplicaciones web a nivel profesional: PHP yMySQL.He reforzado losconocimientosque tena sobreHTML,hojasdeestilo, JavaScriptperosobre todomehapermitidomejorarenelusodePHP,ascomoaprenderyentenderunanuevaformadeenfocareldesarrollodesoftware,comosonlosserviciosweb.
La implementacin final de la aplicacin cumple fielmente con la arquitectura
cliente/servidor,organizadaentrescapaslgicas,definidadurantelafasedediseo.Deestemodo, todos los accesos desde las pginas hasta la base de datos se hacen a travs dellamadasalservicioweb.
Unodelosobjetivosinicialesdelproyectoeraelasegurarlacalidaddelsoftwarecreado.
Paraello,elsistemahasidosometidoapruebasdefinidasparaeste fin.Los resultadoshansidosatisfactoriosypodemosconcluirqueelsoftwarecumpleconlasfuncionalidadesparalasquefuedesarrollado.
Con este trabajo he intentado poner en prctica todos los conocimientos adquiridos
durantelacarrera.Tareasrelacionadascontemastandiversoscomolagestindeproyectos,desarrollodedocumentacin,anlisisderequisitos,diseodebasededatos,implementacindelcdigofuente,etc.
Lasaplicacioneswebsonunadelasmejoresalternativasalahoradeimplementarcierto
tipodesistemaspara llegaragrandesmasasdeusuariosyseraccesiblesdesdeunaampliavariedaddesoportes,plataformas,dispositivos,etc.Porelloesnecesarioseguirformndoseentecnologasrelacionadasconelmundoweb.
-
33 Organizacindecongresos
6. MANUALDEUSO
6.1 Todoslosusuarios
En lapgina inicialsepuedever informacinacercadelcongresoyhaydosposibilidadesdeinteractuar dependiendo si el visitante esmiembro o no. Si esmiembro, slo tendr queintroducirelnombredeusuarioycontraseaypulsarLogin.Sitodoescorrectoentrarenelreaprivada,siocurrealgnerroraparecerunodeestosmensajes:
Laotraposibilidad,sielvisitantenoesmiembro,esregistrarseenelsistema.
-
34 Organizacindecongresos
ElvisitanterellenaraelformularioypulsarelbotnSubmit(elbotnResetesparaborrartodala informacin en pantalla). SI no hay errores el usuario estar registrado en el sistema yvolveralapginaprincipalparaloguearse.Siocurrealgnerror,elsistemamostraralladodelcampolapalabraError.
Elvisitante tambinpuedeponerseencontactoconeladministradora travsde laopcinContactUs.Tendrquerellenarloscamposconsucorreo,asuntoymensajeypulsarSend.
-
35 Organizacindecongresos
6.2 Usuariosregistrados
En lapgina inicialde la zonaprivada,elusuariopuede ver la informacindel congreso ytendr la posibilidad de elegir entre las opciones de ver sus datos, consultar hoteles,actividadesysuspagosycontactarconeladministrador.
reausuario:Enestapginaelusuariopuede ver sus datospersonales,modificar losdiferentes campos ydarse de baja delsistema.
Paramodificar,tienequecambiar los camposdeseados y pulsarModify, si ocurre algnerror aparecer junto alcampolapalabraError.
-
36 Organizacindecongresos
Hoteles:
Enestapginaelusuariopuedevertodos loshotelesdisponiblesparaelcongreso.Despusdeseleccionaruno,aparecerlainformacindetalladadeste.
Sielusuarioest interesadoen reservarunahabitacinenestehotel tendrquepulsarelbotnBook.
-
37 Organizacindecongresos
Parareservar lahabitacin,elusuariotienequerellenarelformulariocon losdetallesdesureserva (tipo de habitacin, fechade llegada y nmero de noches y personas que estarnalojadas).Sitodoescorrectoserredirigidoa lapginaconsuspagos,siocurrealgnerroraparecerjuntoalcampolapalabraError.
Actividades:
En esta pgina el usuario puede ver todas las actividades disponibles para el congreso.Despusdeseleccionaruna,aparecerlainformacindetalladadesta.
SielusuarioestinteresadoeninscribirseenlaactividadtendrquepulsarelbotnEnroll.
-
38 Organizacindecongresos
Parainscribirseenlaactividad,elusuariotendrquerellenarelformularioconlosdetallesdesureserva(personasqueasistirnalaactividad,mximo3).Sitodoescorrectoserredirigidoalapginaconsuspagos,siocurrealgnerroraparecerjuntoalcampolapalabraError.
Pagos:En esta pgina el usuariopuede ver todos sus gastos ypagos con una brevedescripcin, el coste de cadaunoylacantidadabonada,encaso de que haya pagado.Finalmente aparece el totalpagadoyeladeudado.
Contacto:Es la misma pgina que los usuarios no registrados pueden usar para contactar con eladministrador pero el campo de la direccin de correo estar relleno por defecto con ladireccindelusuario.
-
39 Organizacindecongresos
6.3 Administradores
Enlapginainicialdelazonaprivada,eladministradorpuedeverlainformacindelcongresoytendr laposibilidaddeelegirentre lasopcionesdeconsultarcuentasdeusuario,hoteles,actividadesypagosymodificarlainformacindelcongresoylostiposdeasistentes.
Cuentas:
En esta pgina sepueden ver todoslos miembros delsistema. Tambintiene la posibilidaddeeliminarlos.
-
40 Organizacindecongresos
Hoteles:
En esta pgina se pueden ver todos los hoteles disponibles para el congreso.Despus deseleccionaruno,aparecerlainformacindetalladadeeste.Tambintendrlaposibilidaddeinsertarunnuevohotelenelsistema.
(Insertarhotel) (Modificarhotel)
Sieladministradoreligeinsertarhotel,aparecerunformularioenblancopararellenarlocontoda la informacindelhotel.Si todoescorrectoser redirigidoa lapginadeconsultadehoteles,siocurrealgnerroraparecerjuntoalcampolapalabraError.
Si el administrador selecciona uno de los hoteles, aparecer un formulario con toda lainformacindelhotelytendrlaposibilidaddeeliminarloomodificarlosdatoscambiandoloscamposseleccionados.Sitodoescorrectoserredirigidoalapginadeconsultadehoteles,siocurrealgnerroraparecerjuntoalcampolapalabraError.
-
41 Organizacindecongresos
En esta pgina tambin podr insertar nuevas habitaciones para el hotel o modificar lainformacindestas.
(Insertarhabitacin) (Modificarhabitaciones)
Si el administrador elige insertar habitacin, aparecer un formulario en blanco pararellenarlo con toda la informacinde lahabitacin. Si todoes correcto ser redirigidoa lapginadeconsultadehoteles,siocurrealgnerroraparecerjuntoalcampolapalabraError.
Si el administrador selecciona modificar habitaciones, aparecer una lista con toda lainformacindelashabitacionesdelhotelytendrlaposibilidaddeeliminarlasomodificarlosdatoscambiandoloscamposseleccionados.Sitodoescorrectoserredirigidoalapginademodificacindehabitaciones,siocurrealgnerroraparecerjuntoalcampolapalabraError.
-
42 Organizacindecongresos
Actividades:
Enestapginasepuedenvertodas lasactividadesdisponiblesparaelcongreso.Despusdeseleccionaruno,aparecerlainformacindetalladadesta.Tambintendrlaposibilidaddeinsertarunanuevaactividadenelsistema.
(Insertaractividad) (Modificaractividad)
Sieladministradoreligeinsertaractividad,aparecerunformularioenblancopararellenarlocon toda la informacin de la actividad. Si todo es correcto ser redirigido a la pgina deconsultadeactividades,siocurrealgnerroraparecerjuntoalcampolapalabraError.
Si el administrador selecciona una de las actividades, aparecer un formulario con toda lainformacin de la actividad y tendr la posibilidad de eliminarla o modificar los datoscambiando los campos seleccionados. Si todo es correcto ser redirigido a la pgina deconsultadeactividades,siocurrealgnerroraparecerjuntoalcampolapalabraError.
-
43 Organizacindecongresos
Pagos:
1) EladministradorseleccionaunusuarioypulsaAccept.
2) DespusseleccionaunodelospagosdelusuarioypulsaSelect.
3) Sielusuariohapagadolacantidad,eladministradorpulsaelbotnPaidyvolverdirectamentealpaso2.
-
44 Organizacindecongresos
Congreso:
En esta pgina el administrador podrmodificar la informacin del congreso, Para ello, elsistemamostrarunformulariocontodalainformacinreferenteasteypodrcambiarloscamposdeseados.Sitodoescorrectoserredirigidoalapginaprincipaldelazonaprivada,siocurrealgnerroraparecerjuntoalcampolapalabraError.
Tipos:En esta pgina el administradortienedosposibilidades:insertarunnuevo tipo de asistente omodificar uno existente. ParamodificarlotendrqueseleccionarunoypulsarAccept.
En esta pgina aparecer lainformacin de ese tipo deasistente, tendr laposibilidaddeeliminarlo o modificar los datoscambiando los campos deseados.Si todoescorrectoserredirigidoalapginadeconsultadetiposdeasistentes, si ocurre algn erroraparecer junto al campo lapalabraError.
-
45 Organizacindecongresos
En esta pgina aparecer unformulario en blanco pararellenarlo con toda lainformacindelnuevo tipo. Sitodo es correcto serredirigido a la pgina deconsulta de tipos, si ocurrealgn error aparecer junto alcampolapalabraError.
-
46 Organizacindecongresos