viernes, 15 de julio de 2011

Taller - Demo Final

Aquí esta el link para descargar el codigo del proyecto:

Proyecto Codigo

Aquí el link para el manual:

Manual de Proyecto

Manual de Proyecto en Terminal

Nota:*
El "Manual de Proyecto" lo realice basándome si el programa estuviera completo

Taller - Eventos, Excepciones y Errores

En la Interfaz Gráfica que programe fue la siguiente:


Eventos



En el evento de dar click en la opción modificar igual que en la opción ingresar , se habré una ventana nueva para ingresar los datos que se modificara al producto.
En el evento de dar click en la opción ver inventario se habré una ventana mostrando la tabla de productos.
En el evento de dar click en la opción ver Ventas se habré una ventana mostrando las ventas totales.


Las Ventanas que se supone tienen que abrirse, no lo termine, me falto terminar eso, lo deje inconcluso.

Excepciones:



Al momento de dar click en ingresar producto, puede haber un caso que se pueda cambiar y que cambie a la opción de modificar producto, eso se puede cambiar en el código, eso ya seria un error de sintaxis.
En el Caso de Ventas, igual, puede que sea por error de syntaxis que en algun momento no se habra la ventana mostrando las ventas.

Errores:
El producto sea ingresado de manera mal escrita en la opcion de ingresar producto, en este caso, el producto se guarda, pero se guardaria con errores de sintaxis, seria cuestion de eliminar el producto en la opcion modificar producto.

Taller - Documentacion Tecnica

La Documentación Técnica que Genero el JavaDoc fueron los siguientes Archivos:

Descargar:
Base de Datos Archivos
Inventario Archivos
Inventario Archivos

Bueno, en esos links se descargan los archivos html.

jueves, 14 de julio de 2011

Taller - Sistemas Distribuidos

Como Distribuir mi Sistema en un Sistema Distribuido??

Principalmente, mi programa mas bien , seria un programa personal, como lo habia comentado en la entrada anterior sobre sistemas distribuidos, pero el programa puede ser usado en internet, se puede implementar en el lenguaje HTML con PHP o usar solo HTML que seria muy simple.
Se me ocurrió que fuera un programa de open source, puede ser una opción mas.



La interfaz grafica tendría que mejorar mucho, para que al cliente le interese y sea de fácil uso para el, que le llame la atencion principalmente en la red.
Investigue que era el Middleware, es interesante, lo podría aplicar en el programa, para interactuar con otras aplicaciones, el Middleware ara que el trabajo sea menos complicado al momento de hacer las conexiones que son necesarias en los sistemas distribuidos. Seria una buena idea aplicar esta opcion


Middleware: Software que asiste a una aplicación para interactuar o comunicarse con otras aplicaciones, software, redes, hardware y/o sistemas operativos. Éste simplifica el trabajo de los programadores en la compleja tarea de generar las conexiones que son necesarias en los sistemas distribuidos. De esta forma se provee una solución que mejora la calidad de servicio, seguridad, envío de mensajes, directorio de servicio, etc.

Para guardar el producto en una base datos, podría ser externo, para tener un mejor control el el manejo.

Taller - Pruebas Unitarias

Al usar JUnit (primero instalar desde Centro de Software de Ubuntu y despues , entrar en la Terminal a la carpeta donde tenemos el proyecto o en Escritorio, según sea el caso, despues ejecutar en Terminal como: junit + (nombre de la clase) ) me genero el resultado de la Clase de BaseDatos:














En la Clase de Inventario me genero:












En la Clase de Producto me genero:

Taller - Interfaz Grafica

Este seria la Interfaz Gráfica de mi proyecto:


Faltan muchas cosas, pero pues trate de hacer la ventana principal, quería intentar que funcionaran las opciones de ver inventario, ingresar producto, modificar producto, pero no me funcionaron, solo es cuestión de verificar el código y intentar de nuevo

Taller - Auto-generacion de codigo

El diagrama fue este:
Las similitudes de mi diagrama de clases con el código que ya tengo echo, pues genero varias clases de las que ya tenia en mi código, los métodos y los atributos, claro, a excepción de unas cosas, como los nombres de los atributos o métodos, que en el proyecto le cambie el nombre, pero básicamente si genero lo que quería.

Las Diferencias fueron que en la clase de BaseDatos, genero varios varios métodos de mas, puede que yo me aya equivocado en el diagrama, al ingresar datos de mas.

En general los errores que hubo fueron mas bien por los nombres que les di a los métodos y atributos, pero bueno ya seria cuestión de volver  a verificar el diagrama.

Estos son los codigos que me genero:

import java.util.*;


/**
 * Class BaseDatos
 */
public class BaseDatos {

  //
  // Fields
  //

  private BaseDatos conexion;
  
  //
  // Constructors
  //
  public BaseDatos () { };
  
  //
  // Methods
  //


  //
  // Accessor methods
  //

  /**
   * Set the value of conexion
   * @param newVar the new value of conexion
   */
  private void setConexion ( BaseDatos newVar ) {
    conexion = newVar;
  }

  /**
   * Get the value of conexion
   * @return the value of conexion
   */
  private BaseDatos getConexion ( ) {
    return conexion;
  }

  //
  // Other methods
  //

  /**
   * @return       BaseDatos
   */
  public BaseDatos conexion(  )
  {
  }


  /**
   */
  public void ingresar(  )
  {
  }


}


Este es el otro:
import java.util.*;


/**
 * Class Inventario
 */
public class Inventario {

  //
  // Fields
  //

  private BaseDatos conexion;
  
  //
  // Constructors
  //
  public Inventario () { };
  
  //
  // Methods
  //


  //
  // Accessor methods
  //

  /**
   * Set the value of conexion
   * @param newVar the new value of conexion
   */
  private void setConexion ( BaseDatos newVar ) {
    conexion = newVar;
  }

  /**
   * Get the value of conexion
   * @return the value of conexion
   */
  private BaseDatos getConexion ( ) {
    return conexion;
  }

  //
  // Other methods
  //

  /**
   */
  public void ver_articulos(  )
  {
  }


  /**
   */
  public void add(  )
  {
  }


}


import java.util.*;


/**
 * Class Producto
 */
public class Producto {

  //
  // Fields
  //

  
  //
  // Constructors
  //
  public Producto () { };
  
  //
  // Methods
  //


  //
  // Accessor methods
  //

  //
  // Other methods
  //

  /**
   */
  public void ingresar_datos(  )
  {
  }


  /**
   * @return       Inventario
   */
  public Inventario ver_inventario(  )
  {
  }


}


import java.util.*;


/**
 * Class VentanaPrincipal
 */
public class VentanaPrincipal {

  //
  // Fields
  //

  
  //
  // Constructors
  //
  public VentanaPrincipal () { };
  
  //
  // Methods
  //


  //
  // Accessor methods
  //

  //
  // Other methods
  //

  /**
   */
  public void Archivo(  )
  {
  }


  /**
   */
  public void Modificar(  )
  {
  }


  /**
   */
  public void Inventario(  )
  {
  }


  /**
   */
  public void Ventas(  )
  {
  }


}