Answered You can hire a professional tutor to get the answer.

QUESTION

The OOP document is the requirement for over all project.

Need help creating a finished code in net beans for a media rental management system. The OOP document is the requirement for over all project.

  • Attachment 1
  • Attachment 2
OOP Project DescriptionRequirements:You are to design and build software media rental system. The software will trackeach user’s account with its rentals. A user can rent multiple media of differenttype/genre and all that user’s rentals are managed under their account (singleaccount per user). A user will be assigned a unique account id by the system and hisfirst name, last name, and email address will also be stored at account creation.There will be ability to update the user’s name and email address but not theaccount id.The software needs to be able to track different accounts, but the software shouldonly load and actively manage one account at a time. There should be the ability tosave account information to a file, re-open it later (one account per file using XMLformat), and delete the account (delete file with account information). The accountid will be used as part of the filename to save, lookup to open, and delete account.There can be an account without any media rented.There are 3 types of media that can be rented: Movie DVD, Music CD, and AudioBook CD. The company only rents certain genre of each media, shown in the tablebelow. All media have following characteristics: media id (integer), title (String),year published (integer), file size in megabytes (double), rental end date (Calendar),and rental fee (Double). Audio book also has number of chapters (integer) andMusic CD the length in minutes.Media TypeMovie DVDMusic CDAudio Book on CD GenreRomanceDramaDocumentaryCountryClassicalMemoirSciFiRomance So for example, a user would rent a specific media such as a movie DVD of genreRomance with title “Love”, media id 100005, etc. Rental fee needs to be calculated atthe time the rental is added to the account and the calculated fee should be stored inthe rented media’s attribute.Every media has a price to rent based on a 2 week rental. The following rules showhow to determine the rental price. 1. Movie DVD rental has a flat fee of $3.50 for movie published within currentyear and otherwise a flat fee of $2.00. So for example if the DVD waspublished this year, it would cost $3.50 to rent for two weeks but if publishedlast year, it would cost $2.00. However, Drama and Romance media has anadditional fee of $0.25 added to the price so for documentary the aboveexample would be $3.75 and $2.25 respectively.2. Audio Book rentals are a little more complex. The rental price is calculatedby multiplying the number of chapters * 0.10 and adding a $1 if the AudioBook was published this year. So if the Audio Book was published this yearand the size is 20 chapters, the rental would cost $3.00 (20 * 0.10 + 1) and ifit was published 2 years ago, it would be $2.00 to rent.3. Music CDs are even more complicated because they depend of the type ofmusic being rented. So classical rentals are calculated based on the file size *0.015 and additional fee of 1.00 if published this year. Country music rentalare calculated based on the file size * 0.02 and additional fee of 1.00 ifpublished this year. So a classical music rental of size 114 MB published thisyear would cost $2.71 (114 *0.015 +1) and country music rental of 114 MBpublished this year would cost $2.28 (114 *0.02).There also needs to be ability to add a media to the account, and delete media fromthe account. When a rental expires, it can be renewed for another two weeks.Here is a scenario how this system should work in a real business:Imagine there are media boxes on the shelf in some rental place. So a customer comesin and gets some boxes of the rentals they want to get. They go up to the cashier and ifit is their first time, an account will be created for them in the system. They will need toprovide their first name, last name and email address that will be inputted by thecashier into the new account being created. The system will generate an account id forthis user and cashier will give that information to the customer.Then the cashier will scan each box for the media information, which will create themedia object in the system. That object will be added to the account. The cashier willrepeat for each media box to be rented. The rental end date will be set by the system, 2weeks from the current date. The system will calculate the rental fee for each mediabeing rented. All that information will be displayed on the screen: each media with itsinformation and the rental fee for each (the actual displaying will be done by userinterface which is not part of the system you are creating). Customer will pay and getreceipt but that is outside of the scope of the system we are creating.Then the customer may come in to return the media. He will provide his accountnumber and the cashier will bring his account up. The cashier will select return choicein the user interface and scan each media to remove from his account. Let’s say he had3 media rented but he is returning two of them. So those 2 rentals are removed fromhis account. For the one he still has he decides to renew it so cashier selects renew option in the user interface, scans the media and that media gets renewed for next twoweeks. Again the fee is calculated and all the new information in the account isdisplayed by the user interface.Then he notices on the screen that his name is spelled incorrectly or his email is notright. The cashier will be able to change that information in the account.Next time when customer comes in, he may return the media he has but he may notwant to rent at this time. His account will be still there but without any media untilnext time when he rents again.The system you are designing will have the functionality needed to satisfy the aboverequirements as illustrated by the scenario. You will not be implementing the actualuser interface (you will still design them though in assignment 7) but you need theclasses, attributes, and methods to receive and provide the information that the userinterface will need. You can assume that for a complete solution there would besome other class that implements user interface with main() method and thescanning module and that it will call your classes. You will write such a class withmain() in assignment 8 as your test class.
Show more
LEARN MORE EFFECTIVELY AND GET BETTER GRADES!
Ask a Question