lunes, 13 de febrero de 2012


PSP 0
Resumen
Nuestra actividad trata sobre los formatos requeridos y recomendados para el uso de la metodología de PSP 0.
Mostrando ejemplos de esta metodología y algunas explicaciones acerca de el tema tratado.
Aun que actualmente la metodología de PSP 0  resulta para muchas personas y empresas realmente inútil e inservible, puesto que en ya se encuentran mejores formas de medir el rendimiento de los programadores y sus habilidades, en ocasiones a otras personas lo consideran como una carga innecesaria.
Introducción
PSP 0 es una metodología línea base de eficiencia medible para los programadores puesto que registra el proceso actual así como los tiempos, los defectos y el tamaño de alguna aplicación a desarrollar.
Alcances y Limitaciones
Poder encontrar los formatos y reportes que especifican el uso correcto de la metodología de PSP 0  ya que algunos.
La limitación es la escases de información correcta y explicita sobre el tema que detallen de forma clara y fácil el funcionamiento de la misma metodología PSP 0
Marco teórico
Presentación power point de formatos PSP 0
Hojas de Diapositivas
Formatos oficiales PSP pagina sin autor


                                                 Desarrollo





El propósito general de llevar este registro de defectos reside en promover la mejora continua cada vez que se haga un proyecto. Cada fase de PSP debe de contar con un registro de defectos, ya sean revisiones, compilaciones y/o pruebas.
Los campos que intervienen en este formato son:
• Fecha.- Se introduce la fecha cuando se encuentra el defecto.
• Número.- Se introduce de manera secuencial el número de defecto encontrado en cada programa.
• Tipo.- Se refiere al tipo de defecto que viene en la tabla adjunta al formato, el tipo de defecto va desde 10 hasta 100 en intervalos de 10 en 10.
• Encontrado.- Por medio del mejor juicio se introduce el nombre de la fase cuando se encontró el defecto.
• Removido.- Se refiere al nombre de la fase cuando se removió el defecto encontrado.
• Tiempo de compostura.- Es el tiempo que tomó reparar el defecto encontrado.
• Defecto arreglado.- Este campo quiere decir si se encontró algún defecto extra mientras se reparaba el defecto detectado primero, en caso de no haber ninguno, se introduce una X.
                                                            



Este formato es esencial ya que es un respaldo para cada proyecto que se desarrolla. En él se pueden encontrar los datos que serán útiles para el siguiente proyecto parecido que se desarrolle. Es importante que los datos se escriban con claridad y con precisión para que cada fase de desarrollo sirva para tener un margen de comparación con proyectos futuros.
Los campos que el programador tiene que llenar en este formato son:


Área de Tiempo en la fase.
• Plan.- Es el tiempo estimado que se empleará para desarrollar el proyecto completo.
• Actual.- Es el tiempo real, en minutos, que se emplea en cada una de las fases de desarrollo.
• A la fecha.- La suma del tiempo actual con el tiempo a la fecha del último programa desarrollado.
• A la fecha %.- Indica el porcentaje del tiempo a la fecha que se emplea en cada fase de desarrollo.
                                     
Área de Defectos encontrados.
• Actual.- Número de defectos reales encontrados en cada fase de desarrollo.
• A la fecha.- Suma de los valores de los campos Actual (Defectos encontrados) con el campo de A la fecha del último proyecto programado.
• A la fecha %.- Porcentaje de defectos encontrados a la fecha en cada fase de desarrollo.

Área de Defectos removidos.
• Actual.- Indica el número de defectos removidos en cada etapa.
• A la fecha.- Es la suma del valor que se encuentra en el campo de Actual (Defectos removidos) con el valor A la fecha del último programa desarrollado.
• Ala fecha %.- Porcentaje de defectos removidos del campo A la fecha y que se aplica para cada fase de desarrollo.



Conclusiones
Después de leer y entender la función de la metodología PSP 0 nos hemos dado cuenta que no nos es muy útil puesto que realmente solo nos carga la mano al intentar generar una aplicación puesto que usualmente un programador se encuentra mas ocupado tratando de completar el código al que fue asignado de una forma en la que funcione a la perfección y de ponerse a detallar su trabajo se le acaba el tiempo limite que tiene para generar su programa.

miércoles, 25 de enero de 2012

martes, 20 de septiembre de 2011

Practica de polimorfismo






 CLASE MAIN

 package polimorfismo;

import java.util.Scanner;


/**
 *
 * @author JABES
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
   
   Cuadrado cuadra = new Cuadrado(5,4,8);
   Circulo circu = new Circulo(6,2,2);
 
   System.out.println("El area de los Cudrado es: "+cuadra.area());
   System.out.println("El area del circulo es: "+circu.area());

 
 
    }
}


CLASE FIGURA

package polimorfismo;

/**
 *
 * @author JABES
 */
public abstract class Figura {
   
    protected double x;
    protected double y;
   
    public Figura(double x, double y){
        this.x=x;
        this.y=y; 
           
       
    }
   
    //Como para  parte de la sintaxis de abstract debes de declarar el metodo en el que aras uso
    //del polimorfismo
    public abstract double area();   

}


CLASE CUADRADO

package polimorfismo;

/**
 *
 * @author JABES
 */
public class Cuadrado extends Figura {
    private double lado;
   
    public Cuadrado(double x, double y, double lado){
        super(x, y);
        this.lado=lado;
       
       
    }
    public double area(){
       return lado*lado;
       
    }
          
   
}




CLASE CIRCULO

package polimorfismo;

/**
 *
 * @author JABES
 */
public class Circulo extends Figura {
private double radio;

public Circulo(double x, double y, double radio){
 super( x, y ); 
 this.radio=radio;
   
}
   
    @Override
 public double area(){
     return Math.PI*radio*radio;
        
    
 }  
   
   
}

Practica de metodos Sobrecargados

      Descarga codigo aqui


  

CLASE MAIN

package metodossobrecargados;

/**
 *
 * @author JABES
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       
        Sobrecargo carga =new Sobrecargo();
        int a=2;
        int b=3;
        carga.Numeros(4, 5);
        carga.Numeros(3.3, 4.2);
        carga.Numeros("jabes rivera");
    }

  
}


CLASE SOBRECARGO

package metodossobrecargados;

/**
 *
 * @author JABES
 */
public class Sobrecargo {

  public void Numeros(int x, int y){
      System.out.println("Este metodo recive enteros. " +x+" y "+y);
     
  }     
  public void Numeros(double x, double y){
      System.out.println("este metodo revibe flotantes: "+x+" y "+y);
     
  }
  public void Numeros(String Cadena){
      System.out.println("este metodo recibe cadena: "+Cadena);
     
  }
}

Practica de herencia




                                       DESCARGA CODIGO AQUI

 
CLASE MAIN

package herencia;

import java.text.SimpleDateFormat;
import java.util.Date;
/**
 *
 * @author JABES
 */
public class Main {

    /**
     * @param args the command line arguments
     */
  
   
    public static void main(String[] args) {
        /*
         *
         */
     SimpleDateFormat fecha = new SimpleDateFormat("dd/ MM / yyyy");  
    
        // Instaciamos los onbjetos de las clases  a los cuales agregaremos valores, cabe mencionar que el mismo numero de para
     //parametros que se insgtanciaron en las otrar clases, es el mismo numero de valores qeu se agregaran
     // en constructor en el mismo orden y tipo.
     Alumno Al=new Alumno("26/12/1986","Masculino","Jabes","RIVERA","Martinez","Morelos","01/03/2010","A","TIC","sistemas");
    Persona Per =new Persona("26/12/1986","HOMBRE","Jabes","RIVERA","Martinez","Moreols");
   Profesor pro =new Profesor("23/09/1987", "MASCULINO","JOSE","SERVANTES","SANDEL","TABASCO","MAESTRO","INGENIERO","ISC","PROGRAMCION","TIC");
   /*
    * imprimimos en panatalla nuestros metodos, mostrar, calculaMatricula, calculaEdad,
    * calculaCurp y rfc.
    */
    System.out.println("---------------------------Alumno-----------------------------------");
    System.out.println(Al.mostrar());   
    System.out.println( "la matricula es:"+Al.calculaMatricula(""));
    System.out.println("el cuatrimestre es:"+Al.calculaCuatrimestre(" ")+" grado");
   
   
    System.out.println("\n---------------------------Persona-----------------------------------");
    System.out.println(Per.mostrar());
    System.out.println("la curp es: "+Per.calcularCurp(null));
  System.out.println("la edad es: "+Per.calcularEdad(null));
       
       
   
     System.out.println("\n---------------------------Profesor-----------------------------------");
      System.out.println(pro.mostrar());
      System.out.println("RFC del docente: "+pro.Calcularfc(""));
    
    }
}

CLASE PERSONA

package herencia;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 *
 * @author JABES
 *
 * Esta es nuestra superClase Persona, donde declaramos variables que seran utilizadas
 * por cualquier clase que dependa de ella a traves de un extends.
 */
public class Persona {
    String fecha;
    String genero;
    String nombre;
    String apellidop;
    String apellidom;   
    String estado;
  
        /*
     * Sobrecargamos el metodo que sera heredado a las de las demas clases
     */
 public Persona(String fe, String ge,String nombre,String app, String apm, String es){
  this.fecha=fe;
  this.genero=ge;
  this.nombre=nombre;
   this.apellidop=app;
   this.apellidom=apm;
   
    this.estado=es;
   
  
 }

 /*
  * En el metodo calcualar utilizamos, la fecha del sistema, y la asignamos en
  * 1 arreglo y otro arreglo la fecha de nacimiento estdos son de topo String
  * se convierten a Integer, y posterior mente se resta, y despues se compara
  * retornado el resultado.
  */
public int calcularEdad(String fecha_nac) {     //fecha_nac debe tener el formato dd/MM/yyyy
  
    Date fechaActual = new Date();
    SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
    String hoy = formato.format(fechaActual);
    String[] dat1 = this.fecha.split("/");
    String[] dat2 = hoy.split("/");
    int anos = Integer.parseInt(dat2[2]) - Integer.parseInt(dat1[2]);
    int mes = Integer.parseInt(dat2[1]) - Integer.parseInt(dat1[1]);
    if (mes < 0) {
      anos = anos - 1;
    } else if (mes == 0) {
      int dia = Integer.parseInt(dat2[0]) - Integer.parseInt(dat1[0]);
      if (dia > 0) {
        anos = anos - 1;
      }
    }
    return anos;
  }




 /*
 * substraemos cada una de las posicion de los datos para obtener nuestra curp.
 *
 */
 public String calcularCurp(String cur){
     String nom=this.nombre.substring(0,1);
     String app=this.apellidop.substring(0,2);
     String apm=this.apellidom.substring(0,1);
     String di=this.fecha.substring(0,2);
     String mes=this.fecha.substring(3,5);
     String anio=this.fecha.substring(8,10);
     String ge=this.genero.substring(0,1);
     String es=this.estado.substring(0,1);
     String curp=app+apm+nom+anio+mes+di+ge+es;
     return curp;
 }

 public String mostrar(){
   return "la fecha de nacimiento: "+fecha +"\n el genero es: "+genero+"\n el nombre es: "+nombre+"\n apellido paterno: "+apellidop+"\n apellido materno: "+apellidom+"\n el estado es: "+estado ; 
    
 }  
   
}

CLASE ALUMNO.

package herencia;
import java.text.SimpleDateFormat;
 import java.util.Date;  

/**
 *
 * @author JABES
 */
/*
 * Esta clase se extendiendo o heredando de la clase Persona, utilizando la palabra
 * extends .
*/
public class Alumno extends Persona{
/*
 * Estas son las variables, propiedades o caracteristicas que tiene nuestra clase alumno
 *
 */
    String fechaingreso; 
    String grupo;
    String carrera;
    String especialidad;
   /*
    Este es el constructor sobrecargado, que permite alojar los tipos de datos y las
     * varibles que contiene nuestra clase padre(Persona)y nuestra clase hijo(Alumno).
     */
public Alumno(String fecha,String genero,String nombre,String apellidop,String apellidom,String estado, String fechaingreso, String grupo, String carrera, String especialidad){
/*
 * Pese a que en el constructor sobrecargardo se cargan los parametros qeu tendra toda nuestra calse alumno,
  falta traer los parametros como tal de la super clase o clase padre, para utilizamos la palabra
     * recervada, super.
 */
    super(fecha, genero, nombre, apellidop, apellidom,estado);
/*
 * con la palabra this hacemos referencia a los objetos o variable sdde nuestra misma clase.
 */
 this.fechaingreso=fechaingreso;
 this.grupo=grupo;
 this.carrera=carrera;
 this.especialidad=especialidad;
}
/*
 * Este es el metodo calcularMatricula donde basicamente lo que se hace es:
 * substraer el año, el mes, y agregar el numero de la academia.
 *
 */
public String calculaMatricula(String matri){
String inicio=this.fechaingreso.substring(6);
String car=this.carrera.substring(0,2);
String matricu=inicio+"3"+car+"171";
return matricu;
}
/*
 * Este es el metodo que calcula cuatrimestre, restando la fecha de ingreso
 * con la fecha que apunta el sistema operativo.
 */
public int calculaCuatrimestre(String cuatri) {     //Calcualar cuatrimestre debe tener el formato dd/MM/yyyy
  
    Date fechaActual = new Date();
    SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
    String hoy = formato.format(fechaActual);
    String[] dat1 = this.fechaingreso.split("/");
    String[] dat2 = hoy.split("/");
    int anos = Integer.parseInt(dat2[2]) - Integer.parseInt(dat1[2]);
    int mes = Integer.parseInt(dat2[1]) -Integer.parseInt(dat1[1]);
     int dia = Integer.parseInt(dat2[0]) - Integer.parseInt(dat1[0]);
    if(mes==6){
        mes=4;
    }
    
     return mes;
    
   
  }
   
  
 
/*
 * Este es el metodo heredado de la super clase con la palabra reservada supér
 * basicamente lo que hace es mostrar, la pecualiaridades de cada clase mas las
 * propiedades de la superclase.
 */
    @Override
 public String mostrar(){
    
        return super.mostrar()+"\n la la fecha de ingreso es: "+fechaingreso+
             "\n el grupo es: "+grupo+"\n la carrera es: "+carrera+"\n la especialidad es: "+especialidad;    
  
   
    }   

}

CLASE PROFESOR


package herencia;
/**
 * @author JABES
 */
/*
 * como en la clase alumno, la clase Profesor tambien se extiende a Persona
   */
public class Profesor extends Persona {

  String grado;
  String titulo;
  String especialidad;
  String academia;
   /*
   * De igual manera que la clase alumno se parametriza y nuestro metodo sobrecargado
   */
public Profesor(String fecha,String genero,String nombre,String apellidop,String apellidom,String estado,String es, String grado,String titulo,String especialidad, String academia ){
super(fecha, genero, nombre, apellidop,apellidom,estado);//hacemos referencia  a las variables de la clase padre.
/*
 * Hacemoss referencia a las variables de la mistma clase
 */
       
this.grado=grado;
this.titulo=titulo;
this.especialidad=especialidad;
this.academia=academia;


         }
 /*
 * para substraer los datos qeu nos daran el rfc , mandamos a traer la super clase.
 */
 public String Calcularfc(String rfc){          
     String nom= super.nombre.substring(0,1);    
  String app= super.apellidop.substring(0,2);
  String apm= super.apellidom.substring(0,1);
  String fech= super.fecha.substring(0,2);
  String fecch=super.fecha.substring(3,5);
  String feccch= super.fecha.substring(8,10);
  String rf=""+app+apm+nom+feccch+fecch+fech+"TKM";
 // String rfc=rf;
  return rf;
 
 }

    @Override
public String mostrar(){
   
   
    return super.mostrar()+"\n su puesto es: "+grado+"\n su tittulo es: "+titulo+
            "\n la especialidad es: "+especialidad+"\n la academia es: "+academia;
   
       }
    
   }

Examen diagnostico

 
                   DESCARGAR CODIGO AQUI

  

CON UNA CONDICION MENOR O IGUAL A 7

package imprime;

/**
 *
 * @author JABES
 */
public class Imprime {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        String hola="";
       
        int i=1;
        int fact=0;
      
        do{
         hola=hola+ " hola ";
         fact=fact+i;
         System.out.println( hola);
         i++;
        }while(i<=7);
       
        System.out.println(" total: "+fact);
                // TODO code application logic here
    }
}



CON UNA CONDICION MENOR O IGUAL 20
package imprime;

/**
 *
 * @author JABES
 */
public class Imprime {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        String hola="";
       
        int i=1;
        int fact=0;
      
        do{
         hola=hola+ " hola ";
         fact=fact+i;
         System.out.println( hola);
         i++;
        }while(i<=20);
       
        System.out.println(" total: "+fact);
                // TODO code application logic here
    }
}