Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

If you are not so sure don't Answer!!!!!!!!!! include the UML class diagram of the current state of the system. Overview In this milestone, you

If you are not so sure don't Answer!!!!!!!!!!

include the UML class diagram of the current state of the system. image text in transcribed

Overview In this milestone, you will develop the UML Class diagram of your software using the information provided in this overview. You will also be coding the beginnings of the Store Manager, Inventory and Product classes. You can find the specific requirements for each class below. Keep in mind that most of the tasks you will be required to do are relatively open-ended. You must justify in your Change Log any decisions you made that were not obvious. For example, you should give a brief reason why you used an Array instead of an ArrayList for a class field. However, you should not explain why you gave studentName a type of String. Another example: you do not need to explain why you made a class method public, or a class field private, because doing this is usually normal. But if for some reason, you made a class attribute protected, you need to explain why. The Product Class The Product class will store information about items being sold by the store. A Product object must only have a (1) name, (2) id, and (3) price. It does not have any other fields. The information in these fields should be retrievable but cannot be changed once the Product object is created. The Inventory Class The Inventory class will track the state of the inventory of your system. It should keep track of the type and quantity of each Product, as well as provide methods to access and modify this information The following functionalities should be available in any given Inventory object: Get the amount of stock for a given Product ID (Note: it is possible the Product does not exist in the Inventory!). Add a specified amount of stock for a given Product to the inventory (Note: new Products can be added!). Remove a specified amount of stock for a given Product ID from the inventory (Note: you cannot have negative stock, and you cannot delete Products from the Inventory; if a Product's stock reaches 0, leave it.). Get information on a Product given a Product ID. Initialize the Inventory, set the contents of the Inventory to some default values upon object creation The Store Manager Class Store Manager is the "brain" of the system. It contains all the functionality for managing the Inventory Shopping Carts, and providing information to the StoreView class. Store Manager manages a single Inventory and it will have a variety of methods - two for now- to interact with this Inventory object. A Store Manager object should: Create a new Inventory object upon object creation (i.e., when a Store Manager object is created). Have functionality to check how much stock of a given Product is in the inventory. Have functionality to process a transaction given an Array of Product information. For example, imagine that the content of a user's shopping cart is as follows: "[[productiDi, quantity), [productID2, quantity), (productid3, quantity]r. Given each productid, your method should: o Check that the desired quantity exists in the Inventory and return the total for all of the Products o If there is insufficient quantity of any of the products, your method should return some indication of this failure. It could be, for example-1. o Remember to subtract the quantities from the Inventory stock if the transaction is successful. Questions 1. What is a constructor? When does it get used in Java? 2. Did you need to specify a constructor for the Store Manager class? Why or why not? 3 Explain what a default constructor is. 4. What are object references and where are they used in this milestone? Overview In this milestone, you will develop the UML Class diagram of your software using the information provided in this overview. You will also be coding the beginnings of the Store Manager, Inventory and Product classes. You can find the specific requirements for each class below. Keep in mind that most of the tasks you will be required to do are relatively open-ended. You must justify in your Change Log any decisions you made that were not obvious. For example, you should give a brief reason why you used an Array instead of an ArrayList for a class field. However, you should not explain why you gave studentName a type of String. Another example: you do not need to explain why you made a class method public, or a class field private, because doing this is usually normal. But if for some reason, you made a class attribute protected, you need to explain why. The Product Class The Product class will store information about items being sold by the store. A Product object must only have a (1) name, (2) id, and (3) price. It does not have any other fields. The information in these fields should be retrievable but cannot be changed once the Product object is created. The Inventory Class The Inventory class will track the state of the inventory of your system. It should keep track of the type and quantity of each Product, as well as provide methods to access and modify this information The following functionalities should be available in any given Inventory object: Get the amount of stock for a given Product ID (Note: it is possible the Product does not exist in the Inventory!). Add a specified amount of stock for a given Product to the inventory (Note: new Products can be added!). Remove a specified amount of stock for a given Product ID from the inventory (Note: you cannot have negative stock, and you cannot delete Products from the Inventory; if a Product's stock reaches 0, leave it.). Get information on a Product given a Product ID. Initialize the Inventory, set the contents of the Inventory to some default values upon object creation The Store Manager Class Store Manager is the "brain" of the system. It contains all the functionality for managing the Inventory Shopping Carts, and providing information to the StoreView class. Store Manager manages a single Inventory and it will have a variety of methods - two for now- to interact with this Inventory object. A Store Manager object should: Create a new Inventory object upon object creation (i.e., when a Store Manager object is created). Have functionality to check how much stock of a given Product is in the inventory. Have functionality to process a transaction given an Array of Product information. For example, imagine that the content of a user's shopping cart is as follows: "[[productiDi, quantity), [productID2, quantity), (productid3, quantity]r. Given each productid, your method should: o Check that the desired quantity exists in the Inventory and return the total for all of the Products o If there is insufficient quantity of any of the products, your method should return some indication of this failure. It could be, for example-1. o Remember to subtract the quantities from the Inventory stock if the transaction is successful. Questions 1. What is a constructor? When does it get used in Java? 2. Did you need to specify a constructor for the Store Manager class? Why or why not? 3 Explain what a default constructor is. 4. What are object references and where are they used in this milestone

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Object Oriented Databases Prentice Hall International Series In Computer Science

Authors: John G. Hughes

1st Edition

0136298745, 978-0136298748

More Books

Students also viewed these Databases questions