Page 1 of 2
Assignment 2: Design an Elevator System
Simulator with Qt C++
Submitted on Brightspace by Wed Nov 3rd at 11:59pm
In this assignment you will design and implement an elevator system described in Assignment 1 and
repeated below.
Learning objectives:
Exploring Qt architecture and functionality
Designing and implementing an elevator simulator using Qt
Building a requirements traceability matrix
Deliverables: Use cases, design documentation (UML diagrams with textual explanation), traceability
matrix from requirements to UCs and UCs to design, and source code. Your implementation should
include a GUI.
Use cases (can borrow from A1 & grading feedback)
Design documentation:
UML Class diagram
Sequence diagrams for these scenarios: 1 Basic use cases and 5 safety features
Activity or state diagram (where relevant)
Constraints:
Your design should use elements of the Qt framework rather than replicate the same functionality.
Fixed aspects:
Elevator Allocation Strategy: Opportunistic as presented in class
Variable aspects:
Number of elevators (M)
Number of floors (N)
Assessment: Total 100 marks
Use cases and design documentation (55 marks),
Implementation (25 marks) and
Execution (20 marks)
Reference for Qt: “An Introduction to Design Patterns in C++ with Qt” on the course page in the “Qt
resources” module on Brightspace.
Page 2 of 2
Elevator system specification (same as Assignment 1)
A building is serviced by a group of M elevators (also called cars). On each of the N floors is a pair of
buttons marked “up” and “down”. When a button is pressed it illuminates, and remains illuminated,
until an elevator arrives to transport the customers who, at this floor, have requested an elevator going
in a certain direction. When the elevator arrives, it rings a bell, opens its doors (the elevator and floor
doors) for a fixed time (10 seconds) allowing people to exit or board, rings the bell again, closes its doors
and proceeds to another floor. Once on-board passengers select one or more destination floors using a
panel of buttons; there is one button for every floor. The elevator has a display which shows passengers
the current floor of the elevator. There is also a pair of buttons on the elevator control panel marked
“open door” and “close door”. These buttons can be used by a passenger to override the default timing
of the doors. The door will remain open beyond its default period if the “open door” button is held
depressed; the doors can be closed prematurely by pressing the “door close” button. Inside the elevator
there is also a help button linked to building safety service.
Each elevator has a sensor that notifies it when it arrives at a floor. (The elevator control system should
ensure that the group of elevators services all (floor and on-board) requests expeditiously.)
Each elevator has a display and an audio system. The display shows the current floor number and
warning messages that are synced with audio warnings.
Safety features:
Help: The control system receives a “Help” alarm signal from an elevator indicating that the “Help”
button has been pressed. In that case, the passenger is connected to building safety service through a
voice connection. If there is no response from building safety within 5 seconds or if there is no response
from a passenger a 911 emergency call is placed.
Door obstacles: If the light sensor is interrupted when the door is closing, the control system stops the
door from closing and opens it. If this occurs repeatedly over a short period of time, a warning is
sounded over the audio system and a text message is displayed.
Fire: The control system receives a “Fire” alarm signal from the building and commands all elevators to
move to a safe floor. Similarly, a “Fire” alarm signal from the elevator itself will cause that elevator to go
to a safe floor. In both cases an audio and text message are presented to passengers informing them of
an emergency and asking them to disembark once the safe floor is reached.
Overload: The control system receives an “Overload” alarm signal from an elevator if the sensors
indicate that the passenger or cargo load exceeds the carrying capacity. In that case, the elevator does
not move and an audio and a text messages are presented to passengers asking for the load to be
reduced before attempting to move again.
Power out: The control system receives a “Power Out” alarm signal. In that case, an audio and a text
messages are presented to passengers informing them of the power outage. Each elevator is then
moved to a safe floor and passengers are asked to disembark via audio and text messages. The battery
backup power is sufficient to do all of this.