Mostrando entradas con la etiqueta proyecto. Mostrar todas las entradas
Mostrando entradas con la etiqueta proyecto. Mostrar todas las entradas

31 mar 2011

Aplicación de patrones de diseño

Taller de Programación Orientada a Objetos 
Semana 9 

Incorporación de patrones de diseño en la implementación del proyecto.

24 mar 2011

Demostración de avance parcial

Taller de Programación Orientada a Objetos 
Semana 8 

Para esta semana les muestro el avance que tengo en mi proyecto, les recuerdo que se trata de un programa que te permita crear gráficas con facilidad de ciertas bases de datos. Sinceramente no llevo muy avanzado mi proyecto, hasta el momento solo hace cosas mediante la terminal, y el aspecto gráfico que sin duda es de lo más importante dado a que se requiere visualizar gráficas, lo iré incorporando poco a poco.

Sigo manejando las clases Menu, Registro, Nuevo, Graficar, Barras, Histograma y Pastel. Donde Menu es la clase principal del programa.

En la siguiente imagen les muestro como están los archivos dentro del paquete proyecto:


Ahora desde el terminal compilare los archivos:
esteban@esteban:~/Documents$ javac proyecto/*.java


Y ahora podemos ver que ya se han creado los archivos .class para que java pueda interpretar el código.


Ejecutando el programa desde el terminal se vería algo así:
esteban@esteban:~/Documents$ java proyecto.Menu p


Me falta ponerle más opciones al menú y agregarle la edición a los parámetros de las gráficas, que pronto estaré agregando, mientras tanto solo es muestra de que ya se logra ingresar de una clase a la otra, y escribe algo en terminal para indicarnos que es lo que se debería de estar haciendo.

Les dejo unos fragmentos del código:
public class Menu {

 public Menu() {
  BufferedReader entrada = null;

  try {
   System.out.println("Seleccione una opcion:");
   Nuevo n = new Nuevo();
   Registro r = new Registro();

   System.out.println("Selecciona el registro
      que quieres graficar:");
   BufferedReader in = new BufferedReader(
     new InputStreamReader(System.in));
   String linea = in.readLine();
   int x = Integer.parseInt(linea);
   if (x == 1) {
    System.out.println("Seleccionado registro 1\n");
    Grafica gra = new Grafica();
    System.out.println("Deseas guardar la grafica: Si/No\n");
   }

  } catch (Exception e) {
   System.err.println("Error");
   System.exit(-1);
  } finally {
   if (entrada != null) {
    try {
        entrada.close();
    } catch (Exception ex) {}
   }
  }
 }

 public static void main(String[] args) {
  System.out.println("Esta es la ventana del Menu\n");

  Menu m = new Menu();

  System.out.println("Cerrar programa\n");

  return;
 }
}
Es la clase Menu, donde la función main crea el mismo Menu, y este es el que nos permitirá ver las opciones disponibles en la ventana principal del programa.

 public Nuevo() {
  try {
   FileWriter fw = new FileWriter("proyecto/nuevo.txt");
   BufferedWriter bw = new BufferedWriter(fw);
   PrintWriter salida = new PrintWriter(bw);
   salida.println("Esteban");
   salida.println("Cecilia");
   salida.println("Roberto");
   salida.println("Juan");
   salida.close();

   System.out.println("Se creo un nuevo archivo\n");
  } catch(java.io.IOException ioex) {
   System.out.println("Se presento el error: " +
    ioex.toString());
  }
 }

 public void agregarColumna() {
 }

 public void visualizar() {
 }
En esta clase Nuevo para un nuevo registro he hecho que el programa cree una lista de nombres simple pero desde el mismo programa, pero esa no es la idea, ya que el usuario es el que ira agregando esa información.

 public Registro() {
  System.out.println("Entra a Registro");
  System.out.println("Ver registros...\n");

  File archivo = null;
  FileReader fr = null;
  BufferedReader br = null;

  try {
   System.out.println("1. Registro de nombres");
   archivo = new File("proyecto/nuevo.txt");
   fr = new FileReader(archivo);
   br = new BufferedReader(fr);
   String linea;
   while((linea = br.readLine()) != null)
    System.out.println(linea);
  } catch(Exception e) {
   e.printStackTrace();
  }
 }
Nos lee los datos que están contenidos en el archivo creado por Nuevo, y es aquí donde se comprobará que bases de datos se tienen disponibles, y poder mostrarlas al usuario.

Es un tanto sencillo pero espero que vaya tomando forma.

24 feb 2011

Especificación técnica

Taller de Programación Orientada a Objetos 
Semana 5 

Ahora les muestro un documento donde encontrarán el escrito técnico que detalla la implementación del proyecto en el que estoy trabajando actualmente. No esta basado completamente en el estándar, pero incluyo los puntos que creo de mayor importancia.




Como conclusión de lo visto en la semana cinco, podemos destacar que la creación de documentación del proyecto y el documento con la especificación técnica, ayuda mucho a trabajos en equipo en un mismo proyecto, además que pueda surgir la necesidad de que una persona externa a nosotros deba continuar con el proyecto, y con esto tenga los recursos necesarios para trabajar inmediatamente y sin la pérdida de tiempo que causaría analizar que es lo que hace hasta el momento cierto programa y tener que preguntar a desarrolladores anteriores cuáles son los objetivos del programa, en que se esta trabajando, etcétera.

Cualquier aclaración, con gusto responderé aquí mismo en los comentarios.

15 feb 2011

Presentación de proyecto

Programación Orientada a Objetos 
Semana 5 

Para esta semana tenemos programado la presentación del tema de nuestro proyecto, y hablaremos en clase en que estamos trabajando. En mi caso hablare acerca de mi programa que crea gráficas en base a una cierta tabla de datos.

Les dejo las diapositivas que estaré mostrandoles en clase, y espero su participación en los comentarios, ya que me será de gran ayuda que aporten con ideas.


Presentación de proyecto
Ver más presentaciones de Esteban González.


De antemano, gracias por sus comentarios.

26 ene 2011

Definición de proyecto

Programación Orientada a Objetos 
Semana 1 

La meta para este semestre en la clase de Programación Orientada a Objetos es desarrollar nuestro propio software. Nuestro programa debería de ser útil para alguna determinada acción, y por lo tanto deberán de haber usuarios, o mínimo uno, el que será nuestro cliente.

Desde el primer día en que tuvimos que pensar en lo que será nuestro proyecto tuve una idea de crear un programa estadístico.

Esta idea me surgió a partir de unas gráficas con las que he estado trabajando en las ultimas semanas, donde de unas tablas seleccionaba solo aquellos datos que necesitaba para graficar cierta información, y para cada diferente tipo de gráfica tenía que repetir el proceso de selección de datos, algo que debería ser un tanto más rápido y fácil de hacer.

El programa que pienso crear sería usado para la introducción de datos a unas tablas, que bien podrían ser en SQL, donde se puedan agregar nuevos datos a la lista, modificar alguno de ellos, eliminarlos también y poder visualizar la tabla completa. Además este nos permitirá, en base a los datos contenidos en estas tablas, obtener gráficas de la información que nosotros necesitemos visualizar.


Por el momento no tengo un cliente en específico, pero el programa en sí lo crearé para que alguna institución que requiera obtener de una forma gráfica la información de algún censo, encuesta, etc. lo haga de forma rápida.

Algo más que me gustaría agregar al programa es una especie de plano de la ciudad, por ejemplo si tuviéramos en una de nuestras tablas las coordenadas geográficas de zonas de alto riesgo en cuanto a inundaciones en el área metropolitana, generar mapas donde se muestren sombreadas estas zonas y ayuden a poner atención a las zonas más peligrosas. También podría ser para indicar las zonas donde se cometen más robos de autos, y que el tono de la mancha que indica la zona, dependa del número de incidentes registrados en la misma.


Hasta el día de hoy, y si es que no cambio de idea, pienso desarrollar este software en Java, ya que cuenta con las herramientas necesarias para trabajar precisamente en mi idea, y que espero me resulte bien.

Encontré una imagen que describe visualmente lo que tengo en mente, tal vez yo agregue unas cuantas opciones más para que sea un programa completo, pero eso lo iré comentando según mi avance en el transcurso de las semanas.


Estimo que dentro de dos semanas tenga ya una base mucho más solida y que el programa este específicamente creado para un cierto cliente, ya que por el momento solo esta destinado a aquellos que requieran de un programa estadístico.

Imágenes: Statics | Gráfica
Mapa obtenido desde Google Maps.