Full text
Diseñoyprototipadode unaplataformawebsobre basecartográficaparael análisisderiesgosen entornosindustriales IngenieríaInformática ProyectodeFindeCarrera Autor: NayaritSantanaPacheco Tutores: D.FranciscoMarioHernándezTejera D.BlasJ.GalvánGonzález Fecha:Septiembrede2013
ProyectofindecarreradelaEscueladeIngenieríaInformáticadelaUniversidaddeLas PalmasdeGranCanariapresentadoporlaalumna: TítulodelProyecto:DISEÑOYPROTOTIPADODEUNAPLATAFORMAWEBSOBREBASE CARTOGRÁFICAPARAELANÁLISISDERIESGOSENENTORNOSINDUSTRIALES Autor: NayaritSantanaPacheco Tutores: D.FranciscoMarioHernándezTejera D.BlasJ.GalvánGonzález
DEDICATORIA Amispadresymihermana,portodosuapoyoyamor.
AGRADECIMIENTOS Quieroagradecertodoelapoyoylaayudaproporcionadapormistutores:D.Mario HernándezTejerayD.BlasJ.GalvánGonzález,quemehanapoyadoyhandadola libertadsuficienteentodomomentoyhanconfiadoenmitrabajo. Megustaríadarleslasgraciasprincipalmenteamispadresyamihermana,que siempremehandadofuerzasparaseguiradelanteynotirarlatoalla,quehanhecho quecreaenmíyenmisposibilidadesysiempremehandadotodosuamory confianza.Sinellosestonohabríasidoposible. QuisieraagradecerleamicompañeroSamuelportodalaayudaquemehaprestadoy pordarmeánimosduranteelproyecto,sinduda,sucompañíayapoyohahechomás llevaderoestetrabajo.TambiénquerríaagradeceraalgunosmiembrosdelCEANI,a AndrésCacereño,quemehaproporcionadolasbasesnecesariassobrelosriesgosen entornosindustrialesysehaprestadoarevisarlosresultadosobtenidos.Ymuy especialmenteaJuanPedroRamosPonce,quemehaayudadoguiándomey supervisándomedurantetodoelprocesodedesarrollo. Porúltimonopuedoolvidarmedemisamigos,atodosellosgraciasporlapacienciay elapoyo,porentendermisausenciasymostrarmesiempresucompresiónyamistad. EspecialmentequieronombraraMiguelÁngel,quedíaadíahaaguantadomisnervios ysiemprehaencontradolaformadeanimarmeyrelajarme.
Índice Capítulo1.Introducción........................................................................................13 1.1.Estructura de la memoria ................................................................................................................. 13 Capítulo2.Estadoactualdeltema........................................................................15 2.1. PHAST ............................................................................................................................................ 15 2.2. ZEUS ............................................................................................................................................... 17 2.3. Propiedades Comunes ..................................................................................................................... 21 Capítulo3.Objetivos.............................................................................................23 Capítulo4.Recursosnecesarios.............................................................................25 Capítulo5.Metodología........................................................................................27 5.1. Análisis ............................................................................................................................................ 27 5.2. Diseño .............................................................................................................................................. 27 5.3. Implementación ............................................................................................................................... 28 5.4. Validación ....................................................................................................................................... 28 Capítulo6.Análisis................................................................................................29 6.1. Descripción del problema / Contextualización de la plataforma ..................................................... 29 6.1.1. Accidentes graves ..................................................................................................................... 29 6.1.2. Legislación sobre “accidentes graves” ..................................................................................... 30 6.1.3. Real Decreto 1254/1999 y posteriores modificaciones............................................................. 30 6.1.4. Real Decreto 1196/2003 ........................................................................................................... 31 6.1.5. Zonas de afección más importantes .......................................................................................... 31 6.2. Ámbito de la plataforma desarrollada .............................................................................................. 32 6.3. Modelos matemáticos utilizados ..................................................................................................... 33 6.3.1. Método equivalente TNT .......................................................................................................... 33 6.3.2. Fuga de Líquido Inflamable ..................................................................................................... 36 6.4. Análisis de requisitos y casos de uso ............................................................................................... 38 6.4.1. Roles ......................................................................................................................................... 38 6.4.2. Requisitos funcionales .............................................................................................................. 39 6.4.3. Casos de uso ............................................................................................................................. 42 6.4.4. Requisitos no funcionales ......................................................................................................... 68 6.5. Modelo del dominio ........................................................................................................................ 69 Capítulo7.Diseño.................................................................................................71 7.1. Arquitectura básica de la plataforma ............................................................................................... 71 7.2. Tecnologías utilizadas ..................................................................................................................... 73 7.2.1. Servidor web ............................................................................................................................. 73 7.2.2. Cliente ...................................................................................................................................... 77 7.2.3. Servidor BBDD ........................................................................................................................ 79 7.3. Patrones y otros aspectos de diseño ................................................................................................ 79 7.3.1. Servidor web ............................................................................................................................. 80
Estado actual del tema 16 4. Unavezrealizadalasimulaciónseobtendránunaseriedetablasygráficaspara cadaunodelosaccidentessimulados.Enelmapasepodránapreciarlasáreas queseveríanafectadasporcadaaccidenteyenquémedida,yaquecadauna tendráunarepercusiónmayoromenorsobrelazona. Paralavisualizacióndelosresultados,alaizquierdadelmapaincluyenunaleyenda indicandocadaunadelaszonasdeafecciónmostradas,encadaunaseindicaelvalor depresiónquetendríatodoelsectorqueseveadelimitadoporesecírculo.Enla Figura1seobservacomoenelmapaestándibujadastodaslaszonasdeafeccióndel accidentesimulado. Fig. 1. Zonas de afección del accidente simulado PHASTtienelaaparienciacaracterísticadeunaaplicacióndeescritorio(Figura2), incluyendoensucabeceraunmenúdeherramientasprincipal.Asuizquierdadispone deunmenúdetipoárboldondesepuedenverlosdistintosaccidentesquehansido definidos,indicandoencadacaso(atravésdeiconospreestablecidos)eltipode accidentedelquesetrata.
Universidad de Las Palmas de Gran Canaria 17 Fig. 2. Apariencia del PHAST Lasecciónderechacontienedosventanas: ‐ Laprimeramuestraunagráficadondequedanrepresentadoslosvalores obtenidostraslasimulacióndelaccidenteseleccionado(enelmenúdeárbol delaizquierda). ‐ Lasegunda,muestralosmismosvaloresperorepresentadosenunatabla Porúltimo,enlaseccióninferior,laaplicacióndisponedeunaventanaparaindicarlo quevasucediendoatravésdemensajes. 2.2.ZEUS ZEUS,cuyassiglassignificanZonasdePlanificaciónparaExplosionesindustriales,se tratadeunprogramaparaelcálculodeconsecuenciasyzonasdeplanificaciónpara accidentesgravesdetipomecánico.Estaaplicaciónfuedesarrolladaenelmarcodela tesisdelIngenieroQuímicoFernandoDíazAlonso(UniversidaddeMurcia),yllevapor título:Análisisdeconsecuenciasyzonasdeplanificaciónparaexplosionesindustriales accidentales(enelámbitodelasdirectivasseveso).
Estado actual del tema 18 Laaplicaciónfuecreadaconelfindefacilitartodosloscálculosllevadosacaboparala obtencióndelasmagnitudespeligrosasylaszonasdeplanificaciónexpuestasenla tesis.Porestemotivonosepuedehacerunacomparaciónexhaustiva,dadoquese tratadeunaaplicacióndesarrolladaparaunusocasipersonal.Apesardeello,abarca varioscasosdentrodelosfenómenospeligrosos*detipomecánico,siempredentrode unentornoindustrial,parasermásexactos,explosionesindustrialesaccidentales producidaspor: ‐ Explosivos ‐ Sustanciasinestablesopirotécnicas ‐ Nubesdevapornoconfinadas ‐ Estallidoderecipientes EnlaFigura3,sepuedeverlapantallaprincipaldelaaplicación,concretamentela pantallaprincipal. Fig. 3. Pantalla principal de ZEUS Laprimerainformaciónquesolicitalaaplicaciónparaempezaratrabajarconsisteenla eleccióndelmodelomatemáticoqueseemplearáalahoraderealizarloscálculos. Unavezhayasidoelegidoelmodelo,semostraráunapantalladetrabajodonde solicitarálainsercióndeunaseriededatosbásicosparapoderllevaracabola simulacióndelmismo(Figura4).
Universidad de Las Palmas de Gran Canaria 19 Fig. 4. Pantalla de inserción de datos Cadapantalladetrabajoserádiferenteenfuncióndelaexplosión,perotodastendrán varioselementoscomunes,comoson: ‐ Barradeherramientas.Labarradeherramientascontienelasopcionesbásicas decualquieraplicación,comoporejemplo:guardar,abrir,nuevo,salir,etc.,así comoalgunasopcionesadicionalesdeidiomayotraspropiasdeltemaquese estátratando(Figura5). Fig. 5. Menú ‐ Datosdeentrada.Enestasecciónserádondesesolicitaránlosdatos necesarios,asícomolaeleccióndediversasopcionesquedeterminaránel comportamientodelmodelo(Figura6). ‐ Botóndecalcular.Presionandoelbotón“Calcular”queapareceenlasección inferiordelaFigura6,laaplicaciónllevaráacabotodosloscálculosnecesarios paraobtenerlosresultados.
Estado actual del tema 20 Fig. 6. Datos de entrada para el TNT Trascalcularlosresultados,laaplicaciónmostraráunconjuntodegráficasytablascon losvaloresobtenidos(Figura7). Fig. 7. Resultados de simulación
Universidad de Las Palmas de Gran Canaria 21 2.3.PropiedadesComunes TantoenelcasodePHASTcomodeZEUS,seofrecelaopcióndecrearnuevas sustanciaspeligrosas,perolaformadehacerloestotalmentedistinta(Figura8). ‐ EnelcasodePHAST,cuandosedeseeañadirunanuevasustancia,setendrán quedefinirtodasaquellascaracterísticaspropiasdelasustancia,quepuedan llegarasernecesariasenelconjuntodemodelosmatemáticosquepodrán utilizarla ‐ enelcasodeZEUS,cuandosepretendaañadirunanuevasustancia,tambiénse deberáindicarelmodelomatemáticoenelqueseutilizará,deestaforma,sólo seránecesariorellenaraquellaspropiedadesnecesariasparaelcorrecto funcionamientodelmodelo. Fig. 8. Formulario de nueva sustancia Apesardehaberrealizadounabúsquedaintensivasobrelasaplicacionesparael cálculodeanálisisderiesgos,aquellasqueseencuentranestánobsoletasonoestána disposicióndelusuariocomún,conlocualnosehapodidorealizarunestudio comparativocomoconPHASTyZEUS.Apesardeello,semuestraunabreve descripciónsobresufuncionamiento.Entreestasaplicacionescabedestacar:
Estado actual del tema 22 ‐ CIRMA:laDirecciónGeneraldeProtecciónCivilyEmergencias(Ministeriodel Interior)realizóunanálisisexhaustivosobrelaafecciónyvulnerabilidaddel medioambienteporaccidentesgravesocurridosenestablecimientosafectados porelRealDecreto1254/1999.Ademástambiénelaboróunapropuestade metodologíaparaelanálisisderiesgosambientales. Esteprograma“gestionaelCálculodelíndicederiesgomedioambientaldelos escenariosaccidentalesquesedefinanparaunestablecimiento,enbasealos índicesglobalesdeconsecuenciasmedioambientalesobtenidosyasus probabilidades/frecuencias.” ElRealDecreto1254/1999yanoseencuentraenvigor,porloquecomose comentabaanteriormente,estaaplicaciónadíadehoyestáobsoleta. ‐ SHELLFRED5.0“(Incendio,Fugas,Explosión,Dispersión,esunsoftwareque permitesimularlasconsecuenciasdelasfugasdeunproducto,tanto accidentalescomointencionadas.” ‐ ALOHA5.3delaEPA:“esunprogramaqueseutilizacomomodelode dispersiónatmosféricaparaevaluarescapesdevaporesdesustanciasquímicas peligrosas.” ‐ EFFECTSTNO5.5:“esunprogramaquecalculalosefectosfísicosdebidosa escapesdesustanciaspeligrosas. Calculariesgosmedioambientales Contieneunabasededatosdepropiedadesfísicasdemásde100sustancias peligrosas.” ‐ RISKCURVESTOOLBOX4.0.:“seutilizapararealizarelanálisiscuantitativodel riesgoenlaindustriaquímicaopetroquímica.Calculatodotipoderiesgos, comoporejemploriesgosdelasaludoriesgosdeltransporte. Análisisdelosresultadosdelriesgo. Indicasiunsistemaseencuentrabalanceadoconsumedio. EstábasadoenelYellowBook,GreenBookyelPurpleBook.”
Universidad de Las Palmas de Gran Canaria 23 Capítulo3. Objetivos Lamotivaciónpararealizaresteproyectosurgedelanecesidaddeproporcionarleal CEANIunaherramientaqueayudeenelestudiodelosanálisisderiesgos,facilitándole eldesarrollodeplanesdeemergenciaenloquealplanteamientodeaccidentesse refiere,pudiendoobtenerlaszonasafectadasenbasealosmodelosmatemáticos desarrollados. Elobjetivoprincipaldeesteproyectoconsisteendesarrollarunaplataformawebpara elanálisisderiesgosenentornosindustriales.Parapodersatisfacerestosobjetivos,se planteaunaplataformacompuestapor: ‐ Basededatos:entodaplataformaquealmacenedatossenecesitahaceruso deunabasededatos.Enestecasoalmacenarádostiposdedatos: o losquefaciliteelsistema o losqueaporteelusuarioencadacasoparapoderresolverunaccidente enconcreto ‐ WebService:esteelementodelaplataformaproveeráunconjuntodeservicios propiosdelosanálisisderiesgos.Enlamayoríadeloscasoselwebservicese veráobligadoaaccederalabasededatos.Enunoscasospararecuperardatos delusuarioyenotrosparautilizarlosdatosproporcionadosporelsistema. ‐ Aplicaciónweb:lapartevisibleparaelcliente,queaccederáalosservicios ofrecidosporelwebservicepararealizarlamayoríadesusfunciones. App Web Usuario 1 Usuario 2 Usuario 3 Web Service BBDD App Web App Web Fig. 9. Arquitectura de la plataforma
Objetivos 24 Elprincipalobjetivoacubrirporestaplataformaespoderdefinirlosescenariosdonde sucedenlosaccidentes,posicionarlossobreunmapaymostrarlaszonasqueseverían afectadasencasodequesellegasenaproducir.Aunqueenelcapítulodelanálisisse haceunestudiomásexhaustivodetodoslosrequerimientosdelaaplicación,para satisfaceresteobjetivoprincipal,sehandecubrirlossiguientesobjetivosbásicos: ‐ Definirnuevosescenariospararealizarlassimulaciones ‐ Guardarlosescenariosdefinidosparasuusoposterior ‐ Podermodificarlosescenariosdefinidos ‐ Crearnuevosaccidentesasociadosalescenario ‐ Posicionarlosaccidentesenelmapa ‐ Visualizardeformagráficalosresultadosobtenidosenlassimulaciones ‐ Visualizarenformadetextolosresultadosobtenidosenlassimulaciones ‐ Definirnuevaszonasdeafección ‐ Definirnuevassustancias ‐ Definirnuevosrecursos ‐ Cargarmapasdelusuario
Universidad de Las Palmas de Gran Canaria 25 Capítulo4. Recursosnecesarios Dadalanaturalezadelproyecto,duranteelestudioydesarrollodelmismohasido necesarioutilizardiversosrecursos,tantohardwarecomosoftwarequeselistaránalo largodeestasección,indicandoencadacasoaquiénpertenece. Lamayoríadelosrecursosutilizadosparaeldesarrollodelproyectohansidoprovistos porLaDivisióndeComputaciónEvolutivayAplicaciones(CEANI)delInstituto UniversitariodeSistemasInteligentesyAplicacionesNuméricasenIngeniería(SIANI), pertenecientealaUniversidaddeLasPalmasdeGranCanaria;ademásdelosrecursos quesenombraránacontinuación,tambiénhansidoutilizadaslasinstalacionesdel centroaniveldeunazonadondeestablecerlosrecursosprestados. Recursos Hardware Propietario Ordenador con procesador Intel Pentium 4 a 3.00 GHz y 3 GB de memoria RAM CEANI Pantalla Dell 19’’ CEANI Pantalla Phillips 17’’ CEANI Ordenador portátil Dell Inspiron 1545 de 15,4’’ (Intel Core Duo – 2GHz y 4GB de memoria RAM) Alumno Pantalla LG 17’’ Alumno Impresora láser blanco y negro CEANI Impresora multifunción Lexmark Alumno Pendrive 4 GB TDK Alumno Disco duro portátil WD 160 GB Alumno Tabla 1. Recursos utilizados a lo largo del desarrollo del proyecto Eldesarrollonohasidoorientadoalcontextodelsoftwarelibre,sinembargotambién sehallegadoautilizaralgunadeestasherramientas.Acontinuaciónsedetallael conjuntodeprogramasquehansidoutilizados.
Análisis 32 ‐ Zonadeintervención:Esaquellaenlaquelasconsecuenciasdelosaccidentes producenunniveldedañosquejustificalaaplicacióninmediatademedidasde protección. ‐ Zonadealerta:Esaquellaenlaquelasconsecuenciasdelosaccidentes provocanefectosque,aunqueperceptiblesporlapoblación,nojustificanla intervención,exceptoparalosgruposcríticos. ‐ Efectodominó:laconcatenacióndeefectoscausantesderiesgoquemultiplica lasconsecuencias,debidoaquelosfenómenospeligrosospuedenafectar, ademásdeloselementosvulnerablesexteriores,otrosrecipientes,tuberíaso equiposdelmismoestablecimientoodeotrosestablecimientospróximos,de talmaneraqueseproduzcaunanuevafuga,incendio,estallidoenellos,quea suvezprovoquennuevosfenómenospeligrosos. 6.2.Ámbitodelaplataformadesarrollada Comosehavenidoexplicandohastaahora,laplataformadesarrolladaeneste proyectoserviríacomoherramientaeneláreadelAnálisisdelriesgo.Unavezsehayan identificadolospeligrosdeaccidentesgraves,seprocedealcálculodeconsecuencias delosmismos. Fig. 11. Ubicación de la aplicación dentro del estudio de los riesgos Lafasedecálculodeconsecuenciascapturalosdatosnecesariosdelafaseanteriory, losresultadosobtenidos,estáncalculadosenbaseaunconjuntodemodelos matemáticosquedefinenelcomportamientodelaccidenteencasodehaberse producido.
Universidad de Las Palmas de Gran Canaria 33 Losresultadosconseguidosporlosmodelosmatemáticosdefiniránlasdistintaszonas queseveríanafectadasporelaccidente,quedandosometidasaunadeterminada presiónquevendrádefinidaporelvalorumbralestablecido(porejemplo:zonade alerta,zonadeintervención...).Cadavalorumbralproporcionaráunazonadeafección distinta. Fig. 12. Ejemplo 6.3.Modelosmatemáticosutilizados Elconjuntodemodelosmatemáticosqueseutilizanparaelcálculodeconsecuencias noesdedominiopúblico,portanto,sehandesarrolladoaquellosqueestaban disponibles: 6.3.1.MétodoequivalenteTNT ElTNT(trinitrotolueno)esunexplosivoconvencional.Hasidounodelosexplosivos másutilizadosanivelmilitar,locualhapermitidoquesusefectossehayanestudiado ampliamente.Estemétodopermitepredecirdeunaformarápidaysencillalosdaños ocasionadosporlaexplosióndeunanubedevapornoconfinada,calculándoloapartir delamasadeTNTqueequivaldríaalacantidaddehidrocarburoimplicado,esdecir, queproduciríaelmismoniveldedaños.Porende,esunodelosmétodosmás utilizados. Lafórmulaqueseutilizaparaelcálculodelresultadoes:
Análisis 34 Donde: WTNT:masaequivalentedeTNT Wexp:masadelexplosivo (WTNT/Wexp)explosivo:equivalenciadeTNTporunidaddemasadeexplosivo Existeunatabladereferenciadondeseindicanloscoeficientesparacalcularlas equivalenciasdedistintoshidrocarburosconrespectoalTNT: ExplosivoEquivalencia(sobrepresión)Equivalencia(impulso) Nitroglicerina1.691.69 PETN1.771.77 ÁcidoPícrico1.061.06 RDX1.571.57 Trinitrobenceno1.111.11 2.4.‐Dinitrotolueno0.770.77 NitratoAmónico0.560.56 Peróxidodeciclohexanona0.190.19 Cloratosódico0.150.15 Nitrometano1.341.34 ComposiciónA‐31.091.076 ComposiciónC‐41.371.19 Coclotol(70/30)1.141.09 HBX‐11.171.16 HBX‐31.140.97 H‐61.381.15 MinolII1.201.11 Pentolita1.381.14 Picratol0.900.93 TNETB1.361.10 Tritonal1.070.96 UnavezsetienelamasadelexplosivosepuedecalcularlamasadeTNTequivalentea lacantidaddesustanciaqueparticipaenlaexplosión: WTNT=Wexp*coeficientedelatabla
Universidad de Las Palmas de Gran Canaria 35 Acontinuaciónsecalculaladistanciaescalada(z’)alaqueseoriginaunadeterminada presión,enbasealassiguientesecuaciones 1.1310 11000;1.1310. 11000400;1.8310. Enfuncióndelvalorumbraldelazonaquesedeseecalcular,seutilizarálaprimeraola segundaecuación.Laprimeraseráparavalorescomprendidosentre1.1310y 11000pascalesylasegundaparavalorescomprendidosentre11000y400pascales. Teniendolaz’calculada,sólofaltaríaobtenerelresultadodelmodelo,queserála distanciadeláreaafectadapartiendodesdeelcentrodelaccidente. / despejandoelvalorquefaltaporcalcular: / siendozelresultadodelmodelo. LaDirectrizbásicadeproteccióncivilparaelcontrolyplanificaciónanteelriesgode accidentesgravesenlosqueintervienensustanciaspeligrosas,establecelosvalores umbralesparalaestimacióndelaszonasdeplanificaciónanteemergencias.Encuanto alriesgodeimpulsosysobrepresionessehanestablecidolosvaloresumbrales siguientes: 6.3.1.1.Valoresumbralesparalazonadeintervención ‐ Valorlocalintegradodelimpulsodebidoalaondadepresión:150milibar segundo(15000pascales) ‐ Sobrepresiónlocalestáticadelaondadepresiónde125milibar(12500 pascales) 6.3.1.2.Valoresumbralesparalazonadealerta ‐ Valorlocalintegradodelimpulsodebidoalaondadepresión:100milibar segundo(10000pascales)
Análisis 36 ‐ Sobrepresiónlocalestáticadelaondadepresiónde50milibar(5000 pascales) 6.3.1.3.Valoresumbralesparalazonadeefectodominó ‐ Sobrepresiónlocalestáticadelaondadepresiónde160milibar(16000 pascales) 6.3.2.FugadeLíquidoInflamable Cuandolacisternaquecontieneunasustancialíquidapierdesucapacidadde retención,ellíquidosefugayseextiendeocupandounasuperficiequedependedela existenciadeobstáculosqueimpidansuprogresión.Siellíquidoesinflamable,laparte quepudieraestarevaporandodesdelasuperficiedelcharcogenerado(es dependientedelavolatilidaddelasustancia)essusceptibledeocasionarelincendio. Estoocurrecuandolosvaporesemitidossemezclanconelaireycuandosesobrepasa ellímiteinferiordeinflamabilidadyseaportalaenergíadeactivaciónnecesaria.Estos vaporessonloquearderealmente.Esteincidentesedenomina“incendiodecharco”. 6.3.2.1.Elefectodelosincendios Sonprovocadosporlaoxidaciónrápida,noexplosiva,desustanciascombustibles, produciendollama,quepuedeserestacionaria(incendiodecharco,dardodefuego)o progresiva(llamarada,boladefuego),peroqueentodosloscasosdisipalaenergíade combustiónmayoritariamenteporradiaciónquepuedeafectaraseresvivose instalacionesmateriales. Silamateriasobrelaqueincideelflujoderadiacióntérmicanopuededisiparloala mismavelocidadquelorecibe,ésteprovocaunincrementodesutemperatura.Sieste incrementonoselimita,seproducenalteracionesirreversiblesycatastróficas,que puedenculminarenlacombustiónofusiónyvolatilizacióndelamateriaexpuesta. Enlasproximidadesdelpuntodondesedesarrollalallama,setienetransmisióndel calortantoporconveccióncomoporradiaciónyconducción.Asípues,laúnicaforma deevitaromitigarsusefectoseslautilizacióndeequiposdeprotecciónindividual frentealcaloroelfuegooproteccionesadecuadas.Encontraposición,apartirdeuna ciertadistanciadelfocodelincendio,latransmisióndelcalorseefectúa exclusivamenteporradiación,disminuyendosuintensidadalaumentardicha distancia.Estohacequecualquierpantallaopacaalaradiacióntérmicapueda constituirunamedidadeprotecciónsumamenteeficaz. Lavariablepormediodelacualsedescribenlosfenómenospeligrososdeltipo térmicoeslaDosisderadiación,D,recibidaporlossereshumanosprocedentesdelas llamasocuerposincandescentes.Estaesexpresadamediante:
Universidad de Las Palmas de Gran Canaria 37 D=Im4/3texp Donde: ‐ Imeslaintensidadmediarecibida,enkW/m² ‐ texpeltiempodeexposición,ensegundos. Estaexpresiónesválidaparaintensidadessuperioresa1.7kW/m²,paravalores inferioresalanterior,eltiempodeexposiciónesprácticamenteirrelevante,estoes,se consideraqueendichascondiciones,lamayoríadelapoblaciónpuedeestarexpuesta durantedilatadosperíodosdetiemposinsufrirdaño. Confinesdeplanificación,enlosincendiosdecortaduración,inferioresaunminuto, eltiempodeexposiciónsehacecoincidirconladuracióndeéstos;paralosdemayor duración,seestablececomotiempodeexposicióneltranscurridohastaquelos afectadosalcancenunazonaprotegidafrentealaradiaciónodondelaintensidad térmicaseainferiora1.7kW/m². Paraesteúltimocasoyconobjetodedeterminarlasdistanciasquedelimitanlaszonas deintervenciónyalerta,serecomiendaseguirelmodeloderespuestadelapoblación antelagénesisdeincendios,propuestoporTNO,enelqueseestableceunprimer períododereaccióndeunoscincosegundos,dondelapoblaciónpermaneceestáticay acontinuaciónseproducelahuída,alejándosedelincendioaunavelocidadmediade 4m/s. LaDirectrizbásicadeproteccióncivilparaelcontrolyplanificaciónanteelriesgode accidentesgravesenlosqueintervienensustanciaspeligrosas,establecelosvalores umbralesparalaestimacióndelaszonasdeplanificaciónanteemergencias.Estosse indicanacontinuaciónparaelcasodeocurrenciadeincendios: 6.3.2.2.Valoresumbralesparalazonadeintervención Unadosisderadiacióntérmicade250(kW/m²)4/3∙s,equivalentealascombinaciones deintensidadtérmicaytiempodeexposiciónqueseindicanacontinuación. I,kW/m² 76543 texp,s20 25 30 40 60 6.3.2.3.Valoresumbralesparalazonadealerta Unadosisderadiacióntérmicade115(kW/m²)4/3∙s,equivalentealascombinaciones deintensidadtérmicaytiempodeexposiciónqueseindicanacontinuación.
Análisis 38 I,kW/m² 65432 texp,s11 15 20 30 45 6.3.2.4.Valoresumbralesparalazonadeefectodominó Radiacióntérmica:8kW/m². 6.3.2.5.Utilizacióndelmodelo Debidoaquelosmodelosdecálculodeestasmagnitudesfísicasresultanmuycostosos computacionalmente,elequipodelCEANI,queesquienhaproporcionadoeste modelo,haoptadoporelempleodeRedesNeuronalesparaaproximarlosresultados alosaportadosporherramientassoftwaredereconocidoprestigiointernacionalpara lasquesehanimplementadoloscitadosmodelos. Aunquelasredesneuronalesrequierenunimportanteesfuerzodecómputodurante suentrenamiento(sehanrealizadomásde900simulacionesysehanentrenadomás de3000redes),unavezentrenada,elprocesodecálculoserealizadeformacasi inmediata. 6.4.Análisisderequisitosycasosdeuso Durantelafasedeanálisissehacontadocon2tiposdeexpertos,porunladoel analistaderiesgos,queseráelfuturousuariodelaaplicacióny,porotrolado,los expertosentecnologíasdelainformación.Atravésdeentrevistasycuestionariosse hanobtenidoelconjuntoderequisitosfuncionalesynofuncionalesquedefinenel comportamientodelaplataforma. 6.4.1.Roles Seencuentrandostiposdeusuariosqueharánusodelaplataformaalolargodelciclo devidadelamisma.Ambosseconsideranactoresprincipales,yaqueharánuso directo. - Usuariodelaaplicación:seráelencargadodehacerusodelaaplicaciónweb. Utilizarátodalafuncionalidadpararealizarelcálculodeconsecuencias, partiendodelosdatosobtenidosenlaidentificacióndelosriesgos.Elexpertoo analistaderiesgosseráestetipodeusuario. - AdministradordelaBBDD:seráelencargadodeactualizarlosdatosdela aplicación,modificándoloscuandoseanecesariooincluyendonuevosdatos quepodránutilizartodoslosusuarios.Laactualizacióndelosdatossehará directamenteatravésdelSistemaGestordeBasedeDatos(SGBD).
Universidad de Las Palmas de Gran Canaria 39 6.4.2.Requisitosfuncionales Losrequisitosfuncionalesdescribenlastareasespecíficasqueelsistemadebeser capazdellevaracabo. Acontinuaciónsepresentaelconjuntoderequisitosfuncionalesquesatisfacenlas necesidadesdescritasporelusuarioexpertoatravésdelasentrevistasylos cuestionarios.Cadarequisitosedescribiráenunatablamodelocuyoscamposson [Durán,A.&Bernárdez,B.‐2002]: RF‐X<nombredescriptivo> Autores<autordelaversiónactual> Fuentes<fuentedelaversiónactual> Actoresasociados<nombredelosactores> RequisitosasociadosRx‐y<nombredelrequisito> DescripciónElsistemadeberácomportarsetalcomosedescribeenlos siguientescasosdeuso. Importancia<Importanciadelobjetivo> Estabilidad<Estabilidaddelobjetivo> Comentarios<Comentariosadicionalessobreelobjetivo> Identificadorynombredescriptivo:cadarequisitosedebeidentificarporuncódigo únicoyunnombredescriptivo.Losidentificadoresdelosrequisitosfuncionales comienzanconRF. AutoresyFuentes:estosdoscamposcontienenelnombredelosautores (desarrolladores)ydelasfuentes(clientesousuarios),delaversiónactualdel requisito,deformaquelarastreabilidadseaefectiva,llegandohastalaspersonasque hicieronlapropuestadenecesidaddelrequisito. Actoresasociados:estecampocontieneelnombredeltipodeusuario(rol)quellevará acabolaacciónasociadaalrequisitofuncional. Requisitosasociados:enestecamposeindicanotrosrequisitosqueestánasociados poralgúnmotivoconelrequisitoqueseestádescribiendo,deestaformaseconsigue tenerunarastreabilidadhorizontal,esdecir,sepodránobtenertodaslasrelaciones existentesentreelconjuntoderequisitos. Descripción:estecampo,talycomosunombreindica,recogeladescripcióndel requisitofuncional,seexplicaelobjetivoalquehacereferencia. Importancia:estecampoindicalaimportanciadelcumplimientodelrequisitoparalos clientesyusuarios.Sepuedeasignarunvalornuméricooalgunaexpresiónqueindique elgradodeimportancia,como:vital,urgente,importante,etc. Estabilidad:estecampoindicalaestabilidaddelrequisito,esdecir,unacuantificación delaprobabilidaddequepuedasufrircambiosenelfuturo.Estaestabilidadsepuede
Análisis 40 establecermedianteunvalornuméricoomedianteunaexpresiónqueindiqueelgrado deestabilidad,como:alta,mediaobaja,oPD(pordeterminar)siesqueaúnnoseha determinado. Comentarios:enestecamposepuedeañadircualquierotrainformaciónsobreel requisitoquenoencajeenloscamposestablecidosenlatabla. RF‐1Gestionarusuarios AutoresNayaritSantanaPacheco FuentesAnalistadeRiesgos,NayaritSantanaPacheco ActoresasociadosUsuario Requisitosasociados‐ DescripciónLosusuariostienenquepoderloguearseenlaaplicaciónpara poderhacerusodelamisma.Encasodenoteneracceso,deben podercrearunnuevousuario ImportanciaVital EstabilidadMedia ComentariosComocamposobligatoriosparaelusuariosedebenguardar: - Nombredeusuario - Contraseña - Email Comocamposopcionalessedebenguardarlosdatospersonales. RF‐2Gestionarsustancias AutoresNayaritSantanaPacheco FuentesAnalistadeRiesgos ActoresasociadosUsuario Requisitosasociados‐ DescripciónLosusuariosdebenteneraccesoallistadodesustancias disponibles,crearnuevassustancias,modificarlas,eliminarlasy ademáspoderversuspropiedades. ImportanciaVital EstabilidadAlta Comentarios RF‐3Gestionarrecursos AutoresNayaritSantanaPacheco FuentesAnalistadeRiesgos ActoresasociadosUsuario
Universidad de Las Palmas de Gran Canaria 41 Requisitosasociados‐ DescripciónLosusuariosdebenteneraccesoallistadoderecursos disponibles,crearnuevosrecursos,modificarlos,eliminarlosy ademáspoderversuspropiedades. ImportanciaMedia EstabilidadAlta Comentarios RF‐4Gestionarmapas AutoresNayaritSantanaPacheco FuentesAnalistadeRiesgos ActoresasociadosUsuario Requisitosasociados‐ DescripciónLosusuariosdebenteneraccesoallistadodemapasdisponibles, subirnuevosmapasyversuspropiedades ImportanciaVital EstabilidadAlta ComentariosLosmapasdebenserimágenesenformato:.jpg,.gif,.png,.tiff Elusuariotienequepoderestablecerlascoordenadasdelmapa RF‐5Gestionarzonas AutoresNayaritSantanaPacheco FuentesAnalistadeRiesgos ActoresasociadosUsuario Requisitosasociados‐ DescripciónLosusuariosdebenteneraccesoallistadodezonasderiesgo disponibles,crearnuevaszonas,modificarlasyeliminarlas, ademásdeversuspropiedades ImportanciaImportante EstabilidadAlta Comentarios RF‐6Gestionarescenarios AutoresNayaritSantanaPacheco FuentesAnalistadeRiesgos ActoresasociadosUsuario RequisitosasociadosRF2,RF3,RF4,RF5 DescripciónLosusuariosdebenteneraccesoalconjuntodeescenarios disponibles,crearnuevosescenarios,modificarlos,eliminarlosy
Análisis 48 CU‐8Eliminarsustancia Autor: NayaritSantanaPacheco Requisitosasociados:RF2 ActorPrincipal:Usuario Personalinvolucradoeintereses: Usuario:elusuarioquiereeliminarunasustancia Precondiciones: Elusuarioestálogueado Garantíasdeéxito(Postcondiciones): Lasustanciaeseliminadadelaaplicación Escenarioprincipaldeéxito(oFlujoBásico): 1. Elusuarioseleccionalasustanciaquedeseaborrar 2. Seleccionalaopcióndeborrarsustancia 3. Laaplicaciónlanzaunaadvertenciadeseguridad 4. Elusuarioconfirmaquedeseaborrarlasustancia 5. Lasustanciaeseliminadadelaaplicación Extensiones(oFlujosAlternativos): 5.1.1. Lasustanciaestásiendoutilizadaenalgúnaccidente 5.1.2. Laaplicaciónlanzaunaalertaindicandoquenosepuedeborrarla sustanciaporqueestásiendoutilizada 5.1.2. Lasustancianoseborradelaaplicación ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 5.2.1. Elusuarionoguardalosdatos,ensulugarcancela 5.2.2. Lasustancianoseborradelaaplicación Requisitosespeciales:
Universidad de Las Palmas de Gran Canaria 49 Fig. 15. Diagrama que cubre el Requisito funcional 3 (RF-3) CU‐9Verlistado Autor: NayaritSantanaPacheco Requisitosasociados:RF3 ActorPrincipal:Usuario Personalinvolucradoeintereses: Usuario:elusuarioquiereverellistadodelosrecursosdisponibles Precondiciones: Elusuarioestálogueado Garantíasdeéxito(Postcondiciones): Elusuariovisualizatodoslosrecursos Escenarioprincipaldeéxito(oFlujoBásico): 1. Elusuarioaccedealasecciónderecursos 2. Laaplicaciónmuestraellistadoderecursosdisponibles Extensiones(oFlujosAlternativos): Requisitosespeciales: CU‐10Verrecurso Autor: NayaritSantanaPacheco Requisitosasociados:RF3 ActorPrincipal:Usuario Personalinvolucradoeintereses: Usuario:elusuarioquiereverlaspropiedadesdeunrecurso
Análisis 50 Precondiciones: Elusuarioestálogueado Garantíasdeéxito(Postcondiciones): Elusuariovisualizalaspropiedadesdelrecurso Escenarioprincipaldeéxito(oFlujoBásico): 1. Elusuarioaccedealasecciónderecursos 2. Seleccionaelrecursoquequierever 3. Laaplicaciónmuestralaspropiedadesdelrecursoseleccionado Extensiones(oFlujosAlternativos): 2.1. Elusuarioseleccionaelrecursoincorrecto 2.2. Laaplicaciónmuestralaspropiedadesdelrecursonodeseado Requisitosespeciales: CU‐11Crearrecurso Autor: NayaritSantanaPacheco Requisitosasociados:RF3 ActorPrincipal:Usuario Personalinvolucradoeintereses: Usuario:elusuarioquieredefinirunnuevorecurso Precondiciones: Elusuarioestálogueado Garantíasdeéxito(Postcondiciones): Elusuariopuedeutilizarelnuevorecursodefinido Escenarioprincipaldeéxito(oFlujoBásico): 1. Elusuarioseleccionalaopcióndecrearnuevorecurso 2. Rellenatodosloscamposobligatorios 3. Guardalosdatos Extensiones(oFlujosAlternativos): 3.1.1. Elusuariointentaguardarelrecursosinhaberrellenadoloscampos obligatorios 3.1.2. Laaplicaciónlanzaunmensajedeavisoindicandoquefaltandatos ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 3.2.1. Elusuarionoguardalosdatos,ensulugarcancela 3.2.2. Losdatosnoseguardanenlaaplicación Requisitosespeciales: CU‐12Modificarrecurso Autor: NayaritSantanaPacheco Requisitosasociados:RF3 ActorPrincipal:Usuario Personalinvolucradoeintereses: Usuario:elusuarioquieremodificaralgunadelaspropiedadesdeunrecurso
Universidad de Las Palmas de Gran Canaria 51 Precondiciones: Elusuarioestálogueado Garantíasdeéxito(Postcondiciones): Elusuariopuedeutilizarelrecursoactualizado Escenarioprincipaldeéxito(oFlujoBásico): 1. Elusuarioseleccionaelrecursoquedeseamodificar 2. Seleccionalaopcióndemodificarrecurso 3. Cambialosdatosquequiereactualizar 4. Guardaloscambios Extensiones(oFlujosAlternativos): 4.1.1. Elusuariointentaguardarloscambiosdejandoalgúncampoobligatorio vacío 4.1.2. Laaplicaciónlanzaunmensajedealertaindicándolo ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 4.2.3. Elusuarionoguardalosdatos,ensulugarcancela 4.2.4. Elrecursomantienelaspropiedadesquetenía Requisitosespeciales: CU‐13Eliminarrecurso Autor: NayaritSantanaPacheco Requisitosasociados:RF3 ActorPrincipal:Usuario Personalinvolucradoeintereses: Usuario:elusuarioquiereeliminarunrecurso Precondiciones: Elusuarioestálogueado Garantíasdeéxito(Postcondiciones): Elrecursoeseliminadodelaaplicación Escenarioprincipaldeéxito(oFlujoBásico): 1. Elusuarioseleccionaelrecursoquedeseaborrar 2. Seleccionalaopcióndeborrarrecurso 3. Laaplicaciónlanzaunaadvertenciadeseguridad 4. Elusuarioconfirmaquedeseaborrarelrecurso 5. Elrecursoeseliminadodelaaplicación Extensiones(oFlujosAlternativos): 5.1.1. Elrecursoestásiendoutilizadoenalgúnaccidente 5.1.2. Laaplicaciónlanzaunaalertaindicandoquenosepuedeborrarelrecurso porqueestásiendoutilizado 5.1.3. Elrecursonoseborradelaaplicación ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 5.2.1. Elusuarionoguardalosdatos,ensulugarcancela 5.2.2. Elrecursonoseborradelaaplicación Requisitosespeciales:
Análisis 52 Usuario Crear mapa Gestionar mapas Ver mapa Ver listado Eliminar mapa Comprobar si mapa utilizado <<Extend>> <<Extend>> <<Extend>> <<Extend>> <<Extend>> Fig. 16. Diagrama que cubre el Requisito Funcional 4 (RF-4) CU‐14Verlistado Autor: NayaritSantanaPacheco Requisitosasociados:RF4 ActorPrincipal:Usuario Personalinvolucradoeintereses: Usuario:elusuarioquiereverellistadodelosmapasdisponibles Precondiciones: Elusuarioestálogueado Garantíasdeéxito(Postcondiciones): Elusuariovisualizatodoslosmapas Escenarioprincipaldeéxito(oFlujoBásico): 1. Elusuarioaccedealaseccióndemapas 2. Laaplicaciónmuestraellistadodemapasdisponibles Extensiones(oFlujosAlternativos): Requisitosespeciales: CU‐15Vermapa Autor: NayaritSantanaPacheco Requisitosasociados:RF4 ActorPrincipal:Usuario Personalinvolucradoeintereses: Usuario:elusuarioquiereverlaspropiedadesdeunmapa Precondiciones: Elusuarioestálogueado Garantíasdeéxito(Postcondiciones): Elusuariovisualizalaspropiedadesdelmapa Escenarioprincipaldeéxito(oFlujoBásico):
Universidad de Las Palmas de Gran Canaria 53 1. Elusuarioaccedealaseccióndemapas 2. Seleccionaelmapaquequierever 3. Laaplicaciónmuestralaspropiedadesdelmapaseleccionado Extensiones(oFlujosAlternativos): 2.1. Elusuarioseleccionaelmapaincorrecto 2.2. Laaplicaciónmuestralaspropiedadesdelmapanodeseado Requisitosespeciales: CU‐16Crearmapa Autor: NayaritSantanaPacheco Requisitosasociados:RF4 ActorPrincipal:Usuario Personalinvolucradoeintereses: Usuario:elusuarioquieredefinirunnuevomapa Precondiciones: Elusuarioestálogueado Garantíasdeéxito(Postcondiciones): Elusuariopuedeutilizarelnuevomapadefinido Escenarioprincipaldeéxito(oFlujoBásico): 4. Elusuarioseleccionalaopcióndecrearnuevomapa 5. Rellenatodosloscamposobligatorios 6. Guardalosdatos Extensiones(oFlujosAlternativos): 6.1.1. Elusuariointentaguardarelmapasinhaberrellenadoloscampos obligatorios 6.1.2. Laaplicaciónlanzaunmensajedeavisoindicandoquefaltandatos ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 3.2.1. Elusuarionoguardalosdatos,ensulugarcancela 3.2.2. Losdatosnoseguardanenlaaplicación Requisitosespeciales: CU‐17Eliminarmapa Autor: NayaritSantanaPacheco Requisitosasociados:RF4 ActorPrincipal:Usuario Personalinvolucradoeintereses: Usuario:elusuarioquiereeliminarunmapa Precondiciones: Elusuarioestálogueado Garantíasdeéxito(Postcondiciones): Elmapaeseliminadodelaaplicación Escenarioprincipaldeéxito(oFlujoBásico):
Análisis 54 1. Elusuarioseleccionaelrecursoquedeseaborrar 2. Seleccionalaopcióndeborrarrecurso 3. Laaplicaciónlanzaunaadvertenciadeseguridad 4. Elusuarioconfirmaquedeseaborrarelrecurso 5. Elrecursoeseliminadodelaaplicación Extensiones(oFlujosAlternativos): 5.1.1. Elmapaestásiendoutilizadoenalgúnaccidente 5.1.2. Laaplicaciónlanzaunaalertaindicandoquenosepuedeborrarelmapa porqueestásiendoutilizado 5.1.4. Elmapanoseborradelaaplicación ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 5.2.1. Elusuarionoguardalosdatos,ensulugarcancela 5.2.2. Elmapanoseborradelaaplicación Requisitosespeciales: Fig. 17. Diagrama que cubre el requisito funcional 5 (RF-5) CU‐18Verlistado Autor: NayaritSantanaPacheco Requisitosasociados:RF5 ActorPrincipal:Usuario Personalinvolucradoeintereses: Usuario:elusuarioquiereverellistadodelaszonasdisponibles
Universidad de Las Palmas de Gran Canaria 55 Precondiciones: Elusuarioestálogueado Garantíasdeéxito(Postcondiciones): Elusuariovisualizatodaslaszonas Escenarioprincipaldeéxito(oFlujoBásico): 1. Elusuarioaccedealaseccióndezonas 2. Laaplicaciónmuestraellistadodezonasdisponibles Extensiones(oFlujosAlternativos): Requisitosespeciales: CU‐19Verzona Autor: NayaritSantanaPacheco Requisitosasociados:RF5 ActorPrincipal:Usuario Personalinvolucradoeintereses: Usuario:elusuarioquiereverlaspropiedadesdeunazona Precondiciones: Elusuarioestálogueado Garantíasdeéxito(Postcondiciones): Elusuariovisualizalaspropiedadesdelazona Escenarioprincipaldeéxito(oFlujoBásico): 1. Elusuarioaccedealaseccióndezonas 2. Seleccionalazonaquequierever 3. Laaplicaciónmuestralaspropiedadesdelazonaseleccionada Extensiones(oFlujosAlternativos): 2.1. Elusuarioseleccionalazonaincorrecta 2.2. Laaplicaciónmuestralaspropiedadesdelazonanodeseada Requisitosespeciales: CU‐20Crearzona Autor: NayaritSantanaPacheco Requisitosasociados:RF5 ActorPrincipal:Usuario Personalinvolucradoeintereses: Usuario:elusuarioquieredefinirunanuevazona Precondiciones: Elusuarioestálogueado Garantíasdeéxito(Postcondiciones): Elusuariopuedeutilizarlanuevazonadefinida Escenarioprincipaldeéxito(oFlujoBásico): 1. Elusuarioseleccionalaopcióndecrearnuevazona 2. Rellenatodosloscamposobligatorios
Análisis 56 3. Guardalosdatos Extensiones(oFlujosAlternativos): 3.1.1. Elusuariointentaguardarlazonasinhaberrellenadoloscampos obligatorios 3.1.2. Laaplicaciónlanzaunmensajedeavisoindicandoquefaltandatos ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 3.2.1. Elusuarionoguardalosdatos,ensulugarcancela 3.2.2. Losdatosnoseguardanenlaaplicación Requisitosespeciales: CU‐21Modificarzona Autor: NayaritSantanaPacheco Requisitosasociados:RF5 ActorPrincipal:Usuario Personalinvolucradoeintereses: Usuario:elusuarioquieremodificaralgunadelaspropiedadesdeunazona Precondiciones: Elusuarioestálogueado Garantíasdeéxito(Postcondiciones): Elusuariopuedeutilizarlazonaactualizada Escenarioprincipaldeéxito(oFlujoBásico): 1. Elusuarioseleccionalazonaquedeseamodificar 2. Seleccionalaopcióndemodificarzona 3. Cambialosdatosquequiereactualizar 4. Guardaloscambios Extensiones(oFlujosAlternativos): 4.1.1. Elusuariointentaguardarloscambiosdejandoalgúncampoobligatorio vacío 4.1.2. Laaplicaciónlanzaunmensajedealertaindicándolo ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 4.2.1. Elusuarionoguardalosdatos,ensulugarcancela 4.2.2. Lazonamantienelaspropiedadesquetenía Requisitosespeciales: CU‐22Eliminarzona Autor: NayaritSantanaPacheco Requisitosasociados:RF5 ActorPrincipal:Usuario Personalinvolucradoeintereses: Usuario:elusuarioquiereeliminarunazona Precondiciones: Elusuarioestálogueado
Universidad de Las Palmas de Gran Canaria 57 Garantíasdeéxito(Postcondiciones): Lazonaeseliminadadelaaplicación Escenarioprincipaldeéxito(oFlujoBásico): 1. Elusuarioseleccionalazonaquedeseaborrar 2. Seleccionalaopcióndeborrarzona 3. Laaplicaciónlanzaunaadvertenciadeseguridad 4. Elusuarioconfirmaquedeseaborrarlazona 5. Lazonaeseliminadadelaaplicación Extensiones(oFlujosAlternativos): 5.1.1. Lazonaestásiendoutilizadaenalgúnaccidente 5.1.2. Laaplicaciónlanzaunaalertaindicandoquenosepuedeborrarlazona porqueestásiendoutilizada 5.1.3. Lazonanoseborradelaaplicación ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 5.2.1. Elusuarionoguardalosdatos,ensulugarcancela 5.2.2. Lazonanoseborradelaaplicación Requisitosespeciales: Fig. 18. Diagrama que cubre el requisito funcional 6 (RF-6) CU‐23Verlistado Autor: NayaritSantanaPacheco Requisitosasociados:RF6 ActorPrincipal:Usuario
Análisis 64 Precondiciones: Elusuarioestálogueadoytieneseleccionadoelescenario Garantíasdeéxito(Postcondiciones): Elaccidenteesactualizado Escenarioprincipaldeéxito(oFlujoBásico): 1. Elusuarioseleccionaelaccidentequequieremodificar 2. Seleccionalaopciónmodificar 3. Elusuariomodificaloscamposquequiereactualizar 4. Elusuarioguardaloscambios Extensiones(oFlujosAlternativos): 4.1.1. Elusuarionoguardaloscambios,ensulugarcancela 4.1.2. Elaccidentemantienesuformaoriginal ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 4.2.1. Laaplicaciónlanzaunavisoindicandoquesehandejadocampos obligatoriossinrellenar 4.2.2. Elusuariorellenaloscamposquefaltan 4.2.3. Guardalosdatos Requisitosespeciales: CU‐35(Re)Posicionaraccidente Autor: NayaritSantanaPacheco Requisitosasociados:RF6 ActorPrincipal:Usuario Personalinvolucradoeintereses: Usuario:elusuarioquiereposicionarunaccidentedeunescenario Precondiciones: Elusuarioestálogueadoytieneseleccionadoelescenario.Elescenariotieneunmapa asociado Garantíasdeéxito(Postcondiciones): Elaccidentequedaposicionadoenelmapa Escenarioprincipaldeéxito(oFlujoBásico): 1. Elusuarioseleccionaelaccidentequequiereposicionar 2. Seleccionalaopciónposicionar 3. Elusuarioseleccionalaposicióndondequiereubicarelaccidente 4. Elusuarioguardaloscambios Extensiones(oFlujosAlternativos): 4.1.1. Elusuarionoguardaloscambios,ensulugarcancela 4.1.2. Elaccidentemantienesuposiciónoriginal Requisitosespeciales: CU‐36Añadirrecurso Autor: NayaritSantanaPacheco Requisitosasociados:RF6
Universidad de Las Palmas de Gran Canaria 65 ActorPrincipal:Usuario Personalinvolucradoeintereses: Usuario:elusuarioquiereañadirunrecursoaunescenario Precondiciones: Elusuarioestálogueadoytieneseleccionadoelescenario Garantíasdeéxito(Postcondiciones): Elescenariotieneasociadounnuevorecurso Escenarioprincipaldeéxito(oFlujoBásico): 1. Elusuarioseleccionalaopcióndeañadirnuevorecurso 2. Rellenalosdatossolicitadosporlaaplicación 3. Guardalosdatos Extensiones(oFlujosAlternativos): 3.1.1. Elusuarionoguardalosdatos,ensulugarcancela 3.1.2. Elescenarioconservaelnúmeroderecursosinicial ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 3.2.1. Laaplicaciónlanzaunavisoindicandoquenosehancubiertoloscampos obligatorios 3.2.2. Elusuariorellenatodosloscamposobligatorios 3.2.3. Guardalosdatos 3.2.4. Elescenariopasaatenerunrecursomás Requisitosespeciales: CU‐37Eliminarrecurso Autor: NayaritSantanaPacheco Requisitosasociados:RF6 ActorPrincipal:Usuario Personalinvolucradoeintereses: Usuario:elusuarioquiereeliminarunrecursodeunescenario Precondiciones: Elusuarioestálogueadoytieneseleccionadoelescenario Garantíasdeéxito(Postcondiciones): Elescenariotieneasociadounrecursomenos Escenarioprincipaldeéxito(oFlujoBásico): 1. Elusuarioseleccionaelrecursoquequiereborrar 2. Seleccionalaopciónborrar 3. Laaplicaciónlanzaunaadvertenciadeseguridad 4. Elusuarioconfirmaelborradodelrecurso Extensiones(oFlujosAlternativos): 4.1. Elusuarionoconfirmaelborradodelrecurso 4.2. Elescenarioterminaconelnúmeroderecursosinicial Requisitosespeciales:
Análisis 66 CU‐38Modificarrecurso Autor: NayaritSantanaPacheco Requisitosasociados:RF6 ActorPrincipal:Usuario Personalinvolucradoeintereses: Usuario:elusuarioquieremodificarunrecursodeunescenario Precondiciones: Elusuarioestálogueadoytieneseleccionadoelescenario Garantíasdeéxito(Postcondiciones): Elrecursoesactualizado Escenarioprincipaldeéxito(oFlujoBásico): 1. Elusuarioseleccionaelrecursoquequieremodificar 2. Seleccionalaopciónmodificar 3. Elusuariomodificaloscamposquequiereactualizar 4. Elusuarioguardaloscambios Extensiones(oFlujosAlternativos): 4.1.1. Elusuarionoguardaloscambios,ensulugarcancela 4.1.2. Elrecursomantienesuformaoriginal 4.2.1. Laaplicaciónlanzaunavisoindicandoquesehandejadocampos obligatoriossinrellenar 4.2.2. Elusuariorellenaloscamposquefaltan 4.2.3. Guardalosdatos Requisitosespeciales: CU‐39(Re)Posicionarrecurso Autor: NayaritSantanaPacheco Requisitosasociados:RF6 ActorPrincipal:Usuario Personalinvolucradoeintereses: Usuario:elusuarioquiereposicionarunrecursodeunescenario Precondiciones: Elusuarioestálogueadoytieneseleccionadoelescenario.Elescenariotieneunmapa asociado Garantíasdeéxito(Postcondiciones): Elrecursoquedaposicionadoenelmapa Escenarioprincipaldeéxito(oFlujoBásico): 1. Elusuarioseleccionaelrecursoquequiereposicionar 2. Seleccionalaopciónposicionar 3. Elusuarioseleccionalaposicióndondequiereubicarelrecurso 4. Elusuarioguardaloscambios Extensiones(oFlujosAlternativos): 4.1.1. Elusuarionoguardaloscambios,ensulugarcancela 4.1.2. Elrecursomantienesuposiciónoriginal Requisitosespeciales:
Universidad de Las Palmas de Gran Canaria 67 CU‐40Simularaccidente Autor: NayaritSantanaPacheco Requisitosasociados:RF6 ActorPrincipal:Usuario Personalinvolucradoeintereses: Usuario:elusuarioquiereobtenerlosresultadosdelaszonasafectadasenun accidente Precondiciones: Elusuarioestálogueado Garantíasdeéxito(Postcondiciones): Laaplicacióngeneralosresultadossolicitados Escenarioprincipaldeéxito(oFlujoBásico): 1. Elusuarioseleccionaelescenario 2. Seleccionaelaccidente 3. Seleccionalaopcióndesimular 4. Laaplicaciónmuestradeformagráficaynuméricalaszonasafectadasenbase alaszonasasociadasalaccidente Extensiones(oFlujosAlternativos): Requisitosespeciales: CU‐41Generarinforme Autor: NayaritSantanaPacheco Requisitosasociados:RF6 ActorPrincipal:Usuario Personalinvolucradoeintereses: Usuario:elusuarioquiereobtenerlosresultadosdelaszonasafectadasenun documento,convaloresnuméricos Precondiciones: Elusuarioestálogueado Garantíasdeéxito(Postcondiciones): Laaplicacióngeneralosresultadossolicitadosenundocumento Escenarioprincipaldeéxito(oFlujoBásico): 1. Elusuarioseleccionaelescenario 2. Seleccionalaopcióndegenerarinforme 3. Laaplicacióngenerauntextoconlosdatossolicitados 4. Elusuarioalmacenaeltexto Extensiones(oFlujosAlternativos): Requisitosespeciales:
Análisis 68 6.4.4.Requisitosnofuncionales Losrequisitosnofuncionalesequivalenalasrestriccionesestablecidas,limitando,de estaforma,lasopcionesparaconstruirunasolución.Enlassiguientestablasse describencadaunodelosrequisitosnofuncionalesdefinidos[Durán,A.&Bernárdez, B.–2002]: RNF‐1Servidor.NET AutoresNayaritSantanaPacheco FuentesExpertosenTI Actoresasociados‐‐‐ Requisitosasociados‐‐‐ DescripciónElservidorwebqueofrecelosserviciosqueconsumiráelcliente debeserdesarrolladoenlaplataforma.NET ImportanciaAlta EstabilidadAlta Comentarios‐‐‐ RNF‐2SGBDSQLSERVER2008 AutoresNayaritSantanaPacheco FuentesExpertosenTI Actoresasociados‐‐‐ Requisitosasociados‐‐‐ DescripciónElservidorwebqueofrecelosserviciosqueconsumiráelcliente debeserdesarrolladoenlaplataforma.NET ImportanciaAlta EstabilidadAlta Comentarios‐‐‐ RNF‐3ClienteRIA AutoresNayaritSantanaPacheco FuentesExpertosenTI Actoresasociados‐‐‐ Requisitosasociados‐‐‐ DescripciónElclientedebeserunaRichInternetApplication ImportanciaAlta EstabilidadAlta Comentarios‐‐‐
Universidad de Las Palmas de Gran Canaria 69 6.5.Modelodeldominio Unavezexpuestoslosrequisitosfuncionalesynofuncionalesdelaplataformaylos respectivoscasosdeuso,seharealizadoundiagramadelmodelodeldominio.Eneste diagramaseexponenlosconceptosmásdestacadosqueseobtienencomoconclusión delanálisis,asícomolasrelacionesentreellos. Elobjetivodeestediagramanoesmostrartodalafuncionalidad,conélsepretende ayudaravisualizarlosconceptosmásdestacadosdelproblemayvercomose relacionan.Estasclasesyrelaciones,unavezllegadosalafasedediseño,pasaránaser cadaunodeellosunaclase.Deigualforma,enlafasedediseñoprobablemente apareceránnuevasclasesyrelaciones,ademásdemodificarlasplanteadaseneste modelo.
Análisis 70 Fig. 19. Modelo del dominio
Universidad de Las Palmas de Gran Canaria 71 Capítulo7. Diseño Unavezrealizadoelanálisisdelaplataformaydecadaunodesuscomponentes,seha realizadoeldiseñodelamisma.Acontinuaciónseencuentraunadescripciónde: - Arquitecturautilizada - Tecnologíaselegidas - Diseñodecadapartedelaplataforma o Patronesempleados o Diagramasdeclases 7.1.Arquitecturabásicadelaplataforma Eldiseñoarquitectónicorepresentalaestructuradelosdatosyloscomponentesdela plataforma,suspropiedadesvisiblesexternamente,asícomolasrelacionesentreellos ytodoasumiendounestiloarquitectónico. Elestiloarquitectónicoseráelqueestablezcaloscomponentesqueformaránpartede laplataformaycómointeractuaránentreellos.Enestecaso,dadalanaturalezadela aplicación,sehaelegidounaarquitecturacliente‐servidorde3capas. Fig. 20 Arquitectura cliente-servidor de 3 capas
Diseño 72 Laarquitecturacliente‐servidoresunaarquitecturadistribuidadondelosdatosyel procesamientosedistribuyenentrevariosprocesadores.Loscomponentesprincipales son: ‐ Unconjuntodeservidoresindependientesqueproporcionanserviciosaotros subsistemas ‐ Unconjuntodeclientesqueaccedenalosserviciosproporcionadosporlos servidores ‐ Unaredquepermitealosclientescomunicarseconlosservidoresyaccedera estosservicios Paraquelacomunicaciónsepuedaestablecercorrectamente,losclientesdeberán conocerelnombredelosservidoresdisponibles,sinembargo,estosservidoresno necesitaránconocerlaidentidaddelosclientes. Enunaarquitecturacliente‐servidorsencilla,lafuncionalidaddelsistemarecae principalmenteenelservidoroporelcontrarioenelcliente,peroaldividirelsistema en3capasseconsiguendistribuirlasresponsabilidades: ‐ Capa1:clientes ‐ Capa2:servidorweb ‐ Capa3:servidordedatos Fig. 21. Comunicación entre capas
Universidad de Las Palmas de Gran Canaria 73 Acontinuaciónsemuestracomoejemplo,loquepodríaserunacomunicaciónentrelos distintoscomponentesdelaarquitectura: 1. Elcliente,enfuncióndelapeticióndelusuario,accederáaalgunodelos serviciosofrecidosporelservicioweb 2. Éste,asuvez,accederáalservidordedatosparaobtenerlosdatosrequeridos. 3. Losdatosserándevueltosalservidortrasunaconsulta. 4. Elservidorharáeltratamientonecesariosobreesosdatos,asícomolas comprobacionespertinentesydevolverálarespuestaalcliente 5. Elclientemostrarálarespuestaalusuario. 7.2.Tecnologíasutilizadas Dadalanaturalezadelproyecto,sehanutilizadodiversastecnologíasparallevara caboeldesarrollodetodalaplataforma.Acontinuaciónsedescribencadaunade ellas,indicandoenqueparteseutilizajuntoconunadescripcióndelamisma. 7.2.1.Servidorweb BasadoenunaArquitecturaOrientadaaServicios(SOA),sehautilizadoWindows CommunicationFoundation(WCF)paracrearlosserviciosweb.Nosehanestudiado otrastecnologíasexistentesdadoqueveníaimpuestasuutilizaciónatravésdelos requisitosnofuncionalesdescritosenelcapítulodelanálisisdelaplataforma. WCF,disponibledesdelaversión3.0de.NET,fuecreadaconelfindepermitiruna programaciónrápidadesistemasdistribuidosyeldesarrollodeaplicacionesbasadas enarquitecturasSOA,conunaAPIsimple.Seconsideraunframeworkparalacreación deestetipodeaplicaciones.Permiteenviardatoscomomensajesasíncronosdesdeun extremodelservicioaotro.ElserviciowebpuedeestarhospedadoenunservidorIISo serhospedadoenunaaplicación.Losmensajespuedensertansimplescomoun carácterounapalabraqueseenvíacomoXML,otancomplejoscomounasecuencia dedatosbinarios. 7.2.1.1.Mensajeríayextremos WCFsebasaenlanocióndecomunicaciónbasadaenmensajes,ycualquiercosaque sepuedamodelarcomounmensaje.EstohabilitaunaAPIunificadaentodoslos mecanismosdetransportediferentes.Elmodelorealizaunadiferenciaciónentre clientes,quesonlasaplicacionesqueinicianlacomunicaciónyservicios,quesonlas
Diseño 80 definidospor:sunombre,elproblemaqueresuelven,lasoluciónqueproporcionany lasconsecuenciasdesuuso/aplicación. Lospatronesusualmentesedividenen3tipos,clasificándolosenfuncióndeltipode problemaqueresuelven:creacionales,estructuralesydecomportamiento.Conel pasodeltiempoysuusoextensivo,hanidosurgiendonuevospatronesespecíficosde unadeterminadatecnología,comopuedeserJ2EE,peroquetambiénpuedenllegara seraplicadosenotrastecnologías. Acontinuaciónsedetallanlospatronesutilizadosencadaunodeloscomponentesde laplataforma.Paraelloseofreceráunabrevedescripcióndelpatrónutilizadoyun diagramadeclasesexplicativo. 7.3.1.Servidorweb Enelservidorwebsehanutilizadolossiguientespatrones: 7.3.1.1.DataAccessObject(DAO) EneldiseñodelservidorwebsehautilizadoelpatrónDataAccessObject(DAO).El DAO,surgidodentrodelámbitodeldesarrolloJ2EE(Java2Platform,Enterprise Edition),proporcionauncomponentedesoftwarequesuministraunainterfazcomún entrelaaplicaciónyunoomásdispositivosdealmacenamientodedatos. Anivellógico,elsiguientediagramarepresentalaformaenquesehaaplicadoel patrónsobreelservidor. Fig. 27. Aplicación del DAO sobre el servidor ElDAOmanejalaconexiónconlafuentededatosparaobteneryalmacenardatos,de estaforma,elDAOconsigueaislarlaaplicacióndelatecnologíautilizadaparael almacenamientodelosdatos.
Universidad de Las Palmas de Gran Canaria 81 7.3.1.2.DataTransferObject(DTO) Paraelpasodedatosentreelservidorylaaplicaciónwebtambiénsehautilizadoun patrónpertenecientealámbitodedesarrolloJ2EE,setratadelpatrónDataTransfer Object(DTO). ElDTOseaplicaparaconseguirqueunobjetoseaserializableparalatransferenciade datossobrelared.Parasatisfacerestepunto,sehacreadounaclaseporcadatipode datocomplejoqueseutilizatantoenlaentrada,comoenlasalidadedatosdelas operacionesproporcionadasporelservicio.Deestaformaseconsiguetransferirsólo losdatosnecesarios.Enlasiguientefigurasepuedeverunejemplodelmismo. Fig. 28. Ejemplo del uso del patrón DTO 7.3.2.Cliente Enelclientesehanutilizadolossiguientespatrones: 7.3.2.1.DataTransferObject(DTO) Comoseexplicóanteriormenteenlaseccióndepatronesutilizadosenelservidor,el patrónDataTransferObjectseutilizaparaelpasodedatosentreelservidoryla aplicaciónweb,esdecir,elcliente.Existeunaseriededatosquenoesnecesario almacenarenlaBBDD,porquesonparaelusointernodelcliente,conlocualcarecede sentidoenviarlosalservidor,porestemotivoseutilizanlosDTOenestaparte. 7.3.2.2.ModelViewController(MVC) ElModelViewController(MVC)esunpatrónarquitectónicoqueseparalosdatosyla lógicadelainterfazdeusuario,dentrodelaaplicación.ElModeloeselobjetode aplicación,dondeestaríanalmacenadoslosdatos,laVistaeslarepresentacióndel modeloenpantallayelControladordefinelaformaenlaquelainterfazreaccionaala entradadelusuario. Aldesacoplarelmodelodelavista,puedenrealizarsediferentesrepresentacionesdel mismomodelo.Estasvistasseactualizaránsiemprequehayauncambioenelmodelo. Estaseparaciónevitarátenerquerealizarcambiosencadavistacadavezquese
Diseño 82 produzcauncambioenelmodelo.Paragestionarestasactualizacionesestáel controlador,queseráelencargadodecomunicarsetantoconlavistacomoconel modelo.Enalgunoscasoslavistaseactualizacuandoseproduceuncambioenel modelo,sinquellegueaintervenirelcontrolador. Controller ModelView Fig. 29. Patrón Modelo Vista Controlador 7.3.2.3.Singleton ElpatrónSingletonseutilizaparagarantizarquelaclasesobrelaqueseapliquesólo tendráunainstancia,loqueproporcionaráunpuntodeaccesoglobalaella.Alutilizar elpatrónModeloVistaControlador,elusodelpatrónSingletonsehaceobligatorio, dadoqueesnecesarioasegurarlaexistenciadeunaúnicainstanciaparaelmodelo. Fig. 30. Patrón Singleton aplicado a la clase Modelo 7.3.2.4.Capadeservicios Nosetratadeunpatróndediseño,sinembargo,sehaconsideradonecesariohacer unaseparaciónlógicadentrodelcliente,aislandoenunaclaselacomunicaciónconel servidor.Deestaforma,cadavezquealgunodeloscontroladoresdelclientetieneque interactuardealgunaformaconelservidorweb,necesitapasarporlacapade serviciosyentoncesseráéstalaencargadadelacomunicaciónenambossentidos. Cuandolacapadeserviciosrecibelarespuestadelservidor,lanzaunavisoal controladorquehahecholallamada.
Universidad de Las Palmas de Gran Canaria 83 Fig. 31. Capa de Servicios 7.4.Basededatos Trasrealizarunestudioexhaustivosobrelosriesgosenentornosindustriales,junto conlaayudayconocimientoproporcionadoporelexpertoenlamateria,yposterioral análisisdelaplataforma,sehaobtenidoelsiguientediseñoparalabasededatos.Aquí estánalmacenados,enprimerlugar,losdatosproporcionadosdesdeuninicioporla plataformaparatodoslosusuariosy,acontinuación,losdatosquevayaalmacenando cadausuarioconelusodelamisma(siguientepágina). Acontinuaciónsedetallaelcontenidodecadatablaycadaunodesuscampos, indicandoencadacasoeltipodedatoquerepresentayparaquéresultanecesario. 7.4.1.TablaTUserType Almacenalosdistintostiposdeusuarioexistentes.Encasodecrearsenuevostiposde usuariosbastaríaconactualizarlatabla. Loscamposquecomponenlatablason: NombreTipoNULLFKDescripción userTypeIdint(auto) ‐‐‐ Identificadordelatabla userTypevarchar(20) ‐‐‐ nombredeltipodeusuario
Diseño 84 RScenarioAccident PK scenarioAccidentId positionX positionY FK1 scenarioId FK2 accidentId RScenarioResource PK scenarioResourceId scenarioResourceName scenarioResourceDescription positionX positionY FK1 resourceId FK2 scenarioId RSubstanceProperties PK substancePropertyId propertyName propertyType propertyMeasure FK1 mathModId RSubstanceValues PK substanceValueId value FK1 substancePropertyId FK2 substanceId TAccident PK accidentId accidentName accidentDescription documentation FK1 mathModId FK2 substanceId FK3 userId FK4 accidentTypeId TAccidentType PK accidentTypeId accidentType TMap PK mapId mapName mapDescription url xmax ymax xmin ymin FK1 userId TMathematicalModel PK mathModId mathModName FK1 accidentTypeId TResource PK resourceId resourceType userDescription color isGlobal FK1 userId TScenario PK scenarioId scenarioName scenarioDescription FK1 userId FK2 mapId TSubstance PK substanceId substanceName userDescription isGlobal FK2 userId FK1 substanceTypeId TSubstanceType PK substanceTypeId substanceType TUser PK userId name lastName1 lastName2 username userPassword email registerDate FK1 userTypeId TUserType PK userTypeId userType TZone PK zoneId zoneName description zoneValue color isGlobal FK1 userId FK2 mathModId TAccidentTNT PK accidentTntId equivalence mass FK1 accidentId TAccidentFLI PK ifAccFugLiqInf diameter leakType windSpeed leakDuration FK1 accidentId TZone PK zoneId zoneName description zoneValue color isGlobal FK1 userId FK2 mathModId TSimulatedZone PK simulatedZoneId lastValue updated FK1 zoneId FK2 accidentId
Universidad de Las Palmas de Gran Canaria 85 7.4.2.TablaTUser Almacenatodoslosdatosreferentesalusuariodelaaplicación,tantodatospersonales comodatosdelregistro.Cadavezqueunusuariosedadealtaenlaaplicaciónsecrea unnuevoregistroenlatabla. Latablaestácompuestaporlossiguientescampos: NombreTipoNULL FKDescripción userIdint(auto) ‐‐‐ Identificadordelatabla namevarchar(20)x ‐‐‐ Nombrerealdelusuario lastName1varchar(20)x‐‐‐ Primerapellidodelusuario lastName2varchar(20)x ‐‐‐ Segundoapellidodelusuario userNamevarchar(10) ‐‐‐ Nombreporelqueelusuarioserá identificadodentrodelaaplicación userPasswordvarchar(32) ‐‐‐ Contraseñadelusuarioqueserá necesariaparaloguearseenla aplicaciónyasíhacerusodetodas lasfuncionalidadesdelamisma.La contraseñaestáalmacenada codificadaconMD5. emailvarchar(100) ‐‐‐ Direccióndecorreo(email)del usuario registerDatedate ‐‐‐ Fechaenlaqueelusuariorealizóel registroenlaaplicación userTypeIdint TUserTypeTipodeusuarioalquepertenece 7.4.3.TablaTSubstanceType Almacenalosdistintostiposdesustanciasexistentes. Latablaestácompuestaporlossiguientescampos: NombreTipoNULLFKDescripción substanceTypeIdint(auto) ‐‐‐ Identificadordelatabla substanceTypevarchar(20) ‐‐‐ nombrecaracterísticoqueidentificaal tipodesustancia 7.4.4.TablaTSubstance Almacenaelconjuntodesustanciasproporcionadasporlaaplicación,asícomolas sustanciascreadasporelusuario.Seclasificanenfunciónde:
Diseño 86 ‐ Eltipodesustanciaalquepertenecen ‐ Elusuarioquelahacreado Latablaestácompuestaporlossiguientescampos: NombreTipoNULL FKDescripción substanceIdint(auto) ‐‐‐ Identificadordelatabla substanceNamevarchar(20) ‐‐‐ Nombrepropiodela sustanciaporelquepuede seridentificada isGlobalbit ‐‐‐ Indicativodesiesuna sustanciacreadaporun usuarioconcretooes globalatodoslosusuarios userDescriptiontextxdescripcióndelasustancia substanceTypeIdint TSubstanceTypeTipodesustanciaalque pertenece userIdint TUserUsuariopropietariodela sustancia mathModIdint TMathematicalModelModelomatemáticoparael quesehaalmacenadola sustancia.Solosepodrá utilizarlasustanciapara estemodelomatemático 7.4.5.TablaTAccidentType Almacenacadaunodelostiposdeaccidentequesepuedenllegaradar. Latablaestácompuestaporlossiguientescampos: NombreTipoNULLFKDescripción accidentTypeIdint(auto)‐‐‐ ‐‐‐ Identificadordelatabla accidentTypevarchar(20) ‐‐‐ ‐‐‐ Nombrequeidentificaaltipodeaccidente 7.4.6.TablaTAccident Almacenatodoslosaccidentesquehansidogeneradosporlaaplicación, independientementedequiénhayasidoelcreadordelosmismos.Estaránclasificados porelmodelomatemáticoalquepertenecen.Dadoqueseconoceelmodelo matemáticoyelmodelomatemáticosóloperteneceráauntipodeaccidente,nose necesitaráhacerreferenciaaltipodeaccidentealqueperteneceelaccidente. Sehaceunareferenciaalatabladondesealmacenanlosmodelosparasaberaqué modeloperteneceelaccidenteyenotratablapoderestablecerlaspropiedadesquese tendránquerellenar.
Universidad de Las Palmas de Gran Canaria 87 Latablaestácompuestaporlossiguientescampos: NombreTipoNULLFKDescripción accidentIdint(auto)‐‐‐ ‐‐‐ Identificadordelatabla accidentNamevarchar (20) ‐‐‐ ‐‐‐ Nombreporelquese identificaalaccidente accidentDescription textx‐‐‐ Descripciónasociadaal accidente documentationtextx ‐‐‐ Campoutilizadopara documentarelaccidente deformatécnica mathModId int‐‐‐ TMathematicalModel Identificadordelmodelo matemáticoalque perteneceesteaccidente substanceIdint ‐‐‐ TSubstanceIdentificadordela sustanciaqueseestá utilizandoenelaccidente userIdint‐‐‐ TUserReferenciaalusuario creadordelaccidente 7.4.7.TablaTMap Almacenatodoslosdatosnecesariosparapoderhacerusodelmapaenlaaplicación. Sehacereferenciaa: ‐ TUser:parasaberaquéusuarioperteneceelmapa Latablaestácompuestaporlossiguientescampos: NombreTipoNULLFKDescripción mapIdint(auto)‐‐‐ ‐‐‐ Identificadordelatabla mapNamevarchar(20) ‐‐‐ ‐‐‐ Nombreporelqueseidentificaal mapa mapDescriptiontextx‐‐‐ Descripciónasociadaalmapa urlvarchar(max) ‐‐‐ ‐‐‐ Urldondeestáguardadoelmapa xmaxfloat‐‐‐ ‐‐‐ Coordenadaxmáximadelmapa ymaxfloat ‐‐‐ ‐‐‐ Coordenadaymáximadelmapa xminfloat‐‐‐ ‐‐‐ Coordenadaxmínimadelmapa yminfloat ‐‐‐ ‐‐‐ Coordenadaymínimadelmapa userIdint‐‐‐ TUserUsuarioalqueperteneceelmapa
Diseño 88 7.4.8.TablaTResource Almacenalosdatosnecesariosparaidentificaruntipoderecurso.Losrecursosson conceptosqueestándentrodelámbitodelosriesgos,siendoporejemplo:extintores, mangueras,etc. SehacereferenciaalatablaTUser,parasaberaquéusuarioperteneceeltipode recurso. Latablaestácompuestaporlossiguientescampos: NombreTipoNULLFKDescripción resourceIdint(auto)‐‐‐ ‐‐‐ Identificadordelatabla resourceTypevarchar(20) ‐‐‐ ‐‐‐ Nombreconelqueseidentificaeste tipoderecurso isGlobalbit‐‐‐ ‐‐‐ Indicativodesiesunrecursocreado porunusuarioconcretooesglobala todoslosusuarios userDescriptiontextx ‐‐‐ Descripciónasociadaaltipode recurso colorint‐‐‐ ‐‐‐ Colorasociadoaltipoderecurso, todoslosrecursosdeestetipose pintaránenelmapaconestecolor userIdint ‐‐‐ TUserUsuarioalqueperteneceestetipode recurso 7.4.9.TablaTMathematicalModel Almacenaelconjuntodemodelosmatemáticosofrecidosporlaaplicaciónpararealizarlas simulaciones. Latablaestácompuestaporlossiguientescampos: NombreTipoNULLFKDescripción mathModIdint(auto)‐‐‐ ‐‐‐ Identificadordelatabla mathModNamevarchar(20) ‐‐‐ ‐‐‐ Nombrequeidentificaalmodelo matemático accidentTypeIdint‐‐‐ TAccidentType Tipodeaccidenteparaelquese puedeaplicarelmodelo 7.4.10.TablaRSubstanceProperties Almacenaelnombredelaspropiedadesquesenecesitanconoceracercadeuna sustanciaparapoderutilizarladentrodeunmodelomatemático.Sealmacenadeesta
Universidad de Las Palmas de Gran Canaria 89 formaynodirectamentecomocolumnasdelatabla,paranotenerquerellenar propiedadessobreunasustanciaqueposteriormentenoserándeutilidad,deesta formasólosetendránaquellaspropiedadesquerealmenteseutilicen,yseirán añadiendomás,amedidaquetambiénsevayanañadiendonuevosmodelos matemáticos. Sehacereferenciaalatabladondesealmacenanlosmodelosmatemáticosparasaber quépropiedadessenecesitanconocersobreunasustanciaenfuncióndelmodeloenel quevayanaserutilizadas. Latablaestácompuestaporlossiguientescampos: NombreTipoNULLFKDescripción substancePropertyId int(auto)‐‐‐ ‐‐‐ Identificadordela tabla propertyNamevarchar(10) ‐‐‐ ‐‐‐ Nombreque identificaala propiedad propertyTypevarchar(10)‐‐‐ ‐‐‐ Tipodelavariable quealmacenaráel valordeesta propiedad propertyMeasurevarchar(10) ‐‐‐ ‐‐‐ Unidadenlaquese mideesta propiedad mathModIdint‐‐‐ TMathematicalModelIdentificadordel modelomatemático dondesevaahacer usodeesta propiedad 7.4.11.TablaRSubstanceValues Almacenalosvaloresdecadaunadelaspropiedadesdeunasustanciaespecífica.Comosevio enlatablaanterior(RSubstanceProperties),elmodelomatemáticoeselqueestablecelas propiedadesdeunasustanciaqueseránnecesariasparapoderejecutarloy,porotrolado,se tienenlassustanciasofrecidasporlaaplicación,asíquelatablaRSubstanceValuesrecogelos valorespropiosdelasustanciaparacadaunadeesaspropiedades.Elvalorseguardaráenun campodetextoporquenosepuedeconseguirquecadaregistrodeestatablatengauntipo distintoencadacolumna,asíqueayudadosporlatablaRSubstanceProperties,quealmacena eltipodedatodeestapropiedad,alahoradeprogramarsepodráhacerunaconversióndesde textohastaeltipoespecífico. Sehacereferenciaa: ‐ TSubstance:almacenalassustancias,parasaberdequésustanciasetrata ‐ RSubstanceProperties:almacenalaspropiedadesdelosmodelosmatemáticos,para sabercuántosyquévaloreshayquealmacenarenlatablaactual
Implementación 96 Fig. 33. Documentación de la API del visor Elvisorofrecelasiguientefuncionalidad: ‐ Mostrarpuntos/cuadrados,queenestecasoseránutilizadosparamostrar: o Accidentes o Recursos ‐ Mostraráreasenformadecírculoyrellenarlas,enestecasosehautilizado paramostrarlasáreasafectadasenelsupuestocasodequesucedieseel accidentedeclarado.Alpermitirrellenarlazona,seutilizauncolorparapoder diferenciarlas ‐ Lasformasquesehayandeclaradoenelvisorpodránsermostradasu ocultadas
Universidad de Las Palmas de Gran Canaria 97 Fig. 34. Plataforma utilizando la funcionalidad del visor Tantoenlafigura32comoenlafigura34sepuedeobservaruncuadroenlasección inferiorderecha,dentrodelvisor.Estecuadronoexisteenlaversiónfinaldela plataforma,perosetratadeundepuradorofrecidoporlaapidelvisor.Conesta opciónsepuederevisarentiempodeejecuciónsilapartegráficaseestácreandoy/o eliminandodeformacorrecta. 8.1.2.Accesoalservidor Comosecomentóenlafasedediseño,paraaccederalservidorsehacreadounacapa deservicios.Estaclaseeslaencargadadeconectarconelservidorparahacerlas peticiones. LaclaseServicestiene2atributosprincipales: public class Services extends EventDispatcher { private var webService:WebService; private var wsdl:String; ... ‐ LavariablewebService,detipoWebService,definelaconexiónconelservidor. EstaclaseproveeaccesoawebservicesremotosbasadosenSOAP. ‐ Lavariablewsdlalmacenaladirecciónwsdldelwebservice,necesariapara realizarlaconexiónconelmismo.
Implementación 98 Paraeltratamientodelresultadodevueltoporelservidor,laclaseServicedefineun eventoparalanzardetipoServiceResultEvent. [Event(name="ServiceResultEvent", type="events.ServiceResultEvent.SERVICE_RESULT_EVENT")] Estetipodeeventosehacreadoespecíficamenteparalanzarelresultadodevueltopor elservidor.Laclasequelodefinetiene2atributosprincipales: public var message:String; public var resultEvent:ResultEvent; EnmessagesepuedealmacenarelmensajedeseadoyresultEventseráelvalor devueltodesdeelservidor. LaclasequehacelallamadaaServicessesuscribealeventoenconcretoquele interesadeestetipo.Acontinuaciónsepresentaunejemplodecómounaclasese suscribeaestetipodeevento,paraposteriormentepodertratarlo: services.addEventListener(EventsConstant.SET_SCENARIO_EVENT,setScenari oServiceEventHandler); services.setScenarioService(modelLocator.scenarioAux,modelLocator.user .userId); Enlaprimeralínealaclasellamadorasesuscribealevento:SET_SCENARIO_EVENT, queesdetipoServiceResultEvent.Enestamismainstruccióndefinelafunciónquese harácargodeltratamientodelevento:setScenarioServiceEventHandler.Enlasegunda líneahaceelllamamientoaunafunciónconcretadeServicespasándolelosparámetros necesarios. Porotrolado,dentrodelaclaseServices,lallamadaalservidorseestablecedela siguienteforma: public function setScenarioService(scenario:Scenario, userId:int):void { var object:Object=converter.scenarioToObject(scenario); webService.setScenario.addEventListener(ResultEvent.RESULT, setScenarioServiceResultHandler);
Universidad de Las Palmas de Gran Canaria 99 webService.setScenario.addEventListener(FaultEvent.FAULT, setScenarioServiceFaultHandler); webService.setScenario.resultFormat="object"; webService.setScenario.send(object,userId); } private function setScenarioServiceResultHandler(event:ResultEvent):void { var serviceResultEvent:ServiceResultEvent = new ServiceResultEvent("",event,EventsConstant.SET_SCENARIO_EVENT); dispatchEvent(serviceResultEvent); } EnprimerlugarsesuscribealeventoRESULTyaleventoFAULTdelservidor,para saberenquémomentosehaobtenidounarespuestapositivaonegativadelmismo.A continuaciónseestablecelaformaencómosequiererecibirlarespuesta,enestecaso seráunobjeto.PorúltimosehacelallamadaalafuncióndelwebService. LafunciónquesehadefinidoparatratareleventoRESULTdelservidor,enestecaso setScenarioServiceResultHandler,serálaencargadadelanzareleventodetipo ServiceResultEvent,paraquelaclasellamadorahagaeltratamientonecesarioconel resultadodevueltoporelservidor. 8.2.Servidor Dentrodelservidorseconsiderarelevantelapropiaconfiguracióndelservidoryla formaencómosecomunicaconlaaplicacióncliente.Parapoderenviaryrecibirdatos sedebendefinirunaseriedeestructurasqueseexplicaránacontinuación. 8.2.1.ABCdelEndpoint Comoseexplicóanteriormente,enelcapítulo7–sección:Tecnologíasutilizadas,para lacomunicaciónentreclienteyservidorsedebenestablecerlosendpointsoextremos. Cadanuevoendpointdefiniráunnuevocanaldecomunicaciónyunaformadistintade comunicarseentreclienteyservidor.Éstevendrádefinidoporelcomúnmente conocidocomoABCdelendpoint:Address,BindingyContract. 8.2.1.1.AddressyBinding LaconfiguracióndelwebServicesedefineenelarchivoWeb.configdelservidor.Se debeestablecerladireccióndondeestáalojado(baseAddress),elendpointyeltipode binding. <system.serviceModel> <services>
Implementación 100 <service behaviorConfiguration="SimulatorService" name="Servicios.Simulador"> <host> <baseAddresses> <add baseAddress="http://193.145.154.10:8082/Servicios/"/> </baseAddresses> </host> <endpoint address="" binding="basicHttpBinding" bindingConfiguration="" contract="Servicios.ISimulador"/> </service> </services> <behaviors> <serviceBehaviors> <behavior name="SimulatorService"> <serviceMetadata httpGetEnabled="true"/> </behavior> </serviceBehaviors> </behaviors> </system.serviceModel> 8.2.1.2.Contract Existendiversostiposdecontratos,comoyaseexplicóenelcapítuloanterior.Enel siguientecuadrosepresentaunejemplodelosquesehanutilizadoenesteproyecto. Loscontratosutilizadoshansido:ServiceContract,quedefineelcontratodelservicio, OperationContract,quedefinelosparámetrosdeentradayeltipodelvalordelasalida delasoperacionesdelwebServicey,DataContract,queseutilizaparadefinirlostipos dedatoscomplejosqueusaelservicio. namespace Servicios { [ServiceContract] public interface ISimulador { [OperationContract] List<Substance> getAllSubstances(int userId); ... ... namespace Servicios { [DataContract] public class Accident { ... ...
Universidad de Las Palmas de Gran Canaria 101 8.2.2.UtilizacióndelmodeloFLI(FugadeLíquidoInflamable) Enelcapítulo6,referentealanálisisdelaplataforma,alahoradeexponerlos distintosmodelosdesarrolladosenlamisma,seindicólaformaenqueseibaausar estemodelo.Dadasucomplejidadanivelcomputacional,elequipodelCEANI,quefue quienproporcionólaformadecalcularlosresultados,optóporlaelaboracióndeuna redneuronalqueentrenóenbaseaunelevadonúmerodemuestrasproporcionado porunsoftwareprofesionalutilizadoampliamenteenestecampo. Parapoderhacerusodelaredneuronalfuenecesariocargarlasdistintassustancias sobrelasqueseharíaelcálculo,queenestecasohansido: ‐ Acetona ‐ Gasoil ‐ Gasolina ‐ Tolueno Esdecir,loscálculosqueelprogramaofrecesiemprehandeserparafenómenos peligrososdondeparticipenalgunadeestassustancias.Estosedebeaquelared neuronalfueentrenadaparacadaunadeestassustanciasenbasealosvaloresde muestraindicadosanteriormente. Acontinuaciónsemuestraelejemplodecómosehizousodelassustanciasdentrodel servidor,paraelcálculodelaszonasafectadasporelderrame: public double fli(float zoneValue, int substanceId, float diameter, float windSpeed, int leakType, float leakDuration) { BasicNetwork AcetonaNetwork = null; BasicNetwork GasoilNetwork = null; BasicNetwork GasolinaNetwork = null; BasicNetwork ToluenoNetwork = null; double radioOutput = 0.0; double diameterNorm = Normalize(diameter, 400, 10, 0.9, 0.1); double WindNorm = Normalize(windSpeed, 8, 1, 0.9, 0.1); double DiaNocheNorm = leakType==0 ? 0.1 : 0.9; double DurationNorm = Normalize(leakDuration, 120, 30, 0.9, 0.1); double zonaNorm = Normalize(zoneValue, 8, 4, 0.9, 0.1); //Primero: se cargan las redes, en función de la sustancia switch (substanceId) { case 19:
Implementación 102 string AcetonaPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Substances/acetona.eg"); AcetonaNetwork = (BasicNetwork)EncogDirectoryPersistence.LoadObject(new FileInfo(AcetonaPath)); double[] radioNorm = new double[1]; AcetonaNetwork.Compute(new double[] { diameterNorm, WindNorm, DiaNocheNorm, DurationNorm, zonaNorm }, radioNorm); radioOutput = Denormalize(radioNorm[0], 230, 25, 0.9, 0.1); break; case 20: string GasoilPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Substances/gasoil.eg"); GasoilNetwork = (BasicNetwork)EncogDirectoryPersistence.LoadObject(new FileInfo(GasoilPath)); DurationNorm = Normalize(leakDuration, 180, 30, 0.9, 0.1); double[] radioNorm1 = new double[1]; GasoilNetwork.Compute(new double[] { diameterNorm, WindNorm, DiaNocheNorm, DurationNorm, zonaNorm }, radioNorm1); radioOutput = Denormalize(radioNorm1[0], 130, 20, 0.9, 0.1); break; case 21: string GasolinaPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Substances/gasolina.eg"); GasolinaNetwork = (BasicNetwork)EncogDirectoryPersistence.LoadObject(new FileInfo(GasolinaPath)); double[] radioNorm2 = new double[1]; GasolinaNetwork.Compute(new double[] { diameterNorm, WindNorm, DiaNocheNorm, DurationNorm, zonaNorm }, radioNorm2); radioOutput = Denormalize(radioNorm2[0], 160, 15, 0.9, 0.1); break; case 22: string ToluenoPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Substances/tolueno.eg"); ToluenoNetwork = (BasicNetwork)EncogDirectoryPersistence.LoadObject(new FileInfo(ToluenoPath)); double[] radioNorm3 = new double[1];
Universidad de Las Palmas de Gran Canaria 103 ToluenoNetwork.Compute(new double[] { diameterNorm, WindNorm, DiaNocheNorm, DurationNorm, zonaNorm }, radioNorm3); radioOutput = Denormalize(radioNorm3[0], 140, 10, 0.9, 0.1); break; } //Se calcula el valor return radioOutput; } ... private double Normalize(double input, double MaxInput, double MinInput, double MaxOutput, double MinOutput) { return ((input - MinInput) / (MaxInput - MinInput)) * (MaxOutput - MinOutput) + MinOutput; } private double Denormalize(double input, double MaxInput, double MinInput, double MaxOutput, double MinOutput) { return ((input - MinOutput) / (MaxOutput - MinOutput)) * (MaxInput - MinInput) + MinInput; }
104
Universidad de Las Palmas de Gran Canaria 105 Capítulo9. Conclusiones Enprimerlugarseconsideraimportantedestacarlaexperienciaquehaaportadoeste proyecto.DesdeeliniciodelosestudiosdelaIngenieríaInformática,sevan planteandodistintosproblemasquesehandesolucionar,sinembargo,normalmente setratadeproblemasacotados,seccionesdeunproyectomayoroproblemas relativamentepequeños.Esteproyectohabrindadolaoportunidaddeenfrentar directamenteunproyectomayor,partiendodesdeeliniciodelprocesohastasu consecución,obteniendoelproductorequeridoy,deestaforma,obligandoapasar portodoelprocesoquerequiereelaborarunproyectodeprincipioafin. Apesardeserunproyectoindividual,sehautilizadouncomponentedesarrolladoen otroproyecto.Elhechodehabertenidoqueintegrarotroproductotambiénaporta unamayordificultad,siendonecesarioestudiarytrabajarconladocumentación generadaparaesecomponente.Alsernecesariaesacomunicaciónentrelosdos proyectos,sehatenidoquetrabajarenconjuntoparaobtenerlasespecificacionesde entradaydesalida.Estacomunicacióntambiénhaofrecidolaoportunidaddetrabajar engrupoyconocertodoloqueelloimplica. Paraeldesarrollodelproyectosehanutilizadolenguajesdeprogramación desconocidos,aligualqueelusodeunaarquitecturaclienteservidor.Todoloquese hatenidoqueleeryestudiar,todoloquesehatenidoqueinvestigarparapoder utilizarlo,seconsideraquehaaportadounenriquecimientoanivelcurricular.Quizáno seaunaexperienciademostrable,peroindependientementedeesedetalle,esalgo quesehapodidoaprenderparautilizarenunfuturoparaeldesarrolloprofesional. Ademásdeloqueesteproyectohaaportadopersonalyprofesionalmente,también seríaconvenientedestacarloqueesteproyectopuedeaportaralasociedad, concretamentealámbitoquelecompete,elestudiodelosriesgosdeaccidentesen entornosindustriales.Comosehaidoexplicandoalolargodetodalamemoria,el estudiodelosriesgosenentornosindustrialesesmuyimportanteparaconseguirque sereduzcanlosaccidenteslaborales.Estaplataformaporsísolanopuedehacerel estudio,perosipuedecontribuirenelmismoaportandolosresultadosdeloscálculos basadosenlosmodelosmatemáticos. Alolargodelosaños,losestudiossobreprevenciónderiesgoslaboraleshanido ganandolaimportanciaquemerecenyactualmenteesunodeloscamposmás relevantes.Porestemotivoexistelaobligatoriedadderealizarlosplanesde emergenciainteriorenlasempresas,incluyendoelestudioderiesgosdeaccidentes graves.Estaplataformaofrecealosexpertoslaposibilidadderealizartodoslos cálculosnecesarios(paralosmodelosqueestándesarrollados)yademásposicionarlos enunmapadelsitiosobreelqueseestérealizandoelestudio.Alpoderposicionarlos accidentesyalobtenerlasáreasqueseveríanafectadasporlosmismos,entreotras cosas,sepodría:
112
Universidad de Las Palmas de Gran Canaria 113 AnexoI.Manualdeusuario Acontinuaciónseindicanlospasosbásicosparapodercrearunescenarioyrealizar unasimulación. A1.1.Accesoalaaplicación Parateneraccesoalaaplicaciónhayqueaccederalasiguientedirección: http://193.145.154.10:8082/CLIENTE/General.html Unavezseaccedeaestawebsepresentalapantallaprincipaldelaaplicación,que muestra: ‐ lacabecera, ‐ unpequeñoresumensobreparaqueesutilizaday ‐ elaccesoalregistrooaliniciodesesión Fig. 35. Pantalla principal A1.2.Registrodeusuarios Elregistrodeunnuevousuarioseconsigueaccediendoalenlaceproporcionadoenla pantallaprincipal:RealizarRegistro.Paracompletarloseránnecesariosalmenoslos camposmarcadoscomoobligatorios,esdecir,losqueestánseñaladosconun asterisco.
Manual de usuario 114 Fig. 36. Pantalla de registro de usuario A1.3.Login Paraaccederalaaplicaciónyatodoslosdatosquehacargadoelusuario,sedebe elegirlaopcióndeloginenlapantallaprincipaleingresarlosvaloressolicitados: usuarioycontraseña.Laaplicacióncomprobarálaveracidaddelosdatos,unavezse hacomprobadoqueelusuarioexiste,secargarántodoslosdatos. Fig. 37. Inicio de sesión
Universidad de Las Palmas de Gran Canaria 115 Fig. 38. Listado de escenarios del usuario A1.4.Modos Dentrodelaaplicaciónsepuedetrabajarendosmodosdistintos: ‐ modocreación ‐ modosimulación A1.4.1.Modocreación Elmodocreaciónseestablececuandoseestácreandounnuevoescenario.Existen algunascaracterísticasquenosonaccesiblesdesdeestemodo.Estosedebeaque A1.4.2.Modosimulación Cuandounusuarioyahaguardadounescenarioyaccedeposteriormenteparasu tratamiento,sedicequeestamosenmodosimulación.Enestemodoestánaccesibles todaslascaracterísticasdelaaplicación,entreotraslasimulacióndelosaccidentes. A1.5.Crearunnuevoescenario Parapodercrearunnuevoescenario,unavezseaccedealapantallaprincipaldespués dehaberselogueado,sedebepulsarenelbotónseñalizadoconun“+”.Acontinuación laaplicaciónpasaaotrapantalladondesehanderellenarunaseriedecampos.
Manual de usuario 116 Enprimerlugarsedebeindicarunnombreyunadescripción,siendolasegunda opcional. Fig. 39. Formulario para crear un nuevo escenario A1.5.1.Asociarunmapa Encasodequererposicionarlosaccidentesy/orecursossobreunmapa,setendráque haberasociadounopreviamente.Paraasociarunmapaalescenarioqueseestá creando,sehadeseleccionarelbotón“seleccionarmapa”.Enlapantallaseveráel listadodemapasquetieneelusuarioyentoncespodráelegirelmapadeseadoparael escenarioencreación.Encasodequenosequieraasociarningúnmapa,elusuario debeseleccionarelcheckboxindicadoparatalfin. A1.5.2.Crearnuevoaccidente Acontinuación,paracrearunnuevoaccidentesehadepicarsobreelbotónseñalizado conun“+”dentrodelapestañaAccidentes,dentrodeEscenarios.
Universidad de Las Palmas de Gran Canaria 117 Fig. 40. Panel de nuevo accidente Comosepuedeobservarenlafiguraanterior,unavezsehaseleccionadolaopciónde nuevoaccidentesedespliegaunanuevaventana.Enestaventanasesolicitanlosdatos básicosparacrearelnuevoaccidente. Cuandoseestácreandounnuevoaccidentesedeshabilitanelrestodeopcioneshasta quenoseterminayseguardaosecancela. Laventanadenuevoaccidenteestádivididaen4secciones: 1. Datosgenerales:aquísepidendatosquenoafectanalassimulaciones,tales comoelnombreyladescripcióndelaccidente 2. Posicionamiento:sedalaopcióndeposicionarelaccidentesobreelmapa desdeelmomentodecreación.Apesardecontarconunmapaasociadonoes obligatorioposicionarlosaccidentes. Existen2formasdeposicionarelaccidente: o Posicionamientomanual:elusuariopuedeintroducirlascoordenadasa mano.Laposiciónindicadadebeestardentrodelascoordenadasdel mapaquefueronestablecidasporelusuariocuandologuardó o Posicionamientoatravésdelmapa:elusuariopinchasobrelaposición dondedeseamarcarelaccidenteylaaplicaciónrecogelaposición exactaencoordenadas.
Manual de usuario 118 Fig. 41. Posicionamiento del accidente 3. Tipo:enestasecciónsedebenseleccionarlaspropiedadesquedefiniránal accidente.Sedebeindicareltipodeaccidente,elmodelomatemáticoquese utilizaráylasustanciacorrespondiente. 4. Datosespecíficos:estosdatosson,comosupropionombreindica,específicos deltipodeaccidente.Laaplicaciónpedirálosdatosquenecesitaparapoder realizarlasimulaciónposteriormente.EnelcasodelmodeloTNT,sesolicitala masadeexplosivoysielcálculoesporsobrepresiónoimpulso. Unavezsehaterminadoderellenarlosdatossolicitadosseledaaguardar.Sitodos estáncompletoslosdatosobligatoriosynohayningúnvalorincorrecto,queexceda algúnparámetromarcado,elaccidenteseguardaráypasaráaversedentrodelatabla deaccidentesquehaydentrodelpanel. A1.5.3.Modificaraccidente Paramodificarunaccidentesedebeseleccionarelaccidenteypincharsobreelbotón “Modificar”queapareceenlaventanadeinformacióndelmismo.Hayalgunas modificacionesquenoestánpermitidas,sonaquellasquenodanopciónalcambio cuandoseseleccionalaopciónmodificar.Porejemplo,seconsideraquesisequiere cambiarelmodelomatemáticoesmejorcrearunnuevoaccidente,enlugarde modificarelexistente. Cuandosemodificandatosqueafectanalresultadodeunasimulación,encasode existirdatossimulados,semarcancomonoactualizados,deestaformaelusuario sabrácuandolosdatosqueestávisualizandonosoncorrectos,pornobasarseenlos valoresindicadosenelaccidente.
Universidad de Las Palmas de Gran Canaria 119 A1.5.4.Eliminaraccidente Paraeliminarunaccidentebastaconseleccionarloypulsarsobreelbotón“‐“oel botóneliminarquesevisualizaenlaventanadeinformacióndelaccidente. A1.5.5.Asociarunnuevorecurso Paracrearunnuevorecursodentrodelescenarioqueseestácreandobastacon accederalapestañaderecursosypincharsobreelbotón“+”.Acontinuaciónsaldrá unanuevaventanaquesolicitarálosdatosnecesarios.Losdatossolicitadosestarán separadosen2gruposyserán: 1. Tipoderecurso,nombreydescripción 2. Posicionamiento.Aligualquelosaccidentes,losrecursostambiénsepueden posicionar.Laformadeposicionarlosrecursosesidénticaalaformade posicionarlosaccidentes. A1.5.6.Eliminarunrecurso Bastaconseleccionarelrecursoquesedeseaeliminarypincharsobreelbotón“‐“.La otraopciónespincharsobreelbotón“Eliminar”queproporcionalaventanade informacióndelrecurso A1.5.7.Guardarescenario Unavezsehanrellenadotodoslosdatosnecesariossobremapas,accidentesy recursos,elusuariodebepincharsobreelbotón“Guardardatos”.Siexistiesealgún problemaconalgunodelosvaloresinsertados,laaplicaciónlanzaráunaviso indicándolo. A1.6.Simulación Parapodersimularlosdatosdelosaccidentesnosdebemosencontrarenmodo simulación.Comoseexplicóenlaseccióncorrespondiente,elmododesimulaciónse estableceunavezyasehaguardadoelescenarioyseaccededenuevoaél. A1.6.1.Añadirnuevazonaparasimular Parapoderrealizarlasimulación,elusuariodebeseleccionarlaszonassobrelasque quiereobtenerunresultado,paraellodebeseleccionarelaccidentequedeseasimular yposicionarseenlapestañazonas.Paraañadirunazonadebepincharsobreelbotón “+”,entonceslaaplicaciónlanzaráotraventanadondepuedeseleccionartantaszonas comodesee(Fig.42).
Manual de usuario 120 A1.6.2.Eliminarunazona Paraeliminarunazonaqueyanointeresatenerasociadaaunaccidente,bastacon pulsarsobreelbotóneliminarqueseencuentraencadaregistrodelatabladezonas (Fig.43). Fig. 42. Añadir zona al accidente para la simulación Fig. 43. Botón eliminar zona
Universidad de Las Palmas de Gran Canaria 121 A1.6.3.Simularzonas Parasimularunazonaexisten2formasdistintasdehacerlo: ‐ Porgrupo:siexistenvariaszonasquesedeseansimular,sedebepincharsobre elbotónqueseencuentraenlaparteinferiorderechadelaventana“Simular”, deestaformasesimularántodaslaszonasasociadasalaccidente. ‐ Deformaindividual:siporelcontrario,sólosequieresimularunazona concretaobviandoelrestodezonas,sedebepulsarsobreelbotón“Simular” queseencuentraenlamismafiladelatabladondeapareceellistadodezonas. Cadaregistrodelatablatieneunbotóndesimulación. Unavezsesimulanlaszonas,semuestranenelmapalosresultadosencasodeestar posicionados. Fig. 44. Representación de los valores simulados sobre el mapa Losdatossepuedenmostraryocultarpinchandosobreelbotónqueapareceencada registrodelatablayquetienecomoindicativounojo(cuandoelaccidenteseestá mostrando)ounojoconunacruzroja(cuandoelaccidenteestáoculto).Siseoculta unaccidente,seocultantodassuszonas