Вы находитесь на странице: 1из 4

Business Analyst Elevator Test

Assume that you are a part of a 3 person team, you are the Business Analyst, and
you have a Programmer, and a Software Tester working with you as well. A Building
Manager has hired you and your team to write the Software to handle the Elevator
System for his building which has 100 Floors and 2 Elevators.
Please write the requirements for this Elevator software solution, so the Programmer
can code the functionality correctly, and the Software Tester can write the proper
test cases.
You may not be able to write the requirements for the entire system in the allotted
time, so focus first on the requirements for the optimization and
prioritization portion of the problem, to optimize which elevator should pick up
the person requesting the elevator under different scenarios.
Assume the Building Manager has asked you not to worry about energy
consumption, but rather to focus on optimizing for minimal total wait time for the
people requesting elevators, from the time of requesting an elevator to delivering
them to their destination.
Feel free to use whatever methods you would like to communicate clearly to your
team how the software needs to work.
The requirements will be graded on:
1. Clarity and Relevance of Logic
2. Communication
3. Overall, how well would the elevator software perform if your
requirements were handed to a programmer to code the software exactly to
your specifications?

Requirements:
I will be using system and user story and acceptance criteria to jot down the
requirements (Agile/Scrum Methodology)
System Story: As an Elevator, I want to decide if I should go to a floor or let other
elevator respond to the user request so that the user spends the least amount of
waiting time to board the elevator
Acceptance Criteria:
1. Let Elevator 1 current floor be X, Elevator 2 floor be Y and User requesting
the Elevator be at floor Z
2. If Both elevators is at rest AND Modulus (X-Z) > Modulus (Y-Z) i.e. Number of
floors between Elevator 1 and user is greater than number of floor between
Elevator 2 and user, then Elevator 2 should respond to the user request
3. If Both elevators is at rest AND Modulus (X-Z) < Modulus (Y-Z) i.e. Number of
floors between Elevator 1 and user is Lesser than number of floor between
Elevator 2 and user, then Elevator 1 should respond to the user request
4. If both elevators is at rest AND Modulus (X-Z) = Modulus (Y-Z) i.e Both
Elevators are on the same floor, then any one of the elevators should respond
to the user request (Open Question: Do we need a priority to be
defined within elevators?)
5. Other scenarios are described below in the table:
Elevator 2 User Floor as
Elevator 1
Direction
compared to both
Direction of
of
the Elevator's
Elevator to respond to
Movement
Movement current floor
user request
Up

Up

Lesser than both


elevator current floors

Up

Up

Greater than both


elevator current floors

One which comes to rest


(finishes action) first
One with least amount of
Floors between elevator's
current floor and User Floor
One with least amount of
Floors between elevator's
current floor and User Floor
One which comes to rest
(finishes action) first

Down

Down

Down

Down

Lesser than both


elevator current floors
Greater than both
elevator current floors

Up

Down

Lesser than both


elevator current floors

Elevator 2

Up

Down

Greater than both


elevator current floors

Elevator 1

Down

Up

Lesser than both


elevator current floors

Elevator 1

Down

Up

Greater than both


elevator current floors

Elevator 2

Down

Between both elevator


current floors

One which comes to rest


(finishes action) first

Up

Down

Up

Between both elevator


current floors

One which comes to rest


(finishes action) first

6. If an elevator is not in working condition, the other elevator should respond to


user request
User stories:
User story 1: As a User of the elevator, I want to press a button to call the elevator
so that elevator can know which floor the user wants to be picked up from
Acceptance Criteria:
The button should glow until the elevator arrives the user floor
The Button should not glow once the elevator arrives the requested floor
User story 2: As a User of Elevator I want to define which floor I want to go, so
that the elevator can take me to the desired floor
Acceptance Criteria:
There should be buttons representing 1 to 100 floors
On select of a button, the button should glow to highlight user selection
The Elevator should not initiate movement until a user has selected a button
(Or another user in some floor made a request)
The user should not be able to select the same floor from where he/she is
boarding the elevator
User story 3: As a User of the system I want a button to keep the elevator doors
open, so that the elevator doors can be opened as long as the user needs
Acceptance Criteria:
The doors of the elevator should automatically close (Open Question: After
how long?) if the user has not pressed the button
The elevator doors should be kept open as long the user presses the open
button (Open Question: Do we need a buzzer after X amount of
time?)
User Story 4: As a User of the system I want an alarm sound, so that I can know
when the elevator exceeds maximum capacity of persons in it
Acceptance Criteria:
The alarm sound should continue as long as the elevator capacity is
exceeded
The alarm sound should go off, once the weight is within its capacity (Open
Question: What should be the Weight Limit)

User Story 5: As a User of the system, I want to be notified about the floor
numbers so that I can know which floor the elevator is crossing/stopped at

The Display board should be digital


The display board should show the floor number in which the elevator stops
The display board should show the floor numbers and change as the elevator
moves up/down

Вам также может понравиться