SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
Events
                                        Red social para compartir
                                        documentos y podcasts
                                    Autor: Pablo Rivera Conde
                                 Director: César Fernández Acebal




sábado 19 de diciembre de 2009
¿Cuál es el problema?

                Aislamiento de personas con conocimientos o
                intereses comunes.

                Información muy dispersa.

                Falta de publicidad de congresos con poco
                presupuesto.


                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
¿Que es events?



                 Se trata de una
                 red social...




                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
¿Que es events?



                 ...para compartir
                 documentos y
                 eventos...



                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
¿Que es events?



                 ...y aumentar la
                 comunicación
                 entre personas.



                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
¿Qué me aporta?

                Buscar más fácilmente documentos y
                congresos que me interesen.

                Buscar compañeros de trabajo, y gente con
                gustos afines.

                Compartir más fácilmente mi trabajo para
                ayudar a los demás.

                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
¿Qué me aporta?
                                                          Encontrar
                Buscar más fácilmente documentos y
                congresos que me interesen.

                Buscar compañeros de trabajo, y gente con
                gustos afines.

                Compartir más fácilmente mi trabajo para
                ayudar a los demás.

                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
¿Inferir los gustos de cada usuario?




                Sobre gustos no hay nada escrito




                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
¿Inferir los gustos de cada usuario?



                          Hasta que aparecieron las matemáticas



                Sobre gustos no hay nada escrito


                                                  Filtrado colaborativo


                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
Filtrado colaborativo

                “Aquello que
                coincide en el pasado
                tenderá a coincidir
                en el futuro.”

                Uso de la
                Inteligencia
                Colectiva.

                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
Metodología del filtrado
                                colaborativo



                Primero busca entidades cuya información de
                gustos sea similar al que va a recibir
                recomendaciones.

                Después se calcula que ítems que no haya visto
                van a ser de su gusto, basándose en la
                recopilación anteriormente filtrada.

                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
Y todo esto, ¿Cómo?




                          Ruby
                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
Ruby

                Lenguaje de programación
                dinámico.

                De alto nivel.

                Interpretado.

                Orientación a objetos pura.

                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
Ruby
                   Gracias a su semántica y a la orientación pura
                   a objetos, es muy expresivo.
                       5.times{“Me encanta Ruby”}
                   Su capacidad de dinamismo añade una gran
                   flexibilidad al lenguaje.

                         class Numeric
                          def mi_suma(y)
                                         z = 5.mi_suma 6
                           self.+(y)
                                         #Ahora z vale 11
                           end
                         end
                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
Ruby On Rails

                Framework web basado en Ruby

                Creado en 2005 por David Heinemeier
                Hansson.

                “Un framework creado por desarrolladores y para
                desarrolladores.”


                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
Ruby on Rails


                Sigue el patrón MVC.

                Filosofía REST.

                Convención sobre configuración.

                DRY (Don’t Repeat Yourself)


                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
don’t Repeat Yourself


                Se basa en que no haya nada redundante en la
                aplicación.

                No es solo refactorización de código, sino
                ahorro real.



                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
Convention over configuration




                Intenta evitar todo fichero de configuración
                posible.

                Para ello establece una serie de convenciones
                que, de seguirse, minimizan el código a
                escribir.


                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
Ejemplo de Coc
                Para manipular Películas:

                      Objeto de modelo: Movie

                      Tabla de la base de datos: movies

                      Controlador: MoviesController

                      Vistas: Dentro de la carpeta movies:

                                 new, index, show, edit
                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
Ejemplo de Coc
                                                                           Siguiendo este
                Para manipular Películas:                                convenio no hace
                                                                         falta especificar
                      Objeto de modelo: Movie                             nada más. Rails
                                                                          sabrá cual es el
                                                                         comportamiento.
                      Tabla de la base de datos: movies

                      Controlador: MoviesController

                      Vistas: Dentro de la carpeta movies:

                                 new, index, show, edit
                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
Problemas de Ruby on rails



                Tanta convención resulta difícil de recordar al
                principio.

                Desarrollo muy rápido si se tiene buena
                memoria.



                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
Pero no fueron los únicos




                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
¿Como fue el desarrollo?


                Metodología de desarrollo ágil: AUP.

                Se trata de una versión ágil del proceso
                unificado (RUP) basándose en los riesgos.

                Desarrollo mediante iteraciones.

                Desarrollo guiado por las pruebas.

                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
Planificación
sábado 19 de diciembre de 2009
Tarea                                                 Esfuerzo    jun 2009
                                         1) Desarrollo del proyecto                          56s 1d 5h
                                               1.1) Análisis                                     3s 1d
                                                  1.1.1) Análisis de requisitos                     1s
                                                  1.1.2) Especificación de requisitos               3d
                                                  1.1.3) Análisis de subsistemas                   4d
                                                  1.1.4) Análisis de clases                        1d
                                                  1.1.5) Análisis de interfaces de usuario         1d
                                                  1.1.6) Especificación del plan de…                2d
                                               1.2) Diseño                                       8s 4d
                                                   1.2.1) Estudio general de diseño                3d
                                                   1.2.2) Diseño del incremento 1                  3d
                                                   1.2.3) Diseño del incremento 2                  3d
                                                   1.2.4) Diseño del incremento 3                  3d
                                                   1.2.5) Diseño del incremento 4                  3d
                                                   1.2.6) Diseño del incremento 5                  3d
                                                   1.2.7) Diseño del incremento 6                  3d
                                                   1.2.8) Diseño del incremento 7                  3d
                                                   1.2.9) Diseño del incremento 8                  3d
                                                  1.2.10) Diseño del incremento 9                  3d
                                                  1.2.11) Diseño del incremento 10                  1s
                                                  1.2.12) Diseño del incremento 11                 3d
                                                  1.2.13) Diseño del incremento 12                 3d
                                                  1.2.14) Diseño del incremento 13                 3d
                                               1.3) Implementación                                13s
                                                   1.3.1) Implementación del incremento…            1s
                                                   1.3.2) Implementación del incremento…            1s
                                                   1.3.3) Implementación del incremento…            1s
                                                   1.3.4) Entrega 1
                                                   1.3.5) Implementación del incremento…            1s
                                                   1.3.6) Implementación del incremento…            1s
                                                   1.3.7) Implementación del incremento…            1s
                                                   1.3.8) Entrega 2
                                                   1.3.9) Implementación del incremento…            1s
                                                  1.3.10) Implementación del incremento…            1s
                                                  1.3.11) Implementación del incremento…            1s
                                                  1.3.12) Implementación del incremento…            1s
                                                  1.3.13) Entrega 3
                                                  1.3.14) Implementación del incremento…            1s
                                                  1.3.15) Implementación del incremento…            1s
                                                  1.3.16) Implementación del incremento…            1s
                                                  1.3.17) Entrega 4
                                               1.4) Pruebas unitarias y de integración            13s
                                                   1.4.1) Pruebas del incremento 1                  1s
                                                   1.4.2) Pruebas del incremento 2                  1s
                                                   1.4.3) Pruebas del incremento 3                  1s
                                                   1.4.4) Pruebas del incremento 4                  1s
                                                   1.4.5) Pruebas del incremento 5                  1s




                                 Planificación
                                                   1.4.6) Pruebas del incremento 6                  1s
                                                   1.4.7) Pruebas del incremento 7                  1s
                                                   1.4.8) Pruebas del incremento 8                  1s
                                                   1.4.9) Pruebas del incremento 9                  1s
                                                  1.4.10) Pruebas del incremento 10                 1s
                                                  1.4.11) Pruebas del incremento 11                 1s
                                                  1.4.12) Pruebas del incremento 12                 1s
                                                  1.4.13) Pruebas del incremento 13                 1s
                                               1.5) Pruebas de sistema                              1s
                                               1.6) Implantación                                    1s
                                               1.7) Formación                                       2s
                                               1.8) Documentación                            14s 1d 5h




sábado 19 de diciembre de 2009
jul 2009             ago 2009   sep 2009




                                 Planificación
sábado 19 de diciembre de 2009
Tarea                                                 Esfuerzo    jun 2009   jul 2009   ago 2009   sep 2009
            1) Desarrollo del proyecto                          56s 1d 5h
                  1.1) Análisis                                     3s 1d
                     1.1.1) Análisis de requisitos                     1s
                     1.1.2) Especificación de requisitos               3d
                     1.1.3) Análisis de subsistemas                   4d
                     1.1.4) Análisis de clases                        1d
                     1.1.5) Análisis de interfaces de usuario         1d
                     1.1.6) Especificación del plan de…                2d
                  1.2) Diseño                                       8s 4d
                      1.2.1) Estudio general de diseño                3d
                      1.2.2) Diseño del incremento 1                  3d
                      1.2.3) Diseño del incremento 2                  3d
                      1.2.4) Diseño del incremento 3                  3d
                      1.2.5) Diseño del incremento 4                  3d
                      1.2.6) Diseño del incremento 5                  3d
                      1.2.7) Diseño del incremento 6                  3d
                      1.2.8) Diseño del incremento 7                  3d
                      1.2.9) Diseño del incremento 8                  3d
                     1.2.10) Diseño del incremento 9                  3d
                     1.2.11) Diseño del incremento 10                  1s
                     1.2.12) Diseño del incremento 11                 3d
                     1.2.13) Diseño del incremento 12                 3d
                     1.2.14) Diseño del incremento 13                 3d
                  1.3) Implementación                                13s
                      1.3.1) Implementación del incremento…            1s
                      1.3.2) Implementación del incremento…            1s
                      1.3.3) Implementación del incremento…            1s
                      1.3.4) Entrega 1
                      1.3.5) Implementación del incremento…            1s
                      1.3.6) Implementación del incremento…            1s
                      1.3.7) Implementación del incremento…            1s
                      1.3.8) Entrega 2
                      1.3.9) Implementación del incremento…            1s
                     1.3.10) Implementación del incremento…            1s
                     1.3.11) Implementación del incremento…            1s
                     1.3.12) Implementación del incremento…            1s
                     1.3.13) Entrega 3
                     1.3.14) Implementación del incremento…            1s
                     1.3.15) Implementación del incremento…            1s
                     1.3.16) Implementación del incremento…            1s
                     1.3.17) Entrega 4
                  1.4) Pruebas unitarias y de integración            13s
                      1.4.1) Pruebas del incremento 1                  1s
                      1.4.2) Pruebas del incremento 2                  1s
                      1.4.3) Pruebas del incremento 3                  1s
                      1.4.4) Pruebas del incremento 4                  1s
                      1.4.5) Pruebas del incremento 5                  1s
                      1.4.6) Pruebas del incremento 6                  1s
                      1.4.7) Pruebas del incremento 7                  1s
                      1.4.8) Pruebas del incremento 8                  1s
                      1.4.9) Pruebas del incremento 9                  1s
                     1.4.10) Pruebas del incremento 10                 1s
                     1.4.11) Pruebas del incremento 11                 1s
                     1.4.12) Pruebas del incremento 12                 1s
                     1.4.13) Pruebas del incremento 13                 1s
                  1.5) Pruebas de sistema                              1s
                  1.6) Implantación                                    1s
                  1.7) Formación                                       2s
                  1.8) Documentación                            14s 1d 5h




                                                                                Planificación
sábado 19 de diciembre de 2009
Diseño


                Importancia de la modularidad para la
                visualización de documentos.

                Conseguido mediante el uso de gemas.



                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
Diseño modular
                                                      Componentes

                                                           Youtube



                  Events                                      PDF



                                                          Slideshare


                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
Diseño modular
                                                      Componentes

                                                           Youtube
                                                                                 Podcast

                  Events                                      PDF



                                                         SlideShare


                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
Convenio de las gemas

                                                 YoutubeDocument
                                 - document: Document
                                 + <<static>> parseable?(document):boolean
                                 + to_html():XMLMarkup:Builder
                                 + method_missing(sym, params)




                                                       method_missing hace que todas
                                                        los métodos no redefinidos en
                                                       esta decoración se deleguen en
                                                             el objeto document




                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
¿Y las recomendaciones?

                Se trata de una parte primordial de la
                aplicación.

                Debe ser lo suficientemente flexible para poder
                recomendar cualquier objeto a otro objeto
                cualquiera.

                Debe ser también lo suficientemente flexible
                para poder cambiar los datos con los que hacer
                las recomendaciones.
                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
Recomendaciones

                Se necesita tal flexibilidad que se desarrolla
                como plugin.

                Este plugin permitirá que cualquier objeto de
                modelo pueda recibir recomendaciones de
                cualquier otro objeto a partir de las
                valoraciones que indique.

                Uso de azúcar sintáctico.
                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
Recomendaciones:
                                 Azúcar sintáctico

         class User
          recommend :documents do |user|
           #código para recopilar las
          valoraciones
           #como un hash {documento => valor}
          end
         end

             añade a las instancias de User los métodos
               recommend_documents y similar_users

                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
Conclusiones

                El desarrollo guiado por pruebas es una
                opción realmente buena de desarrollar
                software.

                El uso de repositorios de código y servidores
                de integración continua son de gran ayuda.

                Los lenguajes de alto nivel permiten una gran
                mejora de la velocidad de desarrollo.
                     Introducción > Teóricamente > Diseño > Conclusiones > Demostración
sábado 19 de diciembre de 2009
Ampliaciones

                Añadir soporte a más visualizaciones.

                Creación de grupos que puedan figurar como
                autores.

                Cambio de paradigma de recogida de la
                información para las recomendaciones.



sábado 19 de diciembre de 2009
Demostración




sábado 19 de diciembre de 2009
Autoría de las fotos
                                 http://www.flickr.com/photos/49503019876@N01/1659321885




                                   http://www.flickr.com/photos/24183489@N00/91682524




                                  http://www.flickr.com/photos/49462908@N00/4012030328




                                  http://www.flickr.com/photos/22406241@N00/127707517



sábado 19 de diciembre de 2009

Contenu connexe

En vedette (20)

El Viaje
El ViajeEl Viaje
El Viaje
 
Lo 1
Lo 1Lo 1
Lo 1
 
Principiosyvaloresticos 100316105929 Phpapp01
Principiosyvaloresticos 100316105929 Phpapp01Principiosyvaloresticos 100316105929 Phpapp01
Principiosyvaloresticos 100316105929 Phpapp01
 
Intro
IntroIntro
Intro
 
CMERCHAN
CMERCHANCMERCHAN
CMERCHAN
 
B2 e openid
B2 e openidB2 e openid
B2 e openid
 
A China Inconmensurable. Sus
A  China Inconmensurable.  SusA  China Inconmensurable.  Sus
A China Inconmensurable. Sus
 
Pauta evaluación capítulos de don quijote
Pauta evaluación capítulos de don quijotePauta evaluación capítulos de don quijote
Pauta evaluación capítulos de don quijote
 
APLICACIÓN DE LA TECNOLOGIA A LA MEDICINA
APLICACIÓN DE LA TECNOLOGIA A LA MEDICINAAPLICACIÓN DE LA TECNOLOGIA A LA MEDICINA
APLICACIÓN DE LA TECNOLOGIA A LA MEDICINA
 
Biografias
BiografiasBiografias
Biografias
 
Tutorial google calendar2
Tutorial google calendar2Tutorial google calendar2
Tutorial google calendar2
 
Qué es virtual?
Qué es virtual?Qué es virtual?
Qué es virtual?
 
Memoria Apinas 2005
Memoria Apinas 2005Memoria Apinas 2005
Memoria Apinas 2005
 
Solicitud de Libros
Solicitud de LibrosSolicitud de Libros
Solicitud de Libros
 
El Mar
El MarEl Mar
El Mar
 
Aquí van todos los materiales de estudio con
Aquí van todos los materiales de estudio conAquí van todos los materiales de estudio con
Aquí van todos los materiales de estudio con
 
Womozcl
WomozclWomozcl
Womozcl
 
Uriel090
Uriel090Uriel090
Uriel090
 
Cultura de Project Management
Cultura de Project ManagementCultura de Project Management
Cultura de Project Management
 
secuestro corneal felino Persa
secuestro corneal felino Persasecuestro corneal felino Persa
secuestro corneal felino Persa
 

Dernier

OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIIsauraImbrondone
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosJonathanCovena1
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfenelcielosiempre
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperiomiralbaipiales2016
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxdkmeza
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 

Dernier (20)

OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperio
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptx
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 

Lectura PFC Events

  • 1. Events Red social para compartir documentos y podcasts Autor: Pablo Rivera Conde Director: César Fernández Acebal sábado 19 de diciembre de 2009
  • 2. ¿Cuál es el problema? Aislamiento de personas con conocimientos o intereses comunes. Información muy dispersa. Falta de publicidad de congresos con poco presupuesto. Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 3. ¿Que es events? Se trata de una red social... Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 4. ¿Que es events? ...para compartir documentos y eventos... Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 5. ¿Que es events? ...y aumentar la comunicación entre personas. Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 6. ¿Qué me aporta? Buscar más fácilmente documentos y congresos que me interesen. Buscar compañeros de trabajo, y gente con gustos afines. Compartir más fácilmente mi trabajo para ayudar a los demás. Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 7. ¿Qué me aporta? Encontrar Buscar más fácilmente documentos y congresos que me interesen. Buscar compañeros de trabajo, y gente con gustos afines. Compartir más fácilmente mi trabajo para ayudar a los demás. Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 8. ¿Inferir los gustos de cada usuario? Sobre gustos no hay nada escrito Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 9. ¿Inferir los gustos de cada usuario? Hasta que aparecieron las matemáticas Sobre gustos no hay nada escrito Filtrado colaborativo Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 10. Filtrado colaborativo “Aquello que coincide en el pasado tenderá a coincidir en el futuro.” Uso de la Inteligencia Colectiva. Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 11. Metodología del filtrado colaborativo Primero busca entidades cuya información de gustos sea similar al que va a recibir recomendaciones. Después se calcula que ítems que no haya visto van a ser de su gusto, basándose en la recopilación anteriormente filtrada. Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 12. Y todo esto, ¿Cómo? Ruby Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 13. Ruby Lenguaje de programación dinámico. De alto nivel. Interpretado. Orientación a objetos pura. Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 14. Ruby Gracias a su semántica y a la orientación pura a objetos, es muy expresivo. 5.times{“Me encanta Ruby”} Su capacidad de dinamismo añade una gran flexibilidad al lenguaje. class Numeric def mi_suma(y) z = 5.mi_suma 6 self.+(y) #Ahora z vale 11 end end Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 15. Ruby On Rails Framework web basado en Ruby Creado en 2005 por David Heinemeier Hansson. “Un framework creado por desarrolladores y para desarrolladores.” Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 16. Ruby on Rails Sigue el patrón MVC. Filosofía REST. Convención sobre configuración. DRY (Don’t Repeat Yourself) Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 17. don’t Repeat Yourself Se basa en que no haya nada redundante en la aplicación. No es solo refactorización de código, sino ahorro real. Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 18. Convention over configuration Intenta evitar todo fichero de configuración posible. Para ello establece una serie de convenciones que, de seguirse, minimizan el código a escribir. Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 19. Ejemplo de Coc Para manipular Películas: Objeto de modelo: Movie Tabla de la base de datos: movies Controlador: MoviesController Vistas: Dentro de la carpeta movies: new, index, show, edit Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 20. Ejemplo de Coc Siguiendo este Para manipular Películas: convenio no hace falta especificar Objeto de modelo: Movie nada más. Rails sabrá cual es el comportamiento. Tabla de la base de datos: movies Controlador: MoviesController Vistas: Dentro de la carpeta movies: new, index, show, edit Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 21. Problemas de Ruby on rails Tanta convención resulta difícil de recordar al principio. Desarrollo muy rápido si se tiene buena memoria. Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 22. Pero no fueron los únicos Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 23. ¿Como fue el desarrollo? Metodología de desarrollo ágil: AUP. Se trata de una versión ágil del proceso unificado (RUP) basándose en los riesgos. Desarrollo mediante iteraciones. Desarrollo guiado por las pruebas. Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 24. Planificación sábado 19 de diciembre de 2009
  • 25. Tarea Esfuerzo jun 2009 1) Desarrollo del proyecto 56s 1d 5h 1.1) Análisis 3s 1d 1.1.1) Análisis de requisitos 1s 1.1.2) Especificación de requisitos 3d 1.1.3) Análisis de subsistemas 4d 1.1.4) Análisis de clases 1d 1.1.5) Análisis de interfaces de usuario 1d 1.1.6) Especificación del plan de… 2d 1.2) Diseño 8s 4d 1.2.1) Estudio general de diseño 3d 1.2.2) Diseño del incremento 1 3d 1.2.3) Diseño del incremento 2 3d 1.2.4) Diseño del incremento 3 3d 1.2.5) Diseño del incremento 4 3d 1.2.6) Diseño del incremento 5 3d 1.2.7) Diseño del incremento 6 3d 1.2.8) Diseño del incremento 7 3d 1.2.9) Diseño del incremento 8 3d 1.2.10) Diseño del incremento 9 3d 1.2.11) Diseño del incremento 10 1s 1.2.12) Diseño del incremento 11 3d 1.2.13) Diseño del incremento 12 3d 1.2.14) Diseño del incremento 13 3d 1.3) Implementación 13s 1.3.1) Implementación del incremento… 1s 1.3.2) Implementación del incremento… 1s 1.3.3) Implementación del incremento… 1s 1.3.4) Entrega 1 1.3.5) Implementación del incremento… 1s 1.3.6) Implementación del incremento… 1s 1.3.7) Implementación del incremento… 1s 1.3.8) Entrega 2 1.3.9) Implementación del incremento… 1s 1.3.10) Implementación del incremento… 1s 1.3.11) Implementación del incremento… 1s 1.3.12) Implementación del incremento… 1s 1.3.13) Entrega 3 1.3.14) Implementación del incremento… 1s 1.3.15) Implementación del incremento… 1s 1.3.16) Implementación del incremento… 1s 1.3.17) Entrega 4 1.4) Pruebas unitarias y de integración 13s 1.4.1) Pruebas del incremento 1 1s 1.4.2) Pruebas del incremento 2 1s 1.4.3) Pruebas del incremento 3 1s 1.4.4) Pruebas del incremento 4 1s 1.4.5) Pruebas del incremento 5 1s Planificación 1.4.6) Pruebas del incremento 6 1s 1.4.7) Pruebas del incremento 7 1s 1.4.8) Pruebas del incremento 8 1s 1.4.9) Pruebas del incremento 9 1s 1.4.10) Pruebas del incremento 10 1s 1.4.11) Pruebas del incremento 11 1s 1.4.12) Pruebas del incremento 12 1s 1.4.13) Pruebas del incremento 13 1s 1.5) Pruebas de sistema 1s 1.6) Implantación 1s 1.7) Formación 2s 1.8) Documentación 14s 1d 5h sábado 19 de diciembre de 2009
  • 26. jul 2009 ago 2009 sep 2009 Planificación sábado 19 de diciembre de 2009
  • 27. Tarea Esfuerzo jun 2009 jul 2009 ago 2009 sep 2009 1) Desarrollo del proyecto 56s 1d 5h 1.1) Análisis 3s 1d 1.1.1) Análisis de requisitos 1s 1.1.2) Especificación de requisitos 3d 1.1.3) Análisis de subsistemas 4d 1.1.4) Análisis de clases 1d 1.1.5) Análisis de interfaces de usuario 1d 1.1.6) Especificación del plan de… 2d 1.2) Diseño 8s 4d 1.2.1) Estudio general de diseño 3d 1.2.2) Diseño del incremento 1 3d 1.2.3) Diseño del incremento 2 3d 1.2.4) Diseño del incremento 3 3d 1.2.5) Diseño del incremento 4 3d 1.2.6) Diseño del incremento 5 3d 1.2.7) Diseño del incremento 6 3d 1.2.8) Diseño del incremento 7 3d 1.2.9) Diseño del incremento 8 3d 1.2.10) Diseño del incremento 9 3d 1.2.11) Diseño del incremento 10 1s 1.2.12) Diseño del incremento 11 3d 1.2.13) Diseño del incremento 12 3d 1.2.14) Diseño del incremento 13 3d 1.3) Implementación 13s 1.3.1) Implementación del incremento… 1s 1.3.2) Implementación del incremento… 1s 1.3.3) Implementación del incremento… 1s 1.3.4) Entrega 1 1.3.5) Implementación del incremento… 1s 1.3.6) Implementación del incremento… 1s 1.3.7) Implementación del incremento… 1s 1.3.8) Entrega 2 1.3.9) Implementación del incremento… 1s 1.3.10) Implementación del incremento… 1s 1.3.11) Implementación del incremento… 1s 1.3.12) Implementación del incremento… 1s 1.3.13) Entrega 3 1.3.14) Implementación del incremento… 1s 1.3.15) Implementación del incremento… 1s 1.3.16) Implementación del incremento… 1s 1.3.17) Entrega 4 1.4) Pruebas unitarias y de integración 13s 1.4.1) Pruebas del incremento 1 1s 1.4.2) Pruebas del incremento 2 1s 1.4.3) Pruebas del incremento 3 1s 1.4.4) Pruebas del incremento 4 1s 1.4.5) Pruebas del incremento 5 1s 1.4.6) Pruebas del incremento 6 1s 1.4.7) Pruebas del incremento 7 1s 1.4.8) Pruebas del incremento 8 1s 1.4.9) Pruebas del incremento 9 1s 1.4.10) Pruebas del incremento 10 1s 1.4.11) Pruebas del incremento 11 1s 1.4.12) Pruebas del incremento 12 1s 1.4.13) Pruebas del incremento 13 1s 1.5) Pruebas de sistema 1s 1.6) Implantación 1s 1.7) Formación 2s 1.8) Documentación 14s 1d 5h Planificación sábado 19 de diciembre de 2009
  • 28. Diseño Importancia de la modularidad para la visualización de documentos. Conseguido mediante el uso de gemas. Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 29. Diseño modular Componentes Youtube Events PDF Slideshare Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 30. Diseño modular Componentes Youtube Podcast Events PDF SlideShare Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 31. Convenio de las gemas YoutubeDocument - document: Document + <<static>> parseable?(document):boolean + to_html():XMLMarkup:Builder + method_missing(sym, params) method_missing hace que todas los métodos no redefinidos en esta decoración se deleguen en el objeto document Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 32. ¿Y las recomendaciones? Se trata de una parte primordial de la aplicación. Debe ser lo suficientemente flexible para poder recomendar cualquier objeto a otro objeto cualquiera. Debe ser también lo suficientemente flexible para poder cambiar los datos con los que hacer las recomendaciones. Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 33. Recomendaciones Se necesita tal flexibilidad que se desarrolla como plugin. Este plugin permitirá que cualquier objeto de modelo pueda recibir recomendaciones de cualquier otro objeto a partir de las valoraciones que indique. Uso de azúcar sintáctico. Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 34. Recomendaciones: Azúcar sintáctico class User recommend :documents do |user| #código para recopilar las valoraciones #como un hash {documento => valor} end end añade a las instancias de User los métodos recommend_documents y similar_users Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 35. Conclusiones El desarrollo guiado por pruebas es una opción realmente buena de desarrollar software. El uso de repositorios de código y servidores de integración continua son de gran ayuda. Los lenguajes de alto nivel permiten una gran mejora de la velocidad de desarrollo. Introducción > Teóricamente > Diseño > Conclusiones > Demostración sábado 19 de diciembre de 2009
  • 36. Ampliaciones Añadir soporte a más visualizaciones. Creación de grupos que puedan figurar como autores. Cambio de paradigma de recogida de la información para las recomendaciones. sábado 19 de diciembre de 2009
  • 37. Demostración sábado 19 de diciembre de 2009
  • 38. Autoría de las fotos http://www.flickr.com/photos/49503019876@N01/1659321885 http://www.flickr.com/photos/24183489@N00/91682524 http://www.flickr.com/photos/49462908@N00/4012030328 http://www.flickr.com/photos/22406241@N00/127707517 sábado 19 de diciembre de 2009