scieee Open visual document viewer

3DO

Pérez Pérez, Sebastián

Abstract

3DO es un observatorio oceánico virtual accesible vía web. Permite la administración de una serie de dispositivos y sensores con su información y metainformación para ser publicado y que cualquier persona pueda acceder de manera remota para conocer su actividad y los datos recabados en sus expediciones. La aplicación tiene un perfil divulgativo donde mediante recursos gráficos e interactivos, como son los globos terráqueos virtuales, se pretende captar la atención para acercar la ciencia a la sociedad.

Full text

3DO: 3D Obse a o y, un obse a o io ma ino i ual P oyec o Fin de Ca e a Sebas ián Pé ez Pé ez Las Palmas de G an Cana ia Julio 2014 P oyec o in de ca e a de la Escuela de Ingenie ía In o má ica de la Uni e sidad de Las Palmas de G an Cana ia p esen ado po el alumno: SEBASTIÁN PÉREZ PÉREZ Tí ulo del P oyec o : 3DO: 3D Obse a o y, un obse a o io ma ino i ual Tu o : Ja ie Sánchez Pé ez DEDICATORIA A mi amilia AGRADECIMIENTOS Quie o da las g acias a odas las pe sonas que han hecho posible es e p oyec o. En p ime luga , a mis pad es Agus ín y Luisa y a mi no ia Zaida, po habe me apoyado a lo la go de odo es e iempo, po habe me ayudado en odo lo que ha es ado en sus manos y más, po habe es ado a mi lado, an o en los momen os buenos como en los malos, po habe me sopo ado cuando el es és y el agobio hacía mella en mí y habe me oxigenado pa a segui adelan e cuando más lo he necesi ado. También engo que hace mención a mi abuelo Juan, una pe sona que me ha acompañado du an e odo mi p oceso o ma i o desde bien pequeño siendo en g an medida el despe ado y la ca eína que me ha man enido despie o en las mad ugadas de es udio. Y po supues o al es o de mi amilia. A mi u o Ja ie Sánchez Pé ez, la pe sona que ha hecho posible es e p oyec o. G acias po oda la ayuda que me has b indado y po habe me o ecido siemp e o al disponibilidad cuando lo he necesi ado independien emen e del abajo que u ie as. A la Pla a o ma Oceánica de Cana ias, y en especial a Edua do Que edo, Da id Ho a y E ic Delo y, po el iempo que han in e ido en soluciona me las dudas que me iban su giendo, po su implicación en el p oyec o desde el p ime día y po habe me dado la posibilidad de dis u a de una beca pa a conoce PLOCAN desde den o y sus ac i idades. Y po úl imo, a las pe sonas con las que he compa ido es a boni a e apa, en especial a A idane Rosa io, mi compañe o de ba allas a lo la go de es a gue a. Índice de con enido Capí ulo 1: In oducción....................................................................................................................1 1.1. La Pla a o ma Oceánica de Cana ias........................................................................................2 1.1.1. Mo i ación........................................................................................................................2 1.1.2. P oceso de Fo mación.......................................................................................................3 1.1.3. Es uc u a O ganiza i a.....................................................................................................4 1.1.4. Es uc u a Física................................................................................................................5 1.1.5. Es uc u a Funcional.........................................................................................................5 1.2. Obje i os...................................................................................................................................7 1.3. Es uc u a del Documen o........................................................................................................7 Capí ulo 2: Es ado Ac ual del A e...................................................................................................9 2.1. Di ulgación de Da os Oceanog á icos.....................................................................................9 2.1.1. Na ional Da a Buoy Cen e (NDBC)..............................................................................10 2.1.2. In eg a ed Ocean Obse ing Sys em (IOOS)..................................................................11 2.1.3. SeaDa aNe CDI..............................................................................................................12 2.1.4. Obse ing Sys em Moni o ing Cen e (OSMC).............................................................13 2.1.5. Red Ma ino Ma í ima Maca onésica (R3M)...................................................................14 2.2. Sis emas de In o mación Geog á ica (GIS)............................................................................15 2.2.1. Google Ea h...................................................................................................................16 2.2.2. He e.................................................................................................................................17 2.2.3. Google Maps...................................................................................................................18 2.2.4. Bing Maps.......................................................................................................................19 2.2.5. A cGIS............................................................................................................................20 2.2.6. OpenS ee Map...............................................................................................................21 2.2.7. OpenLaye s.....................................................................................................................22 Capí ulo 3: Plani icación del P oyec o............................................................................................23 3.1. Me odología de Desa ollo.....................................................................................................23 3.1.1. P oceso Uni icado de Desa ollo....................................................................................23 3.1.2. Fases del P oceso Uni icado de Desa ollo.....................................................................24 3.1.3. Ven ajas y Des en ajas del P oceso Uni icado de Desa ollo.........................................26 1.1.3. Es uc u a O ganiza i a La es uc u a o ganiza i a de PLOCAN es a di idida en a ios ó ganos de gobie no y de aseso amien o. Cada uno de ellos con sus di e en es unciones. El Consejo Rec o es el máximo ó gano de gobie no y es a compues o po ep esen an es del Minis e io de Economía y Compe i i idad y del Gobie no de Cana ias. Las unciones de es e ó gano son las de ija las di ec ices del p oyec o, las eglas, el uncionamien o del Conso cio,la es a egia de ges ión y po úl imo ap oba el p esupues o y las cuen as anuales de la ins i ución. La Comisión Ejecu i a es el ó gano enca gado del seguimien o y ejecución de las ac i idades desa olladas po PLOCAN y po lo an o los esponsables de p opone el p esupues o anual y la línea de ac uación del siguien e año. Su composición ambién es á o mada po el Minis e io y el Gobie no de Cana ias. La P esidencia de ambos ó ganos es o a o ia en e el MEC y el Gobie no de Cana ias donde una ins i ución p esidi á el Consejo Rec o y la o a la Comisión Ejecu i a, ello en ciclos de dos años al e nándose un ó gano y o o. Po úl imo, en el ámbi o del Gobie no de PLOCAN, el siguien e ni el, ya in e namen e, es á compues o en p ime a ins ancia po el Di ec o como máximo esponsable, seguidamen e del Ge en e. Además del apa a o de gobie no exis en dos ó ganos consul i os de aseso amien o o mados po expe os en la ma e ia. Po un lado, el Comi é Aseso de Ac i idades Socioeconómicas, enca gado de aseso a sob e opo unidades y es a egias a segui . Po o o lado, el Comi é Aseso Cien í ico y Técnico, se cen a en el aseso amien o de ac i idades cien í ico- ecnológicas y de acep ación de pe sonal écnico y cien í ico ex e no a la ins i ución. 4 Consejo Rec o Di ec o Ge en e Adminis ación Técnicos Comisión Ejecu i a Comi é Aseso de Ac i idades Socioeconómicas Comi é Aseso Cien í ico y Técnico 1.1.4. Es uc u a Física Como se ha comen ado en los subapa ados p e ios, la ins alación p incipal de PLOCAN se á una pla a o ma si uada al bo de de la pla a o ma con inen al y con acceso ce cano a al as p o undidades. Lógicamen e, po los cos es que una in aes uc u a de es e ipo conlle a, es un espacio limi ado y po lo an o el núme o de pe sonas que pod á hace uso de ella al mismo iempo es educido. Debido a és o su ge la necesidad de unas ins alaciones mas ex ensas en ie a i me donde el es o de pe sonas que no puedan es a en la pla a o ma puedan desa olla su abajo. Po lo an o, PLOCAN es a á es uc u ada en dos espacios, una pla a o ma oceánica y unas ins alaciones e es es, además de las pe inen es comunicaciones necesa ias pa a el co ec o uncionamien o de sus ac i idades. La pla a o ma oceánica Es una es uc u a au ónoma ija en medio del océano al Es e de G an Cana ia donde pueden habe 40 pe sonas abajando a la ez. Es á se á la in aes uc u a p incipal que se i á como base pa a los ehículos y he amien as subma inas, como sopo e p incipal pa a el banco de ensayos y expe imen ación en ma e ia cien í ica y ecnológica en océano p o undo y de ap o echamien o de ene gías eno ables. La pla a o ma debe pe mi i el acceso y la e acuación an o po ía ma í ima como en helicóp e o. Es p imo dial además un buen sis ema de comunicación pa a pe mi i el acceso a los da os al pe sonal de ie a. La base en ie a El edi icio en ie a i me si uado en Talia e se á el cen o adminis a i o y además dispond á de labo a o ios y despachos pa a el abajo del pe sonal que no puede es a en la pla a o ma. Es a ins alación es á equipada con odo el ma e ial de o icina necesa io además de alle y labo a o ios pa a la in es igación y el desa ollo. 1.1.5. Es uc u a Funcional Desde el pun o de is a uncional, la Pla a o ma Oceánica de Cana ias es á o ganizada en cinco impo an es módulos indi iduales esenciales pa a la ins i ución, y que p e enden cub i las dis in as necesidades cap adas en el mundo cien í ico, académico, ecnológico y socioeconómico de la sociedad in e nacionalmen e. A con inuación se de allan cada uno de es os módulos uncionales. 5 El obse a o io oceánico Se basa en un ex enso sis ema de disposi i os y senso es que pe mi en la obse ación y medición de magni udes a mos é icas y oceánicas que son de i al u ilidad pa a in inidad de aplicaciones cien í icas y medioambien ales. En es a pa e de PLOCAN es donde se cen a el ac ual P oyec o 3DO, que iene la misión de hace llega al máximo posible de pe sonas oda es a in o mación de la mane a más sencilla y cómoda pa a el ecep o . El banco de ensayos O ece una in aes uc u a donde sea muy ácil hace expe imen os y p uebas a al as p o undidades o en condiciones de océano p o undo, que de no se po la pla a o ma se ía muy di icul oso y ca o. La base de ehículos Facili a el despliegue y ecogida de ehículos subma inos. Sin la pla a o ma, cada ez que se quie e desplega un disposi i o pa a una misión es necesa io sali desde pue o en una emba cación y na ega du an e millas pa a alcanza las condiciones y p o undidades necesa ias. Y es o conlle a un cos e económico además de es a suje o a las condiciones me eo ológica y es ado del ma . Po lo an o, con ello se p e ende p o ee de un pue o en al a ma donde ealiza es e ipo de ac i idades de o ma sencilla, con las he amien as necesa ias disponibles y sin limi aciones me eo ológicas. El cen o de o mación PLOCAN iene las he amien as, los p o esionales y los disposi i os necesa ios pa a o ece la mejo o mación en el ámbi o oceánico. Dado que es á o mado po p o esionales al amen e cuali icados, que dispone de las úl imas ecnologías en cuan o a obse ación oceanog á ica se e ie e y dispone de ins alaciones p epa adas pa a ac i idades o ma i as, ap o echa es a coyun u a pa a ejecu a p og amas o ma i os in e nacionales de al a especialización. El cen o de inno ación Haciendo uso de las posibilidades que o ece la pla a o ma, su pe sonal especialis a, las he amien as y la inanciación PLOCAN cen a muchos es ue zos en la inno ación cien í ica y ecnológica en el ámbi o de las ciencias del ma . 6 1.2. Obje i os El obje i o undamen al del p oyec o es desa olla un po al web que unciona á como obse a o io 3D mul imedia pa a las ac i idades de di ulgación del obse a o io oceánico de La Pla a o ma Oceánica de Cana ias (PLOCAN). Las a eas que se an a abo da pa a ealiza dicha ges ión son las siguien es: a) Visualización de ehículos, pla a o mas de obse ación y disposi i os de adquisición de da os, ijos o mó iles, si uadas en el medio ma ino, a a és de un globo e áqueo i ual en el que el usua io pueda na ega . b) Ges ión de los elemen os del obse a o io ales como la p opia pla a o ma y disposi i os de ins umen ación, an o conjun amen e en o ma de pla a o mas de obse ación como indi idualmen e en o ma de senso es. c) Ges ión de los usua ios y pe iles de pe misos y con ola el acceso a pa es de la aplicación en base a es os pe misos. d) Impo ación y mues a de da os oceánicos y a mos é icos ecabados po las pla a o mas de obse ación usando es ánda es OGC. Además, como alo añadido, se p e ende usa como base de desa ollo odo el so wa e lib e que sea posible, in es igando y buscando al e na i as al so wa e p opie a io con he amien as simila es bajo licencias abie as pa a consegui así una disminución del cos o y po lo an o un mayo a ac i o desde el pun o de is a come cial. 1.3. Es uc u a del Documen o A lo la go del p esen e documen o se da á una isión cla a de cada una de las e apas que se han ido lle ando a cabo du an e el desa ollo del p oyec o. Median e g á icos, diag amas y ex os explica i os se in en a á plasma de alladamen e el p oceso de c eación del so wa e desde las p ime as ases has a la ob ención inal del p oduc o. Se ecomienda al lec o que siga el lujo no mal del documen o, ya que en la mayo ía de los casos cada apa ado depende del an e io , sob e odo en el capí ulo 5 sob e el desa ollo del p oyec o. La o ganización del documen o es la siguien e: •Es ado ac ual del a e. En es e capí ulo se hace un es udio dando a conoce las di e en es aplicaciones que gua dan elación con el p oblema que se p e ende esol e con el p oyec o. Se in en a á explica sus ca ac e ís icas y qué pa es del p oblema consigue soluciona , o po el con a io, cuáles no son esuel as. •Plani icación del p oyec o. Es e capí ulo explica la plani icación que se ha lle ado a cabo pa a el desa ollo del p oyec o, así como la me odología de desa ollo que se ha usado. También incluye el plan de abajo y el p esupues o de allado del cos e o al del p oyec o. 7 •He amien as y ecnologías. En el p esen e capí ulo se explican cada una de las ecnologías o he amien as que han sido necesa ias pa a desa olla el p oyec o. Además se enume an an o los ecu sos so wa e como ha dwa e pa icipan es en la implemen ación del p oyec o. •Desa ollo del p oyec o. Es e capí ulo concen a oda in o mación p opia del desa ollo comple o de la aplicación. Es á es uc u ado en g andes apa ados que se co esponden con las ases clásicas de un p oyec o so wa e ( equisi os, análisis, diseño, implemen ación y p uebas). Coincide con el lujo de abajo lle ado a cabo desde la lis a de ca ac e ís icas, conocimien o del dominio de la aplicación, ob ención de los casos de uso e iden i icación de los ac o es del sis ema, el análisis y pos e io diseño, implemen ación y p uebas del p oduc o inal. •Conclusiones y abajo u u o. Se de allan las conclusiones ob enidas as la inalización del p oyec o y se hace una e lexión sob e posibles ampliaciones en sucesi as e siones de la aplicación. •Anexos. Se complemen a con in o mación que puede esul a ú il al lec o como un manual de usua io de la aplicación. 8 Capí ulo 2: Es ado Ac ual del A e En es e segundo capí ulo se p e ende da a conoce al lec o una mues a ep esen a i a de dis in as aplicaciones que pod ían ene aspec os en común con es e p oyec o. Debido a que no se ha encon ado ninguna aplicación que o ezca las mismas uncionalidades que cub e 3DO, se abo da á di idiéndolo en secciones basadas en la uncionalidad que o ecen. Po lo an o, el p esen e capí ulo es a á o ganizado de la siguien e mane a: 1. Se ha á un mues eo de aplicaciones cuyo obje i o sea p omo e la di ulgación cien í ica y publica da os cien í icos ecabados po expediciones o p oyec os en el ámbi o de la oceanog a ía. 2. Se in oduci án los sis emas de in o mación geog á ica o GIS. En es a ca ego ía se incluyen an o las aplicaciones de mapas planos como de globos e áqueos i uales. Es os sis emas es án basados en la geo e e enciación. 2.1. Di ulgación de Da os Oceanog á icos En es e apa ado se mos a án cinco aplicaciones web cuyo obje i o es la di ulgación de da os oceanog á icos ob enidos a pa i de una ed de pla a o mas de obse ación. Cada una de es as he amien as compa en la geolocalización de disposi i os en mapas y la ob ención de da os y me ada os. Po o o lado, se di e encian en o ma os y o mas de p esen a dichos da os al usua io inal. En e las he amien as con amos con algunas ges ionadas po o ganizaciones no eame icanas, o a po eu opeas e incluso una en la que pa icipa la Pla a o ma Oceánica de Cana ias, o ganización pa a la cuál se es a desa ollando es e p oyec o. 9 2.1.1. Na ional Da a Buoy Cen e (NDBC) El Cen o Nacional de Da os de Boyas (NDBC), pa e de la Adminis ación Nacional Oceanog á ica y A mos é ica Ame icana (NOAA), ope a y con ola da os de más de 100 boyas ondeadas, 39 en océano p o undo. NDBC con ola y dis ibuye da os medioambien ales a más de 570 es aciones asociadas pa a la p epa ación de ale as me eo ológicas p incipalmen e. Es as boyas hacen mediciones de las siguien es magni udes: p esión a mos é ica, di ección del ien o, elocidad y á aga, empe a u a del ai e y el agua, espec o de ene gía de las olas (no di eccional y di eccional), al u a de la columna de agua (de ección de sunamis), humedad ela i a, elocidad de co ien es ma inas, p ecipi ación, salinidad, adiación sola , isibilidad, ni el y calidad del agua, e c. Todas es as mediciones es án accesibles desde una he amien a web, donde cada una de es as boyas es án geolocalizadas en un mapa. Cuando un usua io selecciona alguna de es as boyas se ob iene la in o mación y las mediciones median e g á icas es á icas. Figu a 2.1. NDBC 10 2.1.2. In eg a ed Ocean Obse ing Sys em (IOOS) El Sis ema In eg ado de Obse ación del Océano (IOOS) conec a los da os de las miles de he amien as, desde los sa éli es a los senso es subma inos, que los ecogen del océano y de las cos as. IOOS ha ido ampliando las uen es de da os y aumen ando el acceso a los da os exis en es. La in o mación es á disponible en iempo eal, así como e ospec i amen e. Es e ca álogo de da os o ece un ácil acceso a es a in o mación median e un mapa de pla a o mas de obse ación que da acceso a los da os ecabados y a la desc ipción o mal de sus senso es en o ma o Senso ML. Figu a 2.2. IOOS 11 2.1.3. SeaDa aNe CDI Las in aes uc u as de SeaDa aNe conec an 90 cen os nacionales de da os oceanog á icos y cen os de da os ma inos de 35 países ibe eños pa a odos los ma es eu opeos. Los cen os de da os manejan g andes conjun os de da os ma inos y oceánicos. El obje i o p incipal es p opo ciona un sis ema in eg ado que o ezca una isión gene al y pe mi a el acceso a es os ecu sos de da os u ilizando un en oque de ed dis ibuida. És o se log a median e el se icio Common Da a Index (CDI) que pe mi e ecupe a da os ( empe a u a, oxígeno, salinidad, nu ien es , ...) a pa i de oda su ed de pla a o mas de obse ación. La in e az de consul a CDI pe mi e ealiza búsquedas po un conjun o de c i e ios. En onces se mues a los esul ados y se ubican en un mapa. Al hace clic en el icono de la pan alla ecupe a los me ada os del conjun o de da os dando la in o mación sob e el qué, dónde, cuándo, cómo y quién del conjun o de da os. La in e az cuen a con un mecanismo de comp as. Todos los usua ios pueden consul a lib emen e y na ega en el CDI; Sin emba go la p esen ación de las solici udes de acceso a da os a a és de la ces a de la comp a equie e que los usua ios se egis en en SeaDa aNe . Figu a 2.3. SeaDa aNe CDI 12 2.1.4. Obse ing Sys em Moni o ing Cen e (OSMC) La OSMC eúne las pla a o mas de obse ación oceanog á ica (ba cos, boyas, ma eóg a os, e c) en un único sis ema in eg ado. Es a he amien a p opo ciona moni o eo en iempo eal de los ac i os del sis ema de obse ación in eg ados, que hace que los da os es én accesibles de o ma ácil de usa y a la ez los uni ica. Los da os son se idos u ilizando una se ie de webse ices como OPENDAP y SOS y o ma os de a chi o desca gable, po lo que se puede accede en los na egado es web y he amien as de análisis de esc i o io. Figu a 2.4. OSMC 13 2.2.5. A cGIS A cGIS es el nomb e de un conjun o de p oduc os de so wa e en el campo de los Sis emas de In o mación Geog á ica p oducido y come cializado po ESRI. Se ag upan a ias aplicaciones pa a la cap u a, edición, análisis, a amien o, diseño, publicación e imp esión de in o mación geog á ica. Como sis ema de in o mación, A cGIS es accesible desde clien es de esc i o io, na egado es web, y e minales mó iles que se conec an a se ido es de depa amen o, co po a i os o con a qui ec u as de Cloud Compu ing. Pa a los desa ollado es, A cGIS p opo ciona he amien as que les pe mi i án c ea sus p opias aplicaciones. Figu a 2.10. A cGIS 20 2.2.6. OpenS ee Map OpenS ee Map, ambién conocido como OSM, es un p oyec o colabo a i o pa a c ea mapas lib es y edi ables. Los mapas se c ean u ilizando in o mación geog á ica cap u ada con disposi i os GPS mó iles, o o o og a ías y o as uen es lib es. Es a ca og a ía, an o las imágenes c eadas como los da os ec o iales almacenados en su base de da os, se dis ibuye bajo licencia abie a Open Da abase License. Los usua ios egis ados pueden subi sus azas desde el GPS y c ea y co egi da os ec o iales median e he amien as de edición c eadas po la comunidad. OpenS ee Map acili a los da os en b u o pa a su desca ga desde su p opia página web. És os pueden se modi icados pa a cada p oyec o así como p esen ados con es ilos de ende izado pe sonalizados. A pa i de los da os del p oyec o OpenS ee Map no sólo se pueden p oduci mapas de ca e e as, sino ambién pa a la c eación de mapas de sende ismo, mapas de u as ciclis as, mapas náu icos, mapas de es aciones de esquí, e c. También se usan en aplicaciones pa a el cálculo de las u as óp imas pa a ehículos y pea ones. G acias a su licencia abie a los da os b u os son de lib e acceso pa a el desa ollo de o as aplicaciones. Figu a 2.11. OpenS ee Map 21 2.2.7. OpenLaye s OpenLaye s es una biblio eca de Ja aSc ip de código abie o bajo una de i ación de la licencia BSD pa a mos a mapas in e ac i os en los na egado es web. OpenLaye s o ece un API pa a accede a di e en es uen es de in o mación ca og á ica en la ed: Web Map Se ices, Mapas come ciales, Web Fea u es Se ices, dis in os o ma os ec o iales, mapas de OpenS ee Map, e c. Inicialmen e ue desa ollado po Me aCa a en junio del 2006. Desde no iemb e del 2007 es e p oyec o o ma pa e de los p oyec os de Open Sou ce Geospa ial Founda ion. Ac ualmen e el desa ollo y el sopo e co e a ca go de la comunidad de colabo ado es. Figu a 2.12. OpenLaye s Exis e o a he amien a llamada ReadyMap, que es un nue o conjun o de he amien as de código abie o en Ja aSc ip pa a la p esen ación de mapas 3D basada OpenLaye s. ReadyMap u iliza WebGL y el elemen o Can as de HTML5. 22 Capí ulo 3: Plani icación del P oyec o En es e capí ulo se explica la plani icación del p oyec o. En él se de alla la me odología de desa ollo que se ha usado y po qué, el plan de abajo lle ado a cabo y su empo ización y po úl imo un p esupues o de allado del cos e del p oyec o. 3.1. Me odología de Desa ollo Respec o a la me odología a u iliza se u iliza án las écnicas de desa ollo so wa e p opias del P oceso Uni icado de Desa ollo (PUD). 3.1.1. P oceso Uni icado de Desa ollo El P oceso Uni icado de Desa ollo do a de un ma co de abajo gené ico que puede especi ica se pa a una g an abanico de sis emas so wa e con di e en es á eas de aplicación, pa a dis in as con igu aciones de o ganización y pa a cualquie amaño de p oyec o. El P oceso Uni icado de Desa ollo u iliza el Lenguaje Uni icado de Modelado (UML) como pa e esencial pa a el modelado del p oduc o so wa e en cada una de sus e apas. El P oceso Uni icado se epi e a lo la go de una se ie de ciclos que cons i uyen la ida de un sis ema. Al inal de cada uno de ellos se ob iene una e sión inal del p oduc o, que no sólo sa is ace cie os casos de uso, sino que es á lis a pa a se en egada y pues a en p oducción. En caso de que uese necesa io publica o a e sión, debe ían epe i se los mismos pasos a lo la go de o o ciclo. El man a del P oceso Uni icado de Desa ollo se basa en cua o ideas cla es: 23 •I e a i o e inc emen al. Es á compues o po cua o ases denominadas Inicio, Elabo ación, Cons ucción y T ansición. Cada una de es as ases es án compues as po una se ie de i e aciones que esul a en un inc emen o del p oduc o al que a añadiendo uncionalidades en cada una de las i e aciones. Cada una de es as i e aciones pasa po cada e apa del ciclo de ida clásico del so wa e ( equisi os, análisis, diseño, implemen ación y p uebas) con lo que al inal de cada i e ación se iene un p oduc o usable y es ado que se á ampliado en i e aciones pos e io es. •Di igido po casos de uso. Los casos de uso son una ep esen ación de los equisi os uncionales del so wa e. El conjun o de odos ellos cons i uyen el modelo de casos de uso con el que se de ine la uncionalidad comple a del sis ema. Con ello se consigue de ini lo que debe hace el sis ema y lo que un usua io puede hace con él. Es a he amien a guía el p oceso de desa ollo donde en cada i e ación se oman un nume o de casos de usos limi ados y se an ans o mando en especi icaciones de análisis y pos e io men e de diseño pa a inalmen e con e i se en código uen e dando luga a una aplicación con an as uncionalidades como casos de uso se hayan implemen ado has a el momen o. •Cen ado en la a qui ec u a. La a qui ec u a de un so wa e comp enden un conjun o de di e en es is as del sis ema en cons ucción. Es a su ge del p oblema que se p e ende soluciona , de la pla a o ma donde debe unciona el so wa e, de los ecu sos eu ilizables desa ollados an e io men e, de los sis emas he edados y de los equisi os no uncionales. Todo es o si e de ayuda al a qui ec o pa a ija los obje i os como la capacidad de adap ación al cambio y la eu ilización. La a qui ec u a y los casos de uso deben e oluciona en pa alelo habiendo in e acción en e ambos pa a que los casos de uso encajen en la a qui ec u a y sea posible la implemen ación de odos y cada uno de ellos. •En ocado en los iesgos. Se equie e que se iden i iquen los iegos c í icos del p oyec o lo an es posible, du an e las p ime as e apas del ciclo de ida, pa a que en caso de que alguno comp ome a el éxi o del p oyec o lo haga cuando la in e sión sea mínima. 3.1.2. Fases del P oceso Uni icado de Desa ollo Como se ha comen ado en el apa ado an e io , cada ciclo se compone de a ias ases, y den o de cada una de ellas, los di ec o es o los desa ollado es pueden descompone adicionalmen e el abajo en i e aciones, con sus inc emen os esul an es. Cada ase e mina con un hi o, de e minado po la disponibilidad de un conjun o de a e ac os, modelos o documen os. Las i e aciones de cada ase se desa ollan a a és de las ac i idades de iden i icación de equisi os, análisis, diseño, implemen ación, p uebas e in eg ación. 24 Fase de Inicio Suele se la ase más co a del desa ollo. En es a ase se ealizan las siguien es a eas: •Desa olla una desc ipción del p oduc o inal y p esen a el análisis de negocio. •Realiza una iden i icación inicial de iesgos. •Es ablece las p incipales unciones del sis ema pa a los usua ios más impo an es, la a qui ec u a a g andes asgos y un plan de p oyec o. La ase de inicio e mina con el hi o de los obje i os del desa ollo. Fase de Elabo ación Du an e es a ase debe ían cap u a se la mayo ía de equisi os del sis ema, aunque los obje i os p incipales son a a los iesgos ya iden i icados y es ablece y alida la base de la a qui ec u a del sis ema. Es a base se lle a á a cabo a a és de a ias i e aciones, y se i á de pun o de pa ida pa a la ase de cons ucción. La ase de elabo ación e mina, po an o, al alcanza el hi o de la a qui ec u a del sis ema. Fase de Cons ucción Es la ase más la ga del p oyec o, y comple a la implemen ación del sis ema omando como base la a qui ec u a ob enida du an e la ase de elabo ación. A pa i de ella, las dis in as uncionalidades son incluidas en dis in as i e aciones, al inal de cada una de las cuales se ob end á una nue a e sión ejecu able del p oduc o. Po an o, es a ase concluye con el hi o de ob ención de una uncionalidad comple a, que capaci e al p oduc o pa a unciona en un en o no de p oducción. Fase de T ansición En la ase inal del p oyec o se lle a a cabo el despliegue del p oduc o en el en o no de los usua ios, lo que incluye la o mación de és os. Du an e es a ase se e oluciona desde la ase be a a una e sión inal, se esuel en incidencias en la implan ación e in eg ación, y si exis en, se clasi ican aquéllas que pod ían jus i ica una nue a e sión del p oduc o. Es a ase concluye con el hi o de publicación del p oduc o. 25 Figu a 3.1. Fases del P oceso Uni icado de Desa ollo. 3.1.3. Ven ajas y Des en ajas del P oceso Uni icado de Desa ollo Ven ajas •Se ob iene p oduc os uncionales y es ados en iempos azonables. •Se iden i ican los iesgos c í icos p on o, e i ando acasos en ases a días del p oyec o. •Es muy ole an e a cambios. •Fácil adición de uncionalidades pos e io es. •Al a eu ilización de componen es Des en ajas •La e aluación de iesgos es compleja. •El clien e debe se capaz de desc ibi a un g an ni el de de alle. •Excesi a lexibilidad pa a algunos p oyec os 26 3.2. Plani icación Tempo al A con inuación se explica á el plan de abajo lle ado a cabo du an e el p oyec o así como el desglose de las a eas ealizadas en cada ase e i e ación con el núme o de ho as es imadas que se debían in e i en ellas. 3.2.1. Plan de T abajo Tal y como se de ine en el P oceso Uni icado de Desa ollo, y explicado en el apa ado an e io , el desa ollo del p oyec o se di idi á en 4 ases. Cada una es as ases, a su ez se di iden en i e aciones de ap oximadamen e el mismo iempo (al ededo de 100 ho as/i e ación). Al inal de cada una de es as i e aciones se plani ica una eunión en la que pa icipamos po pa e de PLOCAN: el esponsable de p oyec os, Edua do Que edo, el esponsable del Depa amen o de In o má ica y Telecomunicaciones, Da id Ho a y el esponsable del Obse a o io, E ic Delo y; y po pa e de la Escuela de Ingenie ía In o má ica de la Uni e sidad de Las Palmas de G an Cana ia: el p o eso y u o del p oyec o, Ja ie Sánchez y yo. En cada una de es as euniones se a an y alidan los hi os de la i e ación que se acaba de inaliza y se es ablecen los siguien es pa a la p óxima i e ación. La ase inicial es á compues a po dos i e aciones en las que en una p ime a se es udian las he amien as a u iliza en el p oyec o. Y una segunda en la que se hace la mayo pa e de ecabado de in o mación a a és de en e is as y cues iona ios, se de ine y negocia la lis a de ca ac e ís icas y se edac an los documen os que es ablece án las bases del p oyec o. La ase de elabo ación se cen a á en el análisis y el diseño de cada uno de los es módulos po lo que es á compues a la aplicación. Se in e i á una i e ación po cada módulo. La ase de cons ucción ambién es a á compues a po es i e aciones en donde se lle a án a cabo la implemen ación y p ueba de cada uno de los es módulos. Al inal de es a ase se ob iene una e sión be a de la aplicación. Finalmen e la ase de ansición cons a de una única i e ación en donde se mon a á un en o no de p uebas y sob e el cuál se ealiza án odas las p uebas be a po pa e de la o ganización. En el siguien e subapa ado se de alla cada una de las ac i idades po i e ación y ase. 27 3.2.2. Tempo ización Fases/Ac i idades Ho as Fase Inicial I e ación 1: Pues a en ma cha del PFC •Valo ación de las he amien as IVS-3D, Google Ske ch-Up y Google Ea h 20 •Es udio de KML y la API de Google Ea h 40 •Es udio Py hon y Django 40 I e ación 2: •Redacción de cues iona io de en e is a 4 •Redacción del in o me sob e el es ado de ejecución del PFC 4 •Redacción del documen o de desc ipción de los en egables del PFC 4 •Redacción del documen o de equisi os y c i e ios de éxi o del PFC 4 •Redacción del plan de ges ión de calidad del PFC 4 •Redacción del plan de ges ión de iesgos 4 •Redacción del plan de ges ión de .hh. y comunicaciones 4 •Redacción del p esupues o 4 •Gene a la lis a de ca ac e ís icas inicial 8 •Gene a el modelo de dominio inicial 8 •Gene a el modelo de casos de uso inicial 16 •Desa ollo de un p o o ipo inicial 36 Fase de Elabo ación I e ación 3: Módulo Clien e •Re inado del modelo de dominio 4 •Re inado de lis a de ca ac e ís icas 4 28 •Re inado de casos de uso del Módulo Clien e 4 •P o o ipo Clien e 8 •Diag amas de paque es del modelo de análisis 15 •Diag ama de clases del Módulo Clien e - Análisis 15 •Diseño de la BD del Módulo Clien e 15 •Diag ama de despliegue 15 •Documen ación 20 I e ación 4: Módulo Disposi i os •Re inado del modelo de dominio 4 •Re inado de lis a de ca ac e ís icas 4 •Re inado de casos de uso del Módulo Disposi i os 4 •P o o ipo Disposi i os 8 •Diag ama de Clases del Módulo Disposi i os - Análisis 20 •Diseño de la BD del Módulo Disposi i os 20 •Diag ama de paque es del modelo de diseño 20 •Documen ación 20 I e ación 5: Módulo Usua ios •Re inado del modelo de dominio 4 •Re inado de lis a de ca ac e ís icas 4 •Re inado de casos de uso del Módulo Usua ios 4 •P o o ipo Usua ios 8 •Diag ama de Clases del Módulo Usua ios - Análisis 20 •Diseño de la BD del Módulo Usua ios 20 •Diag ama de diseño a qui ec ónico 20 •Documen ación 20 29 4.1.2. F amewo ks de Desa ollo Django es un amewo k web de código abie o esc i o en Py hon que pe mi e el desa ollo ápido y el diseño limpio y p agmá ico. Se basa en el pa adigma MVC (Model View Con olle ), aunque con alguna pequeña pa icula idad adop ando el nomb e de MTV (Model Templa e View) pe o que a in de cuen as se basa en el mismo p incipio. Django pone én asis en la eusabilidad, conec i idad y ex ensibilidad de componen es, el desa ollo ápido y el p incipio “No e epi as” (DRY, del inglés Don' Repea You sel ) jQue y es un amewo k de Ja aSc ip que pe mi e simpli ica la mane a de in e ac ua con los documen os HTML, manipula el á bol DOM, maneja e en os, desa olla animaciones y ag ega in e acción con AJAX a páginas web. Sus p incipales ca ac e ís icas son: Selección de elemen os DOM, in e ac i idad y modi icaciones del á bol DOM, sopo e a e en os, manipulación de la hoja de es ilos CSS, e ec os y animaciones, animaciones pe sonalizadas, sopo e AJAX y exis e un g an núme o de ex ensiones basadas en él. 4.1.3. Lenguajes de Visualización y Maque ado HTML, siglas de Hype Tex Ma kup Language («lenguaje de ma cado de hipe ex o»), es el lenguaje con el que se esc ibe la es uc u a y la semán ica del con enido de un documen o Web. Pe mi e desc ibi la es uc u a y el con enido en o ma de ex o, además de complemen a el ex o con obje os ales como imágenes. CSS es un lenguaje usado pa a de ini la p esen ación de un documen o es uc u ado esc i o en HTML o XML. La idea que se encuen a de ás del desa ollo de CSS es sepa a la es uc u a de un documen o de su p esen ación. 4.1.4. Sis ema de Ges ión de Bases de Da os MySQL es un sis ema de ges ión de bases de da os elacional, mul ihilo y mul iusua io. MySQL o ece un amplio subconjun o de SQL, ansacciones y cla es o áneas, conec i idad segu a, eplicación y búsqueda e indexación de campos de ex o. 36 4.1.5. Fo ma os Es ánda de Da os El o ma o Ne CDF (Ne wo k Common Da a Fo ma ) ue c eado po UNIDATA como o ma o es ánda pa a que sea usado en algunos de sus so wa es que o ece a la comunidad cien í ica. La ca ac e ís ica de es e o ma o es que con iene la su icien e in o mación pa a pode sabe qué clase de da a se encuen a en el a chi o ( ipo de a iable, unidades, dimensiones, ins i ución que la c eo, e c) a di e encia de o os o ma os que necesi an de un a chi o adicional pa a su co ec a in e p e ación. Senso ML especi ica los modelos y la codi icación XML que p opo cionan un ma co den o del cual pueden se de inidas las ca ac e ís icas geomé icas y dinámicas, y obse ación de los senso es y sis emas de senso es. KML es un lenguaje XML cen ado en la isualización geog á ica, incluyendo la ano ación de mapas e imágenes. La isualización geog á ica incluye no sólo la p esen ación de los da os g á icos en el mundo, sino ambién el con ol de la na egación del usua io. 4.1.6. Sis ema de In o mación Geog á ica El plugin de Google Ea h es un complemen o pa a na egado es web simila a un Sis ema de In o mación Geog á ica (SIG). Pe mi e isualiza imágenes en 3D del plane a, combinando imágenes de sa éli e, mapas y el mo o de búsqueda de Google que pe mi e e imágenes a escala de un luga especí ico del plane a sob e un globo e áqueo en 3D desde un na egado web. 4.1.7. G á icas Google Cha es una he amien a po la cual se nos pe mi e c ea , ía pe ición h p a la API, unas g á icas que podemos inse a en un documen o web. Pa a ello se debe gene a una URL pasando una se ie de pa áme os en la misma y que como espues a se ob iene una g á ica. Es as g á icas pueden se de di e en es ipos y además se le puede añadi con ol, dinamismo y un amplio conjun o de con igu aciones. 37 4.2. He amien as En los siguien es subapa ados se enume an las he amien as que han sido necesa ias pa a la ealización del p oyec o, an o ha dwa e como so wa e. 4.2.1. Ha dwa e Como equipo de abajo pa a lle a a cabo el p oyec o se ha u ilizado un o denado po á il y pa a una mayo comodidad se le ha añadido un segundo moni o , eclado y a ón ex e nos. La ca ac e ís icas de cada uno ellos son las siguien es: •O denado po á il Dell Vos o 3500 - P ocesado : In el Co e i5 M460 2,53GHz - Memo ia RAM: 4 GB DDR3 - G á icos: NVIDIA GeFo ce 310M - Disco Du o: Toshiba SATA 320GB •Moni o Ace X243HQ de 24'' •Teclado y a ón Logi ech 4.2.2. So wa e Con un sopo e ísico como el ci ado en el subapa ado an e io , pe o sin un so wa e que lo complemen e no se pod ía habe hecho nada ela i o al p oyec o que nos a añe. Se ha usado so wa e muy a iado y de di e en es índoles. A con inuación se enume an: •Sis ema Ope a i o: Windows 7 P o essional y Ubun u 12.10 •Edi o de Código: Sublime Tex 2 •P ocesado de Tex o: Lib e O ice •Edi o de Imágenes: Gimp •Modelado UML: S a UML •Con ol de Ve siones: SVN y To oiseSVN •Edi o Modelos 3D : Google Ske chUp •Adminis ación BD: MySQL Wo kbench 38 Capí ulo 5: Desa ollo del P oyec o En el desa ollo de so wa e, la p ime a decisión que se ha de oma es la me odología de desa ollo que se a a u iliza pa a lle a a cabo un p oyec o. Es a me odología se á la que ma ca á los pasos a segui du an e la cons ucción del p oyec o. El p esen e capí ulo documen a odo el p oceso de c eación del so wa e desde la cap u a de los equisi os has a las p uebas inales de la aplicación. El capí ulo es á o ganizado po apa ados donde cada apa ado coincide con cada uno de los pasos ma cados po la me odología elegida ( equisi os del sis ema, equisi os del so wa e, análisis, diseño, implemen ación y p uebas). Cada uno de los apa ados es a á documen ado a a és de diag amas, imágenes y ex os explica i os. 5.1. Requisi os del Sis emas La p ime a e apa de un p oyec o es se capaz de en ende las necesidades y p oblemas que se p e enden esol e con la aplicación. Pa a ello es necesa io conoce ambién el dominio en el que se á aplicada. Es o es lo que se ob iene con los equisi os del sis ema. Es a in o mación queda ep esen ada po una lis a de ca ac e ís icas y modelo del dominio. La lis a de ca ac e ís icas enume an los equisi os candida os. La misión p incipal de los equisi os es guia el desa ollo hacia un sis ema co ec o en el que se hayan ya iden i icado y p io izado las uncionalidades deseadas y se hayan de ec ado los iesgos de mane a que no comp ome a el p oyec o en ases pos e io es. Po o o lado, el modelo de dominio ayuda a comp ende el con ex o del sis ema. Desc ibe los concep os impo an es del con ex o como los obje os del dominio y las in e elaciones exis en es en e ellos. 39 5.1.1. Lis a de ca ac e ís icas A con inuación se de alla una lis a de ca ac e ís icas donde se de ini án las dis in as ope aciones que debe pe mi i la aplicación. En ella se de inen an o las que se an a implemen a en es a e sión del so wa e como las que se pueden implemen a en e siones pos e io es. La abla de ca ac e ís ica ha sido subdi idida en los siguien es campos: •Código. Es el iden i icado de la ca ac e ís ica. Se especi ica como: LC-[G upo]-[Núme o], donde LC hace e e encia a lis a de ca ac e ís icas. •Nomb e de la ca ac e ís ica. •Desc ipción. Pequeña explicación de la ca ac e ís ica. •P io idad. Se asigna una p io idad pa a esal a las ca ac e ís icas más impo an es pa a de e mina que ca ac e ís icas se implemen a án p ime o. Las p io idades que se an a u iliza son: al a, media, baja. •Es ado. Cada ca ac e ís ica iene un es ado asociado. Los posibles es ados son: - Acep ado. La ca ac e ís ica se desa olla á en es a e sión del p oduc o. - P opues o. La ca ac e ís ica es á plan eada pe o se plani ica á pa a una u u a e sión del p oduc o. •Riesgo. Cada ca ac e ís ica puede ene asociado un iesgo que ep esen a la di icul ad pa a consegui implemen a la co ec amen e. U ilizamos es ni eles de iesgo: c í ico, signi ica i o, u ina io . •Cos e. Rep esen a al cos e que conlle a ía ealiza dicha ca ac e ís ica. Los cos es que se u iliza án son: al o, medio, bajo. Pa a que la lis a de ca ac e ís icas quede mejo es uc u ada y así acili a su lec u a y comp ensión se clasi ican las ope aciones que se equie en en el sis ema en cinco g andes g upos: •Clien e (A). En es a ca ego ía i án ag upadas odas las ope aciones pe enecien es al clien e de la aplicación. •Ges ión de usua ios (B). Las unciones con enidas en es a ca ego ía son odas las co espondien es a la ges ión de usua ios. •Ges ión de disposi i os (C). Ca ego ía donde se incluyen odas las unciones de adminis ación de disposi i os cien í icos. Las ope aciones son las de c eación, edición, asignación de modelos, al as y bajas, e c. •Ob ención de da os (D). Son las ope aciones elacionadas con la ob ención y ex acción de da os cien í icos ecabados po los dis in os disposi i os de oma de da os. En ella se incluyen odas las conexiones median e los dis in os p o ocolos con las uen es de da os. •Animación g á ica (E). Ope aciones o ien adas a las unciones lúdicas de la aplicación como c eación de en o nos mul imedia de conocimien o del medio. 40 5.1.1.1. Clien e LC-A-1 Ve mapa 3D Desc ipción Pa e pública de la aplicación donde se mos a á un mapa 3D ipo Google Ea h en un en o no web Es ado Ap obado P io idad Al a Riesgo O dina io Cos e Medio LC-A-2 Mo e en mapa 3D Desc ipción Desplaza se en el mapa 3D de o ma que se pueda gi a el globo e es e i ual hacia la izquie da, hacia la de echa, hacia a iba y hacia abajo. Es ado Ap obado P io idad Al a Riesgo O dina io Cos e Bajo LC-A-3 Hace zoom en mapa 3D Desc ipción Ace ca se o aleja se a una posición el mapa 3D Es ado Ap obado P io idad Al a Riesgo O dina io Cos e Bajo LC-A-4 Ve mundo subma ino en mapa 3D Desc ipción Pode mos a no sólo la supe icie e es e sino además pode mos a el ondo ma ino y los elemen os que se encuen en bajo el ni el del ma Es ado Ap obado P io idad Al a Riesgo O dina io Cos e Medio 41 LC-A-5 Ve disposi i os ac i os Desc ipción P esen a un menú ipo lis a je á quica donde se mues en odo los disposi i os que se encuen en ac i os en el momen o y po lo an o se puedan localiza en el mapa 3D Es ado Ap obado P io idad Al a Riesgo O dina io Cos e Medio LC-A-6 Ve disposi i os en mapa 3D Desc ipción Visualización del disposi i o en su posición ac ual en el mapa 3D Es ado Ap obado P io idad Al a Riesgo O dina io Cos e Medio LC-A-7 Localiza en mapa 3D el disposi i o seleccionado en la lis a Desc ipción Al selecciona un disposi i o de la lis a de disposi i os que el mapa 3D se si úe en una is a donde se ea cla amen e el disposi i o colocado en su ubicación ac ual. Es ado Ap obado P io idad Al a Riesgo O dina io Cos e Medio LC-A-8 Ve in o mación del disposi i o Desc ipción Al selecciona el disposi i o se mos a á la in o mación asociada a es e disposi i o en o ma de bu buja o simila . Es ado Ap obado P io idad Al a Riesgo O dina io Cos e Bajo 42 LC-A-9 Ve lec u a de da os del disposi i o Desc ipción Pa e de la in o mación mos ada del disposi i o en la bu buja son los da os cap u ados po és e median e ablas de da os o g á icas asociadas a és as. Es ado Ap obado P io idad Media Riesgo Signi ica i o Cos e Al o LC-A-10 Ve ídeo omado po el disposi i o Desc ipción En la in o mación mos ada en la bu buja se mos a á ídeos cap u ados po el disposi i o Es ado P opues o P io idad Baja Riesgo O dina io Cos e Al o LC-A-11 Inse a imágenes eales cap adas po disposi i os en el ondo ma ino del mapa 3D Desc ipción Supe pone imágenes eales cap adas po el disposi i o al ondo ma ino i ual Es ado P opues o P io idad Baja Riesgo C í ico Cos e Al o 5.1.1.2. Usua ios LC-B-1 C ea usua io Desc ipción Zona p i ada de la aplicación donde el adminis ado c ea un nue o usua io y le añade la in o mación asociada a és e Es ado Ap obado P io idad Al a Riesgo O dina io Cos e Bajo 43 LC-B-2 Edi a usua io Desc ipción Zona p i ada de la aplicación donde el adminis ado modi ica pa e de la in o mación de un usua io Es ado Ap obado P io idad Al a Riesgo O dina io Cos e Bajo LC-B-3 Elimina usua io Desc ipción Zona p i ada de la aplicación donde el adminis ado elimina un usua io del sis ema Es ado Ap obado P io idad Al a Riesgo O dina io Cos e Bajo LC-B-4 Asigna pe misos Desc ipción Zona p i ada de la aplicación donde el adminis ado le asigna los pe misos de uso a un usua io Es ado Ap obado P io idad Al a Riesgo O dina io Cos e Bajo LC-B-5 Cambia con aseña Desc ipción Zona p i ada de la aplicación donde un usua io modi ica su an igua con aseña po una nue a Es ado Ap obado P io idad Media Riesgo O dina io Cos e Bajo 44 LC-B-6 Reco da con aseña Desc ipción Zona pública de la aplicación donde un usua io solici a que se le een íe su con aseña al co eo elec ónico asociado a su cuen a de usua io. Es ado Ap obado P io idad Media Riesgo O dina io Cos e Bajo LC-B-7 Login Desc ipción Zona pública de la aplicación donde un usua io egis ado in oduce sus c edenciales de acceso pa a pode accede a la pa e p i ada pa a la que iene pe misos median e una sesión de usua io Es ado Ap obado P io idad Al a Riesgo O dina io Cos e Bajo LC-B-8 Logou Desc ipción Zona p i ada de la aplicación donde el usua io solici a el cie e de su sesión de usua io Es ado Ap obado P io idad Al a Riesgo O dina io Cos e Bajo LC-B-9 Con ola acceso a usua ios anónimos Desc ipción Zona p i ada de la aplicación donde el adminis ado hace que la pa e pública de la aplicación sea o deje de se isible pa a usua ios no egis ados Es ado Ap obado P io idad Al a Riesgo O dina io Cos e Medio 45 LC-D-10 Visualización de e en os Desc ipción Mues a de una ala ma in o mando que las condiciones de un e en o se es án cumpliendo en ese momen o Es ado P opues o P io idad Baja Riesgo Signi ica i o Cos e Al o 5.1.1.5. Animación G á ica LC-E-1 In eg ación de con enidos lúdicos basados en In ini y 3D Desc ipción Enlaza aplicación con con enidos lúdicos basados en In ini y 3D Es ado P opues o P io idad Bajo Riesgo C í ico Cos e Al o LC-E-2 Mues a de mundo i ual median e Uni y 3D Desc ipción Enlaza aplicación con mundo i ual usando Uni y 3D Es ado P opues o P io idad Bajo Riesgo C í ico Cos e Al o 52 5.1.2. Modelo del dominio Median e el modelo del dominio se p e ende modela el con ex o en el que se a a in oduci el sis ema. En él se desc ibe median e diag amas de clases el uncionamien o ac ual de las ac i idades de PLOCAN a las que se quie e da apoyo ecnológico con el sis ema a desa olla . 5.1.2.1. Ins umen ación Oceanog á ica y A mos é ica PLOCAN cuen a con una se ie de disposi i os de di e en es ipos, los cuales son capaces de cap u a da os de ipo oceanog á icos y a mos é icos an o del mundo subma ino como de la supe icie ma ina. Es os disposi i os, dependiendo del ipo, pueden es a equipados con a ios ipos de senso es y cáma as, an o o og á icas como de ídeo. Todos es os da os, incluyendo imágenes, son almacenadas en bases de da os adminis adas po el adminis ado . Es os da os son de especial in e és pa a pe sonal cien í ico an o de PLOCAN como del es o del mundo. Los da os pueden se mos ados en ablas o incluso en g á icas na egables en el iempo. La o ma de acceso a es os da os po pa e de los cien í icos son ía dos p o ocolos: •OPENDAP-Ne CDF •OGC-SOS-O&M Figu a 5.1. Ins umen ación Oceanog á ica 53 Disposi i o Senso Tipo_Disposi i o Tipo Senso Tabla de da os Da o Oceanog á ico Cien í ico G á ica de da os Base de da os OPENDAP-Ne CDF OGC-SOS-O&M Cáma a Vídeo Fo og a ía Adminis ado de Sis emas 1 * * Cap u a * 1 Es udia * * U iliza * * Visualiza ** Cap u a * 1 G aba * 1 Man iene * * 5.1.2.2. Tipos de disposi i os Ac ualmen e PLOCAN abaja con a ios ipos de disposi i os de cap u a de da os. Los glide s son ehículos subma inos au ónomos no ipulados desa ollados pa a lle a a cabo mediciones de pa áme os ísico-químicos de la columna de agua an o en zonas cos e as como oceánicas has a p o undidades de 1000 m. Tan o los ehículos subma inos ROVs ( emo e ope a ed ehicle) como los glide s son di igidos po un ope ado desde ie a median e con ol emo o. Apa e cuen an con dos ipos de boyas: las boyas de de i a, que son boyas lib es que se mue en a a és del impulso del ien o, las olas y las co ien es ma inas y an omando medidas po cualquie pun o po el que an pasando; y las boyas ancladas, que como su p opio nomb e indica se encuen an ancladas al ondo ma ino de o ma de que oma medidas en un mismo pun o del océano de o ma con inua y a di e en es p o undidades g acias a los senso es ins alados en el anclaje de la boya. Y po úl imo cuen an, aunque no es un disposi i o como al, con las o ugas ma inas. A las o ugas se les equipa con unos ansmiso es de o ma de que se pueden es udia sus mo imien os mig a o ios y su elación con los pa áme os ambien ales ma inos. Figu a 5.2. Pla a o mas de obse ación 54 Glide ROV Boya To uga ma ina Ope ado Boya de de i a Boya anclada Tipo de Disposi i o Di ige 1 1..* Di ige 1 1..* 5.1.2.3. Equipamien o de disposi i os Como se ha explicado an e io men e, los disposi i os pueden se de di e en es ipos, y dependiendo de sus unciones pueden es a equipados con dis in as he amien as. En el siguien e g á ico se mues a la posible ins umen ación de un disposi i o. Figu a 5.3. Equipamien o de disposi i os 5.2. Requisi os del So wa e La especi icación de equisi os del so wa e es una desc ipción in ensi a del compo amien o del sis ema. A pa i de la lis a de ca ac e ís icas del apa ado an e io , se ob iene una ep esen ación en o ma de casos de uso. El modelo de casos de uso de ine la in e acción en e los dis in os usua ios, o ac o es a pa i de aho a, y el sis ema. Los casos de uso son pequeñas unidades de la uncionalidad comple a del sis ema. Con los casos de uso se ep esen a án los equisi os uncionales del sis ema. Cada caso de uso es de inido en de alle con la especi icación del caso de uso. Es a especi icación es una secuencia p ecisa de acciones necesa ias pa a ealiza un caso de uso. Po lo an o, a lo la go de es e apa ado se hab á que de ini los ac o es del sis ema, el modelo de casos de uso pa a cada paque e o módulo del sis ema y la especi icación de cada uno de ellos. 55 Disposi i o Cáma a * Senso Me e eológico Senso Oceanog á ico Radio F ecuencia T ansmiso ARGOS GPS **0..1 0..1 0..1 5.2.1. Ac o es del Sis ema El siguien e diag ama mues a la je a quía de usua ios o ac o es que in e ac ua án con el sis ema. Exis e un usua io gené ico del cual he edan odos los usua ios ep esen ando la uncionalidad común a odos ellos. Figu a 5.4. Ac o es del sis ema •Usua io anónimo. Se á el usua io no egis ado en el sis ema. Es e usua io end á acceso únicamen e a la pa e del clien e, y siemp e que el adminis ado no cie e el acceso pa a es e ipo de usua io. •Usua io egis ado. Son los usua ios que es án egis ados en el sis ema y que inician su sesión pa a hace uso de la aplicación. Es os usua ios ienen acceso a la misma pa e de la aplicación que el usua io anónimo, con la di e encia de que el usua io egis ado sí puede accede al clien e cuando el adminis ado decla a p i ada a la aplicación. •Edi o . Es e ipo de usua io es el enca gado de adminis a la in o mación cien í ica de la aplicación. Tiene acceso a la in e az de adminis ación donde se man ienen disposi i os, modelos y cualquie o o a e ac o cien í ico in eg ado en la aplicación. Además he eda la uncionalidad disponible pa a el usua io egis ado. •Adminis ado . El pe il del súpe usua io. Es el usua io que iene acceso o al a odas las pa es de la aplicación. Tiene acceso al sis ema de adminis ación donde puede accede a odas las secciones de adminis ación. Además de las unciones del edi o , ambién es el enca gado de la ges ión de usua ios y de sus pe misos, y de limi a el acceso a la aplicación haciéndola p i ada en los momen os pun uales que se deseen. 56 Usua io Gené ico Usua io Anónimo Usua io Regis ado Edi o Adminis ado 5.2.2. Modelo de Casos de Uso Los casos de uso han sido clasi icados en subsis emas lógicos de o ma que los casos de uso quedan o ganizados po la na u aleza de su uncionalidad. Se han di ido en es paque es siguiendo la lógica lle ada a cabo al o ganiza la lis a de ca ac e ís icas. Un p ime subsis ema lógico es el del “Clien e” donde se ag upan odos los casos de uso co espondien es al uncionamien o del clien e de la aplicación. Es e paque e iene dependencia con el es o de paque es ya que hace uso de odos los demás pa a su co ec o uncionamien o. El paque e “Usua ios” engloba los casos de uso elacionados con las cuen as de usua ios. En él se desc iben las a eas de adminis ación sob e las cuen as de usua io y la c eación y cie es de sesiones de usua ios. El paque e “Disposi i os” ag upa las uncionalidades sob e disposi i os, ipos de disposi i os y modelos. Con él se sa is acen las necesidades sob e la adminis ación de dichos a e ac os. Figu a 5.5. Paque es de casos de uso. A con inuación se de inen los casos de uso que se an a implemen a . Los casos de uso es a án di ididos en las ca ego ías que se han de inido an e io men e. En cada ca ego ía se mos a án los casos de uso median e diag amas de casos de uso y pos e io men e se especi ica á cada caso de uso median e una abla desc ip i a. 57 Clien e <<useCasePackage>> Usua ios <<useCasePackage>> Disposi i os <<useCasePackage>> 5.2.2.1. Clien e Es e subsis ema lógico engloba los casos de uso del clien e de la aplicación. Todos los usua ios del sis ema ienen acceso a es a sección del so wa e. El clien e ep esen a la zona, a p io i, “pública” de la aplicación. En ella es a á con enido el mapa 3D, los menús, y la isualización de odos los disposi i os y los da os cap u ados po sus senso es. Figu a 5.6. Casos de uso clien e. 58 Clien e <<useCasePackage>> Usua io Gené ico Ve mapa 3D Mo e mapa 3D Hace zoom en mapa 3D Ve mundo subma ino en mapa 3D Ve disposi i os en menú Ve disposi i os en mapa 3D Ve in o mación del disposi i o Ve lec u a de da os del disposi i o - Ne CDF <<ex end>> <<ex end>> <<ex end>> <<include>> <<include>> Ve desc ipcion de senso es - Senso ML <<ex end>> 5.2.2.2. Usua ios El subsis ema lógico Usua ios engloba los casos de uso elacionados con la ges ión de usua ios. El usua io con pe il de adminis ado end á las a eas de c ea , modi ica y elimina usua ios, además de asigna le los pe misos a és os. También el adminis ado end á la posibilidad de ce a el acceso a la aplicación a los usua ios anónimos, con lo que cuando es a opción es é ac i ada, sólo los usua ios egis ados pod án hace uso del clien e de la aplicación. En es e subsis ema ambién se incluyen el uso de es as cuen as de usua ios dando la posibilidad a los usua ios egis ados de inicia una sesión de usua io, inaliza la y cambia su con aseña. Figu a 5.7. Casos de uso usua io 59 Usua ios <<useCasePackage>> Adminis ado Usua io Regis ado C ea usua io Edi a usua io Elimina usua io Asigna pe misos Con ol acceso a usua ios anónimos Inicia sesión Ce a sesión Cambia con aseña <<include>> <<include>> 5.2.2.3. Disposi i os El subsis ema lógico “Disposi i os” engloba odos los casos de uso elacionado con la ges ión y adminis ación de los disposi i os y odos los demás a e ac os asociados a és os. El ac o que es á di ec amen e elacionado con es e subsis ema la igu a del edi o . El edi o es el enca gado de c ea un disposi i o, edi a lo, elimina lo, añadi le senso es, asigna le modelo 3D, asigna le un ipo y da le de al a o de baja en la aplicación. Figu a 5.8. Casos de uso disposi i os. 60 Disposi i os <<useCasePackage>> Edi o C ea ipo de disposi i o Edi a ipo de disposi i o Elimina ipo de disposi i o In oduci modelo Edi a Modelo Elimina modelo C ea disposi i o Edi a disposi i o Elimina disposi i o Da de al a a disposi i o Da de baja a disposi i o Asigna ipo a disposi i o Asigna modelo a disposi i o <<include>> <<include>> <<include>> <<include>> 5.2.3. Especi icación de Casos de Uso Con los diag amas de casos de uso se puede ob ene una idea global de las ope aciones que cada usua io puede ealiza pe o no nos da una in o mación comple a de en qué condiciones se pueden ejecu a o el lujo de acciones que se ienen que lle a a cabo. Pa a sol en a és o, se hace uso de las ablas de especi icación de casos de uso donde se ecoge la siguien e in o mación: •Código. Es el iden i icado del caso de uso. Se especi ica como: CU-[G upo]-[Núme o], donde CU hace e e encia a caso de uso. •Nomb e del caso de uso. •Desc ipción. Pequeña explicación del caso de uso. •Subsis ema. Subsis ema al que pe enece. •Ac o p incipal. Tipo de usua io que ejecu a la acción. Es uno de los ac o es del sis ema. •P econdiciones. Condiciones que deben cumpli se pa a pode inicia la ealización. •Flujo de ejecución. Flujo de acciones que deben ejecu a se du an e la ealización. •Camino al e na i o. Flujo de acciones que se lle an a cabo si no se cumple la p econdición. •Pos condiciones. Condiciones cumplidas as inaliza la ealización. 5.2.3.1. Clien e CU-A-1 Ve mapa 3D Desc ipción Acción median e la cual cualquie usua io ob iene el mapa 3D de la ie a en la is a po de ec o Subsis ema Clien e Ac o p incipal Usua io gené ico P econdiciones Flujo de ejecución 1. El usua io accede a la di ección de la aplicación. 2. Se mues a en la en ana del na egado el mapa 3D Camino al e na i o Pos condiciones Mapa 3D ac i o 61 CU-C-2 Edi a disposi i o Desc ipción Acción median e la cual el edi o modi ica pa e o oda la in o mación de un disposi i o Subsis ema Disposi i os Ac o p incipal Edi o P econdiciones Sesión de edi o ac i a Flujo de ejecución 1. Accede a edi a disposi i o 2. Modi ica los da os del disposi i o, ipo y/o modelo 3D 3. Se ac ualiza la in o mación del disposi i o en el sis ema Camino al e na i o Pos condiciones CU-C-3 Elimina disposi i o Desc ipción Acción median e la cual el edi o elimina un disposi i o del sis ema Subsis ema Disposi i os Ac o p incipal Edi o P econdiciones Sesión de edi o ac i a Flujo de ejecución 1. Selecciona el disposi i o que se quie e elimina 2. O dena elimina 3. Se elimina el disposi i o del sis ema Camino al e na i o Pos condiciones CU-C-4 C ea ipo de disposi i o Desc ipción Acción median e la cual el edi o c ea un ipo de disposi i o que pasa a iden i ica se como amilia de disposi i o Subsis ema Disposi i os Ac o p incipal Edi o P econdiciones Sesión de edi o ac i a Flujo de ejecución 1. Accede a c ea ipo de disposi i o 2. In oduci los da os del disposi i o 3. Se da de al a al ipo de disposi i o en el sis ema Camino al e na i o 2.1. Si no se in oducen odos los da os eque idos se mues a un e o al usua io Pos condiciones 68 CU-C-5 Edi a ipo de disposi i o Desc ipción Acción median e la cual el edi o modi ica pa e o oda la in o mación de un disposi i o Subsis ema Disposi i os Ac o p incipal Edi o P econdiciones Sesión de edi o ac i a Flujo de ejecución 1. Accede a edi a ipo disposi i o 2. Modi ica los da os del ipo de disposi i o 3. Se ac ualiza la in o mación del ipo de disposi i o en el sis ema Camino al e na i o Pos condiciones CU-C-6 Elimina ipo de disposi i o Desc ipción Acción median e la cual el edi o elimina un ipo de disposi i o del sis ema Subsis ema Disposi i os Ac o p incipal Edi o P econdiciones Sesión de edi o ac i a Flujo de ejecución 1. Selecciona el ipo de disposi i o que se quie e elimina 2. O dena elimina 3. Se elimina el ipo de disposi i o del sis ema Camino al e na i o 3.1. Mien as exis a algún disposi i o con el ipo de disposi i o que se quie e elimina , no se pod á elimina el ipo a isando al usua io de ello. Pos condiciones CU-C-7 In oduci modelo Desc ipción Acción median e la cual un edi o añade al sis ema un modelo 3D Subsis ema Disposi i os Ac o p incipal Edi o P econdiciones Sesión de edi o ac i a Flujo de ejecución 1. Accede a inse a modelo 2. In oduci los da os del modelo 3. Se selecciona el iche o .collada 4. Se da de al a al modelo en el sis ema Camino al e na i o 2.1. Si no se in oducen odos los da os eque idos se mues a un e o al usua io Pos condiciones 69 CU-C-8 Edi a modelo Desc ipción Acción median e la cual el edi o modi ica pa e o oda la in o mación de un modelo 3D Subsis ema Disposi i os Ac o p incipal Edi o P econdiciones Sesión de edi o ac i a Flujo de ejecución 1. Accede a edi a modelo 2. Modi ica los da os del modelo 3. Se ac ualiza la in o mación del modelo en el sis ema Camino al e na i o Pos condiciones CU-C-9 Elimina modelo Desc ipción Acción median e la cual el edi o elimina un ipo de disposi i o del sis ema Subsis ema Disposi i os Ac o p incipal Edi o P econdiciones Sesión de edi o ac i a Flujo de ejecución 1. Selecciona el modelo que se quie e elimina 2. O dena elimina 3. Se elimina el modelo del sis ema Camino al e na i o 3.1. Mien as exis a algún disposi i o con el modelo que se quie e elimina , no se pod á elimina el modelo a isando al usua io de ello. Pos condiciones CU-C-10 Da de al a/ baja a disposi i o Desc ipción Acción median e la cual el edi o decide que un disposi i o exis en e sea isible en la aplicación Subsis ema Disposi i os Ac o p incipal Edi o P econdiciones Sesión de edi o ac i a, disposi i o no isible Flujo de ejecución 1. Accede a da de al a a disposi i o 2. El disposi i o es isible en la aplicación Camino al e na i o Pos condiciones Disposi i o isible 70 CU-C-11 Da de baja a disposi i o Desc ipción Acción median e la cual un usua io egis ado cambia su con aseña de acceso Subsis ema Disposi i os Ac o p incipal Edi o P econdiciones Sesión de edi o ac i a, disposi i o isible Flujo de ejecución 1. Accede a da de baja a disposi i o 2. El disposi i o no es isible en la aplicación Camino al e na i o Pos condiciones Disposi i o no isible 5.3. Análisis El obje i o p incipal del p esen e apa ado es comp ende el p oblema y comenza a de ini un modelo de lo que se p e ende cons ui independien emen e de la ecnología y lenguaje de p og amación que se aya a u iliza . Con el análisis se pasa á del modelo de casos de uso al modelo de análisis a a és de las azas y seguidamen e se documen a á con diag amas de colabo ación, en el que queda de inido como in e accionan las dis in as en idades. El modelo de análisis ayuda a e ina los equisi os y e lexiona sob e los aspec os in e nos del sis ema. En es a e apa se iden i ican los paque es de análisis y las clases que los componen. Según se a a anzando en el modelo de análisis es os paque es se an e inando y man eniendo. A di e encia con el modelo de casos de uso, que se ía pa a cap u a la uncionalidad del sis ema, el modelo de análisis si e pa a da o ma a la a qui ec u a pa a sopo a dichas uncionalidades y a su ez ayuda a iden i ica las clases de análisis que pos e io men e se con e i án en clases de diseño. Po lo an o, el apa ado es a á o mado po el subapa ado de a qui ec u a de paque es de análisis, donde es a án de inidos los paque es y las elaciones en e ellos, y el subapa ado de ealización de casos de uso donde se exp esa á median e diag amas de colabo ación y diag amas de clases las elaciones y acciones necesa ias pa a la ealización de cada caso de uso. 71 5.3.1. A qui ec u a de paque es La siguien e igu a ep esen a la o ganización lógica de los paque es de análisis que o man el sis ema. En ella se mues an los dis in os paque es que componen el modelo de análisis y la elación en e ellos. El paque e Clien e con iene odas las ope aciones elacionadas con el clien e de la aplicación y depende del es o de paque es. Además con iene las unciones de in e elación y comunicación, median e los dis in os p o ocolos del clien e con los disposi i os pa a ob ene los da os o lec u as ealizados po és os y se mos ados. El paque e Usua ios engloba odas las acciones de adminis ación y ges ión de cuen as de usua io. El paque e Disposi i os es el enca gado de la adminis ación y ges ión de disposi i os, senso es, modelos y ipos de disposi i os. Figu a 5.9. Paque es de análisis. 5.3.2. Realización de Casos Uso A con inuación se ha á el análisis de cada caso de uso. Con ello se ob iene cada ealización “caso de uso - análisis” con lo que a pa i de cada caso de uso se gene a su ealización en el modelo de análisis. 72 Clien e <<analysisPackage>> Usua ios <<analysisPackage>> Disposi i os <<analysisPackage>> 5.3.2.1. Clien e La siguien e imagen ep esen a el paque e de análisis Clien e que con iene odas las ealizaciones de casos de uso del clien e de la aplicación. Figu a 5.10. Realización casos de uso clien e A con inuación se de ine el diag ama de clases del paque e de análisis Clien e, donde se mues a la elación en e los ac o es del sis ema y la in e conexión en e cada una de las clases. Las clases las podemos engloba en es g andes g upos: clases de con ol, in e aces y en idades. •Las clases de con ol se enca gan de la ges ión y manipulación de los da os. •Las in e aces p opo cionan las unciones de elación en e un usua io y el sis ema. •Las en idades con ienen la in o mación. El paque e clien e hace uso de las siguien es clases ag upadas en base a la de inición an e io . Con ol •Con olado Mapa 3D. Ges iona odas las acciones que se ealizan sob e el mapa 3D de la aplicación. •Con olado Disposi i os. Ges iona la in o mación y ealiza las acciones sob e disposi i os, senso es, modelos o ipos. •Con olado Menú. Lle a a cabo las acciones sob e el menú desplegable. 73 Clien e <<analysisPackage>> Mo e mapa 3D Ve mapa 3D Hace zoom en mapa 3D Ve mundo subma ino en mapa 3D Ve disposi i os en mapa 3D Ve disposi i os en menu Ve lec u a de da os del disposi i o - Ne CDF Ve in o mación del disposi i o Ve desc ipción de senso es - Senso ML In e az •IU Mapa 3D. Rep esen a al mapa 3D en sí mismo y pe mi e al usua io in e ac ua con él. •IU Disposi i o. Pe mi e al usua io ob ene in o mación y da os de los dis in os disposi i os que con iene el sis ema. •IU Menú. Rep esen a al menú desplegable. En idad •Disposi i o. Con iene los disposi i os p esen es en el sis ema. Figu a 5.11. Diag ama colabo ación clien e. 74 Usua io Gené ico Con olado Mapa 3D IU Mapa 3D Disposi i o Con olado Menú IU Menú Con olado Disposi i o IU Disposi i o Ve mapa 3D Como se ha comen ado an e io men e, cada caso de uso end á su ep esen ación en el modelo de análisis a a és de una elación de aza. Clases pa icipan es Con ol In e az En idad Con olado Mapa 3D IU Mapa 3D Figu a 5.12. T aza (Caso de uso – Análisis) e mapa 3D. Es e caso de uso se inicia al accede a la URL del clien e de la aplicación. El con olado ecoge esa pe ición y gene a la in e az con el mapa en el que se mues a al usua io. Cualquie usua io iene pe misos pa a es a acción y po lo an o se ep esen a median e el usua io gené ico. Figu a 5.13. Diag ama colabo ación Ve Mapa 3D. 75 Ve mapa 3D Ve mapa 3D IU Mapa 3D << ace>> Modelo de Casos de Uso Modelo de Análisis Con olado Mapa 3D : Usua io Gené ico : IU Mapa 3D : Con olado Mapa 3D 1 : gene a Mapa()2 : mapa() Ve mundo subma ino en mapa 3D Es e caso de uso es una pa icula idad del an e io , y lo que hace es pe mi i a un usua io si ua se en el mapa 3D en un ni el nega i o o bajo el agua. Clases pa icipan es Con ol In e az En idad Con olado Mapa 3D IU Mapa 3D Figu a 5.14. T aza (Caso de uso – Análisis) e mundo subma ino en mapa 3D. Una ez un usua io gené ico iene acceso al mapa 3D, usa la in e az de usua io pa a coloca se en un pun o subma ino. El con olado ecibe la nue a posición y gene a la is a del mapa 3D en ese pun o mos ando el ondo ma ino co espondien e. Figu a 5.15. Diag ama colabo ación e mundo subma ino en mapa 3D. 76 Ve mundo subma ino en mapa 3D Ve mundo subma ino en mapa 3D IU Mapa 3D Con olado Mapa 3D << ace>> Modelo de Casos de Uso Modelo de Análisis : Usua io Gené ico : IU Mapa 3D : Con olado Mapa 3D 1 : i PosSubma ina() 2 : Coo denadas() 3 : gene aVis aMapa() 4 : mapa() Mo e mapa 3D Clases pa icipan es Con ol In e az En idad Con olado Mapa 3D IU Mapa 3D Figu a 5.16. T aza (Caso de uso – Análisis) mo e mapa 3D. El caso de uso es iniciado po un usua io gené ico. El usua io in e ac úa con la in e az de usua io pa a que se mues e una nue a localización en el mapa 3D. Pa a ello especi ica unas nue as coo denadas implíci amen e. El con olado ecibe esa pe ición, la p ocesa y gene a una nue a is a del mapa cen ada en esa posición a a és de la in e az de usua io. Figu a 5.17. Diag ama colabo ación mo e mapa 3D. 77 Mo e mapa 3D Mo e mapa 3D << ace>> Modelo de Casos de Uso Modelo de Análisis IU Mapa 3D Con olado Mapa 3D : Usua io Gené ico : IU Mapa 3D : Con olado Mapa 3D 1 : i Nue aPosicion() 2 : Coo denadas() 3 : gene aVis aMapa() 4 : mapa() 5.3.2.2. Usua ios La siguien e imagen mues a cada una de las colabo aciones que con iene el paque e de análisis Usua ios. Es e paque e iene una elación de aza con el paque e de casos de uso con el mismo nomb e. Figu a 5.30. Realización casos de uso usua ios. A con inuación se mues a el diag ama de clases donde se iden i ican las clases que pa icipan en dicho paque e y las elaciones en e ellas. Además ambién se mues an los pe iles de usua ios que ha án uso de ellas. En es e caso se di e encian dos de los pe iles de usua ios que ya se ha explicado en el capí ulo “Cap u a de equisi os”. Un p ime o se á el pe il de adminis ado , y es quien end á acceso a las secciones de adminis ación de cuen as de usua ios. Y po o o lado es á el pe il de usua io egis ado que ha á uso de las sesiones y de su p opia cuen a de usua io. Con ol •Con olado Acceso. Ges iona el g ado de p i acidad del clien e de la aplicación. •Con olado Usua io. Ges iona la in o mación y ealiza las acciones opo unas sob e las cuen as de usua io. •Con olado Sesion. C ea y des uye sesiones de usua io. 84 Usua ios <<analysisPackage>> C ea usua io Con ola acceso a usua ios anónimos Edi a usua io Elimina usua io Inicia sesión Ce a sesión Cambia con aseña In e az •IU Adminis ación. In e az de usua io de la pa e adminis a i a de la aplicación. •IU Usua io. Pe mi e al usua io in oduci o edi a la in o mación e e en e a las cuen as de usua io. •IU Cambio Con aseña. Pe mi e a un usua io egis ado modi ica su con aseña. •IU Sesion. Zona de la in e az donde el usua io in oduce sus c edenciales de acceso pa a accede al sis ema como usua io egis ado. En idad •Acceso. Con iene el es ado ac ual de la p i acidad de la aplicación. •Usua io. Con iene la in o mación e e en e a las cuen as de usua io. •Sesion. Con iene la in o mación de las sesiones de usua io. Figu a 5.31. Diag ama de colabo ación de usua ios. 85 Adminis ado Usua io Regis ado IU Cambio Con aseña Con olado Sesion IU Adminis ación Usua io IU Usua io Con olado Usua io Con olado Acceso Acceso IU Sesion Sesion C ea usua io Clases pa icipan es Con ol In e az En idad Con olado Usua io IU Adminis ación Usua io IU Usua io Figu a 5.32. T aza (Caso de uso – Análisis) c ea usua io. Es e caso de uso comienza cuando el adminis ado solici a c ea una nue a cuen a de usua io a a és de la in e az de adminis ación. El Con olado Usua io gene a un o mula io donde el p opio adminis ado in oduce los da os de la cuen a de usua io. Es os da os llegan al con olado que lo almacena en Usua io. Figu a 5.33. Diag ama colabo ación c ea usua io. 86 C ea usua io C ea usua io Modelo de Casos de Uso Modelo de Análisis << ace>> IU Adminis ación Con olado Usua io Usua io IU Usua io : Adminis ado : IU Adminis ación : Con olado Usua io : IU Usua io : Usua io 1 : c ea Usua io() 2 : c ea Usua io() 3 : gene a Fo mula io() 4 : ellena Da osUsua io() 5 : da osUsua io() 6 : gua da Usua io() Edi a usua io Clases pa icipan es Con ol In e az En idad Con olado Usua io IU Adminis ación Usua io IU Usua io Figu a 5.34. T aza (Caso de uso – Análisis) edi a usua io. Es e caso de uso es muy simila al an e io , con la di e encia de que los da os de la cuen a de usua io son inse ados en el o mula io. Se inicia cuando el adminis ado selecciona un usua io pa a edi a lo en la in e az de adminis ación. En ese momen o el con olado ecupe a los da os de la cuen a de la en idad Usua io. Con los da os gene a un o mula io que le es mos ado al adminis ado . És e modi ica los da os que conside a opo uno y le da a gua da . El con olado ecibe los da os y los almacena nue amen e en Usua io. Figu a 5.35. Diag ama colabo ación edi a usua io. 87 : Adminis ado : IU Adminis ación : Con olado Usua io : IU Usua io : Usua io 1 : edi a Usua io() 2 : edi a Usua io() 5 : gene a Fo mula io() 6 : modi ica Da osUsua io() 7 : da osUsua io() 8 : gua da Usua io() 3 : ecupe a Da os() 4 : da os() Modelo de Casos de Uso Modelo de Análisis IU Adminis ación Con olado Usua io Usua io IU Usua io Edi a usua io Edi a usua io << ace>> Elimina usua io Clases pa icipan es Con ol In e az En idad Con olado Usua io IU Usua io Usua io Figu a 5.36. T aza (Caso de uso – Análisis) elimina usua io. El adminis ado selecciona un usua io que desea elimina . Cuando la pe ición le llega al con olado és e ejecu a la acción y elimina la cuen a de usua io de la en idad Usua io. Figu a 5.37. Diag ama colabo ación elimina usua io. 88 Modelo de Casos de Uso Modelo de Análisis Con olado Usua io Usua io IU Usua io Elimina usua io Elimina usua io << ace>> : Adminis ado : Con olado Usua io : IU Usua io : Usua io 3 : elimina Usua io() 1 : elimina Usua io() 2 : elimina Usua io() Con ola acceso a usua ios anónimos Clases pa icipan es Con ol In e az En idad Con olado Acceso IU Adminis ación Acceso Figu a 5.38. T aza (Caso de uso – Análisis) con ola acceso a usua ios anónimos. Es e caso de uso se da cuando el adminis ado quie e modi ica el g ado de p i acidad de la aplicación. Con ello se p e ende con ola que en cie os momen os, sólo usua ios egis ados puedan accede al clien e de la aplicación. El caso de uso comienza cuando el adminis ado modi ica el alo del acceso en la in e az de adminis ación. En ese momen o el con olado ecibe el alo y lo almacena en la en idad Acceso. Figu a 5.39. Diag ama colabo ación con ola acceso a usua ios anónimos. 89 Modelo de Casos de Uso Modelo de Análisis IU Adminis ación Con olado Acceso Acceso Con ola acceso a usua ios anónimos Con ol acceso a usua ios anónimos << ace>> : Adminis ado : IU Adminis ación : Con olado Acceso : Acceso 1 : ab i /ce a Acceso() 2 : ab i /ce a Acceso() 3 : abie o/ce ado() Inicia sesión Clases pa icipan es Con ol In e az En idad Con olado Usua io IU Sesion Usua io Con olado Sesion Sesion Figu a 5.40. T aza (Caso de uso – Análisis) inicia sesión. El caso de uso se inicia cuando un usua io egis ado in en a accede al sis ema con su cuen a de usua io. El usua io in oduce los c edenciales de acceso en la in e az de usua io. El con olado Sesion ecibe los c edenciales y solici a a Con olado Usua io la con aseña codi icada pe enecien e al usua io ecibido. És e los ecupe a desde Usua io y se los de uel e a Con olado Sesión. En ese momen o compa a si coinciden las dos con aseñas codi icadas y si es así c ea una sesión de usua io. Figu a 5.41. Diag ama colabo ación inicia sesión. 90 Modelo de Casos de Uso Modelo de Análisis Inicia sesión Inicia sesión IU Sesion Sesion Con olado Sesion Con olado Usua io Usua io << ace>> : Usua io Regis ado : IU Sesion : Con olado Sesion : Sesion : Con olado Usua io : Usua io 1 : in oduci C edenciales() 2 : c edenciales() 3 : comp oba C edenciales() 4 : ecupe a Usua io() 5 : usua io&pass() 6 : compa aC edenciales() 7 : c ea Sesion() Ce a sesión Clases pa icipan es Con ol In e az En idad Con olado Sesion IU Sesion Sesion Figu a 5.42. T aza (Caso de uso – Análisis) ce a sesión. Cuando un usua io egis ado desea abandona el sis ema se inicia es e caso de uso. En ese momen o el usua io solici a ce a la sesión. En onces el con olado elimina la sesión de la en idad Sesion. A pa i de ese momen o el usua io se con ie e en un usua io anónimo. Figu a 5.43. Diag ama colabo ación ce a sesión. 91 Modelo de Casos de Uso Modelo de Análisis IU Sesion Sesion Con olado Sesion Ce a sesión Ce a sesión << ace>> : Usua io Regis ado : IU Sesion : Con olado Sesion : Sesion 1 : ce a Sesion() 2 : cie aSesion() 3 : elimina Sesion() Cambia con aseña Clases pa icipan es Con ol In e az En idad Con olado Usua io IU Cambio Con aseña Usua io IU Usua io Figu a 5.44. T aza (Caso de uso – Análisis) cambia con aseña. Un usua io egis ado y que ha accedido al sis ema solici a cambia su con aseña. El con olado gene a un o mula io pa a que el usua io in oduzca la nue a con aseña y la con aseña an e io . El usua io ellena el o mula io y el con olado lo ecibe. Cuando comp ueba que la nue a con aseña es álida la almacena en Usua io. Figu a 5.45. Diag ama colabo ación cambia con aseña. 92 Modelo de Casos de Uso Modelo de Análisis Con olado Usua io Usua io Cambia con aseña Cambia con aseña << ace>> IU Cambio Con aseña IU Usua io : Usua io Regis ado : IU Usua io : Con olado Usua io : Usua io : IU Cambio Con aseña 1 : cambia Con aseña() 2 : cambia Con aseña() 3 : gene aFo mula io() 4 : ellenaCampos() 5 : da os() 6 : modi icaCon aseña() 5.3.2.3. Disposi i os La siguien e imagen se co esponde con el paque e de análisis Disposi i os que man iene una elación de aza con el paque e de casos de uso con el mismo nomb e. En él se incluyen las colabo aciones de casos de uso que se mues an a con inuación. Figu a 5.46. Realización casos de uso disposi i os. En el siguien e diag ama de clases, al igual que se ha hecho en los apa ados an e io es, se mues a las clases pa icipan es en es os casos de uso y la elación en e ellas. P incipalmen e, el ac o que in e iene en es os casos de uso es el pe il de usua io Edi o . Él es el enca gado de ges iona y man ene la in o mación ela i a a los disposi i os p esen es en el sis ema. Con ol •Con olado Disposi i o. Se enca ga de ges iona la in o mación ela i a a los disposi i os y ejecu a las acciones sob e ella. •Con olado ModeloDisposi i o. Es el enca gado de ges iona la in o mación ela i a a la ep esen ación g á ica de un disposi i o en el mapa 3D. •Con olado TipoDisposi i o. Se enca ga de la ges ión de los di e en es ipos de disposi i os y de las acciones sob e ellos. 93 Disposi i os <<analysisPackage>> C ea disposi i o Edi a disposi i o Elimina disposi i o C ea ipo de disposi i o Edi a ipo de disposi i o Elimina ipo de disposi i o In oduci modelo Edi a modelo Elimina modelo Da de al a a disposi i o Da de baja a disposi i o Elimina ipo de disposi i o Clases pa icipan es Con ol In e az En idad Con olado TipoDisposi i o IU TipoDisposi i o TipoDisposi i o Figu a 5.58. T aza (Caso de uso – Análisis) elimina ipo de disposi i o. El edi o selecciona un disposi i o pa a se eliminado. El con olado ecibe esa pe ición. En onces, Con olado TipoDisposi i o accede a la en idad Tipo Disposi i o y elimina el disposi i o seleccionado. Figu a 5.59. Diag ama colabo ación elimina ipo de disposi i o. 100 Modelo de Casos de Uso Modelo de Análisis Con olado TipoDisposi i o TipoDisposi i o IU TipoDisposi i o Elimina ipo de disposi i o Elimina ipo de disposi i o << ace>> : Edi o : IU TipoDisposi i o : TipoDisposi i o : Con olado TipoDisposi i o 1 : elimina Tipo() 2 : Tipo() 3 : elimina () In oduci modelo Clases pa icipan es Con ol In e az En idad Con olado ModeloDisposi i o IU ModeloDisposi i o ModeloDisposi i o IU Adminis ación Figu a 5.60. T aza (Caso de uso – Análisis) in oduci modelo. El edi o , median e la in e az de adminis ación, solici a in oduci un modelo 3D de disposi i o en el sis ema. El con olado ecibe la solici ud y gene a un o mula io donde el edi o inse a á la in o mación y la ep esen ación del disposi i o. Una ez llega esa in o mación a Con olado ModeloDisposi i o, és e lo almacena en la en idad ModeloDisposi i o. Figu a 5.61. Diag ama colabo ación in oduci modelo. 101 Modelo de Casos de Uso Modelo de Análisis IU Adminis ación In oduci modelo In oduci modelo ModeloDisposi i oCon olado ModeloDisposi i o IU ModeloDisposi i o << ace>> : Edi o : IU Adminis ación : IU ModeloDisposi i o : ModeloDisposi i o : Con olado ModeloDisposi i o 1 : in oduci Modelo() 2 : in oduci Modelo() 3 : o mula io() 4 : ellena Fo mula io() 5 : da os() 6 : gua da () Edi a modelo Clases pa icipan es Con ol In e az En idad Con olado ModeloDisposi i o IU ModeloDisposi i o ModeloDisposi i o IU Adminis ación Figu a 5.62. T aza (Caso de uso – Análisis) edi a modelo. Cuando un edi o quie e modi ica un modelo 3D de disposi i o del sis ema lo selecciona y es a pe ición le llega a Con olado ModeloDisposi i o. El con olado ecupe a la in o mación del modelo seleccionado en la en idad ModeloDisposi i o, gene a un o mula io incluyendo los da os ecupe ados y se le mues a al usua io. El usua io modi ica la in o mación necesa ia y se en ía de nue o los da os al con olado , que a su ez lo almacena nue amen e en la en idad con enedo a. Figu a 5.63. Diag ama colabo ación edi a modelo. 102 Modelo de Casos de Uso Modelo de Análisis IU Adminis ación ModeloDisposi i oCon olado ModeloDisposi i o IU ModeloDisposi i o Edi a modelo Edi a Modelo << ace>> : Edi o : IU Adminis ación : IU ModeloDisposi i o : ModeloDisposi i o : Con olado ModeloDisposi i o 1 : edi a Modelo() 2 : edi a Modelo() 5 : o mula io() 6 : ellena Fo mula io() 7 : da os() 8 : gua da () 3 : ecupe a Da os() 4 : da os() Elimina modelo Clases pa icipan es Con ol In e az En idad Con olado ModeloDisposi i o IU ModeloDisposi i o ModeloDisposi i o Figu a 5.64. T aza (Caso de uso – Análisis) elimina modelo. El caso de uso comienza cuando un edi o solici a elimina un Modelo de ep esen ación 3D de disposi i o. En ese momen o, Con olado ModeloDisposi i o accede a la en idad ModeloDisposi i o y ejecu a la pe ición eliminándolo del sis ema. Figu a 5.65. Diag ama colabo ación elimina modelo. 103 Modelo de Casos de Uso Modelo de Análisis ModeloDisposi i oCon olado ModeloDisposi i o IU ModeloDisposi i o Elimina modelo Elimina modelo << ace>> : Edi o : IU ModeloDisposi i o : ModeloDisposi i o : Con olado ModeloDisposi i o 1 : elimina Modelo() 2 : modelo() 3 : elimina () Da de al a a disposi i o Clases pa icipan es Con ol In e az En idad Con olado Disposi i o IU Disposi i o Disposi i o Figu a 5.66. T aza (Caso de uso – Análisis) da de al a disposi i o. Aunque un disposi i o exis a en el sis ema puede da se el caso en el que a los edi o es de la aplicación les in e ese que no sea isible pa a los usua ios. Es e caso de uso ep esen a el momen o en que el edi o decide hace isible un disposi i o que no lo e a. Pa a ello, el edi o selecciona un disposi i o y lo ma ca como ac i o. En ese momen o el con olado accede a la en idad Disposi i o y ac ualiza esa in o mación pa a ese disposi i o. Figu a 5.67. Diag ama colabo ación da de al a disposi i o. 104 Modelo de Casos de Uso Modelo de Análisis IU Disposi i o Disposi i o Con olado Disposi i o Da de al a a disposi i o Da de al a a disposi i o << ace>> : Edi o : IU Disposi i o : Con olado Disposi i o : Disposi i o 1 : al aDisposi i o() 2 : Disposi i o() 3 : gua da () Da de baja a disposi i o Clases pa icipan es Con ol In e az En idad Con olado Disposi i o IU Disposi i o Disposi i o Figu a 5.68. T aza (Caso de uso – Análisis) da de baja disposi i o. Es e es el caso de uso in e so al an e io . En es a ocasión, el caso de uso se inicia cuando un edi o decide que un disposi i o del sis ema deje de se isible. Una azón de es o puede se que el disposi i o se haya ex aído de su posición pa a se epa ado, que el disposi i o se haya o o, se haya pe dido la comunicación con él, o simplemen e no in e esa que sea isible en un momen o dado. En onces el caso de uso comienza con el edi o ma cando el disposi i o como inac i o. En ese momen o el con olado accede a la en idad Disposi i o y ac ualiza el alo de es ado a inac i o pa a el disposi i o seleccionado. Figu a 5.69. Diag ama colabo ación da de baja disposi i o. 105 Modelo de Casos de Uso Modelo de Análisis IU Disposi i o Disposi i o Con olado Disposi i o Da de baja a disposi i o Da de baja a disposi i o << ace>> : Edi o : IU Disposi i o : Con olado Disposi i o : Disposi i o 1 : bajaDisposi i o() 2 : Disposi i o() 3 : gua da () 5.4. Diseño A con inuación se desa olla el modelo diseño de p oyec o. En es e apa ado se pasa á del modelo de análisis, que p opo ciona una comp ensión de allada de los equisi os, al modelo de diseño, que o ece una ep esen ación cohe en e y de allada del p og ama donde se ha enido en cuen a aspec os écnicos de la cons ucción del p oyec o. En el diseño se equie e de una comp ensión p o unda de las es icciones ligadas a los lenguajes de p og amación, lib e ías o ecnologías de in e az de usua io. El p esen e apa ado es a á di ido en los siguien es subapa ados: •Diseño a qui ec ónico. Se de ini á la a qui ec u a del so wa e desde la capa de más bajo ni el a la más especí ica. •Diag amas de clases y diag amas de secuencia. Se documen a á median e diag amas de clases la composición de cada uno de los módulos a implemen a y se documen a á cada ealización de casos de uso median e diag amas de secuencia. •Diseño de despliegue. De ine el modelo de despliegue de la aplicación den o de la o ganización. •Diseño de base de da os. Median e diag amas de En idad-Relación se modela la base de da os sob e la que ac ua á la aplicación. •Diseño de p o o ipo de in e az de usua io. 5.4.1. Diseño A qui ec ónico. El diseño a qui ec ónico de la aplicación se a a basa en una a qui ec u a po capas, disminuyendo en gene alidad según amos subiendo en las capas. Van a exis i cua o capas bien di e enciadas: la capa del sis ema, la capa middlewa e, la capa gené ica y la capa especí ica. La capa del sis ema es la que se encuen a en el más bajo ni el e incluye ope aciones de sis emas ope a i os y comunicaciones de ed. En ella apa ece el paque e TCP/IP. La siguien e capa es la capa Middlewa e y en ella es án incluidos odo ipo de se icios y paque es de e ce os que son necesa ios pa a el co ec o uncionamien o de la aplicación. Es a capa es á o mada po el sis ema de ges ión de bases de da os, que en nues o caso se á MySQL. También la o ma Py hon como in é p e e del lenguaje Py hon y MySQL-Py hon pa a pe mi i la conexión con la base da os. Como amewo k de aplicación web se hace uso de Django. En es a capa se incluye ambién la API de Google Ea h y el paque e Scien i ic.IO.NETCDF pa a pode conec a la aplicación a se icios Ne CDF pa a la ob ención de los da os leídos po los senso es de los disposi i os. Po úl imo se incluye ambién en es e ni el los se ido es web y los na egado es. En las dos capas supe io es es a án los p opios módulos de es a aplicación. Si subimos un ni el en la a qui ec u a del sis ema nos encon amos con la capa gené ica. Es a capa la o man los paque es mas gené icos de 3DO. Son paque es que pueden se eu ilizados ácilmen e en o a 106 aplicación, ya que son elemen os comunes en muchas aplicaciones. Po lo an o, en es a capa es á con enido el paque e de ges ión de usua ios. Po úl imo, nos encon amos con la capa especí ica que con iene los paque es que han sido diseñados especí icamen e pa a es a aplicación y que muy di ícilmen e pod án se eu ilizados en o a aplicación. Es os son los paque es Clien e y Disposi i os, que se adap an pe ec amen e a la es uc u a de da os que se usa en la o ganización. Figu a 5.69. Diag ama Diseño A qui ec ónico. 107 Clien e <<designSubsys em>> Usua ios <<designSubsys em>> Disposi i os <<designSubsys em>> Capa Especí ica Capa Gené ica Middlewa e Capa de sis ema Py hon Django TCP/IP GoogleEa hAPI MySQLNa egado Web Nginx Gunico n MySQL-Py hon Scien i ic.IO.NETCDF 5.4.2. Diag amas de Clases y Secuencias En es e subapa ado se de ini á el uncionamien o de las dis in as pa es de la aplicación haciendo uso de diag amas de clases y diag amas de secuencias. Con los diag amas de clase se p e ende documen a las elaciones en e las dis in as clases que con o man el sis ema. Po o o lado, con los diag amas de secuencia se consigue de ini el in e cambio de mensajes e in o mación en e las clases. Siguiendo la me odología usada has a el momen o, po acilidad se i án ag upando las ealizaciones de caso de uso po paque es uncionales, al y como se ha enido haciendo a lo la go del p esen e documen o. 5.4.2.1. Clien e El paque e de diseño Clien e iene una elación de aza con el paque e de análisis con el mismo nomb e, y és e a su ez con el paque e de casos de uso. Al igual que oda la aplicación, se hace uso del pa ón de diseño MVC (modelo – is a – con olado ). Con ello se consigue sepa a el negocio de la aplicación, de la in e az de usua io y del modelo de da os. En base a és o, los con olado es se enca gan de la pa e uncional, mien as que los modelos son los enca gados de in e ac ua con la base de da os. La página p incipal del clien e es á compues a po una se ie de is as que incluye un mapa 3D o globo e áqueo i ual, un menú y una sección pa a las sesiones de usua io. El con olado del mapa 3D he eda di ec amen e de la API de Google Ea h. Además és e es á elacionado con los con olado es de los usua ios y los disposi i os pa a ob ene la in o mación desde la base de da os a a és de los modelos espec i os, sob e odo a ni el de pe misos. 108 Figu a 5.70. Diag ama de clases del clien e. 109 Home <<clien page>> A eaLogin << o m>> Mapa3D <<clien page>> Menu <<clien page>> Con olado Disposi i o <<se e page>> Modelo Disposi i o GoogleEa hPlugin <<plugin>> Con olado Usua io <<se e page>> BBDD Modelo Usua io execu eQue y Con olado Clien e <<se e page>> Con olado Sesión <<se e page>> Sesion Ve in o mación del disposi i o Figu a 5.83. T aza (Caso de uso - Análisis - Diseño) e in o mación de disposi i o. El con olado del clien e le solici a al con olado de disposi i os la in o mación ela i a al disposi i o seleccionado. Con olado Disposi i o la ob iene de la base de da os a a és del modelo y se la en ía a Con olado Clien e. Cuando el con olado del clien e iene la in o mación, la o ma ea y la incluye en una bu buja sob e el mapa 3D que se á mos ada al usua io. Figu a 5.84. Diag ama de secuencia e in o mación de disposi i o. 116 Ve in o mación del disposi i o Ve in o mación del disposi i o << ace>> Modelo de Casos de Uso Modelo Análisis Ve in o mación del disposi i o Modelo Diseño Con olado Clien e <<se e page>> Modelo Disposi i o Con olado Disposi i o <<se e page>> Mapa3D <<clien page>> << ace>> / : Con olado Clien e / : Con olado Disposi i o/ : Mapa3D / : Modelo Disposi i o / : execu eQue y 1 : ob ene In oDisposi i o() 2 : ecupe a In oDisposi i o() 3 : Que y() 4 : Que yResponse() 5 : in o maciónDisposi i o() 6 : In o mación() 7 : ende () Ve lec u a de da os del disposi i o Figu a 5.85. T aza (Caso de uso - Análisis - Diseño) e da os de disposi i o. Un caso pa icula del an e io es, una ez mos ada la in o mación, el usua io solici a e los da os cap u ados po los senso es del disposi i o. En ese momen o el con olado de clien e ecibe la pe ición, se la aslada al con olado de disposi i os y és e la ob iene de la base de da os usando a Modelo Disposi i o. Al igual que en el caso an e io , Con olado Clien e ecibe los da os, los o ma ea y los mues a en la misma bu buja sob e mapa 3D. Figu a 5.86. Diag ama de secuencia e da os de disposi i o. 117 Ve lec u a de da os del disposi i o - Ne CDF Ve lec u a de da os del disposi i o - Ne CDF << ace>> Modelo de Casos de Uso Modelo de Análisis Ve lec u a de da os del disposi i o - Ne CDF Modelo de Diseño Con olado Clien e <<se e page>> Modelo Disposi i o Con olado Disposi i o <<se e page>> Mapa3D <<clien page>> << ace>> / : Con olado Clien e / : Con olado Disposi i o/ : Mapa3D / : Modelo Disposi i o / : execu eQue y 1 : ob ene Da osDisposi i o() 2 : ecupe a Da osDisposi i o() 3 : Que y() 4 : Que yResponse() 5 : Da osDisposi i o() 6 : Da os() 7 : ende () Ve desc ipción de senso es - Senso ML Figu a 5.87. T aza (Caso de uso - Análisis - Diseño) e senso es de disposi i o. Un caso pa icula del an e io es, una ez mos ada la in o mación, el usua io solici a e los da os cap u ados po los senso es del disposi i o. En ese momen o el con olado de clien e ecibe la pe ición, se la aslada al con olado de disposi i os y és e la ob iene de la base de da os usando a Modelo Disposi i o. Al igual que en el caso an e io , Con olado Clien e ecibe los da os, los o ma ea y los mues a en la misma bu buja sob e mapa 3D. Figu a 5.88. Diag ama de secuencia e senso es de disposi i o. 118 Modelo de Casos de Uso Modelo de Análisis Modelo de Diseño Con olado Clien e <<se e page>> Modelo Disposi i o Con olado Disposi i o <<se e page>> Mapa3D <<clien page>> Ve desc ipcion de senso es - Senso ML Ve desc ipción de senso es - Senso ML Ve desc ipción de senso es - Senso ML << ace>> << ace>> / : Con olado Clien e / : Con olado Disposi i o/ : Mapa3D / : Modelo Disposi i o / : execu eQue y 1 : e Desc ipcionSenso () 2 : ecupe a Desc ipcionSenso () 3 : Que y() 4 : Que yResponse() 5 : Desc ipcionSenso () 6 : Da os() 7 : ende () 5.4.2.2. Usua ios El paque e de diseño Usua ios iene una elación de aza con el paque e de análisis con el mismo nomb e, y és e a su ez con el paque e de casos de uso. Es e paque e pe enece a los paque es de adminis ación, los cuales ienen una is a común llamada Vis a Adminis ación, que da acceso a odas las unciones adminis a i as del sis ema. El paque e Usua ios implemen a odas las uncionalidades elacionadas con la ges ión de cuen as de usua io y el con ol de sesiones. El diseño ambién sigue el pa ón MVC en el que en el siguien e diag ama de clases queda pe ec amen e e lejado. Figu a 5.89. Diag ama de clases de usua ios. 119 Vis a Adminis ación <<clien page>> Con olado Usua io <<se e page>> Vis a Usua io << o m>> execu eQue y BBDD Modelo Usua io C ea usua io Figu a 5.90. T aza (Caso de uso - Análisis - Diseño) c ea usua io. El con olado gene a el o mula io pa a la in oducción de los da os de usua io. Una ez, ecibe los da os se los pasa al modelo pa a que alide dichos da os, y si odo es co ec o lo almacene en la base de da os. Figu a 5.91. Diag ama de secuencia c ea usua io. 120 C ea usua io C ea usua io Modelo de Casos de Uso Modelo de Análisis << ace>> C ea usua io Modelo de Diseño Vis a Usua io << o m>> Con olado Usua io <<se e page>> Modelo Usua io << ace>> / : Con olado Usua io/ : Vis a Usua io / : Modelo Usua io / : execu eQue y 1 : ende () 2 : da osUsua ios() 3 : gua da () 4 : execu eQue y() Edi a usua io Figu a 5.92. T aza (Caso de uso - Análisis - Diseño) edi a usua io. La edición de usua ios es muy pa ecida a la c eación de los mismos. La di e encia es que en la edición el con olado lo p ime o que hace es ob ene los da os del usua io desde la base de da os a a és del modelo y gene a la is a a pa i de ellos. Una ez se modi ican los da os y an de uel a el con olado , es e los en ía al modelo pa a que los alide y los almacene en la base de da os. Figu a 5.93. Diag ama de secuencia edi a usua io. 121 Modelo de Casos de Uso Modelo de Análisis Edi a usua io Modelo de Diseño Edi a usua io Edi a usua io Vis a Usua io << o m>> Con olado Usua io <<se e page>> Modelo Usua io << ace>> << ace>> / : Con olado Usua io/ : Vis a Usua io / : Modelo Usua io / : execu eQue y 1 : ecupe a Da osUsua io() 2 : execu eQue y() 3 : que yResponse() 4 : da osUsua io() 5 : ende () 6 : da osUsua io() 7 : gua da () 8 : execu eQue y() Elimina usua io Figu a 5.94. T aza (Caso de uso - Análisis - Diseño) elimina usua io. Cuando al con olado le llega una pe ición de elimina una cuen a de usua io, és e o dena al modelo que lo elimine. Modelo Usua io accede a la base de da os y elimina el usua io con el iden i icado dado. Figu a 5.95. Diag ama de secuencia elimina usua io. 122 / : Con olado Usua io / : Modelo Usua io / : execu eQue y 1 : elimina () 2 : execu eQue y() Modelo de Casos de Uso Modelo de Análisis Elimina usua io Elimina usua io << ace>> Modelo de Diseño Elimina usua io Con olado Usua io <<se e page>> Modelo Usua io << ace>> Con ola acceso a usua ios anónimos Figu a 5.96. T aza (Caso de uso - Análisis - Diseño) acceso anónimos. Cuando el adminis ado modi ica el g ado de p i acidad de la aplicación, el con olado de usua ios ac ualiza el alo en la base de da os a a és del modelo. El con olado del clien e cuando se llama po p ime a ez comp ueba es e alo , y si el es ado es ce ado, solo pe mi e ca ga el globo e áqueo a usua ios que se encuen en iden i icados en el sis ema. Figu a 5.97. Diag ama de secuencia acceso anónimos. 123 Modelo de Casos de Uso Modelo de Análisis Con ola acceso a usua ios anónimos Con ol acceso a usua ios anónimos << ace>> Modelo de Diseño Con ola acceso a usua ios anónimos Con olado Usua io <<se e page>> Modelo Usua io << ace>> / : Con olado Usua io / : Modelo Usua io / : execu eQue y 1 : ab i /ce a Acceso() 2 : execu eQue y() Inicia sesión Figu a 5.98. T aza (Caso de uso - Análisis - Diseño) inicia sesión. El usua io in oduce los c edenciales de acceso a a és del o mula io A eaLogin. Es os da os le llegan al Con olado Sesion que necesi a la con aseña ci ada del usua io que in en a iden i ica se pa a co eja la. Pa a ello, se la solici a al con olado de usua ios que la ob iene de la base de da os a a és del modelo y se la en ía al con olado de sesiones. És e comp ueba que la con aseña in oducida as ci a la y la con aseña ci ada almacenada en la base de da os son la misma. Si es así c ea una sesión de usua io. Figu a 5.99. Diag ama de secuencia inicia sesión. 124 Modelo de Casos de Uso Modelo de Análisis Inicia sesión Inicia sesión << ace>> Modelo de Diseño Inicia sesión A eaLogin << o m>> Con olado Sesión <<se e page>> Sesion Con olado Usua io <<se e page>> Modelo Usua io << ace>> / : A eaLogin / : Con olado Sesión/ : Sesion / : Con olado Usua io / : Modelo Usua io / : execu eQue y 1 : c edencialesUsua io() 2 : usua io() 3 : ecupe a Da osUsua io() 4 : execu eQue y() 5 : que yResponse() 6 : da osUsua io() 7 : compa aC edenciales() 8 : nue aSesion() Ce a sesión Figu a 5.100. T aza (Caso de uso - Análisis - Diseño) ce a sesión. El p oceso pa a ce a una sesión de usua io abie a es bas an e más simple. Bas a con que el usua io se lo mani ies e al con olado de sesión y que des uya el obje o sesión. Figu a 5.101. Diag ama de secuencia ce a sesión. 125 Modelo de Casos de Uso Modelo de Análisis Ce a sesión Ce a sesión << ace>> Modelo de Diseño Ce a sesión Con olado Sesión <<se e page>> Sesion << ace>> / : Con olado Sesión / : Sesion 1 : elimina Sesion() Edi a ipo de disposi i o Figu a 5.113. T aza (Caso de uso - Análisis - Diseño) edi a ipo disposi i o. Pa a edi a un ipo de disposi i o el con olado ecupe a los da os del ipo desde la base de da os haciendo uso del modelo. Una ez ecupe ados los da os mues a la is a donde se encuen a el o mula io con los da os p einse ados. Una ez el usua io los modi ica e in en a gua da los el con olado cap u a la pe ición, alida los da os y el modelo los ac ualiza en la base de da os. Figu a 5.114. Diag ama de secuencia edi a ipo disposi i o. 132 Modelo de Casos de Uso Modelo de Análisis Edi a ipo de disposi i o Edi a ipo de disposi i o << ace>> Modelo de Diseño Edi a ipo de disposi i o Vis a TipoDisposi i o << o m>> Modelo TipoDisposi i o Con olado TipoDisposi i o <<se e page>> << ace>> / : Con olado TipoDisposi i o / : Modelo TipoDisposi i o/ : Vis a TipoDisposi i o / : execu eQue y 1 : ecupe a da os() 2 : execu eQue y() 3 : que yResponse() 4 : da os() 5 : ende () 6 : da os() 7 : gua da () 8 : execu eQue y() Elimina ipo de disposi i o Figu a 5.115. T aza (Caso de uso - Análisis - Diseño) elimina ipo disposi i o. Pa a elimina un ipo de disposi i o el con olado de ipos de disposi i o ecibe la pe ición y se la aslada al modelo que es el enca gado de lle a a cabo la eliminación en la base de da os bo ando así el egis o pe enecien e al iden i icado seleccionado. Figu a 5.116. Diag ama de secuencia elimina ipo disposi i o. 133 Modelo de Casos de Uso Modelo de Análisis Elimina ipo de disposi i o Elimina ipo de disposi i o << ace>> Modelo de Diseño Elimina ipo de disposi i o Modelo TipoDisposi i o Con olado TipoDisposi i o <<se e page>> << ace>> / : Con olado TipoDisposi i o / : Modelo TipoDisposi i o / : execu eQue y 1 : elimina Tipo() 2 : execu eQue y() In oduci modelo Figu a 5.117. T aza (Caso de uso - Análisis - Diseño) in oduci modelo 3D. El con olado modelo3D gene a la is a con el o mula io pa a la inse ción de los da os del modelo 3D y el iche o en o ma o collada que se desea inse a . Una ez el usua io in oduce los da os y el modelo, el con olado los ecibe y los gua da en la base de da os median e el modelo co espondien e. Figu a 5.118. Diag ama de secuencia in oduci modelo 3D. 134 Modelo de Casos de Uso Modelo de Análisis In oduci modelo In oduci modelo << ace>> Modelo de Diseño In oduci modelo Con olado Modelo3D <<se e page>> Modelo Modelo3D Vis a Modelo3D << o m>> << ace>> / : Con olado Modelo3D / : Vis a Modelo3D / : Modelo Modelo3D / : execu eQue y 1 : ende () 2 : da os() 3 : gua da () 4 : execu eQue y() Edi a modelo Figu a 5.119. T aza (Caso de uso - Análisis - Diseño) edi a modelo 3D. Cuando se a a edi a un modelo 3D el con olado ecupe a los da os de la base de da os haciendo uso de su co espondien e modelo. Una ez hecho, inse a esos da os en el o mula io y ende iza la is a. Cuando los da os son modi icados y se ecibe la pe ición de gua dado el con olado alida los da os y se los pasa al modelo que es el enca gado de almacena lo en la base de da os. Figu a 5.120. Diag ama de secuencia edi a modelo 3D. 135 Modelo de Casos de Uso Modelo de Análisis Edi a modelo Edi a Modelo << ace>> Modelo de Diseño Edi a modelo Con olado Modelo3D <<se e page>> Modelo Modelo3D Vis a Modelo3D << o m>> << ace>> / : Con olado Modelo3D / : Vis a Modelo3D / : Modelo Modelo3D / : execu eQue y 1 : ecupe a Da os() 2 : execu eQue y() 3 : que yResponse() 4 : da os() 5 : ende () 6 : da os() 7 : gua da () 8 : execu eQue y() Elimina modelo Figu a 5.121. T aza (Caso de uso - Análisis - Diseño) elimina modelo 3D. Cuando un usua io desea elimina un modelo 3D el con olado cap u a la pe ición y el iden i icado del elemen o seleccionado. És o se le pasa al modelo y él lo elimina de la base de da os. Figu a 5.122. Diag ama de secuencia elimina modelo 3D. 136 Modelo de Casos de Uso Modelo de Análisis Elimina modelo Elimina modelo << ace>> Modelo de Diseño Elimina modelo Con olado Modelo3D <<se e page>> Modelo Modelo3D << ace>> / : Modelo Modelo3D/ : Con olado Modelo3D / : execu eQue y 1 : elimina Modelo() 2 : execu eQue y() 5.4.3. Modelo de despliegue. El g á ico siguien e ep esen a el despliegue de la aplicación an o en los dominios de la o ganización como en el ámbi o ex e no a és a. Como se obse a, hay dos pa es cla amen e di e enciadas: la pa e supe io ep esen a a las máquinas p esen es en la o ganización y la pa e in e io de la imagen son los PCs desde los cuales los usua ios pueden conec a se ía in e ne y accede a los con enidos del po al. Tan o las bases de da os como el se ido web se encuen an den o de la in ane de PLOCAN pe o son accesibles desde In e ne . Sin emba go, los se ido es de da os oceanog á icos se encuen an de o ma emo a. Figu a 5.123. Diag ama del modelo de despliegue de la aplicación. 137 TCP/IP TCP/IP PC1 Plocan PC2 Plocan PCn Plocan in ane <<a i ac >> TCP/IP TCP/IP TCP/IP . . . Se ido Web 80 TCP/IP Pasa ela TCP/IP In ane PLOCAN in e ne <<a i ac >> Sis ema de Copias de Segu idad Use PC Use PC Use PC Use PC Use PC Use PC TCP/IP TCP/IP TCP/IP TCP/IP TCP/IP TCP/IP Se ido Da os Oceanog á icos Se ido Da os Oceanog á icos TCP/IP TCP/IP In e ne SGBD 5.4.4. Diseño de la base de da os A con inuación se p esen a á el diseño de la base de da os median e diag amas de En idad- Relación. Se usa es a me odología ya que el p oceso de c eación de las ablas y sus elaciones es un paso di ec o en e el diag ama y su co espondien e sen encia SQL. Además de ello la documen ación es o almen e cla a y p ecisa. Figu a 5.123. Diag ama En idad-Relación de la base de da os. 138 5.4.5. P o o ipo de In e az de Usua io 3DO es una aplicación web y po lo an o su in e az de usua io es basada en páginas web. La in e az iene dos pa es pe ec amen e di e enciadas. P ime o iene una in e az pública que es isible a odo el mundo y que se co esponde con el clien e de la aplicación. Y en segundo luga hay una in e az p i ada y es ingida a los usua ios con los pe misos pe inen es y se co esponde con la in e az de adminis ación de la aplicación. 5.4.5.1. Clien e La in e az del clien e es á o mada po una cabece a p incipal, un menú, un á ea de login y el elemen o mas impo an e que es el mapa 3D. Cabece a P incipal Menú P incipal Á ea de sesión de usua io Menú Secunda io Mapa 3D El menú es un menú desplegable donde se lis an los disposi i os que son accesibles, sus senso es y la pla a o ma oceánica. Al hace click sob e un í em del menú, el mapa en a á en acción y mos a á la localización del disposi i o seleccionado mos ando una is a gene al de la zona. Al hace click sob e un disposi i o en el mapa se ab i á una bu buja con la in o mación de in e és del disposi i o. 139 5.4.5.2. Adminis ación La in e az de adminis ación es de uso p i ado a usua ios con los pe misos necesa ios. Se di ide en 4 bloques: una cabece a, una zona de mensajes al usua io y acciones sob e esa cuen a de usua io, un bloque de adminis ación de usua ios y un bloque de adminis ación de disposi i os. Cabece a P incipal Bien enida – Fecha:ho a Acciones sob e usua io ac ual Á ea de adminis ación de usua ios Á ea de adminis ación de disposi i os El á ea de adminis ación de usua ios solo se á isible pa a los usua ios con pe misos de adminis ado . En él se pod á accede a la c eación, modi icación y eliminación de usua ios. Po o o lado, el á ea de adminis ación de disposi i os se á isible an o pa a usua ios con pe misos de edi o como de adminis ado . En es e á ea es a án las he amien as pa a c eación, edición y eliminación de disposi i os, ipos, modelos y senso es. Una ez se accede a cualquie a de es os apa ados de adminis ación, odos ienen el mismo aspec o con la di e encia de los campos que apa ecen en cada uno, pe o siguiendo un mismo es ilo. 140 5.5. Implemen ación El p esen e epíg a e se cen a á en la ase de implemen ación del p oduc o. Du an e es a e apa se cons uye el p oduc o so wa e a pa i de los documen os y a e ac os ob enidos has a el momen o en la ase de diseño. La ase de implemen ación es á ma cada p incipalmen e po la gene ación del código uen e de la aplicación, y po lo an o, la mayo pa e de la documen ación a in oducida en el p opio código a o ma de comen a ios. Po es a azón la documen ación de es a ase, en cuan o a es e documen o se e ie e, es a á es uc u ada de la siguien e mane a: 1. Ins alación y con igu ación de Django. Se enume an los pasos lle ados a cabo pa a la ins alación y con igu ación del amewo k y lib e ías adicionales en cada uno de los en o nos exis en es. 2. Con ol de e siones. Se explica el sis ema de con ol de e siones que se ha seleccionado y la mane a de ejecu a lo con los ecu sos que se enían disponibles. 3. O ganización del código. Se de ine cómo es á o ganizado el código y se mues an algunas pa es ele an es donde se hayan implemen ado pa es des acables o que si an de ejemplo pa a en ende de o ma global el p oyec o. 5.5.1. Ins alación y Con igu ación de Django En el p esen e subapa ado se explica á paso a paso la o ma de ins ala y con igu a el amewo k de desa ollo Django y el es o de lib e ías Py hon u ilizadas en el p oyec o, además de o as he amien as como puede se el p opio in e p e e de Py hon, el sis ema de ges ión de base de da os MySQL o los di e en es se ido es web pa a el despliegue de la aplicación. La con igu ación es un poco di e en e en el se ido de desa ollo y en los se ido es de calidad y de p oducción, ya que el p opósi o de cada uno es dis in o. En el se ido de desa ollo se es a á esc ibiendo código y haciendo p uebas con inuas y el es ado y la con igu ación puede es a cambiando cada momen o. Sin emba go, en el se ido de calidad o el se ido de p oducción, el es ado es bas an e mas es á ico y se espe a una mayo es abilidad y disponibilidad. La p incipal di e encia adica en que pa a el se ido de desa ollo bas a con el se ido web lige o que p opo ciona Django, mien as que pa a el se ido de calidad, donde se ealiza án las p uebas be a, y pa a el se ido de p oducción, hacen al a se ido es web obus os sepa ados pa a la aplicación y los da os es á icos ( iche os CSS, JS, imágenes, e c). 141