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

Feedlot Wars

Software Requirements Document, version 1


October 19, 2010

Group Members:
Matt Funk
Troy Huguet
Cooper McClain

Group Number: 2

Lab Instructor:
Cody Tankersley
This page intentionally left blank.

i
Table of Contents
1 Introduction 1
1.1 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Definitions, Acronyms, and Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 System Overview 2
2.1 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

3 Specific Requirements 3
3.1 Use Case: 3.1 - View Pen Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.2 Use case: 3.2 - View Individual Cow Status . . . . . . . . . . . . . . . . . . . . . . . 3
3.3 Use case: 3.3 - View Ration Market . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.4 Use case: 3.4 - Purchase Ration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.5 Use case: 3.5 - View Ration Inventory . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.6 Use case: 3.6 - View Current Feeding Plan . . . . . . . . . . . . . . . . . . . . . . . . 6
3.7 Use case: 3.7 - Change Feeding Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.8 Use case: 3.8 - Auto-Update Cattle Status . . . . . . . . . . . . . . . . . . . . . . . . 7

A Appendix A: User Interface 9


A.1 Use Case: 3.1 - View Pen Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
A.2 Use case: 3.2 - View Individual Cow Status . . . . . . . . . . . . . . . . . . . . . . . 12
A.3 Use case: 3.3 - View Ration Market . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
A.4 Use case: 3.4 - Purchase Ration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
A.5 Use case: 3.5 - View Ration Inventory . . . . . . . . . . . . . . . . . . . . . . . . . . 20
A.6 Use case: 3.6 - View Current Feeding Plan . . . . . . . . . . . . . . . . . . . . . . . . 22
A.7 Use case: 3.7 - Change Feeding Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
A.8 Use case: 3.8 - Auto-Update Cattle Status . . . . . . . . . . . . . . . . . . . . . . . . 28

B Appendix B: Initial Tasks and Role Assignment 29


B.1 Initial presentation assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
B.2 SRS assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
B.3 Initial task assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

ii
This page intentionally left blank.

iii
1 Introduction
1.1 Purpose
The purpose of this Requirements Document is to specify the software requirements of Feedlot
Wars, a game that simulates cattle management by players owning feedlots and rearing cattle. The
document will help to define the concept and functionality of Feedlot Wars for development.

1.2 Definitions, Acronyms, and Abbreviations


ADG
(Average Daily Gain), the amount of gain divided by the number of days in the feeding period.

Angus
A Scottish breed of cattle.

Cattle
Any grouping of cows.

Feedlot
A lot that contains pens. There are at most 10 pens per feedlot in Feedlot Wars.

Head
A reference to an individual cow.

Heifer
A young female cow that has not yet had a calf.

Hereford
A beef cattle breed popular in meat production.

Pen
An area within a feedlot that contains cattle. There are at most 10 cows per pen in Feedlot
Wars.

Player
Any owner of a feedlot. There is only one feedlot per player.

Ration
A portion of food that cattle eat. There are many types of rations.

Roughage
Indigestible portion of a ration.

Server
The computer hosting an instance of Feedlot Wars.

Spinner
A user interface element that allows the user to increment or decrement a number by one.

Steer
A castrated male cow.

1
1.3 References
IEEE Std. 830-1998, IEEE Recommended Practice for Software Requirements Specifications, In-
stitute for Electrical and Electronic Engineers, Piscataway, New Jersey, 1998.

2 System Overview
2.1 Purpose
Feedlot Wars is a website that will allow players to practice their skill in cattle management. The
proposed system is intended to provide a means for the player to monitor the nutrition of his/her
cattle, and feed his/her cattle through rations. The different ration types will have statistics
associated with them including: name, price, quality, and the average amount of weight gain
per day. The interface will allow players to browse through the rations and select how much of a
selected type they want to purchase. The rations will then be added to the players ration inventory,
assuming they had the required money. The player will then be able to feed their cattle with those
rations. When the player selects which ration to give each pen it is set as that pens feeding plan.
This feeding plan will stay in effect until either the player chooses a new one or the player runs out
of that ration. Feedlot Wars will automatically update the cattles weight and other health data
according to their current feeding plan once per game day.

2.2 Case Diagram

2
3 Specific Requirements
3.1 Use Case: 3.1 - View Pen Status
Description: The player receives a broad overview of vital metrics for each pen of
cattle.
Requirement(s): The player must manage at least one pen with at least one head of
cattle.
Assumption(s): The player is viewing the “Nutrition” page, “Animal Health” section.
Actor(s): Player
Scenario: The player shall be presented with a table reporting the pens type,
number of cattle, and average weight of the cattle. These statistics
are listed in rows identified by the pen number, which itself shall be
clicked to take the player to a separate page listing the vital statistics
for each head of cattle in the pen.
Alternate Scenario(s): N/A
Constraint(s): Priority: Required
Fault Tolerance:

1. The player manages no pens: The player shall be presented


with the same table described above, but with a single row with
the message “You have no pens” spread across all columns.

2. The player has a pen with no cattle: The affected row of the
table described above shall display the pen number and the
message “No cattle” spread across the remaining columns of
the table. The pen number shall be a disabled link.

Other Use Case(s): 3.2 - View Individual Cow Status

3.2 Use case: 3.2 - View Individual Cow Status


Description: The player receives every vital statistic for a specific head of cattle.
Requirement(s): The player must manage at least one head of cattle.
Assumption(s): The player has selected a certain pen from the list of available pens
located on the “Animal Health” section of the “Nutrition” page.
Actor(s): Player
Scenario: The player shall be presented with a sectioned list containing every
head of cattle belonging to the pen. Each section shall contain the
cows gender, weight, and meat quality.
Alternate Scenario(s): N/A
Constraint(s): N/A
Other Use Case(s): 3.1 - View Pen Status

3
3.3 Use case: 3.3 - View Ration Market
Description: The player receives a list of rations available for purchase.
Requirement(s): Rations must be available.
Assumption(s): The player is viewing the “Nutrition” page, “Purchase Rations” sec-
tion.
Actor(s): Player
Scenario: The player shall be presented with a table reporting only those ra-
tions available for purchase. Each row of the table shall contain the
following for each ration: name, coast per head per day, crude pro-
tein, roughage, concentrate, ADG, quality, and yield. The player
shall also be presented with a means to purchase rations listed in the
described table.
Alternate Scenario(s): N/A
Constraint(s): Priority: Required
Fault Tolerance:

1. No rations are available: The player shall be presented with


the same table described above, but with a single row with the
message “No rations available for purchase” spread across all
columns.

Other Use Case(s): 3.4 - Purchase Ration

3.4 Use case: 3.4 - Purchase Ration

Description: The player attempts to purchase a quantity of an available ration.


Requirement(s): Rations must be available for purchase.
Assumption(s): The player is viewing the “Nutrition” page, “Purchase Rations” sec-
tion. A ration is available for purchase, and the player has sufficient
funds to purchase the specified quantity.
Actor(s): Player
Scenario: The player shall be presented with a list of rations reported in the
table described in Use Case 3.3, a spinner to indicate the quantity
to purchase, and a button labelled “Purchase Ration.” The player
selects a single ration from the list of available rations, enters or
adjusts the amount to purchase, and clicks the “Purchase Ration”
button to complete the transaction. If the transaction is a success,
the page shall redirect to the “Feed Cattle” section of the “Nutri-
tion” page, which shall show the quantity of ration purchased in the
manner described in Use Case 3.5. If the transaction is not a success,
the player shall be informed of the nature of the failure.
Alternate Scenario(s): N/A

4
Constraint(s): Priority: Required
Fault Tolerance:

1. The player has insufficient funds to complete the transaction:


The transaction shall not succeed, and the page shall refresh
with the message “You do not have enough money to purchase
[quantity] units of [ration name]” adjacent to the “Purchase
Ration” button.

2. The player has not selected a ration from the list: The trans-
action shall not succeed, and the message “You must select a
ration from the list” shall appear adjacent to the “Purchase
Ration” button.

3. The player has not provided a non-negative integer for the


quantity to purchase: The transaction shall not succeed, and
the message “You must specify a valid, non-negative quantity”
shall appear adjacent to the “Purchase Ration” button.

4. There are no rations available for purchase: The list, spinner,


and button described in this use case shall be hidden, and the
message “There are no rations available for purchase” displayed
in their place.

Other Use Case(s): 3.3 - View Ration Market, 3. 5 - View Ration Inventory

3.5 Use case: 3.5 - View Ration Inventory


Description: The player receives a list of remaining rations that he/she has pre-
viously purchased.
Requirement(s): A quantity of rations must be previously purchased by the player.
Assumption(s): The player is viewing the “Nutrition” page, “Feed Cattle” section.
Actor(s): Player
Scenario: The player shall be presented with a table reporting only those ra-
tions left in the players inventory. Each row of the table shall contain
the following for each ration: the ration name, amount in inventory,
crude protein, roughage, concentrate, ADG, quality, and yield.
Alternate Scenario(s): N/A
Constraint(s): Priority: Required
Fault Tolerance:

1. The player has no rations in inventory: The player shall be


presented with the same table described above, but with a sin-
gle row with the message “You have no rations” spread across
all columns.

Other Use Case(s): 3.4 - Purchase Ration

5
3.6 Use case: 3.6 - View Current Feeding Plan
Description: The player receives an overview of the current feeding plan for each
pen under his/her control.
Requirement(s): The player must manage at least one pen, and must have at least
one ration available in inventory.
Assumption(s): The player is viewing the “Nutrition” page, “Feed Cattle” section.
Actor(s): Player
Scenario: The player shall be presented with a table reporting only those pens
with an active feeding plan. Each row of the table shall contain the
pen number and ration name assigned to that pen. The player shall
also be presented with a means to add or alter a feeding plan in the
described table.
Alternate Scenario(s): N/A
Constraint(s): Priority: Required
Fault Tolerance:

1. No active feeding plan exists: The player shall be presented


with the same table described above, but with a single row
with the message “You have no feeding plans” spread across
both columns.

Other Use Case(s): 3.7 - Change Feeding Plan

3.7 Use case: 3.7 - Change Feeding Plan

Description: The player attempts to add or alter an active feeding plan.


Requirement(s): The player must manage at least on pen, and have available ration
inventory.
Assumption(s): The player is viewing the “Nutrition” page, “Feed Cattle” section.
Actor(s): Player
Scenario: The player shall be presented with a list of rations reported in the
table described in Use Case 3.5, a list of pens that he/she manages,
and a button labelled “Update Plan.” The player selects a single
ration from the list of available rations, selects a single pen from
the list of available pens, and clicks the “Update Plan” button to
complete the transaction. If the transaction is a success, the page
shall refresh and display the altered feeding schedule in the table
described in Use Case 3.6. If the transaction is not a success, the
player shall be informed of the nature of the failure.
Alternate Scenario(s): N/A

6
Constraint(s): Priority: Required
Fault Tolerance:

1. The player has not selected a ration: The transaction shall not
succeed, and the message “You must select a ration from the
list” shall appear adjacent to the “Update Plan” button.

2. The player has not selected a pen: The transaction shall not
succeed, and the message “You must select a pen from the list”
shall appear adjacent to the “Update Plan” button.

3. The player has no rations in inventory: The two lists and but-
ton described in this use case shall be hidden, and the message
“You have no rations in inventory” displayed in their place.

4. The player does not manage any pens: The two lists and button
described in this use case shall be hidden, and the message “You
have no pens” displayed in their place.

Other Use Case(s): 3. 5 - View Ration Inventory, 3.6 - View Current Feeding Plan

3.8 Use case: 3.8 - Auto-Update Cattle Status

Description: The server updates the statistics of each head of cattle regularly
according to the instituted feeding plan for their corresponding pen.
Requirement(s): At least one head of cattle must be available.
Assumption(s): The player has a ration in inventory to satisfy an active feeding plan.
Actor(s): Server
Scenario: The server, by pen managed by the player, takes each head of cattle
and updates its weight, quality, and yield grade according to its ra-
tions. After all heads of cattle have been assessed, the pens morbidity
and mortality are updated.
Alternate Scenario(s):

1. The pen has no feeding plan: All heads of cattle belonging


to the pen shall be impacted negatively in terms of weight,
quality, and yield grade. The pens morbidity shall be updated
negatively as well.

2. The pen runs out of ration: All heads of cattle after the last
to be fed in the pen shall be impacted negatively in terms of
weight, quality, and yield grade. The pens morbidity shall be
updated negatively as well.

3. A head of cattle dies: The cow shall be removed from the game,
and the pens mortality shall be updated negatively as well.

4. The pen has no cattle: This pen shall be skipped by the server.

7
Constraint(s): Priority: Required
Fault Tolerance: N/A
Other Use Case(s): N/A

8
A Appendix A: User Interface
A.1 Use Case: 3.1 - View Pen Status
Normal operation.

9
The player manages no pens.

10
The player has a pen with no cattle.

11
A.2 Use case: 3.2 - View Individual Cow Status
Normal operation.

12
A.3 Use case: 3.3 - View Ration Market
Normal operation.

13
No rations are available.

14
A.4 Use case: 3.4 - Purchase Ration
Normal operation.

15
The player has insufficient funds to complete the transaction.

16
The player has not selected a ration from the list.

17
The player has not provided a non-negative integer for the quantity to purchase.

18
There are no rations available for purchase.

19
A.5 Use case: 3.5 - View Ration Inventory
Normal operation.

20
The player has no rations in inventory.

21
A.6 Use case: 3.6 - View Current Feeding Plan
Normal operation.

22
No active feeding plan exists.

23
A.7 Use case: 3.7 - Change Feeding Plan
Normal operation.

24
The player has not selected a ration.

25
The player has not selected a pen.

26
The player has no rations in inventory.

27
The player does not manage any pens.

A.8 Use case: 3.8 - Auto-Update Cattle Status


This use case has no associated user interface.

28
B Appendix B: Initial Tasks and Role Assignment
B.1 Initial presentation assignments
• Requirements - Cooper McClain

• Design - Matt Funk

• Final - Troy Huguet

B.2 SRS assignments


• Section 1 - Cooper McClain

• Section 2 - Troy Huguet

• Section 3 - Matt Funk

• User Interface - Troy Huguet, Matt Funk

B.3 Initial task assignments


• Background updates/database - Matt Funk

• user interface/interaction - Troy Huguet, Cooper McClain

29

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