Presentación inteligencia artificial en la actualidad
Trac: Gestión de proyectos de desarrollo de Software
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