jueves, 19 de mayo de 2011

Pruebas unitarias
En programación, una prueba unitaria es una forma de probar el correcto funcionamiento de un módulo de código. Esto sirve para asegurar que cada uno de los módulos funcione correctamente por separado. Luego, con las Pruebas de Integración, se podrá asegurar el correcto funcionamiento del sistema o subsistema en cuestión.
La idea es escribir casos de prueba para cada función no trivial o método en el módulo de forma que cada caso sea independiente del resto.

Eventos, excepciones y errores:
Aquí un pedazo de código donde utilizamos  el try y el catch para  el manejo de excepciones y errores  donde si un archivo al cual estamos llamando no ha sido creada muestra un mensaje de  archivo no ha sido encontrado asi lo implementare con mi clase destino y clase cliente.
public static Destino[] obterArray(){
                 Destino []lugar= new Destino[100];
    StringTokenizer tokenizer ;
    String linea, Playa, Hotel, archivo = "Playas.txt";
    int Ncuenta,contador =0;
    try{
      FileReader file = new FileReader(archivo);
      BufferedReader archivoEntrada = new BufferedReader(file);
      linea = archivoEntrada.readLine();
      while (linea != null){
            tokenizer = new StringTokenizer(linea);
            Playa = tokenizer.nextToken();
            Hotel=tokenizer.nextToken();
            try {
                 Ncuenta = Integer.parseInt(tokenizer.nextToken());
                         lugar[contador++] = new Destino(Playa,Hotel,Ncuenta);
       } catch(NumberFormatException formatoNumero){}
                         linea = archivoEntrada.readLine();                                       
}
 archivoEntrada.close();
                 
}catch (FileNotFoundException excepcion){
                                System.out.print("el archivo "+archivo+" no fue encontrado");   }
catch (IOException excepcion){ System.out.println(excepcion);             }
return lugar;
}
}






Taller  Programación Orientada a Objetos
Patrones de diseño:
Los patrones de diseño son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces.
Un patrón de diseño es una solución a un problema de diseño. Para que una solución sea considerada un patrón debe poseer ciertas características. Una de ellas es que debe haber comprobado su efectividad resolviendo problemas similares en ocasiones anteriores. Otra es que debe ser reusable, lo que significa que es aplicable a diferentes problemas de diseño en distintas circunstancias.
Los patrones de diseño que utilice en mi programa seria los sig:
Memento (Recuerdo): Permite volver a estados anteriores del sistema:
 Al momento de limpiar las casillas y volver  a ingresar un  dato  en el registro.
Singleton (Instancia única): Garantiza la existencia de una única instancia para una clase y la creación de un mecanismo de acceso global a dicha instancia.
Donde accedemos de la clase  principal o donde tenemos el main a las demás clases que incorporan  el proyecto. 

miércoles, 11 de mayo de 2011


Que es un socket?
Un socket (enchufe), es un método para la comunicación entre un programa del cliente y un programa del servidor en una red. Un socket se define como el punto final en una conexión. Los sockets se crean y se utilizan con un sistema de peticiones o de llamadas de función a veces llamados interfaz de programación de aplicación de sockets (API, application programming interface).
Un socket es también una dirección de Internet, combinando una dirección IP (la dirección numérica única de cuatro partes que identifica a un ordenador particular en Internet) y un número de puerto (el número que identifica una aplicación de Internet particular, como FTP, Gopher, o WWW).
Base de datos distribuida
Una base de datos distribuida (BDD) es un conjunto de múltiples bases de datos lógicamente relacionadas las cuales se encuentran distribuidas en diferentes espacios lógicos (pej. un servidor corriendo 2 maquinas virtuales) e interconectados por una red de comunicaciones. Dichas BDD tienen la capacidad de realizar procesamiento autónomo, esto permite realizar operaciones locales o distribuidas. Un sistema de Bases de Datos Distribuida (SBDD) es un sistema en el cual múltiples sitios de bases de datos están ligados por un sistema de comunicaciones de tal forma que, un usuario en cualquier sitio puede acceder los datos en cualquier parte de la red exactamente como si estos fueran accedidos de forma local.
Un sistema distribuido de bases de datos se almacenan en varias computadoras. Los principales factores que distinguen un SBDD de un sistema centralizado son los siguientes:
  • Hay múltiples computadores, llamados sitios o nodos.
  • Estos sitios deben de estar comunicados por medio de algún tipo de red de comunicaciones para transmitir datos y órdenes entre los sitios.

La computación paralela es una técnica de programación en la que muchas instrucciones se ejecutan simultáneamente.1 Se basa en el principio de que los problemas grandes se pueden dividir en partes más pequeñas que pueden resolverse de forma concurrente ("en paralelo"). Existen varios tipos de computación paralela: paralelismo a nivel de bit, paralelismo a nivel de instrucción, paralelismo de datos y paralelismo de tareas. Durante muchos años, la computación paralela se ha aplicado en la computación de altas prestaciones, pero el interés en ella ha aumentado en los últimos años debido a las restricciones físicas que impiden el escalado en frecuencia. La computación paralela se ha convertido en el paradigma dominante en la arquitectura de computadores, principalmente en los procesadores multinúcleo. Sin embargo, recientemente, el consumo de energía de los ordenadores paralelos se ha convertido en una preocupación.
Los ordenadores paralelos se pueden clasificar según el nivel de paralelismo que admite su hardware: los ordenadores multinúcleo y multiproceso tienen varios elementos de procesamiento en una sola máquina, mientras que los clusters, los MPP y los grids emplean varios ordenadores para trabajar en la misma tarea.
Los programas de ordenador paralelos son más difíciles de escribir que los secuenciales porque la concurrencia introduce nuevos tipos de errores de software, siendo las condiciones de carrera los más comunes. La comunicación y la sincronización entre las diferentes subtareas son típicamente las grandes barreras para conseguir un buen rendimiento de los programas paralelos. El incremento de velocidad que consigue un programa como resultado de la paralelización viene dado por la ley de Amdahl.

jueves, 17 de marzo de 2011

PATRONES DE DISEÑO

Los patrones de diseño son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces.

Un patrón de diseño es una solución a un problema de diseño. Para que una solución sea considerada un patrón debe poseer ciertas características. Una de ellas es que debe haber comprobado su efectividad resolviendo problemas similares en ocasiones anteriores. Otra es que debe ser reusable, lo que significa que es aplicable a diferentes problemas de diseño en distintas circunstancias.


Patrones creacionales 

Prototype (Prototipo): Crea nuevos objetos clonándolos de una instancia ya existente.

Patrones estructurales 

Visitor (Visitante): Permite definir nuevas operaciones sobre una jerarquía de clases sin modificar las clases sobre las que opera.

Patrones estructurales

Decorator (Envoltorio): Añade funcionalidad a una clase dinámicamente.


Los patrones de diseño nos sirven para facilitar el trabajo en la programacion orientada a objetos es una forma mas facil de programar

martes, 15 de marzo de 2011

BOUML

Este es un ejemplo  de un diagrama UML  sin codigo importado  que trabajamos en clase para familiarisarnos con el este software.
 

link