Loading...

Messages

Proposals

Stuck in your homework and missing deadline? Get urgent help in $10/Page with 24 hours deadline

Get Urgent Writing Help In Your Essays, Assignments, Homeworks, Dissertation, Thesis Or Coursework & Achieve A+ Grades.

Privacy Guaranteed - 100% Plagiarism Free Writing - Free Turnitin Report - Professional And Experienced Writers - 24/7 Online Support

Java program

22/10/2020 Client: user_3wd25t Deadline: 3 days

7.2 Inventory Management


Submission Details:



  • Part 1 to be submitted on eLearning. See the Notes section below for details. 

  • Zip the contents of the src directory into a single zipped file for Part 1 submission.

  • Make sure the zipped file has a .zip extension (not .tar, .rar, .7z, etc.)

  • Part 2 to be submitted on zyBooks. Make sure you remove the package name from your files before submitting.


Objectives:



  • Use inheritance to create base and child classes

  • Utilize multiple classes in the same program

  • Perform standard input validation

  • Implement a solution that uses polymorphism


Problem:A small electronics company has hired you to write an application to manage their inventory. The company requested a role-based access control (RBAC) to increase the security around using the new application. The company also requested that the application menu must be flexible enough to allow adding new menu items to the menu with minimal changes. This includes re-ordering the menu items and making changes to the description of a menu item without having to change the code.Security:The company has suggested to start the application by prompting the user for a username and password to authenticate the user. There are two types of users at this company, managers and employees. If managers log on to the application, they will see all options on the menu list. If employees log on to the application, they will see a limited set of options on the menu list. User information is stored in Users.dat file, which may or may not exist at the start of the program. A super user “admin” with password “admin” has already been hardcoded in the program to allow for the initial setup and the creation of other users. The Users.dat file contains the FirstName, LastName, Username (case insensitive), HashedPassword and a flag to indicate whether a user is a manager or not. The file is comma separated and it is formatted as follows:


Joe, Last, jlast, 58c536ed8facc2c2a293a18a48e3e120, true



Sam, sone, samsone, 2c2a293a18a48e3e12058c536ed8facc, false



Jane, Best, jbest, 293a18a48e3e12052058c536ed8facc2c, false






Note: Ensure that the 'AddUser' function does not add duplicate values, and the 'ChangePassword' function does not change password if username/password is entered incorrectly. If adding a new user or changing the password is successful, return true, or else return false.Application Menu:The menu of the application is dynamically loaded and displayed to the user only after the user successfully logs on. The menu items will be loaded from file “MenuList.dat”, which may or may not exist at the start of the application. If the file doesn’t exist, the application should show at least an Exit menu item as default. The file will contain all menu items details, including the name of the command that will be executed when the menu item is selected. If a menu item is marked as restricted (Boolean flag), only managers can see that item. The file contains the following comma separated fields, Description, a Boolean flag to indicate if the option is restricted to managers only, and the name of the menu command that will be executed when the option is chosen. The order and option number of a menu item may change depending on how they are listed in the file. The Exit option will always be listed last and it will not be in the file. Below is a sample of how the MenuList.dat file looks like:


Add User, true, AddUserCommand



Delete User, true, DeleteUserCommand



Change Password, false, ChangePasswordCommand



Add New Product, true, AddProductCommand






Note: The command name of each menu item must match the name of the class that you will create in the code (See AddProductCommand class in the code for example).Inventory:The inventory consists of multiple products of type Product stored in class ProductCatalog. The ProductCatalog is responsible of all inventory operations that add, remove, find and update a product. When printing a product information, the product retail price should be calculated and displayed as well. Retail price = (cost + (margin * cost/100)). A list of functions has been added to this class in the provided code template. You must implement all listed functions. The inventory products will be saved in file Inventory.dat, which may or may not exist when the program first starts. The file will contain the product unique id (int), product name (string), cost (double), quantity (int) and margin (int, integer that represents margin percentage). The Inventory.dat file is comma separated and formatted as follows:


3424, Smart Watch, 20.45, 23, 80



65454, Flat Screen TV, 465.98, 15, 35



435, Computer Monitor, 123.54, 84, 43






Program Flow:



  • Program starts in main() method

  • Prompt user for username and password

  • Authenticate user and maintain the logged-on user object

  • Load inventory

  • Load and create menu list

  • Display menu list and prompt the user for option

  • Execute selected option

  • Keep displaying the menu until the user chooses to exit


Output Format:


Enter username: some username



Enter password: some password //Repeat prompts until user is authenticated OR show error and



option to exit.



Invalid username or password!



Press enter to continue or “Exit” to exit:



Enter username: some username



Enter password: some password



Welcome Firstname LastName!



Inventory Management System Menu //This is the header of the MenuList







// The order and option number of a menu item may change depending on how they are listed in the MenuList.dat file. The Exit option will always be listed last and it will not be in the MenuList.dat file.







1- Add user



2- Remove user



3- Change password



4- Add new product



5- Update product information



6- Delete product



7- Display product information



8- Display inventory



9- Exit



Enter your selection: 7



Enter product name: sMaRt wAtCh







Id Name Cost Quantity Retail



----------------------------------------------------



3424 Smart Watch $20.45 23 $36.81







//Repeat the menu after each command is executed






Unit Testing:A unit test method is required to test each of the methods listed below. These methods will be used by the unit testing framework to test the accuracy of your code.



  • InventoryManagementSecurity.AuthenticateUser

  • InventoryManagementSecurity.AddNewUser

  • InventoryManagementSecurity.RemoveUser

  • InventoryManagementSecurity.ChangePassword

  • MenuList.AddMenuItem()

  • ProductCatalog.AddUpdateProduct(Product product)

  • ProductCatalog.RemoveProduct(int productId)

  • ProductCatalog.FindProduct(int productId)

  • ProductCatalog.PrintProductInformation(int productId)

  • ProductCatalog.PrintInventoryList()


Grading:



  • Coding standards, style and comments (10 Points)

  • Unit testing methods x 10, (2 points for each of the methods mentioned above - 20 Points)

  • The rest of the grade will be broken down as follows:

  • InventoryManagementSecurity.AuthenticateUser (5 Points)

  • InventoryManagementSecurity.AddNewUser (5 Points)

  • InventoryManagementSecurity.RemoveUser (5 Points)

  • InventoryManagementSecurity.ChangePassword (5 Points)

  • MenuList.AddMenuItem() (20 Points) //This includes implementing all commands for the menu list

  • ProductCatalog.AddUpdateProduct(Product product) (10 Points)

  • ProductCatalog.RemoveProduct(int productId) (5 Points)

  • ProductCatalog.FindProduct(int productId) (5 Points)

  • ProductCatalog.PrintProductInformation(int productId) (5 Points)

  • ProductCatalog.PrintInventoryList() (5 Points)


Notes:



  • The “InventoryManagement” Maven solution zip file has been provided to you in eLearning.

  • All *.dat files are assumed to be local to the current executable.

  • Do not change the methods stubs or constructors in the template. If in doubt, please ask.

  • Your program is expected to have basic input validation.

  • You may use ArrayList in this project

  • Part 1 deliverables: Unit Test methods + AuthenticateUser() function (no add or remove user is required in part 1). See eLearning for due date.

  • Part 2 deliverables: Functioning program including the Unit Test methods



Homework is Completed By:

Writer Writer Name Amount Client Comments & Rating
Instant Homework Helper

ONLINE

Instant Homework Helper

$36

She helped me in last minute in a very reasonable price. She is a lifesaver, I got A+ grade in my homework, I will surely hire her again for my next assignments, Thumbs Up!

Order & Get This Solution Within 3 Hours in $25/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 3 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

Order & Get This Solution Within 6 Hours in $20/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 6 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

Order & Get This Solution Within 12 Hours in $15/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 12 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

6 writers have sent their proposals to do this homework:

Instant Assignments
Calculation Guru
Financial Hub
Finance Homework Help
Custom Coursework Service
Smart Tutor
Writer Writer Name Offer Chat
Instant Assignments

ONLINE

Instant Assignments

Hey, I can write about your given topic according to the provided requirements. I have a few more questions to ask as if there is any specific instructions or deadline issue. I have already completed more than 250 academic papers, articles, and technical articles. I can provide you samples. I believe my capabilities would be perfect for your project. I can finish this job within the necessary interval. I have four years of experience in this field. If you want to give me the project I had be very happy to discuss this further and get started for you as soon as possible.

$115 Chat With Writer
Calculation Guru

ONLINE

Calculation Guru

I see that your standard of work is to get content for articles. Well, you are in the right place because I am a professional content writer holding a PhD. in English, as well as having immense experience in writing articles for a vast variety of niches and category such as newest trends, health issues, entertainment, technology, etc and I will make sure your article has all the key pointers and relevant information, Pros, Cons and basically all the information that a perfect article needs with good research. Your article is guaranteed to be appealing, attractive, engaging, original and passed through Copyscape for the audience so once they start reading they keep asking for more and stay interested.

$115 Chat With Writer
Financial Hub

ONLINE

Financial Hub

Hey, I have gone through your job posting and become very much interested in working with you.I can deliver professional content as per your requirements. I am a multi-skilled person with sound proficiency in the English language for being a native writer who worked on several similar projects of content writing and can deliver quality content to tight deadlines. I am available for both online and offline writing jobs with the promise of offering an incredibly responsive and supreme level of customer service. Thanks!

$115 Chat With Writer
Finance Homework Help

ONLINE

Finance Homework Help

I have a Master’s degree and experience of more than 5 years in this industry, I have worked on several similar projects of Research writing, Academic writing & Business writing and can deliver A+ quality writing even to Short Deadlines. I have successfully completed more than 2100+ projects on different websites for respective clients. I can generally write 10-15 pages daily. I am interested to hear more about the project and about the subject matter of the writing. I will deliver Premium quality work without Plagiarism at less price and time. Get quality work by awarding this project to me, I look forward to getting started for you as soon as possible. Thanks!

$115 Chat With Writer
Custom Coursework Service

ONLINE

Custom Coursework Service

Hey, Hope you are doing great :) I have read your project description. I am a high qualified writer. I will surely assist you in writing paper in which i will be explaining and analyzing the formulation and implementation of the strategy of Nestle. I will cover all the points which you have mentioned in your project details. I have a clear idea of what you are looking for. The work will be done according to your expectations. I will provide you Turnitin report as well to check the similarity. I am familiar with APA, MLA, Harvard, Chicago and Turabian referencing styles. I have more than 5 years’ experience in technical and academic writing. Please message me to discuss further details. I will be glad to assist you out.

$115 Chat With Writer
Smart Tutor

ONLINE

Smart Tutor

Hi, After reviewing your project description, I understand well. I am a highly-skilled writer who has strong visual awareness, exemplary grammar and spelling knowledge, and the ability to analyze and modify. When it comes to missing links and correcting errors, look no farther. Without the need of any online rewriting tool I can turn your old content into a new and exciting piece of plagiarism free writing. Remember, your content could be a first impression. If you send out material that is riddled with misspellings, grammatical errors, and wrong information, you aren’t going to be presenting a good image of your business. Let’s get that content in tip-top shape today.

$120 Chat With Writer

Let our expert academic writers to help you in achieving a+ grades in your homework, assignment, quiz or exam.

Similar Homework Questions

Compare and contrast a business case and a business plan - Wk 5 – Signature Assignment: Personal Plan Paper - John sandle kings lynn - Order # 10193 - Identify the vertical asymptotes of f(x) = 2 over quantity x squared plus 3 x minus 10. - What is sony's mission statement - Managerial Finance_Problem Set 2 - Falls risk assessment template - Elenco digital analog trainer - Chagrin in a sentence - Anchor bolt template definition - The fifth discipline discussion questions - Deutsche allgemeinversicherung case - How do organizations identify the behaviors that underlie task performance? - Barbs alterations pekin il hours - Breakfast club bender and principal - Salmone company reported the following purchases and sales - Back lever muscles worked - What helps notions such as fairness, honesty, and reciprocity to be codified into law? - A _______ is often used to cut holes to install outlet boxes in old installations. - Case study treatment plan sample - UKUPHILA WELLNESS CENTER +27835179056 SAFE PILLS ABORTION IN Warner Beach Westville Winkelspruit Phoenix Chatsworth benoni limpopo - Arteries always carry oxygenated blood - Daily - Inverse fourier transform of cosine - Siemens switchgear price list - If we must die by pat carr summary - HLS685 D3 - The baldrige award criteria emphasize all of the following except - Role of school captain - Engineering studies hsc formula sheet - "Consumer Behavior Blog Post – Would you tweet about clean hands?" - Research Assignment - Human rights based approach to programming - Nsw health referee report - Amdahl corporation manufactures large scale high performance computer systems - Practicum - Briefly describe fasb iasb convergence process - Tucker bbq taren point - Urgent 1 - Cvg super fun unlimited 499 - Lattice energy of magnesium chloride - William james cash value - Kakavas v crown melbourne ltd summary - Nursing - Alcatel lucent merger case study - Urgent - Heaths road invest hoppers cross - Performance management at vitality health enterprises inc summary - Managerial KSAs - Stem cell webquest answers - Administration and Supervision in CRJU – Professor Question 5 - What does a bimetallic strip consist of - Compare contrast shopping online with traditional shopping - Depreciation expense on the building for the year was 60000 - Global bike inc case study journal entries - Personification in dover beach - Paper - Basic rigging review questions answers - Montgomery bank & trust ailey ga - How to write happy birthday in hiragana - Jp morgan swot analysis 2015 - Hidden intellectualism gerald graff summary - What is the distinguishing characteristic between accounts receivable and notes receivable? - Wk 1 Individual Assignment - Create a Project Proposal [due Mon] - Hog bristle half colour schemes - Guys and st thomas paediatric formulary - CT2 Essay - Case analysis 2 - Underline the verbs with answers - How to calculate uniform velocity - Wk3 Practical Assgn - Nathan campus griffith university - Gcu christian identity and heritage - Catholic saints - HCS 214 Week 2 Newsletter Phoenix University - L2p driving school birmingham - Letter to reject applicant for job - +91-8306951337 get your love back by vashikaran IN Ambattur - Hunches that communication theory are built about should be - Zener diode as voltage regulator lab experiment - M km cm mm - Order 2385628: Marriage/Family - EASY ENGLISH 1302 ASSIGNMENT - Yarra trams head office - Finance Mgt. Time Value of Money - Sample soap note for wellness visit - Criminal jsutice - Examples of product adaptation in foreign markets - Nonconsequentialists like ross believe that - Scs 200 project two presentation - Riverland community legal service - Interesting research topics for middle school - 350 words - Ruined temple diablo 2 - Research Paper - Answers to connect accounting homework chapter 6 - Contextual family therapy - Rankine cycle turbine technologies - Edgewood lake hospital case study