Está en la página 1de 116

UNIVERSIDAD AUSTRAL DE CHILE

SEDE PUERTO MONTT


ESCUELA DE INGENIERA EN COMPUTACIN









APLICACIN WEB DE APOYO A TABLAS SCRUM
PARA LA GESTIN DE DESARROLLO DE SISTEMAS.


Seminario de Titulacin
para optar
al ttulo de Ingeniero en Computacin


PROFESOR PATROCINANTE:
Sra. Claudia Zil Bontes.


DAINERYS CALA BRTOLO
PUERTO MONTT CHILE
2011

















Con mi corazn lleno de gratitud dedico
este proyecto de tesis a mis padres, mi
familia y a cada uno de los que hicieron
posible su creacin, que confiaron en mi
capacidad y fueron participes en la
culminacin de esta etapa de mi vida.
AGRADECIMIENTOS

A mis padres, pilares indiscutibles de mi formacin, les agradezco por
todo el apoyo y el amor incondicional que siempre me han brindado en cada
paso de mi vida. Sin ellos, todo sera ms difcil, y s, que el cierre de este
ciclo de mi vida como estudiante, es un logro tanto para m, como para ellos.
Lo cual me enorgullece mucho.
A mis hermanas y de manera especial, a Duni, mi hermanita menor,
mi confidente y amiga, por su paciencia y su inmenso cario.
Un especial agradecimiento a la profesora Claudia Zil, quien fue mi
gua en este camino, y a todos los profesores de la Escuela de Ingeniera en
Computacin, que me acompaaron en esta trayectoria de aprendizajes,
entregndome las herramientas necesarias para lograr hoy esta meta.
Finalmente, agradezco a mi pas, mi Patria, mi raz... que me vio
nacer y me vio partir. A ella le debo mis primeros estudios y mis valores. Y a
la Universidad Austral de Chile, quien es mi casa formadora de mi primer
ttulo universitario.

NDICE
1. Introduccin ................................................................................................ 1
2. Objetivos .................................................................................................... 5
2.1 Objetivo general .................................................................................... 5
2.2 Objetivos especficos ............................................................................ 5
3. Planteamiento del problema ....................................................................... 6
3.1 Antecedentes ........................................................................................ 6
3.1.1 Definicin del problema a resolver .................................................. 6
3.1.2 Identificacin de esfuerzos anteriores ............................................. 8
3.1.3 Solucin propuesta ....................................................................... 10
3.2 Justificacin ........................................................................................ 13
3.2.1 Situacin sin proyecto ................................................................... 13
3.2.2 Situacin con proyecto.................................................................. 13
3.3 Delimitacin ........................................................................................ 14
4. Metodologa ............................................................................................. 16
5. Recursos .................................................................................................. 20
5.1 Hardware ............................................................................................ 20
5.2 Software .............................................................................................. 21
6. Desarrollo de la aplicacin SCRUM4-U.................................................... 23
6.1 Inicio.................................................................................................... 23
6.1.1 Requerimientos Generales ........................................................... 23
6.1.2 Requerimientos Especficos ......................................................... 23
6.2 Diseo ................................................................................................. 27
6.2.1 Arquitectura del Sistema ............................................................... 27
6.2.2 Casos de Uso ............................................................................... 28
6.2.3 Diagrama de Clases ..................................................................... 30
6.2.4 Diseo de Base de Datos ............................................................. 41
6.2.4.1 Modelo Conceptual de la Base de Datos ................................ 41
6.2.4.2 Modelo Fsico de la Base de Datos ........................................ 42
6.2.5 Diseo de la Interfaz ..................................................................... 46
6.3 Construccin .......................................................................................... 54
6.3.1 Ajax .................................................................................................. 55
6.3.2 Microsoft Silverlight .......................................................................... 65
6.3.3 Procedimiento almacenado .............................................................. 68
6.3.4 Scripts del modelo fsico de la Base de Datos ................................. 70
6.4 Pruebas .................................................................................................. 72
6.4.1 Pruebas de Caja Blanca................................................................... 72
6.4.1.1 Prueba de caminos .................................................................... 74
6.4.2 Prueba de Caja Negra...................................................................... 81
7. Control de versiones ................................................................................ 85
8. Conclusiones ............................................................................................ 86
9. Bibliografa ............................................................................................... 89
ANEXO A ..................................................................................................... 94
Manual del usuario .................................................................................... 94

RESUMEN

Hoy en da con el auge de la tecnologa, y con el objetivo de agilizar y
automatizar los procesos en el desarrollo de software, se ve la necesidad de
implantar Metodologas de Desarrollo de Software que ayuden a entregar un
producto de calidad en tiempo. Es por esto que las metodologas giles de
desarrollo de software han despertado inters gracias a que proponen
simplicidad y velocidad para crear sistemas. Un ejemplo claro de estas
metodologas giles es SCRUM, [QTX2011].
SCRUM como metodologa gil no se basa en el seguimiento estricto
de un plan, sino en la adaptacin continua de las circunstancias de la
evolucin del proyecto, permitiendo tener resultados en corto tiempo.
En este proyecto de tesis se desarroll una aplicacin web de apoyo a
las tablas de la metodologa SCRUM, para la gestin de desarrollo de
sistemas. En dicho sistema existen 3 roles, donde cada uno cuenta con los
privilegios correspondientes para acceder a cada seccin especfica, como
lo solicit el cliente.
Para la realizacin de este seminario de tesis se utiliz SCRUM como
metodologa de trabajo, la misma metodologa para la que se implement el
sistema SCRUM-4U, cumpliendo con las entregas sistemticas y las
reuniones retrospectivas.
El uso de componentes como Ajax, Microsoft Silverlight y vCalendar
facilit el uso de la herramienta en el cliente y ayud a cumplir los objetivos
trazados para su desarrollo, ya que por sobre todo le brinda al usuario, la
flexibilidad que se estaba buscando en una aplicacin como sta.

ABSTRACT

Nowadays the boom of technology and with the purpose of speeding
up and automating the processes in the development of software, it is
necessary to introduce Software Development Methodologies that help
deliver a quality product of on time. This is why the agile methodologies of
software development have attracted attention, which also offers simplicity
and speed to create systems. A clear example of these agile methodologies
is SCRUM.
Scrum as agile methodology is not based on strict tracking of a plan,
but in the continuous adaptation of the circumstances of the project's
evolution, allowing us to have results shortly.
A web application support to tables of SCRUM methodology, for the
management of system development, was developed in this thesis Project.
There are 3 roles in that system, each one with appropriate privileges to
access each specific section, as it requested by the client.
It was used SCRUM as work methodology for the accomplishment of
this thesis seminary, the same methodology for which system SCRUM-4U
was implemented, complying with the systematic deliveries and the
retrospective meetings.
The use of components such as Ajax, Microsoft Silverlight and
vCalendar facilitated the use of the tool to the client and helped to fulfill the
goals set for its development, since by, mostly, it offers the user the flexibility
that was looking for in an application like this one.


1

1. Introduccin

El trmino de Ingeniera del Software se comenz a mencionar
despus de producirse la crisis del software, la que se refiere a la dificultad
de escribir programas libres de defectos, fcilmente comprensibles y
verificables. El desarrollo de software era notoriamente rudimentario y no
permita planificar y estimar el esfuerzo de una manera razonable. La
ausencia de metodologas fcilmente conllevaba a un caos, por lo que se
importaron metodologas desde otros campos donde tambin existan
procesos de Ingeniera, conocidas actualmente como metodologas
tradicionales, [Prez2011].
El punto discutible en aplicar metodologas tradicionales est en que
se obliga al equipo desarrollador a que fuerce al cliente a tomar todas las
decisiones al principio del proyecto. Lo anterior provoca un verdadero
problema, ya que al presionar a detallar los requisitos, si stos son errneos,
significar una toma de decisiones que luego sern muy costosas de
cambiar.
En este escenario, es donde las metodologas giles afloran como
una posible respuesta para llenar ese vaco metodolgico; ya que al estar
orientadas a proyectos pequeos, estas metodologas constituyen una
solucin para ese entorno, aportando una elevada simplificacin que a pesar

2

de ello no renuncia a las prcticas esenciales para asegurar la calidad del
producto.
Hay diversos mtodos giles que recogen la idea de las metodologas
giles, como es el caso de: eXtremeProgramming (XP), CrystalMethods y
SCRUM, entre otros.
Las metodologas giles son sin duda uno de los temas recientes en
Ingeniera de Software que estn acaparando gran inters, prueba de ello es
que se estn haciendo un espacio destacado en la mayora de conferencias
y workshops celebrados en los ltimos aos.
Por lo antes mencionado es que naci la idea de desarrollar una
aplicacin web de apoyo a las tablas SCRUM, para la gestin de desarrollo
de sistemas. Esta herramienta ayuda en las diferentes etapas de la
metodologa que toma su nombre y principios de las observaciones sobre
nuevas prcticas de produccin, realizadas por Hirotaka Takeuchi
1
e Ikujijo
Nonaka
2
a mediados de los 80.
Para el desarrollo de esta aplicacin web se utilizaron herramientas de la
Web 2.0 tales como Xajax (Ajax para php) y Microsoft Silverlight, que
facilitaron el hecho de compartir informacin entre los integrantes que
conforman el equipo de trabajo de determinado proyecto, la interoperabilidad

1
MBA y PhD en la Escuela de Negocios Haas de la Universidad de California, en Berkeley.
Actualmente decano de la Escuela Superior de Estrategia Corporativa Internacional en la
Universidad Hitotsubashi en Tokio.

2
Profesor Emrito de la Escuela de Posgrado de la Universidad Hitotsubashi de Estrategia
Corporativa Internacional.

3

necesaria para que los usuarios tengan acceso completo a la informacin
disponible, el diseo centrado en ellos y la colaboracin en la World Wide
Web; todo acompaado por un modelo relacional de base de datos, escrito
en PostgreSQL, que permiti desplegar de manera dinmica las actividades
de los integrantes de proyecto.
El presente documento de seminario de titulacin tambin contiene
los antecedentes recopilados a lo largo del desarrollo de la aplicacin,
adems de nombrarse los sistemas similares existentes en el mercado pero
que por los motivos que se explican en el punto 3.1.2, no cumplen los
requerimientos establecidos.
Cabe sealar que este proyecto de tesis abarca los temas acerca del
desarrollo de la aplicacin, donde se detallan las implementaciones ms
relevantes durante el desarrollo del sistema web. Como anexo se entrega un
pequeo manual para los usuarios de SCRUM4-U.
A continuacin se le presenta al lector una breve descripcin del
contenido que ver en los diferentes captulos de este seminario de tesis.
Captulo 1. Introduccin: En este captulo se introduce al lector acerca
del contenido de fondo de este proyecto de tesis.
Captulo 2. Objetivos: Definiciones de los objetivos generales y
especficos que se alcanzarn en este proyecto de tesis.

4

Captulo 3. Planteamiento del Problema: Detalla los antecedentes y
justifica el desarrollo de este proyecto de tesis.
Captulo 4. Metodologa: En este captulo se seala y describe la
metodologa utilizada para el desarrollo del proyecto.
Captulo 5. Recursos: Captulo en el cual se especifica los recursos,
tanto de hardware como de software utilizados para el desarrollo del sistema
que da origen a este seminario de tesis.
Captulo 6. Planificacin del Sistema: Captulo que puntualiza todo
lo relacionado con la etapa de planificacin y anlisis.
Captulo 7. Control de versiones: Nombra la aplicacin que se utiliz
como repositorio para almacenar el cdigo fuente del proyecto.
Captulo 8. Conclusiones: breve sntesis de lo expuesto. En ella se
recapitula lo ms relevante del tema tratado.


5

2. Objetivos

2.1 Objetivo general
Generar una herramienta de apoyo a la gestin de proyectos para la
metodologa gil SCRUM.

2.2 Objetivos especficos

Para el desarrollo de un sistema web que sea la herramienta de apoyo
antes mencionada ser necesario tener en cuenta lo siguiente:

Ingresar requerimientos y tareas.
Revisar y controlar las tareas asignadas de cada requerimiento
establecido.
Realizar un anlisis estadstico para que el (los) usuario(s) de la
aplicacin pueda(n) conocer si los procesos definidos tienen la capacidad
para cumplir con los requerimientos del cliente.
Generar el nivel de avance o trmino, segn sea el caso, de la tarea o
requerimiento asignado.
Usar grficos 2D donde se reflejen el avance de cada requerimiento y del
proyecto en general, con respecto al total.


6

3. Planteamiento del problema
3.1 Antecedentes
3.1.1 Definicin del problema a resolver

SCRUM es una metodologa de desarrollo de software basada en un
proceso iterativo e incremental utilizado comnmente en entornos basados
en el desarrollo gil de software.
En este proceso se aplican continuamente un conjunto de mejores prcticas
para trabajar en equipo y obtener, de un proyecto, el mejor resultado posible.
Adems se realizan entregas parciales y regulares del producto final,
priorizadas por el beneficio que aportan al cliente.
Dicha metodologa est especialmente indicada para proyectos en
entornos complejos, donde se necesita obtener resultados pronto, los
requisitos son cambiantes o poco definidos y la innovacin, la
competitividad, la flexibilidad y la productividad son fundamentales.
Se comienza con la visin general del producto, especificando y
dando detalle a las funcionalidades o partes que tienen mayor prioridad de
negocio, y que pueden llevarse a cabo en un periodo de tiempo breve
(segn los casos pueden tener duraciones desde una semana hasta no ms
de dos meses).
Cada uno de estos periodos es una iteracin que finaliza con la
entrega de una parte (incremento) operativa del producto que se desea.

7

SCRUM gestiona la evolucin de estas iteraciones que son la base
del desarrollo gil mediante reuniones breves diarias donde todo el equipo
revisa el trabajo realizado el da anterior y el previsto para el da siguiente.
A continuacin, en la figura 1, se muestra un diagrama de la
metodologa que ayuda en el entendimiento de la misma, donde el product
backlog es la lista de requerimientos del usuario, el sprint backlog es la
lista de tareas de cada requerimiento y el sprint se refiere a la seleccin de
un conjunto de tareas de cada requerimiento:








Figura 1.- Diagrama de la metodologa SCRUM
Tambin hay que mencionar que un buen nmero de proyectos
fracasan por no llevar a cabo un seguimiento adecuado y control del mismo

8

ya que no todo depende de un buen plan, pues la misin del lder del
proyecto no termina al haber desarrollado el plan, sino al asegurarse de que
se ejecute ste de la mejor manera posible. Esto sera imposible sin un buen
seguimiento a dicho plan.
Es por todo lo antes mencionado que se pens en el desarrollo de
una aplicacin web que apoye este sistema gil de gestin de proyectos,
que cuente con la flexibilidad que el cliente espera de una herramienta como
sta y que sea de fcil manejo, ya que aunque existen varias herramientas
que estn orientadas a esta metodologa, ninguna concentra a todo aquello
que realmente necesita el usuario que usa SCRUM como metodologa de
trabajo; un ejemplo claro de lo que se quiere lograr es que el usuario pueda
definir las etapas que estime conveniente y que luego se reflejarn en la
tabla grfica de seguimiento.

3.1.2 Identificacin de esfuerzos anteriores

Actualmente, en el mercado existen varias herramientas de gestin de
proyectos, tanto gratuitas como pagadas, que estn orientadas a ayudar a
organizar un proyecto complejo en diferentes tareas y en un tiempo
determinado como es el caso de PivotalTracker (que tiene acceso gratisslo
para fines acadmicos), FireScrum (herramienta Open Source), ScrumNinja
(Licencia comercial y libre), entre muchas otras. A pesar de su existencia no

9

cumplen con las necesidades de la docente Claudia Zil para el mdulo de
desarrollo de sistemas, debido a que, primero que todo, el hecho de que
estn alojadas en servidores pblicos puede permitir la violacin de la
informacin o la destruccin no deseada de la misma, adems de no poder
mantener los datos crticos ocultos a quin no debiera tener acceso a ellos.
Otras desventajas de estas aplicaciones son la carencia de
funcionalidades, como por ejemplo:
PivotalTracker: adems de que le faltan algunos elementos
importantes, como es la posibilidad de invitar a los clientes o agentes
externos a las pilas de productos para que vean el avance del
proyecto y que no se tienen en cuenta otros departamentos, como el
de desarrollo; est especficamente orientado a trabajar con la
metodologa gil de programacin extrema, (XP -
XtremeProgramming).

ScrumNinja: slo es libre para un usuario, si se quiere gestionar
equipos se necesita tener una licencia de pago.

En el caso de FireScrum, tanto en el sitio oficial de la aplicacin como
en el buscador Google, no se encuentran instrucciones para su
instalacin y posterior uso, lo que implica un freno para el usuario
vido de una herramienta que le facilite el manejo de las tablas
SCRUM.

10

La flexibilidad que se desea con la herramienta a desarrollar no est
presente en las existentes, en cuanto a la definicin de las tareas especficas
en el ciclo de desarrollo. Por ejemplo, no se puede especificar que en el
desarrollo o iteracin se va a trabajar con actividades como anlisis,
codificacin y pruebas, sino que viene una actividad por iteracin por
defecto.

3.1.3 Solucin propuesta

Por las razones expuestas en el punto anterior surgi la necesidad de
crear una herramienta de apoyo, interactiva, para las tablas SCRUM, como
se muestra en la figura 2. La idea es mostrar de una manera interactiva y
resumida el camino de los requerimientos y sus tareas por las diferentes
etapas de la metodologa.
Figura 2.- Imagen de referencia de las tablas de la metodologa SCRUM.

11


En esta aplicacin el usuario podr ingresar la cantidad de
requerimientos y tareas que estime conveniente, ya que estar soportada
por una base de datos relacional. Tambin podr pertenecer a distintos
proyectos y ocupar diferentes roles en cada uno de ellos. Adems, de una
manera entretenida y fcil se le brindar la posibilidad de que arrastren l os
requerimientos y las tareas ya sea para ordenarlas (segn prioridad) como
para establecer las tareas por las que se comenzar a trabajar.
Otras caractersticas que poseer la aplicacin a desarrollar es que se
podrn definir mltiples proyectos; se establecern desarrolladores y su
nivel de permisos, siendo stos capaces de generar estadsticas, verificar y
controlar tareas asignadas as como realizar modificaciones en sus estados
de avance. Tambin se permitir definir el product backlog, las iteraciones
(sprint) y las actividades que conllevar el desarrollo de esta iteracin,
siendo posible agregar a la iteracin su sprint backlog y sus caractersticas.
Por otro lado, el usuario podr generar tarjetas de iteracin para su
impresin y seguimiento manual, y se mantendr durante el periodo de
desarrollo de la iteracin, los cambios que se van teniendo y se contar con
la generacin de grficos de avance (velocidad) de las tareas asignadas.
Tambin se respaldarn los diversos tipos de reuniones que se
pueden implementar en la metodologa brindando la opcin de obtener la

12

documentacin en formato de informe de lo sucedido en cada iteracin o en
el proyecto completo.
En la figura 3 se muestra la arquitectura web que tendr la aplicacin.
La base de datos, el servidor web Apache y la herramienta de desarrollo
estarn en un mismo equipo mientras que el usuario se conectar a travs
de la Web desde otro computador sea cual sea su plataforma, ya que sta
es una de las ventajas de la aplicacin a desarrollar: es multiplataforma.

Figura 3.- Diseo de la Solucin


13

3.2 Justificacin
3.2.1 Situacin sin proyecto

Como se ha mencionado con anterioridad, la docente Sra. Claudia Zil
Bontes ha solicitado la creacin de la aplicacin para el apoyo a las tablas
SCRUM debido a que la situacin sin el proyecto es deficiente. Hoy en da la
acadmica no cuenta con la aplicacin adecuada orientada a la metodologa
SCRUM, para llevar a cabo la creacin de requisitos y tareas, la asignacin
de responsabilidades y el posterior seguimiento y control del proyecto.
Adems en el mercado no hay herramientas que sean lo suficientemente
flexibles en la definicin de los parmetros necesarios para una metodologa
gil como SCRUM.

3.2.2 Situacin con proyecto

El usuario de la aplicacin de este proyecto de tesis podr establecer
con claridad los requisitos del cliente, las tareas de los mismos, los
responsables de cada una de ellas as como hacer un seguimiento fidedigno
a cada proceso y controlar los tiempos.

Esta aplicacin le permitir al cliente crear un proyecto nuevo y
agregar una breve descripcin del mismo. Luego, el scrum-manager
(administrador) podr inscribir a los integrantes del mismo e ingresar los

14

requerimientos y tareas recogidas para una posterior asignacin de
responsabilidades a desarrollar.

Tambin podr ingresar cuanto requerimiento y tarea se desee, as
como mover los requerimientos para un mejor orden de prioridades ya que
estar implementada la funcionalidad drag and drop (arrastre y suelte).

3.3 Delimitacin

La aplicacin slo tendr los datos necesarios para efectuar las
pruebas correspondientes.

El sistema ser probado por dos personas: la docente Claudia Zil
Bontes y por la alumna tesista Dainerys Cala Brtolo.

Para la fase de pruebas, el sistema estar alojado en la mquina
donde se desarrollar, pudiendo acceder de forma local a la base de
datos.

No est contemplado en este proyecto de titulacin la instalacin de
la base de datos en un servidor fuera del de desarrollo. Pero se
dejar una pauta de instalacin y las fuentes (cdigo de la aplicacin
y script de la base de datos) para su adecuada implementacin.


15

Aunque se podr graficar el estado de avance, tanto del proyecto en
general, como de cada requerimiento en forma particular, se
trabajar con estimaciones ya que para contar con una gran
cantidad de datos estadsticos sera necesario un periodo mnimo de
3 meses de trabajo peridico con un determinado equipo de
desarrollo de software, lo que por motivos de tiempo se hace
imposible.


16

4. Metodologa

SCRUM ser la metodologa a usar en este proyecto de seminario de
titulacin. Se eligi esta metodologa debido a que es simple, pero que a la
vez requiere ser constante. No se basa en el seguimiento estricto de un plan,
sino en la adaptacin continua de las circunstancias de la evolucin del
proyecto que al construir el producto de forma incremental a travs de
iteraciones breves (llamadas sprint en SCRUM), permite tener resultados en
corto tiempo e ir revisando estos sprints hasta que el cliente d por
terminado el producto.
Los elementos que componen esta metodologa y que sern
implementadas durante el desarrollo de proyecto son:
Las reuniones:






Figura 4. Reuniones del equipo desarrollador

17

En la figura 4 se muestra el seguimiento del sprint mediante una breve
revisin diaria donde cada miembro describe:
1. El trabajo que realiz el da anterior.
2. El que tiene previsto realizar.
3. Cosas que puede necesitar o impedimentos que deben suprimirse
para realizar el trabajo.

Cada persona actualiza en la pila del sprint el tiempo pendiente de
sus tareas, y con esta informacin se actualiza tambin el grfico con el que
el equipo monitorea el avance del sprint (burn-down).

Las etapas:






Figura 5. Etapas de la metodologa SCRUM.

18

Como se ilustra en la figura 5, las etapas de esta metodologa son:
1. Pila del producto: (productbacklog) lista de requisitos de usuario
que a partir de la visin inicial del producto crece y evoluciona
durante el desarrollo.
2. Pila del sprint: (sprint backlog) lista de los trabajos que debe
realizar el equipo durante el sprint para generar el incremento
previsto.
3. Incremento: Resultado de cada sprint.

Los roles:
Todas las personas que intervienen, o tienen relacin directa o
indirecta con el proyecto, se clasifican en dos grupos: comprometidos e
implicados.
El origen de estos nombres es esta metfora que ilustra de forma
grfica (figura 6), la diferencia entre compromiso e implicacin con el
proyecto.
Una gallina y un cerdo paseaban por la carretera. La gallina pregunt
al cerdo: Quieres abrir un restaurante conmigo?. El cerdo consider la
propuesta y respondi: S, me gustara. Y cmo lo llamaramos?. La
gallina respondi: Jamn con huevos. El cerdo se detuvo, hizo una pausa y
contest: Pensndolo mejor, creo que no voy a abrir un restaurante contigo.

19

Yo estara realmente comprometido, mientras que t estaras slo
implicada.







Figura 6. Todos los entes que tienen relacin directa o indirecta con el
proyecto
El desarrollo del proyecto de tesis se dividir en tres etapas. La
primera tiene que ver con todo el tema de modelamiento de diagramas y
caso de uso, el diseo de la interfaz y la toma de requerimientos; la segunda
etapa abarcar la implementacin de los requerimientos y la tercera, la
redaccin de la documentacin.
Cada etapa se desarrollar utilizando la metodologa mencionada con
no ms de dos iteraciones por etapa.


20

5. Recursos

5.1 Hardware

Para el desarrollo del sistema, se utiliz un notebook marca Dell,
modelo Inspiron14R N4010, con las siguientes caractersticas:

Tabla 1.- Descripcin del Hardware de desarrollo de la aplicacin.
Items Descripcin
Procesador Intel(R) Core(TM) i3 M350 2-27.0GHz
Sistema Operativo
Ubuntu 10.10 Maverick Kernel Linux 2.6.35-22
generic GNOME 2.32.0
Memoria RAM 3 GB
Disco Duro 250 GB SATA 7200 rpm

Como el sistema a desarrollar es una aplicacin web lo nico que
necesita el (los) usuario(s) final es un computador que cuente con conexin
a Internet y un navegador instalado en l.


21

5.2 Software

En la siguiente tabla se ilustrarn los softwares utilizados,
entendiendo como software al conjunto de los componentes lgicos
necesarios que hacen posible la realizacin de tareas especficas.

Tabla 2.- Descripcin de los programas y las libreras utilizadas
para el desarrollo de la aplicacin.
Herramienta Uso
PostgreSQL 8.4
Sistema de gestin de base de datos
relacional orientada a objetos.
Linux (Ubuntu 10.10 Maverick
Kernel Linux 2.6.35-22
generic GNOME 2.32.0)
Sistema operativo para la base datos y
la programacin de la aplicacin.
Apache 2.0
Servidor web HTTP de cdigo abierto
para plataformas Unix (BSD,
GNU/Linux, etc.), Microsoft Windows y
Macintosh.

22

PHP5
(HypertextPreprocessor)
Lenguaje de programacin interpretado,
diseado originalmente para la creacin
de pginas web dinmicas.

Mejor soporte para la Programacin
Orientada a Objetos.
Xajax
(Asynchronous JavaScript
And XML), Microsoft
Silverlight u otra aplicacin
de la Web 2.0
Se utilizarn estos componentes para la
insercin de funciones multimedia,
entre ellas, animaciones e interactividad
necesarias para la aplicacin.
Microsoft Silverlight
Estructura para aplicaciones web que
agrega nuevas funciones multimedia
como por ejemplo: grficos vectoriales.



23

6. Desarrollo de la aplicacin SCRUM4-U

6.1 Inicio

Los requerimientos del proyecto fueron tomados de manera
incremental. No obstante a continuacin se detallarn el total de los puntos
tratados.

6.1.1 Requerimientos Generales

Debe existir un espacio donde el usuario Administrador (scrum
manager), pueda ingresar, buscar, editar y eliminar la informacin tanto de
los proyectos creados como del contenido interno de cada uno de ellos y de
su equipo de trabajo.

6.1.2 Requerimientos Especficos

La aplicacin desarrollada posee varios niveles de permiso para sus
desarrolladores, siendo los roles establecidos los detallados a continuacin:


24

Administrador (scrum manager):
Tiene la habilidad de crear, editar y borrar proyectos.
Registrar el equipo de desarrollo.
Editar y borrar los requerimientos y sus tareas.
Establecer los sprints.
Asignar la velocidad del proyecto y de las tareas.
Ver los grficos de avances.
Descargar los reportes de los proyectos creados en formato
Excel.
Redactar las reuniones y descargar las mismas en formato
PDF.

Usuario:
En este contexto, se considera usuario a los usuarios
desarrolladores que pertenecen a algn equipo de desarrollo.
Slo puede ver los proyectos donde l es usuario (o
Administrador).
En el caso de ser usuario de un proyecto x, slo puede
modificar su(s) tarea(s) asignada(s).
Ver los grficos de avances.
Descargar los reportes de los proyectos creados en formato
Excel.

25

Redactar las reuniones y descargar las mismas en formato
PDF.
Invitado:
Es aquella persona que slo podr informarse a travs del sistema,
est en el estado de slo lectura y fue pensado para el cliente dueo del
proyecto donde su objetivo es slo ver el avance de su proyecto.
Tendr los privilegios suficientes para:
Ver los grficos de avances.
Descargar los reportes de los proyectos creados en formato
Excel.
Redactar las reuniones y descargar las mismas en formato
PDF.

A continuacin, se presenta el diagrama de actividades de la
aplicacin (figura 7), para un mejor entendimiento del sistema desarrollado.
Como es de esperar, se puede observar que los usuarios
(desarrolladores) y los invitados pueden hacer slo algunas de las
actividades que realiza el Administrador.



26




Figura 7.- Diagrama de Actividades del Administrador de la Aplicacin


27

6.2 Diseo

6.2.1 Arquitectura del Sistema

El sistema presenta una arquitectura web, como se mencion en el
punto 3.2, donde la base de datos, el servidor web Apache y la herramienta
de desarrollo estarn en un mismo equipo mientras que el usuario se
conectar a travs de la Web desde otro computador sea cual sea su
plataforma, ya que sta es una de las ventajas de la aplicacin a desarrollar:
es multiplataforma.

Figura 8.- Arquitectura de la Solucin


28

6.2.2 Casos de Uso

A continuacin, se muestran los casos de uso donde se ven
representados los tres roles que contempla la aplicacin: Administrador,
Usuario e Invitado.
Como se ve en la figura 9, dependiendo del usuario que ingrese al
sistema, as sern las opciones que tendr ste para interactuar con l.

Figura 9.- Caso de Uso

29

Tabla 3.- Descripcin del Caso de Uso: Crear etapa del proyecto.

Nombre: Crear etapas del proyecto.
Actores: Administrador.
Tipo: Include, ya que para acceder a la aplicacin es
necesario iniciar sesin (login)
Propsito: Crear las etapas del proyecto es uno de los
requerimientos ms importantes para el usuario ya
que le brinda la flexibilidad que se estaba buscando.
Resumen: El objetivo de crear/editar/borrar las etapas del
proyecto es brindarle la oportunidad al usuario de
aadir todas las etapas que estime conveniente.
Precondiciones: El usuario Administrador debe haber ingresado
previamente al sistema.
Flujo Principal: 1.- el usuario Administrador tiene que crear primero un
proyecto, estableciendo la cantidad de etapas que se
desea, mediante el botn Add Project.
2.- Luego al acceder al proyecto se podrn nombrar
las etapas, haciendo doble click encima del nombre
puesto por defecto.
Subflujos: El usuario Administrador puede cambiar el o los
nombres de las etapas establecidas cuantas veces
quiera y en los proyectos que desee, uno por uno.

30

Excepciones: Si aadi ms etapas de las necesarias no se podr
borrar el excedente. Tenga precaucin.


6.2.3 Diagrama de Clases

Un diagrama de clases describe la estructura de un sistema
mostrando sus clases, atributos y las relaciones entre ellos. Son utilizados
durante el proceso de anlisis y diseo de los sistemas, donde se crea el
diseo conceptual de la informacin que se manejar en el sistema.
A continuacin, se muestra la composicin de un diagrama de clases:
<Nombre Clase>
<Atributos>
<Operaciones o Mtodos>

Superior: Contiene el nombre de la Clase
Intermedio: Contiene los atributos (o variables de instancia) que
caracterizan a la Clase (pueden ser private, protected o public).
Inferior: Contiene los mtodos u operaciones, los cuales son la forma
como interacta el objeto con su entorno (dependiendo de la
visibilidad: private, protected o public).

31

La representacin de la relacin que existe entre las capas y la
interfaz, correspondientes a este proyecto, es la siguiente. Ms adelante se
mostrarn en detalle el contenido de cada capa.








Figura 10.- Bosquejo del Diagrama de Clases y la relacin existente.

La capa Reglas de Negocio, (figura 11, 12 y 13), soporta toda la lgica
de negocio y contiene todas aquellas funciones que hacen algn tipo de
tratamiento de los datos. Sus clases utilizan las funciones de la capa de
Acceso a Datos.
En la capa de Acceso a Datos, (figura 14), se realiza la conexin entre
la aplicacin y el almacn de datos para poder manipularlos como y cuando
sea necesario.
La capa interfaz, (figura 15), est orientada a soportar la interactividad
de los usuarios con las funcionalidades brindadas por la capa Reglas de
Capa
Reglas de
Negocio
(Business
Rulers)
Capa
Acceso a Datos
(Data Access)
Interfaz

32

Negocio. En esta capa se encuentran los controles visuales, formularios,
etc., que permiten al usuario realizar acciones sobre el Sitio Web.
Figura 11.- Diagrama de Clases y la relacin existente entre sus clases.
Parte I.

33


Figura 12.- Diagrama de Clases y la relacin existente entre sus clases.
Parte II.

34


Figura 13.- Diagrama de Clases y la relacin existente entre sus clases.
Parte III.

Cada clase catalogo tiene su propia clase base en la cual estn
implementadas las funciones set y get, (mecanismo flexible para escribir y
leer datos sobre un atributo privado de una clase [Microsoft2011]).
Por ejemplo, la clase catalogProject, est relacionada con la clase
base Project quien contiene (a modo de ejemplo), lo siguiente:
function Description($description='')
{
if(strlen($description) != 0)
$this->description = $description;
else
return $this->description;

35

}

function ProjectName($project_Name='')
{
if(strlen($project_Name) != 0)
$this->projectName = $project_Name;
else
return $this->projectName;
}


La clase catalogTaskReq usa (figura 12):
catalogTaskStatus, catalogRequirements y catalogUser los utiliza
para hacer validaciones como por ejemplo, validar que el estado de la
tarea (creado, iniciado, etc.) exista en la base de datos.
catalogSprint, es invocado cuando el Administrador borra una tarea,
ya que tambin se elimina de la tabla Sprint en la base de datos

La clase catalogRequirements, (figura 12), hace uso de:
catalogTaskReq y catalogSprint, ya que cuando se borra un
requerimiento se deben quitar igualmente las tareas del mismo.
catalogProject, se utiliza cuando se agrega un nuevo requerimiento al
proyecto, ya que este catlogo tiene la funcin para realizar dicha
tarea.




36

La clase catalogSprint, (figura 13), accede a:
La clase requirements, para graficar los sprints de los requerimientos
del proyecto.
La clase catalogXML, (figura 13) usa los catlogos:
catalogTaskReq para poner los datos de las tareas en el xml y crear
as el xml que necesita Microsoft Silverligth para graficar.
catalogRequirements para insertar los datos de los requerimientos en
el grfico que ilustra el avance de los requerimientos del proyecto.
catalogProject es utilizado para agregar los datos del proyecto,
(nombre del proyecto), en el grfico de requerimientos.
Mientras que la figura 14 deja claro cules son las clases contenidas
en la capa Acceso a Datos (Data Access); la figura 15 representa la capa de
Interfaz, quien accede a varios de los catlogos, a travs de los cuales, crea
las reuniones, crea al equipo de desarrollo y a sus integrantes, entre otros.






37









Figura 14.- Capa de Acceso a Datos.








Figura 15.- Representacin de los archivos que componen la interfaz.


38

Dos de las clases mostradas anteriormente, catalogProject figura 11 y
catalogSprint figura 13, se encuentran descritas a continuacin:
Clase 1
Nombre: catalogProject
Atributos: No tiene.
Operaciones: projectList: Devuelve la lista los proyectos existentes.
projectNameList: Lista los nombres de los proyectos
existentes.
statusProject: Devuelve el estado del proyecto (started o
finished).
projectNameListOwner: Lista los nombres y nmeros de
los proyectos en que el usuario autentificado es dueo.
projectNameListUser: Lista los nombres y nmeros de los
proyectos en que el usuario autentificado participa.
insertProject: Agrega un proyecto nuevo a la base de
datos.
searchProject: Busca un proyecto a travs del nmero
del proyecto.
deleteProjectByNumber: Borra el proyecto deseado.
detailProjectByNumber: Devuelve el detalle del proyecto
segn el nmero del proyecto.
maxNumberProject: Devuelve el nmero del ltimo

39

proyecto creado.
updateProject: Actualiza el nombre, la descripcin y la
fecha de inicio del proyecto.
updateDateEndProject: Asigna la fecha de trmino del
proyecto y lo pone en estado: finished.
searchOwnerProject: Devuelve el nombre del dueo del
proyecto.

Clase 2
Nombre: Project
Atributos: description
projectName
dateBegin
dateEnd
dateEstimatedEnd
teamNumber
numProject
owner
velocity
pointScale
statusProject
Operaciones: description: provee un mecanismo flexible para escribir y

40

leer datos sobre un atributo privado de una clase
[Microsoft2011]. En este caso la descripcin del proyecto.
projectName: provee un mecanismo flexible para escribir
y leer datos sobre un atributo privado de una clase
[Microsoft2011]. En este caso el nombre del proyecto.
dateBegin: provee un mecanismo flexible para escribir y
leer datos sobre un atributo privado de una clase
[Microsoft2011]. En este caso la fecha de inicio del
proyecto.
dateEnd: provee un mecanismo flexible para escribir y
leer datos sobre un atributo privado de una clase
[Microsoft2011]. En este caso la fecha de fin del proyecto.
dateEstimatedEnd: provee un mecanismo flexible para
escribir y leer datos sobre un atributo privado de una clase
[Microsoft2011]. En este caso la fecha estimada de fin del
proyecto.
teamNumber: provee un mecanismo flexible para escribir
y leer datos sobre un atributo privado de una clase
[Microsoft2011]. En este caso el nmero del equipo del
proyecto.
numProject: provee un mecanismo flexible para escribir y
leer datos sobre un atributo privado de una clase
[Microsoft2011]. En este caso el nmero del proyecto.

41

owner: provee un mecanismo flexible para escribir y leer
datos sobre un atributo privado de una clase. En este
caso el dueo del proyecto.
velocity: provee un mecanismo flexible para escribir y leer
datos sobre un atributo privado de una clase
[Microsoft2011]. En este caso la velocidad establecida
para el proyecto.
pointScale: provee un mecanismo flexible para escribir y
leer datos sobre un atributo privado de una clase
[Microsoft2011]. En este caso la escala de puntos
seleccionada para el proyecto.
statusProject: provee un mecanismo flexible para escribir
y leer datos sobre un atributo privado de una clase
[Microsoft2011]. En este caso el estado del proyecto
(started o finished).

6.2.4 Diseo de Base de Datos

6.2.4.1 Modelo Conceptual de la Base de Datos

Un modelo conceptual es un lenguaje que se utiliza para describir
esquemas conceptuales. El objetivo de esto es describir el contenido de
informacin de la base de datos.

42



Figura 16.- Modelo Conceptual de la Base de Datos.

6.2.4.2 Modelo Fsico de la Base de Datos

EL diseo fsico de una base de datos, parte del esquema lgico y da
como resultado el esquema fsico de la base de datos. Este esquema
depende del esquema del tipo SGBD (sistemas de gestin de bases de
datos) que son un tipo de software muy especfico, dedicado a servir de
interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan;
para este proyecto de tesis se utiliz PostgreSQL 8.4.

43

Segn Connolly, [Connolly1996], el diseo fsico se divide en cuatro
fases, cada una de ellas compuestas por una serie de pasos:
1. Traducir el esquema lgico global para el SGBD.
o Disear las relaciones base para el SGBD.
o Disear las reglas de negocio para el SGBD.
2. Disear la representacin fsica.
o Analizar las transacciones.
o Escoger las organizaciones de ficheros.
o Escoger los ndices secundarios.
o Considerar la introduccin de redundancias controladas.
o Estimar la necesidad de espacio en disco.
3. Disear los mecanismos de seguridad
o Disear las vistas de los usuarios.
o Disear las reglas de acceso.
4. Monitorizar y afinar el sistema.
Cabe mencionar que el esquema de la base de datos no permaneci
esttico hasta el ltimo mes de desarrollo, ya que antes estaba sujeto a
modificaciones, como por ejemplo, la creacin de otras tablas que no
estaban consideradas en un principio y el cambio de algunas relaciones,
segn los requerimientos de usuario.
La siguiente imagen, figura 17, muestra el modelo fsico general de la
base de datos, donde se encuentran representadas todas las tablas.

44


Figura 17.- Modelo fsico general de la base de datos

Las siguientes tablas presentan las caractersticas de tablas Project,
Requirements y User.

45

Tabla 4.- Caractersticas de la tabla Project.

Atributo Tipo Clave PK Clave FK Valores
Null
numberProject int4 x
numberTeam int4 x x
owner text x x
nameProject text x
description text x
beginDate date x
endDate date x
velocity Int4 x
pointScale char(12) x
estimateEndDay date x
statusProject text x

Tabla 5.- Caractersticas de la tabla Requirements.
Atributo Tipo Clave PK Clave FK Valores
Null
numberRequirement int4 x
numberProject int4 x x
nameRequirement text x
priority int4 x

Tabla 6.- Caractersticas de la tabla User.
Atributo Tipo Clave PK Clave FK Valores
Null
name text x
nick text x
password text x
email text x
typeUser text x



46

6.2.5 Diseo de la Interfaz

Para el diseo de la interfaz se utiliz la tecnologa de hojas de estilos
en cascada que estn agrupadas en una carpeta que se llama css.
CSS es un lenguaje usado para definir la presentacin de un
documento estructurado escrito en HTML o XML (y por extensin en
XHTML), esta permite que todos los elementos se presenten de una manera
idntica en cuanto a formato y colores.

Figura 18. Seccin donde se ingresar proyectos y se visualizan los ya
creados.




47

Esta vista contiene en la parte superior, el encabezado que se
visualiza en todas las pantallas de la aplicacin. A su izquierda se ver una
breve descripcin de la aplicacin y de la seccin.
A su derecha podr ver 7 diferentes tips (consejos) para mejorar el
trabajo diario con SCRUM, que irn apareciendo de forma aleatoria cada 20
segundos.
En el centro de a imagen, en la seccin My Projects se mostrarn
los proyectos existentes. En caso de haber ms de 4, se mostrarn los 4
ltimos proyectos creados y travs del botn More Projects se podr ver el
resto. Mediante el botn Add Project se podrn agregar nuevos proyectos a
la aplicacin.
La siguiente imagen ilustra algunas de las partes implementadas en el
sistema.


48





Figura 19. Pestaa Detail Project

Para el desarrollo de la interfaz se utilizaron componentes como
jQuery, simplemodal y vCalendar.
jQuery es una biblioteca o framework de JavaScript, que permite
simplificar la manera de interactuar con los documentos HTML, manejar
eventos, desarrollar animaciones y agregar interaccin con la tcnica Ajax a
pginas web. Los archivos Ajax se encuentran agrupados en la carpeta
llamada: js. Para hacer uso de este framework se deber escribir la
sentencia: <scripttype="text/javascript"src="js/jquery/jquery-ui.js">
Pestaas
Seccin detalle de proyecto
Requerimientos
Tarea creada
Etapas del proyecto

Cajas en donde se depositan las tareas
creadas segn van avanzando en las
diferentes etapas del proyecto.
Seccin de tareas

49

Ajax acrnimo de Asynchronous JavaScript And XML (JavaScript
asncrono y XML), es una tcnica de desarrollo web para crear aplicaciones
interactivas o RIA (Rich Internet Applications). Estas aplicaciones se
ejecutan directamente en el cliente, es decir, en el navegador de los usuarios
mientras se mantiene la comunicacin asncrona con el servidor en segundo
plano. De esta forma es posible realizar cambios sobre las pginas sin
necesidad de recargarlas, lo que significa aumentar la interactividad,
velocidad y usabilidad en las aplicaciones.
Simplemodal es un plugin de jQuery que proporciona una interfaz fcil
para crear cuadros de dilogos. Esto se utiliz para:


50

a) recuperar contrasea y para registrarse (login.php). Figuras 20 y 21.


Figura 20.- Formulario de registro.


Figura 21.- Formulario de recuperacin de contrasea.


51

b) crear un proyecto nuevo (projects.php). Figura 22.









Figura 22.- Formulario para crear nuevos proyectos.

c) crear tareas con el botn AddTask (index.php). Figura 23.







Figura 23.- Formulario para aadir tareas.

52

Por su parte, VCalendar (CalendarioVirtual) es un calendario web de
cdigo abierto utilizado para establecer las fechas de inicio y de estimacin
de finalizacin del proyecto. Las imgenes de las figuras 24 y 25 muestran el
vCalendar utilizado.

Figura 24.- Extracto de la aplicacin donde se ve el uso de VCalendar.

Figura 25.- Zoom de la figura 24 para una mejor visin.

Por otro lado, el uso de Microsoft Silverlight que es una estructura
para aplicaciones web que agrega nuevas funciones multimedia, fue
ventajoso a la hora de representar grficos.

53

La siguiente imagen (figura 26), muestra un ejemplo del uso de esta
tecnologa.



Figura 26.- Grfico donde se ven representadas las tareas del sprint 1.

Las tareas, que estn representadas en el grfico de la figura anterior,
se encuentran nombradas al pie del mismo. Para este ejemplo las tareas
mostradas son: crear role, editar role y listar roles; las cuales estn
contenidas en el sprint 1, dato que se puede ver en el encabezado del
grfico.
Al pie del grfico tambin se puede encontrar la leyenda, (presente en
todo grfico), que describe lo que sigue:
Tareas del sprint 1
Leyenda del grfico
Ttulo del
grfico

54

La barra de color azul representa los das estimados para el
desarrollo de la tarea x.
La barra de color naranjo representa los das reales que han
transcurridos desde que se inici la tarea hasta que se termin.
La lnea roja horizontal ilustra el promedio de los das estimados para
el desarrollo de las tareas.
La lnea verde horizontal muestra el promedio de los das reales
invertidos en el desarrollo de las tareas.

6.3 Construccin

Para la implementacin del sistema se utiliz NetBeans IDE 6.7.1
como herramienta base de desarrollo, en conjunto con Microsoft Silverlight
para graficar los avances de cada proyecto y PostgreSQL, como ya se ha
mencionado con anterioridad, como motor de base de datos.
Para crear este tipo de sistema es necesario invocar los scripts que se
mencionaron en el punto 6.2.5 e instalar Microsoft Silverlight en el navegador
frecuente que se utilice, slo para visualizar los componentes de multimedia
que contiene la aplicacin (grficos).
A continuacin, se detallarn las implementaciones ms relevantes
dentro del desarrollo de la interfaz de la aplicacin.

55

6.3.1 Ajax

a) Uso de pestaas en Ajax.

Figura 27.- Interfaz que muestra en el lado izquierdo superior las
pestaas de la aplicacin.

Figura 28.- Zoom de la figura 27 para una mejor visin de las pestaas.
Primero que todo para poder usar Ajax no es necesario instalar
libreras, basta con hacer referencia a los scripts que menciono en cada uno
de los siguientes bloques de cdigo.
Ahora, para hacer uso de las pestaas (tabs) en Ajax es necesario
ocupar el script spryTabbedPanels.js y la hoja de estilos llamada
spryTabbedPanels.css. Este script permite moverse por las diferentes
pestaas de la aplicacin sin refrescar la pantalla.

56

<script type="text/javascript"src="js/spryTabbedPanels.js">
</script>

<link
rel="stylesheet"type="text/css"href="css/spryTabbedPanels.css"
/>

Luego, se le asignan los nombres a las pestaas como se muestra:


<ul class="TabbedPanelsTabGroup">
<li class="TabbedPanelsTab"
onclick="reloadPage()">Detail Project</li>
<li class="TabbedPanelsTab">Settings</li>
<li class="TabbedPanelsTab">Graphics</li>
<li class="TabbedPanelsTab">Reports</li>
</ul>

b) Establecer prioridades de los requerimientos segn lo desee el
usuario. Para ello basta con que el Administrador con el mouse haga
un click mantenido y arrastre hacia arriba o hacia abajo, segn sea la
importancia del requerimiento.

Figura 29.- Interfaz que muestra en el lado izquierdo inferior la seccin
de agregar/editar/eliminar los requerimientos de la aplicacin.

57






58

c) Drag and Drop de las tareas.

Figura 30.- Interfaz que muestra en la ubicacin centro-derecha la
seccin donde se arrastran las tareas hasta la etapa deseada.

En el siguiente extracto de cdigo se muestra cmo crear los objetos
drag and drop. Para que un objeto cumpla con esta propiedad se deben
usar los script que se mencionan a continuacin.

59


60


61


Una vez creados los objetos el uso de ellos se realiza de la siguiente
manera:


62




63



64




65

6.3.2 Microsoft Silverlight

Como se dijo en el punto anterior, para cumplir con los requerimientos
solicitados por la docente Claudia Zil Bontes, se grafic utilizando Microsoft
Silverlight.
Para ello, Silverlight utiliza un archivo xml que contiene los datos a
graficar, por lo tanto, se tuvieron que traspasar los datos deseados mediante
php al archivo xml.
En el archivo statistics.php se puede ver que hay 2 botones, uno para
graficar los sprints y el otro para graficar los requerimientos.


Figura 31. Botones Sprint y Requirements, posicionados en la pestaa
Graphics.
El cdigo a continuacin que perteneciente al archivo statistics.php,
muestra las funciones necesarias para graficar:



66

Dependiendo de cul botn se presione, se grafica uno u otro, y cada
cual llama a la funcin que corresponde. Ambas funciones, trabajan de la
misma manera. Por ejemplo: al presionar el botn "btngraphsprints" se llama
a la funcin "graphicSprints" que est en "catalogGraphics" dentro de la
carpeta BusinessRules.

En catalogGraphics.php, la funcin graphicSprints recibe el nmero
del proyecto como parmetro y con este dato busca todos los sprints del
proyecto y grafica las tareas asociadas a cada sprint. Cada grfico se dibuja
en un iframe, en el cual muestra el contenido del archivo graphics.php. Si por
ejemplo hay 4 sprints con 2 tareas cada uno, se mostrarn 4 iframes
distintos, cada uno con sus 2 tareas graficadas.
Cabe mencionar que dentro del archivo catalogGraphics.php se le
pasan como parmetros, al archivo graphics.php, el nmero de proyecto, el
nmero del sprint que se quiere graficar y el tipo de grfico. Este ltimo
parmetro contiene si el grfico es de tipo sprint o requirements.

A continuacin se muestra el cdigo de graphicSprints para una mejor
visin de lo explicado anteriormente.

67


Por su parte, el archivo graphics.php usa los siguientes scripts para
graficar:


Tambin hay una estructura de control switch, que es quien recibe,
desde catalogGraphics, el parmetro "functionGraph", donde se discrimina

68

lo que se va a graficar (sprint o requerimiento), como se muestra a
continuacin:



La funcin writeXmlSprint que se encuentra en el archivo
catalogXml.php es la que genera el xml que necesita Silverlight para graficar.

6.3.3 Procedimiento almacenado

Los procedimientos almacenados usualmente recogen y personalizan
operaciones comunes, como insertar un registro dentro de una tabla,
recopilar informacin estadstica, o encapsular clculos complejos.
En esta oportunidad se hizo uso de estos procedimientos cuando se
insertan los nombres de las etapas del proyecto, en la seccin de tareas,
(figura 32), utilizando las sentencias commit y rollback. Dichas sentencias
permiten asegurar que todos los cambios efectuados sobre la base de datos

69

se guardarn permanentemente o se descartarn de forma definitiva,
respectivamente.

Figura 32.- Interfaz de la aplicacin.

A continuacin el script del procedimiento almacenado mencionado
anteriormente.


70



6.3.4 Scripts del modelo fsico de la Base de Datos

A continuacin se muestran algunos de los diferentes trozos de script
que conforman el modelo fsico de la base de datos, en ellos se puede ver
como se crea la tabla Project, la tabla Requirements y la tabla User, con sus
atributos y claves.


71

Script 1.- Tabla Project de la Base de Datos
/*==============================================================*/
/* Table: PROJECT */
/*==============================================================*/
create table PROJECT (
NUMBERPROJECT_ INT4 not null,
NUMBERTEAM INT4 null,
OWNER TEXT null,
NAMEPROJECT TEXT null,
DESCRIPTION TEXT null,
BEGINDATE DATE null,
ENDDATE DATE null,
VELOCITY INT4 null,
POINTSCALE CHAR(12) null,
ESTIMATEDENDDATE DATE null,
STATUSPROJECT TEXT null,
constraint PK_PROJECT primary key (NUMBERPROJECT_)
);

Script 2.- Tabla Requirements de la Base de Datos
/*==============================================================*/
/* Table: REQUIREMENTS */
/*==============================================================*/
create table REQUIREMENTS (
NUMBERREQUIREMENT INT4 not null,
NUMBERPROJECT_ INT4 null,
NAMEREQUIREMENT TEXT null,
PRIORITY INT4 null,
constraint PK_REQUIREMENTS primary key (NUMBERREQUIREMENT)
);

Script 3.- Tabla User de la Base de Datos
/*==============================================================*/
/* Table: "USER" */
/*==============================================================*/
create table "USER" (
NAME TEXT null,
NICK TEXT not null,
PASSWORD TEXT null,
EMAIL TEXT null,
TYPEUSER TEXT null,
constraint PK_USER primary key (NICK)
);


72

6.4 Pruebas

6.4.1 Pruebas de Caja Blanca

Las pruebas de caja blanca (tambin conocidas como pruebas de caja
de cristal o pruebas estructurales) se centran en los detalles
procedimentales del software, por lo que su diseo est fuertemente ligado
al cdigo fuente.
En esta ocasin se eligi la clase catalogReunion para hacer las
pruebas de caja blanca a travs de 3 de sus funciones. Dichas funciones se
muestran a continuacin (figura 33):




Figura 33.- Diagrama que muestra las funciones de la clase
catalogReunion, con las que se hicieron las pruebas de caja blanca.

La figura 34 muestra el grafo de flujo que representa a cada una de
las tres funciones mencionadas en la figura 33.

73

Cabe destacar que cada nodo del grafo (figura 34), corresponde a una
o ms sentencias de cdigo y cada nodo que contiene una condicin se
denomina nodo predicado.
En la siguiente figura los nodos 1, 3 y 4 son nodos que contienen
sentencias de cdigo mientras que el nodo 2 es un nodo predicado.




Figura 34.- Grafo de flujo de las funciones nombradas en la figura 33.

Del grafo de flujo (figura 34), es evidente que se derivan dos casos de
prueba, es decir, dos caminos posibles para cada una de las tres funciones
ya mencionadas. Dichos caminos independientes por los cuales puede
circular el flujo de control son:
1 2 3 2 4
1 2 4



74

6.4.1.1 Prueba de caminos

El cdigo de las funciones analizadas es:



75



A continuacin, se muestran las tablas de las prueba de camino del
grafo de la figura 34, de las tres funciones de la clase catalogReunion.

Tabla 7.- Caso de prueba de los caminos del grafo de la figura 34
funcin listReunionProject (figura 33).
Caminos flujo
1 2 3 2 4 La funcin recibe el nmero del proyecto
Ejecuta una consulta sql quien devuelve las
reuniones del proyecto.
Si el resultado de esa consulta no es nulo, o sea,
contiene 1 o ms reuniones entra en el ciclo while

76

(nodo 2)
En el ciclo se crea un objeto de tipo reunin
(reunin provee un mecanismo flexible para escribir
y leer datos sobre un atributo privado de una clase.
En este caso los datos de la reunion.)
Luego se toman los datos obtenidos de la consulta
sql, (nmero de reunin, fecha de reunin, ttulo de
reunin y contenido de la reunin), y se asignan a
los atributos del objeto reunion a travs de sus
properties.
El objeto reunion se almacena en un arreglo de
reuniones, y as sucesivamente mientras encuentre
reuniones.
Una vez que ha terminado el ciclo devuelve el
arreglo de reuniones.

1 2 4 La funcin recibe el nmero del proyecto
Ejecuta una consulta sql quien devuelve las
reuniones del proyecto.
Si el resultado de esa consulta es nulo, o sea, no
hay ninguna reunion almacenada, no entra al ciclo
while (nodo 2).
Luego, devuelve el arreglo de reuniones vaco.

77

Tabla 6.- Caso de prueba de los caminos del grafo de la figura 34
funcin listReunionProjectbyDate (figura 33).
Caminos flujo
1 2 3 2 4 La funcin recibe el nmero del proyecto y la fecha.
Ejecuta una consulta sql quien devuelve las
reuniones del proyecto en la fecha dada (que recibe
la funcin).
Si el resultado de esa consulta no es nulo, o sea,
contiene 1 o ms reuniones entra en el ciclo while
(nodo 2)
En el ciclo se crea un objeto de tipo reunin
(reunin provee un mecanismo flexible para escribir
y leer datos sobre un atributo privado de una clase.
En este caso los datos de la reunin.)
Luego se toman los datos obtenidos de la consulta
sql, (nmero de reunin, fecha de reunin, ttulo de
reunin y contenido de la reunin), y se asignan a
los atributos del objeto reunion a travs de sus
properties.
Una vez que terminado el ciclo devuelve el objeto
reunion que contiene el nmero de reunin, fecha
de reunin, ttulo de reunin y contenido de la

78

reunin.
1 2 4 La funcin recibe el nmero del proyecto y la fecha.
Ejecuta una consulta sql quien devuelve las
reuniones del proyecto.
Si el resultado de esa consulta es nulo, o sea, no
hay ninguna reunion almacenada, no entra al ciclo
while (nodo 2).
Luego, devuelve el objeto reunion vaco.

Tabla 8.- Caso de prueba de los caminos del grafo de la figura 34
funcin detailReunion (figura 33).
Caminos flujo
1 2 3 2 4 La funcin recibe el nmero de la reunin.
Ejecuta una consulta sql quien devuelve la reunion
recibida, asociada al nmero recibido por la funcin.
Si el resultado de esa consulta no es nulo, o sea, la
reunion asociada al nmero recibido por la funcin
existe entra al ciclo while (nodo 2).
En el ciclo se crea un objeto de tipo reunin
(reunin provee un mecanismo flexible para escribir
y leer datos sobre un atributo privado de una clase.
En este caso los datos de la reunion.)

79

Luego se toman los datos obtenidos de la consulta
sql, (nmero de reunin, fecha de reunin, ttulo de
reunin y contenido de la reunin), y se asignan a
los atributos del objeto reunion a travs de sus
properties.
Una vez que terminado el ciclo devuelve el objeto
reunion que contiene el nmero de reunin, fecha
de reunin, ttulo de reunin y contenido de la
reunin.
1 2 4 La funcin recibe el nmero de la reunin.
Ejecuta una consulta sql, quien devuelve la reunion
recibida, asociada al nmero recibido por la funcin
Si el resultado de esa consulta es nulo, o sea, la
reunion asociada al nmero recibido por la funcin
no existe, no entra al ciclo while (nodo 2).
Luego, devuelve el objeto reunion vaco.

Los test se realizaron con la herramienta phpUnit [Bergmann2005] el
cual permiti realizar las pruebas pertinentes al cdigo, verificando que el
funcionamiento de las aplicaciones php es el deseado. En el caso de haber
encontrado bugs y/o errores permite que al solucionarlos se mejore la
calidad del desarrollo de la aplicacin.

80

Este software est basado en la familia de frameworks xUnit y
constituye junto con alternativas como SimpleTest o phpt, los principales
frameworks de pruebas unitarias en PHP.
A continuacin se presenta el cdigo de las pruebas realizadas a las
funciones mencionadas en la figura 33.
El Test de la funcin listReunionsProject fue aprobado. A dicha
funcin se le pas el nmero de proyecto 73 (existente en la aplicacin),
pero phpUnit no hace consultas a la base de datos, as que no sabe si ese
proyecto existe o no, el test se aprueba porque lo que devuelve la funcin
listReunionProject es un arreglo (que es lo correcto que devuelva).
public function testListReunionsProject()
{
$stack = $this->object->listReunionsProject(73);
$this->assertEquals($stack, Array());
}


El Test de la funcin listReunionsProjectByDate fue aprobado. Al igual
que en el test anterior, a dicha funcin se le pas el nmero de proyecto 73
(existente en la aplicacin) y adems la fecha '2011-06-25', pero como ya se
dijo anteriormente, phpUnit no hace consultas a la base de datos, as que no
sabe si ese proyecto existe o no en esa fecha, por lo que el test se aprueba
porque lo que devuelve la funcin listReunionProjectByDate es un objeto de
tipo reunin (que es lo esperado).



81

public function testListReunionsProjectByDate()
{
$object= new reunion();
$reunion = $this->object->listReunionsProjectByDate(73, '2011-
06-25');
$this->assertEquals($reunion, $object);
}

Lo mismo sucede con la funcin detailReunion. El test es aprobado
porque lo que devuelve la funcin detailReunion es un objeto de tipo reunin
(que es lo que se espera).

public function testDetailReunion()
{
$object= new reunion();
$reunion = $this->object->detailReunion(5);
$this->assertEquals($reunion, $object);
}

6.4.2 Prueba de Caja Negra

Las pruebas de caja negra en teora de sistemas son un elemento que
es estudiado desde el punto de vista de las entradas que recibe y las salidas
o respuestas que produce cierta funcin de la aplicacin.
Para este proyecto de tesis las pruebas de caja negra se hicieron
sobre la interfaz del sistema web, permitiendo validar tanto el ingreso de
datos vlidos como el ingreso de datos invlidos. Para lo anterior se utiliz el
formulario de creacin de proyectos, en donde se realizaron las siguientes
pruebas:
1. Ingreso de del nombre del proyecto:

82

a. Caso vlido: el campo no puede ser nulo
b. Caso invlido: si el campo es nulo aparece la siguiente
notificacin: Name is required. (figura 35)









Figura 35.- Interfaz de ingreso de proyectos nuevo. Parte I.

2. Ingreso de la velocidad del proyecto:
a. Caso vlido: el valor del campo debe ser un nmero entero
b. Caso invlido I: si el valor ingresado es una letra, aparece la
siguiente notificacin: Velocity must be a number (figura 36).


83


Figura 36.- Interfaz de ingreso de proyectos nuevo. Parte II.

c. Caso invlido II: si el campo se deja nulo, aparece la siguiente
notificacin: Velocity is required (figura 37).


Figura 37.- Interfaz de ingreso de proyectos nuevo. Parte III.

84

3. Ingreso de la descripcin del proyecto:
a. Caso vlido: el campo no puede ser nulo
b. Caso invlido: si el campo es nulo aparece la siguiente
notificacin: Description is required (figura 38).


Figura 38.- Interfaz de ingreso de proyectos nuevo. Parte IV.

En el transcurso de las pruebas de caja blanca y caja negra
realizadas no se encontraron errores, esto verific que lo desarrollado est
correcto y que las funciones testeadas devuelven los valores esperados.




85

7. Control de versiones

Un sistema de control de versiones (o sistema de control de
revisiones) es una combinacin de tecnologas y prcticas para seguir y
controlar los cambios realizados en los ficheros del proyecto, en particular en
el cdigo fuente, en la documentacin y en las pginas web.
Como repositorio para almacenar el cdigo fuente del proyecto se
utiliz el software RapidSVN, figura 39.
RapidSVN es un cliente de Subversion, grfico y multiplataforma que
permite manipular nuestros repositorios de Subversion (software libre bajo
una licencia de tipo Apache/BSD). Es una de las alternativas ms conocidas
para los sistemas GNU/Linux.

Figura 39.- RapidSVN


86

8. Conclusiones

Para la realizacin de este seminario de tesis se utiliz SCRUM como
metodologa de trabajo y se llevaron a cabo reuniones de retrospeccin con
el fin de analizar el trabajo realizado hasta la fecha y el que se tena previsto
realizar, as como lo que se podra necesitar o los impedimentos que deban
suprimirse para un mejor desarrollo del sistema.
Elegir esta metodologa de trabajo fue de gran ventaja para lograr la
satisfaccin del cliente debido a su flexibilidad y a su capacidad de
adaptacin, ya que le permite al usuario redirigir la prioridad de los
requerimientos en funcin de los requisitos completados que le permiten
entender mejor el producto, de la velocidad real de desarrollo, etc.
Adems el desarrollador trabaja de manera ms enfocada y eficiente
cuando hay una fecha lmite a corto plazo para entregar un resultado al que
se ha comprometido.
Por otro lado las iteraciones (Sprints) son regulares y de duracin de
mximo un mes para facilitar la sincronizacin sistemtica con otros
desarrolladores (en caso de haberlo) y con el cliente.
El captulo 6 corresponde a la etapa de desarrollo de sistema web
SCRUM-4U, en tantos los captulos anteriores tienen que ver con la antesala
para su implementacin.

87

En dicho captulo se utilizaron procedimientos almacenados para la
insercin de datos, componentes de Ajax para los formularios de ingreso de
informacin y tecnologa Silverlight para los grficos.

El uso de componentes Ajax result muy atractivo para el usuario ya
que adems de proporcionarle una mejor interfaz, el hecho de que no viera
la recarga de las pginas le llam mucho la atencin. La interaccin con el
componente vCalendar para elegir la fecha de estimacin de finalizacin de
proyecto influy en el buen recibimiento de la aplicacin en el cliente;
mientras que los scripts utilizados para las funciones de drag and drop en el
sistema, dejan atrs las pginas tradicionales cargadas de textos y le facilita
el trabajo al usuario, pudiendo arrastrar las tareas por las distintas etapas
del proyecto de forma dinmica.

Con la implementacin de SCRUM-4U, la herramienta de apoyo para
las tablas de SCRUM, se cumpli los requerimientos planteados por la
docente Sra. Claudia Zil Bontes, acadmica de la Universidad Austral de
Chile, Sede Puerto Montt, ya que le brinda por sobre todo, la flexibilidad que
ella estaba buscando en una aplicacin como sta. Como se pidi, existen
tres roles con sus respectivos privilegios y cada uno de ellos slo puede
interactuar con la aplicacin segn lo establecido.


88

Para finalizar la presentacin de este seminario de tesis, se concluye
que el sistema cumple las expectativas tanto para los usuarios que
desarrollan software como para el cliente que contrata esos servicios.


89

9. Bibliografa


[AjaxShake2010] AjaxShake. Demos.
Disponible en:
http://www.ajaxshake.com/es/JS/search/403/calendario-jquery.html, 2011.

[Artem2008] Artem. 7 Tips for Improving the Daily Scrum.
Disponible en:
http://agilesoftwaredevelopment.com/blog/artem/7-tips-daily-scrum, 8 de
febrero 2008.

[Bergmann2005] Bergmann, Sebastian. PHPUnit Manual.
Disponible en:
http://www.phpunit.de/manual/current/en/writing-tests-for-hpunit.html#writing-
tests-for-phpunit.assertions.assertTrue

[Connolly1996] Connolly T., Begg C. Strachan A. Database
Systemas. A practical approach to Design,
Implementations and management. Addision-
Wesley.



90

[Galvn2008] Galvn Snchez, Santiago. Blog de un profesor
de informtica.
Disponible en:
http://diarioaula.blogspot.com/2009/07/arquitectura-de-4-capas.html, 25 de
julio de 2009.

[InternautDesign2009] InternautDesign. Scrum Software.
Disponible en:
http://scrumninja.com/. 2010.

[JQuery2011] The JQuery project and the jQuery UI TEAM.
Demos & Documentation.
Disponible en:
http://jqueryui.com/demos/, 2011.

[jQueryProject2010] The jQuery Project. jQuery date picker plug-in.
Disponible en:
http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/, 2010.

[Manrique2008] Manrique, Marlon J. NetBeans, PHPUnit y Ubuntu.
Disponible en:
http://www.marlonj.com/blog/2009/01/netbeans-phpunit-y-ubuntu/, 21 de
enero 2011.

91

[Microsoft2011] Microsoft. Properties.
Disponible en:
http://msdn.microsoft.com/en-us/library/x9fsa0sw.aspx, 2011

[Prez2011] Prez Snchez, Jess. Metodologas giles.
Disponible en:
http://www.willydev.net/descargas/prev/metodologiasagiles.pdf, 2011.

[QTX2011] QTX de Mxico, S.A de C.V. Metodologas giles
de Desarrollo de Software.
Disponible en:
http://www.qualitrain.com.mx/Metodologias-Agiles-de-Desarrollo-de-
Software-Primera-Parte.html, 2011.

[scrummanager2010] Scrummanager. SCRUM Apuntes.
Disponible en:
http://www.scrummanager.net/ok. 2009

[scrummanager2010] Scrummanager. Mtricas giles Apuntes.
Disponible en:
http://www.scrummanager.net/ok. 2010


92

[scrum.es2010] Scrum.es.ScrumNinja, herramienta de gestin de
pago.
Disponible en:
http://scrum.es/categoria/herramientas/. 2010

[Webyog2011] Webyog. Silverlight, WPF, ASP.Net Charts &
Gauges Gallery.
Disponible en:
http://www.visifire.com/silverlight_wpf_charts_gauges_gallery.php, 2011

[Wikipedia2010] MediaWiki. Crisis del software.
Disponible en:
http://es.wikipedia.org/wiki/Crisis_del_software. 2010

[Wikipedia2010] MediaWiki. Web 2.0.
Disponible en:
http://es.wikipedia.org/wiki/Web_2.0. 2010


93

[Wikipedia2010] MediaWiki. HirotakaTakeuchi.
Disponible en:
http://es.wikipedia.org/wiki/Hirotaka_Takeuchi. 2009

[Wikipedia2010] MediaWiki. IkujiroNonaka.
Disponible en:
http://en.wikipedia.org/wiki/Ikujiro_Nonaka. 2010




94

ANEXO A

Manual del usuario

Cuando el Administrador/usuario/invitado ingresa al sitio de la
aplicacin lo primero que ve es la portada:

Figura 1. Pgina de inicio de la aplicacin desarrollada para el apoyo de
las tablas de la metodologa SCRUM.

La primera vez que el usuario Administrador ingresa a la aplicacin
debe registrase a travs del enlace Register que aparece en la pgina de

95

inicio, el cual le mostrar un formulario de registro como el que se puede ver
en la Figura 2.

Figura 2. Formulario de registro de la aplicacin desarrollada para el
apoyo de las tablas de la metodologa SCRUM.

Una vez realizado esto se podr proceder a iniciar sesin y
continuacin ver la pantalla que se muestra en la Figura 3.

96


Figura 3. La imgen muestra los proyectos creados y permite ingresar
nuevos.

Esta vista contiene a su izquierda una reve descripcin de la
aplicacin y de la seccin.
A su derecha podr ver 7 diferentes tips (consejos) para mejorar el
trabajo diario con SCRUM, que irn apareciendo de forma aleatoria cada 20
segundos.
En el centro de a imagen, en la seccin My Projects se mostrarn
los proyectos existentes. En caso de haber ms de 4, se mostrarn los 4
ltimos proyectos creados y travs del botn More Projects se podr ver el
resto. Mediante el botn Add Project se podrn agregar nuevos proyectos a
la aplicacin completando los campos que muestra la Figura 4.

97


Figura 4. Formulario para la crecin de nuevos proyectos.

En el campo de Velocity se deber escribir la velocidad del proyecto,
en el campo Point Scale se podr elegir entre la escala de puntos de
Fibonacci (0, 1, 2, 3, 5, 8), Linear (0, 1, 2, 3) o Power of 2 (Potencia de 2: 0,
1, 2, 4, 8); el campo de N Stages contiene el nmero de etapas
planificadas por el SCRUM manager para que tenga el proyecto. Y para
finalizar el campo Description guarda una breve descripcin de proyecto.
Una vez creado un proyecto podr acceder a l haciendo click en su
nombre para luego pasar a ver la seccin de Detail Project, Figura 5.

98


Figura 5. Interfaz que muestra el en detalle todo lo que contiene el
proyeto .

En la Figura 6 que se muestra a continucin se puede ver mejor las
pestaas que se sealan en la Figura 6 (rectngulo rojo).

Figura 6. Esta imagen contiene las cuatro pestaas por donde el
usuario podr navegar.

En la pestaa Detail Project podr ver, en la seccin Detail project,
el nombre del proyecto, la velocidad, la descripcin, la fecha de inicio de
proyecto, fecha estimada de trmino del proyecto (establecida por el
Administrador) y la fecha real de trmino del proyecto (establecida

99

automticamente cuando la ltima tarea del ltimo requerimiento obtiene el
estado release).
Cualquier cambio realizados en esta seccin debern ser guardados
presionndo el botn Save Changes.
En esta aplicacin se pueden ingresar la cantidad de requerimientos y
tareas (Figura 5) que se estimen convenientes, ya que est soportada por
una base de datos relacional as como tambin cada usuario (Administrador,
usuario e invitado), puede pertenecer a distintos proyectos y ocupar
diferentes roles en cada uno de ellos. Adems, de una manera entretenida y
fcil se le brinda la posibilidad de que arrastre, por un lado los
requerimientos para que se puedan ordenar segn la prioridad, y por el otro
las tareas a travs de las diferentes etapas del proyecto, que fueron pre-
establecidas por el usuario en la creacin del proyecto.








100

Figura 7. Formulario de ingreso de tareas.
La figura anterior muestra el formulario que se utiliza para crear las
tareas de los requerimientos del proyecto. El campo Points corresponde los
puntos que tendr esa tarea y segn la escala de puntos (Point Scale) que
se haya elegido al crear el proyecto, se mostrarn los valores que el usuario
puede elegir. El campo Estimated Time guarda lo das estimados que le
tomarn al usuario completar la tarea asignada. El campo TaskOwner
contiene el dueo de esa tarea, el cual puede ser cambiado por el usuario
Administrador cuando lo estime conveniente; los usuarios que aparecen en
ese combobox son slo los desarrolladores que pertenecen a ese proyecto.
Para finalizar debe presionar el botn Save para guardar o Cancel segn
sea el caso.
A travs de la pestaa Settings, figura 8, se muestran las secciones
User y AddPhasestothe Project. En la primera el Administrador agrega a
los usuarios de su equipo de trabajo, en caso de querer agregar a un usuario
que ya pertenece a otro proyecto, mediante el combobox Selectusertoadd
podr divisar todos los usuarios que estn participando de manera activa en
otros proyectos y as elegir el que se desea. Eligiendo adems, a travs del
combobox Select role el role, valga la redundancia, que se quiere para
cada integrante.
Los datos de los usuarios ya creados pueden ser modificados en su
totalidad por el administrador o parcialmente por los usuarios de tipo

101

usuarios, debido a que como todo usuario integrante del equipo de trabajo,
slo podr modificar sus datos una vez iniciada la sesin.

Figura 8. Pestaa Settings.
En la segunda seccin se da la posibilidad de agregar ms etapas al
proyecto.
En la pestaa Graphics, figura 9, se podrn ver dos tipos de
grficos. El primero mediante el botn Sprints que mostrar por separado
cada sprint del proyecto, reflejando los nombres de l a tarea que lo
conforman, los das estimados, los das reales, el promedio de los das
estimados y el promedio real de los das de cada tarea del sprint.
Pudiendo analizar, con lo anterior, el avance de cada tarea dentro de
los sprints y el tiempo que realmente se necesita para desarrollar x tarea.

Figura 9. Pestaa Graphics


102

Figura 10. Botones Sprints y Requirements para graficar,
pertenecientes a la pestaa Graphics.
A travs del segundo botn Requirements se muestra un grfico que
contiene el nombre de todos los requerimientos de proyecto, as como los
das estimados, los das reales, el promedio de los das estimados y el
promedio real de los das de cada requerimiento. Este grfico permite el
anlisis del avance de cada requerimiento dentro del proyecto.
Por otro lado, tanto el usuario como el administrador podrn
descargar un archivo en formato xls, a travs de la pestaa de Reports
(reportes), figura 10, que resume los requerimientos creados, el estado de
avance de sus tareas, los desarrolladores asignados a stas, la fecha de
inicio y el tiempo estimado.

Figura 10. Pestaa Reports

Figura 11. Botones DownloadReport y DownloadtaskCards para
descargar los archivos xls correspondientes.
Tambin se podr descargar un archivo xls que contiene la
informacin de las tareas, figura 11, del proyecto de tal forma que

103

imprimiendo este archivo y recortando cada bloque de estas tareas con su
informacin, pueden ser colocadas como tarjetas de tareas en alguna
pizarra de corcho, por ejemplo, si el equipo de desarrollo est usando una
va manual para el seguimiento del proyecto.
Adems en esta seccin, figura 12, se podrn registrar las reuniones
llevadas a cabo por el equipo desarrollador, buscar las reuniones ya
realizadas para su edicin y descargar en formato PDF las mismas.


Figura 12. Seccin de Reuniones contenida en la pestaa Reports

También podría gustarte