Elevator System Simulator in Qt C++
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
Assignment 3: Elevator System Simulator in
Qt C++
Grace period of 3 days at 10% per day penalty for lateness
With Assignment 2 you have delivered your first version of design to Raven Elevators Inc. (REI) and the
company is confident that you can implement a high quality elevator system simulator in Qt C++. REI
asks you to proceed with the implementation and testing. Understanding that design is typically finetuned during implementation,
REI also asked you to update the documentation. You will be delivering
use cases, design documentation, source code, tests and traceability matrix.
Learning objectives:
Exploring Qt architecture and functionality.
[Option 1] Designing and implementing a sequential elevator system simulation and updating
your design from Assignment 2 as needed, or
[Option 2] Designing and implementing a concurrent elevator system simulation (passengers,
elevators, and, if applicable, the central control system (ECS) all operate in their own threads or
processes), and updating your design from Assignment 2 as needed.
Developing and implementing a test plan.
Building a requirements traceability matrix that includes implementation and testing columns.
Note that Option 1 gives you up to 90% and Option 2 up to 100% of the total mark. It’s recommended
you first get Option 1 working, and only then attempt Option 2.
Deliverables (5 parts)
Use cases (can borrow from A1 or A2)
Design documentation – structure and behavior – updated as needed (can borrow from A2 &
grading feedback)
o UML Class diagram
o Sequence diagrams for these scenarios: 2 success scenarios from the basic use case and
5 safety scenarios (one for each safety feature)
Assume there are 2 passengers in a building with 2 elevators and 4 floors
o State diagram for elevators
o State diagram(s) for controller(s), if applicable
o Textual explanation of your design decisions including use of design patterns, if any.
Implementation
o Tests based on scenarios specified in design
Page 2 of 3
o Your implementation should have 1) a GUI that drives the program and 2) console
output to display events such as floor button presses, elevator arrives, door opens, etc.
Video: record a video of running your simulation through the 7 scenarios corresponding to the 7
sequence diagrams.
Traceability matrix (can borrow from A2 & grading feedback)
o Update the traceability matrix from A2 to include “implemented-by” and “tested-by”
columns
Testing the simulation
Your implementation should be able to handle a variable number of floors, elevators, and passengers.
For purposes of testing, however, you can constrain it to 4 floors, 2 elevators, and 2 passengers.
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.