Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Desarrollo centrado
en tareas en Eclipse con Mylyn
Integración de Eclipse, Bugzilla y Subversion
sidelab
Software & Integr...
2
Desarrollo centrado en tareas
en Eclipse con Mylyn
 Introducción a Eclipse y Mylyn
 Gestión de Tareas
 Integración co...
3
Desarrollo centrado en tareas
en Eclipse con Mylyn
 Introducción a Eclipse y Mylyn
 Gestión de Tareas
 Integración co...
4
Introducción
 Eclipse es una fundación de software libre
 Licencia Eclipse Public License (similar a la Mozilla
Public...
5
Introducción
 Entorno de desarrollo integrado Eclipse (IDE)
 Multiplataforma (Linux, Windows, Solaris, …)
 Multilengu...
6
Introducción
7
Introducción
 Subversive
 Plugin para Subversion
 Commits, Updates...
 Checkout, Checkin...
 Repository
Exploring
...
8
Introducción
 Subversive Show History
9
Introducción
 Mylyn
 Plugin de Eclipse para gestionar tareas
 Tiene un gestor de tareas local
 Se puede conectar a g...
10
Desarrollo centrado en tareas
en Eclipse con Mylyn
 Introducción a Eclipse y Mylyn
 Gestión de Tareas
 Integración c...
11
Gestión de Tareas
 Añadir tarea
 Vista por categorías o
planificación
 Búsqueda de tareas
 Iconos, colores y
estilo...
12
Gestión de Tareas
 Leyenda de los Iconos,
colores y estilos para
mostrar el estado de la
tarea
13
Gestión de Tareas
 Editor de tareas
 Descripción
 Prioridad
 Estado
 Planificada
para...
 Fecha de
finalización
...
14
Gestión de tareas
 Gestión de la
planificación
 Tareas
terminadas frente
a las planificadas
 Modo “trabajo
semanal”
15
Desarrollo centrado en tareas
en Eclipse con Mylyn
 Introducción a Eclipse y Mylyn
 Gestión de Tareas
 Integración c...
16
Integración con gestores de tareas
 Mylyn puede conectarse a gestores de
tareas/bugs/tickets
 Bugzilla 3.4
 JIRA
 T...
17
Integración con gestores de tareas
18
Integración con gestores de tareas
 Creación de tareas en gestores
 La creación de tareas en un gestor remoto es
simi...
19
20
Integración con gestores de tareas
 Consultas (Queries) en un gestor de tareas
 Cuando se usa un gestor hay múltiples...
21
Integración con gestores de tareas
 Consultas en
un gestor de
tareas
queries
22
Desarrollo centrado en tareas
en Eclipse con Mylyn
 Introducción a Eclipse y Mylyn
 Gestión de Tareas
 Integración c...
23
Interfaz centrado en tareas
 Mylyn no es sólo una interfaz a un Bugzilla
integrada en Eclipse...
 Si le decimos la ta...
24
Interfaz centrado en tareas
 El software cada vez es más grande y tiene multitud de
elementos
 Decenas de proyectos
...
25
Cientos de elementos,
posiblemente
irrelevantes para la tarea
actual
26
Interfaz centrado en tareas
 Mylyn filtra (oculta) los elementos que no son
relevantes para la tarea actual
 Package ...
27
Interfaz centrado en tareas
 Mylyn filtra (oculta) los elementos que no son
relevantes para la tarea actual
 Editor
...
28
Interfaz centrado en tareas
 Mylyn filtra (oculta) los elementos que no son
relevantes para la tarea actual
 Búsqueda...
29
Interfaz centrado en tareas
 ¿Cómo sabe Mylyn el contexto de una tarea?
 Por los ficheros que abres en el editor
 Si...
30
Interfaz centrado en tareas
 Para activar una tarea basta con pulsar un botón en la
vista de tareas
 Si cambiamos de ...
31
Interfaz centrado en tareas
 Como cada tarea guarda su contexto, es mucho
más fácil “centrarse” cuando cambiamos de
ta...
32
Interfaz centrado en tareas
 Para facilitar el trabajo
en equipo se puede
adjuntar el contexto a
una tarea remota
 Ot...
33
Desarrollo centrado en tareas
en Eclipse con Mylyn
 Introducción a Eclipse y Mylyn
 Gestión de Tareas
 Integración c...
34
Cambios en el código asociados a tareas
 En un desarrollo en equipo es una buena práctica
“asociar” los commits a tare...
35
Cambios en el código asociados a tareas
 La asociación manual es propensa a errores
 Si no seleccionamos adecuadament...
36
Cambios en el código asociados a tareas
 Mylyn sabe el contexto de una tarea y puede
ayudarnos en los commits
 Agrupa...
37
Cambios en el código asociados a tareas
 Crea el comentario del
commit automáticamente
con el número de
tarea/bug
 El...
38
Cambios en el código asociados a
tareas
 Comentarios con referencia al bug
39
Cambios en el código asociados a tareas
 Con herramientas externas podemos
cambiar el estado de la tarea/bug con el
co...
40
Desarrollo centrado en tareas
en Eclipse con Mylyn
 Introducción a Eclipse y Mylyn
 Gestión de Tareas
 Integración c...
41
Tasktop
 Versión comercial de Mylyn que
incorpora nuevas funcionalidades
 Conectores para repositorios de bugs
 Gest...
42
Desarrollo centrado en tareas
en Eclipse con Mylyn
 Introducción a Eclipse y Mylyn
 Gestión de Tareas
 Integración c...
43
Conclusiones
 Mylyn integra Bugzilla en Eclipse
 Integra Bugzilla con Subversion, facilitando
la asociación de commit...
Desarrollo centrado
en tareas en Eclipse con Mylyn
Integración de Eclipse, Bugzilla y Subversion
sidelab
Software & Integr...
Upcoming SlideShare
Loading in …5
×

Desarrollo centrado en tareas en Eclipse con Mylyn 2009

709 views

Published on

Presentación del plugin Mylyn de Eclipse para la gestión de tareas y la adaptación del interfaz basado en las mismas

Published in: Software
  • Be the first to comment

  • Be the first to like this

Desarrollo centrado en tareas en Eclipse con Mylyn 2009

  1. 1. Desarrollo centrado en tareas en Eclipse con Mylyn Integración de Eclipse, Bugzilla y Subversion sidelab Software & Integrated Development Environments Lab Mylyn Francisco Gortázar Bellas - Micael Gallego Carrillo Noviembre 2009 http://www.gavab.es/wiki/tallermylyn
  2. 2. 2 Desarrollo centrado en tareas en Eclipse con Mylyn  Introducción a Eclipse y Mylyn  Gestión de Tareas  Integración con gestores de tareas/bugs  Interfaz centrado en tareas (Task Focused Interface)  Cambios en el código asociados a las tareas (Change Sets)  Tasktop  Conclusiones
  3. 3. 3 Desarrollo centrado en tareas en Eclipse con Mylyn  Introducción a Eclipse y Mylyn  Gestión de Tareas  Integración con gestores de tareas/bugs  Interfaz centrado en tareas (Task Focused Interface)  Cambios en el código asociados a las tareas (Change Sets)  Tasktop  Conclusiones
  4. 4. 4 Introducción  Eclipse es una fundación de software libre  Licencia Eclipse Public License (similar a la Mozilla Public License)  La fundación mantiene muchos proyectos  Framework de desarrollo de aplicaciones con interfaz de usuario en Java  RCP, JFace, SWT  Eclipse Tools:  Jetty: Servidor Web  BIRT: Sistema de generación de informes  Eclipse Link (Implementación de referencia de JPA 2)  Equinox (Implementación de OSGi) http://www.eclipse.org
  5. 5. 5 Introducción  Entorno de desarrollo integrado Eclipse (IDE)  Multiplataforma (Linux, Windows, Solaris, …)  Multilenguaje (Java, C/C++, Cobol, PHP, JavaScript, Pascal, Ruby...)  Ampliable mediante plugins  Desarrollo en equipo  Sistemas de control de versiones  Subversion, CVS, Git, Mercurial...  Desarrollo colaborativo  Eclipse Communication Framework, Saros
  6. 6. 6 Introducción
  7. 7. 7 Introducción  Subversive  Plugin para Subversion  Commits, Updates...  Checkout, Checkin...  Repository Exploring  Compare Editor  Show History www.eclipse.org/subversive
  8. 8. 8 Introducción  Subversive Show History
  9. 9. 9 Introducción  Mylyn  Plugin de Eclipse para gestionar tareas  Tiene un gestor de tareas local  Se puede conectar a gestores de tareas remotos  Bugzilla, JIRA, Trac, …  Tiene un editor avanzado de tareas  Task Focused Interface: Oculta los elementos que no son necesarios para la tarea “activa” http://www.eclipse.org/mylyn
  10. 10. 10 Desarrollo centrado en tareas en Eclipse con Mylyn  Introducción a Eclipse y Mylyn  Gestión de Tareas  Integración con gestores de tareas/bugs  Interfaz centrado en tareas (Task Focused Interface)  Cambios en el código asociados a las tareas (Change Sets)  Tasktop  Conclusiones
  11. 11. 11 Gestión de Tareas  Añadir tarea  Vista por categorías o planificación  Búsqueda de tareas  Iconos, colores y estilos para mostrar el estado de la tarea
  12. 12. 12 Gestión de Tareas  Leyenda de los Iconos, colores y estilos para mostrar el estado de la tarea
  13. 13. 13 Gestión de Tareas  Editor de tareas  Descripción  Prioridad  Estado  Planificada para...  Fecha de finalización  Notas/Comenta rios
  14. 14. 14 Gestión de tareas  Gestión de la planificación  Tareas terminadas frente a las planificadas  Modo “trabajo semanal”
  15. 15. 15 Desarrollo centrado en tareas en Eclipse con Mylyn  Introducción a Eclipse y Mylyn  Gestión de Tareas  Integración con gestores de tareas/bugs  Interfaz centrado en tareas (Task Focused Interface)  Cambios en el código asociados a las tareas (Change Sets)  Tasktop  Conclusiones
  16. 16. 16 Integración con gestores de tareas  Mylyn puede conectarse a gestores de tareas/bugs/tickets  Bugzilla 3.4  JIRA  Trac  Mantis  Sourceforge, Google code...  Gmail & Google Calendar (Comercial)
  17. 17. 17 Integración con gestores de tareas
  18. 18. 18 Integración con gestores de tareas  Creación de tareas en gestores  La creación de tareas en un gestor remoto es similar que las tareas locales salvo que hay campos adicionales  ¿A quién se asigna la tarea?  Campos específicos del gestor de tareas  Comentarios  Adjuntos  ...
  19. 19. 19
  20. 20. 20 Integración con gestores de tareas  Consultas (Queries) en un gestor de tareas  Cuando se usa un gestor hay múltiples usuarios y cualquier puede crear, comentar y hacer el trabajo indicado en una tarea  En Mylyn muestra sólo aquellas tareas/bugs que cumplan unos determinados criterios especificados en las consultas  Hay que hacer consultas al gestor con algunos criterios específicos, por ejemplo...  Las tareas que tengo asignadas para realizar yo  Bugs que tengo interés en que se resuelvan  Tareas de gente a la que superviso/ayudo
  21. 21. 21 Integración con gestores de tareas  Consultas en un gestor de tareas queries
  22. 22. 22 Desarrollo centrado en tareas en Eclipse con Mylyn  Introducción a Eclipse y Mylyn  Gestión de Tareas  Integración con gestores de tareas/bugs  Interfaz centrado en tareas (Task Focused Interface)  Cambios en el código asociados a las tareas (Change Sets)  Tasktop  Conclusiones
  23. 23. 23 Interfaz centrado en tareas  Mylyn no es sólo una interfaz a un Bugzilla integrada en Eclipse...  Si le decimos la tarea que estamos realizando, Mylyn nos puede ayudar a:  Puede medir el tiempo empleado en la tarea (sólo en la versión comercial)  Mostrarnos en el interfaz sólo aquellos “elementos” que son relevantes para la tarea actual → Task Focused Interface
  24. 24. 24 Interfaz centrado en tareas  El software cada vez es más grande y tiene multitud de elementos  Decenas de proyectos  Cientos de clases por proyecto  Decenas de métodos por clase  …  La mayor parte de los elementos no son relevantes en la “tarea actual”  Los elementos relevantes a una tarea se denominan “contexto” de la tarea
  25. 25. 25 Cientos de elementos, posiblemente irrelevantes para la tarea actual
  26. 26. 26 Interfaz centrado en tareas  Mylyn filtra (oculta) los elementos que no son relevantes para la tarea actual  Package explorer Activa/Desactiva el filtrado
  27. 27. 27 Interfaz centrado en tareas  Mylyn filtra (oculta) los elementos que no son relevantes para la tarea actual  Editor  Colapsa los métodos no relevantes Activa/Desactiva el filtrado
  28. 28. 28 Interfaz centrado en tareas  Mylyn filtra (oculta) los elementos que no son relevantes para la tarea actual  Búsqueda de clases/interfaces (Ctrl+Shift+T)  Muestra primero las clases/interfaces relevantes para la tarea actual  Autocompletar (Ctrl+Espacio)  Muesta primero los métodos/Clases relevantes para la tarea actual
  29. 29. 29 Interfaz centrado en tareas  ¿Cómo sabe Mylyn el contexto de una tarea?  Por los ficheros que abres en el editor  Si pulsamos Alt+Shift+Click en el Package Explorer se deshabilita temporalmente el filtrado para poder abrir nuevos ficheros que no estaban en el contexto  Por los métodos/atributos que revisas o visitas (haciendo click en ellos)  Por los métodos o atributos que implementas o modificas  Si Mylyn detecta que hace tiempo que no visitas un elemento de interés... considera que ya no es de interés y por tanto lo oculta
  30. 30. 30 Interfaz centrado en tareas  Para activar una tarea basta con pulsar un botón en la vista de tareas  Si cambiamos de tarea “activa” se muestra el contexto de la nueva tarea activa y se guarda el contexto de la tarea anterior (para recuperarlo si vuelve a estar activa) Botón que activa una tarea
  31. 31. 31 Interfaz centrado en tareas  Como cada tarea guarda su contexto, es mucho más fácil “centrarse” cuando cambiamos de tarea  No tenemos que recordar las clases/métodos relevantes para una tarea porque Mylyn las guarda  No tenemos que buscar por todo el proyecto porque los elementos no relevantes no se muestran, esto reduce el tiempo de desarrollo
  32. 32. 32 Interfaz centrado en tareas  Para facilitar el trabajo en equipo se puede adjuntar el contexto a una tarea remota  Otros desarrolladores pueden focalizar el trabajo en la tarea aprovechando el contexto de otro usuario
  33. 33. 33 Desarrollo centrado en tareas en Eclipse con Mylyn  Introducción a Eclipse y Mylyn  Gestión de Tareas  Integración con gestores de tareas/bugs  Interfaz centrado en tareas (Task Focused Interface)  Cambios en el código asociados a tareas (Change Sets)  Tasktop  Conclusiones
  34. 34. 34 Cambios en el código asociados a tareas  En un desarrollo en equipo es una buena práctica “asociar” los commits a tareas/bugs en el gestor de tareas  Permite a los demás desarrolladores conocer la motivación y los comentarios de cada cambio en el código  Habitualmente la asociación se hace manualmente  Eligiendo manualmente los ficheros que están involucrados en la tarea/bug  Poniendo a mano un comentario en el commit que indica la tarea/bug que motiva ese commit
  35. 35. 35 Cambios en el código asociados a tareas  La asociación manual es propensa a errores  Si no seleccionamos adecuadamente los ficheros podemos “romper” la compilación en el repositorio  No incluimos todos los ficheros que hemos modificado/creado  Incluimos cambios que pertenecen a otras tareas/bugs que están sin terminar  Hay que “recordar” el código de tarea en la que estamos trabajando  Hay que “recordar” el formato exacto del comentario
  36. 36. 36 Cambios en el código asociados a tareas  Mylyn sabe el contexto de una tarea y puede ayudarnos en los commits  Agrupa los cambios por tareas Vista de sincronización de Eclipse en la que se seleccionan los ficheros que forman parte del commit
  37. 37. 37 Cambios en el código asociados a tareas  Crea el comentario del commit automáticamente con el número de tarea/bug  El formato es configurable
  38. 38. 38 Cambios en el código asociados a tareas  Comentarios con referencia al bug
  39. 39. 39 Cambios en el código asociados a tareas  Con herramientas externas podemos cambiar el estado de la tarea/bug con el comentario del commit  Habitualmente se configura un hook en Subversion que se comunica con el gestor de tareas/bugs y cambia el estado  Trac y Subversion: trac-post-commit-hook  Bugzilla y otros: Scmbug
  40. 40. 40 Desarrollo centrado en tareas en Eclipse con Mylyn  Introducción a Eclipse y Mylyn  Gestión de Tareas  Integración con gestores de tareas/bugs  Interfaz centrado en tareas (Task Focused Interface)  Cambios en el código asociados a tareas (Change Sets)  Tasktop  Conclusiones
  41. 41. 41 Tasktop  Versión comercial de Mylyn que incorpora nuevas funcionalidades  Conectores para repositorios de bugs  Gestión del tiempo dedicado a cada tarea  Considera el contexto de una tarea lo que ocurre fuera de Eclipse  Documentos abiertos  Páginas visitadas en el navegador  Integra las tareas con Google Calendar o Outlook  Crea tareas desde correos electrónicos
  42. 42. 42 Desarrollo centrado en tareas en Eclipse con Mylyn  Introducción a Eclipse y Mylyn  Gestión de Tareas  Integración con gestores de tareas/bugs  Interfaz centrado en tareas (Task Focused Interface)  Cambios en el código asociados a tareas (Change Sets)  Tasktop  Conclusiones
  43. 43. 43 Conclusiones  Mylyn integra Bugzilla en Eclipse  Integra Bugzilla con Subversion, facilitando la asociación de commits a tareas  Con el task focused interface  Se reduce el tiempo dedicado a “buscar”  No hay que acordarse del contexto de una tarea  Permite compartir el contexto con otros
  44. 44. Desarrollo centrado en tareas en Eclipse con Mylyn Integración de Eclipse, Bugzilla y Subversion sidelab Software & Integrated Development Environments Lab Mylyn Francisco Gortázar Bellas - Micael Gallego Carrillo Noviembre 2009 http://www.gavab.es/wiki/tallermylyn

×