Composición y Omondo

14
Usando el plugin Omondo para diseño del diagrama de clases en el Workspace Composición: Significa que una clase puede tener como miembros referencias a otros objetos de otras clases. A continuación aprenderemos a crear clases desde Omondo

description

Este es un documento, explicativo, sobre como usar Omondo en e Workspace de Java

Transcript of Composición y Omondo

Page 1: Composición y Omondo

Usando el plugin Omondo para diseño del diagrama de clases en el Workspace

Composición:

Significa que una clase puede tener como miembros referencias a otros objetos de otras clases.A continuación aprenderemos a crear clases desde Omondo

Page 2: Composición y Omondo

Presione FiníshUbicado en Package , crear un nuevo paquete como se especifica a acontinuación

Asignar nombre al paquete

Page 3: Composición y Omondo

Presionar Finís

Marcar el paquete , ubicarse en types clic derecho /new/other/diagrama de clases ó marcando el ícono de diagramas escoger Nuevo diagrama UML

Page 4: Composición y Omondo
Page 5: Composición y Omondo

Con el icono de la barra, el resultado es el mismo

Presionar Finísh y se obtendrá la siguiente pantalla

Page 6: Composición y Omondo

Se procede a crear el diagrama de clases.

Escoger el ícono de clase y dibujar la clase

Page 7: Composición y Omondo

Presionar Finísh

Asignar un título al diagrama

Page 8: Composición y Omondo

Para asignar los atributos a la clase: Señalar la clase y escoger Atributos

Presionar New Atributo para proceder a crear los atributos.

Page 9: Composición y Omondo

Name: es el nombre del atributo.Type : es el tipo del atributoDimensión : si es 0 es una variable simple, 1 especifica un vector , 2 una matriz y así suesivamente.Se especifica los atributos de visibilidad, y los métodos de acceso.

Hacer los mismo para crear los atributos mes y año.

Adicionar métodos

Page 10: Composición y Omondo

Agregación y Composición

La agregación es la relación de componente, es como decir que un automóvil tiene motor y ruedas. Cada uno puede subsistir independientemente.La Composición el objeto parte puede pertenecer a un todo único, es más se espera que la parte viva y muera con el todo. Cualquier borrado del todo se extiende en cascada a las partes.

Page 11: Composición y Omondo

Ejemplo. Hacer una clase fecha y una clase empleado que se compondrá de la clase fecha.Empleado tendrá los campos:

Nombres Fecha de Nacimiento Fecha de Contratación.

package composicion;

public class Fecha {private int dia;private int mes;private int año;public Fecha(int dia, int mes, int año) {

if(this.validatingDia(dia)==true)this.dia = dia;if(this.validatingMes(mes)==true)this.mes = mes;

this.año = año;}public Fecha() {

this.dia=01;this.mes=01;this.año=2008;

}public int getAño() {

return año;}public void setAño(int año) {

this.año = año;}public int getDia() {

return dia;}public void setDia(int dia) {

if(this.validatingDia(dia)==true)this.dia = dia;else{

System.out.println("Dato dia Inválido, se establece en 1");

this.dia=1;}

}public int getMes() {

return mes;}public void setMes(int mes) {

if(this.validatingMes(mes)==true)this.mes = mes;else{

System.out.println("Dato mes inválido, se establece a 1");

this.mes=1;}

Page 12: Composición y Omondo

}

private boolean validatingDia(int dia){

int diasPorMes[]={0,31,28,31,30,31,30,31,31,30,31,30,31};if(dia>0 && dia <=diasPorMes[mes])

return true;return (mes==2 && dia==29 && (año%400==0 || (año%4==0 &&

año%100!=0)));

}

boolean validatingMes(int mes){

return (mes>=1 && mes<=12);}

public String toStringFecha(){

return dia+"/"+mes+"/"+año;}

}

package composicion;

public class Empleado {String nombres;Fecha fechaNacimiento;Fecha fechaIngreso;public Empleado(String nombres, Fecha fechaNacimiento, Fecha fechaIngreso) {

super();this.nombres = nombres;this.fechaNacimiento = fechaNacimiento;this.fechaIngreso = fechaIngreso;

}public Fecha getFechaIngreso() {

return fechaIngreso;}public Fecha getFechaNacimiento() {

return fechaNacimiento;}public String getNombres() {

return nombres;}public void setFechaIngreso(Fecha fechaIngreso) {

this.fechaIngreso = fechaIngreso;}public void setFechaNacimiento(Fecha fechaNacimiento) {

this.fechaNacimiento = fechaNacimiento;}public void setNombres(String nombres) {

this.nombres = nombres;}public String toString()

Page 13: Composición y Omondo

{return "DatosEmpleado:\n Nombre= "+this.nombres+"\n Fecha de Nacimiento="+this.fechaNacimiento.toStringFecha()+"\n Fecha de Ingreso="+this.fechaIngreso.toStringFecha();

}

}

package composicion;import javax.swing.JOptionPane;public class Aplicacion {

public static void main(String[] args) {String nombreAux;Fecha fechaNac =new Fecha();Fecha fechaIng=new Fecha();String fechaAux;

nombreAux=JOptionPane.showInputDialog("Ingrese el nombre del empleado");

System.out.println(nombreAux);fechaAux=JOptionPane.showInputDialog("Ingrese fecha de

Nacimiento (formato dd/mm/aaaa)");System.out.println(fechaAux);

fechaNac.setDia(Integer.parseInt(fechaAux.substring(0,2)));

fechaNac.setMes((Integer.parseInt(fechaAux.substring(3,5))));fechaNac.setAño((Integer.parseInt(fechaAux.substring(6))));

fechaAux=JOptionPane.showInputDialog("Ingrese fecha de Ingreso a la Empresa (formato dd/mm/aaaa)");

fechaIng.setDia((Integer.parseInt(fechaAux.substring(0,2))));

fechaIng.setMes((Integer.parseInt(fechaAux.substring(3,5))));fechaIng.setAño((Integer.parseInt(fechaAux.substring(6))));

Empleado emp = new Empleado(nombreAux,fechaNac,fechaIng);

JOptionPane.showMessageDialog(null,emp.toString(),"Datos delEmpleado",JOptionPane.INFORMATION_MESSAGE);

}

}

Leer Eclipse Modelling para modelar Fecha, Empleado