Trac: Gestión de proyectos de desarrollo de Software

  • 6,096 views
Uploaded on

Trac: Gestión de proyectos …

Trac: Gestión de proyectos
de desarrollo de Software

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
6,096
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
242
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Trac: Gestión de proyectos de desarrollo de Software La gestión de proyectos de desarrollo de software, es un elemento imprescindible al momento de encarar proyectos de desarrollo, porque ésto implica considerar tópicos como: control de versiones, wikis, manejo de bugs, etc. En la actualidad existen varias opciones para éste fin, pero una de las que destaca en el mundo del software Libre es Trac, por su sencillez, facilidad y por su calidad. ✔ Idealmente Permitir hacer el seguimiento y ✔ reajustar la planificación en función de la evolución del proyecto. Recomendación Introducción Disponer de herramientas para llevar ✔ La gestión de proyectos de desarrollo de el control de tiempos estimados y Software, hoy por hoy se ha convertido en un empleados para cada tarea; para elemento indispensable en el proceso de poder controlar la evolución del desarrollo de un producto software. proyecto. La gestión de proyectos es un aliado Es importante que las personas ✔ importante de la ingeniería de software en la inmersas en el proyecto deban tarea de conseguir como resultado un reportar el tiempo que dedican a cada producto de software de calidad. tarea y actualicen el estado de las mismas con relativa frecuencia Gestión de Proyectos (recomendable diariamente) La gestión de proyectos precisa contemplar Sistema de gestión con algunas herramientas como: documental Sistema de planificación ✔ Sistema de gestión documental ✔ Objetivo Sistema de control de versiones ✔ Servirá para almacenar y mantener Sistema de gestión de incidencias ✔ ✔ los documentos obtenidos o generados durante el desarrollo del Sistema de planificación proyecto y acceder a ellos cómodamente. Cada hito, tarea o subtarea implica la Objetivo ✔ obtención o generación de Permitir organizar el proyecto en ✔ documentación (actas de reuniones, función de hitos, tareas, subtareas, documentos de diseño, etc.). asignación y control de tiempos, recursos materiales y humanos.
  • 2. Idealmente Idealmente Debe permitir que almacenemos esa Deberá controlar todas y cada una de ✔ ✔ documentación en el propio sistema. las posibles incidencias que puedan ocurrir en el desarrollo de un producto software. Sistema de control de versiones Qué es Trac? Trac es un sistema que integra varios ✔ Objetivo componentes con capacidades suficientes para la gestión de Permitir el desarrollo concurrente ✔ proyectos de desarrollo de software. para mantener la historia del código fuente y parte de la documentación Trac es un sistema web ✔ producida en el proyecto. multiplataforma ligero y extensible. Al tratarse de proyectos informáticos, ✔ Trac es un programa pensado para ✔ lo normal es que se trabaje con desarrolladores que necesitan código fuente y con documentos que mantener un proyecto. Programado van evolucionando a lo largo del en python y ejecutado a través de desarrollo y que deben ser mod_python o como cgi o fastcgi modificados por múltiples personas. usando un servidor web, permite llevar una serie de utilidades propias para un proyecto. Idealmente Disponer de un sistema de control de ✔ Funcionalidades versiones que permita mantener la historia de los ficheros generados y Wiki: Empleado para documentar ✔ que más de una persona trabaje cualquier aspecto del proyecto de concurrentemente sobre el mismo modo colaborativo y sin necesidad de código. herramientas especiales. Planificación (Roadmap): Sistema ✔ Sistema de gestión de para definir y visualizar el estado de incidencias los hitos de un proyecto (un hito incluye una descripción y una fecha y se usa como atributo de los tickets, Objetivo que se asocian a hitos concretos). Manejo de eventos (Timeline): Permitir hacer el seguimiento de los ✔ ✔ Sistema de seguimiento de eventos errores detectados y sus en el sistema: correcciones, tanto aquellos reportados por los responsables de la Histórico de cambios en el wiki ✔ prueba del software como por los En el sistema de control de desarrolladores o los usuarios ✔ versiones, normales. En el sistema de gestión de También se puede utilizar como ✔ ✔ incidencias o vencimiento de un sistema de seguimiento de tareas de hito corta duración asociadas a fases del proyecto, a errores detectados o a Búsquedas: Permite localizar ✔ cambios relacionados con solicitudes páginas del wiki, comentarios dentro de mejora solicitadas por el cliente. de los conjuntos de cambios o tickets en los que aparece una palabra. ✔
  • 3. Visor de Código: Integrado con GIT, Mercurial o Monotone. ✔ algún sistema de control de versiones Servicios adicionales: blogs, foros, ✔ (asociado al proyecto), nos permite etc. ver los cambios que se han producido en el programa de una forma visual Requisitos de instalación (estado actual del repositorio, los cambios que se han ido produciendo, Los requisitos de las versiones actuales comparar distintas versiones de (0.11.x) son: ficheros en línea, etc). Trac únicamente es un interfaz del Python, por estar desarrollado en ✔ repositorio. python, además precisa los enlaces (bindings) con algunos de los subsistemas que emplea, como por Componentes y ejemplo: SQLite o Subversión. características adicionales Sistema de proceso de plantillas ✔ ClearSilver, actualmente reemplazado Trac ha sido concebido de forma modular por Genshi. donde se pueden añadir plugins que proporcionan distintas funcionalidades. (casi Soporte de la BBDD que vayamos a ✔ todos los componentes estándar son utilizar (SQLite, PostgreSQL o módulos que pueden ser activados, MySQL). desactivados o reemplazados o modificados por otros). Entre sus características Instalación de Trac adicionales se encuentran: Administración: Personalización de ✔ La instalación depende de la distribución que entorno, manejo de usuarios, se utilice: permisos, plugins, etc. En el caso de CentOS o algún otro ✔ Autenticación: LDAP, BBDD o ✔ clon de RHEL: yum install trac fichero. En el caso de Ubuntu: apt-get ✔ Uso de VCS: Subversión, Bazaar, ✔ install trac Estructura de un proyecto de Trac Cuando procedemos a la creación de un Proyecto en Trac, éste crea una estructura como se muestra en la figura. Gráfico 1: Estructura de un proyecto de Trac
  • 4. Creando un proyecto Se emplea un programa que se invoca desde la línea de comandos y que genera una estructura de directorios con la configuración del proyecto y los ficheros relacionados, así como muestra la figura: Gráfico 2: Creación del proyecto Nota: Si deseamos que Trac interactúe con Subversión, o una BBDD distinta de SQLite será necesario crear el repositorio y/o la BBDD según corresponda antes de crear el proyecto). Ejecución y funcionamiento de Trac Trac puede funcionar de dos formas: Mediante su propio servidor (tracd) ✔ Mediante un servidor estándar (lighttpd, apache2) que tenga soporte para ejecutar ✔ código python usando scripts de CGI, FastCGI o mod_python. En esta primera parte del tutorial ejecutaremos Trac mediante su propio servidor, las instrucciones de ejecución y acceso a Trac se muestran al finalizar la creación del proyecto.
  • 5. Gráfico 3: Detalles de ejecución y acceso Ejecución y pruebas Una vez que Trac se ejecute podemos empezar a probar todas y cada una de las características provistas: wiki, timeline, roadmap, visor de código fuente, visualización de tickets, búsquedas. Gráfico 4: Acerca de Trac
  • 6. Gráfico 5: Wiki Gráfico 6: Timeline
  • 7. Gráfico 7: Búsquedas Gráfico 8: Acceso al control de versiones
  • 8. Referencias [1] Proyecto Trac: http://trac.edgewall.org/ [2] Componentes adicionales: http://trac-hacks.org/ [3] Acceso a repositorios libres: https://opensvn.csie.org/ Autor Esteban Saavedra López Líder de la Comunidad ATIX (Oruro – Bolivia) Activista de Software Libre en Bolivia jesaavedra@opentelematics.org http://jesaavedra.opentelematics.org