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.

  1. The store purchases one or more copies of a rental title. Each copy is entered into VSS.
  2. A customer decides to get a John's Video account and gets an VSS account id.
  3. 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.
  4. The day before the items are due to be returned, VSS sends the customer a reminder by email.
  5. When the items are returned, VSS updates its records accordingly.
  6. If an item is late, VSS sends a late notice by email.
  7. 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):

VSS stores the following additional information for each rental item copy of a title (T-3)

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):

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: 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


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