jueves, 27 de octubre de 2011

Documentación Técnica

Herencia :)

La herencia en mi proyecto aplica en las clases Cliente y Mascota, como ya lo habia mencionado en la entrada de herencia en Programación Orientada a Objetos, Ya que Mascota es un tipo de Cliente.

Este es el codigo de Mascota, tiene algunos Metodos, que pertenecen a esta clase.

public class Mascota extends Cliente{

 //Atributos
 private static String nombre;
 private static String raza;
 private static String nacimiento;
 private static String sexo;
 
// Constructor
public Mascota(){ 
 ingresarnom();
 ingresarra();
 ingresarnac();
 ingresarsex();
}
//Metodos
public String ingresarnom() {
 return nombre;
 
}

public String ingresarra() {
 return raza;
}

public String ingresarnac() {
 return nacimiento;
}

public String ingresarsex() {
 return sexo; 
}


public static void main(String[] args){
 
char opc ;
int opc1 ;
 Mascota altanom, altara, altanac, altasex ;
 altanom = new Mascota();
 altara = new Mascota();
 altanac = new Mascota();
 altasex = new Mascota();
 Scanner leer = new Scanner(System.in);
 Scanner in = new Scanner(System.in);
 
 //nombre
 System.out.println("\nNombre: ");
 opc = leer.next().charAt(0);
 nombre = altanom.ingresarnom();
 
 //Raza
 System.out.println("\nRaza ");
 opc = leer.next().charAt(0);
 raza = altara.ingresarra();
 
 //Sexo
 System.out.println("\nSexo: ");
 opc = leer.next().charAt(0);
 sexo = altasex.ingresarsex();
 
 //fecha de nacimiento
 System.out.println("\nFecha de Nacimiento: ");
 opc = leer.next().charAt(0);
 nacimiento = altanac.ingresarnac();

} 
}

Este Codigo es el de la clase padre, Cliente.

public class Cliente {

 //Atributos
 private static String nombre;
 private static String apellidop;
 private static String apellidom;
 private static String telefonoh;
 private static String telefonoc;
 private static String email;
 private static String domicilio;
 
// Constructor
public Cliente(){ 
 ingresarnom();
 ingresarapp();
 ingresarapm();
 ingresarth();
 ingresartc();
 ingresarem();
 ingresardom(); 
}
public String ingresarnom() {
 return nombre;
 
}

public String ingresarapp() {
 return apellidop;
}

public String ingresarapm() {
 return apellidom;
}

public String ingresarth() {
 return telefonoh; 
}

public String ingresartc() {
 return telefonoc; 
}

public String ingresarem() {
 return email;
}

public String ingresardom() {
 return domicilio;
 
}

public static void main(String[] args){

char opc ;
int opc1 ;
 Cliente altanom, altaapp, altaapm, altath, altatc, altaem, altadom;
 altanom = new Cliente();
 altaapp = new Cliente();
 altaapm = new Cliente();
 altath = new Cliente();
 altatc = new Cliente();
 altaem = new Cliente();
 altadom = new Cliente();
 Scanner leer = new Scanner(System.in);
 
 //nombre
 System.out.println("\nNombre: ");
 opc = leer.next().charAt(0);
 nombre = altanom.ingresarnom();
 
 //apellido Paterno
 System.out.println("\nApellido Paterno: ");
 opc = leer.next().charAt(0);
 apellidop = altaapp.ingresarapp();
 
 //Apellido Materno
 System.out.println("\nApellido Materno: ");
 opc = leer.next().charAt(0);
 apellidom = altaapm.ingresarapm();
 
 //Telefono casa
 System.out.println("\nTelefono fijo: ");
 opc1 = leer.nextInt();
 telefonoh = altath.ingresarth();
 
 //Telefono movil
 System.out.println("\nTelefono movil: ");
 opc = leer.next().charAt(0);
 telefonoc = altatc.ingresartc();
 
 //email
 System.out.println("\ne-mail: ");
 opc = leer.next().charAt(0);
 email = altaem.ingresarem();
 
 //Direccion
 System.out.println("\nDireccion:");
 opc = leer.next().charAt(0);
 domicilio = altadom.ingresardom();
}
}

Aqui los metodos de Cliente tambien se usaran en Mascota, ya que no puede haber ninguna mascota sin Dueño, y este dueño necesita los datos que se ingresan en la clase cliente, Pero tambien puede llegar alguna persona, que solo necesite de algun producto, entonces tambien se necesitan estos datos.

Saludos :)

Documentación Técnica

La Documentacion Tecnica es el material que explica las caracteristicas y las operaciones de un sistema. Está documentacion es importante ya que es más facil para el usuario entender el sistema que esta utilizando.

Es muy facil generar la documentación Técnica, ya que se genera automaticamente con ayuda de algunas herramientas como: Sandcastle, Javadoc, Doxygen, Sphinx, etc.

En mi caso, Generare la documentacion Tecnica de mi proyecto con Javadoc, entonces les explicare como generarla en esta herramienta.

Despues de que hice los diagramas en Umbrello, segui algunos pasos para generar el codigo de mi diagrama, esté codigo aparece con comentarios especiales, me refiero a que no son como los que siempre usamos: /* Comentario */, estos comentarios son: 
/**
*Comentario
*/

Tambien se ponen algunas palabras reservadas, estás explican la semántica del texto, En este Link, aparecen algunas de estas palabras reservadas.

Para Generarla, entramos en el simbolo del sistema, y escribimos:

"javadoc nombre.java"
 
con nombre, me refiero a el nombre de nuestro archivo previamente comentarizado, y entonces asi de facil se genera la nuestra documentación Técnica.


Referencias:
1
2

Diagrama de clases y tarjetas CRC

Un Diagrama de clases es un tipo de diagrama estático que describe la estructura de un sistema mostrando sus clases, atributos y las relaciones entre ellos.

El diagrama de clases de mi Sistema es el siguiente:


Las tarjetas CRC 
  • Son una metodología para el diseño de programas orientados a objetos.
  • CRC son las iniciales de clase, responsabilidad y colaboración.
  • Resumen las responsabilidades de una clase antes de pasar a realizar el diagrama.

Las tarjetas CRC representan objetos; la clase a la que pertenece el objeto se puede escribir arriba, las responsabilidades u objetivos que debe llevar a cabo el objeto se pueden escribir a la izquierda, y la derecha las clases que se relacionan con dicho objeto.
View more presentations from Addy Dávila

 
     Referencias

Herencia

¿Que es la Herencia?

Es el mecanismo fundamental para implementar la reutilización y extensibilidad del software. Esta facilita la creación de objetos a partir de otros ya existentes, obteniendo métodos y atributos similares a los ya existentes.
La herencia es uno de los mecanismos mediante el cual una clase se deriva de otra.

En mi proyecto utilizare la herencia en:


En este caso Cliente hereda Mascota, porque Mascota es un tipo de cliente.

Si el Cliente asiste a la veterinaria solo por algun producto, se llena algun formato en donde se guardan sus datos, pero si va para atender a su mascota de igual manera se llena el formato de los datos del cliente y aparte los de la mascota; Por eso Decidi tener herencia en esta Clase.
 
Saludos :) 


Referencias