jueves, 14 de julio de 2011
Codigo Fuente Taller POO
Codigo Fuente
Codigo Autogenerado POO
class Usuario {
private Proyecto ;
private Proyecto ;
private String usuario;
private String password;
private peso;
private String nombre;
private String apellido;
public bambam;
public registroUsuario(void usuario, password, nombre, apellido, apellido) {
}
public thehandler() {
}
public thehanlder2() {
}
}
Pues este es de la clase usuario, primeramente podemos ver que mediante la autogeneracion de codigo no es posible llegar al resultado que uno quiere, lo que hace este tipo de herramienta es darte el primer empujon para que despues tu agarres ese codigo y ya le des vida al mism. Como podemos ver tenemos los metodos necesarios para mi cuenta, sin embargo podemos ver que los atributos de metodo registrousuario son los mismos que busco en mi codigo duro, pero no de esa manera, siento que este tipo de autogeneracion de codigo no es lo que busca uno al momento de hacer lo que quiere. Ademas de que este mismo no te da el codigo de interfaces graficas que es necesario para darle un orden especifico a tu proyecto.
class Database {
private static Private final driver;
private static Private final database;
private static final user;
private connection;
public void insertarDatos(String Usuario, String Nombre, String Pass, String sexo, int peso) {
}
public compararDatos(String usuario, String password) {
}
private RS;
public Database() {
}
}
Aqui podemos ver que es demasiado aprecido a mi codigo, ya que tiene los mismos atributos y metodos, sin embargo siento que los tipos de variables en Database no son los correctos aqui y en el codigo duro, ya que en el codigo duro podemos dar a aconcoer que las variables son de result set o bien connection, siento que esas aqui no las puedes dar de una manera eficiente.
public class Enfermedad {
public imprimirSintomas(String enfermedad) {
}
private enfermedad;
public thehandler() {
}
private a;
public thehandler2() {
}
}
Aqui en enfermedad no las acomodo de manera eficiente ya que puso dentro del metodo imprimirSintomas, la variable enfermedad el cual no se puede hacer eso. Ademas de eso el codigo se parece mucho, ya que tenemos los mismos metodos solo faltarian los atributos de la clase.
Esto es alguno de mi codigo autogenerado. Aqui les va el link para descargar el codigo autogenerado.
https://rapidshare.com/files/431865460/Codigo_Autogenerado.rar
Codigo Autogenerado
Sistemas Distribuidos POO
Pruebas Unitarias TALLER POO
miércoles, 13 de julio de 2011
Interfazes Graficas TallerPOO
Al momento de dar click en "Ya estoy Registrado" aparece la siguiente ventana, en la cual el usuario ingresa su nombre y contrasena; con el objetivo de comparar estos datos con la base de datos, y en caso de que sean correctos el codigo lo lleva a la siguiente interface.
Gracias por todo chavos.
Documentacion (Javadoc) POO
Patrones de diseno implementados POO
public boolean escogerTipoReg(){
boolean resp=false;
Database Data = new Database();
System.out.print("\nYa esta registrado? si o no\n");
String t= Lectura.readString();
if(t.equalsIgnoreCase("si")){
resp=false;
}
if(t.equalsIgnoreCase("no")){
resp=true;
}
return resp;
}
Aqui usamos el patron singleton. Este patron lo explicare debajo de todo esto.
public void mostrarEnfermedad(){
ArrayList gripa = new ArrayList();
gripa.add("Fiebre");
gripa.add("Dolor de cabeza");
gripa.add("Escalofrios");
gripa.add("Mareo");
gripa.add("Flujo nasal");
System.out.print("Sintomas de gripa:\n ");
Iterator itr = gripa.iterator();
while(itr.hasNext()) {
Object element = itr.next();
System.out.print(element + " \n");
}
}
Ahora el iterator.
Debajo de todo esto esta la presentacion que hice en clase acerca de los aptrones de diseno que pueden usar en su proyecto.
Taller POO Eventos Errores y Excepciones.
try
{
Class.forName(drv); cont = DriverManager.getConnection(db, user, pass); //Este es el que hace la conexión de los statement con MySQL
hector = cont.createStatement(); //Haciendo esto permites que se pueda utilizar para trabajar
//st.executeUpdate("DROP TABLE TABLA");
System.out.print("Conexion Exitosa\n");
}catch(Exception e) { System.out.println("No se pudo conectar a la B
ase de Datos");Otra tanto excepcion como evento es cuando le damos ignresar usuario, aqui al momento de ingresar al usuario lo que haremos es crear una excepcion por si los datos que introduce son incorrectos, como poner variables flotantes dentro de varchars, o bien si no se pudo conectar a la base de datos.
JOptionPane.showMessageDialog(null,"No se pudo conectar a la base de datos", "Error", JOptionPane.ERROR_MESSAGE);
}
}
public void insertarDatos(String usuario, String nombre, String pass, int peso, String sexo, String email) {
try {
hector.executeUpdate("INSERT INTO usuario (nombre, pass, usuario, apellido, peso, sexo) VALUES ('"+nombre+"', '"+pass+"', '"+usuario+"', '"+email+"', "+peso+", '"+sexo+"')");
System.out.println("Se insertaron los datos correctamente\n");
JOptionPane.showMessageDialog(null,"Se han introducido correctamente los datos", "Correcto", JOptionPane.INFORMATION_MESSAGE);
}
catch(Exception e){
JOptionPane.showMessageDialog(null,"Los datos son incorrectos", "Error", JOptionPane.ERROR_MESSAGE);
System.out.println("No se pudieron insertar los datos\n");
System.out.println("INSERT INTO usuario (nombre, pass, usuario, apellido, peso, sexo) VALUES ("+nombre+", "+pass+", "+usuario+", "+email+", "+peso+", "+sexo+")");
}
}
Aqui podemos ver lo explicado con una captura de pantalla.
public void compararDatos(String usuario, String pass){
try {
rs = hector.executeQuery("SELECT pass, usuario FROM usuario WHERE pass ="+pass+" AND usuario = "+usuario+"");
System.out.println("El nombre y usuario son correctos");
boolean x = false;
JOptionPane.showMessageDialog(null,"Muy bien amigito!", "Excelente", JOptionPane.INFORMATION_MESSAGE);
}
catch (Exception e){
JOptionPane.showMessageDialog(null,"Error contrasena y usuario incorrecta", "Error", JOptionPane.ERROR_MESSAGE);
System.out.println("El nombre de usuario y/o contrasena es incorrecta");
boolean x = true;
System.out.println("SELECT usuario, pass FROM usuario WHERE usuario = "+usuario+" AND pass = "+pass+"");
}
}
Estas son algunas de mis excepciones, ahora vamos a habalr sobre los eventos que tengo pero ya con mas codigo, al ActionPerformed, esta funcion es para llamar a que el boton, o cualquier cosa que vaya a hacer algo haga algo. Este es un ejemplo de mi codigo.
private class thehandler implements ActionListener {
/*Metodo actionPerformed
* aqui se ejecutaran los botones, y ver que hace cada boton cuando le das una accion
*/
public void actionPerformed (ActionEvent evento){
Database db = new Database();
if(evento.getSource() == ingresar){
Usuario = usuario.getText();
Password = password.getText();
db.compararDatos(Usuario, Password);
Enfermedad enfer = new Enfermedad();
}
else if (evento.getSource() == cancelar);
dispose();
}
Aqui podemos ver que en el action performed le damos un atributo que es el evento, el cual es otro atributo de ActionEvent, este sirve para en cuanto le des click a algo, boom te salga algo y eso es lo que sigue del codig, por ejemplo en este codigo estamos comparando los datos de los usuarios para ingresar al sistema.
En este evento de boton, ponemos que en cuanto le pique a un boton y escoja una cosa en el combo box el text area desplegara algo. Lo que desplagara es la medicina y los sintomas de la enfermedad que la persona escojio dentro del combobox.
private class thehandler implements ActionListener {
public void actionPerformed (ActionEvent evento){
bambam = combo.getSelectedItem();
texto = bambam.toString();
if(mevale[0] == null ? texto == null : mevale[0].equals(texto)){
area.setText(gripa);
area6.setText(gripaM);
}
if(mevale[1]== null ? texto == null : mevale[1].equals(texto)){
area.setText(migrana);
area6.setText(migranaM);
}
if(mevale[2]== null ? texto == null : mevale[2].equals(texto)){
area.setText(agruras);
area6.setText(agrurasM);
}
Medicina med = new Medicina ();
}
}
}
Bueno estas son pocos eventos y exepciones que tengo en mi proyecto, las demas las pueden ver en el codigo fuente que despues subire.
martes, 12 de julio de 2011
Herencia Taller POO
domingo, 10 de julio de 2011
Diagrama de Clases POO
viernes, 8 de julio de 2011
Taller POO Especificacion Tecnica
Esta es mi especificacion tecnica. Si la quieren bajar ahi abajo esta el link. Gracias
Taller POO primera entrada (otra aplicacion)
Aqui sera donde pondremos en el directorio, lo recomendado es el c:/ ya que ahi es un lugar muy visible para esta aplicacion que estaremos usando mucho
Aqui le damos aceptar, ya que estaremos usando MySql muuy seguido y no como un servicio.
Esta instalacion tarda alrededor de 10 minutos, el programa esta instalando lo necesario para abrir las bases de datos.
Despues de esto saldra una ventana donde le daran Finalizar.
Taller POO Esqueleto de mis clases
public class Usuario {
public Usuario (String usuario, String pass, String nombre, String apellido, String peso, String sexo, String email){
// declaramos los atributos de la clase usuario
}
public boolean escogerTipoReg(){
//aqui escogemos si el usuario ya esta registrado o no
}
public Usuario registro(){
// si el usuario no se ha registrado, aqui es donde le preguntaremos su informacion
}
public void noregistro(Usuario u1){
//si el usuario ya esta registrado, usaremos los atributos del objeto tipo usuario llamado u1
}
Eso es todo para la clase Usuario, ahora veremos la clase enfermedad.
public class Enfermedad {
public Enfermedad (){
//aqui no necesitamos constructor ya que solo devolvera listas de las enfermedades
}
public void mostrarGripa(){
//en esta clase mostraremos lo que es la enfermedad gripa, pero esto fue solo para comenzar ya que por el momento estoy intentandolo hacerlo en base de datos.
}
Eso fue todo para la clase enfermedad, ahora veremos por ultimo la clase base de datos, ya que no pondre todo el esqueleto de mis clases por que solo seria un monton de codigo aburrido.
public class Database {
//declaramos la clase base de datos, ya que si la ponemos en otra clase solo seria igual, demasiado codigo.
public Database() {
//aqui es el constructor, lo que hara este constructor es hacer la conexion a la base de datos y te dira si fue exitosa o no.
}
}
Eso es todo por el momento sobre las clases, despues les hare llegar un poco mas.
lunes, 27 de junio de 2011
Taller POO primera entrada
- Emacs (para programar).
- Lenguaje de programacion Java.
- JDK (compilador del lenguaje de java).
- Linux.
- Los creadores de diagramas de clase como BOUML o UMBRELLO
- XAMPP herramienta para las bases de datos
- JDBC, otra herramienta para las bases de datos que permite la coneccion entre java y Mysql
- Mysql, el tipo de base de datos que estare usando.
Aqui va la instalacion de netbeans paso por paso, ya que es la herramienta que usare para programar estre proyecto.
Seleccionan la ruta donde se va a instalar NetBeans y seleccionan la ruta del JDK™ con la que trabajará NetBeans. Clic en Siguiente y luego clic en Instalar
Y luego clic en Terminar.
De esta forma ya tenemos instalado en nuestro equipo NetBeans 6.5 en español
public class Triangulo { //declaramos la clase triangulo
private int base; // variable de tipo base
private int altura; // variable de tipo int altura
private float area; // variable de tipo flotante area
public Triangulo (int base, int altura ){ //creamos el constructor
this.base = base;
this.altura = altura;
}
public void areaTriangulo() { //funcion donde hacemos la operacion
area=(base*altura)/2;
}
public void imprimeArea () { //fuincon donde imprimimos el are del triangulo
System.out.print("El area de tu triangulo es: "+ area);
}
public static void main (String[] args){ //metodo main
Triangulo triangulo1, triangulo2; //creacion de 2 objetos
triangulo1 = new Triangulo(10,5); // atributos de los 2 objetos
triangulo2 = new Triangulo (8,5);
triangulo1.areaTriangulo(); // de esta manera hacemos qe calcule el are del triangulo 1
triangulo1.imprimeArea(); // y de esta manera imprimios el area del triangulo
}
}
martes, 17 de mayo de 2011
Presentacion Clase Final
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]
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]
miércoles, 13 de abril de 2011
Pruebas Unitarias (Clase)
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.
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.
- 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:
- 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.
- 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.
- 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.
- Los errores están más acotados y son más fáciles de localizar
jueves, 7 de abril de 2011
Errors, Exceptions, Events (Taller)
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)
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.
- 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
Patrones de Diseno
Aqui es el patron de diseno Builder, el cual se encarga de construir un objeto complejo de manera sencilla haciendolo parte por parte.
Esta es la clase construction, que la llame asi como la cual construye las partes del cuerpo.
class Construction {
//force the order of building process
public void construct(Body b) {
b.buildWaistDown();
b.buildTorso();
b.buildArms();
b.buildHead();
}
}
//set steps for building a body
abstract class Body {
protected Body body = new Body();
protected String showProgress() {
return body.toString();
}
abstract public void buildWaistDown();
abstract public void buildTorso();
abstract public void buildArms();
abstract public void buildHead();
}
Esta es la clase cuerpo la cual es donde se encarga de hacer todas las partes pequenas del cuerpo, en ves de hacerlo tan general,esta clase se encarga de construir los detalles del cuerpo.
class Cuerpo extends Body {
public Cuerpo(String features) {
body.setType(this.getClass() + " " + features);
}
public void buildWaistDown() {
//doLegs()
//doHips()
//doFeet()
body.setProgress("Waist Down is done");
}
public void buildTorso() {
//doBelly()
//doChest()
//doLowerBack()
//doBack()
body.setProgress("Torso is done");
}
public void buildArms() {
//doLeftArm()
//doRightArm()
//doArms()
body.setProgress("Arms are done");
}
public void buildHead() {
//doHead()
//doFace()
body.setProgress("Head is under going");
}
}
Aqui determino la clase Body, esta clase la hago para crear los tipos de datos, y los metodos a usar dentro de las otras clases.
Class Body {
private String type = null;
private List features = new ArrayList();
public Body() {
}
public Body(String type) {
this.type = type;
}
public void setType(String type) {
this.type = type;
}
public String getType() {
return type;
}
public void setProgress(String s) {
features.add(s);
}
public String toString() {
StringBuffer ff = new StringBuffer();
String t = type.substring(6);
ff.append(t + "\n ");
for (int i = 0; i < features.size(); i ++) {
ff.append(features.get(i) + "\n ");
}
return ff.toString();
}
}
Aqui es o mas sencillo, aqui es donde se crea el main dentro de la clase builder
class Builder {
public static void main(String[] args) {
Body one = new Cuerpo("Head, Torso, Waist Down, Arms");
construction const = new construction();
construction.construct(one);
System.out.println("Check body building progress: \n");
System.out.println(one.showProgress());
}
}
Bueno este es un ejemplo sobre los patrones de diseno usados en mi trabajo, si tienen alguna duda pueden escribirlo en mi blog. Si quieren ver mas patrones en mi blog, pueden esperarse a semana santa :) hasta luego.
miércoles, 30 de marzo de 2011
Avance Parcial
Bueno en primer lugar, mi metodo main lo agregue en la clase ventana, ya que sera la primera en ser ejecutada. Sin embargo aun no uso nada de la clase ventana por que eso ya es usando interfaces graficas y no lo hemos aprendido aun.
public static void main(String[] args) {Aqui podemos ver el metodo main; primero empezamos llamando el metodo "Registro" en la clase usuarioregistrado, para registrar al usuario que ingresara al projecto.
System.out.print("Inicializando Programa");
usuarioregistrado ur = new usuarioregistrado();
ur.Registro();
System.out.print("Guardando....");
Enfermedad enfer =new Enfermedad();
enfer.tipoEnfermedad();
}
void Registro (){
System.out.print("Nombre del usuario a registrar");
Scanner n =new Scanner (System.in);
System.out.print("Contrasenia de cuenta");
Scanner c =new Scanner (System.in);
System.out.print("Edad");
Scanner e =new Scanner (System.in);
System.out.print("Sexo");
Scanner s =new Scanner (System.in);
System.out.print("Peso");
Scanner p =new Scanner (System.in);
System.out.print("Gracias por su registro");
}
En el metodo registro se puede ver como empezaremos a registrar todos los datos del paciente a registrar. Ahi mismo en el codigo puse la linea "Guardando.. " para darle a indicar al usuario que sus datos estan siendo guardados.Despues llamamos al metodo tipoEnfermedad" dentro de la clase "Enfermedad", esto para ver que enfermedad tiene el paciente y cuales seran sus medicinas a utilizar.
void tipoEnfermedad(){
String enf = "gripa";medicina med = new medicina();
System.out.print("Que enfermedad tiene?");
System.out.print(enf);
if(enf == "gripa") {
System.out.println("La medicina de la gripa es =
");System.out.print("Next");
System.out.print("Reposo");System.out.print("Te de Sauco");
System.out.print("Gengibre");
}
}
Aqui les muestro el hecho de que mi projecto compila pero con un error al momento de tratar de correrlo con el momento java ventana; aun no se por que es pero si lo averiguo hoy ya les subo la terminal corriendo.
jueves, 24 de marzo de 2011
Presentacion de DIagramas UML
jueves, 17 de marzo de 2011
Diagrama de Secuencia y de Clase
EL DIAGRAMA VIEJO ESTA DEBAJO DE ESTA ENTRADA PARA QUE LO PUEDAN COMPARAR
Bueno en este momento agregue un poco mas de cosas a mi diagrama UML, también modifique unas cosas dentro de el, como pueden ver en el primer diagrama UML tenia una herencia que no estaba correcta, ahora modifique por los diamantes, que estos significan que por ejemplo en mi diagrama, el cuerpo TIENE una parte de cuerpo el cual esta relacionado con enfermedad ya que cada parte de cuerpo tiene una enfermedad. Lo mismo con enfermedad, la enfermedad tiene medicinas, y cada enfermedad tiene su propia característica.
Ademas pueden ver que agregamos una nueva clase llamada medicina, ya que antes no la tenia y ahora vi que era escencial, la tuve que adecuar a mi projecto ya que de eso se trata el mismo.
Ahora dentro del codigo generado lo que ha cambiado fueron primero.
Primero lo que vi dentro del codigo al haber cambiado fue en la clase Cuerpo
private void setPrivadas ( boolean newVar ) {
privadas = newVar;
}
private boolean getPrivadas ( ) {
return privadas;
}
Dentro de esta clase, el Umbrello creo las cosas de new var, el cual yo no tenia conococimiento de ello. Supongo que estamos tomando como privadas una nueva variable, la cual tendra dentro de ella toda el area que involucra las partes privadas para ligarlas a enfermedad.
Ahora vi un cambio en la clase Usuario
private void setRegistro ( boolean newVar ) {
Registro = newVar;
}
/**
* Get the value of Registro
* @return the value of Registro
*/
private boolean getRegistro ( ) {
return Registro;
}
/**
* Set the value of Noregistro
* @param newVar the new value of Noregistro
*/
private void setNoregistro ( boolean newVar ) {
Noregistro = newVar;
}
/**
* Get the value of Noregistro
* @return the value of Noregistro
*/
private boolean getNoregistro ( ) {
return Noregistro;
}
En este codigo lo que pueden ver es que implemento de la misma manera que yo los metodos, sin embargo agrego de neuvo lo de new var ademas de haberle puesto un return dentro de cada metodo.
Por ultimo, dentro de la clase usuario registrado, y en otras clases tambien esto fue lo que paso.
/**
* Class usuarioregistrado
*/
public class usuarioregistrado extends Usuario {
//
// Fields
//
//
// Constructors
//
public usuarioregistrado () { };
//
// Methods
//
//
// Accessor methods
//
//
// Other methods
//
/**
*/
public void Registro( )
{
}
}
En esta clase podemos ver que los metodos son correctos, sin embargo el codigo que yo habia implementado dentro de esta clase fue borrado por umbrello. Pero creo que lo que quiere umbrello es que el te crea las bases, y nosotros hacemos lo demas dentro del codigo generado, es decir, umbrello te da las bases para que tu prosigas con tu projecto de una manera mejor.
Habia olvidado, tambien dentro de las herencias tontas que hice, umbrello las elimino y ya estan correctas.
martes, 15 de marzo de 2011
miércoles, 23 de febrero de 2011
Presentacion Clase
* Presentacion
* Introduccion
* Funcionalidad
* Clases
-Cuerpo
-Caracteristicas
*Enfermedad
-Persona
-Sintomas
-Usuario
*Registrado
*NoRegistrado
Especificacion Tecnica (Taller)
Proyecto POO
Software Medicinal
1.Descripción de la solución que provee mi software
- Un historial de enfermedades crónicas que debe guardar en una base de datos con objetivo de describirle al usuario del cómo y cuáles son sus enfermedades del pasado.
- Darle al usuario medicinas naturistas, con el objetivo de no fomentar la automedicación.
- Dar una solución rápida a enfermedades que requieren alguna especie de té de hierbas o etc...
2.Especificaciones Técnicas
1..Aspectos funcionales
- El software debe tomar los datos del usuario y guardarlos, en caso de que el usuario quiera ser registrado, del otro caso solo mantendríamos un conteo de los usuarios no registrados.
- El software debe realizar su función de manera eficiente, con el objetivo de no tardar mucho al proveer un tipo de curación naturista.
- El software debe de tener una entrada en usuario y contraseña, con el objetivo de que los usuarios ya registrados puedan acceder a su cuenta y revisar sus enfermedades antiguas o bien sus soluciones a enfermedades antiguas.
- Deberá ser actualizado constantemente para añadir diferentes soluciones médicas naturistas para diferentes enfermedades.
- Generar listas de los usuarios guardados y cada cuando usan el software para su interés.
2.Aspectos Operativos
- El software debe ser adaptable para las necesidades de ahorita, en cuanto a las medicinas que usemos las más eficientes sin embargo de menor precio.
- El software debe contar con seguridad en cuanto a Usuario/Contraseña.
- El creador del software debe proveer un manual del programa para que no existan problemas al utilizarlo.
3.Aspectos Técnicos
- El software debe ser adaptable para celulares Smartphone, o Ipad, o computadoras con sistema operativo MacOS.
- El software deberá implementar MySQL, Emacs, sistema Android, interfaz interactiva en la cual el usuario escogerá que parte del cuerpo le duele.
4. Visión Lógica
- En la clase Usuario, sus hijos son 2: Usuario y Usuarionoregistrado, la clase usuario es para los clientes que se querrán registrar dentro del software, y la otra clase pues no.
- La clase enfermedad, aquí es donde damos a definir las enfermedades junto con sus características o bien síntomas al tener esa misma enfermedad, esto lo hacemos con el objetivo de poder ligar facilmente dolores o tipos de síntomas con la misma enfermedad.
- La clase cuerpo, donde se desplegara las partes del cuerpo que el usuario podrá escojer en el cual nos dirá cual le duele y cual no.
5. Aspectos sobre el servicio.
- El programador dará actualizaciones cada cierto tiempo para corregir errores y verificar que los procesos sean correctamente ejecutados.
- La metodología de instalación del software debe ser correctamente explicada, para no darle al usuario dificultades al instalar el software.
Además aquí les dejo mi especificación técnica de mi projecto:
http://rapidshare.com/files/449569209/Especificaci__n_T__cnica.pdf
miércoles, 16 de febrero de 2011
Javadoc [Taller]
Documentacion: http://champs.site90.net/hector/Projecto/
package Projecto;
import java.util.List ;
/** Class Persona
* This class will allow the person to see the body of the person or the list that will be shown to make the user choose his diseases part.
*/
public class personajavadoc extends Jframe {
/**
@param private Cuerpo c = This is what will be shown in the window, in this case the body
@param private Sintomas si == This is what will be shown in the window, in this case the symptoms of the diseased.
*/
}
}
package Projecto;
import java.util.List;
import java.util.Iterator;
import java.util.ArrayList;
/**Class Caracteristicas
*In this class I'll show you what are the caracteristics of every sample of disease or symptom in which this list will be shown as characteristic with of which or what disease does the user of this application will have.
*/
public class caracteristicasjavadoc extends JFrame {
/** Here I'll explain what methods I use in caracteristicas.java
*Here's the list of parameters:
*@param gripa.add =("Fiebre alta") this is a symptom of Gripa .
*@param gripa.add =("Escalofrios") this is a symptom of Gripa .
*@param gripa.add =("Mareo") this is a symptom of Gripa .
*@param gripa.add =("Debilidad") this is a symptom of Gripa .
*/
}
Aqui definimos la clase caracteristica, que despleiga una lsita sobre las caracteristicas de las diferentes sintomas en el cuerpo de diferentes enfermedades, en este caso puse el ejemplo de gripa ya que esos 4 sintomas pueden ser diferentes senales de la enfermedad gripa.
package Projecto;
/** Class Enfermedad
*This class enfermedad is a list of different diseases in which the user of the application will get to choose one or more diseases he has at the moment to make easier the program to search a natural medicine.
*/
public class enfermedadjavadoc extends JFrame { // nombrar la clase igual que el archivo
// atributos a mostrar
/** Here are the different parameters in my class:
@param private boolean gripe = sera la lista posible a escojer al usuario sobre que enfermedad tiene
@param private boolean migrana = diferente enfermedad a escojer
@param private boolean deshidratacion = diferente enfermedad a escojer
@param private boolean gastritis = diferente enfermedad a escojer
@param private boolean catarro = diferente enfermedad a escojer
*/
}
Aqui toca definir la clase enfermedad, que desplegara la lista de enfermedades posibles del paciente que podra escojer o bien las que tiene en el momento debido a otros sintomas
Javadoc (Clase)
Esta es una tabla de informacion que le puedes añadir a un Javadoc:
Tag Descripción Uso Versión @author Nombre del desarrollador. nombre_autor 1.0 @deprecated Indica que el método o clase es antigua y que no se recomienda su uso porque posiblemente desaparecerá en versiones posteriores. descripción 1.0 @param Definición de un parámetro de un método, es requerido para todos los parámetros del método. nombre_parametro descripción 1.0 @return Informa de lo que devuelve el método, no se puede usar en constructores o métodos "void". descripción 1.0 @see Asocia con otro método o clase. referencia (#método(); clase#método(); paquete.clase; paquete.clase#método()). 1.0 @throws Excepción lanzada por el método nombre_clase descripción 1.2 @version Versión del método o clase. versión 1.0
Me gustaria darles un ejemplo aleatorio, pero creo que es mejor darles un ejemplo con uno de mi projecto en la siguiente entrada.
Gracias.