联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> C/C++编程C/C++编程

日期:2023-10-23 09:19

Assignment 3: Elevator System Simulator in

Qt C++

Submitted on Brightspace by Sun Nov 5th 11:59pm

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 Source code of your Qt C++ project that builds and runs on the course VM, COMP3004-

F23.ova found at https://carleton.ca/scs/tech-support/virtual-machines/

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)

<Paragraph 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.

<Paragraph 2> 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.

<Paragraph 3> 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:

<Paragraph 4> 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.

<Paragraph 5> 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.

Page 3 of 3

<Paragraph 6> 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.

<Paragraph 7> 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.

<Paragraph 8 > 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.


版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp