C++代写|Assignment 2: Design an Elevator System Simulator with Qt C++

In this assignment you will design and implement an elevator system described in Assignment 1 and repeated below.

Learning objectives:

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:

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 aspects:
Number of elevators (M)
Number of floors (N)

Assessment: Total 100 marks

Reference for Qt: “An Introduction to Design Patterns in C++ with Qt” on the course page in the “Qt resources” module on Brightspace.

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.