Diagrama de clases, surge una duda

3 views
Skip to first unread message

Jose Luis Gonzalez Pisa

unread,
Oct 28, 2009, 9:38:38 PM10/28/09
to is1_unal_2009_02
Estoy haciendo el diagrama de secuencia de un escenario (valga la
redundancia) en donde el actor envía un mensaje a la clase mayor (en
nuestro caso, Bisher, que es la empresa en la cual estamos
implementando el software) y esta clase necesita llamar a una clase
control, la pregunta es:

Ese mensaje (o mas bien, metodo) tiene que llamar al constructor de la
clase control o se crea una nueva operacion para poder llamarlo? o...
Ninguna de las anteriores?

La anterior pregunta me obliga a realizar una nueva (Que solo será
necesaria de responder si debo llamar la clase control mediante el
constructor), Lo que sucede es que no aparece en la lista de
operaciones disponibles del mensaje y me pareció muy riesgoso crear
una nueva operacion sin saber...

¿Que debo hacer? Digame dotorrr...

pdt: Ya vi la risa de Miguel al ver que hasta ahora estoy haciendo el
diagrama de secuencia, pero es que especialmente el escenario que
estoy tratando de realizar tiene bastante dificultad :( (Podria
decirse es la esencia de la aplicacion) Por eso mismo deseo dar pasos
seguros.

De antemano muchas gracias...

miguel

unread,
Oct 29, 2009, 12:27:49 AM10/29/09
to is1_unal...@googlegroups.com
Buenas noches Jose Luis

El 28 de octubre de 2009 20:38, Jose Luis Gonzalez Pisa <jlgonza...@gmail.com> escribió:

Estoy haciendo el diagrama de secuencia de un escenario (valga la
redundancia) en donde el actor envía un mensaje a la clase mayor (en
nuestro caso, Bisher, que es la empresa en la cual estamos
implementando el software) y esta clase necesita llamar a una clase
control, la pregunta es:

Ese mensaje (o mas bien, metodo) tiene que llamar al constructor de la
clase control o se crea una nueva operacion para poder llamarlo? o...
Ninguna de las anteriores?

Por organización deberá crear un método que podrá ser llamado desde el mismo constructor. Por ejemplo, si lo ha notado, el código autogenerado en la creación de Paneles o en general cualquier clase gráfica, genera un método denominado "initComponents" y este es llamado desde el constructor, quedando algo como:

public class MiPanel{
    public MiPanel(){
        initComponents();
    }
   
    private void initComponents(){
        //creación de los componentes a agregar en el panel
    }
   
}

De manera que usted podrá hacer algo como:

public class MiClase{
    public MiClase(){
        metodoNecesario();
    }
   
    public void metodoNecesario(){
        //todo lo que necesite
    }
   
}

Y en la clase que lo llame:


public class MiOtraClase{
   
    public void metodoDePrueba(){
        MiClase m = new MiClase(); //note que con este llamado está ejecutando directamente el metodoNecesario de la calse MiClase
    }
   
}

O:

public class MiClase{
    public MiClase(){
    }
   
    public void metodoNecesario(){
        //todo lo que necesite
    }
   
}

Y en la clase que lo llame:


public class MiOtraClase{
   
    public void metodoDePrueba(){
        MiClase m = new MiClase();
        m.metodoNecesario();
    }
   
}

Sugiero usar la segunda opción, de manera que el diagrama de secuencia quedaría como:

MiOtraClase -- public void metodoNecesario() --> MiClase

Bueno, imaginándonos las lineas de vida y todas esas cositas :D


La anterior pregunta me obliga a realizar una nueva (Que solo será
necesaria de responder si debo llamar la clase control mediante el
constructor), Lo que sucede es que no aparece en la lista de
operaciones disponibles del mensaje y me pareció muy riesgoso crear
una nueva operacion sin saber...

Tiene razón, el diagrama de secuencia del plugin de UML de NetBeans tiene esa falencia, en realidad no permite hacer llamados a un constructor, solo permite llamar métodos directamente, por lo que lo mejor es trabajar con métodos y dejar al constructor libre de operaciones. Sin embargo, conceptualmente el llamado al constructor es igualmente válido.


¿Que debo hacer? Digame dotorrr...

Veo que el análisis que ha hecho va por buen camino, así que simplemente continúe su labor.
 
pdt: Ya vi la risa de Miguel al ver que hasta ahora estoy haciendo el
diagrama de secuencia, pero es que especialmente el escenario que
estoy tratando de realizar tiene bastante dificultad  :(  (Podria
decirse es la esencia de la aplicacion) Por eso mismo deseo dar pasos
seguros.

Nooo, no me reí casi, digamos mas bien que me preocupé un poco.
 
De antemano muchas gracias...

De postmano muchas de nadas. Espero haber aclarado el tema.

Hasta luego,

--
Miguel Cubides
Ingeniería de Sistemas
Universidad Nacional
Reply all
Reply to author
Forward
0 new messages