Está en la página 1de 5

Metodolog as de Dise no y Programaci on

Tarea 2 Profesor: Alexandre Bergel Auxiliar: Juan Pablo Sandoval A. Ayudantes: Pablo Estefo , Daniel Notario May 14, 2013
Visual Co-occurrence Matrix es un programa creado por la empresa CC3002 que permite visualizar grafos representados por una matriz de adyansencia. Sin embargo, el potencial de esta visualizaci on no ha sido demostrado aun. Twitter que es uno de los potenciales clientes de la empresa CC3002 todav a esta indeciso si comprar dicho producto o no. La empresa CC3002 para poder cerrar el trato con Twitter pretende crear un par de ejemplos de esta visualizaci on con datos de reales de Twitter. Lamentablemente, los principales desarrolladores de la empresa est an ocupados corrigiendo y dando soporte a las otros productos de la empresa. Por este motivo, la empresa CC3002 ha decido conar esta misi on en tus manos debido a tu gran capacidad. Por su puesto se te brindara todo el apoyo necesario para realizar esta tarea. En la siguiente secci on se muestra el actual estado del programa y unas instrucciones de uso.

Visual Co-occurrence Matrix

La Figure 1 muestra un ejemplo de la matriz. La misma que fue creada a partir del siguiente c odigo escrito en java. Cada celda de la matriz puede ser actualizada haciendo uso del metodo update(UIShape shape,int i, int j). Para asignarle un color a una gura se le debe pasar como argumento un objeto de la clase java. awt.Color (http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/Color.html).
1 2 3 4 5 6 7 8 9 10

public class MatrixDemo { public static void main(String[] args) { UIAdjancencyMatrix matrix=new UIAdjancencyMatrix(4,4); String[] cc3002Guys=new String[]{juampi,pablo,andres,alex}; // setting x and y labels with a string for(int i=0;i<cc3002Guys.length; i++){ matrix.updateXLabel(cc3002Guys[i], i); matrix.updateYLabel(cc3002Guys[i], i); } //lling with random colors

Figure 1: Visual Co-occurrence Matrix Sample


for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { matrix.update(new UIBox(Math.random()>0.5?Color.RED:Color.BLUE), i, j); } } // changing shape for rst cell matrix.update(new UICircle(Color.GREEN),0, 0); // UIFrame frame=new UIFrame(); frame.add(matrix); frame.setVisible(true); } }

11 12 13 14 15 16 17 18 19 20 21 22 23 24

Twitter information

Adjunto podr a encontrar el archivo /twitter/data.txt con la informaci on correspondiente a 200 tweets de dia 2013-04-16. Cada linea de este archivo corresponde a un tweet. Cada linea tiene tres datos separados por una tabulaci on. El primero dato corresponde al autor del tweet, el segundo es el idioma en que se publico el tweet y el tercero es el mensaje. Por ejemplo, la siguiente linea corresponde a un tweet, donde el autor fue @Mwiegy, fue escrita en ingles y el mensaje es @Mwiegy you got me there wiggy.
1

@Mwiegy

en

@Mwiegy you got me there wiggy

Tarea 2

La tarea 2 consiste en corregir y mejorar la visualizaci on Visual Co-occurrence Matrix y visualizar la informaci on de twitter. A continuaci on se describen detalladamente los hitos que deb eria contener la tarea 2.

Figure 2: Visual Co-occurrence Matrix of Twitter

Crear un modelo objeto que permita almacenar los datos del archivo /twitter/data.txt. Parsear los 200 tweets y crear una instancia de su modelo creado en el punto anterior. Crear una visualizaci on usando Visual Co-occurrence Matrix usando las siguientes palabras como v ertices.
1 2 3 4 5 6 7 8 9

String[] data={be,have,use,say,do,write,like ,make,see,look,go ,come,know, call,nd,work ,take,get,live,show,give ,think,help,mean ,move,tell,want,play ,put, read, spell,follow ,change,need,build,stand ,own,answer};

Donde el color de cada celda (i,j) de la matriz es asignado con el siguiente criterio. Blanco si no existe ning un tweet que contenga esas dos palabras (la palabra[i] y la palabra[j]). Y gris si existe por lo menos un tweet que contenga esas dos palabras. La visualizaci on resultante deber a verse como en la Figure 2. Agregar un combobox en la ventana que permita ordenar los v ertices por orden alfabetico. Agregar interacciones a las celdas de la matriz. De forma tal que cuando el usuario pase el mouse por dicha celda, la palabra[i] (derecha) y la palabra[j] (arriba) cambien de color a rojo. Y vuelva a su color original (negro) cuando el mouse salga del area de la celda. Cada una de las funcionalidad anteriores deben estar testadas y documentadas. Se debe aplicar todos los conceptos y buenas practicas vistas en clases. Pueden usar el siguiente link como inspiraci on http://bost.ocks.org/mike/miserables/. Entregables Se debe subir a u-cursos la carpeta correspondiente a su proyecto eclipse (c odigo fuente + javadocs). NOTAS Para desarrollar la Tarea se debe considerar todo lo aprendido en clase: unit test, patrones de dise no, polimorsmo, etc. La cobertura de los test debe ser de al menos 70%. Se deben documentar todas las clases. Pensando un poco en la Tarea 3. El dise no elaborado debe permitir que el programa sea f acilmente extensible en: Incorporar nuevos criterios para asignar colores a la matriz, por ejemplo, rojo si hay mas de 20 tweets que contengan esas dos palabras, amarillo si hay por lo menos 10 tweets, y blanco si es que no existen tweets que contengan esas palabras. 4

Incorporar nuevos algoritmos para ordenar los v ertices. Incorporar nuevas interacciones a la celdas, por ejemplo, que cuando se pase el mouse por una celda todas las celdas de su la y columna cambien de gura.

También podría gustarte