martes, 17 de mayo de 2011

Presentacion Clase Final

Presentación1
View more presentations from htinajero.


Aqui esta mi presentacion, comenten en mi blog lo que ustedes quieran referente a mi presentacion espero les haya gustado.Gracias

viernes, 13 de mayo de 2011

GUI [Clase]






La interfaz gráfica de usuario, conocida también como GUI es un programa que actúa de interfaz de usuario, utilizando un conjunto de imágenes y objetos grá
ficos para representar la información y acciones disponibles en la interfaz. Su principal uso, consiste en proporcionar un entorno visual sencillo para permitir la comunicación con el sistema operativo de una máquina computador.

Estos GUI lo que hacen es que mediante una interfaz, el usuario o programador puede interactuar con el mismo ordenador. Esto se logra mediante una serie de botones, o bien acciones y eventos que realiza la computadora para poder lograr estas acciones.
En esta entrada hice 3 imágenes en PNG, pero no se como subirlas en este blog. Lo que hice mediante estos GUI fue que desarrollar asi como un diseño, este diseño fue para poder saber como hacer mi propio proyecto. Mediante paneles y JFrames, se hace esto, ya que es muy sencillo pero el chiste es que tienes que determinar bien como son tus paneles y como los vas a dividir.
La parte clave de esto son los comandos que le darás a la interfaz para que se comunique con el usuario.

Al principio queria dar el JFrame para mostrar como el paciente se va a curar, de esta manera podemos ver que mediante un texto no editable, y unas palabras pre-programadas el mismo programa le dara a conocer su medicina natural. Claro, como pueden ver en la parte debajo tuve que poner que consulte a su medico, ya que no es ninguna cura, sin embargo puede ayudar al sintoma.

Lo que hice es un JFrame con 1 solo panel, que preguntaba Usuario y Contrasena, con 3 botones debajo, estos son Ok , cancelar y nuevo usuario.

Despues use el boton de nuevo usuario para preguntarle los datos a la persona importantes o bien informacion necesaria para poder tener un resumen del paciente.
Por ultimo mediante una JList, di a conocer las partes del cuerpo, esto es para preguntarle al usuario que parte del cuerpo le duele, y junto a eso le pregunto yo al usuario si quiere una analgesico, o bien un medio natural para curar su propia enfermedad. Esto sin las imagenes no es mucho, sin embargo es algo, gracias doctora que este bien hasta luego.

Esto fue solo una introduccion de lo que son los GUI ya que si subo todos los GUI ocuparia una gran cantidad de imagenes, y ediciones d texto etc.. La clave de esta entrada es para que ustedes puedan ver masomenos como va el diseño de lo que es los GUI. Al igual si esto es revisado despues del domingo, puedo subir un poco mas de cosas.

Por cierto, para taller no subire nada creo que ya la perdi esa materia, sin embargo seguire asistiendo a clases y todo eso para seguir aprendiendo, y tambien me queria preguntar si si se abrira en verano el taller de programacion? Gracias doctora que tenga buen dia.

miércoles, 4 de mayo de 2011

Sistemas Distribuidos [clase y taller]

aqui va algo (son las 5.26 am no pude acabar pero maniana antes de las 12 o 1 pm esta listo)

miércoles, 13 de abril de 2011

Pruebas Unitarias (Clase)


(Intente instalar el JUNIT pero si lo baje y todo el problema es que no supe como usarlo en linux, dice qe se pued emediante eclipse pero tampoco lo se usar)
Bueno esto es para explicar las pruebas unitarias mediante diagramas y definiciones.

Prueba Unitaria
En programación, una prueba unitaria es una forma de probar el correcto funcionamiento de una parte de código. Esto sirve para asegurar que cada uno de las partes funcione bien por separado.
Esto se hace para despues con las Pruebas de Integracion, se podra asegurar que el progr
ama funcione bien.
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.

Para que una prueba unitaria sea buena debe tener lo siguiente:

  • No debería requerirse una intervención manual. (Esto es especialmente útil para integracion continua.)
  • Deben cubrir la mayor cantidad de código(es decir en partes casi todo el codigo).
  • No se deben crear pruebas que sólo puedan ser ejecutadas una sola vez.
  • Al momento de ejectuar un codigo, no debe de ejecutar ni una otra parte de codigo.

Aunque estos requisitos no tienen que ser cumplidos al pie de la letra, se recomienda seg

uirlo

s o de lo contrario las pruebas pierden parte de su función.


Aqui esta imagen resume todo lo que es una prueba unitaria.


Cuales son las ventajas de las pruebas unitarias:


  1. Las pruebas unitarias hacen que la estructura de codigo sea mejor, es decir, que al momento de separar el codigo en partes para ejecutarlo, el usuario hace que el codigo se vea de mejor manera y asi se hace mas simple.
  2. Al momento de ejecutar el codigo, se puede documentar, y esto ayuda a tener un orden y un historial para cada parte de codigo ejecutable.
  3. Dado que la única interacción entre los casos de prueba y las unidades bajo prueba son las interfaces de estas últimas, se puede cambiar cualquiera de los dos sin afectar al otro, a veces usando objetos mock (estos son los objetos simulados de prueba, esto funciona exactamente en un programa como los monos esos que se usan en choques automovilisticos) para simular el comportamiento de objetos complejos.
  4. Los errores están más acotados y son más fáciles de localizar

Desventajas
La desventaja mas obvia sobre las pruebas unitarias es que al momento de ejecutar todo el codigo en partes, el proagrama SI, puede encontrar muchos errores individualmente, pero que tal entre los paquetes, o cuando un codigo llama a otro? estos errores solo pueden ser identificados al compilar el paquete completo y por ende no podrian ser detectados por las pruebas unitarias.

Aqui otro ejemplo mas sencillo de las pruebas unitarias.


jueves, 7 de abril de 2011

Errors, Exceptions, Events (Taller)

Aqui se puede ver la exception en cuanto la pw es falsa, o bien no existe, y es ahi cuando el do lo controla mientras sea falso. Cuando este es true, pues avanza a la siguiente fase.


package Projecto;

public class ventana {

void Usuario(){
System.out.print("Nombre de usuario");
Scanner user =new Scanner (System.in);

System.out.print("Contrasenia");
Scanner pw =new Scanner (System.in);
do
{
try
{
password.input(pw);
pw = false;
}
catch (PasswordNotFoundException pw)
{
PasswordNotFoundException.printStackTrace();
System.out.println("Vuelva a ingresar contrasena");
}
}while(pw = true);
}
}


Aqui es otra excepcion buscando una connexion a internet, esto se puede ver como un error o bien una excepcion, ya que esto solo depende del usuario, si la computadora del usuario tiene internet el programa puede avanzar, en caso de que no pues no podemos hacer nada por el.


package Projecto;

public static boolean isInternetReachable()
{
try {

InternetConnection IC = IC.getByName("....");

if(IC== null)
{
return false;
}

} catch (NotConnectedException NCE) {
NCE.printStackTrace();
return false;
}

return true;
}



Bueno esto es una breve explicacion sobre las excepciones y errores en mi proejcto, alguna duda puede llamarme o bien comenten en mi blog, creo que es mas facil.

miércoles, 6 de abril de 2011

Errors, Exceptions, Events (clase)

Bueno, hola que tal primeramente, ahora les voy a hablar sobre los errores excepciones y eventos que puede haber en mi software.
Primero para definir que es cada uno de ellos, explicare Brevemente que es cada uno de ellos a mis palabras.

Exception: una excepcion, es cuando el programa obtiene un error pero que se puede corregir, es decir, al implementarlo en mi projecto se puede decir que al momento de que el usuario quiera conocer una medicina natural como por ejemplo de la gripa, necesita un te de miel con oregano, pero este usuario no le gusta o es alergico a esta clase de medicamento natural, bueno aqui es cuadno entra la Exception, y tratamos de convencer al usuario de que otro metodo es igual o menos efectivo en contra de esta (gripe) enfermedad.

Error: un error se crea cuando el usuario pone de manera incorrecta la informacion, es decir, si el usuario pone una contrasena incorrecta, ahi es cuando se crea el error. En el caso de mi software puede ser eso mismo, cuando un usuario ingresa de manera incorrecta ya sea su nombre de usuario o su contrasena, o bien una enfermedad que no se conoce, o bien, que el usuario haya escrito el termino incorrecto, el programa no puede hacer nada para arreglarlo, si no el usuario tiene que determinar de manera correcta su error.

Evento: Un evento se crea la mayoria de las veces cuadno hay interaccion entre el usuario y el programa, por ejemplo, cuando un usuario ingresa el tipo de enfermedad que necesita, el programa le despliega cierta informacion; ahi mismo es donde estamos creando un evento. Es decir, cuando el usuario hace una accion, y el programa le responde con otra.

Excepciones que pueden aparecer en mi progrma:
  • Cuando el usuario es alergico, o bien no tolera cierto medicamento natural medicado.
  • Cuando el usuario ingresa, uno o dos mas sintomas que parecen ser de la misma enfermedad; ahi es cuando el programa debera pedir una especificacion para poder realizar su trabajo.
  • Cuando el programa no puede determinar si es una enfermedad cronica, o bien si es una enfermedad pasajera.
Errores:
  • Cuando el usuario ingresa su contrasena de manera incorrecta.
  • Cuando el usuario ingresa su nombre de usuario de manera incorrecta.
  • Cuando el usuario ingresa algun tipo de enfermedad no guardado en la base de datos.
  • Cuando el programa no puede determinar que tipo de medicamento puede ser mas efectivo. (Esto solo se da en cuanto el usuario ingresa uno o mas tipos de enfermades.)
  • Otro error es cuando el usuario no tiene conexion a internet, pues el programa no podra hacer nada ya que estaremos conectados directamente a una base de datos en internet.


Aqui un pequenio diagrama sobre excepciones y errores.
Eventos:
  • Un evento posible es cuando el usuario determinara donde es que le duele, o bien se siente mal.
  • Otro evento puede ser cuando el usuario determina ya su medicina, para despues que el programa guarde o bien solo ignore los datos ya desplegados.
  • Cuando el usuario cambie de ventana en el momento de que ya haya escogido su enfermedad, o bien su medicina; para ver a donde se dirige, ya sea si al inicio, o bien si quiere continuar con la busqueda de informacion.

jueves, 31 de marzo de 2011

Design Patterns

Bueno aqui les demostrare cuales son los diseños de patron que necesito usar o al menos que intentare usar en mi proyecto.
Para empezar lo que segun yo necesitare es el Builder, por que necesitare este diseño de patron? Bueno primero tenemos que definir que es este diseño. Este diseño lo que hace es que al momento de crear un objeto complejo, lo hace paso a paso de una manera mas simple; esto de que me ayuda? pues al momento de crear el objeto cuerpo, y todos sus derivadas partes, pues puedo crearlo de manera sencilla paso a paso crear cada parte del cuerpo a mostrar.

Otro diseño de patron que estoy dispuesto a usar es la de Adapter, esta clase uno de sus beneficios que me van a ayudar mucho es el hecho de que hace que clases sin relacion puedan trabajar juntas de una manera mejor. Esto me puede ayudar por que; bueno por qe mis clases en si no estan muy relacionadas, como la parte del cuerpo, las enfermedades y la medicina, lo que tienen de relacion es que una parte del cuerpo tiene una enfermedad y esta enfermedad tiene una medicina, pero con el mismo Adapter puedo relacionarlas mejor y asi poder trabajar con su conjunto de una manera mejor.

Otro que creo que puedo usar es el Facade, este dice en internet que se usa para una mayor seguridad en cuanto a pogramas de base de datos, esto me puede ayudar en el que mi proyecto usara una gran base de datos, en cuanto a medicinas y enfermedades, lo que no queremos es darle al usuario mas cosas información a conocer ya que cualquier dato de mas puede afectar a la salud del cliente.

Creo que en mi projecto puedo implementar muchas de estas, pero bueno al menos pondre unas 5, otro diseño es el Flyweight, este diseño dice que es agil para los software con iconos que representan objetos, estos iconos seran los que representaran las partes del cuerpo que pienso poner dentro de mi software.

Creo que memento es otra de las que puedo usar, ya que en este patron de diseño dice que guarda informacion para usarla despues, esta informacion sera la que yo necesitare con el objetivo de guardar cada informacion de usuario, cada enfermedad que ha tenido para despues poder mostrarsela a el y tener un historial de ello.