scieee Open visual document viewer

E-Natural: desarrollo de una aplicación orientada a la Gestión y administración de los servicios de empresas relacionadas con actividades en la naturaleza. Parte I

Pérez Valiente, Yeray Andrés

Abstract

NATURAL es un portal web donde se localizan empresas del sector del turismo rural, en este portal se publicitan y venden sus productos y servicios. Cada empresa dispone de un espacio web único e individual para poder promocionarse en internet. Mediante un buscador, permite a los usuarios acceder a los contenidos de cada empresa registrada en el sistema. Este buscador es abierto y cualquier usuario no registrado puede consultar la información acerca de productos y servicios ofertados, y disponer de toda la información relacionada con cada empresa. Las empresas registradas disponen de un sistema de información completo de fácil manejo e intuitivo que permite autogestionar todo el contenido de los productos y páginas web de cada empresa individualmente. También se incluye un sistema de gestión de contenidos que genera páginas web profesionales automáticamente, con posibilidad de edición de páginas. Por otra parte, los usuarios registrados podrán realizar: reservas de productos mediante un completo sistema de gestión de reservas, con especial atención al alojamiento, compras de productos mediante un completo sistema de compras, adaptado a la plataforma Paypal, clasificaciones de productos y páginas web del sistema, utilizando votaciones mediante rankings. La plataforma contiene un sistema de gestión de comentarios sobre productos y páginas web de empresas que permite seleccionar la visualización y la no visualización del contenido. Por último, los usuarios podrán compartir información sobre contenidos publicados en las páginas, mediante el uso de redes sociales como Twitter, Google+ y Facebook.

Full text

PROYECTO FIN DE GRADO Escuela de Ingenie ía In o má ica Uni e sidad de Las Palmas de G an Cana ia JUNIO 2014 E-NATURAL: DESARROLLO DE UNA APLICACIÓN ORIENTADA A LA GESTIÓN Y ADMINISTRACIÓN DE LOS SERVICIOS DE EMPRESAS RELACIONADAS CON ACTIVIDADES EN LA NATURALEZA PARTE I Au o : Ye ay Pé ez Valien e Tu o 1: Agus ín Sánchez Medina Tu o 2: Mónica Pelleje o Sil a Ti ulación: G ado en Ingenie ía en In o má ica P oyec o in de g ado de la Escuela de Ingene ía In o má ica de la Uni e sidad de Las Palmas de G an Cana ia p esen ado po el alumno: Ye ay Pé ez Valien e Ti ulo del p oyec o: E-Na u al: Desa ollo de una aplicación o ien ada a la ges ión y adminis ación de los se icios de emp esas elacionadas con ac i idades en la na u aleza. Pa e I Tu o 1: Agus ín Sanchez Medina Tu o 2: Mónica Pelleje o Sil a DEDICATORIA A mis pad es y a mi no ia 2-i Índice gene al 1 In oducción .......................................................................................................................... 5 2 Es ado ac ual y Obje i os ...................................................................................................... 6 2.1 Es ado ac ual del A e ................................................................................................... 7 3 Compe encias ...................................................................................................................... 11 4 Apo aciones Socio-Económicas ......................................................................................... 23 5 Plani icación del abajo ...................................................................................................... 24 5.1 Me odología de desa ollo .......................................................................................... 24 5.2 Plani icación y empo ización ..................................................................................... 26 6 Desa ollo del abajo.......................................................................................................... 28 6.1 Requisi os del sis ema ................................................................................................. 28 6.1.1 Modelo del dominio ............................................................................................ 28 6.1.2 Diag amas modelo de dominio ........................................................................... 28 6.1.3 Diag amas en idad elación ................................................................................ 30 6.1.4 Modelo elacional ............................................................................................... 34 6.2 Especi icación de equisi os de usua io. ..................................................................... 37 6.2.1 Desc ipción. ......................................................................................................... 37 6.2.2 Ac o es ................................................................................................................ 38 6.2.3 Lis ados de ac o es y sus oles ............................................................................ 39 6.2.4 Modelo de casos de uso ...................................................................................... 42 6.2.5 Lis a de Casos de Uso .......................................................................................... 47 6.2.6 P o o ipo de in e az de usua io ......................................................................... 48 6.3 Diseño a qui ec ónico ................................................................................................. 52 6.3.1 Ca ac e ís icas de es a a qui ec u a ................................................................... 52 6.3.2 A qui ec u a de la aplicación .............................................................................. 54 6.3.3 De alles de la implemen ación. ........................................................................... 57 6.3.4 Diag ama de Despliegue...................................................................................... 59 6.3.5 Diag amas de clases ............................................................................................ 61 6.3.6 Diag amas de secuencia ...................................................................................... 86 7 Conclusiones........................................................................................................................ 91 7.1 Uso del F amewo k Codeigni e .................................................................................. 91 7.2 Uso de Lib e ía G oce y CRUD .................................................................................... 91 7.3 Uso de componen es, ecnologías y es a egias. ........................................................ 91 7.4 Resul ado inal del p oyec o ....................................................................................... 92 2-ii 8 T abajo Fu u o: .................................................................................................................... 92 9 Anexos ................................................................................................................................. 94 9.1 Anexo I: Recu sos u ilizados ........................................................................................ 94 9.1.1 Recu sos so wa e ............................................................................................... 94 9.1.2 Recu sos ha dwa e ............................................................................................ 101 9.2 Anexo II: Especi icación de casos de uso ................................................................... 102 9.3 Anexo III: Implemen ación ........................................................................................ 133 9.3.1 TinyMce ............................................................................................................. 133 9.3.2 Codeigni e : ....................................................................................................... 134 9.3.3 Paypal ................................................................................................................ 177 9.3.4 G oce y C ud ..................................................................................................... 190 9.3.5 Image C ud ........................................................................................................ 204 9.3.6 Image Moo ........................................................................................................ 206 9.3.7 JRa ing ............................................................................................................... 210 9.4 Anexo IV: Manual de usua io .................................................................................... 223 9.5 Anexo V: Índice de Imágenes .................................................................................... 263 9.6 Anexo VI: Indice de igu as comple o ....................................................................... 266 9.7 Anexo VII: Indice de ablas comple o ........................................................................ 268 10 Bibliog a ía .................................................................................................................... 269 2-iii 10 Yumping: Jumping es una emp esa que o ece p oduc os de ocio y depo es de a en u a. Median e un buscado de ac i idades y una localización se pueden encon a los di e en es se icios o ecidos. También iene la posibilidad de ealiza ese as y hace comen a ios (Véase Imagen 5). Imagen 5: Página web Yumping Da en u as: Es un buscado de emp esas de depo es de a en u a y depo es ex emos. O ecen u ismo de a en u a, campamen os y casas u ales. Solo ealiza búsquedas y enlaza con las páginas webs de las emp esas (Véase Imagen 6). Imagen 6: Página web DA en u as 11 Ena u al en cambio, además de los se icios an e io men e mencionados, p opo ciona un se icio de ges ión de in o mación comple o pa a la c eación, man enimien o y hos ing de si ios web pa a las emp esas alojadas. 3 Compe encias En es e apa ado se mos a án las dis in as compe encias que se p e enden cub i con el p esen e p oyec o: CII01 Capacidad pa a diseña , desa olla , selecciona y e alua aplicaciones y sis emas in o má icos, asegu ando su iabilidad, segu idad y calidad, con o me a p incipios é icos y a la legislación igen e. Es a compe encia queda cubie a con los capí ulos Es ado ac ual y obje i o del T abajo de Fin de G ado y Requisi os Ha dwa e y So wa e. En ellos se especi ican, po un lado, los mo i os de diseño, desa ollo, e c. explicando exhaus i amen e las ases de de inición de equisi os, análisis y diseño de los casos de uso necesa ios pa a sa is ace las necesidades de la aplicación Web, y po o o lado se jus i ica la u ilización del ha dwa e más adecuado pa a la implemen ación de la misma, eniendo en cuen a pa áme os de iabilidad, calidad y segu idad. En esumen, con es a elección de ha dwa e y so wa e, la implemen ación de es e abajo de in de g ado da como esul ado una aplicación obus a y con o me a los p incipios é icos y a la legislación igen e. CII02 Capacidad pa a plani ica , concebi , desplega y di igi p oyec os, se icios y sis emas in o má icos en odos los ámbi os, lide ando su pues a en ma cha y su mejo a con inua y alo ando su impac o económico y social. De odos los elemen os de un sis ema de ges ión de p oyec os, la plani icación es posiblemen e la más impo an e, pues o que una mala o inexis en e plani icación conduci á a una mala ealización en el p oyec o, lo cual epe cu i á eno memen e an o en la calidad como en el plazo de e minación del p oyec o, ocasionando g andes pe juicios. Es a es la azón po la que es a compe encia queda cubie a, pues o que la buena plani icación de es e abajo de in de g ado ha dado luga al p opósi o undamen al del mismo, que no es más que la inalización en los plazos es ablecidos así como consegui de mane a adecuada los obje i os p opues os inicialmen e. Si además enemos en cuen a el capí ulo Apo aciones, pode nos ap ecia el impac o del p oyec o en el ámbi o de aplicación en que nació. Hay que ene en cuen a que los obje i os que siemp e se buscan al desa olla una aplicación no deben limi a se a esol e el p oblema sino que hay que in en a elegi la solución más ap opiada y con o me a la in aes uc u a con la que cuen a el clien e. CII04 12 Capacidad pa a elabo a el pliego de condiciones écnicas de una ins alación in o má ica que cumpla los es ánda es y no ma i as igen es. Pliego de especi icaciones écnicas que han de egi en la con a ación de una pla a o ma compues a po odo el desa ollo de la pla a o ma web y odo lo elacionado con su implemen ación. Obje o del con a o y condiciones El con a o iene como obje o, la implemen ación de la pla a o ma web dinámica VideoEduca pa a uso de la ULPGC. Ámbi o geog á ico El ámbi o geog á ico en que se p es a á el se icio se á mundial. Ya cualquie isi an e ex e no puede accede a la pla a o ma, pe o sólo los alumnos ma iculados en la Ulpgc pod án dis u a de la o alidad de sus se icios. Requisi os de iabilidad El desa ollo de la aplicación debe acome e se de al o ma que su esul ado ga an ice:  Al a iabilidad  Compo amien o es able Plazo de ejecución El con a is a se comp ome e a elabo a el so wa e de con o midad con lo es ablecido en es e documen o y con la o e a que hubiese p esen ado, así como a en ega lo al con a an e. Dicha en ega debe á hace se en el plazo máximo de 6 meses, a con a desde la echa de la i ma del con a o. El so wa e se conside a á debidamen e en egado cuando se haya ecibido la pla a o ma y a su ez es é disponible pa a su inmedia o uncionamien o y se haya acili ado el manual de usua io y la documen ación écnica co espondien e. Documen ación Las emp esas lici ado as debe án pone cla amen e de mani ies o las posibles ac ualizaciones de la aplicación. T ans e encia Tecnológica Du an e la ejecución de los abajos obje o del con a o, el adjudica a io se comp ome e a acili a en odo momen o a las pe sonas designadas po la Uni e sidad de las Palmas de G an Cana ia a ales e ec os la in o mación que és a solici e pa a dispone de un pleno conocimien o de las ci cuns ancias en que se desa ollan los abajos, así como de los e en uales p oblemas que pueden plan ea se y de las ecnologías, mé odos y he amien as u ilizados pa a esol e los. P opiedad del esul ado de los abajos 13 Todos los documen os y esul ados de los abajos ealizados se án p opiedad de la Uni e sidad de las Palmas de G an Cana ia que pod á eje ce el de echo de explo ación en su cen o de abajo. La emp esa adjudica a ia pod á hace uso de los mismos, ya sea como e e encia o base pa a abajos u u os, siemp e que cuen e con la au o ización exp esa del con a an e. En ega de la solución Todo el p oceso de suminis o de so wa e, documen ación, manuales de ins alación y con igu ación, manual de adminis ación y de usua io, desa ollo de p uebas, plan de ma cha a ás, se ha á con o me al P oceso de Ges ión de la En ega de inido po la Di ección de la Uni e sidad de las Palmas de G an Cana ia. En o no P e-explo ación De se necesa ias a eas co ec i as una ez implemen ada la solución obje o de es e con a o, con el in de acili a los abajos, y ealización de p uebas sin a ec a al sis ema en p oducción, se á p eciso que cualquie ac i idad a ealiza sob e la pla a o ma se ealice p e iamen e en el en o no de p e-explo ación simila al de p oducción. Se á p eciso e i ica y es ea el co ec o uncionamien o en es e en o no, como paso p e io al despliegue en p oducción. CII18 Conocimien o de la no ma i a y la egulación de la in o má ica en los ámbi os nacional, eu opeo e in e nacional. Un análisis de las legislaciones que se han p omulgado en di e sos países a oja que las no mas ju ídicas que se han pues o en igo es án di igidas a p o ege la u ilización abusi a de la in o mación eunida y p ocesada median e el uso de compu ado as, e incluso en algunas de ellas se ha p e is o o ma ó ganos especializados que p o ejan los de echos de los ciudadanos amenazados po los o denado es. Desde hace ap oximadamen e diez años la mayo ía de los países eu opeos han hecho odo lo posible pa a inclui den o de la ley, la conduc a punible penalmen e, como el acceso ilegal a sis emas de cómpu o o el man enimien o ilegal de ales accesos, la di usión de i us o la in e cep ación de mensajes in o má icos. En la mayo ía de las naciones occiden ales exis en no mas simila es a los países eu opeos. Todos es os en oques es án inspi ados po la misma de p eocupación de con a con comunicaciones elec ónicas, ansacciones e in e cambios an con iables y segu os como sea posible. Da un concep o sob e deli os in o má icos no una labo ácil y es o en azón de que su misma denominación alude a una si uación muy especial, ya que pa a habla de “deli os” en el sen ido de acciones ipi icadas o con empladas en ex os ju ídico penales, se equie e que la exp esión “deli os in o má icos” es e consignada en los códigos penales, lo cual en nues o 14 país, al igual que en muchos o os, no ha sido obje o de ipi icación aún; sin emba go, muchos especialis as en de echo in o má ico emplean es a alusión a los e ec os de una mejo concep ualización. No ma i a y egulación de la in o má ica en el ámbi o in e nacional. En el con ex o in e nacional, son pocos los países que cuen an con una legislación ap opiada. En e ellos, des acan, Es ados Unidos, Alemania, Aus ia, G an B e aña, Holanda, F ancia, España, A gen ina y Chile. Po es a azón a con inuación se mencionan algunos aspec os elacionados con la ley en los di e en es países, así como con los deli os in o má icos que pe sigue. Alemania Es e país sancionó en 1986 la Ley con a la C iminalidad Económica, que con empla los siguien es deli os: Espionaje de da os. Es a a in o má ica. Al e ación de da os. Sabo aje in o má ico. Aus ia La Ley de e o ma del Código Penal, sancionada el 22 de Diciemb e de 1987, sanciona a aquellos que con dolo causen un pe juicio pa imonial a un e ce o in luyendo en el esul ado de una elabo ación de da os au omá ica a a és de la con ección del p og ama, po la in oducción, cancelación o al e ación de da os o po ac ua sob e el cu so del p ocesamien o de da os. Además con empla sanciones pa a quienes comen en es e hecho u ilizando su p o esión de especialis as en sis emas. Es ados Unidos Es e país adop ó en 1994 el Ac a Fede al de Abuso Compu acional que modi icó al Ac a de F aude y Abuso Compu acional de 1986 con la inalidad de elimina los a gumen os hipe écnicos ace ca de qué es y que no es un i us, un gusano, un caballo de T oya y en que di ie en de los i us, la nue a ac a p osc ibe la ansmisión de un p og ama, in o mación, códigos o comandos que causan daños a la compu ado a, a los sis emas in o má icos, a las edes, in o mación, da os o p og amas. La nue a ley es un adelan o po que es á di ec amen e en con a de los ac os de ansmisión de i us. Asimismo, en ma e ia de es a as elec ónicas, de audaciones y o os ac os dolo osos elacionados con los disposi i os de acceso a sis emas in o má icos, la legislación 15 es adounidense sanciona con pena de p isión y mul a, a la pe sona que de aude a o o median e la u ilización de una compu ado a o ed in o má ica. En el mes de Julio del año 2000, el Senado y la Cáma a de Rep esen an es de es e país, as un año la go de delibe aciones, es ablece el Ac a de Fi mas Elec ónicas en el Come cio Global y Nacional. La ley sob e la i ma digi al esponde a la necesidad de da alidez a documen os in o má icos, mensajes elec ónicos y con a os es ablecidos median e In e ne , en e emp esas (pa a el B2B) y en e emp esas y consumido es (pa a el B2C). Chile Chile ue el p ime país la inoame icano en sanciona una Ley con a deli os in o má icos, la cual en ó en igencia el 7 de junio de 1993. Es a ley se e ie e a los siguien es deli os: La des ucción o inu ilización de los de los da os con enidos den o de una compu ado a es cas igada con penas de p isión. Asimismo, den o de esas conside aciones se encuen an los i us. Conduc a maliciosa endien e a la des ucción o inu ilización de un sis ema de a amien o de in o mación o de sus pa es componen es o que dicha conduc a. F ancia En ene o de 1988, es e país dic ó la Ley ela i a al aude in o má ico, en la que se conside an aspec os como: In omisión audulen a que sup ima o modi ique da os. Conduc a in encional en la iolación de de echos a e ce os que haya impedido o al e ado el uncionamien o de un sis ema de p ocesamien o au oma izado de da os. Conduc a in encional en la iolación de de echos a e ce os, en o ma di ec a o indi ec a, en la in oducción de da os en un sis ema de p ocesamien o au oma izado o la sup esión o modi icación de los da os que és e con iene, o sus modos de p ocesamien o o de ansmisión. Sup esión o modi icación de da os con enidos en el sis ema, o bien en la al e ación del uncionamien o del sis ema (sabo aje) impida, obs aculice o modi ique su uncionamien o. Conduc a maliciosa que al e e, dañe o des uya los da os con enidos en un sis ema de a amien o de in o mación. G an B e aña Debido a un caso de hacking en 1991, comenzó a egi en es e país la Compu e MisuseAc (Ley de Abusos In o má icos). Median e es a ley el in en o, Exi oso o no, de al e a da os in o má icos es penado con has a cinco años de p isión o mul as. Es a ley iene un apa ado que especí ica la modi icación de da os sin au o ización. Holanda 16 El 10 de Ma zo de 1993 en ó en igencia la Ley de Deli os In o má icos, en la cual se penaliza los siguien es deli os: El hacking. El p eacking (u ilización de se icios de elecomunicaciones e i ando el pago o al o pa cial de dicho se icio). La ingenie ía social (a e de con ence a la gen e de en ega in o mación que en ci cuns ancias no males no en ega ía). La dis ibución de i us. No ma i a y egulación de la in o má ica en el ámbi o eu opeo. Has a aho a, el p incipal es ue zo eu opeo po egula el ema de los deli os 21 de no iemb e de 2001. Es e documen o ue i mado po los ep esen an es de cada país miemb o del Consejo de Eu opa, aunque su e icacia depende de su pos e io e endo po los ó ganos nacionales de cada país i man e. El “Con enio sob e la Cibe delincuencia” pe mi ió la de inición de los deli os in o má icos y algunos elemen os elacionados con és os, ales como “sis emas in o má icos”, “da os in o má icos”, o “p o eedo de se icios”. Es os deli os in o má icos ue on clasi icados en cua o g upos: 1. Deli os con a la con idencialidad, la in eg idad y la disponibilidad de los da os y sis emas in o má icos. Acceso ilíci o a sis emas in o má icos. In e cep ación ilíci a de da os in o má icos. In e e encia en el sis ema median e la in oducción, ansmisión, p o ocación de daños, bo ado, al e ación o sup esión de és os. Abuso de disposi i os que acili en la comisión de deli os 2. Deli os in o má icos. Falsi icación in o má ica que p oduzca la al e ación, bo ado o sup esión de da os in o má ico que ocasionen da os no au én icos. F audes in o má icos. 3. Deli os elacionados con el con enido. Deli os elacionados con la po nog a ía in an il. 4. Deli os elacionados con in acciones de la p opiedad in elec ual y de echos a ines. 17 Es con iene des aca que en el “Con enio sob e la Cibe delincuencia” se encomienda a cada Pa e que ome las medidas necesa ias pa a ipi ica como deli o en su de echo in e no cada uno de los apa ados desc i os en cada ca ego ía. En la Disposición 14221 del BOE núm. 226 de 2010, encon amos el Ins umen o de Ra i icación del Con enio sob e la Cibe delincuencia, hecho en Budapes el 23 de no iemb e de 2001. No ma i a y egulación de la in o má ica en el ámbi o nacional. Leyes y Dec e os Ley. Ley O gánica de P o ección de da os de ca ác e pe sonal: égimen sancionado aplicable (BOE no298 de 14/XII/99 que publicó la Ley O g. 15/1999 de 13 de Dic.) Obje o: P o ege y ga an iza las libe ades públicas y de echos undamen ales de las pe sonas, especialmen e su HONOR e INTIMIDAD pe sonal y amilia . Aspec os de in e és: Se án esponsables: “Los esponsables de los iche os o de los a amien os” y “los enca gados de los a amien os”. Ley 7/1998 de 13 de Ab il que egula las condiciones gene ales de con a ación. R.D. 1906/1999 de 17/XII que egula la con a ación ele ónica. R.D.Ley 14/1999 de 17/XII sob e Fi ma Elec ónica (BOE No224 de 18/XII) Fi ma elec ónica: Disposi i o elec ónico que pe mi e la iden i icación del signa a io de las ope aciones ealizadas po In e ne . Iden i ica: El i man e (au en i icación) y E i a el e ac o (no epudio). Código Penal Ley O gánica 10/1995 de 23/XI Tipi ica deli os y al as po el uso de la in o má ica, conc e amen e con a la In imidad, Pa imonio, Socioeconómicos y P opiedad In elec ual. Tí ulo X: “Deli os con a la in imidad, de echo a la p opia imagen y la in iolabilidad del Domicilio”. Apode a se de papeles, e-mails, mensajes, o os... C acks: deli os Ob ene da os de e ce os... Recomendaciones de la APD In o mación en la ecogida de da os. 18 Cuando suminis e da os pe sonales a cualquie o ganización (p o eedo es de acceso, p o eedo es de con enido, endedo es a a és de come cio elec ónico, e c.) sea conscien e de a quién se los acili a y con qué inalidad. Finalidad pa a la que se ecogen los da os Descon íe si los da os que le solici an son excesi os pa a la inalidad con la que se ecogen o innecesa ios pa a el se icio que se le p es a. Tenga en cuen a que cuando in oduce su di ección de co eo elec ónico en un di ec o io, lis a de dis ibución o g upo de no icias, dicha di ección puede se ecogida po e ce os pa a se u ilizada con una inalidad di e en e, como po ejemplo, emi i le publicidad no deseada. Cuando na egue po In e ne , sea conscien e de que los se ido es Web que isi a pueden egis a an o las páginas a las que accede como la ecuencia y los emas o ma e ias po las que busca, aunque no le in o men de ello. Segu idad en el in e cambio de da os U ilice, siemp e que sea posible, las úl imas e siones de los p og amas na egado es, ya que cada ez suelen inco po a mejo es medidas de segu idad. Conside e la posibilidad de ac i a en dichos p og amas las opciones que ale en sob e los in e cambios de da os no deseados y no ellene aquellos da os que no desee hace públicos (po ejemplo, di ección de co eo elec ónico, nomb e, apellidos, e c.). No ealice ansacciones come ciales elec ónicas a a és de p o eedo es con sis emas insegu os o no iables. Consul e el manual de su na egado pa a a e igua cómo in o ma de que se ha es ablecido una conexión con un se ido segu o. Recue de que exis en sis emas de dine o elec ónico que p ese an el anonima o de sus comp as en In e ne . U ilice los mecanismos de segu idad que enga a su alcance pa a p o ege sus da os de accesos no deseados. El medio más iable pa a consegui lo es el ci ado de los mismos. Sal o que se u ilicen mecanismos de in eg idad, au en icación y ce i icación ( i ma digi al, no a ios elec ónicos, e c.) no con íe ciegamen e en que la pe sona u o ganización que le emi e un mensaje es quien dice se y en que el con enido del mismo no se ha modi icado, aunque es o sea así en la inmensa mayo ía de las ocasiones. Pa a e mina : Siemp e que se le solici en da os pe sonales que no es é obligado legalmen e a suminis a , sopese los bene icios que a a ecibi de la o ganización que los ecoge en e a los posibles iesgos de u ilización i egula de los mismos. An e cualquie duda sob e la legalidad de la u ilización de sus da os de ca ác e pe sonal, póngase en con ac o con la Agencia de P o ección de Da os. 19 La p o ección ju ídica de p og amas de o denado . Pi a e ía in o má ica El Real Dec e o Legisla i o 1/1996, po el que se ap ueba el Tex o Re undido sob e P opiedad In elec ual, la p o ección ju ídica de los p og amas de o denado , an es egulada po la Ley de P o ección Ju ídica de P og amas de O denado y po la Ley de P opiedad In elec ual, c ea un ma co ju ídico en con a de la pi a e ía in o má ica. El Tex o Re undido desa olla una se ie de medidas pa a comba i la pi a e ía in o má ica, como la posibilidad de que los ab ican es de p og amas de o denado solici en a la jus icia española la ealización de un egis o so p esa en emp esas en las que exis an sospechas undadas o e idencias de deli o. España es uno de los países en los que se puede acudi a es a medida cau ela . De es a mane a se e adica la posibilidad de que los p esun os in ac o es puedan des ui las p uebas exis en es, lo cual, indudablemen e ocu i á si se les no i ica po adelan ado la ealización de un egis o. ¿En qué casos se in inge la Ley? Al copia o dis ibui un p og ama de o denado o la documen ación que le acompaña, incluidas aplicaciones, da os, códigos y manuales, sin pe miso exp eso o licencia del p opie a io de los de echos de explo ación. Al u iliza un p og ama sin la co espondien e licencia o au o ización del ab ican e, con independencia de que se u ilice en un solo o denado o en a ios de o ma simul ánea. Al u iliza p og amas de o denado en un núme o de copias supe io al au o izado po el ab ican e en sus con a os o licencias de uso. En emp esas y demás o ganizaciones, al omen a , conscien e o inconscien emen e, pe mi i , obliga o p esiona a los empleados a ealiza o dis ibui copias no au o izadas del p og ama. Al e ec ua copias no au o izadas po que alguien lo equie e u obliga a ello. Al cede o p es a el p og ama de o ma que pueda se copiado o al copia lo mien as es á en su posesión en calidad de cedido o p es ado. Al c ea , impo a , posee o negocia con a ículos des inados a bu la o neu aliza cualquie medio écnico aplicado pa a p o ege el p og ama de o denado . Medidas Judiciales Si inalmen e exis e e idencia de deli o, las medidas judiciales que pueden adop a se son: Solici a al Juez un egis o so p esa de las ins alaciones del p esun o in ac o , an o po la ía ci il, como po la penal. Solici a al Juez la adopción u gen e de medidas cau ela es de p o ección. Exigi indemnizaciones aco des con los daños ma e iales y mo ales causados. 26 5.2 Plani icación y empo ización A con inuación mos amos las imp esiones de la plani icación y empo ización del p oyec o (Véase Tabla 1): A la ase de Análisis le dedicamos unas ein a ho as de p oyec o, debido a la acilidad pa a encon a manuales y ejemplos de las ecnologías web. También los equisi os ue on áciles de analiza ya que e an é minos sencillos y manejables. Las es a egias y me odologías a segui ue on bas an e cla as desde el p incipio y la expe iencia p e ia en es e ipo de p oyec os, ue la cla e de e minan e pa a a anza dep isa en es e apa ado. En cuan o a la ase de Implemen ación, el diseño p e io ue ela i amen e ápido u ilizando he amien as “Mockup”, el diseño de la base de da os ue sencillo, el diseño de la pla a o ma “backend” ue ela i amen e sencillo pe o el diseño del “F on end” ue bas an e más complicado y lle ó mucho iempo comple a es a ase. A la ase inal le dedicamos bas an e menos iempo, ya que, la ase de p uebas la íbamos ealizando ambién du an e la ase de implemen ación. FASE HORAS % 1. Análisis Es udio inicial de necesidades y equisi os 5 0,016666667 Es udio de la he amien a en la que se a a ealiza el desa ollo 10 0,066666667 Ana omía y es uc u a de los se icios web. 5 Ana omía y es uc u a de la aplicación web. 3 0,02 Análisis y es a egia de con enidos 4 0,01 Documen ación de la in o mación gene ada en la ase de Análisis 3 0,033333333 TOTAL FASE DE ANÁLISIS 30 10% 2. Desa ollo del p oyec o Diseño de aplicación y pla a o ma web 8 0,05 Análisis y p og amación (aplicación web y se icios Web) 70 0,233333333 Análisis y p og amación de base de da os 20 0,1 Finalización de ase diseño 135 0,083333333 Documen ación de la in o mación gene ada en la ase de Desa ollo 6 0,066666667 27 TOTAL FASE DE DESARROLLO 239 74,7% 3. Fase inal P uebas inales 8 Plani icación del man enimien o de la pla a o ma 7 0,033333333 Plani icación del seguimien o de esul ados p e is o 7 0,033333333 Documen ación de la in o mación gene ada en la ase inal 7 0,033333333 TOTAL FASE FINAL 29 9,6% TOTAL HORAS 300 Tabla 1: Plani icación y Tempo ización 28 6 Desa ollo del abajo 6.1 Requisi os del sis ema 6.1.1 Modelo del dominio Un modelo del dominio cap u a los ipos más impo an es de obje os en el con ex o del sis ema. Los obje os del dominio ep esen an las cosas que exis en o los e en os que suceden en el en o no en el que abaja el sis ema. Muchos de los obje os del dominio o pueden ob ene se de una especi icación de equisi os o median e la en e is a con los expe os del dominio. A con inuación se p esen a el modelo del dominio pa a el con ex o en el que se engloba la aplicación. Debido a las dimensiones del modelo, es e se ha di idido en a ias pa es pa a acili a su comp ensión y da mayo cla idad al mismo. 6.1.2 Diag amas modelo de dominio El usua io adminis ado : Figu a 1: Modelo de dominio de usua io adminis ado El adminis ado puede c ea usua ios y se icios, los usua ios ienen un pe il y un ol único (Véase Figu a 1). 29 El usua io clien e: Figu a 2: Modelo de dominido de usua io clien e El clien e puede publica comen a ios y asocia los a los p oduc os, además puede añadi ese as y comp as de p oduc os (Véase Figu a 2). 30 El usua io ges o : Figu a 3: Modelo de dominio de usua io ges o El usua io ges o puede c ea ca ego ías y p oduc os, puede añadi a i as y ges iona la isualización de los comen a ios en los p oduc os (Véase Figu a 3). 6.1.3 Diag amas en idad elación Un diag ama o modelo en idad- elación (es una he amien a pa a el modelado de da os que pe mi e ep esen a las en idades ele an es de un sis ema de in o mación así como sus in e elaciones y p opiedades. Pa a el TFG se han diseñado dos bases de da os: La Base de Da os ena u al_db es á compues a po las ablas más impo an es de la base de da os, an es de ealiza el diseño es udiamos p e iamen e sus en idades a con inuación las enume amos:  Usua io: Es la en idad básica que ep esen a a un pa icipan e del sis ema, los ipos de usua ios pueden se Usua io anónimo, Usua io Clien e, Usua io Ges o y Usua io Adminis ado . Sus ca ac e ís icas son: Id,Email,Passwo d,Es ado,Idweb.  Re e encia: Rep esen a un código de ac i ación de cuen as de usua io. Sus ca ac e ís icas son: Id, Código.  Rol: Rep esen a un ol de usua io, pueden se Adminis ado , Ges o y Clien e. Sus ca ac e ís icas son: Id,Tipo.  Pe il: Rep esen a oda la in o mación pública y p i ada ela i a al usua io. Sus ca ac e ís icas son: Id,Edad,Iduse ,A a a ,Nomb e,Apellidos,Comen a ios,Fecha de nacimien o. 31  Regis o: Rep esen a una ac i idad ealizada po alguno de los usua ios de la web. Sus ca ac e ís icas son: Id,Idi em,Accion,Fecha de emisión, Idweb.  Ca ego ía: Rep esen a una ipo de p oduc o. Sus ca ac e ís icas son: Id, Nomb e, Desc ipción,Imagen.  Se icio: Rep esen a una ac i idad especí ica de la emp esa. Sus ca ac e ís icas son: Id, Nomb e, Desc ipción, Imagen, Idweb.  Ta i a: Rep esen a un p ecio empo al de un p oduc o. Sus ca ac e ís icas son: Id, Fecha inicio, Fecha in, Emisión, Tasas, P ecio1, P ecio2, impues os.  Rese a: Rep esen a un egis o que o o ga de mane a empo al el uso exclusi o de un p oduc o a un usua io. Sus ca ac e ís icas son: Id, Fecha Inicio, Fecha Fin, Fecha de emisión, In o mación, Email, Di ección.  P oduc o: Rep esen a una ac i idad, se icio o alojamien o. Sus ca ac e ís icas son: Id, Gale ia de imágenes, A chi os, Nomb e, Imagen de po ada, Desc ipción.  Comen a io: Rep esen a una opinión de un p oduc o dado. Sus ca ac e ís icas son: Id, Comen a io, Ac i o.  Municipio/P o incia: Rep esen a una localización. Sus ca ac e ís icas son: Id municipio, Id P o incia, Codigo municipio, Digi o con ol, Nomb e.  Web empla e: Rep esen a la plan illa o colección de plan illas de la web de clien es. Seguidamen e se mues a el diag ama en idad elación que p e iamen e hemos diseñado pa a las elaciones en e en idades (Véase Figu a 4): 32 Figu a 4: Diag ama en idad elación ena u al_db. 33 Po o o lado el esquema de la segunda base de da os s a is ics_db ue mucho más simple ya que solo exis ían es elaciones usua ios, se icios y p oduc os . Una ca ac e ís ica impo an e a ene en cuen a en es a base de da os es que las ablas se an a au ogene a dinámicamen e, es deci , cada ez que un se icio, un p oduc o o un usua io se c een en el sis ema, se gene a an ablas con la siguien e plan illa [se icio o usua io o p oduc o]_[id del obje o]_[ id de la web]. De es a mane a se gua da an en es a base de da os las es adís icas de uso de cada uno po sepa ado, p opo cionando una in o mación exac a de su uso. A con inuación se mues a el diag ama en idad elación de la base de da os (Véase Figu a 5): Figu a 5: Diag ama en idad elación db_s a is ics 34 6.1.4 Modelo elacional En es e modelo odos los da os son almacenados en elaciones, y como cada elación es un conjun o de da os, el o den en el que és os se almacenen no iene ele ancia (a di e encia de o os modelos como el je á quico y el de ed). Es o iene la conside able en aja de que es más ácil de en ende y de u iliza po un usua io no expe o. La in o mación puede se ecupe ada o almacenada po medio de consul as que o ecen una amplia lexibilidad y pode pa a adminis a la in o mación. Es e modelo conside a la base de da os como una colección de elaciones. De mane a simple, una elación ep esen a una abla que no es más que un conjun o de ilas, cada ila es un conjun o de campos y cada campo ep esen a un alo que in e p e ado desc ibe el mundo eal. Cada ila ambién se puede denomina upla o egis o y a cada columna ambién se le puede llama campo o a ibu o. Pa a manipula la in o mación u ilizamos un lenguaje elacional, ac ualmen e se cuen a con dos lenguajes o males el Álgeb a elacional y el Cálculo elacional. El Álgeb a elacional pe mi e desc ibi la o ma de ealiza una consul a, en cambio, el Cálculo elacional sólo indica lo que se desea de ol e . A con inuación se mue a el modelo elacional de la base de da os ena u al_db (Véase Figu a 6): 35 Figu a 6: Modelo elacional ena u al_db. 42 6.2.4 Modelo de casos de uso Casos de usos de las a eas comunes pa a odos los usua ios: Figu a 9: Caso de uso Regis a Los usua ios anónimos pueden en cualquie momen o au o- egis a se en el sis ema pa a accede a las ope aciones de ese a , comp a y comen a los p oduc os (Véase Figu a 9). Casos de usos po oles: Clien es: Figu a 10: Casos de uso ol clien e Usua io Regis a Valida Email <<include>> Inicia Sesión <<ex end>> Usua io Clien e Visualiza P oduc o Rese a p oduc o Inse a Comen a io Cancela Rese a In oduci da os <<ex end>> <<include>> Realiza Comp a Realiza Valo aciones 43 El clien e end á odas las ope aciones de usua io egis ado, pod á isualiza los p oduc os, ese a p oduc os, cancela ese as y ealiza comp as de p oduc os a a és de Paypal. Además el usua io clien e pod á ealiza alo aciones de p oduc os y de emp esas (Véase Figu a 10). Ges o es: Figu a 11: Caso de uso Ges iona Comen a ios Los ges o es pod án mos a o no mos a los comen a ios que se ealicen en sus p oduc os. No se pod án bo a de la base de da os (Véase Figu a 11). Figu a 12: Caso de uso Visualiza Regis o Los ges o es pod án isualiza las ac i idades median e un iso de egis o que se ealicen en su si io web (Véase Figu a 12). Ges iona Comen a ios Visualiza Comen a ios <<include>> Ac i a Comen a ios Desac i a Comen a ios Usua io Ges o <<ex end>> <<ex end>> Visualiza Regis o Busca Busca Usua io Busca Ac i idad Busca Fecha <<ex end>> Usua io Ges o 44 Figu a 13: Caso de uso Ges iona P oduc o El usua io ges o pod á c ea o edi a p oduc os in oduciendo los da os del p oduc o, una imagen que lo ep esen e y además la posibilidad de ene una gale ía de imágenes o a chi os elacionados con el p oduc o. También se pod á ene las opciones de elimina y busca p oduc os elacionados con los se icios y ca ego ías de la emp esa (Véase Figu a 13). Ges o Ges iona P oduc o C ea P oduc o Ca ga Gale ia Imagenes Edi a P odu o Elimina P oduc o <<include>> In oduci Da os <<include>> <<ex end>> <<ex end>> Busca P oduc o 45 Adminis ado : Figu a 14: Caso de uso Ges iona Ca ego ia El usua io ges o pod á c ea o edi a ca ego ías in oduciendo los da os necesa ios, subiendo una imagen y eligiendo un se icio pa a la ca ego ía. También pod án elimina y busca ca ego ías de se icio elacionados con las ac i idades de las emp esas (Véase Figu a 14). Adminis ado Ges iona Ca ego ia C ea Ca ego ia Edi a Ca ego ia Elimina Ca ego ia Ca ga Imagen <<include>> In oduci Da os <<include>> <<ex end>> <<ex end>> Busca Ca ego ia 46 Figu a 15: Caso de uso Ges iona Se icio El adminis ado pod á c ea o edi a los se icios comunes pa a odas las emp esas de la web. También end á la posibilidad de busca y elimina se icios (Véase Figu a 15). Figu a 16: Caso de uso Ges iona Usua ios Adminis ado Ges iona Se icio C ea Se icio Ca ga Imagen <<include>> Edi a Se icio Elimina Se icio In oduci Da os <<include>> <<ex end>> <<ex end>> Busca Se icio Adminis ado Ges iona Usua ios C ea Usua io Edi a Usua io Elimina Usua io In oduci Da os <<ex end>> <<include>> Busca Usua io 47 El adminis ado pod á c ea o edi a a odos los usua ios con oles de ges o y clien es den o del sis ema. También pod á elimina los y busca usua ios (Véase Figu a 16). 6.2.5 Lis a de Casos de Uso A con inuación mos amos una abla con odo el lis ado de casos de uso (Véase Tabla 4): Ac o (Roles) Caso de Uso Nº Caso de uso Usua io Regis a se 01 Visualiza Web 02 Visualiza P oduc o 03 Usua io Regis ado Inicia Sesión 04 Ce a Sesión 05 Usua io Clien e Realiza Comp a 06 Realiza Rese a 07 Inse a Comen a io 08 Usua io Ges o Visualiza Comen a ios 09 Visualiza Regis o 10 C ea Ta i a 11 Edi a Ta i a 12 Elimina Ta i a 13 Busca Ta i a 14 C ea Rese a 15 Elimina Rese a 16 Busca Rese a 17 C ea P oduc o 18 Edi a P oduc o 19 Elimina P oduc o 20 Busca P oduc o 21 Usua io Adminis ado C ea Ca ego ía 22 Edi a Ca ego ía 23 Elimina Ca ego ía 24 Busca Ca ego ía 25 C ea Usua io 26 Edi a Usua io 27 Elimina Usua io 28 Busca Usua io 29 C ea Se icio 30 Edi a Se icio 31 Elimina Se icio 32 Busca Se icio 33 Tabla 4: Lis a de Casos de uso La especi icación de los casos de uso se encuen an en el anexo. 48 6.2.6 P o o ipo de in e az de usua io Los Mockups o p o o ipos de in e az de usua io nos mues a como queda ía una aplicación an es de su diseño inal, de es e modo se ep esen a la aplicación de o ma isual sin la implemen ación del diseño. Aplicación Web: In e az p incipal de usua io ges o : Figu a 17: P o o ipo de in e az de usua io ges o En la in e az se di e encia un menú a la izquie da con el que se pod á na ega po la aplicación, en la pa e cen al, se isualizan g á icas de es adís icas pa a el con ol de la web y en la pa e supe io de echa se isualiza la o o de pe il del ges o y un menú pa a edi a pe il y ce a sesión (Véase Figu a 17). 49 In e az de p oduc o: Figu a 18: P o o ipo de in e az de p oduc o En la in e az se dispone de una abla con la in o mación asociada a la lis a de p oduc os, un buscado de p oduc os y ambién se pod án ealiza di e en es ope aciones como edi a y elimina p oduc os (Véase Figu a 18). 50 In e az edi o web: Figu a 19: P o o ipo de in e az de Edi o Web En la in e az del edi o web se dispond á de una plan illa web que el usua io pod á i con igu ando y se pod á isualiza a a és del buscado del si io (Véase Figu a 19). 51 In e az Página p incipal: Figu a 20: P o o ipo de página web p incipal Mues a como queda ía la página p incipal de la emp esa una ez c eada (Véase Figu a 20). 58 La ca pe a Con ig almacena odos los a chi os de con igu ación ele an es pa a la aplicación. Eso incluye qué lib e ías debe au o-ca ga la aplicación y de alles de la base de da os. La ca pe a Con olle s almacena odos los con olado es de la aplicación. La ca pe a E o s almacena odas las páginas de pa ones de e o es de la aplicación. Cuando un e o apa ece, se gene a una página de e o a pa i de uno de es os pa ones. La ca pe a Hooks con iene ex ensiones que modi ican el uncionamien o de los a chi os del núcleo de CI. La ca pe a Language con iene líneas de ex o que pueden se ca gadas a a és del módulo de lenguaje pa a c ea si ios mul ilenguaje. La ca pe a Lib a ies con iene odas las lib e ías o módulos especí icos pa a la aplicación. La ca pe a Models almacena los modelos de la aplicación. La ca pe a Views almacena las is as de la aplicación. 59 6.3.4 Diag ama de Despliegue Cuando el sis ema es inalizado ha de se desplegado en los componen es ísicos (ha dwa e) que deben cumpli unos equisi os so wa e. Dichos componen es necesa ios pa a es e despliegue son (Véase Imagen 13): Imagen 13: Diag ama de despliegue 60 Se ido p incipal Requisi os ha dwa e:  P ocesado : 2x In el® Xeon® E7-4820, 8C, 2.00GHz, 18M Cache, 5.86GT/s, 105W TDP, Tu bo, HT, DDR3-980MHz  Memo ia: 16GB Memo y o 2 CPUs, 1066MHz (4x4GB 2R LV RDIMMs), 2 Memo y Rise s, 1333MHz DIMMs  Almacenamien o: 4x 1TB, SATA, 2.5-in, 7.2K RPM Ha d D i e  Ta je a con olado a RAID: PERC H700 In eg a ed RAID Con olle , 512MB Cache  Conec i idad RAID: RAID5 o PERC H200/H700, 4 HDDs  Ta je as de ed: In el Gigabi ET Dual Po Se e Adap e , Cu, PCIe-4 Se ido de Base de da os 1: Requisi os ha dwa e:  P ocesado : 2x In el® Xeon® E7-4820, 8C, 2.00GHz, 18M Cache, 5.86GT/s, 105W TDP, Tu bo, HT, DDR3-980MHz  Memo ia: 16GB Memo y o 2 CPUs, 1066MHz (4x4GB 2R LV RDIMMs), 2 Memo y Rise s, 1333MHz DIMMs  Almacenamien o: 4x 2TB, SATA, 2.5-in, 7.2K RPM Ha d D i e  Ta je a con olado a RAID: PERC H700 In eg a ed RAID Con olle , 512MB Cache  Conec i idad RAID: RAID5 o PERC H200/H700, 4 HDDs  Ta je as de ed: In el Gigabi ET Dual Po Se e Adap e , Cu, PCIe-4 Se ido de Base de da os 2: Requisi os ha dwa e:  P ocesado : 2x In el® Xeon® E7-4820, 8C, 2.00GHz, 18M Cache, 5.86GT/s, 105W TDP, Tu bo, HT, DDR3-980MHz  Memo ia: 16GB Memo y o 2 CPUs, 1066MHz (4x4GB 2R LV RDIMMs), 2 Memo y Rise s, 1333MHz DIMMs  Almacenamien o: 4x 2TB, SATA, 2.5-in, 7.2K RPM Ha d D i e  Ta je a con olado a RAID: PERC H700 In eg a ed RAID Con olle , 512MB Cache  Conec i idad RAID: RAID5 o PERC H200/H700, 4 HDDs  Ta je as de ed: In el Gigabi ET Dual Po Se e Adap e , Cu, PCIe-4 Se ido de Copia: Requisi os ha dwa e:  P ocesado : In el® Xeon® E3-1220, 4C/4T, 3.10GHz, 8M Cache, 80W TDP, Tu bo  Memo ia: 4GB Memo y (1x4GB), 1600Mhz, Dual Ranked, Low Vol UDIMM  Almacenamien o: 2x 1TB, SATA, 2.5-in, 7.2K RPM Ha d D i e  Ta je a con olado a RAID: PERC H200 In eg a ed RAID Con olle 61  Conec i idad RAID: RAID1 o PERC H200/H700, 2 HDDs Ta je as de ed: In el® PRO/1000PT GbE Single Po Se e Adap e , Cu, PCIe-1 Requisi os so wa e:  SO: Ubun u Se e  Copias de segu idad: Bacula Clien es mó iles:  Cualquie disposi i o mo il. Clien es Na egado es ( e siones más ecien es):  Mozilla Fi e ox  Sa a i  Google Ch ome 6.3.5 Diag amas de clases Seguidamen e se mos a á los diag amas de clase co espondien es a los módulos de la aplicación: 63 Ca ego ías: Figu a 21: Diag ama de clases Ca ego ias PageView Ca ego yCon olle <<con olle >> Ca ego yModel <<model>> Websi eModel <<model>> CICon olle <<con olle >> C ea eCa ego yView << iew>> Ca ego yLis View << iew>> MenuLe AdminView << iew>> HeadView << iew>> Heade View << iew>> MenuHo izon alView << iew>> Foo e View << iew>> CIModel <<con olle >> Se iceModel <<model>> is as con olado es modelos 64 Home: Figu a 22: Diag ama de clases Home HomeView << iew>> CICon olle <<con olle >> HomeCon olle <<con olle >> PageView MenuLe AdminView << iew>> HeadView << iew>> Heade View << iew>> MenuHo izon alView << iew>> Foo e View << iew>> S a is icsModel <<model>> Rese eModel <<model>> con olado es is as modelos CIModel <<con olle >> 65 Regis o de e en os: Figu a 23: Diag ama de clases Regis o de e en os Ac i i yCon olle <<con olle >> Ac i i yView << iew>> Ac i i yModel <<model>> CICon olle <<con olle >> PageView MenuLe AdminView << iew>> HeadView << iew>> Heade View << iew>> MenuHo izon alView << iew>> Foo e View << iew>> is as con olado es modelos CIModel <<con olle >> 67 Comen a ios: Figu a 24: Diag ama de clases comen a ios Commen Con olle <<con olle >> Commen View << iew>> Commen Model <<model>> Commen Lis View << iew>> O e Model <<model>> P o ileModel <<model>> Websi eModel <<model>> PageView MenuLe AdminView << iew>> HeadView << iew>> Heade View << iew>> MenuHo izon alView << iew>> Foo e View << iew>> CICon olle <<con olle >> is as con olado es modelos CIModel <<con olle >> 74 Con olado web: Figu a 31: Diag ama de clases websi e CICon olle <<con olle >> CIModel <<con olle >> modelos con olado es is as Websi eCon olle <<con olle >> Websi eModel <<model>> HomeView << iew>> Use Model <<model>> 75 Ta i a Figu a 32: Diag ama de clases a i a PageView MenuLe AdminView << iew>> HeadView << iew>> Heade View << iew>> MenuHo izon alView << iew>> Foo e View << iew>> P izeCon olle <<con olle >> CICon olle <<con olle >> Se iceModel <<model>> Ca ego yModel <<model>> O e Model <<model>> P izeView << iew>> CIModel <<con olle >> is as con olado es modelos P izeModel <<model>> 76 Regis o login: Figu a 33: Diag ama de clases login Use Model <<model>> Re e enceModel <<model>> TablesModel <<model>> LoginView << iew>> Regis enLoginCon olle <<con olle >> CICon olle <<con olle >> CIModel <<con olle >> is as con olado es modelos 77 Rese as: Figu a 34: Diag ama de clases ese a PageView MenuLe AdminView << iew>> HeadView << iew>> Heade View << iew>> MenuHo izon alView << iew>> Foo e View << iew>> O e Model <<model>> Rese eC ea eView << iew>> Websi eModel <<model>> P izeModel <<model>> Websi eModel <<model>> Rese eModel <<model>> Rese esView << iew>> Rese esLis View << iew>> Rese esCon olle <<con olle >> CICon olle <<con olle >> CIModel <<con olle >> is as con olado es modelos 78 Sa e index: Figu a 35: Diag ama de clases sa eindex Websi eModel <<model>> WebModel <<model>> O e Model <<model>> Se iceModel <<model>> IndexH mlView << iew>> Sa eIndexCon olle <<con olle >> CICon olle <<con olle >> CIModel <<con olle >> is as con olado es modelos 79 Usua io: Figu a 36: Diag ama de clases usua io PageView MenuLe AdminView << iew>> HeadView << iew>> Heade View << iew>> MenuHo izon alView << iew>> Foo e View << iew>> CICon olle <<con olle >> Use Con olle <<con olle >> C ea euse View Use Lis iew Use Model <<model>> is as con olado es modelos CIModel <<con olle >> 80 Pago Paypal: Figu a 37: Diag ama de clases Paypal PaypalCon olle <<con olle >> CICon olle <<con olle >> PaypalSe e Con olle <<con olle >> IPNLis ene Rese eModel <<model>> Pu chaseModel <<model>> CIModel <<model>> Pu chaseView << iew>> is as con olado es modelos 81 Gua da Se icio: Figu a 38: Diag ama de clases gua da se icio WebModel <<model>> O e Model <<model>> Se iceModel <<model>> Ca ego yModel <<model>> CIModel <<con olle >> CICon olle <<con olle >> con olado es modelos Websi eModel <<model>> Sa eSe icesCon olle <<con olle >> 82 Re e encias: Figu a 39: Diag ama de clases e e encias Re e enceCon olle <<con olle >> Re e enceModel <<model>> CIModel <<con olle >> CICon olle <<con olle >> Use Model <<model>> con olado es modelos 83 Sa e in o: Figu a 40: Diag ama de clases sa ein o WebModel <<model>> Websi eModel <<model>> O e Model <<model>> Se iceModel <<model>> Sa eIn oCon olle <<con olle >> CICon olle <<con olle >> CIModel <<con olle >> con olado es modelos 91 7 Conclusiones 7.1 Uso del F amewo k Codeigni e En el inicio de un p oyec o de es as ca ac e ís icas debemos decidi que es a egia de p og amación se a ha usa pa a consegui el obje i o ijado. En es e caso la es a egia es aba cla a al a a se de un p oyec o web, se op ó po desa olla un p oyec o con pa ones modelo- is a-con olado . Aunque exis en mul i ud de F amewo ks que usan es e pa ón, se decidió elegi Codeigni e debido a la acilidad de uso y a kis helpe s que p opo cionaba la pla a o ma. Es e amewo k iene una cu a de ap endizaje bas an e al a pe o, una ez que se domina el edimien o que se ob iene es conside able. Así, una ez que se a conociendo cómo es el lujo de ejecución y el manejo de odos sus componen es, es posible desa olla aplicaciones en muy poco iempo haciendo uso de oda la po encia de su a qui ec u a y lib e ías. G acias a odos los mencionados componen es ha sido posible ene elemen os an impo an es como un sis ema de e i icación de usua ios, alidación de o mula ios, in e acción cohe en e y mapeada con la base de da os, paginación, sencillo manejo con espues as JSON, con ol de pe iciónes y espues as AJAX, e c. Sin duda, y no menos impo an e, el abaja con el pa ón modelo- is a-con olado pe mi e abs ae se e implemen a componen es eu ilizables. O o pun o impo an e a ene en cuen a es que Codeigni e abaja cien po cien con obje os, lo cual me ha pe mi ido con inua el odaje y ap endizaje con inuo con es a iloso ía, que es u ilizada de o ma p o esional. Po odo ello el uso de un amewo k y en conc e o Codeigni e ha sido muy uc í e o y desde luego muy ecomendable pa a desa olla cualquie aplicación web. 7.2 Uso de Lib e ía G oce y CRUD En un p oyec o en el que el uso de ope aciones C.R.U.D. (C ea e, Read, Upda e, Dele e) es undamen al, e a ine i able ene que usa algún ipo de he amien a pa a a ianza los posibles e o es asociados a la en ada de in o mación del sis ema y la compa ibilidad con los dis in os na egado es. Es a lib e ía, que es cien po cien compa ible con el F amewo k Codeigni e , ue la solución. Así, no solo pe mi e un uso adecuado de la in o mación ecibida sino que, además, es a au oma izada y es anda izada, pe mi iendo de mane a ácil e in ui i a la c eación de sis ema de ges ión de con enidos o CMS (C ea e Managemen Sys em). 7.3 Uso de componen es, ecnologías y es a egias. En es e apa ado de las conclusiones me gus a ía ema ca la impo ancia de la eu ilización e in eg ación de código. G acias a lib e ías y componen es como JQue y, Ja aSc ip , JRa ing, Boo s ap, CSS3, Spinne y o as ha sido posible mos a un buen aspec o y uncionalidad. Resul a imp escindible y ecomendable en es e ipo de p oyec os u iliza los ci ados elemen os que colabo an de o ma ac i a al desa ollo de las aplicaciones. 92 Bi bucke , el con ol de e siones p i ado, pa a el desa ollo de la aplicación web ha supues o un componen e esencial pa a el a ance del p oyec o. Con es e p oyec o he conseguido comp ende mejo y coge sol u a en la u ilización de es os elemen os que aho a me esul an imp escindibles pa a desa olla cualquie aplicación web. 7.4 Resul ado inal del p oyec o La conclusión inal de es e p oyec o es que ha inalizado cumpliendo los obje i os y me as que se p opusie on eniendo como esul ado: Un po al web con un sis ema de in o mación que pe mi e in oduci odos los da os necesa ios pa a la desc ipción de o e as en u ismo u al con especial a ención en el alojamien o. Un sis ema de ges ión de con enidos que au ogene a páginas web p o esionales pa a las emp esas del sis ema, con posibilidad de edición de páginas. Un sis ema de ges ión de ese as y en a de p oduc os. Un sis ema de clasi icación de p oduc os y páginas web del sis ema, median e o ación de usua ios egis ados. Es o pe mi e que la salida de es e p oyec o concluya con un po al web dónde se localizan emp esas de u ismo u al, que se publici an y enden sus p oduc os. 8 T abajo Fu u o: Es e p oyec o a pesa de su complejidad puede o ece oda ía mul i ud de mejo as. Su expansión se puede ealiza po una g an can idad de en es, algunos de ellos se comen an a con inuación: 1.-Ampliación de las plan illas del edi o web: Ac ualmen e el edi o dispone de una sola plan illa con igu able muy básica, se pod ían gene a mul i ud de plan illas con igu ables y añadi las en el edi o pa a que el usua io pudie a selecciona la más idónea pa a su ac i idad come cial. Las plan illas pod ían ene dis in os diseños, imágenes, combinaciones de colo es e iconos di e en es. 2.-In e az mul i-idioma: En los iempos que co en ene una página en mul iples idiomas es algo básico. Al se una ac i idad u ís ica los clien es po enciales pueden se de o os países. Po ello, se ía ecomendable dispone de al menos uno o dos idiomas más. El F amewo k Codeigni e dispone de una clase “Language Class”, és a pe mi e abs ae la lógica de la aplicación del idioma de la in e az median e iche os donde se con iene la in o mación del idioma con las e ique as, pudiendo habe an os idiomas como iche os disponibles. 93 3.-Comp as con a je a de c édi o: En la ac ualidad no solo se paga con Paypal, los clien es debe ían dispone de o as o mas de pago. Implemen a una pasa ela de pago con segu idad ci ada se á uno de los siguien es pasos a ealiza . Paypal o Paymil o e an se icios de pagos dónde implemen an oda la pasa ela de pago. 4.- Descuen os: Las emp esas debe ían pode o e a descuen os de sus p oduc os, el p óximo paso debe ía se la c eación de un ges o de descuen os. Es e ges o pe mi i ía la c eación de descuen os empo ales asociados a p oduc os de la emp esa. 5.- P omociones: Las emp esas debe ían dispone de un ges o de p omociones y la posibilidad de hace egalos sob e los p oduc os o e ados, pa a ideliza a los clien es. 6.-Mejo a las búsquedas: Se á necesa io c ea un sis ema de cali icaciones pa a o dena de mane a equi a i a y jus a según la alo ación de los usua ios. 7.- In e az Web y Mó il: Cambia pe iódicamen e el diseño de la web y el mó il, pa a da una imagen de luidez y dinamismo y no es anca se en el pasado. 94 9 Anexos 9.1 Anexo I: Recu sos u ilizados 9.1.1 Recu sos so wa e SO - Ubun u Linux. Ubun u es un sis ema ope a i o basado en Debian y que se dis ibuye como so wa e lib e y g a ui o, el cual incluye su p opio en o no de esc i o io denominado Uni y. Es á o ien ado al usua io no el y p omedio, con un ue e en oque en la acilidad de uso y en mejo a la expe iencia de usua io. Es á compues o de múl iple so wa e no malmen e dis ibuido bajo una licencia lib e o de código abie o. Cada seis meses se publica una nue a e sión de Ubun u. Es a ecibe sopo e po pa e de Canonical du an e nue e meses po medio de ac ualizaciones de segu idad, pa ches pa a bugs c í icos y ac ualizaciones meno es de p og amas. Las e siones LTS (Long Te m Suppo ), que se libe an cada dos años, eciben sopo e du an e cinco años en los sis emas de esc i o io y de se ido (Véase Imagen 14). Imagen 14: S.O. Ubun u Linux Se ha u ilizado mayo i a iamen e pa a hace p uebas en el se ido . 95 SO – Mac OSX. Es el nomb e del sis ema ope a i o c eado po Apple pa a su línea de compu ado as Macin osh. Es conocido po habe sido uno de los p ime os sis emas di igidos al g an público en con a con una in e az g á ica compues a po la in e acción del mouse con en anas, Icono y menús. Desde la exis encia del sis ema ope a i o en los p ime os años den o de la línea Macin osh ha cen ado sus es ue zos en a o de que la máquina esul a a más ag adable al usua io, di e enciándolo de o os sis emas con empo áneos, como MS-DOS, que e an un desa ío écnico. El equipo de desa ollo del Mac OS o iginal incluía a Bill A kinson, Je Raskin y Andy He z eld. Es a ue la base del Mac OS clásico, desa ollado ín eg amen e po Apple, cuya p ime a e sión io la luz en 1985. Su desa ollo se ex ende ía has a la e sión 9 del sis ema, lanzada en 1999. A pa i de la e sión 10 (Mac OS X), el sis ema cambió su a qui ec u a o almen e y pasó a basa se en Unix, sin emba go su in e az g á ica man iene muchos elemen os de las e siones an e io es. Hay una g an a iedad de e siones sob e cómo ue desa ollado el Mac OS o iginal y dónde se o igina on las ideas subyacen es. Pese a es o documen os his ó icos p ueban la exis encia en e el p oyec o Macin osh y el p oyec o Al o de Xe ox PARC. Las con ibuciones iniciales del Ske chpad de I an Su he land y el On-Line Sys em de Doug Engelba ambién ue on signi ica i as (Véase Imagen 15). Imagen 15: S.O. MaCosX 96 PhpMyAdmin PhpMyAdmin es una he amien a esc i a en PHP con la in ención de maneja la adminis ación de MySQL a a és de páginas web u ilizando In e ne . Ac ualmen e puede c ea y elimina Bases de da os, c ea , elimina y al e a ablas, bo a , edi a y añadi campos, ejecu a cualquie sen encia SQL, adminis a cla es en campos, adminis a p i ilegios, expo a da os en a ios o ma os y es á disponible en 62 idiomas. Se encuen a disponible bajo la licencia GPL. Es e p oyec o se encuen a igen e desde el año 1998, siendo el mejo e aluado en la comunidad de desca gas de Sou ceFo ge.ne . Es a he amien a ha sido u ilizada pa a ges iona la base da os. Se ha usado p incipalmen e en el se ido de p uebas pa a la inse ción y consul a de da os en nues a aplicación web (Véase Imagen 16). Apache El se ido HTTP Apache es un se ido web HTTP de código abie o, pa a pla a o mas Unix (BSD, GNU/Linux, e c.), Mic oso Windows, Macin osh y o as, que implemen a el p o ocolo HTTP/1.12 y la noción de si io i ual. Apache p esen a en e o as ca ac e ís icas al amen e con igu ables, bases de da os de au en icación y negociado de con enido, pe o ue c i icado po la al a de una in e az g á ica que ayude en su con igu ación. Sus ca ac e ís icas p incipales y po el que es muy ex ensamen e u ilizado es po se un se ido muy modula , de código abie o, mul i-pla a o ma y ex ensible. Ha sido el se ido u ilizado pa a desa olla la aplicación en p ep oducción (Véase Imagen 17). Gi Hub Es una pla a o ma de desa ollo colabo a i o de so wa e que si e pa a aloja p oyec os u ilizando el sis ema de con ol de e siones Gi . U iliza el amewo k Ruby on Rails po Gi Hub, Inc. (an e io men e conocida como Logical Awesome). El código se almacena de o ma pública, aunque ambién se puede hace de o ma p i ada, c eando una cuen a de pago. Es a he amien a se ha u ilizado pa a lle a el con ol de las e siones del p oyec o y acili a el desa ollo colabo a i o de la aplicación (Véase Imagen 18). Imagen 16: PhpMyAdmin Imagen 17: Apache Imagen 18: Gi hub 97 Bi bucke Bi bucke es un se icio de alojamien o basado en web, pa a los p oyec os que u ilizan el sis ema de con ol de e isiones Me cu ial y Gi . Bi bucke o ece planes come ciales y g a ui os. Se o ece cuen as g a ui as con un núme o ilimi ado de eposi o ios p i ados (que puede ene has a cinco usua ios en el caso de cuen as g a ui as). Es e sis ema en línea pe mi e ges iona y compa i mul i ud de eposi o ios públicos y p i ados en la nube. Desde sep iemb e de 2010, los eposi o ios p i ados no se mues an en las páginas de pe il si un usua io sólo iene depósi os p i ados, el si io web da á el mensaje “Es e usua io no iene eposi o ios”. El se icio es á esc i o en Py hon. Es simila a Gi Hub, que u iliza Gi . Es a he amien a se ha u ilizado jun o con Gi pa a lle a el con ol de las e siones del p oyec o (Véase Imagen 19). Mic oso Visio P emium 2010 Mic oso Visio es un so wa e de dibujo ec o ial pa a Mic oso Windows. Visio comenzó a o ma pa e de los p oduc os de Mic oso cuando ue adqui ida la compañía Visio en el año 2000. Las he amien as que lo componen pe mi en ealiza diag amas de o icinas, diag amas de bases de da os, diag amas de lujo de p og amas, UML, y más, que pe mi en inicia al usua io en los lenguajes de p og amación. Es a he amien a se ha u ilizado pa a elabo a diag amas de casos de uso y diag amas de bases de da os (Véase Imagen 20). No epad++ No epad++ es un edi o de ex o y de código uen e lib e con sopo e pa a a ios lenguajes de p og amación. De sopo e na i o a Mic oso Windows. Se pa ece al Bloc de no as en cuan o al hecho de que puede edi a ex o sin o ma o y de o ma simple. No obs an e, incluye opciones más a anzadas que pueden se ú iles pa a usua ios a anzados como desa ollado es y p og amado es. Se dis ibuye bajo los é minos de la Licencia Pública Gene al de GNU. Se ha u ilizado es a he amien a pa a la edición de di e en es ipos de código, ja asc ip , jque y, h ml, php, e c (Véase Imagen 21). Imagen 9.1.1.1: Bi bucke Imagen 19: Bi bucke Imagen 20: Mic oso Visio Imagen 21: No epad++ 98 Sublime ex 2 Sublime Tex es un edi o de ex o y edi o de código uen e c eado en Py hon desa ollado o iginalmen e como una ex ensión de Vim, con el iempo ue c eando una iden idad p opia, po es o aún conse a un modo de edición ipo i llamado Vin age mode. Se dis ibuye de o ma g a ui a, sin emba go no es so wa e lib e o de código abie o, se puede ob ene una licencia pa a su uso ilimi ado, pe o el no dispone de es a no gene a ninguna limi ación más allá de una ale a cada cie o iempo. Se ha u ilizado es a he amien a pa a edición de código php. (Véase Imagen 22) HTML5 Rep esen a oda la es uc u a en la que es á undamen ada la web hoy en día. Sus siglas signi ican Hype Tex Ma kup Languaje y hace e e encia al lenguaje de ma cado pa a la elabo ación de páginas web. Es e lenguaje se esc ibe en o ma de e ique as y se enca ga de de ini y es uc u a cada uno de los elemen os que apa ecen en una página web. Fue publicado po p ime a ez en In e ne po Tim Be ne s-Lee en 1991. Ac ualmen e la W3C se enca ga de desa olla es ánda es abie os pa a asegu a el co ec o c ecimien o de la web. La úl ima e sión de HTML, HTML 5, o ece nue as e ique as pa a inc us a ideos y g á icos de mane a di ec a en la p opia página en e o as muchas nue as ca ac e ís icas. Se ha u ilizado pa a el desa ollo web y mó il de la aplicación (Véase Imagen 23). PHP Es un lenguaje de p og amación de uso gene al que abaja del lado del se ido y ue diseñado pa a el desa ollo web de con enido dinámico. Es uno de los p ime os lenguajes que pe mi ió inco po a código di ec amen e en el HTML en ez de un iche o ex e no que p ocesa a da os. Fo ma pa e de la amilia de lenguajes in e p e ados y el se ido web es quien se enca ga de p ocesa lo y gene a la página web esul an e. Es posible u iliza lo an o en sis emas UNIX como en Mic oso Windows apoyándose en se ido es como Apache, CGI e ISAPI. Es un lenguaje que de i ó en su nacimien o (1995) de los lenguajes más comunes de p og amación es uc u ada como C y Pe l. Ac ualmen e es uno de los lenguajes más u ilizados en el desa ollo en la web y cons i uye una al e na i a a o os lenguajes como Mic oso ASP y las páginas JSP de Ja a. PHP iene inco po ados unos puen es que pe mi en ealiza conexiones con di e en es ipos de bases de da os como MySQL, Pos g eSQL, O acle,ODBC, Mic oso SQL Se e , Fi ebi d y SQLi e (Véase Imagen 24). Imagen 22: Sublime Tex 2 Imagen 23: H ml5 Imagen 24: Php 99 AJAX AJAX no es en sí un lenguaje de p og amación sino una écnica de desa ollo web pa a c ea aplicaciones in e ac i as. Como su p opio nomb e indica, Asynch onous Ja aSc ip And XML, u iliza el lenguaje de p og amación Ja aSc ip y la es uc u ación de da os XML en el lado del clien e pa a comunica se de o ma asínc ona con el se ido . Es a ecnología pe mi e modi ica elemen os de la página web sin necesidad de eca ga la o i a o a página. De es a o ma es posible inc us a da os ecupe ados de la B.B.D.D. en un elemen o conc e o de la página. Su p incipal en aja es que e i a la necesidad de ca ga odo el con enido cuando sólo es necesa io e esca o ca ga algunos elemen os de la página. Su uncionamien o es á basado en pe iciones ealizadas median e XMLH pReques y p ocesado y modi icado de elemen os en la pa e del clien e con Ja aSc ip y DOM (Véase Imagen 25). CSS Las hojas de es ilo en cascada son un lenguaje que pe mi en desc ibi es ilos de un documen o (página web) a a és de ma cas. Es a in o mación puede es a inc us ada en el p opio HTML o po el con a io sepa ada en iche os .css. Su sin axis es á basado en uno o más selec o es y un bloque de es ilos donde se de inen los alo es de las p opiedades del documen o. Los selec o es pueden se únicos cuando se a a del id de un elemen o o múl iple cuando se habla de una clase de elemen os (Véase Imagen 26). SQL El SQL es un lenguaje de consul a es uc u ado de acceso a bases de da os elaciones que pe mi e especi ica di e sos ipos de ope aciones en e ellas. Una de sus ca ac e ís icas es el manejo del álgeb a y el cálculo elaciones que pe mi en e ec ua consul as con el in de ecupe a , de o ma sencilla, in o mación en bases de da os, así como hace cambios en ella. En SQL una sola sen encia puede equi ale a uno o más p og amas que se u iliza ían en un lenguaje de bajo ni el o ien ado a egis os (Véase Imagen 27). Imagen 25: Ajax Imagen 26: Css3 Imagen 27: MySql 106 Nomb e: Realiza ese a Desc ipción: El usua io una ez au en i icado puede selecciona un p oduc o y hace una ese a en el sis ema. P econdición: Usua io au en i icado y isualizando p oduc o. Pa áme os: Nomb e Apellidos Di ección País P o incia/Municipio Email Código pos al Telé ono Fecha inicio Fecha in Nº Adul os Nº Niños Comen a ios Flujo de Ejecución: 1.- El usua io isualiza el p oduc o. 2.-El usua io selecciona haciendo click en bo ón “Rese a ”. 3.-El usua io accede al o mula io de ese a. 4.-El usua io in oduce los da os necesa ios pa a comple a la solici ud. 5.-Se calculan y mues an los da os de la ese a. 6.-El usua io hace click en el bo ón “Rese a aho a”. 7.- Se en ía un email con la in o mación de la ese a. 8.- La ese a se ha ealizado. Caminos Al e na i os: (4)E o es al in oduci da os.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (4)No se dispone de a i as.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (6)E o en conexión de base de da os no se han podido gua da los da os.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. Pos condición: Rese a ealizada Tabla 11: Desc ipción caso de uso Realiza Rese a 107 Nomb e: Inse a Comen a io Desc ipción: Una ez el usua io es e isualizando el p oduc o puede ealiza comen a ios sob e sus alo aciones. P econdición: Usua io au en i icado y Visualizando el p oduc o. Pa áme os: Comen a io Flujo de Ejecución: 1.- Al usua io se le mues a el p oduc o. 2.-El usua io in oduce el comen a io. 3.- El sis ema inse a el comen a io en la base de da os. 4.- El sis ema mues a el comen a io inse ado. Caminos Al e na i os: (3)E o en la base de da os  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (4)No exis en comen a ios  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. Pos condición: Comen a io gua dado. Tabla 12: Desc ipción caso de uso Inse a Comen a io 108 Usua io Ges o : A con inuación mos amos los casos de uso con más de alle pa a el usua io ges o (Véase Tablas desde la 13 has a la 25). Nomb e: Visualiza Comen a ios Desc ipción: El usua io ges o puede busca comen a ios de p oduc os pa a decidi si se mues an o no se mues an en el p oduc o seleccionado. P econdición: Usua io au en i icado . Pa áme os: Ninguno. Flujo de Ejecución: 1.- Al usua io se le mues a una lis a de p oduc os. 2.-El usua io selecciona un p oduc o. 3.- El sis ema mues a una abla con los comen a ios del p oduc o seleccionado. 4.- El usua io selecciona un comen a io. 5.- El usua io isualiza el comen a io. Caminos Al e na i os: (3)E o en la base de da os  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (3)No exis en comen a ios  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. Pos condición: Ninguno. Tabla 13: Desc ipción caso de uso Visualiza Comen a ios 109 Nomb e: Visualiza Regis o Desc ipción: El usua io ges o una ez au en i icado puede isualiza odas las ac i idades que se ealizan los ges o es en la aplicación web. P econdición: Usua io ges o au en i icado. Pa áme os: Ninguno. Flujo de Ejecución: 1.- El usua io accede a la aplicación web. 2.-El usua io selecciona haciendo click en el menú p incipal “Regis o de E en os”. 3.- El sis ema mues a median e una abla odos los da os ela i os a los e en os. Caminos Al e na i os: (3) Los Da os no exis en en la base de da os.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (3) No se puede conec a a la base de da os.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. Pos condición: Ninguno. Tabla 14: Desc ipción caso de uso Visualiza Regis o 110 Nomb e: C ea Ta i a Desc ipción: El usua io ges o una ez au en i icado puede c ea una o dis in as a i as pa a un p oduc o. P econdición: Usua io ges o au en i icado. Pa áme os: Fecha inicio Fecha in P ecio Adul o P ecio Niño Impues os Tasas Flujo de Ejecución: 1.- El usua io accede a la aplicación web. 2.-El usua io selecciona haciendo click en el menú p incipal “Ges iona Ta i as”. 3.- El sis ema mues a median e una abla odos los p oduc os. 4.- El usua io selecciona un p oduc o. 5.- El usua io hace click en el icono nue a a i a. 6.- El usua io in oduce los da os. 7.- El sis ema gua da la nue a a i a. Caminos Al e na i os: (3)No exis en p oduc os.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (6) E o de base de da os.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. Pos condición: Ta i ca Gua dada. Tabla 15: Desc ipción caso de uso C ea Ta i a 111 Nomb e: Edi a Ta i a Desc ipción: El usua io ges o una ez au en i icado puede edi a una a i a de p oduc o. P econdición: Usua io ges o au en i icado. Pa áme os: Fecha inicio Fecha in P ecio Adul o P ecio Niño Impues os Tasas Flujo de Ejecución: 1.- El usua io accede a la aplicación web. 2.-El usua io selecciona haciendo click en el menú p incipal “Ges iona Ta i as”. 3.- El sis ema mues a median e una abla odos los p oduc os. 4.- El usua io selecciona un p oduc o. 5.- El usua io hace click en el icono edi a a i a. 6.- El usua io in oduce los da os. 7.- El sis ema modi ica la a i a seleccionada. Caminos Al e na i os: (3)No exis en p oduc os.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (6) E o de base de da os.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. Pos condición: Ta i a modi icada. Tabla 16: Desc ipción caso de uso Edi a Ta i a 112 Nomb e: Elimina Ta i a Desc ipción: El usua io ges o una ez au en i icado puede elimina una a i a de un p oduc o. P econdición: Usua io ges o au en i icado. Pa áme os: Ninguno. Flujo de Ejecución: 1.- El usua io accede a la aplicación web. 2.-El usua io selecciona haciendo click en el menú p incipal “Ges iona Ta i as”. 3.- El sis ema mues a median e una abla odos los p oduc os. 4.- El usua io selecciona un p oduc o. 5.- El usua io hace click en el icono elimina a i a. 6.- El sis ema mues a un mensaje de segu idad. 7.- El usua io selecciona acep a 6.- El sis ema elimina la a i a seleccionada. Caminos Al e na i os: (3)No exis en p oduc os.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (7) El usua io selecciona la opción cancela elimina .  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (8) E o la a i a no pudo elimina se.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. Pos condición: Ta i a eliminada. Tabla 17: Desc ipción caso de uso Elimina Ta i a 113 Nomb e: Busca Ta i a Desc ipción: El usua io ges o una ez au en i icado puede busca una a i a de un p oduc o. P econdición: Usua io ges o au en i icado. Pa áme os: P oduc o Fecha inicio Fecha in P ecio Adul o P ecio Niño Impues os Tasas Flujo de Ejecución: 1.- El usua io accede a la aplicación web. 2.-El usua io selecciona haciendo click en el menú p incipal “Ges iona Ta i as”. 3.- El sis ema mues a median e una abla odos los p oduc os. 4.- El usua io busca en la abla la a i a. 5.- El sis ema mues a el/los p oduc os asociados a es a a i a. 6.- El usua io selecciona el p oduc o. 7.- El usua io selecciona la a i a. Caminos Al e na i os: (3)No exis en p oduc os.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (5) No exis en a i as con es os pa áme os.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. Pos condición: Ninguno. Tabla 18: Desc ipción caso de uso Busca Ta i a 114 Nomb e: C ea Rese a Desc ipción: El usua io una ez au en i icado puede selecciona un p oduc o y hace una ese a en el sis ema de o ma manual pa a un clien e. P econdición: Usua io au en i icado. Pa áme os: Nomb e Apellidos Di ección País P o incia/Municipio Email Código pos al Telé ono Fecha inicio Fecha in Nº Adul os Nº Niños Comen a ios Flujo de Ejecución: 1.- El usua io accede a la aplicación web. 2.-El usua io selecciona haciendo click en el menú p incipal “Ges iona Rese as”. 3.- El sis ema mues a median e una abla odos los p oduc os. 4.- El usua io busca el p oduc o pa a ealiza la ese a. 5.- El usua io in oduce los da os en el o mula io de ese a. 6.- El sis ema gua da los da os de la ese a. Caminos Al e na i os: (3)No exis en p oduc os  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (5)E o al in oduci los da os  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (6)E o en conexión de base de da os no se han podido gua da los da os.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. Pos condición: Rese a ealizada. Tabla 19: Desc ipción caso de uso C ea Rese a 115 Nomb e: Elimina Rese a Desc ipción: El usua io una ez au en i icado elimina ese as de p oduc os de o ma manual. P econdición: Usua io au en i icado. Pa áme os: Ninguno. Flujo de Ejecución: 1.- El usua io accede a la aplicación web. 2.-El usua io selecciona haciendo click en el menú p incipal “Ges iona Rese as”. 3.- El sis ema mues a median e una abla odos los p oduc os. 4.- El usua io busca el p oduc o pa a elimina la ese a. 5.- El usua io hace click en el icono elimina . 6.- El sis ema mues a un mensaje de segu idad. 7.- El usua io hace click en acep a . 8.- El sis ema elimina la ese a. Caminos Al e na i os: (3)No exis en p oduc os  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (7)El usua io cancela la ope ación de elimina .  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (8)E o en conexión de base de da os no se han podido gua da los da os.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. Pos condición: Rese a eliminada. Tabla 20: Desc ipción caso de uso Elimina Rese a 122 Nomb e: Edi a Ca ego ía Desc ipción: El usua io una ez au en i icado puede edi a ca ego ías de p oduc os asociados a un se icio en el sis ema. P econdición: Usua io au en i icado. Pa áme os: Nomb e Se icio Imagen de Icono Flujo de Ejecución: 1.- El usua io accede a la aplicación web. 2.-El usua io selecciona haciendo click en el menú p incipal “Ges iona Ca ego ías”. 3.-El usua io selecciona haciendo click en el submenú p incipal “Busca Ca ego ía”. 4.- El sis ema mues a una abla con las ca ego ías. 5.- El sis ema mues a un o mula io de edición de la ca ego ía. 6.- El usua io in oduce o modi ica los da os de la ca ego ía. 7.- El sis ema gua da la ca ego ía. Caminos Al e na i os: (4)No exis en ca ego ías.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (6)E o es de da os  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (7)E o en conexión de base de da os no se han podido gua da los da os.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. Pos condición: Ca ego ía modi icada. Tabla 27: Desc ipción caso de uso Edi a Ca ego ía 123 Nomb e: Elimina Ca ego ía Desc ipción: El usua io una ez au en i icado puede elimina ca ego ías de p oduc os asociados a un se icio en el sis ema. P econdición: Usua io au en i icado. Pa áme os: Ninguno. Flujo de Ejecución: 1.- El usua io accede a la aplicación web. 2.-El usua io selecciona haciendo click en el menú p incipal “Ges iona Ca ego ías”. 3.-El usua io selecciona haciendo click en el submenú p incipal “Busca Ca ego ía”. 4.- El sis ema mues a una abla con las ca ego ías. 5.- El usua io hace click en el icono elimina . 6.- El sis ema mues a un mensaje de segu idad. 7.- El usua io hace click en acep a . 8.- El sis ema elimina la ca ego ía. Caminos Al e na i os: (4)No exis en ca ego ías.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (7)El usua io cancela la ope ación elimina .  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (8)E o en conexión de base de da os no se han podido gua da los da os.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. Pos condición: Ca ego ía eliminada. Tabla 28: Desc ipción caso de uso Elimina Ca ego ía 124 Nomb e: Busca Ca ego ía Desc ipción: El usua io una ez au en i icado puede busca ca ego ías de p oduc os asociados a un se icio den o d el sis ema. P econdición: Usua io au en i icado. Pa áme os: Nomb e Se icio Imagen de Icono Flujo de Ejecución: 1.- El usua io accede a la aplicación web. 2.-El usua io selecciona haciendo click en el menú p incipal “Ges iona Ca ego ías”. 3.-El usua io selecciona haciendo click en el submenú p incipal “Busca Ca ego ía”. 4.- El usua io in oduce los pa áme os de búsqueda. 5.- El sis ema mues a una abla con las ca ego ías. Caminos Al e na i os: (5)No exis en ca ego ías.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (5)E o en conexión de base de da os no se han podido gua da los da os.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. Pos condición: Ninguno. Tabla 29: Desc ipción caso de uso Busca Ca ego ía 125 Nomb e: C ea Usua io Desc ipción: El adminis ado una ez au en i icado puede c ea nue os usua ios y aplica le los oles co espondien es. P econdición: Usua io adminis ado au en i icado. Pa áme os: Da os pe sonales (email, passwo d). Rol de e minado según ipo de usua io. Flujo de Ejecución: 1.- El usua io accede a la aplicación web. 2.-El usua io selecciona haciendo click en el menú p incipal “Ges iona Usua ios”. 3.-El usua io selecciona haciendo click en el submenú p incipal “C ea usua io”. 4.- El sis ema mues a un o mula io de c eación del usua io. 5.- El usua io in oduce los da os co espondien es. 6.- El sis ema gua da la ca ego ía. Caminos Al e na i os: (5)E o es de da os  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (6)E o en conexión de base de da os no se han podido gua da los da os.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. Pos condición: Usua io gua dado. Tabla 30: Desc ipción caso de uso C ea Usua io 126 Nomb e: Edi a Usua io Desc ipción: El usua io una ez au en i icado puede edi a usua ios egis ados en el sis ema P econdición: Usua io adminis ado au en i icado. Pa áme os: Da os pe sonales (passwo d). Flujo de Ejecución: 1.- El usua io accede a la aplicación web. 2.-El usua io selecciona haciendo click en el menú p incipal “Ges iona Usua ios”. 3.-El usua io selecciona haciendo click en el submenú p incipal “Busca Usua ios”. 4.- El sis ema mues a una abla con los usua ios. 5.-El usua io selecciona haciendo click en el icono de opciones “Edi a ” del pe il de usua io a modi ica . 6.- El sis ema mues a un o mula io de edición del usua io. 7.- El usua io in oduce o modi ica los da os del usua io. 7.- El sis ema gua da la modi icación del usua io. Caminos Al e na i os: (4)No exis en usua ios.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (6)E o es de da os  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (7)E o en conexión de base de da os no se han podido gua da los da os.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. Pos condición: Usua io modi icado. Tabla 31: Desc ipción caso de uso Edi a Usua io 127 Nomb e: Elimina Usua io Desc ipción: El usua io una ez au en i icado puede elimina un usua io en el sis ema. P econdición: Usua io adminis ado au en i icado. Pa áme os: Ninguno. Flujo de Ejecución: 1.- El usua io accede a la aplicación web. 2.-El usua io selecciona haciendo click en el menú p incipal “Ges iona Usua ios”. 3.-El usua io selecciona haciendo click en el submenú p incipal “Busca Usua ios”. 4.- El sis ema mues a una abla con los usua ios. 5.- El usua io hace click en el icono elimina . 6.- El sis ema mues a un mensaje de segu idad. 7.- El usua io hace click en acep a . 8.- El sis ema elimina el usua io. Caminos Al e na i os: (4)No exis e el usua io.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (7)El usua io cancela la ope ación elimina .  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (8)E o en conexión de base de da os no se han podido gua da los da os.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. Pos condición: Usua io eliminado. Tabla 32: Desc ipción caso de uso Elimina Usua io 128 Nomb e: Busca Usua io Desc ipción: El usua io una ez au en i icado puede busca usua ios den o del sis ema. P econdición: Usua io adminis ado au en i icado. Pa áme os: Usua io Rol Es ado Flujo de Ejecución: 1.- El usua io accede a la aplicación web. 2.-El usua io selecciona haciendo click en el menú p incipal “Ges iona Usua ios”. 3.-El usua io selecciona haciendo click en el submenú p incipal “Busca Usua ios”. 4.- El usua io in oduce los pa áme os de búsqueda. 5.- El sis ema mues a una abla con los usua ios. Caminos Al e na i os: (5)No exis en usua ios.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (5)E o en conexión de base de da os no se han podido gua da los da os.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. Pos condición: Ninguno. Tabla 33: Desc ipción caso de uso Busca Usua io 129 Nomb e: C ea Se icio Desc ipción: El usua io una ez au en i icado puede c ea nue os se icios en el sis ema. P econdición: Usua io adminis ado au en i icado. Pa áme os: Nomb e Desc ipción del se icio Imagen de Icono Flujo de Ejecución: 1.- El usua io accede a la aplicación web. 2.-El usua io selecciona haciendo click en el menú p incipal “Ges iona Se icios”. 3.-El usua io selecciona haciendo click en el submenú p incipal “C ea Se icio”. 4.- El sis ema mues a un o mula io de c eación del se icio 5.- El usua io in oduce los da os del se icio. 6.- El sis ema gua da el se icio. Caminos Al e na i os: (5)E o es de da os  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (6)E o en conexión de base de da os no se han podido gua da los da os.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. Pos condición: Se icio gua dado. Tabla 34: Desc ipción caso de uso C ea Se icio 130 Nomb e: Edi a Se icio Desc ipción: El usua io una ez au en i icado puede edi a se icios en el sis ema. P econdición: Usua io adminis ado au en i icado. Pa áme os: Nomb e Se icio Imagen de Icono Flujo de Ejecución: 1.- El usua io accede a la aplicación web. 2.-El usua io selecciona haciendo click en el menú p incipal “Ges iona Se icios”. 3.-El usua io selecciona haciendo click en el submenú p incipal “Busca Se icio”. 4.- El sis ema mues a una abla con los se icios. 5.- El sis ema mues a un o mula io de edición del se icio. 6.- El usua io in oduce o modi ica los da os del se icio. 7.- El sis ema gua da el se icio. Caminos Al e na i os: (4)No exis en se icios.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (6)E o es de da os  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (7)E o en conexión de base de da os no se han podido gua da los da os.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. Pos condición: Se icio modi icado. Tabla 35: Desc ipción caso de uso Edi a Se icio 131 Nomb e: Elimina Se icio Desc ipción: El usua io una ez au en i icado puede elimina se icios en el sis ema. P econdición: Usua io adminis ado au en i icado. Pa áme os: Ninguno. Flujo de Ejecución: 1.- El usua io accede a la aplicación web. 2.-El usua io selecciona haciendo click en el menú p incipal “Ges iona Se icios”. 3.-El usua io selecciona haciendo click en el submenú p incipal “Busca Se icio”. 4.- El sis ema mues a una abla con los se icios. 5.- El usua io hace click en el icono elimina . 6.- El sis ema mues a un mensaje de segu idad. 7.- El usua io hace click en acep a . 8.- El sis ema elimina el se icio. Caminos Al e na i os: (4)No exis en se icios.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (7)El usua io cancela la ope ación elimina .  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. (8)E o en conexión de base de da os no se han podido gua da los da os.  Se emi e un mensaje in o mando al usua io y se uel e al pun o de pa ida. Pos condición: Se icio eliminado. Tabla 36: Desc ipción caso de uso Elimina Se icio 138 ' alue' 'maxleng h' 'size' 's yle' => 'usua io', => 'usua io', => 'na alia_na alia', => '100', => '50', => 'wid h:50%', ); echo o m_inpu ($da a); // P oduci ía: <inpu ype=" ex " name="usua io" id="usua io" alue="na alia_na alia" maxleng h="100" size="50" s yle="wid h:50%" /> Si quisie a que su o mula io con u ie a algún da o adicional, como Ja asc ip , pod ía pasá selo en una cadena como e ce pa áme o: o m_passwo d() Es a unción es idén ica en odos los aspec os a la unción o m_inpu () an e io sal o que pe mi e gene a un ipo "passwo d". o m_upload() Es a unción es idén ica en odos los aspec os a la unción o m_inpu () an e io sal o que pe mi e gene a un ipo " ile", pe mi iéndole usa la pa a subi a chi os. o m_ ex a ea() Es a unción es idén ica en odos los aspec os a la unción o m_inpu () an e io sal o que pe mi e gene a un ipo " ex a ea". No a: En luga de los a ibu os "maxleng h" y "size" del ejemplo an e io , debe á es ablece " ows" y "cols". o m_d opdown() Le pe mi e c ea un campo de lis a desplegable es ánda . El p ime pa áme o con end á el nomb e del campo, el segundo pa áme o con end á un a ay asocia i o de opciones y el 139 e ce pa áme o con end á el alo que desee que se seleccione. También puede pasa le un a ay de a ios elemen os median e el e ce pa áme o y CodeIgni e c ea á un selec o múl iple. Ejemplo: $js = 'onClick="alguna_ uncion()"'; echo o m_inpu ('usua io', 'na alia_na alia', $js); $opciones = a ay( 's' => 'Camisa S', 'm' => 'Camisa M', 'l' => 'Camisa L', 'xl'=> 'Camisa XL', ); $camisas_en_ en a = a ay('s', 'l'); echo o m_d opdown('camisas', $opciones, 'l'); // P oduci ía: selec name="camisas"> <op ion alue="s">Camisa S</op ion> <op ion alue="m">Camisa M</op ion> <op ion alue="l" selec ed="selec ed">Camisa L</op ion> <op ion alue="xl">Camisa XL</op ion> </selec > echo o m_d opdown('camisas', $opciones, $camisas_en_ en a); // P oduci ía: <selec name="camisas" mul iple="mul iple"> <op ion alue="s" selec ed="selec ed">Camisa S</op ion> <op ion alue="m">Camisa M</op ion> <op ion alue="l" selec ed="selec ed">Camisa L</op ion> <op ion alue="xl">Camisa XL</op ion> </selec > 140 Si quisie a que la ape u a <selec > con u ie a da os adicionales, como un a ibu o id o Ja aSc ip , puede pasa le una cadena como cua o pa áme o: Si el a ay pasado como $opciones es mul idimensional, o m_d opdown() p oduci á un <op g oup> con la cla e del a ay como ó ulo. o m_mul iselec () Le pe mi e c ea un campo de selección múl iple es ánda . El p ime pa áme o con end á el nomb e del campo, el segundo pa áme o con end á un a ay asocia i o de opciones, y el e ce pa áme o con end á el alo o alo es que desea que es én seleccionados. El uso de pa áme os es idén ico a usa el an e io o m_d opdown(), sal o po supues o que el nomb e del campo end á que usa la sin axis del a ay POST, po ejemplo oo[]. o m_ ieldse () Le pe mi e gene a los campos " ieldse "/"legend". $js = 'id="camisas" onChange="alguna_ uncion();"'; echo o m_d opdown('camisas', $opciones, 'la ge', $js); echo o m_ ieldse ('In o mación de la di ección'); echo "<p>con enido del conjun o de campos aquí</p> n"; echo o m_ ieldse _close(); // P oduce < ieldse > <legend>In o mación de la di ección</legend> <p>con enido del conjun o de campos aquí</p> </ ieldse > Simila a o as unciones, puede en ia un a ay asocia i o en el segundo pa áme o si p e ie e es ablece a ibu os adicionales. $a ibu es = a ay('id' => 'add ess_in o', 'class' => 'add ess_in o'); echo o m_ ieldse ('In o mación de la di ección', $a ibu es); echo "<p>con enido del conjun o de campos aquí</p> n"; echo o m_ ieldse _close(); // P oduce < ieldse id="add ess_in o" class="add ess_in o"> 141 <legend>In o mación de la di ección</legend> <p>con enido del conjun o de campos aquí</p> </ ieldse > o m_ ieldse _close() P oduce una e ique a </ ieldse > de cie e. La única en aja de usa es a unción es que le pe mi e pasa da os a ella, los que se ag ega án debajo de la e ique a. Po ejemplo: o m_checkbox() Le pe mi e gene a un campo de casilla de e i icación. Ejemplo sencillo: El e ce pa áme o con iene un booleano TRUE/FALSE pa a de e mina si la caja se debe ía ma ca o no.Simila a las o as unciones de o mula io en es e helpe , ambién puede pasa le a la unción un a ay de a ibu os: $s ing = "</di ></di >"; echo ieldse _close($s ing); // P oduci ía: </ ieldse > </di ></di > echo o m_checkbox('newsle e ', 'accep ', TRUE); // P oduci ía: <inpu ype="checkbox" name="newsle e " alue="accep " checked="checked" /> $da a = a ay( 'name' => 'newsle e ', 'id' => 'newsle e ', ' alue' => 'accep ', 'checked' => TRUE, 's yle' => 'ma gin:10px', ); echo o m_checkbox($da a); // P oduci ía: inpu ype="checkbox" name="newsle e " id="newsle e " alue="accep " 142 checked="checked" s yle="ma gin:10px" /> Como con o as unciones, si quisie a que la e ique a con enga da os adicionales, como Ja aSc ip , puede pasa le una cadena como cua o pa áme o: $js = 'onClick="alguna_ uncion()"'; echo o m_checkbox('newsle e ', 'accep ', TRUE, $js); Es a unción es idén ica en odos los aspec os a la unción o m_checkbox() an e io , sal o que es ablece un ipo " adio". o m_submi () Le pe mi e gene a un bo ón en ia es ánda . Ejemplo sencillo: Simila a o as unciones, puede pasa un a ay asocia i o en el p ime pa áme o si p e ie e es ablece sus p opios a ibu os. El e ce pa áme o le pe mi e ag ega da os adicionales al o mula io, como Ja aSc ip . o m_label() Le pe mi e gene a un <label>. Ejemplo sencillo: Simila a o as unciones, puede pasa un a ay asocia i o en el e ce pa áme o si p e ie e es ablece sus p opios a ibu os. echo o m_submi ('mi_submi ', 'En ia mensaje'); // P oduci ía: <inpu ype="submi " name="mi_submi " alue="En ia mensaje" /> echo o m_label('Cual es su nomb e?', 'use name'); // P oduci ía: <label o ="use name">Cual es su nomb e?</label> $a ibu es = a ay( 'class' => 'mi_clase', 's yle' => 'colo : #000;', ); echo o m_label('Cual es su nomb e?', 'use name', $a ibu es); // P oduci ía: 143 <label o ="use name" class="mi_clase" s yle="colo : #000;">Cual es su nomb e? </label> o m_ ese () Le pe mi e gene a un bo ón es ánda de ese . El uso es idén ico a o m_submi (). o m_bu on() Le pe mi e gene a un elemen o de bo ón es ánda . Mínimamen e puede pasa el nomb e del bo ón y con enido en el p ime y segundo pa áme os: echo o m_bu on('nomb e','con enido'); // P oduci ía <bu on name="nomb e" ype="bu on">con enido</bu on> O puede pasa le un a ay asocia i o con eniendo cualquie da o que desee que su o mula io con enga: $da a = a ay( 'name' => 'bu on', 'id' => 'bu on', ' alue' => ' ue', ' ype' => ' ese ', 'con en ' => 'Rese ' ); echo o m_bu on($da a); // P oduci ía: <bu on name="bu on" id="bu on" alue=" ue" ype=" ese ">Rese </bu on> Si desea que su o mula io con enga algunos da os adicionales, como Ja aSc ip , puede pasa los como una cadena en el e ce pa áme o: o m_close() P oduce una e ique a </ o m> de cie e. La única en aja de usa es a unción es que le pe mi e pasa da os a ella, los que se ag ega án debajo de la e ique a. Po ejemplo: $js = 'onClick="alguna_ uncion()"'; 144 echo o m_bu on('mi_bo on', 'Clic aquí', $js); $s ing = "</di ></di >"; echo o m_close($s ing); // P oduci ía: </ o m> </di ></di > o m_p ep() Le pe mi e usa con segu idad HTML y ca ac e es ales como comillas den o de elemen os de o mula io sin ompe el o mula io. Conside e es e ejemplo: Como la cadena an e io con iene un conjun o de comillas, ese causa á que el o mula io se ompa. La unción o m_p ep con ie e HTML pa a que se pueda usa en o ma segu a: $s ing = 'Aquí hay una cadena que con iene ex o en e "comillas".'; <inpu ype=" ex " name="mi_ o mula io" alue="$s ing" /> <inpu ype=" ex " name="mi_ o mula io" alue="<?php echo o m_p ep($s ing); ?>" /> No a: Si usa alguna de las unciones del Helpe Fo m lis adas en es a página los alo es del o mula io se p epa a án au omá icamen e, po lo que no hay necesidad de llama a es a unción. Úsela solamen e si es á c eando sus p opios elemen os de o mula io. se _ alue() Le pe mi e es ablece el alo de una en ada de o mula io o de un ex a ea. Tiene que suminis a el nomb e del campo median e el p ime pa áme o de la unción. El segundo pa áme o (opcional) le pe mi e es ablece un alo po de ec o pa a el o mula io. Ejemplo: El o mula io an e io mos a á "0" cuando se ca gue po p ime a ez. se _selec (). Si usa un menú <selec >, es a unción le pe mi e mos a el elemen o de menú que se seleccionó. El p ime pa áme o iene que con ene el nomb e del menú selec , el segundo pa áme o iene que con ene el alo de cada elemen o y el e ce pa áme o (opcional) le pe mi e es ablece un elemen o po de ec o (usa el booleano TRUE/FALSE). Ejemplo: <inpu ype=" ex " name="can idad" alue="<?php echo se _ alue('can idad', '0'); ?>" size="50" /> <selec name="mi_selec "> <op ion alue="uno" <?php echo se _selec ('mi_selec ', 'uno', TRUE); ?> > Uno</op ion> 145 <op ion alue="dos" <?php echo se _selec ('mi_selec ', 'dos'); ?> > Dos</op ion> <op ion alue=" es" <?php echo se _selec ('mi_selec ', ' es'); ?> > T es</op ion> </selec > se _checkbox() Le pe mi e mos a una casilla de e i icación en el es ado en que se en ió. El p ime pa áme o iene que con ene el nomb e de la casilla de e i icación, el segundo pa áme o iene que con ene su alo y el e ce pa áme o (opcional) le pe mi e es ablece un elemen o po de ec o (usa el booleano TRUE/FALSE). Ejemplo: se _ adio() Le pe mi e mos a bo ones de adio en el es ado en que se en ia on. Es a unción es idén ica a la unción se _checkbox() an e io . <inpu ype="checkbox" name="mi_casilla" alue="1" <?php echo se _checkbox('mi_casilla', '1'); ?> /> <inpu ype="checkbox" name="mi_casilla" alue="2" <?php echo se _checkbox('mi_casilla', '2'); ?> /> <inpu ype=" adio" name="mi_ adio" alue="1" <?php echo se _ adio('mi_ adio', '1', TRUE); ?> /> <inpu ype=" adio" name="mi_ adio" alue="2" <?php echo se _ adio('mi_ adio', '2'); ?> /> 9.3.2.4 Helpe Da abase CodeIgni e iene con una clase de base de da os abs ac a muy ápida y comple a que sopo a an o las es uc u as adicionales como los pa ones Ac i e Reco d. Las unciones de base de da os o ecen una sin axis cla a y sencilla. Inicio Rápido: Código de Ejemplo 146 La siguien e página con iene código de ejemplo mos ando como se usa la clase da abase. Pa a ob ene de alles comple os, po a o lea las páginas indi iduales que desc iben cada unción. Inicializa la Clase Da abase El siguien e código ca ga e inicializa la clase da abase basado en los alo es de su con igu ación: $ his->load->da abase(); Una ez ca gada la clase, es á lis a pa a usa se como se desc ibe a con inuación. Consul a Es ánda con Resul ados Múl iples (Ve sión Obje os) $que y = $ his->db->que y('SELECT nomb e, i ulo, email FROM mi_ abla'); o each ($que y-> esul () as $ ow) { echo $ ow-> i ulo; echo $ ow->nomb e; echo $ ow->email; } echo 'Resul ados o ales: ' . $que y->num_ ows(); La unción esul () an e io de uel e un a ay de obje os. Ejemplo: $ ow-> i ulo. Consul a Es ánda con Resul ados Múl iples (Ve sión A ay) $que y = $ his->db->que y('SELECT nomb e, i ulo, email FROM mi_ abla'); o each ($que y-> esul _a ay() as $ ow) { echo $ ow[' i ulo']; echo $ ow['nomb e']; echo $ ow['email']; } 147 La unción esul _a ay() an e io de uel e un a ay de índices de a ay es ánda . Ejemplo: $ ow[' i ulo']. Comp oba Resul ados Si ejecu a consul as que pueden no p oduci esul ados, le aconsejamos p oba p ime o de usa la unción num_ ows(): $que y = $ his->db->que y("SU CONSULTA"); i ($que y->num_ ows() > 0) { o each ($que y-> esul () as $ ow) { echo $ ow-> i ulo; echo $ ow->nomb e; echo $ ow->cue po; } } Consul a Es ánda con Resul ado Simple La unción ow() an e io de uel e un obje o. Ejemplo: $ ow->nomb e. Consul a Es ánda con Resul ado Simple (Ve sión A ay) La unción ow_a ay() an e io de uel e un a ay. Ejemplo: $ ow['nomb e']. Inse ción Es ánda Consul a Ac i e Reco d El Pa ón Ac i e Reco d le da una o ma simpli icada de de ol e los da os: $que y = $ his->db->que y('SELECT nomb e FROM mi_ abla LIMIT 1'); $ ow = $que y-> ow(); echo $ ow->nomb e; $que y = $ his->db->que y('SELECT nomb e FROM mi_ abla LIMIT 1'); $ ow = $que y-> ow_a ay(); echo $ ow['nomb e']; 250 Ges iona Rese as: El usua io ges o pod á en cualquie momen o gene a ese as de modo manual sob e p oduc os de la emp esas (Véase Imagen 103). Imagen 103: Ges ión de ese as. Pa a pode ealiza ope aciones sob e las ese as de los p oduc os el usua io debe á hace click en el bo ón “Rese as” (Véase Imagen 104). Imagen 104: Rese as Seguidamen e el usua io puede selecciona la ese a o c ea una nue a (Véase Imagen 105). Imagen 105: Edi a ese as. 251 C ea Rese a: Pa a pode añadi una ese a el usua io debe á hace clic en el bo ón “Añadi Rese a” (Véase Imagen 106). Imagen 106: Añadi ese a. Al usua io se le mues a un o mula io de c eación de ese as de un p oduc o. Se debe án odos los campos del o mula io pa a c ea la ese a (Véase Imagen 107). Imagen 107: Fo mula io de añadi ese a. Al usua io se le mues a un lis ado de odas las ese as disponibles de la emp esa. El usua io puede selecciona una ese a y ealiza una se ie de ope aciones (Véase Imagen 108): Imagen 108: Acciones de edi a ese as. Edi a Rese a: El usua io pod á añadi o modi ica in o mación de la ese a median e un o mula io (Véase Imagen 109). 252 Imagen 109: Fo mula io de edi a ese a. Elimina Rese a: El usua io puede elimina la ese a seleccionada. El sis ema le mues a un mensaje de ale a de segu idad y el usua io pod á decidi si elimina la ese a o cancela la ope ación (Véase Imagen 110). Imagen 110: Elimina ese a. 253 Visualiza Rese a: El usua io pod á isualiza un lis ado de a i as asociadas al p oduc o (Véase Imagen 111). Imagen 111: Visualiza ese a. Ges iona Comen a ios: El usua io iene la opción de ocul a o mos a comen a ios en los p oduc os de la página web de la emp esa. Al usua io se le mues a una lis a de los p oduc os disponibles (Véase Imagen 112). Imagen 112: Ges iona comen a ios. 254 El usua io iene la posibilidad modi ica la isualización de comen a ios (Véase Imagen 113). Imagen 113: Edi a comen a ios. Al usua io se le mues a un lis ado de los comen a ios del p oduc o (Véase Imagen 114). Imagen 114: Edi a comen a ios de p oduc o. El usua io puede modi ica el es ado de isualización del comen a io seleccionado (Véase Imagen 115). Imagen 115: Es ado del comen a io. 255 Ges iona Web: El usua io pod á con igu a el aspec o isual de las páginas web de la emp esa (Veáse Imagen 166). Imagen 116: Edi o web. El usua io ges o pod á ealiza dis in as acciones en el edi o : Acciones de la página web p incipal (Véase Imagen 117). Imagen 117: Menu de acciones de página p incipal. Gua da web: El usua io pod á gua da los cambios ealizados. Has a que el usua io no haga clic en gua da la página empo al no aplica á los cambios a la página web o iginal. Reinicia : El usua io puede einicia a la página web o iginal en cualquie momen o y deshace los cambios. Edi a Imágenes de Slide : El usua io puede edi a las imágenes del slide p incipal( Véase Imagen 118). 256 Imagen 118: Gale ía de imágenes del Slide p incipal. Social Media: El usua io puede c ea , edi a , isualiza y elimina da os de enlaces a las edes sociales más impo an es (Véase Imagen 119). Imagen 119: Social media. Edi a página p incipal: El usua io puede edi a los da os de la página p incipal median e un o mula io (Véase Imagen 120). 257 Imagen 120: Fo mula io de edición de página p incipal. Página de in o mación: El usua io pod á edi a la página de in o mación median e un o mula io (Véase Imagen 121). Imagen 121: Edición web de página de in o mación. 258 Página de Se icios: El usua io pod á edi a la página de se icios median e un o mula io (Véase Imagen 122). Imagen 122: Edición web de página de se icios. Regis o de E en os: Al usua io se le mues a un lis ado de odas las ac i idades ealizadas po la emp esa en la aplicación po odos los usua ios del sis ema. Si lo desea el usua io puede il a la in o mación (Véase Imagen 123). Imagen 123: Viso de ac i idades. 259 El usua io puede la e in o mación ampliada de los egis os (Véase Imagen 124). Imagen 124: Ve egis o de ac i idad. 266 9.6 Anexo VI: Indice de igu as comple o Figu a 1: Modelo de dominio de usua io adminis ado ............................................................ 28 Figu a 2: Modelo de dominido de usua io clien e ...................................................................... 29 Figu a 3: Modelo de dominio de usua io ges o ......................................................................... 30 Figu a 4: Diag ama en idad elación ena u al_db. ..................................................................... 32 Figu a 5: Diag ama en idad elación db_s a is ics ...................................................................... 33 Figu a 6: Modelo elacional ena u al_db. ................................................................................... 35 Figu a 7: Modelo elacional db_s a is ics ................................................................................... 36 Figu a 8: Ac o es ......................................................................................................................... 38 Figu a 9: Caso de uso Regis a ................................................................................................... 42 Figu a 10: Casos de uso ol clien e .............................................................................................. 42 Figu a 11: Caso de uso Ges iona Comen a ios .......................................................................... 43 Figu a 12: Caso de uso Visualiza Regis o .................................................................................. 43 Figu a 13: Caso de uso Ges iona P oduc o ................................................................................ 44 Figu a 14: Caso de uso Ges iona Ca ego ia ............................................................................... 45 Figu a 15: Caso de uso Ges iona Se icio .................................................................................. 46 Figu a 16: Caso de uso Ges iona Usua ios ................................................................................. 46 Figu a 17: P o o ipo de in e az de usua io ges o ..................................................................... 48 Figu a 18: P o o ipo de in e az de p oduc o ............................................................................. 49 Figu a 19: P o o ipo de in e az de Edi o Web .......................................................................... 50 Figu a 20: P o o ipo de página web p incipal ............................................................................. 51 Figu a 21: Diag ama de clases Ca ego ias ................................................................................... 63 Figu a 22: Diag ama de clases Home .......................................................................................... 64 Figu a 23: Diag ama de clases Regis o de e en os .................................................................... 65 Figu a 24: Diag ama de clases comen a ios ................................................................................ 67 Figu a 25: Diag ama de clases p oduc os ................................................................................... 68 Figu a 26: Diag ama de clases se icios ...................................................................................... 69 Figu a 27: Diag ama de clases si es ............................................................................................ 70 Figu a 28: Diag ama de clases edi o web .................................................................................. 71 Figu a 29: Diag ama de clases webedi o in o ............................................................................. 72 Figu a 30: Diag ama de clases webedi o se ices ...................................................................... 73 Figu a 31: Diag ama de clases websi e ....................................................................................... 74 Figu a 32: Diag ama de clases a i a ........................................................................................... 75 Figu a 33: Diag ama de clases login ............................................................................................ 76 Figu a 34: Diag ama de clases ese a ........................................................................................ 77 Figu a 35: Diag ama de clases sa eindex .................................................................................... 78 Figu a 36: Diag ama de clases usua io ........................................................................................ 79 Figu a 37: Diag ama de clases Paypal ......................................................................................... 80 Figu a 38: Diag ama de clases gua da se icio .......................................................................... 81 Figu a 39: Diag ama de clases e e encias .................................................................................. 82 Figu a 40: Diag ama de clases sa ein o ...................................................................................... 83 Figu a 41: Diag ama de clases login ............................................................................................ 84 Figu a 42: Diag ama de clases login2 .......................................................................................... 85 267 Figu a 43: Diag ama de secuencia c ea usua io ........................................................................ 86 Figu a 44: Diag ama de secuencia c ea se icio ........................................................................ 87 Figu a 45: Diag ama de secuencia c ea ese a ........................................................................ 87 Figu a 46: Diag ama de secuencia inse a comen a io ............................................................. 88 Figu a 47: Diag ama de secuencia comp a p oduc o ................................................................ 89 268 9.7 Anexo VII: Indice de ablas comple o Tabla 1: Plani icación y Tempo ización ....................................................................................... 27 Tabla 2: Lis ado de ac o es y oles .............................................................................................. 39 Tabla 3: Lis ado de ac o es y sus obje i os ................................................................................. 41 Tabla 4: Lis a de Casos de uso ..................................................................................................... 47 Tabla 5: Desc ipción caso de uso Regis a se ........................................................................... 102 Tabla 6: Desc ipción caso de uso Visualiza Web ..................................................................... 103 Tabla 7: Desc ipción caso de uso Visualiza P oduc o .............................................................. 103 Tabla 8: Desc ipción caso de uso Inicia Sesión ........................................................................ 104 Tabla 9: Desc ipción caso de uso Ce a Sesión ........................................................................ 104 Tabla 10: Desc ipción caso de uso Realiza Comp a ................................................................. 105 Tabla 11: Desc ipción caso de uso Realiza Rese a ................................................................. 106 Tabla 12: Desc ipción caso de uso Inse a Comen a io ........................................................... 107 Tabla 13: Desc ipción caso de uso Visualiza Comen a ios ...................................................... 108 Tabla 14: Desc ipción caso de uso Visualiza Regis o .............................................................. 109 Tabla 15: Desc ipción caso de uso C ea Ta i a ........................................................................ 110 Tabla 16: Desc ipción caso de uso Edi a Ta i a ........................................................................ 111 Tabla 17: Desc ipción caso de uso Elimina Ta i a .................................................................... 112 Tabla 18: Desc ipción caso de uso Busca Ta i a ...................................................................... 113 Tabla 19: Desc ipción caso de uso C ea Rese a ..................................................................... 114 Tabla 20: Desc ipción caso de uso Elimina Rese a ................................................................ 115 Tabla 21: Desc ipción caso de uso Busca Rese a ................................................................... 116 Tabla 22: Desc ipción caso de uso C ea P oduc o ................................................................... 117 Tabla 23: Desc ipción caso de uso Edi a P oduc o .................................................................. 118 Tabla 24: Desc ipción caso de uso Elimina P oduc o .............................................................. 119 Tabla 25: Desc ipción caso de uso Busca P oduc o ................................................................. 120 Tabla 26: Desc ipción caso de uso C ea Ca ego ía .................................................................. 121 Tabla 27: Desc ipción caso de uso Edi a Ca ego ía ................................................................. 122 Tabla 28: Desc ipción caso de uso Elimina Ca ego ía .............................................................. 123 Tabla 29: Desc ipción caso de uso Busca Ca ego ía ................................................................ 124 Tabla 30: Desc ipción caso de uso C ea Usua io ..................................................................... 125 Tabla 31: Desc ipción caso de uso Edi a Usua io .................................................................... 126 Tabla 32: Desc ipción caso de uso Elimina Usua io ................................................................. 127 Tabla 33: Desc ipción caso de uso Busca Usua io ................................................................... 128 Tabla 34: Desc ipción caso de uso C ea Se icio ..................................................................... 129 Tabla 35: Desc ipción caso de uso Edi a Se icio .................................................................... 130 Tabla 36: Desc ipción caso de uso Elimina Se icio ................................................................. 131 Tabla 37: Desc ipción caso de uso Busca Se icio ................................................................... 132 269 10 Bibliog a ía Luke Welling, Lau a Thomson. “Desa ollo web con PHP y MySQL”. Anaya Mul imedia. Ma Doyle. “PHP P ác ico”. Anaya Mul imedia. Julie C. Meloni. “HTML5, CSS3 y Ja aSc ip ”. Anaya Mul imedia. Da id Flanagan, “JQue y”. O’Really. Douglas C ock o d. “Ja aSc ip The Good Pa s”. O’Really. Zacha y Kessin. “HTML5 Applica ions”.O’Really. PHP: h p://www.php.ne G oce y C ud: h p://www.g oce yc ud.com/ Codeigni e : h p://ellislab.com/codeigni e /use -guide/ Image Moo: h p://www.ma moo.com/digi al-d ibble/codeigni e /image_moo/ Image C ud: h p://www.g oce yc ud.com/image-c ud Ajax: h p://www.w3schools.com/Ajax/ JQue y: h p://api.jque y.com/ JQue y UI: h p://jque yui.com/ Boo s ap: h p://ge boo s ap.com/2.3.2/index.h ml h p:// o awesome.gi hub.io/Fon -Awesome/ Ja asc ip : h p://www.w3schools.com/js/DEFAULT.asp 270 h p://www.w3.o g/s anda ds/webdesign/sc ip .h ml Paypal: h ps://de elope .paypal.com/webapps/de elope /applica ions/accoun s JRa ing: h p://demos.myjque yplugins.com/j a ing/ Email Codeigni e : h p://www. ena o.16mb.com/ u o ial-codeigni e -class-e-mail HTML5: h p://www.w3.o g/s anda ds/webdesign/h mlcss.h ml h p://www.w3schools.com/h ml/h ml5_in o.asp CSS: h p://www.w3schools.com/css/css3_in o.asp