scieee AI-readable full text Open interactive document viewer

Desarrollo de un prototipo de componente web para la visualización e interacción con mapas de forma online

Díaz Cabrera, Samuel Yeray

Abstract

El proyecto consistió en la creación de un componente visor web para la representación de entidades y sus simulaciones. Surgió como una propuesta para complementar otro proyecto centrado en la gestión de riesgos industriales. Donde existía la necesidad de representar sobre un mapa, los elementos susceptibles de provocar un accidente y las consecuencias generadas por éste. El desarrollo ha estado centrado en ofrecer un enfoque genérico al producto final, para permitir su utilización en otros proyectos con otra temática. El producto principal, el componente visor, permite cargar y manejar mapas, así como representar diferentes tipos de entidades en un entorno web de forma online. Específicamente enfocado para ser integrado en una aplicación, permite al desarrollador obviar las tareas de control, representación y gestión del mapa y sus entidades relacionadas. Para ello, dispone de una API que permite la integración del visor en sus aplicaciones adaptándolo a sus necesidades. Se ha realizado un proyecto completo de Desarrollo de Software utilizando el Proceso Unificado de Desarrollo basado en una metodología iterativa e incremental. Dando como resultado la creación de un producto principal junto con una serie de elementos útiles para el desarrollador, una página web para documentar y estructurar la API suministrada y una aplicación de demostración para conocer las capacidades del visor. Todo ello bajo la tecnología de ActionScript 3.0 y el framework Flex 3.6, que permite el desarrollo de aplicaciones RIA (Rich Internet Applications), esto es, entornos web con apariencia y características de aplicaciones de escritorio.

Full text

! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! Proyecto!fin!de!carrera!de!la!Escuela!de!Ingeniería!Informática!de!la!Universidad! de!Las!Palmas!de!Gran!Canaria.! Titulo'del'proyecto:!DESARROLLO!DE!UN!PROTOTIPO!DE!COMPONENTE!WEB! PARA!LA!VISUALIZACIÓN!E!INTERACCIÓN!CON!MAPAS!DE!FORMA!ONLINE.! Autor:!! Samuel!Yeray!Díaz!Cabrera! ! ! Tutores:!Francisco!Mario!Hernández!Tejera! !!Blas!J.!Galván!!González! ! ! ! Dedicatoria* ! Dedico! este! proyecto! a! mi! madre,! Ana,! por! su! esfuerzo! y! constancia! durante! todos!estos!años.! ! ! ! ! Agradecimientos* ! En!primer!lugar!quiero!agradecer!a!mis!tutores,!Mario!Hernández!Tejera!y!Blas! Galván!González!por!su!paciencia,!apoyo!y!libertad!que!me!han!dado!a!lo!largo!de! la!elaboración!de!este!proyecto.!!! Agradecer!al!personal!de!la!División!de!Computación!Evolutiva!y!Aplicaciones!en! Ingeniería! (CEANI)! del! Instituto! Universitario! de! Sistemas! Inteligentes! y! Aplicaciones!Numéricas!en!Ingeniería!(SIANI)!por!sus!consejos!y!ayudas!dadas! en!la!realización!de!este!proyecto,!especialmente!a!Juan!Pedro!Ramos!Ponce,!por! su!supervisión!y!sus!buenas!ideas!en!estos!últimos!meses!de!desarrollo.! Mención!especial!a!mi!compañera!Nayarit!Santana!Pacheco!por!su!inestimable! compañía!y!optimismo.!Sin!su!apoyo!y!su!ayuda!!este!proyecto!no!hubiese!podido! realizarse.! Agradecer!también!a!mis!compañeros!y!amigos,!Aaron,!Eduardo,!Mario!y!Patricia! por!su!apoyo!durante!estos!años!y,!especialmente!a!Orlando!y!Zenaida!por!su! compañía!y!su!buen!hacer!durante!estos!últimos!meses.! Un!agradecimiento!especial!a!mis!amigos!José,!Ruyman!y!Joy!por!acompañarme! durante!estos!años!y!aguantar!mis!nervios.! Por! último! agradecer! a! mis! padres! y! hermano,! sin! cuyo! apoyo! nada! de! esto! hubiese!sido!posible.! ! ! ! ! ! Índice* ' Capítulo'1.6'Introducción'...............................................................................................'11! 1.1.'El'problema'........................................................................................................................'11! 1.2.'Justificación'.......................................................................................................................'12! 1.3.'Terminología'.....................................................................................................................'12! Capítulo'2.6'Estado'del'Arte'..........................................................................................'15! 2.1.'Visores'cartográficos'de'propósito'general'............................................................'16! 2.1.1.!Google!Maps!................................................................................................................................!16! 2.1.2.!Yahoo!!Maps!................................................................................................................................!18! 2.1.3.!ArcGIS!Viewer!.............................................................................................................................!19! 2.1.4.!Resumen!del!análisis!...............................................................................................................!20! 2.2.'Visor'orientado'al'Análisis'de'Riesgo'........................................................................'23! 2.2.1.!Phast!...............................................................................................................................................!23! 2.2.2.!Resumen!del!análisis!...............................................................................................................!25! 2.3.'Conclusiones'......................................................................................................................'26! Capítulo'3.6'Objetivos'.....................................................................................................'27! 3.1.'Alcance'................................................................................................................................'28! Capítulo'4.6'Metodología'................................................................................................'29! 4.1.'Fases'.....................................................................................................................................'30! Capítulo'5.6'Planificación'y'Temporización'............................................................'31! 5.1.'Actividades'.........................................................................................................................'31! 5.2.'Temporización'..................................................................................................................'33! Capítulo'6.6'Recursos'necesarios'................................................................................'35! 6.1.'Hardware'............................................................................................................................'35! 6.2.'Software'..............................................................................................................................'35! 6.2.1.!Sistemas!Operativos!................................................................................................................!35! 6.2.2.!Editores!de!texto!.......................................................................................................................!35! 6.2.3.!Editores!de!presentaciones!..................................................................................................!35! 6.2.4.!Entornos!de!desarrollo!...........................................................................................................!35! 6.2.5.!Herramienta!de!sincronización!entre!dispositivos!....................................................!36! 6.2.6.!Sistema!de!versiones!...............................................................................................................!36! 6.2.7.!Herramientas!Organizativas!................................................................................................!36! 6.2.8.!Herramientas!de!Diagramación!..........................................................................................!36! 6.2.9.!Navegadores!Web!.....................................................................................................................!36! Capítulo'7.6'Requerimientos'........................................................................................'37! 7.1.'Plantillas'.............................................................................................................................'37! 7.1.1.!Descripción!de!los!apartados!...............................................................................................!39! 7.2.'Descripción'del'problema'.............................................................................................'40! 7.2.1.!Analista!de!Riesgos!...................................................................................................................!41! 7.3.'Modelo'de'dominio'..........................................................................................................'42! 7.4.'Objetivos'del'sistema'......................................................................................................'43! 7.5.'Requisitos'de'usuario'.....................................................................................................'44! 7.5.1.!Actor.h!Analista!de!Riesgos!...................................................................................................!44! 7.5.2.!Modelo!de!Casos!de!Uso!.........................................................................................................!46! 7.6.'Requisitos'software'........................................................................................................'61! 7.6.1.!Requisitos!de!usuario!descartados!...................................................................................!61! 7.6.2.!Actores!del!sistema!..................................................................................................................!61! ! ! 7.6.3.!Actor.h!Usuario!............................................................................................................................!62! 7.6.4.!Actor.h!Diseñador!.......................................................................................................................!62! 7.6.5.!Modelo!de!Casos!de!Uso!..........................................................................................................!63! 7.7.'Requisitos'no'funcionales'..............................................................................................'91! Capítulo'8.6'Análisis'........................................................................................................'95! 8.1.'Modelo'de'Análisis'...........................................................................................................'96! 8.1.1.!Paquete!de!análisis!01.h!Sistema!de!integración!del!componente!........................!97! 8.1.2.!Paquete!de!análisis!02.h!Sistema!de!control!del!plano!...............................................!98! 8.1.3.!Paquete!de!análisis!03.h!Sistema!de!gestión!de!capas!................................................!99! 8.1.4.!Paquete!de!análisis!04.h!Sistema!de!gestión!de!entidades!....................................!100! 8.1.5.!Paquete!de!análisis!05.h!Sistema!de!gestión!de!tiempo!..........................................!101! 8.1.6.!Paquete!de!análisis!06.h!Sistema!de!gestión!de!escala!............................................!103! 8.1.7.!Paquete!de!análisis!07.h!Sistema!de!representación!de!la!vista!.........................!104! Capítulo'9.6'Diseño'........................................................................................................'107! 9.1.'Arquitectura'....................................................................................................................'107! 9.2.'Tecnología'........................................................................................................................'109! 9.3.'Diseño'del'componente'...............................................................................................'110! 9.3.1.!Nombre!.......................................................................................................................................!110! 9.3.2.!Solución!.......................................................................................................................................!110! 9.3.3.!Subsistemas!...............................................................................................................................!113! 9.3.4.!Aspectos!variados!del!diseño!............................................................................................!125! 9.4.'Diseño'de'la'aplicación'de'demostración'..............................................................'127! 9.4.1.!Estructura!..................................................................................................................................!127! 9.4.2.!Panel!de!utilidades!.................................................................................................................!127! 9.4.3.!Título!............................................................................................................................................!129! Capítulo'10.6'Implementación'..................................................................................'131! 10.1.'Componente'visor'.......................................................................................................'131! 10.2.'Documentación'web'...................................................................................................'136! 10.3.'Aplicación'de'Demostración'....................................................................................'139! Capítulo'11.6'Transición'.............................................................................................'143! 11.1.'Productos'entregables'..............................................................................................'143! 11.2.'Página'web'....................................................................................................................'143! 11.3.'Aplicación'del'Cliente'................................................................................................'146! Capítulo'12.6'Conclusiones'y'Principales'Aportaciones'...................................'147! 12.1.'Flash'vs'HTML'5,'Opinión'personal'.......................................................................'148! Capítulo'13.6'Trabajos'Futuros'.................................................................................'151! 13.1.'Aspectos'a'mejorar'.....................................................................................................'151! 13.2.'Temáticas'.......................................................................................................................'151! Bibliografía'.....................................................................................................................'153! Anexo'I.6'Arquitectura'de'una'RIA'...........................................................................'155! 1.1'Características'claves'....................................................................................................'155! 1.2'Beneficios'..........................................................................................................................'156! Anexo'II.6'Características'de'un'componente'......................................................'157! 2.1'Principios'fundamentales'............................................................................................'157! 2.2'Beneficios'..........................................................................................................................'157! Anexo'III.6'Patrones'......................................................................................................'159! 3.1'Patrón'MVC'.......................................................................................................................'159! 3.2'Patrón'Composite'...........................................................................................................'160! ! ! 3.3'Patrón'Factory'.................................................................................................................'160! 3.4'Patrón'Singleton'..............................................................................................................'161! Anexo'IV.6'Detalles'sobre'la'implementación'del'proyecto'............................'163! 4.1'Implementación'de'componentes'en'AS'3.0'..........................................................'163! 4.2'Estados'del'visor'.............................................................................................................'166! 4.3'Formato'y'tamaño'de'la'imagen'.................................................................................'166! 4.4'Implementación'de'la'documentación'web'...........................................................'166! Anexo'V.6'Manual'de'instalación'..............................................................................'169! 5.1'Requisitos'..........................................................................................................................'169! 5.2'Primeros'pasos'................................................................................................................'169! Anexo'VI.6'Application'Programming'Interface'(API)'......................................'175! 6.1'Índice'de'paquetes'y'clases'.........................................................................................'175! 6.2'Paquetes'.............................................................................................................................'177! 6.2.1!Paquete!com.MViewer!...........................................................................................................!177! 6.2.2!Paquete!com.MViewer.Events!............................................................................................!183! 6.2.3!Paquete!com.MViewer.Utils!................................................................................................!189! 6.3'Documentación'web'......................................................................................................'195! Anexo'VII.6'Contenido'del'CD'....................................................................................'197! ! ! Estado!del!Arte! 16! 2.1. Visores*cartográficos*de*propósito*general* En! esta! sección! se! analizan! visores! online! de! propósito! general,! de! los! que!se! pretenden! obtener! características! de! usabilidad.! Se! comenzará! por! los! más! utilizados!y!se!irá!avanzando!en!el!análisis!hacia!visores!con!menos!repercusión.!! 2.1.1. Google*Maps* Google!Maps,!es!el!servicio!de!mapas!proporcionado!por!Google.!Es!un!servicio! online!que,!dependiendo!de!la!ubicación!del!usuario,!permite!ver!mapas!básicos!o! personalizados! con! información! sobre! negocios! locales,! su! ubicación,! datos! de! contacto!e!incluso!el!cómo!llegar!a!ellos.!Tiene!diferentes!vistas,!satélite!y!mapa,! donde!se!muestra!de!diferente!manera!la!zona!actual.!Permite!además!observar! la!ubicación!desde!diferentes!niveles!de!zoom.! La!plataforma!muestra!la!siguiente!interfaz:! ! Ilustración'2:'Entorno'Google'Maps' Dispone! de! una! interfaz! bastante! intuitiva! y! clara,! donde! se! pueden! realizar! diferentes! acciones,! desde! buscar! una! localización,! ampliar! o! reducir! la! vista,! desplazarse! por! el! mapa,! intercambiar! entre! distintos! tipos! de! vistas! (mapa! o! satélite),!etc.! Universidad!de!Las!Palmas!de!Gran!Canaria! 17! ! Ilustración'3:'Visor'central'de'Google'Maps' Su!visor!central!contiene!diversos!controles:! • Un!control!para!realizar!desplazamientos!del!plano.! • Un!control!para!cambiar!el!nivel!del!zoom.!También!permite!posicionar!un! muñeco! en! el! mapa! para!activar! la! vista! “Street! View”! (Una! vista! que! permite!ver!la!zona!escogida!a!pie!de!calle).! • Incluye! también! una! barra! horizontal! de! información! sobre! la! escala! actual.! • Incluye!información!del!copyright!del!mapa!que!se!está!mostrando.! • Un!botón!para!desplegar!un!mini!visor!del!mapa,!para!mover!el!plano!de! forma!más!cómoda.!! • Tiene! botones! para! el! intercambio! de! distintos! tipos! de! vista,! mapa,! satélite!y!relieve.!En!este!mismo!botón!se!ofrece!la!posibilidad!de!activar! distintas!capas!de!información,!que!incluyen!desde!vista!de!tráfico!hasta! videos!y!fotos!geo!posicionados.! • Incluye! además! botones! para! imprimir! la! imagen,! enviarla! por! correo! electrónico,!o!sacar!un!enlace!a!dicha!posición!del!mapa.! Esta! plataforma! ofrece! una! API! para! que! la! utilicen! terceros.!Podría! ser! una! herramienta!a!utilizar.! La! otra! alternativa,! que! a! continuación! se! analiza,! es! el! servicio! Yahoo!! Maps,! proporcionada!por!la!empresa!Yahoo!.! Estado!del!Arte! 18! 2.1.2. Yahoo!*Maps* Ofrece! una! interfaz! similar! a! la! de! Google! Maps.! Tiene! diferentes! campos! de! búsqueda,!para!encontrar!lugares,!negocios,!o!establecer!una!ruta!entre!2!puntos,! A!y!B.! ! ! Ilustración'4:'Entorno'Yahoo!'Maps' Su!visor!central!es!similar!al!proporcionado!por!Google.!Tiene!controles!para:! • Cambiar!el!tipo!de!mapa!mostrado.! • Cambiar!el!nivel!de!zoom!sobre!el!mapa.! • Un! gráfico! con! la! escala! a! la! que! se! encuentra! el! mapa,! en! millas! y! kilómetros.! • Opciones!para!imprimir,!enviar!o!guardar!el!mapa!mostrado!o!mostrar!el! trafico!en!vivo.! • Un!selector!de!idioma.! • Un!desplegable!con!un!mini!visor.! • Varias! etiquetas! con! información! sobre! el! copyright! del! creador! de! la! aplicación.!Y!del!proveedor!de!los!mapas.! Universidad!de!Las!Palmas!de!Gran!Canaria! 19! ! ! ! Ilustración'5:'Visor'central'de'Yahoo!'Maps' Yahoo!!Maps!al!igual!que!Google!Maps!ofrece!también!una!API,!pero!a!diferencia! de!esta!última,!quién!ofrece!la!API!no!es!la!propia!Yahoo!!Maps,!sino!NOKIA,!ya! que!Yahoo!!Maps!está!utilizando!los!mapas!creados!por!NOKIA.!! 2.1.3. ArcGIS*Viewer** Es! una! plataforma! que! ofrece! distintos! tipos! de! mapas! con! herramientas! muy! potentes!para!la!creación!de!aplicaciones!en!la!plataforma!que!se!quiera.!!Ofrece! APIs!para!proporcionar!mapas!o!información!con!las!siguientes!tecnologías:! Android,! ArcObject,! Flex,! IOs,! Java,! JavaScript,! Python,! REST,! SharePoint,! SilverLight,!SOAP,!SQL,!Windows!Mobile,!Windows!Phone,!WPF.! Analizando! el! visor! utilizado! para! la! tecnología! FLEX,! éste! tiene! el! siguiente! aspecto:! ! Estado!del!Arte! 20! ! Ilustración'6:'Visor'de'ArcGIS' Su!visor!tiene!las!opciones!vistas!por!los!visores!anteriores!y!además!dispone!de! un!componente!que!muestra!opciones!desplegables!para!realizar!acciones!como! cambiar!el!tipo!de!mapa,!realizar!zooms,!imprimir,!etc.!todo!esto!en!un!entorno! muy!intuitivo!y!de!aspecto!agradable.! Explorando!las!opciones!de!los!distintos!paneles,"existen"opciones"para"mostrar" un# listado# de# visualización# de# capas# de# información,# ası66# como# opciones# para# mostrar!gráficas!sobre!datos!meteorológicos.! 2.1.4. Resumen*del*análisis* Tras!analizar!estos!visores!destacan!los!siguientes!aspectos!de!usabilidad:! • Los! visores! tienen! componentes! visuales! para! el! acceso! rápido! a! las! distintas!funcionalidades.! • Todo!el!manejo!de!los!mismos,!se!desarrolla!a!través!del!uso!del!ratón,! aunque!también!es!posible!utilizar!los!componentes!visuales.! • Las!funcionalidades!ofrecidas!a!través!de!usos!del!ratón!son!las!siguientes:! o Mover!el!mapa,!a!través!de!hacer!click!y!arrastrar!el!ratón.! o Ampliar! o! reducir! una! zona! visible! donde! se! sitúa! el! cursor! del! ratón.!Se!gira!la!rueda!del!ratón!en!un!sentido!u!otro!para!ampliar!o! reducir!la!vista.! o Ampliar! una! zona! visible! donde! se! sitúa! el! cursor! del! ratón,! realizando!un!doble!click!sobre!ese!punto.! o Funciones! avanzadas! dependiendo! de! alguna! opción! escogida! en! algún! panel,! tal! como! pintar! un! punto! de! inicio! y! un! punto! final! para!obtener!una!ruta!entre!los!2!puntos.! Universidad!de!Las!Palmas!de!Gran!Canaria! 21! • Las!principales!funciones!ofrecidas!por!los!componentes!visuales!son!las! siguientes:! o Conjunto! de! botones! para! desplazar! el! mapa! sin! tener! que! realizarlo! arrastrando.! Contiene! los! botones! de! arriba,! abajo,! izquierda!y!derecha.! o Barra!de!zoom,!permite!realizar!zoom.! o Barra!de!búsqueda,!busca!la!ubicación!deseada!en!el!visor.! o Barra!para!cambiar!el!tipo!de!visualización,!permite!cambiar!el!tipo! de!plano!mostrado.!!! o Barra! de! información! adicional,! permite! mostrar! otro! tipo! de! información!diferente.!! o Barras! adicionales,! permiten! utilizar! funcionalidades! características!de!cada!visor,!por!ejemplo!el!Street!View!de!Google! Maps.! Algunos! de! los! visores! que! se! han! analizado! suministran! una! API! ! para! incorporar! el! visor! a! distintos! tipos! de!entornos! de! desarrollo.! Esto! conlleva! ciertas!ventajas!y!desventajas.!! En!general!el!utilizar!APIs!de!terceros!proporcionan!ventajas!tales!como:! • Rapidez.!Integrar!en!cuestión!de!segundos!los!servicios!ofrecidos!por!la! API!a!una!aplicación!libera!al!programador!del!desarrollo!de!gran!parte!de! la! programación,! permitiendo! centrar! sus! esfuerzos! en!el! dominio! de! negocio!de!la!aplicación.!! • Robustez.! El! uso! extendido! de! las! APIs! permite! que! estas! estén! en! bastante!contacto! con!toda! clase! de!situaciones,! por!lo! que! el!producto! puede! considerarse! bastante! depurado,! por! lo! que! se! garantiza!una! respuesta!adecuada!en!la!mayoría!de!las!ocasiones.! • Mantenimiento!e!Innovación.!En!general!las!grandes!compañías!no!dejan! que! sus! productos! se! deterioren,! por! lo! que! es! bastante! común! el! mantenimiento!y!la!mejora!de!los!servicios!accedidos!a!través!de!su!API,! que!además!en!muchos!casos!es!totalmente!transparente!al!programador! que!las!usa.! !! ! ! Estado!del!Arte! 22! Por!el!contrario,!también!tienen!sus!desventajas:! • Condiciones!cambiantes.!Al!ligar!un!software!a!una!tercera!empresa!por! un!contrato!tan!débil!como!es!la!licencia!de!uso!de!una!API,!normalmente! se! está! expuesto!a! la! voluntad! de! la! otra! parte,! lo! que! puede! suponer! recortes!en!las!prestaciones,!obsolescencia!de!métodos!implementados!o! pérdida!de!la!gratuidad!del!servicio.! • Disponibilidad.! El! depender! de! un! software! de! un! tercero! también! está! condicionado!a!su!disponibilidad.!Las!caídas!de!servicios!externos,!pueden! dejar!nuestros!servicios!inutilizados.!! • Privacidad.!Las!leyes!son!muy!distintas!para!cada!país,!por!lo!que!al!usar! una!API!de!un!servicio!externo!se!obliga!al!software!a!cumplir!tanto!las! leyes!que!rigen!en!el!país!que!proporciona!el!servicio!como!las!leyes!del! país!origen!del!software.!! Tomando! como! ejemplo! la! plataforma! Google! Maps,! esta! ofrece! algunas! limitaciones!que!hacen!cuestionar!su!utilización.! • Para!utilizar!esta!API,!se!ha!de!obtener!una!“Google!Maps!Key”.!Esta!clave! está!limitada!para!una!única!URL!lo!que!obliga!a!tener!un!sitio!Web!para!el! desarrollo!de!las!aplicaciones.! • La! “Google! Maps! Key”! es! solamente! válida! para! un! directorio! del! sitio! Web.! • Su! uso! está! condicionado! a! unas! condiciones! y! términos! que! son! incompatibles!con!ciertas!aplicaciones.!Por!ejemplo:! o La!aplicación!debe!ser!gratuita!para!todo!aquel!que!la!use.! o Debe!tener!un!acceso!libre,!no!puede!ejecutarse!en!una!red!interna! o!en!una!comunidad!cerrada!al!acceso!público.! • También!está!condicionado!a!un!número!de!accesos!diarios,!en!este!caso,! 2500!solicitudes!diarias.! A! continuación! se! analiza! un! visor! offline! centrado! en! la! representación! de! simulaciones.! ! !* Universidad!de!Las!Palmas!de!Gran!Canaria! 23! 2.2. Visor*orientado*al*Análisis*de*Riesgo* En!esta!sección!se!analizará!un!caso!de!herramienta!útil!en!el!Análisis!de!Riesgo.!! 2.2.1. Phast* En!la!actualidad!en!el!análisis!de!riesgos!existe!una!aplicación!de!éxito!bastante! avanzada.!Se! trata! de!Phast! de! la!compañía!DNV! (Det! Norske! Veritas).!Es!una! aplicación! de! escritorio!de! pago!para! el! análisis! de! riesgos!industriales! que! abarca!todas!las!fases!del!proceso!de!la!gestión!de!un!posible!riesgo;!desde!el! diseño!del!accidente!concreto!hasta!el!análisis!de!los!resultados!obtenidos!con!la! simulación!realizada.!Permite!analizar!el!estado!actual!de!una!zona!industrial,!y! sobre!el!plano!evaluar!posibles!zonas!de!riesgos!de!los!accidentes!simulados.! El!funcionamiento!básico!de!Phast!consiste!en:! 1. Establecer!un! estado! inicial,! configurando! valores! de! condiciones! climáticas,!tales!como!velocidad!y!dirección!del!viento,!o!la!temperatura! ambiental.! 2. Añadir!los!posibles!accidentes!existentes!en!las!instalaciones.!Se!pueden! añadir,!uno! o!varios! accidentes,! cada!uno! con! un! modelo!matemático!y! unas! propiedades! que! establecen! el! comportamiento! del! mismo.! Estos! accidentes!están!basados!en!procesos!químicos.!! 3. Realizar! la! simulación! de! los! modelos! matemáticos! establecidos,! obteniéndose!tablas!y!gráficas!correspondientes!a!los!datos!obtenidos!con! las! simulaciones! de! cada! accidente.! En! este! proceso,! se! calcula! la! concentración!de!la!sustancia,!la!radiación,!la!toxicidad,!la!sobrepresión!de! explosión,!etc.! 4. Para!cada!accidente,!la!aplicación!muestra!los!resultados!de!la!simulación,! desde!que!ocurre!y!se!libera,!hasta!que!se!forma!una!nube!tóxica!y!ésta!se! dispersa.!Se!generan!tablas!con!los!resultados!y!se!representan!en!el!visor,! una!o!varias!áreas!de!la!repercusión!del!accidente,!estableciendo!las!zonas! de! riesgo.! Cada! área! establece! una! zona! correspondiente! a! un! tipo! de! peligrosidad,!dada!por!el!modelo!matemático!utilizado.! A!continuación!se!describe!su!entorno!gráfico.! Estado!del!Arte! 24! ! Ilustración'7:'Entorno'Phast' La!ventana!principal!del!Phast,!se!encuentra!dividida!en!varias!secciones.!Tiene! una!barra!superior!de!opciones!donde!se!encuentran!las!opciones!de!guardar,! imprimir,!seleccionar,!realizar!zoom,!y!simular.!Una!barra!lateral!izquierda!donde! se!establecen!las!propiedades!de!las!condiciones!y!accidentes!establecidos!sobre! el!escenario.!La!barra!inferior!donde!se!muestra!los!resultados!de!los!comandos! ejecutados! y! por! último! el! panel! central,! donde! se! encuentra! el! mapa! con! su! leyenda!asociada!y!un!panel!para!establecer!la!dirección!del!viento.! El#visor#utilizado#en#esta#herramienta,#es#en#sí,#muy#básico,#una#imagen#utilizada# de!fondo!sobre!la!que!es!posible!realizar!ampliaciones!o!reducciones!de!la!vista,!y! mostrar!encima!de!ésta,!las!distintas!capas!de!información!gráfica.! Tras!realizar!una!simulación,!el!visor!representa!las!zonas!de!riesgo!producidas! por!el!accidente.!La!ilustración!8!muestra!un!ejemplo!de!las!mismas.!! Universidad!de!Las!Palmas!de!Gran!Canaria! 25! ! Ilustración'8:'Visor'Phast' El!visor!dispone!a!su!izquierda!un!panel!con!la!leyenda!de!los!colores!y!valores! asociados! a! las! distintas! zonas.! Éstas! las! representa! con! distintos! tipos! de! circunferencias.! Algunas! están! centradas! en! el! accidente,! mientras! que! otras! están!desplazadas,!esto!depende!del!tipo!de!resultado!obtenido,!las!desplazadas! son!emisiones!de!gases(nubes)!producidas!por!el!accidente.! El!ejemplo!escenifica!el!desplazamiento!de!las!nubes!mediante!la!representación! de!una!recta.!Ésta!indica!la!dirección!y!la!distancia!que!ha!tomado!la!nube!desde! el!punto!original(el!accidente),!hasta!el!instante!actual!de!representación.! A!continuación!se!realiza!un!resumen!de!las!características!propias!de!este!tipo! de!visor!orientado!a!las!simulaciones.! 2.2.2. Resumen*del*análisis* El!principal!uso!del!visor!descrito!es!el!de!la!representación!del!resultado!de!una! simulación!de!un!modelo!matemático.!Como!tal,!se!van!a!listar!las!características! más!importantes!del!mismo.! • Se!representa!una!imagen!cargada!por!el!usuario,!normalmente!un!plano! de!su!establecimiento!industrial.! • Se! establecen! los! posibles! accidentes! que! pueden! causar! algún! tipo! de! riesgos.!! Planificación!y!Temporización! 32! • Estudio! de! las! herramientas! seleccionadas!para! la! elaboración! del! proyecto.! Actividad!2.2!Diseño!del!componente! • Diseño!del!módulo!gestor!del!plano.! • Diseño!del!módulo!controlador!del!tiempo.! • Diseño!del!módulo!controlador!de!la!escala.! • Diseño!del!módulo!gestor!de!entidades.! • Diseño!de!subcomponentes!visuales.! • Generación!de!documentación.! Actividad!2.3!Diseño!del!encapsulado! • Diseño!de!las!propiedades!públicas.! • Diseño!de!los!eventos!suministrados.! • Elección!de!los!paquetes!suministrados.! • Elección!de!eventos!suministrados.! • Elección!de!la!funcionalidad!dada!y!los!parámetros!establecidos.! • Elección!de!la!nomenclatura!de!las!interfaces!de!entrada/salida.! Actividad!2.4!Diseño!de!la!aplicación!de!Test! • Selección!de!la!funcionalidad!ofrecida.! • Generación!de!bocetos.! Fase!3:!Construcción! Actividad!3.1!Implementación!del!componente! • Implementación!del!módulo!gestor!del!plano.! • Implementación!del!módulo!controlador!del!tiempo.! • Implementación!del!módulo!controlador!de!la!escala.! • Implementación!del!módulo!gestor!de!entidades.! • Implementación!de!subcomponentes!visuales.! Actividad!3.2!Implementación!de!interfaz!de!la!aplicación!de!Test! Universidad!de!Las!Palmas!de!Gran!Canaria! 33! • Implementación!de!la!aplicación.! Fase!4:!Transición! Actividad!4.1!Test!y!prueba!del!componente!en!otro!entorno! • Entrega!e!integración!del!prototipo.! • Corrección!de!errores.! Actividad!4.2!Validación!de!usuario!final! • Evaluación!de!sugerencias.! Actividad!4.3!Documentación! • Confección!de!manuales!de!integración!del!componente.! • Confección!de!la!API!para!desarrollador.! 5.2. Temporización* El! tiempo! utilizado! para! el! desarrollo! se! basa! en! el! número! de! iteraciones! realizadas,!y!estas!a!su!vez!en!el!número!de!objetos!elaborados.!! Para!el!desarrollo!de!este!proyecto!se!han!realizado!once!iteraciones.!En!ellas,!la! mayor!carga!de!trabajo!ha!sido!realizada!en!la!fase!de!construcción,!donde!se!han! desarrollado!el!mayor!número!de!objetos.! A!continuación!se!describen!los!objetos!desarrollados!en!cada!fase.! Fase' Iteración' Objeto' Inicio' 1! Requisitos!de!Usuario!y!de!Software.! Elaboración' 2! Diseño!del!Componente!y!del!Encapsulado.! Elaboración' 3! Diseño!del!Componente!y!del!Encapsulado.! Construcción' 4! Prototipo!1.! Construcción' 5! Prototipo!2.! Construcción' 6! Prototipo!3.! Construcción' 7! Prototipo!4.! Construcción' 8! Prototipo!5.! Transición' 9! Documentación,!API!y!publicación!web.! Transición' 10! Documentación,!API!y!publicación!web.! Transición' 11! Documentación,!API!y!publicación!web.! Tabla'1:'Relación'de'objetos'desarrollados'en'cada'fase' ! ! Planificación!y!Temporización! 34! En! la! fase! de! construcción! se! han! desarrollado! los! principales! prototipos! del! componente.!Estos!han!cubierto!los!siguientes!hitos.! • Prototipo'1.h!Carga!y!visualización!del!plano.! • Prototipo'2.h!Movimiento!y!escala!del!plano.! • Prototipo'3.h!Representación!de!entidades.! • Prototipo'4.h!Creación!del!sistema!de!tiempo.! • Prototipo'5.h!Corrección!de!errores!y!homogeneización!de!la!API.! Para!concluir!se!muestra!la!relación!de!horas!utilizadas!en!cada!fase!por!iteración! recorrida.! ' Inicio' Elaboración' Construcción' Transición' Disciplinas' ! ! ! ! ! ! ! ! ! ! ! Actividad'1.1' 20! ! ! ! ! ! ! ! ! ! ! Actividad'1.2' 40! 10! ! ! ! ! ! ! ! ! ! Actividad'1.3' 40! 20! 10! ! ! ! ! ! ! ! ! Actividad'2.1' ! 50! 30! ! ! ! ! ! ! ! ! Actividad'2.2' ! 20! 30! 20! 10! 10! ! 10! ! ! ! Actividad'2.3' ! ! 20! ! 10! ! ! ! ! ! ! Actividad'2.4' ! ! 10! 10! 10! 10! 10! 10! ! ! ! Actividad'3.1' ! ! ! 50! 40! 40! 50! 30! 20! 10! ! Actividad'3.2' ! ! ! 10! 20! 30! 30! 20! 10! ! 10! Actividad'4.1' ! ! ! 10! 10! 10! 10! 30! 20! 20! 20! Actividad'4.2' ! ! ! ! ! ! ! ! 30! 20! 20! Actividad'4.3' ! ! ! ! ! ! ! ! 20! 50! 50! ' ! ! ! ! ! ! ! ! ! ! ! Iteración' 1! 2! 3! 4! 5! 6! 7! 8! 9! 10! 11! Horas' 100! 200! 500! 300! ' ! ! Horas'totales' 1100! Tabla'2:'Temporización'establecida' ! ! ! ! ! 35! ! Capítulo*6.8 Recursos*necesarios* En!esta!sección!se!detallan!las!herramientas!hardware!y!software!utilizadas!para! el!desarrollo!del!proyecto.! 6.1. Hardware* Para!el!desarrollo!de!este!proyecto!se!han!utilizado!las!siguientes!herramientas! hardware:! • MacBook!Air!2012.! • Pendrive!Verbatim!8!GB.! • Disco!duro!externo!Toshiba!500!GB.! Destacar! además,! que! se! ha! contado! con! un! puesto! de! trabajo! en! la! División! CEANI!del!Instituto!Universitario!SIANI!donde!se!ha!dispuesto!a!uso!del!alumno! de:! • PC!Dual!Core.! • Impresora!Láser.! 6.2. Software* Para!detallar!los!elementos!software!utilizados!se! realiza!una!clasificación!por! categorías!de!los!mismos.! 6.2.1. Sistemas*Operativos* • Windows!7.! • Mountain!Lion!OS!X!10.8.4.! 6.2.2. Editores*de*texto* • Writer!de!OpenOffice!3.0.! • Word!de!Microsoft!Office!2011.! 6.2.3. Editores*de*presentaciones* • PowerPoint!de!Microsoft!Office!2011.! 6.2.4. Entornos*de*desarrollo* • Flex!Builder!3.0!(Licencia!Educativa!proporcionada!por!Adobe).! • Flash!Builder!4.6!(Licencia!Educativa!proporcionada!por!Adobe).! Recursos!necesarios! 36! 6.2.5. Herramienta*de*sincronización*entre*dispositivos* • Dropbox!2.0.22.! 6.2.6. Sistema*de*versiones* • Git.! • Entorno!gráfico!SmartGit!3.! • Entorno!gráfico!SourceTree!1.5.6!.! 6.2.7. Herramientas*Organizativas* • Evernote!5.2.1.! • Things!2.2.1.! 6.2.8. Herramientas*de*Diagramación* • ArgoUML!0.34.! • OmniGraffle!Professional!5.4.! • CACOO!(Herramienta!online!www.cacoo.com).! • LucidChart!(Herramienta!online!www.lucidchart.com).! 6.2.9. Navegadores*Web* • Google!Chrome!28.0.1500.95.! • Safari!6.0.5.! • Microsoft!Internet!Explorer!10.! ! ! ! 37! ! Capítulo*7.8 Requerimientos* El!Proceso!Unificado!de!Desarrollo!establece!que!la!captura!de!requerimientos!se! realice!siguiendo!unas!pautas,!estas!son:! • Enumerar!los!requisitos!candidatos.! • Comprender!el!contexto!del!sistema.! • Capturar!los!requisitos!funcionales.! • Capturar!los!requisitos!no!funcionales.! En!cada!pauta!se!generan!diferentes!formas!de!documentación.!En!unos!casos!se! generan!modelos,!como!el!modelo!de!dominio!o!el!modelo!de!casos!de!usos,!y!en! otros,!tablas!descriptivas.!!Al!seguir!estas!pautas!se!obtiene!una!comprensión!del! problema!de!forma!continuada!y!progresiva.! Se!sigue,!en!todos!ellos,!la!regla!número!uno!de!la!obtención!de!requerimientos,! se!generan!los!documentos!utilizando!un!lenguaje!comprensible!para!el!cliente.! Es!la!primera!aproximación!al!problema!sin!entrar!en!aspectos!técnicos.! En!los!apartados!siguientes!se!detallan!los!documentos!finales!obtenidos!por!la!! captación! de! requerimientos,! estos! son,! el! listado! de! objetivos,! los! requisitos! funcionales!compuesto!por!los!requisitos!de!usuario!y!los!requisitos!de!software,! los!requisitos!!no!funcionales,!y!el!modelo!de!dominio!del!problema.!! Antes! de! entrar! en! detalle! en! estos! documentos! se! describen! las! plantillas! utilizadas!como!formato!en!las!tablas!de!descripción!de!requisitos.!! 7.1. Plantillas* Para! realizar! la! enumeración! y! descripción! de! requisitos,! se! ha!utilizado! una! modificación!de!las!“plantillas!de!Durán!y!Bernárdez”!dadas!por!!Amador!Durán!y! Beatriz! Bernárdez,! de! la! Universidad! de! Sevilla,! que! describen! en! su! “Metodología!para!la!Elicitación!de!Requisitos!de!Sistemas!Software”!(Durán,(A.(&( Bernárdez,)B.),)2002).! La! metodología! descrita! por! Amador! Durán! y! Beatriz! Bernárdez! realiza! una! distinción! entre! los! objetivos! principales,! los! requerimientos! iniciales,! de! los! requisitos! funcionales! y! los! no! funcionales! del! problema.! A! continuación! se! muestran!las!plantillas!utilizadas!en!cada!caso.!! !! Requerimientos! 38! Plantilla*para*la*descripción*de*objetivos* OBJ6<id>' <Nombre(descriptivo>' Descripción! <El!sistema!deberá!<objetivo'a'cumplir'por'el'sistema>>! Estabilidad! <Estabilidad'del'objetivo>! Comentarios! <Comentarios'adicionales'sobre'el'objetivo>! Tabla'3:'Plantilla'de'objetivos' Plantilla*para*la*descripción*de*requisitos*no*funcionales* RNFh<id>' <Nombre(descriptivo>' Versión' <Nº'de'la'versión'actual>! Autores' <Autor'de'la'versión'actual>! Fuentes' <Fuente'de'la'versión'actual>! Objetivos!asociados' OBJ\x'<nombre'del'objetivo>! Requisitos!asociados' Rx\y'<nombre'del'requisito>! Descripción' El'sistema'deberá'comportarse'tal'como'se'describe'en' los'siguientes'casos'de'uso.! Importancia' <Importancia'del'objetivo>! Urgencia' <Urgencia'del'objetivo>! Estado' <Estado'del'objetivo>! Estabilidad' <Estabilidad'del'objetivo>! Comentarios' <comentarios'adicionales'sobre'el'objetivo>! Tabla'4:'Plantilla'de'requisitos'no'funcionales' Plantilla*para*la*descripción*de*casos*de*uso* R<U|S>hCUh<id>' <Nombre(descriptivo>' Versión' <Nº'de'la'versión'actual>! Autores' <Autor'de'la'versión'actual>! Objetivos!asociados' OBJ\x'<nombre'del'objetivo>! Actor!Principal' <Actores>! Personal!involucrado!e! intereses' <Actores!involucrados!junto!a!sus!intereses>! Precondiciones' <Precondición'del'caso'de'uso>! Garantías!de!éxito! (Postcondiciones)' <Postcondición'del'caso'de'uso>! Escenario!principal!de! éxito!(o!Flujo!Básico)' <Secuencia'de'pasos'del'flujo'principal>! Extensiones!(o!Flujos! alternativos)' <Secuencia'de'pasos'del'flujo'secundario>! Tabla'5:'Plantilla'de'casos'de'uso' !* Universidad!de!Las!Palmas!de!Gran!Canaria! 39! 7.1.1. Descripción*de*los*apartados* El!significado!de!los!campos!que!componen!las!distintas!tablas!es!el!siguiente:! • Identificador' y' nombre' descriptivo.h! Cada! objetivo! o! requisito! debe! identificarse!por!un!código!único!y!un!nombre!descriptivo.! • Versión.h!Para!poder!gestionar!distintas!versiones,!este!campo!contiene!el! número!o!la!fecha!de!la!versión!actual!del!objetivo.! • Autores,'Fuentes.h!Estos!campos!contienen!el!nombre!y!la!organización! de!los!autores!y!de!las!fuentes,!de!la!versión!actual!del!objetivo,!de!forma! que!se!pueda!llegar!hasta!las!personas!que!propusieron!la!necesidad!del! requisito.! • Descripción.h! Este! campo! se! debe! completar! con! la! descripción! del! objetivo.! • Importancia.h!Indica!la!importancia!del!cumplimiento!del!objetivo!para! los! clientes! y! usuarios.! Se! puede! asignar! un! valor! numérico! o! alguna! expresión!enumerada!como!vital,!importante!o!quedaría!bien.!En!el!caso! de!que!no!se!haya!establecido!aún!la!importancia,!se!puede!indicar!que! está!por!determinar!(PD).! • Urgencia.h! Indica! la! urgencia! del! cumplimiento! del! objetivo! para! los! clientes! y! usuarios! en! el! supuesto! caso! de! un! desarrollo! incremental.! Como! en! el! caso! anterior,! se! puede! asignar! un! valor! numérico! o! una! expresión! enumerada! como! inmediatamente,! hay! presión! o! puede! esperar.! • Estado.h! Indica! el! estado! del! objetivo! desde! el! punto! de! vista! de! su! desarrollo.!El!objetivo!puede!estar!en!construcción!si!se!está!elaborando,! pendiente!de!negociación!si!tiene!algún!conflicto!asociado!pendiente!de! solución,!pendiente!de!validación!si!no!tiene!ningún!conflicto!pendiente!y! está!a!la!espera!de!validación!o,!por!último,!puede!estar!validado!si!ha!sido! validado!por!clientes!y!usuarios.! • Estabilidad.h!Detalla!la!estabilidad!del!objetivo,!es!decir!una!estimación! de! la! probabilidad! de! que! pueda! sufrir! cambios! en! el! futuro.! Esta! estabilidad!puede!indicarse!mediante!un!valor!numérico!o!mediante!una! expresión!enumerada!como!alta,!media!o!baja!o!PD!en!el!caso!de!que!aún! no!se!haya!determinado.! • Comentarios:!Cualquier!otra!información!sobre!el!objetivo!que!no!encaje! en!los!campos!anteriores!puede!recogerse!en!este!apartado.! • Precondición:!Se!expresan!en!lenguaje!natural!las!condiciones!necesarias! para!que!se!pueda!realizar!el!caso!de!uso.! Requerimientos! 40! • Secuencia' normal:! Contiene! la! secuencia! normal! de! interacciones! del! caso! de! uso.! En! cada! paso,! un! actor! o! el! sistema! realiza! una! o! más! acciones,!o!se!realiza!(se!incluye)!otro!caso!de!uso.! • Postcondición:!Expresa!en!lenguaje!natural!las!condiciones!que!se!deben! cumplir!después!de!la!terminación!normal!del!caso!de!uso.! • Extensiones:!Especifica!el!comportamiento!del!sistema!en!el!caso!de!que! se! produzca! alguna! situación! excepcional! durante! la! realización! de! un! paso!determinado.! 7.2. Descripción*del*problema* El!Análisis!de!Riesgo!se!concibe!como!una!herramienta!de!ayuda!al!control!del! riesgo.!Permite!la!identificación!de!acciones!encaminadas!a!la!prevención!de!la! ocurrencia!de!accidentes,!así!como!la!planificación!de!las!actuaciones!en!caso!de! que!se!produzcan,!con!el!fin!de!minimizar!las!consecuencias!de!la!ocurrencia!del! citado!accidente.! Las!principales!actividades!que!se!realizan!son!las!siguientes:! • La!identificación!de!peligros!de!accidentes.! • El! cálculo! de! consecuencias! o! de! las! zonas! de! riesgo! según! los! valores! umbrales.! • Cálculo!de!vulnerabilidad.! • Relación!de!accidentes!graves!identificados.! • Medidas!de!prevención,!control!y!mitigación.! La!persona!encargada!de!realizar!estas!actividades,!es!el!Analista!de!Riesgos.!! !* Universidad!de!Las!Palmas!de!Gran!Canaria! 41! 7.2.1. Analista*de*Riesgos* Elabora!el! Análisis!de!Riesgo! en!base!a! simulaciones! de!modelos! matemáticos! para!determinar!las!consecuencias!producidas!por!la!ocurrencia!de!un!accidente.! Entrando! en! detalle,! en! primer! lugar,! el! Analista! visita! el! establecimiento! industrial! con! el! fin! de! identificar! los! elementos! susceptibles! de! producir! un! accidente,!y!en!el!otro!lado,!los!elementos!a!proteger,!los!recursos.! Tras! la! localización! e! identificación! de! los! elementos,! el! Analista! realiza! simulaciones!para!determinar!las!consecuencias!producidas!por!la!ocurrencia!de! un!accidente.!Este!procedimiento!consiste!en!la!ejecución!del!modelo!matemático! correspondiente!al!accidente!posicionado!sobre!el!plano!que!se!simula.!El!valor! resultante! representa! el! área! afectada! por! la! consecuencia! de! producirse! el! accidente.! Un! modelo! matemático! describe! teóricamente! un! objeto! de! la! realidad,! en! nuestro! caso,! el! análisis! de! riesgos,! representa! una! explosión! o! una! fuga! de! alguna!sustancia,!o!cualquier!otra!causa!que!pueda!provocar!la!ocurrencia!de!un! accidente.! Cada! modelo! depende!de! un! tipo! de! parámetros! o! de! otros;! por! ejemplo,! en! el! caso! de! una! explosión! depende! del! tipo! de! sustancia! que! explosione!y!de!la!presión!a!la!que!esté!sometida,!por!decir!algunos.!! Tras!la!realización!de!la!simulación,!representa!el!resultado!para!determinar!que! elementos!han!sido!afectados.!Así!como!determina!el!grado!de!daño!producido! en!ellos.!Generalmente!esta!representación!es!realizada!como!una!zona!circular,! denominada!zona!de!riesgo.! Comúnmente! para! cada! accidente,! el! Analista! de! Riesgos! realiza! varias! simulaciones!para!obtener!varias!zonas!de!riesgo.!Cada!zona!está!relacionada!con! un! efecto! determinado,! por! ejemplo,! distintos! niveles! de! presión! que! generan! consecuencias! diversas! en! el! ser! humano,! heridas! de! diferentes! grados,! aturdimiento,!sordera,!etc.! Las!zonas!de!riesgo!permiten!al!Analista!definir!medidas!de!prevención,!control!y! mitigación!de!la!ocurrencia!de!un!accidente.!Determinar!actuaciones!especificas;! por! ejemplo,! cambiar! de! ubicación! los! elementos! identificados,! además! de! concretar!el!equipo!necesario!para!estar!dentro!de!una!zona!concreta.!! Para!finalizar,!genera!un!informe!donde!detalla!los!elementos!de!la!simulación,! indicando!las!distintas!zonas!de!riesgo!de!los!accidentes,!como!los!elementos!que! entran!en!cada!una!de!ellas!y!las!medidas!de!prevención,!control!y!mitigación.! !* Requerimientos! 48! Caso*de*uso*04.8*Rotar*plano* RU6CU604' Rotar'plano' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh01.h!Cargar!planos! Actor'Principal:' Analista!de!Riesgos.! Personal'involucrado' e'intereses:' • Analista!de!Riesgos:!Rota!el!plano!hasta!localizar!y!adecuar!su! área!de!interés!a!sus!necesidades.! Precondiciones:' El!Analista!necesita!tener!el!plano!adecuado!donde!se!encuentra!el! área!determinada!del!plano.! Garantías'de'éxito' (Postcondiciones):' Ubica!el!plano!de!forma!adecuada!a!sus!intereses.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Analista!gira!el!plano.! Extensiones'(o'Flujos' Alternativos):' ! Tabla'14:'RU\CU\04.\'Rotar'plano' Caso*de*uso*05.8*Coger*plano* RU6CU605' Coger'plano' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh01.h!Cargar!planos! Actor'Principal:' Analista!de!Riesgos.! Personal'involucrado' e'intereses:' • Analista!de!Riesgos:!Coge!de!su!conjuntos!de!planos!el! adecuado!para!el!análisis!actual.! Precondiciones:' El!Analista!necesita!un!plano!para!realizar!un!análisis!de!riesgos.! Garantías'de'éxito' (Postcondiciones):' Coge!un!plano!de!una!zona! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Analista!coge!un!plano!de!su!archivo!de!planos.! Extensiones'(o'Flujos' Alternativos):' ! Tabla'15:'RU\CU\05.\'Coger'plano' Universidad!de!Las!Palmas!de!Gran!Canaria! 49! Casos%de%uso%de%Requisitos%de%Usuario.0%Posicionamiento%y%eliminación% de%elementos% ! Ilustración'11:'Casos'de'uso'“Posicionamiento'y'eliminación'de'elementos”' Caso*de*uso*06.8*Posicionar*elemento* RU6CU606' Posicionar'elemento' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos! Actor'Principal:' Analista!de!Riesgos.! Personal'involucrado' e'intereses:' • Analista!de!Riesgos:!Representa!distintos!elementos!sobre!el! plano.! Precondiciones:' El!Analista!ya!ha!cogido!un!plano!y!se!ha!ubicado!en!su!zona!de! interés.! Garantías'de'éxito' (Postcondiciones):' Posiciona!sobre!el!plano!distintos!elementos.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. Determina!la!posición!de!distintos!elementos!existentes!o! nuevos!elementos!sobre!el!plano.! 2. Representa!con!distintas!formas!y!colores!los!distintos! elementos.! Extensiones'(o'Flujos' Alternativos):' 1. La!determinación!de!ciertos!elementos!puede!estar! condicionado!a!otros!elementos!ya!situados.!O!a!otras! condiciones.!P.ej.!La!representación!de!las!simulaciones,!está! condicionada!a!la!posición!de!los!accidentes.! Tabla'16:'RU\CU\06.\'Posicionar'elemento' !! Posicionar elemento Eliminar elemento Posicionar recurso Posicionar accidente Posicionar etiqueta <extiende> <extiende> <extiende> Analista de Riesgos Requerimientos! 50! Caso*de*uso*07.8*Eliminar*elemento* RU6CU607' Eliminar'elemento' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos! Actor'Principal:' Analista!de!Riesgos.! Personal'involucrado' e'intereses:' • Analista!de!Riesgos:!Determina!que!ciertos!elementos!no! necesitan!estar!representados!en!el!plano.! Precondiciones:' El!Analista!ya!ha!cogido!un!plano,!ha!ubicado!su!zona!de!interés!y!hay! elementos!representados!que!pueden!ser!eliminados.! Garantías'de'éxito' (Postcondiciones):' Un!elemento!representado!es!eliminado,!deja!de!ser!representado!del! plano.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Analista!localiza!el!elemento!representado!que!quiere! borrar.! 2. Borra!su!representación.! Extensiones'(o'Flujos' Alternativos):' 1. Elimina!un!elemento!que!está!vinculado!a!otros.! 2. Es!necesario!eliminar!esos!elementos!vinculados.! Tabla'17:'RU\CU\07.\'Eliminar'elemento' Caso*de*uso*08.8*Posicionar*recurso* RU6CU608' Posicionar'recurso' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos! Actor'Principal:' Analista!de!Riesgos.! Personal'involucrado' e'intereses:' • Analista!de!Riesgos:!Posiciona!un!tipo!de!elementos,!los! recursos.! Precondiciones:' El!Analista!ya!ha!cogido!un!plano,!ha!ubicado!su!zona!de!interés!y!va!a! posicionar!elementos!susceptibles!de!ser!afectados!por!la!simulación! de!un!accidente.! Garantías'de'éxito' (Postcondiciones):' Se!representa!sobre!el!plano!un!recurso,!elementos!que!pueden!ser! afectados!por!la!simulación!de!un!accidente.!Por!ejemplo!un!extintor,! un!acceso,!etc.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Analista!localiza!la!posición!donde!estará!ubicado!el! recurso.! 2. Escoge!una!representación!gráfica!,!una!forma,!unos!colores.! 3. Dibuja!el!recurso.! Extensiones'(o'Flujos' Alternativos):' ! Tabla'18:'RU\CU\08.\'Posicionar'recurso' !! Universidad!de!Las!Palmas!de!Gran!Canaria! 51! Caso*de*uso*09.8*Posicionar*accidente* RU6CU609' Posicionar'accidente' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos! Actor'Principal:' Analista!de!Riesgos.! Personal'involucrado' e'intereses:' • Analista!de!Riesgos:!Posiciona!un!tipo!de!elementos,!los! accidentes.! Precondiciones:' El!Analista!ya!ha!cogido!un!plano,!ha!ubicado!su!zona!de!interés!y!va!a! posicionar!elementos!que!pueden!provocar!accidentes.!Estos! elementos!tienen!asociados!algoritmos!para!realizar!simulaciones.!! Garantías'de'éxito' (Postcondiciones):' Se!representa!sobre!el!plano!un!accidente.!Estos!elementos!tienen! asociados!algoritmos!para!realizar!determinar!su!comportamiento.! Por!ejemplo,!contenedores!de!explosivos,!gases,!etc.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Analista!localiza!la!posición!donde!estará!ubicado!el! accidente.! 2. Escoge!una!representación!gráfica!,!una!forma,!unos!colores.! 3. Dibuja!el!accidente! Extensiones'(o'Flujos' Alternativos):' 1. Tras!realizar!la!simulación!del!riego,!el!Analista!representa!el! resultado!de!la!misma.!Con!una!posición!relativa!a!la!posición! inicial!del!accidente.! Tabla'19:'RU\CU\09.\'Posicionar'accidente' Caso*de*uso*10.8*Posicionar*etiqueta* RU6CU610' Posicionar'etiqueta' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos! Actor'Principal:' Analista!de!Riesgos.! Personal'involucrado' e'intereses:' • Analista!de!Riesgos:!Posiciona!un!tipo!de!elementos,!las! etiquetas.! Precondiciones:' El!Analista!ya!ha!cogido!un!plano,!ha!ubicado!su!zona!de!interés!y!va!a! etiquetar!elementos!del!plano.!! Garantías'de'éxito' (Postcondiciones):' Se!representa!sobre!el!plano!una!etiqueta.!El!Analista!escribe!sobre!el! plano!el!nombre!de!una!localización,!elementos!móviles,!etc.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Analista!localiza!la!posición!donde!estará!ubicado!la! etiqueta.! 2. Determina!que!va!a!etiquetar! 3. Escoge!una!representación!gráfica!,!unos!colores.! 4. Escribe!la!etiqueta.! Extensiones'(o'Flujos' Alternativos):' ! Tabla'20:'RU\CU\10.\'Posicionar'etiqueta' Requerimientos! 52! Casos%de%uso%de%Requisitos%de%Usuario.0%Posicionamiento%de%recursos%% ! Ilustración'12:'Casos'de'uso'“Posicionamiento'de'recursos”' Caso*de*uso*11.8*Escoger*recurso* RU6CU611' Escoger'recurso' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos! Actor'Principal:' Analista!de!Riesgos.! Personal'involucrado' e'intereses:' • Analista!de!Riesgos:!Escoge!un!recurso!del!conjunto!de! recursos!que!el!Analista!necesita!representar.! Precondiciones:' El!Analista!ya!ha!cogido!un!plano,!ha!ubicado!su!zona!de!interés!y!va!a! seleccionar!un!recurso!a!posicionar.! Garantías'de'éxito' (Postcondiciones):' Selecciona!el!recurso!que!va!a!posicionar.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Analista!elige!de!su!conjunto!de!recursos!a!posicionar!,!el! recurso!que!quiere!elegir.! 2. Escoge!su!representación!gráfica.! 3. Elige!un!nombre.! Extensiones'(o'Flujos' Alternativos):' ! Tabla'21:'RU\CU\11.\'Escoger'recurso' Caso*de*uso*12.8*Poner*nombre* RU6CU612' Poner'nombre' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos! Actor'Principal:' Analista!de!Riesgos.! Personal'involucrado' e'intereses:' • Analista!de!Riesgos:!Etiqueta!un!recurso!o!un!accidente!con! un!nombre!identificativo.! Precondiciones:' El!Analista!ha!seleccionado!un!recurso!para!posicionarlo!en!el!plano!y! necesita!identificarlo.! Garantías'de'éxito' (Postcondiciones):' El!elemento!tiene!un!nombre!para!poder!ser!identificado.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Analista!etiqueta!el!elemento!con!un!nombre!identificativo.! Extensiones'(o'Flujos' Alternativos):' ! Tabla'22:'RU\CU\12.\'Poner'nombre' Poner nombre Posicionar recurso Analista de Riesgos Escoger recurso Seleccionar ubicación <usa> <usa> <usa> Universidad!de!Las!Palmas!de!Gran!Canaria! 53! Caso*de*uso*13.8*Seleccionar*ubicación* RU6CU613' Seleccionar'ubicación' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos! Actor'Principal:' Analista!de!Riesgos.! Personal'involucrado' e'intereses:' • Analista!de!Riesgos:!Selecciona!un!ubicación!para!!un! elemento!que!no!tenga!ubicación!todavía,!o!al!que!quiera! cambiarle!la!misma.! Precondiciones:' El!Analista!ha!seleccionado!un!recurso!y!lo!tiene!etiquetado!con!su! nombre.! Garantías'de'éxito' (Postcondiciones):' El!elemento!está!correctamente!posicionado!sobre!el!plano.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Analista!elige!la!ubicación!correspondiente!para!el! elemento.! Extensiones'(o'Flujos' Alternativos):' En!caso!de!que!tenga!ya!una!ubicación:! 1. Si!es!un!accidente!y!está!simulado,!se!desplaza!también!la! representación!de!su!simulación.! 2. Sino!se!le!cambia!la!ubicación!a!una!posición!correcta.! Tabla'23:'RU\CU\13.\'Seleccionar'ubicación' Casos%de%uso%de%Requisitos%de%Usuario.0%Posicionamiento%de%accidentes% ! Ilustración'13:'Casos'de'uso'“Posicionamiento'de'accidentes”' !! Poner nombre Posicionar accidente Analista de Riesgos Escoger accidente Seleccionar ubicación <usa> <usa> <usa> Seleccionar modelo matemático <usa> Requerimientos! 54! Caso*de*uso*14.8*Escoger*accidente* RU6CU614' Escoger'accidente' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos! Actor'Principal:' Analista!de!Riesgos.! Personal'involucrado' e'intereses:' • Analista!de!Riesgos:!Escoge!un!tipo!de!accidente!del!conjunto! de!accidentes!que!el!Analista!necesita!simular!y!representar.! Precondiciones:' El!Analista!ya!ha!cogido!un!plano,!ha!ubicado!su!zona!de!interés!y!va!a! seleccionar!un!accidente!a!posicionar.! Garantías'de'éxito' (Postcondiciones):' Selecciona!el!tipo!de!accidente!que!va!a!posicionar.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Analista!elige!de!su!conjunto!de!accidentes!a!posicionar!,!el! accidente!que!quiere!elegir,!así!como!su!modelo!matemático.! 2. Selecciona!sus!propiedades.!Estas!dependen!del!modelo! matemático!elegido.! 3. Escoge!su!representación!gráfica.! 4. Elige!un!nombre!identificativo.! Extensiones'(o'Flujos' Alternativos):' ! Tabla'24:'RU\CU\14.\'Escoger'accidente' Caso*de*uso*15.8*Seleccionar*modelo*matemático* RU6CU615' Seleccionar'modelo'matemático' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos! Actor'Principal:' Analista!de!Riesgos.! Personal'involucrado' e'intereses:' • Analista!de!Riesgos:!Escoge!el!modelo!matemático!aplicable! al!tipo!de!accidente!que!quiere!representar.! Precondiciones:' El!Analista!ya!ha!cogido!un!plano,!ha!ubicado!su!zona!de!interés!y!ha! elegido!un!tipo!de!accidente!a!representar,!va!a!escoger!un!modelo! matemático!para!ese!accidente.! Garantías'de'éxito' (Postcondiciones):' El!accidente!a!posicionar!tiene!su!modelo!matemático!seleccionado.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. Elige!de!sus!modelos!matemáticos!el!correspondiente!al! accidente!que!quiere!representar.! 2. Anota!el!modelo!matemático!asociado!al!accidente.! Extensiones'(o'Flujos' Alternativos):' ! Tabla'25:'RU\CU\15.\'Seleccionar'modelo'matemático' Universidad!de!Las!Palmas!de!Gran!Canaria! 55! Casos%de%uso%de%Requisitos%de%Usuario.0%Posicionamiento%de%etiquetas% ! Ilustración'14:'Casos'de'uso'“Posicionamiento'de'etiquetas”' Caso*de*uso*16.8*Escoger*etiqueta* RU6CU616' Escoger'etiqueta' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos! Actor'Principal:' Analista!de!Riesgos.! Personal'involucrado' e'intereses:' • Analista!de!Riesgos:!Escoge!un!tipo!de!etiqueta!para!etiquetar! sobre!el!plano!una!zona!o!un!elemento!dibujable.! Precondiciones:' El!Analista!ya!ha!cogido!un!plano,!ha!ubicado!su!zona!de!interés!y!va!a! escoger!un!tipo!de!etiqueta!para!escribirla!sobre!el!plano.! Garantías'de'éxito' (Postcondiciones):' Selecciona!el!tipo!de!etiqueta!que!va!a!posicionar.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Analista!escoge!un!tipo!de!etiqueta! 2. Escoge!el!texto!a!dibujar.! Extensiones'(o'Flujos' Alternativos):' ! Tabla'26:'RU\CU\16.\'Escoger'etiqueta' Caso*de*uso*17.8*Seleccionar*texto* RU6CU617' Seleccionar'texto' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos! Actor'Principal:' Analista!de!Riesgos.! Personal'involucrado' e'intereses:' • Analista!de!Riesgos:!Escoge!un!tipo!de!etiqueta!para!etiquetar! sobre!el!plano!una!zona!o!un!elemento!dibujable.! Precondiciones:' El!Analista!ya!ha!cogido!un!plano,!ha!ubicado!su!zona!de!interés!y!va!a! escoger!un!tipo!de!etiqueta!para!escribirla!sobre!el!plano.! Garantías'de'éxito' (Postcondiciones):' Escoge!el!texto!que!va!a!utilizar!la!etiqueta.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Analista!escoge!un!tipo!de!etiqueta! 2. Escoge!el!texto!a!dibujar.! Extensiones'(o'Flujos' Alternativos):' ! Tabla'27:'RU\CU\17.\'Seleccionar'texto' Seleccionar texto Posicionar etiqueta Analista de Riesgos Escoger etiqueta Seleccionar ubicación <usa> <usa> <usa> Requerimientos! 56! Casos%de%uso%de%Requisitos%de%Usuario.0%Análisis%de%simulación% ! Ilustración'15:'Casos'de'uso'“Análisis'de'simulación”' Caso*de*uso*18.8*Analizar*simulación* RU6CU618' Analizar'simulación' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh03.h!Representar!simulaciones.! Actor'Principal:' Analista!de!Riesgos.! Personal'involucrado' e'intereses:' • Analista!de!Riesgos:!Realiza!sus!estudios!analizando!los! resultados!de!las!simulaciones!de!los!accidentes.!Se! determinan!que!elementos!son!afectados!por!la!simulación! para!así,!tomar!decisiones!a!favor!de!la!seguridad.! Precondiciones:' El!Analista!ya!ha!cogido!un!plano,!se!ha!ubicado!en!su!zona!de!interés! y!al!menos!tiene!un!accidente!configurado!con!un!modelo! matemático.! ! Garantías'de'éxito' (Postcondiciones):' Se!obtiene!el!análisis!de!una!situación!planteada!por!la!simulación!de! un!accidente!con!su!modelo!matemático.!Y!se!determinan!que! elementos!son!afectados!por!el!accidente.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Analista!simula!el!modelo!matemático!con!los!datos!del! problema.! 2. Representa!sobre!el!plano!el!resultado!de!la!simulación.! Habitualmente!una!zona!de!riesgo.! 3. Determina!los!elementos!afectados.! 4. Genera!un!informe.! Extensiones'(o'Flujos' Alternativos):' ! Tabla'28:'RU\CU\18.\'Analizar'simulación' !! Analizar simulación Analista de Riesgos <usa> <usa> Simular modelo Posicionar resultado Determinar elementos afectados Calcular nivel vulnerabilidad Hacer cálculos matemáticos <usa> <usa> <usa> Universidad!de!Las!Palmas!de!Gran!Canaria! 57! Caso*de*uso*19.8*Simular*modelo* RU6CU619' Simular'modelo' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh03.h!Representar!simulaciones.! Actor'Principal:' Analista!de!Riesgos.! Personal'involucrado' e'intereses:' • Analista!de!Riesgos:!Simula!el!modelo!matemático!para! obtener!un!resultado,!generalmente!este!resultado!será!un! área.!Este!resultado!es!representado!sobre!el!plano.! Precondiciones:' El!Analista!tiene!accidentes!con!modelos!matemáticos!asociados! situados!sobre!el!plano.! Garantías'de'éxito' (Postcondiciones):' Obtiene!un!resultado!producido!por!la!simulación!de!un!modelo! matemático!ajustado!a!las!propiedades!del!accidente.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. Realiza!cálculos!correspondientes!al!modelo!matemático!y!a! los!datos!correspondientes!al!accidente.! 2. Obtiene!el!resultado!de!la!simulación.! Extensiones'(o'Flujos' Alternativos):' ! Tabla'29:'RU\CU\19.\'Simular'modelo' Caso*de*uso*20.8*Hacer*cálculos** RU6CU620' Hacer'cálculos'matemáticos' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh03.h!Representar!simulaciones.! Actor'Principal:' Analista!de!Riesgos.! Personal'involucrado' e'intereses:' • Analista!de!Riesgos:!Para!simular!el!modelo!matemático,!el! Analista!necesita!realizar!cálculos!matemáticos!con!los!datos! particulares!de!un!accidente.! Precondiciones:' El!Analista!tiene!accidentes!con!modelos!matemáticos!asociados! situados!sobre!el!plano.!Ha!procedido!a!realizar!la!simulación.! Garantías'de'éxito' (Postcondiciones):' Obtiene!un!resultado!producido!por!la!simulación!de!un!modelo! matemático!ajustado!a!las!propiedades!del!accidente.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. Realiza!cálculos!matemáticos.! Extensiones'(o'Flujos' Alternativos):' ! Tabla'30:'RU\CU\20.\'Hacer'cálculos' !! Requerimientos! 64! Casos%de%uso%de%Requisitos%del%Software.0%Integración% ! Ilustración'17:'Casos'de'uso'“Integración”' Caso*de*uso*01.8*Configurar*estética* RS6CU601' Configurar'estética' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' ! Actor'Principal:' Diseñador! Personal'involucrado' e'intereses:' • Diseñador:!Integra!el!componente!visor!y!le!da!una! apariencia!estética!semejante!al!resto!de!componentes!que! contiene.! Precondiciones:' El!Diseñador!ya!ha!declarado!e!instanciado!el!componente.!! Garantías'de'éxito' (Postcondiciones):' El!componente!visor!muestra!la!apariencia!que!el!Diseñador!ha! establecido.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Diseñador!configura!el!borde!exterior!del!componente.! 2. El!Diseñador!configura!la!apariencia!interior!del!contenido! que!se!muestra!en!el!visor.! Extensiones'(o'Flujos' Alternativos):' 1. La!configuración!puede!ser!realizada!en!cualquier!momento.! Tabla'40:'RS\CU\01.\'Configurar'estética' !! Diseñador Configurar estética Configurar herramienta visual Ocultar/ Mostrar herramienta Establecer posición Configurar borde Configurar tamaño Configurar fondo <extiende> <extiende> <extiende> <extiende> Universidad!de!Las!Palmas!de!Gran!Canaria! 65! Caso*de*uso*02.8*Configurar*borde* RS6CU602' Configurar'borde' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' ! Actor'Principal:' Diseñador! Personal'involucrado' e'intereses:' • Diseñador:!Integra!el!componente!visor!y!le!da!una! apariencia!estética!semejante!al!resto!de!componentes!que! contiene.!En!este!caso!de!uso!ajusta!la!apariencia!del!borde.!! Precondiciones:' El!Diseñador!ya!ha!declarado!e!instanciado!el!componente.!! Garantías'de'éxito' (Postcondiciones):' El!componente!visor!muestra!la!apariencia!del!borde!que!el! Diseñador!ha!configurado.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Diseñador!define!el!tamaño!del!borde.! 2. El!Diseñador!define!el!color!del!borde.! Extensiones'(o'Flujos' Alternativos):' 1. La!configuración!puede!ser!realizada!en!cualquier!momento.! Tabla'41:'RS\CU\02.\'Configurar'borde' Caso*de*uso*03.8*Configurar*fondo* RS6CU603' Configurar'fondo' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' ! Actor'Principal:' Diseñador! Personal'involucrado' e'intereses:' • Diseñador:!Integra!el!componente!visor!y!le!da!una! apariencia!estética!semejante!al!resto!de!componentes!que! contiene.!En!este!caso!de!uso!ajusta!la!apariencia!del!fondo! del!visor.! Precondiciones:' El!Diseñador!ya!ha!declarado!e!instanciado!el!componente.!! Garantías'de'éxito' (Postcondiciones):' El!componente!visor!muestra!la!apariencia!del!fondo!que!el!Diseñador! le!ha!configurado.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Diseñador!configura!el!color!de!fondo!del!visor.! 2. El!Diseñador!define!un!texto!y!ajusta!sus!propiedades!(texto,! color,!tamaño).! Extensiones'(o'Flujos' Alternativos):' 1. La!configuración!puede!ser!realizada!en!cualquier!momento.! Tabla'42:'RS\CU\03.\'Configurar'fondo' !! Requerimientos! 66! Caso*de*uso*04.8*Configurar*tamaño* RS6CU604' Configurar'tamaño' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' ! Actor'Principal:' Diseñador! Personal'involucrado' e'intereses:' • Diseñador:!Integra!el!componente!visor,!para!ello!le!da!un! tamaño!al!visor,!lo!suficientemente!grande!como!para!incluir! las!herramientas!visuales!que!necesita.! Precondiciones:' El!sistema!ya!cuenta!con!la!declaración!e!instanciación!del! componente.!! Garantías'de'éxito' (Postcondiciones):' El!componente!visor!tiene!el!tamaño!adecuado.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Diseñador!ajusta!el!ancho!y!alto!del!componente.! Extensiones'(o'Flujos' Alternativos):' 1. La!configuración!del!tamaño!puede!ser!realizada!en!cualquier! momento.! Tabla'43:'RS\CU\04.\'Configurar'tamaño' Caso*de*uso*05.8*Configurar*herramienta*visual* RS6CU605' Configurar'herramienta'visual' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' ! Actor'Principal:' Diseñador! Personal'involucrado' e'intereses:' • Diseñador:!Integra!el!componente!visor.!Establece!las! herramientas!visuales!que!quiere!proporcionar!al!usuario.! Precondiciones:' El!sistema!ya!cuenta!con!la!declaración!e!instanciación!del! componente.!! Garantías'de'éxito' (Postcondiciones):' El!componente!visor!dispone!de!las!herramientas!visuales!que!el! Diseñador!quiere!suministrar,!estableciendo!además!su!ubicación.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Diseñador!establece!que!herramientas!necesita!el!Usuario.! 2. Ajusta!su!posición.! Extensiones'(o'Flujos' Alternativos):' 1. La!configuración!puede!ser!realizada!en!cualquier!momento,! no!solo!el!inicial.! Posible!conjunto!de!herramientas!(Visor!de!capas,!de!tiempo,!de! escala,!de!coordenadas,!etc.)! Tabla'44:'RS\CU\05.\'Configurar'herramienta'visual' !! Universidad!de!Las!Palmas!de!Gran!Canaria! 67! Caso*de*uso*06.8*Ocultar/Mostrar*herramienta* RS6CU606' Ocultar/Mostrar'herramienta' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' ! Actor'Principal:' Diseñador! Personal'involucrado' e'intereses:' • Diseñador:!Integra!el!componente!visor.!Está!configurando! las!herramientas!que!quiere!proporcionar!al!usuario.! Precondiciones:' El!sistema!ya!cuenta!con!la!declaración!e!instanciación!del! componente.!! Garantías'de'éxito' (Postcondiciones):' El!componente!visor!dispone!de!las!herramientas!visuales!que!el! Diseñador!quiere!suministrar,!ocultando!aquellas!que!no!son! necesarias!en!su!entorno.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Diseñador!oculta!o!muestra!la!herramienta!escogida.! Extensiones'(o'Flujos' Alternativos):' 1. Se!puede!ocultar/mostrar!las!herramientas!en!cualquier! momento.! Tabla'45:'RS\CU\06.\'Ocultar/Mostrar'herramienta' Caso*de*uso*07.8*Establecer*posición* RS6CU607' Establecer'posición' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' ! Actor'Principal:' Diseñador! Personal'involucrado' e'intereses:' • Diseñador:!Integra!el!componente!visor.!Está!configurando! donde!quiere!situar!las!herramientas!que!quiere! proporcionar!al!usuario.! Precondiciones:' El!sistema!ya!cuenta!con!la!declaración!e!instanciación!del! componente.!! Garantías'de'éxito' (Postcondiciones):' El!componente!visor!dispone!de!las!herramientas!visuales!en!la! posición!que!el!Diseñador!requiere.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Diseñador!adecúa!la!posición!de!las!herramientas!a!su! especificación.! Extensiones'(o'Flujos' Alternativos):' 1. El!Diseñador!puede!cambiar!la!posición!de!las!herramientas! en!cualquier!momento.! Tabla'46:'RS\CU\07.\'Establecer'posición' ! Requerimientos! 68! Casos%de%uso%de%Requisitos%del%Software.0%Carga%del%plano% ! Ilustración'18:'Casos'de'uso'“Carga'del'plano”' Caso*de*uso*08.8*Cargar*plano* RS6CU608' Cargar'plano' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh01.h!Cargar!planos! Actor'Principal:' Diseñador! Personal'involucrado' e'intereses:' • Diseñador:!Tras!integrar!y!configurar!el!visor,!quiere!cargar! un!plano,!una!imagen!representativa.! Precondiciones:' El!visor!ya!está!integrado!y!configurado,!y!no!hay!ningún!plano! cargado!previamente.!! Garantías'de'éxito' (Postcondiciones):' El!componente!visor!muestra!el!plano!que!el!Diseñador!quiere!cargar.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Diseñador!selecciona!el!origen!del!plano,!seleccionando! una!url!o!la!propia!imagen.(! 2. Para!cargar!el!plano,!el!Diseñador!indica!en!que!coordenadas! se!encuentra!el!mismo.! Extensiones'(o'Flujos' Alternativos):' 1. Puede!cargar!imágenes!con!formatos!usuales,!jpg!y!png.! Tabla'47:'RS\CU\08.\'Cargar'plano' !* Cargar plano Seleccionar plano Escoger coordenadas <usa> <usa> Diseñador Universidad!de!Las!Palmas!de!Gran!Canaria! 69! Caso*de*uso*09.8*Seleccionar*plano* RS6CU609' Seleccionar'plano' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh01.h!Cargar!planos! Actor'Principal:' Diseñador! Personal'involucrado' e'intereses:' • Diseñador:!Tras!integrar!y!configurar!el!visor,!quiere!cargar! un!plano.! Precondiciones:' El!visor!ya!está!integrado!y!configurado,!y!no!hay!ningún!plano! cargado!previamente.!! Garantías'de'éxito' (Postcondiciones):' El!componente!visor!muestra!el!plano!que!el!Diseñador!quiere!cargar.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Diseñador!debe!seleccionar!que!imagen!cargar,!bien! seleccionando!su!url!o!bien!la!propia!imagen.! Extensiones'(o'Flujos' Alternativos):' ! Tabla'48:'RS\CU\09.\'Seleccionar'plano' Caso*de*uso*10.8*Escoger*coordenadas* RS6CU610' Escoger'coordenadas' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh01.h!Cargar!planos! Actor'Principal:' Diseñador! Personal'involucrado' e'intereses:' • Diseñador:!Tras!integrar!y!configurar!el!visor,!quiere!cargar! un!plano.!Debe!introducir!las!coordenadas!asociadas!al! mismo.!Las!utilizará!como!sistema!de!coordenadas!para!la! representación!de!entidades.! Precondiciones:' El!visor!ya!está!integrado!y!configurado,!y!no!hay!ningún!plano! cargado!previamente.!Las!coordenadas!deben!ser!positivas.! Garantías'de'éxito' (Postcondiciones):' El!componente!visor!muestra!el!plano!que!el!Diseñador!quiere!cargar.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Diseñador!introduce!al!visor!el!conjunto!de!coordenadas! mínimas!y!máximas!donde!está!posicionado!el!mapa.! Extensiones'(o'Flujos' Alternativos):' ! Tabla'49:'RS\CU\10.\'Escoger'coordenadas' Requerimientos! 70! Casos%de%uso%de%Requisitos%del%Software.0%Configuración%de%los%sistemas% ! Ilustración'19:'Casos'de'uso'“Configuración'de'los'sistemas”' Caso*de*uso*11.8*Configurar*el*tiempo** RS6CU611' Configurar'el'tiempo' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh03.h!Representar!simulaciones.! Actor'Principal:' Diseñador! Personal'involucrado' e'intereses:' • Diseñador:!Tras!cargar!un!plano,!el!Diseñador!configura!el! sistema!de!tiempo.!!Se!gestiona!el!tiempo!de!forma!que!existe! un!tiempo!inicial!y!un!final,!así!como!un!instante!actual.! Precondiciones:' Se!ha!cargado!un!plano!en!el!visor,!el!Diseñador!quiere!configurar!el! mismo!con!los!valores!de!tiempo!adecuados!para!su!simulación.!Los! valores!de!tiempo!deben!ser!positivos! Garantías'de'éxito' (Postcondiciones):' El!componente!visor!establece!unos!tiempos!iniciales!y!finales!para!la! representación!de!entidades.!Finalmente!configura!el!tiempo!actual! de!representación!del!componente.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Diseñador!introduce!el!valor!de!tiempo!inicial.! 2. Introduce!el!valor!de!tiempo!final.! 3. Introduce!el!valor!de!tiempo!actual.! Extensiones'(o'Flujos' Alternativos):' 1. El!Diseñador!puede!cambiar!estos!valores!en!cualquier! momento,!adecuándolos!a!cualquier!cambio!posible!en!su! Diseñador Configurar el tiempo Configurar la escala Establecer tiempo final Establecer tiempo inicial Establecer tiempo actual Establecer número de niveles Establecer nivel actual <extiende> <extiende> <extiende> <extiende> <extiende> Universidad!de!Las!Palmas!de!Gran!Canaria! 71! simulación.! Tabla'50:'RS\CU\11.\'Configurar'el'tiempo' Caso*de*uso*12.8*Establecer*tiempo*inicial** RS6CU612' Establecer'tiempo'inicial' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh03.h!Representar!simulaciones.! Actor'Principal:' Diseñador! Personal'involucrado' e'intereses:' • Diseñador:!Una!vez!se!ha!cargado!un!plano,!el!Diseñador! configura!el!sistema!de!tiempo.!!El!Diseñador!cambia!el! instante!de!tiempo!inicial!para!ampliar!o!reducir!su! simulación.! Precondiciones:' Se!ha!cargado!un!plano!en!el!visor,!el!Diseñador!quiere!configurar!la! escena!con!los!valores!de!tiempo!adecuados!para!su!simulación.!El! valor!de!tiempo!inicial!debe!ser!positivo!y!menor!o!igual!que!el! instante!de!tiempo!final.! Garantías'de'éxito' (Postcondiciones):' El!componente!visor!establece!un!tiempo!inicial!válido.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Diseñador!introduce!el!valor!de!tiempo!inicial.! Extensiones'(o'Flujos' Alternativos):' 1. El!Diseñador!puede!cambiar!este!valor!en!cualquier! momento,!adecuándolo!a!cualquier!cambio!posible!en!su! simulación.! 2. En!caso!de!que!el!tiempo!actual!sea!menor!que!el!inicial,!se! corrige!el!actual!y!se!establece!igual!al!tiempo!inicial.! Tabla'51:'RS\CU\12.\'Establecer'el'tiempo'inicial' Caso*de*uso*13.8*Establecer*tiempo*actual* RS6CU613' Establecer'tiempo'actual' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh03.h!Representar!simulaciones.! Actor'Principal:' Diseñador! Personal'involucrado' e'intereses:' • Diseñador:!Tras!la!carga!de!un!plano,!el!Diseñador!configura! el!sistema!de!tiempo.!Cambia!el!instante!de!tiempo!actual.! Precondiciones:' Se!ha!cargado!un!plano!en!el!visor,!el!Diseñador!quiere!configurar!la! escena!con!los!valores!de!tiempo!adecuados!para!su!simulación.!El! valor!de!tiempo!actual!debe!ser!positivo!y!mayor!o!igual!que!el! instante!de!tiempo!inicial.!Y!menor!o!igual!que!el!instante!de!tiempo! final.! Garantías'de'éxito' (Postcondiciones):' El!componente!visor!establece!un!tiempo!actual!válido!! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Diseñador!introduce!el!valor!de!tiempo!actual.! Extensiones'(o'Flujos' Alternativos):' 1. El!Diseñador!puede!cambiar!este!valor!en!cualquier! momento,!adecuándolo!a!cualquier!cambio!posible!en!su! simulación.! Tabla'52:'RS\CU\13.\'Establecer'tiempo'actual' Requerimientos! 72! Caso*de*uso*14.8*Establecer*tiempo*final* RS6CU614' Establecer'tiempo'final' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh03.h!Representar!simulaciones.! Actor'Principal:' Diseñador! Personal'involucrado' e'intereses:' • Diseñador:!Tras!la!carga!de!un!plano,!el!Diseñador!configura! el!sistema!de!tiempo.!!El!Diseñador!cambia!el!instante!de! tiempo!final!para!ampliar!o!reducir!su!simulación.! Precondiciones:' Se!ha!cargado!un!plano!en!el!visor,!el!Diseñador!quiere!configurar!el! mismo!con!los!valores!de!tiempo!adecuados!para!su!simulación.!El! valor!de!tiempo!final!debe!ser!positivo!y!mayor!o!igual!que!el!instante! de!tiempo!inicial.! Garantías'de'éxito' (Postcondiciones):' El!componente!visor!establece!un!tiempo!final!válido.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Diseñador!introduce!el!valor!de!tiempo!final.! Extensiones'(o'Flujos' Alternativos):' 1. El!Diseñador!puede!cambiar!este!valor!en!cualquier! momento,!adecuándolo!a!cualquier!cambio!posible!en!su! simulación.! 2. En!caso!de!que!el!tiempo!actual!sea!mayor!que!el!final,!se! corrige!el!actual!y!se!establece!igual!al!tiempo!final.! Tabla'53:'RS\CU\14.\'Establecer'tiempo'final' Caso*de*uso*15.8*Configurar*la*escala** RS6CU615' Configurar'la'escala' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' ! Actor'Principal:' Diseñador! Personal'involucrado' e'intereses:' • Diseñador:!Tras!la!carga!de!un!plano,!el!Diseñador!configura! el!sistema!de!escala.!Se!especifica!el!número!de!niveles!de! escala!necesarios!en!el!visor.! Precondiciones:' Se!ha!cargado!un!plano!en!el!visor,!el!Diseñador!quiere!configurar!la! vista!del!mismo.!! Garantías'de'éxito' (Postcondiciones):' El!componente!visor!muestra!el!plano!como!desea.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Diseñador!introduce!el!número!de!niveles!de!visión!del! plano.! 2. Especifica!el!nivel!actual!de!zoom.! Extensiones'(o'Flujos' Alternativos):' 1. El!Diseñador!puede!cambiar!este!valor!en!cualquier! momento.! Tabla'54:'RS\CU\15.\'Configurar'la'escala' !! Universidad!de!Las!Palmas!de!Gran!Canaria! 73! Caso*de*uso*16.8*Establecer*el*número*de*niveles** RS6CU616' Establecer'el'número'de'niveles' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' ! Actor'Principal:' Diseñador! Personal'involucrado' e'intereses:' • Diseñador:!Tras!la!carga!de!un!plano,!el!Diseñador!configura! el!sistema!de!escala.!Especifica!el!número!de!niveles!de!escala! necesarios!en!el!visor.! Precondiciones:' Se!ha!cargado!un!plano!en!el!visor,!el!Diseñador!quiere!configurar!la! vista!del!mismo.!! Garantías'de'éxito' (Postcondiciones):' El!componente!visor!dispone!del!número!de!niveles!de!escala! establecido!por!el!visor.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Diseñador!introduce!el!número!de!niveles!de!visión!del! plano.! Extensiones'(o'Flujos' Alternativos):' 1. El!Diseñador!puede!cambiar!este!valor!en!cualquier! momento.! Tabla'55:'RS\CU\16.\'Establecer'el'número'de'niveles' Caso*de*uso*17.8*Establecer*nivel*actual** RS6CU617' Establecer'el'nivel'actual' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' ! Actor'Principal:' Diseñador! Personal'involucrado' e'intereses:' • Diseñador:!Tras!la!carga!de!un!plano,!el!Diseñador!configura! el!sistema!de!escala.!Especifica!el!nivel!actual!de!zoom!del! plano.! Precondiciones:' Se!ha!cargado!un!plano!en!el!visor,!el!Diseñador!quiere!configurar!la! vista!del!mismo.!! Garantías'de'éxito' (Postcondiciones):' El!componente!visor!muestra!el!plano!como!desea.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. Especifica!el!nivel!actual!de!zoom.! Extensiones'(o'Flujos' Alternativos):' 1. El!Diseñador!puede!cambiar!este!valor!en!cualquier! momento.! Tabla'56:'RS\CU\17.\'Establecer'nivel'actual' Requerimientos! 80! Casos%de%uso%de%Requisitos%del%Software.0%Manejo%de%las%capas% ! Ilustración'23:'Casos'de'uso'“Manejo'de'las'capas”' !! Usuario Eliminar capa Crear capa Seleccionar capa <usa> <usa> Ajustar visibilidad Poner nombre Ordenar capa <extiende> <usa> Diseñador Universidad!de!Las!Palmas!de!Gran!Canaria! 81! Caso*de*uso*28.8*Crear*capa* RS6CU628' Crear'capa' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos.!! Objh03.h!Representar!simulaciones.! Actor'Principal:' Usuario,!Diseñador! Personal'involucrado' e'intereses:' • Usuario:!Crea!una!capa!para!organizar!lógicamente!las! entidades!que!necesita!representar.! • Diseñador:!Categoriza!sus!distintos!tipos!de!entidades!en! capas.!De!forma!que!en!un!capa!representa!entidades!y!en! otras!simulaciones.! Precondiciones:' Debe!existir!un!plano!representado.! Garantías'de'éxito' (Postcondiciones):' Existe!una!capa!lógica!disponible!para!la!representación!de!entidades.! Escenario'principal'de' éxito'(o'Flujo'Básico):' Usuario! 1. El!Usuario!crea!a!través!de!una!herramienta!visual!una!capa.! 2. Le!especifica!a!la!capa!un!nombre.! Diseñador! 1. El!Diseñador!crea!una!capa!especificándole!un!nombre,!y!una! visibilidad.! Extensiones'(o'Flujos' Alternativos):' ! Tabla'67:'RS\CU\28.\'Crear'capa' Caso*de*uso*29.8*Poner*nombre* RS6CU629' Poner'nombre' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos.!! Objh03.h!Representar!simulaciones.! Actor'Principal:' Usuario,!Diseñador! Personal'involucrado' e'intereses:' • Usuario:!A!nivel!visual!el!Usuario!requiere!tener!las!capas! identificadas!por!un!nombre.! • Diseñador:!Da!un!nombre!ilustrativo!a!la!capa!para!facilitar!la! comprensión!del!Usuario!al!manejar!las!capas.! Precondiciones:' Debe!existir!un!plano!representado.! Garantías'de'éxito' (Postcondiciones):' La!capa!tiene!el!nuevo!nombre.! Escenario'principal'de' éxito'(o'Flujo'Básico):' Usuario! 1. El!Usuario!selecciona!a!través!de!la!herramienta!visual!de! capas!la!capa!a!cambiar!el!nombre.! 2. Le!especifica!a!la!capa!un!nombre.! Diseñador! 1. El!Diseñador!indica!al!componente!la!capa!a!la!que!debe! cambiar!el!nombre.! Extensiones'(o'Flujos' Alternativos):' ! Tabla'68:'RS\CU\29.\'Poner'nombre' Requerimientos! 82! Caso*de*uso*30.8*Eliminar*capa* RS6CU630' Eliminar'capa' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos.!! Objh03.h!Representar!simulaciones.! Actor'Principal:' Usuario,!Diseñador! Personal'involucrado' e'intereses:' • Usuario:!Elimina!una!capa!y!las!entidades!representadas!en!la! mismo.! • Diseñador:!Elimina!una!capa!y!las!entidades!representadas! en!la!misma.! Precondiciones:' Debe!existir!la!capa!con!las!entidades!representadas.! Garantías'de'éxito' (Postcondiciones):' Las!entidades!pertenecientes!a!la!capa!son!eliminadas!de!la! representación.! Escenario'principal'de' éxito'(o'Flujo'Básico):' Usuario! 1. El!Usuario!selecciona!a!través!de!la!herramienta!visual!de! capas!la!capa!a!eliminar.! 2. Elimina!la!capa.! Diseñador! 1. El!Diseñador!indica!al!componente!que!debe!borrar!la!capa! indicada!con!un!identificador.! Extensiones'(o'Flujos' Alternativos):' ! Tabla'69:'RS\CU\30.\'Eliminar'capa' Caso*de*uso*31.8*Seleccionar*capa* RS6CU631' Seleccionar'capa' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos.!! Objh03.h!Representar!simulaciones.! Actor'Principal:' Usuario,!Diseñador! Personal'involucrado' e'intereses:' • Usuario:!Selecciona!una!capa!para!su!reordenamiento,!su! cambio!de!visibilidad!o!su!eliminación.! • Diseñador:!Selecciona!una!capa!para!realizar!una!operación! sobre!ella,!reordenarla,!ajustar!su!visibilidad,!o!eliminarla.! Precondiciones:' Debe!existir!al!menos!una!capa.! Garantías'de'éxito' (Postcondiciones):' La!capa!es!seleccionada.! Escenario'principal'de' éxito'(o'Flujo'Básico):' Usuario! 1. El!Usuario!selecciona!a!través!de!la!herramienta!visual!de! capas!la!capa.! Diseñador! 1. El!Diseñador!indica!al!componente!que!capa!hay!que! seleccionar.!Si!no!existe!no!se!selecciona.! Extensiones'(o'Flujos' Alternativos):' ! Tabla'70:'RS\CU\31.\'Seleccionar'capa' Universidad!de!Las!Palmas!de!Gran!Canaria! 83! Caso*de*uso*32.8*Ordenar*capa* RS6CU632' Ordenar'capa' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos.!! Objh03.h!Representar!simulaciones.! Actor'Principal:' Usuario,!Diseñador! Personal'involucrado' e'intereses:' • Usuario:!Ordena!una!capa.!Permite!poner!entidades!encima!o! debajo!de!otras!dependiendo!de!la!posición!de!la!capa!que!lo! contiene.! • Diseñador:!Ordena!una!capa!para!mostrar!entidades!encima! de!otras.! Precondiciones:' Debe!existir!al!menos!dos!capas.! Garantías'de'éxito' (Postcondiciones):' La!representación!visual!mostrada!en!el!visor!obtiene!una!vista!de!las! capas!con!la!nueva!posición.! Escenario'principal'de' éxito'(o'Flujo'Básico):' Usuario! 1. El!Usuario!selecciona!a!través!de!la!herramienta!visual!de! capas!la!capa!a!ordenar.! 2. Arrastra!la!capa!a!su!nueva!posición.! Diseñador! 1. El!Diseñador!indica!al!componente!que!debe!cambiar!de! posición!la!capa!indicada!por!un!identificador.!! Extensiones'(o'Flujos' Alternativos):' ! Tabla'71:'RS\CU\32.\'Ordenar'capa' Caso*de*uso*33.8*Ajustar*visibilidad* RS6CU633' Ajustar'visibilidad'' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos.!! Objh03.h!Representar!simulaciones.! Actor'Principal:' Usuario,!Diseñador! Personal'involucrado' e'intereses:' • Usuario:!Muestra!u!oculta!capas! • Diseñador:!Muestra!u!oculta!capas!para!mostrar!lo!que!desee.! Precondiciones:' Debe!existir!la!capa.! Garantías'de'éxito' (Postcondiciones):' En!la!vista!aparecen!las!capas!que!son!visibles.! Escenario'principal'de' éxito'(o'Flujo'Básico):' Usuario! 1. El!Usuario!selecciona!a!través!de!la!herramienta!visual!de! capas!la!que!quiere!ver!u!ocultar.! 2. Toca!una!opción!para!mostrar!u!ocultar!la!capa.! Diseñador! 1. El!Diseñador!indica!al!componente!que!debe!mostrar!u! ocultar!la!capa!indicada!por!un!identificador.! Extensiones'(o'Flujos' Alternativos):' ! Tabla'72:'RS\CU\33.\'Ajustar'visibilidad' Requerimientos! 84! Casos%de%uso%de%Requisitos%del%Software.0%Representación%de%entidades%% ! Ilustración'24:'Casos'de'uso'“Representación'de'entidades”' Caso*de*uso*34.8*Representar*entidad* RS6CU634' Representar'entidad'' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos.!! Objh03.h!Representar!simulaciones.! Actor'Principal:' Usuario,!Diseñador! Personal'involucrado' e'intereses:' • Usuario:!Registra!una!entidad!en!el!visor.! • Diseñador:!Registra!una!entidad!en!el!visor,!puede!ser!el! resultado!de!una!simulación.! Precondiciones:' Debe!estar!seleccionada!una!capa.! Garantías'de'éxito' (Postcondiciones):' Se!registra!la!entidad!y!se!muestra!su!representación!en!el!visor.! Escenario'principal'de' éxito'(o'Flujo'Básico):' Usuario! 1. El!Usuario!selecciona!una!entidad!a!posicionar,!esta!se!refleja! en!una!forma!básica!o!en!una!imagen.! 2. Indica!la!coordenada!donde!se!posiciona!la!nueva!entidad.! 3. El!componente!visor!registra!y!muestra!la!entidad!en!el! instante!de!tiempo!actual!y!en!la!capa!seleccionada.! 4. Puede!especificar!una!etiqueta!a!la!entidad.! Diseñador! 1. El!Diseñador!registra!en!el!componente!las!entidades! especificando!la!capa,!las!coordenadas,!el!tipo!de!forma!a! utilizar!y!el!instante!de!tiempo!!en!el!que!se!encuentra.! 2. Puede!especificar!una!etiqueta!a!la!entidad.! Extensiones'(o'Flujos' Alternativos):' ! Tabla'73:'RS\CU\34.\'Representar'entidad' !! Diseñador Especificar coordenadas Especificar forma Especificar tiempo Especificar capa <usa> <usa> <usa> <usa> <usa> <usa> Seleccionar apariencia <extiende> Representar entidad Añadir comportamiento futuro Asociar etiqueta <extiende> Usuario Universidad!de!Las!Palmas!de!Gran!Canaria! 85! Caso*de*uso*35.8*Especificar*coordenadas* RS6CU635' Especificar'coordenadas'' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos.!! Objh03.h!Representar!simulaciones.! Actor'Principal:' Usuario,!Diseñador! Personal'involucrado' e'intereses:' • Usuario:!Se!seleccionan!unas!coordenadas!pertenecientes!al! plano!cargado.! • Diseñador:!Especifica!unas!coordenadas!guardadas!o! calculadas!con!algún!proceso!pertenecientes!al!plano! cargado.! Precondiciones:' Las!coordenadas!deben!estar!en!el!rango!de!coordenadas!en!las!que! se!encuentra!el!plano.! Garantías'de'éxito' (Postcondiciones):' Se!obtienen!unas!coordenadas!válidas!para!la!representación!de!una! entidad.! Escenario'principal'de' éxito'(o'Flujo'Básico):' Usuario! 1. Indica!la!coordenada!donde!se!posiciona!la!nueva!entidad.! Diseñador! 1. Especifica!la!coordenada!donde!se!ubica!la!entidad.!! Extensiones'(o'Flujos' Alternativos):' ! Tabla'74:'RS\CU\35.\'Especificar'coordenadas' Caso*de*uso*36.8*Especificar*forma** RS6CU636' Especificar'forma' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos.!! Objh03.h!Representar!simulaciones.! Actor'Principal:' Usuario,!Diseñador! Personal'involucrado' e'intereses:' • Usuario:!Utiliza!la!forma!asociada!a!la!entidad!que! representa.! • Diseñador:!Representa!sus!entidades!y!resultados!con!una! forma!determinada.!Esta!forma!puede!configurar!su! apariencia!con!una!configuración!dada!por!el!Diseñador.! Precondiciones:' Se!deben!utilizar!formas!suministradas!por!el!componente!visor.! Garantías'de'éxito' (Postcondiciones):' La!representación!de!la!entidad!utiliza!la!forma!escogida.! Escenario'principal'de' éxito'(o'Flujo'Básico):' Usuario! 1. Escoge!un!tipo!de!entidad!a!representar.! 2. Se!representa!la!entidad!con!la!forma!asociada.! Diseñador! 1. Especifica!la!forma!a!utilizar!en!la!representación!de!la! entidad!o!en!el!resultado!de!una!simulación.! 2. La!forma!se!configura!con!una!serie!de!características! básicas,!colores!de!relleno,!de!borde,!tamaños!de!borde,!etc.!! Extensiones'(o'Flujos' Alternativos):' ! Tabla'75:'RS\CU\36.\'Especificar'forma' Requerimientos! 86! Caso*de*uso*37.8*Seleccionar*apariencia** RS6CU637' Seleccionar'apariencia' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos.!! Objh03.h!Representar!simulaciones.! Actor'Principal:' Usuario,!Diseñador! Personal'involucrado' e'intereses:' • Usuario:!Utiliza!la!apariencia!asociada!a!la!entidad!que! representa.! • Diseñador:!Representa!sus!entidades!y!resultados!con!una! apariencia!determinada.!! Precondiciones:' ! Garantías'de'éxito' (Postcondiciones):' La!representación!de!la!forma!utiliza!la!apariencia!escogida.! Escenario'principal'de' éxito'(o'Flujo'Básico):' Usuario! 1. Se!representa!la!forma!con!la!apariencia!asociada.! Diseñador! 1. Especifica!los!valores!de!las!propiedades!de!la!apariencia!a! utilizar!en!la!representación!de!la!entidad!o!en!el!resultado! de!una!simulación.!Estas!propiedades!pueden!ser!colores!de! relleno,!de!borde,!tamaños!de!borde,!etc.! Extensiones'(o'Flujos' Alternativos):' ! Tabla'76:'RS\CU\37.\'Seleccionar'apariencia' Caso*de*uso*38.8*Asociar*etiqueta* RS6CU638' Asociar'etiqueta' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos.!! Objh03.h!Representar!simulaciones.! Actor'Principal:' Diseñador! Personal'involucrado' e'intereses:' • Diseñador:!Asocia!a!las!entidades!representadas!en!el!visor! una!etiqueta!identificativa.! Precondiciones:' La!entidad!debe!existir.! Garantías'de'éxito' (Postcondiciones):' La!entidad!escogida!tiene!asociada!una!etiqueta.! Escenario'principal'de' éxito'(o'Flujo'Básico):' Usuario! 1. Se!representa!la!forma!con!la!etiqueta!asociada.! Diseñador! 1. Registra!para!una!entidad!registrada!un!texto!con!un!máximo! de!30!caracteres.! 2. El!componente!muestra!la!representación!de!la!etiqueta.! Extensiones'(o'Flujos' Alternativos):' ! Tabla'77:'RS\CU\38.\'Asociar'etiqueta' !* Universidad!de!Las!Palmas!de!Gran!Canaria! 87! Caso*de*uso*39.8*Especificar*capa* RS6CU639' Especificar'capa' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos.!! Objh03.h!Representar!simulaciones.! Actor'Principal:' Usuario,!Diseñador! Personal'involucrado' e'intereses:' • Usuario:!Para!poder!representar!una!entidad!especifica!la! capa!en!la!que!quiere!registrar!la!entidad.! • Diseñador:!Especifica!la!capa!donde!se!van!a!registrar!las! entidades.! Precondiciones:' Debe!existir!el!identificador!de!la!capa.! Garantías'de'éxito' (Postcondiciones):' Si!existe!el!identificador!de!la!capa,!se!selecciona.! Escenario'principal'de' éxito'(o'Flujo'Básico):' Usuario! 1. El!usuario!selecciona!una!capa!en!una!herramienta!visual!en! el!componente.! Diseñador! 1. Al!registrar!la!entidad!indica!la!capa!donde!se!registra!la! entidad.!! Extensiones'(o'Flujos' Alternativos):' ! Tabla'78:'RS\CU\39.\'Especificar'capa' Caso*de*uso*40.8*Añadir*comportamiento*futuro* RS6CU640' Añadir'comportamiento'futuro' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos.!! Objh03.h!Representar!simulaciones.! Actor'Principal:' Diseñador! Personal'involucrado' e'intereses:' • Diseñador:!Tras!realizar!una!simulación,!representa!el! resultado!de!la!misma!en!un!instante!de!tiempo!futuro.! Precondiciones:' Debe!existir!una!figura!inicial,!a!la!que!se!asocie!un!comportamiento! futuro.! Garantías'de'éxito' (Postcondiciones):' Si!existe!la!figura!inicial,!se!le!asocia!un!comportamiento!futuro.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. Selecciona!la!figura!a!la!que!quiere!añadir!el!comportamiento! futuro.! 2. Inserta!un!comportamiento!futuro!indicando:! a. !Nuevas!coordenadas! b. Instante!de!tiempo!futuro! Extensiones'(o'Flujos' Alternativos):' 1. Si!existe!ya!un!comportamiento!futuro!para!una!figura!dada! en!el!instante!de!tiempo!seleccionado,!se!elimina!el! comportamiento!previo.! Tabla'79:'RS\CU\40.\'Añadir'comportamiento'futuro' Requerimientos! 88! Caso*de*uso*41.8*Especificar*tiempo* RS6CU641' Especificar'tiempo' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos.!! Objh03.h!Representar!simulaciones.! Actor'Principal:' Usuario,!Diseñador! Personal'involucrado' e'intereses:' • Usuario:!Al!posicionar!una!entidad!utiliza!el!instante!de! tiempo!actual.! • Diseñador:!Para!representar!cualquier!entidad,!indica!el! instante!de!tiempo!en!el!que!se!representa.! Precondiciones:' El!tiempo!seleccionado!debe!existir,!entre!el!instante!de!tiempo!inicial! y!el!final! Garantías'de'éxito' (Postcondiciones):' Se!selecciona!el!instante!de!tiempo!indicado.! Escenario'principal'de' éxito'(o'Flujo'Básico):' Usuario! 1. Utiliza!el!instante!de!tiempo!actual!en!el!visor.! Diseñador! 1. Indica!un!instante!de!tiempo!perteneciente!al!intervalo!entre! tiempo!inicial!y!el!final.! Extensiones'(o'Flujos' Alternativos):' ! Tabla'80:'RS\CU\41.\'Especificar'tiempo' Casos%de%uso%de%Requisitos%del%Software.0%Modificación/Eliminación% entidades%% ! Ilustración'25:'Casos'de'uso'“Modificación/Eliminación'entidades”' !! Diseñador Eliminar entidad Modificar entidad Seleccionar apariencia Seleccionar entidad <extiende> <usa> <usa> <extiende> Cambiar ubicación Universidad!de!Las!Palmas!de!Gran!Canaria! 89! Caso*de*uso*42.8*Modificar*entidad* RS6CU642' Modificar'entidad' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos.!! Objh03.h!Representar!simulaciones.! Actor'Principal:' Diseñador! Personal'involucrado' e'intereses:' • Diseñador:!Desea!modificar!!la!apariencia!o!la!ubicación!de! una!entidad.! Precondiciones:' Debe!existir!la!entidad!que!se!quiere!modificar.! Garantías'de'éxito' (Postcondiciones):' La!entidad!tendrá!una!nueva!apariencia!o!una!nueva!posición.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Diseñador!indica!la!entidad!a!modificar.! 2. Establece!los!nuevos!valores!de!apariencia!que!requiere.! 3. Establece!las!nuevas!coordenadas!de!la!entidad.!! Extensiones'(o'Flujos' Alternativos):' ! Tabla'81:'RS\CU\42.\'Modificar'entidad' Caso*de*uso*43.8*Eliminar*entidad* RS6CU643' Eliminar'entidad' Versión:'' 1.0! Autor' Samuel!Díaz!Cabrera! Objetivos'asociados:' Objh02.h!Representar!accidentes!y!recursos.!! Objh03.h!Representar!simulaciones.! Actor'Principal:' Diseñador! Personal'involucrado' e'intereses:' • Diseñador:!Desea!eliminar!una!entidad!del!escenario.!! Precondiciones:' Debe!existir!la!entidad!que!se!quiere!eliminar.! Garantías'de'éxito' (Postcondiciones):' El!escenario!planteado!no!tendrá!la!entidad!seleccionada.! Escenario'principal'de' éxito'(o'Flujo'Básico):' 1. El!Diseñador!selecciona!la!entidad!a!eliminar.! 2. El!sistema!la!elimina.!! Extensiones'(o'Flujos' Alternativos):' 1. Si!no!se!encuentra!la!entidad!no!ocurre!nada.! Tabla'82:'RS\CU\43.\'Eliminar'entidad' !! Análisis! 96! 8.1. Modelo*de*Análisis* Al! analizar! el! conjunto! de! requisitos! software! se! observa! una! estructuración! lógica!basada!en!los!siguientes!conceptos:! • Sistema!de!integración!del!componente.! • Sistema!de!control!del!plano.! • Sistema!de!gestión!de!capas.! • Sistema!de!gestión!de!entidades.! • Sistema!de!gestión!del!tiempo.! • Sistema!de!gestión!de!la!escala.! • Sistema!de!representación!de!la!vista.! Estos!conceptos!forman!los!paquetes!de!análisis!en!los!que!se!van!a!agrupar!las! distintas! clases.! A! continuación! se! realiza! el! desglose! y! descripción! de! cada! paquete.!! !* Universidad!de!Las!Palmas!de!Gran!Canaria! 97! 8.1.1. Paquete*de*análisis*01.8*Sistema*de*integración*del* componente* Este! paquete! lo! forman! aquellas! clases! encargadas! de! la! configuración! del! componente,!que!permiten!su!adaptación!visual!en!el!entorno!que!lo!integra.! En!él!se!cubren!los!siguientes!requerimientos!software:! Requerimiento' Nombre' RS6CU601' Configurar!estética! RS6CU602' Configurar!borde! RS6CU603' Configurar!fondo! RS6CU604' Configurar!tamaño! RS6CU605' Configurar!herramientas!visuales! RS6CU606' Ocultar/Mostrar!herramienta! RS6CU607' Establecer!posición! Tabla'92:'Requerimientos'cubiertos'por'el'“Sistema'de'integración”'' El!diagrama!de!análisis!que!representa!este!sistema!es!el!siguiente:! ! Ilustración'27:'Paquete'de'análisis'“Sistema'de'integración”' El!Diseñador!a!través!de!la!interfaz!IS'Operaciones'Integración!hace!una!petición! de!cambio!de!configuración!visual.!Esta!petición!se!lleva!al!Controlador'del'visor,! el! cual! gestiona! la! petición! actualizando! los! valores! correspondientes! en! la! entidad!Configuración'Visor.! Tras! actualizar! la! entidad! indica! a! la! interfaz! IU' Visor!que! actualice! su! representación.! !* Sistema de integración I Diseñador IS Operaciones Integración Configuración Visor configura Controlador del visor I IU Visor actualiza Análisis! 98! 8.1.2. Paquete*de*análisis*02.8*Sistema*de*control*del*plano* Este!paquete!lo!forman!aquellas!clases!encargadas!de!la!gestión!de!la!carga!del! plano.! En!él!se!cubren!los!siguientes!requerimientos:! Requerimiento' Nombre' RS6CU608' Cargar!plano! RS6CU609' Seleccionar!plano! RS6CU610' Escoger!coordenadas! Tabla'93:'Requerimientos'cubiertos'por'el'“Sistema'de'control'del'plano”' El!diagrama!de!análisis!que!representa!este!sistema!es!el!siguiente:! ! Ilustración'28:'Paquete'de'análisis'“Sistema'de'control'del'plano”' A!través!de!la!interfaz!!IS'Operaciones'Plano,!el!Diseñador!realiza!las!operaciones! de!carga!y!configuración!del!plano.!Introduciendo!la!información!necesaria!para! la!gestión!del!plano,!esta!petición!es!comunicada!al!Controlador'de'plano,!el!cual! se!encarga!de!gestionar!la!clase!de!entidad!Plano.!Si!es!necesario!actualizar!la! vista!e!interfaz!IU'Visor,!el!Controlador'de'plano!informa!a!la!clase!Controlador'del' visor.! !* Sistema de control del plano I Diseñador IS Operaciones Plano Plano carga Controlador de plano Controlador del visor I IU Visor actualiza Universidad!de!Las!Palmas!de!Gran!Canaria! 99! 8.1.3. Paquete*de*análisis*03.8*Sistema*de*gestión*de*capas* Este!paquete!lo!forman!aquellas!clases!encargadas!de!la!gestión!del!sistema!de! capas.! En!él!se!cubren!los!siguientes!requerimientos:! Requerimiento' Nombre' RS6CU628' Crear!capa! RS6CU629' Poner!nombre! RS6CU630' Eliminar!capa! RS6CU631' Seleccionar!capa! RS6CU632' Ordenar!capa! RS6CU633' Ajustar!visibilidad! Tabla'94:'Requerimientos'cubiertos'por'el'“Sistema'de'gestión'de'capas”' El!diagrama!de!análisis!que!representa!este!sistema!es!el!siguiente:! ! Ilustración'29:'Paquete'de'análisis'“Sistema'de'gestión'de'capas”' En!este!diagrama!operan!los!dos!actores!del!sistema,!tanto!el!Usuario,!como!el! Diseñador!realizan!operaciones!sobre!el!sistema!de!capas.!! El! primero,! hace! uso! de! la! interfaz! de! usuario! IU'Visor'de'capas,! desde! donde! tiene!acceso!a!operaciones!como!la!creación,!eliminación,!ocultación!de!una!capa.! A!través!de!esta!interfaz!se!comunica!con!el!Gestor'de'capas,!el!cual!gestiona!las! entidades!Capa.!! Sistema de gestión de capas I Diseñador IU Visor de capas Capa configura Gestor de capas Usuario Controlador del visor I IU Visor actualiza I IS Operaciones Capas Análisis! 100! A!diferencia!del!Usuario,!el!Diseñador!opera!con!el!Gestor'de'capas,!mediante!la! interfaz!software!!IS'Operaciones'Capas.! Por!último,!si!es!necesario!actualizar!la!vista!e!interfaz!IU'Visor,!el!Gestor'de'capas! informa!a!la!clase!Controlador'del'visor.! 8.1.4. Paquete*de*análisis*04.8*Sistema*de*gestión*de* entidades* Este! paquete! lo! forman! aquellas! clases! relacionadas! con! el! tratamiento! de! las! entidades!representadas!en!el!escenario.! En!él!se!cubren!los!siguientes!requerimientos:! Requerimiento' Nombre' RS6CU634' Representar!entidad! RS6CU635' Especificar!coordenadas! RS6CU636' Especificar!forma! RS6CU637' Seleccionar!apariencia! RS6CU638' Asociar!etiqueta! RS6CU639' Especificar!capa! RS6CU640' ' Añadir!comportamiento!futuro! RS6CU641' Especificar!tiempo! RS6CU642' Modificar!entidad! RS6CU643' Eliminar!entidad! RS6CU644' Seleccionar!entidad! RS6CU645' Cambiar!ubicación! Tabla'95:'Requerimientos'cubiertos'por'el'“Sistema'de'gestión'de'entidades”' El!diagrama!de!análisis!que!representa!este!sistema!es!el!siguiente:! ! Ilustración'30:'Paquete'de'análisis'“Sistema'de'gestión'de'entidades”' ! Sistema de gestión de entidades I Diseñador IU Visor Entidad maneja Gestor de entidades Usuario Controlador del visor actualiza I IS Operaciones Entidades Gestor de capas registra Universidad!de!Las!Palmas!de!Gran!Canaria! 101! En! el! sistema! de! gestión! de! entidades,! los! distintos! actores! del! sistema! interactúan!con!sus!respectivas!interfaces.!Hacen!uso!de!esta!para!especificar!el! tipo! de! figura,! su! ubicación! temporal! y! su! configuración! visual.! El! Gestor' de' entidades!!se!encarga!de!crear!y!configurar!la!entidad,!así!como!de!informar!al! Gestor'de'capas!que!debe!tratar!la!Entidad.! Finalmente,! si! la! entidad! es! visible! o! se! ha! producido! algún! cambio! en! la! visualización,!el!Gestor'de'entidades!informa!a!la!clase!Controlador'del'visor!que! actualice!la!interfaz!IU'Visor.! 8.1.5. Paquete*de*análisis*05.8*Sistema*de*gestión*de*tiempo* Este!paquete!lo!forman!aquellas!clases!encargadas!de!la!gestión!del!sistema!de! tiempo.! Se! configura! el! tiempo! inicial,! actual! y! final! del! sistema,! así! como! se! gestionan!los!cambios!de!tiempo!actual.! En!él!se!cubren!los!siguientes!requerimientos:! Requerimiento' Nombre' RS6CU611' Configurar!el!tiempo! RS6CU612' Establecer!tiempo!inicial! RS6CU613' Establecer!tiempo!actual! RS6CU614' Establecer!tiempo!final! RS6CU627' Cambiar!tiempo!actual! Tabla'96:'Requerimientos'cubiertos'por'el'“Sistema'de'gestión'de'tiempo”' El!diagrama!de!análisis!que!representa!este!sistema!es!el!siguiente:! ! Ilustración'31:'Paquete'de'análisis'“Sistema'de'gestión'de'tiempo”' Sistema de gestión de tiempo I Diseñador IU Visor de tiempo Tiempo del sistema configura Gestor de tiempo Usuario Controlador del visor I IU Visor actualiza I IS Operaciones Tiempo Análisis! 102! A! través! de! las! interfaces! de! usuario! y! software,! IU' Visor' de' tiempo!y! IS' Operaciones'Tiempo,! los! distintos! actores! operan! con! el! sistema! de! gestión! de! tiempo.!Este!se!encarga!de!configurar!la!entidad!Tiempo'del'sistema,!que!es!quién! contiene!los!datos!relativos!a!la!configuración!temporal!del!sistema.! Si!se! realiza! un! cambio! en! el! valor! de! tiempo! actual,! es! necesario! refrescar! la! interfaz!de!usuario!IU'Visor,!por!ello,!el!Gestor'de'tiempo!informa!al!Controlador' del'visor!para!ello.! !* Universidad!de!Las!Palmas!de!Gran!Canaria! 103! 8.1.6. Paquete*de*análisis*06.8*Sistema*de*gestión*de*escala* Este!paquete!lo!forman!aquellas!clases!encargadas!de!la!gestión!del!sistema!de! escala.! En!él!se!cubren!los!siguientes!requerimientos:! Requerimiento' Nombre' RS6CU615' Configurar!la!escala! RS6CU616' Establecer!el!número!de!niveles! RS6CU617' Establecer!el!nivel!actual! Tabla'97:'Requerimientos'cubiertos'por'el'“Sistema'de'gestión'de'escala”' El!diagrama!de!análisis!que!representa!este!sistema!es!el!siguiente:! ! Ilustración'32:'Paquete'de'análisis'“Sistema'de'gestión'de'escala”' Como!en!los!sistemas!previos,!los!actores!disponen!de!interfaces!propias,!en!este! caso,! IU' Visor' de' escala!y! IS' Operaciones' Escala,! ! con! las! que! operar! con! el! componente.!Estas!interfaces!comunican!la!operación!con!el!Gestor'de'escala,!el! cual!se!encarga!de!gestionar!la!entidad!Escala'del'sistema.!Esta!clase!modela!los! valores!internos!del!sistema!relacionados!con!la!configuración!de!la!escala.! Si! se! realiza! un! cambio! de! escala! actual,! es! necesario! refrescar! la! interfaz! de! usuario!IU'Visor,!por!ello,!el!Gestor'de'escala!informa!al!Controlador'del'visor!para! ello.! Sistema de gestión de escala I Diseñador IU Visor de escala Escala del sistema configura Gestor de escala Usuario Controlador del visor I IU Visor actualiza I IS Operaciones Escala Análisis! 104! 8.1.7. Paquete*de*análisis*07.8*Sistema*de*representación*de*la* vista* Este!paquete!lo!forman!aquellas!clases!encargadas!de!la!representación!realizada! en!la!vista.!Se!ubican!en!este!sistema!aquellos!casos!de!uso!que!actualizan!la!vista.! En!él!se!cubren!los!siguientes!requerimientos:! Requerimiento' Nombre' RS6CU618' Ver!escenario! RS6CU619' Ver!coordenadas!actuales! RS6CU620! Ver!nivel!de!zoom!actual! RS6CU621' Ver!tiempo!actual! RS6CU622' Ver!plano! RS6CU623' Ver!entidades! RS6CU624' Ver!simulación! RS6CU625' Ampliar/Reducir!plano! RS6CU626' Mover!Plano! Tabla'98:'Requerimientos'cubiertos'por'el'“Sistema'de'representación'de'la'vista”' El!diagrama!de!análisis!que!representa!este!sistema!es!el!siguiente:! ! Ilustración'33:'Paquete'de'análisis'“Sistema'de'representación'de'la'vista”' ! ! Sistema de representación de la vista I IU Visor Controlador de visor Usuario Gestor de escala Escala del sistema accede Gestor de tiempo Tiempo del sistema accede Plano Controlador de plano accede Capa Gestor de capas accede Universidad!de!Las!Palmas!de!Gran!Canaria! 105! El!actor! Usuario!opera! con! el! visor! a! través! de!la!interfaz!IU'Visor,!realizando! cambios!de!nivel!en!el!plano,!o!moviéndolo,!o!viendo!algún!tipo!de!información! mostrada!por!el!mismo.!El!sistema!de!representación!se!encarga!de!mostrar!en! cada!momento!la!información!correspondiente!a!la!situación!actual!del!escenario.! Toda!operación!que!realiza!el!Usuario!se!comunica!con!el!Controlador'de'visor,!el! cual! se! encarga! de! mostrar! la! vista! actualizada! basándose! en! el! estado! de! los! distintos! sistemas.! Para! ello,! se! comunica! con! los! distintos! controladores! de! donde!obtiene!la!información!de!las!distintas!clases!entidad.! ! Diseño! 112! ! Ilustración'38:'Vista'del'Diseñador' Controladores% Forman!las!clases!que!se!encargan!de!gestionar!las!peticiones!realizadas!en!las! vistas,!operando!sobre!ellas!o!sobre!el!modelo.!! Modelo% Contiene!la!información!asociada!con!el!sistema!de!representación,!en!este!caso,! el!plano!y!las!entidades!registradas.!Así!mismo,!también!se!reflejan!como!modelo! las!clases!de!información!de!los!sistemas!de!tiempo,!de!capas,!o!de!escala.! Vista%del%modelo%de%análisis%como%MVC% La!ilustración!39!escenifica!la!adaptación!del!modelo!de!análisis!en!el!modelo!de! diseño! utilizando! el! patrón! MVC.! Refleja! la! participación! en! el! sistema! de! los! actores! Usuario! y! Diseñador! actuando! sobre! sus! interfaces! (IU! e! IS! respectivamente).! Existe! una! distinción! en! el! tipo! de! interfaz! utilizada! por! los! actores! del! sistema,! ya! que,! aunque! ambas! forman! parte! de! la! Vista! del! componente,!son!de!distinta!naturaleza.! ! Ilustración'39:'Adaptación'del'modelo'de'análisis'al'modelo'de'diseño'basado'en'el'patrón'MVC' De! igual! manera,! ilustra! el! esquema! general! que! siguen! los! subsistemas! que! forman!el!sistema!visor.!En!las!secciones!siguientes!se!describen!y!detallan!las! clases!de!diseño!que!contienen.! Componente Diseñador Métodos / Propiedades Eventos MViewer Vista Controlador Modelo Usuario Diseñador I IU I IS Entidad Control Universidad!de!Las!Palmas!de!Gran!Canaria! 113! 9.3.3. Subsistemas* A!partir!de!los!paquetes!de!análisis,!se!realiza!una!traducción!directa!de!estos! para!encontrar!los!subsistemas!de!diseño!que!forman!el!componente.! Cada! subsistema! está! compuesto! por! clases! de! diseño,! que! a! diferencia! de! las! clases!de!!análisis,!representan!ya!una!estructura!lógica!del!sistema!cercana!a!la! estructura!final.! El!conjunto!de!subsistemas!de!diseño!establecidos!son!los!siguientes:! • Subsistema!de!integración!del!componente.! • Subsistema!de!control!del!plano.! • Subsistema!de!gestión!de!la!escala.! • Subsistema!de!gestión!del!tiempo.! • Subsistema!de!entidades.! • Subsistema!de!gestión!de!capas.! • Subsistema!principal!de!vista.!! La!siguiente!ilustración!presenta!un!diagrama!representativo!del!contenido!del! componente.! ! Ilustración'40:'Composición'del'componente'visor'en'subsistemas' Componente Visor Subsistema de control del plano Subsistema de gestión de entidades Subsistema de gestión de capas Subsistema de integración Subsistema de gestión del tiempo Subsistema de gestión de la escala Subsistema principal de vista Diseño! 114! A! continuación! se! procede! a! desglosar! cada! subsistema,! describiendo! e! identificando! las! principales! clases! de! diseño,! los! patrones! aplicados,! la! descripción!de!las!interfaces!dadas,!y!las!interacciones!con!otros!subsistemas.! Subsistema%01.0%Subsistema%de%integración% Lo! forman! aquellas! clases! que! permiten! la! integración! y! adaptación! del! componente!a!la!aplicación!que!lo!contiene.!Principalmente!se!manejan!en!este! subsistema! tareas! de! configuración! estética.! Se! adapta! la! presentación! del! componente!a!las!necesidades!de!la!aplicación!que!lo!agrega.! ! Ilustración'41:'Aspectos'estéticos'configurables' El! siguiente! diagrama! identifica! las! clases! de! diseño! que! conforman! este! subsistema.! ! Ilustración'42:'Diagrama'de'clases'del'Subsistema'de'Integración' A!través!de!la!interfaz!software!ISIntegrationOperations!el!Diseñador!es!capaz!de! configurar! la! estética! del! visor! y! de! los! elementos! que! se! muestran! sobre! el! mismo.!Accede!a!las!propiedades!de!la!clase!ViewConfiguration,!que!estructura! las!propiedades!estéticas!del!visor.!! Del!mismo!modo!accede!a!la!visibilidad!y!posición!de!las!distintas!herramientas! que!suministra!el!componente.! Borde Fondo - Color - Ancho - Color - Texto - Fuente - Tamaño Fuente - Color Fuente + changeProperty(property) ISIntegrationOperations IntegrationController - refresh() IUView + color : uint + text : string + font : string + fontSize : uint + fontColor : uint BackGround + borderColor : uint + borderSize : uint + tools : BaseComponent[] + backG : BackGround ViewConfiguration + visible : Boolean + position : positionType BaseComponent Universidad!de!Las!Palmas!de!Gran!Canaria! 115! Subsistema%02.0%Subsistema%de%control%del%plano% Este! subsistema! se! encarga! de! realizar! la! carga! del! plano! y! de! modelar! la! representación!interna!que!mantiene!el!sistema.! La!carga!consiste!en!la!adquisición!del!plano!desde!fuera!del!visor.!En!este!caso! se! plantean! 2! opciones,! o! bien! que! la! aplicación! que! agrega! el! componente! proporcione!la!imagen,!o!bien,!sea!tarea!del!componente!cargar!la!imagen!desde! una!URL.!!Además!es!necesario!posicionar!el!plano!en!unas!coordenadas,!para! ello!se!indican!las!mínimas!y!las!máximas.! La!representación!lógica!que!se!plantea,!está!!estrechamente!ligada!al!manejo!de! la!vista!de!Usuario!que!realiza!el!subsistema!principal!de!vista.!De!momento!sólo! es!necesario!tener!el!concepto!de!que!la!imagen!del!plano!se!trocea!en!trozos!o! celdas!cuadradas!de!un!tamaño!fijo.!! La! siguiente! ilustración! refleja! la! tarea!de! carga! y! representación! interna! realizada!por!este!subsistema.! ! Ilustración'43:'Carga'y'representación'lógica'del'plano' Representación interna Plano Imagen original URL Coordenadas mínima Coordenadas máxima Plano Coordenadas mínima Coordenadas máxima Diseño! 116! El!diagrama!de!clases!para!este!subsistema!es!el!siguiente:! ! Ilustración'44:'Diagrama'de'clases'del'Subsistema'de'Control'del'Plano' El!sistema!planteado!tiene!3!elementos!principales,!la!interfaz!para!el!diseñador,! ISMapOperations,!el!controlador!principal,!MapController,!y!el!conjunto!de!clases! que!cargan!y!modelan!el!plano.!! Para!la!carga!se!diseña!un!sistema!basado!en!el!patrón!Factory!(ver!Anexo!III:! Patrones)! que! permite! la! obtención! del! plano! desde! diversas! fuentes,! en! el! diagrama,!desde!una!url!o!suministrado!con!el!formato!de!imágenes!utilizado!en! AS3,!la!clase!Bitmapdata.! Para!su!representación!lógica!se!establecen!las!clases!SplitController!y!SplitImage,! esta!última!es!la!clase!modelo!que!almacena!las!celdas!del!plano.!Ambas!clases! proporcionan!el!método!getSlice(x,y)!para!acceder!a!éstas.! Por!último!especificar!que!tras!la!carga!y!la!estructuración!interna!del!plano,!el! controlador! MapController!notifica! a! la! vista! del! visor! IUView!que! actualice! la! representación!y!emite!un!evento!de!tipo!MviewerMapEvent!hacia!el!exterior!del! componente,!para!la!aplicación!que!lo!agregue.! !% MViewerEventMap + load(url,coorMin,coorMax) ISMapOperations + load(url,coorMin,coorMax) + getSlice(x,y):Bitmapdata - maps : Map[] MapController - refresh() IUView MapGenerator URLMapGenerator BitmapdataMapGenerator + getSlice(x,y):Bitmapdata + insertMap() : void - render() : void - splitImages: SplitImage[] SplitController + getSlice(x,y):Bitmapdata SplitImage - coorMin : uint - coorMax : uint - image : Bitmapdata Map * * MapURL MapBitmapdata Universidad!de!Las!Palmas!de!Gran!Canaria! 117! Subsistema%03.0%Subsistema%de%gestión%de%la%escala% Este! subsistema! gestiona! la! escala! de! la! vista! presentada.! ! Principalmente! se! realizan! tareas! de! configuración! sobre! el! mismo! y! operaciones! de! cambio! de! nivel!de!escala.! El!concepto!de!escala!que!se!trata,!está!vinculado!a!las!coordenadas!del!plano! dado! y! a! la! representación! del! mismo.! Se! establece! una! proporción! pixel/coordenada,!que!permite!definir!un!valor!base!como!nivel!de!zoom!base.! Con!este!nivel!de!zoom!base,!se!establecen!un!número!de!niveles!de!zoom,!en!los! que!cada!nivel!es!una!ampliación!o!reducción!del!valor!base!en!función!de!un! porcentaje.! La!configuración!vendrá!dada!por!la! especificación!del!número!de!niveles!y!el! porcentaje!de!incremento!o!reducción!del!valor!base!de!zoom.! El!diagrama!de!clases!que!modela!este!subsistema!es!el!siguiente:! ! Ilustración'45:'Diagrama'de'clases'del'Subsistema'de'Gestión'de'la'Escala' El! sistema! planteado! está! formado! por! las! interfaces! de! operación! ISScaleOperations!y! IUScaleComp,! la! primera! es! la! interfaz! software! dada! al! Diseñador,!mientras!que!la!segunda,!conforma!la!herramienta!visual!que!utiliza! el!Usuario.!! La! interfaz! gráfica! cuenta! con! un! controlador! propio! para! gestionar! su! representación!visual!y!operar!sobre!el!subsistema.!Este!accede!al!controlador! principal!ScaleController,!el!cual!opera!con!la!clase!ScaleSystem.!Esta!representa! el! sistema! de! escala! del! sistema,! y! es! la! clase! principal! de! este! subsistema.! Contiene! el! número! de! niveles! de! zoom! del! sistema,! así! como! los! valores! de! escala! (pixel/coordenada)! para! cada! uno.! Cualquier! evento! ocurrido! sobre! el! modelo!es!notificado!hacia!el!exterior!con!un!evento!de!tipo!MViewerEventScale.! MViewerEventScale + setNumLevelsScale(level : uint) : void + setActualLevelScale(level : uint) : void + setPercentValue(percent : Number): void ISScaleOperations + setNumLevelsScale(level : uint): void + changeActualLevel(level : uint): void + setPercentValue(percent : Number): void ScaleController - refresh() IUView - createArrayScale() : void + setNumLevel(num : uint): void - scales : Number[] + actualIndex : uint + actualScale : Number + numLevels : uint + percent : Number ScaleSystem - refresh() - actualLevel : uint - numLevels : uint IUScaleComp + visible : Boolean + position : positionType BaseComponent ScaleCompController Diseño! 118! Subsistema%04.0%Subsistema%de%gestión%del%tiempo% El! visor! que! se! presenta! se! centra! en! la! representación! de! entidades! y! simulaciones.!Un!elemento!importante!para!la!representación!de!estas!últimas!es! el!concepto!de!tiempo.!! Cuando! se! simula! un! modelo! matemático! se! obtiene! un! resultado.! Este! puede! depender!o!no!de!la!variable!del!tiempo.!Un!resultado!que!depende!del!tiempo! muestra!un!comportamiento!dinámico!a!medida!que!avanza!este.!Es!necesario! por!tanto!representar!esta!evolución.! La!solución!que!se!plantea!consiste!en!modelar!el!sistema!de!tiempo!como!un! conjunto! de! instantes.! El! componente! visor! muestra! para! cada! instante! una! presentación!diferente!del!estado!del!escenario.! Para!ello!el!sistema!de!tiempo!cuenta!con!un!instante!de!tiempo!inicial,!uno!final! y!uno!actual.!Se!establece!con!esto!un!período!en!el!que!se!pueden!representar! entidades!y!simulaciones.!! El!diagrama!de!clases!establecido!es!el!siguiente:! ! Ilustración'46:'Diagrama'de'clases'del'Subsistema'de'Gestión'del'Tiempo' Sigue!un!esquema! similar!visto!al!del!subsistema! 03.!En!este!caso!la! clase!del! modelo! principal! es! TimeSystem.! La! cual! modela! el! instante! de! tiempo! inicial,! final!y!actual!del!sistema.! Se!proporcionan!las!interfaces!ISTimeOperations!y!IUTimeComp.'Esta'última!es!la! herramienta! visual! que! utiliza! el! Usuario! para! desplazarse! por! el! conjunto! de! instantes!del!sistema.! Un!cambio!del!instante!de!tiempo!inicial,!final!o!actual!provoca!una!actualización! de! las! interfaces! IUTimeComp!y! de! IUView,! y! el! lanzamiento! del! evento! MViewerEventTime.!! MViewerEventTime + setInitialTime(inltialTime : uint) : void + setFinalTime(finalTime : uint) : void + setActualTime(actualTime : uint) : void ISTimeOperations + setInitialTime(inltialTime : uint) : void + setFinalTime(finalTime : uint) : void + setActualTime(actualTime : uint) : void TimeController - refresh() IUView + actualTime : uint + initialTime : uint + finalTime : uint TimeSystem - refresh() - initialTime : uint - finalTime : uint - actualTime :uint - numInstants : uint IUTimeComp + visible : Boolean + position : positionType BaseComponent TimeCompController Universidad!de!Las!Palmas!de!Gran!Canaria! 119! Subsistema%05.0%Subsistema%de%entidades% Representa! al! conjunto! de! clases! establecidas! para! realizar! el! registro,!! representación!y,!eliminación!de!entidades!y!el!resultado!de!sus!simulaciones.!! A!nivel!lógico,!las!entidades!y!los!resultados!de!sus!simulaciones!se!representan! de! la! misma! manera,! como! figuras.! Una! figura! es! toda! representación! que! se! realice!sobre!el!plano.!! El! diseño! de! las! figuras! se! establece! teniendo! en! cuenta! las! siguientes! características!básicas:! • Tiene! un! identificador.h! Tras! el! registro,! toda! figura! adquiere! un! identificador! que! permite! que! sea! referenciada! para! modificarla! o! eliminarla.! • Tiene!un!tiempo!de!vida.h!En!un!sistema!de!representación!de!figuras!con! capacidad! temporal! es! necesario! determinar! cuando! son! visibles! estas.! Para!ello,!las!figuras!disponen!de!una!configuración!temporal.!En!este!caso! la! configuración! temporal! determina! si! existen! o! no! en! el! instante! seleccionado,!y!son!por!ello,!representadas!o!no.! • Está!localizada.h!Toda!figura!está!localizada!tanto!gráficamente,!por!unas! coordenadas,!como!temporalmente,!por!el!tiempo!de!vida!de!la!misma.! • Tiene!un!tipo!de!comportamiento.h!En!un!sistema!temporal!se!establece!la! posibilidad!de!que!una!figura!cambie!a!medida!que!avanza!el!tiempo.!Este! cambio!viene!dado!por!un!desplazamiento!o!por!un!cambio!en!su!forma.!! Para! permitir! esto,! se! definen! los! instantes! temporales! dentro! de! una! figura,!permiten!especificar!nuevas!coordenadas!en!un!instante!de!tiempo! determinado.! Teniendo!2!instantes!de!una!figura!en!instantes!de!tiempo!no!sucesivos!es! necesario!especificar!que!sucede!en!los!instantes!intermedios.!Por!ello!se! han!diseñado!unos!comportamientos!básicos!para!representar!el!mayor! número!de!comportamiento.! • Comportamiento'discreto.h!Entre!un!instante!de!tiempo!y!otro,!la! figura! no! es! representada.! Solo! mantiene! su! representación! en! aquellos!instantes!temporales!registrados!en!la!figura.! Diseño! 120! ! Ilustración'47:'Comportamiento'Discreto' • Comportamiento' continuo.6! En! los! instantes! temporales! intermedios! entre! 2! instantes! registrados! en! la! figura,! se! realiza! una!representación!constante!del!primer!valor!registrado.!' ! Ilustración'48:'Comportamiento'Continuo'' • Comportamiento' interpolado'lineal.6!Entre! 2! instantes! registrados!se!realiza!una!interpolación!lineal!para!determinar!el! nuevo!valor.!!! Tipos de comportamiento Discreto 0" 1" 2" 3" 4" 5" 6" 7" 8" 9" 10" 0" 1" 2" 3" 4" 5" 6" 7" 8" 9" 10" Tipos de comportamiento Continuo 0" 1" 2" 3" 4" 5" 6" 7" 8" 9" 10" 0" 1" 2" 3" 4" 5" 6" 7" 8" 9" 10" Universidad!de!Las!Palmas!de!Gran!Canaria! 121! ! Ilustración'49:'Comportamiento'Interpolado'Lineal' • Tienen!una!representación.h!Las!figuras!tienen!una!forma!asociada!para!su! representación.! Esta! incluye! además! una! configuración! estética! que! permite!personalizar!su!representación!gráfica.!! A!continuación!se!muestra!el!diagrama!de!clases!de!diseño!establecido!para!este! subsistema.! ! Ilustración'50:'Diagrama'de'clases'del'Subsistema'de'Entidades' Destacar!de!este!diagrama!que!no!existe!un!FigureSystem'propiamente!dicho,!el! FigureController!se! encarga! de! gestionar! las! operaciones! dadas! por! la! interfaz! ISFigureOperations,! que! principalmente! delegará! estas! operaciones! en! el! constructor!de!figuras!FigureGenerator;!y!en!proporcionar!éstas!al!LayerSystem.!! Este! último! sistema! se! plantea!a! continuación,! estructura! de! forma! lógica! las! figuras!en!capas!de!información.! !% Tipos de comportamiento Interpolado Lineal 0" 1" 2" 3" 4" 5" 6" 7" 8" 9" 10" 0" 1" 2" 3" 4" 5" 6" 7" 8" 9" 10" LayerSystem + createFigure(…) : int + deleteFigure(id : uint) : int + insertInstant(id : uint, t : uint) : int ISFigureOperations MViewerEventFigure - refresh() IUView FigureController + render() : void - behavior : uint - tInitial : uint - tFinal : uint - tActual : uint - instants : Instant[] - image : Bitmapdata Figure + render() : void FigurePoint + render() : void FigureLine + render() : void FigureCircle + render() : void + text : string FigureText + render() : void + image : Bitmapdata FigureImage + createFigure(type) : Figure FigureGenerator *+ t : uint + coorMin : uint + coorMax : uint Instant * * + fillColor : uint + borderColor: uint + borderWidth : uint Brush Diseño! 128! Opción%A% Se! presenta! un! diseño! por! pestañas! para! la! organización! de! las! distintas! opciones,!tal!como!muestra!el!siguiente!boceto.! ! Ilustración'58:'Configuración'en'pestañas'tradicionales' Opción%B% Como!alternativa!a!la!opción!A,!se!establece!una!opción!organizada!en!pestañas! apiladas!o!en!acordeón.! ! Ilustración'59:'Configuración'en'pestañas'apiladas' Universidad!de!Las!Palmas!de!Gran!Canaria! 129! 9.4.3. Título* Dado! que! el! enfoque! de! esta! aplicación! es! meramente! demostrativo,! el! título! elegido!para!la!aplicación!es!MViewer!Demo.! ! 131! ! Capítulo*10.8 Implementación* Esta! fase! del! desarrollo! se! caracteriza! por! la! construcción! del! producto,! llevándose!a!cabo!las!tareas!de!codificación!de!la!aplicación.!Ya!que!es!una!tarea! meramente! constructiva,! en! este! capítulo! se! mostrarán! los! resultados! de! este! proceso.! 10.1. Componente*visor* Se!ha!construido!un!componente!visor!de!planos!que!permite!una!alta!adaptación! a!diversos!entornos.!El!producto!tiene!2!vistas!principales,!sin!cargar!el!plano!y! con!él!cargado.!! La!primera!vista!permite!mantener!el!visor!en!un!estado!sin!plano.!Esta!vista!es! configurable! por! el! Diseñador.! Permite! modificar! los! aspectos! gráficos! de! los! elementos!señalados!en!la!ilustración!60,!el!fondo!y!el!borde.!! ! Ilustración'60:'Vista'sin'el'plano'cargado' La!segunda!vista,!y!la!más!importante!es!la!vista!de!presentación!del!plano!y!las! figuras! registradas! sobre! el! mismo.! Esta! vista! esta! formada! por! el! visor! y! el! conjunto!de!herramientas!dadas!al!Usuario!para!interactuar!con!el!componente.! Fondo Borde Implementación! 132! Son!configurables!a!nivel!gráfico!en!visibilidad,!posición!y!en!transparencia.!La! siguiente!ilustración!muestra!esta!descomposición.! ! Ilustración'61:'Elementos'de'la'vista'principal' El! visor! se! encarga! de! presentar! el! escenario! planteado,! esto! es,! mostrar! una! imagen!localizada!en!unas!coordenadas!con!unas!figuras!posicionadas!sobre!el! mismo.! Para!ilustrar!la!respuesta!del!visor!se!plantea!una!situación!ficticia!como!ejemplo.! !% Herramientas Visor Universidad!de!Las!Palmas!de!Gran!Canaria! 133! Ejemplo%% En! el! puerto! se! quiere! simular! la! explosión! de! un! tanque! de! combustible! y! determinar! que! recursos! son! afectados! por! los! gases! liberados.! Para! ello,! se! posicionan!el!accidente!Accidente'1!y!los!extintores!Ext'0..5!en!el!instante!inicial,! t=1s.! ! Ilustración'62:'Escenario'planteado' Se!realiza!un!proceso!de!simulación!que!determina!la!zona!afectada!por!los!gases! emitidos!por!la!explosión!del!combustible.!Se!obtienen!los!valores!principales!del! radio! de! la! zona! afectada! en! los! instantes! de! tiempo! 2,! 30,! y! 60! segundos.! La! siguiente!tabla!y!diagrama!muestran!este!comportamiento!dinámico.! Instante'de'tiempo' Radio' 1' 0! 2' 75! 30' 50! 60' 10! Tabla'99:'Relación'instante'de'tiempo\radio'del'ejemplo' Implementación! 134! ! Ilustración'63:'Evolución'del'radio'de'la'nube'de'gases'emitida' El! visor! se! encarga! de! representar! estos! valores! en! los! instantes! correspondientes,! interpolando! cualquier! valor! intermedio! entre! 2! instantes! registrados.! Las!siguientes!ilustraciones!muestran!la!evolución!de!la!nube!generada.!! La! primera! ilustración! muestra! el! escenario! original! con! el! accidente! y! los! extintores!posicionados.! ! Ilustración'64:'Escenario'planteado'antes'de'producirse'la'explosión'en't=1s' Justo!en!el!momento!después!de!producirse!la!explosión!(ilustración!65),!la!nube! de!gases!obtiene!el!máximo!radio.!La!zona!afectada!alcanza!a!los!extintores!Ext!3,! Ext!4!y!Ext!5.!! 0" 10" 20" 30" 40" 50" 60" 70" 80" 0" 10" 20" 30" 40" 50" 60" 70" Radio&(m)& Tiempo&(s)& Radio&de&la&nube&generada&por&la& emisión&de&gases& Radio" t=1 s Universidad!de!Las!Palmas!de!Gran!Canaria! 135! ! Ilustración'65:'Escenario'planteado'en'los'primeros'instantes'de'la'explosión,'t='2s' Transcurridos!30!segundos,!el!área!afectada!por!los!gases!disminuye!respecto!al! instante!inicial.!En!este!escenario,!los!extintores!Ext!3!y!Ext!5!ya!no!se!encuentran! bajo!la!nube!de!gases,!por!lo!que!quedan!libres!para!su!acceso.!Sin!embargo,!el! extintor!Ext!4!sigue!estando!afectado.! ! Ilustración'66:'Escenario'planteado'en'el'instante't=30s' t=2 s t=30 s Implementación! 136! Pasados!60!segundos!la!zona!afectada!por!los!gases!emitidos!es!casi!nula.!! ! Ilustración'67:'Escenario'planteado'en'el'instante't=60s' Tomando! las! consideraciones! de! este! ejemplo! simbólico,! es! sencillo! tomar! medidas!en!caso!de!la!ocurrencia!de!un!accidente.!Se!aprecia!como!el!visor!se! comporta!de!forma!correcta!para!representar!las!entidades!y!los!resultados!de! las!simulaciones!realizadas!sobre!estas.!! Este!ejemplo!es!una!pequeña!muestra!de!las!capacidades!de!que!dispone!el!visor,! pudiendo!representar,!además!de!puntos,!círculos!e!imágenes,!!figuras!en!forma! de!líneas,!o!texto.! 10.2. Documentación*web* La! utilización! del! componente! viene! dada! por! el! uso! de! su! API;! esto! es,! el! conjunto!de!propiedades,!funciones,!clases!y!eventos!a!las!que!el!Diseñador!tiene! acceso.!! Esta!API!ha!sido!documentada!en!2!versiones,!una!en!formato!físico,!papel!(ver! Anexo! VI:! Application! Programming! Interface(API)),! y! otra! en! formato! digital,! una!página!web.!Se!puede!acceder!a!esta!última!versión!en!el!cd!que!se!adjunta,! en! la! siguiente! ruta! “./Documentación( Web/index.html”.! Esta! documentación! proporciona!una!información!detallada!que!contiene!de!forma!estructurada!los! paquetes,!clases,!métodos!y!parámetros!de!entrada!y!salida!necesarios!para!el! uso!del!componente.! La!página!desarrollada!tiene!2!secciones,!una!barra!izquierda!donde!navegar!por! los! distintos! paquetes! y! clases,! y! la! zona! central! donde! se! expone! de! forma! ordenada!la!distinta!información.! t=60 s Universidad!de!Las!Palmas!de!Gran!Canaria! 137! ! Ilustración'68:'Página'principal'de'la'documentación'web' Al! acceder! a! una! clase! se! obtiene! su! descripción! y,! se! listan! y! describen! las! propiedades,!funciones!y!eventos!que!tiene.!! ! Ilustración'69:'Vista'interna'de'la'clase'MViewer'' Dentro! de! cada! clase! se! listan! e! indexan! de! forma! tabulada! las! propiedades,! funciones!y!eventos!emitidos.! Transición! 144! ! Ilustración'75:'Portada'de'Inicio'de'la'página'web'' ! Ilustración'76:'Sección'Demostración'+'API' Universidad!de!Las!Palmas!de!Gran!Canaria! 145! ! Ilustración'77:'Sección'Origen' ! Ilustración'78:'Sección'Contacto' Cuenta!con!las!siguientes!secciones:! • Inicio.h!Explicación!de!las!características!principales!del!componente.! • Demostración'+'API.h!Explicación!y!acceso!a!estos!elementos.! Transición! 146! • Origen.h!Explicación!del!origen!del!desarrollo!del!componente.! • Contacto.h!Referencia!del!desarrollador.! 11.3. Aplicación*del*Cliente* La!fase!de!transición!se!realizó!teniendo!contacto!permanente!con!el!cliente.!En! este! caso! se! trata! de! otro! proyecto! de! fin! de! carrera! titulado! “Diseño' y' prototipado' de' una' plataforma' web' sobre' base' cartográfica' para' el' análisis' de' riesgos'en'entornos'industriales”!desarrollado!por!Nayarit!Santana!Pacheco.!! Este!caso!de!uso!ha!adaptado!el!funcionamiento!del!componente!visor!de!planos! para!la!representación!de!accidentes!y!la!gestión!de!los!riesgos!producidos!por! estos!en!un!entorno!multiusuario.! En!esta!fase!donde!se!ha!llevado!a!cabo!la!integración!del!componente!en!esta! aplicación,!el!cliente!ha!contado!con!toda!la!ayuda!posible.!Principalmente!se!han! realizado!las!siguientes!actividades:! • Reuniones!para!llevar!a!cabo!la!integración!del!visor.!! • Encuentro!de!nuevas!necesidades.! • Localización!y!corrección!de!errores.! Las!siguiente!ilustración!muestran!el!visor!integrado!en!la!aplicación!del!cliente.! ! Ilustración'79:Vista'de'simulación'de'la'aplicación'SIMREI' ! ! ! ! 147! ! Capítulo*12.8 * Conclusiones*y*Principales*Aportaciones* Para! comenzar,! me! gustaría! dejar! patente! que! el! proyecto! me! ha! brindado! la! oportunidad!de!enfrentarme!a!un!problema!complejo!y!completo.!Elaborando!la! solución!desde!la!captación!de!requisitos!hasta!la!entrega!del!mismo,!algo!que! nunca!había!realizado.!! Un!proyecto!complejo!por!multitud!de!factores;!el!tener!que!afrontar!la!creación! de! un! producto! con! unas! dimensiones! considerables;! el! aprender! un! lenguaje! nuevo,!o!el!desarrollar!un!producto!que!iba!a!ser!integrado!en!otro!proyecto;!han! sido! algunas! de! ellas.! Pero,! la! mayor! de! las! dificultades! ha! estado! en! la! carga! gráfica!del!mismo;!ya!que,!durante!el!desarrollo!de!la!carrera!sólo!he!tenido!una! asignatura! orientada! a! la! programación! gráfica,! por! lo! que! mi! dominio! de! las! interfaces!gráficas!era!mínima.!! Un! proyecto! completo! por! la! cantidad! de! detalles! a! desarrollar! y! a! tener! en! cuenta.! No! sólo! se! trataba! de! crear! un! visor;! al! tratarse! de! un! componente! integrable!se!requería!un!encapsulamiento!del!producto,!ofreciendo!métodos!de! entrada!y!de!salida.!Por!ello,!el!componente!debía!documentar!estas!interfaces!y! ofrecer!un!acceso!sencillo!y!cómodo!a!la!misma!dando!lugar!a!la!creación!de!la! referencia! web! de! la! documentación.! Por! otro! lado,! se! requería! mostrar! la! funcionalidad!dada!y!también!ofrecer!junto!con!el!componente!un!ejemplo!del! uso! de! la! API! proporcionada! originando! la! creación! de! la! aplicación! de! demostración.!! Durante!el!tiempo!de!desarrollo!se!ha!realizado!un!proceso!ingenieril!completo.! Ha!cubierto!todas!las!etapas!ingenieriles!del!desarrollo!de!software;!la!captación! y! el! análisis! de! requisitos,! el! diseño! de! la! solución,! su! implementación! y! la! transición!o!entrega!de!los!productos!desarrollados.!! Produce! especial! satisfacción! observar! los!resultados! obtenidos,! por! la! gran! cantidad!de!actividades!diferentes!realizadas,!la!construcción,!la!documentación! o!la!entrega,!pero!sobre!todo!por!el!hecho!de!que!el!visor!ya!está!siendo!utilizado! en!otro!desarrollo.!! Por! otra! parte,! se! ha! creado! un! producto! que! mejorará! las! labores! de! investigación!realizadas! en! la! División! del! ! CEANI! del! Instituto! Universitario! SIANI.! Permite! desarrollar! nuevas! aplicaciones! de! simulación! online! que! incorporen!características!de!geo!posicionamiento,!!lo!que!facilita!la!operativa!del! personal! al! dar! una! mayor! flexibilidad! al! poder! acceder! a! las! mismas! desde! cualquier!navegador.!! Conclusión! 148! Ya!que!el!proyecto!se!ha!realizado!utilizando!la!tecnología!Flash!y!a!que!ésta!se! encuentra! en! entredicho! en! los! últimos! años,! comparándose! con! HTML! 5,! me! gustaría!terminar!reflejando!mi!opinión!personal!sobre!este!debate!tecnológico.!! 12.1. Flash*vs*HTML*5,*Opinión*personal** Quiero!comenzar!esta!exposición!afirmando!que!HTML!5!es!una!tecnología!con! un!futuro!prometedor,!con!vistas!de!ser!ampliada,!y!seguro!que!será!la!tecnología! que!predominará!en!los!desarrollos!web!en!los!próximos!años.!! También!quiero!recalcar!que!al!comienzo!de!este!proyecto!no!existía!este!debate.! Todavía!no!habían!aparecido!las!primeras!declaraciones!a!favor!de!HTML!5!y!en! contra!del!uso!de!Flash.!Los!principales!argumentos!en!contra!del!uso!de!Flash! aparecieron!por:! • Sus!problemas!de!seguridad.!! • El!consumo!energético!que!conlleva!su!utilización.!! Todo!esto!aparece!en!un!momento!de!despegue!tecnológico!de!los!dispositivos! móviles;!terminales!con!una!batería!limitada!y!en!los!que!se!pretende!prologar!al! máximo!la!duración!de!esta.! En!el!momento!actual,!Adobe!ha!solucionado!bastantes!problemas!de!seguridad!y! utiliza!la!tecnología!Adobe!Air!basada!en!flash!para!los!terminales!móviles.!La! marca!Flash!como!tal,!ha!quedado!marcada!por!este!debate,!lo!que!les!ha!llevado! a! perder! la! utilización! del! plughin! Adobe! Flash! Player! en! gran! parte! de! los! terminales!móviles.! A!pesar!del!declive!producido,!expondré!el!por!qué!todavía!es!útil!utilizar!una! tecnología!como!Flash!para!un!desarrollo!como!el!que!se!ha!realizado,!en!lugar!de! comenzar!a!desarrollar!en!HTML5.! • HTML! 5! todavía! no! es! un! estándar,! la! previsión! actual! indica! que! se! estandarizará!a!finales!del!año!2014.!A!partir!de!este!año,!se!ampliará!esta! versión!con!las!versiones!HTML!5.1!y!HTML!5.2.! • En!el!momento!de!redacción!de!esta!memoria,!no!todos!los!navegadores! soportan!de!igual!manera!todas!las!características!del!borrador!HTML!5.! En! cambio,! existen! plughins! de! Flash! para! prácticamente! todos! los! navegadores!que!se!pueden!encontrar!en!un!entorno!de!escritorio.! • Al! ser! un! borrador,! sus! características! ! no! son! definitivas,! por! lo! que! todavía!es!susceptible!a!futuros!cambios.! • HTML!5!todavía!no!cuenta!con!un!conjunto!de!herramientas!comparables! a! las! que! proporcionaba! Adobe! con! su! framework! Flex! 3.0! (versión! utilizada!en!este!proyecto)! o No!existe!ninguna!librería!de!componentes!gratuita!en!HTML!5,!lo! suficientemente! integrada! y! probada! para! la! realización! de! un! Universidad!de!Las!Palmas!de!Gran!Canaria! 149! proyecto! complejo.! Esta! carencia! complicaría! la! realización! del! proyecto!en!tareas!que!no!pertenecen!a!la!temática!del!problema.! o En!cambio,!Adobe!con!el!framework!Flex!3.0,!proporciona!todo!un! conjunto!de!librerías!con!herramientas!útiles!testeadas!y!válidas,! así! como! la! documentación! necesaria! para! centrar! las! tareas! de! ingeniera!solo!en!el!objetivo!del!proyecto.! o En!el!marco!de!la!realización!de!un!proyecto!de!carrera,!donde!el! tiempo!es!limitado,!la!investigación!de!la!tecnología!HTML!5,!y!el! desarrollo! de! componentes! secundarios,! supondría! un! coste! adicional!e!innecesario.! ! Para!finalizar,!recalcar!que!Flash!todavía!no!ha!dejado!de!estar!soportado!por!los! principales!actores!de!la!industria!del!software,!p.ej.!Google!sigue!utilizándolo!en! varios! de! sus! productos! más! populares,! el! navegador! Google! Chrome! y! la! plataforma!de!reproducción!de!videos!Youtube.! ! ! 151! ! Capítulo*13.8 Trabajos*Futuros* Si! bien! se! ha! creado! un! producto! completo,! siempre! es! susceptible! de! ser! mejorado!y!ampliado.!En!este!capítulo!se!hace!hincapié!!en!aquellos!aspectos!que! pueden!ser!mejorados.!Se!lista!además!un!conjunto!de!temáticas!donde!puede!ser! utilizado!el!componente!visor!para!la!representación!de!entidades.! 13.1. Aspectos*a*mejorar* • Composición!de!un!plano!conforme!a!varias!imágenes.! • Mostrar!diferentes!imágenes!a!diferentes!niveles!de!escala.! • Utilización!de!servidores!de!planos.! • Ampliación! de! las! características! configurables! de! la! apariencia! de! las! formas.! • Representación!de!formas!complejas!como!polígonos.! • Creación! de! un! subcomponente! visor! de! las! propiedades! de! la! entidad! seleccionada.! • Creación!de!una!herramienta!regla,!para!medir!distancias.! • Posibilidad! de! establecer! un! modo! de! bloqueo,! que! solo! visione,! sin! mover,!ni!escalar!el!plano.! • Adición!de!modos!de!interpolación!de!posición!más!complejos.! • Adición!de!interpolación!en!el!color!de!representación!de!las!formas.! 13.2. Temáticas* Se!propone!además!la!utilización!del!visor!en!los!siguientes!campos:! • Posicionamiento' online' de' dispositivos' geo' localizados.h! Cualquier! tipo! de! dispositivo! geo! localizado! puede! ser! objeto! de! un! proyecto! utilizando!el!componente! visor.!Esto!permite!disponer!en! la!web!de!un! acceso!inmediato!a!su!ubicación.!Se!podría!además,!plantear!el!mostrar!la! trayectoria! que! ha! seguido! el! dispositivo! en! un! periodo! de! tiempo,! o! mostrar!información!variada!de!algún!tipo!de!evolución!que!haya!seguido! el!dispositivo,!o!mostrar!las!condiciones!medioambientales!a!las!que!está! sometido!el!dispositivo.!! ' ' Trabajo!futuro! 152! • Generación' de' planes' integrales' de' seguridad.h! En! el! ámbito! de! la! seguridad! de! instalaciones,! se! realizan! informes! de! seguridad! donde! se! determina!el!grado!de!seguridad!del!recinto!y!se!toman!decisiones!sobre! que! elementos! son! necesarios! y! donde! deben! estar! posicionados.! Una! herramienta! enfocada! a! la! elección! y! posicionamiento! de! elementos! de! seguridad,!y!a!la!determinación!del!grado!de!seguridad!que!se!establece! en! la! instalación,! puede! minimizar! el! coste! de! la! implantación! del! plan! integral.! • Organizador' de' eventos' lúdicos.h! Aplicación! para! la! organización! de! recursos!humanos!y!técnicos! en!un! recinto!cerrado.! El!visor!cubriría! la! faceta!de!posicionamiento!y!selección!de!recursos.!Esta!aplicación!podría! tener! dos! tipos!de! usuarios,! el! organizador! y! el! trabajador! que! recibe! directrices.! El! organizador! ve! la! ubicación! de! sus! recursos! y! en! tiempo! real! podría! ordenar! un! cambio! de! posición! a! los! mismos,! o! el! ejecutar! algún!tipo!de!tarea.!! ! ! ! 153! ! Bibliografía* ! Cole,!A.! ! 2008! Learning'Flex'3:'Getting'up'to'Speed'with'Rich'Internet' Application."United"States"of"América,"O"5Reilly"Media," Inc.!2008.!304p! ! ' Donatis,!A.!de! ! 2006! Advanced'ActionScript'components:'Mastering'the' Flash'components.!United!States!of!América,! FriendSof.!2006.!558p! ! ' Durán,'A.'&'Bernárdez,'B.! ! 2002! Metodología*para*la*Elicitación*de*Requisitos*de* Sistemas'Software.!Sevilla!2002,!Edición!2.3!en! http://www.lsi.us.es/~beat/.!82p.! ! ' Gamma,!E.!&!Helm,!R.!&!Johnson,!R.!&!Vlissides,!J.! 2003! Patrones'de'diseño:'Elementos'de'software'orientado'a' objetos.!Traducción!en!Madrid.!Pearson!Educación,! S.A!.2003.!384p.! ! ' Kazoun,!C.!&!Lott,!J.! ! 2008! Adobe'Flex'3."United"States"of"America,"O"4Reilly" Media,!Inc.!2008.!636p.! ! ' Larman,!Craig! ! 2003! UML'y'patrones':'una'introducción'al'análisis'y'diseño' orientado'a'objetos.!Editorial!Alhambra!S.!A.!2003.! 590p.! ! ' Lott,!J.!&!Patterson,!D.! ! 2007! ActionScript'3'with'Design'Patterns.!United!States!of! America,!Peachpit!Press.2007.!286p.! ! ' Mook,!C.! ! 2008! ActionScript'3.0.!Traducción!en!Madrid.!Anaya! Multimedia,!S.A.!2008.!1088p.! ! ' Nielsen,!J.! ! 2000! Usabilidad.'Diseño'de'sitios'web.!Traducción!en! Madrid.!Pearson!Educación!S.A.!2000.!432p.! ! ' ! !