Team Project CSC481
Software Engineering
Spring 2002
PROJECT: VIDEO STORE
1.1.Overview (pp) 3
1.2.Customer (jj) 3
1.3.Goals (tw) 3
1.4.Constraints (ad) 3
1.5.Functions (jl) 4
1.6.Attributes(tm) 4
1.7.Feasibility 4
1.8.Environmental Diagram (jl) 5
5
1.9.Typical Course of Events 5
1.10.Diagram(jl) 6
6
1.11.Register Customer (pp) 6
1.12.Query (tm) 7
1.13.Rent Video (tw) 8
1.14.Check For Late Fees (ad) 9
1.15.Return Video (jj) 9
4.1.Rent 11
4.2.Return 12
4.3.Querry 13
4.4.Register New Customer 14
14
5.1.Rent 15
5.2.Return 16
5.3.Querry 17
5.4.Register New Customer 18
Jim Lynch (jl) – Pramit Patel (pp) – Joicey Johnson (jj)
Tanya Mejia (tm) – Ty Williams (tw) – Amit Dhyani (ad)
The software package is being developed shall allow for vastly superior efficiency and ease-of-use for rental operation in a video store. The package will optimize the store’s rental operations to surpass those of competitors and satisfy customers in renting and returning material.
"TOROS” video store is our customer. This video store services the student body at CSUDH.
To create a rental system that shall be efficient and reliable.
Acquire new customers at CSU Dominguez Hills of all ages.
Customer will be issued a card which clerk will swipe for account information.
Rent, Return, and check for late fees
Affordable and Popular DVD/VCR rentals for customers
Bar Coded Movies
Customer can only get two more cards for family members.
Customer can only rent five videos at one time.
Customer must pay overdue fees before they can rent another video.
Video store has room to hold only 10,000 movies at one time.
Customer must have two forms of I.D when registering as a new customer.
Customer must have a credit card entered in the system in order to rent videos.
After the video has been checked out, the customer has two days to return it.
Video store must have at least two employees working at any given time.
Video store hours are 9 a.m. to 8 p.m.
scanners: readcusID() readviID()
kybrd: rentkey() returnkey() registerkey() querykey()
rentalSystem: registerCustomer() query() getcusID() getvidID() getcusAccount() updateRecordsrent() Return() createAccount() matchVideo() displayVid()
rental system: vidID cusID
scanner: vidID cusID
videoFile: vidID vidTitle renter cost
cusFile: cusName cusID charges latefees rent1 rent2 rent3 return1 return2 return3
The functions and attributes defined can be implemented with in the cost and time constraints. The major problem with video rental systems is they do not provide the employees with simple transactions. The new rental system will provide a user-friendly interface, an easy to use menu option screen, and furnish information about customers in timely manner. The direct contribution of the proposed system will result in more business for the video store and minimal time and cost expenses on training employees to use the system
A customer comes into the store. If they do not have an account we can register them and issue them a card. Then they can search for a video, rent one or return one.
If a customer cannot find a video on the shelf, the clerk can search the store records to see if we have that video, and if so, what is the status of that video.
Once a customer makes a selection, the clerk scans their store ID and the video. The customer account and the video records are updated, and the customer is given the charges.
When a video is returned the clerk scans the video, the records are updated (including late fees if applicable), and the video is set to return to the shelf.
Actors: Clerk
Purpose: Add new customer to system to allow renting of videos
Overview: Clerk will operate system while customer gives account information. System remains idle in main menu, consisting of Register, Rent, Return, and Check for late fees. Clerk will select from main menu to register, and will submit customer information. Then the system will add this customer to the video store, and the new customer can now rent videos.
Actor Action |
System Response |
|
|
|
|
|
|
|
Alternate Course:
|
System: Video Store Information System
Use Case: Query for video
Actors: Customer, Employee
Purpose: To search the rental system for a video.
Overview: The Employee depresses the number three on the keyboard, which corresponds to the menu option; Query for video. The employee enters the video title into the rental system. The rental system then performs a search of this video title. If a video is found in the system, the rental system screen will display the video title, video Identification number, and customer identification number of the individual who is currently renting the video. If there is no such, video in the rental system, the rental system screen will display the message that no such video exists.
Actor Action |
System Response |
|
|
|
|
|
|
|
|
|
|
Alternative courses
Displays a message indicating that under the customer specifications the store does not carry the video.
Use Case: Rent Video
Actors: Customer, Clerk
Purpose: To rent video to customer.
Overview: The customer comes to Clerk with selected video of their choice. Clerk scans membership card (by default will report any late fees or non-returned videos) followed by entering the #4 key (which is the option for rent). After entering the rent option, the system will ask Clerk to scan bar code on the DVD/Video package. System will then attach the rented item to the customer’s account, and assign a return date/time, and is removed from the inventory with a Rented/Checked out status. After check out complete without any problems system refreshes to main menu of system. Enter 1 to exit.
Actor |
System Response |
|
|
|
|
|
|
|
|
|
|
Alternatives: System can display message saying customer has Video/DVD that is not returned/past due and cannot rent new videos until they are returned or received. Membership card expired needs to be renewed, if money owed.
System: Video Store Information System
Use Case: Check for late fees
Actors: Customer, clerk
Purpose: To check for late fees on overdue rented videos.
Overview: After the customer drops off the video either during regular store hours or in the bin and it is inputted into the VSIS, the system will timestamp the day and time when video was returned and check to see if a late fee should be charged or not.
Actor Action |
System Response |
|
|
|
|
|
|
|
|
|
|
After the video has been checked out, the customer has two days to return it.
System: Video Store Information System
Use Case: Return Video
Actors: Clerk
Purpose: To return video
Overview: The customer drops off the video to be returned. The clerk inputs the video number into the system and the video is identified as returned
Actor Action |
System Response |
|
|
|
|
|
|
|
|
public class cusFile
{ private String cusName = initval;
/** Customer ID number **/
private Integer cusID = initval;
private Double charges = 0;
private Double latefees = 0;
private Integer rent1 = 0;
private Integer rent2 = 0;
private Integer rent3 = 0;
/** return date of video1 */
private Date return1;
/** * return date for video2 */
private Date return2;
/** * returnd date for video3 */
private Date return3;
/** * @roseuid 3CD6C44202AE */
public cusFile()
{
}
}
public interface scanners
{ /** * ID scanned from customer ID card */
private Integer cusID = 0;
/** * ID scanned from video */
private Integer vidID = 0;
/** Scanner reads customer ID
* @param cusID
* @roseuid 3CB4B0510028
*/
public void readcusID(Integer cusID);
/** Scanner reads video ID
* @param vidID
* @roseuid 3CB4B0B70096
*/
public void readvidID(Integer vidID);
}
public class videoFile
{ /** ID scanned from the video */
private Integer vidID = 0;
private String vidTitle = initval;
private Integer renter = 0;
private Double cost;
/** @roseuid 3CD2F0E90008 */
public videoFile()
{
}
}
public class rentalSystem
{ /** * Video ID scanned by */
private Integer vidID;
/** * The customer ID scanned from ID card */
private Integer cusID;
public rentalSystem()
{ /** * @roseuid 3CDA994F00B2 */
}
public void registerCustomer(String cusName, Integer cusID)
{ /** * @param cusName * @param cusID
* @roseuid 3CB365EA0276 */
}
public videoFile query(String title)
{ /** * Look up movie for customer
* @param title * @return videoFile
* @roseuid 3CB36821001E */
return null;
}
public Integer getcusID()
{ /** * @return Integer * @roseuid 3CB4B4690014 */
return null;
}
public Integer getvidID()
{ /** * System gets video ID from scanner
* @return Integer * @roseuid 3CB4B5670334 */
return null;
}
public cusFile getcusAccount()
{ /** * Gets customer information
* @return cusFile * @roseuid 3CB4B5F300A0 */
return null;
}
public void updateRecordsrent()
{ /** videoFile.renter = c_id
cusFile.charges = videoFile.cost + cusFile.latefees
cusFile.rented1= v_id
cusFile.return1 = current date + 2
* @roseuid 3CB4B7FF01E0 */
}
public void Rent()
{ /** * @roseuid 3CB4BA3502C6 */
}
public void displayCus(int cusFile)
{ /** * Displays the Customer File.
* @param cusFile* @roseuid 3CBC00A9003C */
}
public void updateRecordreturn(int argname)
{ /** * cusID = videoFile.renter
* videoFile.renter = 0
* customer.latefees += (currentdate - returndate) * 5
* //if current date is not less than return date
* customer.rent = 0
* customer.return = 0
* @param argname
* @roseuid 3CBC04FB024E */
}
public void Return()
{ /** * @roseuid 3CBC08570294 */
}
public void createAccount()
{ /** * Get and input customer information
* @roseuid 3CBC0A090384 */
}
public videoFile matchVideo(String title)
{ /** * System searches the files for a matching string (video).
* //Sample code
* for(int i = 1; i<file.length;i++)
* { if(string = title)
* return vidfile(i);
* }
* @param title * @return videoFile
* @roseuid 3CBC0B470140 */
return null;
}
public videoFile displayVid(String title)
{ /** Displays the Video File. * @param title
* @return videoFile * @roseuid 3CC532FC0230 */
return null;
}
}
public interface kybrd
{ /** * @param four * @roseuid 3CB36B320050 */
public void rentkey(int four);
/** * @param argname * @roseuid 3CB36C08003C */
public void returnkey(int argname);
/** * @param argname * @roseuid 3CB36C3E0186 */
public void registerkey(int argname);
/** * @param argname * @roseuid 3CB36C7F008C */
public void querykey(int argname);
}
CSC481
Semester Project: Video Store Page