¿Qué significa exactamente la línea de retorno (línea de puntos) representa en un diagrama de secuencia?

StackOverflow https://stackoverflow.com/questions/2934687

  •  05-10-2019
  •  | 
  •  

Pregunta

¿En qué tipo de medidas debe ser usamos la línea de retorno en un diagrama de secuencia?

<- - - - - - 
¿Fue útil?

Solución

La línea de retorno representa el flujo de control de regresar de una llamada de método / función

En el caso de los métodos / funciones que devuelven un resultado, indicaría se devuelve un valor.

por ejemplo.

    result
<-------------

De lo contrario, para los métodos de vacío / funciones que sólo sería la flecha

<-------------

Para las llamadas asíncronas, como la persona que llama no cede el control al método / función invocada, I sería utilizar solamente una línea de retorno si se devuelve un resultado (por ejemplo, métodos no vacíos / funciones)

Espero que ayude

Editar

Aquí es un ejemplo de un diagrama de secuencia I creado para un caso de uso de búsqueda de un diagrama de secuencia que creé para un caso de uso de búsqueda http://web10.twitpic.com/ img / 107669708-1d6f9df82534756bfe2a684d4480cc43.4c00f3b0-full.png

Tenga en cuenta que el usuario anónimo sólo hace llamadas asíncronas, ya que, como ser humano, que no ceden el control a la aplicación, por lo tanto, no hay flechas de retorno

También tenga en cuenta la flecha de retorno de la llamada de búsqueda (), que devuelve 'resultados'

Por último, las flechas de creación (------ |>) no tienen flechas de retorno, ya que implícitamente devolver el objeto instanciado

EDIT 2

En respuesta a su pregunta actualización:

I no tendría flechas de retorno para operaciones por el usuario, tales como login (), ya que los resultados no se devuelven al usuario de la misma manera como un objeto, pero normalmente emiten a algún tipo de interfaz de usuario. Otra forma de verlo es que el usuario se encuentra fuera del alcance del programa, por lo que no tiene sentido a los resultados de retorno directamente.

A partir de su diagrama, mi interpretación (en una especie de pseudocódigo) sería:

class User{
    public void login()
    public void sendEmail()
}

class Patient{
    public void getPatient()
}

class Doctor{
    public void getDoctor()
}

class Appointment{
    //This method returns something, but it's not clear what, so I assumed a boolean
    public boolean checkAvailability()
}

Como se puede ver, todos menos uno de estos métodos no devuelve nada. Si eso es lo que quería entonces bueno, pero sospecho que no es el caso.

También sospecho que no tiene la intención para el método sendEmail () para estar en la clase de usuario.

También debe tener en cuenta lo que está sucediendo cuando checkAvailability () devuelve, como el flujo de control parece volver a usuario y luego inexplicablemente saltar de nuevo a la cita

Otros consejos

Representa el mensaje de retorno de la operation.You puede especificar valores de retorno mediante este símbolo.

Un simple ejemplo:

club                       member
  |
  |           getName()
  '------------------------>.
                            |
                            |
       result: "lee"        |
   <- - - - - - - - - - - - '

 String memberName = member.getName();
 //memberName now contains "lee"

La flecha discontinua <- - - - es el valor de retorno de la llamada al método.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top