Unformatted text preview:

CS211 - OBJECT-ORIENTED SOFTWARE DEVELOPMENTSemester ProjectDue Dates: See syllabus for due dates for each milestoneThis project is a semester-long project to be completed as a series of milestones, each building on its predecessor. You will work on it in teams of two students each, using “pair-programming” principles. (One team of 3 may be necessary depending on the total enrollment in the class.) Each milestone will be due on the date shown in the syllabus.Since each milestone builds on the previous one(s), we mauy use some time in class to discuss solutions to a milestone when it is turned in, and student submissions for each milestone may be posted or made available on the course web site so that you can get the benefit of your colleagues’ insights as well as your own when doing the next milestone. (Though the work you turn in for each milestone must be produced by your team, you may make use of ideas from any source from previous milestones as a foundation for working on each new milestone.) You will also find it very helpful to refer to the “ATM Example” systtem accessible from the course web page.Your mission - whether or not you decide to accept it1 - is to design and implement a system to satisfy the requirements listed below. You have considerable discretion in terms of the details of the user interface, etc., so long as your project fulfills the requirements as stated. Note that you are only required to implement a subset of the complete set of requirements, but your design should be such that implementing the full functionality would be straight-forward. Note, too, that you may be given some additions/changes to the requirements late in the semester. (Changes like this are typical of real software development projects.) A well-designed system will make incorporating these changes relatively easy.The final project grade will be based on grades for each individual milestone. At the end of the project, within 24 hours of the final due date, each team member must email the professor with an assessment of how pair programming worked (or did not work) for the team. This assessment may be reflected in the assignment of a project grade for each individual team member, which may be adjusted up or down from the grade computed from the milestones and quiz(zes), based on peer assessments here and in connection with iteration 3.Video Rental Store System RequirementsThe software to be developed is to be used by the manager and clerks of a store that rents both movies and video games. (Some functions will be available only to the manager. The system must provide some suitable mechanism to ensure that only the manager can access such functions.). To be able to rent from the store, a customer must provide his/her name, address, and phone number. A clerk enters this information into the system, and then gives the customer a card which contains a unique customer ID. The customer must present this card to be able to rent anything. Movie DVDs are rented for a specified rental period for a specified rental charge, and game disks are rented for a specified rental period for a specified rental charge. If a movie DVD is returned late, it is charged an extra rental charge for each rental period (or fraction thereof) it is late; likewise, if a game disk is returned late it is charged an extra rental charge for each rental period (or fraction thereof) it is late. (The rental periods and prices charged are established by management, and can be different for movies than for games.)1 If you don't get this touch of humor, go to your favorite (real) video store and rent "Mission Impossible" :-) .1DVDs and game disks available for rental are displayed in the store in their boxes. Each has a unique ID number. To rent one or more items, the customer brings it/them to a clerk, who enters the customer’s ID number from the customer’s card, and the DVD/disk ID number(s) from the box(es). When all have been entered, the system will calculate the total charge owed and the clerk will collect it from the customer. (A future improvement may use a bar code scanner to scan customer cards and DVD/disk ID numbers, but for now the system depends on the clerk typing the appropriate ID numbers.)DVDs and disks being returned can either be handed to a clerk, or they can be placed in a returns box in the store, or they can be inserted into a returns slot in the wall of the store if the store is closed. In any case, a clerk must enter the ID number of each DVD/disk that has been returned into the system. Of course, the clerk does not need to enter a customer id for returns - in fact, the customer may not even be present it the items are left in the return slot at night.The system must load data from disk at startup, and automatically save data to disk at shutdown. The system must ultimately provide the following functions. The ones marked M are performed by the manager; those marked C are normally performed by the clerks. (Note that the manager may also perform clerk functions if he/she chooses to do so.).1. Manage rental and return of movie DVDs and game disks. (C)a. Rent one or more DVDs and/or disks to a customer.b. Record the return of one or more DVDs and/or disks.c. Report the status of a specific DVD or disk (title, checkout status [ on shelf; rented - if so, to whom and when due; on hold - if so for whom ].)2. Manage list of customers (C and M as noted)a. Add a new customer (C)b. Modify information stored about a customer (C)c. Delete a customer. (M)3. Manage list of titles of movies and titles of games available for rental (M and C as noted)a. Add a new title (M)b. Delete a title (M)c. Respond to inquiries about a particular title - general information about it, plus whether a copy is available for rental now. (C)4. Manage inventory of individual DVDs / disks available for rental. (M)a. Add one or more newly acquired DVDs or disks.b. Delete a lost, damaged, or no longer needed DVD or disk.5. Manage records of outstanding late charges owed by a customer. ( C and M as noted) a. Add a late charge if a customer returns a DVD or disk late. (The customer may drop off returns without interacting with a clerk, so late charges incurred may have to be recorded now and collected the next time the customer comes in for a rental. However, if the customer is present it should be possible to collect the charge on the spot.) The charge is computed and added automatically when


View Full Document

Gordon CPS 211 - SEMESTER PROJECT

Download SEMESTER PROJECT
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view SEMESTER PROJECT and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view SEMESTER PROJECT 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?