CS 535 Object-Oriented Programming & Design
Fall Semester, 2001
San Diego State University -- This page last updated 28-Oct-01
DesignFest 1997 Non E-Commerce Video Store Problem by Doug Bennett.
Doug Bennett, Manning/Prentice-Hall, 1997. ISBN 1-884777-21-X
project is modified from the Doug Bennett's problem used in the 1997 OOPSLA
by Doug Bennett uses the same problem as an example. The book
is on reserve at Love Library.
of the Domain
Video Store rents videos to retail customers. The rental period and amount of
the rental varies with the time of week and the kind of video. They also rent
VCRs and game cartridges. They are considering moving into CD disk and player
rental, with digital audio tapes (DATs) another possibility. The store also
sells a variety of general merchandise such as candy, popcorn, audio tapes,
party favors, merchandise related to popular movies, and the like. Currently
ACME Video has only one store.
store keeps information on its members (customers) and uses the list for its
quarterly newsletter. When videos are overdue, they try to call the customer,
and if they cannot reach him or her, they send a letter. Late fees are charged
for overdue items.
sets limits on member activities, such as the maximum number of tapes that may
be held by one member before rental privileges are revoked, the maximum number
of tapes in a single transaction, and the maximum number of overdue items held
by one member before rental privileges are revoked.
store has a running bonus policy, such as every 12th tape rental is free, or
the second tape rented each month is free. These policies are created and
changed by management.
is looking for a system to help manage and control the financial aspects of the
business. They expect to add more stores in the future and would like any
system developed now to support additional stores. They would like to add
inventory control in the future.
system should support rental and check in operations and provide pricing of the
should track member financial activity and track current rentals outstanding
and over due items held by members.
system should track daily income, video returns, and overdue videos, at minimum.
check in and check out of rental items, handle logging and reporting of rental
real-time financial information.
flexibility in quickly implementing pricing plans and promotions.
that Actors in the Domain Can Play
The sales clerks answer customer questions and check out the videos and other
items the customers are renting. They are also responsible for making calls
about overdue videos.
The manager is responsible for tracking the performance of the store and the
inventory of rental items. The manager makes the decisions about which items to
add to the store, which to remove, and how to price and promote those items.
The manager sets the various pricing policies used in the store.
Case Names and Descriptions
Sales Clerk Use Cases
Query inventory for a title (or actor or director). Clerk requests "Find" and
fills in one or more of the following fields: title, actor, director. The
system searches the inventory for a match. The list of matching items is
displayed with an indication of how many copies the store has, whether any are
in stock, and whether they are reserved.
Open membership. Clerk requests new member and enters the information into the
system. The system verifies that the person is not a current or canceled
member. It also checks to see if anyone else at the member's address is a
current or canceled member. The clerk enters credit verification information.
The system prints a membership card. The system creates an account for the new
Rent a tape in person. The clerk presses the "Rent" button and scans, or enters
the item ID by entering the bar code number into the screen.
The system verifies that the item is on hand. If present, the system prompts
for the customer's name. The name is verified as being a member and as not
having exceeded any of the limits (maximum videos out, money owed, number of
overdue items, etc.). If the name is not in the member list, the system prompts
for "New Member" information: name, address, phone, and driver's license or
credit card ID. The system determines the due date. Acceptable responses
include a number of days or a date. The amount is shown for that item.
the item is not present, the system indicates that the item is loaned out (and
when it is due back), or that it is not carried.
each item is entered, the system checks to see if a special applies. If it
does, the modified price is shown and a message indicating which special was
used is shown. There is a prompt for another item. Other items may be entered
or "Total" pressed. The price and tax are shown. Clerk enters cash tendered, or
credit card, and the system shows the required change. Two copies of a receipt
are printed and the transaction is recorded by the system. When the clerk
enters "Done," the inventory and cash drawer are updated.
Return a tape. Members return items to the desk, or for CDs and videos, may
drop them off in the return box outside the store. The clerk enters the
"Return" mode. The clerk enters the bar code on the item. As soon as it finds a
match, the complete item identification and member identity are presented.
item is marked returned and is returned to the storage shelf. The system
updates inventory and the customer's activity status.
the tape is late, a late charge is calculated and displayed. The clerk may ask
the customer for the late fee and receive payment. The clerk selects payment,
enters cash tendered. System shows change and updates the cash drawer content.
If the customer is not there, the clerk indicates "Not Paid" and the system
adds the late fee to the member's account.
Verify membership. The clerk asks to verify a membership. The clerk enters the
customer's name. The system checks to see if the name is a current member. If
one or more members with the entered name are found, the systems presents the
names and addresses to the clerk. The clerk may select one of the presented
customers as the current customer.
the customer has any outstanding rentals, overdue items, or money owed (from
fines), the system will indicate the number and maximum past due time on the
Request list of overdue items. At least once per week, a clerk will request a
list of overdue items. The list consists of the name, address, and phone of the
member, the overdue items, and when they were due. The list may be printed out,
or the clerk may select customers and the system will write a reminder letter
for each customer selected, including the items due and when they were to be
Manager Use Cases
Request daily or weekly activity summaries. An operator with administrative
permission may request activity summaries. These reports give the dollar income
and number of rentals for each of the items selected for the specified time
period. The user may specify items by name, director, artist, type of item, or
all items. Member activity may be requested by individual member or by time
period. Time periods may be specified as a single date, or week. The report may
be selected as summary or detailed. Summary gives a single value for each type
of item selected. A detailed report gives values for all items included in the
Administer members. Clerk requests "Members." Clerk is prompted for member's
name. Clerk enters name and is presented with a list of members with that name,
showing name, address, and family members. Clerk may select one of the names.
System presents detail of member information, including tapes out, overdue,
money owed. Clerk may change any personal information: address, family members
that may rent, phone, or credit card info. (Only a manager may alter the
account information). Clerk may select "New," in which case the system presents
a blank member data screen. Clerk fills information and saves it. That member
may immediately check out videos.
Administer member rental limits. A manager requests "Rental Rules." The system
presents the current rules and limits. The rules have the form of setting a
limit on the value of variables. The variables include the number of items
rented, number of overdue items held, the longest overdue period, money owed,
and the maximum items in a single rental. If no values are provided, the limit
is not applied.
Request member activity. A user with administrative permission may request
reports at any time. The system presents a list of available reports. The user
selects "Member Activity." The system prompts for member name or ID and the
time period. For the indicated member the system retrieves and presents
information on the member, the number of rentals made in the last month, the
number of videos currently held, the number overdue, the longest overdue
period, and the rental fees paid in the last month and since he or she became a
Administer specials. A manager may select "Edit Specials." The system presents
a list of the names of current specials. User may select one to edit, remove,
or create a new one. Each special has a name and a rule for calculating whether
it applies. Specials are defined as calculations and relationships between a
number of predefined variables. Those variables include the day of the week,
the base price, the number of items being rented, and the number of items
rented in the current month by the customer.
Content Overdue Report
Town, NY 10234
will only be made to people who are signed up as members
will only be accepted as members who have provided adequate identity and credit
will be denied to anyone with an outstanding balance of $20 or more.
a manager may change pricing or member policy
visitors since 28-Oct-01