sábado, 3 de septiembre de 2011

Ejercicio 1 "Relaciones de herencia"

SIASE


Usuario (clase padre)                                            

  • Alumno  (hijo)                                  
  • Maestro (hijo)       

Recibo
  • Cuotas escolares de rectoría
  • Aviso de pago

Encuesta
  • Generales
  • Verano
  • DEL

Registro
  • IMSS
  • Datos personales

Avisos
  • Situación estudiante UANL
  • Voluntariado
  • Resultado de la beca


Buscaminas

Descubrir cuadro                                           

  • Centro                              
  • Borde
  • Esquina

Algo que es importante mencionar es que no todos los programas implementan la herencia. 

Esqueleto de mi proyecto

A continuación les presento un borrador del esqueleto de mi proyecto. Espero hacerlo así, de cualquier manera si hay cambios (los más seguro) los publicaré.


Aquí se muestran las clases que implementaré, así como también algunos otros aspectos dentro de ellas.

public class Editor{
	
	//Creación de los objetos de las otras clases que implementaré
       // Estos serán agregados a una ventana y se les aplicará un layout	

}

public class Fichero{ 
	
	private int filas;      // Cantidad de filas del AreaText
	private int columnas;   // Cantidad de columnas del AreaText
public Fichero(int filas, int columnas){
this.filas=filas;
this.columnas=columnas;
}
	/*public void copiar(){}
	public void cortar(){}
	public void pegar(){}*/

}

Tengo aún duda de que si utilizaré copiar, cortar y pegar como como métodos o como clases. Espero determinarlo más adelante.

public class Menu{


	//Espero determinar todo lo del menu aqui para despues
	//agregarlo a la ventana
	//Determinar la funcionalidad de cada opcion del menú
}

Esto es solo un borrador (como ya lo comente arriba). Espero con el paso de los días agregarle más cosas ya que le falta algo de detalle a mi esqueleto.

miércoles, 31 de agosto de 2011

Ejemplo Moto

/**
/**
* Programa cuya función es diseñar motocicletas.
*
* Autor: Jair Viezca Esparza.
*
* Fecha de creación: 30 de Agosto del 2011.
*
* Última actualización: 30 de Agosto del 2011.
**/
 
import java.util.*;

public class Moto {

	public static void main(String[] args){
        // la motocicleta Dynamo recién fue creada, cuya placa es MTY 127
        // y su batería tiene una vida de 100
        DisenoMoto Dynamo = new DisenoMoto("MTY 127");
         
        int opc = 0;
        do{
         
           System.out.print("Que desea hacer?"+"\n"+"1.Encender la moto"+
           "\n"+"2.Apagar la moto"+"\n"+"3.Acelerar"+"\n"+"4.Frenar"+"\n"+
           "5.Ver la placa"+"\n"+"6.Ver velocidad"+"\n"+"7.Ver la vida de la bateria"+"\n"+
           "8. Irse"+"\n\n");
           
           opc = (new Scanner(System.in)).nextInt();
         
           switch(opc){
               case 1:
           
                   Dynamo.encender();
                   break;
               case 2:
                   Dynamo.apagar();
                   break;
               case 3:
                   Dynamo.acelerar();
                   System.out.println("\n");
                   break;
               case 4:
                   Dynamo.frenar();
                   System.out.println("\n");
                   break;
               case 5:
                   System.out.print(Dynamo.verPlaca()+"\n\n");
                   break;
               case 6:
                   System.out.print(Dynamo.verVelocidad()+"\n\n");
                   break;
               case 7:
                   System.out.println(Dynamo.vidaBateria()+"\n\n");
                    
           }
        }while(opc != 8);
   }
}

public class DisenoMoto {
	  private String placa;
	    //1 indica encendido, 0 apagado
	    private int estado;
	    private int velocidad;
	    private int vida_bateria;
	     
	    //Constructor
	    public DisenoMoto(String placa){
	        this.placa = placa;
	        estado = 0;
	        velocidad = 0;
	        vida_bateria = 100;
	    }
	     
	    public String verPlaca(){
	        return placa;
	    }
	     
	    public int vidaBateria(){
	        return vida_bateria;
	    }
	     
	    public int verVelocidad(){
	        return velocidad;
	    }
	     
	    public void encender(){
	        if(estado == 0){
	        	estado = 1;
	        if(vida_bateria == 0){
	            System.out.println("Favor de cambiar la bateria\n\n");
	        }else{
	        	System.out.println("La moto se encendio\n\n");
	            vida_bateria--;
	        }
	    }else{
	    	System.out.println("La moto ya esta encendida\n\n");
	    }
	    }
	     
	    public void apagar(){
	    	if(estado == 0){
	    		System.out.println("La moto ya esta apagada\n\n");
	    	}else{
	        estado = 0;
	        velocidad = 0;
	        System.out.println("La moto recien se apago\n\n");
	    }
	    	}
	     
	    public void acelerar(){
	        if (estado == 1){
	            velocidad += 20;
	        }else{
	            System.out.println("No podra acelerar si no enciende la moto\n\n");
	        }
	    }
	     
	    public void frenar(){
	        if(estado == 1 && velocidad > 0){
	            velocidad -= 20;
	        }else{
	            System.out.println("No funcionara el freno si la moto no esta en movimiento\n\n");
	        }
	    }
}


Al ejecutarse el programa se muestra un menú en donde se podrá elegir lo que se quiera hacer con la moto.

Mi primer programa en java

/**
* Programa cuya función es registrar empleados de una pequeña empresa textil.
*
* Autor: Jair Viezca Esparza.
*
* Fecha de creación: 30 de Agosto del 2011.
*
* Última actualización: 30 de Agosto del 2011.
**/



public class Registro {

 public static void main(String[] args){
 //Se crean dos objetos (emp1 y emp2) de la clase Empleado
 //El constructor recibe como parámetros el nombre, la edad y el sueldo de la persona (en ese orden)
 Empleado emp1 = new Empleado("Juan", 25, 2500);
 Empleado emp2 = new Empleado("Carlos", 34, 4000);

 //Se utilizan los métodos de los objetos de la clase Empleado para visualizarlos
 System.out.println("Nombre del primer empleado: "+emp1.obtenerNombre()+
 " ------ Edad: "+emp1.obtenerEdad()+" ------ Sueldo: "+emp1.obtenerSueldo());
 System.out.println("Nombre del segundo empleado: "+emp2.obtenerNombre()+
 " ------ Edad: "+emp2.obtenerEdad()+" ------Sueldo: "+emp2.obtenerSueldo());

 //Si en algún momento se requiere cambiar datos, se puede hacer llamando a los métodos
 //modificarEdad() o modificarSueldo() de los objetos de la clase Empleado
 emp1.modificarSueldo(3000);
 System.out.println("Nombre del primer empleado: "+emp1.obtenerNombre()+
 " ------ Edad: "+emp1.obtenerEdad()+" ------ Sueldo: "+emp1.obtenerSueldo());
   
 emp2.modificarEdad(35);
 System.out.println("Nombre del segundo empleado: "+emp2.obtenerNombre()+
 " ------ Edad: "+emp2.obtenerEdad()+" ------Sueldo: "+emp2.obtenerSueldo());
 }

}


.

public class Empleado {

// Atributos
private String nombre;
private int edad;
private int sueldo;

 //Método Constructor
 public Empleado(String nombre, int edad, int sueldo){
 this.nombre = nombre;
 this.edad = edad;
 this.sueldo = sueldo;
 }

 //Método que te permite mostrar el nombre del empleado
 public String obtenerNombre(){
 return nombre;
 }

 //Método que te permite mostrar la edad actual del empleado
 public int obtenerEdad(){
 return edad;
 }

 //Método que te permite mostrar el sueldo que percibe actualmente el empleado
 public int obtenerSueldo(){
 return sueldo;
 }

 //Método que te permite modificar la edad
 public void modificarEdad(int edad){
 this.edad = edad;
 }

 //Método que te permite modificar el sueldo
 public void modificarSueldo(int sueldo){
 this.sueldo = sueldo;
 }
}



Las dos primeras líneas de mi programa representan el nombre del primer y segundo empleado, además de su respectiva edad y sueldo. Las dos últimas líneas de nueva cuenta representan a mis dos empleados pero utilice ciertos métodos que me permitieron actualizar algunos datos como el caso de las edades en ambos trabajadores y el sueldo en el primero.

Algunos ejemplos de diagramas de casos de uso (Puntos Extras)

A continuación les presentaré algunos diagramas de casos de uso de las aplicaciones mas típicas para nosotros en Internet.

martes, 30 de agosto de 2011

Metodologías para el análisis y diseño de software (Puntos Extras)

¿Qué es una metodología?

En este caso, es un conjunto de pasos, técnicas, procedimientos que guían a un desarrollador a realizar un software de calidad (eso se pretende).


Para que sea un software que cumpla con los requerimientos pedidos se debe hacer un buen análisis (un paso de cualquier método):

  • ·         Conocer las necesidades del cliente.
  • ·         Realizar un análisis técnico y económico.
  • ·         Establecer restricciones de presupuesto y tiempo, etc.

Un poco de historia
La creación de metodologías no es reciente, es algo que se ha venido dando a través de los años. Cada una de ellas con su propia forma de hacer las cosas pero, en general,  coinciden en un aspecto: producir un software ideal para quien lo necesite.

Como se puede apreciar en la imagen anterior, es a partir de 1968 que se empieza a buscar soluciones a los grandes problemas iniciales de la creación de software. La tabla termina con METRICA Versión 2.1 en 1995, sin embargo han emergido recientemente algunas otras como:

  • ·         Rational Unified Process (RUP) desde 1999
  • ·         Extreme Programming (XP) desde 1999.
  • ·         Enterprise Unified Process (EUP) extensions RUP desde 2002.
  • ·         Constructionist Design Methodology (CDM) desde 2004.
  • ·         Agile Unified Process (AUP) desde 2005.

La mayoría de las metodologías descritas están obsoletas, especialmente las más antiguas.


Características deseables de una metodología.
  • ·         Planificación y control.
  • ·         Herramientas CASE.
  • ·         Fácil formación
  • ·         Soporte de mantenimiento.
  • ·         Soporte de reutilización del software, etc.


Enfoques de desarrollo de software.
Cada sistemática de desarrollo de software tiene un enfoque en el cual se basa para crear programas. Algunos de los enfoques o patrones más comunes son:
  • ·        Modelo en cascada
  • ·         Prototipado
  • ·         Incremental
  • ·         Espiral
  • ·         RAD




lunes, 29 de agosto de 2011

Java en Windows

Para poder programar por primera vez java en Windows es necesario descargar las herramientas necesarias para realizar dicha acción. Si lo que se pretende es programar en un bloc de notas y, compilar y ejecutar desde la línea de comandos o la consola de Windows, con descargar el JDK (Java Development Kit) será más que suficiente.  Si en dado caso quieres programar en un IDE, tendrás que descargar dicho IDE (Netbeans, Eclipse, etc.) aparte del JDK.  

A continuación se presentarán los pasos a seguir para programar en java:
  • 2. Buscar la categoría “Java“, en la cual se elegirá  la opción” Java SE (Java Standard Edition)”.
  • 3. Descargar solamente el JDK (inmediatamente después se tendrá que decidir la versión adecuada según el sistema operativo en la cual se utilizará dicha herramienta, así como también del número de bits). Nota: no hay que olvidar aceptar la licencia.
  • 4. Esperar a que se descargue.

 
El siguiente paso es opcional, ya que depende de donde se vaya a compilar y ejecutar el programa java. Si en donde se quiere hacer es desde la consola de Windows se tendrá que agregar una variable de entorno aunque independientemente, si es en algún IDE o en la línea de comandos, donde se quiera programar se recomienda hacer estos sencillos pasos.
Para agregar una variable de entorno en Windows Vista se debe ir a:
Panel de control > Sistema > Configuración Avanzada del sistema > Variables de entorno




Se creará una nueva variable de entorno para lo cual se presionará el botón “Nueva…”. Aparecerá una nueva ventana en donde escribiremos el nombre de la variable (sugiero poner Path como nombre) y su valor, el cual deberá ser la ruta de acceso a la carpeta donde se instalo el JDK. Una vez hecho lo anterior presionar “Aceptar” y a continuación en la lista del variables del sistema se verá la variable que justamente se ha creado. Después presionar “Aceptar” y salir hasta llegar al escritorio.





 
Para probar que todo esté bien se puede hacer un simple hola mundo en el bloc de notas y compilarlo desde la consola utilizando el comando “javac holamundo.java” (sin las comillas).
Ejecutarlo sería solo poner “java holamundo” en el cmd.



 Funciona al 100%, entonces...  ¡A programar se ha dicho!


Una cosa más que quiero agregar es la aplicación con la cual voy a programar y ésta es Notepad++.


Notepad++ es un editor de texto y código exclusivo para Windows, el cual soporta varios lenguajes de programación, entre ellos java.
Se parece al bloc de notas pero con más funciones.