desarrollo centrado en tareas en eclipse con mylyn 2009
TRANSCRIPT
![Page 1: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/1.jpg)
Desarrollo centrado en tareas en Eclipse con Mylyn
Integración de Eclipse, Bugzilla y Subversion
sidelabSoftware & Integrated Development Environments Lab
Mylyn
Francisco Gortázar Bellas - Micael Gallego Carrillo
Noviembre 2009
http://www.gavab.es/wiki/tallermylyn
![Page 2: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/2.jpg)
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
![Page 3: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/3.jpg)
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
![Page 4: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/4.jpg)
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
![Page 5: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/5.jpg)
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
![Page 6: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/6.jpg)
6
Introducción
![Page 7: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/7.jpg)
7
Introducción
Subversive Plugin para Subversion Commits, Updates... Checkout, Checkin... Repository
Exploring Compare
Editor Show History
www.eclipse.org/subversive
![Page 8: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/8.jpg)
8
Introducción
Subversive Show History
![Page 9: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/9.jpg)
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
![Page 10: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/10.jpg)
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
![Page 11: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/11.jpg)
11
Gestión de Tareas
Añadir tarea Vista por categorías o
planificación Búsqueda de tareas Iconos, colores y
estilos para mostrarel estado de la tarea
![Page 12: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/12.jpg)
12
Gestión de Tareas
Leyenda de los Iconos, colores y estilos para mostrar el estado de la tarea
![Page 13: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/13.jpg)
13
Gestión de Tareas
Editor de tareas Descripción Prioridad Estado Planificada
para... Fecha de
finalización Notas/Comenta
rios
![Page 14: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/14.jpg)
14
Gestión de tareas
Gestión de la planificación Tareas
terminadas frente a las planificadas
Modo “trabajo semanal”
![Page 15: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/15.jpg)
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
![Page 16: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/16.jpg)
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)
![Page 17: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/17.jpg)
17
Integración con gestores de tareas
![Page 18: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/18.jpg)
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 ...
![Page 19: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/19.jpg)
19
![Page 20: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/20.jpg)
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
![Page 21: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/21.jpg)
21
Integración con gestores de tareas
Consultas en un gestor de tareas
queries
![Page 22: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/22.jpg)
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
![Page 23: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/23.jpg)
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
![Page 24: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/24.jpg)
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
![Page 25: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/25.jpg)
25
Cientos de elementos, posiblemente irrelevantes para la tarea actual
![Page 26: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/26.jpg)
26
Interfaz centrado en tareas
Mylyn filtra (oculta) los elementos que no son relevantes para la tarea actual Package explorer
Activa/Desactiva el filtrado
![Page 27: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/27.jpg)
27
Interfaz centrado en tareas
Mylyn filtra (oculta) los elementos que no son relevantes para la tarea actual Editor
Colapsa los métodosno relevantes
Activa/Desactiva el filtrado
![Page 28: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/28.jpg)
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
![Page 29: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/29.jpg)
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
![Page 30: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/30.jpg)
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
![Page 31: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/31.jpg)
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
![Page 32: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/32.jpg)
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
![Page 33: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/33.jpg)
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
![Page 34: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/34.jpg)
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
![Page 35: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/35.jpg)
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
![Page 36: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/36.jpg)
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
![Page 37: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/37.jpg)
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
![Page 38: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/38.jpg)
38
Cambios en el código asociados a tareas
Comentarios con referencia al bug
![Page 39: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/39.jpg)
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
![Page 40: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/40.jpg)
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
![Page 41: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/41.jpg)
41
Tasktop
Versión comercial de Mylyn queincorpora 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
![Page 42: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/42.jpg)
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
![Page 43: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/43.jpg)
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
![Page 44: Desarrollo centrado en tareas en Eclipse con Mylyn 2009](https://reader034.vdocumento.com/reader034/viewer/2022042706/587b4ce71a28abff1a8b50b5/html5/thumbnails/44.jpg)
Desarrollo centrado en tareas en Eclipse con Mylyn
Integración de Eclipse, Bugzilla y Subversion
sidelabSoftware & Integrated Development Environments Lab
Mylyn
Francisco Gortázar Bellas - Micael Gallego Carrillo
Noviembre 2009
http://www.gavab.es/wiki/tallermylyn