ICS 52, Fall, 2008
Official Requirements Specification -- Oct. 27, 2008
Later changes in blue
1 Introduction
This document specifies the Official Requirements for the
VSS system, and should serve as the basis for a further
development of the system.
The VSS system is designed to assist in the management of
a small chain of video rental stores.
All information was accurate at the time of writing.
This document details 38 discrete, atomic requirements.
Each is labeled with an identifier in boldface type (e.g. A-1)
for easy reference elsewhere in this document and in subsequent system
development.
In places where the user interface is incompletely specified, the
powers that be are relying on the implementers to devise a user
interface that is pleasing and easy to use and is in accordance with all
listed requirements.
This document contains the following Sections:
2) User Requirements Definition - This section is designed for the
non-technical reader. It describes the major features of the system
and the rationale for each one.
3) System Requirements Specification - This section identifies the objects that
make up the system and inter-relationships between them. It has been
written so as to providee enough detail for the technical design to be
produced.
4) Constraints and Non-functional Requirements - This sections
contains the current constraints on the system.
5) Implementation Phases
6) Future Directions and Expected Changes - Although speculative, this
section is a key way of influencing the product currently being
developed so that it can better respond to situations in the future.
2 User Requirements Definition
John Enterprises owns three John's Video stores
and is planning on expanding
to additional stores in the same city.
Each store has an inventory of several thousand VHS tapes,
DVDs, Blu-ray disks, and other products for sale or rental.
Together the stores have several thousand card holding members.
On average, each store rents out 3,000 to 4,000 items a month.
The primary goal of the VSS system is to facilitate the
tracking and analysis of rentals. VSS will maintain
information about each video (VHS, DVD or Blu-ray format) and game, including
its rental history. Staff will be able to quickly search
these records to determine whether a copy is in the
inventory and/or currently rented out.
VSS features powerful and flexible reporting; for
instance, it can list the top 10 most popular items so
far this month, and can also identify titles for which
the store has too few or too many copies.
VSS also tracks customer rental patterns.
VSS is used only by store staff.
3 System Requirements Specification
3.1 Overall Operation
The VSS system supports the following typical cycle of events.
- The store purchases one or more copies of a rental title.
Each copy is entered into VSS.
- A customer decides to get a John's Video account and
gets an VSS account id.
- A customer selects one or more rental items to rent.
VSS computes the total price, based on attributes of the
customer and the rental items, and including any late fees and
discounts.
- The day before the items are due to be returned, VSS
sends the customer a reminder by email.
- When the items are returned, VSS updates its records
accordingly.
- If an item is late, VSS sends a late notice by email.
- At any point, store staff and management can access a
wide range of VSS reports, helping them "keep a finger
on the pulse" of the business.
All information about all stores is available on the
computers at all stores (F-1).
VSS maintains an internal system date. When the system
is started every morning, a staff member enters the
system date (F-2).
VSS has no log on or security system (F-3).
Information entered by staff and internally generated by
VSS is automatically saved to disk as necessary.
The staff never needs to select a "Save" function (F-4).
3.2 Titles and Rental Items
The term "title" is used to refer to a product such as a
rentable VHS tape, DVD, Blu-ray disk, or Xbox computer game. (Currently
the store only carries Xbox games, but plans to soon
stock other formats.)
The format is important: King Kong on VHS and
King Kong on DVD are two different titles, as are
the 1933, 1976, and 2005 releases of King Kong.
A "rental item" is a specific copy of a title. The store
may own multiple copies of the same title.
A title can have one of three pricing codes: New,
Classic, or Discount (T-1). This is used to determine
the cost and duration of a rental.
VSS stores the following information about each title (T-2):
- The title ID, an eight character field that uniquely
identifies the title.
- The movie or game name.
- Any number of names and roles. For example, "Peter Jackson,
Director, Producer, Screenwriter" or "Naomi Watts, Actress".
- The title's genre or genres (e.g. Comedy, Action).
- The title's rating.
- The format (currently VHS, DVD, Blu-ray or Xbox).
- Pricing code.
VSS stores the following additional information for each rental
item copy of a title (T-3)
- The bar code, a 10 character field that uniquely identifies
the copy.
- The store (current stores are West Village, Oaks, and
Broad Pines).
- If currently rented, the customer's account number and the date due back.
- When pertinent, an indicator of why the copy has been removed from
rentable inventory (e.g. damaged or not returned).
3.3 Customers and Accounts
Each store customer (or family) has an account number. Customers are
issued cards with their photo and account number, but if
a customer does not have his or her card at the time of
renting, the account can be looked up based on name or
phone number. See R-2 for details.
Each account is rated Premium, Silver, or Gold.
The rating is based on the account's activity.
New members start off as Premium.
After three consecutive months of renting more than 10 items per month,
or two consecutive months of renting more than 15 items per month,
or one month with more than 30 items rented, a Premium member
becomes Silver.
A Silver account becomes Gold after 25 additional items are rented (over
any time period).
VSS automatically updates an account's rating at the time
of the first rental after the volume level is achieved (C-1).
VSS stores the following information about each customer account (C-2):
- The account number, a six character field that uniquely
identifies the account. Multiple members of a family can use
the same account. Despite its name, this field can include letters.
- The phone number of the person or family. Includes area code.
- One or two last names associated with the account.
- The first name of each person in the family.
- The address of the family.
- The email address of the family.
- The account rating (Premium, Silver, or Gold).
- The account's transaction history.
- Currently rented items.
- Outstanding overdue charges, if any.
- Information about whether the account has been closed by the
customer (e.g. because of a move) or by management (e.g.
for inactivity or unpaid fines).
Valid data must exist in all fields at all times.
The phone number, first last name, address, and email address fields
cannot be empty (C-3).
Closed accounts stay on VSS's records, but cannot be
used to rent items.
3.4 Pricing
VSS computes the cost and due date of a rental based on
each item's pricing code, the customer's rating, and the
number of items being rented (P-1). This table shows the
current prices and lengths of rental:
|
| Premium
| Silver
| Gold
|
| New
| $6.00, 2 days
| $5.40, 2 days
| $4.80, 3 days
|
| Classic
| $3.00, 7 days
| $2.50, 7 days
| $2.00, 7 days
|
| Discount
| $2.00, 7 days
| $1.50, 7 days
| $1.00, 7 days
|
These prices will inevitably change in the future.
Currently, movie and game formats are all rented at the same
rates and for the same durations, but that is likely to change as well.
When a Silver customer rents three or more items on the same day,
there is a 50% discount for the third and all subsequent items.
The same applies for Gold customers for the second and all
subsequent items. The 50% discount is applied to the least
expensive items. The discount does not apply if the customer
has any items overdue. (P-2)
The overdue rate is 5% of the rental cost for any part of each
day overdue. The rate is rounded up to the nearest nickel.
Gold customers have five grace days, where no overdue charge is
made, per calendar month. Overdue charges must be settled
before any additional items are rented for Premium customers.
Silver and Gold customers may pay overdue charges up to a month
after the late item was originally due; after that point they
may no longer rent items without settling the overdue charges. (P-3)
When a rental is for a certain number of days, that means the item
is due back at midnight (the end of the day) that many days after
the item was rented. For instance, if an item is rented on Monday
and is due back in 2 days, then it is due before the end of the day
on Wednesday.
3.5 Email to customers
VSS sends a customer an email the day before an item is due (E-1).
A customer with multiple items due on the same day receives
only one email. Although the format and wording may change,
it presently should look like this.
Dear Jones Family,
This is a friendly reminder from the Broad Pines branch
of John's Video stores that you have the following
rental items due tomorrow, June 28:
War and Peace
Love and Death
Bonnie and Clyde
Drop them off at our convenient drive through "Hungry Hippo,"
or bring them in and chat with our knowledgeable staff
about your next rentals.
Sincerely,
John, Your Friend in the Rental Business
VSS also sends emails to customers with overdue items (E-2).
These emails are only sent on the third, sixth, ninth, etc.,
day that an item is overdue, and again one email refers
to all overdue items. The current format is:
Dear Jones Family,
We've been missing you!
Don't forget that you have the following overdue items
rented from the Broad Pines branch
of John's Video stores:
It's Never Too Late
Late Bloomer
The Late George Apley
Drop them off at our convenient drive through "Hungry Hippo,"
or bring them in, settle up, and chat with our knowledgeable staff
about your next rentals.
Sincerely,
John, Your Friend in the Rental Business
3.6 Reports and Queries
An important aspect of VSS is the many reports and queries it provides
to store staff and management. All reports show on the computer monitor.
If there is more information than can fit on one screen,
then the report area should scroll (R-1).
The distinction between a report and a query is not clear cut,
but usually a report has an analytical aspect, while the goal
of a query is to find a certain piece of information.
Customer Query
(R-2)
This query brings up a customer's record (including all rentals
from the past three months,
displaying title name, dates rented and returned, and price of rental),
based on entering the account number,
the phone number, or the last name. If more than one record
matches the information entered (for example, two roommates with
different accounts use the same phone number), then all
matching accounts are displayed.
Title Query
(R-3)
Staff use this query to determine whether John's Video stocks
a video or game a customer is looking for, and if so which
stores have unrented copies.
The staff member specifies part or all of the title and part or
all of any names of the director, actors, or other people
associated with the title, and VSS displays a list of
all matching titles, in order by closeness of match.
Popular Title Analysis
(R-4)
This report shows, for each store, a list of the ten most
popular titles in each category (VHS, DVD, Blu-ray, Xbox) over the
past 30 days. For each title, the number of days rented
for all copies is displayed.
Number of Copies Analysis
(R-5)
The purpose of this report is to help management identify titles
of which the store owns too few or too many copies.
This report can be run for any time period.
The report has two parts.
The first part displays all titles for which all copies were
rented out on at least one day in the time period.
Titles should be displayed in order of the number of days in
which all copies were rented out, from most to least.
In the report's second part, titles which had at least one
copy unrented on every day of the selected time period are
displayed. The order is from most unrented copy days to
least. (An "unrented copy day" is one copy unrented for one
day; if three copies of King Kong are unrented for one
day, that counts as three.)
Dormant Customer Report
(R-6)
This report lists customers who have not made any rentals in
the last three months. The report separates Premium, Silver,
and Gold customers; within each category customers are
ordered by account number.
Overdue Rentals and Fines Report
(R-7)
Staff use this report to identify customers who have
rentals more than one week overdue, as well as customers
who have returned all overdue material but have outstanding
(unpaid) overdue charges.
For each selected customer, the report should shown the
phone number, email address, and detail, including rental and
return or due dates, of the rental items
that are late or have unpaid charges.
3.7 Accessing VSS through the Graphical User Interface
Staff users of VSS can perform the following functions:
- Enter a new title and associated rental items into the system.
Any of the information described in Section 3.2 can be entered. (S-1)
- Modify any information (except history) about existing titles and rental items.
If a rental item is removed from inventory or is lost, it is flagged
as such in the computer, but the computer record is not deleted. (S-2)
- Enter a new customer account into the system.
Any of
The information described in Section 3.3 can be entered. (S-3)
- Modify any information (except history) about existing customers.
This includes closing an account (in
which case the computer record is not deleted). (S-4)
- Send out "rentals due soon" notices by email. This functionality
is always initiated online by staff. Once the emails have been sent,
VSS displays the number of sent emails. (S-5)
- Send out "overdue" notices by email. This functionality
is always initiated online by staff. Once the emails have been sent,
VSS displays the number of sent emails. (S-6)
- Change the text of either email notice. (S-7)
- Run any of the reports listed in section 3.6. This typically
includes entering search or date range parameters. (S-8)
- Compute rental pricing: a customer account number and
one or more rental item
bar codes is entered, and VSS generates a total charge amount.
The individual charges for each item should also display, and discounts should
appear as separate line items.
Overdue charges, if any, are also added in as a separate line item.
(S-9)
After the transaction with the customer is completed, there are
three possible outcomes, one of which the staff
member easily indicates to VSS (e.g. by clicking on a button):
- The customer pays the total amount, and VSS updates its
records appropriately. (S-9a)
- The customer is a Silver or Gold and does not pay the late
charge, and VSS updates its records appropriately. (S-9b)
- The customer does not rent the items, and no change is made
to VSS's records. (S-9c)
- Rental returns: when a rental item is returned, the bar code
is entered and VSS's records are updated accordingly (S-10).
If the item is overdue and the customer pays right away, that
can be indicated to VSS (S-10a).
A customer paying a late charge
(see S-9a and S-10a) can also pay part of the late
charge (S-10b).
- Change the rates and durations of rentals, as well as overdue
charge amounts. (S-11)
- Enter the system date (see F-2). (S-12)
The GUI will be based on one or more standard operating system windows
and dialog boxes, utilizing menus, buttons, hot keys, and other
standard user interface elements (S-13).
It should be organized in an intuitive and easy to use manner.
3.8 Conversion of existing data
John's Video has an up-to-date list of customers and inventory
on the computer in text format. This list may not include all
information maintained by VSS.
To initialize the VSS system, this data should be read in
before other VSS operations commence. (X-1)
4 Constraints and Non-functional Requirements
Reports specified in section 3.6 should take no longer than
five seconds to display on the screen.
The customer and title queries should appear in under one second.
5 Implementation Phases
An operational system is desired before Finals Week, December, 2008.
The first phase, which should be achieved in this time frame,
should operate on a single computer at the West Village store.
(Although inventory from other stores may be in the system.)
In the first phase, the email functionality described in
(E-1) will be replaced by a report on the screen that
shows the contents of the email messages.
Also, the Number of Copies Analysis (R-5) will be
implemented in a later phase.
6 Future Directions and Expected Changes
- John's Video will start renting out a wider range of products,
including game consoles.
- John's Video will allow customers to select a "flat rate" plan,
where any number of items can be rented for a fixed monthly fee.
- A version of the Title Query will be available over the
World Wide Web.
- Staff will each be issued a log-on and password, and
different staff will have access to different areas of
functionality.
7 Acceptance Test Plan
The Acceptance test plan will demonstrate that the implemented system
completely fulfills the requirements stated in this document. It has
the following features.
8 Glossary