lunes, 1 de diciembre de 2008

CONTENIDO

Se diseñó un (1) aplicativo en la tecnología: Java que se encarga de graficar las siguientes funciones: Y=X2+4x+5 y Y=5exp(x)+3x+2. El sistema genera la tabla de valores con los resultados generados de la función.

Se presenta el análisis o la aplicación de las Caja Negra y Caja Blanca,

a. Portada
b. Referente teórico sobre Caja Negra y Caja Blanca.
c. Aplicación Prueba de Caja Negra
- Funcionalidad incorrecta ó faltante (Hace referencia a lo que le hace falta al aplicativo para que corra sin dificultad y sin problemas) - Análisis de Valores Límite (Hace referencia a los posibles valores que pueden afectar el sistema ó que lo pueden hacer depurar en un momento dado) - Prueba de Seguridad (Hace referencia a los distintos tipos de restricción que tiene el software el cual evita su depuración)
- Prueba de rendimiento (Hace referencia a pruebas extensas o largas que permiten medir que tan resistente es el software en realizar procesos extenuantes)
d. Aplicación Prueba de Caja Blanca
- Representar en forma de Grafos todas las decisiones lógicas intervenidas en el programa. - Representar en forma de Grafos todos los posibles bucles que intervienen en el desarrollo de procesos.
- Representar en forma de Diagrama de Flujo de Datos el contexto general del aplicativo.
e. Conclusiones (mínimo 4 conclusiones)
f. Recomendaciones
Observaciones: Los valores que deberá graficar la función en el aplicativo deberán estar entre los rangos (-5 a 5) con un intervalo de cambio de valor de 0.5.

2 comentarios:

Martha L. Sánchez dijo...

Ejemplo aparte
CIRCULOS, ELIPSES
Los m‰todos definidos en Java para la realizacin de crculos y elipses, al igual que en la mayora de los lenguajes, reciben como parßmetros las coordenadas de la esquina superior-izquierda y el ancho y alto de la caja en la que se circunscribe el crculos o la elipse.

En el ejemplo siguiente, Ojos.java, podemos ver la r‰plica de la aplicacin conocida por los usuarios de Motif, en la que los ojos siguen los movimientos del ratn cuando se encuentra dentro del campo del applet.




--------------------------------------------------------------------------------
--------------------------------------------------------------------------------



import java.awt.*;
import java.applet.Applet;

public class Ojos extends Applet {
int Mx = -1;
int My = -1;
int OjoR1;
int OjoR2;
int Ancho;
int Alto;
int OjoIzq;
int OjoDch;
int OjoPY;
Color Pupila = Color.black;
Color Iris = Color.green.brighter();
Color Orbita = Color.white;
Image Imagen;
Graphics OjoCG;


public void init() {
setBackground( Color.darkGray );
Dimension d = size();

// Fijamos las variables que nos van a posicionar los
// ojos sobre el applet
OjoIzq = d.width >> 2;
OjoDch = OjoIzq * 3;
OjoPY = d.height >> 2;

OjoR2 = d.width >> 4;
OjoR1 = d.width >> 5;
Ancho = ( d.width >> 3 ) + OjoR1;
Alto = Ancho >> 1;
}


public void update( Graphics g ) {
paint( g );
}


// Funcion auxiliar, para que no se desmanden los valores
// y no se los salgan los ojos de las orbitas
int swap( int i,int c ) {
if( i > c )
i = c;
else if( i < -c )
i = -c;
return( i );
}


// Pintamos el ojo sobre el applet
void pintaOjo( Graphics g,int x ) {
// Fijamos los desplazamientos, las nuevas posiciones de
// referencia, en funcion de la posicion del cursor del
// raton, determinada por Mx y My
int dx = x-Mx;
int dy = OjoPY-My;

// Pintamos el ojo solamente bordeado, es decir, cerrado
if( dx < Ancho && dx > -Ancho && dy < Alto && dy > -Alto )
{
g.setColor( getBackground() );
g.fillOval( x-Ancho,OjoPY-Alto,Ancho << 1,Alto << 1 );
g.setColor( getBackground().brighter() );
g.drawOval( x-Ancho,OjoPY-Alto,Ancho << 1,Alto << 1 );
}
else
{
// Pintamos el hueco del ojo, por el que se movera el iris
g.setColor( Orbita );
g.fillOval( x-Ancho,OjoPY-Alto,Ancho << 1,Alto << 1 );

int y = OjoPY;
dx = swap( dx >> 3,OjoR1 << 1 );
dy = swap( dy >> 5,OjoR1 >> 1 );
if( Mx >= 0 && My >= 0 )
{
x -= dx;
y -= dy;
}

// Pintamos el iris, sobre el que se movera la pupila
g.setColor( Iris );
g.fillOval( x-OjoR2,y-OjoR2,OjoR2 << 1,OjoR2 << 1 );
if( Mx >= 0 && My >= 0 )
{
x -= ( dx >> 1 );
y -= dy;
}

// Pintamos la pupila dentro del iris
g.setColor( Pupila );
g.fillOval( x-OjoR1,y-OjoR1,OjoR1 << 1,OjoR1 << 1 );
}
}


public void paint( Graphics g ) {
Dimension d = size();

// La primera vez que se llama a este metodo, todavia no
// hay nada, asi que creamos el soporte de los ojos
if( Imagen == null || OjoCG == null )
{
Imagen = createImage( d.width,d.height >> 1 );
OjoCG = Imagen.getGraphics();
}

// Pintamos los ojos
OjoCG.setColor( getBackground() );
OjoCG.fillRect( 0,0,d.width,d.height );
pintaOjo( OjoCG,OjoIzq );
pintaOjo( OjoCG,OjoDch );
g.drawImage( Imagen,0,0,this );
}


// Cuando movemos el cursos dentro del applet, recibimos las
// coordenadas y repintamos el ojo
public boolean mouseMove( Event evt,int x,int y ) {
Mx = x;
My = y;
repaint();

return true;
}


// Si nos llega el evento de que el raton se ha salido del applet
// ponemos los todo en el centro, con los ojos espantados,
// como si se hubiese visto al diablo
public boolean mouseExit( Event evt,int x,int y ) {
Mx = My = -1;
repaint();

return true;
}
}

Cada uno de los métodos que nos permiten representar en pantalla elipses y arcos, requieren como parámetros las coordenadas del punto central del óvalo o arco y el ancho y alto, en valor positivo, del rectángulo que circunscribe al óvalo o al arco, como hemos dicho. Para pintar arcos, necesitamos dos parámetros adicionales, un ángulo de inicio y un ángulo para el arco; de este modo especificamos el inicio del arco y en tamaño del arco en grados (no en radianes). En la figura que sigue mostramos cómo se tiene en cuanta el ángulo a la hora de las especificación de ángulos en los valores de los parámetros a pasar a los métodos drawArc() y fillArc().




El applet siguiente, FigElipse.java, nos permite manipular el comportamiento de estos métodos ante los valores que indiquemos en los parámetros que aceptan:





--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

Martha L. Sánchez dijo...

www.cica.es/formacion/JavaTut/Cap5/circ.html