2010-05-29 37 views

Respuesta

9

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.

E.g.

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

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

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

Para las llamadas asíncronas, como la persona que llama no cede el control al método/función invocada, yo sólo uso una línea de retorno si se devuelve un resultado (por ejemplo, los métodos no-vacío/funciones)

Espero que ayude

EDITAR

Aquí es un ejemplo de un diagrama de secuencia que creé para un caso de uso de búsqueda example of a sequence diagram I created for a search use case 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

Por último, las flechas de creación de 'resultados' (------ |>) no tienen flechas de retorno como devuelven implícitamente el objeto instanciado

EDIT 2

En respuesta a su pregunta actualización:

no tener flechas de retorno para las operaciones por parte del usuario, tales como inicio de sesión(), ya que los resultados no son devueltos a la usuario de la misma manera que un objeto, pero normalmente se envía a algún tipo de UI. Otra forma de verlo es que el usuario está fuera del alcance del programa, por lo que no tiene sentido devolver los resultados directamente.

Desde 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ías, entonces es bueno, pero sospecho que ese no es el caso.

También sospecho que no pretendía que el método sendEmail() estuviera en la clase User.

También debe considerar lo que ocurre cuando checkAvailability() devuelve, como el flujo de control parece volver a usuario y luego inexplicablemente saltar de nuevo a la cita

+0

Los objetos en un diagrama de secuencia siempre deben corresponder a un objeto en el diagrama de clases, o pueden incluirse más? – Milena

+0

Normalmente corresponderían a una clase en un diagrama de clase, sí. También debería tener en cuenta que el actor (usuario anónimo) debe representarse como un hombre de palo, pero el programa que utilicé para esto no es completamente compatible con UML2 aún – chrisbunney

+0

OK, de acuerdo con esto, ahora siento que tengo un gran lío. Lo que intento modelar es lo siguiente: Un usuario inicia sesión en el sistema como paciente (función) para solicitar una cita. El paciente debe ingresar al médico y luego la fecha. El sistema debe verificar la disponibilidad para esa fecha, si es que la disponibilidad debe crear la nueva cita y enviar un correo electrónico al usuario. Si el usuario inicia sesión como médico (función) va diferente, pero ahora no quiero incluir ese El correo electrónico no estoy seguro si está bien – Milena

2

Representa el mensaje de retorno de la operation.You puede especifique los valores de retorno usando este símbolo.

2

ejemplo simple:

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.

Cuestiones relacionadas