requirements doc

advertisement
Sting Rays Software Project
Requirements Document
Roy O’Dell, Samantha Whay, Erin Wuepper
1
Index
Introduction ------------------------------------------------------------------------------------------------ Pg.3
Project Overview ------------------------------------------------------------------------------------------ Pg.3
Overall Description --------------------------------------------------------------------------------------- Pg.3-4
User Interface Requirements -------------------------------------------------------------------------- Pg.4-5
Network Requirements ---------------------------------------------------------------------------------- Pg.6-8
Input Requirements --------------------------------------------------------------------------------------- Pg.8
Output Requirements ------------------------------------------------------------------------------------ Pg.8-9
Non-Requirements ---------------------------------------------------------------------------------------- Pg.9
Assumptions ------------------------------------------------------------------------------------------------ Pg.9
Glossary ------------------------------------------------------------------------------------------------------ Pg.9-10
Appendix ----------------------------------------------------------------------------------------------------- Pg.10
2
Introduction
Purpose
This is a requirements document for a system for the YMCA swim team Swim Rays. The
system is designed to allow the placement of gift card orders for fundraising and the
tracking of all relevant information. This document is for Dr. Polack-Wahl, who will be
overseeing the project on behalf of the YMCA.
Scope
The requirements were given by Dr. Polack-Wahl. The design of the site is based on
http://www.shopwithscrip.com/. The entirety of the system will be hosted on Bluehost.
The software is being designed in order to help eliminate the current paper based
system the YMCA uses and to put it online for ease of access.
References
http://www.swimrays.org/, 9/25/2011 - The client’s website
http://www.bluehost.com/, 9/25/2011 - The web hosting provider
http://www.shopwithscrip.com/, 9/25/2011 - The example website that the project
is supposed to emulate in function
Project Overview
The remainder of this document will give an overall description of the project, the clients,
users and constraints. This will be followed by a list of system requirements the project is
supposed to fulfill grouped by function. Each requirement will contain a description, priority
according to the client and a tentative use case detailing how a specific requirement might
function. The use case may change as more progress is made on the project. There will then be
a list of non-requirements, things the system should not do, and a glossary of terms used in this
document.
Overall Description
Product functions
The project is supposed to function like the website http://www.shopwithscrip.com/. You
can order gift cards from the website and view all the orders made and who made them.
The website will not be used for the actual purchasing of gift cards online and is just
supposed to act as a database for orders and member information. The gift cards are
going to be used for fundraising purposes. The swim team purchases the cards from
their regular providers at a discount and sells them at regular price. The members of the
swim team can pay off their dues to the team through the purchase of these cards. The
project should allow the members and administrators to view the balance of what the
member owes and how much they have risen.
Client characteristics
The client is a representative for http://www.swimrays.org/, Dr. Polack-Wahl.
User characteristics
The users are members of the Stingrays swim team or representatives from their family
(i.e. parents for small children who are on the team). Their accounts must be approved
3
by an administrator before being able to log in. Some members may also be
administrators, in the case of Dr. Polack-Wahl as an administrator and her children also
swimming on the team.
General constraints
The project should be hosted on Bluehost. Besides this, no other constraints have been
specified at this time.
Requirements
User interface requirements
Requirements having to deal with how the system appears and interacts with the user.
REQ 1:
View Money Raised
Description and Priority:
The end user will be able to view a page which contains a list of their orders. This list will
have a section with the amount of money that the end user has accumulated for their
fundraiser. High Priority.
Preconditions:
User logged on to system.
Sunny Day Flow:
-The user clicks on a link on their account page called “order history”
-System takes the user to a page
-System gets all of the user’s order information from a database
-System calculates for each order using a predetermined formula the amount of money
raised
-System displays the detailed order information (Rainy Day i)
Rainy Day Flow:
i.) If the user has placed no orders, the system displays a message that the user has no
previous orders.
REQ 2:
View Money Owed
Description and Priority:
The end user will be able to view how much money they still owe on their order history
page. High Priority.
Preconditions:
User logged on to system.
Sunny Day Flow:
-The user clicks on a link on their account page called “order history”
-System takes the user to a page
-System gets all of the user’s order information from a database
-System checks to see which orders have been marked by an administrator as paid
-System calculates the total money still owed from all unpaid orders
-System displays the total owed (Rainy Day i)
4
Rainy Day Flow:
i.) If the user has place no orders, the system displays a message that the user has no
previous orders.
REQ 3:
View Cart
Description and Priority:
The end user will be able to view a list of their pending orders before confirming the
entirety of the order. High Priority.
Preconditions:
User logged on to system.
Sunny Day Flow:
-User presses a button on their account page for viewing their cart
-System takes the user to a page
-System gets all pending orders for that user from a database (Rainy Day i)
-User reviews order
-User presses button to accept the final order
-System stores the order in a database
-System takes the user to a receipt page
Rainy Day Flow:
i.) If the user has no pending orders, the system displays a message that the user’s cart
is empty
REQ 4:
Create Family Account
Description and Priority:
The user will be able to create an account for a family to track their own card purchases
and balance. High priority.
Preconditions:
The user is a member of the swimming team. This will be determined by an
administrator after the account is created.
Sunny Day Flow:
-The user navigates to the page on which a new account can be created.
-The user enters their family information, such as full names an e-mail address, and any
other contact information. At this time, the user also enters a password for logging into
their account. The username for the account will be the provided e-mail address.
-The user creates the account by clicking a button. (Rainy Day i)
-The user will be able to sign into the account once it has been approved by an
administrator. (Rainy Day ii)
Rainy Day Flow:
i.) If the user enters missing or incorrect information, such as mismatched passwords,
when the user tries to create an account an error message will be given.
ii.) If the user is not a member of the swim team, when the notification reaches the
administrator there will be an option to remove this user from the system and prevent
them from using the account to gain access to members-only areas of the site.
5
Network requirements
Requirements having to deal with administrator rights and privileges.
REQ 1:
View All Orders
Description and Priority:
An administrator will be able to view all the orders made from the website. Mid Priority.
Preconditions:
This system feature is only available to logged-in administrators
Sunny Day Flow:
-The administrator clicks on the “View Orders” link/button/tab located on their profile
page.
-The system will present them with a form with the option to view all orders
-They click on this link
-The system will present them with two charts with a list of orders, the members who
ordered them, the date they were ordered, the total value of the order (the total amount
the gift cards were worth), the cost of the order to the organization (how much the
organization must pay for the cards) and the amount made by the organization on the
order (the total value – the cost to the organization). One chart will be for orders that
have been paid for. The other will be for orders that have not yet been paid for. (Rainy
Day i)
Rainy Day Flow:
i.) If there has been no orders made from the website, the charts will be blank
REQ 2:
View Orders By Date
Description and Priority:
An administrator will be able to view all the orders made between two dates. High
Priority.
Preconditions:
This system feature is only available to logged-in administrators
Sunny Day Flow:
-The administrator clicks on the “View Orders” link/button/tab located on their profile
page.
-The system will present them with a form with the option to view orders by the date the
order was made.
-Clicking on this option will lead to two dropdown lists for the administrator to specify
from what date to what date they wish the orders to fall between
-The system will present them with two charts with a list of all orders that fall between
those dates, the members who ordered them, the date they were ordered, the total value
of the order (the total amount the gift cards were worth), the cost of the order to the
organization (how much the organization must pay for the cards) and the amount made
by the organization on the order (the total value – the cost to the organization). One
chart will be for orders that have been paid for. The other will be for orders that have not
yet been paid for. (Rainy Day i)
6
Rainy Day Flow:
i.) If there has been no orders made between the two dates, the charts will be blank
REQ 3:
Change Unpaid Order to Paid
Description and Priority:
An administrator will be able to change an unpaid order into a paid one. High Priority.
Preconditions:
This system feature is only available to logged-in administrators
Sunny Day Flow:
-The administrator views a list of orders (see View All Orders/View Orders By Date)
-The system generates a check box next to each order in the “unpaid” chart in a column
labeled “Paid?” (Rainy Day i)
-The administrator clicks on the box next to the order they wish to change
-The order is moved from the unpaid category into the paid one
Rainy Day Flow:
i.) If there are no orders in the “unpaid” chart, these check boxes will not appear
REQ 4:
Approve New Accounts
Description and Priority
The user, an administrator, will be able to moderate newly-created user accounts to
ensure that people who are not members of the swimming team do not create accounts.
High Priority.
Preconditions
The user is a logged-in administrator.
Sunny Day Flow
-The administrator navigates to a page where all pending notifications are listed.
-The administrator will have the option to confirm the newly-created accounts.
-The administrator accepts the account as belonging to a swim team member and the
account is approved so that the member can now log in. (Rainy Day i)
-A notification will be sent to the member to tell them that they now have access to the
account.
Rainy Day Flow
i.) If the account does not belong to a swim team member based on the administrator’s
own judgment, the administrator will reject the new account.
REQ 5:
Administrator Views Balance
Description and Priority
The user, an administrator, will be able to view the balances of all members of the swim
team. The balance is the amount that the member still must earn through fundraising,
as compared to the original amount that the member owed. High Priority.
Preconditions
At least one member must have placed an order.
7
Sunny Day Flow
-The administrator selects the member/family name from a list of all team members.
-The administrator is brought to a page that displays the balance information for the
selected member.
REQ 6:
Administrator Receives Notification
Description and Priority
The user, an administrator, will receive an e-mail notification when a new member
registers for an account or an order is placed for gift cards. Mid Priority.
Preconditions
The user is an administrator who has provided a contact e-mail address to the system.
Sunny Day Flow
-The administrator receives an e-mail notification which states that an order has been
placed or that a new member account has been created.
-This notification will contain a link to the site that will allow the administrator to take care
of these new events in the most convenient way possible.
Input requirements
Requirements on how the system handles input.
REQ 1:
Order Cards
Description and Priority:
The primary end user will be able to create an order with a certain amount of gift cards
and have the order stored by the system. High Priority.
Preconditions:
User logged on to system.
Sunny Day Flow:
-The user clicks on the card they wish to order
-System takes the user to a separate page for a card they clicked.
-User enters a quantity for the gift card.
-User presses button to place the order.
-System checks if the order is valid.
-System adds the order to a database. (Rainy Day i)
-System takes the user to a home page.
Rainy Day Flow:
i.) If the order is invalid, the system tells the user that the order is invalid.
Output requirements
Requirements on how output from using the system will function.
REQ 1:
Print Order
Description and Priority:
The end user will be able to print out their completed order in the form of a receipt. High
Priority.
8
Precondition:
User logged on to system.
User has placed one or more orders and has confirmed their order in checkout.
Sunny Day Flow:
-System will display the entire order and its details from a database (Rainy Day i)
-User hits a button for printing.
-System sends the order document to a printer
Rainy Day Flow:
i.) If the user had placed no orders, the system notifies the user that no order exists.
REQ 2:
Administrator Prints Family Balance
Description and Priority:
The user, an administrator, will be able to print the balances of individual members of the
swim team as a sort of receipt.
Preconditions:
The user is a logged-in administrator.
The user is currently on the page to view a member’s balance.
Sunny Day Flow:
-The administrator will click a button to print the current page.
-This will send a file to the printer that is formatted specifically for being printed (i.e.
does not contain any page images or decoration, with simple text formatting).
Non-requirements
NR 1:
Purchase Online
The web service will not be used for the purchase of gift cards. It will only function as an
online database for gift card orders.
Assumptions


The system will be a secure and encrypted web site for the safety of its users.
Some of the ways in which the use cases will be played out between the user and the
system
Glossary





Assumption: A condition that is thought to be true about the project without input from
the client
Non-Requirement: Something that the system will not do
Precondition: Something that must be true before a system feature can be executed
Priority: How important the requirement is to the client
Rainy Day Flow: How the system handles uncommon occurrences during the operation
of a requirement or handles errors
9



Requirement: A function of the system that the client has requested
Sunny Day Flow: How a requirement will function in a best-case scenario, when
everything works as planned.
Use Case: The interaction between a user and the software as the user performs some
system requirement.
Appendix
Roy O’dell wrote the requirements “Order Cards”, “View Cart”, “Print Order”, “View Money
Raised” and “View Money Owed”.
Samantha Whay wrote the requirements “Create Family Account”, “Approve New Accounts”,
“Administrator Views Balance”, “Administrator Recieves Notifications” and “Administrator Prints
Family Balance”.
Erin Wuepper wrote the requirements “View All Orders”, “View Orders By Date” and “Change
Unpaid Order to Paid”.
10
Download