COP3804 Assignment 1 Solution.ZIP

COP3804 Assignment 1 Solution

Purpose of Assignment
To help you to:
(a) Understand the concepts cohesion, and how it can be used to decompose problem definition into separate components (classes).
(b) Understand t and coupling and how it is used to assemble the components (classes) into complete programs.
The establishment called ABC Enterprise requires a Java program to keep a database of the inventory of the products that it sells. Each product is identified by its manufacturer, its name, the quantity, and unit price. Note: a manufacturer is characterized by its company’s name and address
In addition to storing the information, the program should be able to make updates to the quantity and/or the price as time goes on. That is, when a sale is made, the quantity of that product must be reduced; similarly, when a product is re-ordered, the quantity of that product must be increased. Also, when there is a change in the price of a product, the price must be changed. The change must be interpreted as a replacement of the value. New products may be added to the inventory at any time; also, a product may be removed from the inventory at any time. Maintain a separate list the products that have been deleted from the database of active products.
Your program must be able to produce three kinds of reports, namely:
(a) Locate a single product and display its name, price and quantity alone.
(b) The inventory report should be structured as follows:
Product Purchase Date Quantity Price Manufacturer State
Telephone 01/20/2013 10 254.99 Motorola FL
Computer 01/06/2013 15 756.99 CBS NY
: : : : : :
: : : : : :
(c) A list of the deleted products should be structured as follows:
Product Date Manufacturer
Paper reams 01/20/2013 Morgan Jewelry
: : :
In your design, convince yourself that you need a minimum of four classes, not including the test class – Product, Manufacturer, Address, and Database. You may use the class called GetData.java, Listing 1.6 (in the textbook), for inputting the data. Use a scrollable panes to display your output.
Powered by