viernes, 25 de marzo de 2011

Demostraciones de avance parcial

Semana 8
Materia: Taller de Programación Orientada a objetos
Hora: Jueves M1-M2

Hola a todos, en este video que grabé mi intención es mostrarles como compile mi código y explicarles un poco de lo que hace así como también la ejecución del código. Me falta modificarle muchas cosas pero solo es para que vean que compila sin errores. 






jueves, 24 de marzo de 2011

~Semana 8. Presentaciones de diagrama de proyectos

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

Hola a todos, en esta entrada les pongo un pequeño video sobre mis diagramas UML donde explico mas o menos mis diagramas tanto el diagrama de clases como el de secuencia.



jueves, 17 de marzo de 2011

~Semana 6. Código autogenerado y comparación

Semana 6
Materia: Taller de Programación Orientado a Objetos
Hora: Jueves M1-M2

Hola a todos, en esta entrada les mostraré el código autogenerado por el programa que utilicé para hacer mis diagramas, en este caso hice mis diagramas otra vez en Umbrello, los de la entrada pasada están en Bouml pero tuve problemas para generar el código y decidí hacerlo en Umbrello.

Aquí está la imagen de mi diagrama que generé.

 Como pueden ver este diagrama tiene más operaciones que el diagrama de Bouml. en la imagen siguiente mostraré como agregue en la clase Domicilio algunos métodos y atributos y también modifiqué algunas otras clases. 



Después de hacer esto generé el código ya con todo lo que agregué y modifiqué. Para esto primero tenemos que cambiar el lenguaje porque por default viene el C++ entonces tienen que cambiar a Java, también si tienes atributos o métodos privado Umbrello no te los mostrará, así que tienes que modificar las propiedades del diagrama de clases y desmarcar la opcion de Show only Public.



/**
 * Class Domicilio
 */
public class Domicilio {

  //
  // Fields
  //

  private String calle;
  private String colonia;
  private String municipio;
  private String estado;
  private String pais;
  private int numero;
  private int cP;
  private String calleF;
  private String coloniaF;
  private String municipioF;
  private String estadoF;
  private int numeroF;
  private int cPF;
  
  //
  // Constructors
  //
  public Domicilio () { };
  
  //
  // Methods
  //


  //
  // Accessor methods
  //

  /**
   * Set the value of calle
   * @param newVar the new value of calle
   */
  private void setCalle ( String newVar ) {
    calle = newVar;
  }

  /**
   * Get the value of calle
   * @return the value of calle
   */
  private String getCalle ( ) {
    return calle;
  }

  /**
   * Set the value of colonia
   * @param newVar the new value of colonia
   */
  private void setColonia ( String newVar ) {
    colonia = newVar;
  }

  /**
   * Get the value of colonia
   * @return the value of colonia
   */
  private String getColonia ( ) {
    return colonia;
  } 
 

* Class Dieta
 */
public class Dieta {

  //
  // Fields
  //

  private String alimentos;
  private int porcion;
  
  //
  // Constructors
  //
  public Dieta () { };
  
  //
  // Methods
  //


  //
  // Accessor methods
  //

  /**
   * Set the value of alimentos
   * @param newVar the new value of alimentos
   */
  private void setAlimentos ( String newVar ) {
    alimentos = newVar;
  }

  /**
   * Get the value of alimentos
   * @return the value of alimentos
   */
  private String getAlimentos ( ) {
    return alimentos;
  }

  /**
   * Set the value of porcion
   * @param newVar the new value of porcion
   */
  private void setPorcion ( int newVar ) {
    porcion = newVar;
  }

  /**
   * Get the value of porcion
   * @return the value of porcion
   */
  private int getPorcion ( ) {
    return porcion;
  }

  //
  // Other methods
  //

  /**
   */
  public void Dieta(  )
  {
  }


  /**
   */
  public void setPorcion(  )
  {
  }


  /**
   */
  public void getPorcion(  )
  {
  }


Este código fue el que generó el programa Umbrello. Como pueden ver agregó los métodos que yo agregué directamente en el diagrama. También en este código se agregaron automáticamente comentarios en cada uno de los métodos y también en los atributos. 

Bueno eso es todo, cualquier comentario ya saben que son recibidos. Saludos:)

miércoles, 16 de marzo de 2011

~Semana 6. Diagramas de clase y secuencia de UML

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

Hola a todos, en esta entrada les mostraré los diagramas de clase y secuencia que realicé con respecto a mi proyecto.

Diagrama de clase

El diagrama de clase es un tipo de diagrama que describe la estructura de un sistema agregando clases, atributos y métodos que se utilizan. Estos diagramas se utilizan durante el desarrollo de análisis de sistemas en el cuál se crea un diagrama conceptual de los datos que estaremos utilizando en dicho sistema. También se muestran las relaciones de las clases como herencia, composición y asociación.

Las clases se representan con un rectángulo que tiene 3 divisiones:
Una de la relación entre clases como mencioné pueden ser:

  • Herencia (Especialización o Generalización)

    Se representa con 
    una flecha como la siguiente:

        Significa que una clase hereda a otra, o sea que una subclase tiene los métodos y   atributos de una super clase.
 
 Hay otras relaciones que se utilizan en estos diagramas si quieren información de cada una de las relaciones vayan a este link.
 
Para realizar mi diagrama utilicé la herramienta Bouml que se instala desde el Ubuntu Software Center, también esta disponible para Windows.

Les dejo la imagen de mi diagrama de clases (denle click para agrandar).




En este diagrama que les muestro anteriormente como pueden ver es un diagrama de las clases que implementa mi proyecto. Como pueden ver existen también relaciones entre las clases por ejemplo las clases FRUTAS, VERDURAS, LECHE, ACEITES, ETC heredan los métodos y atributos de la clase Dieta que en este caso contiene los alimentos de cada una de estas clasificaciones. También hay otra relación que no estoy segura que sea con ese tipo de flecha, la relación que tienen estas clases es que tanto la clase Domicilio como la clase FechaNac las contiene la clase Paciente, o sea son parte de paciente Paciente tiene domicilio y tiene fecha de nacimiento.


Diagrama de secuencia

Ahora hablemos sobre los diagramas de secuencia, para mi son un poco más complicados batallé mas para realizar este diagrama.

Estos diagramas muestran como se relacionan las clases y métodos con todo el proceso que lleva a cabo el programa.




En este diagrama se representa el proceso que se sigue en mi proyecto, entra primero al menú para ver que es lo que deseas realizar, luego depende si quieres dar de alta un paciente entonces se pasa a la clase paciente y obtiene todos los datos personales del paciente y todo lo relacionado con él para después realizar la dieta correspondiente a este paciente. Para dar de baja al paciente se tienen que borrar los datos y al final guardar los cambios que realizamos para que al volver a entrar todo quede como lo habíamos dejado. Cuando se crean las dietas se tienen que obtener los alimentos de cada clasificación en este caso lo generalice como Alimento pero en realidad esta clase lleva todos las clasificaciones de frutas, verduras, leguminosas, etc. Se crea una lista de los alimentos que se escogieron para posteriormente crear la dieta.

 Bueno cualquier duda, aclaración o correción son bienvenidas. Saludos:)