Software Requirements Specification Haul Truck Optimization Plan
Software Requirements Specification Haul Truck Optimization Plan
April 1, 2014
Table of Contents
Table of UI Models .................................................................................................................................................... 3
Revision History ........................................................................................................................................................ 4
Changes Made Based on Client Requests.................................................................................................................. 4
Forward Traceability Table ....................................................................................................................................... 5
1 Introduction .......................................................................................................................................................... 7
1.1 Purpose .......................................................................................................................................................... 7
1.2 Project Scope.................................................................................................................................................. 7
1.3 Glossary of Terms ........................................................................................................................................... 7
1.4 Data Dictionary ............................................................................................................................................... 8
1.5 References ..................................................................................................................................................... 9
1.6 Overview ........................................................................................................................................................ 9
2 Overall Description ................................................................................................................................................ 9
2.1 Product Perspective........................................................................................................................................ 9
2.2 Product Features .......................................................................................................................................... 10
2.3 User Classes and Characteristics ................................................................................................................... 10
2.4 Operating Environment ................................................................................................................................ 11
2.5 Design and Implementation Constraints ....................................................................................................... 11
2.6 Assumptions and dependencies ................................................................................................................... 11
3 System Features .................................................................................................................................................. 11
3.1 Pit Dispatch Display ...................................................................................................................................... 11
3.1.1 Description and Priority ......................................................................................................................... 11
3.1.2 Stimulus/Response Sequences .............................................................................................................. 12
3.1.3 Functional Requirements ...................................................................................................................... 12
3.2 In-truck Display............................................................................................................................................. 13
3.2.1 Description and Priority ......................................................................................................................... 13
3.2.2 Stimulus/Response Sequences .............................................................................................................. 13
3.2.3 Functional Requirements ...................................................................................................................... 13
3.3 Backend Data Storage................................................................................................................................... 13
3.3.1 Description and Priority ......................................................................................................................... 13
3.3.2 Stimulus/Response Sequences .............................................................................................................. 14
3.3.3 Functional Requirements ...................................................................................................................... 14
3.4 Maintenance Tracking .................................................................................................................................. 14
3.4.1 Description and Priority ......................................................................................................................... 14
3.4.2 Stimulus/Response Sequences .............................................................................................................. 14
3.4.3 Functional Requirements ...................................................................................................................... 14
4 External Interface Requirements ......................................................................................................................... 14
4.1 User Interfaces ............................................................................................................................................. 14
4.2 Hardware Interfaces ..................................................................................................................................... 15
4.3 Software Interfaces ...................................................................................................................................... 15
4.4 Communications Interfaces .......................................................................................................................... 15
5 Other Non-Functional Requirements ................................................................................................................... 15
5.1 Performance Requirements .......................................................................................................................... 15
5.2 Safety Requirements .................................................................................................................................... 15
5.3 Security Requirements ................................................................................................................................. 16
5.4 Software Quality Attributes .......................................................................................................................... 16
6 Other Requirements ............................................................................................................................................ 16
7 Use Cases ............................................................................................................................................................ 16
2
7.1 List of Use Cases ........................................................................................................................................... 16
7.2 Use Case Diagram ......................................................................................................................................... 17
7.3 Use Cases ..................................................................................................................................................... 18
Use Case 1 - User logs in to the system .......................................................................................................... 18
Use Case 2 - Select an entity by location ........................................................................................................ 19
Use Case 3 - Select an entity by ID .................................................................................................................. 20
Use Case 4 – Pit Dispatcher or Foreman views KPIs ........................................................................................ 21
Use Case 5 – Pit Dispatcher or Foreman view truck information .................................................................... 21
Use Case 6 – Pit Dispatcher reroutes a truck .................................................................................................. 22
Use Case 7 – Pit Dispatcher marks a problem zone on a map ......................................................................... 23
Use Case 8 – Pit Dispatcher deletes a problem zone ...................................................................................... 23
Use Case 9 – Truck driver views updated route information........................................................................... 24
Use Case 10 – Truck driver views problem zone notification .......................................................................... 25
Use Case 11 – Add a maintenance record ...................................................................................................... 25
Use Case 12 – View truck repair history ......................................................................................................... 26
8 Models ................................................................................................................................................................ 27
8.1 Domain Models ............................................................................................................................................ 28
The ER diagram in............................................................................................................................................... 28
8.2 UI Models ..................................................................................................................................................... 30
8.2.1 Login Screens ........................................................................................................................................ 30
8.2.2 Pit Dispatch Screens .............................................................................................................................. 32
8.2.3 Foreman Screens ................................................................................................................................... 34
8.2.4 Truck Driver UI ...................................................................................................................................... 34
8.2.5 Mechanic Screens.................................................................................................................................. 36
Appendix A: Removed Features .............................................................................................................................. 38
Appendix B: Elicitation Transcript ........................................................................................................................... 39
Table of UI Models
UI Model 1: Truck Driver Login ............................................................................................................................... 30
UI Model 2: Mechanic Login ................................................................................................................................... 30
UI Model 3: Pit Dispatcher Login ............................................................................................................................. 31
UI Model 4: Pit dispatcher main screen .................................................................................................................. 32
UI Model 5: Pit Dispatcher screen with problem area selected ............................................................................... 32
UI Model 6: Pit dispatcher screen confirming deletion of a problem area ............................................................... 33
UI Model 7: Pit dispatcher UI with Truck driver selected......................................................................................... 33
UI Model 8: Foreman Main Screen ......................................................................................................................... 34
UI Model 9: foreman screen with Truck Selected .................................................................................................... 34
UI Model 10: Truck Driver UI .................................................................................................................................. 35
UI Model 11: Truck Driver UI alerting driver of new routing information ................................................................ 35
UI Model 12: Truck Driver UI displaying a problem zone ......................................................................................... 36
UI Model 13: Mechanic Add new record screen ..................................................................................................... 36
UI Model 14: Mechanic main screen - search records ............................................................................................. 37
UI Model 15: Mechanic error adding new record screen ........................................................................................ 37
3
Revision History
Name Date Reason for Changes Version
Path-e-Tech February 9, Initial writing 1.0
Inc. 2014
Black Lung February 18, Annotations on original document. 1.1
Mining Co. 2014
Path-e-Tech March 12, Changes from client comments (noted below) and additional 2.0
Inc. 2014 details regarding the application model
Path-e-Tech March 13, Fixed spelling and grammar issues in document. 2.01
Inc. 2014
Path-e-Tech April 1, 2014 Includes priorities for use cases and mappings from UI 3.0
models to use cases to functional requirements
4
Forward Traceability Table
Functional Requirement Use Case UI Model
Req-3.1.3.1: Locations, speed of Use Case 4 – Pit UI Model 4: Pit dispatcher main screen
trucks, tire pressure, and load Dispatcher or Foreman UI Model 8: Foreman Main Screen
weight shall be polled and updated views KPIs
on the pit dispatcher’s display
every second when network
connectivity allows. (Elicitation 1)
Req-3.1.3.2: Route changes made Use Case 6 – Pit UI Model 7: Pit dispatcher UI with Truck driver
by pit dispatch will be pushed to a Dispatcher reroutes a selected
driver’s in-truck display within 1 truck UI Model 9: foreman screen with Truck Selected
second when network connectivity Use Case 9 – Truck driver UI Model 10: Truck Driver UI
allows. (Elicitation 1) views updated route UI Model 11: Truck Driver UI alerting driver of
information new routing information
Req-3.1.3.3: Users will be able to Use Case 2 - Select an UI Model 4: Pit dispatcher main screen
search for trucks both by ID and by entity by location UI Model 8: Foreman Main Screen
location. Use Case 3 - Select an UI Model 7: Pit dispatcher UI with Truck driver
entity by ID selected
UI Model 9: foreman screen with Truck Selected
Req-3.1.3.4: Users will be able to Use Case 4 – Pit UI Model 4: Pit dispatcher main screen
view detailed information on Dispatcher or Foreman UI Model 8: Foreman Main Screen
individual trucks. views KPIs UI Model 7: Pit dispatcher UI with Truck driver
Use Case 5 – Pit selected
Dispatcher or Foreman UI Model 9: foreman screen with Truck Selected
view truck information
Req-3.1.3.5: Pit Dispatchers will be Use Case 7 – Pit UI Model 4: Pit dispatcher main screen
able to mark areas as problem Dispatcher marks a
zones. problem zone on a map
Req-3.1.3.6: Pit Dispatchers will be Use Case 8 – Pit UI Model 4: Pit dispatcher main screen
able to remove areas marked as Dispatcher deletes a UI Model 5: Pit Dispatcher screen with problem
problem zones. problem zone area selected
UI Model 6: Pit dispatcher screen confirming
deletion of a problem area
Req-3.2.3.1: The in-truck display Use Case 10 – Truck UI Model 10: Truck Driver UI
will display a notification driver views problem UI Model 12: Truck Driver UI displaying a
immediately upon entering a zone notification problem zone
problem zone marked by pit
dispatch. (Elicitation 1)
Req-3.2.3.2: The in-truck display Use Case 10 – Truck UI Model 10: Truck Driver UI
will have a red border while in a driver views problem UI Model 12: Truck Driver UI displaying a
problem area. zone notification problem zone
Req-3.2.3.3: Any notification Use Case 10 – Truck UI Model 10: Truck Driver UI
displayed on the in-truck display driver views problem UI Model 12: Truck Driver UI displaying a
from entering a problem zone will zone notification problem zone
be removed immediately upon
leaving a problem zone. (Elicitation
1)
Req-3.2.3.4: Routing information Use Case 6 – Pit UI Model 7: Pit dispatcher UI with Truck driver
sent from pit dispatch will be Dispatcher reroutes a selected
displayed within 1 second on the truck UI Model 9: foreman screen with Truck Selected
5
in-truck display when network Use Case 9 – Truck driver UI Model 10: Truck Driver UI
connectivity allows. (Elicitation 1) views updated route UI Model 11: Truck Driver UI alerting driver of
information new routing information
Req-3.2.3.5: The in-truck display Use Case 9 – Truck driver UI Model 10: Truck Driver UI
will have a yellow flashing border views updated route UI Model 11: Truck Driver UI alerting driver of
for ten seconds when the truck’s information new routing information
route has been changed.
Req-3.3.3.1: Access to the data Use Case 1 - User logs in UI Model 1: Truck Driver Login
server will require authentication. to the system UI Model 2: Mechanic Login
(Elicitation 1) UI Model 3: Pit Dispatcher Login
Req-3.4.3.1: Mechanics will have Use Case 12 – View truck UI Model 14: Mechanic main screen - search
the ability to search for historic repair history records
service records. (Prototype
Demonstrations)
Req-3.4.3.2: Mechanics will have Use Case 11 – Add a UI Model 14: Mechanic main screen - search
the ability to add service records maintenance record records
for trucks. (Elicitation 1) UI Model 13: Mechanic Add new record screen
UI Model 15: Mechanic error adding new record
screen
Req-5.3.1: Remote web access to Use Case 1 - User logs in UI Model 1: Truck Driver Login
the system must be controlled by a to the system UI Model 2: Mechanic Login
per user login/password system. UI Model 3: Pit Dispatcher Login
(Elicitation 1)
Req-5.3.2: Only employees Use Case 1 - User logs in UI Model 1: Truck Driver Login
with login credentials are allowed to the system UI Model 2: Mechanic Login
to access the system. UI Model 3: Pit Dispatcher Login
6
1 Introduction
1.1 Purpose
This application concerns the truck drivers at Black Lung Mining Co.; the pit dispatch controllers who
issue directions, view Key Performance Indicators (KPI’s), and generally control most activity at the site;
and the mechanics who maintain the trucks. Currently, the truck drivers must use CB radios to
communicate with the pit dispatch control and keep them up to date with their location. The pit
dispatch controllers communicate new directions to the truck drivers over CB radio as well. This system
will automate this process by sending GPS tracking coordinates to the pit dispatch controller, and
allowing the pit dispatcher to send new directions to the driver’s GPS system.
Additionally, the system will keep track of the repair history for the trucks, and allow mechanics to
update it when they make repairs.
GPS Satellite navigation system that provides the location of a tracer in all-weather
condition.
HTTP Hypertext Transfer Protocol - Protocol for data communication.
KPI Key performance indicator - includes things like haul cycle, average speed, etc.
Pit A Black Lung Mining Co. employee who reroutes trucks.
Dispatcher
Shovel A piece of heavy mining machinery that loads trucks with coal.
TCP Transmission Control Protocol - A protocol which is used when connecting to the World
Wide Web
7
1.4 Data Dictionary
8
mechanic’s UI.
Entry DateTime The time and date at which a truck entered the repair
shop for repairs.
Exit DateTime The time and date at which a truck exited the shop after
being repaired.
Mechanic Mechanic name The name of the mechanic (i.e. John Smith)
Credentials The login information (i.e. username and password) for
the mechanic
Mechanic ID A unique ID used to identify mechanics.
Other KPI’s KPI Key performance indicator; used by Black Lung Mining
co. for measuring performance
Haul Cycle The total round trip time for a truck from shovel to dump
to shovel
1.5 References
[1] Black Lung Mining Co., "Haul Truck Optimization Plan Request for Proposals," 28 January 2014.
[Online]. Available: http://web.uvic.ca/~dprince/docs/rfp2.pdf.
1.6 Overview
This document provides a high-level description of the requirements for completion of the haul truck
optimization plan, as described by Black Lung Mining Co. in Appendix B, and [1]. The Overall Description
section below gives an overview of the functionality of the product as well as short description of users
and the system’s operating environment. The system constraints, assumptions and dependencies are
mentioned in this section as well. In the System Features section, the response sequences and
functional requirements of the system’s features are described. The external interfaces such as user
interfaces, hardware devices, software interfaces and communication devices and protocols are
described in the External Interface Requirements section. Performance, safety, security and software
quality attributes are described in the Other Non-Functional Requirements section. All remaining
requirements are specified in the Other Requirements section.
A list of removed features can be found in Appendix A, while Appendix B includes the transcript of the
requirements elicitation, which is referenced throughout the document.
2 Overall Description
2.1 Product Perspective
Black Lung Mining Co. requires an additional communication method between their pit dispatch
controllers and their truck drivers, as a supplement to their current CB radio system. Currently, Black
Lung Mining uses the CB radios to communicate information such as location and routes between their
truck drivers and pit dispatch controllers.
The replacement system will enhance communication by allowing pit dispatchers to view near real time
data about the truck driver’s location, speed, load weight and tire pressure, allowing the dispatchers to
make informed decisions about which shovels and dump sites the trucks need to be sent to. The
interface will get this information from a continuously updated database. Additionally, the system will
9
allow pit dispatchers to send truck drivers along different routes by transmitting routing data to the in
truck system.
The in-truck display is a navigational device which will be mounted in all of Black Lung Mining’s trucks.
This device will show current route data, which will be updated whenever new information is sent by pit
dispatch. The device is also responsible for transmitting data to the database for use by pit dispatch
control, and foremen.
As a separate part of this same initiative, mechanics will have access to another portion of the system,
which will allow them to record the repair history of the trucks for use by the foremen.
Lastly, all information must be sent to a database, which will be maintained by Black Lung Mining Co.
This information will be used internally for reports to keep the foremen informed about daily
operations.
The in-truck system will display a route for the truck drivers to follow, as well as notifying drivers of
areas which have been marked ‘problem zones’ by pit dispatch. This component will also be the device
which transmits all of the truck’s information (location, speed, load weight, tire pressure, arrival and
departure time from shovels and dump sites) to the database.
The pit dispatch interface will allow the pit dispatch controllers to view the location, speed, load weight,
and tire pressure of all trucks connected to the system. The display will also show average load and
dump times, and departure and arrival times for shovels. Additionally, the interface will allow the
dispatcher to send a new route to the trucks, which will be displayed on the in-truck display.
Mechanic Interface
The mechanic’s interface will allow mechanics to record the repair history of trucks when they are
brought into the shop for repairs and to view previous repair records for a given truck.
Database
All data collected from the trucks and input into the system by mechanics will be sent to the Black Lung
Mining Co.’s database, which will be managed by their DBA, and will be accessible to the IT team.
The pit dispatch controller uses the system to monitor the speed, load, and route of the trucks, and
gives them new routes accordingly. The pit dispatch controller uses the system as a supplement to the
old CB radio system they used before.
The foremen use the system to monitor the same information as the pit dispatch controller.
10
The truck drivers use the system to monitor where they are along their route, as well as to view new
routes in real time as they are received, and to be notified upon entering a problem zone.
The mechanics use the system to keep track of the repair history of the trucks, and to keep track of any
trucks with regular issues.
The DBA needs access to the raw data held in the database in order to create reports for the foremen.
As a database expert, no views or interface needs to be created.
The in-truck system operates under harsh conditions. The inside of the truck is ‘super loud’, ‘dirty’, and
‘cold’, with ‘coal everywhere’. The vehicle’s suspension causes the cabin to be in constant motion, often
deviating 3-4 feet vertically. Therefore, the in-truck devices must be mounted securely.
Mechanic system
The mechanic system must be usable from the desktop computers within the machine shops.
The pit dispatch system must be usable by the pit dispatchers and foreman (in read only mode). It must
be accessible and function on a number of devices, including Windows, and common mobile browsers
(chrome and safari on phones and tablets).
The system will also be dependent on utilizing either the existing networks (provided by Black Lung
Mining Co.) or a satellite system for communication.
3 System Features
The proposed solution application system, classified under the Michael Jackson classification system, is a
control system as it is used to control the routes that the trucks of Black Lung Mining Co. take.
11
will be able to mark problem zones, so that when trucks drive through them they will receive a
notification in their in-truck display. This feature is high priority.
View truck Pit dispatch will select a truck whose information they wish to view from a
information list of trucks.
The system will display an overlay showing the trucks driver, weight, current
speed, historic arrival and departure times from shovels, haul cycle, and
currently assigned route.
Assign a route Pit dispatch will view the truck overlay as in “View truck information”
for a truck
Pit dispatch will select a “Change Route” button on the overlay
Pit dispatch will select and drag points on the current route, each time the
system will automatically recalculate an optimal route using the desired
points
Pit dispatch will select a “Save Route” button and the new route will be
pushed to the drivers in-truck display.
Mark a problem Pit dispatch will select a “Mark a Problem Zone” button then clicks and drags
zone to select an area on the map.
The system will display a box prompting for a description of the problem
Req-3.1.3.2: Route changes made by pit dispatch will be pushed to a driver’s in-truck display within 1
second when network connectivity allows. (Elicitation 1)
Req-3.1.3.3: Pit Dispatchers will be able to search for trucks both by ID and by location.
Req-3.1.3.4: Pit Dispatchers will be able to view detailed information on individual trucks.
12
Req-3.1.3.6: Pit Dispatchers will be able to remove areas marked as problem zones.
Alert driver to Alert will display on display displaying a message defined by the pit
problem areas dispatch for the entire time the driver is in a problem area.
Edges of screen will turn red for the entire time the driver is in the
problem area.
Alert driver to When the route of a truck has been changed, a yellow border on the map
route change will flash, alerting the driver to the change.
Req-3.2.3.2: Upon entering a problem zone, the in-truck display’s border will flash red for ten seconds,
then will remain red until the truck leaves the problem zone.
Req-3.2.3.3: Any notification displayed on the in-truck display from entering a problem zone will be
removed immediately upon leaving a problem zone. (Elicitation 1)
Req-3.2.3.4: Routing information sent from pit dispatch will be displayed within 1 second on the in-truck
display when network connectivity allows. (Elicitation 1)
Req-3.2.3.5: The in-truck display’s border will flash yellow for ten seconds when the truck’s route has
been changed.
Arrival and departure times at shovels and dump sites for each truck
Average speed per truck per haul cycle
Load weight per haul cycle
Wait and load time per shovel per haul cycle
13
Wait and load time at shovel per haul cycle per truck
Repair history per truck
Average haul cycle time
tire pressure
The mechanic submits the form and the system will record it in the
backend data server
View repairs made The mechanic will open the web interface and enter the truck id into the
to a truck search bar.
The mechanic submits the form and the system displays repairs made to
the selected truck.
Req-3.4.3.2: Mechanics will have the ability to add service records for trucks. (Elicitation 1)
Req-4.1.1: Pit dispatchers will have access to information about all trucks. (Elicitation 2)
Req-4.1.2: The pit dispatch interface will be available to foremen, but in read only format.
In-Truck System
14
Req-4.1.3: The driver interface does not require input on the touch screen while driving. (Elicitation 1)
Req-4.1.4: The truck driver will not have access of data of other trucks. [1]
Req-4.1.5: The display will show the route given to it by the pit dispatch controller. [1]
Req-4.2.2: The system will collect data from the tire pressure sensor and load weight sensor currently
installed in trucks. (Elicitation 1)
Req-4.2.3: With the exception of logging in, the interface will be non-interactive.
Req-4.4.2: HTTP will be used as a protocol sending the web pages used by mechanics and the pit
dispatch controllers.
Req-4.4.3: TCP will be used as a protocol for communicating between trucks and office.
Req-4.4.4: Satellite Internet will be used for communication between trucks and server software.
Req-5.1.1: Tire pressure needs to be measured intermittently, being updated at least every ten
minutes. (Elicitation 1)
Req-5.1.2: Speed, load weight, and location data must be near-real time, and should be updated every
second when connectivity permits it. (Elicitation 1)
Req-5.1.3: Arrival and departure time from shovels should be updated within 5 seconds. (Elicitation
1)
In-Truck Display
Req-5.1.4: Route information must be updated as soon as possible once sent from pit dispatch.
Update time must be less than one second when connectivity permits it. [1]
15
Req-5.2.1: The route displayed must be entirely along a completed road (i.e. the route shown must
not take the vehicle off-road) (Elicitation 1)
Req-5.2.2: The in-truck display must be securely mounted to prevent it from becoming detached
during operation. (Elicitation 1)
Req-5.2.3: The only time the driver interacts with the touchscreen is when they login.
Req-5.3.2: Only employees with login credentials are allowed to access the system.
Req-5.3.3: The DBA at Black Lung Mining Co. must be able to manage the user’s logins and
passwords.
Req-5.3.4: Only users specified as a ‘Pit Dispatch Controller’ are allowed to change the routes of
trucks. (Elicitation 1)
Req-5.3.5: Only users specified as a ‘Truck mechanic’ are allowed to add repair history of a truck.
Req-5.4.2: The system must be extensible by allowing other software applications or components
to have access to the database. (Elicitation 1)
Req-5.4.3: The system must maintain 99% uptime for all non-database server side components.
Downtime is considered any inaccessibility to the system while the database is online, the Black Lung
Mining intranet is running, and the server and client machines have access to the internet.
6 Other Requirements
Req-6.1: All system components will be in English. No other language support will be provided.
(Elicitation 2)
Req-6.2: Current logbook data will be imported into the system either manually, or automatically.
(Elicitation 1)
7 Use Cases
Use Cases describe the interaction between users and the system. Each use case describes the
interactions required by the user in order to complete a specific goal or task. The use cases defined this
section describe all tasks that can be completed through the system.
16
The following is a complete and exhaustive list of tasks which can be completed through the system:
17
Figure 1: Use Case Diagram
18
Login to system.
Priority:
Must have
Description
This use case describes how a Pit Dispatcher, Foreman, Truck Driver, or Mechanic logs into the system.
Actors
Pit Dispatcher, Foreman, Mechanic, Truck Driver
Related Screens:
UI Model 1: Truck Driver Login, UI Model 2: Mechanic Login, UI Model 3: Pit Dispatcher Login
Pre-Conditions
User has an account in the database with a username and password.
Main flow
1. The user enters username in the login text field on the login screen. The system displays the login in
the text field. <UI Model 1: Truck Driver Login, UI Model 2: Mechanic Login, UI Model 3: Pit
Dispatcher Login>
2. The user enters password in the login text field on the login screen. The system displays the
password as * symbols.
3. The user clicks on the login button.
4. <Log In>The user is logged into the system, and presents the user with the home screen of the
application they are logging into
Post-Conditions
The user is logged into the system.
Alternative flows
At <Log In>, if the user enters the incorrect username/password combination, the password box is
cleared, and a message saying ‘Incorrect username or password.’ appears in red above the username
box.
19
1. Include <Use case - User login into system > .
2. The pit dispatcher/foreman clicks on the ‘identify’ button. <UI Model 4: Pit dispatcher main screen,
UI Model 8: Foreman Main Screen>
3. The pit dispatcher/foreman selects an area or a point on the map using their mouse.
4. The result list opens to show the results from the identify.
5. The pit dispatch/foreman clicks on the correct result from the list.
6. The system displays more detailed information about the entity. <UI Model 7: Pit dispatcher UI with
Truck driver selected, UI Model 9: foreman screen with Truck Selected>
7. The use case ends.
Post-Conditions
An entity is selected, and detailed information is displayed about the entity.
Alternative flows
N/A
Alternative flows
N/A
20
Use Case 4 – Pit Dispatcher or Foreman views KPIs
Use Case name:
View KPI’s.
Priority:
Must have
Description
This use case describes how a pit dispatcher/foreman views KPI’s; location, speed, average haul cycle
time, load weight, and tire pressure.
Actors
Pit dispatcher, foreman
Related Screens:
UI Model 4: Pit dispatcher main screen, UI Model 8: Foreman Main Screen
Pre-Conditions
The Pit Dispatcher/Foreman must have an account in the database with a username and password.
Main flow
1. Include <Use case - User login into system >
2. The Pit Dispatcher/Foreman selects an entity from the left sidebar. <UI Model 4: Pit dispatcher
main screen, UI Model 8: Foreman Main Screen>
3. The Pit Dispatcher/Foreman clicks the button associated with the selected entity to expand it.
4. The system displays KPI’s (location, speed, average haul cycle time, load weight, and tire pressure)
associated with the selected entity.
5. The use case ends.
Post-Conditions
The Pit Dispatcher/Foreman has read the desired KPI’s.
Alternative flows
N/A
21
2. The pit dispatcher/foreman selects a truck from their interface. Include <Use case – Select Entity by
Location> or <Use case – Select Entity by ID>. <UI Model 7: Pit dispatcher UI with Truck driver
selected, UI Model 9: foreman screen with Truck Selected>
3. The system displays the driver ID, truck ID, driver speed, load weight, gas levels, tire pressure, and
idle time for the selected truck
4. The use case ends.
Post-Conditions
The pit dispatcher/foreman has received the detailed information about the selected truck
Alternative flows
N/A
22
At <Confirm Update>, if the pit dispatcher clicks the “back” button, the system goes back to the
previous screen. Return to <Update Route>
Main flow
1. Include <Use case - User login into system >
2. The pit dispatcher click “Add Problem Area” button. <UI Model 4: Pit dispatcher main screen>
3. The pit dispatcher clicks and drags to select an area of the map.
4. The system prompts the user to enter a comment about the problem zone.
5. The pit dispatcher inputs a description of the problem with that zone and clicks “Confirm” button.
6. The system creates a record of the problem zone.
7. The use case ends.
Post-Conditions
The system has a record of the new problem zone.
Alternative flows
N/A
23
Pre-Conditions
The Pit Dispatcher must have an account in the database with a username and password.
Main flow
1. Include <Use case - User login into system >
2. The pit dispatcher selects an existing problem zone <Selected problem zone>. Include <Use case –
Select Entity by Location> or <Use Case – Select Entity by ID>. <UI Model 4: Pit dispatcher main
screen>
3. System shows detailed information about the selected problem zone with a “Delete” button. <UI
Model 5: Pit Dispatcher screen with problem area selected>
4. Pit dispatcher clicks the “Delete” button.
5. <Confirm deletion> The system prompts the user to confirm the deletion of problem zone. <UI
Model 6: Pit dispatcher screen confirming deletion of a problem area>
6. Pit dispatcher click “Delete” button.
7. The system deletes the record of the problem zone.
8. The use case ends.
Post-Conditions
The system deletes the record of the problem zone.
Alternative flows
A. At <Confirm deletion>, if the user click “Cancel” button, then
1. It goes back to the previous step <Selected problem zone>.
Post-Conditions
The routing information on the truck driver’s in-truck display is updated to the new route
24
Alternative flows
N/A
25
UI Model 14: Mechanic main screen - search records, UI Model 13: Mechanic Add new record screen, UI
Model 15: Mechanic error adding new record screen
Pre-Conditions
The mechanic must have an account in the database with a username and password.
Main flow
1. Include <Use case - User login into system >
2. The user selects the ‘Add new repair record’ tab from the tabs presented at the top of the
screen. <UI Model 14: Mechanic main screen - search records>
3. The system presents the mechanic with a form containing text fields for filling in the Truck ID,
Mechanic ID, Entry Date, Exit Date, Problem description, Cost of parts, Cost of Labour, Parts used
and Nature of work done. <UI Model 13: Mechanic Add new record screen>
4. <Submit>The Mechanic fills in the truck ID, plus relevant text fields, then presses the submit
button.
5. The system adds the data to the database.
6. The use case ends.
Post-Conditions
The entry has been added to the database.
Alternative flows
A. At <Submit>, if the mechanic does not fill in a required field
1. The system presents a screen which alerts them that they failed to enter a value for the required
field. This screen contains the same form with the same fields, containing the same information
the mechanic filled in before attempting to submit, but with the missing fields outlined red and
an error message displayed next to the submit button. Return to <Submit>. <UI Model 15:
Mechanic error adding new record screen>
26
3. <Enter Query>. The mechanic types the information (such as the truck id, problem, or mechanic) he
is searching for into the text box, then presses search or enter to submit.
4. <Display Results>The system displays the results of the search in the ‘results’ area on the left side of
the screen, grouped based on what matched (i.e. truck id, problem or mechanic). The ‘records’ box
on the right side is left empty.
5. The mechanic clicks on the group she or he is interested in.
6. The group expands to show the mechanic the entries within the group in the results field. Entries
are sorted by date.
7. The mechanic clicks the entry she or he is interested in.
8. The system displays the detailed information of the repair record on the right side of the screen, in
the ‘records’ box.
9. The use case ends.
Post-Conditions
The results are shown on the right side of the screen.
Alternative flows
At <Display Results>, if no records are found, the system displays “No results found” in the ‘results’
area, and the ‘records’ area is left empty. Return to <Enter Query>.
8 Models
Models are used to help confirm that the understanding of the data involved, and the understanding
scope of the problem is shared between both Path-e-tech developers and the stakeholders at Black Lung
Mining co. These models are broken into two categories; Domain models, which show the data involved,
the relationship between pieces of data, and flow of data through the system; and UI models, which
show samples of how the UI will be laid out in the final product. Section
27
1.4 Data Dictionary may be helpful in understanding what different pieces of data will correspond to, as
it includes a description of every piece of data referred to within the domain models.
Figure 2: ER Diagram
The ER diagram in Figure 2 above shows how pieces of data relate to each other.
28
Figure 3: DFD0
The Data Flow Diagram (DFD) in Figure 3 above shows how data enters and exits the system.
Figure 4: DFD1
The DFD in Figure 4 above shows the system in more detail, by including how data is used within the
system, and how it will be stored.
29
8.2 UI Models
8.2.1 Login Screens
30
UI Model 3: Pit Dispatcher Login
31
8.2.2 Pit Dispatch Screens
32
UI Model 6: Pit dispatcher screen confirming deletion of a problem area
33
8.2.3 Foreman Screens
34
UI Model 10: Truck Driver UI
35
UI Model 12: Truck Driver UI displaying a problem zone
36
UI Model 14: Mechanic main screen - search records
37
Appendix A: Removed Features
Removed Requirement Source Description
Generating reports for Foremen Elicitation The system is no longer required to generate reports
for foremen
The business improvement Elicitation The system no longer requires a BID interface
department (BID) interface
Real time data retrieval for all data Elicitation Only the trucks location and speed will be real time
from the trucks
Informing truck drivers of their RS 1.1 The system no longer has the ability to inform truck
lunch break times drivers when they should go on break.
Users will be able to turn map Negotiation The system no longer supports enabling and
layers on and off. disabling map layers.
38
Appendix B: Elicitation Transcript
Path-E-Tech: The trucks that the equipment is going to be on, how far are they driving?
What sort of connectivity do these trucks have? Do they have any connectivity built in? Or... Is it just…
you have radios
- Yeah CB radios
And no GPS?
OK
- See I don’t understand this assignment too much but GPS would be a way to go.
OK
- So we could have it already or we could have it in a box like at HQ right now or you guys could install it.
What other hardware is available on the truck and drivers? Will they always have a cell phone on
them, a tablet on them?
- No cell phone, but they have their CB radios, and then ideally, a touch screen monitor.
You mentioned that the truck drivers are a different type of end user, because they will not be
interacting with the system? You want them only to consume information?
- Right
Do truck drivers then only receive information on the CB radios right now? Or do they talk back and
forth?
- I think what we were getting at is that they shouldn’t be interacting with a touch screen, like
information should be presented to them, but there should probably be some kind of voice
39
communication. Obviously they will communicate back and forth but they shouldn’t be driving and
like…..
- We are not getting rid of the CB radios, those would still be there
- So from dispatch communicating with the truck drivers they can talk to each other but we don’t want
truck drivers to look at other truck drivers and look at their statistics.
- But you could just have ideally some kind of forced communication that dispatch could just say “hey I
want to talk to this person” and it just comes on like the speakers in the cab
OK. You mentioned truck driver log books and that they put tire pressures, fuel levels, and arrival
times, and all that kind of stuff on them. Do they have any other sort of information, like notes or
anything like that? Will the system have to accept some sort of free-form input from the driver? Like
notes “ran over a nail and tire pressure started to drop or…..
- No…. Did we say there was a notebook that had all that stuff in there?
- Ideally no they wouldn’t be. They are just drivers so if there was a problem like a nail in a tire they
would just…
- Yeah they would CB radio saying “I got an error” and they got a thing, they would take it to the shop
and the shop would enter all of the information into the system.
- Well when you are driving a haul truck you are taking 3 tonnes of coal in the back, it’s very heavy, the
truck is heavy as it is, and you are on a road that was probably built yesterday so the conditions aren’t all
that great so dangerous drivers are drivers that are going too fast. Ideally you only want to be going like
15 km/h, and obviously the truck can push way faster than that. So anyone going faster than that, you
come around a corner, you are going too fast, you can’t stop, that kind of thing.
- 24/7/365
- Acceptable would just be… so it would be down for what just system upgrades… that kind of thing?
You mentioned that you want data every 1 second from the trucks. What’s the reasoning behind
every 1 second rather than every 10 seconds? Like do you need tire pressure information for every
second from every truck?
40
- No no no. Tire pressure…. I guess it depends on what kind of information you are getting. Like tire
pressure you don’t need every second obviously. You could poll that every 10 minutes or so.
- Right. But GPS data you want to know exactly where they are and every 1 second that is going to get
your speed more accurately, you know, stuff like that. It’s also going to give you exactly like when you
stop at the shovel, exactly when you leave….
- And we want to know the rate at which people are stopping and starting and maybe the rate at which
they are going at like… I was thinking like characterizing drivers based on how they drive cause we are
trying to identify people that may be a bit dangerous or….
- Yeah and I think if you have route changes or something being sent to the drivers, that needs to
happen in real time. Stuff that is being sent to the drivers has to happen right away.
That’s understandable that it be less, you had less than 5 seconds on the document and that’s
understandable.
- So the way that I picture it is that you don’t actually… like… when the information is sent we are not
sending every piece of information every second right, so the GPS would need to be every second
because you need to know where they are, but say you leave the shovel at this time, and then you arrive
at the dump at this time, you only need those 2 times. You don’t need what’s in between. That make
sense?
- No sorry just the time like the time you leave the shovel and then the time you arrive at the dump.
That’s all you would need but the GPS would be for... Cause you are looking at a screen right? You are
looking at a map of the mine… I mean there’s dots right, so you could see exactly where the truck is.
Would it be acceptable for the drivers to interact with the trucks when they are stopped so they could
say “I’m here” or “I’m here”
- You could have a switch that says “loading” or something, or maybe you could attach it to the e-brake
or something instead of a user having to switch on and off and remember.
I imagine if they use a log-book already then they are used to writing stuff down at the site anyways
- Yeah we are trying to get it away from human... like to automate as much stuff as we can.
Do you have a server infrastructure set up already? You must have some sort of system…
41
- Yeah there has got to be some DB that we manually enter into it
- yeah I guess there has got to be some old lady sitting in the building in there that goes through the log
books and installs it all or sorry not installs it but….
So you don’t really have much infrastructure. This would be pretty much a new system.
- Yeah
Do you have any data sitting around that you want to be imported into the new system? Or can we
just start fresh?
- I think to a certain point existing data should be imported cause then you could monitor trends and
everything
- yeah that would be good because then we could see the progress we have made since the switchover,
compare the two, see if we are getting our money’s worth.
Is some data more important than others? What’s the most important thing you are trying to get out
of this?
- The GPS?
- the most important I guess is the time you start moving, the time you stop moving, the load weight,
how much you are moving… I guess at the end of the day that’s the important stuff. So loads for the BI
(business improvement) so you can progress your profits. And then also… sorry they wouldn’t be for…
that would just be for logs and profits and all that. Profit margins and so you could project etc. and then
the stopping and starting would be for business improvement so that they can determine how to
improve and also target the good drivers and bad drivers.
- And we also want to know which routes would be faster, shorter, all that stuff
Maybe one of them could interact with the system. It just opens up options for the interface
- Essentially dispatch would notice that and there would be an alarm set
- Yeah
42
- oh yeah for sure but pretty much what you are doing all day long is that you are going from A to B from
B to A from A to B etc. so if you take the wrong turn you are a fuckin idiot. Put the joint down.
What information do you need to see? You are looking at your computer all the time, what do you
want to see?
- It would be nice to know where the drivers are, at every point in time or at least in a reasonably good
amount of time
So you are looking at a map and there are dots on the map and they are moving
- Yeah so I can basically see where they are going, and the times they are arriving and leaving at and the
speed they are going
So maybe a summary of average trip time and average load weights and stuff like that
- Yeah and I also make the decisions based on like… I’m telling them where to go basically so it would be
nice if I could characterize them like maybe I could click somewhere and it would bring up like a profile
of a particular driver based on history or based on whatever it is that we are recording right now
- Yeah there are also daily par levels so you have to get this amount of coal per day right? Or shift I
should say. so we need a running par level so it will show you where we are at, how much coal we have
transported, and as a relation of how much we should have done so if we are down here and we should
be up here pit dispatch is going to reroute some drivers to maybe a shorter route so maybe they are
getting more coal per hour and all that stuff
Now why wouldn’t you just use that shorter route already?
- Well you gotta get coal from over there and you gotta get coal from over here right? even if coal is way
over there you still gotta get it so you could do this all day long and you get a whole par level but then
that’s all gone and then tomorrow you are gonna go over there and you are gonna get like a quarter of
the amount.
- the amount of coal mined per day depends on the price of coal on the market so if the price is cheap
then you are gonna have a slow day, but if the price is sky high, you are gonna fuckin… you are gonna
bring in as much as you can
- and we were saying we wanted to see if there was people waiting at a certain shovel so we could
reroute people to another shovel
- That’s another KPI that you could have is wait times, wait time at shovel, average wait time at shovel.
- and it would be nice to see how long a truck has been at any given shovel so if someone has been
loading for like 20 minutes then something has probably gone wrong.
43
So I assume the truck drivers communicate with you as well so you can have conversations with them
and you are not just pushing stuff to them
When you say you want to be able to tell the driver what route to take, what format is that? Is it just a
sentence, say “take road b, you are working at site c today” or do they require a large list of “left on
coal street, right on charred”
- Well your streets are changing every day. They actually make streets, destroy streets, it’s always
changing so you can get at the coal but before your shift you have a pre-shift meeting with the foreman.
He will put up a map and he will tell you shovel a, shovel b, shovel c, dump site
So between each shovel there is one road going there and one road going back?
Between the dump site and the shovel there is one road there, one road back so you can just say “you
are working shovel c today”?
- yeah but ideally with the truck interface they should have some kind of map that will have a
highlighted route that is like “you are going here” and if it changes it will just pop up real time on their
map
- So the old system would be what you are saying but this is what we want
- Yeah I was going to mention that. Should we say we already have them, because if think we already do
have them? Yeah ok.
And would we collect the data then? And where is that data being stored if you have an old lady
manually entering stuff into a database?
Ok so it is not being stored or sent to the pit dispatch it’s just for the driver?
- Not for the driver at all it’s for pit dispatch. So the cameras aren’t in the trucks they are actually
mounted in the mines.
- So they just kind of go up on the screens there and pit dispatch can actually have a physical……
- Yeah I would imagine they just store a couple days’ worth and then wipe it after a couple days
- The foreman doesn't actually need too much information from the system, I’m just there to make sure
things go smoothly. The pit dispatch handles the truck routing and stuff. in mornings if would be there
44
to make decisions like which truck goes to which shovel but in terms of optimization that’s all up to pit
dispatch
- The foreman basically wants reports. Like on paper end of shift, end of day... etc.
What do those reports look like? Like average time between dumping etc.
- Yeah sure. It’s like a performance thing like how much coal you got, what is the average speed, how
much time was wasted on this… that kind of stuff. Where can we improve?
- Probably a high level like the whole mine summary, and then a per driver, per route etc.
- As much info as the guy can. He will just sift through it. It doesn’t have to be on paper either I mean
that could be an online app as well.
-probably something where he can just say “I want this this and this” and “give me this data”
What type of device is he working on? Is it paper? Is he looking at this in the field on an iPad, phone,
desktop etc.?
- I will be spending a lot of time in an office and I am going to be going around making daily inspections
making sure everything goes smoothly as well so if I had a way to look at it in real time while I am on the
site it would be good too.
- does it need to be a self-standing app or just accessing the same web interface through an iPad?
- Just a web interface. The same as the pit dispatch. They are going to be looking at the same thing.
- let’s say time you got to the shovel, time you left the shovel, time you got to the dump, time you left
the dump, what truck you were driving, start and end times of your shift, safety checklist, at the
beginning of your shift you have to do a 360 of your truck…
- uhh yeah well the way it works in real life is that you show up for your shift, you sign in with your card,
you do your 360, you get in the truck, start it up, that’s relayed as well so your 360 time is in there
because they are having problems with people doing hour long 360s when it should only take like 10
minutes. Every single aspect of the day is basically logged. If you stop on the side of the road and take a
piss, that’s logged as well. Just as stopped time, not like “takin piss”. Your break is logged, your lunch is
logged, you sign out for your lunch and then you sign back in after your lunch and that’s logged, so they
track that as well and can identify shitty employees that way. If they are taking 75 minutes if they are
only getting a 60 etc.
45
What information do you want from an in truck display? Just routing information or do you want your
averages as well?
- No, that motivates fast and reckless driving. We don’t want them to see any of the data. Just route and
I don’t know… maybe when your break is? Probably not though but ….
Sounds like we should have something built into the UI for clocking breaks like start the break timer
or stop timer
- And you could have some sort of timer show up to alert them when there breaks are
What’s the inside of the truck like? Do you listen to music? Is it loud? How feasible are voice
commands?
- Super loud, you can have music, the CB was wired to it so your music would cut out. Its dirty, and
shitty, coal everywhere, cold, not too comfortable.
- yeah you can mount a device but when you are driving down the street the suspension is so soft you
are constantly moving like 3-4 feet up in the air. Yeah it is pretty crazy
- The suspension is just massive I mean there is so much weight you have to absorb that somehow
- They want to have access to everything because every day could be different. They want to target
something new so they need access to all information.
- I feel like the interface would be pretty similar to what the foreman could access, like just big
summarized reports.
- well the way the business improvement worked where it was is that they don’t actually have reports
that they look at, not like pre-generated reports but they come up with an idea, talk to IT, and then IT
makes that for them
So I guess the way you want the data presented would be anything they want on the day
-yeah anything they want. Ideally similar to what the foreman and pit dispatch looks at but more specific
to their needs
46
- if they have the same access as pit dispatch but maybe something on top of it that gives it a little bit
more flexibility
- Pit dispatch only needs a handful of things and that is never going to change, whereas BI will be
jumping all over the place.
- Oh we were saying something about the display in the cab to switch over when it’s nighttime to a
dimmer display because we are running 24/7.
-like a navigator in a car where it switches at night so it is not burning your eyes out
Anything else?
No
-why don’t we go with that so we can make it more clear as to what kind of info we want to have
-we can start listing stuff now and if either of us think of anything before…..
- start times and stop times. If you are leaving a shovel or getting to a shovel or a dump or HQ. I mean
you could use that to get speed as well
- do we want real time speed as well for the dispatch? Average speed and real time speed are very
different.
- yeah that’s another thing they actually did was they targeted trouble zones like someone said it was
slippery, they were skidding too much etc. so they wanted to minimize speed there cause it was
dangerous so that’s another thing you could to is set a GPS pointer between A and B and if someone
goes over a certain speed then you could flag them, that’s something the foreman would talk about in
the morning.
- some way of marking problem zones so if dispatch could make a note of it, and maybe that’s
something that could show up in the truck that once they hit one of those zones they get a real time
alert.
- What type of list are we talking about? Is this general information or for the truck drivers?
- Length of breaks
- load weight
47
- Also repair, they track specific trucks so you can look at a truck over the course of a year and it’s
broken down 3 times. You look at another truck and it’s broken down 50 times. why? You know that
kind of thing so you wanna track repairs on trucks. If a truck keeps breaking down you want to get rid of
it
This is quite a large system. All the parts might be a little bit out of scope for this assignment. What
are the most important parts of this system?
If we created that system and allowed the summaries to be created afterwards as a kind of add-on?
But you can manually query it. In the meantime could we let the IT department manually create
reports like they have been doing and we can add on that later? Or do we need a GUI application for
that?
-no no we will handle all of the reports. All we require is the DB to be populated
Elicitation 3:
48