...

/

Sequence Diagram for the Meeting Scheduler

Sequence Diagram for the Meeting Scheduler

Visualize the sequence diagram for scheduling a meeting, and practice concepts by solving a challenge.

Sequence diagrams are a great way to understand the interactions between different entities and objects in the system. There can be multiple sequence diagrams for our meeting scheduler; here, we focus on the flow for scheduling a new meeting.

In this lesson, we will create sequence diagrams for the following interactions:

  • Schedule a meeting: The meeting organizer schedules a meeting time for some attendees.

  • Sequence challenge: The meeting organizer cancels a scheduled meeting.

Schedule a meeting

The sequence diagram to schedule a meeting should have the following actors and objects that will interact with each other:

  • Actor: Organizer

  • Objects: MeetingScheduler, MeetingRoom, Meeting, Calendar

The steps in the schedule meeting interaction are listed below:

  1. The organizer requests that a meeting be scheduled, specifying the list of participants, the time interval, and the meeting subject.

  2. The MeetingScheduler checks for the availability of a suitable MeetingRoom for the given interval and required capacity.

  3. If a room is available:

    1. The MeetingScheduler books the room for the requested interval.

    2. The MeetingScheduler creates a new Meeting and assigns the organizer and all participants. By default, all participant statuses are set to “PENDING.”

    3. The MeetingScheduler adds the new meeting to each participant's calendar (including the organizer).

    4. The MeetingScheduler sends an invitation notification to each participant.

    5. The MeetingScheduler informs the organizer that the meeting has been scheduled successfully.

  4. Else, if no room is available:

    1. The MeetingScheduler informs the organizer to select another meeting time or room.

Based on the order above, the sequence diagram for scheduling a meeting in the meeting scheduler system is given below: