Capturar webcam con VB.NET

¿Que haremos? Crearemos una aplicación en Visual Studio, la cual hará uso de una webcam para capturar el video en frames independientes y depositarlos en memoria para despues mostralos al usuario a través de un picturebox y un Timer para crear la ilusión de movimiento. ¿Porque lo haremos? Porque es justo y necesario ¿Que necesitamos? [...]

Envío de correo con JavaMail/Netbeans

JavaMail es una expansión de Java que facilita el envío y recepción de e-mail desde código java. JavaMail implementa el protocolo SMTP (Simple Mail Transfer Protocol) así como los distintos tipos de conexión con servidores de correo -TLS, SSL, autentificación con usuario y password, etc [Según SantaWikipedia] ¿Qué necesitamos? JavaMail 1.4.5 Java y Netbeans 6.9 [...]

Proyecto de base de datos Firebird VB

En este proyecto realizaremos una aplicación de base de datos Firebird con el lenguaje de programación de Visual Basic de Microsoft, este proyecto tendrá las funciones básicas de gestión INSERT, DELETE, UPDATE y una interfaz de usuario para utilizarlas. ¿Que necesitamos? Visual Studio 2008 o superior Firebird última versión Firebird ADO.NET Data Provider. Conocimientos básicos [...]

Imprimir imagen con Print

La siguiente clase hace uso de PRINT para imprimir una imagen que se encuentra en un variable de tipo FileInputStream, esta clase a su vez es implementada desde una interfaz que hace fácil su uso, la clase así como todo el proyecto esta comentado. import java.io.File; import javax.print.Doc; import java.io.IOException; import javax.print.DocFlavor; import javax.print.SimpleDoc; import java.io.FileInputStream; [...]

Code Army Bolivia

30/11/09

Interfaz y base de datos con netbeans

JAN29


Trabajando con las base de datos y extrayendo los datos para su uso con java en post anteriores, ahora necesitamos crear una interfaz de usuario para poder interactuar de una manera sencilla con nuestra aplicacion.

Comenzaremos por ahora solo con mostrar los datos que sacamos de la base de datos MySql, poco a poco se ira perfecconando la aplicacion para tener al final un proyecto bastante complejo y bastante completo.

Paso1 :
Con el proyecto abierto (contactos) crearemos un nuevo jFrame al que llamaremos "tablaform", a esta nueva ventana le añadiremos los controles JPanel y JTable como se ve en la imagen

al objeto JTable renombraremos a "tabla", la distribucion de los objetos debe quedar asi:


Paso 2:
Modificaremos la clase "persona.java", mas concretamente la funcion "getDatos()", los cambios que hicimos fueron para poder leer todos los datos de nuestra tabla


public Object [][] getDatos(){
      int registros = 0;
      //obtenemos la cantidad de registros existentes en la tabla
      try{         
         PreparedStatement pstm = con.getConnection().prepareStatement("SELECT count(1) as total FROM persona ");
         ResultSet res = pstm.executeQuery();
         res.next();
         registros = res.getInt("total");
         res.close();
      }catch(SQLException e){
         System.out.println(e);
      }
      
    Object[][] data = new String[registros][5];  
    //realizamos la consulta sql y llenamos los datos en "Object"
      try{    
         PreparedStatement pstm = con.getConnection().prepareStatement("SELECT " +
            " id, Nombre, appPaterno, appMaterno, mail " +
            " FROM persona" +
            " ORDER BY id ");
         ResultSet res = pstm.executeQuery();
         int i = 0;
         while(res.next()){
            String estCodigo = res.getString("id");
            String estNombre = res.getString("nombre");
            String estpaterno = res.getString("appPaterno");
            String estmaterno = res.getString("appMaterno");
            String estmail = res.getString("mail");
            data[i][0] = estCodigo;            
            data[i][1] = estNombre;            
            data[i][2] = estpaterno;            
            data[i][3] = estmaterno;            
            data[i][4] = estmail;            
            i++;
         }
         res.close();
          }catch(SQLException e){
         System.out.println(e);
    }
    return data;
 }


Paso 3:
a nuestro "tablaform", le añadimos "import javax.swing.table.DefaultTableModel;", al jframe le aññadimos la funcion WindowOpened y colocaremos el siguiente codigo:


private void formWindowOpened(java.awt.event.WindowEvent evt) {
        //objeto para almacenar datos
        Object[][] dtPer;        
        String[] columNames = {"id","Nombre","ap. Paterno","ap. Materno", "E-Mail"};  
        // se utiliza la funcion
        dtPer = p.getDatos();
        // se colocan los datos en la tabla
        DefaultTableModel datos = new DefaultTableModel(dtPer,columNames);                        
        tabla.setModel(datos);        
    }


Ya solo queda ejecutar la aplicacion:

continue reading

Leer base de datos con netbeans

JAN29


Ahora que pudimos manipular la base de datos con la "insercion" de nuevos registros, ahora necesitamos extraer esos registros para poder verlos, modificaremos la clase "persona.java" para añadir la funcion "getDatos()".





Nuestra clase Persona.java que da de esta forma:


package contactos;
import java.sql.*;
/**
 * @web http://jc-mouse.blogspot.com/
 * @author mouse
 */
public class persona {
  conectate con;
  
  public persona (){
    con = new conectate();
  } 
  
  /*Añade un nuevo registro*/
   public void NuevaPersona(String name, String ap, String am, String mail){
       try {            
            PreparedStatement pstm = con.getConnection().prepareStatement("insert into " + 
                    "persona(Nombre, appPaterno, appMaterno, mail) " +
                    " values(?,?,?,?)");            
            pstm.setString(1, name);
            pstm.setString(2, ap);
            pstm.setString(3, am);                        
            pstm.setString(4, mail);                        
            pstm.execute();
            pstm.close();            
         }catch(SQLException e){
         System.out.println(e);
      }
   }

   /*obtenemos todos los datos de la tabla*/
 public Object [][] getDatos(){
      int x = 0;
      //obtenemos la cantidad de registros existentes en la tabla
      try{         
         PreparedStatement pstm = con.getConnection().prepareStatement("SELECT count(1) as total FROM persona ");
         ResultSet res = pstm.executeQuery();
         res.next();
         x = res.getInt("total");
         res.close();
      }catch(SQLException e){
         System.out.println(e);
      }
      
    Object[][] s = new String[x][2];  
    //realizamos la consulta sql y llenamos los datos en "Object"
      try{    
         PreparedStatement pstm = con.getConnection().prepareStatement("SELECT " +
            " id, Nombre " +
            " FROM persona" +
            " ORDER BY id ");
         ResultSet res = pstm.executeQuery();
         int i = 0;
         while(res.next()){
            String estCodigo = res.getString("id");
            String estNombre = res.getString("nombre");
            s[i][0] = estCodigo;            
            s[i][1] = estNombre;            
            i++;
         }
         res.close();
          }catch(SQLException e){
         System.out.println(e);
    }
    return s;
 }
    
}


La nueva funcion GetDatos() esta definida como Object [][], tambien podemos definirla como String[][], la funcion esta dividida en dos partes, la primera encargada de realizar una consulta para conocer el numero de registros existentes y gurdarla en la variable "registros", la segunda parte de la funcion utilizando la variable "registros" crea un objeto con esas dimensiones y realiza la consulta para extraer los datos y colocarlas en la variable "data[][]" que es la que retorna.

el codigo del Main, debe quedar asi:


package contactos;
/**
 * @web http://jc-mouse.blogspot.com/
 * @author Mouse
 */
public class Main {
    
    public static void main(String[] args) {        
        persona p = new persona();               
        Object [][] sc ;
        sc = p.getDatos();
        for(int i=0;i<sc.length ;i++){
            System.out.println("> " + sc[i][0] + " - " + sc[i][1]);            
        }         
        p.con.desconectar();
    }
}

Ejecuta el programa

continue reading

Evita actualizar a messenger 2009

JAN29


Al ingresar a msn me salio un letrero que me pedia actualice a la ultima version del messenger 2009, al hacer clic en no, se cerraba el programa y no me dejaba chatear, al hacer clic en si, empeza la descarga del nuevo messener, para solucionar este problema basta con realizar este simple truco.

¿Que necesitamos?

- Resource Hacker: es una utilidad diseñada para ver, extraer, añadir y modificar los ejecutables (.EXE, .DLL, .CPL, .OCX, .RES) tanto compilados como sin compilar. Lo puedes descargar gratis desde aqui.

Paso 1: Ejecuta el programa, carga el msn en FILE - OPEN..., luego dirigete a VERSION INFO, despliegalo y te mostrara la version del msn que tienes instalado.


Paso 2: Lo que tienes que hacer, es reemplazar el valor de la version que tienes instalado, señalado en rojo en el paso 1, por 14.0.8092.0805, que es la ultima version que salio del msn2009, hecho esto presiona el botn COMPILE SCRIPT.



Paso 3: Una ves compilado el script, como paso final, debes guardar el .exe, para mantener intacto el msn original guardalo on un nuevo nombre, por ejemplo "msnmsgr2.exe"


eso es todo, ejecuta tu nuevo messenger y ya no pedira actualizacion.

continue reading

29/11/09

Nubes reales con photoshop

JAN29

Este sencillo truco te permite añadir nubes reales a tus fotografias.



La imagen que utilizaremos es esta


Paso 1.
Carga la imagen con photoshop, con la herramienta marco rectangular, dibuja una mascara en el lugar donde queremos que aparescan las nubes.

Paso2:
Fijate que los colores esten en negro-superior y blanco-inferior

Paso3:
Con la mascara rectangulo seleccionada, crea una nueva capa y rellenala de color negro, luego aplica el FILTRO - INTERPRETAR - NUBES DE DIFERENCIA.


Este filtro aplica aleatoriamente un efecto de nubes asi que tendras uno diferente, si no estas conforme con el tipo de nubes que se aplicó, solamente debes presionar CTRL + F para volver a aplicar el filtro, realiza esta accion hasta que tengas unas nubes adecuadas.

Paso4:
Dirige a SELECCION - GAMA DE COLORES, con el cursor que habra cambiado a un cuentagotas, selecciona una de las partes mas blancas, luego coloca tolerancia al maximo (200) y presiona OK

Ahora SELECCION - INVERTIR y presiona el boton SUPRIMIR o DELETE para borrar las partes negras, debes tener algo como esto


presiona CTRL + D para hacer desaparecer la mascara.
Aplica el Modo de fusion TRAMA y con la herramienta BORRADOR ve eliminando las partes sobrantes de las nubes.

continue reading

27/11/09

Artículos Relacionados en blogger

JAN29

Para poder colocar este Widget en blogger que te mostrara una lista de "articulos relacionados" del post que este viendo, se debe modificar el codigo de blogger. La web donde encontre este truco es purplemoggy en ingles.

1. Ve a la Pestana Diseño - Edicion de HTML y busca la etiqueta "Head" yo la encontre por la linea 955. (No actives la casilla "Expandir plantilla de artilugios")


2. Cuando localices esa etiqueda debes pegar el siguiente codigo, encima de esa etiqueta.


<script type="text/javascript">
//<![CDATA[
    var relatedTitles = new Array();
    var relatedTitlesNum = 0;
    var relatedUrls = new Array();
    function related_results_labels(json) {
      for (var i = 0; i < json.feed.entry.length; i++) {
        var entry = json.feed.entry[i];
        relatedTitles[relatedTitlesNum] = entry.title.$t;
          for (var k = 0; k < entry.link.length; k++) {
            if (entry.link[k].rel == 'alternate') {
              relatedUrls[relatedTitlesNum] = entry.link[k].href;
              relatedTitlesNum++;
              break;
            }
          }
      } 
    }
function removeRelatedDuplicates() {
    var tmp = new Array(0);
    var tmp2 = new Array(0);
    for(var i = 0; i < relatedUrls.length; i++) {
      if(!contains(tmp, relatedUrls[i])) {
        tmp.length += 1;
        tmp[tmp.length - 1] = relatedUrls[i];
        tmp2.length += 1;
        tmp2[tmp2.length - 1] = relatedTitles[i];
      }
    }
    relatedTitles = tmp2;
    relatedUrls = tmp;
 }
function contains(a, e) {
  for(var j = 0; j < a.length; j++) if (a[j]==e) return true;
  return false;
}
function printRelatedLabels() {
  var r = Math.floor((relatedTitles.length - 1) * Math.random());
  var i = 0;
  document.write('<ul>');
  while (i < relatedTitles.length && i < 20) {
    document.write('<li><a href="' + relatedUrls[r] + '">' + relatedTitles[r] + '</a></li>');
    if (r < relatedTitles.length - 1) {
      r++;
    } else {
      r = 0;
    }
    i++;
  }
  document.write('</ul>');
}
//]]>
</script>

Es este codigo escrito en javascript, el que hace la mayor parte del trabajo. Consta de cuatro funciones que se encargan de buscar, depurar y presentar en pantalla los resultados.

3. Guarda la plantilla.

4.  Una ves que guardaste los cambios, activa la casilla "Expandir plantillas de artilugios", y busca el siguiente trozo de codigo:


<b:if cond='data:post.labels'>
<data:postLabelsLabel/>
<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='data:label.isLast != "true"'>,</b:if>
</b:loop>
</b:if>


Cuando lo encuentres, reemplazalo por este:

<b:if cond='data:post.labels'>
<data:postLabelsLabel/>
<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='data:label.isLast != "true"'>,</b:if>
<b:if cond='data:blog.pageType == "item"'>
<script expr:src='"/feeds/posts/default/-/" + data:label.name + "?alt=json-in-script&callback=related_results_labels&max-results=10"' type='text/javascript'/>
</b:if>
</b:loop>
</b:if>

Ahora vuelve a "guardar la plantilla" y dirigete a "Elementos de la Pagina", añade un nuevo gadget en el lugar que quieras de aparesca este gadget.

coloca el codigo:


<script type="text/javascript">
removeRelatedDuplicates();
printRelatedLabels();
</script>

Añadele un titulo como: "Post relacionados", "Articulos relacionados", "Entradas relaciondas" o cualquier otro nombre, guarda los cambios.

continue reading

Sentencia SQL en netbeans

JAN29

Continuando con el post "Probando la clase conectate.java", ahora daremos una nueva funcionalidad a nuestra clase "persona.java", que es la de añadir nuevos registros a nuestra tabla "persona".

Modificaremos la clase "persona.java" con el siguiente codigo:


package contactos;
import java.sql.*;
/**
 * @web http://jc-mouse.blogspot.com/
 * @author mouse
 */
public class persona {
  conectate con;
  
  public persona (){
    con = new conectate();
  } 
  
  /*Añade un nuevo registro*/
   public void NuevaPersona(String name, String ap, String am, String mail){
       try {            
            PreparedStatement pstm = con.getConnection().prepareStatement("insert into " + 
                    "persona(Nombre, appPaterno, appMaterno, mail) " +
                    " values(?,?,?,?)");            
            pstm.setString(1, name);
            pstm.setString(2, ap);
            pstm.setString(3, am);                        
            pstm.setString(4, mail);                        
            pstm.execute();
            pstm.close();            
         }catch(SQLException e){
         System.out.println(e);
      }
   }
   
}

Tambien añadiremos nuevas lineas de codigo a Main.java:


package contactos;
/**
 * @web http://jc-mouse.blogspot.com/
 * @author Mouse
 */
public class Main {
    
    public static void main(String[] args) {        
        persona p = new persona();       
        p.NuevaPersona("Fulanito", "Menganito", "Zutanito", "fmz@hotmail.com");
        p.con.desconectar();
    }

}

ejecutamos nuevamente el proyecto (F6) y tenenmos el nuevo registro añadido a nuestra tabla


continue reading

Probando la clase "conectate.java"

JAN29

Para probar la clase "conectate.java", creada en "Clase conexion a base de datos", que nos permite conectarnos a una base de datos de MySQL, creamos un nuevo proyecto en Netbeans con el nombre "contactos".

Antes, me olvidaba, tenemos que tener creada la base de datos, la cual llame "dbcontactos", si no sabes como crear la base de datos pasate por aqui, en esa base de datos creamos una tabla llamada "persona".


muy bien, ahora para probar que la conexion en verdad funciona, creamos una clase y la llamamos "persona.java", en esta clase colocamos el siguiente codigo:

package contactos;
/**
 * @web http://jc-mouse.blogspot.com/
 * @author mouse
 */
public class persona {
  conectate con;
  
  public persona (){
    con = new conectate();
  } 
  
}

Ahora en el Main.java, colocamos el siguiente codigo:

package contactos;
/**
 * @web http://jc-mouse.blogspot.com/
 * @author Mouse
 */
public class Main {
    
    public static void main(String[] args) {        
        persona p = new persona();       
        p.con.desconectar();
    }

}


Ya solo nos queda ejecutar el proyecto (F6) y listo.

continue reading

Paquete de imagenes en java y netbeans

JAN29



Cuando tenemos una aplicacion hecha en java y queremos adornar un poco la interfaz colocando algunas imagenes, necesitamos contar con un paquete "Packages" donde almacenar las imagenes.

Para lograr esto debemos seguir los siguientes pasos.

1. Nos situamos en la raiz de nuestro proyecto "Source Packages", clic derecho escogemos New - Other


2. En la ventana que aparece a continuacion escogemos las opciones "Java" - "Java Package" y presionamos NEXT

3. En la siguiente ventana unicamente debemos colocar un nombre adecuado al nuevo paquete, yo le puse "imagenes", presionamos FINISH y se crea el nuevo paquete.




No sirve de nada tener un nuevo paquete si no lo usamos, eso es lo que haremos ahora.


1. Situate en el objeto, en este caso el boton "Entrar", en sus propiedades busca "icon", te muestra una ventana, habilita la opcion "External Image" y busca la imagen haciendo clic el boton con unos puntos suspensivos.

2.  una ves cargada la imagen, debes escoger en "Image Within Project" el paquete que creamos anteriormente "Imagens", y presionar el boton "Import to Project..."


En la ventana que te aparecera presionas next y Finish, retornaras a la anterior ventana y para terminar presiona OK.

Para agregar mas imagenes, repite los mismos pasos.

Todos los archivos de imagen que importemos, seran guardados en el paquete "imagenes"

continue reading

Clase Conexion a Base de Datos

JAN29


Cuando se trabaja con base de datos en java, lo mejor para tener un trabajo controlado, limpio y que sea facil de mantener, es hacer uso de una clase exclusiva para la conexion.

Esta "clase java" que coloco en este post me a servido mucho para  realizar algunos trabajos en java sin muchos dolores de cabeza, la clase se llama "conectate.java", y el uso es bastante sencillo. Si trabajas con mysql, lo unico que debes modificar es el "paquete" donde lo usaras, el nombre de la base de datos, usuario y password



package PAQUETE_QUE_USARA_ESTA_CLASE ; 
import java.sql.*; 
/** 
 * @web http://jc-mouse.blogspot.com/ 
 * @author Mouse 
 */ 
public class conectate { 
   static String bd = "NOMBRE_BASE_DE_DATOS"; 
   static String login = "USUARIO"; 
   static String password = "PASSWORD"; 
   static String url = "jdbc:mysql://localhost/"+bd; 
 
   Connection conn = null; 
    
   public conectate() { 
      try{          
         Class.forName("com.mysql.jdbc.Driver");          
         conn = DriverManager.getConnection(url,login,password); 
         if (conn!=null){ 
            System.out.println("Conección a base de datos "+bd+". listo"); 
         } 
      }catch(SQLException e){ 
         System.out.println(e); 
      }catch(ClassNotFoundException e){ 
         System.out.println(e); 
      } 
   } 
    
   public Connection getConnection(){ 
      return conn; 
   } 
 
   public void desconectar(){ 
      conn = null; 
   } 
}


Debo aclarar que el codigo no es mio, no coloco la fuente, porque me olvide la web de donde lo obtuve, esta clase la tenia guardada hace tiempo en mi pc y ahora que se me presento un trabajo de java con base de datos, la saque de la carpeta de los recuerdos y estuve recordando un poco el lenguaje.

continue reading

24/11/09

MySql - Crear base de datos y tablas mediante consola

JAN29

Para crear una nueva base de tados en mysql usamos la sentencia:
create database NOMBRE_BASE_DE_DATOS;
Esta orden se limita a crear una nueba base de datos, podemos completar esta sentencia mediante el uso de :
create database if no exists NOMBRE_BASE_DE_DATOS;

Esta sentencia intenta crear la base de datos mientras que esta "no exista"  otra base de datos con ese nombre, caso contrario muestra un error.

la creacion de tablas es un poco mas compleja, ya que cuenta con mas opciones ademas de que debemos tener la estrucura de nuestra tabla a crear correctamente diseñada.

La sintaxis general es:

CREATE TABLE nombre_tabla
(nombre_campo1 TIPO_COLUMNA(),  
  nombre_campo1 TIPO_COLUMNA(),
  nombre_campo1 TIPO_COLUMNA(),
 ...
 ); 


continue reading

MySql - Tablas y campos

JAN29

Si queremos trabajar con determinada base de datos, debemos utilizar la sentencia:

"use Nombre_Base_de_Datos"

Unae ve hecho esto, para poder visualizar las tablas de la base de datos, usamos;

Show tables;



 Si no tenemos tablas en la base de datos, nos mostrara algo como "Empty set".

Para poder visualizar el contenido de los campos en las tablas usamos la sentencia:

describe Nombre_Tabla;

continue reading

MySql - mostrar todas las base de datos

JAN29

Una ves que nos conectamos a MYSQL debemos poder trabajar con las base de datos existentes, si no sabes cuales tienes, el comando para ello es show database; .

Importante: Todas las sentencias de mysql, deben terminar con ";" (punto y coma), caso contrario el comando no se ejecutara hasta que cerremos esa sentencia.

continue reading

MySql por linea de comandos

JAN29

Cuando trabajamos con aplicaciones que requieren de Base de Datos, podemos elegir MySql que es muy usado en nuestro medio tanto para aplicaciones web como aplicaciones de escritorio.

Puede utilizarse de medios graficos para la administracion de la base de datos, pero tambien es comun utilizar este a traves de la linea de comandos.

MySQL cuenta con un programa que se llama "mysql" que sirve para gestionar nuestras base de datos, para acceder a este podemos utlizar la consola de windows, no es necesario estar hubidado en el directorio donde se instalo mysql.

1. Abrimos la consola de windows y tecleamos los comandos:

 mysql -h nombre_de_servidor -u nombre_usuario -p 

presionamos enter e inmediatamente nos pide el ingreso de nuestra contraseña, la introducimos y presionamos enter


Si el password es correcto, entramos


continue reading

19/11/09

Ejercicio resuelto: Tres en raya

JAN29


Desarrolle la clase de un programa orientado a objetos para controlar el juego tres en raya.

Atributos

cantidad de movimientos: Es el numero de jugadas que se han producido en todo el juego lo cual nos permitira declarar despues de una serie de jugadas si hay tablas.

Turno: Cambiar turno y mostrarlo mediante transcurre el juego, es decir que retornaria 1 si esta en juego el juagador 1 y 0 si esta en juego el jugador 2

Tablero: Es la ubicacion en la que se puede ubicar el jugador en turno en el tablero

Numero de fichas: Es la cantidad de fichas segun el tamaño del tablero

Metodos

Poner: Se recibe la posición de la fila y la columna, reemplaza el valor de la poscion recibida con el valor de la ficha del el jugador que se encuentra en turno es decir que si es 0 es el juagador 1, 1 si es el jugador 2 y 2 si la poscion se encuentra vacia

Mover: Recibe la posicion de origen de la ficha, reemplaza el valor de la primera poscion por la segunda posicon , donde se asigna, 0 si es el el jugador 1, 1 si es el jugador 2 y 2 si la segunda posicion es vacia

Evaluar: Recibe la posicion de la ultima ficha que se movio, según la ultima jugada el computador evaluara las posiciones vecinas que le permitiran saber si algun jugador a gando

Reiniciar: Vaciar el tablero.

Ganador: Recibe la posicion de ultima jugada, retorna un arreglo de parejas ordenadas, mostrando a su vez la jugada ganadora, en la las tres posiciones

continue reading

Ejercicio resuelto: diagrama de clase

JAN29


Se pide la construccion de un diagrama de clases para la siguiente informacion de la empresa "Condorcito" dedicada a la recepcion y verificacion de mercaderias importadas del extranjero. Existen mercaderias identificadas por su codigo y nombre, que pueden ser importadas  de varios paises con un presio determinado de dependencias del pais. Cada pais esta identificado por un codigo  y nombre y puede suministrar varias mercaderias. Cada mercaderia de un pais es importada utlizando diferentes formas de trasnporte, entre ellas aerea, ferrea y carretera. Para cada mercaderia, pais y forma de trasnporte, existe una tarifa de transporte diferente. Una mercaderia procedente de un pais transportada de una forma dada, constituye un embarque que se identifica pot un numero, fecha y cantidad embarcada. La cantidad recibida en un embarque se distribuye en diferentes almacenes de propiedad de la empresa, y cada almacen puede recibir mercaderias de diferentes embarques. El almacen se identifica por un codigo y direccion. Un almacen distribuye las mercaderias entre las diferentes empresas clientes  a las que se brinda el servicio, y cada empresa cliente recibe productos de diferentes almacenes.

continue reading

16/11/09

Diagramas UML, crealos on line

JAN29

yUML es una aplicación web que te permite crear diagramas uml online rapidamente de manera gratuita. UML es hoy en dia algo necesario al momento de diseñar nuestras aplicaciones y con yUML ahora no tendras necesidad de instalar nada en tu computadora.


Solo ingresa al sitio y selecciona el tipo de diagrama uml que deseas realizar. yUML utiliza su propio lenguaje para generar los diagramas uml ya sea de clases o de casos de uso que al principio puede parecer un tanto complicado pero poco a poco uno se va acostumbrando.

Ademas nos presentan una serie de ejemplos de diagramas uml para que sea mas facil nuestra adaptación a la herramienta. Al final nos genera el diagrama uml en formato de imagen que podemos anexar en nuestro sitio web o blog.

Enlace: yUML

continue reading

Diagrama de Clase: Interfaz

JAN29

Interfaz: es el medio por el cual puede capturar el conjunto reutilizable de operaciones de una o varias clases.
Una interfaz no cuenta con atributos pero con operaciones, una interfaz es equivalente a una clase abstracta


Otra forma de representar una clase y su interfaz es con un  pequeño circulo que se conecte mediante una linea a la clase

continue reading

Diagrama de Clase: relaciones (II)

JAN29

Agregacion/acumulacion: Se utiliza para modelar objetos complejos

Composicion: Es un tipo de relación estática, en donde el tiempo de vida del objeto incluido esta condicionado por el tiempo de vida del que lo incluye. El Objeto base se contruye a partir del objeto incluido, es decir, cada componente pertenece a un tod.


continue reading

Post recomendado