Sie sind auf Seite 1von 88

Reporte

Final no se que va
aqu pandito :D

DECTOR

Graficador MIA
ndiceY

Contenido
Yndi
INDICE DE FIGURAS...................................................................................................1
INDICE DE TABLAS.....................................................................................................1
Introduccin.....................................................................................................................2
Planteamiento del problema..........................................................................................2
Justificacin...................................................................................................................3
Objetivo general............................................................................................................4
Objetivos especficos.....................................................................................................4
CAPTULO 1. MARCO TERICO..............................................................................5
1.1 Lmites del proyecto....................................................................................................5
1.1.1 Qu es java?............................................................................................................6
1.1.2 Qu es NetBeans?...................................................................................................9
1.1.3 Qu es JMathPloth?..............................................................................................11
1.1.4 Qu es XML?........................................................................................................13
1.1.5 Qu es la Metodologia XP?..................................................................................16
CAPTULO 2. PLANIFICACIN DEL PROYECTO.............................................21
2.1 Descripcin del negocio........................................................................................21
2.2 Descripcin del cliente y usuario..........................................................................21
2.3 HISTORIAS DE USUARIO.................................................................................22
2. 4 ITERACIONES DEL PROYECTO.....................................................................23
2.5 PLAN DE ENTREGAS........................................................................................24
2.5.1 Iteraciones.......................................................................................................25
2.5.2 Cronograma de entregas de las historias de usuario...........................................27
CAPTULO 3. DISEO................................................................................................29
3.1 Diseos simples.....................................................................................................30
3.1.1 Prototipos de interfaces..................................................................................30
3.4 Refactorizacin de componentes...........................................................................45
3.5 Tarjetas C.R.C........................................................................................................48
CAPTULO 4. CODIFICACIN...............................................................................50
4.1 Disponibilidad del cliente......................................................................................50
4.2 Uso de estndares..................................................................................................50
4.3 Programacin dirigida por pruebas.......................................................................51
4.4 Programacin en parejas........................................................................................51
4.5 Integraciones permanentes....................................................................................52
4.6 Propiedad colectiva del cdigo..............................................................................53
4.7 Ritmo sostenido de trabajo....................................................................................53
CAPITULO 5. PRUEBAS FUNCIONALES..............................................................55
CONCLUSIONES.........................................................................................................56
RECOMENDACIONES...............................................................................................58
BIBLIOGRAFIA...........................................................................................................59
ANEXO...........................................................................................................................60
A.HISTORIAS DE USUARIO...............................................................................................................60
B. TARJETAS CRC................................................................................................................................67
C. PRUEBAS DE ACEPTACION..........................................................................................................71
D. GLOSARIO DE CLASES.................................................................................................................81

Graficador MIA
E. DIAGRAMA DE CLASES................................................................................................................85

INDICE DE FIGURAS
ILUSTRACIN 1- CODIGO DE JMATHPLOT...........................................................................13
ILUSTRACIN 2- FUNCIONALIDAD DEL FRAMEWORK JMATHPLOT LA GRFICA CORRESPONDE A
UNA FUNCIN MATEMTICA..................................................................................31
ILUSTRACIN 3- DISEO FINAL DE LA INTERFAZ DE USUARIO............................................32
ILUSTRACIN 4- MEN INICIO Y SUS OPCIONES...............................................................33
ILUSTRACIN 5- SELECTOR DE ARCHIVOS.......................................................................33
ILUSTRACIN 6- AVISOS DE CONSOLA............................................................................34
ILUSTRACIN 7- AVISO QUE SE LANZA CUANDO SE EST CERRANDO LA APLICACIN...........34
ILUSTRACIN 8- MEN OPCIONES....................................................................................34
ILUSTRACIN 9- MENSAJE CORRESPONDIENTE A LA GENERACIN CORRECTA DEL MODELO DE
GRAFICACIN...................................................................................................... 35
ILUSTRACIN 10- GENERACIN DE LA GRFICA DEL MODELO NORMALIZADO.....................36
ILUSTRACIN 11- VISOR DEL MODELO XML GENERADO...................................................36
ILUSTRACIN 12- MENSAJES EN CONSOLA DEL PROCESO......................................................37
ILUSTRACIN 13- VISUALIZACIN DE ARCHIVO DE RESULTADOS SIN NORMALIZACIN..................37
ILUSTRACIN 14- MEN GRFICA..................................................................................38
ILUSTRACIN 15- INTERFAZ QUE PERMITE CAMBIAR LOS VALORES DE LOS TRES EJES DE LA
GRFICA............................................................................................................. 39
ILUSTRACIN 16- ANTES................................................................................................ 40
ILUSTRACIN 17- DESPUS........................................................................................... 40
ILUSTRACIN 18- CAMBIO DE LEYENDA EN LA GRFICA CVX.............................................41
ILUSTRACIN 19- CAMBIO DE LEYENDA FINALIZADO........................................................41
ILUSTRACIN 20- GUARDAR UNA IMAGEN DE LA GRFICA................................................42
ILUSTRACIN 21- IMAGEN ALMACENADA.........................................................................42
ILUSTRACIN 22- MEN VENTANA...................................................................................43
ILUSTRACIN 23- SE MUESTRA QUE EL CONTENEDOR DE LA GRFICA FUE REDIMENSIONADO
MANUALMENTE................................................................................................... 44
ILUSTRACIN 24- SE MUESTRA EL CDIGO QUE GENERA UNA GRFICA DE DOS DIMENSIONES
......................................................................................................................... 45
ILUSTRACIN 25- RESULTADO FINAL DEL SPIKE SOLUTION............................................46
ILUSTRACIN 26- REFACTORIZACIN DEL NOMBRE DE UNA CLASE EN NETBEANS..............48
ILUSTRACIN 27- RENOMBRAMIENTO DE UNA CLASE DESDE NETBEANS............................48
ILUSTRACIN 28- FORMATO UTILIZADO PARA LAS TARJETAS CRC............................................50
ILUSTRACIN 29- RELACIN DEL RITMO LABORAL DEL PROYECTO....................................55

Graficador MIA

INDICE DE TABLAS
TABLA
TABLA
TABLA
TABLA
TABLA
TABLA

1..................................................................................................................... 27
2..................................................................................................................... 28
3..................................................................................................................... 29
4..................................................................................................................... 29
5..................................................................................................................... 62
6..................................................................................................................... 63

Graficador MIA

Introduccin
La siguiente documentacin tiene como objetivo, presentar el desarrollo del proyecto
Graficador de Encuestas, el cual fue realizado por estudiantes de la carrera de
Ingeniera en Sistemas Computacionales como parte de sus prcticas profesionales.
El desarrollo que se plantea a continuacin, muestra la implementacin adecuada de
una metodologa gil de programacin denominada eXtreme Programming.
El lector ser llevado a travs de distintos captulos en los cuales se explica todo el ciclo
de vida de este proyecto, en dichos captulos se dejan pruebas que respaldan los
resultados obtenidos. Se recomienda una atenta lectura de las ideas principales, para
obtener una mejor comprensin del tema.
Planteamiento del problema.
Es posible la elaboracin de un software que permita manipular los resultados de una
encuesta, normalizarlos de acuerdo a procesos administrativos y posteriormente
graficarlos?.
Esta pregunta surge en el mbito de trabajo en el Departamento de Maestra en
Ingeniera Administrativa del Instituto Tecnolgico de Orizaba, ya que actualmente se
est llevando a cabo un proyecto de investigacin titulado: Generacin, evaluacin y
seguimiento de un acuerdo de colaboracin entre una Institucin de Educacin
Superior y empresas productivas, con clave 4600.12-P.
Su finalidad es la obtencin de fondos de apoyo para la innovacin y desarrollo
tecnolgico de fuentes, en organizaciones gubernamentales y no gubernamentales. Al
mismo tiempo en el contexto de dicho proyecto, se estn desarrollando dos aplicaciones
web, las cuales permitirn encuestar a empresas que participen en acuerdos de
colaboracin entre una Institucin de educacin superior y empresas productivas.
Por lo cual, surge la necesidad de presentar los resultados de dichas encuestas en
grficas que sean de fcil entendimiento para personas que no estn familiarizadas con
estos procesos administrativos.
4

Graficador MIA

Justificacin.
Hoy en da es muy comn el uso de herramientas de software destinadas a la realizacin
de diversas tareas, las cuales en el pasado se llevaban a cabo de forma manual.
El objetivo de plasmar en software la automatizacin de dichas tareas, nos da como
resultado un esfuerzo humano menor, derivando as en una mejor y adecuada aprecicin
de la solucin de un problema.
Por lo tanto dentro del marco de este proyecto, surge la necesidad de automatizar el
proceso administrativo y estadstico, que implica la normalizacin de resultados de
encuestas, las cuales sern aplicadas a diversas empresas, dicha automatizacin
reducira el tiempo y esfuerzo que se empleara a la cuantifiacin de los resultados para
posteriormente graficarlos, esto le facilitar a personas ajenas al mbito administrativo
la apreciacin visual de los resultados obtenidos en dichas encuestas.
Por los motivos planteados, el Departamento de Maestra en Ingeniera Administrativa
decidi solucionar el problema, mediante el uso de un software, es donde entra la
especialidad de Ingeniera en Sistemas Computacionales, a la cual se recurri para el
desarrollo e implementacin de dicho software.
Objetivo general.
Desarrollar un software en el lenguaje de programacin Java que permita
normalizar los resultados de una encuesta, posteriormente llevar a cabo su
normalizacin en base a procesos administrativos y estadsticos previamente
establecidos, para finalmente obtener como resultado un modelo aplicable para una
graficacin visual en tres dimensiones.

Graficador MIA

Objetivos especficos.

Facilitar al usuario la manipulacin de los resultados de una encuesta.

Desarrollar y aplicar un algoritmo de normalizacin para los resultados de


encuestas.

Obtener de acuerdo a la normalizacin de los resultados de una encuesta, un


modelo graficable en base a tres aspectos: Tiempo, Conocimiento e Inversin.

Poder visualizar el modelo grfico de una manera comprensible.

Graficador MIA

CAPTULO
GENERALIDADES
Descripcin del proyecto
El departamento de Maestra en Ingeniera Administrativa del Instituto Tecnolgico de
Orizaba, es el responsable del proyecto Graficador de Encuestas. el equipo de
desarrollo est conformado por estudiantes de la carrera de Ingeniera en Sistemas
Computacionales y aceptaron la realizacin del mismo como parte de sus residencias
profesionales, este naci como necesidad derivada de un proyecto anteriormente
implementado en dicho departamento llamado Servidor de Encuestas, el cual en
trminos generales consiste en aplicar encuestas a distintas empresas para obtener
acuerdos financieros de colaboracin.
Sobre el equipo de desarrollo:
Alumno: Josephine Corio Elvira
Carrera: Ingeniera en Sistemas Computacionales
Especialidad: Tecnologas de Internet
Matrcula: 09010201
Alumno: Armando Dctor Sols
Carrera: Ingeniera en Sistemas Computacionales
Especialidad: Ingeniera de Software
Matrcula: 08011251
2.2 Descripcin del cliente y usuario
El proyecto fue pensado inicialmente por el cliente para ser utilizado por cualquier
persona con conocimientos bsicos de computacin, esto quiere decir que no existirn
restricciones en el uso ni en el acceso a las funcionalidades del mismo, el cliente es el
Dr. ngel Machorro Rodrguez, el cual tiene un cargo dentro del Departamento de
Maestra en Ingeniera Administrativa del Insituto Tecnolgico de Orizaba.
7

Graficador MIA

Nuestro cliente decidi emprender el proyecto por la necesidad de tener un medio a


travs del cual se pudiera generar un modelo grfico de los resultados de diversas
encuestas, las cuales se aplican mediante un servidor a diferentes empresas para obtener
acuerdos de colaboracin.
Lmite del proyecto
El proyecto se lmita hacia la investigacin de las herramientas y tecnologas actuales
para el desarrollo de software, las cuales sern ideales para realizar el producto final
requerido por el cliente y posteriormente poder implementarlo en el entorno deseado,
cabe mencionar adems que todo el desarrollo del mismo, estar regido por una
metodologa gil de diseo, llamada programacin extrema.
Una vez definido el lmite del proyecto, antes de pasar al marco terico, es necesario
establecer los puntos clave a investigar.
1.1.1 Lenguaje de programacin Java
1.1.2 Entorno de desarrollo integrado en ingls IDE Netbeans

1.1.3 Marco de trabajo JMathPloth para la generacin de grficos 3D


1.1.4 XML (lenguaje de marcas extensible)

siglas en ingls de eXtensible

Markup Language.
1.1.5 Metodologa de diseo eXtreme Programming

Graficador MIA

Graficador MIA

CAPTULO 2
MARCO TERICO
1.1.1 Qu es java?
Segn el sitio web oficial de Java en espaol argumenta lo siguiente:
Java es un lenguaje de programacin y la primera plataforma informtica creada
por Sun Microsystems en 1995. Es la tecnologa subyacente que permite el uso de
programas punteros, como herramientas, juegos y aplicaciones de negocios. Java se
ejecuta en ms de 850 millones de ordenadores personales de todo el mundo y en miles
de millones de dispositivos, como dispositivos mviles y aparatos de televisin.
Ya entrados en el tema de lo que es Java ahora pondremos la definicin propia,
aclarando antes que la definicin fue hecha por ambos miembros del equipo y est
basada en los conocimientos acerca del lenguaje por parte de los integrantes del
proyecto.
Cmo comprende el equipo de desarrollo lo que es Java?
Java1 es un lenguaje de programacin de alto nivel,

de propsito general,

orientado a objetos, fue creado con el objetivo de poder ejecutar cualquier aplicacin
escrita en dicho lenguaje en cualquier dispositivo electrnico.
La popularidad de Java es muy extensa, ya que su gran flexibilidad permite crear
aplicaciones de escritorio, aplicaciones para mviles e incluso aplicaciones para la web.
Se eligi este lenguaje por su potencial al momento de desarrollar aplicaciones y la
independencia de plataforma que posee.
Por qu surge Java?
La empresa Sun Microsystems, comenz a desarrollarlo con el objetivo de crear un
lenguaje de programacin independiente de la plataforma y del sistema operativo,

1 Fuente sitio oficial Java: (ORACLE)


10

Graficador MIA
orientado para el desarrollo de dispositivos electrnicos inteligentes, como televisores,
videos, equipos de msica, etc.
Este proyecto se denomino Green y se bas en C++, pero a medida que se avanzaba
en su desarrollo el equipo creador de Green comenz a tener ciertas dificultades
especialmente en el tema de la portabilidad, para evitar este problema decidieron
desarrollar su propio lenguaje, y en el verano de 1991 naci un nuevo lenguaje
orientado a objetos y fue bautizado como Oak.
Posteriormente en 1993 el proyecto Green se renombr y paso a llamarse First
Person Juc, a pesar de que Sun Microsystems invirti un gran capital y esfuerzo
humano para la terminacin de este proyecto, no se tuvo el xito esperado en el
mercado.
A mitad de 1993 se lanzo Mosaic que fue el primer navegador web y comenz a crecer
el inters por Internet, entonces Sun Microsystems redisea el lenguaje para desarrollar
aplicaciones web y en enero de 1995 Oak se convirti en Java.
Sun lanzo el entorno JDK 1.0 en 1996, el cual se convirti en la primera especificacin
formal de la plataforma Java. Desde entonces se han lanzado diferentes versiones,
aunque la primera versin comercial se denomino JDK 1.1 y fue lanzada a principios de
1997.
En diciembre de 1998 Sun Microsystems lanza la plataforma Java2, esta versin ya
presentaba la madurez de la plataforma Java, es cuando Sun la nombr finalmente
Java2.
Cul es su potencial?
Los programas hechos en Java se pueden empotrar en paginas HTML y descargarse por
navegadores web para llevar animaciones e interacciones de diversa ndole a los
clientes, pero su potencial no solo se limita a aplicaciones, Java es un lenguaje de
programacin de propsito general que posee caractersticas completas para la creacin
de cualquier aplicacin independiente o autnoma, ya que esta fundamentado en la
orientacin a objetos.
La programacin Orientada a Objetos (POO), es un enfoque de programacin muy
popular que desbanc a las tcnicas tradicionales de programacin procedimental
estructurada.
11

Graficador MIA

El lenguaje Java se cre con cinco objetivos principales:


Debera usar la metodologa de la Programacin Orientada a Objetos (POO).
Debera permitir la ejecucin de un mismo programa en mltiples sistemas
operativos (Portabilidad).
Debera incluir por defecto soporte para trabajo en red.
Debera disearse para ejecutar cdigo en sistemas remotos de forma segura.
Debera ser fcil de usar y tomar lo mejor de otros lenguajes orientados a
objetos, como C++.
Java
Desarrollador(es)
James
Gosling
&
Para desarrolladores de Java

Sun

Microsystems

Informacin general
Paradigma

Orientado a objetos, imperativo

Apareci en

1995

Diseado por

Sun
Microsystems
Corporation)

(Oracle

ltima versin Java Standard Edition 7 Update 45


estable
(1.7.45) (15 de octubre de 2013)
Tipo de dato

Fuerte, Esttico

Influido por

Objective-C, C++, Smalltalk, Eiffel

Ha influido a

C#, J#, JavaScript, PHP, Python

Sistema
operativo

Multiplataforma

Licencia

GNU GPL / Java Community


Process

12

Graficador MIA
La razones expuestas anteriormente son la razn por la que se eligi a Java como
lenguaje de programacin a implementar para el desarrollo de la aplicacin Graficador
de Encuestas.
1.1.2 Qu es NetBeans?

NetBeans2 es un proyecto de cdigo abierto de gran xito con una gran base de usuarios,
una comunidad en constante crecimiento, y con cerca de 100 socios en todo el mundo.
Sun MicroSystems fund el proyecto de cdigo abierto NetBeans en junio 2000 y
contina siendo el patrocinador principal de los proyectos.
Netbeans es una IDE sumamente completa, fcil de usar, cmoda y de excelente
calidad. Es muy famosa entre los programadores de java hoy en da, por lo que hay
mucha informacin al respecto.
El producto es de cdigo abierto y gratuito para uso tanto comercial y como no
comercial. El cdigo fuente est disponible para su reutilizacin de acuerdo con la
Common Development and Distribution License (CDDL).
A continuacion un breve resumen de la historia de NetBeans.
Cmo surge NetBeans?
Nos tenemos que remontar a 1996 e ir hasta Praga, en la repblica Checa, donde nace
un proyecto llamado Xelfi en el mbito universitario (Facultad de Matemticas y
Fsica). Se pretenda escribir un IDE para Java que se pareciera al que tena el lenguaje
Delphi (de ah el nombre de Xelfi). El cdigo fue escrito en Java, y se convirti en el
primero escrito en dicho lenguaje con la publicacin de su primera pre-release en el ao
1997.

2 Fuente del sitio oficial : (Corporation, 2013)


13

Graficador MIA
Los autores vieron suficiente inters por el proyecto, para formar una empresa y
convertirlo en un proyecto comercial, con la inversin del empresario Roman Stanek.
En 1999, en primavera, vera la luz Netbeans DeveloperX2, con soporte para Swing,
que posteriormente se vera modificado para adaptarse al JDK 1.3, y hacerlo ms
modular.
Sun Microsystems se interesar por el proyecto en 1999, firmando un acuerdo en otoo
de ese ao.
En Junio del ao 2000, la empresa Sun Micro Systems funda el proyecto Netbeans bajo
los auspicios del software de cdigo abierto.
Capacidades de NetBeans
Suele dar soporte a casi todas las novedades en el lenguaje Java. Cualquier preview del
lenguaje es rpidamente soportada por Netbeans.
Es un buen editor de cdigo, multilenguaje, con el habitual coloreado y sugerencias de
cdigo, acceso a clases pinchando en el cdigo, localizacin de ubicacin de la clase
actual. Simplifica la gestin de grandes proyectos con el uso de diferentes vistas,
asistentes de ayuda, y estructurando la visualizacin de manera ordenada, lo que ayuda
en el trabajo diario.

Cuenta con herramientas para depurado de errores: el debugger que incluye el IDE es
bastante til para encontrar dnde fallan las cosas. Podemos definir puntos de ruptura en
la lnea de cdigo que nos interese, monitorizar en tiempo real los valores de
propiedades y variables. Incluso podemos usar el debugger en caliente, conectndonos a
l cundo ya tenemos un proceso ejecutndose.
A su vez tiene acceso a base de datos: desde el propio Netbeans podemos conectarnos a
distintos sistemas gestores de bases de datos, como pueden ser Oracle, MySql y dems,
y ver las tablas, realizar consultas y modificaciones, y todo ello integrado en el propio
IDE.

14

Graficador MIA

Razones por las que el equipo de desarrollo opt por usar NetBeans

Simplifica alguna de las tareas que, sobretodo en proyectos grandes, son


tediosas.

Nos asiste (parcialmente) en la escritura de codigo, aunque no nos libera de


aprender el lenguaje de programacion.

Nos ayuda en la navegacion de las clases predefinidas en la plataforma (miles).

Aunque puede ser laborioso su aprendizaje, los beneficios superan las


dificultades.

El equipo ha trabajado previamente con el entorno.

La gestin de paquetes y sus avanzadas detecciones de errores (incluso antes de


compilar) resultan ms cmodas e intuitivas que en los otros entornos.

Nos conviene al ser un producto completamente libre, gratuito y no posee


restricciones de uso.

Por las razones anteriores se decide usar el entorno NetBeans para la codificacion del
proyecto.

1.1.3 Qu es JMathPloth?
Es un marco de trabajo (del ingls FrameWork) desarrollado en el lenguaje de
programacin Java, se enfatiza en dar soporte a la creacin de grficas interactivas en
dos y tres dimensiones (2D y 3D). El potencial de esta herramienta radica en la simpleza
de su implementacin y la gran facilidad para grficar todo tipo de muestras nmericas,
desde nmeros enteros reales hasta funciones matemticas muy complejas.
Su licencia es del tipo new BSD (Berkeley Software Distribution), esto quiere decir que
es una licencia de software libre permisiva, dicha licencia es flexible respecto a la
distribucin lo que permite que el software pueda ser redistribuido como software libre
o semilibre.

15

Graficador MIA

Por qu opt el equipo en utilizar este marco de trabajo?


Se decidio utilizar este marco de trabajo debido a que facilita la creacion de
graficas en 2D y 3D, con esto ahorrando tiempo, de manera que se utilizan las funciones
previamente creadas para facilitar la generacion de graficas en tres dimensiones. Al
igual se decidio utiizar este framework porque lo podemos utilizar sin ningun problema
de licenciamiento.
A continuacion un ejemplo de codigo para graficar.

Ilustracin 1

16

Graficador MIA

1.1.4 Qu es XML?
XML es un lenguaje extensible de etiquetas desarrollado por el World Wide Web
Consortium (W3C)3. Sus orgenes se remontan a un estndar ISO, conocido como
SGML (Standard Generalized Markup Language), el cual, a su vez, se bas en un
lenguaje creado por IBM en la dcada del 70, llamado GML (General Markup
Language), que buscaba resolver los problemas asociados al almacenamiento de un gran
volumen de datos en las empresas.
XML se convirti en una especie de SGML simplificado, ya que ste era muy complejo,
con la finalidad de que una aplicacin no tuviera que comprender SGML completo para
interpretar un documento, sino slo el subconjunto definido. En otras palabras, SGML
permite que la estructura de un documento pueda ser definida en base a la relacin
lgica de sus partes.
XML no naci, como muchos piensan, slo para su aplicacin en Internet, puesto que se
propone como un estndar para el intercambio de informacin estructurada entre
diferentes plataformas. Se puede usar en bases de datos, editores de texto, hojas de
clculo y muchas otras alternativas.
Cmo Funciona XML?
XML es un lenguaje de marcacin (markup) para documentacin estructurada.
Por documentacin estructurada se entiende aquellos documentos que, adems del
propio contenido, presentan informacin acerca de la forma y/o el papel que desempea
dicho contenido.
Los documentos XML estn constituidos por las llamadas entidades u objetos, que
son unidades de almacenamiento que contienen datos tanto parsed como no parsed.
Dichos datos parsed estn formados por caracteres: unos forman el llamado carcter
data en el documento y otros forman el markup.
En realidad, XML es un metalenguaje, esto es, un lenguaje que sirve para describir otros
lenguajes, en este caso, de marcacin. Se basa en Unicode, que posee un conjunto de
3 Fuente de informacion : (Tejedores del Web)

17

Graficador MIA
caracteres de 16 bits, 8 ms que el ASCII. Todos los lenguajes XML pueden procesarse
mediante un simple parser, y prcticamente no existen lmites en espacios de nombres o
profundidad estructural, lo que lo hace especialmente atractivo para modelizacin de
datos.
XML propone una forma estndar de organizar nuestra informacin, flexible (permite
crear nuestras propias etiquetas), independiente de plataforma, sistema operativo y
lenguaje de programacin, y adems pensado para que los navegadores puedan trabajar
con l.
Historia de XML
En Noviembre de 1996, en una conferencia sobre el "padre" de XML (SGML - Standar
Generalized Markup Language) se presenta un reporte tcnico inicial respecto a XML.
En Marzo de 1997 se realiza la primera conferencia sobre XML, an con slo la idea
general al respecto; en Octubre de 1997 el World Wide Web Consortium define algunos
lineamientos fundamentales, para tener la primera edicin del estndar publicada en
Diciembre de 1997
Las motivaciones fundamentales del grupo de trabajo son:
1. XML est desarrollado para ser usado en Internet
2. XML est hecho pensando en desarrolladores, proveedores de contenido, buscadores
y todos los dems actores.
3. Debe ser relativamente fcil hacer programas para XML
4. No deben haber aspectos opcionales de XML, pues son ellos los que llevan a la
aparicin de incompatibilidades. En este sentido, XML es mucho ms estricto que
HTML
5. Si bien se debe poder leer XML y entenderlo razonablemente bien sin ayuda de un
editor, idealmente se espera que la gente cree sus documentos por medio de programas
ad-hoc
6. A pesar de lo anterior, debe poder hacerse un documento XML a mano o con un
programa sencillo
7. El estndar debe estar listo pronto y debe ser conciso y formal a la vez

18

Graficador MIA
Paralelo a los primeros pasos en XSL, entre Enero y Agosto de 1998 se trabaja en
obtener XQL, XLink y XPointer, que son lenguajes para poder realizar consultas y
referenciar documentos estructurados en XML. En Diciembre de 1998 se obtiene una
forma de describir el lenguaje HTML (el usado actualmente en Internet) en trminos de
XML y XSL. En Enero de 1998 se tiene una versin un poco ms estable de XSL y en
Febrero de 1998 se prepara el escenario determinando cmo distintas empresas podan
repartir los nombres de los identificadores para evitar confusiones entre ellas.
Paralelamente al desarrollo del estndar formal(con muy pocas cosas claras al respecto)
se ha ido desarrollando software. Uno de los objetivos de los desarrolladores de XML
era que "en menos de dos semanas, cualquier programador competente pueda hacer un
programa que funcione y maneje XML".
Dado que XML tiene una perspectiva web-cntrica, la mayora de los programas estn
hechos en Java, un lenguaje multiplataforma, optimizado para lograr un alto grado de
compatibilidad. Estos programas estn orientados a implementar el anlisis de un
documento XML (la parte fcil), la transformacin de documentos va XSL (la parte
ms o menos difcil) y el formateo y visualizacin de documentos va XSL (la parte
difcil).
Por qu conviene usar XML?
Porque los negocios de hoy en da dependen de la informacin y los datos pueden
provenir de varios orgenes de informacin distintos: bases de datos, pginas Web,
archivos de hojas de clculo y correo electrnico, por mencionar slo algunos. XML
permite trabajar con ms datos de ms orgenes y hacer ms cosas con esos datos.
XML puede extraer datos de varios orgenes de datos, almacenar la informacin en un
lugar para saber exactamente dnde buscarla y volver a utilizar los datos cuando y
donde los necesite.

Para el proyecto conviene usar XML ya que sera util en el momento de pasar los datos
de texto plano a su graficacion en 3D, ste permite que aplicaciones de escritorio se
19

Graficador MIA
comuniquen con otras para obtener datos o administrarlos, haciendo facil la transicion
de documento de texto plano a un codigo entendible para la aplicacin.
Objetivos principales de XML:

Utilizable directamente en internet.

Soporte para gran numero de aplicaciones

Leible para personas.

Compatible con SGML.

Facil de escribir y utilizar.

Evitar muchos detalles opcionales.

Por las razones anteriormente expuestas se decide utilizar el lenguaje XML para pasar
los resultados de las encuestas de texto plano a un lenguaje manejable para su
graficacion.

1.1.5 Qu es la Metodologia XP?


La programacin extrema es una metodologa de desarrollo ligero (o gil)
basada en una serie de valores y de prcticas de buenas maneras que persigue el
objetivo de aumentar la productividad a la hora de desarrollar programas.
Este modelo de programacin se basa en una serie de metodologas de desarrollo de
software en la que se da prioridad a los trabajos que dan un resultado directo y que
reducen la burocracia que hay alrededor de la programacin.
Una de las caractersticas principales de ste mtodo de programacin, es que sus
ingredientes son conocidos desde el principio de la informtica. Los autores de XP han
seleccionado aquellos que han considerado mejores y han profundizado en sus
relaciones y en cmo se refuerzan los unos con los otros. El resultado de esta seleccin
ha sido esta metodologa nica y compacta. Por esto, aunque no est basada en
principios nuevos, s que el resultado es una nueva manera de ver el desarrollo de
software. El objetivo que se persegua en el momento de crear esta metodologa era la
20

Graficador MIA
bsqueda de un mtodo que hiciera que los desarrollos fueran ms sencillos. Aplicando
el sentido comn. omg
Breve historia de la metodologia XP
La programacin extrema o eXtreme Programming (XP)4 es una metodologa de
desarrollo de la ingeniera de software formulada por Kent Beck, autor del primer libro
sobre la materia, Extreme Programming Explained: Embrace Change (1999). Es el ms
destacado de los procesos giles de desarrollo de software. Al igual que stos, la
programacin extrema se diferencia de las metodologas tradicionales principalmente en
que pone ms nfasis en la adaptabilidad que en la previsibilidad. Los defensores de la
XP consideran que los cambios de requisitos sobre la marcha son un aspecto natural,
inevitable e incluso deseable del desarrollo de proyectos. Creen que ser capaz de
adaptarse a los cambios de requisitos en cualquier punto de la vida del proyecto es una
aproximacin mejor y ms realista que intentar definir todos los requisitos al comienzo
del proyecto e invertir esfuerzos despus en controlar los cambios en los requisitos.
Se puede considerar la programacin extrema como la adopcin de las mejores
metodologas de desarrollo de acuerdo a lo que se pretende llevar a cabo con el
proyecto, y aplicarlo de manera dinmica durante el ciclo de vida del software.

En que consiste XP, sus objetivos?


Los objetivos de XP son muy simples: la satisfaccin del cliente. Esta
metodologa trata de dar al cliente el software que l necesita y cuando lo necesita. Por
tanto, debemos responder muy rpido a las necesidades del cliente, incluso cuando los
cambios sean al final de ciclo de la programacin.
El segundo objetivo es potenciar al mximo el trabajo en grupo. Tanto los jefes de
proyecto, los clientes y desarrolladores, son parte del equipo y estn involucrados en el
Valores de la metodologia.

4 Fuente de informacion: (Avalos, 2011)

21

Graficador MIA
Este metodo se basa principalmente en valores o principios bien definidos:
1. Simplicidad.- La simplicidad consiste en desarrollar solo el sistema que
realmente se necesita. Implica resolver en cada momento solo las
necesidades actuales.
2. Feedback.- Una metodologia basada

en

el

desarrollo

iterativo

de

pequeas partes, con entregas y pruebas frecuentes y contiunas,


proporciona un flujo de retroinformacion valioso para detectar los
problemas o desviaciones.
3. Decision.- Implica saber tomar decisiones dificiles, Reparar un error
cuando se detecta y Mejorar el codigo siempre que tras el feedback y las
sucesivas iteraciones.
4. Comunicacin.- Algunos problemas en los proyectos tienen origen en que
alguien no dijo algo importante en algun moment. XP hace casi posible la
falta de comunicacin, ya que pone en comunicacin directa y continua a
clientes y desarrolladores.
5. Valentia.- Programa para hoy no para maana.
6. Respeto.- El equipo debe trabajar como uno, sin hacer decisiones
repentinas.
Actividades de XP.

Codificacion: Esta es la parte mas importante de XP.

Pruebas: Nunca se puede estar seguro de algo hasta haberlo probado.

Escuchar: Escuchar los requisitos del cliente acerca del sistema a crear.

Diseo: Crear una estructura del diseo para evitar problemas.

Fases de la metodologia XP.


I.

Planificacion
22

Graficador MIA
Rotaciones.
Las rotaciones evitaran que las personas se convertan en si mismas en un cuello
de botella. Las rotaciones permitiran que todo el mundo conozca como funciona el
sistema.
Reuniones.
Reuniones de seguimiento diarias.
Correciones.

Deberemos corregir el proceso cuando ste falle.

Todo el mundo debe estar al corriente de los cambios.

Para que esto funcione correctamente hay que crearunidades de prueba de cada
mdulo que se desarrolle.

II.

Diseo

Simplicidad.

La simplicidad es la llave.

Tarjetas CRC.- Las tarjetas CRC (clase, responsabilidad y colaboracion) son una
metodologia para el diseo de software oreintado por objetos creada por Kent Beck y
Ward Cunningham.
Spike solutions.
Un programa spike, es un programa muy simple que explora una posible solucion al
problema.
Reciclaje.
El reciclaje implica mantener el codigo limpio y facil de comprender, modificar y
ampliar.
III.

Desarrollo

Disponibilidad del usuario

Estndares de implementacin

Unidades de prueba o test

Programacin parejas

Integracin del cdigo

23

Graficador MIA

IV.

Frecuencia en la integracin del cdigo

El cdigo es propiedad de todos

Dejar la optimizaciones para el final

No a las horas extras

Pruebas

Unidades de test o pruebas: Pilar bsico

Implantacin:

El

cdigo

ser

implantado

cuando

supere

sus

correspondientes unidades de test

Proteccin contra fallos: Solucin, un test

Pruebas de aceptacin: Evaluacin del cliente

Ventajas por las que el equipo opto por utilizar esta metodologia.

Da lugar a una programacion sumamente organizada.

Cuenta con una tasa de errores muy pequea.

Propicia la satisfaccion del programador.

Facilita los cambios

Permite ahorrar mucho tiempo y dinero.

Puede ser aplicada a cualquier lenguaje de programacion.

El cliente tiene control sobre las prioridades.

Se hacen pruebas continuas durante el proyecto.

24

Graficador MIA

CAPTULO 2. Planificacin del proyecto


El captulo que se presenta a continuacin abarca todos los aspectos que estuvieron
relacionados en torno a la planificacin del proyecto Graficador de Encuestas, se
describirn los puntos relevantes que guiaron a un desarrollo adecuado de dicho
proyecto.
Cabe mencionar que los puntos que se toman a continuacin estn basados en la
metodologa gil de diseo de software eXtreme Programming.

2.3 HISTORIAS DE USUARIO.


Antes de entrar al tema de las historias de usuario relacionadas con la aplicacin,
es importarnte definir una interrogante que ronda en la mente de muchos
desarrolladores:
Qu es una historia de usuario?
Es una representacin de un requisito de software escrito en una o dos frases
utilizando el lenguaje comn del usuario. Las historias de usuario son utilizadas en las
metodologas de desarrollo giles para la especificacin de requisitos (acompaadas de
las discusiones con los usuarios y las pruebas de validacin)
Planificacin de las historias de usuario.
Una vez aclarado dentro del equipo lo que eran las historias de usuario, se
procedi a la realizacin de dichas historias en formato de fichas, en las cuales se
encapsul a grandes rasgos las necesidades del cliente hacia la aplicacin.
La programacin Extrema menciona que se deben realizar varias concertaciones con el
cliente, todo esto con el motivo de hacer ms concisas las necesidades del mismo.

25

Graficador MIA
Se acord realizar las historias de usuario en lenguaje formal, ya que es primordial
comprender los requisitos del sistema en trminos del usuario.
Cuando se habla del lenguaje formal se refiere a una descripcin breve pero concisa de
todas las funcionalidades que el usuario desea contenga la aplicacin, pero sobre todo
que estas funcionalidades se ajusten a las necesidades del negocio sin entrar en
incongruencias.
Otro detalle que cabe resaltar fue que se aconsej un poco al cliente sobre las
herramientas a emplear, como el lenguaje de programacin, el marco de trabajo
empleado para la generacin de los grficos en 3D, asi como la adicin de
funcionalidades extras que coadyuvaron a darle una mejor funcionalidad a la aplicacin
y tambin le proporcionaron un mejor dinamismo.
Al final se obtuvieron un total de siete historias de usuario, fue un nmero pequeo, la
razn de esto es que el proyecto y sus especficaciones son relativamente pequeas, los
componentes a disear son pocos ya que as lo indic el cliente.
2. 4 ITERACIONES DEL PROYECTO
Basandonse en las investigaciones acerca de la metodologa XP se encontr que la
gestin del proyecto debe ser dividida en iteraciones, dichas iteraciones son
simplemente periodos de tiempo en los cuales se planea el desarrollo y posiblemente
alguna entrega de un componente de software en general. Aunado a lo anterior se
plante la siguiente cuestin:
Cuntas iteraciones eran necesarias dentro del marco del proyecto Graficador de
Encuestas?
Basndose en el nmero de historias de usuario realizadas en la primera semana de
planificacin del proyecto y mediante un anlisis preeliminar de alto nivel, sin enfatizar
tanto en la complejidad de los componentes especificados en dichas historias se
concluy que el nmero de iteraciones necesarias para el proyecto eran tres.

26

Graficador MIA
El nmero de iteraciones elegido es directamente proporcional al nmero de entregas a
realizar, lo que quiere decir que durante el ciclo de vida del proyecto se fijaron tres
fechas de entrega, las cuales consistieron simplemente en presentar avances de las
historias de usuario terminadas y del proyecto en general.
Tambin durante la duracin de estas iteraciones se aclararon algunos detalles a
modificar en los componentes ya creados, adiciones de nuevas funcionalidades a dichos
componentes as como la creacin de nuevos componentes ligados a nuevas necesidades
del cliente.
La duracin acordada para cada iteracin fue de una semana, es un tiempo mnimo y
relativamente corto, pero el plazo para el desarrollo en general del proyecto solamente
era de tres meses y medio aproximadamente, por lo tanto se hizo hincapi en utilizar el
menor tiempo posible para dichas iteraciones.
Cabe destacar que no hubo dependencia alguna con el cliente, todo gracias a la
precisin que hubo por parte del mismo al momento de realizar las historias de usuario.
El cliente detall bastante bien los requierimientos que necesitaba dentro de la
aplicacin, dejando solamente unas pequeas dudas al aire que no ocasionaron algn
inconveniente, dichas dudas se solucionaron en tiempo y forma para no retrasar las
entregas.

2.5 PLAN DE ENTREGAS


Recordando lo planteado en el punto anterior, se debe aclarar que despus de haber
fijado el nmero de iteraciones y la planificacin de las historias de usuario
preeliminares, se fijaron las fechas de entrega de funcionalidades, dichas
funcionalidades son aquellas historias de usuario que se finalizaron en tiempo y que se
planearon presentar con el cliente en cuestin.
Basndose en el tiempo que se destin para las iteraciones, el cual fue de una semana
por cada iteracin, se acord fijar la fecha de entregas inmediatamente a la finalizacin
de cada semana de iteraciones.

27

Graficador MIA

2.5.1 Iteraciones
Primera iteracin.
Se pretendi en la primera iteracin realizar los prototipos de las historias de usuario
ms importantes, dichos prototipos ya incluan las funcionalidades bsicas detalladas en
las fichas de usuario. Se sometieron a una revisin y posteriormente se corrigieron los
detalles pendientes.
Segunda iteracin.
Se acord disear las interfaces del usuario, se sometieron a pruebas rigurosas los
mdulos generados, se ensamblaron los componentes que ya haban sido aprobados y
quedaron pendientes solamente las historias ms relevantes o aqullas que an no
quedaban claramente definidas.
Tercera iteracin
La ltima iteracin solamente consisti en una revisin generalizada de la aplicacin,
todas las historias de usuario en sta etapa ya haban sido aprobadas, desarrolladas y
concluidas.
Las entregas se fijaron en las siguientes fechas:
Tabla 1

Num. Iteracin

Fecha

Tiempo
presentacin
26 de Septiembre de 2013 01:00 hr

24 de Octubre de 2013

01:00 hr

26 de Noviembre de 2013

01:00 hr

de

Una vez acordado el tiempo de los periodos de presentacin, lleg el momento de


planear el orden, tiempo de realizacin y la asignacin de las historias de usuario al
equipo de trabajo.
28

Graficador MIA
Cabe resaltar que algunas historias de usuario tenan un nivel de dificultad mayor que
otras, por lo tanto se hizo un concenso en el grupo de trabajo y se organizaron las
historias con una escala del 1 al 5 donde:
1 - 2 son prioridades bajas
3 - 4 prioridades medias
5 es una prioridad alta.
La utilizacin de la escala ayud a tener una mejor planeacin y organizacin en el
equipo de programadores, ya que al ser nicamente dos integrantes, se pudo dividir el
trabajo cuando se realizaron historias de usuario muy simples con una prioridad de 1-2,
cuando hubo prioridades medias 3-4 se realizaban las historias de usuario en equipo,
dejando algunos detalles a resolver de forma individual, ya que eran detalles
relativamente sencillos y por ltimo cuando hubo prioridades altas 5, se resolvieron las
historias de usuario en equipo y as finalizaron trabajando en equipo, al final todas las
historias de usuario se agruparon en un solo documento.
En la siguiente tabla nicamente se da descripcin de las historias de usuario creadas 5,
tambin se indica el nmero de iteracin en las que quedaron completadas.
Tabla 2 correspondiente a la planificacin de Historias de usuario.
No.

Descripcin

Prioridad

Riesgo en Nivel
de Iteracin
desarrollo
importancia

Seleccionar archivo de resultados


de una encuesta
Normalizacin de resultados de
encuestas
Generacin de grfica a partir de
modelo normalizado XML
Generar la imagen de la grfica
Cambiar valores de los ejes
Cambiar color del escalar de la
grfica
Cambiar leyenda del escalar

Alta

Alto

Alta

Alto

Alta

Alto

Alta
Media
Baja

Alto
Medio
Bajo

5
4
1

2
2
2

Baja

Bajo

2
3
4
5
6
7

5 Ver en el anexo A.HISTORIAS DES USUARIO


29

Graficador MIA
2.5.2 Cronograma de entregas de las historias de usuario
Para llevar un control adecuado sobre la realizacin y entrega de las historias de usuario
se utiliz un cronograma, en el cual se especficaron las fechas de entrega y adems se
le aadi un estatus a cada historia dicho estatus se presenta de la siguiente forma:
Tabla 3 Estados de las historias de usuario
Tarea
Iniciada

Tarea
finalizada

Sin
revisin

El color amarillo indicaba que la historia de usuario haba comenzado a


desarrollarse, pero an no se haba finalizado por lo tanto segua con estatus de
Revisada.

El color rojo indicaba que la historia de usuario haba sido iniciada pero por
diversos motivos se detuvo su realizacin, la razon por la que se detuvo alguna
historia se debe a que no aprobaron en las revisiones durante las entregas por
detalles que quedaron pendientes de resolver, retrasando as su realizacin.

El color verde indicaba cuando una historia de usuario ya haba sido finalizada
con aceptacin del 100% y su estatus fu Finalizada

Tabla 4 del historial de entregas en las iteraciones

Cronograma de plan de entregas mensuales


Iteracin 1
Historia
26/09/2013
1. Seleccionar archivo de
resultados de una encuesta
Revisada
2.
Normalizacin
de
resultados de encuestas
Revisada
3. Generacin de grfica a
partir
de
modelo
normalizado XML
Revisada
4. Generar la imagen de la
grfica
Revisada
5. Cambiar valores de los
ejes
Revisada
6. Cambiar color del escalar
de la grfica
Revisada
7. Cambiar leyenda del
escalar
Revisada
Resultado final del producto -

Iteracin 2
24/10/2013

Iteracin 3
26/11/2013

Entrega
16/12/2013

Finalizada

Finalizada

Finalizada

Finalizada

Pendiente

Finalizada

Revisada

Finalizada

Revisada

Finalizada

Revisada

Finalizada

Finalizada
-

Finalizada
-

Completado
30

Graficador MIA
Reuniones diarias de seguimiento
Las reuniones del equipo de trabajo fueron diarias de lunes a viernes y descansado los
fines de semana.
Durante las reuniones del equipo de trabajo se platic acerca de las dudas e inquietudes
que rondaban al desarrollo del proyecto, despus de aclarar las dudas se procedi a la
implementacin y creacin de tarjetas CRC del ings ClassResponsability
Collaboration card, las cuales fueron de bastante ayuda al momento de organizarse
dentro del equipo.
Como bien dice la metodologa XP, las tarjetas CRC simplemente son tarjetas de
responsabilidades las cuales son utilizadas en un grupo de trabajo para asignar ciertas
tareas, las cuales deben ser realizadas en un determinado lapso de tiempo, pueden ser
horas, das e incluso semanas.
Una vez que el equipo comprendi en que consistan las tarjetas CRC, se precedi a
analizar a fondo las historias de usuario y en base a ellas ir creando las tarjetas CRC
donde se plasmaba las tareas a realizar por parte de ambos miembros del equipo.
En las tarjetas CRC6 se agregarn de manera explicta las tareas a realizar tales como:

Creacin de clases.

Creacin de mtodos funciones.

Creacin de interfaces.

Refactorizacin de algunos componentes

Validacin de algunas funcionalidades

Adiciones extras a funcionalidades ya realizadas para un mejor desempeo

Pruebas de verificacin y funcionamiento.

Es importante destacar que algunas funcionalidades fueron complementadas por ambos


miembros del equipo, lo anterior se refiere al manifiesto de la metodologa XP de
trabajar y programar en pareja.
6 Ver en el anexo B.TARJETAS CRC
31

Graficador MIA

CAPTULO 3. DISEO
Dentro de este captulo se pretende informar al lector acerca del diseo en general de la
aplicacin Graficador de Encuestas.
Retomando lo planteado en el marco terico7, la metodologa eXtreme Programming,
recomienda la elaboracin de diseos simples y sencillos, todo esto para facilitar la
comprensin del funcionamiento de dicha aplicacin.
Siempre surgen debates cuando se llega a este punto en un proyecto, ya que el proceso
de diseo no es tan simple como pareciera, el tiempo siempre est contra reloj y surge la
necesidad de crear modelos arquitectnicos bien definidos de la estructura de las
aplicaciones.
Lo dicho en el parrfo anterior pierde su sentido cuando se destina un tiempo mnimo a
la elaboracin de un producto de software, es aqu cuando entran las ventajas de utilizar
la metodologa XP, ya que se recomienda en sta la creacin nicamente de diagramas
tiles entendibles para todo el equipo de desarrollo, guindose de la filosofa de no
perder tiempo en hacer un diseo tan rebuscado, todo lo anterior se refiere al hecho de
sacrificar la elegancia por la funcionalidad.
En este caso dentro del proyecto Graficador de Encuestas se opt por seguir dicha
filosofa, ya que entre ms tiempo se le dedicara a la construccin de un diseo elegante
la consecuencia sera el tener menos tiempo para implementar dichos diseos, en
resumen se necesitaba rpidez en el desarrollo.
Para el desarrollo del diagrama de clases8 se utiliz una herramienta CASE muy popular
llamada Visual Paradigm una versin para estudiantes.

7 Vese CAPITULO 1. 1.1 Marco Terico


8 Vese Anexo E .DIAGRAMA DE CLASES
32

Graficador MIA

3.1 Diseos simples


Retomando lo mencionado por la metologa XP, el equipo de desarrollo decidi realizar
nicamente el diagrama de clases9, con el fin de agilizar el proceso de diseo, tambinn
cabe mencionar que el diagrama generado, fue hecho progresivamente, esto quiere decir
que a diferencia de otras metodologas, donde se diseaban primero los diagramas y
despues se codificaban, en este proyecto se generaron al mismo tiempo que el codigo.
Tambien se emple tiempo para el diseo de las interfaces de usuario, el diseo de
dichas interfaces se trat de realizar utilizando pocos recursos y lo ms sencillamente
posible para no entrar en complicaciones.

3.1.1 Prototipos de interfaces


El equipo de desarrollo opt por realizar rpidamente los prototipos de las interfaces de
usuario, la razn fue el marco de trabajo (FrameWork) a implementar JMathPlot, ya que
al ser un componente previamente armado, dicho marco de trabajo generaba un
contenedor donde se mostraba la grfica generada mediante alguna funcin matemtica.

Ilustracin 2

Figura 3.1se aprecia la funcionalidad del FrameWork JMathPlot la grfica


corresponde a una funcin matemtica.

9 Vese Anexo E. DIAGRAMA DE CLASES


33

Graficador MIA
Lo mencionado anteriormente caus inequietud ya que no se tena experiencia con este
marco de trabajo, por lo tanto se decidi dedicar un tiempo de alrededor de una semana
al estudio de dicho componente.
El resultado final del estudio fue el diseo de la interfaz principal de usuario el cual se
aprecia en la Figura 3.2

Ilustracin 3

Figura 3.2 Diseo final de la interfaz de usuario.

La Figura 3.2 muestra rel resultado final de la interfaz principal de la aplicacin, el


diseo se pens de varias formas, pero examinando ms a fondo las historias de usuario
y retomando la idea de generar un contenedor para empotrar el objeto grfico generado,
se dividi el layout en tres secciones tal y como se muestra en dicha imagen.

34

Graficador MIA
Otro punto a destacar que facilit la programacin de la aplicacin, fue que el diseo de
la interfaz sufri escasas modificaciones durante todo el ciclo de vida del
proyecto.Descripcin de las interfaces.
A continuacin se presenta una descripcin breve pero concisa de todas las interfaces
de usuario y sus funcionalidades.
Men Inicio:

Ilustracin 4

Figura 3.3 Men Inicio y sus opciones

En la Figura 3.3 se muestra el men Inicio el cual contiene dos opciones, la primera
facilita al usuario la apertura y seleccin de un archivo de resultados de encuestas
sin normalizar.
Opcin Abrir archivo de resultado de encuesta.
En la Figura 3.4 se muestra el navegador de archivos, filtrando nicamente los
archivos con extensin *.txt (archivo de texto plano)los archivos finales de
resultados de encuestas tienen dicho formato.

35

Graficador MIA

Ilustracin 5

Figura 3.4 Selector de archivos

36

Graficador MIA
Una vez seleccionado el archivo se muestran los mensajes de las operaciones
realizadas en la consola, se puede apreciar que muestra el tiempo de realizacin de
la operacin as como la ruta absoluta correspondiente al archivo de resultados, tal y
como se muestra en la Figura 3.5

Ilustracin 6

Figura 3.5 Avisos de consola.

Opcin Salir.
La opcin bien lo dice se refiere al cerrado de la aplicacin, claro que si existe algn
archivo cargado alguna tarea en proceso, se lanza un aviso, esto se muestra en la
Figura 3.6.

Ilustracin 7

Figura 3.6 Aviso que se lanza cuando se est cerrando la aplicacin.

Men Opciones

Ilustracin 8

Figura 3.7 Men Opciones

37

Graficador MIA
Este men cuenta con dos opciones las cuales se aprecian claramente en la Figura
3.7, dichas opciones son de las ms importantes dentro de la funcionalidad de la
aplicacin, ya que son el corazn de la aplicacin, sin estas funcionalidades no se
podran generar las grficas para dichas encuestas.
Opcin Generar Modelo XML para Graficacin.
Previamente realizada la eleccin de un archivo de encuestas y cargado en la
aplicacin, se procede a seleccionar la opcin Generar Modelo XML para
Graficacin, si el archivo es vlido se mostrar un mensaje como en la Figura 3.8:

Ilustracin 9

Figura 3.8 Mensaje correspondiente a la generacin correcta del modelo de graficacin.

Dicho mensaje le da al usuario la opcin de copiar la ruta en el sistema


correspondiente al modelo generado en formato xml perteneciente al archivo de
resultados de la encuesta

previamente seleccionado. Habiendo elegido alguna

opcin el usuario ver el resultado de la normalizacin de los resultados de la


encuesta tal y como se muestra en las Figuras 3.9, 3.10 y, 3.11

38

Graficador MIA

Ilustracin 10

Figura 3.9 Generacin de la grfica del modelo normalizado.

Ilustracin 11

Figura 3.10 Visor del modelo XML generado

39

Graficador MIA

Ilustracin 12

Figura 3.11 Mensajes en consola del proceso


Opcin Visualizar archivo de resultados sin normalizar.
Permite al usuario poder visualizar el archivo previo correspondiente a los
resultados de las encuestas sin normalizar dentro de la aplicacin tal como se
muestra en la Figura 3.12, se puede apreciar en la imagen que nicamente es una
visualizacin del contenido del archivo, pero sta opcin fue agregada para
comodidad del usuario y que ste tuviera que estar abriendo desde el sistema
operativo dicho archivo, pudiendo daar su contenido.

Ilustracin 13

Figura 3.12 Visualizacin de archivo de resultados sin normalizacin.

40

Graficador MIA
Men Grfica

Ilustracin 14

Figura 3.13 Men Grfica

Se encarga de ofrecerle mayor dinamismo y esttica al componente grfico


generado.
Opcin Cambiar valores de los ejes
Permite que el usuario pueda modificar los valores de los ejes de la grfica, estos
ejes estn basados en tres aspectos, los cuales se mencionan en las historias de
usuario10, estos son: conocimiento, tiempo e inversin, en la Figura 3.14 se puede
apreciar dicha funcionalidad.

Ilustracin 15

Figura 3.14 Interfaz que permite cambiar los valores de los tres ejes de la grfica.

10 Ver anexo A.HISTORIAS DE USUARIO


41

Graficador MIA

Opcin Cambiar color del escalar.


El usuario tambin puede cambiar el color del escalar plasmado en la grfica, esto se
muestra en las Figuras 3.15 y 3.16

Ilustracin 16

Figura 3.15 Antes

Ilustracin 17

Figura 3.16 Despus

42

Graficador MIA
Opcin Cambiar leyenda del escalar.
Otra funcionalidad que se le proporciona al usuario es el cambio de la leyenda de la
grfica, dicha interfaz se muestra en la Figura 3.17.

Ilustracin 18

Figura 3.17 Cambio de leyenda en la grfica cvx

Los cambios se pueden aprenciar en la Figura 3.18

Ilustracin 19

Figura 3.18 Cambio de leyenda finalizado.

43

Graficador MIA
Opcin Guardar imagen de la grfica
Le permite al usuario guardar una imagen de la grfica generada, para futuras
referencias, cabe mencionar que el formato de la imagen generada es *.png (del ingls
Portable Netwok Graphic), se le proporciona al usuario el explorador de archivos y la
funcionalidad de que el mismo nombre a la nueva imagen, dicha funcionalidad se
aprencia en la Figura 3.17.

Ilustracin 20

Figura 3.19 Guardar una imagen de la grfica.

Por ltimo se presenta el resultado de guardar dicha imagen en la ruta seleccionada en la


Figura 3.20.

Ilustracin 21

Figura 3.20 Imagen almacenada

44

Graficador MIA

3.2 Funcionalidades extra


La metodologa XP recomienda no perder tiempo creando funcionalidades extra, ya que
en la mayora de los proyectos solo el 10% de dichas funcionalidades Adelantadas
llegan a ser implementadas.
Dentro de este proyecto solo surgieron pequeas funcionalidades extra que tuvieron que
ser implementadas forzosamente.
A continuacin se detallan las funcionalidades extras surgidas en el proyecto
Graficador de Encuestas.
Men Ventana

Ilustracin 22

Figura 3.21 Men Ventana


La opcin fue diseada nicamente como funcionalidad extra, la metodologa XP est
en contra de aadir funcionalidades extra a las aplicaciones, ya que a veces esto causa
perdidas de tiempo considerables, la razn por la que se aadieron estas cuatro
opciones, fue por la necesidad del cliente para manipular el tamao de las ventanas a
voluntad, con la finalidad de hacer ms cmodo el uso de la aplicacin y hacerla
agradable a la vista, es una funcionalidad muy sencilla que no tom ms que un par de
horas de desarrollo y tambin se consider que la manipulacin del tamao de las
ventanas con el mouse, es algo inherente en toda interfaz grfica y no necesita
justificacin alguna.

45

Graficador MIA
En la Figura 3.22 se muestra la funcionalidad de los contenedores, se puede modificar
su tamao a voluntad, tambin pueden volver a su posicin original eligiendo la opcin
Resetear Ventanas.

Ilustracin 23

Figura 3.22 se muestra que el contenedor de la grfica fue redimensionado manualmente.

3.3 Solucin rpida de riesgos (Spike Solution)


XP argumenta que en determinados casos, es probable que la estimacin inicial de la
dificultad y el tiempo para la realizacin de una historia de usuario, pueden ser dficiles
de calcular, para ello se propone una solucin llamada Spike Solution en espaol
soluciones rpidas, las cuales consisten en la realizacin de pequeas pruebas de
codificacin, dichas pruebas solo se lmitan a ser pequeos prototipos, el objetivo de la
prctica de Spike Solution es obtener una aproximacin real acerca del tiempo que
tomar en realizarse dicha historia de usuario.

46

Graficador MIA
La prctica de Spike Solutions fue de vital importancia dentro del proyecto
Graficador de Encuestas, ya que se present una situacin donde fue necesario la
implementacin de dichas Soluciones rpidas, dicho problema surgi alrededor de la
implementacin del FrameWork JMathPlot, como se menciona al inicio de ste
captulo11, ninguno de los miembros del equipo de desarrollo tenan conocimientos
previos en la utilizacin de la herramienta, por lo tanto se acord hacer un pequeo
programa para estudio del mismo.
A continuacin se puede apreciar un pequeo ejemplo resultado del estudio de
JMathPlot:

Ilustracin 24
Figura 3.23 Cdigo de ejemplo para generar una grfica de dos dimensiones con JMathPlot

11 Vese Capitulo 3 - 3.1.1Prototipos de interfaces


47

Graficador MIA
En la Figura 3.23 se ilustra un pequeo cdigo, el cual genera una grfica en dos
dimensiones, el resultado de la ejecucin de dicho cdigo es el siguiente:

Ilustracin 25

Figura 3.24 Resultado final del Spike Solution.

El equipo de trabajo consider bastante tiles las pruebas preeliminares realizadas con
JMathPlot, ya que el haber dedicado el suficiente tiempo al estudio del marco de
trabajo, coadyuv a evitar retrasos en las etapas posteriores del desarrollo de la
aplicacin.
3.4 Refactorizacin de componentes
La metodologa XP sugiere hacer mantenimiento constante del cdigo, ya que dicha
prctica ayuda a mantenerlo legible y sin incongruencias, menciona tambin que
constantemente se refactorice el cdigo generado en busca de fallas o mejoras que a
futuro mantengan una buena interaccin entre todos los componentes de la aplicacin,
una de las ventajas de programar en pareja radica en la retroalimentacin que surge del
trabajo en equipo, ya que si un integrante de la paraja de desarrollo halla algn detalle
48

Graficador MIA
que puede ser mejorado o corregido, ste le informar a su compaero y entre los dos
harn un concenso acerca de cual es la solucin ms ptima.
Dentro del desarrollo del proyecto Graficador de Encuestas, la refactorizacin fue
relevante, ya que existieron casos en los que no se especficaron adecuadamente
nombres de clases y atributos de la manera adecuada creando ciertas ambigedades en
el diseo y codificacin, afortundamente dichas ambigedades no causaron prdidas
irremediables de tiempo, ya que el IDE (entorno de desarrollo integrado)12 que se
eligi, tiene bondadosas cualidades al momento de refactorizar diferentes componentes,
esa fue una de las razones por las cuales de utiliz NetBeans.
Fuera de esos detalles pequeos la refactorizacin dentro del proyecto fue mnima, pero
con fines informativos se adhiri una imagen de muestra del proceso de refactorizacin
de algn componente en NetBeans.
Por ejemplo supongamos que se requiere cambiar el nombre X clase, lo primero que
se debe hacer es ir al navegador del proyecto, buscar la clase a renombrar y dar click
derecho sobre la clase, se aprecia sta secuencia en la Figura 3.5.1:

Ilustracin 26

Figura 3.25 refactorizacin del nombre de una clase en NetBeans

12 Vese CAPITULO 1 - 1.1.2 Qu es NetBeans?


49

Graficador MIA

Actio seguido saldr una nueva ventana donde se solicitar al usuario introducir el
nuevo nombre de la clase:

Ilustracin 27

Figura 3.26 Renombramiento de una clase desde NetBeans


Por ltimo se destaca la facilidad para refactorizar componentes desde NetBeans, ya que si la
refactorizacin se lleva a cabo manualmente, sin lugar a dudas sera un proceso tedioso y lento.

3.5 Tarjetas C.R.C


Como bien menciona la metodologa XP, en todo proyecto es necesaria la creacin de
tarjetas CRC (Clase, Responsabilidad, Colaboracin), dichas tarjetas son de gran ayuda
en toda la gestin del proyecto, ya que ayudan al programador a entender ms a fondo
las necesidades manifestadas en las historias de usuario, adems dichas tarjetas CRC se
centran en el paradigma de la orientacin a objetos, ya que en simples notas se detallan
las distintas funciones y atributos que componen a una clase en particular.
Pero no solo se detallan esos puntos, adems se pueden incluir observaciones

recomendaciones acerca de cmo realizar dichas tareas.

50

Graficador MIA
Una vez analizado lo anterior, el equipo de desarrollo se puso a la tarea de realizar un
formato, el cual sera destinado para la elaboracin de las tarjetas CRC, dicho formato
se presenta en la Figura 3.25:

Ilustracin 28

Figura 3.27 formato utilizado para las tarjetas CRC.


Antes de iniciar el desarrollo de un nuevo componente, ambos miembros del equipo
llenaban estas fichas, en ellas se plasmaron las distintas clases a desarrollar junto con
sus atributos y funciones, todo el proceso se hizo en equipo para estar en convenio.

51

Graficador MIA

CAPTULO 4. CODIFICACIN
4.1 Disponibilidad del cliente
Una sugerencia que nos hace la metodologa XP es que el cliente siempre est presente
en cada una de las etapas del ciclo de vida del proyecto, un problema que comn al
emplear esta metodologa es la dificultad por parte del cliente de reunirse con el equipo
de desarrollo, estes problemas en la mayora de casos terminan provocando retrasos en
la gestin del proyecto, es por ello que se deben tomar medidas de respaldo respecto a
dicho problema.
Sabiendo dicho problema el equipo de desarrollo decidi resolver las historias de
usuario lo ms rpido posible, ya que las reuniones con el cliente fueron relativamente
escasas, afortunadamente existi un intermediario entre el cliente y el equipo, dicho
intermediario fue el asesor interno del proyecto el M.C Manuel Panzi Utrera, cuando
surgieron dudas acerca de las implementaciones del cdigo, su asesoramiento fue de
vital importancia, resolviendo as todas las dudas, ya que el entraba en contacto
frecuentemente con el cliente del proyecto.

4.2 Uso de estndares


Hoy en da el desarrollo de software se rige bajo estndares que facilitan la reutilizacin
de componentes, adems permiten la creacin de cdigos limpios y legibles.
El equipo de desarrollo ya tena amplia experiencia en estndares relacionados con el
lenguaje de programacin a utilizar en este caso Java, por lo que no fue nada dficil
ajustarse a los estnderes de programacin que exige dicho lenguaje.
Sin embargo se decidi realizar un glosario 13 de las clases basndose en el resultado
obtenido en las tarjetas CRC, la finalidad era facilitar el entendimiento del cdigo sin
tener que visualizar el mismo en cada momento, dicho glosario se almacen en un
documento.

13 Ver anexo D. GLOSARIO DE CLASES


52

Graficador MIA

4.3 Programacin dirigida por pruebas


En otras metodologas clsicas de diseo, la fase de pruebas unitarias era casi hasta el
final del proyecto, en cambio en la metodologa XP esto funciona de manera inversa, lo
anterior se refiere, a que antes de pasar a la realizacin de cdigo se deben generar unos
test o pruebas del sistema, esto ahorra tiempo al momento de la elaboracin del cdigo,
ya que en este caso el desarrollo est condicionado por dichas pruebas.
La programacin dirigida por pruebas fue implementada dentro de desarrollo del
Graficador de Encuestas, durante dicha etapa se designaron unos formatos dgitales
para la especficacin de dichas pruebas, los formatos fueron distribuidos entre ambos
miembros del equipo para consultarlos en todo el ciclo de desarrollo.
Se disearon unos formatos llamados casos de prueba los cuales describan
detalladamente el tipo de pruebas a realizar a cada componente.
Es necesario detallar que dichos formatos se registraron en un documento 14, el cual fue
modificado a lo largo del ciclo de vida todo el proyecto.
4.4 Programacin en parejas
Un detalle a destacar dentro de la metodologa XP, es la programacin en parejas, dicha
metodologa argumenta que es ms productivo que trabajen dos personas en un slo
computador, ya que sto sirve como una prctica retroalimentable, mientras un
programador codifica, el otro sirve de apoyo constante para la ubicacin de posibles
errores tambin para aportar soluciones ms factibles. Los roles de la pareja de
programadores deben ir cambiando constantemente.
Tal vez lo ms dficil de esta prctica es llegar a un concenso entre las ideas de ambos
desarrolladores, en el proyecto Graficador de Encuestas se implement dicha prtica,
lanzando resultados ms que favorables.
Existen varias razones por las cuales la programacin en parejas a veces funciona y a
veces no, el equipo de desarrollo lleg a la conclusin acerca de que es muy importante
14 Ver anexo C. PRUEBAS DE ACEPTACION.
53

Graficador MIA
el buen trato y la interaccin entre ambos programadores y as evitar rencillas y prdidas
innecesarias de tiempo. Por tanto se recomienda para futuras referencias la
implementacin

de

la

programacin

en

parejas

como

algo

productivo

retroalimentable.
Otro factor que tambin coadyuv al buen desempeo del trabajo en equipo, fue el uso
de internet y diversos servicios de mensajera instantnea tales como facebook, ya que
lo importante es mantener la comunicacin entre el equipo.

4.5 Integraciones permanentes


Se recomienda siempre en la metodologa XP mantener informado al equipo de
desarrollo sobre las nuevas versiones del producto, dicha prtica reduce el tiempo
destinado a la codificacin. Existen repositorios en la nube dedicados especialmente al
almacenamiento de informacin en tiempo real, lo anterior quiere decir que existen
mecnismos, a travs de los cuales es posible almacenar informacin que
automticamente es compartida con un grupo de usuarios predeterminado.
Las herramientas mencionadas anteriormente se denoninan Subversion los cuales
son sistemas para el control de versiones, se abrevian herramientas SVN.
El equipo de desarrollo no implement alguna de estas herramientas no por falta de
conocimientos, la razn fue que simplemente eran dos personas los miembros del
equipo y por tal motivo siempre se trabaj en pareja teniendo ambos siempre las ltimas
versiones de la aplicacin. Aunque se da como aporte el nombre de una herramienta
SVN, la cual los miembros del equipo conocan bastante bien TortoiseSVN15.

15 Vese Bibliografa (TortoiseSVN)


54

Graficador MIA
4.6 Propiedad colectiva del cdigo
En esta etapa se debe establecer al cdigo de la aplicacin como un trabajo colectivo,
donde todos los involucrados en el desarrollo

deben generar, aportar y retomar

soluciones en aras de realizar una mejor codificacin.


Lo anterior se resume en que cualquier integrante del equipo puede retomar la
codificacin que alguien ms haya empezado e inclusive mejorarla, todo esto sin la
necesidad de solicitar permiso al lder del proyecto.
En el proyecto Graficador de Encuestas para aplicar de mejor forma el sentido de la
propiedad colectiva, se decidi aplicar la estrategia de rotacin de personal, ya que al
ser una pareja de programadores, solamente se invertan los roles peridicamente
mejorando el entendimiento del cdigo y generando soluciones rpidas.
Es por esta razn que en las tarjetas CRC 16, siempre los colaboradores fueron ambos
miembros del equipo, nunca se implement alguna tarea individualmente.
4.7 Ritmo sostenido de trabajo
La metodologa XP hace hincapi en mantener el mismo ritmo en los tiempos de
trabajo, ya que un ritmo constante mejora la calidad del mismo, las jornadas laborales
no deben exceder las ocho horas diarias, muchos se preguntarn es necesario trabajar
horas extra?, la pregunta se responde por s sola, Siempre y cuando sea necesario,
pero esto no es tan simple como parece, dicha metodologa se refiere, que en ocasiones
son contraproducentes las horas extras laborales, ya que dicha carga provoca un impacto
bastante fuerte en la mentalidad de los miembros del equipoo, mermndolos a tal grado
de causar desmotivaciones causando una baja significante en el rendimiento laboral.
Cabe aclarar que el proyecto Graficador de Encuestas , es un proyecto relativamente
corto en comparacin con otros sistemas, aunque dicho lo anterior, no se le resta ningn
mrito, todo problema que cause la necesidad de ser plasmado en software tiene un alto
nivel de complejidad.

16 Ver Anexo B.TARJETAS CRC


55

Graficador MIA
Basndose en lo anteriormente mencionado, las horas destinadas a las jornadas de
trabajo se limitaron a un mximo de cuatro horas diarias, quedando tal y como se
muestra a continuacin:
Relacin del ritmo laboral estimado
Hora
s
Das x semana Semanas x mes
4
5
4
Ilustracin 29

Iteracin 1
80 hs.

Iteracin 2
80 hs.

Iteracin3 Total
80 hs.
240 hs.

Figura 4.1 Relacin del ritmo laboral del proyecto.

56

Graficador MIA

CAPITULO 5. PRUEBAS FUNCIONALES


Finalmente se llega a la fase final de la metodologa XP, dicha metodologa menciona
que se debe seguir un plan riguroso de pruebas, es una etapa relativamente simple, en
ella se generan casos de prueba de aceptacin, dichos casos consisten simplemente en
detallar las pruebas finales a realizar.
Los formatos utilizados para documentar las pruebas finales, fueron los mismos
mencionados en el punto 4.3 Programacin dirigida por pruebas.
En los casos de prueba se detall a fondo los puntos relevantes relacionados con la
funcionalidad final deseada.
Nmero de la prueba.
Historia a la que pertenece el componente a probar.
Nombre de la prueba.
Condiciones para realizar la prueba.
Entradas de datos.
Resultados esperados.
Resultados Obtenidos.
Observaciones (opcional).
Las pruebas fueron guadas por ambos miembros del equipo de desarrollo, los cuales
idearon en conjunto la programacin y resultados esperados para dichas pruebas,
estando siempre ambos presentes cuando se realizaban, y aportando soluciones cuando
ocurri algn tipo de fallo, el equipo de desarrollo concluy, que la implementacin de
dicha etapa fue favorable para el rendimiento ptimo de la aplicacin final.
En el anexo se encuentran documentadas los casos de pruebas de aceptacin
realizados.17

17 Ver anexo C.PRUEBAS DE ACEPTACION


57

Graficador MIA

CONCLUSIONES
Una vez finalizado el desarrollo del proyecto Graficador de Encuestas, el equipo se
reuni, para intercambiar comentarios acerca de la experiencia que implic el uso de la
metodologa XP.
El resultado final obtenido fue ms que satisfactorio, a pesar de que ciertos elementos
relacionados con la metodologa se desconocan, el equipo de desarrollo estuvo en
retroalimentacin constante, buscando informacin acerca de las cosas que se
desconocieran en torno a ella.
A continuacin se detallan los aspectos relevantes involucrados en este proyecto y la
metodologia XP.
Historias de usuario:
Sin duda alguna, una de las mejores caractersticas que posee eXtreme Programming
son las historias de usuario, dichas historias facilitan en gran medida el conocimiento
preeliminar de la naturaleza de la aplicacin.
Dentro de este proyecto, las historias de usuario fueron de vital importancia a lo largo
de todo el desarrollo, ya que fungieron como fuente de informacin para la aclaracin
de dudas, se recomienda siempre estar al tanto de la evolucin de las historias de
usuario, ya que en gran medida stas determinarn la mayor parte de la funcionalidad
involucrada con la aplicacin final.
Programacin dirigida por pruebas.
Una de las diferencias entre la metodologa XP respecto a otras metodologas clsicas,
es sin lugar a dudas la programacin dirigida por pruebas, ya que como se mencion en
captulos anteriores, en otras metodologas, las pruebas de aceptacin se realizaban
hasta el final del proyecto, esto podra parecer lo ms lgico en cualquier investigacin
y desarrollo de algn producto, pero en contraposicin con la ideologa de la
58

Graficador MIA
programacin extrema, dicha prctica lleva sin lugar a dudas a tener el control total
sobre el desarrollo del mismo, lo anterior se refiere al hecho, de que ahora la
codificacin del sistema o aplicacin, estar siempre condicionado por dichas pruebas.
Dentro del proyecto Graficador de Encuestas, la realizacin de los casos de prueba
antes que el cdigo fue de gran ayuda, ya que al momento de codificar, hubo menos
problemas tcnicos y lgicos ya que la realizacin e implementacin de todos los
componentes estuvo siempre regida por dichos casos.
Refactorizacin.
En una metodologa clsica la refactorizacin de componentes era visto como algo
tedioso, ya que era ms perjudicial que beneficioso, causaba una significable perdida de
tiempo, la razn de todo esto, era que cuando se necesitaba refactorizar un componente,
se tena que replantear la etapa de diseo, causando bastantes molestias en los grupos de
trabajo.
Como se mencion, una de las bondades de la metodologa XP, es la implementacin
del uso de la refactorizacin de componentes, sin replantear el diseo principal, ahora
los requisitos estn planteados en lenguaje formal del usuario y no en lenguaje tcnico
como antes sola ser, facilitando de amplia forma la correccin y reutilizacin del
cdigo generado.
En el desarrollo de este proyecto la refactorizacin de componentes fue de gran ayuda al
surgir modificaciones necesarias indicadas por el cliente, socavando de manera
satisfactoria la perdida de tiempo.
Para finalizar, cabe mencionar que una herramienta imprescindible en la actualidad, es
el uso del internet, a lo largo del ciclo de vida del proyecto Graficador de Encuestas, el
uso de esta herramienta fue de vital importancia, ya que se mantuvo la comunicacin
constante entre el equipo de desarrollo.
Por ltimo es necesario aadir que se recomienda favorablemente para futuros
desarrollos el uso de esta metodologa de diseo, ya que se produce un gran ahorro de
tiempo, esfuerzo e inversin.
59

Graficador MIA

RECOMENDACIONES
Antes de realizar el desarrollo de algn software, que involucre el uso de la
metodologa eXtreme Programming, se recomienda ampliamente capacitar a
todos los miembros del equipo de desarrollo, acerca de los manifiestos que
involucra el uso de dicha metodologia.
Muchos desarrolladores tienen la nocin de lo que es eXtreme Programming,
pero esto no quiere decir que sean expertos en el dominio de dicha metodologa,
por lo tanto se recomienda antes hacer evaluaciones a los miembros del equipo,
para saber que tanto conocimiento tienen acerca de ella.
En internet existe material muy rico en informacin acerca de eXtreme
Programming, por lo tanto se recomienda bajar manuales, ejemplos y leer toda
fuente de informacin posible que abunde sobre el tema.
Se recomienda no generar sobrecargas de trabajo entre los miembros del equipo,
esto en lugar de ser beneficioso es perjudicial ya que genera un impacto negativo
en la mentalidad de los desarrolladores.
Se recomienda que se genere un ambiente de trabajo agradable y confortable, ya
que en ocasiones el estrs es inevitable, por lo tanto se requiere un ambiente de
trabajo que ayude a los miembros del equipo a estar siempre tranquilos.
Como ltimo, se recomienda la propagacin de material informativo y
capacitacin acerca de eXtreme Programming, en las asignaturas de la
especialidad de la carrera de Ingeniera en Sistemas Computacionales del
Instituto Tecnolgico de Orizaba, ya que existe mucho desconocimiento acerca
del tema.

60

Graficador MIA

BIBLIOGRAFIA
(3.0, 2014)
3.0, L. C. (18 de Enero de 2014). Wikipedia. Obtenido de
http://es.wikipedia.org/wiki/Programaci%C3%B3n_extrema
(Avalos, 2011)
Avalos, J. L. (07 de Jun de 2011). Scribd. Obtenido de
http://www.scribd.com/doc/57257203/Metodologia-XP
(Avalos, 2011)
Avalos, J. L. (07 de Jun de 2011). Scribd. Obtenido de
http://www.scribd.com/doc/57257203/Metodologia-XP
(Corporation, 2013)
Corporation, O. (2013). NetBeans. Obtenido de https://netbeans.org/index_es.html
(Tejedores del Web)
Tejedores del Web. (s.f.). Obtenido de http://www.tejedoresdelweb.com/w/Introducci
%C3%B3n_XML#Historia_de_XML
(OReilly Media)
OReilly Media, I. (s.f.). O'Reilly XML.com . Obtenido de xml from the inside out :
http://www.xml.com/pub/a/98/10/guide0.html
(ORACLE)
ORACLE. (s.f.). Java. Obtenido de
http://www.java.com/es/download/faq/whatis_java.xml
(TortoiseSVN)
Apache (s.f) Subversion. Obtenido de
http://tortoisesvn.net/about.html

61

Graficador MIA

ANEXO
A. HISTORIAS DE USUARIO
Historia de Usuario
Nmero: 1

Usuario: Usuario general

Nombre historia: Seleccionar archivo de resultados de una encuesta


Prioridad cliente:
Alta

Riesgo en desarrollo:
Alto

Nivel de importancia : 5
Programador responsable: Josephine Corio Elvira
Descripcin:
El usuario debe ir a un men donde tendr una opcin que lo ayude a buscar el
archivo correspondiente a los resultados de una encuesta.
El buscador de archivos debe filtrar nicamente los documentos que coincidan
con el formato de resultados de encuestas. Dicho documento de resultados
estar sin normalizar, sto quiere decir que contendr solamente en su interior
las respuestas de la encuesta.
Una vez elegido el archivo mostrar un mensaje que indique si la operacin se
ha realizado

Observaciones:
Las encuestas se realizan mediante un servidor web de encuestas, los resultados se
almacenan en archivos de texto plano, dichos archivos contienen nicamente el valor
de cada respuesta.
El valor de stas respuestas va desde 1 como mnimo hasta 5 como mximo, por sta
razn para su graficacin las respuestas.deben ser normalizadas.

62

Graficador MIA
Historia de Usuario
Nmero: 2

Usuario: Usuario general

Nombre historia: Normalizacin de resultados de encuestas


Prioridad cliente:
Alta

Riesgo en desarrollo:
Alto

Nivel de importancia : 5
Programador responsable: Josephine Corio Elvira
Descripcin:
El usuario cuenta con una opcion el en menu, que convierte el documento sin
normalizar con los resultados de las encuestas en un formato adaptable para
ser grficado.
El documento que contiene los resultados de la encuesta debe ser simplificado
para su entendimiento, por lo cual los resultados seran divididos en 3 aspectos,
que son tiempo, conocimiento e inversion.
Asimismo se deben sumar las respuestas de cada aspecto para finalmente
obtener un solo valor por aspecto.

Observaciones:
El lenguaje utilizado para la normalizacion de los resultados de las encuestas es XML,
debido a su estandar para el intercambio de informacion estructurada entre diferentes
plataformas, es decir que nos sera util para tomar el contendido de cada encuesta y
pasarlo a un formato facil de emplear, para su graficacin.

63

Graficador MIA
Historia de Usuario
Nmero: 3

Usuario: Usuario general

Nombre historia: Generacin de grfica a partir de modelo normalizado XML


Prioridad cliente:
Alta

Riesgo en desarrollo:
Alto

Nivel de importancia : 5
Programador responsable: Armando Dector Solis
Descripcin:
El usuario cuenta con una opcion en el menu que permite transformar el
documento normalizado, en una grafica de tres dimensiones 3D.
La grafica debe ser interactiva con el fin de que el usuario pueda manipular y
ver con claridad cada uno de sus ejes.
Los ejes representaran los aspectos de Tiempo, Conocimiento e Inversion.

Observaciones:
La grafica se realiza mediante el marco de trabajo JMath Plot, el cual se enfatiza en
dar soporte a la creacion de graficas interactivas en 2D y 3D.

64

Graficador MIA
Historia de Usuario
Nmero: 4

Usuario: Usuario general

Nombre historia: Generar la imagen de la grfica


Prioridad cliente:
Alta

Riesgo en desarrollo:
Alto

Nivel de importancia : 5
Programador responsable: Armando Dector Solis
Descripcin:
Con el fin de evitar que el usuario abra la aplicacin cada vez que necesite
visualizar la grafica de una encuesta, se tendr una opcion para guardar una
imagen de la grafica generada.
El usuario debe ir al menu, donde habr una opcion que permita guardar la
imagen de la grfica y elegir la ubicacin donde se almacenar.
La imagen se guarda con la orientacion que el usuario le d en ese momento a
la grfica, es decir, que se puede guardar en el angulo deseado.

Observaciones:
Para futuras referencias la aplicacin cuenta con la opcion de capturar y guardar una
imagen de la grafica generada, para esto se opto por usar los metodos del marco de
trabajo (Framework) JMath Plot, que permite adaptar el codigo con sus funciones.

65

Graficador MIA
Historia de Usuario
Nmero: 5

Usuario: Usuario general

Nombre historia: Cambiar valores de los ejes


Prioridad cliente:
Media

Riesgo en desarrollo:
Medio

Nivel de importancia : 4
Programador responsable: Josephine Corio Elvira
Descripcin:
El usuario tendr un men en el cual habr una opcin, donde se puedan
modificar los valores de los ejes de la grfica.
Cambiar el valor de los ejes debe ser sencillo para el usuario, contando este
con una ventana donde slo se ingrese el nuevo valor del eje deseado y dando
click en un botn, haga los cambios inmediatamente.
Observaciones:

66

Graficador MIA

Historia de Usuario
Nmero: 6

Usuario: Usuario general

Nombre historia: Cambiar color del escalar


Prioridad cliente:
Baja

Riesgo en desarrollo:
Bajo

Nivel de importancia : 1
Programador responsable: Josephine Corio Elvira
Descripcin:
El usuario debe ir al menu y tener una opcion que le permita cambiar el color
del escalar.
Para cambiar el color el proceso debe ser facil, se debe mostrar una ventana
que muestre una cuadricula de colores ademas, contar con distintos modelos
de color como son HSV, HSL RGB y CMYK.
Lo unico que cambiara de color ser el punto en la grafica.

Observaciones:
El framework JMath Plot, cuenta con funciones para modificar el color, se acordo en el
equipo que adaptariamos el codigo con esas funciones.

67

Graficador MIA

Historia de Usuario
Nmero: 7

Usuario: Usuario general

Nombre historia: Cambiar leyenda del escalar


Prioridad cliente:
Baja

Riesgo en desarrollo:
Bajo

Nivel de importancia : 2
Programador responsable: Armando Dector Solis
Descripcin:
El usuario puede cambiar el nombre de la leyenda del escalar.
El usuario debe ir al menu donde habra una opcion, que diga cambiar la
leyenda del escalar.
El cambio debe ser sencillo, de preferencia que solo muestra una ventana
cambiar leyenda del escalar donde se puede introducir el nuevo nombre, dar
click en un boton y enseguida realizar el cambio y mostrarse en la grafica.

Observaciones:
De igual manera para hacer posible el cambio de nombre de la leyenda utilizaremos
las funciones del framework JMath Plot.

68

Graficador MIA

B. TARJETAS CRC
I.
Base de la aplicacin
Nombre: BaseMIA

CRC : 01

RESPONSABILIDADES:

COLABORADORES:

1.

Crear una clase que proteja


a los atributos importantes
de la aplicacin y adems
proporcione los mtodos
necesarios para acceder a
ellos.

Armando Dctor Sols


Josephine Corio Elvira

Funciones:
File
dataResults,
String
nameFile,
NormalizeSurveyResults normalizedSurvey, BufferedReader
bufferResults, Plot3DPanel oGraphic, DefaultTableModel
viewResults, int state;
Nota: El tipo de clase est indicado en negritas, aplicar
funciones set y get.
II.
Normalizar los resultados de la encuesta
Nombre:
CRC : 02
NormalizeSurveyResults
RESPONSABILIDADES:
COLABORADORES:
1.

Crear una funcin que Armando Dctor Sols


valide si un carcter es Josephine Corio Elvira
numrico.
2. Crear una funcin que
verifique que el archivo de
encuestas sea solamente de
30 lneas.
3. Crear una funcin que
valide si el archivo de
resultados elegido por el
usuario tiene el formato
correcto
para
ser
normalizado.
4. Crear una funcin que
normalice los resultados de
la encuesta, y retornar el
resultado.
Funciones: isNumeric(), counterLines(), isValidFile(), normalizedResults()

69

Graficador MIA

III.
Normalizar el XML
Nombre: NormalizeXML

CRC : 03

RESPONSABILIDADES:

COLABORADORES:

1.

Crear una funcin que


extraiga
los
valores Armando Dctor Sols
contenidos en el archivo Josephine Corio Elvira
XML, obtenidos de los
resultados de la encuesta.
2. Hacer una funcin que tome
los valores y los retorne a
las
coordenas
tiempo,
conocimiento e inversin.
Funciones:
NormalizeXML(),
setTimeKnowledgeInversion(),
getKnowledge(), getTime(), getInversion().

IV. Utileria de la aplicacin


Nombre: DriverMIA
RESPONSABILIDADES:
1. Crear una funcin que
2.
3.
4.
5.
6.

CRC : 04
COLABORADORES:

permita abrir el archivo con los

resultados de la encuesta.
Hacer una funcin en la cual se pueda seleccionar el archivo.
Hacer una funcin que pueda restablecer las tablas de
resultados generadas.
Crear una funcin que permita visualizar el archivo de
resultados sin normalizar (el original)
Crear una funcin que se encargue de crear el modelo XML.

Armando Dctor Sols


Josephine Corio Elvira

Crear una funcin para visualizar la grfica de los resultados


de la encuesta.
Crear una funcin para cambiar las escalas de la grfica.

7.
8. Hacer una funcin para cambiar el color del escalar.
9. Hacer una funcin para cambiar la leyenda del escalar
10. Crear una funcin que permita guardar una imagen
11.

de la
grfica generada.
Crear una funcin que permita restablecer la posicin de la
grfica.

Funciones: openSurveyFile(), viewFileChooser(), resetTableResults(), viewSurveyFile(), createModelXML


showGraphic(), changeAxesScales(), changeColorScalar(), changeLegendScalar(), saveGraphicImage
resetZoom()

70

Graficador MIA

V. Creador de encuestas XML


Nombre: XMLSurveyCreator CRC : 05
RESPONSABILIDADES:
1. Crear una funcin que tome

COLABORADORES:

el archivo que contiene los Armando Dctor Sols


resultados de la encuesta y Josephine Corio Elvira
de este generar un archivo
XML.
2. Crear una funcin que
retorne el archivo XML
normalizado.
Funciones: XMLSurveyCreator(), getPathXMLFile(), getTemplateContent(),
writteXMLFile(), getXmlNormalizedModel()

VI.
Errores Personalizados
Nombre: MIAException
RESPONSABILIDADES:
1. Crear una funcin que
permita
personalizar
los errores.

CRC : 06
COLABORADORES:
Armando Dctor Sols
Josephine Corio Elvira

Funciones: MIAException ().


VII.
Interfaz de la grafica
Nombre: Graficador3D

CRC : 07

RESPONSABILIDADES:
COLABORADORES:
1. Crear la interfaz de prueba la cual contenga
una barra de men.
Armando Dctor Sols
2. Crear un panel izquierdo para mostrar el Josephine Corio Elvira
XML y los resultados originales de la
encuesta.
3. Crear un panel derecho para mostrar la
grfica generada.
4. Crear un panel en la parte inferior que simule
una consola, donde se muestren las
operaciones realizadas como los errores
Funciones: rightPanelComponentMoved(), leftPanelComponentMoved(), consoleComponentMoved(),

VIII.

Ayuda
71

Graficador MIA
Nombre: Help

CRC : 08

RESPONSABILIDADES:
1. Crear una interfaz que
muestre un ndice de
contenido y una seccin
de Ayuda.
2. La seccin de Ayuda
muestra la solucin de
cada punto en el ndice.
Funciones: Help()

COLABORADORES:
Armando Dctor Sols
Josephine Corio Elvira

IX.
Cambiar el valor de los ejes
Nombre: ChangeAxesValues
CRC : 09
RESPONSABILIDADES:
COLABORADORES:
1. Crear una funcin que
permita cambiar los Armando Dctor Sols
ejes de la grfica que Josephine Corio Elvira
son
los
aspectos
tiempo, conocimiento e
inversin.
2. Crear una pequea
interfaz que permita
introducir los nuevos
datos de cada aspecto.
Funciones: ChangeAxesValues ().

72

Graficador MIA
C. PRUEBAS DE ACEPTACION

Caso de Prueba de Aceptacin


Historia de usuario (Nro. y Nombre)
1. Seleccionar archivo de resultados de
una encuesta

Nmero: 01

Nombre:
Seleccionar archivo de resultados de una encuesta
Descripcin: El usuario una vez que haya entrado en la aplicacin se dirige al men donde
selecciona la opcin Inicio Abrir archivo de resultado de encuesta, se le mostrara una
ventana de bsqueda para seleccionar el archivo de la encuesta a graficar, el buscador solo debe
filtrar archivos con la extensin .txt, una vez seleccionado el archivo se debe mostrar en la parte de
la consola el mensaje de dicha ejecucin.

Condiciones de Ejecucin:

El archivo solo debe cumplir con el formato de

resultados de la encuesta el cual es .txt

Entrada/Pasos de ejecucin:
1.
2.
3.
4.
5.
6.

El usuario abre la aplicacin


Del men principal elige la opcin Inicio Abrir archivo de resultado de encuesta.
Se muestra una ventana que permite ver las carpetas y documentos en el ordenador.
Solo se pueden seleccionar los archivos con extensin .txt
Se pulsara el botn Abrir archivo
Aparecer
en
la
seccin
de
consola
<<ARCHIVO DE RESULTADOS DE ENCUESTA SELECCIONADO>>
La ruta del archivo y el tiempo en que se ejecut la operacin.

Resultado Esperado: Una vez que se seleccion el archivo de la encuesta que se


quiere graficar, la consola nos debe mostrar un mensaje que diga: archivo de resultados de encuesta
seleccionado asimismo como la ruta del archivo y el tiempo en que se ejecut esto nos indica que
no hubo fallos al momento de elegir el archivo.

Evaluacin de la Prueba:
Prueba Satisfactoria

73

Graficador MIA

Caso de Prueba de Aceptacin


Nmero: 02

Historia de usuario (Nro. y Nombre)


2. Generar modelo XML para su
graficacin.

Nombre:
Generar modelo XML para su graficacin
Descripcin:

Una vez seleccionado el archivo de encuestas a graficar (Historia 1), el


usuario debe dirigirse al men donde seleccionara Opciones, Generar modelo XML para
graficacin, se le mostrara una ventana con un mensaje el cual pregunta si desea guardar la ruta
del modelo XML generado, ya que el usuario decidi guardar o no, debe mostrar la grfica
generada en el panel derecho de la aplicacin y de lado izquierdo el XML con los 3 puntos que
fueron tomados del archivo de resultados con los aspectos Tiempo, Conocimiento e Inversin,
igualmente en la parte de la consola se mostrara el mensaje exitoso Generacin del modelo XML
para graficacin con el tiempo de ejecucin de la operacin.

Condiciones de Ejecucin:

Para su ejecucin exitosa se debe contar con un


archivo que cumpla con el formato aceptable para su normalizacin, s la aplicacin acepta el
archivo no debe tener problema en la generacin de la grfica, en caso contrario se presenta una
ventana con un mensaje de que ocurri un error con dicho archivo.

Entrada/Pasos de ejecucin:
1.
2.
3.
4.
5.

El usuario se dirige al men donde se selecciona Opciones.


Dentro de Opciones se despliegan dos opciones, se selecciona Generar modelo
XML para su graficacin.
Se muestra una ventana la cual pregunta si se desea guardar la ruta del XML
generado.
Una vez pulsado copiar o cancelar, se procede a mostrar en el panel derecho la
grfica generada del archivo de resultados de la encuesta y en el panel izquierdo la
fuente del XML que se gener.
Finalmente la consola muestra el mensaje Generacin del modelo XML para
graficacin y el tiempo de ejecucin de la operacin.

Resultado Esperado: La generacin inmediata de la grfica y la fuente del XML del


archivo de resultados de encuesta seleccionado.

Evaluacin de la Prueba:
Prueba Satisfactoria

74

Graficador MIA

Caso de Prueba de Aceptacin


Nmero: 03

Historia de usuario (Nro. y Nombre)


3. Visualizar archivo de resultados sin
normalizar

Nombre:
Visualizar archivo de resultados sin normalizar
Descripcin:

El usuario debe ir al men, seleccionar Opciones de las opciones que


despliega se pulsa en Visualizar archivo de resultados sin normalizar, este inmediatamente nos
muestra en el panel izquierdo una pestaa Resultados, la cual muestra el archivo de texto plano
que contiene los resultados de la encuesta sin normalizar.

Condiciones de Ejecucin: Que se haya generado la grfica y el archivo XML del


archivo de resultados de la encuesta (Historia 2).

Entrada/Pasos de ejecucin:
1.
2.
3.

El usuario se dirige al men y selecciona Opciones


De las dos opciones se elige Visualizar archivo de resultados sin normalizar
Enseguida se muestra en el panel izquierdo dentro de la pestaa Resultados el
archivo de texto plano con los resultados de la encuesta seleccionada.

Resultado Esperado: Mostrar el archivo original de los resultados de la encuesta


realizada a cierta empresa.

Evaluacin de la Prueba:
Prueba Satisfactoria

75

Graficador MIA

Caso de Prueba de Aceptacin


Nmero: 04

Historia de usuario (Nro. y Nombre)


4. Funcionalidad de contenedores
(Ventanas)

Nombre:
Funcionalidad de contenedores (Ventanas)
Descripcin: El usuario cuenta con funcionalidades para reestablecer las vistas de

las
ventanas, en el caso de que este las haya cerrado. El usuario se dirige al men, selecciona la opcin
Ventana. Se le mostrara un men desplegable con las alternativas Ventana de archivo la cual
reestablece la ventana del archivo, Ventana de grafica esta reestablece la ventana de la grfica,
Ventana de consola esta reestablece la ventana de la consola y Resetear ventanas esta opcin
reestablece todas las ventanas.

Condiciones de Ejecucin:

Simplemente haber cerrado las ventanas de la

aplicacin.

Entrada/Pasos de ejecucin:
1.
2.
3.
4.
5.
6.

El usuario se dirige al men, selecciona la opcin Ventana


Se muestra un men desplegable con cuatro opciones: Ventana de archivo,
Ventana de grfica, Ventana de consola y Resetear ventanas.
Al pulsar Ventana de archivo se muestra la ventana de archivo donde est el
archivo XML y los resultados sin normalizar.
Al pulsar Ventana de grfica se muestra la ventana con la grfica generada.
Al pulsar Ventana de consola se muestra la ventana de la consola que muestra
el tiempo y resultado de las operaciones.
Finalmente al pulsar Resetear ventanas muestra las 3 ventanas archivo, grfica
y consola.

Resultado Esperado: Mostrar fcilmente las ventanas que el usuario puede eliminar y
tener la opcin de volver a visualizarlas.

Evaluacin de la Prueba:
Prueba Satisfactoria

76

Graficador MIA

Caso de Prueba de Aceptacin


Nmero: 05

Historia de usuario (Nro. y Nombre)


5. Cambiar Valor de los Ejes

Nombre:
Cambiar Valor de los Ejes
Descripcin: El usuario cuenta con funcionalidades para la grfica una de ellas es la de
cambiar los valores de los ejes, para ello el usuario debe ir al men, seleccionar la opcin Grfica
Cambiar valor de los ejes, se mostrara una ventana donde se deben introducir los nuevos
valores para los aspectos que forman el punto dentro de la grfica, Tiempo, Conocimiento e
Inversin.

Condiciones

de

Ejecucin:

Tener las 3 ventanas ejecutndose correctamente, la ventana de archivo mostrando el XML y la


pestaa de resultados, la ventana de grfica mostrando la grfica generada del archivo de resultados
de la encuesta y la ventana de la consola con el tiempo y mensaje de la operacin realizada.

Entrada/Pasos de ejecucin:
1.
2.
3.
4.
5.

El usuario se sita en el men y selecciona la opcin Grafica


Se muestra un men desplegable y se pulsa la opcin Cambiar valores de los
ejes
Inmediatamente se le muestra al usuario una ventana donde este debe introducir el
nuevo valor de los ejes, con respecto a los aspectos de Conocimiento, Tiempo e
Inversin.
Se pulsa el botn Aceptar
Enseguida se muestra la grfica con los ejes modificados.

Resultado Esperado: Lograr el cambio de los valores de la grfica generada, de


forma sencilla y sin mucha complicacin.

Evaluacin de la Prueba:
Prueba Satisfactoria

77

Graficador MIA

Caso de Prueba de Aceptacin


Nmero: 06

Historia de usuario (Nro. y Nombre)


6. Cambiar color del escalar

Nombre:
Cambiar Color del Escalar
Descripcin: El usuario tiene una opcin que le permite cambiar el color del escalar, con el
objetivo de que pueda visualizar con claridad el punto en la grfica. El usuario debe dirigirse al
men, en la opcin Grafica, dentro del men desplegable seleccionar la opcin Cambiar color
del escalar este a su vez nos mostrara una ventana con las muestras de colores a elegir, tambin
contara con cuatro pestaas con otros modelos de color que son HSV, HSL, RGB, CMYK que
igualmente permite al usuario a modificar el color a su gusto, para finalmente mostrar el punto en la
grfica con el color deseado.

Condiciones

de

Ejecucin:

Tener las 3 ventanas ejecutndose correctamente, la ventana de archivo mostrando el XML y la


pestaa de resultados, la ventana de grfica mostrando la grfica generada del archivo de resultados
de la encuesta y la ventana de la consola con el tiempo y mensaje de la operacin realizada.

Entrada/Pasos de ejecucin:
1.
2.
3.
4.
5.

El usuario se sita en el men y selecciona la opcin Grafica


Se muestra un men desplegable y se pulsa la opcin Cambiar color del
escalar
Enseguida se le muestra al usuario una ventana con las muestras de color a
seleccionar y cuatro pestaas con distintos modelos de color: HSV, HSL, RGB,
CMYK.
Se pulsa el botn Aceptar
Inmediatamente aparece el punto dentro de la grfica modificado.

Resultado Esperado: Contar con la opcin para cambiar el color del escalar, con una
muestra de colores y que inmediatamente se muestre en la grfica el nuevo color seleccionado.

Evaluacin de la Prueba:
Prueba Satisfactoria

78

Graficador MIA

Caso de Prueba de Aceptacin


Historia de usuario (Nro. y Nombre)
7. Cambiar leyenda del escalar

Nmero: 07
Nombre:
Cambiar Leyenda del Escalar
Descripcin:

El usuario se debe dirigir al men y seleccionar la opcin Grafica


Cambiar leyenda del escalar, este mostrara una pequea ventana que permita introducir el
nuevo nombre para la leyenda, una vez introducido se debe mostrar el reciente nombre en la parte
inferior de la grfica.

Condiciones

de

Ejecucin:

Tener la ventana de grfica, presentando la grfica generada del archivo de resultados de la


encuesta.

Entrada/Pasos de ejecucin:
1.
2.
3.
4.
5.

El usuario se sita en el men y selecciona la opcin Grafica


Se muestra un men desplegable y se pulsa la opcin Cambiar leyenda del
escalar
Enseguida se le muestra al usuario una ventana en donde se introduce el nuevo
nombre para la leyenda.
Se pulsa el botn Aceptar
Enseguida se muestra el nuevo nombre en la parte inferior de la grfica.

Resultado Esperado: Que se pueda cambiar el nombre de la grfica por medio de una
ventana y que el proceso sea rpido y sencillo para el usuario.

Evaluacin de la Prueba:
Prueba Satisfactoria

79

Graficador MIA

Caso de Prueba de Aceptacin


Nmero: 08

Historia de usuario (Nro. y Nombre)


8. Guardar imagen de la grafica

Nombre:
Guardar Imagen de la Grafica
Descripcin:

El usuario debe dirigirse al men, seleccionar la opcin


GraficaGuardar imagen de la grfica, se mostrara una ventana que permita seleccionar el
lugar donde se desea almacenar la imagen. La imagen se debe almacenar en el ngulo en la cual se
encuentra en ese momento.

Condiciones

de

Ejecucin:

Tener la ventana de grfica, presentando la grfica generada del archivo de resultados de la


encuesta.

Entrada/Pasos de ejecucin:
1.
2.
3.
4.
5.

El usuario se dirige al men, selecciona la opcin Grafica


Se muestra un men desplegable y se pulsa la opcin Guardar imagen de la
grfica.
Inmediatamente se presenta al usuario una ventana para elegir la ubicacin en
donde se almacenara la imagen.
Se pulsa el botn Aceptar
La imagen se encuentra en la ubicacin seleccionada por el usuario y esta se
muestra en el ngulo que tena la grfica en el momento del guardado.

Resultado Esperado:

Que se pueda almacenar una imagen de la grfica, con el


ngulo que en ese momento el usuario tenga la grfica.

Evaluacin de la Prueba:
Prueba Satisfactoria.

80

Graficador MIA

Caso de Prueba de Aceptacin


Nmero: 09

Historia de usuario (Nro. y Nombre)


9. Reestablecer grafica

Nombre:
Reestablecer Grafica
Descripcin:

El usuario debe elegir la opcin en el men Grafica Reestablecer


grafica, con pulsar esta opcin, inmediatamente la grfica retornara a la posicin original en la que
se gener.

Condiciones

de

Ejecucin:

Tener la ventana de grfica, presentando la grfica generada del archivo de resultados de la


encuesta.

Entrada/Pasos de ejecucin:
1.
2.
3.

El usuario se dirige al men selecciona la opcin Grafica


Del men desplegable se elige la opcin Reestablecer grafica
Enseguida se reestablece la grfica en su posicin original.

Resultado

Esperado:

Que se reestablezca la grfica en la posicin el que originalmente se gener.

Evaluacin de la Prueba:
Prueba Satisfactoria

Caso de Prueba de Aceptacin


81

Graficador MIA
Historia de usuario (Nro. y Nombre)
10. Ayuda de la aplicacin

Nmero: 10
Nombre:
Ayuda de la Aplicacin

Descripcin: El usuario cuenta con una opcin en el men Ayuda, esta permite tener una
gua para nuevos usuarios, la cual contiene un ndice de contenido con preguntas frecuentes acerca
de la aplicacin, estos ndices son links los cuales al ser pulsados deben brindar al usuario un
manual de cmo resolver cada una de las preguntas, incluyendo imgenes que muestren como
resolver el problema paso a paso.

Condiciones de Ejecucin:

La opcin de Ayuda se puede visualizar sin tener


un archivo seleccionado mucho menos generar el XML o la grfica, con solo tener la aplicacin
ejecutndose es suficiente.

Entrada/Pasos de ejecucin:
1.
2.
3.
4.
5.
6.

El usuario se dirige al men y selecciona la opcin Ayuda


Dentro del men Ayuda, se escoge la opcin Contenido
Enseguida se muestra una ventana que contiene 2 paneles.
Del panel izquierdo se selecciona del ndice una de las preguntas frecuentes.
En el panel derecho se muestra paso a paso la solucin a la pregunta seleccionada.
Se oprime el botn X para salir de Ayuda

Resultado Esperado:

Que se pueda tener a la mano la solucin a una pregunta

relacionada con la aplicacin.

Evaluacin de la Prueba:
Prueba Satisfactoria

D. GLOSARIO DE CLASES
NormalizeSurveyResults
82

Graficador MIA
Funcin
isNumeric(char digit)

Descripcin
Verifica que

Tipo
un

carcter

sea

numrico
boolean
Verifica que el total de lneas de un
archivo de resultados de encuestas
sea igual a 30, recibe como

counterLines(File survey)

isValidFile()

parmetro dicho archivo.


Verifica que un archivo

de

resultados

de

sin

normalizar

tenga

NormalizeXML
Funcin

un

formato

vlido.
boolean
Normaliza un archivo de resultados
de

normalizedResults()

encuestas

int

encuestas,

retornando

resultado en un array.

el
double []

Descripcin
Tipo
Extrae los valores contenidos en un
archivo xml correspondiente a la
estructura

de

una

encuesta

setTimeKnowledgeInversion() normalizada
void
Obtiene el valor correspondiente al
getKnowledge()

eje conocimuento
double[]
Obtiene el valor correspondiente al

getTime()

eje Tiempo
double[]
Obtiene el valor correspondiente al

getInversion()

eje Inversin

DriverMIA
Funcin
openSurveyFile()
viewFileChooser()
resetTableResults()

Descripcin
Abre
el

double[]

Tipo
archivo

sin

normalizar

correspondiente a la encuesta
Void
Proporciona el navegador de archivos
Void
Limpia la tabla donde se visualizan los Void
83

Graficador MIA
resultados sin normalizar
Permite visualizar el archivo del modelo xml
generado correspondiente a la encuesta
viewSurveyFile()

normalizada.
Void
Permite crear el modelo XML a partir de los

createModelXML()

resultados de una encuesta sin normalizar.


Void
Genera la grfica en 3D, correspondiente al
modelo

xml

generado,

recibe

como

showGraphic(File modelXML)

parmetro el archivo xml normalizado.


Void
Permite cambiar los valores de los ejes de la

changeAxesScales()

grfica
Void
Permite cambiar el color del escalar en la

changeColorScalar(Color color) grfica


Void
Permite cambiar la leyenda de la grfica
changeLegendScalar()

generada
Void
Permite guardar una imagen en formato

saveGraphicImage()

PNG, correspondiente a la grfica generada. Void


Permite reestablecer el zoom aplicado al
objeto grfico.
Void

resetZoom()

: XMLSurveyCreator
Funcin

getPathXMLFile()

Descripcin
Devuelve la

ruta

encuentra

el

correspondiente

Tipo
donde

se

archivo
al

modelo String

generado.
Obtiene el contenido de un archivo
getTemplateContent()

correspondiente a la plantilla del String

writteXMLFile()

modelo xml a implementar.


Genera un archivo en formato xml Void
84

Graficador MIA
correspondiente al resultado final
del proceso de normalizacin de los
resultados de una encuesta.
Obtiene
el
archivo
getXmlNormalizedModel()

XML

correspondiente al resultado final File


del proceso de normalizacin.

NormalizeXML
Funcin

Descripcin
Tipo
Hereda de la clase Exception,

MIAException(String errorMessage) permite personalizar un error y

lanzarlo.
Help
Funcin
initHelp()
ChangeAxesValues
Funcin

Constructor

Descripcin
Tipo
Inicia el componente de ayuda al usuario void

Descripcin
Tipo
Proporciona una interfaz que permite cambiar los
valores de los ejes en la grfica generada.

ChangeAxesValues

Recibe como parmetro el objeto instanciado

(Graficador3D oG3D)
ChangeAxesValues()

asociado a la interfaz principal Graficador3D.


constructor
Permite realizar el cambio de los valores en el eje void

BaseMIA
Funcin

Descripcin
Tipo
Permite modificar el archivo de

setDataResultsFile

resultados de la encuesta sin

(File dataResults)

normalizar.
Void
Permite obtener el archivo de
resultados de la encuesta sin

getDataResultsFile()

normalizar.
File
Permite modificar el nombre del

setFileName(String

archivo de resultados de la

nameFile)
getFileName()

encuesta sin normalizar.


Void
Obtiene el nombre del archivo String
85

Graficador MIA
de resultados de la encuesta sin
normalizar.
Permite reinstanciar el acceso a
setNormalizedSurvey

la clase NormalizedSurvey la

(NormalizeSurveyResults

cual verifica el formato del

normalizedSurvey)

archivo de la encuesta a analizar. Void


Obtiene el acceso a la clase
NormalizedSurvey para verificar
el contenido del archivo de la NormalizeSurveyResult

getNormalizedSurvey()

encuesta a analizar.
s
Obtiene el contenido de un

getBufferResults

archivo de resultados, recibe

(FileReader results)
setGraphic

como parmetro dicho archivo. BufferedReader


Permite modificar el objeto

(Plot3DPanel oGraphic)
getGraphic()

grfico.
Obtiene el objeto grfico

Void
Plot3DPanel

E. DIAGRAMA DE CLASES

86

Graficador MIA

87

Das könnte Ihnen auch gefallen