Пример диаграммы последовательности

Вариант использования для моделирования — регистр новой встречи.

Пользователь входит в систему как пациент (роль). Для записи на прием необходимо ввести специальность врача и дату. Система должна искать врачей, доступных для этой специальности на эту дату. Из результатов пациент должен выбрать один, а затем система сохранит запись. В конечном итоге пользователь должен получить электронное письмо с информацией о назначении.

В моей модели есть следующие классы: User PAtient Doctor Appointment DoctorShcedule и некоторые другие, но я думаю, что эти будут задействованы.

У меня есть эта начальная диаграмма последовательности:

диаграмма

У меня проблема с установкой обратных сообщений, а также с шагом электронной почты.

Спасибо


person Milena    schedule 29.05.2010    source источник
comment
У меня 2 проблемы. Один, если нотация хорошая и где я должен сделать возврат и где я не должен.   -  person Milena    schedule 01.06.2010


Ответы (1)


I have problem to set the return messages and also with the email step.

Существует две нотации для возвращаемых сообщений либо путем отправки возвращаемого сообщения, как вы сделали в ответ на checkAvailability(), либо путем записи возвращаемого значения или объекта за вызываемым методом, т.е. checkAvailability() : bool .

Отправка почты является асинхронной операцией, и почта покидает вашу систему. Я бы предложил ввести еще один класс Mailer, который должен обрабатывать сообщение sendMail() вместо пользователя вашего класса. Получение почты позже - это еще один вариант использования, и получение этой почты не относится к этой диаграмме последовательности (ИМХО).

person stacker    schedule 01.06.2010
comment
хорошо, для меня ясно, что получение электронной почты не является частью этой диаграммы. Нужно ли создавать еще один класс для Mailer и включать его в диаграмму классов как часть модели? - person Milena; 01.06.2010
comment
@Pamela Я бы сделал это, чтобы получить получатель метода sendMail () - person stacker; 01.06.2010