jueves, 24 de febrero de 2011

~Semana 5. Especificación técnica de proyectos individuales

Semana 5
Materia: Taller de programación Orientada a Objetos
Jueves M1-M2

Hola a todos, en esta entrada les pongo la documentación técnica de mi proyecto restante.







jueves, 17 de febrero de 2011

~Semana 5. Presentación del Proyecto

Semana 5
Materia: Programación orientada a objetos
Martes M1-M3

Hola a todos, bueno esta semana tocó la presentación de la explicación de nuestro proyecto.Mi proyecto como ya saben trata de un sistema de consultorio donde contiene los expedientes del paciente y las dietas de cada uno de estos.

Les dejo la presentación, si quieren verla en pantalla completa solo piquen menu y luego full view, si tienen dudas o comentarios ya saben que pueden comentar. También si tienen alguna idea o alguna sugerencia son bienvenidas. Saludos:)

miércoles, 16 de febrero de 2011

~Semana 4. Documentación y herramientas

Semana 4
Materia: Programación Orientada a Objetos
Martes M1-M3

Hola compañeros, en esta entrada les hablaré de la importancia de la documentación en un programa que realizamos.
Bueno primero que nada el propósito de la documentación es añadir información explicando todo lo que estamos haciendo, de modo en que todos puedan entender nuestro código y que hace o para que sirve cada método, cada atributo que ponemos.

Esto también puede servir para encontrar errores en algun código más facilmente sabiendo que es lo que se quiere hacer y sabiendo esto es más facil encontrar un error. Por esto es necesario que el programa se entienda, para que después pueda modificarse o arreglar errores.

Los comentarios para hacer la documentación se deben poner en métodos, atributos dentro de una clase y también en las clases.

Java tiene una herramienta javadoc el cual genera un conjunto de archivos que crean está documentacion en páginas web. Esta herramienta toma los comentarios que tu le pones al código y te permite decidir si quieres que se muestren todos los métodos o solo los públicos y los privados no o que se muestren todos.

En la documentación también se usan ciertas etiquetas que también sirven para hacer más clara la documentación, por ejemplo la etiqueta @param refiere a un parametro de un método o constructor y seguido de esto debe ir la explicación de dicho parámetro.

Aquí dejo unas tablas de algunas etiquetas.

Para las clases e interfaces












Para métodos o constructores










Bueno, esto sería todo espero que les haya ayudado en algo. Saludos a todos, cualquier duda o comentario son bien recibidos.

~Semana 4. Documentación y herramientas de desarrollo

Semana 4
Materia: Taller Programación Orientada a Objetos
Jueves M1-M2

Hola a todos, en esta entrada les pondré la documentación de mi proyecto. Puse todo en una carpeta comprimida para que puedan verlo y descargarlo :). Lo hice solo de las clases que tienen métodos hasta ahora pero después ire agregando las demás clases.


Bueno, aqui les dejo algunas capturas de pantalla de como lo fui haciendo, recuerden que se ponen como un comentario normal entre /** TEXTO */  solo que ahora despues de la diagonal de entrada lleva dos asteriscos (**) en lugar de uno como se solía poner.



Yo lo hice en eclipse, es muy fácil en el menu project tiene una opción que dice generate Javadoc, ahí le picas y donde dice create Javadoc for members with visibility: selecciona Private, esto es para que todos los métodos o atributos que pusiste como privados también se tomen en cuenta para la documentación.
En ubuntu, solo tienes que ir a la carpeta o donde tengas el archivo y poner javadoc nombrearchivo.java, para que también aparescan los métodos y atributos privados tienes que poner javadoc -private nombrearchivo.java para que te tome en cuenta los privados.
Bueno espero que esto les haya servido:) saludos a todos.


miércoles, 9 de febrero de 2011

~Semana3. Código de Herencia

Semana 3
Materia: Taller de Programación Orientada a Objetos
Jueves M1-M2

Hola a todos, en esta entrada les pondré el código donde se aplica la herencia en mi proyecto. En la entrada anterior explico esto.

Esta es la clase Dieta que vendría siendo el papá de otras clases.


package com.NutriLife;

public class Dieta {
 private String alimentos;
 private int porcion;
 
 public Dieta()
 { 
 }
}

En el siguiente código les mostraré alguno de los hijos de esta clase padre Dieta, solo pondré algunos ya que son como siete clases hijos debido a que cada una corresponde a los grupos de alimentos que contendrá la dieta.

package com.NutriLife;
public class Frutas extends Dieta{
}

La palabra extends refiere a que lo que pondrás seguido de esto será la super clase de dicha clase que estas implementando, es decir que será el padre de esta clase. En este caso, Dieta es padre de Frutas ya que Frutas comparte con la clase padre Dieta al menos una cosa, en este caso la clasificación frutas tiene ciertos alimentos y cierta porción que se le aplicará al efectuar la dieta. Al igual que esta clase hijo existen algunas otras como las siguientes:

package com.NutriLife;
public class Lacteos extends Dieta{
}

package com.NutriLife;
public class Alimentos_Animal extends Dieta {
}

package com.NutriLife;
public class Aceites_Grasas extends Dieta{
}

Estas clases hijos tendrán cada una diferentes alimentos y diferentes porciones pero corparten esos dos componentes con su clase padre la cual es Dieta. La clase Lacteos como su nombre lo dice corresponde a todos los lácteos que existen en la lista de los alimentos como leche descremada, yogurt, entre otras. La clase Alimentos_Animal refiere a alimentos de origen animal y la clase Aceites_Grasas corresponte a aceites y grasas tales como mantequilla, aderezos, aceite vegetal, etc.


Bueno, esto es todo cualquier duda o comentario ya saben que me pueden preguntar.

~Semana 3. Herencia

Semana 3
Materia: Programación Orientada a Objetos
Martes M1 - M3
Hola a todos compañeros, en esta entrada les hablaré sobre la herencia en Java y sobre como la aplicaré en mi proyecto.

Primero que nada, ¿Qué es herencia?. Bueno, herencia es una manera de hacer nuevas clases que se deriven de otras. Para que estas clases puedan cumplir con los requisitos de herencia el Padre (que es el que tiene las bases de las demas clases) tiene que tener al menos un atributo igual al de los hijos. Por ejemplo si tenemos una clase llamada Animal y declaramos que los animales tendrán peso y color. Todos los animales tienen peso y color entonces de ahi podremos obtener nuevas clases por ejemplo una clase Gatos, una clase Perros, una clase Delfines, etc. Todos estos van a tener peso y color y a cada una de ellas todavpía se les podrán agregar más atributos o métodos si se requiere.


En mi proyecto yo utilice herencia en la clase de Dietas, ya que las dietas se clasifican en grupos según los alimentos, en este caso los agrupé en Lacteos, Frutas, Verduras, Cereales y leguminosas, Alimentos de origen animal, Aceites y grasas.  Todos estos mencionados serán los hijos de la clase Dieta y los atributos que estos comparten serían alimentos y porción, ya que cada uno de estos tendrá diferentes alimentos dependiendo del grupo y porciones diferentes para cada uno de estos alimentos. 

Hice un pequeño diagrama mostrando la herencia en mi proyecto. 


Esto es todo, dudas o comentarios ya saben comenten sin dudarlo =). No puse nada sobre polimorfismo ya que hasta el momento no he usado nada que haga referencia a polimorfismo en mi proyecto.

miércoles, 2 de febrero de 2011

~Semana 2. Código de clases del proyecto

Hola a todos, en esta entrada pondré mi código de las clases que mencioné en la entrada pasada que va a llevar mi proyecto.

public class DatosPaciente
{
    //Variables 
    private String nombre;
    private String apellido;
    private int anios;
    private int seguroSocial;
    private String email;
    private int telefono;
    //Variables OOP
    private Nacimiento;
    private Domicilio
    
    //Constructor
    DatosPaciente()
    {
        
    }
    
    //Metodos Get
    private String getNombre()
    {
        
    }
    private String getApellido()
    {
        
    }
    private int getAnios()
    {
        
    }
    private int getSeguroSocial()
    {
        
    }
    private String getEmail()
    {
        
    }
    private int getTelefono()
    {
        
    }
    
    //Metodos Set
    private void setNombre()
    {
        
    }
    private void setApellido()
    {
        
    }
    private void setAnios()
    {
        
    }
    private void setSeguroSocial()
    {
        
    }
    private void setEmail()
    {
        
    }
    private void setTelefono()
    {
        
    }
    
} 
 

Bueno, esta clase ya la explique en la entrada pasada es la clase DatosPaciente pero como pueden ver hasta ahorita tiene los métodos de pedir y de mostrar estos mismos datos.



public class DietasPaciente 
{
 // * Los alimentos se guardaran en cada casilla del arreglo
 // * Los datos se obtendran de dietas predefinidas o de alimentos
 //   seleccionados individualmente
 private String leche[];
 private String frutas[];
 private String verduras[];
 private String cerealesLeguminosas[];
 private String alimentosAnimal[];
 private String aceitesGrasas[];
 
 //constructor
 DietasPacientes()
 {
  
 }
 //Metodos Get
 private String getLeche()
 {
  
 }
 }


Esta clase es la clase de Dietas la cual tiene también sus instancias y al igual tiene los métodos de pedir los datos y de mostrarlos. Bueno asi es como estan quedando las clases, obviamente son más clases y también van a haber más métodos por ejemplo en una clase para calcular el IMC (índice de masa corporal) con su fórmula, también métodos para borrar datos entre otras cosas, bueno eso es todo lo de esta semana :) saludos a todos!

Poner código bonito en Blogger

Compañeros les dejo el link donde te explica como poner código en el blog y este código se ve con número de líneas, con formato, con colores y más.


Bueno, siguiendo estos pasos noté que al guardar los cambios surgió un error en el editor HTML que no permitió cambiar el código, solo tienen que cambiar las líneas que tienen link, o sea las siguientes:

< link rel="stylesheet" type="text/css" href="http://alexgorbatchev.com/pub/sh/current/styles/shCore.css">
< link rel="stylesheet" type="text/css" href="http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css " >
En estas lineas deben de poner al final tienen que cerrar el tag, o sea < .../> (tienen que agregar una diagonal antes de cerrar el tag)

~Semana 2, Clases del proyecto

Semana 2
Materia: Programación Orientada a Objetos
Hora: Martes M1-M3


Hola a todos, bueno en esta entrada les hablaré sobre algunas clases que decidí que tenga mi proyecto y se las describire. Bueno como saben, mi proyecto será hacer un sistema donde se almacenen los expedientes de los pacientes de un consultorio de nutrición y las dietas que se le dará a cada uno de ellos.

Una de las clases que pondré en mi proyecto es la clase paciente. Esta clase incluye datos personales del paciente que esta consultando, por ejemplo nombre del paciente, fecha de nacimiento, edad, numero de paciente, telefono. Pienso hacer otra clase para la dirección que incluya calle, número, colonia, código postal, ciudad. También otra clase para mediciones del paciente como peso, estatura. Estas clases tienen ciertos métodos que son los de pedir cada uno de estos datos, así como también para mostrar estos datos son los métodos mas importantes ya que lo que se intenta hacer con este sistema es solamente guardar, permitir modificar los datos y en caso que sea necesario borrar datos. Todo esto se estará almacenando en una base de datos.




Aparte de esto también incluiré una clase Dieta, la cual llevará diferentes tipos de dieta ya que existen diferentes combinaciones de dietas dependiendo de los estudios del paciente o de lo que le guste comer.  Esto depende también de la nutriologa ya que ella es la que escoge que platillos se pueden combinar con cuales, por esto pienso hacer como una lista desplegable para que ella escoja los platillos de la dieta que pondrá a cada paciente. En este caso también al igual que en la clase paciente estos datos se guardarán, se podrán modificar o borrar si es necesario. 

Estas serían las clases más importantes, habrán mas pero solo puse algunas de las que llevo hasta el momento. Saludos a todos :)