Archivo de la etiqueta: eetac

Pivotal Tracker

Pivotal_tracker_logo

Pivotal Tracker es una herramienta de gestión de proyectos ágiles, por ejemplo para proyectos con Scrum y lo utilizaremos para la planificación de nuestro proyecto.

De esta herramienta podemos destacar frente a otras:

  • Es gratis y no tiene ningún tipo de limitación. Es decir no hay licencia “community” y otra “enterprise”, ni nada parecido
  • Esta en la nube. Con lo que no tenemos que instalar nada en nuestros ordenadores, todo lo haremos a través del navegador
  • Se centra en algo muy interesante que es la gestión de la pila de producto, y métricas como la velocidad. Es decir, he visto muchas herramientas de este estilo y la mayoría intentan simular los post-it de la pared. Quedan muy monas, pero no son prácticas porque la mejor manera de usar los post-it es ponerlos en la pared
  • Por supuesto se puede usar para trabajo con equipos descentralizados, puesto que está en internet. Además se puede crear varios perfiles de acceso por lo que podría haber usuarios que, por ejemplo, sólo tienen permiso para ver las cosas, pero no para modificarlas.
  • Guarda histórico de nuestras acciones. Esto es bastante importante si tenemos, por ejemplo, alguna certificación de calidad, como puede ser ISO, que siempre nos exigen trazabiliad de nuestro trabajo (aunque para mi, esto es fundamental tengas o no certificación de calidad

Dejamos la fuente de información (incluye una guía imprescindible 😉 ):

http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=pivotalTracker


Tournament Engineering Solutions

Hoy se ha presentado oficialmente el proyecto que desarrollaremos durante toda la asignatura de Enginyeria d’Aplicacions.

Tournament Engineering Solutions, el nombre que hemos asignado al proyecto, ganó por mayoría de votación a World Tournament Center, CreaTo o Tournament Creator Protocol.

A continuación una descripción básica y funcionalidades que esperamos implementar.

Sin título-2

Características básicas:

  • Aplicación web
    • Y su adaptación para la plataforma smartphone
  • Creación de torneos
    • A partir de un número de participantes
  • Organización de torneos
    • Creación de calendarios, enfrentamientos, etc…
  • Gestión de torneos
    • Herramienta para poder controlar el transcurso de la competición

Funcionalidades avanzadas:

FACEBOOK 

  • Integración de la API de Facebook
    • Login de usuario mediante la cuenta de Facebook
    • Cómodo para el usuarioImagen1
    • No tiene que crearse una cuenta nueva
  • Inserción de plugins sociales
    • Botón de “me gusta”
    • Comentarios
  • API gráfica
    • Permite leer y escribir en páginas, grupos, fotos y vídeos
    • Notificaciones

LET’S TRAIN 

  • Método de preparación para competicionesSin título-1
    • Útil tanto para preparar un torneo, como para practicar sin más
  • Citas para realizar entrenosPúblicas: accesible a todo el mundo y visibilidad de carácter general
    • Privadas: accesible a participantes en determinados torneos, visibilidad limitada a los mismos
  • Contacto con posibles rivales para preparar encuentros

NIVEL

  • Clasificación de usuarios según nivelImagen3
    • Entre los datos de un usuario encontramos un campo de nivel, asociado a un deporte concreto
  •  Crear torneos con limitación de nivel
    • Con el fin de aumentar la competitividad, torneos donde se requiera un mínimo de nivel, definido por el creador del torneo

UBICACIÓN GPS

  • Integración de la API de Google Maps en la página web
    • Imagen4Privado: Solo mis amigos podrán ver la ubicación del evento en el mapa (con registro)
    • Público: Se marcarán en el mapa los eventos públicos y abiertos donde nos podremos inscribir (sin registro)

La idea es muy parecida a la que ofrece http://www.farmaguia.net/desktop/ dónde nosotros pudiéramos ver en la página web un icono del evento que se ha creado, junto con su descripción e incluso podernos apuntar.

Imagen5

    • Geolocalización y “cómo llegar”  para la aplicación móvil
      • Opción habilitada sólo con registro

Sin título-1Imagen7

PLAZAS DISPONIBLES

  • Torneo: Dar de alta un torneo y abrirlo para que otros equipos puedan inscribirse
  • Equipo: Si hay vacantes disponibles en un equipo, posibilidad de hacerlas públicas y permitir que jugadores sin equipo se unan a este
  • Búsquedas:
    • Por torneos y por equipos
    • Buscador de plazas disponibles dependiendo de nivel, disciplina, etc…
VALORACIONES

Imagen8

  • Sistema para poder valorar otros jugadores o equipos
  • Criterios enfocados a la competición: “fair play”, puntualidad, nivel, etc…
  • La comunidad premia a los mejores y los peor puntuados se descartan por si mismos

NOTIFICACIONES

  • Notificaciones por e-mail y/o aplicación móvil
      • Sitio y hora de la actividad inscrita
      • Avisos de la inscripción
      • Aviso en el día señaladoImagen9
    • Notificación emergente
    • Calendario gmail
    • Información de material que hay que aportar (en su caso)
    • Actividades a punto de finalizar (últimas plazas)
    • Notificación emergente
    • Notificación de resultados y transcurso de actividades

Imagen10

PREDICCIÓN DEL TIEMPO

  • Predicción meteorológica del tiempo.
  • Predicción a corto plazo del lugar de la actividad
  • Avisos por aplazamientos o sugerencias de los usuarios

RESERVA DE ESPACIOS

  • Posibilidad de reservar espacios
    • Reserva vía web
    • Avisos de confirmación vía web

Imagen13

No podía faltar una foto del equipo en la presentación del proyecto (falta Gael Rodríguez):

BFtl1biCAAE5rZS

Dejamos el enlace de slideshare de la presentación:


Seminario II: HTML5, jQuery, Wicket, Responsive Web Design, Bootstrap

Hoy ha sido el segundo seminario de la asignatura. Como hicimos con el primero haremos un breve resumen de todas las herramientas y tecnologías vistas.
Expositores: Raúl Castellanos, Alberto Cruz y Gael Rodríguez.

HTML5_Logo_512

Lenguaje predominante para la elaboración de páginas web que se utiliza para describir y traducir la estructura y la información en forma de texto.

HTML5 se centra en facilitar la implementación de aplicaciones web, avanzar hacia la web semántica y limpiar atributos y elementos heredados de las anteriores versiones de HTML. Aún sigue en desarrollo y no todos los navegadores lo soportan en su totalidad

Novedades:

  • Mejor estructura:  En HTML5 introduce elementos para estructurar mejor una web, estableciendo qué es cada sección, y reemplazando  DIVs. html5divs
  • Mejores formularios:  El elemento input ha sido ampliado  y ahora permite todos estos tipos de datos:  datatime,numer,email,search…
  • Incorpora etiquetas para mostrar los contenidos multimedia

<canvas>:  Dibujar en 2D , <video>:  Elementos de vídeo , <audio>:  Elementos de audio

  • Etiquetas para manejar grandes conjuntos de datos que permiten generar tablas dinámicas
  • Nuevas APIs como Geolocalización,  Drag&Drop,  dibujo  2D…
  • Desarrollo de aplicaciones más fácil: Almacenamiento de datos local, acceso a archivos locales, caché de aplicación
  • Utilización de CSS3: Nuevas propiedades,  animaciones, efectos de sombreado, esquinas redondeadas

Referencia: http://www.w3schools.com/

jQuery_logo

jQuery es un framework de JavaScript.
  • Framework: Conjunto de librerías de código que contienen procesos o rutinas ya listos para usar
  • Reduce a métodos que se pueden llamar en tan solo una línea
Para añadir jQuery a nuestro poryecto podemos descargar su libreria en jquery.com o bien incluir con un Script en el Head su libreria a través de un CDN
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.1.1.min.js"></script>
wicket
Wicket  Es un framework de desarrollo de aplicaciones Web para la plataforma Java EE. Da énfasis al uso de “puro Java” y “puro HTML” y fue creado para facilitar  el diseño y desarrollo Web
Características:
  • Fácil (Consistente): Todo el código escrito en Java y HTML
  • Reutilizable: Los componentes escritos en Wicket son totalmente reutilizables, además, éstos son fácilmente distribuidos en archivos “*.jar”
  • No intrusivos: Compatible con cualquier editor HTML
  • Seguro: Fácil de integrar con la seguridad de Java
  •  Completo: Está “listo para usar” para el desarrollo de aplicaciones web en Java
  • Eficiente / Escalable

También tenemos WiQuery :  Adaptación de jQuery a Wicket para facilitar el uso de estas librerías.

Referencia:  http://wiquery-examples-1-1-x.appspot.com/ , http://wicket.apache.org , http://www.mkyong.com/wicket/create-custom-validator-in-wicket/  y el libro “Enjoying Web Development with Wicket”

Sin título-2

Responsive Design Web es una técnica que permite crear sitios Web adaptados a la resolución del dispositivo en que se esté navegando, lo que permite tener un único diseño para PC, móvil y tabletas.

“Para 2013 los accesos a Internet desde dispositivos móviles superarán a los realizados desde PCs”

Opciones para modificar el diseño de un CSS de forma dinámica:
  • Fluid Grid: Concepto de asignar unidades relativas (% o ems) en vez de absolutas (px o puntos)
  •  Media Querys:  A través de CSS3 se hace una consulta al tamaño del dispositivo que accede a nuestra web y permite que la página pueda utilizar diferentes estilos CSS basados en las características del dispositivo.
Ventajas:
  • Mejor experiencia para el usuario
  • Optimización de motores de búsqueda (Sólo aparece una URL en los resultados de búsqueda)
  • Único diseño adaptado a los diferentes soportes
  • Menor tiempo y coste de diseño
Inconvenientes:
  • La velocidad de carga en el móvil puede ser muy elevada
  • Tener en cuenta la jerarquía de información para no saturar de contenido a los dispositivos más pequeños

Referencia: http://www.genbetadev.com/desarrollo-web/responsive-design-puesta-en-marcha

bootstrap2_logo

Bootstrap es un framework de Twitter para la creación de diseños web combinando CSS y JavaScript.

Para añadir Bootstrap al proyecto, al igual que con jQuery lo podemos hacer de las siguientes dos maneras:

    1. Descargar la libreria e importarla en el proyecto
    2. Mediante referencia a los scripts puestos en el CDN:

< link href=”//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.min.css” rel=”stylesheet”>

< script src=”//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/js/bootstrap.min.js”>< / script>

< link href=”//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-responsive.min.css” rel=”stylesheet”>

< link href=”//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.no-icons.min.css” rel=”stylesheet”>

Uno de los factores de gran aceptación de Bootstrap es que utiliza el concepto de Responsive Web Design. De esta manera sin tener conocimientos podemos hacer páginas web adaptadas a todo tipo de dispositivos y resoluciones.

En la siguiente imagen vemos el potencial de CSS que nos ofrece Bootstrap. Podemos pasar del botón de la izquierda al de la derecha con solo añadir la siguiente clase del objeto button:   class=”btn btn-info”

boton

Referencia: http://twitter.github.com/bootstrap/

Propuesta de Integración al proyecto:

  1. Wicket: Creación de formularios de login y registro
  2.  jQuery o WiQuery: Comprobación de datos en los formularios
  3. HMTL5:  Os animamos a integrar un nuevo elemento de los que proponer W3School. http://www.w3schools.com/html/html5_new_elements.asp
  4. Bootstrap: Diseño de html + css + Responsive Web Design

Probando JOIN.ME

Este fin de semana nos hemos dedicado a acabar el proyecto guía y a preparar el seminario 2 que irá sobre Wicket, Html5, jQuery, Responsive Design Web y Bootstrap.

Para preparar la presentación hemos probado la aplicación Join.me (Enlace). Join.me es una herramienta para la visualización

join

compartida de la pantalla de tu ordenador, mediante la aplicación para Windows.

Lo más interesante es que para presenciar las presentaciones o conferencias solo necesitas una URL y un navegador Web. 

Usarlo es muy fácil y entre sus funciones dispones de chat, lista de invitados, subrayado virtual e incluso conferencia de audio telefónica.

En la siguiente imagen mostramos la aplicación para Windows. Como vemos, nos da la opción de compartir usando un link personal (anteriormente nos hemos debido registrar en la página web) o usando un código “on-time” de 9 dígitos.

join2

Si quisiéramos seguir la presentación del próximo jueves, abriríamos nuestro navegador web y pondríamos la siguiente dirección (https://join.me/albertocruz) Nos aparece la siguiente pantalla:

join3

Y sólo tendríamos que esperar a que nos acepten la petición para poder seguir su pantalla.

join4

Ventajas: Sencillez de uso, se pueden transferir archivos, posibilidad de conferencia de voz, chat, posibilidad de pausar la conferencia

Inconvenientes: No es todo lo fluido que cabría esperar, no se puede utilizar para streaming y versión de pago al cabo de 20 días, 100€ al año.


Seminario I: JUnit, Selenium, Maven, SVN y HudSon

Con permiso de los compañeros de clase haremos un breve resumen de las herramientas y técnicas vistas en este seminario.

Información extraída de su presentación y expuesto por:  Jordi Palà, Eloy Garcia, Marc Collado y Anna Hurtado.

Junit-logo
JUnit  es un conjunto de bibliotecas para hacer test de aplicaciones en Java. Permite la ejecución de clases Java para poder evaluar el funcionamiento de sus métodos. Los resultados se muestran en modo de texto

Ventajas de JUnit

  • En el código se indica las condiciones para que el test sea satisfactorio
  • Gráficamente podemos ver si todo ha ido bien, con un color verde o si ha habido algún error, en color rojo
  • Muy intuitivo y métodos bien definidos
  • Está más enfocado a la parte de Debbuging del programador

maven_logo

Maven es un software para la gestión y construcción en proyectos Java. El modelo de configuración es a través de un fichero XML (archivo POM). Contiene información sobre: El proyecto, dependencias, repositorios, plugins y detalles de configuración utilizados por Maven para construir el proyecto.

Ventajas de Maven

  • Descarga las librerias necesarias para nuestro proyecto, indicadas en el POM por sus dependencias.
  • El repositorio está alojado en una carpeta a la máquina del usuario
  • Sólo es necesario descargar una sola vez las librearías para compartirlas con otros proyectos

Seleniumlogo

Selenium IDE es un plugin de Firefox de fácil instalación. Permite realizar pruebas sobre aplicaciones Web.

Ventajas de Selenium

  • Creación de test que se guardan en Scripts editables
  • Pruebas a base de repetición
  • Permite exportarlo a diferentes lenguajes

subversion_logo_hor-468x64

Subversion (SVN) es un sistema de control de versiones libre y de código abierto. Controla los cambios realizados en ficheros y carpetas a través del tiempo. Permite volver a versiones anteriores.

Ventajas de Subversion

  • El servidor contiene el repositorio principal que es la copia maestra de los datos
  • Se tiene un control absoluto sobre todas las versiones por parte de los administradores
  • No es necesario que todos los desarrolladores tengan una copia de todo el repositorio.
  • Podemos integrar SVN en eclipse (Plugin Subeclipse)

hudson

Hudson es una herramienta de integración continua de Java que se ejecuta en los servidors de servlets (Ej: TomCAT). Trabaja con herramienta de control de versiones y se puede ejecutar en proyectos basados en Apache Maven.

Ventajas de Hudson

  • Compilación y ejecución de test de todo un proyecto
  • Cada cierto tiempo, se descarga la fuente del gestor de versiones, la compila, hace los test y genera informes con los resultados obtenidos

Metodologías

En la clase de hoy hemos visto dos tipos de metodologías aplicadas al desarrollo de software:  Pesadas (RUP & UML) y ágiles (XP y SCRUM)

De qué hablamos cuando nos referimos a pesadas y ágiles?

“Estas metodologías pesadas imponen una disciplina de trabajo sobre el proceso de desarrollo del software, con el fin de conseguir un software más eficiente. Para ello, se hace énfasis en la planificación total de todo el trabajo a realizar y una vez que está todo detallado, comienza el ciclo de desarrollo del producto software. Se centran especialmente en el control del proceso, mediante una rigurosa definición de roles, actividades, artefactos, herramientas y notaciones para el modelado y documentación detallada [42]. Además, las metodologías tradicionales no se adaptan adecuadamente a los cambios, por lo que no son métodos adecuados cuando se trabaja en un entorno, donde los requisitos no pueden predecirse o bien pueden variar.

La sociedad actual implica ser “ágil”, es decir, tener la capacidad de proveer respuestas rápidas y ser adaptables al cambio. Ambas cualidades siempre han sido deseables, pero en el entorno de negocio actual resultan indispensables

Las metodologías ágiles proporcionan una serie de pautas y principios junto a técnicas pragmáticas que puede que no curen todos los males pero harán la entrega del proyecto menos complicada y más satisfactoria tanto para los clientes como para los equipos de entrega.”

Imagen2

Nuestro proyecto lo planificaremos con  SCRUM: Definiremos una pila de productos, calcularemos la velocidad estimada de trabajo, planificaremos historias para los Sprints y haremos reuniones diarias de 10 minutos… También miraremos para atrás y haremos una retrospectiva de cada sprint para ir mejorando en el trabajo en grupo.

Os interesan las metodologías de trabajo?  Aquí os dejamos un libro interesante sobre SCRUM

http://www.proyectalis.com/wp-content/uploads/2008/02/scrum-y-xp-desde-las-trincheras.pdf

Como siempre, iremos contando los avances en la asignatura por este blog!